Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Capitolo 4: Controllo della diffusione e ripristino
Pubblicato: 20 maggio 2004
In questa pagina
Introduzione
Passaggio 1: Conferma dell'infezione
Passaggio 2: Risposta ai problemi
Passaggio 3: Analisi del software dannoso
Passaggio 4: Ripristino del sistema
Passaggio 5: Passaggi post ripristino
Riepilogo
Introduzione
Nel presente capitolo vengono trattati diversi argomenti da tenere in considerazione per identificare le infezioni causate da software dannoso, limitarne la diffusione e trovare le soluzioni adatte per eliminare gli effetti indesiderati sui sistemi del proprio ambiente. Pertanto, è indispensabile ricorrere a soluzioni dirette e compatibili in grado di fornire risposte adeguate ai problemi e alle esigenze di ripristino. In genere, quando si verificano problemi causati da software dannoso si determina un senso di urgenza che non favorisce l'elaborazione di procedure accurate che possano essere considerate efficaci e risolutive anche in seguito.
Inoltre, è necessario tenere presente un altro punto importante. Poiché gli attacchi di software dannoso sono diventati sempre più complessi a causa dell'utilizzo di diversi metodi di payload, allo stato attuale non esiste un singolo processo universalmente applicabile in grado di garantirne la rimozione. È quindi probabile che per ogni attacco di software dannoso sia necessaria una soluzione specifica. Ciononostante, è fondamentale riuscire a definire processi logici in grado di identificare un attacco di software dannoso, limitarne la diffusione e garantire il ripristino del sistema.
Di seguito sono riportati i passaggi principali che devono essere inclusi in un processo di ripristino dalla diffusione di software dannoso:
Conferma dell'infezione.
Risposta ai problemi.
Analisi del software dannoso.
Ripristino del sistema.
Passaggi post ripristino.
Passaggio 1: Conferma dell'infezione
La capacità di stabilire rapidamente se il sistema è stato infettato assume un valore fondamentale per mettere un'organizzazione nelle condizioni di ridurre al minimo l'impatto provocato da un'infezione. Se si riesce a rilevare un'infezione in tempi rapidi e se ne identificano le caratteristiche sospette, è possibile ridurre l'infezione e il relativo impatto sugli utenti.
Esistono diversi tipi di malfunzionamenti del computer che possono essere confusi con comportamenti tipici di un virus. Quando si riceve una chiamata telefonica o un messaggio di posta elettronica da un utente in cui viene segnalata la presenza di un virus nel sistema, il personale del supporto tecnico deve innanzitutto verificare se il comportamento potrebbe essere causato dalla presenza di codice dannoso. Nell'elenco seguente vengono indicati alcuni esempi di sintomi tipici in cui l'utente potrebbe ravvisare un comportamento specifico di un virus:
"Si tenta di aprire un allegato di posta elettronica ma l'allegato non si apre. Inoltre, si rileva un comportamento inatteso del sistema".
"Si ricevono messaggi di risposta da contatti che chiedono il motivo per cui sono stati inviati file exe, zip o altri allegati che in realtà non sono mai stati inoltrati".
"L'esecuzione del programma antivirus si è bloccata e il computer continua a spegnersi".
"I programmi non funzionano correttamente e l'esecuzione di ognuno di essi appare molto rallentata".
"Nella cartella Documenti viene visualizzato un gruppo di file mai visto in precedenza".
"Molti file non si aprono o sembrano scomparsi".
Le osservazioni e i commenti degli utenti possono essere fondamentali in quanto gli utenti sono i primi a ravvisare un comportamento anomalo del sistema. Poiché la velocità di diffusione del software dannoso è molto rapida, il periodo di tempo compreso tra l'inizio dell'infezione e la disponibilità di una protezione efficace acquisisce un'importanza enorme. Inoltre, dato che la maggior parte delle infezioni si verifica durante questo lasso di tempo, è fondamentale identificare l'infezione rapidamente e verificarne la presenza per ridurre al minimo la diffusione e i danni che ne potrebbero conseguire.
Nella seguente sezione vengono descritti diversi passaggi che consentiranno di verificare con maggiore rapidità se il comportamento anomalo è provocato dalla diffusione o da un attacco di software dannoso.
Se il sistema viene infettato da un nuovo tipo di software dannoso, è probabile che l'utente sia il primo ad accorgersi di eventuali comportamenti anomali del sistema. Come descritto nel capitolo 3, "Difesa antivirus a più livelli" della presente guida, è probabile che le applicazioni antivirus vengano aggiornate in ritardo rispetto al rilascio di un nuovo software dannoso e che quindi non siano in grado di rilevarlo e neutralizzarlo. Il modo migliore per ottenere un sistema di avviso efficace è quello di fornire all'utente tutte le informazioni necessarie per riconoscere i segnali di un possibile attacco di software dannoso e collegamenti di comunicazione rapidi che consentano di segnalare il problema nel più breve tempo possibile.
Report sull'infezione
Quando si riceve una chiamata o un avviso relativo a un possibile nuovo attacco di software dannoso, per il personale di supporto tecnico è utile poter disporre di un processo definito che consenta di determinare in tempi rapidi se l'avviso segnala la presenza di un nuovo attacco. Nel seguente diagramma di flusso vengono descritti i passaggi principali previsti dal processo:
Figura 4.1 Processo di report sull'infezione di software dannoso
Report attività anomale
Le seguenti domande devono essere utilizzate per stabilire se l'attività anomala che ha generato l'avviso è causata da un nuovo attacco di software dannoso. Nella presente guida si presuppone che le domande vengano poste a un utente senza particolari competenze tecniche da un membro del personale del supporto IT dell'organizzazione.
Acquisizione delle informazioni di base
Le domande iniziali devono essere formulate per ottenere risposte che consentano di determinare in tempi brevi la vera natura dell'avviso e il livello di probabilità di un nuovo attacco di software dannoso. Come punto di partenza per questo processo è possibile utilizzare le seguenti domande di esempio che possono essere modificate in base ai requisiti dell'organizzazione:
Quali sono la data e l'ora del report?
Qual è l'attività anomala che ha richiesto il report?
Qual era l'attività in corso prima che si verificasse l'anomalia?
Sono stati visitati siti Web diversi da quelli visitati abitualmente?
Il sistema è stato recentemente spostato all'esterno della rete dell'organizzazione (ad esempio, in un aereoporto, in una rete domestica, in un'area sensibile Wi-Fi o in un hotel)?
Sono apparsi annunci o finestre popup inusuali sullo schermo?
Quali processi anomali o inattesi sono attualmente in esecuzione?
Il computer in uso è una workstation o un server? Qual è il sistema operativo in uso e quali aggiornamenti per la protezione sono stati applicati?
Il computer o le periferiche ad esso collegate contengono dati critici?
L'utente si è connesso mediante un account con privilegi amministrativi?
L'utente utilizza una password complessa o una frase password?
Il sistema è già stato sottoposto ad attacchi di software dannoso?
Quest'ultima domanda è importante in quanto gli attacchi precedenti creano vulnerabilità che, se non vengono corrette, possono favorire ulteriori attacchi. Se la risposta a questa domanda è "Sì", è possibile passare alle altre domande riportate di seguito:
Quando si è verificato l'attacco precedente?
Chi ha gestito il caso e, se possibile, qual era il numero del caso?
Sono disponibili informazioni sulle operazioni eseguite in quella occasione?
Valutazione dei dati
Dopo aver esaminato le risposte alle domande sopra riportate, il personale del supporto tecnico valuta i dati acquisiti confrontandoli con quelli delle domande sottostanti per determinare se l'attacco di software dannoso è una causa probabile del report:
È possibile che il report sia il risultato di una caratteristica nuova o aggiornata del sistema, ma del tutto legittima?
È possibile che il report sia il risultato delle attività di un utente non autorizzato anziché di un hacker o di un intruso?
È possibile che il report sia il risultato di attività di sistema note?
È possibile che il report sia il risultato di modifiche autorizzate a programmi o sistemi?
Infine, per determinare se il report corrisponde a un avviso di worm o virus esistente, è necessario eseguire un controllo con origini di antivirus esterne (identificate nella sezione "Comunicazioni interne proattive" del capitolo 3, "Difesa antivirus a più livelli" della presente guida).
Acquisizione dei dettagli
A questo punto è possibile determinare se la probabile causa del problema è rappresentata da un nuovo attacco di software dannoso. In caso contrario, potrebbe essere necessario fare riferimento a un livello di informazioni tecniche più avanzato e richiedere un controllo fisico del sistema sospetto (o, se possibile, un controllo remoto) da parte del personale del supporto tecnico. Per acquisire informazioni più dettagliate e stabilire, in modo categorico, se il sistema è stato attaccato da un hacker o da codice dannoso, è possibile fare riferimento alle domande tecniche di esempio riportate di seguito:
Il firewall della periferica è stato attivato sopra o davanti alla periferica? In questo caso, quali sono le porte aperte per l'accesso a Internet?
Se si verificano arresti anomali delle applicazioni, contattare immediatamente i fornitori delle applicazioni per determinare la causa principale del problema, ad esempio le applicazioni Microsoft correnti includono strumenti per la segnalazione degli errori che consentono all'utente di inviare report di arresti anomali.
Sono stati rilasciati aggiornamenti per la protezione del sistema e tali aggiornamenti non sono stati installati?
Qual è il criterio password disponibile sul sistema? Qual è la lunghezza minima delle password? Quali sono i requisiti di complessità delle password?
Verificare la presenza di elementi nuovi o sospetti, ad esempio:
account sul computer locale
account nel gruppo Administrators
servizi elencati nella console di gestione dei servizi
eventi nei registri degli eventi
Esistono connessioni di rete riportate dall'utilità netstat basate su indirizzi IP esterni o indirizzi IP sospetti?
Risposta di attività anomale
Dopo aver acquisito ed esaminato le informazioni iniziali per determinare la natura dell'avviso, il personale del supporto tecnico dovrebbe essere in grado di stabilire se si è trattato di un falso allarme, di un falso avviso o di un attacco di software dannoso.
La creazione di un report di software dannoso falso è molto più semplice dello sviluppo di un virus o di un worm che invece comporta la generazione di molti falsi avvisi di software dannoso. Falsi allarmi, chiamate e avvisi comportano uno spreco considerevole di tempo e denaro. I falsi avvisi, inoltre, sono fastidiosi e tendono a mettere in dubbio il valore dei report di attacchi potenziali. Per una corretta gestione degli avvisi, è necessario tenere presente le seguenti considerazioni.
Falsi allarmi. Se il report è un falso allarme, è necessario registrare le informazioni sulle chiamate. Mediante la revisione periodica delle informazioni è possibile determinare se è necessario un ulteriore training degli utenti.
Falsi avvisi. È importante registrare sia i falsi avvisi sia le attività reali del software dannoso in quanto si tratta ancora di istanze di attacco in cui non viene utilizzato alcun codice dannoso. Nelle normali comunicazioni antivirus dell'organizzazione dovrebbe essere previsto lo scambio di informazioni relative a falsi avvisi o a pericoli concreti correlati a software dannoso. Queste informazioni potrebbero consentire agli utenti di riconoscere i falsi avvisi in anticipo riducendo eventuali perdite di produttività.
Infezioni note. Se si ritiene che il sistema sia stato infettato, il personale del supporto tecnico dovrà eseguire le procedure necessarie per determinare se l'infezione è causata da un attacco noto che può essere gestito con un'applicazione antivirus esistente. Sarà quindi necessario controllare l'applicazione antivirus del sistema per verificare se è aggiornata e in funzione. A questo punto è possibile effettuare l'analisi completa del sistema per tentare di eseguirne la pulitura. Se in seguito all'esecuzione dell'analisi l'infezione viene identificata ed eliminata, la chiamata verrà registrata e a tutti gli utenti verrà inviato un avviso in cui viene confermato che i sistemi antivirus sono aggiornati e funzionano in modo corretto. Se in seguito all'esecuzione dell'analisi non viene rilevato alcun tipo specifico di software dannoso, è possibile che sia in atto una nuova infezione per cui è consigliabile fare riferimento alla sezione "Processo di risposta ai problemi" riportata più avanti.
Nuova infezione. Se si ritiene che il sistema sia stato infettato da un nuovo attacco di software dannoso, è necessario eseguire una serie di azioni iniziali per fare in modo che il problema venga comunicato in maniera corretta. Queste azioni consentono al personale del supporto IT di seguire un processo uniforme in grado di garantire il corretto svolgimento delle azioni richieste. Le risposte alle domande iniziali sopra elencate consentiranno di stabilire quali delle seguenti azioni iniziali devono essere prese in considerazione in questa fase:
Contattare il membro assegnato dal team di risposta alle emergenze con i dettagli relativi all'avviso.
Se il computer sospetto è un server, contattare l'amministratore per verificare le conseguenze provocate dall'eventuale rimozione del computer dalla rete.
Se il computer sospetto è una workstation, contattare gli utenti per verificare le conseguenze provocate dall'eventuale rimozione del computer dalla rete.
Valutare l'attivazione di un avviso di livello elevato per avvertire gli utenti del sistema IT che l'attacco è stato rilevato.
A questo punto, il ruolo del personale del supporto tecnico è completo. La responsibilità della diffusione passerà al processo di risposta ai problemi e sarà necessario inviare una notifica ai membri del CSIRT (Computer Security Incident Response Team).
Passaggio 2: Risposta ai problemi
Come indicato nel capitolo 3, "Difesa antivirus a più livelli" della presente guida, il CSIRT dovrà convocare al più presto possibile una riunione d'emergenza per consentire l'organizzazione del passo successivo del processo di risposta ai problemi dell'organizzazione. Per una descrizione dettagliata della modalità di creazione dei team di risposta alle emergenze e dei processi per la protezione e il ripristino di emergenza, fare riferimento allo stesso capitolo della presente guida.
Si presume che il CSIRT sia tra gli argomenti trattati nella guida. Il primo obiettivo del team, a questo punto, deve essere quello di determinare il meccanismo più immediato per il controllo della diffusione. Nella seguente sezione vengono fornite ulteriori informazioni utili per determinare le opzioni per il meccanismo scelto e i relativi componenti.
Controllo di emergenza della diffusione
Dopo che è stato confermato l'attacco di software dannoso, il primo passaggio richiesto per controllarne la diffusione è quello di verificare se i computer infetti sono isolati dalle periferiche. L'isolamento dei computer infetti è essenziale in quanto previene la diffusione del codice dannoso. Per ottenere tale isolamento è possibile ricorrere all'utilizzo di diversi meccanismi, anche se ognuno di essi avrà un impatto sulle operazioni normalmente svolte nell'ambito dell'organizzazione.
Importante: se si ritiene che l'organizzazione voglia intentare una causa civile o penale, Microsoft consiglia di consultare i rappresentanti legali dell'organizzazione prima di intraprendere altre azioni.
Se la diffusione è stata rilevata dalla comunità antivirus, è consigliabile fare riferimento alle informazioni indicate dal fornitore del programma antivirus per stabilire il livello di gravità della diffusione.
Se gran parte della comunità antivirus non è ancora al corrente della diffusione, sarà necessario sottoporre il problema al fornitore del programma antivirus quanto prima possibile. È possibile che venga richiesto di inviare alcuni esempi di software dannoso in file compressi o protetti da password per consentirne l'analisi. Il processo di individuazione degli esempi non è sempre così immediato e sarebbe opportuno che venisse preparato in anticipo. Per ulteriori informazioni sulla preparazione di esempi di software dannoso, vedere la sezione "Passaggio 3: Analisi del software dannoso" del presente capitolo.
Il successivo passaggio dell'azione da seguire prevede la limitazione immediata dell'attacco. Esistono tre opzioni di base da tenere in considerazione:
Disconnettere i sistemi violati dalla rete locale.
Se possibile, isolare le reti contenenti host infetti.
Se l'intera rete è stata violata o potrebbe essere violata, è necessario disconnetterla da tutte le reti esterne.
Sono disponibili molti altri passaggi tecnici più dettagliati che possono essere presi in considerazione, ad esempio il monitoraggio della rete per identificare e provare le porte di rete e gli indirizzi IP coinvolti nell'attacco. Tuttavia, se non viene completata un'analisi dettagliata del software dannoso, si corrono seri rischi di tralasciare un vettore di attacco che potrebbe diffondere ulteriormente l'infezione. L'unico meccanismo disponibile per l'organizzazione in grado di stabilire se il rischio è accettabile, è rappresentato da un report completo di verifica dei rischi di protezione. Questo report, oltre a determinare i rischi a cui si va incontro in seguito a un tentativo non riuscito di bloccare un attacco, consente di sottoporre clienti e organizzazioni partner ad attacchi potenzialmente infetti e utilizzati in modo inconsapevole. Se non viene completata l'analisi dei rischi prima dell'attacco, è consigliabile che l'organizzazione sia molto prudente e cerchi di ridurre al minimo le possibilità che l'attacco possa diffondersi selezionando il livello di isolamento più alto possibile.
Le opzioni sopra elencate rappresentano delle semplici linee guida. Lo svolgimento specifico dell'azione può variare in base a diversi fattori, ad esempio le esigenze commerciali, le impostazioni internazionali, l'impatto, il livello di gravità e ad altri fattori riconducibili all'organizzazione e alle circostanze che hanno provocato la diffusione.
Preparazione per il ripristino
Dopo aver attivato il meccanismo di controllo della diffusione, è necessario avviare il processo di ripristino attivo. Lo scopo generale del processo di ripristino è quello di garantire il raggiungimento dei seguenti obiettivi:
Riduzione drastica dei problemi relativi all'attività dell'organizzazione.
Ripristino del sistema nel più breve tempo possibile.
Acquisizione di informazioni tese a garantire una possibile prosecuzione.
Acquisizione di informazioni tese a garantire lo sviluppo di altre misure di protezione, se richieste.
Prevenzione contro altri attacchi dello stesso tipo nei sistemi ripristinati.
Purtroppo, i primi due obiettivi richiedono soluzioni a correzione rapida, mentre i restanti tre richiedono tempo per acquisire tutte le informazioni necessarie per comprendere la natura dell'attacco. Per soddisfare entrambe le esigenze, ovvero per risolvere il problema e acquisire tutti i dati più importanti, è opportuno prendere in considerazione l'utilizzo del processo indicato nella seguente figura. Questo processo non solo consente il rilascio del sistema infetto per il ripristino nel più breve tempo possibile, ma garantisce anche che i dati di analisi richiesti non vadano persi. Questi dati sono importanti sia perché verranno utilizzati dall'organizzazione per determinare se i sistemi ripristinati sono protetti in caso di attacchi futuri, sia perché rappresentano una prova evidente nel caso in cui si decida di intraprendere un'azione legale.
Per ottimizzare i tempi di ripristino, è necessario che i processi di ripristino del sistema e di analisi dei virus vengano eseguiti in diversi momenti.
Figura 4.2 Passaggi per il ripristino prima dell'analisi
Il modo più rapido per consentire il ripristino di tutti i sistemi è quello di individuare un sistema infetto che possa essere utilizzato per l'analisi. Dopo averlo identificato, il sistema deve essere messo in quarantena e sottoposto ad analisi. (Per ulteriori informazioni sul processo di analisi, consultare la sezione "Passaggio 3: Analisi del software dannoso" del presente capitolo). Se non è possibile eseguire né la messa in quarantena né l'analisi, è disponibile un'altra soluzione mediante la quale è possibile ottenere un clone del sistema utilizzando un tipo di software specifico per l'acquisizione delle immagini. Se questa opzione è disponibile, è possibile acquisire l'immagine del sistema, rilasciare il computer originale per il ripristino e creare un sistema clone.
Nei casi in cui vengano acquisite delle prove o si decida di eseguire un'analisi più approfondita, è molto importante che l'immagine dei computer interessati venga acquisita nel più breve tempo possibile (prima dell'inizio delle attività di risoluzione dei problemi) in modo che l'infezione possa essere identificata, catalogata e gestita nel modo più appropriato ed efficace.
Infine, se non è possibile eseguire l'acquisizione dell'immagine, sarà necessario raccogliere un campione di dati di analisi prima che il sistema venga rilasciato per il ripristino. In teoria, il team di protezione dell'organizzazione dovrebbe sviluppare e gestire un tipo di toolkit per la risposta ai problemi. Questo toolkit potrebbe essere utilizzato per acquisire dati volatili e non volatili utili per risalire ai dati di analisi del sistema. Il toolkit, inoltre, potrebbe essere un sottoinsieme del toolkit di analisi del software dannoso più completo che verrà utilizzato nella sezione successiva del presente capitolo per scoprire e documentare tutti gli elementi del software dannoso. Tuttavia, la differenza sostanziale con il toolkit di risposta ai problemi sta nel fatto che questo toolkit consente di acquisire il livello minimo di informazioni di sistema richieste in tempi talmente rapidi da garantire il rilascio del sistema per il ripristino nel più breve tempo possibile.
Passaggio 3: Analisi del software dannoso
Non appena viene contenuta la diffusione dell'attacco di software dannoso, è importante cercare di comprendere la natura della diffusione ed eseguire un'analisi più dettagliata del software dannoso. L'esecuzione non corretta di questo passaggio può aumentare le probabilità che si verifichino nuove infezioni, così come un'errata comprensione dei meccanismi del software dannoso potrebbe compromettere la pulitura dei sistemi e la protezione contro altri attacchi.
In teoria, l'analisi del software dannoso dovrebbe essere eseguita da un membro del team di protezione con un set di utilità e applicazioni dedicate da utilizzare per l'acquisizione automatica delle informazioni richieste. Di seguito sono riportati alcuni passaggi che consentono di comprendere la natura dell'attacco.
Analisi degli elementi del sistema operativo
Provare a identificare i file del sistema operativo che sono stati introdotti o modificati dall'attacco. Durante l'analisi, esaminare le modifiche relative alle aree seguenti:
Servizi e processi attivi.
Registro di sistema locale.
File inclusi nelle cartelle di sistema di Microsoft® Windows®.
Nuovi account utente o di gruppo, in particolare con privilegi amministrativi.
Cartelle condivise (incluse le cartelle nascoste).
File creati di recente con nomi normali ma in posizioni anomale.
Porte di rete aperte.
Nelle seguenti sezioni vengono descritte le tecniche che è possibile utilizzare per eseguire il controllo degli elementi di un sistema operativo.
Controllo di servizi e processi attivi
È probabile che nella memoria dei sistemi infetti siano stati introdotti nuovi processi.
Per ottenere un'interfaccia utente più intuitiva, è consigliabile utilizzare alcuni strumenti per la creazione di elenchi di processi specifici, ad esempio PsTools e il programma freeware Process Explorer. Questi strumenti sono disponibili sul sito Web Sysinternals all'indirizzo http://www.sysinternals.com e consentono di visualizzare sia il percorso del file di immagine sia la struttura dei processi.
Per ridurre al minimo il numero delle voci nell'elenco dei processi e consentire l'identificazione di eventuali processi inaffidabili, è necessario chiudere tutte le applicazioni valide, comprese quelle in background quali Instant Messenger, gli strumenti di monitoraggio della posta elettronica o le utilità di terze parti che risiedono nella memoria.
Se non sono disponibili strumenti specifici, è possibile utilizzare Task Manager Windows incluso in tutti i sistemi Microsoft Windows per eseguire un rapido controllo dei processi attivi in esecuzione sul sistema. Tuttavia, poiché in Task Manager non viene visualizzato il percorso dell'immagine da cui è stato generato il processo, è impossibile determinare se eventuali attacchi di software dannoso eseguiti come "svrhost" corrispondano a processi legittimi o meno.
Per analizzare i processi attivi mediante l'utilizzo di Task Manager, è sufficiente attenersi alla procedura sottostante:
Per analizzare i processi attivi eseguiti sui sistemi Windows
Premere contemporaneamente i tasti CTRL+ALT+CANC per visualizzare la finestra Protezione di Windows e selezionare Task Manager.
Nota: nei sistemi Windows 9x verrà visualizzato un elenco dei programmi in esecuzione anziché l'applicazione Task Manager.
Fare clic sulla scheda Processi.
Ridimensionare la finestra Task Manager Windows per visualizzare tutti i processi attivi inclusi nella schermata.
Selezionare l'opzione Visualizza dalla barra dei menu, quindi scegliere Seleziona colonne.
Selezionare le caselle di controllo per le seguenti colonne:
PID (Identific. processo)
Utilizzo CPU
Tempo CPU
Utilizzo memoria
Picchi utilizzo memoria
Letture I/O
Scritture I/O
Scegliere OK e ridimensionare la finestra per visualizzare il maggior numero di colonne possibile.
Per ordinare le colonne è sufficiente fare clic sul titolo. Utilizzare questo metodo di ordinamento per ognuna delle colonne elencate e determinare le risorse utilizzate dai diversi processi.
Nota: per ottenere la stampa dell'elenco come copia di riferimento, attivare la finestra di Process Explorer o di Task Manager Windows e premere ALT+STAMP sulla tastiera. Negli Appunti del computer viene catturata la schermata dell'elenco che può essere incollata nell'applicazione Paint di Windows o in Microsoft Word per poi essere stampata.
Nella seguente figura sono indicati i dettagli relativi al processo attivo del worm Blaster in Task Manager di Microsoft Windows 2000® Server.
Figura 4.3 Visualizzazione del processo attivo del worm Blaster in Task Manager di Windows 2000
Nota: è possibile che, per motivi di protezione, l'avvio di Task Manager venga bloccato dal software dannoso. In questo caso, è possibile utilizzare l'utilità della riga di comando Tasklist disponibile sui sistemi Microsoft Windows® XP e Windows Server™ 2003 (o l'utilità della riga di comando TList di Windows 2000) per generare un semplice elenco dei file di testo. È quindi possibile copiare i file su un supporto rimovibile per un'analisi ulteriore. Per generare un file di testo con l'elenco di tutti i processi attivi, utilizzare la sintassi della riga di comando riportata di seguito:
tasklist /v >TaskList.txt
Mediante la riga di comando indicata verrà creato il file TaskList.txt nella directory di lavoro corrente.
Quando si ha il sospetto che sul sistema venga eseguito software dannoso, è consigliabile controllare i processi facendo riferimento ai seguenti suggerimenti:
Controllare le istanze dei servizi Telnet e FTP (File Transfer Protocol) in esecuzione.
Se non si è sicuri di un processo, utilizzare un motore di ricerca su Internet, ad esempio Google, per cercare ulteriori informazioni in merito.
Controllare il percorso del file di immagine dei processi di cui si riconosce il nome dell'immagine.
Individuare i servizi in esecuzione e quelli interrotti.
Oltre al processo msblast.exe visualizzato nella figura precedente, esistono altri possibili processi sospetti, ovvero:
ServuFTP
Ocxdll.exe
Kill.exe
Mdm.exe
Mdm.scr
Mt.exe
Ncp.exe
Psexec.exe
Win32load.exe
Controllo delle cartelle di avvio
È possibile che in seguito a un tentativo di autoesecuzione del software dannoso, le cartelle di avvio del sistema subiscano delle modifiche.
Nota: il percorso di queste cartelle verrà modificato a seconda del sistema operativo analizzato. Le seguenti informazioni sono relative ai sistemi operativi Windows XP, Windows Server 2003 e Windows 2000.
Le cartelle di avvio presentano due aree che devono essere controllate. La prima è rappresentata dalla cartella Tutti gli utenti che in genere si trova nella seguente posizione predefinita:
C:\Documents and Settings\All Users\Menu Avvio
La seconda è rappresentata dal percorso del profilo utente relativo all'account attualmente connesso, per quanto sarebbe importante controllare tutti i profili creati sul sistema e non solo l'account attualmente connesso. Queste informazioni si trovano in C:\Documents and Settings\<NomeUtente>\Menu Avvio in cui il <NomeUtente> rappresenta l'ID di accesso degli utenti definiti sul sistema analizzato.
Nota: sui sistemi Microsoft Windows® 95 e Windows® 98 è possibile che il software dannoso riesca a rinominare la cartella di avvio. Per ulteriori informazioni su questo argomento, vedere l'articolo della Microsoft Knowledge Base "141900: Folder Other Than StartUp Launches Programs" (in inglese) su Microsoft.com all'indirizzo: http://support.microsoft.com/?kbid=141900
Controllare tutte le voci incluse nella cartella di avvio per accertarsi che durante l'avvio del sistema non venga eseguito alcun tentativo di esecuzione di software dannoso.
Controllo delle applicazioni pianificate
È inoltre possibile (solo di rado) che la presenza di software dannoso determini l'utilizzo del servizio Utilità di pianificazione di Windows e l'esecuzione di applicazioni non autorizzate. Per verificare che ciò non accada, è sufficiente attenersi alla procedura sottostante ed eseguire un semplice controllo della coda dell'Utilità di pianificazione:
Per controllare la coda dell'Utilità di pianificazione
Fare clic su Start, quindi scegliere Esegui, digitare at e infine premere INVIO.
Controllare l'elenco. Se vengono visualizzate applicazioni non autorizzate o sospette, creare un report per analisi future utilizzando il seguente comando:
- Fare clic su Start, quindi scegliere Esegui, digitare at >C:\AT_Queue_Report.txt e infine premere INVIO.
Eseguendo il comando specificato verrà creato un file di testo nella cartella principale dell'unità C: che dovrà essere spostato su un disco rimovibile per analisi future. Controllare il file di testo per determinare se nella coda sono pianificate eventuali applicazioni non autorizzate.
Dopo aver completato l'analisi dei processi attivi e di quelli pianificati, è possibile identificare il processo o i processi introdotti dall'attacco. Al termine del rilevamento, è necessario riavviare il sistema e ripetere l'analisi per stabilire se in seguito all'attacco sono state violate altre aree del sistema o se sono stati eseguiti processi inaffidabili all'avvio. In questo caso, sarà necessario completare l'analisi dei file di avvio del sistema e del Registro di sistema per individuare il meccanismo utilizzato per la gestione del processo o dei processi inaffidabili.
Analisi del Registro di sistema locale
Poiché il Registro di sistema completato è un archivio dati esteso e complesso, è consigliabile crearne una copia per eseguire un'analisi dettagliata al termine del processo di ripristino da un attacco.
Per eseguire il backup e il ripristino dell'intero Registro di sistema, è possibile utilizzare l'utilità di backup inclusa in tutte le versioni di Windows. Se l'utilità viene utilizzata regolarmente per eseguire il backup del disco rigido, è possibile includere nella procedura anche il Registro di sistema. Per eseguire il backup del Registro di sistema con l'applicazione di backup, selezionare Stato del sistema quando si scelgono le unità, i file e le cartelle che si desidera includere nel set di backup.
Poiché lo stato del sistema include altre informazioni specifiche del sistema nonché il Registro di sistema, le dimensioni dei file di backup possono corrispondere a centinaia di megabyte. In alternativa, è possibile utilizzare le utilità di modifica del Registro di sistema incluse nelle versioni di Windows. Queste utilità sono particolarmente indicate per eseguire una copia del Registro di sistema. In Windows XP e Windows Server 2003 sono inclusi due strumenti di modifica del Registro di sistema, Regedit.exe e lo strumento della riga di comando Reg.exe.
Nota: nei sistemi operativi Windows 2000 e Windows NT® viene utilizzato Regedt32.exe e sono richiesti gli strumenti del Resource Kit RegBack.exe e RegRest.exe per garantire le stesse funzionalità di Regedit.exe e Reg.exe. Per ulteriori informazioni su questi strumenti, vedere la pagina "Backing up and Restoring the Windows 2000 Registry" del Resource Kit di Windows 2000 su Microsoft.com all'indirizzo: http://www.microsoft.com/windows2000/ techinfo/reskit/en-us/regentry/RegistryBackup.asp (in inglese).
Per eseguire una copia di backup del Registro di sistema mediante l'utilizzo di Regedit
Fare clic su Start, quindi scegliere Esegui, digitare regedit e infine premere INVIO.
Nel riquadro a sinistra, selezionare Computer locale, quindi scegliere Esporta dal menu File.
Nella casella Nome file, immettere il nome e il percorso per la copia del file del Registro di sistema.
In Intervallo di esportazione, selezionare Tutto, quindi scegliere Salva.
Per informazioni dettagliate sull'utilizzo di Regedit.exe e Reg.exe, è possibile consultare la pagina "Registry Reference for Windows Server 2003" della guida sulla distribuzione di Windows Server 2003 all'indirizzo: http://www.microsoft.com/resources/documentation/WindowsServ/2003/all/deployguide/ en-us/RegistryBackup.asp (in inglese).
Importante: poiché il disco verrà esposto a software dannoso, è consigliabile evitare che venga condiviso da altri sistemi finché non viene trovato un metodo di controllo efficace.
Dopo aver completato il backup del Registro di sistema, è necessario verificare se sono presenti riferimenti a file anomali nelle aree seguenti:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SessionManager\KnownDLLs
HKEY_LOCAL_MACHINE\System\ControlSet001\Control\Session Manager\KnownDLLs
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current Version\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current Version\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current Version\RunOnceEx
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows ("run=" riga)
HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\RunOnce
HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\RunOnceEx
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows ("run=" valore)
Queste aree del Registro di sistema spesso diventano i principali obiettivi del codice dannoso perché consentono l'esecuzione automatica del software dannoso all'avvio del sistema. Ad esempio, il worm W32@.Mydoom.G@mm determina l'aggiunta del seguente valore:
"(Predefinito)" = "%System%\<random_filename>"
nelle chiavi del Registro di sistema riportate di seguito:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
Un'altra area presa recentemente in considerazione come obiettivo è la chiave seguente:
HKEY_CLASSES_ROOT\CLSID\{E6FB5E20-DE35-11CF-9C87-00AA005127ED}\InProcServer32
Questa chiave controlla i file dll caricati da Microsoft Internet Explorer (Explorer.exe). Il worm Mydoom e le relative varianti, ad esempio, determinano l'aggiunta di una voce nella chiave che consente di caricare file dll in grado di provocare una vulnerabilità e un attacco di backdoor.
Il worm W32.Netsky.D@mm determina l'eliminazione sia della chiave sopra indicata che delle chiavi seguenti:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\PINF
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\WksPatch
Verifica della presenza di software dannoso e file danneggiati
Poiché la maggior parte del software dannoso comporta la modifica di uno più file presenti sul disco rigido del computer, il processo per l'identificazione di tali file potrebbe rivelarsi davvero difficile. Se il sistema è stato creato da un'immagine, è possibile confrontare il sistema infetto direttamente con il nuovo sistema creato dall'immagine.
Se questa opzione non è disponibile, è possibile identificare i file modificati eseguendo una ricerca sull'intero sistema di tutti i file modificati dall'introduzione del software dannoso nel sistema. La ricerca può essere eseguita mediante l'utilizzo dello strumento di ricerca di Windows. Nella seguente schermata viene indicato come restringere la ricerca dei file infetti mediante le opzioni avanzate del riquadro Risultati ricerca.
Figura 4.4 Finestra delle opzioni avanzate dei risultati della ricerca
Se le opzioni vengono configurate così come indicato nella figura, verranno indicati tutti i file creati nel giorno in cui il software dannoso è stato introdotto nel computer host (nell'esempio, il 27 aprile 2004).
È inoltre possibile creare un file di testo con l'elenco, a volte molto lungo, di tutti i file inclusi nella directory corrente e nelle relative sottodirectory.
Per creare un elenco di tutti i file inclusi in una directory e nelle relative sottodirectory
Fare clic su Start, quindi scegliere Esegui, digitare cmd e infine premere INVIO.
Passare alla directory che si desidera documentare.
Al prompt dei comandi, digitare dir /s /-c /o:-d /t:c /q > FileList.txt, quindi premere INVIO.
All'esecuzione del comando, nella directory corrente verrà creato il file di testo FileList.txt di cui è consigliabile eseguire una copia su un supporto rimovibile per ulteriori analisi.
Nota: per creare questo stesso tipo di elenco è possibile ricorrere all'utilizzo di altri strumenti e script. Tuttavia, lo scopo della presente sezione è quello di consentire all'utente di acquisire le informazioni in modo rapido utilizzando gli strumenti disponibili sul sistema. Se si è avuto tempo sufficiente per preparare un toolkit di risposta alle emergenze con script più avanzato, è preferibile utilizzare il toolkit anziché la procedura indicata di seguito.
Al termine della ricerca, è possibile ordinare i risultati in base al tipo per identificare più facilmente i file eseguibili che in genere rappresentano l'obiettivo del software dannoso. Nell'elenco seguente vengono indicati alcuni esempi dei tipi di file più comuni che possono contenere codice eseguibile:
*.exe *.html *.cmd *.htm
*.bat *.cpl *.pif *.pot
*.vbs *.vbe *.js *.jse
*.scr *.jpg *.doc *.xls
*.mdb *.com *.ocx
Nota: l'elenco della ricerca potrebbe contenere un numero di voci talmente elevato da non consentire, in questa fase del processo, l'analisi di tutte le modifiche eseguite. Tuttavia, è importante salvare una copia dell'elenco o eseguirne una stampa per esaminare i probabili file di destinazione non appena si dispone di tempo sufficiente per farlo.
I seguenti file potrebbero indicare la presenza di software dannoso nel sistema:
DLL16.ini
DLL32.hlp
DLL32NT.hlp
Gates.txt
Gg.bat
Httpsearch.ini
Seced.bat
Xvpll.hlp
Psexec.bat
Lcp_netbios.dll
Questi file, in genere utilizzati negli attacchi di software dannoso, vengono indicati per illustrare le tecniche di denominazione utilizzate per tentare di nascondere i file di software dannoso. Se non si è sicuri del nome di un file specifico, a volte è sufficiente eseguire una ricerca su Internet per acquisire ulteriori informazioni sulla natura dei file e stabilire se si tratta di file collegati a software dannoso. Tuttavia, è importante che la ricerca venga eseguita su un sistema non infetto, in quanto la stessa esplorazione di Internet può essere compromessa dagli attacchi di software dannoso.
È inoltre necessario tenere presente che in molti attacchi di software dannoso vengono utilizzati nomi di file di sistema validi, ma che tali file vengono inseriti in cartelle differenti per evitare che possano essere identificati dal servizio di protezione file di Windows. Ad esempio, il file Svchost.exe, che in passato è stato utilizzato da software dannoso, viene normalmente installato e protetto nella cartella %WINDIR%\System32. Ad ogni modo, gli esempi di software dannoso in grado di creare file con lo stesso nome direttamente nella cartella %WINDIR% sono stati già esaminati. È importante controllare sia il percorso completo sia i nomi dei file.
Di seguito sono riportate alcune delle aree di destinazione comuni in cui vengono inclusi e modificati i file durante gli attacchi di software dannoso:
%Windir%. È la variabile assegnata alla cartella di installazione predefinita dei sistemi operativi Windows. In questa cartella sono inclusi importanti file eseguibili e di configurazione. Per impostazione predefinita, la variabile punterà ai seguenti percorsi di cartella:
C:\Windows (per i sistemi Windows 95/98/ME/XP e Windows Server 2003).
C:\Winnt\ (per i sistemi Windows NT/2000).
%System%. È la variabile assegnata alla cartella di sistema sottostante la cartella di installazione predefinita dei sistemi operativi Windows. In questa cartella sono inclusi i file del sistema operativo host. Per impostazione predefinita, la variabile punterà ai seguenti percorsi di cartella:
C:\Windows\System (per i sistemi Windows 95/98/ME).
C:\Winnt\System32 (per i sistemi Windows NT/2000).
C:\Windows\System32 (per i sistemi Windows XP e Windows Server 2003).
%Temp%. È la variabile assegnata al percorso utilizzato dalle applicazioni per la scrittura dei file temporanei. Per impostazione predefinita, la variabile è assegnata ai seguenti percorsi:
C:\Windows\TEMP (per i sistemi Windows 95/98/ME).
C:\WINNT\Temp (per i sistemi Windows NT/2000).
C:\Document and Settings\<NomeUtente>\Local Settings\Temp (per i sistemi Windows XP e Windows Server 2003).
%Temporary Internet Files%. È la variabile utilizzata dalle applicazioni browser Internet per l'archiviazione dei file temporanei durante l'esplorazione del Web. Per impostazione predefinita, la variabile punta ai seguenti percorsi:
C:\Windows\Temporary Internet Files (per i sistemi Windows 95/98/ME).
C:\Document and Settings\<NomeUtente>\Local Settings\Temporary Internet Files (per i sistemi Windows NT/2000/XP e Windows Server 2003).
Se l'analisi dei file del sistema rivela la presenza di file infetti, sarà necessario copiare i file in un supporto rimovibile per analisi future. Ovviamente, poiché si tratta di file infetti, sarà necessario prevedere passaggi tali da limitare l'utilizzo di questi file solo ai processi stabiliti. Di seguito sono riportati alcuni passaggi che possono essere presi in considerazione per assicurare la protezione delle copie:
Modifica dell'estensione del nome dei file. Modificando l'estensione del nome dei file e assegnando un'estensione non riconosciuta dal sistema operativo, non sarà possibile eseguire il file in modo accidentale. Si può sostituire, ad esempio, l'ultima lettera del file Avirus.exe con un trattino in modo da ottenere Avirus.ex_.
Memorizzazione dei file infetti in un archivio protetto. È consigliabile comprimere i file infetti e proteggere i file compressi mediante l'utilizzo di una password.
Supporti specifici. È consigliabile utilizzare dischi colorati o etichette di tipo non standard in modo da poter differenziare i supporti rimovibili da quelli standard.
Custodia dei file in un luogo sicuro. È consigliabile custodire i supporti con gli esempi del software dannoso in un luogo sicuro o in una qualsiasi struttura protetta.
Utilizzo di archivi protetti per l'invio tramite posta elettronica. In caso sia necessario inviare software dannoso sospetto tramite posta elettronica (ad esempio, al fornitore del programma antivirus), è consigliabile inoltrare i file di archivio protetti da password. Se il software dannoso viene inviato come normale allegato non protetto, è probabile che venga analizzato e rilevato dai gateway di posta elettronica.
Nota: in molti attacchi di software dannoso vengono utilizzati archivi protetti per eludere le tecniche di analisi dei programmi antivirus. Di conseguenza, diverse organizzazioni bloccano o mettono in quarantena tutti i file archiviati in ingresso. Prima di inviare il file, è consigliabile verificare che il destinatario designato disponga di un simile meccanismo e che tale meccanismo sia attivato.
Controllo di utenti e gruppi
In molti attacchi di software dannoso vengono eseguiti tentativi per elevare i privilegi degli utenti del sistema o aggiungere nuovi account ai gruppi che dispongono di privilegi amministrativi. Di seguito sono indicate alcune impostazioni anomale da verificare:
Gruppi e account utente inconsueti.
Nomi utente inadatti.
Gruppi con appartenenza non valida per l'utente.
Diritti utente non validi.
Privilegi elevati di recente per account utente o di gruppo.
Infine, è necessario controllare che tutti i membri del gruppo Administrators siano validi.
Utilizzare lo snap-in MMC per gruppi e utenti locali per verificare la presenza di aggiunte insolite nel gruppo Administrators locale. Inoltre, controllare che nel registro di protezione del computer locale non siano presenti voci anomale. Ad esempio, alcune voci della categoria "Gestione account", tra cui l'evento 636, indicano che è stata eseguita l'aggiunta di un nuovo membro in un gruppo locale. In questi registri vengono indicate anche la data e l'ora in cui è avvenuta la modifica.
Se il sistema esaminato è un server Windows, utilizzare lo snap-in MMC per gruppi e utenti di Active Directory per esaminare anche l'appartenenza al gruppo di dominio. Per ulteriori informazioni sui gruppi e gli utenti predefiniti di Windows 2000, vedere la pagina "Default User Accounts and Groups" su Microsoft TechNet all'indirizzo: http://www.microsoft.com/technet/prodtechnol/windows2000serv/ evaluate/featfunc/07w2kadb.mspx (in inglese) e l'articolo della Knowledge Base "243330: Well Known Security Identifiers in Windows Server Operating Systems" in cui vengono fornite informazioni sugli identificatori di protezione più noti e sui gruppi e gli utenti ad essi associati, disponibile sul sito Microsoft.com all'indirizzo: http://support.microsoft.com/?kbid=243330 (in inglese).
Nota: benché le informazioni degli articoli facciano riferimento a Windows 2000, sono valide anche per Windows 2003 in cui non sono cambiati i gruppi predefiniti di base. Tuttavia, in Windows Server 2003 sono stati introdotti altri gruppi predefiniti, ovvero Servizio di rete e Servizio locale. Per ulteriori informazioni, verificare la configurazione predefinita del sistema.
Controllo delle cartelle condivise
Un altro sintomo tipico della presenza di software dannoso è l'utilizzo di cartelle condivise per la diffusione dell'infezione. Per verificare lo stato delle cartelle condivise nel sistema infetto, utilizzare lo snap-in MMC Gestione computer o eseguire NetShare dalla riga di comando. Nelle seguenti tabelle vengono indicate le condivisioni predefinite di server e client Windows.
Nota: per impostazione predefinita, nei computer Windows 9x non vengono condivisi né file né cartelle a meno che la condivisione file non sia attivata. Inoltre, nei client Windows 9x non esistono condivisioni "admin$" o condivisioni nascoste equivalenti, ma sono disponibili solo le cartelle o i volumi che vengono condivisi in modo specifico tramite la rete (impedendo qualsiasi tipo di violazione del sistema o l'installazione di software controllato in remoto).
Tabella 4.1: Cartelle condivise predefinite di Windows XP
Cartella condivisa | Percorso condiviso | Commento |
---|---|---|
ADMIN$ | C:\Windows | Amministratore remoto. |
C$ | C:\ | Condivisione predefinita. |
<n>$ | <n:>\ | Rappresenta una condivisione per la directory principale di ciascuna unità disco rigido sul sistema. |
SharedDocs | C:\Documents and Settings\All Users\Documenti | Verrà aggiunto se è stata abilitata la condivisione locale dei file. |
Cartella condivisa | Percorso condiviso | Commento |
---|---|---|
ADMIN$ | C:\Windows | Amministratore remoto. |
C$ | C:\ | Condivisione predefinita. |
<n>$ | <n:>\ | Rappresenta una condivisione per la directory principale di ciascuna unità disco rigido sul sistema. |
SharedDocs | C:\Documents and Settings\All Users\Documenti | Verrà aggiunto se è stata abilitata la condivisione locale dei file. |
Wwwroot$ | C:\inetpub\wwwroot | Verrà configurata se i servizi IIS sono stati installati come server Web. |
Pulitura | Ricostruzione |
---|---|
Processo semplice, se sono disponibili gli strumenti di pulitura. | Processo più complesso, specialmente se non viene installata una soluzione di backup e ripristino prima dell'infezione. |
Minor numero di passaggi richiesti per garantire la pulitura dei dati. | Maggior numero di passaggi richiesti per l'acquisizione, il backup, la pulitura, l'analisi e il ripristino dei dati. |
Meno risorse richieste per l'utilizzo degli strumenti di rimozione rispetto a quelle necessarie per la ricostruzione dell'intero sistema. | Il processo di ricostruzione richiede molto tempo e risorse per poter essere completato. |
Rischio che l'infezione non venga eliminata completamente dal sistema. | Rischio ridotto che l'infezione non venga eliminata completamente dal sistema se il ripristino viene eseguito da supporti puliti e dati gestiti in modo adeguato. |