
Уязвимость Heartbleed в криптографической библиотеке OpenSSL в 2014 году стала объектом массовой эксплуатации. Злоумышленники получили возможность расшифровывать защищённые TLS-соединения между пользователями и серверами. Кроме того, они похищали закрытые ключи сертификатов, файлы cookie сессий и пароли.
В результате атакам подверглись тысячи серверов по всему миру. Среди них были системы крупных компаний и государственных учреждений. Для устранения последствий потребовалось обновить OpenSSL на всех уязвимых устройствах и выполнить ряд дополнительных процедур.
Организациям пришлось перевыпустить миллионы ключей TLS, отозвать старые сертификаты, сменить пароли и токены сессий. Также требовалось обновить встроенные устройства и другие системы, о которых могли забыть. На выполнение этих задач ушли годы, а их проведение в масштабах всего интернета потребовало значительных времени и ресурсов.
«Каждый раз, когда нужно, чтобы множество разных людей в разных условиях что-то сделали, это занимает много времени. Сейчас ситуация ещё сложнее, потому что стало больше условий, людей и различий между системами», — объяснил Вальсorda, слова которого приводит Ars Technica.
Скомпрометированные ключи компании eMudhra оказались крайне ненадёжными. Для закрытого ключа эллиптической криптографии NIST P-384 обычно используется около 384 бит энтропии, что даёт почти 2384 возможных вариантов. Однако размер обнаруженных ключей составлял от 3 до 8 бит, а конкретные значения были равны 4, 56, 66, 115, 155, 156, 230 и 237.
«Это совершенно точно относится к категории “такого быть не должно”. Возможно, в чрезвычайно опасном интерфейсе генерации ключей был параметр “размер”, и по ошибке ему установили значение 1?» — сказал специалист. Директор BGP.tools Бен Картрайт-Кокс предположил, что в рабочую среду мог случайно попасть пример программного кода, добавив: «Но поразительно, что никто этого не заметил».