Компания CloudFlare несколько дней тестировала свои серверы на предмет эксплуатации уязвимости Heartbleed в реальной жизни. Изначально предполагалось, что извлечь SSL-ключи из памяти сервера практически невозможно. Якобы, для этого требуется совпадение нескольких условий: например, перезагрузка сервера и злоумышленник должен быть первым авторизованным пользователем.

За несколько дней тестирования специалистам CloudFlare так и не удалось извлечь SSL-ключи из памяти. Прежде, чем объявить о невозможности такой операции, компания CloudFlare объявила конкурс Heartbleed Challenge и предложила награду $10 тыс. любому, кто сможет добыть секретные ключи на сервере nginx-1.5.13 с уязвимой версией OpenSSL 1.0.1.f под Ubuntu 13.10 x86_64.

К удивлению CloudFlare, конкурс завершился практически мгновенно. В течение трех часов двое хакеров, независимо друг от друга, добыли SSL-ключи с сервера, используя эксплойт Heartbleed.

Первым стал программист Федор Индутный из Москвы, один из главных разработчиков Node.js. Для извлечения ключей ему понадобилось выслать серверу более 2,5 млн запросов на получение фрагментов памяти.

Вторым оказался Илкка Маттила (Ilkka Mattila) из NCSC-FI, который нашел ключ примерно за 100 тыс. запросов.

Через несколько часов после этого ключи на тестовом сервере обнаружили еще несколько человек, в том числе студент Кембриджа Рубин Сюй (Rubin Xu) и независимый специалист по безопасности Бен Мерфи (Ben Murphy).

В общем, конкурс убедительно доказал совсем не то, что хотела продемонстрировать компания CloudFlare. Оказалось, что извлечь секретные SSL-ключи из оперативной памяти сервера довольно легко, даже считывая RAM маленькими фрагментами.



Оставить мнение