Mozilla implementuje CRLite na kontrolu problematických TLS certifikátov

Spoločnosť Mozilla oznámila, o začatí testovania v nočných zostavách Firefoxu nový mechanizmus na zisťovanie zrušených certifikátov - CRLite. CRLite vám umožňuje organizovať efektívnu kontrolu zrušenia certifikátu oproti databáze hosťovanej v systéme používateľa. Implementácia CRLite od Mozilly publikovaný pod bezplatnou licenciou MPL 2.0. Je zapísaný kód na generovanie komponentov databázy a servera Pytón a choď. Klientske časti pridané do Firefoxu na čítanie údajov z databázy pripravené v jazyku Rust.

Overenie certifikátu pomocou externých služieb na základe protokolu, ktorý sa stále používa OCSP (Online Certificate Status Protocol) vyžaduje zaručený prístup k sieti, vedie k výraznému oneskoreniu spracovania žiadostí (v priemere 350 ms) a má problémy so zabezpečením dôvernosti (servery OCSP odpovedajúce na žiadosti dostávajú informácie o konkrétnych certifikátoch, ktoré možno použiť na posúdenie toho, či stránky, ktoré používateľ otvorí). Existuje aj možnosť lokálnej kontroly podľa zoznamov C.R.L. (Certificate Revocation List), nevýhodou tohto spôsobu je však veľmi veľká veľkosť sťahovaných dát – v súčasnosti zaberá databáza zrušených certifikátov cca 300 MB a jej rast neustále pokračuje.

Na blokovanie certifikátov, ktoré boli napadnuté a zrušené certifikačnými autoritami, používa Firefox od roku 2015 centralizovanú čiernu listinu OneCRL v kombinácii s privolaním servisu Bezpečné prehliadanie Google na identifikáciu možnej škodlivej činnosti. Napríklad OneCRL Sady CRL v prehliadači Chrome funguje ako medzičlánok, ktorý agreguje zoznamy CRL od certifikačných autorít a poskytuje jedinú centralizovanú službu OCSP na kontrolu zrušených certifikátov, vďaka čomu nie je možné odosielať požiadavky priamo certifikačným autoritám. Napriek veľkej práci na zlepšení spoľahlivosti online služby overovania certifikátov telemetrické údaje ukazujú, že viac ako 7 % žiadostí OCSP vypršalo (pred niekoľkými rokmi to bolo 15 %).

Štandardne, ak nie je možné overiť cez OCSP, prehliadač považuje certifikát za platný. Služba môže byť nedostupná pre problémy so sieťou a obmedzenia interných sietí alebo zablokovaná útočníkmi – ak chcete obísť kontrolu OCSP počas útoku MITM, jednoducho zablokujte prístup k službe kontroly. Čiastočne na zabránenie takýmto útokom bola implementovaná technika Musíte-zošiť, ktorý vám umožňuje považovať chybu prístupu OCSP alebo nedostupnosť OCSP za problém s certifikátom, ale táto funkcia je voliteľná a vyžaduje špeciálnu registráciu certifikátu.

CRLite umožňuje konsolidovať kompletné informácie o všetkých odvolaných certifikátoch do jednoducho aktualizovanej štruktúry s veľkosťou len 1 MB, ktorá umožňuje uložiť kompletnú CRL databázu na strane klienta.
Prehliadač bude môcť denne synchronizovať svoju kópiu údajov o zrušených certifikátoch a táto databáza bude dostupná za akýchkoľvek podmienok.

CRLite kombinuje informácie z Transparentnosť certifikátu, verejný protokol všetkých vydaných a zrušených certifikátov a výsledky skenovania certifikátov na internete (zbierajú sa rôzne CRL zoznamy certifikačných autorít a agregujú sa informácie o všetkých známych certifikátoch). Dáta sa balia pomocou kaskádovania Bloom filtre, pravdepodobnostná štruktúra, ktorá umožňuje falošnú detekciu chýbajúceho prvku, ale vylučuje vynechanie existujúceho prvku (t. j. s určitou pravdepodobnosťou je možný falošný pozitívny výsledok pre správny certifikát, ale je zaručená identifikácia zrušených certifikátov).

Aby sa eliminovali falošné poplachy, CRLite zaviedlo ďalšie korekčné úrovne filtra. Po vygenerovaní štruktúry sa prehľadajú všetky zdrojové záznamy a identifikujú sa všetky falošné poplachy. Na základe výsledkov tejto kontroly sa vytvorí dodatočná štruktúra, ktorá je kaskádovito napojená na prvú a koriguje výsledné falošné pozitíva. Operácia sa opakuje až do úplného odstránenia falošných pozitív pri kontrolnej kontrole. Vytvorenie 7-10 vrstiev zvyčajne postačuje na úplné pokrytie všetkých údajov. Keďže stav databázy v dôsledku periodickej synchronizácie mierne zaostáva za aktuálnym stavom CRL, kontrola nových certifikátov vydaných po poslednej aktualizácii databázy CRLite sa vykonáva pomocou protokolu OCSP, vrátane použitia OCSP zošívanie (Odpoveď OCSP certifikovaná certifikačnou autoritou je prenášaná serverom obsluhujúcim stránku pri vyjednávaní pripojenia TLS).

Mozilla implementuje CRLite na kontrolu problematických TLS certifikátov

Pomocou filtrov Bloom sa decembrový výsek informácií z WebPKI, ktorý zahŕňal 100 miliónov aktívnych certifikátov a 750 tisíc zrušených certifikátov, podarilo zbaliť do štruktúry s veľkosťou 1.3 MB. Proces generovania štruktúry je pomerne náročný na zdroje, ale vykonáva sa na serveri Mozilla a používateľovi je poskytnutá hotová aktualizácia. Napríklad v binárnej forme si zdrojové údaje používané počas generovania vyžadujú približne 16 GB pamäte, keď sú uložené v systéme Redis DBMS, a v hexadecimálnej forme zaberie výpis všetkých sériových čísel certifikátov približne 6.7 GB. Proces agregácie všetkých odvolaných a aktívnych certifikátov trvá približne 40 minút a proces generovania zbalenej štruktúry na základe Bloom filtra trvá ďalších 20 minút.

Mozilla v súčasnosti zabezpečuje aktualizáciu databázy CRLite štyrikrát denne (nie všetky aktualizácie sa doručujú klientom). Generovanie delta aktualizácií ešte nebolo implementované - použitie bsdiff4, ktorý sa používa na vytváranie delta aktualizácií pre vydania, neposkytuje primeranú efektivitu pre CRLite a aktualizácie sú neprimerane veľké. Na odstránenie tohto nedostatku sa plánuje prepracovať formát štruktúry úložiska, aby sa eliminovalo zbytočné prestavovanie a odstraňovanie vrstiev.

CRLite momentálne funguje vo Firefoxe v pasívnom režime a používa sa súbežne s OCSP na zhromažďovanie štatistík o správnej činnosti. CRLite je možné prepnúť do hlavného režimu skenovania; na to musíte nastaviť parameter security.pki.crlite_mode = 2 v about:config.

Mozilla implementuje CRLite na kontrolu problematických TLS certifikátov

Zdroj: opennet.ru

Pridať komentár