Ранливост во TLS што овозможува одредување на клучот за врски врз основа на DH шифри

Откриено информации за новите ранливости (CVE-2020-1968) во протоколот TLS, со кодно име
Ракун и овозможува, во ретки околности, да се одреди прелиминарен примарен клуч (пред-мастер), кој може да се користи за дешифрирање на TLS врски, вклучително и HTTPS, при пресретнување на транзитен сообраќај (MITM). Забележано е дека нападот е многу тежок за практична имплементација и е повеќе од теоретска природа. За да се изврши напад, потребна е специфична конфигурација на серверот TLS и можност за многу прецизно мерење на времето за обработка на серверот.

Проблемот е присутен директно во спецификацијата TLS и влијае само на врските кои користат шифри засновани на протоколот за размена на клучеви DH (Diffie-Hellman, TLS_DH_*"). Со ECDH шифрите проблемот не се јавува и тие остануваат безбедни. Само протоколите TLS до верзијата 1.2 се ранливи; TLS 1.3 не е засегнат од проблемот. Ранливоста се јавува во имплементациите на TLS кои повторно го користат тајниот клуч DH преку различни TLS врски (ова однесување се јавува на приближно 4.4% од серверите Alexa Top 1M).

Во OpenSSL 1.0.2e и претходните изданија, примарниот клуч DH повторно се користи во сите серверски врски, освен ако опцијата SSL_OP_SINGLE_DH_USE не е експлицитно поставена. Од OpenSSL 1.0.2f, примарниот клуч DH повторно се користи само кога се користат статични DH шифри („DH-*“, на пр. „DH-RSA-AES256-SHA“). Ранливоста не се појавува во OpenSSL 1.1.1, бидејќи оваа гранка не користи примарен клуч DH и не користи статични DH шифри.

При користење на методот за размена на клучеви DH, двете страни на врската генерираат случајни приватни клучеви (во натамошниот текст клучот „а“ и клучот „б“), врз основа на кои се пресметуваат и испраќаат јавните клучеви (ga mod p и gb mod p). Откако секоја страна ќе ги добие јавните клучеви, се пресметува заеднички примарен клуч (gab mod p), кој се користи за генерирање на клучеви за сесија. Нападот Raccoon ви овозможува да го одредите примарниот клуч преку анализа на страничниот канал, врз основа на фактот дека спецификациите на TLS до верзијата 1.2 бараат сите водечки нула бајти на примарниот клуч да бидат отфрлени пред пресметките што го вклучуваат.

Вклучувајќи го скратениот примарен клуч се пренесува на функцијата за генерирање на клучот за сесија, која се заснова на хаш функции со различни доцнења при обработка на различни податоци. Прецизното мерење на тајмингот на клучните операции извршени од серверот му овозможува на напаѓачот да одреди индиции (оракл) кои овозможуваат да се процени дали примарниот клуч започнува од нула или не. На пример, напаѓачот може да го пресретне јавниот клуч (ga) испратен од клиентот, повторно да го пренесе на серверот и да утврди
дали добиениот примарен клуч започнува од нула.

Само по себе, дефинирањето на еден бајт од клучот не дава ништо, но со пресретнување на вредноста „ga“ што ја пренесува клиентот за време на преговорите за поврзување, напаѓачот може да генерира збир на други вредности поврзани со „ga“ и да ги испрати до серверот во посебни сесии за преговори за поврзување. Со генерирање и испраќање вредности „gri*ga“, напаѓачот може, преку анализа на промените во доцнењата во одговорот на серверот, да ги одреди вредностите што доведуваат до примање примарни клучеви почнувајќи од нула. Откако ќе ги одреди таквите вредности, напаѓачот може да создаде збир на равенки за решенија проблеми со скриен број и пресметајте го оригиналниот примарен клуч.

Ранливост во TLS што овозможува одредување на клучот за врски врз основа на DH шифри

Пропусти на OpenSSL доделени ниско ниво на опасност, а поправката беше сведена на преместување на проблематичните шифри „TLS_DH_*“ во издание 1.0.2w во категоријата шифри со недоволно ниво на заштита („слаби-ssl-шифри“), што е стандардно оневозможено . Програмерите на Mozilla го направија истото, исклучено во NSS библиотеката што се користи во Firefox, пакетите со шифри DH и DHE. Од Firefox 78, проблематичните шифри се оневозможени. Поддршката на Chrome за DH беше прекината во 2016 година. Библиотеките BearSSL, BoringSSL, Botan, Mbed TLS и s2n не се засегнати од проблемот бидејќи не поддржуваат DH шифри или статични варијанти на DH шифри.

Дополнителни проблеми се забележани посебно (CVE-2020-5929) во оџакот TLS на F5 BIG-IP уреди, што го прави нападот пореален. Конкретно, идентификувани се отстапувања во однесувањето на уредите во присуство на нула бајт на почетокот на примарниот клуч, кој може да се користи наместо да се мери точната латентност на пресметките.

Извор: opennet.ru

Додадете коментар