# SASSER

SASSER è un worm, un tipo di malware. Notato per la prima volta il 13 aprile del 2004 dai tecnici della eEye Digital Security, un produttore statunitense di software per la sicurezza informatica, ben presto si è diffuso a macchia d'olio.

## Sistemi aggrediti

Aggredisce i sistemi operativi Windows 2000 e Windows XP, sfruttando un bug del componente LSASS (Local Security Authority Subsystem Service) causando un buffer overflow. Microsoft aveva reso disponibile un aggiornamento del programma il 14 aprile 2004. Il fatto che il worm sia apparso pochi giorni dopo la patch che eliminava l'inconveniente porta a pensare che esso sia stato realizzato applicando alla patch stessa tecniche di reverse engineering e prevedendo di infettare i milioni di computer su cui la patch non era stata installata.

## La vulnerabilità sfruttata

La falla dei sistemi operativi sfruttata dal worm è localizzata nella porzione di codice di Windows che rende disponibili varie funzioni per l'uso dei servizi di Active Directory sia in locale, sia da remoto. Alcune di queste funzioni generano un file di log chiamato "dcpromo.log", presente in una directory di sistema, a scopo di debug. Ma poiché una delle funzioni adibite alla creazione del log non effettua controlli sulla lunghezza delle stringhe ricevute in input, risulta possibile mandare in buffer overflow il servizio ed eseguire di conseguenza sul PC aggredito del codice arbitrario con i diritti di sistema. Come se non bastasse, la funzione non controlla se la stringa provenga dal PC locale o da un host esterno e questo rende possibile l'attacco da un qualsiasi computer connesso al sistema affetto dalla vulnerabilità.

## Metodo di aggressione

Come molti dei recenti worm, SASSER attacca il computer attraverso un servizio di rete non sufficientemente protetto. Il fatto che possa agire senza la necessità di interagire con l'utente lo rende particolarmente insidioso. D'altro canto, difendersi è piuttosto semplice, in quanto basta configurare correttamente il firewall o installare l'apposita patch che corregge la vulnerabilità.
Il codice del worm, scritto in Visual C++, è contenuto in un eseguibile di 15.872 byte. Tale file, quando entra in un sistema vulnerabile, crea una sua copia nella directory Windows col nome "avserve.exe" oppure "avserve2.exe". Per garantire la propria esecuzione a ogni avvio, il worm inserisce la chiave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run nel registro di sistema. La porta attraverso cui avviene l'attacco è la 445 del protocollo TCP. Gli analisti della Microsoft hanno indicato anche l'uso della porta 139.
Per far sì che non vi siano più copie del proprio codice attive nel sistema, il worm crea un mutex (mutual exclusion object, un oggetto software che permette a più thread di condividere la stessa risorsa) chiamato Jobaka31. Una volta espletate queste funzioni di routine, SASSER attiva la sua procedura di propagazione: crea un server FTP in ascolto sulla porta TCP 5554 e inizia a cercare altre potenziali vittime facendo partire una scansione sulla porta TCP 445 usata da "Lsass.exe". Lo scopo dello scan è quello di localizzare altri computer affetti della vulnerabilità.
La ricerca impiega indirizzi IP generati casualmente, con una lieve preferenza per gli host appartenenti alla stessa classe di indirizzi del computer infetto. Appena trova un computer potenzialmente vulnerabile, il worm controlla che il sistema operativo sia effettivamente attaccabile, dopodiché sfrutta l'exploit per creare una shell sul sistema remoto. Mediante tale shell, aperta sulla porta TCP 9996, il computer remoto viene costretto a collegarsi al sistema infetto e a scaricare ed eseguire il codice virale (che di solito ha come nome una combinazione di cinque numeri casuali seguiti dai caratteri "_up.exe". Il collegamento avviene grazie al server FTP precedentemente attivato sul PC infetto. Appena il worm è attivo sul computer remoto, dà nuovamente il via all'azione di propagazione e attacco.
Appena completate queste fasi si può notare che il worm ruba risorse alla CPU, mandando l'uso di tale componente al 100% (se non di più), e poco tempo dopo appare una schermata che avvisa l'utente che "LSA Shell (Export Version)" (lsass.exe) ha smesso di funzionare, insieme alla tipica schermata di segnalazione errori di Microsoft. Poi appare un'altra schermata, che riporta il seguente messaggio:
"The System is shutting down. Please save all work in progress and log off. Any unsaved changes will be lost. This shutdown was initiated by NT AUTHORITY\SYSTEM.
Time before shutdown: (countdown che parte da 00:01:00, cioè da 1 minuto)
Message
The system process "C:\Windows\System32\lsass.exe" terminated unexpectedly with status code -1073741819. The system will now shut down and restart."
(Il sistema si sta spegnendo. Per favore salvare tutto il lavoro in progresso e sloggarsi. Tutti i cambiamenti non salvati verranno persi. Questo spegnimento è stato inizializzato da NT AUTHORITY\SYSTEM.
Tempo prima dello spegnimento: (countdown che parte da 00:01:00, cioè da 1 minuto)
Informazioni
Il processo di sistema "C:\Windows\System32\lsass.exe" ha smesso di funzionare e si è terminato con codice di uscita -1073741819. Il sistema ora si spegnerà e si riavvierà.)
Dato che, precedentemente, il worm ha inserito la chiave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run nel registro di sistema, questo crash di lsass.exe e conseguente reboot del sistema si ripeteranno ogniqualvolta il sistema si avvierà, compreso l'incremento dell'uso della CPU fino al 100%.
Alle volte, può capitare che il worm usi così tanta CPU da far crashare addirittura il Task Manager, rendendo di conseguenza impossibile terminare il processo "avserve.exe" (o "avserve2.exe" o "sasser.exe").
Questo worm, inoltre, se ci si trova su Windows XP, rimuove anche la possibilità di spegnere il pc manualmente (rimuove l'icona "Shut Down" nella schermata di spegnimento).
Esistono almeno altre tre versioni di SASSER apparse tutte nei giorni immediatamente successivi alla diffusione dell'originale.

## Come rimuoverlo

Innanzitutto bisogna eseguire il Prompt dei Comandi (conosciuto più comunemente come "CMD") e digitare la stringa "shutdown -a" (che sta per "Abort Shutdown", ossia "Abortire Spegnimento"), così che la schermata di force-reboot si chiuda. Poi bisogna eseguire Regedit, ed eliminare la chiave "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\avserve.exe", così che il worm non si possa più attivare all'avvio del PC. Poi aprire il Task Manager, e si può subito notare che tutti i processi non hanno più un esecutore, e quindi chiudere il processo avserve.exe, e così si risolve anche il problema dell'uso abnorme della CPU. Eliminare il file "C:\win.log" (opzionale) e quindi il file "C:\Windows\avserve.exe". Infine riavviare il computer (si noti che l'icona di spegnimento non è stata rimossa, ma solo resa invisibile), e ci si sarà completamente liberati del worm SASSER.
In caso di un'infezione di un network di PC, è consigliabile eseguire il precedente procedimento un PC alla volta, mentre gli altri sono spenti, così che il worm contenuto nelle altre macchine non possa replicarsi a procedimento finito.

## Danni causati

Quando è alla ricerca di altri host, SASSER apre contemporaneamente 128 thread di scanning, rubando risorse alla CPU e appesantendo così notevolmente il sistema. Alle volte il worm manda in crash i servizi che tenta di sfruttare, generando così un messaggio di errore. Inoltre nella root C: viene sempre creato un file chiamato "win.log" (o "win2.log"), contenente l'indirizzo IP del computer locale.
Alla sua apparizione SASSER ha causato gravi danni alle reti informatiche mondiali. Fra i casi più importanti citiamo:
* Il blocco durato alcune ore delle comunicazioni via satellite dell'agenzia France Presse
* La cancellazione di numerosi voli intercontinentali della compagnia aerea americana Delta Air Lines
* Sono state inoltre colpiti dal virus computer della guardia costiera britannica, della Sampo Bank finlandese, delle Deutsche Post e della Commissione europea

## L'autore

L'autore di SASSER è stato identificato nel diciottenne Sven Jaschan, uno studente di informatica di Rotenburg il quale, arrestato il 7 maggio 2004 dopo un'indagine durata tre mesi, ha immediatamente ammesso di essere l'autore di questo worm e di alcune varianti del precedente Netsky. È stato condannato a 21 mesi di reclusione ma, avendo commesso il reato quando era ancora minorenne, la condanna è stata sospesa. Da martedì 9 ottobre 2007 è apparso sul sito di piratebay il sorgente della trentunesima variante di netsky (Netsky.AE).