...

среда, 9 апреля 2014 г.

Справочник по уязвимости OpenSSL Heartbleed

Что может узнать атакующий




Приватный ключ TLS сервера, приватный ключ TLS клиента (если клиент уязвим), cookies, логины, пароли и любые другие данные, которыми обменивается сервер и его клиенты. При этом не нужно прослушивать канал связи, достаточно послать специально сформированный пакет, и это нельзя обнаружить в логах сервера.

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



Как протестировать уязвимость




Веб-сервисы: http://ift.tt/1kkYl58, http://ift.tt/PP7kxJ, http://ift.tt/1egHnT3

Скрипт на Python: http://ift.tt/Q29mu0, http://ift.tt/Q29oCp

Скрипт на Go: http://ift.tt/1mYlGGR

Какие системы подвержены уязвимости




— Уязвимы OpenSSL 1.0.1 — 1.0.1f, 1.0.2-beta1, уязвимость исправлена в OpenSSL 1.0.1g и 1.0.2-beta2 (secadv).

— OpenVPN, в том числе и под Windows — исправлено в версии I004 (загрузка)

— Amazon (security-bulletins)

— Любые программы, статически слинкованные с уязвимой версией OpenSSH.

— Debian Wheezy (stable) — исправлено в OpenSSL 1.0.1e-2+deb7u4 (security)

— Ubuntu 12.04.4 LTS — исправлено в OpenSSL 1.0.1-4ubuntu5.12 (USN)

— CentOS 6.5 — исправлено в openssl-1.0.1e-16.el6_5.7 (centos-announce)

— Redhat 6.5 — исправлено в openssl-1.0.1e-16.el6_5.7 (solutions, errata, bugzilla)

— Fedora 19 и 20 — исправлено в openssl-1.0.1e-37 (announce)

— Gentoo — исправлено в openssl-1.0.1g (GLSA)

— Slackware 14.0 и 14.1 — исправлено в openssl-1.0.1g (slackware-security)

— OpenSUSE 12.3 и 13.1 — исправлено в openssl-1.0.1e (opensuse-security-announce)

— FreeBSD 10.0 — исправлено в 10.0-RELEASE-p1 (advisories)

— OpenBSD 5.3 и 5.4 (patch)

— NetBSD 5.0.2


Что не подвержено уязвимости




— Windows (нет OpenSSL), MacOS (старая версия OpenSSL), Firefox (по умолчанию использует NSS), Chrome/Chromium (по умолчанию использует NSS), Android (отключен heartbeat).

— Корневые и промежуточные сертификаты, которыми подписаны ключи TLS сервера (приватные ключи от них отсутствуют на сервере)

— OpenSSH (использует OpenSSL только для генерации ключей)

— OpenVPN, если использует статические ключи (не x509) или если использует в конфиге ключ вида «tls-auth ta.key 1»

— Метод распространения обновлений Unix-like ОС (чаще всего используется GnuPG для подписи).

Как обновить систему




Debian, Ubuntu


# aptitude update
# aptitude -VR full-upgrade




После этого полностью перезапустить сервисы, которые используют TLS (обычно это Nginx, Apache, Postfix, Dovecot, OpenVPN), например:

# service nginx restart
# service apache2 restart




Полный список сервисов, которые нуждаются в перезапуске и могут быть уязвимы:

# lsof -n | grep -iE 'del.*(libssl\.so|libcrypto\.so)'
или
# checkrestart




Если не уверены, лучше полностью перезагрузить сервер.

Проверка версии:

# dpkg -l | grep -i openssl


CentOS, RedHat, Fedora


# yum update




После этого полностью перезапустить сервисы, которые используют TLS (обычно это Nginx, Apache, Postfix, Dovecot, OpenVPN), например:

# service nginx restart
# service httpd restart




Полный список сервисов, которые нуждаются в перезапуске и могут быть уязвимы:

# lsof -n | grep -iE 'del.*(libssl\.so|libcrypto\.so)'
или
# needs-restarting




Если не уверены, лучше полностью перезагрузить сервер.

Проверка версии:

# yum list openssl


FreeBSD


# freebsd-update fetch
# freebsd-update install




После этого полностью перезапустить сервисы, которые используют TLS (обычно это Nginx, Apache, Postfix, Dovecot, OpenVPN), например:

# service nginx restart
# service apache22 restart




Если не уверены, лучше полностью перезагрузить сервер.

Проверка версии:

# freebsd-version


Отзыв TLS ключей




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

На будущее




— Нужно убедиться, что браузер проверяет, не отозван ли сертификат сайта, который он посещает.

Firefox по умолчанию проверяет OSCP с версии 3, Safari проверяет по умолчанию с версии Mac OS X 10.7 (Lion), Chrome не проверяет по умолчанию (в настройках раздел HTTPS/SSL), Internet Explorer и Opera поддерживают, но тоже не проверяют по умолчанию.

— На сервере желательно включить Perfect forward secrecy (PFC). При этом даже при компрометации приватного ключа злоумышленник не сможет расшифровать прошлый или будущий подслушанный трафик. Для этого нужно включить Elliptic curve Diffie–Hellman (ECDH). Протестировать можно здесь: http://ift.tt/1egHnT3


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.


Комментариев нет:

Отправить комментарий