Si chiama Kaiji il nuovo malware ELF (Executable and Linkable Format, formato eseguibile comune per i sistemi Unix) di matrice cinese che colpisce dispositivi IoT e server basati su Linux tramite attacchi brute force sul protocollo crittografico SSH, allo scopo di utilizzarli come strumenti di una botnet sfruttabile per attacchi DDoS.
La particolarità di questo codice malevolo, segnalato dal ricercatore MalwareMustDie in un suo tweet, ha catturato anche l’attenzione del team di analisti Intezer.
Come evidenziato dagli stessi ricercatori, si tratta di un codice implementato ex novo e in modo personalizzato, senza l’impiego di pacchetti preconfigurati e modulabili noti e già collaudati come l’open source Mirai o il kit BillGates reperibile nei mercati neri del Dark Web, ma utilizzando GO ovvero il linguaggio di programmazione sviluppato da Google e solitamente non utilizzato per tali scopi.
Indice degli argomenti
Kaiji: una superficie di attacco molto vasta
La pericolosità di Kaiji è strettamente correlata al numero dei dispositivi IoT (Internet of Things) attualmente in giro per il mondo (decine di miliardi ed è un numero destinato a crescere in futuro), ovvero la miriade di oggetti connessi a Internet e impiegati per realizzare prodotti smart, dalle più semplici lampadine, stampanti e Webcam ai più complessi dispositivi medici salvavita e ai macchinari industriali.
Il loro vasto impiego nella vita di tutti i giorni ha portato ad un grado di connessione completamento nuovo, esponendo maggiormente al rischio cibernetico la superficie potenzialmente attaccabile sia dal punto di vista della cyber security che della privacy.
La sicurezza, infatti, nel mondo dell’IoT rappresenta un grosso problema da considerare. Basti pensare come il malfunzionamento o la compromissione di alcune tipologie di tali dispositivi possa causare la morte di un paziente o l’interruzione di importanti servizi essenziali.
Un fattore di forza per gli attaccanti deriva proprio dalla loro elevata diffusione ed esposizione in rete e dalla facile identificazione delle relative vulnerabilità, attraverso noti motori di ricerca come Shodan e Censys.
Le falle di sicurezza possono poi essere sfruttate per implementare impianti botnet e sferrare attacchi volumetrici di tipo DDoS, inviando traffico anomalo verso una particolare destinazione e congestionarla fino a comprometterne la stessa operatività.
L’analisi tecnica di Kaiji
Per diffondersi attraverso server Linux SSH e dispositivi IoT esposti in rete, Kaiji non sfrutta difetti o particolari vulnerabilità ma semplicemente attacchi brute force SSH, per ottenere un accesso basato su password root.
Con un’utenza privilegiata root è possibile, infatti, sui sistemi Linux creare pacchetti di rete personalizzati utili a sferrare particolari attacchi di tipo Distributed Denial of Service.
Dopo aver stabilito una connessione SSH, l’esecuzione di uno script bash prepara l’ambiente d’installazione creando una directory /usr/bin/lib, dove il malware Kaiji viene installato. Una volta eseguito, il malware residente in /tmp/seeintlog e al quale viene assegnato uno di questi nomi tra netstat, ps, ls o altri di sistema, avvia una serie di operazioni ognuna delle quali è implementata all’interno di una propria “goroutine”.
- per la decrittografia degli indirizzi dei server di comando e controllo e per la registrazione del server infettato su uno dei server C2;
- per la scelta del target e della strategia offensiva da adottare, recuperando dai server C2 le istruzioni per eseguire una varietà di attacchi DDoS (TCPFlood, UDPFlood, SYNACK, IP Spoofing ecc.);
- per il rafforzamento della persistenza;
- per l’ulteriore diffusione dell’infezione e per il dirottamento delle chiavi SSH presenti localmente o nella cronologia bash.
I consigli per difendersi
Anche se, come ha evidenziato il ricercatore di sicurezza Interzen Paul Litvak, alcuni elementi emersi dall’analisi condotta quali l’instabilità dei server C2 e il frequente crash dei dispositivi infettati, a causa di un sovraccarico di memoria da parte del modulo rootkit, portano a credere che la botnet Kaiji sia ancora in una fase di test, ma il rischio che possa diventare, a breve, protagonista tra le minacce concorrenti non è per niente trascurabile.
Questo caso dimostra come sia possibile, tramite tunnel SSH non autorizzati e in modo relativamente semplice per i criminal hacker, accedere alle pagine di amministrazione Web di dispositivi IoT e server Linux, comprometterne i dati o addirittura assumerne il controllo completo.
Ecco, dunque, quali misure preventive occorre adottare in questi casi.
Consigli per gli utenti finali e le aziende:
- modificare sempre le credenziali standard dei dispositivi che si connettono a Internet, disattivando completamente il servizio SSH, salvo diverse indicazioni del fornitore per garantirne il regolare funzionamento;
- definire precise regole firewall per impedire l’accesso ai propri dispositivi IoT via SSH dall’esterno;
- definire regole firewall per impedire l’instaurazione di possibili tunnel e connessioni SSH in uscita dai propri dispositivi IOT verso l’esterno oltre il confine della propria rete;
- prevedere l’adozione di sistemi anti-DDoS come misure di contrasto per attenuare il rischio di attacchi volumetrici evitando che un’indisponibilità dell’accesso a risorse e sistemi aziendali determini un blocco dell’intera attività lavorativa.
Consigli per i fornitori:
- allegare ai propri dispositivi in vendita guide adeguatamente documentate per gli utenti finali, in particolare per consentire in modo semplice di aggiornare la configurazione sshd e mitigare ogni possibile vulnerabilità futura senza necessariamente attendere un fix firmware;
- quando possibile disabilitare di default il servizio SSH e il TCP forwarding nei dispositivi;
- obbligare gli utenti a modificare le credenziali predefinite dopo il primo accesso.
Consigli per sviluppatori di software di base e applicativi:
- seguire sempre delle buone regole di programmazione secondo i principi di Security e Privacy by design, gli standard e le raccomandazioni di riferimento (OSWAP, NVD, CSIRT Italia).