Критическая уязвимость в OpenSSL 1.0.1 и 1.0.2-beta

Критическая уязвимость в OpenSSL 1.0.1 и 1.0.2-beta

Несколько часов назад сотрудники The OpenSSL Project выпустили бюллетень безопасности, в котором сообщается о критической уязвимости CVE-2014-0160 в популярной криптографической библиотеке OpenSSL. Уязвимость связана с отсутствием необходимой проверки границ в одной из процедур расширения Heartbeat (RFC6520) для протокола TLS/DTLS.

Из-за этой маленькой ошибки одного программиста кто угодно получает прямой доступ к оперативной памяти компьютеров, чьи коммуникации «защищены» уязвимой версией OpenSSL. В том числе, злоумышленник получает доступ к секретным ключам, именам и паролям пользователей и всему контенту, который должен передаваться в зашифрованном виде. При этом не остается никаких следов проникновения в систему, сообщает habrahabr.ru.

Некто, знавший об уязвимости, мог прослушивать «зашифрованный» трафик почти во всем интернете с марта 2012 года, когда вышла версия OpenSSL 1.0.1. В то время была продемонстрирована успешная атака на TLS (BEAST), и многие перешли на защищенную версию TLS 1.2, появление которой совпало с выходом OpenSSL 1.0.1.

Уязвимая версия OpenSSL используется в популярных веб-серверах Nginx и Apache, на почтовых серверах, IM-серверах, VPN, а также во множестве других программ. Ущерб от этого бага исключительно велик.

Некоторые дистрибутивы операционных систем с уязвимой версией OpenSSL:
Debian Wheezy (стабильная), OpenSSL 1.0.1e-2+deb7u4)
Ubuntu 12.04.4 LTS, OpenSSL 1.0.1-4ubuntu5.11)
CentOS 6.5, OpenSSL 1.0.1e-15)
Fedora 18, OpenSSL 1.0.1e-4
OpenBSD 5.3 (OpenSSL 1.0.1c) и 5.4 (OpenSSL 1.0.1c)
FreeBSD 8.4 (OpenSSL 1.0.1e) и 9.1 (OpenSSL 1.0.1c)
NetBSD 5.0.2 (OpenSSL 1.0.1e)
OpenSUSE 12.2 (OpenSSL 1.0.1c)

Дистрибутивы с более ранними версиями OpenSSL: Debian Squeeze (oldstable), OpenSSL 0.9.8o-4squeeze14, SUSE Linux Enterprise Server.

Баг присутствует во всех версиях веток OpenSSL 1.0.1 и 1.0.2-beta, включая 1.0.1f и 1.0.2-beta1. Исправленная версия — 1.0.1g, которую всем пострадавшим необходимо установить немедленно, после чего сгенерировать новые ключи и сертификаты и предпринять прочие меры безопасности. Пользователей следует предупредить о возможной утечке их паролей. В случае невозможности немедленного апдейта на исправленную версию следует перекомпилировать OpenSSL с флагом -DOPENSSL_NO_HEARTBEATS.

Уязвимость обнаружили специалисты по информационной безопасности из компании Codenomicon, а также, независимо от них, Нил Мехта (Neel Mehta) из подразделения Google Security. Именно последний сообщил разработчикам The OpenSSL Project, что нужно срочно исправить код. Ребята из компании Codenomicon подготовили подробное описание бага и даже открыли для него отдельный сайт Heartbleed.com с изображением кровоточащего сердца.

Компьютер без RAM всё же запустили, но результат получился показательным

Рост цен на оперативную память уже дошёл до того, что люди начали задаваться почти философским вопросом: а можно ли вообще запустить компьютер без RAM? Именно это решил проверить YouTube-блогер PortalRunner. Интересно, что ответ оказался не совсем отрицательным.

Компьютер без оперативной памяти действительно можно заставить работать, но радоваться тут особенно нечему: пользоваться такой машиной в реальной жизни почти невозможно.

По сути, весь эксперимент быстро превращается в наглядное объяснение, зачем вообще нужна RAM и почему без неё современный десктоп моментально откатывается куда-то в далёкое прошлое.

Для начала PortalRunner попробовал обойтись минимальным объёмом памяти и переложить нагрузку на своп-файл. Другими, словами заставить систему активнее использовать накопитель вместо оперативки. Формально такой сценарий и так знаком любому компьютеру, когда RAM заканчивается, но на практике это работает мучительно медленно.

Была и ещё одна попытка — использовать вместо обычной RAM видеопамять со старых видеокарт. Звучит изобретательно, но итог примерно тот же: скорость всё равно не та, а полноценной заменой оперативной памяти такой подход не становится.

Самая забавное начинается позже, когда автор эксперимента решает зайти с другой стороны и использовать только кеш процессора. Он действительно намного быстрее обычной оперативки, но его катастрофически мало по современным меркам. Речь тут идёт не о гигабайтах, а о десятках мегабайт — объёме, который для 2026 года выглядит почти музейным.

В итоге эксперимент неожиданно превращается в путешествие во времени. Чтобы уложиться в такие ограничения, приходится буквально вспоминать подходы из 1980-х: ручную оптимизацию ассемблерного кода, предельно простую графику, минимализм во всём. Современный софт в такие рамки просто не помещается, поэтому запускать приходится что-то совсем крошечное.

И да, в финале всё это всё-таки заработало. После долгих манипуляций со старой материнской платой, BIOS и кучей низкоуровневой магии PortalRunner сумел запустить программу, работающую исключительно в кеше процессора. Этой программой оказалась Snake, что, в общем, довольно символично. Не Photoshop, не браузер, не Windows, а старая добрая «змейка».

Отдельная ирония в том, что для такого эксперимента пришлось искать довольно старое железо. На новых платах с UEFI подобные трюки провернуть заметно сложнее. Более того, одна из попыток вообще закончилась неудачной прошивкой BIOS и фактически убитой машиной.

RSS: Новости на портале Anti-Malware.ru