Об ошибке в системе узнала финско-американская компания Codenomicon, о чем поспешила сообщить миру через специальный сайт heartbleed.com. Heart Bleed — это название, которое дали ошибке специалисты, в вольном переводе оно значит «Кровоточащее сердце».
Такое драматичное название было выбрано не случайно. Ошибка была обнаружена в пакете heartbeat (удар сердца, сердечный ритм), используемом для обнаружения сбоев и управления ресурсами серверного кластера. В итоге получилась игра слов: в сердце произошла утечка.
В отличие от всех других «помощников хакеров» Heart Bleed позволяет перехватить шифровальные ключи — краеугольный камень защищенных подключений, шифрующий данные при передаче между серверами. Сами по себе перехваченные данные не стоят ничего, поскольку в зашифрованном виде тот же пин-код банковской карты может выглядеть как, например, «dkgh#k87u». Без ключа, который позволит расшифровать этот код, это всего лишь набор символов. Но если ключ окажется в руках злоумышленников, то получить исходные данные для них не составит никакого труда.
Самая большая опасность заключается в том, что такой метод взлома не оставляет совершенно никаких следов и в случае хищения данных узнать об этом невозможно.
Казалось бы, что в этом такого, ведь подобные ошибки находятся чуть ли не каждый день. Однако пакет шифрования OpenSSL — самый распространенный в мире. Он используется в большинстве своем на веб-серверах Apache и nginx. По данным исследования компании Netcraft, на этих архитектурах работает около 66% всех сайтов в интернете. Таким образом, лишь каждый третий сайт не представляет потенциальной угрозы в аспекте хищения данных. Среди подверженных опасности сайтов можно назвать такие популярные сервисы, как Twitter, Dropbox, Yahoo!, Steam и другие. Пакеты OpenSSL используются ко всему прочему для обеспечения работы серверов электронной почты и разнообразного клиентского ПО.
Для выявления степени опасности ошибки Codenomicon попробовала похитить собственные данные так, как это сделали бы профессиональные хакеры.
В итоге им удалось совершить атаку на собственные серверы, не оставив никаких следов. Используя лишь дыру в системе, Codenomicon получила ключи шифрования. Используя их, специалисты собрали с серверов имена пользователей и пароли, переписку сотрудников через мессенджеры и электронную почту, а также конфиденциальную документацию компании, хранившуюся на компьютерах.
Разумеется, столь опасная дыра не могла остаться незакрытой. В итоге 7 апреля была выпущена новая версия OpenSSL, в которой данная ошибка уже отсутствует. Однако простого обновления пакета недостаточно. Если злоумышленники уже похитили ключи шифрования, то они могут использовать их точно так же, как и при прежней версии, и для обеспечения безопасности администраторам нужно получить новые сертификаты безопасности и сгенерировать новые ключи.
Разумеется, за крупные сервисы не стоит переживать, поскольку цена халатности их администраторов слишком велика. Можно предположить, что соответствующие работы на серверах уже проведены.
В Codenomicon видят даже положительные стороны в Heart Bleed: поскольку администраторы не могут проигнорировать факт обнаружения этой дыры, они вынуждены обновить системы шифрования данных на своих серверах. Вместе с ними, вероятно, будут устанавливаться и другие обновления, которые до этого откладывались на какой-то период.