Перейти к содержанию

Атаки и уязвимости, которые может обнаруживать WAF‑нода

WAF‑нода Валарм способна обнаружить множество атак и уязвимостей. Их список приведен ниже.

Для каждого элемента в списке указаны:

  • пометка о том, является ли он атакой или уязвимостью;

    Названия некоторых атак могут совпадать с названием уязвимости, которую они эксплуатируют. В этом случае элемент в списке будет иметь пометку Уязвимость/Атака.

  • код Валарм, соответствующий уязвимости или атаке.

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

Кроме этого, WAF‑нода Валарм использует несколько особых типов атак и уязвимостей в служебных целях для маркировки обработанного трафика. Для таких атак и уязвимостей нет кода CWE и их список приведен отдельно.

Основной список атак и уязвимостей

Атака на внешние XML‑сущности (XML External Entity, XXE)

Уязвимость/Атака

Код CWE: CWE-611

Код Валарм: xxe

Описание

Уязвимость к атаке XXE заключается в том, что злоумышленник способен внедрить внешние сущности в структуру XML‑документов, которые будут обработаны XML‑парсером и выполнены на целевом веб-сервере.

В результате реализации атаки злоумышленник будет иметь возможности для:

  • получения доступа к конфиденциальным данным веб‑приложения;

  • осуществления атаки SSRF;

  • сканирования внутренней сети;

  • чтения локальных файлов на веб-сервере;

  • осуществления DoS-атак.

Данная уязвимость существует из‑за отсутствия запрета на разрешение внешних сущностей XML в веб‑приложении.

Рекомендации по устранению

Вы можете последовать следующим рекомендациям:

  • отключить разрешение внешних XML‑сущностей при работе с пользовательскими XML‑документами;

  • воспользоваться рекомендациями из OWASP XXE Prevention Cheatsheet.

Брутфорс (англ. Bruteforce attack)

Атака

Код CWE: CWE-307, CWE-521, CWE-799

Код Валарм: brute

Описание

Брутфорс атака (также известна как «атака перебором» и «метод грубой силы») предполагает отправку множества запросов к серверу с предопределенным значениями (значения могут быть сгенерированы автоматически или взяты из словаря) и анализ ответа сервера с целью подбора необходимых данных.

В результате успешной релизации такой атаки злоумышленник может обойти механизмы аутентификации и авторизации, обнаружить скрытые ресурсы веб‑приложения (директории, файлы, разделы сайта и т.п.) и выполнять иные вредоносные действия.

Рекомендации по устранению

Вы можете последовать следующим рекомендациям:

  • ввести ограничения на количество поступающих запросов к веб‑приложению в единицу времени;

  • ввести ограничения на количество попыток аутентификации или авторизации в единицу времени;

  • блокировать дальнейшие попытки аутентификации и авторизации после нескольких неудачных попыток;

  • установить минимально возможные права на доступ к директориям и файлам веб‑приложения;

  • ограничить доступ приложения к другим директориям и файлам сервера, на котором выполняется веб‑приложение.

Изучение ресурса сторонним сканером

Атака

Код CWE: нет

Код Валарм: scanner

Описание

Такой код присваивается HTTP‑запросу, если обнаруживается факт атаки на защищаемый ресурс или изучения этого ресурса с помощью стороннего сканера (запросы сканера Валарм не считаются атакой).

Например, при использовании сканера портов злоумышленник может попытаться получить список открытых сетевых портов, связать номера портов с известными сервисами, использующими эти порты и атаковать их.

Рекомендации по устранению

Вы можете последовать следующим рекомендациям:

  • использовать фильтрацию по IP‑адресу, белые или черные списки, различные механизмы аутентификации и авторизации для снижения вероятности сканирования периметра злоумышленником;

  • минимизировать плоскость сканирования путем установки файервола для защиты сетевого периметра;

  • оставлять открытым минимально возможный набор сетевых портов;

  • ограничить использование протокола ICMP в сети;

  • проводить своевременное обновление компонентов ИТ-инфраструктуры, в том числе:

    • прошивок серверов и другого оборудования;
    • операционных систем;
    • прочего программного обеспечения.

Инъекция шаблона на стороне сервера (англ. Server Side Template Injection, SSTI)

Уязвимость/Атака

Код CWE: CWE-94, CWE-159

Код Валарм: ssti

Описание

Уязвимость к атаке типа «Server-Side Template Injection» позволяет злоумышленнику внедрить в форму пользовательского ввода исполняемую конструкцию, которая в результате будет обработана шаблонизатором на стороне веб-сервера.

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

Уязвимость к атакам данного типа возникает из‑за некорректной фильтрации входных пользовательских данных.

Рекомендации по устранению

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

Логическая бомба (англ. Logic Bomb)

Атака

Код CWE: CWE-511

Код Валарм: logic_bomb

Описание

Логическая бомба — это вредоносный код, который запускается при определенных условиях для осуществления вредоносных действий. Также известен вариант логической бомбы под названием «временная бомба» (англ. time bomb): такая бомба срабатывает при наступлении определенной даты или времени.

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

Рекомендации по устранению

Вы можете последовать следующим рекомендациям:

  • использовать статические или динамические анализаторы кода;

  • тщательно исследовать весь код, который не покрывается тестами;

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

Межсайтовая подделка запросов (англ. Cross-Site Request Forgery, CSRF)

Уязвимость/Атака

Код CWE: CWE-352

Код Валарм: csrf

Описание

CSRF — вид атаки на пользователей веб‑приложения, которая позволяет злоумышленнику выполнять запросы от имени пользователя в уязвимом веб‑приложении.

Эксплуатация одноименной уязвимости возможна из‑за того, что браузер пользователя при выполнении запроса с одного домена на другой автоматически добавляет в запрос пользовательские Cookies, установленные для целевого домена.

Это позволяет злоумышленнику, не имея доступа к Cookies пользователя, отправить запрос на уязвимое веб‑приложение от его имени с вредоносного сайта.

Рекомендации по устранению

Вы можете последовать следующим рекомендациям:

  • внедрить механизм защиты от CSRF атак в виде CSRF-токенов или других технологий;

  • установить атрибут SameSite для Сookies;

  • воспользоваться рекомендациями из OWASP CSRF Prevention Cheatsheet.

Межсайтовый скриптинг (англ. Cross-site Scripting, XSS)

Уязвимость/Атака

Код CWE: CWE-79

Код Валарм: xss

Описание

Межсайтовый скриптинг — это вид атаки на клиентов веб‑приложения, при которой в браузере клиентов может быть исполнен произвольный код, подготовленный злоумышленником.

Различают несколько видов XSS:

  • Хранимый XSS (англ. Stored XSS).

    Вредоносный код заранее внедрен на страницу приложения.

    Уязвимость к данной атаке позволяет злоумышленнику внедрить вредоносный код в HTML-страницу веб‑приложения с возможностью постоянного отображения этого кода в браузере всех клиентов, обратившихся к данной странице.

  • Отраженный XSS (англ. Reflected XSS).

    Для произведения атаки злоумышленнику необходимо спровоцировать пользователя перейти по специально сформированной ссылке.

  • DOM-based XSS.

    Уязвимость к DOM-based XSS-атакам появляется в случаях, когда JavaScript-код страницы веб‑приложения обрабатывает отправляемые данные, и из‑за ошибок в коде реализации может попытаться исполнить полученный набор данных в качестве команд языка JavaScript.

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

Уязвимость к атакам данного типа возникает из‑за некорректной фильтрации входных пользовательских данных.

Рекомендации по устранению

Вы можете последовать следующим рекомендациям:

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

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

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

  • Рекомендации из OWASP XXS Prevention Cheatsheet.

Небезопасная прямая ссылка на объект (англ. Insecure Direct Object References, IDOR)

Уязвимость

Код CWE: CWE-639

Код Валарм: idor

Описание

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

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

В процессе эксплуатации уязвимости злоумышленник за счёт манипуляций с параметрами запроса может получить несанкционированный доступ к конфиденциальной информации веб‑приложения и пользователей.

Рекомендации по устранению

Вы можете последовать следующим рекомендациям:

  • реализовать корректную проверку контроля доступа к ресурсам веб‑приложения;

  • реализовать механизм контроля доступа к ресурсам и разграничивать доступ к ним в соостветствии с правами пользователя;

  • использовать косвенные ссылки на объекты;

  • воспользоваться рекомендациями из OWASP IDOR Prevention Cheatsheet.

Небезопасное перенаправление (англ. Open Redirect)

Атака

Код CWE: CWE-601

Код Валарм: redir

Описание

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

Уязвимость к атакам данного типа возникает из‑за некорректной фильтрации входных данных URL-адреса.

Рекомендации по устранению

Вы можете последовать следующим рекомендациям:

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

  • Следует уведомлять пользователя о всех перенаправлениях и запрашивать их подтверждение для перехода по ссылке.

Подделка запросов на стороне сервера (англ. Server-Side Request Forgery, SSRF)

Уязвимость/Атака

Код CWE: CWE-918

Код Валарм: ssrf

Описание

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

Рекомендации по устранению

Вы можете последовать следующим рекомендациям:

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

  • Рекомендации из OWASP SSRF Prevention Cheatsheet.

Принудительный просмотр ресурсов веб‑приложения (англ. Forced Browsing)

Атака

Код CWE: CWE-425

Код Валарм: dirbust

Описание

Эта атака является одной из разновидностей bruteforce-атак. Она направлена на обнаружение скрытых ресурсов веб‑приложения, а именно директорий и файлов. Атака достигает своей цели путем перебора различных имен файлов и директорий, причем эти имена могут быть как сгенерированы на основе заданного шаблона, так и взяты из предварительно подготовленного словаря.

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

Рекомендации по устранению

Вы можете последовать следующим рекомендациям:

  • запретить или максимально ограничить доступ ко всем ресурсам веб‑приложения, к которым пользователь не должен иметь прямого доступа (например, с помощью механизмов аутентификации и авторизации);

  • ввести ограничения на количество поступающих запросов к веб‑приложению в единицу времени;

  • ввести ограничения на количество попыток аутентификации или авторизации в единицу времени;

  • блокировать дальнейшие попытки аутентификации и авторизации после нескольких неудачных попыток;

  • установить минимально возможные права на доступ к директориям и файлам веб‑приложения.

Раскрытие информации (англ. Information Exposure)

Уязвимость

Код CWE: CWE-200 (смотрите также: CWE-209, CWE-215, CWE-538, CWE-541, CWE-548)

Код Валарм: info

Описание

Исследуемое приложение производит преднамеренное или непреднамеренное раскрытие информации субъекту, который явно не уполномочен иметь доступ к этой информации.

Рекомендации по устранению

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

Удаленное выполнение кода (англ. Remote Code Execution, RCE)

Уязвимость/Атака

Коды CWE: CWE-78, CWE-94 и другие

Код Валарм: rce

Описание

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

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

  • влияние на целостность, доступность и конфиденциальность данных веб‑приложения;
  • получение контроля за операционной системой и сервером, которые обеспечивают выполнение веб‑приложения;
  • иные возможности.

Уязвимость к атакам данного типа возникает из‑за некорректной фильтрации входных пользовательских данных.

Рекомендации по устранению

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

Уязвимость в механизмах аутентификации (англ. Authentication Bypass)

Уязвимость

Код CWE: CWE-288

Код Валарм: auth

Описание

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

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

Рекомендации по устранению

Вы можете последовать следующим рекомендациям:

  • устранить недочеты существующего механизма аутентификации;

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

  • воспользоваться рекомендациями из OWASP Authentication Cheatsheet.

CRLF-инъекция (англ. CRLF Injection)

Атака

Код CWE: CWE-93

Код Валарм: crlf

Описание

CRLF-инъекции — это класс атак, который позволяет злоумышленнику внедрить символы возврата каретки (англ. Carriage Return, CR) и перевода строки (англ. Line Feed, LF) в запрос к серверу (например, с помощью протокола HTTP).

В совокупности с другими факторами это может привести к эксплуатации различных уязвимостей (например, «HTTP Response Splitting» CWE-113, «HTTP Response Smuggling» CWE-444).

Успешная атака такого типа может позволить злоумышленнику обходить файервол, отравлять кеш, подменять легитимные страницы на страницы с вредоносным кодом, реализовывать атаки типа «Open Redirect» и выполнять иные вредоносные действия.

Уязвимость к атакам данного типа возникает из‑за некорректной фильтрации входных пользовательских данных.

Рекомендации по устранению

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

LDAP-инъекция (англ. LDAP Injection)

Уязвимость/Атака

Код CWE: CWE-90

Код Валарм: ldapi

Описание

LDAP-инъекции — это класс атак, который позволяет злоумышленнику внедрить мета‑символы фильтров поиска в запрос к структуре LDAP, хранящейся на сервере.

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

Уязвимость к атакам данного типа возникает из‑за некорректной фильтрации входных пользовательских данных.

Рекомендации по устранению

Вы можете последовать следующим рекомендациям:

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

  • Рекомендации из OWASP LDAP Injection Prevention Cheatsheet.

NoSQL‑инъекция (англ. NoSQL Injection)

Уязвимость/Атака

Код CWE: CWE-943

Код Валарм: nosqli

Описание

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

Рекомендации по устранению

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

Path Traversal

Уязвимость/Атака

Код CWE: CWE-22

Код Валарм: ptrav

Описание

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

Уязвимость к данному типу атак возникает из‑за некорректной фильтрации пользовательских данных при запросе пользователем файлов или директорий через веб‑приложение.

Рекомендации по устранению

Вы можете последовать следующим рекомендациям:

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

  • Дополнительные рекомендации по предотвращению данного типа атак доступны здесь.

SQL‑инъекция (SQL Injection)

Уязвимость/Атака

Код CWE: CWE-89

Код Валарм: sqli

Описание

Атака этого типа реализуется из‑за недостаточной фильтрации входных пользовательских данных, путем внедрения специально сконструированного SQL‑запроса.

Уязвимость к атаке типа «SQL‑инъекция» позволяет злоумышленнику внедрить в выполняемый запрос к базе данных произвольный SQL‑код, получив возможность доступа к конфиденциальным данным, их изменению, а также выполнению операций по администрированию СУБД.

Рекомендации по устранению

Вы можете последовать следующим рекомендациям:

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

  • Рекомендации из OWASP SQL Injection Prevention Cheatsheet.

Список особых атак и уязвимостей

Аномальный запрос

Уязвимость

Код Валарм: anomaly

Описание

Запрос к веб‑приложению, который расценивается WAF‑нодой как нетипичный для этого приложения. Может являться признаком попытки атаки на приложение.

Виртуальный патч (англ. Virtual Patch)

Атака

Код Валарм: vpatch

Описание

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

Использование небезопасного XML‑заголовка

Атака

Код Валарм: xml_unsafe_header

Описание

Запрос помечается как атака такого типа, если тело запроса представляет собой XML‑документ и замечено несоответствие между кодировкой этого документа и кодировкой, указанной в заголовке XML‑документа.

Маркер

Атака

Код Валарм: marker

Описание

Данный код атаки используется при выгрузке данных об атаках из WAF‑ноды в облако Валарм.

Превышение лимита вычислительных ресурсов

Атака

Код Валарм: overlimit_res

Описание

WAF‑нода настроена так, что на обработку одного входящего запроса должно тратиться не более N миллисекунд (значение по умолчанию: 1000). Если обработка запроса не будет выполнена за установленный квант времени, то она будет прекращена, а сам запрос будет помечен как атака типа «превышение лимита вычислительных ресурсов».

Вы можете задать требуемый вам лимит времени для обработки запроса с помощью директивы Валарм wallarm_process_time_limit.