L'ANALISI TECNICA

28 antivirus vulnerabili, una falla (ora risolta) potrebbe metterli fuorigioco: quali sono e che c’è da sapere

È stata scoperta una vulnerabilità di tipo symlink race (di cui esiste una patch) in 28 famosi antivirus per Windows, macOS e Linux: se sfruttata positivamente, potrebbe consentire ad un attaccante remoto di disattivare i controlli di sicurezza o mandare in crash l’intero sistema operativo. Ecco tutti i dettagli

28 Apr 2020
L
Salvatore Lombardo

Funzionario informatico, Esperto ICT, Socio Clusit e autore


Un recente rapporto pubblicato dai ricercatori di sicurezza di Rack911 Labs ha svelato come sia possibile depotenziare se non addirittura disattivare o corrompere 28 tra i principali antivirus per Windows, macOS e Linux a causa di una vulnerabilità di tipo symlink race. In pratica, un eventuale attaccante sarebbe in grado di mettere in pratica una tecnica di attacco relativamente semplice che sfrutta una particolare caratteristica di funzionamento comune alla maggior parte di questi prodotti utilizzati per la protezione dai malware. Una scoperta che “dimostra una volta di più come piattaforme ritenute invulnerabili a queste minacce, come OSX, sono tanto vulnerabili quanto le altre”, è il commento di Alessio L.R. Pennasilico, Information & Cyber Security Advisor presso P4I – Partners4Innovation. “Inoltre, – continua l’analista -, rende evidente come strumenti che riteniamo infallibili, ad esempio l’antivirus, siano da considerare quel che effettivamente sono: ausili che automatizzano alcune protezioni di base, lasciando all’utilizzatore la responsabilità di indirizzare altre minacce più specifiche. Perché, ancora, la diligenza di un essere umano non può essere sostituita da un programma per computer”.

Antivirus vulnerabili: di cosa si tratta

L’exploiting di una vulnerabilità di tipo symlink race è abbastanza semplice e sfrutta il tipico funzionamento degli antivirus. Come sappiamo, ogni qualvolta un file viene salvato sul disco locale o unità di massa connessa al PC, il programma antivirus, attivo in background, esegue una scansione in tempo reale o in differita e qualora ritenga il file una minaccia sospetta, lo metterà in quarantena o lo eliminerà secondo predeterminate impostazioni. A tal proposito tre sono gli elementi che possono essere impiegati per minare l’integrità di un antivirus:

  • i privilegi amministrativi con i quali opera sui file;
  • il lasso di tempo che intercorre tra il processo di decisione (file sospetto?) e quello di esecuzione (quarantena o eliminazione?);
  • un mancato controllo sull’utilizzo dei cosiddetti link simbolici e delle giunzioni di directory ovvero di quei collegamenti logici rispettivamente tra file e directory che i sistemi operativi permettono di creare con bassi privilegi utente.

In questo scenario un utente locale con privilegi standard potrebbe essere in grado di eseguire, nel lasso di tempo decisionale dell’antivirus e tramite una giunzione di directory (nel caso Windows) o un collegamento simbolico (nel caso macOS o Linux) delle operazioni con alti privilegi su dei file cruciali per il regolare funzionamento del software antivirus medesimo o del file system.

Antivirus vulnerabili: i test eseguiti

I ricercatori di Rack911 Labs hanno realizzato anche dei PoC (Proof of Concept), documentati anche con dei video dimostrativi, in cui hanno dimostrato come sia possibile indurre un software antivirus all’autodistruzione procedendo all’eliminazione di quei file fondamentali per il proprio regolare funzionamento su sistemi operativi Windows, macOS e Linux. Il loro scopo, ovviamente, non è certo quello di denigrare i relativi produttori di antivirus, quanto piuttosto quello di sensibilizzarli sulla sussistenza delle vulnerabilità riscontrate. I ricercatori hanno infatti precisato che i riscontri ottenuti sono stati resi noti in forma privata a tutti i fornitori di software di controllo già dal 2018 e che solo adesso sono stati resi pubblici dopo che la maggioranza dei produttori interessati ha provveduto a rilasciare le relative patch correttive.

L’elenco dei 28 prodotti antivirus corretti dagli stessi fornitori dopo la segnalazione dell’exploit scoperto dai ricercatori di Rack911 Labs.

I test eseguiti su sistemi Windows

Per quanto riguarda i test su Windows, i ricercatori hanno scelto di impiegare delle giunzioni di directory e non dei collegamenti simbolici perché quest’ultimi per impostazione predefinita di questo sistema operativo non possono essere eseguiti da un utente con bassi privilegi.

DIGITAL EVENT 9 SETTEMBRE
Cyber Security: tra tecnologia e cultura del dato. Ecco cosa fanno i Security People
Legal
Sicurezza

Questo video riproduce una potenziale azione malevola da parte di un utente che, pur non avendo i dovuti privilegi per l’accesso alla cartella d’installazione del software McAfee Endpoint Security (versione 10.6.0.542, Windows) riesce con uno script ad iniettare sul file EpSecApiLib.dll (contenuto in C:\Program Files (x86)\McAfee\Endpoint Security\Endpoint Security Platform) la stringa di test EICAR.

A quel punto l’antivirus ritenendolo un file nocivo lo elimina, con tutte le possibili conseguenze del caso.

Una volta lanciato lo script, per ingannare l’antivirus inducendolo ad autoeliminare la propria DLL, è stato sufficiente ripetere le istruzioni all’interno di un ciclo infinito, in attesa della giusta coincidenza temporale per ottenere l’effetto desiderato. La giunzione di directory tra la cartella exploit (C:\Users\User\Desktop\exploit) che contiene il file dll contraffatto e la cartella d’installazione McAfee (C:\Program Files (x86)\McAfee\Endpoint Security\Endpoint Security Platform) che contiene il relativo file originale è stata creata tramite il comando mklink.

I test eseguiti su sistemi macOS e Linux

Script simili, utilizzando però i link simbolici, sono stati allestiti per lo sfruttamento dell’exploit:

  • contro Kaspersky Internet Security per macOS, scaricando la stringa di test EICAR tramite l’applicazione web Pastebin e non direttamente dal sito web ufficiale in modo da ingannare, con un URL diverso, la protezione che ne inibisce il download;
  • contro il programma antivirus ESET file Server Security per Linux.

Anche in tutti questi casi calibrando adeguatamente i tempi, una volta che il software antivirus ha rilevato il file come dannoso ha proceduto alla sua eliminazione.

Conclusioni

L’unica difficoltà riscontrata dagli stessi ricercatori, e purtroppo solo in alcuni casi, è stata quella di dover riuscire a scandire adeguatamente i tempi di azione degli script. In considerazione dell’estrema facilità con cui questi exploit potrebbero essere sfruttati da esperti attori malevoli (in particolar modo utilizzandoli come teste di ponte su sistemi già compromessi per elevare privilegi e/o abbattere ogni strumento di protezione, magari secondo un progetto di attacco distruttivo più esteso) e in attesa che tutti i fornitori di antivirus provvedano quanto prima all’emissione di fix correttivi, l’attenzione deve restare alta. I ricercatori, infatti, auspicano che in generale tutti i produttori di applicativi software incarichino i propri sviluppatori di revisionare ed eventualmente correggere le implementazioni di codice per contrastare queste potenziali modalità di attacco, affinché azioni con giunzioni di directory o link simbolici su directory e file possano avvenire con restrizioni più stringenti scongiurando lo sfruttamento di quella che si è rilevata una reale vulnerabilità per la sicurezza.

@RIPRODUZIONE RISERVATA

Articolo 1 di 5