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

Типы атак и уязвимостей

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

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

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

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

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

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

Кроме этого, нода Вебмониторэкс использует несколько особых типов атак и уязвимостей в служебных целях для маркировки обработанного трафика. Для таких атак и уязвимостей нет кода 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

Описание:

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

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

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

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

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

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

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

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

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

Как настроить Вебмониторэкс WAF для защиты от брутфорса →

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

Атака

Код CWE: нет

Код Вебмониторэкс: scanner

Описание:

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

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

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

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

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

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

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

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

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

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

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

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

Код Вебмониторэкс: ssti

Описание:

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

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

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

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

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

Информационная бомба (англ. Data Bomb)

Атака

Код CWE: CWE-409, CWE-776

Код Вебмониторэкс: data_bomb

Описание:

Вебмониторэкс отмечает запрос как информационную бомбу, если обнаруживает в запросе Zip‑бомбу или XML‑бомбу:

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

  • XML-бомба (billion laughs attack) — тип DoS-атаки, направленный на перегрузку парсера XML и отказ в обслуживании веб-приложения. Для реализации данной атаки используются сущности XML.

    Например: сущность entityOne может быть определена как 20 сущностей entityTwo, а сущность entityTwo — как 20 сущностей entityThree. Если вложенность продолжается до 8-го уровня (entityEight), парсер XML развернет появление entityOne до 1 280 000 000 entityEight. Этот процесс может занять 5Гб памяти и заполнить все свободное место на носителе, что приведет к отказу работы веб-приложения.

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

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

Межсайтовый скриптинг (англ. 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 XSS Prevention Cheatsheet.

Недостаточная проверка прав на доступ к объекту (Broken Object Level Authorization, BOLA)

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

Код CWE: CWE-639

Код Вебмониторэкс: idor — для уязвимостей, bola — для атак

Описание:

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

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

В зависимости от логики работы эндпоинта, злоумышленник может получить конфиденциальные данные о веб-приложении, API и пользователях и/или изменить их.

Данная уязвимость также известна как Insecure Direct Object References (IDOR).

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

  • Реализовать механизм авторизации запросов, например, внедрить разграничение прав пользователей и в соответствии с ними предоставлять доступ к ресурсам.

  • Использовать формат GUID для идентификаторов объектов.

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

Поведение Вебмониторэкс:

  • Вебмониторэкс автоматически находит уязвимости данного типа.

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

Небезопасное перенаправление (англ. 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-атак. Она направлена на обнаружение скрытых ресурсов веб‑приложения, а именно директорий и файлов. Атака достигает своей цели путем перебора различных имен файлов и директорий, причем эти имена могут быть как сгенерированы на основе заданного шаблона, так и взяты из предварительно подготовленного словаря.

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

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

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

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

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

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

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

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

Как настроить Вебмониторэкс WAF для защиты от брутфорса →

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

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

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

Код Вебмониторэкс: infoleak

Описание:

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

Уязвимость этого типа может быть обнаружена только методом пассивного обнаружения уязвимостей. Если ответ на запрос содержит чувствительную информацию, Вебмониторэкс записывает инцидент и активную уязвимость типа Раскрытие информации. Вебмониторэкс распознает следующую информацию как чувствительную:

  • Статус системы и среды (например: stack trace, фатальные ошибки, предупреждения)

  • Статус и настройки сети

  • Код приложения

  • Метаданные (например: лог подключений к приложению)

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

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

Удаленное выполнение кода (англ. 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.

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

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

Код CWE: CWE-20, CWE-150, CWE-88

Код Вебмониторэкс: mail_injection

Описание:

Email-инъекция — вредоносное IMAP/SMTP‑выражение, которое изменяет стандартное поведение почтового сервера. Чаще всего выражение вводится в контактной форме веб-приложения.

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

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

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

  • Рекомендации из OWASP Input Validation Cheatsheet.

SSI-инъекция (англ. Server Side Include Injection)

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

Код CWE: CWE-96, CWE-97

Код Вебмониторэкс: ssi

Описание:

SSI (Server Side Includes — включения на стороне сервера) — язык для динамической сборки веб-страниц на сервере из отдельных составных частей и выдачи клиенту полученного HTML-документа. Реализован в веб-серверах Apache, NGINX.

SSI-инъекция (Server Side Include Injection) - техника атаки на веб-приложение, при которой злоумышленник вставляет вредоносный код в элементы синтаксиса SSI и отправляет полученный запрос на сервер.

Пример:

Злоумышленник может изменять сообщения, которые возвращаются пользователю приложения, и влиять на поведение пользователя. Пример SSI-инъекции:

<!--#config errmsg="Access denied, please enter your username and password"-->

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

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

  • Рекомендации из OWASP Input Validation Cheatsheet.

Слабые JWT

Уязвимость

Код CWE: CWE-1270, CWE-1294

Код Вебмониторэкс: weak_auth

Описание:

JSON Web Token (JWT) — распространенный стандарт аутентификации для безопасного обмена данными между такими ресурсами, как API.

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

Поведение Вебмониторэкс:

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

JWT считается слабым, если:

  • Он не зашифрован — поле alg имеет значение none или отсутствует.

  • Подписан скомпрометированным секретным ключом.

При обнаружении слабых JWT, Вебмониторэкс регистрирует соответствующую уязвимость.

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

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

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

Атака

Код Вебмониторэкс: vpatch

Описание:

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

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

Атака

Код Вебмониторэкс: invalid_xml

Описание:

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

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

Атака

Код Вебмониторэкс: overlimit_res

Описание:

Нода Вебмониторэкс отмечает запрос как атаку типа overlimit_res в следующих случаях:

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

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

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

  • Запрос загружает файл gzip размером более 512 Мбайт.