Mozilla problemli TLS sertifikatlarının yoxlanması üçün CRLite tətbiq edir

Mozilla Şirkəti elan etdi Firefox-un gecə yığmalarında ləğv edilmiş sertifikatların müəyyənləşdirilməsi üçün yeni mexanizmin sınaqlarına başlandığı barədə CRLite. CRLite, istifadəçi sistemində yerləşən məlumat bazası vasitəsilə effektiv sertifikat ləğvini yoxlamağı təşkil etməyə imkan verir. Mozilla-da inkişaf etdirilən CRLite-nin icrası tam olaraq MPL 2.0 açıq lisenziya altında hazırlanır. Məlumat bazasının yaradılması üçün kod və server komponentləri Python Go dilində yazılmışdır. Firefox-a məlumat bazasından məlumatları oxumaq üçün əlavə edilmiş müştəri hissələri hazırlanmışdır Rust dilindədir.

Hələ də xarici xidmətlərlə birlikdə həyata keçirilən sertifikatların yoxlanması OCSP (Onlayn Sertifikat Status Protokolu) mütləq şəbəkə girişinin olmasını tələb edir, sorğunun işlənməsi zamanı əhəmiyyətli gecikmələrə (orta hesabla 350 ms) səbəb olur və məxfiliklə bağlı problemlər yaradır (OCSP sorğularına cavab verən serverlər istifadəçinin açdığı spesifik sertifikatlar haqqında məlumat alır). Eyni zamanda, sertifikatların ləğv edilməsi üçün siyahılarla yerli yoxlama imkanı da var CRL (Sertifikat Ləğv Siyahısı), lakin bu metodun mənfi cəhəti yüklənən məlumatların çox böyük ölçüdə olmasıdır — hal-hazırda ləğv edilmiş sertifikatların məlumat bazası təxminən 300 MB ölçüdədir və onun böyüməsi davam edir.

Firefox-da 2015-ci ildən etibarən mərkəzləşdirilmiş qara siyahıdan istifadə olunur OneCRL Google Safe Browsing xidməti ilə birlikdə, mümkün zərərli fəaliyyətləri müəyyən etmək üçün. OneCRL, eləcə də CRLSets Chrome-da, sertifikat ləğv siyahılarını toplayan və ləğv edilmiş sertifikatları yoxlamaq üçün mərkəzləşdirilmiş OCSP xidməti təqdim edən araşdırma səviyyəsində çıxış edir, bu, birbaşa sertifikat verən orqanlara sorğular göndərməyə ehtiyac qalmır. Sertifikatların onlayn yoxlama xidmətinin etibarlılığını artırmaq üçün hər hansı bir iş görülməsinə baxmayaraq, telemetriya məlumatları göstərir ki, OCSP sorğularının 7%-dən çoxu vaxt aşımı ilə nəticələnir (bir neçə il əvvəl bu göstərici 15% idi). Əgər OCSP vasitəsilə yoxlama aparmaq mümkün deyilsə, brauzer sertifikatı düzgün hesab edir. Xidmət, şəbəkə problemləri və daxili şəbəkələrdəki məhdudiyyətlərlə yanaşı, hücumçılar tərəfindən bloklana bilər — MITM hücumları zamanı OCSP yoxlamasını aşmaq üçün sadəcə yoxlama xidmətinə girişin maneə törədilməsi kifayətdir. Belə hücumları müəyyən dərəcədə qarşısını almaq üçün

Must-Staple texnikası həyata keçirilmişdir, bu da OCSP-yə müraciət etmə xətasını və ya OCSP-nin əlçatan olmamasını sertifikatla bağlı bir problem kimi qiymətləndirməyə imkan verir, lakin bu imkan mütləq deyil və sertifikatın xüsusi tərtibatını tələb edir., bu, OCSP-yə müraciət etmə səhvinin və ya OCSP-nin əlçatan olmamasının sertifikatla bağlı problem olduğunu şərh etməyə imkan verir, lakin bu imkanı istifadə etmək üçün xüsusi sertifikat tərtibi tələb olunur.

CRLite, müştəri tərəfində tam CRL bazasını saxlamağa imkan verən, ölçüsü cəmi 1 MB olan asanlıqla yenilənən strukturdur.
Brauzer, hər gün ləğv edilmiş sertifikatlarla bağlı məlumatların öz surətini sinxronlaşdıracaq, bu verilənlər bazası isə hər hansı bir şəraitdə əlçatan olacaq.

CRLite məlumatları bir araya gətirir Sertifikat Şaffaflığı, bütün verilmiş və ləğv edilmiş sertifikatların ictimai jurnalını və internetdəki sertifikat hissələrinin skan edilməsi nəticələrini (müxtəlif CRL siyahıları toplanır, etibarnamələrin fərdi məlumatları agregasiya olunur). Məlumatlar kaskadlı Bloom filtrləri, itkin elementi yanlışlıqla müəyyən etməyə icazə verən, lakin mövcud elementi qaçırmağı istisna edən ehtimal strukturu ilə yığılır (yəni, müəyyən bir ehtimal ilə düzgün sertifikat üzərində yanlış sınaq yarana bilər, lakin ləğv edilmiş sertifikatlar təminatlı olaraq aşkar ediləcək).

CRLite-də yanlış sınaqları aradan qaldırmaq üçün əlavə düzəliş səviyyələri tətbiq olunur. Strukturu yaradıldıqdan sonra, bütün ilkin qeydlər yoxlanılır və meydana gəlmiş yanlış sınaqlar müəyyən edilir. Bu yoxlama nəticələrinə əsasən, ilk struktura kaskadlı olaraq əlavə edilən başqa bir struktur yaradılır və meydana gəlmiş yanlış sınaqlar düzəldilir. İşləmə, yoxlama zamanı yanlış sınaqlar tam olaraq aradan qaldırılana qədər davam edir. Adətən, bütün məlumatları tamamilə əhatə etmək üçün 7-10 qat yaratmaq kifayətdir. Brauzer verilənlər bazasının vəziyyəti mütəmadi sinxronizasiya səbəbindən CRL-in aktual vəziyyətindən bir az geri qalıb, CRLite verilənlər bazası ilə son yeniləmə sonrası verilmiş yeni sertifikatların yoxlanılması OCSP protokolu vasitəsilə həyata keçirilir, o cümlədən OCSP Stapling (etibarnamə mərkəzi tərəfindən təsdiqlənmiş OCSP cavabı TLS bağlantısı həyata keçirilərkən xidmət edən veb serveri ilə ötürülür).

Mozilla problemli TLS sertifikatlarının yoxlanması üçün CRLite tətbiq edir

Bloom filtrləri vasitəsilə 100 milyon aktiv sertifikat və 750 min ləğv edilmiş sertifikatı əhatə edən WebPKI məlumatlarının dekabr kəsimi 1.3 MB ölçüsündə bir struktura yığılmışdır. Strukturun yaradılması prosesi kifayət qədər resurs tələb edən, lakin Mozilla serverində icra olunan və istifadəçiyə hazır yeniləmə təqdim edilən bir prosesdir. Məsələn, yaradılma zamanı istifadə edilən ilkin məlumatlar 16 GB yaddaş tələb edir, Redis DB-də saxlanıldığında, bütün sertifikat seriya nömrələrinin hexadecimala çevrilmiş dump-ı təxminən 6.7 GB yer tutur. Ləğv edilmiş və aktiv sertifikatların toplanması prosesi təxminən 40 dəqiqə, Bloom filtri əsasında yığılmış strukturun yaradılması prosesi isə 20 dəqiqə tələb edir.

Hazırda Mozilla, CRLite məlumat bazasını gün ərzində dörd dəfə yeniləyir (bütün yeniləmələr müştərilərə çatdırılmır). Delta yeniləmələrinin yaradılması hələ həyata keçirilməyib - bsdiff4-dən istifadə edərək buraxılışların delta yeniləmələrini yaratmaq CRLite üçün lazımi effektivliyi təmin etmir və yeniləmələr haqsız yerə çox böyük olur. Bu çatışmazlığı aradan qaldırmaq üçün saxlama strukturu formatı yenidən işlənilir ki, lazımsız yenidənqurma və təbəqələrin çıxarılmasından qaçsın.

CRLite hazırda Firefox-da passiv rejimdə işləyir və OCSP ilə paralel olaraq işləmə statistikalarını toplamaq üçün istifadə olunur. CRLite-i əsas yoxlama rejiminə keçirmək mümkündür, bunun üçün about:config-də security.pki.crlite_mode = 2 parametrini təyin etmək lazımdır.

Mozilla problemli TLS sertifikatlarının yoxlanması üçün CRLite tətbiq edir

Mənbə: opennet.ru

DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər 🔥 DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər | ProHoster