DH шифрларына негізделген қосылымдар үшін кілтті анықтауға мүмкіндік беретін TLS осалдығы

Ашылды жаңа туралы ақпарат осалдықтар (CVE-2020-1968) TLS хаттамасында код атауы бар
Ракон және сирек жағдайларда транзиттік трафикті (MITM) ұстап алу кезінде HTTPS қоса, TLS қосылымдарының шифрын ашу үшін пайдаланылуы мүмкін алдын ала бастапқы кілтті (алдын ала негізгі) анықтауға мүмкіндік береді. Шабуыл практикалық жүзеге асыру үшін өте қиын және теориялық сипатқа ие екендігі атап өтілді. Шабуыл жасау үшін TLS серверінің арнайы конфигурациясы және серверді өңдеу уақытын өте дәл өлшеу мүмкіндігі қажет.

Мәселе тікелей TLS спецификациясында бар және тек DH кілт алмасу протоколына негізделген шифрларды пайдаланатын қосылымдарға әсер етеді (Diffie-Hellman, TLS_DH_*"). ECDH шифрларымен мәселе туындамайды және олар қауіпсіз болып қалады. 1.2 нұсқасына дейінгі TLS протоколдары ғана осал; TLS 1.3 мәселеге әсер етпейді. Осалдық әртүрлі TLS қосылымдары арқылы DH құпия кілтін қайта пайдаланатын TLS іске асыруларында орын алады (бұл әрекет Alexa Top 4.4M серверлерінің шамамен 1%-ында орын алады).

OpenSSL 1.0.2e және одан бұрынғы шығарылымдарда SSL_OP_SINGLE_DH_USE опциясы анық орнатылмаса, DH негізгі кілті барлық сервер қосылымдарында қайта пайдаланылады. OpenSSL 1.0.2f нұсқасынан бастап DH бастапқы кілті статикалық DH шифрларын («DH-*», мысалы, «DH-RSA-AES256-SHA») пайдаланған кезде ғана қайта пайдаланылады. Осалдық OpenSSL 1.1.1 нұсқасында пайда болмайды, өйткені бұл бөлім DH бастапқы кілтін пайдаланбайды және статикалық DH шифрларын пайдаланбайды.

DH кілттерін алмасу әдісін пайдаланған кезде қосылымның екі жағы кездейсоқ жеке кілттерді (бұдан әрі «a» кілті және «b» кілті) жасайды, олардың негізінде ашық кілттер (ga mod p және gb mod p) есептеледі және жіберіледі. Әрбір тарап ашық кілттерді алғаннан кейін сеанс кілттерін жасау үшін пайдаланылатын жалпы бастапқы кілт (gab mod p) есептеледі. Raccoon шабуылы TLS спецификациялары 1.2 нұсқасына дейінгі бастапқы кілттің барлық жетекші нөлдік байттарын оған қатысты есептеулер алдында алып тастауды талап ететініне негізделген, бүйірлік арна талдауы арқылы бастапқы кілтті анықтауға мүмкіндік береді.

Соның ішінде қысқартылған бастапқы кілт әртүрлі деректерді өңдеу кезінде әртүрлі кідірістері бар хэш функцияларына негізделген сеанс кілтін генерациялау функциясына беріледі. Сервер орындайтын негізгі әрекеттердің уақытын дәл өлшеу шабуылдаушыға бастапқы кілттің нөлден басталатынын немесе басталмағанын анықтауға мүмкіндік беретін анықтамаларды (oracle) анықтауға мүмкіндік береді. Мысалы, шабуылдаушы клиент жіберген ашық кілтті (ga) ұстап алып, оны серверге қайта жіберіп, анықтай алады.
алынған бастапқы кілт нөлден басталады ма.

Кілттің бір байтын анықтау өздігінен ештеңе бермейді, бірақ қосылу келіссөздері кезінде клиент жіберген «ga» мәнін ұстап алу арқылы шабуылдаушы «ga» -мен байланысты басқа мәндер жинағын жасап, оларды жібере алады. серверді бөлек қосылым келіссөздерінде. «gri*ga» мәндерін жасау және жіберу арқылы шабуылдаушы сервер жауапындағы кідірістердің өзгерістерін талдау арқылы нөлден бастап бастапқы кілттерді алуға әкелетін мәндерді анықтай алады. Осындай мәндерді анықтай отырып, шабуылдаушы теңдеулер жинағын жасай алады шешімдер жасырын сан мәселелері және бастапқы бастапқы кілтті есептеңіз.

DH шифрларына негізделген қосылымдар үшін кілтті анықтауға мүмкіндік беретін TLS осалдығы

OpenSSL осалдықтары тағайындалды қауіптіліктің төмен деңгейі және түзету 1.0.2w шығарылымындағы «TLS_DH_*» проблемалық шифрларын әдепкі бойынша өшірілген қорғаныс деңгейі жеткіліксіз («әлсіз-ssl-шифрлар») шифрлар санатына ауыстыруға дейін қысқартылды. . Mozilla әзірлеушілері дәл осылай жасады, өшірілген Firefox-та қолданылатын NSS кітапханасында, DH және DHE шифрлар жинағы. Firefox 78 нұсқасы бойынша проблемалық шифрлар өшірілген. DH үшін Chrome қолдауы 2016 жылы тоқтатылды. BearSSL, BoringSSL, Botan, Mbed TLS және s2n кітапханаларына мәселе әсер етпейді, себебі олар DH шифрларын немесе DH шифрларының статикалық нұсқаларын қолдамайды.

Қосымша мәселелер бөлек белгіленеді (CVE-2020-5929) F5 BIG-IP құрылғыларының TLS стекінде шабуылды шынайырақ етеді. Атап айтқанда, бастапқы кілттің басында нөлдік байт болған кезде құрылғылардың мінез-құлқындағы ауытқулар анықталды, олар есептеулердің нақты кешігуін өлшеудің орнына қолдануға болады.

Ақпарат көзі: opennet.ru

пікір қалдыру