Zoom for Mac parandab juurutamise vea – värskendage kohe! PlatoBlockchaini andmete luure. Vertikaalne otsing. Ai.

Zoom for Mac parandab juurutamise vea – värskendage kohe!

Eelmisel nädalal Nevada osariigis Las Vegases toimunud tuntud DEF CON-i turvalisuse shindigil Maci küberturvalisuse uurija Patrick Wardle selgus "juuritada" privileegi tõus (EoP) viga rakenduses Zoom for Mac:

Tema jutule [2022-08-12] järgnenud säutsus märkis Wardle:

Hetkel puudub plaaster [:PREEMUNASILMAD, KUJUTAS ALARM EMOJIT:] [:EDVARD MUNCH SCRAM EMOJI:]

Zoom töötas kohe vea jaoks plaastri, millest teatati järgmisel päeval Suumi turvabülletään ZSB-22018, teenides õnnitluse vastus Wardle'ilt protsessis:

Mahalos @Zoomile (uskumatult) kiire lahenduse saamiseks! [:MÕLEMAD KÄED TÕSTUSID TÄHISTAMISEKS JA VÕIGUTAVAD EMOJI KOHTA:] [:PALMED VAJUTUD KOKKU VAIMSE HEATAHTE MÄRGIKS EMOJI:]

Nullpäeva avalikustamine

Arvestades näilist kiirust ja kergust, millega Zoom suutis vea jaoks plaastri väljastada, dubleeritud CVE-2022-28756, mõtlete ilmselt, miks Wardle ei rääkinud Zoomile veast ette, seades üksikasjade avaldamise tähtajaks oma kõne päeva.

See oleks andnud Zoomile aega värskenduse avaldamiseks paljudele Maci kasutajatele (või vähemalt teha see kättesaadavaks neile, kes usuvad plaaster varakult / plaaster sageli), kõrvaldades lõhe Wardle'i, kes selgitab maailmale, kuidas viga kuritarvitada, ja vea parandamise vahel.

Tegelikult näib, et Wardle andis mõned kuud tagasi kõik endast oleneva, et hoiatada Zoomi selle vea eest, millele lisandus hulk omavahel seotud vigu Zoomi automaatse värskendamise protsessis.

Wardle selgitab vigade avalikustamise ajakava dokumendis slaidid tema DEF CONi kõnestja loetleb Zoomi värskenduste voo, mis on seotud tema avastatud vigadega.

Kahe teraga mõõk

Vead, mida Wardle arutas, olid üldiselt seotud Zoomi automaatse värskendamise mehhanismiga, mis on osa mis tahes tarkvara ökosüsteemist, mis on natuke kahe teraga mõõk – võimsam relv kui tavaline mõõk, kuid vastavalt ka raskemini ohutult käsitsetav.

Automaatne värskendamine on iga kaasaegse kliendirakenduse kohustuslik komponent, kuna see muudab kriitiliste paikade levitamise lihtsamaks ja kiiremaks, aidates seega kasutajatel küberturvalisuse auke usaldusväärselt sulgeda.

Kuid automaatne värskendamine toob endaga kaasa hulgaliselt riske, muu hulgas seetõttu, et värskendustööriist ise vajab tavaliselt juurtaseme süsteemijuurdepääsu.

Selle põhjuseks on asjaolu, et värskendaja ülesanne on rakendustarkvara üle kirjutada (miski, mida tavakasutaja ei peaks tegema) ja võib-olla käivitada privilegeeritud operatsioonisüsteemi käske, et teha konfiguratsiooni või muid süsteemitasemel muudatusi.

Teisisõnu, kui arendajad ei ole ettevaatlikud, võib just see tööriist, mis aitab neil nende aluseks olevat rakendust ajakohasena ja turvalisemana hoida, muutuda rannapeaks, kust ründajad võivad turvalisust õõnestada, meelitades värskendajat käivitama süsteemiõigustega volitamata käske. .

Eelkõige peavad automaatvärskendusprogrammid hoolitsema selle kontrollimise eest autentsus allalaaditavatest värskenduspakettidest, et takistada ründajaid lihtsalt toitamast võltsitud värskenduste komplekti, millele on lisatud pahavara.

Samuti peavad nad hooldama terviklikkuse värskendusfailidest, mida nad lõpuks tarbivad, nii et kohalik ründaja ei saaks hankimise ja aktiveerimise vahelise lühikese aja jooksul äsja allalaaditud "kontrollitud turvalist" värskenduspaketti hiilivalt muuta.

Autentsuse kontrollist kõrvale hiilimine

Nagu Wardle omas selgitab paber, oli üks vigadest, mille ta avastas ja avalikustas, viga esimeses ülaltoodud etapis, kui Zoomi automaatvärskendaja püüdis kontrollida äsja alla laaditud värskenduspaketi autentsust.

Selle asemel, et kasutada ametlikke macOS-i API-sid allalaaditava faili digiallkirja otse kinnitamiseks, otsustasid Zoomi arendajad autentimise teha kaudselt, käivitades macOS-i utiliidi. pkgutil --check-signature taustal ja väljundit uurides.

Siin on näide pkgutil väljund, kasutades vana versiooni Zoom.pkg tarkvarapakett:

$ pkgutil --check-signature Zoom.pkg Pakett "Zoom.pkg": Olek: allkirjastatud Apple'i poolt levitamiseks väljastatud arendaja sertifikaadiga Allkirjastatud usaldusväärse ajatempliga: 2022-06-27 01:26:22 +0000 sertifikaadiahel : 1. Arendaja ID installija: Zoom Video Communications, Inc. (BJ4HAAB9B3) Aegub: 2027-02-01 22:12:15 +0000 SHA256 Sõrmejälg: 6D 70 1A 84 F0 5A D4 C1 C1 B3EE01F AEE2F FB 1F 2C A9 5 6 A80 48 4 FF B76 F60 5 BB 0C ------------------------------------ ------------------------------------- 57. Arendaja ID sertifitseerimisasutus aegub: 8-2-2027 02:01:22 +12 SHA15 Sõrmejälg: 0000A FC 256D 7 A9 01F 6 A2 DE 03 2 96 37D 93A FE 6 4 68D 09D E0 2D 1 F8 03C 2 BACF B9-88---0 -------------------------------------------------- -------------- 1. Apple Root CA aegub: 63-58-7 3:2035:02 +09 SHA21 Sõrmejälg: B40 B36 0000 256E CB C0 FF 1 73 0 7C 45 F05 14 2E 49E DA 1B CA ED 29E 5C 6 C6 BE 7 B2 A68 5 91 F5 1

Kahjuks, nagu Wardle avastas Zoomi allkirja kinnituskoodi dekompileerimisel, ei töötlenud Zoomi värskendaja pkgutil andmeid samal viisil, nagu seda teeksid inimvaatlejad.

Kontrolliksime väljundit, järgides väljundis kasulikku visuaalset järjestust.

Esiteks otsiksime esmalt soovitud olekut, nt signed by a developer certificate issued by Apple for distribution.

Siis leidsime alampealkirja Certificate Chain:.

Lõpuks kontrollisime, kas kett koosnes nendest kolmest allkirjastajast õiges järjekorras:

  1. Zoom Video Communications, Inc. 2. Arendaja ID sertifitseerimisasutus 3. Apple Root CA

Hämmastaval kombel kontrollis Zoomi kood lihtsalt, et kõik kolm ülaltoodud stringi (isegi Zoomi enda unikaalset ID-d ei kontrollinud BJ4HAAB9B3) ilmus kohale kuskil väljundis alates pkgutil.

Niisiis, luues paketi absurdse, kuid kehtiva nimega, näiteks Zoom Video Communications, Inc. Developer ID Certification Authority Apple Root CA.pkg meelitaks paketi kontrollijat otsitud "identiteedi stringid" leidma.

Paketi täisnimi kajatakse sisse pkgutil väljundi päis esimesel real, kus Zoomi õnnetu "tõendaja" sobiks kõigi kolme tekstistringiga väljundi vales osas.

Seega saab "turvakontrollist" triviaalselt mööda minna.

Osaline parandus

Wardle ütleb, et Zoom parandas selle vea lõpuks rohkem kui seitse kuud pärast sellest teatamist õigeaegselt DEF CON-i jaoks…

…aga pärast plaastri paigaldamist märkas ta, et värskendusprotsessis oli ikka veel haigutav auk.

Värskendaja püüdis teha õiget asja:

  • 1. Teisaldage allalaaditud pakett juurkataloogi, ja seega teoreetiliselt keelatud igale tavakasutajale.
  • 2. Kontrollige allalaaditud paketi krüptograafilist allkirja, kasutades ametlikke API-sid, mitte tekstisobitamise abil pkgutil väljund.
  • 3. Dearhiveerige allalaaditud paketifail, versiooninumbri kontrollimiseks, et vältida alandamise rünnakuid.
  • 4. Installige allalaaditud paketifail, kasutades automaatse värskendamise protsessi juurõigusi.

Kahjuks, kuigi värskenduspaketi salvestamiseks kasutatud kataloog kuulus administraatorile, püüdes kaitsta seda uudishimulike kasutajate eest, kes üritavad värskendusfaili selle kasutamise ajal õõnestada...

…äsja allalaaditud paketifail jäeti oma uude asukohta "maailmas kirjutatavaks" (kõrvalmõju, et selle laadis alla tavaline konto, mitte root).

See andis kohalikele ründajatele lünka värskenduspaketi muutmiseks pärast selle digitaalallkiri on kinnitatud (samm 2), mõjutamata versioonikontrolli üksikasjad (samm 3), kuid vahetult enne installer võttis paketifaili üle kontrolli, et töödelda seda juurõigustega (samm 4).

Seda tüüpi viga on tuntud kui a võistluse seisund, sest ründajad peavad oma lõpetamise ajastama nii, et nad jõuaksid koju vahetult enne installija käivitamist, ja peavad seetõttu oma pahatahtlikud muudatused vahetult enne seda hiilima.

Seda tüüpi haavatavusele viidatakse ka eksootilise kõlaga akronüümina TOCTOU, lühike kontrolliaeg-kasutusaeg, nimi, mis tuletab selgelt meelde, et kui kontrollite oma fakte liiga kaua ette, võivad need olla aegunud, kui neile tuginete.

TOCTOU probleem seisneb selles, et Ühendkuningriigi autorendifirmad ei palu enam lihtsalt näha teie juhiluba, mis võidi välja anda kuni 10 aastat tagasi ja mis oleks sellest ajast saadik mitmel põhjusel peatatud või tühistatud, tõenäoliselt seetõttu, et ebaturvalise või ebaseadusliku juhtimise eest. Lisaks füüsilisele litsentsile peate esitama ka ühekordse tähtnumbrilise „hiljuti kehtivuse tõendi” koodi, mis on välja antud viimase 21 päeva jooksul, et vähendada võimalikku TOCTOU-vahet kümnelt aastalt vaid kolmele nädalale.

Parandus on nüüd käes

Wardle'i sõnul on Zoom selle vea nüüd ära hoidnud, muutes ülaltoodud sammus 1 kopeeritud värskenduspaketi faili juurdepääsuõigusi.

Allkirja kontrollimiseks, versiooni kinnitamiseks ja lõplikuks juurtaseme installimiseks kasutatav fail on nüüd alati piiratud juurdepääsuga ainult juurkontole.

See eemaldab võistlustingimuse, kuna privilegeeritud ründaja ei saa faili 2. sammu lõpus (kinnitamine õnnestus) ja 4. sammu algus (paigaldamine algab).

Paketifaili muutmiseks, et meelitada süsteemi teile juurjuurdepääsu andma, peab teil juba olema juurjuurdepääs, nii et te ei vajaks seda tüüpi EoP-viga.

TOCTOU probleem ei kehti, kuna 2. toimingu kontroll jääb kehtima kuni faili kasutamise alguseni, jätmata tšeki kehtetuks muutumiseks võimalust.

Mida teha?

Kui kasutate Macis suumi, avage rakendus ja minge seejärel menüüribal aadressile zoom.us > Check for Updates...

Kui värskendus on saadaval, kuvatakse uus versioon ja võite klõpsata [Install] plaastrite pealekandmiseks:

Zoom for Mac parandab juurutamise vea – värskendage kohe! PlatoBlockchaini andmete luure. Vertikaalne otsing. Ai.

Soovitud versioon on 5.11.5 (9788) või hiljem.


Ajatempel:

Veel alates Alasti turvalisus