Доброго времени суток, уважаемые хабровчане! Хочу рассказать вам об относительно новом и интересном, на мой взгляд, механизме DoS-атаки — Медленный HTTP POST .
Поиск показал отсутствие информации по теме на хабе, что меня несколько удивило, и я решил восполнить это досадное упущение.
Тема не новая, но, как показало мое небольшое исследование, более чем актуальна.
Забегая вперед, скажу, что полученные мной результаты позволяют говорить о существовании широко доступной технологии, позволяющей «раскладывать» малые и средние сайты как с одного компьютера с небольшим каналом, так и при использовании нескольких машин.
при повсеместном высокоскоростном доступе в Интернет это может вызвать множество проблем и даже больше.
серьезные проекты.
Смиренно прошу всех желающих добро пожаловать под взлом.
Теория
Как и все гениальные вещи, технология этой атаки очень элегантна и проста.Атака основана на уязвимости в протоколе HTTP. Атака Slow HTTP POST работает следующим образом: злоумышленник отправляет заголовок POST с легитимным полем «Content-Length», что позволяет веб-серверу понять, какой объем данных получен.
После отправки заголовка тело POST-сообщения начинает передаваться с очень медленной скоростью, что позволяет использовать ресурсы сервера гораздо дольше, чем необходимо, и, как следствие, мешать обработке других запросов.
Несколько тысяч таких подключений могут привести к сбою веб-сервера на несколько минут. Если ваша система имеет веб-интерфейс, то этот тип атаки позволит вам без проблем «положить» ее.
Впервые атака была продемонстрирована широкой публике на конференции по безопасности приложений OWASP 2010. Исследователь Вонг Онн Чи впервые обнаружил атаку в 2009 году вместе с командой исследователей из Сингапура.
Позже было проведено исследование атаки (в том числе силами Microsoft).
Уязвимость протокола теперь официально признана.
Первоначально атаки такого типа проводились в Китае.
Для вербовки ботов использовались онлайн-игры — компьютеры незадачливых игроков использовались для отправки специально созданных HTTP-запросов в целевую систему.
Простота атаки позволяла эффективно использовать для этой цели простой Java-апплет, который запускался во время онлайн-игры.
Как только жертва приняла самоподписанный апплет, апплет начал осуществлять атаку, пока пользователь играл в онлайн-игру.
После выхода из игры и закрытия браузера атака прекратилась и апплет удалился.
Узнать, что вы стали источником атаки, довольно проблематично – ведь компьютер не заражен в классическом понимании этого слова, и отличить трафик HTTP от легального HTTP-трафика сложно.
Кроме того, интернет-канал практически никогда не перегружается.
Атака приводит к краху веб-серверов под управлением Microsoft IIS и Apache (как показал мой опыт, список уязвимых веб-серверов ими не ограничивается) в рамках протоколов HTTP или HTTPS и, очевидно, любых «защищенных» соединений типа SSL. , VPN и другие.
Атаку также можно адаптировать для работы с SMTP и даже DNS-серверами.
Программное обеспечение для балансировки нагрузки, используемое в настоящее время для предотвращения подобных типов DDOS-атак (Slowloris), не эффективно против новой техники.
Программы, реализующие атаку (RU U Dead Yet? и OWASP HTTP POST Tool, которые я использовал, о них поговорим позже), находятся в свободном доступе и легко доступны Google. Настройки программы очень простые, есть подробная справка и даже графическая оболочка (сама программа консольная).
Исходные коды также доступны.
Окно инструмента OWASP HTTP POST
Упражняться
Я, конечно, все это проверил на практике.Я скачал HTTP DoS Tool OWASP и ввел адрес одного сайта, который находился под моим контролем.
Он недоверчиво нажал кнопку.
Через минуту сайт отключился.
Это при том, что дома я лишен хорошего интернета, а скорость загрузки у меня всего полмегабита.
Сайт слабенький, это форум (vBulletin) на сто человек, виртуальный хостинг, сервер nginx. Но, тем не менее, согласитесь, что даже такой маленький сайт висит из-под полумегабитного канала.
это, мягко говоря, удивительно.
Наука пошла дальше.
Понимая, что для проведения атаки достаточно даже очень маленького канала, я запустил атаку через AdvTor (почитайте про TOR здесь ).
Как бы глупо и неправдоподобно это ни звучало, сайт рухнул.
Позже, используя несколько компьютеров с более широким интернет-каналом, всё через тот же АдвТор, мне удалось чисто из научного интереса заслать более серьёзные сайты (предварительно поспорив с владельцем, что я уложу его детище без помощи ботнет).
Более того.
Был написан скрипт, реализующий непрерывную атаку (у программы OWASP есть ограничение на этот счет — после 40 000 запросов она отключается), время от времени переключающий выходной узел TOR, очищающий его кэш и перезапускающий обе программы.
Кстати, в таком режиме использования они очень хорошо начали течь.
Процессор был загружен на 100%, а АдвТор беззастенчиво пожирал память.
В целом TOR отнесся к такому использованию далеко не в восторге, но держался на удивление хорошо, хотя иногда намертво подвисал.
Использовать для этого сеть TOR, конечно, полное варварство, но наука требует жертв.
Тесты проводились еще на нескольких сайтах разного уровня (опять же по договоренности с владельцами, за исключением одного случая, когда я решил подшутить над другом).
Результат был печален.
Выяснилось.
что создать практически любой среднестатистический веб-сайт относительно легко и более чем возможно.
выводы
1) Медленный HTTP POST позволяет организовать DoS-атаки, с недостижимым ранее соотношением требуемой мощности/канала атакующего компьютера (компьютеров) и атакуемого сервера.2) Огромное количество малых и средних сайтов сегодня подвержено этой атаке.
Более того, серверу зачастую сложно даже диагностировать, что сайт атакован — трафик не превышает нормальных значений.
3) Реализация атаки очень проста и практически не требует вложений.
Более того, это единственная известная науке атака типа «отказ в обслуживании», которую реально можно организовать через прокси!
4) Сходство атакующего трафика с легитимным трафиком усложняет фильтрацию «вредных» пакетов, а также позволяет легко организовать труднообнаружимый ботнет.
P.S.
Информация не претендует на свежесть и полноту.Это скорее вольный перевод из множества источников плюс некоторый интересный опыт. Я написал это в редкую свободную ночь (благо работы много), поэтому прошу прощения за ошибки, поправьте меня.
Если эта тема кого-то заинтересует, готов написать подробнее о механизме атаки и методах защиты.
Литература и ссылки
Официальная страница программы от OWASP Отличная статья (для тех, кто свободно владеет английским языком) Официальная презентация по теме (PDF), опять же для англоговорящих.Подробное исследование с описанием методов защиты (и снова на английском языке) Общая информация по теме на сайте OWASP В Живом Журнале был пост на эту тему.
Добавлен
Уважаемый Хабраюзер болезнь Я не поленился и скомпилировал OWASP HTTP POST Tool для Ubuntu. К связь архив с бинарником и необходимой для его работы библиотекой.Доступен исходный код Здесь .
Теги: #ddos #slow post #attack #OWASP #owasp #http #уязвимость #информационная безопасность
-
История О Том, Как Я Не Нашел Инженера
19 Oct, 24 -
Принятие Нового Сотрудника Похоже На Игру
19 Oct, 24 -
Особенности Разработки Игры Для Браузера
19 Oct, 24 -
Фап Фап
19 Oct, 24 -
Признайся: Ты Этого Не Понимаешь
19 Oct, 24