SlideShare a Scribd company logo
1 of 19
Svolskiy Vladislav
Sapozhnikov Denis
The Heartbleed Bug
OpenSSL как вектор атаки
#Intro
OpenSSL — криптографический пакет с открытым исходным
кодом для работы с SSL/TLS. Позволяет создавать ключи RSA, DH,
DSA и сертификаты X.509, подписывать их, формировать. Также
имеется возможность шифрования данных и тестирования SSL/TLS
соединений
08.04.2014 сотрудники The OpenSSL Project выпустили бюллетень
безопасности с сообщением о критической уязвимости CVE-2014-
0160 в популярной криптографической библиотеке OpenSSL (1.0.1 и
1.0.2-beta).
#Intro
Уязвимость связана с отсутствием необходимой проверки границ в
одной из процедур расширения Heartbeat (RFC6520) для протокола
TLS/DTLS.
Из-за маленькой ошибки кто угодно может получить доступ к
оперативной памяти компьютеров, чьи коммуникации
«защищены» уязвимой версией OpenSSL. В том числе,
злоумышленник получает доступ к секретным ключам, именам и
паролям пользователей и всему контенту, который должен
передаваться в зашифрованном виде. При этом не остается
никаких следов проникновения в систему.
#Intro
 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)
Разбор уязвимости
Исправление
начинается здесь
int
dtls1_process_heartbeat(SSL *s)
{
unsigned char *p = &s->s3->rrec.data[0], *pl;
unsigned short hbtype;
unsigned int payload;
unsigned int padding = 16; /* Use minimum padding */
Разбор уязвимости
typedef struct ssl3_record_st
{
int type; /* type of record */
unsigned int length; /* How many bytes available */
unsigned int off; /* read/write offset into 'buf' */
unsigned char *data; /* pointer to the record data */
unsigned char *input; /* where the decode bytes are */
unsigned char *comp; /* only used with decompression -
malloc()ed */
unsigned long epoch; /* epoch number, needed by DTLS1 */
unsigned char seq_num[8]; /* sequence number, needed by
DTLS1 */
} SSL3_RECORD;
Структура,
описывающая записи;
содержит тип, длину и
данные
Разбор уязвимости
/* Read type and payload length first */
hbtype = *p++;
n2s(p, payload);
pl = p;
dtls1_process_heartbea
t
Разбор уязвимости
unsigned char *buffer, *bp;
int r;
buffer = OPENSSL_malloc(1 + 2 + payload + padding);
bp = buffer;
Magic
Разбор уязвимости
/* Enter response type, length and copy payload */
*bp++ = TLS1_HB_RESPONSE;
s2n(payload, bp);
memcpy(bp, pl, payload);
Magic
Demonstration part
>Варианты защиты
 Обновление OpenSSL до безопасной версии
 Перекомпилляция с флагом -
DOPENSSL_NO_HEARTBEATS
 Аналог OpenSSL
>Варианты
защиты
Обновление Debian, Ubuntu:
# aptitude update
# aptitude -VR full-upgrade
# service nginx restart
# service apache2 restart
# lsof -n | grep -iE 'del.*(libssl.so|libcrypto.so)'
или
# checkrestart
# dpkg -l | grep -i openssl
# aptitude changelog openssl
>Варианты
защиты
Обновление CentOS, RedHat, Fedora
# yum update
# service nginx restart
# service httpd restart
# lsof -n | grep -iE 'del.*(libssl.so|libcrypto.so)')'
или
# needs-restarting
# yum list openssl
# rpm -q --changelog openssl
>Варианты
защиты
Обновление FreeBSD
# freebsd-update fetch
# freebsd-update install
# service nginx restart
# service apache22 restart
# freebsd-version
>Последстви
я
#Links
Веб-сервисы:
— filippo.io/Heartbleed/
— www.ssllabs.com/ssltest/
— rehmann.co/projects/heartbeat/
— possible.lv/tools/hb/
Обратный Heartbleed: blog.meldium.com/home/2014/4/10/testing-for-
reverse-heartbleed
Тест для клиента: reverseheartbleed.com
Скрипт на Python: gist.github.com/sh1n0b1/10100394,
gist.github.com/mitsuhiko/10130454
Скрипт на Go: github.com/titanous/heartbleeder
Скрипт на Си: github.com/robertdavidgraham/heartleech
Статистика по сайтам: gist.github.com/dberkholz/10169691
Библиотека LibSSL: www.openbsd.org/cgi-bin/cvsweb/src/lib/libssl/src/ssl/
Подробный разбор CVE-2014-0160 (ручной патч):
http://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=96db9023b881d
7cd9f379b0c154650d6c108e9a3
#InTheEnd
“It’s more fun to be a pirate than to join the navy.”
Steve Jobs © 1982
#Contact
Svolskiy Vladislav
Sapozhnikov Denis Thank You
Svolskiy Vladislav
Sapozhnikov Denis
The Heartbleed Bug
OpenSSL как вектор атаки

More Related Content

What's hot

Дмитрий Перлов openSUSE Build Server: tips & tricks кросс-дистрибутивной сб...
Дмитрий Перлов openSUSE Build Server: tips & tricks кросс-дистрибутивной   сб...Дмитрий Перлов openSUSE Build Server: tips & tricks кросс-дистрибутивной   сб...
Дмитрий Перлов openSUSE Build Server: tips & tricks кросс-дистрибутивной сб...Minsk Linux User Group
 
присяжный Root Conf2009 Beta 1
присяжный Root Conf2009 Beta 1присяжный Root Conf2009 Beta 1
присяжный Root Conf2009 Beta 1Liudmila Li
 
Погружение в Ethereum
Погружение в EthereumПогружение в Ethereum
Погружение в EthereumSergey Lonshakov
 
Что надо знать о HTTP/2 Frontend разработчику
Что надо знать о HTTP/2 Frontend разработчикуЧто надо знать о HTTP/2 Frontend разработчику
Что надо знать о HTTP/2 Frontend разработчикуАлександр Майоров
 
5 хэш функции
5 хэш функции5 хэш функции
5 хэш функцииDelaveur
 
Virtual-HSM: Virtualization of Hardware Security Modules in Linux Containers
Virtual-HSM: Virtualization of Hardware Security Modules in Linux ContainersVirtual-HSM: Virtualization of Hardware Security Modules in Linux Containers
Virtual-HSM: Virtualization of Hardware Security Modules in Linux ContainersOSLL
 
Web весна 2013 лекция 3
Web весна 2013 лекция 3Web весна 2013 лекция 3
Web весна 2013 лекция 3Technopark
 
Web осень 2012 лекция 3
Web осень 2012 лекция 3Web осень 2012 лекция 3
Web осень 2012 лекция 3Technopark
 

What's hot (11)

Веб-сервер
Веб-серверВеб-сервер
Веб-сервер
 
Дмитрий Перлов openSUSE Build Server: tips & tricks кросс-дистрибутивной сб...
Дмитрий Перлов openSUSE Build Server: tips & tricks кросс-дистрибутивной   сб...Дмитрий Перлов openSUSE Build Server: tips & tricks кросс-дистрибутивной   сб...
Дмитрий Перлов openSUSE Build Server: tips & tricks кросс-дистрибутивной сб...
 
присяжный Root Conf2009 Beta 1
присяжный Root Conf2009 Beta 1присяжный Root Conf2009 Beta 1
присяжный Root Conf2009 Beta 1
 
Спецификация WSGI (PEP-333)
Спецификация WSGI (PEP-333)Спецификация WSGI (PEP-333)
Спецификация WSGI (PEP-333)
 
Погружение в Ethereum
Погружение в EthereumПогружение в Ethereum
Погружение в Ethereum
 
Что надо знать о HTTP/2 Frontend разработчику
Что надо знать о HTTP/2 Frontend разработчикуЧто надо знать о HTTP/2 Frontend разработчику
Что надо знать о HTTP/2 Frontend разработчику
 
5 хэш функции
5 хэш функции5 хэш функции
5 хэш функции
 
Virtual-HSM: Virtualization of Hardware Security Modules in Linux Containers
Virtual-HSM: Virtualization of Hardware Security Modules in Linux ContainersVirtual-HSM: Virtualization of Hardware Security Modules in Linux Containers
Virtual-HSM: Virtualization of Hardware Security Modules in Linux Containers
 
Web весна 2013 лекция 3
Web весна 2013 лекция 3Web весна 2013 лекция 3
Web весна 2013 лекция 3
 
Web осень 2012 лекция 3
Web осень 2012 лекция 3Web осень 2012 лекция 3
Web осень 2012 лекция 3
 
Fedora Cryptoconsolidation
Fedora CryptoconsolidationFedora Cryptoconsolidation
Fedora Cryptoconsolidation
 

Viewers also liked

Геометрія навколо нас (9 клас)
Геометрія навколо нас (9 клас)Геометрія навколо нас (9 клас)
Геометрія навколо нас (9 клас)Olexandr Lazarets
 
Учительська презентація
Учительська презентаціяУчительська презентація
Учительська презентаціяsctok
 
Presentaciya uchitelya
Presentaciya uchitelyaPresentaciya uchitelya
Presentaciya uchitelya18vikvik18
 

Viewers also liked (6)

Геометрія навколо нас (9 клас)
Геометрія навколо нас (9 клас)Геометрія навколо нас (9 клас)
Геометрія навколо нас (9 клас)
 
Учительська презентація
Учительська презентаціяУчительська презентація
Учительська презентація
 
Istoriya
IstoriyaIstoriya
Istoriya
 
Vector
VectorVector
Vector
 
Presentaciya uchitelya
Presentaciya uchitelyaPresentaciya uchitelya
Presentaciya uchitelya
 
Vector2
Vector2Vector2
Vector2
 

Similar to «The Heartbleed Bug» или OpenSSL как вектор атаки.

SSL/TLS: история уязвимостей
SSL/TLS: история уязвимостейSSL/TLS: история уязвимостей
SSL/TLS: история уязвимостейPositive Hack Days
 
обеспечение информационной безопасности. I psec, ssl, web
обеспечение информационной безопасности. I psec, ssl, webобеспечение информационной безопасности. I psec, ssl, web
обеспечение информационной безопасности. I psec, ssl, webNataliya Sobaka
 
Positive Hack Days. Терешкин. "Злая горничная" атакует PGP
Positive Hack Days. Терешкин. "Злая горничная" атакует PGPPositive Hack Days. Терешкин. "Злая горничная" атакует PGP
Positive Hack Days. Терешкин. "Злая горничная" атакует PGPPositive Hack Days
 
современные средства криптографической поддержки электронного документооборота
современные средства криптографической поддержки электронного документооборотасовременные средства криптографической поддержки электронного документооборота
современные средства криптографической поддержки электронного документооборотаtrenders
 
File input/output in VHDL
File input/output in VHDLFile input/output in VHDL
File input/output in VHDLvitaliykulanov
 
Основные уязвимости и методы защиты оборудования и ПО видеоконференцсвязи
Основные уязвимости и методы защиты оборудования и ПО видеоконференцсвязиОсновные уязвимости и методы защиты оборудования и ПО видеоконференцсвязи
Основные уязвимости и методы защиты оборудования и ПО видеоконференцсвязиCisco Russia
 
Tyurin Alexey - NTLM. Part 1. Pass-the-Hash
Tyurin Alexey - NTLM. Part 1. Pass-the-HashTyurin Alexey - NTLM. Part 1. Pass-the-Hash
Tyurin Alexey - NTLM. Part 1. Pass-the-HashDefconRussia
 
TMPA-2013 Pakulin: Automation of Conformance Testing of TLS
TMPA-2013 Pakulin: Automation of Conformance Testing of TLSTMPA-2013 Pakulin: Automation of Conformance Testing of TLS
TMPA-2013 Pakulin: Automation of Conformance Testing of TLSIosif Itkin
 
Евгений Кутя - Информационная безопасность
Евгений Кутя - Информационная безопасностьЕвгений Кутя - Информационная безопасность
Евгений Кутя - Информационная безопасностьGAiN@ESD
 
Александр Крижановский, NatSys Lab
Александр Крижановский, NatSys LabАлександр Крижановский, NatSys Lab
Александр Крижановский, NatSys LabOntico
 
Антон Карпов - Обзорная лекция по безопасности
Антон Карпов - Обзорная лекция по безопасностиАнтон Карпов - Обзорная лекция по безопасности
Антон Карпов - Обзорная лекция по безопасностиYandex
 
Современные VPN-решения от компании «С-Терра СиЭсПи»: Что есть и что будет?
Современные VPN-решения от компании «С-Терра СиЭсПи»: Что есть и что будет?Современные VPN-решения от компании «С-Терра СиЭсПи»: Что есть и что будет?
Современные VPN-решения от компании «С-Терра СиЭсПи»: Что есть и что будет?S-Terra CSP
 
Конфидент. Мардыко Евгений. "Особенности проектов по ИБ. Взгляд российского р...
Конфидент. Мардыко Евгений. "Особенности проектов по ИБ. Взгляд российского р...Конфидент. Мардыко Евгений. "Особенности проектов по ИБ. Взгляд российского р...
Конфидент. Мардыко Евгений. "Особенности проектов по ИБ. Взгляд российского р...Expolink
 
Hakr 5 14-myjurnal.ru
Hakr 5 14-myjurnal.ruHakr 5 14-myjurnal.ru
Hakr 5 14-myjurnal.ruVasya Pupkin
 
Development of a plugin for VS Code that supports ACSL language.
Development of a plugin for VS Code that supports ACSL language.Development of a plugin for VS Code that supports ACSL language.
Development of a plugin for VS Code that supports ACSL language.Denis Zakharov
 
Web весна 2013 лекция 11
Web весна 2013 лекция 11Web весна 2013 лекция 11
Web весна 2013 лекция 11Technopark
 
Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...
Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...
Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...Vadim Kruchkov
 
Обзор новых функций Континент TLS VPN 1.0.9
Обзор новых функций Континент TLS VPN 1.0.9Обзор новых функций Континент TLS VPN 1.0.9
Обзор новых функций Континент TLS VPN 1.0.9Security Code Ltd.
 
Сетевое оборудование ETegro Technologies
Сетевое оборудование ETegro TechnologiesСетевое оборудование ETegro Technologies
Сетевое оборудование ETegro TechnologiesETegro Technologies
 

Similar to «The Heartbleed Bug» или OpenSSL как вектор атаки. (20)

SSL/TLS: история уязвимостей
SSL/TLS: история уязвимостейSSL/TLS: история уязвимостей
SSL/TLS: история уязвимостей
 
обеспечение информационной безопасности. I psec, ssl, web
обеспечение информационной безопасности. I psec, ssl, webобеспечение информационной безопасности. I psec, ssl, web
обеспечение информационной безопасности. I psec, ssl, web
 
Positive Hack Days. Терешкин. "Злая горничная" атакует PGP
Positive Hack Days. Терешкин. "Злая горничная" атакует PGPPositive Hack Days. Терешкин. "Злая горничная" атакует PGP
Positive Hack Days. Терешкин. "Злая горничная" атакует PGP
 
современные средства криптографической поддержки электронного документооборота
современные средства криптографической поддержки электронного документооборотасовременные средства криптографической поддержки электронного документооборота
современные средства криптографической поддержки электронного документооборота
 
File input/output in VHDL
File input/output in VHDLFile input/output in VHDL
File input/output in VHDL
 
Основные уязвимости и методы защиты оборудования и ПО видеоконференцсвязи
Основные уязвимости и методы защиты оборудования и ПО видеоконференцсвязиОсновные уязвимости и методы защиты оборудования и ПО видеоконференцсвязи
Основные уязвимости и методы защиты оборудования и ПО видеоконференцсвязи
 
Tyurin Alexey - NTLM. Part 1. Pass-the-Hash
Tyurin Alexey - NTLM. Part 1. Pass-the-HashTyurin Alexey - NTLM. Part 1. Pass-the-Hash
Tyurin Alexey - NTLM. Part 1. Pass-the-Hash
 
TMPA-2013 Pakulin: Automation of Conformance Testing of TLS
TMPA-2013 Pakulin: Automation of Conformance Testing of TLSTMPA-2013 Pakulin: Automation of Conformance Testing of TLS
TMPA-2013 Pakulin: Automation of Conformance Testing of TLS
 
Евгений Кутя - Информационная безопасность
Евгений Кутя - Информационная безопасностьЕвгений Кутя - Информационная безопасность
Евгений Кутя - Информационная безопасность
 
Александр Крижановский, NatSys Lab
Александр Крижановский, NatSys LabАлександр Крижановский, NatSys Lab
Александр Крижановский, NatSys Lab
 
Антон Карпов - Обзорная лекция по безопасности
Антон Карпов - Обзорная лекция по безопасностиАнтон Карпов - Обзорная лекция по безопасности
Антон Карпов - Обзорная лекция по безопасности
 
Современные VPN-решения от компании «С-Терра СиЭсПи»: Что есть и что будет?
Современные VPN-решения от компании «С-Терра СиЭсПи»: Что есть и что будет?Современные VPN-решения от компании «С-Терра СиЭсПи»: Что есть и что будет?
Современные VPN-решения от компании «С-Терра СиЭсПи»: Что есть и что будет?
 
Конфидент. Мардыко Евгений. "Особенности проектов по ИБ. Взгляд российского р...
Конфидент. Мардыко Евгений. "Особенности проектов по ИБ. Взгляд российского р...Конфидент. Мардыко Евгений. "Особенности проектов по ИБ. Взгляд российского р...
Конфидент. Мардыко Евгений. "Особенности проектов по ИБ. Взгляд российского р...
 
Hakr 5 14-myjurnal.ru
Hakr 5 14-myjurnal.ruHakr 5 14-myjurnal.ru
Hakr 5 14-myjurnal.ru
 
Development of a plugin for VS Code that supports ACSL language.
Development of a plugin for VS Code that supports ACSL language.Development of a plugin for VS Code that supports ACSL language.
Development of a plugin for VS Code that supports ACSL language.
 
Web весна 2013 лекция 11
Web весна 2013 лекция 11Web весна 2013 лекция 11
Web весна 2013 лекция 11
 
S-terra, держи марку!
S-terra, держи марку!S-terra, держи марку!
S-terra, держи марку!
 
Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...
Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...
Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...
 
Обзор новых функций Континент TLS VPN 1.0.9
Обзор новых функций Континент TLS VPN 1.0.9Обзор новых функций Континент TLS VPN 1.0.9
Обзор новых функций Континент TLS VPN 1.0.9
 
Сетевое оборудование ETegro Technologies
Сетевое оборудование ETegro TechnologiesСетевое оборудование ETegro Technologies
Сетевое оборудование ETegro Technologies
 

More from Oleg Lipin

Обзор протокола IPv6. Занятие второе.
Обзор протокола IPv6. Занятие второе.Обзор протокола IPv6. Занятие второе.
Обзор протокола IPv6. Занятие второе.Oleg Lipin
 
Обзор протокола IPv6. Занятие первое.
Обзор протокола IPv6. Занятие первое.Обзор протокола IPv6. Занятие первое.
Обзор протокола IPv6. Занятие первое.Oleg Lipin
 
Обзор протоколов динамической маршрутизации
Обзор протоколов динамической маршрутизацииОбзор протоколов динамической маршрутизации
Обзор протоколов динамической маршрутизацииOleg Lipin
 
Расчет масок переменной длины (VLSM). Статическая маршрутизация.
Расчет масок переменной длины (VLSM). Статическая маршрутизация.Расчет масок переменной длины (VLSM). Статическая маршрутизация.
Расчет масок переменной длины (VLSM). Статическая маршрутизация.Oleg Lipin
 
VDS: обнаружение, выявление причин и устранение проблемных ситуаций. Диагнос...
VDS: обнаружение, выявление причин и устранение проблемных ситуаций.  Диагнос...VDS: обнаружение, выявление причин и устранение проблемных ситуаций.  Диагнос...
VDS: обнаружение, выявление причин и устранение проблемных ситуаций. Диагнос...Oleg Lipin
 
IP адресация. Расчет масок и подсетей. Практика.
IP адресация. Расчет масок и подсетей. Практика.IP адресация. Расчет масок и подсетей. Практика.
IP адресация. Расчет масок и подсетей. Практика.Oleg Lipin
 
Беспроводные локальные сети.
Беспроводные локальные сети.Беспроводные локальные сети.
Беспроводные локальные сети.Oleg Lipin
 
IP адресация, маски и подсети.
IP адресация, маски и подсети.IP адресация, маски и подсети.
IP адресация, маски и подсети.Oleg Lipin
 
Работа с коммутаторами Cisco. Конфигурирование Ethernet коммутаторов.
Работа с коммутаторами Cisco. Конфигурирование Ethernet коммутаторов.Работа с коммутаторами Cisco. Конфигурирование Ethernet коммутаторов.
Работа с коммутаторами Cisco. Конфигурирование Ethernet коммутаторов.Oleg Lipin
 
Топологии сетей. Базовые концепции ethernet коммутации.
Топологии сетей. Базовые концепции ethernet коммутации.Топологии сетей. Базовые концепции ethernet коммутации.
Топологии сетей. Базовые концепции ethernet коммутации.Oleg Lipin
 
Среды передачи данных. Коаксиал, оптика, витая пара.
Среды передачи данных. Коаксиал, оптика, витая пара.Среды передачи данных. Коаксиал, оптика, витая пара.
Среды передачи данных. Коаксиал, оптика, витая пара.Oleg Lipin
 
Основы IP-адресации и маршрутизации. Основы протокола TCP/IP.
Основы IP-адресации и маршрутизации. Основы протокола TCP/IP.Основы IP-адресации и маршрутизации. Основы протокола TCP/IP.
Основы IP-адресации и маршрутизации. Основы протокола TCP/IP.Oleg Lipin
 
Основый LAN и WAN сетей
Основый LAN и WAN сетейОсновый LAN и WAN сетей
Основый LAN и WAN сетейOleg Lipin
 
История интернета
История интернетаИстория интернета
История интернетаOleg Lipin
 
Организация хранения данных
Организация хранения данныхОрганизация хранения данных
Организация хранения данныхOleg Lipin
 

More from Oleg Lipin (15)

Обзор протокола IPv6. Занятие второе.
Обзор протокола IPv6. Занятие второе.Обзор протокола IPv6. Занятие второе.
Обзор протокола IPv6. Занятие второе.
 
Обзор протокола IPv6. Занятие первое.
Обзор протокола IPv6. Занятие первое.Обзор протокола IPv6. Занятие первое.
Обзор протокола IPv6. Занятие первое.
 
Обзор протоколов динамической маршрутизации
Обзор протоколов динамической маршрутизацииОбзор протоколов динамической маршрутизации
Обзор протоколов динамической маршрутизации
 
Расчет масок переменной длины (VLSM). Статическая маршрутизация.
Расчет масок переменной длины (VLSM). Статическая маршрутизация.Расчет масок переменной длины (VLSM). Статическая маршрутизация.
Расчет масок переменной длины (VLSM). Статическая маршрутизация.
 
VDS: обнаружение, выявление причин и устранение проблемных ситуаций. Диагнос...
VDS: обнаружение, выявление причин и устранение проблемных ситуаций.  Диагнос...VDS: обнаружение, выявление причин и устранение проблемных ситуаций.  Диагнос...
VDS: обнаружение, выявление причин и устранение проблемных ситуаций. Диагнос...
 
IP адресация. Расчет масок и подсетей. Практика.
IP адресация. Расчет масок и подсетей. Практика.IP адресация. Расчет масок и подсетей. Практика.
IP адресация. Расчет масок и подсетей. Практика.
 
Беспроводные локальные сети.
Беспроводные локальные сети.Беспроводные локальные сети.
Беспроводные локальные сети.
 
IP адресация, маски и подсети.
IP адресация, маски и подсети.IP адресация, маски и подсети.
IP адресация, маски и подсети.
 
Работа с коммутаторами Cisco. Конфигурирование Ethernet коммутаторов.
Работа с коммутаторами Cisco. Конфигурирование Ethernet коммутаторов.Работа с коммутаторами Cisco. Конфигурирование Ethernet коммутаторов.
Работа с коммутаторами Cisco. Конфигурирование Ethernet коммутаторов.
 
Топологии сетей. Базовые концепции ethernet коммутации.
Топологии сетей. Базовые концепции ethernet коммутации.Топологии сетей. Базовые концепции ethernet коммутации.
Топологии сетей. Базовые концепции ethernet коммутации.
 
Среды передачи данных. Коаксиал, оптика, витая пара.
Среды передачи данных. Коаксиал, оптика, витая пара.Среды передачи данных. Коаксиал, оптика, витая пара.
Среды передачи данных. Коаксиал, оптика, витая пара.
 
Основы IP-адресации и маршрутизации. Основы протокола TCP/IP.
Основы IP-адресации и маршрутизации. Основы протокола TCP/IP.Основы IP-адресации и маршрутизации. Основы протокола TCP/IP.
Основы IP-адресации и маршрутизации. Основы протокола TCP/IP.
 
Основый LAN и WAN сетей
Основый LAN и WAN сетейОсновый LAN и WAN сетей
Основый LAN и WAN сетей
 
История интернета
История интернетаИстория интернета
История интернета
 
Организация хранения данных
Организация хранения данныхОрганизация хранения данных
Организация хранения данных
 

«The Heartbleed Bug» или OpenSSL как вектор атаки.

  • 1. Svolskiy Vladislav Sapozhnikov Denis The Heartbleed Bug OpenSSL как вектор атаки
  • 2. #Intro OpenSSL — криптографический пакет с открытым исходным кодом для работы с SSL/TLS. Позволяет создавать ключи RSA, DH, DSA и сертификаты X.509, подписывать их, формировать. Также имеется возможность шифрования данных и тестирования SSL/TLS соединений 08.04.2014 сотрудники The OpenSSL Project выпустили бюллетень безопасности с сообщением о критической уязвимости CVE-2014- 0160 в популярной криптографической библиотеке OpenSSL (1.0.1 и 1.0.2-beta).
  • 3. #Intro Уязвимость связана с отсутствием необходимой проверки границ в одной из процедур расширения Heartbeat (RFC6520) для протокола TLS/DTLS. Из-за маленькой ошибки кто угодно может получить доступ к оперативной памяти компьютеров, чьи коммуникации «защищены» уязвимой версией OpenSSL. В том числе, злоумышленник получает доступ к секретным ключам, именам и паролям пользователей и всему контенту, который должен передаваться в зашифрованном виде. При этом не остается никаких следов проникновения в систему.
  • 4. #Intro  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)
  • 5. Разбор уязвимости Исправление начинается здесь int dtls1_process_heartbeat(SSL *s) { unsigned char *p = &s->s3->rrec.data[0], *pl; unsigned short hbtype; unsigned int payload; unsigned int padding = 16; /* Use minimum padding */
  • 6. Разбор уязвимости typedef struct ssl3_record_st { int type; /* type of record */ unsigned int length; /* How many bytes available */ unsigned int off; /* read/write offset into 'buf' */ unsigned char *data; /* pointer to the record data */ unsigned char *input; /* where the decode bytes are */ unsigned char *comp; /* only used with decompression - malloc()ed */ unsigned long epoch; /* epoch number, needed by DTLS1 */ unsigned char seq_num[8]; /* sequence number, needed by DTLS1 */ } SSL3_RECORD; Структура, описывающая записи; содержит тип, длину и данные
  • 7. Разбор уязвимости /* Read type and payload length first */ hbtype = *p++; n2s(p, payload); pl = p; dtls1_process_heartbea t
  • 8. Разбор уязвимости unsigned char *buffer, *bp; int r; buffer = OPENSSL_malloc(1 + 2 + payload + padding); bp = buffer; Magic
  • 9. Разбор уязвимости /* Enter response type, length and copy payload */ *bp++ = TLS1_HB_RESPONSE; s2n(payload, bp); memcpy(bp, pl, payload); Magic
  • 11. >Варианты защиты  Обновление OpenSSL до безопасной версии  Перекомпилляция с флагом - DOPENSSL_NO_HEARTBEATS  Аналог OpenSSL
  • 12. >Варианты защиты Обновление Debian, Ubuntu: # aptitude update # aptitude -VR full-upgrade # service nginx restart # service apache2 restart # lsof -n | grep -iE 'del.*(libssl.so|libcrypto.so)' или # checkrestart # dpkg -l | grep -i openssl # aptitude changelog openssl
  • 13. >Варианты защиты Обновление CentOS, RedHat, Fedora # yum update # service nginx restart # service httpd restart # lsof -n | grep -iE 'del.*(libssl.so|libcrypto.so)')' или # needs-restarting # yum list openssl # rpm -q --changelog openssl
  • 14. >Варианты защиты Обновление FreeBSD # freebsd-update fetch # freebsd-update install # service nginx restart # service apache22 restart # freebsd-version
  • 16. #Links Веб-сервисы: — filippo.io/Heartbleed/ — www.ssllabs.com/ssltest/ — rehmann.co/projects/heartbeat/ — possible.lv/tools/hb/ Обратный Heartbleed: blog.meldium.com/home/2014/4/10/testing-for- reverse-heartbleed Тест для клиента: reverseheartbleed.com Скрипт на Python: gist.github.com/sh1n0b1/10100394, gist.github.com/mitsuhiko/10130454 Скрипт на Go: github.com/titanous/heartbleeder Скрипт на Си: github.com/robertdavidgraham/heartleech Статистика по сайтам: gist.github.com/dberkholz/10169691 Библиотека LibSSL: www.openbsd.org/cgi-bin/cvsweb/src/lib/libssl/src/ssl/ Подробный разбор CVE-2014-0160 (ручной патч): http://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=96db9023b881d 7cd9f379b0c154650d6c108e9a3
  • 17. #InTheEnd “It’s more fun to be a pirate than to join the navy.” Steve Jobs © 1982
  • 19. Svolskiy Vladislav Sapozhnikov Denis The Heartbleed Bug OpenSSL как вектор атаки