Dhaloja e skemës rrënjësore AddTrust çoi në dështime në sistemet me OpenSSL dhe GnuTLS

30 maj u skadencën 20-vjeçare të certifikatës rrënjësore AddTrust, i cili u përdor për formimin e nënshkrimit ndërmjetës (cross-signed) në certifikatat e një prej qendrave të mëdha të certifikimit Sectigo (Comodo). Nënshkrimi ndërmjetës siguron kompatibilitet me pajisje të vjetra, në memorjen e certifikatave rrënjësore të cilave nuk u është shtuar certifikata e re USERTRust.

Dhaloja e skemës rrënjësore AddTrust çoi në dështime në sistemet me OpenSSL dhe GnuTLS

Teorikisht, skadimi i certifikatës rrënjësore AddTrust do të rezultonte në një humbje të vetëm të kompatibilitetit me sistemet e vjetra (Android 2.3, Windows XP, Mac OS X 10.11, iOS 9 etj.), pasi certifikata e dytë rrënjësore, e përdorur në nënshkrimin ndërmjetës, mbetet e vlefshme dhe shfletuesit modernë e konsiderojnë atë në verifikimin e zinxhirit të besimit. Në praktikë u zbuluan probleme me verifikimin e nënshkrimit ndërmjetës në klientët që nuk përdorin shfletuesit TLS, përfshirë ata të bazuar në OpenSSL 1.0.x dhe GnuTLS. Koneksioni i sigurt ka pushuar së funksionuari duke nxjerrë një mesazh gabimi për skadimin e certifikatës, nëse në server përdoret një certifikatë Sectigo, e lidhur me zinxhirin e besimit me certifikatën rrënjësore AddTrust.

Nëse përdoruesit e shfletuesve modernë nuk vënë re skadimin e certifikatës rrënjësore AddTrust gjatë përpunimit të certifikatave të nënshkruara ndërmjetësisht nga Sectigo, problemet filluan të shfaqen në aplikacione të ndryshme dhe përpunues serverësh, çka çoi në shkelje të punimin e shumë infrastrukturave që përdorin kanale të enkriptuara për interaksionin midis komponenteve.

Për shembull, u shfaqën problemet me aksesin në disa depo paketesh në Debian dhe Ubuntu (apt filloi të jepte një gabim verifikimi certifikate), ndodhi dështimi i thirrjeve nga skriptet duke përdorur utilitat 'curl' dhe 'wget', dhe u vërejtën gabime gjatë përdorimit të Git, u prish funksionimi i platformës së transmetimit Roku, ndaluar thirrjet e përpunuesve Stripe dhe DataDog, filluan të shfaqen dështime në aplikacionet Heroku, ndalën klientët OpenLDAP, u përjetuan probleme me dërgimin e postës në serverët SMTPS dhe SMTP me STARTTLS. Për më tepër, vërehen probleme në skriptet e ndryshme Ruby, PHP, dhe Python që përdorin modul me klientin http. Nga shfletuesit, problemi dhe Epiphany, në të cilin ndaluan ngarkimin e listave të bllokimit të reklamave.

Programet në gjuhën Go nuk preken nga problemi, pasi në Go ofrohet implementimi i tij TLS.

Pritej, që problemi prekte versionet e vjetra të distribucioneve (përfshirë Debian 9, Ubuntu 16.04, RHEL 6/7) në të cilat përdoren degët problematike të OpenSSL, por problemi u shfaq edhe gjatë funksionimit të menaxherit të pakove APT në versionet aktuale Debian 10 dhe Ubuntu 18.04/20.04, pasi APT përdor bibliotekën GnuTLS. Problemi në thelb është se shumë libra TLS/SSL interpretojnë certifikatën si një zinxhir linear, ndërsa sipas RFC 4158, certifikata mund të paraqesë një graf të orientuar të shpërndarë ciklik me disa ankerë besimi që duhet të merren parasysh. Ky problem i papërfunduar në OpenSSL dhe GnuTLS të ketë dihet ka qenë i njohur për shumë vite. Në OpenSSL problemi u zgjidh në degën 1.1.1, ndërsa GnuTLS mbetet nuk është rregulluar.

Si një zgjidhje angazhimi, sugjerohet të fshihet nga magazina sistematike certifikata 'AddTrust External CA Root' (për shembull, të fshihet nga /etc/ca-certificates.conf dhe /etc/ssl/certs, pastaj të ekzekutohet 'update-ca-certificates -f -v'), pas së cilës OpenSSL fillon të trajtojë normalisht certifikatat e nënshkruara ndërmjetësisht që përfshijnë atë. Duke përdorur menaxherin e pakove APT, me rrezik të vet, mund të çaktivizoni për disa kërkesa verifikimin e certifikatave (për shembull, 'apt-get update -o Acquire::https::download.jitsi.org::Verify-Peer=false').

Për të bllokuar problemin në Fedora dhe RHEL propozohet të shtohet certifikata AddTrust në listën e bardhë:

dump besnik —filtroni «pkcs11:id=;lloji=cert»
> /etc/pki/ca-trust/source/blacklist/addtrust-external-root.p11-kit
update-ca-trust extract

Por ky metodë nuk funksionon për GnuTLS (për shembull, vazhdon të jepet një gabim verifikimi certifikate gjatë ekzekutimit të utilit wget).

Nga ana e serverit, mund të ndryshoni rendin e certifikatave në zinxhirin e besimit, që dërgohen nga serveri tek klienti (nëse certifikata e lidhur me 'AddTrust External CA Root' hiqet nga lista, atëherë verifikimi nga klienti do të kalojë me sukses). Për të verifikuar dhe gjeneruar një zinxhir të ri besimi, mund të përdorni shërbimin whatsmychaincert.com. Kompania Sectigo gjithashtu ofroi një certifikatë alternative të nënshkruar ndërmjetësisht 'AAA Certificate Services', e cila do të jetë në fuqi deri në vitin 2028 dhe do të lejojë mbajtjen e kompatibilitetit me versionet e vjetra të OS-së.

Shtesë: Problemi gjithashtu shfaqet në LibreSSL.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster