Heartbleed (CVE) — различия между версиями

Материал из Национальной библиотеки им. Н. Э. Баумана
(не показаны 2 промежуточные версии этого же участника)
Строка 1: Строка 1:
[[File:heartbleed_icon.png|thumb|Логотип Heartbleed]]
+
{{Infobox bug
 +
| name = Heartbleed
 +
| image = [[File:heartbleed_icon.png|200px]]
 +
| image_size = 200px
 +
| caption =
 +
| CVE = [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160 CVE-2014-0160(Heartbleed)]
 +
| discovered = {{Start date and age|2014|04|01}}
 +
| patched = {{Start date and age|2014|04|07}}
 +
| discoverer = Команда безопасности Google
 +
| affected software = OpenSSL
 +
| website = http://heartbleed.com/
 +
|
 +
 
 +
}}
 +
 
 
'''Heartbleed''' - кодовое название уязвимости под номером CVE-2014-0160 в программном обеспечении OpenSSL, позволяющая несанкционированно читать оперативную память сервера. Название Heartbleed было придумано инженером финской компании Codenomicon, занимающейся информационной безопасностью. Они же придумали логотип в виде кровоточащего сердца и создали сайт heartbleed.com, чтобы рассказать об уязвимости сообществу.
 
'''Heartbleed''' - кодовое название уязвимости под номером CVE-2014-0160 в программном обеспечении OpenSSL, позволяющая несанкционированно читать оперативную память сервера. Название Heartbleed было придумано инженером финской компании Codenomicon, занимающейся информационной безопасностью. Они же придумали логотип в виде кровоточащего сердца и создали сайт heartbleed.com, чтобы рассказать об уязвимости сообществу.
  

Версия 23:07, 14 июня 2019

Heartbleed
Heartbleed icon.png
CVE identifier(s) CVE-2014-0160(Heartbleed)
Date discovered 1 April 2014 года; 5 years ago (2014-04-01)
Date patched 7 April 2014 года; 5 years ago (2014-04-07)
Discoverer Команда безопасности Google
Affected software OpenSSL
Website http://heartbleed.com/

Heartbleed - кодовое название уязвимости под номером CVE-2014-0160 в программном обеспечении OpenSSL, позволяющая несанкционированно читать оперативную память сервера. Название Heartbleed было придумано инженером финской компании Codenomicon, занимающейся информационной безопасностью. Они же придумали логотип в виде кровоточащего сердца и создали сайт heartbleed.com, чтобы рассказать об уязвимости сообществу.


Причина

31 декабря 2011 в OpenSSL было добавлено расширение Heartbeat для TLS, реализующее непрерывное безопасное соединение без необходимости переподключения.

Уязвимость заключается в том, что клиент может отправить heartbeat запрос с заведомо ложным числом - длиной сообщения (больше, чем было отправлено), в связи с чем от сервера вернется это же сообщение + байты, следуемые далее в оперативной памяти.

Рисунок 1 – Описание атаки Heartbleed

Эксплуатация

Для примера эксплуатации воспользуемся одним из популярных скриптов, доступного по ссылке https://gist.github.com/eelsivart/10174134.

Рисунок 2 – Описание команд

Он позволяет не только проэксплуатировать уязвимость, но и автоматизирует часть действий как, например, поиск приватного ключа в дампе памяти.

Для минимальной демонстрации уязвимости достаточно указать ip-адрес и порт (если он отличный от 443):

Рисунок 3 – Пример эксплуатации

В данном случае были получены логин и пароль, вводимые пользователем на сайте.

Устранение

Бодо Меллер и Адам Лэнгли из Google разработали патч, устраняющий Heartbleed, который впоследствии был применен Стивеном Хэнсоном 7 апреля и добавлен в версию 1.0.1g:

  if (1 + 2 + payload + 16 > s->s3->rrec.length) return 0; /* silently discard per RFC 6520 sec. 4 */


Последствия

На момент публикации heartbleed было уязвимо больше 500 млн сайтов. После широкой огласки на новостных ресурсах, количество уязвимых сайтов уменьшалось, но, тем не менее в 2017 году количество уязвимых сайтов оставалось около 200 тысяч.

Рисунок 4 – Статистика Heartbleed

https://www.cert.at/services/blog/20170127160051-1894_en.html

Уязвимые версии:

  • OpenSSL 1.0.2-beta
  • OpenSSL 1.0.1 — OpenSSL 1.0.1f

Ссылки

  1. Официальная Wiki // wikipedia.org. [2019—2019]. URL: https://ru.wikipedia.org/wiki/Heartbleed (дата обращения 3.06.2019).
  2. Главная страница уязвимости // heartbleed.com. [2019-2019]. URL: http://heartbleed.com/ (дата обращения 3.06.2019)
  3. Страница Shodan для поиска уязвимых серверов // shodan.io [2019-2019]. URL: https://www.shodan.io/search?query=port%3A443+openssl+1.0.1 (дата обращения 3.06.2019)