Bug 'trostrukog rukovanja' još jedan veliki problem za TLS/SSL

  • Aug 30, 2023

Apple je nedavno zakrpao ranjivost u SSL/TLS kodu u iOS-u i OS X-u. Ne, ne Heartbleed, nego onaj koji je, na neki način, gori.

Mogli biste ga propustiti da niste pažljivo pratili cijelo ovo brbljanje Heartbleeda, ali prošli tjedan Apple je zakrpao ozbiljan problem u svom TLS/SSL kodu u iOS-u i OS X-u. Napadač u privilegiranoj poziciji, tj. između dvije strane uključene u SSL/TLS (od sada samo "TLS"), mogao bi presresti i dekodirati komunikaciju ili ubaciti naredbe i podatke.

Prokleti logo za trostruko rukovanje, kredit @Raed667;

Loša vijest je da ovo nije samo greška u Appleovom kodu; to je pogreška u samom TLS protokolu, protokolu koji se čini prilično zbrkanim.

Profesor/kriptograf Matthew Green s Johns Hopkinsa to kaže trostruko rukovanje mijenja naš koncept o tome što sigurnost znači u kontekstu TLS-a. (Također je odlučio naučiti jednu lekciju od Heartbleeda: kada se radi o greškama, brendiranje je ključno, pa ga je nazvao "3Shake" i naručio obližnji logo.)

Apple sada pripisuje izvješće o grešci 

CVE-2014-1295, Antoineu Delignat-Lavaudu, Karthikeyanu Bhargavanu i Alfredu Pirontiju iz Prosecca u Inria Paris, i opisuje ga na ovaj način:

    U napadu 'trostrukog rukovanja' napadaču je bilo moguće uspostaviti dvije veze koje su imale iste ključeve enkripcije i rukovanje, ubacite podatke napadača u jednu vezu i ponovno pregovarajte tako da se veze mogu proslijediti svakom drugo. Kako bi se spriječili napadi koji se temelje na ovom scenariju, Siguran prijenos je promijenjen tako da, prema zadanim postavkama, ponovni pregovori moraju predstavljati isti certifikat poslužitelja kao što je prikazan u izvornoj vezi.

Delignat-Lavaud, Bhargavan i Pironti su ovo otkrili prije nekog vremena i, u najboljoj tradiciji istraživanja, u povjerljivosti su to otkrili onima koji su odgovorni za pogođeni softver. Pročitajte mnogo više grubih detalja o napadu, njegovim varijantama i napretku sanacije na njihovoj web stranici.

Slika ispod pokazuje kako napad funkcionira. Nemojte se previše truditi to razumjeti. Profesor Green to opisuje kao "apsolutno suludo".

Trostruki napad rukovanja. Napadač posreduje u dva rukovanja koja daju MS na obje strane, ali dva različita hasha rukovanja. Rukovanje za nastavak ostavlja isti MS i identičan hash za rukovanje na obje strane. To znači da će gotova poruka iz rukovanja za nastavak biti ista za veze s obje strane napadača. Sada ih može spojiti a da nitko ne primijeti da je prethodno ubacio promet. Autor slike Matthew Green.

Istaknuto

  • Je li Windows 10 previše popularan za svoje dobro?
  • 5 načina da pronađete najbolje mjesto za početak svoje karijere
  • Ovako će generativna umjetna inteligencija promijeniti ekonomiju koncerata na bolje
  • 3 razloga zašto više volim ovaj Android od 300 USD u odnosu na Googleov Pixel 6a

Neću pokušavati elaborirati objašnjenje, jer mislim da ne postoji jednostavan i pošten način da se objasni mehanizam. To je napad čovjeka u sredini s potpunim preuzimanjem kontrole. To je ono što trebate znati. I utječe na mnoge TLS implementacije. Da, zahtijeva da napadač bude u privilegiranoj poziciji, ali Heartbleed to također čini, jer morate nekako dobiti promet kako biste ga dekodirali.

Koje su implementacije zahvaćene, a koje su ispravljene? Delignat-Lavaud, Bhargavan i Pironti održavaju djelomičan popis u odjeljak "Otkrivanje i odgovor dobavljača" na njihovoj web stranici. Nisu zahvaćene sve implementacije i aplikacije TLS-a, iako velik broj jest. Naravno, znamo da je Appleov bio pogođen i da je sada popravljen. Neka značajna izvješća o statusu:

  • SChannel (Internet Explorer): obaviješteno 18. listopada 2013. Sigurnosno ažuriranje u fazi testiranja
  • OpenSSL, GnuTLS: priopćeno 20. listopada 2013. Ne utječe izravno, ali aplikacije koje ih koriste obično jesu. Ublažavanja čekaju usvajanje novog TLS proširenja
  • NSS (Chromium, Firefox): obaviješten 4. studenog 2013. Spriječeni degenerirani Diffie-Hellman javni ključevi u CVE-2014-1491. Firefox ispravno provjerava certifikate poslužitelja tijekom ponovnih pregovora. (Dakle, popravljeno je.)

Kao što Green opisuje, trostruko rukovanje je zlouporaba značajki (on koristi izraz "band aid") koje su stavljene u TLS kako bi se popravili prethodni napadi čovjeka u sredini. TLS ima nekoliko metoda "rukovanja", što je ritualna komunikacija između strana kako bi se uspostavila sigurna veza. 3Shake zahtijeva da stranke koriste određene od ovih metoda i nije mi jasno koliko se često koriste, ali značajka ne bi bila tu da je netko ne želi.

Postoji nekoliko rješenja predložili su istraživači koji su Appleu prijavili trostruko rukovanje. Bit će u iskušenju učiniti ono što je Apple učinio, staviti još jednu provjeru u rukovanje ("...ponovni pregovori moraju predstaviti isti certifikat poslužitelja kao što je prikazan u izvornoj vezi."

Delignat-Lavaud, Bhargavan i Pirontijev dijagram trostrukog rukovanja. Razjašnjava li to stvari?

Ali Green tvrdi da je problem nered u koji je protokol zapao. Podsjetimo se da je TLS započeo kao hack koji je napravio Netscape za svoj preglednik u danima kada je verzija 0.1 bila dovoljno dobra za isporuku. Tijekom godina dodane su značajke i popravci uglavnom zato što ih je netko zahtijevao, a ne zato što je dan jasan pregled onoga što nam TLS treba. Prvo je došao protokol, a zatim njegova analiza.

Nažalost, malo je slično SMTP, čije probleme smo osuđeni na trpljenje cijelu vječnost. Previše se ljudi oslanja na neuredan TLS koji trenutno imamo da bi ga mijenjali u hodu. Napravite novi sređeni i čisti TLS 2.0 i nitko ga neće koristiti. Tu i tamo dolazi do prijelaza s izrazito nesigurnog proizvoda na sigurniji — prijelaz starih Microsoft Office formata datoteka na nove dolazi do um — ali prijelazi su bolni i kladim se da ako ne postoji moćna strana koja bi forsirala stvari, poput Microsofta sa svojim kodom za Office, prijelaz jednostavno neće dogoditi se.

Vrijeme za radna grupa IETF TLS da se opskrbe flasterima.