A Mozilla a CRLite-t valósítja meg a problémás TLS-tanúsítványok ellenőrzéséhez

Mozilla Company bejelentett a Firefox éjszakai buildjei tesztelésének megkezdéséről egy új mechanizmus a visszavont tanúsítványok észlelésére - CRLite. A CRLite lehetővé teszi, hogy hatékony tanúsítvány-visszavonás-ellenőrzést szervezzen a felhasználó rendszerén tárolt adatbázishoz. A Mozilla CRLite implementációja közzétett az ingyenes MPL 2.0 licenc alatt. Az adatbázis és a szerver összetevők generálásához szükséges kód be van írva Piton és megy. Kliens részek hozzáadva a Firefoxhoz az adatbázisból való adatok olvasásához előkészített rozsda nyelven.

Tanúsítvány-ellenőrzés külső szolgáltatások használatával a továbbra is használt protokoll alapján OCSP (Online Certificate Status Protocol) garantált hálózati hozzáférést igényel, jelentős késedelmet okoz a kérések feldolgozásában (átlagosan 350 ms), és problémái vannak a titkosság biztosításával (a kérésekre válaszoló OCSP-szerverek információt kapnak bizonyos tanúsítványokról, amelyek alapján megítélhető, hogy a felhasználó által megnyitott webhelyek). Lehetőség van a listák alapján történő helyi ellenőrzésre is C.R.L. (Certificate Revocation List), de ennek a módszernek a hátránya a letöltött adatok igen nagy mérete - jelenleg a visszavont tanúsítványok adatbázisa körülbelül 300 MB-ot foglal el és a növekedése tovább tart.

A hitelesítésszolgáltatók által feltört és visszavont tanúsítványok blokkolására a Firefox 2015 óta központi feketelistát használ. OneCRL szervizhívással kombinálva Google Biztonságos Böngészés az esetleges rosszindulatú tevékenység azonosítására. OneCRL, pl CRL -készletek a Chrome-ban köztes hivatkozásként működik, amely összesíti a hitelesítésszolgáltatók CRL-listáit, és egyetlen központosított OCSP-szolgáltatást biztosít a visszavont tanúsítványok ellenőrzéséhez, lehetővé téve, hogy ne küldjenek kéréseket közvetlenül a tanúsító hatóságoknak. Az online tanúsítvány-ellenőrző szolgáltatás megbízhatóságának javítása érdekében végzett sok munka ellenére a telemetriai adatok azt mutatják, hogy az OCSP-kérelmek több mint 7%-a időtúllépést jelent (néhány évvel ezelőtt ez az arány 15%).

Alapértelmezés szerint, ha az OCSP-n keresztüli ellenőrzés nem lehetséges, a böngésző érvényesnek tekinti a tanúsítványt. Előfordulhat, hogy a szolgáltatás nem érhető el hálózati problémák és a belső hálózatokra vonatkozó korlátozások miatt, vagy a támadók blokkolják – az OCSP-ellenőrzés megkerüléséhez MITM-támadás során egyszerűen blokkolja a hozzáférést az ellenőrzési szolgáltatáshoz. Az ilyen támadások megelőzése érdekében egy technikát alkalmaztak Must-tűzés, amely lehetővé teszi, hogy az OCSP hozzáférési hibát vagy az OCSP elérhetetlenségét a tanúsítvánnyal kapcsolatos problémaként kezelje, de ez a szolgáltatás nem kötelező, és a tanúsítvány speciális regisztrációját igényli.

A CRLite lehetővé teszi az összes visszavont tanúsítvány teljes információjának összevonását egy könnyen frissíthető, mindössze 1 MB méretű struktúrába, amely lehetővé teszi a teljes CRL adatbázis tárolását a kliens oldalon.
A böngésző naponta képes lesz szinkronizálni a visszavont tanúsítványok adatainak másolatát, és ez az adatbázis minden körülmények között elérhető lesz.

A CRLite a forrásból származó információkat egyesíti Tanúsítvány átláthatósága, az összes kiadott és visszavont tanúsítvány nyilvános naplója, valamint a tanúsítványok internetes szkennelésének eredményei (a hitelesítésszolgáltatók különféle CRL-listáit gyűjtik, és összesítik az összes ismert tanúsítványra vonatkozó információkat). Az adatok kaszkádolás segítségével vannak csomagolva Bloom szűrők, egy valószínűségi struktúra, amely lehetővé teszi a hiányzó elem téves észlelését, de kizárja egy meglévő elem elhagyását (azaz bizonyos valószínűséggel a helyes tanúsítvány téves pozitív eredménye is lehetséges, de a visszavont tanúsítványok azonosítása garantált).

A hamis pozitívumok kiküszöbölése érdekében a CRLite további korrekciós szűrőszinteket vezetett be. A struktúra létrehozása után a rendszer minden forrásrekordot megkeres, és minden téves pozitív eredményt azonosít. Ennek az ellenőrzésnek az eredménye alapján egy további struktúra jön létre, amely az elsőre kaszkádolva korrigálja a kapott téves pozitívakat. A műveletet addig ismételjük, amíg a kontroll-ellenőrzés során a téves pozitívumok teljesen megszűnnek. Általában 7-10 réteg létrehozása elegendő az összes adat teljes lefedéséhez. Mivel az adatbázis állapota az időszakos szinkronizálás miatt kissé elmarad a CRL jelenlegi állapotától, a CRLite adatbázis utolsó frissítése után kiadott új tanúsítványok ellenőrzése az OCSP protokoll segítségével történik, beleértve a OCSP tűzés (egy hitelesítés-szolgáltató által hitelesített OCSP-választ a webhelyet kiszolgáló szerver továbbítja a TLS-kapcsolat egyeztetése során).

A Mozilla a CRLite-t valósítja meg a problémás TLS-tanúsítványok ellenőrzéséhez

A WebPKI decemberi, 100 millió aktív tanúsítványt és 750 ezer visszavont tanúsítványt lefedő információs szeletét Bloom szűrők segítségével 1.3 MB méretű struktúrába tudták csomagolni. A struktúra létrehozása meglehetősen erőforrás-igényes, de a Mozilla szerveren történik, és a felhasználó kész frissítést kap. Például bináris formában a generálás során felhasznált forrásadatok körülbelül 16 GB memóriát igényelnek a Redis DBMS-ben tárolva, hexadecimális formában pedig az összes tanúsítvány sorozatszámának kiíratása körülbelül 6.7 GB-ot igényel. Az összes visszavont és aktív tanúsítvány összesítése körülbelül 40 percet vesz igénybe, a Bloom-szűrőn alapuló csomagolt struktúra létrehozása pedig további 20 percet vesz igénybe.

A Mozilla jelenleg biztosítja, hogy a CRLite adatbázis naponta négyszer frissüljön (nem minden frissítés érkezik meg az ügyfelekhez). A delta frissítések generálása még nem valósult meg - a bsdiff4 használata, amely a kiadások delta frissítéseinek létrehozására szolgál, nem biztosítja a megfelelő hatékonyságot a CRLite számára, és a frissítések aránytalanul nagyok. Ennek a hátránynak a kiküszöbölése érdekében a tárolóstruktúra formátumának átdolgozását tervezik, hogy kiküszöböljék a rétegek szükségtelen újraépítését és törlését.

A CRLite jelenleg a Firefoxban passzív módban működik, és az OCSP-vel párhuzamosan a helyes működésre vonatkozó statisztikák gyűjtésére szolgál. A CRLite fő vizsgálati módba kapcsolható, ehhez a security.pki.crlite_mode = 2 paramétert kell beállítani az about:config-ban.

A Mozilla a CRLite-t valósítja meg a problémás TLS-tanúsítványok ellenőrzéséhez

Forrás: opennet.ru

Hozzászólás