Zoom for Mac korjaa get-root-virheen – päivitä nyt! PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Zoom for Mac korjaa get-root-virheen – päivitä nyt!

Tunnetussa DEF CON -turvallisuusshindigissä Las Vegasissa Nevadassa viime viikolla Macin kyberturvallisuuden tutkija Patrick Wardle paljasti "juuri" etuoikeuden korottaminen (EoP) -virhe Macin Zoomissa:

Twiitissä, joka seurasi hänen puheensa [2022-08-12], Wardle totesi:

Tällä hetkellä ei ole laastaria [:FRIED-EGG EYES DEPICTING ALARM EMOJI:] [:EDVARD MUNCH SCREAM EMOJI:]

Zoom korjasi välittömästi virheen, josta ilmoitettiin seuraavana päivänä Zoomin tietoturvatiedote ZSB-22018, ansaitsee onnittelun vastata Wardle prosessissa:

Mahalos @Zoomille (uskomattoman) nopeasta korjauksesta! [:MOLEMAKSET KÄDET NOUSETTUIN JUHISTAMISEKSI JA HEILUTETTUIN EMOJISTA:] [:KÄMMET YHDESSÄ PAINETTUNA HENGELLISESTÄ HYVINTAHTOSTA EMOJI:]

Nollapäivän julkistaminen

Ottaen huomioon näennäisen nopeuden ja helppouden, jolla Zoom pystyi lähettämään virheen korjaustiedoston, joka on kopioitu CVE-2022-28756, ihmettelet luultavasti, miksi Wardle ei kertonut Zoomille virheestä etukäteen ja asetti puheensa päivämäärän määräajaksi yksityiskohtien paljastamiselle.

Tämä olisi antanut Zoomille aikaa julkaista päivitys monille Mac-käyttäjilleen (tai ainakin tarjota se niille, jotka uskovat paikata aikaisin/korjaa usein), mikä eliminoi kuilun Wardlen, joka selittää maailmalle vian väärinkäyttöä, ja vian korjaamisen välillä.

Itse asiassa näyttää siltä, ​​​​että Wardle teki parhaansa varoittaakseen Zoomia tästä virheestä sekä joukko toisiinsa liittyviä puutteita Zoomin automaattisessa päivitysprosessissa muutama kuukausi sitten.

Wardle selittää virheiden paljastamisen aikajanan julkaisussa diat hänen DEF CON -puheestaanja luettelee Zoom-päivityksiä, jotka liittyvät hänen löytämiinsä puutteisiin.

Kaksiteräinen miekka

Virheet, joista Wardle keskusteli, liittyivät yleisesti Zoomin automaattiseen päivitysmekanismiin, joka on osa mitä tahansa ohjelmistoekosysteemiä, joka on hieman kaksiteräinen miekka – tehokkaampi ase kuin tavallinen miekka, mutta vastaavasti vaikeampi käsitellä turvallisesti.

Automaattinen päivitys on pakollinen komponentti kaikissa nykyaikaisissa asiakassovelluksissa, koska se tekee kriittisistä korjaustiedostoista helpompaa ja nopeampaa jakaa, mikä auttaa käyttäjiä sulkemaan kyberturvallisuusaukkoja luotettavasti.

Mutta automaattinen päivitys tuo mukanaan valtavia riskejä, ei vähiten siksi, että päivitystyökalu itse tarvitsee yleensä juuritason järjestelmän pääsyn.

Tämä johtuu siitä, että päivittäjän tehtävänä on korvata sovellusohjelmisto (mitä tavallisten käyttäjien ei pitäisi tehdä) ja kenties käynnistää käyttöjärjestelmän etuoikeutettuja komentoja konfiguraatioiden tai muiden järjestelmätason muutosten tekemiseksi.

Toisin sanoen, jos kehittäjät eivät ole varovaisia, juuri työkalusta, joka auttaa heitä pitämään taustalla olevat sovelluksensa ajan tasalla ja turvallisempana, voi tulla rantapää, josta hyökkääjät voivat heikentää turvallisuutta huijaamalla päivityksen suorittamaan luvattomia komentoja järjestelmäoikeuksin. .

Automaattisten päivitysohjelmien on erityisesti varmistettava, että aitous lataamistaan ​​päivityspaketeista estääkseen hyökkääjiä syöttämästä heille väärennettyä päivityspakettia, johon on lisätty haittaohjelmia.

Heidän on myös ylläpidettävä eheys päivitystiedostoista, joita ne lopulta kuluttavat, jotta paikallinen hyökkääjä ei voi lujasti muokata "varmennettua turvallista" päivityspakettia, joka on juuri ladattu lyhyen ajan kuluessa sen hakemisen ja aktivoinnin välillä.

Aitoustarkastuksen sivuuttaminen

Kuten Wardle selittää kirjassaan paperiYksi hänen havaitsemistaan ​​ja paljastamistaan ​​virheistä oli virhe yllä luetellussa ensimmäisessä vaiheessa, kun Zoomin automaattinen päivitysohjelma yritti varmistaa juuri lataamansa päivityspaketin aitouden.

Sen sijaan, että olisivat käyttäneet virallisia macOS-sovellusliittymiä latauksen digitaalisen allekirjoituksen vahvistamiseen suoraan, Zoomin kehittäjät päättivät tehdä todennuksen epäsuorasti suorittamalla macOS-apuohjelman. pkgutil --check-signature taustalla ja tutkimalla tulosta.

Tässä on esimerkki pkgutil ulostulo, käyttämällä vanhaa versiota Zoom.pkg ohjelmistopaketti:

$ pkgutil --check-signature Zoom.pkg Paketti "Zoom.pkg": Tila: allekirjoitettu Applen jakelua varten myöntämällä kehittäjäsertifikaatilla Allekirjoitettu luotettavalla aikaleimalla: 2022-06-27 01:26:22 +0000 varmenneketju : 1. Kehittäjätunnuksen asennusohjelma: Zoom Video Communications, Inc. (BJ4HAAB9B3) Vanhenee: 2027-02-01 22:12:15 +0000 SHA256 Sormenjälki: 6D 70 1A 84 F0 5A D4 C1 C1 B3 AEE01F AEE2F FB 1F 2C A9 5 6 A80 48 4 FF B76 F60 5 BB 0C ------------------------------------ -------------------------------------- 57. Kehittäjätunnuksen varmenneviranomainen vanhenee: 8-2-2027 02:01:22 +12 SHA15 Sormenjälki: 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 Vanhenee: 63-58-7 3:2035:02 +09 SHA21 Sormenjälki: 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

Valitettavasti, kuten Wardle huomasi purkaessaan Zoomin allekirjoituksen vahvistuskoodin, Zoom-päivitysohjelma ei käsitellyt pkgutil tietoja samalla tavalla kuin ihmistarkkailijat tekisivät.

Tarkistamme tuloksen noudattamalla hyödyllistä visuaalista järjestystä tulosteessa.

Ensin etsitään ensin haluttu tila, esim signed by a developer certificate issued by Apple for distribution.

Sitten etsimme alaotsikon Certificate Chain:.

Lopuksi tarkistamme, että ketju koostui näistä kolmesta allekirjoittajasta oikeassa järjestyksessä:

  1. Zoom Video Communications, Inc. 2. Developer ID Certification Authority 3. Apple Root CA

Hämmästyttävää kyllä, Zoomin koodi yksinkertaisesti varmisti, että kukin yllä olevista kolmesta merkkijonosta (ei edes tarkistanut Zoomin omaa yksilöllistä tunnusta BJ4HAAB9B3) ilmestyi jonnekin lähdössä alkaen pkgutil.

Joten luomalla paketin absurdilla, mutta kelvollisella nimellä, kuten Zoom Video Communications, Inc. Developer ID Certification Authority Apple Root CA.pkg huijaisi paketin varmentajan etsimäänsä "identiteettimerkkijonoa".

Paketin koko nimi toistetaan pkgutil lähtöotsikko ensimmäisellä rivillä, jossa Zoomin onneton "todentaja" vastaisi kaikkia kolmea tekstimerkkijonoa tulosteen väärässä osassa.

Siten "turvatarkastus" voitaisiin ohittaa triviaalisti.

Osittainen korjaus

Wardle sanoo, että Zoom lopulta korjasi tämän virheen, yli seitsemän kuukautta sen ilmoittamisen jälkeen, ajoissa DEF CONille…

…mutta korjaustiedoston asentamisen jälkeen hän huomasi, että päivitysprosessissa oli edelleen aukko.

Päivittäjä yritti tehdä oikein:

  • 1. Siirrä ladattu paketti pääkäyttäjän hakemistoon, ja siten teoriassa poissa rajoista kaikille tavallisille käyttäjille.
  • 2. Tarkista ladatun paketin kryptografinen allekirjoitus, käyttämällä virallisia API-liittymiä, ei tekstivastaavuuden bodgea vastaan pkgutil tuotos.
  • 3. Pura ladattu pakettitiedosto arkistosta, varmistaakseen sen versionumeron ja estääkseen alennuksen hyökkäykset.
  • 4. Asenna ladattu pakettitiedosto, käyttämällä automaattisen päivityksen pääkäyttäjän oikeuksia.

Valitettavasti, vaikka päivityspaketin tallentamiseen käytetty hakemisto oli pääkäyttäjän omistuksessa, yritettiin pitää se turvassa uteliailta käyttäjiltä, ​​jotka yrittävät horjuttaa päivitystiedostoa sen käytön aikana…

…äskettäin ladattu pakettitiedosto jätettiin "writable-writable" uuteen sijaintiinsa (sivuvaikutus, että se on ladattu tavallisella tilillä, ei pääkäyttäjällä).

Tämä antoi paikallisille hyökkääjille porsaanreiän päivityspaketin muokkaamiseen jälkeen sen digitaalinen allekirjoitus oli vahvistettu (vaihe 2), vaikuttamatta version tarkistuksen tiedot (vaihe 3), mutta juuri ennen asennusohjelma otti pakettitiedoston hallintaansa käsitelläkseen sen pääkäyttäjän oikeuksin (vaihe 4).

Tällainen bugi tunnetaan nimellä a rodun kunto, koska hyökkääjien on ajoitettava viimeistelynsä, jotta he pääsevät kotiin juuri ennen asennusohjelman alkamista, ja siksi heidän on hiipivä haitalliset muutokset juuri ennen sitä.

Kuulet myös tämän tyyppisestä haavoittuvuudesta, johon viitataan eksoottiselta kuulostavalla lyhenteellä TOCTOU, lyhenne jstk tarkastusajasta käyttöaikaan, nimi, joka on selkeä muistutus siitä, että jos tarkistat tosiasiat liian pitkälle etukäteen, ne saattavat olla vanhentuneita, kun luotat niihin.

TOCTOU-ongelma johtuu siitä, miksi autonvuokrausyritykset Isossa-Britanniassa eivät enää vain pyydä nähdäkseen ajokorttiasi, joka on voitu myöntää jopa 10 vuotta sitten ja joka olisi voitu jäädyttää tai peruuttaa useista syistä sen jälkeen, luultavasti siksi, että turvattomasta tai laittomasta ajamisestasi. Fyysisen lisenssin lisäksi sinun on esitettävä myös kertaluonteinen aakkosnumeerinen "todiste viimeaikaisesta voimassaolosta" -koodi, joka on myönnetty viimeisen 21 päivän aikana, jotta mahdollinen TOCTOU-aukko pienenee 10 vuodesta kolmeen viikkoon.

Korjaus on nyt käsillä

Wardlen mukaan Zoom on nyt estänyt tämän virheen muuttamalla käyttöoikeuksia päivityspakettitiedostoon, joka kopioitiin yllä vaiheessa 1.

Allekirjoituksen tarkistamiseen, version tarkistamiseen ja lopulliseen juuritason asennukseen käytettävä tiedosto on nyt rajoitettu vain pääkäyttäjän käyttöön aina.

Tämä poistaa kilpailutilanteen, koska etuoikeutettu hyökkääjä ei voi muokata tiedostoa vaiheen 2 (vahvistus onnistui) ja vaiheen 4 alku (asennus alkaa).

Jos haluat muokata pakettitiedostoa ja huijata järjestelmää antamaan sinulle pääkäyttäjän oikeudet, sinulla tulee olla pääkäyttäjän oikeudet, joten sinun ei alun perin tarvitsisi tämänkaltaista EoP-virhettä.

TOCTOU-ongelma ei päde, koska vaiheen 2 tarkistus on voimassa, kunnes tiedoston käyttö alkaa, eikä se jätä mahdollisuutta sekin mitätöimiseksi.

Mitä tehdä?

Jos käytät Zoomaa Macissa, avaa sovellus ja siirry sitten valikkorivillä kohtaan zoom.us > Check for Updates...

Jos päivitys on saatavilla, uusi versio näytetään, ja voit napsauttaa [Install] laastarien kiinnittäminen:

Zoom for Mac korjaa get-root-virheen – päivitä nyt! PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Haluamasi versio on 5.11.5 (9788) tai uudempi.


Aikaleima:

Lisää aiheesta Naked Security