Odkrita resna ranljivost v SSL in TLS protokolih

Matej Kovačič

6. nov 2009 ob 12:54:44

Predvčerajšnjim in včeraj so splet preplavile informacije o novo odkriti ranljivosti v šifrirnih protokolih SSL 3.0+ in TLS 1.0+. Gre za varnostno ranljivost, ki izkorišča napako v "pogajalskem procesu" protokola (tim. renegotiation phase), omogoča pa napade s posrednikom (tim. MITM napade) oziroma napade na HTTPS seje podpisane s certifikatom odjemalca.

Kot poročajo na SSL Shopper (analizo napada je na svojem blogu objavil Ivan Ristić) je težava v tem, da lahko nekdo nadzoruje en del šifrirane povezave pred ponovnim pogajanjem, nekdo drug pa po ponovnem pogajanju oz. izmenjavi sejnega ključa nadzoruje drugi del šifrirane povezave. Napadalec tako lahko odpre povezavo do SSL strežnika, pošlje nekaj podatkov, zahteva ponovno pogajanje in SSL strežniku prične pošiljati podatke, ki prihajajo od žrtve. Spletni strežniki (IIS in Apache) podatke, ki so prišli od napadalca in podatke, ki so prišli od žrtve nato povežejo, posledica česar je, da napadalec lahko SSL strežniku pošlje poljuben zahtevek, ki ga nato avtenticira njegova žrtev.

Ranljivost v protokolih torej omogoča, da napadalec v začetek podatkovnega toka aplikacije (v HTTPS seji) vrine poljuben niz nešifriranih podatkov. To mu omogoča izvedbo poljubne HTTP transakcije, žrtvi lahko prikaže poljubno vsebino v HTTPS seji ali pa njegov certifikat uporabi za povezovanje do poljubnega strežnika (in s tem izvede klasičen napad s posrednikom).

Podrobnosti napada so opisane v članku Renegotiating TLS Marsha Raya in Steva Dispensa iz podjetja PhoneFactor (na voljo je tudi diagram napada).

Rešitev sicer še ni na voljo, se pa na njej že intenzivno dela.