Среди уязвимых сред эксперты называют PHP, ASP.NET, Java, Python, Ruby, Apache Tomcat, Apache Geronimo, Jetty и Glassfish, а также открытый JavaScript-движок производства Google V8. В Microsoft уже признали факт уязвимости в ASP.NET и сообщили о том, что работают над исправлением, другие вендоры также заявили, что изучают заявления, прозвучавшие на Chaos ComCon и готовят соответствующие патчи.
ИТ-исследователи Александр Клинк и Джулиан Вельде объясняют, что большинство атак базируются на концепциях, впервые появившихся еще в 2003 году и ставших с тех пор предметом широкой эксплуатации. Тогда на конференции Usenix были показаны эксплоиты для языка Perl, однако с тех пор эти же концепции, связанные с изменением хэш-инструкций и таблиц, эксплуатируются с различной степенью периодичности.
Так, языки PHP 5, Java и ASP.NET, а также движок V8 полностью беззащитны перед атаками подобного рода. Языки PHP 4, Python, Ruby являются частично уязвимыми, причем здесь степень уязвимости зависит от того, используется ли 32- или 64-битная архитектура. Вельде говорит, что большинство серверных интерпретаторов языков программирования имеют прямой доступ к вычислительным ресурсам сервера, в частности к ЦПУ. В случае создания злонамеренного запроса хакеры могут на 100% загрузить процессор сервера и сделать недоступным сервер на несколько минут или часов. Многие атаки приводят к тому, что всего один HTTP-запрос полностью загружает сервер.
"Хэш-таблицы - это обычные структуры данных, применяемые во многих языках программирования. Веб-приложения или целые веб-платформы часто обрабатывают Post-данные, передаваемые злоумышленниками, в автоматическом режиме. Если сервер не предоставляет рандомизированные хэш-функции, то доступ к ним можно осуществлять различными способами, а сервер не распознает злонамеренные запросы, которые могут сильно загрузить среду исполнения и атакующий может создавать серьезные циклические атаки", - говорит Вельде.
По его словам, многие из атак, о которых рассказывают на Chaos ComCon ранее были презентованы разработчиками софта и Apache, а также команда разработчиков Ruby уже исправила большинство заявленных проблем. В то же время, продукты PHP, Oracle, Python, Google и Microsoft все еще уязвимы.
Так, корпорация Microsoft распространила предупреждение о наличии уже находящейся в эксплуатации у хакеров уязвимости в среде ASP.NET. Согласно сообщению корпорации, уязвимость существует в подсистеме, отвечающей за обработку форм Post в ASP.NET. В результате уязвимости хакеры могут вызвать коллизию хэш-значений и провести DOS-атаку на целевой сервер, где запущена данная среда.
В Microsoft говорят, что атакующий может сконструировать специальный HTTP-запрос, содержащий очень большие значения данных, передаваемых в форму Post для дальнейшей обработки со стороны ASP.NET. Данное значение в итоге поглотит все свободные ресурсы центрального процессора сервера. Также компания подчеркивает, что этой уязвимости не подвержены серверы, обслуживающие статические страницы.
"Сайты, которые явно запрещают выполнение контента application/x-www-form-urlencoded или multipart/form-data HTTP, не подвержены данным атакам", - заявили в Microsoft.
В корпорации говорят, что им стали известны данные о наличии уже существующих атак на серверы, но как сильно этот метод распространен среди хакеров пока сказать сложно. Временно корпорация предлагает в качестве решения ограничить длину HTTP-запросов, обрабатываемых сервером.