Функционал современных систем защиты приложений (WAF) должен быть гораздо шире списка уязвимостей из OWASP Топ 10

Ретроспектива

Масштаб, состав и структура киберугроз для приложений быстро эволюционируют. Долгие годы пользователи получали доступ к веб-приложениям через интернет с помощью популярных веб-браузеров. В каждый момент времени было необходимо поддерживать 2-5 веб-браузеров, и набор стандартов разработки и тестирования веб-приложений был в достаточной степени ограничен. Например, почти все базы данных были построены с использованием SQL. К сожалению, спустя недолгое время, хакеры научились использовать веб-приложения для кражи, удаления или изменения данных. Они получали незаконный доступ и злоупотребляли возможностями приложений с использованием различных приемов, включая обман пользователей приложений, внедрение и удаленную отработку кода. Вскоре на рынке появились коммерческие средства защиты веб-приложений, названные Web Application Firewalls (WAF), а общество отреагировало созданием открытого проекта для обеспечения безопасности веб-приложений, Open Web Application Security Project (OWASP), с целью определения и поддержания стандартов и методологий разработки безопасных приложений.

Базовая защита приложений

Список OWASP Топ 10 является отправной точкой обеспечения защиты приложений и содержит перечень самых опасных угроз и неправильных настроек, которые могут привести к уязвимостям приложений, а также тактик обнаружения и отражения атак. OWASP Топ 10 является признанным ориентиром в индустрии кибербезопасности приложений во всем мире и определяет базовый список возможностей, которым должна обладать система защиты веб-приложений (WAF).

Кроме того, функционал WAF должен учитывать другие распространенные атаки на веб-приложения, включая подделку межсайтовых запросов (CSRF), кликджекинг (Clickjacking), веб-скрапинг (web scraping) и включение файлов (RFI/LFI).

Угрозы и задачи обеспечения безопасности современных приложений

На сегодняшний день далеко не все приложения исполнены в сетевом варианте. Существуют облачные приложения, мобильные приложения, API, а в новейших архитектурах даже индивидуальные программные функции. Все эти виды приложений необходимо синхронизировать и контролировать, поскольку они создают, изменяют и обрабатывают наши данные. С появлением новых технологий и парадигм возникают новые сложности и задачи на всех этапах жизненного цикла приложений. Это включает интеграцию разработки и эксплуатации (DevOps), контейнеры, Интернет вещей (IoT), инструменты с открытым исходным кодом, API и др.

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

Конечной целью хакеров обычно являются либо кража данных, либо нарушение доступности сервисов. Злоумышленники тоже получают преимущества в ходе технологической эволюции. Во-первых, развитие новых технологий создает больше потенциальных брешей и уязвимостей. Во-вторых, в их арсенале появляется больше инструментов и знаний для обхода традиционных средств защиты. Это намного увеличивает так называемую «поверхность атаки» и подверженность организаций новым рискам. Политики безопасности должны постоянно изменяться вслед за изменениями в технологиях и приложениях.

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

Задача №1: Управление ботами

Более 60% интернет-трафика генерируется ботами, половина из которого относится к «плохому» трафику (согласно данным отчета по безопасности Radware). Организации инвестируют в увеличение пропускной способности сети, по сути, обслуживая фиктивную нагрузку. Точное разграничение между реальным пользовательским трафиком и трафиком ботов, а также «хорошими» ботами (например, поисковые роботы и сервисы сравнения цен) и «плохими» ботами может выразиться в значительной экономии средств и повышении качества сервисов для пользователей.

Боты не собираются облегчать эту задачу, и они могут имитировать поведение реальных пользователей, обходить CAPTCHA и другие препятствия. Более того, в случае атак с использованием динамических IP-адресов защита на основе фильтрации по IP-адресу становится неэффективной. Зачастую, средства разработки с открытым исходным кодом (для примера, Phantom JS), которые могут отрабатывать клиентский JavaScript, используются для запуска брутфорс-атак (brute-force), стаффинг-атак (credential stuffing), DDoS-атак и автоматических бот-атак.

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

Функционал современных систем защиты приложений (WAF) должен быть гораздо шире списка уязвимостей из OWASP Топ 10

Задача №2: Защита API

Многие приложения собирают информацию и данные от сервисов, с которыми они взаимодействуют через API. При передаче конфиденциальных данных через API боле 50% организаций не производят ни проверку, ни защиту APIs для выявления кибератак.

Примеры использования API:

  • Интеграция Интернета вещей (IoT)
  • Межмашинное взаимодействие
  • Бессерверные среды
  • Мобильные приложения
  • Управляемые событиями приложения

Уязвимости API похожи на уязвимости приложений и включают инъекции, атаки на протоколы, манипуляции параметрами, редиректы и атаки ботов. Выделенные API шлюзы позволяют гарантировать совместимость сервисов приложений, которые взаимодействуют через API. Однако они не обеспечивают сквозную безопасность приложение, как это позволяет сделать WAF c необходимыми инструментами безопасности, такими как парсинг HTTP-заголовков, список управления доступом Layer 7 (ACL), парсинг и проверка полезной нагрузки JSON/XML, а также защитой от всех уязвимостей из списка OWASP Топ 10. Это достигается за счет инспекции ключевых значений API с использованием позитивной и негативной моделей.

Задача №3: Отказ в обслуживании

Старый вектор атак — отказ в обслуживании (DoS) — продолжает доказывать свою эффективность в атаках на приложения. Злоумышленники располагают целым набором успешных техник нарушения работы сервисов приложений, включая HTTP или HTTPS флуды, маломощные и медленные атаки («low-and-slow», например SlowLoris, LOIC, Torshammer), атаки с использованием динамических IP-адресов, переполнение буфера, брутфорс-атаки, и многие другие. С развитием Интернета вещей и последовавшим появлением IoT-ботнетов атаки на приложения стали основным направлением DDoS-атак. Большинство WAF с отслеживанием состояния соединений могут противостоять только ограниченному объёму нагрузки. Однако, они могут инспектировать потоки HTTP/S трафика и удалять трафик атак и вредоносные подключения. После выявления атаки нет смысла повторно пропускать этот трафик. Поскольку пропускная способность WAF для отражения атак ограничена, необходимо дополнительное решение на периметре сети для автоматического блокирования следующий «плохих» пакетов. Для данного сценария защиты оба решения должны иметь способность взаимодействовать между собой для обмена информацией об атаках.

Функционал современных систем защиты приложений (WAF) должен быть гораздо шире списка уязвимостей из OWASP Топ 10
Рис 1. Организация комплексной защиты сети и приложений на примере решений Radware

Задача №4: Непрерывная защита

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

Выводы

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

К счастью, мы находимся в таком моменте времени, когда искусственный интеллект может прийти нам на помощь. Алгоритмы, основанные на машинном обучении, обеспечивают адаптивную защиту в режиме реального времени от самых продвинутых киберугроз, направленных на приложения. Они также автоматически обновляют политики безопасности для защиты веб-, мобильных и облачных приложений — а также API — без ложноположительных срабатываний.

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

Эффективные подходы и методы обеспечения безопасности приложений, основные типы и векторы атак, зоны риска и пробелы в киберзащите веб-приложений, а также мировой опыт и лучшие практики представлены в исследовании и отчёте Radware “Web Application Security in a Digitally Connected World”.

Источник: habr.com

Добавить комментарий