Mozilla implementira CRLite za provjeru problematičnih TLS certifikata

Mozilla Company najavljeno o početku testiranja u noćnim verzijama Firefoxa novog mehanizma za otkrivanje opozvanih certifikata - CRLite. CRLite vam omogućava da organizirate efikasnu provjeru opoziva certifikata prema bazi podataka koja se nalazi na korisnikovom sistemu. Mozilla implementacija CRLite objavljeno pod besplatnom licencom MPL 2.0. Kod za generisanje baze podataka i serverskih komponenti su napisani piton i Idi. Klijentski dijelovi dodati Firefoxu za čitanje podataka iz baze podataka pripremljeno na Rust jeziku.

Provjera certifikata korištenjem eksternih servisa na osnovu protokola koji se još uvijek koristi OCSP (Online Certificate Status Protocol) zahtijeva zagarantovan pristup mreži, dovodi do značajnog kašnjenja u obradi zahtjeva (u prosjeku 350 ms) i ima problema sa osiguranjem povjerljivosti (OCSP serveri koji odgovaraju na zahtjeve primaju informacije o određenim certifikatima, pomoću kojih se može prosuditi da li šta stranice koje korisnik otvara). Postoji i mogućnost lokalne provjere prema listama C.R.L. (Certificate Revocation List), ali nedostatak ove metode je vrlo velika veličina preuzetih podataka – trenutno baza opozvanih certifikata zauzima oko 300 MB i njen rast se nastavlja.

Kako bi blokirao certifikate koje su kompromitovana i opozvana od strane certifikacijskih tijela, Firefox koristi centraliziranu crnu listu od 2015. OneCRL u kombinaciji sa pozivom servisu Google sigurno pregledavanje da identifikuje moguću zlonamernu aktivnost. OneCRL, kao CRLSets u Chromeu, djeluje kao posredna veza koja objedinjuje CRL liste od certifikacijskih tijela i pruža jedinstvenu centraliziranu OCSP uslugu za provjeru opozvanih certifikata, što omogućava da se zahtjevi ne šalju direktno certifikacijskim tijelima. Uprkos velikom trudu na poboljšanju pouzdanosti online usluge verifikacije sertifikata, podaci telemetrije pokazuju da više od 7% OCSP zahteva istekne (pre nekoliko godina ova brojka je bila 15%).

Podrazumevano, ako je nemoguće provjeriti putem OCSP-a, pretraživač smatra da je certifikat važeći. Usluga može biti nedostupna zbog mrežnih problema i ograničenja na internim mrežama, ili blokirana od strane napadača - da biste zaobišli OCSP provjeru tokom MITM napada, jednostavno blokirajte pristup servisu provjere. Djelomično kako bi se spriječili takvi napadi, implementirana je tehnika Obavezno spajanje, koji vam omogućava da tretirate grešku OCSP pristupa ili nedostupnost OCSP-a kao problem sa sertifikatom, ali ova funkcija je opciona i zahteva posebnu registraciju sertifikata.

CRLite vam omogućava da konsolidujete kompletne informacije o svim opozvanim sertifikatima u strukturu koja se lako ažurira, veličine samo 1 MB, što omogućava skladištenje kompletne CRL baze podataka na strani klijenta.
Pretraživač će moći svakodnevno da sinhronizuje svoju kopiju podataka o opozvanim sertifikatima, a ova baza podataka će biti dostupna pod bilo kojim uslovima.

CRLite kombinuje informacije iz Transparentnost certifikata, javni dnevnik svih izdatih i opozvanih certifikata, te rezultati skeniranja certifikata na Internetu (prikupljaju se razne CRL liste certifikacijskih tijela i agregiraju se podaci o svim poznatim certifikatima). Podaci se pakuju kaskadno cvjetni filteri, probabilistička struktura koja omogućava lažno otkrivanje elementa koji nedostaje, ali isključuje izostavljanje postojećeg elementa (tj., sa određenom vjerovatnoćom, lažno pozitivan rezultat za ispravan certifikat je moguć, ali je zagarantovano da će opozvani certifikati biti identificirani).

Da bi eliminisao lažne pozitivne rezultate, CRLite je uveo dodatne korektivne nivoe filtera. Nakon generiranja strukture, pretražuju se svi izvorni zapisi i identificiraju se svi lažni pozitivni rezultati. Na osnovu rezultata ove provjere kreira se dodatna struktura, koja se kaskadno prebacuje na prvu i ispravlja rezultirajuće lažne pozitivne rezultate. Operacija se ponavlja sve dok se lažni pozitivni rezultati tokom kontrolne provjere potpuno ne eliminiraju. Obično je kreiranje 7-10 slojeva dovoljno da potpuno pokrije sve podatke. Budući da stanje baze podataka, zbog periodične sinhronizacije, neznatno zaostaje za trenutnim stanjem CRL-a, provjera novih certifikata izdatih nakon posljednjeg ažuriranja baze podataka CRLite vrši se korištenjem OCSP protokola, uključujući i korištenje OCSP Stapling (OCSP odgovor certificiran od strane certifikacijskog tijela se prenosi od strane servera koji opslužuje lokaciju prilikom pregovaranja o TLS konekciji).

Mozilla implementira CRLite za provjeru problematičnih TLS certifikata

Koristeći Bloom filtere, decembarski deo informacija iz WebPKI-ja, koji pokriva 100 miliona aktivnih sertifikata i 750 hiljada opozvanih sertifikata, mogao je da se spakuje u strukturu veličine 1.3 MB. Proces generisanja strukture je prilično intenzivan, ali se izvodi na Mozilla serveru i korisniku se daje gotova nadogradnja. Na primjer, u binarnom obliku, izvorni podaci koji se koriste tokom generiranja zahtijevaju oko 16 GB memorije kada su pohranjeni u Redis DBMS, a u heksadecimalnom obliku, dump svih serijskih brojeva certifikata zauzima oko 6.7 GB. Proces agregiranja svih opozvanih i aktivnih certifikata traje oko 40 minuta, a proces generiranja upakovane strukture bazirane na Bloom filteru traje još 20 minuta.

Mozilla trenutno osigurava da se CRLite baza podataka ažurira četiri puta dnevno (ne isporučuju se sva ažuriranja klijentima). Generisanje delta ažuriranja još nije implementirano - upotreba bsdiff4, koji se koristi za kreiranje delta ažuriranja za izdanja, ne pruža adekvatnu efikasnost za CRLite i ažuriranja su nerazumno velika. Da bi se otklonio ovaj nedostatak, planira se preraditi format strukture za skladištenje kako bi se eliminisala nepotrebna ponovna izgradnja i brisanje slojeva.

CRLite trenutno radi u Firefoxu u pasivnom režimu i koristi se paralelno sa OCSP-om za prikupljanje statistike o ispravnom radu. CRLite se može prebaciti u glavni način skeniranja; da biste to učinili, morate postaviti parametar security.pki.crlite_mode = 2 u about:config.

Mozilla implementira CRLite za provjeru problematičnih TLS certifikata

izvor: opennet.ru

Dodajte komentar