Zoom per Mac corregge il bug di root: aggiorna ora! Intelligenza dei dati PlatoBlockchain. Ricerca verticale. Ai.

Bug di root delle patch di Zoom per Mac: aggiornalo ora!

Alla famosa festa della sicurezza DEF CON a Las Vegas, Nevada, la scorsa settimana, il ricercatore sulla sicurezza informatica Mac Patrick Wardle rivelato un "get-root" elevazione del privilegio Bug (EoP) in Zoom per Mac:

Nel tweet, che ha seguito il suo discorso [2022-08-12], Wardle ha osservato:

Al momento non ci sono patch [:UOVO FRITTO OCCHI DEPICTING EMOJI ALLARME:] [:EDVARD MUNCH SCREAM EMOJI:]

Zoom ha immediatamente lavorato a una patch per il difetto, che è stata annunciata il giorno successivo Bollettino sulla sicurezza dello zoom ZSB-22018, guadagnandosi un complimento rispondere da Wardle nel processo:

Mahalos a @Zoom per la soluzione (incredibilmente) rapida! [:LE ENTRAMBE LE MANI ALZATE IN CELEBRAZIONE E SI DIVERTONO SULLE EMOJI:] [:PALME PREMUTE INSIEME IN SEGNO DI EMOJI DI BUONA VOLONTÀ SPIRITUALE:]

Divulgazione zero-day

Vista l'apparente velocità e facilità con cui Zoom è stato in grado di emettere una patch per il bug, doppiata CVE-2022-28756, probabilmente ti starai chiedendo perché Wardle non abbia detto a Zoom del bug in anticipo, fissando il giorno del suo discorso come scadenza per rivelare i dettagli.

Ciò avrebbe dato a Zoom il tempo di distribuire l'aggiornamento ai suoi numerosi utenti Mac (o almeno di renderlo disponibile a coloro che credono in patch in anticipo / patch spesso), eliminando così il divario tra Wardle che spiega al mondo come abusare del bug e la correzione del bug.

In effetti, sembra che Wardle abbia fatto del suo meglio per avvertire Zoom di questo bug, oltre a una serie di difetti interconnessi nel processo di aggiornamento automatico di Zoom, alcuni mesi fa.

Wardle spiega la sequenza temporale di divulgazione dei bug nel file diapositive dal suo discorso sulla DEF CONed elenca un flusso di aggiornamenti di Zoom relativi ai difetti che ha scoperto.

Un'arma a doppio taglio

I bug discussi da Wardle riguardavano generalmente il meccanismo di aggiornamento automatico di Zoom, una parte di qualsiasi ecosistema software che è un po' un'arma a doppio taglio: un'arma più potente di una normale spada, ma corrispondentemente più difficile da maneggiare in sicurezza.

L'aggiornamento automatico è un componente indispensabile in qualsiasi applicazione client moderna, poiché rende le patch critiche più facili e veloci da distribuire, aiutando così gli utenti a chiudere le falle di sicurezza informatica in modo affidabile.

Ma l'aggiornamento automatico comporta un mare di rischi, non ultimo perché lo stesso strumento di aggiornamento in genere richiede l'accesso al sistema a livello di root.

Questo perché il compito del programma di aggiornamento è sovrascrivere il software dell'applicazione (qualcosa che un utente normale non dovrebbe fare) e forse lanciare comandi privilegiati del sistema operativo per apportare modifiche alla configurazione o altre modifiche a livello di sistema.

In altre parole, se gli sviluppatori non stanno attenti, lo stesso strumento che li aiuta a mantenere la loro app sottostante aggiornata e più sicura potrebbe diventare una testa di ponte da cui gli aggressori potrebbero sovvertire la sicurezza ingannando il programma di aggiornamento facendogli eseguire comandi non autorizzati con privilegi di sistema .

In particolare, i programmi di aggiornamento automatico devono fare attenzione a verificare il autenticità dei pacchetti di aggiornamento che scaricano, per impedire agli aggressori di fornire loro semplicemente un pacchetto di aggiornamento falso, completo di malware aggiunto.

Hanno anche bisogno di mantenere il interezza dei file di aggiornamento che alla fine consumano, in modo che un utente malintenzionato locale non possa modificare di nascosto il pacchetto di aggiornamento "sicuro verificato" che è stato appena scaricato nel breve periodo tra il recupero e l'attivazione.

Eludere il controllo di autenticità

Come spiega Wardle nel suo carta, uno dei bug che ha scoperto e divulgato era un difetto nel primo passaggio sopra elencato, quando l'aggiornamento automatico di Zoom ha cercato di verificare l'autenticità del pacchetto di aggiornamento che aveva appena scaricato.

Invece di utilizzare le API ufficiali di macOS per convalidare direttamente la firma digitale del download, gli sviluppatori di Zoom hanno deciso di eseguire l'autenticazione indirettamente, eseguendo l'utility macOS pkgutil --check-signature in background ed esaminando l'output.

Ecco un esempio di pkgutil output, utilizzando una vecchia versione di Zoom.pkg pacchetto software:

$ pkgutil --check-signature Pacchetto Zoom.pkg "Zoom.pkg": Stato: firmato da un certificato sviluppatore rilasciato da Apple per la distribuzione Firmato con un timestamp affidabile il: 2022-06-27 01:26:22 +0000 Catena di certificati : 1. ID sviluppatore Installatore: Zoom Video Communications, Inc. (BJ4HAAB9B3) Scadenza: 2027-02-01 22:12:15 +0000 SHA256 Impronta digitale: 6D 70 1A 84 F0 5A D4 C1 C1 B3 AE 01 C2 EF 1F 2E AE FB 9F 5C A6 80 48 A4 76 60 FF B5 F0 57 BB 8C ----------------------------------- ------------------------------------- 2. L'autorità di certificazione dell'ID sviluppatore scade: 2027-02-01 22:12:15 +0000 SHA256 Impronta digitale: 7A FC 9D 01 A6 2F 03 A2 DE 96 37 93 6D 4A FE 68 09 0D 2D E1 8D 03 F2 9C 88 CF B0 B1 BA 63 58 7F -------- -------------------------------------------------- -------------- 3. Apple Root CA Scade: 2035-02-09 21:40:36 +0000 SHA256 Fingerprint: B0 B1 73 0E CB C7 FF 45 05 14 2C 49 F1 29 5E 6E DA 6B CA ED 7E 2C 68 C5 BE 91 B5 A1 10 01 F0 24

Sfortunatamente, come ha scoperto Wardle quando ha decompilato il codice di verifica della firma di Zoom, il programma di aggiornamento di Zoom non ha elaborato il pkgutil dati nello stesso modo in cui farebbero gli osservatori umani.

Verificheremo l'output seguendo l'utile sequenza visiva nell'output.

Innanzitutto, cercheremo prima lo stato desiderato, ad es signed by a developer certificate issued by Apple for distribution.

Quindi troveremmo il sottotitolo Certificate Chain:.

Infine, faremmo un controllo incrociato che la catena fosse composta da questi tre firmatari, nell'ordine corretto:

  1. Zoom Video Communications, Inc. 2. Autorità di certificazione ID sviluppatore 3. Apple Root CA

Sorprendentemente, il codice di Zoom ha semplicemente verificato che ciascuna delle tre stringhe sopra (senza nemmeno controllare l'ID univoco di Zoom BJ4HAAB9B3) si è presentato da qualche parte in uscita da pkgutil.

Quindi, creando un pacchetto con un nome assurdo ma valido come Zoom Video Communications, Inc. Developer ID Certification Authority Apple Root CA.pkg indurrebbe il verificatore di pacchetti a trovare le "stringhe di identità" che stava cercando.

Il nome completo del pacchetto viene ripreso in pkgutil intestazione di output sulla prima riga, dove lo sfortunato "verificatore" di Zoom corrisponderebbe a tutte e tre le stringhe di testo nella parte sbagliata dell'output.

Così il controllo di “sicurezza” potrebbe essere banalmente aggirato.

Una correzione parziale

Wardle dice che Zoom alla fine ha risolto questo bug, più di sette mesi dopo averlo segnalato, in tempo per DEF CON...

...ma dopo aver applicato la patch, ha notato che c'era ancora un buco nel processo di aggiornamento.

Il programma di aggiornamento ha cercato di fare la cosa giusta:

  • 1. Sposta il pacchetto scaricato nella directory di proprietà di root, e quindi teoricamente off-limits per qualsiasi utente regolare.
  • 2. Verifica la firma crittografica del pacchetto scaricato, utilizzando le API ufficiali, non tramite un bodge di corrispondenza del testo contro pkgutil produzione.
  • 3. Annulla l'archiviazione del file del pacchetto scaricato, per verificarne il numero di versione, per prevenire attacchi di downgrade.
  • 4. Installare il file del pacchetto scaricato, utilizzando i privilegi di root del processo di aggiornamento automatico.

Sfortunatamente, anche se la directory utilizzata per archiviare il pacchetto di aggiornamento era di proprietà di root, nel tentativo di tenerla al sicuro da utenti indiscreti che tentavano di sovvertire il file di aggiornamento mentre veniva utilizzato...

...il file del pacchetto appena scaricato è stato lasciato "scrivibile dal mondo" nella sua nuova posizione (un effetto collaterale dell'essere stato scaricato da un account normale, non da root).

Ciò ha fornito agli aggressori locali una scappatoia per modificare il pacchetto di aggiornamento dopo la sua firma digitale è stata convalidata (fase 2), senza intaccare i dettagli del controllo della versione (passaggio 3), ma appena prima il programma di installazione ha preso il controllo del file del pacchetto per elaborarlo con i privilegi di root (passaggio 4).

Questo tipo di bug è noto come a condizione di gara, perché gli aggressori devono cronometrare il loro completamento in modo da tornare a casa appena prima dell'avvio del programma di installazione e devono quindi intrufolarsi con le modifiche dannose appena prima di esso.

Sentirai anche questo tipo di vulnerabilità a cui fa riferimento l'acronimo dal suono esotico TOCCO, abbreviazione di dal tempo di controllo al tempo di utilizzo, un nome che ricorda chiaramente che se controlli i tuoi fatti con troppo anticipo, potrebbero non essere aggiornati quando ti affidi a loro.

Il problema TOCTOU è il motivo per cui le società di autonoleggio nel Regno Unito non chiedono più semplicemente di vedere la tua patente, che potrebbe essere stata rilasciata fino a 10 anni fa e da allora potrebbe essere stata sospesa o cancellata per una serie di motivi, molto probabilmente perché di guida non sicura o illegale da parte tua. Insieme alla tua licenza fisica, devi anche presentare un codice alfanumerico "prova di validità recente", rilasciato negli ultimi 21 giorni, per ridurre il potenziale gap TOCTOU da 10 anni a sole tre settimane.

La correzione è ora disponibile

Secondo Wardle, Zoom ha ora impedito questo bug modificando i diritti di accesso sul file del pacchetto di aggiornamento copiato nel passaggio 1 sopra.

Il file utilizzato per il controllo della firma, la convalida della versione e l'installazione finale a livello di root è ora limitato all'accesso solo dall'account root, in ogni momento.

Questo rimuove la race condition, perché un utente malintenzionato senza privilegi non può modificare il file tra la fine del passaggio 2 (verifica riuscita) e l'inizio del passaggio 4 (inizia l'installazione).

Per modificare il file del pacchetto in modo da indurre il sistema a darti l'accesso come root, dovresti avere già l'accesso come root, quindi non avresti bisogno di un bug EoP di questo tipo in primo luogo.

Il problema TOCTOU non si applica perché il check-in al passaggio 2 rimane valido fino all'inizio dell'utilizzo del file, senza lasciare alcuna finestra di opportunità per l'annullamento dell'assegno.

Cosa fare?

Se stai usando Zoom su un Mac, apri l'app e poi, nella barra dei menu, vai a zoom.us > Check for Updates...

Se è disponibile un aggiornamento, verrà mostrata la nuova versione e puoi fare clic [Install] per applicare le patch:

Zoom per Mac corregge il bug di root: aggiorna ora! Intelligenza dei dati PlatoBlockchain. Ricerca verticale. Ai.

La versione che desideri è 5.11.5 (9788) o dopo.


Timestamp:

Di più da Sicurezza nuda