О новой уязвимости в распространенной криптографической библиотеке OpenSSL стало известно 8 апреля. Уязвимость позволяет удаленно читать содержимое фрагментов памяти сервера, на котором исполняется OpenSSL. Из-за программной ошибки в реализации одного из расширений TLS — TLS Heartbeat — в ответ на специально подготовленный запрос можно получить до 64 килобайт содержимого памяти сервера, в которой могут оказаться самые разные данные, не предназначенные для публикации. Уязвимость в дополнение к индексу CVE-2014-0160 получила «литературное» название Heartbleed, дословно — кровоточащее сердце; тут обыграно исходное название уязвимого протокола, TLS Heartbeat — сердцебиение, пульс, такт.
TLS — это один из основных транспортов безопасной передачи данных в Интернете. В частности, данный протокол используется HTTPS — защищенной версией основного протокола Web. По разным оценкам, затронуты от 10 до 30% веб-серверов, работающих в Интернете.
Уязвимость существовала в OpenSSL около двух лет. Тем не менее, следов ее массового использования в Интернете, до даты публичного раскрытия, пока найти не удалось. Таким образом, разумно считать, что время для атаки на типичный интернет-сервис исчисляется часами: с момента опубликования описания уязвимости до момента обновления библиотеки OpenSSL на вашем сервере. Если соответствующие технические службы реагировали медленнее, то окно для вероятной атаки может быть расширено до нескольких суток. Последний вариант существенно увеличивает шансы утечки секретного ключа, а утечку пользовательских данных, если таковые хранятся в памяти сервера, можно просто считать свершившимся фактом.
Несмотря на весь масштаб бедствия, важно не поддаваться панике, трезво оценивать риски и угрозы, а также вовремя предпринимать адекватные меры по противодействию. Протокол TLS не сломан, а SSL-сертификаты продолжают оставаться рабочим инструментом проверки подлинности веб-сайтов.
Детали уязвимости и рекомендации по противодействию — в полной версии статьи Александра Венедюхина«Heartbleed: утечка данных в OpenSSL», опубликованной на страницах корпоративного блога RU-CENTER.