AI Hacking - Come gli hacker usano l'intelligenza artificiale nei cyberattacchi

Leggi ora
Per le traduzioni dei siti utilizziamo l'intelligenza artificiale e, sebbene ci sforziamo di essere accurati, non sempre le traduzioni sono precise al 100%. La vostra comprensione è apprezzata.

Rimedio alle vulnerabilità di Google Chrome con le soluzioniEndpoint MetaDefender

da OPSWAT
Condividi questo post

Siamo lieti di presentare una serie di blog di analisi tecnica incentrati su varie vulnerabilità ed esposizioni comuni (CVE), identificate e corrette con le nostre tecnologie avanzate di rilevamento delle minacce.Tutte le ricerche sono svolte dagli studenti laureati che partecipano al programma OPSWAT Cybersecurity Fellowship, lanciato nel settembre 2023.

foto di Tri Luong e Khoi Ta dell'Università di scienze di Ho Chi Minh
Gli studenti hanno partecipato al programma di borse di studio OPSWAT .

In questo blog spiegheremo la CVE-2019-13720 di Google Chrome e come le organizzazioni possono difendersi dagli attacchi di sfruttamento della CVE-2019-13720.

Che cos'è Google Chrome e quando è stato fondato?  

Google Chrome è un browser web multipiattaforma sviluppato da Google e rilasciato ufficialmente il 2 settembre 2008. È stato sviluppato come parte degli sforzi di Google per creare un browser migliore e più moderno. All'epoca offriva molte nuove funzionalità, tra cui la navigazione a schede, la modalità privacy e la sincronizzazione con i servizi Google. Dal suo rilascio, è diventato uno dei browser web più popolari al mondo. Nel 2021, si stima che Google Chrome abbia circa 3,2 miliardi di utenti.

A causa della popolarità di Google Chrome, è diventato un punto focale per la ricerca e gli attacchi, attirando sia hacker etici che malintenzionati. Le vulnerabilità più comuni identificate in Google Chrome includono, tra le altre, il Denial of Services (DoS), la fuga di informazioni e l'esecuzione di codice remoto. Per quanto riguarda la vulnerabilità dell'esecuzione di codice in remoto, esistono due tipi di vulnerabilità in Google Chrome: sandbox escape e non-escape.

Che cos'è CVE-2019-13720?

CVE-2019-13720 è una vulnerabilità Use After Free (UAF) di WebAudio in Google Chrome prima della versione 78.0.3904.87 che consente a un aggressore remoto di sfruttare potenzialmente la corruzione dell'heap tramite una pagina HTML artigianale. Quando la vittima accede a una pagina Web dannosa o apre una pagina HTML artigianale su un browser Google Chrome vulnerabile, il codice dannoso viene eseguito sull'endpoint della vittima. Questo CVE è stato segnalato per la prima volta da Anton Ivanov e Alexey Kulaev nel 2019.

snippet che mostra una valutazione di gravità elevata secondo NIST-NVD con punteggi di base e stringhe di vettori relativi a una vulnerabilità di cybersecurity
Informazioni su CVE-2019-13720 su NIST NVD

Da un punto di vista tecnico, è possibile sfruttare una vulnerabilità use-after-free a causa di una race condition tra i thread Render e Audio nel componente audio di Qt WebEngine che consente agli aggressori remoti di eseguire codice shell WebAssembly, con conseguente compromissione del dispositivo della vittima. Per risolvere questo problema, tutti gli utenti di Qt WebEngine devono aggiornare alla versione più recente.

Le fasi di attacco

infografica sull'attacco di phishing in quattro fasi che illustra la creazione di un URL, l'invio di un'e-mail di phishing, l'apertura dell'HTML da parte della vittima e l'esecuzione di codice remoto.
I processi di attacco

Gli aggressori creano un URL speciale con il codice HTML dannoso e inviano un'e-mail di phishing con il link alla vittima. Quando la vittima apre l'e-mail e fa clic sul link, il codice dannoso viene eseguito e consente all'aggressore di assumere il controllo del sistema interessato. I dettagli delle tattiche di codice remoto, come appaiono in un documento HTML, possono essere consultati qui.

Cosa sono le vulnerabilità Use After Free (UAF) e heap spray?

Una vulnerabilità UAF è un tipo di falla di sicurezza che si verifica quando un programma continua a utilizzare la memoria dopo che è stata liberata. Questo può portare a diverse conseguenze negative, tra cui corruzione dei dati, esecuzione di codice arbitrario e crash del sistema.

L'heap spraying è una tecnica di distribuzione del payload che prevede la scrittura di diversi byte in diverse posizioni dell'heap. Ciò comporta l'iniezione di un payload artigianale (cioè dati dannosi) nell'heap della memoria, assicurando che il flusso di esecuzione salti nella memoria spruzzata anziché nel codice originale dell'applicazione. Lo scopo di questo attacco è in genere quello di ottenere il controllo del registro EIP. 

diagramma che mostra l'allocazione della memoria prima e dopo un attacco di heap spraying, con l'indicazione dell'errore del flusso di controllo
Visualizzazione della tecnica Heap Spray

Che cos'è WebAssembly?

WebAssembly, spesso abbreviato in Wasm, è un nuovo formato di istruzioni binarie che funge da target portatile per la compilazione di linguaggi di alto livello come C/C++, consentendone l'esecuzione a velocità quasi nativa nel motore JavaScript di un browser Web. 

Diagramma di flusso della conversione del codice da C/C++ al browser tramite Emscripten, WebAssembly, JS Glue Code e HTML App
Compilazione del codice in WebAssembly

Tuttavia, poiché WebAssembly può essere compilato da linguaggi che non sono memory-safe, come C/C++, le vulnerabilità di codifica più comuni, come i buffer overflow o le vulnerabilità delle stringhe di formato, possono essere introdotte nei binari WebAssembly compilati in modo incrociato. Questa possibilità di includere vulnerabilità nei moduli WebAssembly ha aumentato la superficie di attacco delle applicazioni Web contemporanee.

diagramma che mostra JS e WA all'interno dell'applicazione che condividono la memoria lineare in un ambiente di runtime
Progettazione di un'applicazione tipica con WebAssembly

Che cos'è una vulnerabilità di tipo race condition?

Una vulnerabilità race condition nel software si verifica quando più processi o thread tentano di accedere contemporaneamente a una risorsa condivisa, causando risultati imprevedibili o interruzioni operative dovute alla tempistica dell'accesso. Quando un programma presenta una vulnerabilità race condition, può causare vari problemi come crash dell'applicazione, corruzione dei dati, risultati errati o incoerenze. Gli aggressori possono sfruttare questa vulnerabilità per ottenere un accesso non autorizzato, far trapelare informazioni, aumentare i privilegi o provocare crash di sistema.  

Classificata come una vulnerabilità di tipo race condition, una vulnerabilità TOCTTOU sfrutta l'intervallo di tempo tra la verifica e l'utilizzo di una risorsa.

Diagramma che mostra una vulnerabilità TOCTOU (Time of Check to Time of Use) in un'applicazione che viene sfruttata da un attacco.
Illustrazione di una condizione di gara del software. Fonte: Devopedia 2020 (*) TOCTOU (Tempo di controllo e tempo di utilizzo)

Come funziona CVE-2019-13720?

Per sfruttare questa vulnerabilità, il ricercatore allega del codice JavaScript a un file HTML. Quando un utente lancia il file HTML, lo script tenta di trovare l'indirizzo trapelato creando due thread (thread principale e thread audio) che gestiscono gli stessi dati del buffer. L'indirizzo trapelato dell'oggetto temporary_buffer in ReverbConvolverStage viene quindi utilizzato per ottenere il puntatore del feedforward_array in IIRFilterNode (che condivide la stessa superpagina con il Convolver). Successivamente, il ricercatore cerca di ottenere il puntatore del feedforward_array nel secondo trigger UAF.

Flusso di processo di un exploit: Innesco UAF, secondo innesco UAF, Heap Spray, scrittura di Shellcode, innesco del modulo WebAssembly, esecuzione del payload.
Processo di trigger Use-After-Free

WebAssembly gestisce l'esecuzione del codice shell. Per consentire l'esecuzione del codice shell, il ricercatore tenta di liberare l'IIRFilter e scrive sul GCPreventer fino a ottenere il controllo su dove vengono effettuate le nuove allocazioni senza bisogno di spruzzi. Infine, il ricercatore scrive lo shellcode nella regione Just-In Time (JIT) della memoria. Di conseguenza, all'aggiunta di un evento di errore del lettore di file, il modulo WebAssembly eseguirà il codice shell.

Per eseguire il codice shell associato a questa vulnerabilità, l'utente deve disabilitare la sandbox nella versione vulnerabile di Chrome. 

Messaggio di avviso del browser 'Si sta utilizzando un flag della riga di comando non supportato, no-sandbox. La stabilità e la sicurezza ne risentiranno

Quando il codice shell viene eseguito, apre automaticamente i servizi Notepad sul dispositivo della vittima.

Schermata di errore in un browser web con il messaggio "Aw, Snap! Qualcosa è andato storto durante la visualizzazione di questa pagina web", accanto a una finestra aperta del Blocco note.

Metodo di bonifica

MetaDefender Endpoint, una soluzione di sicurezza per gli endpoint progettata da OPSWAT, consente agli utenti di rilevare e difendere i propri sistemi da questi attacchi. Dopo aver disabilitato la funzione Privacy Sandbox (--no-sandbox), MetaDefender Endpoint è in grado di rilevare i CVE e di applicare le ultime patch di Google Chrome. Successivamente, l'utente può aggiornare Google Chrome all'ultima versione manualmente o attivare la funzione "aggiornamento automatico" nella scheda Patch Management per consentire a OPSWAT MetaDefender Endpoint di aggiornare automaticamente il browser non appena sono disponibili nuove patch.

Per evitare l'esposizione a codici maligni, gli utenti dovrebbero utilizzare strumenti di filtraggio delle e-mail per rilevare gli attacchi di phishing ed evitare di fare clic su URL sconosciuti nelle e-mail.

Caratteristiche e vantaggi principali di MetaDefender Endpoint

  • Esaminare e correggere le applicazioni a rischio. Le applicazioni vulnerabili o non aggiornate possono essere visualizzate nell'interfaccia utente di MetaDefender Endpoint .
  • Verificare che la protezione anti-malware sia configurata correttamente sul sistema operativo.
  • Garantire la conformità agli standard di sicurezza dell'organizzazione.
  • Garanzia di crittografia del disco rigido.
  • Verifica delle patch del sistema operativo.
  • Molteplici opzioni per la scansione del malware e per la creazione di annunci privi di malware sugli endpoint.
MetaDefender Endpoint UI mostra un elenco di vulnerabilità critiche per Google Chrome con numeri CVE e punteggi
MetaDefender Endpoint UI

MetaDefender Endpoint for Endpoint Vulnerability and Application Patching può essere scaricato qui.


Rimanete aggiornati con OPSWAT!

Iscriviti oggi stesso per ricevere gli ultimi aggiornamenti sull'azienda, storie, informazioni sugli eventi e altro ancora.