На международной конференции специалистов по IT-технологиям Chaos Communication Congress был опубликован доклад Александра Клинка (Alexander “alech” Klink) и Джулиана Вэльде (Julian “zeri” Wälde), описывающий ряд серьезных уязвимостей в популярных языках веб-программирования. Большинство проблем исследователи связывают с неверной обработкой веб-форм и возможностью компрометации хэш-таблиц, что может привести к успешной DOS-атаке на веб-серверы с последующим хищением данных, причем значительных ресурсов для организации атаки не требуется.
Суть уязвимостей исследователи описывают таким образом: языки веб-программирования — такие как PHP, ASP.NET, Java, Python, Ruby — имеют прямой доступ к вычислительным ресурсам компьютера; веб-приложения, написанные на этих языках, часто обрабатывают POST-запросы в автоматическом режиме, при этом, если приложение не может использовать рандомизированные хеш-функции, то злоумышленник может специально организованным запросом вызвать коллизию хеш-значений, что может значительно загрузить вычислительные ресурсы сервера.
На данный момент PHP 5, Java и ASP.NET (UPD: патч выпущен) являются полностью незащищенными перед описываемой атакой, тогда как PHP 4, Python, Ruby — частично уязвимы (в докладе говорится, что большинство уязвимостей базируются на концепциях, впервые появившихся еще в 2003 году, однако только в Ruby в 2008 году появилось исправление, частично исключающее эксплуатацию), причем степень опасности зависит от используемой 32-х или 64-битной архитектуры.
Любопытно, что в Microsoft уже признали наличие серьезной проблемы и выпустили экстренный патч, связанный с бюллетенем безопасности Security Advisory 2659883, который как раз и устраняет проблему коллизии хеш-функций в ASP.NET. Выпущенный патч связан с исправлением платформы .NET на всех поддерживаемых сейчас версиях Windows, хотя известных инцидентов, связанных с эксплуатацией проблемы пока не известно.
Крайне подробный доклад со всеми техническими подробностями можно посмотреть здесь — (pdf)
UPD: комментарий хабрапользователя kadukmm связан с моей, уже исправленной, неточностью.
[Источник]
Суть уязвимостей исследователи описывают таким образом: языки веб-программирования — такие как PHP, ASP.NET, Java, Python, Ruby — имеют прямой доступ к вычислительным ресурсам компьютера; веб-приложения, написанные на этих языках, часто обрабатывают POST-запросы в автоматическом режиме, при этом, если приложение не может использовать рандомизированные хеш-функции, то злоумышленник может специально организованным запросом вызвать коллизию хеш-значений, что может значительно загрузить вычислительные ресурсы сервера.
На данный момент PHP 5, Java и ASP.NET (UPD: патч выпущен) являются полностью незащищенными перед описываемой атакой, тогда как PHP 4, Python, Ruby — частично уязвимы (в докладе говорится, что большинство уязвимостей базируются на концепциях, впервые появившихся еще в 2003 году, однако только в Ruby в 2008 году появилось исправление, частично исключающее эксплуатацию), причем степень опасности зависит от используемой 32-х или 64-битной архитектуры.
Любопытно, что в Microsoft уже признали наличие серьезной проблемы и выпустили экстренный патч, связанный с бюллетенем безопасности Security Advisory 2659883, который как раз и устраняет проблему коллизии хеш-функций в ASP.NET. Выпущенный патч связан с исправлением платформы .NET на всех поддерживаемых сейчас версиях Windows, хотя известных инцидентов, связанных с эксплуатацией проблемы пока не известно.
Крайне подробный доклад со всеми техническими подробностями можно посмотреть здесь — (pdf)
UPD: комментарий хабрапользователя kadukmm связан с моей, уже исправленной, неточностью.
[Источник]