Patrick Wardle, a Mac kiberbiztonsági kutatója a múlt héten a jól ismert DEF CON biztonsági shindig-en Las Vegasban, Nevadában kiderült „gyökér” a kiváltság emelése (EoP) hiba a Zoom for Mac rendszerben:
Üdv mindenkinek, aki eljött hozzám @defcon beszélgetés „M̶u̶t̶e̶d̶ gyökeres vagy” 🙏🏽
Szívesen beszéltem a Zoom helyi priv-esc sebezhetőségéről (és élő demóról 😅) (macOS-hez).
Jelenleg nincs javítás 👀😱
Diák teljes részletekkel és PoC exploittal: https://t.co/viee0Yd5o2 #0day pic.twitter.com/9dW7DdUm7P
— patrick wardle (@patrickwardle) 12. augusztus 2022.
A beszédét követő tweetben [2022-08-12] Wardle megjegyezte:
Jelenleg nincs javítás [:RIASZTÁSI EMOJI:] [:EDVARD MUNCH Scream EMOJI:]
A Zoom azonnal dolgozott a hiba javításán, amelyet másnap bejelentettek Zoom biztonsági közlemény ZSB-22018, kiérdemel egy gratulációt válasz Wardle-től a folyamatban:
Mahalos a @Zoomnak a (hihetetlenül) gyors megoldásért! [: MINDKÉT KEZÜNK AZ ÜNNEPELÉSRE EMLÉKEZTETTEK ÉS AZ EMOJI HANGOLÁSA:] [: TENNYEREK ÖSSZENYOMOTT A SZELLEMI JÓAkarat JEGYÉBEN EMOJI:]
Nulladik napi közzététel
Tekintettel arra a látszólagos gyorsaságra és könnyedségre, amellyel a Zoom képes volt javítani a hibára, szinkronizálva CVE-2022 28756-, valószínűleg kíváncsi vagy, hogy Wardle miért nem szólt előre a Zoomnak a hibáról, és beszéde napját tűzte ki a részletek felfedésének határidejévé.
Ez időt kapott volna a Zoom-nak, hogy a frissítést sok Mac-felhasználója számára elérhetővé tegye (vagy legalábbis elérhetővé tegye azok számára, akik hisznek korai patch/patch gyakran), megszüntetve ezzel a szakadékot Wardle, aki elmagyarázza a világnak, hogyan kell visszaélni a hibával, és a hiba javítása között.
Valójában úgy tűnik, hogy Wardle minden tőle telhetőt megtett, hogy figyelmeztesse a Zoomot erről a hibáról, valamint néhány hónappal ezelőtt a Zoom automatikus frissítési folyamatának egy csomó, egymással összefüggő hibájáról.
Wardle elmagyarázza a hibafeltárási idővonalat a diák a DEF CON előadásából, és felsorolja az általa felfedezett hibákkal kapcsolatos Zoom-frissítések folyamát.
Kétélű kard
A Wardle által tárgyalt hibák általában a Zoom automatikus frissítési mechanizmusára vonatkoztak, amely minden olyan szoftver ökoszisztéma része, amely egy kicsit kétélű kard – erősebb fegyver, mint egy hagyományos kard, de ennek megfelelően nehezebb biztonságosan kezelni.
Az automatikus frissítés minden modern kliens alkalmazás kötelező eleme, mivel megkönnyíti és gyorsabbá teszi a kritikus javítások terjesztését, így segíti a felhasználókat a kiberbiztonsági rések megbízható bezárásában.
De az automatikus frissítés tengernyi kockázatot rejt magában, nem utolsósorban azért, mert magának a frissítőeszköznek jellemzően gyökérszintű rendszer-hozzáférésre van szüksége.
Ennek az az oka, hogy a frissítő feladata az alkalmazásszoftver felülírása (amit egy átlagos felhasználónak nem szabadna megtennie), és esetleg privilegizált operációs rendszer-parancsokat indítani a konfiguráció vagy más rendszerszintű változtatások elvégzéséhez.
Más szóval, ha a fejlesztők nem vigyáznak, akkor éppen az az eszköz, amely segíti őket naprakészen és biztonságosabban tartani a mögöttes alkalmazást, egy olyan úttörővé válhat, amelyből a támadók felforgathatják a biztonságot azáltal, hogy ráveszik a frissítőt, hogy jogosulatlan parancsokat futtasson rendszerjogosultságokkal. .
Nevezetesen, az automatikus frissítési programoknak gondoskodniuk kell a hitelesség az általuk letöltött frissítési csomagok közül, hogy megakadályozzák a támadókat, hogy egyszerűen egy hamis frissítési csomagot tápláljanak, kiegészítve rosszindulatú programokkal.
Fenn kell tartaniuk a sértetlenség a frissítési fájlok közül, amelyeket végül felhasználnak, így a helyi támadó ne tudja alattomosan módosítani az éppen letöltött „ellenőrzött biztonságos” frissítési csomagot a lekérés és az aktiválás közötti rövid idő alatt.
Az eredetiség-ellenőrzés kikerülése
Ahogy Wardle kifejti a sajátjában papír, az egyik általa felfedezett és feltárt hiba a fent felsorolt első lépés hibája volt, amikor a Zoom automatikus frissítője megpróbálta ellenőrizni az éppen letöltött frissítőcsomag hitelességét.
Ahelyett, hogy a hivatalos macOS API-kat használták volna a letöltés digitális aláírásának közvetlen ellenőrzésére, a Zoom fejlesztői úgy döntöttek, hogy a hitelesítést közvetetten végzik el, a macOS segédprogram futtatásával. pkgutil --check-signature
a háttérben és a kimenetet vizsgálva.
Itt egy példa pkgutil
kimenet, a régi verzió használatával Zoom.pkg
szoftvercsomag:
$ pkgutil --check-signature Zoom.pkg "Zoom.pkg" csomag: Állapot: az Apple által forgalmazásra kiadott fejlesztői tanúsítvánnyal aláírva Megbízható időbélyeggel aláírva: 2022-06-27 01:26:22 +0000 tanúsítványlánc : 1. Fejlesztői azonosító telepítője: Zoom Video Communications, Inc. (BJ4HAAB9B3) Lejár: 2027-02-01 22:12:15 +0000 SHA256 Ujjlenyomat: 6D 70 1A 84 F0 5A D4 C1 C1 B3 AEEF01F FB 2F 1C A2 9 5 A6 80 48 FF B4 F76 60 BB 5C ----------------------------------- ------------------------------------- 0. Fejlesztői azonosító tanúsító hatóság lejár: 57-8-2 2027:02:01 +22 SHA12 Ujjlenyomat: 15A FC 0000D 256 A7 9F 01 A6 DE 2 03 2 96D 37A FE 93 6 4D 68D E09 0D 2 F1 8C 03 BA CF B2-9-88 -------------------------------------------------- -------------- 0. Apple Root CA lejár: 1-63-58 7:3:2035 +02 SHA09 Ujjlenyomat: B21 B40 36 0000E CB C256 FF 0 1 73 0C 7 F45 05 14E 2E DA 49B CA ED 1E 29C 5 C6 BE 6 B7 A2 68 5 F91 5
Sajnos, ahogy Wardle felfedezte, amikor visszafordította a Zoom aláírás-ellenőrző kódját, a Zoom frissítő nem dolgozta fel a pkgutil
adatokat ugyanúgy, mint az emberi megfigyelők.
A kimenetet a hasznos vizuális sorrend követésével ellenőrizzük.
Először először keressük meg a kívánt állapotot, pl signed by a developer certificate issued by Apple for distribution
.
Aztán megkerestük az alcímet Certificate Chain:
.
Végül ellenőrizzük, hogy a lánc a következő három aláíróból áll-e, a megfelelő sorrendben:
1. Zoom Video Communications, Inc. 2. Fejlesztői azonosító tanúsító hatóság 3. Apple Root CA
Meglepő módon a Zoom kódja egyszerűen ellenőrizte, hogy a fenti három karakterlánc mindegyike megfelel-e (még a Zoom saját egyedi azonosítóját sem ellenőrizte BJ4HAAB9B3
) felbukkant valahol a kimenetben pkgutil
.
Tehát egy abszurd, de érvényes névvel rendelkező csomag létrehozása, mint pl Zoom Video Communications, Inc. Developer ID Certification Authority Apple Root CA.pkg
rávenné a csomagellenőrzőt, hogy megtalálja a keresett „identitáskarakterláncokat”.
A teljes csomagnév visszhangzik a pkgutil
kimeneti fejléc az első sorban, ahol a Zoom szerencsétlen „ellenőrzője” a kimenet rossz részén található mindhárom szöveges karakterláncra illeszkedne.
Így a „biztonsági” ellenőrzés triviálisan megkerülhető.
Részleges javítás
Wardle azt mondja, hogy a Zoom végül kijavította ezt a hibát, több mint hét hónappal azután, hogy bejelentette, időben a DEF CON számára…
…de a javítás felhelyezése után észrevette, hogy a frissítési folyamatban még mindig tátong egy lyuk.
A frissítő megpróbálta a helyes dolgot tenni:
- 1. Helyezze át a letöltött csomagot a root tulajdonában lévő könyvtárba, és így elméletileg tiltva minden rendszeres felhasználó számára.
- 2. Ellenőrizze a letöltött csomag kriptográfiai aláírását, hivatalos API-k használatával, nem pedig szövegegyeztetéssel
pkgutil
kimenet. - 3. Szüntesse meg a letöltött csomagfájl archiválását, verziószámának ellenőrzése, a leminősítési támadások megelőzése érdekében.
- 4. Telepítse a letöltött csomagfájlt, az automatikus frissítési folyamat root jogosultságait használva.
Sajnos annak ellenére, hogy a frissítési csomag tárolására használt könyvtár a root tulajdonában volt, megpróbálva megvédeni a kíváncsi felhasználóktól, akik megpróbálják felforgatni a frissítési fájlt használat közben…
…az újonnan letöltött csomagfájl „világ írható” maradt az új helyén (mellékhatás, hogy egy normál fiókból, nem pedig a root által töltötték le).
Ezzel a helyi támadók kiskaput kaptak a frissítési csomag módosításához után a digitális aláírás érvényesítése megtörtént (2. lépés), befolyásolása nélkül a verzióellenőrzés részletei (3. lépés), de előtt a telepítő átvette az irányítást a csomagfájl felett, hogy root jogosultsággal dolgozza fel (4. lépés).
Ezt a fajta hibát a versenyfeltétel, mert a támadóknak időzíteniük kell a befejezést, hogy közvetlenül a telepítő megkezdése előtt hazaérjenek, és ezért a rosszindulatú változtatásokat közvetlenül előtte kell végrehajtaniuk.
Ezt a fajta sebezhetőséget az egzotikus hangzású mozaikszó is hallani fogja TOCTOU, röviden az ellenőrzési időtől a használati időig, egy név, amely egyértelműen emlékeztet arra, hogy ha túlságosan előre ellenőrzi a tényeket, előfordulhat, hogy azok már elavultak, mire hagyatkozik rájuk.
A TOCTOU-probléma az, hogy az Egyesült Királyságban az autókölcsönző cégek már nem egyszerűen csak azt kérik, hogy lássák a vezetői engedélyét, amelyet akár 10 éve is kiadhattak volna, és azóta több okból felfüggesztették vagy törölték volna, valószínűleg azért, mert a nem biztonságos vagy illegális vezetés miatt. A fizikai jogosítvánnyal együtt egy egyszeri alfanumerikus „a legutóbbi érvényesség igazolása” kódot is be kell mutatnia, amelyet az elmúlt 21 napban adtak ki, hogy a TOCTOU lehetséges eltérését 10 évről mindössze három hétre csökkentse.
A javítás megérkezett
Wardle szerint a Zoom megakadályozta ezt a hibát azáltal, hogy megváltoztatta a hozzáférési jogokat a fenti 1. lépésben átmásolt frissítési csomagfájlban.
Az aláírás-ellenőrzéshez, a verzióellenőrzéshez és a végső gyökérszintű telepítéshez használt fájlhoz mostantól mindig csak a root fiók férhet hozzá.
Ez eltávolítja a versenyfeltételt, mert egy nem jogosult támadó nem tudja módosítani a fájlt a 2. lépés (az ellenőrzés sikeres) és a 4. lépés kezdete (megkezdődik a telepítés).
Ahhoz, hogy módosítsa a csomagfájlt annak érdekében, hogy a rendszer becsapja a root hozzáférést, akkor már root hozzáféréssel kell rendelkeznie, így eleve nincs szükség ilyen EoP hibára.
A TOCTOU probléma nem érvényesül, mert a 2. lépésben végrehajtott ellenőrzés mindaddig érvényes marad, amíg a fájl használata el nem kezdődik, és nem hagy lehetőséget arra, hogy a csekk érvénytelenné váljon.
Mit kell tenni?
Ha Mac gépen használja a Zoom-ot, nyissa meg az alkalmazást, majd a menüsorban lépjen a következőre zoom.us
> Check for Updates...
Ha elérhető frissítés, megjelenik az új verzió, és rákattinthat [Install]
a javítások felhelyezéséhez:
A kívánt verzió az 5.11.5 (9788) vagy későbbi.
- blockchain
- coingenius
- cryptocurrency pénztárcák
- titkosítás
- CVE-2022 28756-
- kiberbiztonság
- kiberbűnözők
- Kiberbiztonság
- belbiztonsági osztály
- digitális pénztárcák
- tűzfal
- Kaspersky
- MacOS
- malware
- McAfee
- Meztelen biztonság
- NexBLOC
- OS X
- Plató
- plato ai
- Platón adatintelligencia
- Platón játék
- PlatoData
- platogaming
- VPN
- sebezhetőség
- Wardle
- A honlap biztonsága
- zephyrnet
- gyertya