Критические уязвимости в реализации TLS для Java

Похоже на: HeartbleedВ последнее время заголовки газет попали в известность об уязвимости OpenSSL — самой важной реализации TLS — Heartbleed. Как и OpenSSL, JSSE — это реализация TLS с открытым исходным кодом, поддерживаемая Oracle. Исследователи обнаружили три слабых места в библиотеке JSSE, две из которых могут быть использованы для полного взлома безопасности шифрования TLS.

Следуя парадигме «ответственного раскрытия информации», команда профессора доктора Йорга Швенка в частном порядке проинформировала Oracle об этих уязвимостях до публичного объявления. Исследователи рекомендуют как можно скорее установить обновления программного обеспечения Oracle для приложений, использующих JSSE.Как взломать TLS в JSSE

JSSE был признан уязвимым для так называемых «атак Блейхенбахера». Сначала исследователи перехватили зашифрованную связь между клиентом (например, веб-браузером) и сервером. Затем они отправили на сервер несколько тысяч запросов; исследуя ответы сервера, они могли вычислить секретный сеансовый ключ. Этот сеансовый ключ можно использовать для расшифровки всех данных, которыми обмениваются клиент и сервер.

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

Апрельский патч от Oracle решает еще одну проблемуАпрельский патч, предоставленный Oracle, также исправляет другой криптографический алгоритм (PKCS # 1 v2.1, также известный как RSA-OAEP), который был уязвим для другой атаки с использованием адаптивного выбранного шифротекста.

Этот алгоритм не используется в TLS, но используется в других критически важных для безопасности приложениях, например, в веб-службах.