BIS Journal №2(21)/2016

7 апреля, 2016

Робо-страж: защита интернет-банка по Кевину Костнеру

В 2014 году активный рост привел банк из Топ-50 (80 офисов по всей России, штат – больше 1500 сотрудников) к вполне закономерному решению запустить интернет-банк для физических лиц.

 
Для службы ИБ задача была поставлена так:
 
  • надо выпустить сервис «как есть», то есть времени для всестороннего тестирования нет;
  •  изменения будут идти постоянно, поскольку допускается, что сервис интернет-банка будет обновляться;
  •  увеличение штата не предусмотрено.
 Из такой постановки задачи следовало, что защита должна быть: 
  • автоматической, то есть система защиты должна самостоятельно принимать решения, а не делегировать принятие решения дежурным аналитикам информационной безопасности – их просто нет.
  • интегрированной, то есть не представлять из себя набор несвязанных модулей по защите от разных видов угроз, поскольку это увеличит нагрузку на персонал;
  • активной, то есть иметь возможность работать в режиме блокирования атак, а не в режиме оповещения о них. 
Ситуация достаточно типовая для кризисного времени: банк не собирался расширять штат сотрудников и при этом не выводил защиту нового ресурса на аутсорсинг. На это наложилась срочность бизнес-задачи: началась рекламная кампания, времени для совершенствования функционала интернет-банка не было, решено было начать с малого и постепенно добавлять функционал.
 
Традиционный подход к защите веб-ресурсов выглядит так: внедряется много разных полезных пассивных устройств – различные сканеры уязвимостей (статические и динамические), WAF, antiDDoS. Когда эти устройства покажут начавшуюся атаку, дежурная смена операторов вручную «отбивает» атаку, например, переключает трафик на центр очистки или блокирует доступ к некоторым функциям или с некоторых адресов. Однако в данном случае это не представлялось возможным – бюджет проекта не подразумевал никаких дополнительных вакансий, всё надо было решить в рамках существующего штатного расписания, в котором люди и так были перегружены.
 
В идеальной модели безопасной разработки, когда разработчики действуют рука об руку со службой информационной безопасности и уязвимости приложения купируются на ранних стадиях, эта задача имела красивое решение. Но в реальном мире, где разработчики живут своей жизнью, а служба информационной безопасности подключается на последних стадиях, такую задачу решить в принципе невозможно – уязвимости в приложении обычно находятся уже тогда, когда исправлять что-то уже довольно долго и дорого.
 
Получилось, что есть реальная ситуация, в которой задача не решается и есть идеальная ситуация, где она решается с лёгкостью. Как в анекдоте, в котором мышкам посоветовали стать ежиками и тогда все их проблемы с хищниками закончатся. «А как же мы, мышки,  станем ежиками?» - «Не грузите меня деталями, я консультант и занимаюсь стратегией». Мы оказались именно в такой ситуации.
 
Для начала мы рассмотрели классические подходы.
 
Вариант 1. Фантастический
 
Сделать всё правильно: внедрить SDL, научить программистов, найти на это бюджеты. Отладить процессы непрерывной разработки с постоянным встраиванием систем безопасности. Для нас этот вариант не подходил. Долго и дорого.
 
Вариант 2. Советский
 
Получить право вето. Пугать бизнес и программистов. Такой вариант – поставить шлагбаум и пока не будут исправлены все уязвимости, не вводить систему в действие – вполне рабочий в государственных организациях, но для коммерческого банка он был не приемлем.
 
Вариант 3. Поэтапное сотрудничество
 
Мы выбрали третий путь: встроиться и стать полезным. Мы стали искать пути к сотрудничеству и с бизнесом (обеспечивать рабочий функционал и отсутствие инцидентов информационной безопасности), и с разработчиками (помогать им разрабатывать безопасные приложения с помощью «мягкой силы»).
 
Отношения защищаемой системы и системы защиты проходят четыре этапа.

Первый базовый этап – это защита «Как есть». Вот объект, а вот навешанная на него защита.

Второй этап – мы начинаем изучать объект перед его защитой. Технически это выглядит как запуск различных сканеров, результат работы которых позволяет понять уязвимые места защищаемой системы и прикрыть их особенно тщательно. Этот этап назовём «Адаптация».  
 
Дальше начинается этап, который мы назовём «Компенсация», когда мы видим: чтобы объект был в безопасности, ему необходимо измениться. И защита сама сообщает объекту, какие функции надо изменить, чтобы защита шла легче и эффективнее.

Великолепный пример перехода от фазы «Адаптация» к «Компенсации» – фильм «Телохранитель» с Кевином Костнером и Уитни Хьюстон. Там объект защиты – взбаломошная певица. Сначала профессиональный телохранитель пытается защищать её, адаптируясь к её поведению, позволяя «объекту защиты» исчезать без предупреждения, бросаться в толпу поклонников и так далее. Такая стратегия не даёт результата – происходит нападение. После инцидента певица становится более покладистой, начинает слушаться своего телохранителя, даже не смотря на ложные срабатывания, и всё заканчивается хорошо. В принципе это и есть единение безопасности и объекта защиты.
 
Последний этап взаимодействия объекта защиты и системы защиты – стадия полного слияния, «Интеграция». В этом случае безопасность является не сторонней системой, а функцией объекта. В нашем случае такое решение было недоступно, поэтому мы остановились на предыдущем этапе.
 

Иллюстрация 1. Этапы развития отношений объекта защиты и защиты 

Главную трудность представляли постоянные изменения. Герман Греф как-то заявил, что в Сбербанке они стремятся к десяткам тысяч изменений в день. Соответственно, и нам нужно было готовиться к чему-то подобному, пусть и в меньшем масштабе и перезакладываться на рост частоты изменений. Первая мысль была о системе самообучения, но традиционные системы обучаются на реальном трафике несколько часов, поэтому самообучающая система сохранит качество распознавания атак при изменениях максимум в десяток изменений за день.
 
Но нашлось другое решение.
 
Когда веб-приложение изменяется, мы последовательно исследуем его двумя сканерами: статическим и динамическим. Статический сканер генерирует гипотезы о наличии уязвимостей, динамический их проверяет, отбрасывая неэксплуатируемые в конкретном контексте. По найденным эксплуатируемым уязвимостям выпускаются виртуальные патчи, запрещающие определённые обращения к определённым функциям сайта. Таким образом, достигается компромисс между разработкой, которая ориентируется на фичи, и ИБ, которая делает эксплуатацию объекта относительно безопасной.
 

Иллюстрация 2. Другое решение

В результате у нас получилось компромиссное решение, которое устроило и ИБ, и бизнес, потому что оно оказалось одновременно и сравнительно дешевым, и гибким, и функциональным. Решение не потребовало увеличения штата, работает автоматически и «в разрыв», поскольку предложенный алгоритм свёл ложные срабатывания к минимуму.
 

Интернет-банк был запущен в августе 2015 года. В первый же день обнаружилась весьма неприятная уязвимость, которая, к большому нашему удовольствию, безукоризненно заблокировалась виртуальным патчем, с одновременной выдачей разработчикам задания на изменение сразу в систему баг-трекинга. Система продолжает работать, атаки отбиваются, бизнес-заказчик доволен.

 

Стать автором BIS Journal

Смотрите также

Подписаться на новости BIS Journal / Медиа группы Авангард

Подписаться
Введите ваш E-mail

Отправляя данную форму вы соглашаетесь с политикой конфиденциальности персональных данных

24.04.2024
У «Сбера» (и рынка?) будет свой SAP за «миллиарды рублей»
24.04.2024
В I квартале хакеры совершили более 19 млн атак на смартфоны россиян
24.04.2024
Минпромторг раздаёт деньги на отечественные решения
24.04.2024
Правительство одобрило ужесточение наказания за утечку ПДн
24.04.2024
«Мы разработали законодательную инициативу по дропам»
24.04.2024
«Мы обеспечили определённый уровень заказа». ГРЧЦ продолжает импортозамещать чипы
23.04.2024
В АП не поддержали поправки о штрафах за утечки ПДн
23.04.2024
Хакеры всё активнее DDoS-ят российскую отрасль энергетики
23.04.2024
Минпромторг начнёт выдавать баллы блокам питания?
23.04.2024
Microsoft — угроза для нацбезопасности? Бывает и такое

Стать автором BIS Journal

Поля, обозначенные звездочкой, обязательные для заполнения!

Отправляя данную форму вы соглашаетесь с политикой конфиденциальности персональных данных