Symbiote, il malware Linux con una interessante peculiarità: non è rilevabile

1

La sicurezza informatica sa essere molto complicata. Tool, tecniche sia base che avanzate, per rilevare e identificare eventuali ospiti indesiderati sui nostri sistemi si basano sul trovare le tacce lasciate dal malware: un processo in esecuzione, una porta TCP aperta, un file in una posizione particolare…
Ma se queste tracce non ci fossero?

Ecco, la risposta è “sarebbe un bel problema”. E a dirlo sono i ricercatori sulla sicurezza di BlackBerry (sì, esiste ancora) e Intezer Labs, che hanno pubblicato un articolo scritto assieme, ciascuno sul proprio blog (BlackBerry e Intezer, se volete).

La ricerca è ben dettagliata e descrive Symbiote, un malware capace di nascondere le proprie tracce tanto bene da doverlo considerare non solo ospite, ma parte del sistema. Come gli organismi simbiotici, che sono l’unione di due identità separate ma talmente dipendenti una dall’altra da doverli considerare come una cosa sola.

Le tecniche usate dal malware sono principalmente due:

  1. l’uso di una libreria artefatta di libc per poter “epurare” dai risultati delle ricerche la propria presenza;
  2. l’uso di BPF (Berkley Packet Filter) per nascondere le porte TCP utilizzate (e farle apparire come chiuse).

La prima caratteristica già particolare è che il malware non è un programma, un processo, ma in realtà una libreria da caricare. Dopo averla caricata, il malware imposta l’uso di LD_PRELOAD per assicurarsi l’attivazione.
Ma la seconda tecnica risulta ancora più particolare.

Abbiamo accennato a BPF qualche tempo fa: si tratta di una vera e propria macchina virtuale da eseguire nel Kernel Linux dedicata alla manipolazione dei pacchetti di rete. L’utilità è enorme per analisi e miglioramento di task specifici, ma ha tutte le potenzialità per poter essere usato in maniera fraudolenta.

E Symbiote fa un bell’esempio: riesce a nascondere la propria presenza dall’esterno rispondendo solo alle chiamate fatte dal suo centro di controllo, evitando di essere rilevabile da remoto. Ma non solo: nasconde le proprie comunicazioni anche ai classici strumenti di analisi usati sulla macchina stessa. Se state pensando a tpcdump avete pensato giusto.
Grazie a BPF, anche la cattura dei pacchetti – fatta tramite chiamate al Kernel – non è più possibile perché il Kernel stesso istruito a ignorare quei pacchetti.

Il problema è tanto serio che i ricercatori sono sicuri questo malware sia già in giro, ma non sanno quantificare la diffusione. Come non hanno indicazioni sulla sua identificazione, se non attraverso l’analisi di query DNS e attività di rete sospette. Un po’ generico, no?

Ho coltivato la mia passione per l’informatica fin da bambino, coi primi programmi BASIC. In età adulta mi sono avvicinato a Linux ed alla programmazione C, per poi interessarmi di reti. Infine, il mio hobby è diventato anche il mio lavoro.
Per me il modo migliore di imparare è fare, e per questo devo utilizzare le tecnologie che ritengo interessanti; a questo scopo, il mondo opensource offre gli strumenti perfetti.