Веб-приложения и серверы на JavaScript уязвимы к атакам ReDoS

Веб-приложения и серверы на JavaScript уязвимы к атакам ReDoS

Веб-приложения и серверы на JavaScript уязвимы к атакам ReDoS

Веб-приложения и серверы на JavaScript затрагивает опасная форма уязвимости, которая может привести к успешной атаке вида ReDoS (regular expression denial of service). Злоумышленник может проэксплуатировать уязвимость, посылая большие и сложные фрагменты текста на инпут веб-сервера или приложения на основе JavaScript.

Если серверный компонент или библиотека приложения специально не предназначены для обработки различных исключительных ситуаций, действия атакующего могут привести к блокировке всего приложения или сервера за считанные минуты.

Известно, что у различных языков программирования и технологий веб-серверов есть схожие проблемы с операциями сопоставления шаблонов, что подвергает их опасности атаки ReDoS. Однако в случае с JavaScript все усугубляется из-за однопоточной модели реализации большинства серверов JavaScript, где каждый запрос обрабатывает тот же поток.

Если злоумышленник проведет атаку ReDoS, она «положит» весь сервер, а не только одну конкретную операцию. Интересно, что впервые подобные схемы ReDoS-атак были описаны еще в далеком 2012 году.

Проведенный в прошлом году исследования показали, что 5 % всех уязвимостей, обнаруженных в библиотеках и приложениях Node.js, были связаны с ReDoS.

Сейчас же эксперты считают, что атаки ReDoS набирают популярность, так эти уязвимости игнорировались на протяжении долгого времени. Кристиан-Александру Стайцу и Майкл Прадель из Дармштадтского технического университета в Германии сообщили об обнаружении 25 ранее неизвестных уязвимостей в популярных модулях Node.js.

Эксперты опубликовали список этих модулей и брешей в них:

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

Эксперты проверили 2 846 популярных сайта, из которых 339 (12 %) оказались уязвимы хотя бы перед одной ReDoS-уязвимостью.

Стайцу и Прадель опубликовали POC-код, доказывающий наличие проблемы, на GitHub.

Google встраивает квантовую криптографию в HTTPS без лишних килобайт

Google представила план, который должен защитить HTTPS-сертификаты в Chrome от будущих атак квантовых компьютеров и при этом не «сломать» интернет в процессе. Проблема в том, что современные TLS-сертификаты опираются на криптографию, которую в теории можно будет взломать с помощью алгоритма Шора, когда появятся достаточно мощные квантовые компьютеры.

Сегодня типичная цепочка X.509-сертификатов занимает около 4 КБ и содержит эллиптические подписи и ключи.

Если просто заменить их на квантово-устойчивые аналоги, объём данных вырастет примерно в 40 раз. А это значит, медленные хендшейки TLS и потенциальные проблемы с оборудованием и сетевой инфраструктурой практически обеспечены.

«Чем больше сертификат, тем медленнее соединение, и тем больше пользователей могут “отвалиться”», — объясняет Бас Вестербаан из Cloudflare, которая участвует в проекте вместе с Google.

Если браузер начнёт заметно тормозить, пользователи могут просто отключить новую защиту. Кроме того, избыточные объёмы данных могут негативно сказаться на так называемых middle boxes — промежуточных сетевых устройствах.

Решение нашли в использовании дерева Меркла (дерево хешей). Вместо длинной последовательной цепочки подписей предлагается применять компактное доказательство включения в криптографическое дерево. В новой модели центр сертификации подписывает Tree Head, который может представлять миллионы сертификатов. А браузеру передаётся лишь лёгкое доказательство того, что конкретный сертификат присутствует в этом дереве.

Google называет эту схему Merkle Tree Certificates (MTC). При добавлении квантово-устойчивых алгоритмов, таких как ML-DSA, подделка станет возможной только при одновременном взломе и классической, и постквантовой криптографии. При этом размер сертификата удаётся удержать примерно на прежнем уровне — около 4 КБ.

Новая архитектура станет частью так называемого quantum-resistant root store — квантово-устойчивого хранилища корневых сертификатов, которое дополнит Chrome Root Store.

Система уже реализована в Chrome. Пока Cloudflare тестирует её на тысяче TLS-сертификатов, самостоятельно формируя распределённый журнал прозрачности. В дальнейшем эту роль должны взять на себя центры сертификации. Параллельно в рамках IETF создана рабочая группа PKI, Logs, And Tree Signatures, она будет заниматься стандартизацией подхода.

RSS: Новости на портале Anti-Malware.ru