Masalahna aya langsung dina spésifikasi TLS sareng ngan mangaruhan sambungan nganggo ciphers dumasar kana protokol bursa konci DH (Diffie-Hellman, TLS_DH_*"). Kalawan ciphers ECDH masalah teu lumangsung sarta aranjeunna tetep aman. Ngan protokol TLS nepi ka versi 1.2 anu rentan; TLS 1.3 henteu kapangaruhan ku masalah. Kerentanan lumangsung dina palaksanaan TLS anu ngagunakeun deui konci rusiah DH dina sambungan TLS anu béda (kalakuan ieu lumangsung dina sakitar 4.4% tina server 1M Top Alexa).
Dina OpenSSL 1.0.2e sareng rilis sateuacana, konci primér DH dianggo deui dina sadaya sambungan server kecuali pilihan SSL_OP_SINGLE_DH_USE disetél sacara eksplisit. Kusabab OpenSSL 1.0.2f, konci primér DH ngan dipaké deui nalika maké cipher DH statik ("DH-*", misalna "DH-RSA-AES256-SHA"). Kerentanan henteu muncul dina OpenSSL 1.1.1, sabab cabang ieu henteu nganggo konci primér DH sareng henteu nganggo cipher DH statik.
Lamun ngagunakeun métode bursa konci DH, kadua sisi sambungan ngahasilkeun konci swasta acak (hereinafter konci "a" jeung konci "b"), dumasar kana nu kenop publik (ga Emod p sarta gb Emod p) diitung sarta dikirim. Saatos masing-masing pihak nampi konci umum, diitung konci primér umum (gab mod p), anu dianggo pikeun ngahasilkeun konci sési. Serangan Raccoon ngidinan Anjeun pikeun nangtukeun konci primér ngaliwatan analisis saluran samping, dumasar kana kanyataan yén spésifikasi TLS nepi ka versi 1.2 merlukeun yén sakabéh bait null ngarah tina konci primér dipiceun saméméh itungan ngalibetkeun eta.
Kaasup konci primér truncated disalurkeun kana fungsi generasi konci sési, nu dumasar kana fungsi hash kalawan reureuh béda nalika ngolah data béda. Ngukur sacara akurat waktos operasi konci anu dilakukeun ku server ngamungkinkeun panyerang pikeun nangtukeun petunjuk (oracle) anu ngamungkinkeun pikeun nangtoskeun naha konci primér dimimitian ti mimiti atanapi henteu. Salaku conto, panyerang tiasa nyegat konci umum (ga) anu dikirim ku klien, ngirimkeun deui ka server sareng nangtukeun.
naha konci primér anu dihasilkeun dimimitian ti enol.
Ku sorangan, nangtukeun hiji bait konci teu masihan nanaon, tapi ku intercepting nilai "ga" dikirimkeun ku klien salila negosiasi sambungan, lawan bisa ngahasilkeun sakumpulan nilai sejenna pakait sareng "ga" na dikirim ka server dina sési rundingan sambungan misah. Ku ngahasilkeun sareng ngirim nilai "gri * ga", panyerang tiasa, ku nganalisa parobahan telat dina réspon server, nangtukeun nilai anu nuju nampi konci primér mimitian ti nol. Saatos nangtukeun nilai-nilai sapertos kitu, panyerang tiasa nyiptakeun sakumpulan persamaan pikeun
Kerentanan OpenSSL
Masalah tambahan dicatet sacara misah (
sumber: opennet.ru