TLS ievainojamība, kas ļauj noteikt savienojumu atslēgas, pamatojoties uz DH šifriem

Atklāts informācija par jauno ievainojamības (CVE-2020-1968) TLS protokolā ar koda nosaukumu
Jenots un retos gadījumos ļaujot noteikt provizorisku primāro atslēgu (pirms galveno), ko var izmantot, lai atšifrētu TLS savienojumus, tostarp HTTPS, pārtverot tranzīta trafiku (MITM). Tiek atzīmēts, ka uzbrukums ir ļoti sarežģīts praktiskai īstenošanai un ir vairāk teorētisks. Lai veiktu uzbrukumu, ir nepieciešama specifiska TLS servera konfigurācija un iespēja ļoti precīzi izmērīt servera apstrādes laiku.

Problēma ir tieši sastopama TLS specifikācijā un ietekmē tikai savienojumus, kas izmanto šifrus, kuru pamatā ir DH atslēgu apmaiņas protokols (Diffie-Hellman, TLS_DH_*"). Ar ECDH šifriem problēma nerodas, un tie paliek droši. Tikai TLS protokoli līdz versijai 1.2 ir neaizsargāti; TLS 1.3 problēma neietekmē. Ievainojamība rodas TLS ieviešanā, kas atkārtoti izmanto DH slepeno atslēgu dažādos TLS savienojumos (šāda darbība notiek aptuveni 4.4% Alexa Top 1M serveru).

OpenSSL 1.0.2e un vecākos laidienos DH primārā atslēga tiek atkārtoti izmantota visos servera savienojumos, ja vien nav skaidri iestatīta opcija SSL_OP_SINGLE_DH_USE. Kopš OpenSSL 1.0.2f DH primārā atslēga tiek atkārtoti izmantota tikai tad, ja tiek izmantoti statiskie DH šifri ("DH-*", piemēram, "DH-RSA-AES256-SHA"). Ievainojamība neparādās OpenSSL 1.1.1, jo šajā atzarā netiek izmantota DH primārā atslēga un netiek izmantoti statiskie DH šifri.

Izmantojot DH atslēgu apmaiņas metodi, abas savienojuma puses ģenerē nejaušas privātās atslēgas (turpmāk atslēga “a” un atslēga “b”), uz kuru pamata tiek aprēķinātas un nosūtītas publiskās atslēgas (ga mod p un gb mod p). Pēc tam, kad katra puse saņem publiskās atslēgas, tiek aprēķināta kopējā primārā atslēga (gab mod p), ko izmanto sesijas atslēgu ģenerēšanai. Raccoon uzbrukums ļauj noteikt primāro atslēgu, izmantojot sānu kanālu analīzi, pamatojoties uz faktu, ka TLS specifikācijas līdz pat versijai 1.2 pieprasa, lai visi primārās atslēgas galvenie nullbaiti ir jāatmet pirms aprēķiniem, kas ietver to.

Ieskaitot saīsināto primāro atslēgu, tā tiek nodota sesijas atslēgas ģenerēšanas funkcijai, kuras pamatā ir jaucējfunkcijas ar dažādu aizkavi, apstrādājot dažādus datus. Precīza servera veikto atslēgu darbību laika mērīšana ļauj uzbrucējam noteikt norādes (Oracle), kas ļauj spriest, vai primārā atslēga sākas no nulles vai nē. Piemēram, uzbrucējs var pārtvert klienta nosūtīto publisko atslēgu (ga), atkārtoti pārsūtīt to uz serveri un noteikt
vai iegūtā primārā atslēga sākas no nulles.

Viena atslēgas baita definēšana pati par sevi neko nedod, taču, pārtverot savienojuma sarunu laikā klienta pārsūtīto “ga” vērtību, uzbrucējs var ģenerēt citu ar “ga” saistītu vērtību kopu un nosūtīt tās uz serveri atsevišķās savienojuma sarunu sesijās. Ģenerējot un nosūtot “gri*ga” vērtības, uzbrucējs, analizējot izmaiņas servera atbildes aizkavē, var noteikt vērtības, kuru rezultātā tiek saņemtas primārās atslēgas, sākot no nulles. Pēc šādu vērtību noteikšanas uzbrucējs var izveidot vienādojumu kopu risinājumi slēptās skaitļu problēmas un aprēķināt sākotnējo primāro atslēgu.

TLS ievainojamība, kas ļauj noteikt savienojumu atslēgas, pamatojoties uz DH šifriem

OpenSSL ievainojamības piešķirts zems bīstamības līmenis, un labojums tika samazināts līdz problemātisko šifru “TLS_DH_*” 1.0.2w laidiena pārvietošanai uz kategoriju šifriem ar nepietiekamu aizsardzības līmeni (“weak-ssl-ciphers”), kas pēc noklusējuma ir atspējota. . Mozilla izstrādātāji darīja to pašu, izslēgts NSS bibliotēkā, ko izmanto pārlūkprogrammā Firefox, DH un DHE šifru komplektos. Sākot ar Firefox 78, problemātiskie šifri ir atspējoti. Chrome atbalsts DH tika pārtraukts 2016. gadā. Bibliotēkas BearSSL, BoringSSL, Botan, Mbed TLS un s2n problēma neietekmē, jo tās neatbalsta DH šifrus vai statiskus DH šifru variantus.

Papildu problēmas ir norādītas atsevišķi (CVE-2020-5929) F5 BIG-IP ierīču TLS kaudzē, padarot uzbrukumu reālistiskāku. Jo īpaši ir identificētas novirzes ierīču darbībā nulles baita klātbūtnē primārās atslēgas sākumā, ko var izmantot, nevis mērīt precīzu aprēķinu latentumu.

Avots: opennet.ru

Pievieno komentāru