neprihlásený Nedeľa, 24. novembra 2024, dnes má meniny Emília
Oslabenie šifrovania USA príčinou už tretej zraniteľnosti v SSL, šifrovaný prenos nie je bezpečný

Značky: SSL / TLSbezpečnosťUSA

DSL.sk, 4.3.2016


V protokole SSL / TLS používanom na ochranu prenášaných dát ich zašifrovaním napríklad pri prístupe k zabezpečeným HTTPS stránkam bola v krátkom čase objavená už tretia vážna bezpečnostná zraniteľnosť, ktorú spôsobuje respektíve umožňuje snaha USA z konca minulého storočia obmedziť silu šifier dostupnú mimo USA.

Útok DROWN

Najnovšia zraniteľnosť zneužívaná útokom označeným DROWN, Decrypting RSA with Obsolete and Weakened eNcryption, umožňuje tentokrát pasívnemu útočníkovi, schopnému iba odpočúvať dátovú prevádzku užívateľa a nie ju modifikovať, aby po odpočutí šifrovanej komunikácie užívateľa dokázal túto odšifrovať. Predpokladom útoku tak tentokrát nie je schopnosť útočníka realizovať MITM útok.

Internetové klienty ako webové prehliadače a servery ako napríklad webové servery pri šifrovanej komunikácii v súčasnosti využívajú bežne protokol TLS, ktorý je dostupný v najnovšej verzii 1.2. V tomto priamo sa zraniteľnosť nenachádza, útok DROWN ale umožňuje za splnenia podmienok útoku útočníkovi odšifrovať aj túto komunikáciu.

Zraniteľnosť sa konkrétne nachádza v predchodcovi tohto protokolu, SSL verzie 2.0, SSLv2. Útočník ju môže využiť, ak napríklad webový alebo iný TLS server podporuje zároveň popri najnovšej verzii aj SSLv2 a využíva na zabezpečenie spojení certifikát s rovnakým RSA kľúčom. Respektíve prevádzkovateľ prevádzkuje iný server podporujúci SSLv2 a využívajúci rovnaký RSA kľúč. Tieto scenáre sú pritom veľmi časté.

Po pasívnom odpočutí dostatočného počtu plne bezpečných TLS spojení užívateľa na daný server môže útočník opakovanými dotazmi na server cez SSLv2 vďaka slabine tohto protokolu a podpore oslabených šifier odšifrovať dáta poslané klientom pri vytváraní TLS spojenia a zašifrované RSA kľúčom servera.

Tým získa prístup k dátam použitým na vytvorenie symetrického kľúča používaného na šifrovanie daného spojenia, ktoré mu umožňujú odšifrovať všetky dáta prenesené po tomto spojení aj po ďalších nasledujúcich spojeniach využívajúcich zrýchlené vytvorenie TLS spojenia s využitím rovnakých tajných dát pre vytvorenie symetrických kľúčov. Tajné dáta a schopnosť útočníkov dešifrovať spojenia s využitím dát získaných útokom vyexpirujú po čase závislom na použitom softvéri, napríklad knižnica OpenSSL ich vyexpiruje štandardne po piatich minútach od posledného spojenia s daným klientom.


Základná schéma útoku DROWN, kliknite pre zväčšenie (obrázok: autori DROWN)



Pri dnes štandardnom 2048-bitovom RSA kľúči servera dokáže útočník odšifrovať cca jedno z 900 TLS spojení pri uskutočnení 40 tisíc SSLv2 spojení na rovnaký server a potrebou uskutočniť 2^50 výpočtových operácií. To je možné zrealizovať napríklad pod osem hodín na prenajatých cloudových serveroch za 440 dolárov alebo na vlastnom drahšom hardvéri aj rýchlejšie a lacnejšie.

Útočník tým nezíska privátny RSA kľúč servera, iba ako bolo uvedené tajné dáta na vytváranie symetrického kľúča pri spojeniach s jedným klientom. Vo všeobecnosti sú potrebný výpočtový výkon a cena tohto útoku pri aplikovaní na všetky spojenia bežných užívateľov pomerne nákladné a nepraktické aj kvôli potrebe intenzívnej komunikácie útočníka so serverom, SSL a TLS by samozrejme ale nemalo byť možné zlomiť ani za o viac rádov vyššie prostriedky a pri cielenom útoku môže naopak podľa cieľa ísť už o zanedbateľné náklady.

Spojenia je možné tiež dešifrovať ľubovoľne neskôr po odchytení dát, za predpokladu stále existujúceho servera podporujúceho SSLv2 s rovnakým RSA kľúčom.

Príčina zraniteľnosti

Útok vyvinutý početným tímom kryptológov umožňujú dve slabiny. Prvou je vlastnosť protokolu SSLv2, ktorá umožňuje skúšať podvrhovať pri zostavovaní spojenia serveru útočníkom generované šifrované dáta a v kombinácii s druhou slabinou efektívne overovať či zodpovedajú nezašifrovaným dátam špecifického tvaru vyžadovaného štandardom PKCS#1 v1.5 používaným pri zostavovaní SSL / TLS spojení.

Konkrétne túto prvú slabinu umožňuje odosielanie správy ServerVerify serverom pred preukázaním znalosti dešifrovaných dát klientom a spôsob reakcie po detekovaní dát v nesprávnom formáte, ktorý má paradoxne slúžiť ako ochrana proti takýmto útokom.

Kľúčová ako druhá slabina je podpora slabších tzv. exportných symetrických šifier SSLv2 serverom, konkrétne šifry RC2 s iba 40-bitovým kľúčom umožňujúcej dnes na modernom hardvéri preveriť všetky možné kľúče. Jej podpora bola do protokolu SSL pridaná po tom, ako vláda USA v 90-tych rokoch minulého storočia zakázala export silnejších kryptografických technológií a v riešeniach mimo USA sa mohli používať iba slabšie šifry.

Tieto slabiny je ale spolu možné využiť na realizáciu tzv. Bleichenbacherovho útoku, ktorý postupným skúšaním umožňuje dospieť k pôvodným nezašifrovaným dátam zodpovedajúcim odchyteným šifrovaným dátam.

Útok ešte vyžaduje transformáciu medzi zašifrovanými dátami odchytenými z TLS spojení a dátami pre SSLv2, následne spolu umožňujú zistiť kľúč na spomínaný počet pokusov a s uvedenou výpočtovou zložitosťou.

Detailný popis útoku je možné nájsť v akademickom článku autorov útoku stiahnuteľnom z webu o útoku drownattack.com.

Opäť obmedzenia USA

Útok DROWN je v rozpätí jedného roka už tretím vážnym útokom na SSL / TLS, ktorý bol umožnený slabšími šiframi zavedenými kvôli politike USA.

Man-In-The-Middle útok FREAK z marca 2015 umožňuje útočníkovi, ktorý je schopný modifikovať komunikáciu medzi klientom a serverom, na TLS spojení vynútiť slabšiu exportnú RSA šifru s iba 512-bitovým kľúčom. Využíval k tomu chybu v implementáciách, ktoré akceptovali algoritmus RSA_EXPORT aj keď si ho nevyžiadali.

Útok Logjam z mája minulého roka umožňuje podobný MITM útok, ktorý zase pre zraniteľnosť samotného TLS protokolu umožňuje prinútiť server používať exportnú verziu protokolu Diffie-Hellman Ephemeral pre dohadovanie symetrických kľúčov s iba 512-bitovým DH kľúčom.

Informácia o treťom útoku umožnenom kontroverznou politikou USA, od ktorej nakoniec USA upustili, prichádza práve v čase, kedy sa USA čoraz intenzívnejšie snažia presadiť ideu o nevhodnosti sprístupnenia plne bezpečného neprekonateľného šifrovania do rúk verejnosti.

Ešte väčší problém OpenSSL

Pri práci na útoku DROWN autori navyše objavili jeho špecifickú verziu účinnú proti množstvu verzií populárnej knižnice OpenSSL použitej na implementáciu SSLv2 servera, ktorá je výrazne rýchlejšia ako všeobecný útok DROWN.

Knižnica, ktorá v posledných rokoch zaznamenala viacero veľmi vážnych problémov, totiž vďaka použitej implementácii SSLv2 umožňuje útočníkom výrazne efektívnejšie odšifrovanie dát zašifrovaných RSA. Konkrétne útok dokáže odšifrovať jedno z cca 260 spojení uskutočnením 17 tisíc spojení na SSLv2 server ale s potrebným výpočtovým výkonom zvládnuteľným bežnou pracovnou stanicou pod jednu minútu.

Útok v tomto prípade nevyžaduje ani použitie exportných šifier a je dostatočne rýchly, aby mohol byť realizovaný v reálnom čase. Útočník tak môže realizovať aj aktívny MITM útok a modifikovať dáta posielané klientovi, pričom môže tiež donútiť komunikujúce strany zabezpečiť spojenie pomocou RSA šifry namiesto inak predvolenej inej šifry neumožňujúcej uskutočniť DROWN útok.

Problém sa nachádzal v OpenSSL už od roku 1998 a opravený bol náhodou ako vedľajší efekt inej opravy v marci 2015.

Dopady a opatrenia

Zraniteľné na DROWN útok sú servery podporujúce aj SSLv2 a buď slabé exportné šifry alebo postavené na zraniteľnej verzii knižnice OpenSSL.

Vyhľadať zraniteľné servery podľa domény je možné na test.drownattack.com, test má ale svoje limity. Ako zraniteľné uvádza weby identifikované ako zraniteľné pri februárovom teste, hoci ich teraz opakovane po vyhľadaní otestuje. Servery, ktoré skeneru pri pôvodnom teste unikli a napríklad boli v čase testu nedostupné, ale nenájde ani ak sú zraniteľné. K dispozícii je tiež Python nástroj pre príkazový riadok umožňujúci otestovať zraniteľnosť ľubovoľného servera.

Celkovo je na DROWN útok podľa testu autorov útoku zraniteľná až tretina všetkých identifikovaných webových HTTPS serverov, na špeciálny rýchlejší útok voči OpenSSL knižnici 26% serverov.

Klienti sa proti odpočúvaniu ich spojení v prípade všeobecného DROWN útoku nemajú priamo ako efektívne brániť, keď ten je realizovaný mimo ich dosahu.

Riešenie pre servery je samozrejme veľmi jednoduché, vypnutie podpory verzie SSLv2 aj tak už v moderných klientoch vôbec nepodporovanej. V prípadoch používania zraniteľnej verzie OpenSSL je samozrejme tiež odporúčané prejsť na plne opravenú verziu tejto knižnice, buď na 1.0.2g alebo 1.0.1s.


      Zdieľaj na Twitteri



Najnovšie články:

Starship by mohla za najbližšie štyri roky uskutočniť až 400 štartov
Protimonopolný úrad začal prešetrovať, prečo v SR nie sú skutoční virtuálni mobilní operátori
Nový trailer filmu Minecraft
Linux v ďalšej verzii vyradí súborový systém Reiser
Odštartovaná výroba flash pamäte s 321 vrstvami
Apple má prvýkrát použiť vlastný 5G modem v iPhone v marci
Linux dostáva podporu veľkokapacitných pamäťových SDUC kariet
USA požadujú, aby Google predal Chrome a potenciálne aj Android
ISS zvýšila orbitu, aby sa vyhla troskám zo satelitu
Vzniknú fyzické zábavné tematické Minecraft parky


Diskusia:
                               
 

jednotlivec vs. štát
Odpovedať Známka: 8.0 Hodnotiť:
 

hašišovci to budú mať ťažšie
Odpovedať Známka: -8.0 Hodnotiť:
 

Staci si len uvedomiť, ze odhalujeme chyby zo začiatku storočia. A len ťažko verit tomu že celé tie roky doteraz už zahalali a už len zbierali úrodu.
Majú tam toho viac. Na internete nieje miesto pre skutočne súkromné veci.
Odpovedať Známka: 10.0 Hodnotiť:
 

Presne tak, čo nemám len doma, mám všade... :-)
Odpovedať Známka: 10.0 Hodnotiť:
 

Co nemas len doma maju vsade.
Odpovedať Hodnotiť:
 

Hlavne všetko dať do cloudu... celý IT svet sú len 1 a 0 a vždy sa nájde spôsob ako to osr*ť. Nič nieje úplne bezpečné.
Odpovedať Hodnotiť:

Pridať komentár