
Многие угрозы сейчас перешли на уровень приложений. За ними следуют и средства защиты: всем знакомы, например, классы Web Application Firewall, Next Generation Firewall. Теперь место на рынке начинает завоёвывать обнаружение и реагирование в приложениях — Application Detection and Response (ADR). Что это такое?
- Введение
- Угрозы на уровне приложений
- Как работает Application Detection and Response?
- Application Detection and Response и другие подходы к защите
- Ключевые преимущества Application Detection and Response
- Выводы
Введение
В 2024 году наблюдался значительный рост атак на приложения как по всему миру, так и в России. Согласно исследованию StormWall, в IV квартале 2024 года количество DDoS-атак на API увеличилось вдвое по сравнению с тем, что наблюдалось годом ранее (из них 70% были нацелены на ретейлеров и банки).
При этом аналитики отмечают, что уровень приложений для многих привычных средств защиты является «слепым пятном»: они не могут обеспечить полную видимость на нём. Как следствие, угрозы выпадают из поля зрения специалистов по ИБ и используемых ими инструментов.
Всё это создало спрос на новые направления борьбы с угрозами, способные справиться с такими вызовами.
Одним из новых решений проблемы стало обнаружение и реагирование на уровне приложений (Application Detection and Response, ADR). ADR — это новая ниша на рынке информационной безопасности, которая воплощает идею выявления и купирования угроз внутри самого приложения.
ADR использует современные методы мониторинга для обеспечения полного контроля над программным стеком и обнаружения аномалий в его компонентах. При обнаружении угроз, система оповещает команду безопасности, предоставляя подробную информацию для оперативного реагирования. Главная цель ADR — предотвращение эскалации атак на приложения.
Угрозы на уровне приложений
Современные организации сталкиваются с серьезными рисками и уязвимостями на уровне приложений, способными привести к сбоям в работе, утечкам данных, финансовым и репутационным потерям. Угрозы на уровне приложений весьма разнообразны.
Во-первых, это «классические» DDoS-атаки. Они приводят к перегрузке приложения и делают его недоступным для пользователей. Цель этих атак — парализовать приложение лавиной запросов. Это может привести к нарушениям бизнес-операций и даже репутационным издержкам для компании, так как сервисы перестают работать.
Одна из разновидностей DDoS — HTTP-флуд. При таких атаках злоумышленники перегружают веб-серверы шквалом кажущихся легитимными HTTP-запросов. В отличие от обычных DDoS-атак, их сложно отфильтровать, так как они имитируют нормальную активность. Например, атакующие могут запрашивать ресурсоемкие страницы, истощая ресурсы сервера и блокируя доступ легитимных пользователей.
Опасны и так называемые сессионные атаки (Slowloris): для их выполнения требуются минимальные ресурсы. Злоумышленник открывает множество долгоживущих соединений с сервером, отправляя частичные HTTP-запросы. Это постепенно истощает ресурсы сервера, делая его недоступным, при этом логи могут выглядеть нормально.
Атаки с помощью DNS-флуда перегружают DNS-серверы огромным количеством запросов, часто к несуществующим доменам, что нарушает процесс преобразования доменных имен в IP-адреса и блокирует доступ к сайтам. Обычно для этой цели используется ботнеты.
Рисунок 1. Схема атаки класса DNS Flood
Атаки с помощью SQL-инъекций также можно назвать «классическим» типом угроз. Такие атаки начинаются на уровне приложения, но проникают глубже в инфраструктуру организации. Уязвимости в точках входа — обычно веб-формах, параметрах URL или конечных точках API на уровне приложения — используются для атак на системы управления базами данных. Например, так злоумышленники могут получить все записи о пользователях из БД без авторизации.
При XSS-атаках на веб-приложения киберпреступники внедряют вредоносные скрипты, которые затем запускаются другими пользователями. Эти скрипты могут красть идентификационные файлы (куки), перенаправлять на вредоносные сайты или изменять контент, используя права доступа самого приложения.
Не следует забывать и о том, что во многих приложениях сейчас используются компоненты с открытым исходным кодом. Злоумышленники могут подменить их либо встроить вредоносное содержимое. Компрометация цепочек поставок ПО занимает сейчас видное место на ландшафте угроз.
Для защиты от такого многообразия атак необходимы новые решения, обеспечивающие всестороннюю защиту и предотвращающие значительные финансовые и репутационные потери.
Как работает Application Detection and Response?
ADR выявляет угрозы безопасности на уровне приложения, как внешние (например, вредоносные запросы), так и внутренние (например, компрометация библиотек). В отличие от брандмауэров, анализирующих сетевой трафик, ADR работает непосредственно внутри приложения. Для эффективной работы, современная ADR-система должна включать в себя следующее:
- Контекстную информацию об угрозах. Данные киберразведки аккумулируются и обогащаются для оценки актуальности уязвимостей и вероятности их эксплуатации.
- Систему приоритизации. Важно определять порядок устранения брешей на основе критических факторов, специфичных для организации (включая ее потребности, активы и уровень допустимого риска).
- Визуализацию зависимостей. Графы зависимостей помогают командам безопасников оценивать потенциальное влияние уязвимостей и последствия изменений (патчей, обновлений).
- Рекомендации по исправлению. Система дает четкие и подробные инструкции по устранению выявленных проблем.
- Прозрачный аудит. Ведение журналов полезно для обеспечения подотчётности, соответствия требованиям и постоянного совершенствования процесса.
- Автоматизацию процессов. Тем самым система ускоряет работу и повышает её точность, снижая вероятность ошибок и пропусков. Отдельно стоит отметить автоматизированные действия по реагированию, такие как изоляция скомпрометированных приложений, блокировка вредоносного трафика или аннулирование скомпрометированных сессий для минимизации ущерба от инцидентов.
В соответствии со структурой термина Application Detection and Response работу ADR можно разделить на два больших направления: обнаружение угроз (Detection) и ответ на них (Response).
Detection: мониторинг приложений и обнаружение аномалий
Мониторинг приложений направлен на сбор данных, которые могут быть использованы для выявления отклонений от установленного обычного поведения. Например, необычные запросы к API или попытки несанкционированного входа могут генерировать оповещения для дальнейшего расследования.
Полноценное ADR-решение должно быть способно осуществлять мониторинг всех аспектов приложения, начиная с исходного кода, библиотек, конфигураций и заканчивая средами разработки, репозиториями, сетевой инфраструктурой (контейнерами, облаком), API и даже поведением пользователей.
Пример — изучение поведения пользователей в рамках процедур DEM (Digital Experience Management). DEM фокусируется на мониторинге взаимодействия конечных пользователей с приложениями. Это позволяет выявлять как аномальное поведение пользователей, так и проблемы с производительностью, которые могут быть незаметны на уровне инфраструктуры.
Передовые ADR-системы используют машинное обучение для того, чтобы выявлять аномалии в работе приложений. Анализ данных в режиме реального времени позволяет такой системе распознать отклонения от привычного поведения. К примеру, если библиотека, которая обычно используется для логирования событий, начинает попытки удаленного выполнения кода, то ADR-система должна быть способна отмечать подобные аномалии для дальнейшего анализа, обеспечивая оперативное обнаружение угроз без избыточных ложных срабатываний, которые могли бы перегрузить специалистов по безопасности.
Проверка библиотек с открытым исходным кодом
Отдельно стоит выделить работу с открытым исходным кодом и атаки на цепочки поставок, которые представляют собой серьезную угрозу для современного программного обеспечения. Актуальность угрозы растёт: к августу 2024 года Sonatype зафиксировала 704 102 вредоносных пакетов с открытым исходным кодом, что на 156% больше, чем в 2023 году. Эти атаки нацелены на уязвимости в экосистеме разработки, тестирования и распространения программных продуктов.
Рисунок 2. Рост числа вредоносных пакетов с открытым исходным кодом (Sonatype)
Многие современные приложения зависят от внешних компонентов, таких как сторонние библиотеки и API, которые могут представлять угрозу безопасности. ADR обеспечивает мониторинг этих компонентов в реальном времени, гарантируя их целостность. ADR-система должна быть способной выявлять подозрительные действия, например, несанкционированные вызовы функций или неожиданные последовательности вызовов. Это позволяет специалистам по безопасности оперативно реагировать и предотвращать атаки на цепочку поставок.
Response: реагирование на угрозы и инциденты
Современные ADR-системы предлагают автоматизированное реагирование на угрозы: блокировка злоумышленников, изоляция зараженных систем и усиление политик безопасности — все это возможно осуществить и без участия человека.
Системы класса ADR интегрируются с центрами мониторинга (SOC) и системами класса SIEM для координации действий, а в случае критических уязвимостей, применяют временные защитные меры до внедрения постоянных исправлений. Кроме того, ADR регистрирует все детали атак для последующего анализа и совершенствования системы защиты.
ADR-система должна быть способна блокировать вредоносные действия, изолируя и нейтрализуя опасные фрагменты кода, минимизируя воздействие на остальную функциональность приложения. Реагирование на угрозы в современных ADR-системах многогранно и опирается на автоматизацию, аналитику и интеграцию с другими системами безопасности.
ADR блокирует подозрительную активность (например, аномальные API-запросы), используя машинное обучение для выявления отклонений от нормального поведения приложения и реагируя до эскалации угрозы.
Cloud Application Detection and Response
Отдельно стоит выделить CADR (Cloud Application Detection and Response) — ответвление ADR, адаптированное к особенностям облачной среды.
В отличие от ADR, который фокусируется на приложениях независимо от их местоположения, CADR специально разработан для защиты приложений, развернутых в облаке. Это означает, что CADR должен учитывать уникальные характеристики облачных сред, такие как микросервисная архитектура, динамическая оркестрация контейнеров и т.д.
CADR-системы зачастую тесно интегрированы с облачными сервисами безопасности, такими как Amazon GuardDuty, Azure Security Center и Google Cloud Security Command Center, чтобы получить дополнительную информацию о угрозах и улучшить эффективность реагирования.
Application Detection and Response и другие подходы к защите
В сфере кибербезопасности постоянно появляются новые термины и аббревиатуры, отражающие эволюцию технологий и создаваемые как аналитическими группами, так и производителями ПО.
ADR — это яркая иллюстрация того, что новые категории в кибербезопасности часто появляются как развитие существующих. На этом фоне надо объяснить отличия Application Detection and Response от других разновидностей *DR (EDR, NDR, XDR), а также от WAF и DevSecOps.
Забегая вперёд, скажем, что объяснить эти различия легко, если мы сразу зафиксируем, что ADR сосредоточен на защите самих приложений, независимо от того, где они работают (локально, в облаке, в контейнерах). Область мониторинга ADR — исключительно приложение и его внутренние процессы.
Endpoint Detection and Response (EDR)
Системы класса EDR обеспечивают защиту конечных устройств (ноутбуки, смартфоны, серверы, IoT-устройства и т.д.), отслеживая вредоносную активность на них.
EDR концентрируется на безопасности конечных точек, а не приложений на них. Этот хорошо развитый класс продуктов исторически предшествует ADR и во многом наследует принципы классических антивирусов, ориентированных на обнаружение уже известных угроз. ADR, в свою очередь, стремится к более проактивной защите, используя автоматизацию для ускорения реагирования и предотвращения инцидентов.
Если же обращаться к сути, то ADR можно рассматривать как перенос принципов EDR на прикладной уровень, с учетом специфики работы современных приложений и их интеграции с различными системами.
Network Detection and Response (NDR)
Системы класса NDR отслеживают сетевой трафик, выискивая вредоносную активность в сетевой инфраструктуре. Такой продукт анализирует сетевые потоки, протоколы и передаваемые данные, чтобы выявлять угрозы наподобие бокового перемещения, попыток связи с командным центром ботнета или утечек данных.
ADR также следит за трафиком, но только на уровне приложений. Общеизвестно, что таких уровней в модели OSI — семь. Учёт особенностей трафика приложений поможет выявить специфические угрозы, однако для контроля других уровней модели сетевого взаимодействия по-прежнему понадобится NDR. Здесь два класса могут дополнить друг друга.
Extended Detection and Response (XDR)
Класс XDR — это не столько продукты, сколько целостные системы безопасности, сложные комплексы, охватывающие сети, облака, конечные устройства и хранилища данных. ADR ограничивается сбором данных только из приложений, в то время как XDR собирает информацию из всех источников, агрегируя её в едином центре для всестороннего выявления и нейтрализации угроз.
Соответственно, ADR может выступать как одна из составляющих экосистемы XDR, реализовывая обнаружение и реагирование в той области борьбы с угрозами, где существующие инструменты не обеспечивают достаточной видимости.
Web Application Firewall (WAF)
Брандмауэр веб-приложений, он же WAF, обеспечивает защиту на сетевом уровне. Он фильтрует и анализирует веб-трафик, блокируя известные угрозы, включая атаки из списка OWASP Top 10 (например, SQL-инъекции и XSS) и DDoS-атаки на уровне приложений. WAF масштабируется и может защищать множество веб-приложений в инфраструктуре организации, выступая первой линией обороны.
Несмотря на внедрение новых технологий, таких как поведенческая аналитика, возможности WAF всё же ограничены: он анализирует только сетевой трафик и не имеет доступа к внутренним процессам и архитектуре приложений, что делает его менее эффективным против сложных или неизвестных угроз. Функциональность ADR и WAF пересекается, но это не одно и то же.
DevSecOps
DevSecOps — это подход к разработке программного обеспечения, с учётом требований безопасности. Он включает в себя сотрудничество разработчиков, тестировщиков и специалистов по безопасности, подразумевает автоматизированную проверку на уязвимости и непрерывную интеграцию безопасности в процесс создания ПО.
При этом подходе уязвимости выявляются и исправляются на ранних стадиях разработки, что снижает риски и потенциальные издержки. В основе DevSecOps лежит принцип коллективной ответственности за безопасность, реализуемый в процессах непрерывной интеграции и доставки (CI/CD).
Ключевое отличие от ADR заключается в том, что DevSecOps работает до развёртывания приложения, а ADR — после.
Ключевые преимущества Application Detection and Response
Ключевые преимущества ADR можно сформулировать следующим образом:
- Сокращение числа уязвимостей. ADR минимизирует площадь атаки на организацию благодаря упреждающим мерам борьбы с угрозами.
- Простота использования. Применение облегченных агентов позволяет быстро и легко развернуть систему, обеспечивая немедленную защиту приложений. Такой подход минимизирует временные и ресурсные затраты на обеспечение безопасности.
- Своевременное обнаружение угроз. Благодаря объединению данных из различных источников, ADR обеспечивает значительно более быстрое обнаружение угроз, связанных с приложениями и процессами их разработки, по сравнению с использованием изолированных инструментов.
- Ускорение реагирования. Благодаря подробным рекомендациям и автоматизированным действиям по реагированию, ADR позволяет устранять уязвимости, предотвращая их превращение в инциденты, а в случае компрометации — незамедлительно принимать эффективные меры.
- Независимость от вектора атаки. Система одинаково эффективно обнаруживает угрозы, вне зависимости от их источника: будь то известная уязвимость CVE, неизвестная уязвимость «нулевого дня» или ошибка в конфигурации.
- Улучшение безопасности приложений. Охватывая весь жизненный цикл ПО, ADR позволяет командам специалистов по безопасности приложений (AppSec) и разработчикам выявлять и исправлять проблемы после развертывания приложения. Это обеспечивает проактивный подход к безопасности.
- Автоматизация AppSec. Объединение всех аспектов AppSec в единую систему позволяет командам отказаться от трудоемкого и подверженного ошибкам ручного анализа разрозненных данных. ADR предлагает оптимизированный и целостный подход к управлению безопасностью приложений.
ADR ценен тем, что формирует подробную картину состояния безопасности приложения, включая анализ его зависимостей и выявление потенциальных уязвимостей.
Выводы
Application Detection and Response представляет собой значительный шаг вперед в обеспечении безопасности приложений. Преимущества этого подхода очевидны: ADR обеспечивает глубокий анализ поведения приложений в режиме реального времени, своевременное обнаружение и реагирование на угрозы, а в продвинутых решениях — и автоматизированное устранение проблем. Это позволяет значительно сократить время реагирования на инциденты, снизить риски финансовых потерь и репутационного ущерба, а также упростить работу команд безопасности.
Перспективы развития ADR связаны с усовершенствованием методов анализа поведения приложений с использованием искусственного интеллекта и машинного обучения, расширением возможностей автоматизированного реагирования и интеграцией с другими системами безопасности для создания единой, управляемой платформы.
Однако, ADR не является панацеей и не должен рассматриваться как единственное решение для обеспечения полной кибербезопасности. Для достижения максимальной эффективности, ADR необходимо интегрировать с другими методами защиты, такими как вышеупомянутый EDR. Комплексный подход, сочетающий различные технологии и стратегии, обеспечивает многоуровневую защиту и значительно снижает вероятность успешных атак.