Активная защита веб-приложений от атак

APC

Цифровизация бизнеса естественно повлекла за собой новую реальность: теперь нужно обеспечивать доступность приложений, защищать персональные данные, обращать внимание на сертификацию используемых ИТ-систем. Как играть по этим правилам и обеспечить бизнес реально работающей защитой?

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

  • Почему атак станет больше и как встретить их во всеоружии.
  • Как выглядит WAF.
  • Что делать, если средства защиты тормозят развитие бизнеса, а их настройка занимает слишком много времени.

Андрей Милованов (компания InfoWatch) занимается продвижением продукта Attack Killer. По его словам, ни для кого не секрет, все больше бизнес уходит в облака, все больше критически важных процессов переносится в Web и теперь организации все в большей степени зависят от работоспособности, отказоустойчивости и доступности web-приложений. При и этом злоумышленники тоже не стоят на месте, по мере ухода бизнес-процессов в облака, растет количество и качество возможных атак, которые сейчас и происходят. 

При этом снижается как стоимость атак (простенькую DDoS-атаку можно организовать от $5 в час), так и растет их количество, любой школьник может на переменке на коленке попробовать взломать какой-нибудь не сильно защищенный сайт. Самое страшное, что в некоторых случаях это у него получается в силу определенных ошибок в защите. Все чаще атаки становятся таргетированными, т.е. за общей DDoS-атакой формируются атаки определенного направления, определенного вектора развития. К сожалению информационная безопасность не всегда полностью охватывает все стадии разработки, все стадии проектирования и ввода в эксплуатацию web-приложений, поэтому имеющиеся ресурсы часто содержат уже известные уязвимости, т.е. те уязвимости, которые можно было бы убрать еще на начальных этапах.

Немного статистики

Андрей Милованов говорит, что более трети сайтов содержат известные уязвимости, более 70% сайтов содержат критически опасные уязвимости, поэтому это представляет угрозу для своего владельца. Персональные данные также могут быть скомпрометированы. 

При этом рынок WAF (WEB Application Firewall) год от года растет.

Учитывая, что и рынок разработки программного обеспечения также растет все быстрее, до 90% организаций и компаний разрабатывают или дорабатывают собственное программное обеспечение (внутренние разработки или аутсорсинг) при этом качество разработок зачастую очень сильно страдает. Изначально web-приложения могут содержать ряд определенных бэкдоров, недоработок, некачественного кода и ряд уязвимостей, которые нарушают бизнес-процессы, например, госсектора с жителями.

Несколько показательных кейсов

Первый кейс. Сценарий атаки: обнаружена сеть учетных записей, распространявших вредоносные версии официальных библиотек и приложений для Windows, Mac и Lunix. Наличие зараженного кода на GitHub активно обсуждалось в Интернете.

Вредоносное ПО уже было загружено на GitHub, было скомпрометировано 89 учетных записей, 79 репозиториев и заражено более 300 приложений с бэкдорами. Казалось бы, очень известный ресурс, который должен обеспечивать максимальную безопасность, и тем не менее, такие случаи, к сожалению, бывают и могут быть и в будущем.

В российских реалиях тоже не все так хорошо. Вот один из кейсов: навесная безопасность бессильна, даже когда приложение защищается, кажется, со всех сторон. Важно думать как о внутренней безопасности, так и о безопасности на протяжении всего жизненного цикла. В данном случае логика злоумышленника была проста: в рамках доработки функционала приложения внутренняя команда компании его сделала сквозным, не требующим подтверждения, т.е. такая своеобразная автоматизация 21-го века, когда вроде бы все хорошо работает по одной кнопке. Доработка функций и ее отладка проходила непосредственно в PROD. Тем не менее это позволило недобросовестным сотрудникам этой компании заказывать доставку с курьером заказов, причем без оплаты. Организация доставки и выдачи товара была выстроена именно таким образом. В результате это привело к финансовым потерям для организации и снизило лояльность потребителей. Не понятно на что надеялись горе разработчики, но на них были заведены уголовные дела. 

Года полтора назад стал очень известным кейс, когда по всей стране остановился сервис приема платежей, у клиентов не было возможности расплатиться по терминалам. Что очень сильно сократило оборот интернет-магазинов. Что было причиной? Разработкой приложений занимался внутренний отдел одной организации, который «запилил» неплохой бизнес-процесс, позволяющий осуществлять финансовые транзакции. Но тут вмешался человеческий фактор и после увольнения один из руководителей группы разработки решил так своеобразно свести счеты, зная особенности работы системы в рамках выстроенной архитектуры приложения. Он смог при помощи простых запросов остановить данный сервис на сутки-двое: не работали финансовые транзакции практически по всей стране.

Встроенная безопасность 

Стоимость исправления уязвимостей в большой степени зависит от того, на каком этапе начинается обеспечение информационной безопасности. На последних этапах за очень большие деньги устраняются уязвимости и возможные ошибки, которые уже закрались в приложение на этапах разработки.

С другой стороны, достаточно жесткая безопасность может порой ограничивать и определенный бизнес-функционал или бизнес-сервисы, лишая их гибкости, оперативности, что для бизнеса бывает очень важно. И бизнес начинает воспринимать ИБ как некую пятую ногу, которая вроде бы и нужна, но не очень понятно зачем. Сейчас как правило коллеги во многих случаях ориентируются именно на работающие приложения и бизнес привлекает ИБ-специалистов достаточно близко к реальной дате запуска конкретного приложения, вот тогда и начинают выявлять уязвимости, обвешивать приложение различными anti-DDoS-ами, использовать Web Application Firewall. Инструментов масса, но это все происходит в последний момент. Если на этом этапе находится какая-то критичная уязвимость и ее нужно устранить, то стоимость исправления значительно выше, чем если бы устраняли ее на этапе проектирования, когда мы выбираем framework и базы данных, или на этапе программирования, когда мы на каком-то из релизов можем убрать ошибку, а не изменять потом весь бизнес-процесс, когда уже скомпилированы приложения. Из-за этого, естественно, срываются реальные сроки запуска. Бизнес стоит перед выбором, либо он запускает приложение с уже известными ему уязвимостями и идет на сознательный риск (сейчас 2/3 приложений работают с уязвимостями), либо он откладывает реальную дату запуска, смещая ее на месяц-два-три, теряя недополученную прибыль и конкурентные преимущества.

Здесь надо бизнесу предлагать не навесную безопасность, а встроенную, на всем жизненном цикле web-приложения. Встроенную в среду и в этапы разработки. Необходимо на каждом из этапов осуществлять определенный набор проверок, документально подтвержденных действий, вести специальные реестры. В этом случае если мы бесшовно вошли в такой процесс, то мы к дате выпуска production (Data X) приходим с максимально защищенным (на 99%) приложением, которое не содержит уязвимостей. В дальнейшем определенные бэкдоры могут возникать по определенным причинам, поскольку стопроцентную безопасность не может обеспечить никто. И теперь уже подключаются другие инструменты, среди которых anti-DDoS, Web Application Firewall, виртуальный патчинг в процессе использования закрывает возникающие уязвимости. Таким образом надо осуществлять безопасность на всем пути жизненного цикла приложения.

С точки зрения продукта компании InfoWatch - Attack Killer представляет единую экосистему, основанную на ядре компании InfoWatch и включающую в себя несколько модулей, управляемых единым интерфейсом. При этом модули не просто технически интегрированы в ядро, они могут обмениваться различной информацией, например, о черных IP-адресах, о белых IP-адресах, информация может передаваться между модулями для выпуска автоматического виртуального патчинга и так далее.

По сути весь зоопарк из различных систем, присутствующий в той или иной организации, предлагается заменить на единую комплексную систему, которая покрывает собой все модули и обеспечивает защиту на уровне L7. При этом не обязательно устанавливать все модули, если не хватает какого-то функционала, вы его добавляете, подключив необходимые модули, например, анализатор исходного кода. При этом активно используется машинное обучение, искусственный интеллект, в рамках которого происходит автоматическая настройка системы защиты.

Таки образом минимизируется человеческое участие в сопровождении продукта, поскольку машина после обучения осуществляет защиту практически в автономном режиме. Учитывая тенденции по нынешним атакам, человек уже не может противостоять атакам, которые происходят под управлением ИИ и машинного обучения.

Компания InfoWatch предлагает пилотное тестирование, давая возможность оценить заказчику как это работает.

Чуть подробнее о Attack Killer

Core – это ядро управления всей системой, включая единый интерфейс, отчетность и так далее. В настоящий момент система состоит из трех модулей: Web Application Firewall, осуществляет непрерывный поиск уязвимостей, Custom Code Scanner (CCS) (статический анализатор для поиска уязвимостей исходного кода приложений еще на этапах их разработки) и AntiDDoS (защита от любых DDoS-атак на основе облачной сети фильтрующих узлов).

Управление происходит в рамках единой системы.

Несколько слов об архитектуре, которая изображена на следующем слайде.

Нода становится максимально близкой к защищаемому приложению, туда же подключаются модули WAF и CCS, кроме того, работает модуль AntiDDoS, но он представляется в виде личного кабинета. Сама фильтрация трафика происходит на распределенных узлах ведущих провайдеров, таким образом на входе получается очищенный трафик. Затем подключается WAF, который определяет хакерские таргетированные атаки, при этом одновременно модуль CCS в рамках процесса управления безопасной разработки периодически анализирует исходный код приложений и при наличии каких-то уязвимостей он может выдавать в автоматическом режиме задачи для безопасников и разработчиков чтобы устранили обнаруженные уязвимости. С другой стороны, для бОльшей оперативности, он выдает задачу и в модуль WAF, тот проходит дополнительно динамическим сканером указанные уязвимости, и если эксплойт подтверждается, то автоматически формируется виртуальный патч.

Сейчас многие коллеги по цеху предлагают аналогичный функционал, но одно из конкурентных преимуществ InfoWatch – это мультисерверная архитектура, представленная на следующем слайде.

Сейчас в 90% случаев организации защищают себя следующим образом: на фронте перед входом они ставят большую отечественную или зарубежную «молотилку» в виде Web Application Firewall и все запросы, которые сыпятся на приложение, там перерабатываются и легитимные запросы проходят непосредственно к серверу, но здесь есть один нюанс: текущая архитектура приложений усложняется практически с каждой неделей, поэтому многие приложения имеют внешние API и бэки, определенные сервисы, которые смотрят во вне в Интернет и которым можно «постучаться» минуя фронт. В этом случае функционал «фронтовой молотилки» несколько теряется, потому что ряд запросов все равно проходит к серверу напрямую. InfoWatch предлагает зонтичную защиту, когда помимо фронта можно установить на каждый API, на каждый NGinX дополнительную мининоду, которая позволит обрабатывать все входящие из вне запросы и пропускать только легитимные. Чем хороша эта архитектура? Этот программный продукт не предполагает наличие программно-аппаратного комплекса, но мы можем осуществить и такую поставку, но в данном случае мининоды представляют собой ПО, поднятое на виртуалке, которое легко раскидывается по всем API, по всем бэкам и не требует огромных трудозатрат.

Теперь несколько слов по поводу Custom Code Scanner.

Это статический анализатор, который может поставляться как в рамках продукта Attack Killer, так и в рамках отдельной системы, которая интегрируется в процесс безопасной разработки. Очень логично подходить к безопасности приложений еще на этапе их проектирования и разработки, поэтому в рамках выстроенного процесса безопасной разработки модуль может забирать в автоматическом режиме исходный код, прогонять его через свою базу знаний, давать отчет о соответствии требованиям. Этот отчет может формироваться в автоматическом режиме по постановке задач по исправлениям и после исправления кода данные результаты прогоняются еще раз и выдается повторный отчет о том, что система уже не имеет указанных уязвимостей либо отправляется на очередной круг.

Если говорить о продукте Attack Killer в целом, то важно напомнить, что сигнатурный анализ уже практически ушел в прошлое, а продукт работает в рамках машинного обучения и поведенческого анализа. С одной стороны, это минимизирует количество ложных срабатываний, с другой стороны настройка и сопровождение занимает минимум времени.

После того, как машина за 2-4 недели обучилась, она практически работает в автономном режиме. Надо лишь полчаса в день тратить на проверку отчетов, сделанных автоматически и вносить необходимые корректировки, если это требуется.

Что касается сертифицированного ПО, то Custom Code Scanner уже имеет сертификат ФСТЭК, модуль Web Application Firewall находится на заключительной стадии сертификации, техническое заключение наша компания уже получила.

На следующем слайде представлен интерфейс, где видно несколько виджетов, которые представлены в рамках трех модулей AntiDDoS, Web Application Firewall и Custom Code Scanner.

На следующем слайде в рамках Web Application Firewall видны таргетированные атаки на сайт с их более подробным анализом.

Периодически запускается динамический сканер, он находит в периметре проанализированных доменов. Те или иные уязвимости и инциденты, которые были связаны с данной уязвимостью, представлены на следующем слайде.

Здесь мы видим тип атаки, риск по степени критичности, цель, параметр, путь, описание уязвимости и дополнительную информацию (что следует сделать) и пример эксплуатации. Отсюда можно изменить статус уязвимости, изменить степень риска и если надо, то создать виртуальный патч.