
Обнаружение атак типа HTTP stalling, таких как slowloris, с помощью Bro
DoS-атаки с замедлением HTTP используют неспособность веб-серверов определить, подключён ли удалённый клиент через медленное соединение или удалённый клиент намеренно отправляет данные очень медленно, чтобы веб-сервер не выполнил таймаут и не закрыл соединение для сохранения локальных системных ресурсов. Поведение, которое обычно наблюдается у атакующих, заключается в открытии большого количества соединений и медленной передаче данных, чтобы предотвратить таймаут соединения на веб-сервере. Если веб-сервер использует относительно небольшой рабочий пул, исчерпание ресурсов может быть легко достигнуто.
Многие современные веб-серверы стали более защищёнными от таких типов атак с исчерпанием ресурсов, но всё же разумно следить за такими атаками, и вполне вероятно, что ряд уязвимых веб-серверов всё ещё присутствует в производственных сетях. Также возможно, что веб-сервер может быть устойчивым к одной форме атаки и при этом оставаться уязвимым к другой. Например, веб-сервер может быть устойчивым к медленной отправке данных в теле POST, но уязвимым к медленной отправке данных в одном HTTP-заголовке или в нескольких HTTP-заголовках. Этот скрипт предназначен для выявления общей картины слишком медленной отправки данных в любой части клиентского запроса и должен обнаруживать любые из этих стилей атак.
Проще всего установить через менеджер пакетов Bro::
bro-pkg refresh
bro-pkg install bro/corelight/http-stalling-detector
Результатом работы этого скрипта является пара уведомлений:
HTTPStalling::Attacker - это указывает на то, что атакующий, выполняющий атаку с замедлением HTTP, был обнаружен.
HTTPStalling::Victim - это указывает на то, что конкретный хост был атакован одним или несколькими атакующими.
Уведомления разделены на два типа таким образом, потому что существует некоторое программное обеспечение для проведения этих атак, которое может использовать прокси для распределения атакующих по множеству исходных IP-адресов. Опасение заключается в том, что если с одного IP-адреса приходит только один запрос, атака никогда не будет обнаружена. Разделяя на атакующих и жертв, жертва проявляется очень отчётливо даже при наличии подобной попытки обфускации.
Автор: Seth Hall [email protected]