Check Point chiude vulnerabilità di 20 anni in Linux con Safe-Linking


Per quasi due decenni gli hacker hanno potuto sfruttare il design della gestione della memoria utilizzata dai programmi Linux come porta per prendere il controllo del computer. Da oggi, grazie al meccanismo Safe-linking di Check Point Software Tecnologies, questa vulnerabilità, da sola, non è più sufficiente a permettere agli hacker di prendere il controllo del programma. Safe-Linking protegge una semplice struttura di dati chiamata "single-linked-list", che è una lista elementi nella quale uno di essi punta sempre a quello successivo, fino ad arrivare alla fine della lista. La protezione Safe-linking maschera il puntatore, da un elemento all'altro, utilizzando un valore segreto, ha reso noto la società.

Senza la conoscenza di questo valore, gli aggressori non possono modificare la memoria per modificare in modo controllabile il puntatore memorizzato. Il design originale del meccanismo di memoria è del 2000, scrivono in un blogpost i ricercatori di Check Point per spiegarne in dettaglio il funzionamento. Nel 2005 è stata introdotta una protezione simile chiamata "Safe-Unlinking", che però riguardava solo una parte del design stesso. I ricercatori di Check Point Sotware Technologies hanno finalmente trovato un modo per proteggere la parte rimanente. Safe-Linking si avvale della casualizzazione ereditata da un meccanismo di sicurezza che è ora ampiamente distribuito nella maggior parte dei moderni sistemi operativi, chiamato Address-Space-Layout-Randomization (ASLR), implementata per la prima volta nel 2001.

ASLR seleziona casualmente un indirizzo di base in cui verrà caricato il programma, costringendo così l'hacker a indovinare gli indirizzi di memoria corretti o ricondurli ad esso utilizzando una vulnerabilità aggiuntiva e altamente specifica. In parole povere, Safe-Linking rimuove i dati dell'indirizzo per il programma, quindi l'hacker non può più essere sicuro di dove verrà caricato nella memoria del sistema, rendendo molto più difficile lanciare un exploit contro il programma. Questa mitigazione specifica avrebbe bloccato diversi exploit importanti che gli esperti di Check Point hanno esaminato nel corso degli anni, trasformando i prodotti software "corrotti" in prodotti "non sfruttabili". È anche importante notare che la protezione Safe-Linking non sovraccarica la memoria ed ha un impatto di runtime trascurabile.

Gli attacchi di corruzione della memoria, spiegano i ricercatori di Check Point, vengono spesso utilizzati per provare a sfruttare i programmi Linux, il sistema operativo open source più utilizzato al mondo. I programmi Linux sono i core building blocks per milioni di personal computer, dispositivi Android, laptop, router Internet, prodotti IoT, smart TV e altro ancora. Sono inoltre utilizzati per creare servizi Web per banche globali, piattaforme di borsa e le principali compagnie aeree. Per due decenni, i programmi Linux sono stati vulnerabili a questo attacco in cui il threat actor esegue il suo codice dannoso una volta che la memoria in un sistema informatico viene alterata o modificata, di solito in aree in cui è noto il design della gestione della memoria principale del programma, noto come "l'heap", non è robusto.

Un esempio recente di questo è stato rivelato da Check Point Research nel febbraio di quest'anno, quando ha mostrato come un threat actor potesse sfruttare una rete IoT (lampadine smart e il loro control bridge) per lanciare attacchi alle reti di computer convenzionali in case, aziende o addirittura in smart cities. I ricercatori hanno dimostrato in che modo le vulnerabilità dei smart bulbs e bridge di Philips Hue leader del mercato, (CVE-2020-6007) hanno consentito loro di infiltrarsi nelle reti innescando un overflow del buffer basato su heap sul software bridge. Cercando di porre fine a questo problema di vecchia data, i ricercatori di Check Point hanno creato un meccanismo di sicurezza per proteggere la struttura interna dell'heap dalle manomissioni, che hanno chiamato per l'appunto "Safe-Linking".

Il National Institute of Standards and Technology (NIST) degli Stati Uniti mantiene un elenco delle vulnerabilità software uniche in tutto il software del mondo, passato e presente. Alla fine del 2019, quell'elenco conteneva oltre 136.000 vulnerabilità uniche: ciò significa che un hacker aveva oltre 136.000 possibili modi per compromettere quasi tutti i software in uso. Safe-Linking non è un "proiettile" magico che bloccherà tutti i tentativi di exploit contro le attuali implementazioni dell'heap. Tuttavia, questo è un altro passo nella giusta direzione: costringendo gli aggressori ad avere una vulnerabilità di perdita di memoria prima ancora che possano iniziare il loro exploit, gli esperti della sicurezza hanno reso gli exploit più difficili da eseguire. Questo a sua volta aiuta a proteggere meglio gli utenti a livello globale.




Nessun commento:

Posta un commento