Брешь возникла из-за проблемы при обработке спецификаций ChangeCipherSpec (CCS) в криптографическом пакете во время рукопожатия.
Исследователь из Японии Масаши Кикучи (Masashi Kikuchi) сообщил об обнаружении уязвимости в OpenSSL ( CVE-2014-0224 ), которая существовала в библиотеке на протяжении 16 лет еще с момента ее появления. Брешь позволяла настроить параметры рукопожатия таким образом, чтобы для связи между клиентом и сервером OpenSSL SSL/TLS использовались слабые ключи шифрования. Благодаря этому злоумышленник мог осуществить атаку «человек посередине».
Уязвимость затрагивает все клиентские версии OpenSSL, а также OpenSSL 1.0.1 и 1.0.2-beta1. Примечательно, что атака была возможна только в том случае, если уязвимыми библиотеками пользовались обе стороны.
По словам Кикучи, брешь возникла из-за проблемы при обработке спецификаций ChangeCipherSpec (CCS) в криптографическом пакете во время рукопожатия. Так, OpenSSL отправляет пакеты CCS по строгому расписанию в определенный момент рукопожатия, однако обрабатывает принятые пакеты в другое время. Это дает злоумышленнику возможность внедрить свой CCS.
Эксперт пояснил, что уязвимость оставалась необнаруженной так долго, поскольку мало кто анализировал код, особенно эксперты, имеющие опыт работы с реализацией SSL/TLS. «Если бы у исследователей было больше опыта, они проверили бы код OpenSSL точно так же, как они это делают с собственными кодами. Тогда они обнаружили бы проблему», - отметил Кикучи.
В настоящее время данная уязвимость исправлена в версиях 0.9.8za, 1.0.0m и 1.0.1h.
Живой, мертвый или в суперпозиции? Узнайте в нашем канале