Исследователи описали новый метод DoS-атаки на популярные веб-платформы

Исследователи описали новый метод DoS-атаки на популярные веб-платформы

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


В процессе работы сетевых программ на языках PHP, Java, Python и JavaScript используется хэширование, которое позволяет ускорять обработку ряда операций. Приложения вычисляют обычные математические хэши (не криптографические), знают, что при их генерации возможны столкновения (т.е. совпадения выходных значений функций хэширования), и надлежащим образом обрабатывают соответствующие коллизии. Процедура надежна, если ею не злоупотреблять. Однако, по данным немецких специалистов, злонамеренное использование ее особенностей может довольно быстро перегрузить сервер.

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

В качестве цели был выбран компьютер с Apache Tomcat; в начале своего доклада специалисты отправили на него несколько особых аргументов хэш-функций, и на всем протяжении их презентации аудитория могла наблюдать, как нагрузка на ЦП сервера не опускалась ниже 100%. В качестве возможного решения исследователи предложили разработчикам вышеупомянутых языков программирования ввести механизм случайной генерации ключей, используемых при вычислении хэшей; это помешает злоумышленнику вычислять специфические входные значения для подобных нападений. Необходимо заметить, что, например, в Perl такой механизм появился еще в сентябре 2003 года.

Подпишитесь
в Facebook

Я уже с вами