Hlavní navigace

Věříte opravdu jen důvěryhodným certifikačním autoritám?

Ondrej Mikle 23. 8. 2010

Electronic Frontier Foundation ohlásil projekt SSL Observatory, který sleduje veřejně viditelné SSL/TLS certifikáty. Závěr není lichotivý – i když si dokážete vybrat kořenové certifikační autority, tranzitivní důvěra v SSL/TLS modelu způsobí, že budete důvěřovat někomu, komu byste jinak nedůvěřovali.

Electronic Frontier Foundation ohlásil projekt SSL Observatory, který spočívá ve sledování věřejně viditelných SSL/TLS certifikátů na věřejně dostupných strojích. Je zatím dostupná prezentace (PDF), později i MySQL databáze s nasbíranými certifikáty přes BitTorrent. Výsledek několikaměsíčního sběru certifikátů lze shrnout asi následovně:

Mírně bulvárně: největší absurdity

  • „pravé“ 192.168.1.2 je podle US Equifaxu v Texasu; podle belgického GlobalSign je v USA, UK, Švýcarsku a Belgii, i s dvojí identitou jako 77.76.108.82
  • doménové jméno localhost je podepsáno více než 6000krát různými CA (člověk by doufal, že si vedou nějaký záznam, co už podepsali)
  • cca 28 000 podepsaných certifikátů vygenerovaných bugovitým OpenSSL v Debianu, naštěstí jenom asi 500 validních (důsledek nízké entropie při generování klíče)

Skutečné zranitelnosti

Po troše bulváru a jiných nezaměnitelných znaků člověčenstva se podíváme na skutečné problémy. Závažné chyby schématu spočívají v takzvaných intermediate CAs, což jsou certifikační autority, jejichž kořenový certifikát nenaleznete přímo v prohlížeči nebo keystoru, nýbrž jsou důvěryhodnými kořenovými CA podepsány.

Jádro problému spočívá v X509v3 rozšíření BasicConstraints: CA: TRUE. Rozšíření BasicConstraints společně s rozšířením KeyUsage: Certificate Signing umožňuje nějaké certifikační autoritě (které explicitně nemusíte věřit) podepsat libovolné doménové jméno (finta spočívá v tom, že důvěra není tranzitivní, jak to předpokládá SSL/TLS PKI model). Chyba schématu je umocněna faktem, že existují spousty společností, které mají vlastní intermediate CA (Google, Microsoft, Dell, Ford…).

Konkrétní příklad

Nejlépe konkrétní příklad – vezmeme si certificate chain na https://www.e­tisalat.ae (doporučuji zadat si tohle doménové jméno do SSL Labs testovače a podívat se na výsledky).

Certificate chain vypadá následovně (kromě spousty jiných „drobných“ vad jako povolené slabé symetrické šifry se třeba v Opeře ukazuje nesprávné pořadí certifikátu v chainu, protože server ho posílá ve špatném pořadí):

GTE CyberTrust Global Root (serial 0x1a5, SHA1 fingerprint 97:81:79:50:D8:1C:96:70:CC:34:D8:09:CF:79:44:31:36:7E:F4:74)
  \- Comtrust Root Certification Authority; basic constraints: CA:true; O: Etisalat
      \- Comtrust Server Certification Authority; basic constraints: CA:true; O: Etisalat
            \- www.etisalat.ae

Výše uveden certificate chain říká jednu zásadní věc: mobilní operátor Etisalat umí ve své síti udělat SSL MITM a každý mu bude důvěřovat (protože certifikát GTE CyberTrust Global Root je součástí Firefoxu, Opery, Windows, Androidu, …). Totéž umí udělat libovolná intermediate CA, bez toho, abyste jí přímo věřili. Historický Internet Explorer 5.0 nekontroloval ani BasicConstraints, proto původně vznikl nástroj sslsniff. S nástrojem jako sslsniff není potřeba žádné chyby prohlížeče, když podvádí intermediate CA – prostě podepíše libovolné doménové jméno (viz níže – Etisalat je již z podvádění usvědčena).

Zakazované BlackBerry, Android/iPhone projde

Možná jste si všimli i v mainstream médiích, jak se postupně nabalovaly různé státy, které se snažily buďto zakázat BlackBerry zprávy nebo je omezit (Spojené arabské emiráty, Saudská Arábie, Indie aj.). Důvodem je, že BlackBerry nelze ani přes triky s intermediate CA donutit ke kompromitaci zpráv (BlackBerry messaging service je navržen jinak než SSL/TLS PKI model). Možnost kompromitace SSL nezávisí na platformě (je jedno, zda máte Android/iPhone/Li­nux/Windows). Certifikát operátora Etisalat nebyl vybrán náhodně, je to operátor, který se již snažil prosadit spyware na BlackBerry komunikátory. Paradoxně se na to přišlo, protože „odposlouchávací služba“ nezvládla nápor zařízení a BlackBerry se pořád pokoušelo v cyklu připojit, což se projevilo postranním kanálem jako výrazně snížená výdrž baterie telefonu.

Jak se bránit

Hrozbě intermediate CAs se nelze jednoduše vyhnout (i lidé, kteří toho vědí mnohem víc než já, se neurčitě zašklebí a zahlásí, že „SSL/TLS PKI model is broken“). Pořád lze alespoň mírně snížit riziko:

  • Obecně: v prohlížečích smazat nebo nastavit na nedůvěryhodné certifikáty jako GTE CyberTrust Global Root, pak všechny který obsahují frázi „government CA“ v libovolné permutaci libovolného zemi – zní to hodně neurčitě, ale třeba Taiwanskou státní CA nebo Nizozemskou státní CA nejspíš nikdy nebudete potřebovat (já vím, pořád žádná výhra, nikdo neví jaké CA zvolit, záleží jedině na individuálním paranoidním nastavení; zvolte jako důvěryhodné CA certifikáty používané ty, které používá vaše banka nebo běžně používané služby)
  • Firefox: použijte rozšíření Certificate Patrol, jeho účinnost spočívá v tom, že pozná, když se certificate chain změní, budete o tom vědět
  • Opera: v nastaveních Advanced-Security-Manage Certificates-tab Authorities-vybrat CA+klik View-Warn me before using this certificate
  • Android: rootnout telefon, přes adb pull a adb push získat, vyfiltrovat a uložit certstore, je uložen v /system/etc/security/cacerts.bks.

Anketa

Měníte důvěryhodné CA ve svém systému?

Našli jste v článku chybu?

23. 8. 2010 13:32

pepazdepa (neregistrovaný)

Uz se ani nevidim proc maji lidi „Clocka“ v pravidlech na filtraci mailu (viz fdm na OpenBSD), kdyz pises takovy p*coviny :)

26. 8. 2010 12:20

Banky do IT nevidi. […] Banka resi vsechno pomoci penez

Ale to je presne ono – banka nebude zavadet zadne dalsi opatreni, pokud ji to bude stat vic nez ztraty pres podvody. Existuji spousty ATM (v US), ktere jsou napadnutelne insiderem, ale bankam se to nevyplati menit (zatim).

EV certifikaty jsou jenom „naplast“.

Root.cz: 250 Mbit/s po telefonní lince, když máte štěstí

250 Mbit/s po telefonní lince, když máte štěstí

Lupa.cz: Avast po spojení s AVG propustí 700 lidí

Avast po spojení s AVG propustí 700 lidí

Vitalia.cz: Znáte „černý detox“? Ani to nezkoušejte

Znáte „černý detox“? Ani to nezkoušejte

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

Podnikatel.cz: Chtějte údaje k dani z nemovitostí do mailu

Chtějte údaje k dani z nemovitostí do mailu

Podnikatel.cz: Babiše přesvědčila 89letá podnikatelka?!

Babiše přesvědčila 89letá podnikatelka?!

Vitalia.cz: Manželka je bio, ale na sex moc není

Manželka je bio, ale na sex moc není

Vitalia.cz: Často čůrá a má žízeň? Příznaky dětské cukrovky

Často čůrá a má žízeň? Příznaky dětské cukrovky

Podnikatel.cz: Na poslední chvíli šokuje výjimkami v EET

Na poslední chvíli šokuje výjimkami v EET

Podnikatel.cz: Babiš: E-shopy z EET možná vyjmeme

Babiš: E-shopy z EET možná vyjmeme

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Vitalia.cz: Mondelez stahuje rizikovou čokoládu Milka

Mondelez stahuje rizikovou čokoládu Milka

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu

Měšec.cz: Jak vymáhat výživné zadarmo?

Jak vymáhat výživné zadarmo?

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

Vitalia.cz: Chtějí si léčit kvasinky. Lék je jen v Německu

Chtějí si léčit kvasinky. Lék je jen v Německu