Серьезная уязвимость в SSL/TLS: и еще один привет 90-м
dl // 07.11.09 00:37
Еще одна серьезная уязвимость в одном из ключевых интернет-протоколов добралась до нас из прошлого века.
[Не забывайте при копировании материала указывать полный адрес источника: //bugtraq.ru/rsn/archive/2009/11/05.html]
Исследователи из PhoneFactor обнаружили уязвимость в протоколе TLS, позволяющую вклиниться в устанавливаемое защищенное соединение. Проблема восходит к середине 90-х, когда была опубликована спецификация TLS, и носит принципиальный характер, не зависящий от реализации.
Точнее, основная проблема заключается в сочетании поведения SSL/TLS и работающего поверх него прикладного протокола HTTP. В спецификацию TLS заложена возможность повторной установки сессии любой стороной, что и позволяет злоумышленнику вклиниться в процесс установки соединения с сервером: задержать исходный пакет, установить соединение самостоятельно, после чего пропустить исходный пакет, что будет воспринято сервером как вполне легальное повторное соединение. На этом этапе серверу по-хорошему надо бы перезапросить сертификат, но прикладному уровню не очень интересно, что происходит там внизу. Таким образом атакующий оказывается в состоянии подсунуть в защищенную сессию некий дополнительный код (например, заголовки или значения каких-то полей, кук, или просто врезать в начало http-запроса команду GET с произвольным путем), который будет воспринят сервером как исходящий от легального пользователя.
Уязвимость была обнаружена в августе, в конце сентября основные производители SSL решений создали рабочую группу, задачей которой была выработка единого подхода к решению проблемы и разработка рекомендаций по снижению эффекта от уязвимости. В настоящее время разработчики OpenSSL и GNU TLS уже приступили к тестированию патчей, другие производители находятся на разных этапах работы.