Типы атак и уязвимостей¶
WAF‑нода Валарм способна обнаружить множество атак и уязвимостей. Их список приведен ниже.
Для каждого элемента в списке указаны:
-
пометка о том, является ли он атакой или уязвимостью;
Названия некоторых атак могут совпадать с названием уязвимости, которую они эксплуатируют. В этом случае элемент в списке будет иметь пометку Уязвимость/Атака.
-
код Валарм, соответствующий уязвимости или атаке.
Для большинства атак и уязвимостей также указаны один или несколько кодов, соответствующих уязвимости или атаке из списка распространенных слабых мест в безопасности программного обеспечения (англ. Common Weakness Enumeration, CWE).
Кроме этого, WAF‑нода Валарм использует несколько особых типов атак и уязвимостей в служебных целях для маркировки обработанного трафика. Для таких атак и уязвимостей нет кода CWE и их список приведен отдельно.
Смотреть видео Валарм о защите приложений от угроз OWASP Top 10
Основной список атак и уязвимостей¶
Атака на внешние 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)¶
Уязвимость/Атака
Код Валарм: 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-атак. Она направлена на обнаружение скрытых ресурсов веб‑приложения, а именно директорий и файлов. Атака достигает своей цели путем перебора различных имен файлов и директорий, причем эти имена могут быть как сгенерированы на основе заданного шаблона, так и взяты из предварительно подготовленного словаря.
В результате реализации атаки злоумышленником может быть получен доступ к скрытым ресурсам, на которые веб‑приложение не ссылается явно, но которые доступны при обращении к ним напрямую.
Рекомендации по устранению:
Вы можете последовать следующим рекомендациям:
-
запретить или максимально ограничить доступ ко всем ресурсам веб‑приложения, к которым пользователь не должен иметь прямого доступа (например, с помощью механизмов аутентификации и авторизации);
-
ввести ограничения на количество поступающих запросов к веб‑приложению в единицу времени;
-
ввести ограничения на количество попыток аутентификации или авторизации в единицу времени;
-
блокировать дальнейшие попытки аутентификации и авторизации после нескольких неудачных попыток;
-
установить минимально возможные права на доступ к директориям и файлам веб‑приложения.
Как настроить Валарм WAF для защиты от брутфорса →
Смотреть видео Валарм о брутфорс‑атаках
Раскрытие информации (англ. 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
.