Mozilla zavádí CRLite pro kontrolu problematických TLS certifikátů

Společnost Mozilla oznámila o zahájení testování nočních sestavení Firefoxu nového mechanismu pro určení odvolaných certifikátů — CRLite. CRLite umožňuje efektivní kontrolu odvolání certifikátů na základě databáze umístěné na systému uživatele. Řešení CRLite vyvíjené v Mozille byla vydána pod licencí MPL 2.0. Kód pro generaci DB a serverové komponenty jsou napsány v CouchDB Go. Přidané klientské části pro Firefox pro čtení dat z DB jsou připraveny jsou napsány v jazyce Rust.

Dosud používaná kontrola certifikátů za účasti externích služeb na základě protokolu OCSP (Online Certificate Status Protocol) vyžaduje zaručený síťový přístup, vede k značnému zpoždění při zpracování požadavku (v průměru 350 ms) a má problémy s zajištěním soukromí (servery OCSP, které odpovídají na požadavky, získávají informace o konkrétních certifikátech, podle nichž lze usuzovat na to, jaké stránky uživatel navštěvuje). Existuje také možnost lokální kontroly podle seznamů CRL (Certificate Revocation List), ale nevýhodou této metody je velmi velká velikost stahovaných dat — v současné době zabírá databáze odvolaných certifikátů přibližně 300 MB a její růst pokračuje.

Pro blokování kompromitovaných a odvolaných certifikátů důvěryhodných center se ve Firefoxu používá od roku 2015 centralizovaný černý seznam OneCRL ve spojení s využíváním služby Google Safe Browsing ke stanovení možné škodlivé aktivity. OneCRL, stejně jako CRLSets v Chromu, slouží jako prostřední článek, který agreguje CRL seznamy od certifikačních autorit a poskytuje jednotnou centralizovanou OCSP službu pro kontrolu odvolaných certifikátů, která umožňuje neposílat požadavky přímo k certifikačním autoritám. Navzdory značnému úsilí o zvýšení spolehlivosti služby online kontroly certifikátů data z telemetrie ukazují, že více než 7 % požadavků OCSP končí timeoutem (před několika lety byl tento ukazatel 15 %).

Pokud není možné provést ověření pomocí OCSP, prohlížeč považuje certifikát za platný. Služba může být nedostupná jak kvůli síťovým problémům a omezením v interních sítích, tak i zablokována útočníky — pro obcházení ověření OCSP během MITM útoku stačí jednoduše zablokovat přístup k ověřovací službě. Částečně pro prevenci podobných útoků byla implementována technika Must-Staple, která umožňuje považovat chybu při přístupu k OCSP nebo nedostupnost OCSP za problém s certifikátem, avšak tato možnost je volitelná a vyžaduje speciální vystavení certifikátu.

CRLite umožňuje shromáždit úplné informace o všech odvolaných certifikátech do snadno aktualizovatelné struktury o velikosti pouhých 1 MB, což umožňuje uchovávat celou databázi CRL na straně klienta.
Prohlížeč bude moci denně synchronizovat svou kopii dat o odvolaných certifikátech a tato databáze bude dostupná za všech okolností.

CRLite spojuje informace z Certificate Transparency, veřejného logu všech vydaných a odvolaných certifikátů a výsledků 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ých filtrů Bloop, pravděpodobnostní struktury, která dovoluje falešné určení chybějícího prvku, ale vylučuje opomenutí existujícího prvku (tj. s určitým pravděpodobností může dojít k falešnému poplachu na platný certifikát, ale odvolané certifikáty budou zaručeně odhaleny).

Aby se eliminovaly falešné alarmy v CRLite, byly zavedeny další korekční úrovně filtru. Po vygenerování struktury se provádí procházení všech zdrojových záznamů a určení vzniklých falešných alarmů. Na základě této kontroly se vytváří další struktura, která kaskádově nanáší na první a opravuje vzniklé falešné alarmy. Operace se opakuje, dokud nejsou falešné alarmy při kontrolní kontrole zcela vyloučeny. Obvykle je pro úplné pokrytí všech údajů dostačující vytvoření 7-10 vrstev. Vzhledem k tomu, že stav databáze kvůli periodické synchronizaci poněkud zaostává za aktuálním stavem CRL, kontrola nových certifikátů vydaných po poslední aktualizaci databáze CRLite se provádí pomocí protokolu OCSP, včetně použití techniky OCSP Stapling (ověřená certifikační autoritou odpověď OCSP je předávána obsluhujícím webovým serverem při dohodě TLS připojení).

Mozilla zavádí CRLite pro kontrolu problematických TLS certifikátů

Pomocí Bloomových filtrů se prosincový výřez informací z WebPKI, který pokrývá 100 milionů aktivních certifikátů a 750 tisíc odvolaných certifikátů, podařilo zabalit do struktury o velikosti 1,3 MB. Proces generování struktury je dost náročný na zdroje, ale probíhá na serveru Mozilla a uživateli se již dodává hotová aktualizace. Například ve binární podobě vyžadují použité zdrojové údaje při generování přibližně 16 GB paměti při ukládání v databázi Redis, a v šestnáctkové podobě zabírá dump všech sériových čísel certifikátů přibližně 6,7 GB. Proces agregace všech odvolaných a aktivních certifikátů trvá přibližně 40 minut a proces generování zabalené struktury na základě Bloomova filtru vyžaduje dalších 20 minut.

V současné době je v Mozille zajištěna aktualizace databáze CRLite čtyřikrát denně (ne všechny aktualizace jsou doručovány klientům). Generace delta-aktualizací zatím není realizována - použití bsdiff4, které se používá pro vytváření delta-aktualizací verzí, nezajišťuje dostatečnou efektivitu pro CRLite a aktualizace vycházejí nepřiměřeně velké. K odstranění tohoto nedostatku se plánuje přepracovat formát struktury ukládání, aby se vyloučilo zbytečné přestavování a odstraňování vrstev.

CRLite nyní funguje v prohlížeči Firefox v pasivním režimu a používá se paralelně s OCSP pro shromažďování statistik o správnosti fungování. CRLite lze přepnout do režimu hlavního ověřování, k tomu je potřeba v about:config nastavit parametr security.pki.crlite_mode = 2.

Mozilla zavádí CRLite pro kontrolu problematických TLS certifikátů

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster