Mozilla implementuje CRLite pro kontrolu problematických TLS certifikátů

Společnost Mozilla oznámil o zahájení testování v nočních sestaveních Firefoxu nový mechanismus pro zjišťování zrušených certifikátů - CRLite. CRLite vám umožňuje organizovat efektivní kontrolu odvolání certifikátů proti databázi hostované v systému uživatele. Implementace CRLite od Mozilly publikováno pod bezplatnou licencí MPL 2.0. Je zapsán kód pro generování komponent databáze a serveru PYTHON a jít. Klientské části přidány do Firefoxu pro čtení dat z databáze připravený v jazyce Rust.

Ověření certifikátu pomocí externích služeb na základě protokolu, který se stále používá OCSP (Online Certificate Status Protocol) vyžaduje zaručený přístup k síti, vede ke značnému zpoždění ve zpracování požadavku (v průměru 350 ms) a má problémy se zajištěním důvěrnosti (servery OCSP reagující na požadavky dostávají informace o konkrétních certifikátech, které lze použít k posouzení, zda stránky, které uživatel otevírá). Existuje také možnost místní kontroly podle seznamů C.R.L. (Certificate Revocation List), nevýhodou této metody je však velmi velká velikost stahovaných dat - v současné době zabírá databáze zneplatněných certifikátů cca 300 MB a její růst stále pokračuje.

K blokování certifikátů, které byly kompromitovány a zrušeny certifikačními autoritami, používá Firefox od roku 2015 centralizovanou černou listinu. OneCRL v kombinaci s voláním servisu Bezpečné prohlížení Google k identifikaci možné škodlivé činnosti. OneCRL, jako CRLSety v Chrome funguje jako mezičlánek, který agreguje seznamy CRL od certifikačních autorit a poskytuje jedinou centralizovanou službu OCSP pro kontrolu zrušených certifikátů, což umožňuje neposílat požadavky přímo certifikačním autoritám. Přes mnoho práce na zlepšení spolehlivosti online služby ověřování certifikátů telemetrická data ukazují, že více než 7 % požadavků OCSP vypršelo (před několika lety to bylo 15 %).

Pokud není možné ověřit přes OCSP, prohlížeč standardně považuje certifikát za platný. Služba může být nedostupná kvůli problémům se sítí a omezením na vnitřních sítích nebo blokována útočníky – pro obejití kontroly OCSP během útoku MITM jednoduše zablokujte přístup ke službě kontroly. Částečně k zabránění takovým útokům byla implementována technika Musí se sešívat, která umožňuje považovat chybu přístupu OCSP nebo nedostupnost OCSP za problém s certifikátem, ale tato funkce je volitelná a vyžaduje speciální registraci certifikátu.

CRLite umožňuje konsolidovat kompletní informace o všech zneplatněných certifikátech do snadno aktualizované struktury o velikosti pouze 1 MB, která umožňuje uložit kompletní databázi CRL na straně klienta.
Prohlížeč bude moci denně synchronizovat svou kopii dat o zneplatněných certifikátech a tato databáze bude dostupná za jakýchkoli podmínek.

CRLite kombinuje informace z Průhlednost certifikátu, veřejný protokol všech vydaných a zrušených certifikátů a výsledky skenování certifikátů na internetu (shromažďují se různé CRL seznamy certifikačních autorit a agregují se informace o všech známých certifikátech). Data jsou balena pomocí kaskádování Bloom filtry, pravděpodobnostní struktura, která umožňuje falešnou detekci chybějícího prvku, ale vylučuje vynechání existujícího prvku (tj. s určitou pravděpodobností je možný falešný pozitivní výsledek u správného certifikátu, ale je zaručena identifikace revokovaných certifikátů).

K odstranění falešných poplachů CRLite zavedlo další úrovně opravných filtrů. Po vygenerování struktury jsou prohledány všechny zdrojové záznamy a identifikovány všechny falešně pozitivní nálezy. Na základě výsledků této kontroly je vytvořena další struktura, která je kaskádována na první a koriguje výsledné falešně pozitivní výsledky. Operace se opakuje až do úplného odstranění falešných poplachů při kontrolní kontrole. K úplnému pokrytí všech dat obvykle stačí vytvoření 7–10 vrstev. Vzhledem k tomu, že stav databáze vlivem periodické synchronizace mírně zaostává za aktuálním stavem CRL, je kontrola nových certifikátů vydaných po poslední aktualizaci databáze CRLite prováděna pomocí protokolu OCSP, včetně použití Sešívání OCSP (odpověď OCSP certifikovaná certifikační autoritou je přenášena serverem obsluhujícím web při vyjednávání připojení TLS).

Mozilla implementuje CRLite pro kontrolu problematických TLS certifikátů

Pomocí filtrů Bloom se podařilo sbalit prosincový výsek informací z WebPKI, který zahrnuje 100 milionů aktivních certifikátů a 750 tisíc zneplatněných certifikátů, do struktury o velikosti 1.3 MB. Proces generování struktury je poměrně náročný na zdroje, ale provádí se na serveru Mozilla a uživateli je poskytnuta hotová aktualizace. Například v binární podobě zdrojová data použitá při generování vyžadují při uložení v Redis DBMS asi 16 GB paměti a v hexadecimální podobě zabere výpis všech sériových čísel certifikátů asi 6.7 GB. Proces agregace všech odvolaných a aktivních certifikátů trvá asi 40 minut a proces generování zabalené struktury na základě Bloom filtru trvá dalších 20 minut.

Mozilla v současné době zajišťuje aktualizaci databáze CRLite čtyřikrát denně (ne všechny aktualizace jsou klientům dodávány). Generování delta aktualizací ještě nebylo implementováno - použití bsdiff4, používaného k vytváření delta aktualizací pro vydání, neposkytuje dostatečnou efektivitu pro CRLite a aktualizace jsou nepřiměřeně velké. Pro odstranění tohoto nedostatku se plánuje přepracování formátu struktury úložiště, aby se eliminovalo zbytečné přestavování a mazání vrstev.

CRLite v současné době funguje ve Firefoxu v pasivním režimu a používá se paralelně s OCSP ke shromažďování statistik o správném fungování. CRLite lze přepnout do hlavního režimu skenování, k tomu je třeba nastavit parametr security.pki.crlite_mode = 2 v about:config.

Mozilla implementuje CRLite pro kontrolu problematických TLS certifikátů

Zdroj: opennet.ru

Přidat komentář