SICUREZZA INFORMATICA Tratto da: https://www.microsoft.com/italy/technet/security/guidance/avdind_1.mspx Guida alla difesa antivirus a più livelli Pericoli correlati a software dannoso Introduzione In questo capitolo della Guida alla difesa antivirus a più livelli è riportata una spiegazione concisa dell'evoluzione dei virus dei computer, dai primi virus relativamente semplici al vario assortimento di software dannoso o malware attualmente esistente. In questo capitolo sono elencati i tipi di software dannoso e le relative tecniche e sono inoltre riportate informazioni sulla propagazione del software dannoso e sui rischi rappresentati per organizzazioni di qualsiasi dimensione. A causa della natura di tale argomento, in continua evoluzione, in questa Guida non si intende elencare e illustrare tutti gli elementi di software dannoso e le possibili variazioni. In ogni caso, questa Guida costituisce un significativo primo passo per tentare di comprendere la natura dei vari elementi di cui è costituito il software dannoso. Sono inoltre illustrati e definiti altri elementi, che non rappresentano software dannoso, come spyware (programmi che eseguono determinate attività su un computer senza ottenere il consenso dell'utente), spam (posta elettronica non desiderata) e adware (annunci integrati nel software). L'evoluzione dei virus dei computer I primi virus per computer sono stati introdotti nei primi anni '80. Questi primi tentativi erano ampiamente sperimentali ed erano costituiti da file autoreplicanti relativamente semplici che visualizzavano insulti o scherzi quando eseguiti. Nota: fornire una storia completa dell'evoluzione dei virus è un'impresa impossibile. La natura illegale del software dannoso implicitamente spiega l'interesse degli autori a nascondere le origini del software. Viene pertanto riportata la storia comunemente accettata del software dannoso da parte dei ricercatori di virus e del settore antivirus. Nel 1986 sono stati segnalati i primi virus ad attaccare i personal computer Microsoft® MS-DOS®; il virus Brain è considerato in genere come il primo di tali virus. Altri erano Virdem (il primo virus basato su file) e PC-Write (il primo cavallo di Troia, un programma che sembra utile o innocuo ma che contiene codice nascosto progettato per attaccare o danneggiare il sistema sul quale viene eseguito). Nel caso di PC-Write, il cavallo di Troia era mascherato dalla diffusa applicazione di elaborazione testi shareware con lo stesso nome. Man mano che altre persone iniziavano ad esplorare la tecnologia dei virus, il numero, la complessità e la diversità dei virus, insieme alle piattaforme di destinazione cominciarono a crescere in modo sostanziale. Per un certo periodo di tempo i virus si sono concentrati sui settori di avvio, quindi hanno iniziato a infettare i file eseguibili. Nel 1988, è apparso il primo worm Internet (un tipo di software che utilizza codice dannoso che si propaga autonomamente, in grado di distribuirsi automaticamente da un computer a un altro attraverso le connessioni di rete). Il Morris Worm ha causato un sostanziale rallentamento delle comunicazioni via Internet. In risposta a questo e al crescente numero di attacchi, è stato fondato il CERT Coordination Center all'indirizzo: http://www.cert.org/ (in inglese), per contribuire ad assicurare la stabilità di Internet assistendo gli utenti nel coordinamento delle risposte a violazioni o attacchi. Nel 1990 è stato attivato in linea il servizio Virus Exchange BBS per consentire agli autori di virus di collaborare tra loro e condividere le loro conoscenze. È stato inoltre pubblicato il primo testo sulla creazione di virus ed è stato sviluppato il primo virus polimorfico, comunemente denominato Chameleon o Casper. Un virus polimorfico è un tipo di software dannoso che utilizza un numero limitato di routine di crittografia per evitare di essere rilevato. I virus polimorfici sono in grado di modificarsi ogni volta che si replicano, il che ne rende difficile l'individuazione da parte dei programmi antivirus basati sulla firma, progettati per "riconoscere" i virus. Dopo poco è stato sferrato il primo grande attacco di un virus polimorfico, Tequila. Nel 1992 sono quindi emersi il primo motore di virus polimorfici e i toolkit di scrittura di virus. Da allora, i virus sono diventati più sofisticati: hanno iniziato ad accedere alle rubriche di posta elettronica e a inviarsi automaticamente ai contatti in esse contenuti, virus macro si sono allegati a diversi file di applicazioni tipo ufficio e li hanno attaccati, inoltre, sono stati rilasciati virus scritti specificamente per violare le vulnerabilità di sistemi operativi e applicazioni. Posta elettronica, reti per la condivisione di file peer-to-peer (P2P), siti Web, unità condivise e vulnerabilità dei prodotti sono stati sfruttati per la replica e l'attacco da parte dei virus. Sono state create backdoor (punti di ingresso nella rete segreti o nascosti introdotti dal software dannoso) sui sistemi infetti per consentire agli autori di virus, o hacker, di tornare ed eseguire qualsiasi software desiderassero. Un hacker nel contesto di questa Guida è un programmatore o utente di computer che tenta di accedere illegalmente a un sistema di computer o a una rete. Il software dannoso è illustrato in modo dettagliato nella sezione successiva di questo capitolo. Alcuni virus sono dotati di motori di posta elettronica integrati che consentono a un sistema infetto di propagare il virus direttamente tramite posta elettronica, ignorando qualsiasi impostazione del client o del server di posta elettronica dell'utente. Gli autori di virus hanno inoltre iniziato a strutturare con cura gli attacchi e a utilizzare l'individuazione di persone vulnerabili per sviluppare messaggi di posta elettronica dall'aspetto autentico. Questo approccio cerca di sfruttare la fiducia degli utenti per l'apertura dei file contenenti virus allegati e aumenta in modo drastico la probabilità di un'infezione su larga scala. Durante l'evoluzione del software dannoso, anche il software antivirus ha continuato a evolversi. Tuttavia la maggioranza del software antivirus attuale è quasi interamente basato sulle firme dei virus o sull'identificazione delle caratteristiche del software dannoso per identificare codice potenzialmente pericoloso. Esiste ancora un'opportunità tra il rilascio iniziale di un virus e il momento in cui i relativi file di firma vengono distribuiti dai produttori di antivirus. Di conseguenza, molti virus rilasciati oggi mostrano una velocità di infezione estremamente rapida nei primissimi giorni e sono quindi seguiti da un brusco declino una volta distribuiti i file di firma per contrastarli. Definizione di software dannoso In questa Guida viene utilizzato il termine software dannoso come nome collettivo per riferirsi a virus, worm e cavalli di Troia che eseguono intenzionalmente attacchi dannosi a un sistema di computer. Ma che cos'è esattamente un virus o un worm? In che modo si differenziano dai cavalli di Troia? E le applicazioni antivirus sono in grado di funzionare solo contro worm e cavalli di Troia o solo contro i virus? Sono queste le domande che emergono dal mondo confuso e spesso non correttamente rappresentato del codice dannoso. Il significativo numero e la varietà di codice dannoso esistenti rende difficile fornire una definizione perfetta di ciascuna categoria di software dannoso. Per un discorso generale sugli antivirus, è possibile applicare le seguenti semplici definizioni di categorie di software dannoso: • Cavallo di Troia: un programma che può sembrare utile o innocuo ma che contiene codice nascosto progettato per violare o danneggiare il sistema sul quale viene eseguito. I cavalli di Troia sono spesso distribuiti tramite messaggi di posta elettronica che nascondono il reale scopo e la funzione del programma. Denominato anche codice di Troia, un cavallo di Troia funziona distribuendo un payload o un'attività dannosa quando viene eseguito. • Worm: un worm utilizza codice dannoso che si propaga autonomamente, in grado di distribuirsi automaticamente da un computer a un altro attraverso le connessioni di rete. Un worm può eseguire azioni dannose, come utilizzare risorse della rete o del sistema locale, causando potenzialmente un attacco di tipo negazione del servizio. Alcuni worm sono in grado di eseguirsi e diffondersi senza l'intervento dell'utente, mentre altri richiedono che gli utenti eseguano il codice worm direttamente per potersi diffondere. I worm possono distribuire un payload oltre al replicarsi. • Virus: un virus utilizza codice scritto con l'esplicita intenzione di replicarsi e tenta di diffondersi da un computer all’altro associandosi a un programma ospite. Può danneggiare l’hardware, il software o i dati. Quando si esegue il programma ospite, viene eseguito anche il codice del virus, che infetta nuovi ospiti e a volte distribuisce un ulteriore payload. Nell'ambito di questa Guida, payload è un termine collettivo relativo alle azioni eseguite da un attacco di software dannoso sul computer infetto. Queste definizioni delle diverse categorie di software dannoso consentono di illustrare le differenze attraverso un semplice diagramma di flusso. Nella figura riportata di seguito sono illustrati gli elementi che consentono di determinare se un programma o uno script rientra in una di queste categorie: Figura 2.1 Struttura decisionale di codice dannoso Questa figura consente di operare una distinzione tra ciascuna delle comuni categorie di software dannoso nell'ambito di questa Guida. Tuttavia è importante comprendere che un singolo attacco può introdurre codice che in realtà rientra in una o più categorie. Questi tipi di attacchi, cui viene fatto riferimento come a pericoli vari composti da più tipi di software dannoso che utilizzano più vettori di attacco, sono in grado di diffondersi rapidamente. Un vettore di attacco rappresenta il percorso che il software dannoso può utilizzare per montare un attacco. Per questi motivi può essere particolarmente difficile difendersi dai pericoli vari. Nella sezione che segue è riportata una spiegazione più dettagliata di ciascuna categoria di software dannoso, per illustrare alcuni degli elementi principali di ciascuna di esse. Cavalli di Troia Un cavallo di Troia non è considerato un virus o un worm perché non si propaga autonomamente. Può essere tuttavia utilizzato un virus o un worm per copiare un cavallo di Troia sul sistema di destinazione come parte del payload dell'attacco, un processo cui viene fatto riferimento come al rilascio. Il tipico scopo di un cavallo di Troia è quello di interrompere il lavoro degli utenti o il normale funzionamento del sistema. Il cavallo di Troia può ad esempio fornire una backdoor nel sistema che consente a un hacker di utilizzare dati o di modificare le impostazioni del sistema. Esistono altri due termini utilizzati spesso quando ci si riferisce ai cavalli di Troia o alle relative attività identificate e spiegate come segue: • Cavalli di Troia ad accesso remoto: alcuni cavalli di Troia consentono all'hacker o a colui che si appropria dei dati di controllare un sistema in modo remoto. Tali programmi sono denominati Cavalli di Troia ad accesso remoto (RAT, Remote Access Trojan) o backdoor. Esempi di RAT comprendono Back Orifice, Cafeene e SubSeven. • Rootkit: si tratta di raccolte di programmi software che gli hacker possono utilizzare per ottenere l'accesso remoto non autorizzato a un computer per lanciare altri attacchi. Questi programmi possono utilizzare una serie di tecniche diverse, incluso il monitoraggio della pressione dei tasti, la modifica dei file di registro del sistema o di applicazioni esistenti, la creazione di una backdoor nel sistema e l'avvio di attacchi contro altri computer della rete. I rootkit sono in genere organizzati in una serie di strumenti regolati e indirizzati a uno specifico sistema operativo. I primo rootkit sono stati identificati nei primi anni '90 e in quel periodo gli obiettivi principali erano costituiti dai sistemi operativi Sun e Linux. Attualmente sono disponibili rootkit per una serie di sistemi operativi, inclusa la piattaforma Microsoft® Windows®. Nota: i RAT e alcuni degli strumenti che comprendono i rootkit possono essere utilizzati per scopi legittimi di controllo remoto e monitoraggio. Tuttavia, i problemi di protezione e privacy che tali strumenti possono sollevare aumentano il rischio globale per gli ambienti nei quali vengono utilizzati. Worm Se il codice dannoso si replica, non si tratta di un cavallo di Troia, per cui la domanda successiva alla quale rispondere per definire più chiaramente il software dannoso è: "Il codice è in grado di replicarsi senza bisogno di un vettore?" Vale a dire, può replicarsi senza infettare un file eseguibile? Se la risposta a questa domanda è "Sì" il codice può essere considerato una qualche forma di worm. La maggior parte dei worm tenta di copiarsi in un computer host e utilizza quindi i canali di comunicazione del computer per replicarsi. Ad esempio, il worm Sasser si basa su una vulnerabilità del servizio per infettare inizialmente un sistema e utilizza quindi la connessione alla rete del sistema infetto per tentare di replicarsi. Se si sono installati i più recenti aggiornamenti della protezione (per arrestare l'infezione), o si sono attivati i firewall nel proprio ambiente per bloccare le porte della rete utilizzate dal worm (per arrestare la replica), l'attacco non riuscirà. Virus Se il codice dannoso aggiunge una copia di sè stesso a un file, documento o settore di avvio di un'unità disco per replicarsi, è considerato un virus. Questa copia può essere una copia diretta del virus originale o può essere una versione modificata dell'originale. Per ulteriori dettagli, vedere la sezione "Meccanismi di difesa" più avanti in questo capitolo. Come accennato in precedenza, un virus contiene spesso un payload che può rilasciare su un computer locale, come un cavallo di Troia, che eseguirà quindi una o più azioni dannose, come l'eliminazione dei dati dell'utente. Tuttavia un virus che si limita a replicarsi ma non ha un payload rappresenta comunque un problema di software dannoso perché il virus stesso può danneggiare dati, utilizzare risorse del sistema e sfruttare la larghezza di banda della rete mentre si replica. Caratteristiche del software dannoso Le varie caratteristiche che ciascuna categoria di software dannoso mostra sono spesso molto simili. Ad esempio, un virus e un worm possono entrambi utilizzare la rete come meccanismo di trasporto. Tuttavia, il virus cercherà file da infettare mentre il worm tenterà semplicemente di copiarsi. Nella sezione seguente sono illustrate le caratteristiche tipiche del software dannoso. Ambienti di destinazione Quando il software dannoso tenta di attaccare un sistema host, è possibile che esista un numero di componenti specifici richiesti prima che l'attacco possa riuscire. Sono riportati di seguito esempi tipici dei possibili requisiti per un attacco all'host da parte del software dannoso: • Periferiche: alcuni software sono specificamente indirizzati a un tipo di periferica, come un personal computer, un computer Apple Macintosh o un'agenda elettronica (PDA), anche se in realtà il software dannoso per PDA è attualmente raro. • Sistemi operativi: il software dannoso può richiedere uno specifico sistema operativo per essere efficace. Ad esempio, il virus CIH o Chernobyl della fine degli anni '90 poteva attaccare solo computer che eseguivano Microsoft Windows® 95 o Windows® 98. • Applicazioni: il software dannoso può richiedere che sia installata una specifica applicazione sul computer di destinazione per poter distribuire un payload o replicarsi. Ad esempio il virus LFM.926 del 2002 poteva attaccare solo nei casi in cui era possibile eseguire file Shockwave Flash (.swf) sul computer locale. Oggetti vettore Se il software dannoso è un virus, tenterà di attaccare un oggetto vettore o un ospite per infettarlo. Il numero e il tipo di oggetti vettore obiettivo di attacchi varia molto a seconda del software, ma nell'elenco seguente sono riportati esempi dei vettori obiettivi più comuni: • File eseguibili: sono l'obiettivo del tipo di virus "classico" che si replica allegandosi a un programma ospite. Oltre ai tipici file eseguibili che utilizzano l'espressione .exe, a questo scopo possono anche essere utilizzati file con le seguenti espressioni: .com, .sys, .dll, .ovl, .ocx e .prg. • Script: attacchi che utilizzano script come file di destinazione con un linguaggio di script quale Microsoft Visual Basic® Script, JavaScript, AppleScript o Perl Script. Le estensioni per i file di questo tipo comprendono: .vbs, .js, .wsh e .prl. • Macro: questi vettori sono file che supportano un linguaggio di script di macro di una particolare applicazione come un elaboratore testi, un foglio di calcolo o un'applicazione di database. Ad esempio, i virus possono utilizzare i linguaggi macro in Microsoft Word e Lotus Ami Pro per produrre una serie di effetti, che vanno dal dispettoso (modifica della posizione delle parole all'interno del documento o modifica dei colori) al dannoso (formattazione dell'unità disco rigido del computer). • Settore di avvio: aree specifiche dei dischi dei computer (dischi rigidi e supporti rimovibili di avvio), come il record di avvio principale (MBR) o il record di avvio DOS, possono anch'esse essere considerate vettori, perché in grado di eseguire codice dannoso. Quando un disco viene infettato, la replica viene raggiunta quando viene utilizzato per avviare altri sistemi di computer. Nota: se il virus è destinato sia a file che a settori di avvio può essere denominato virus multipartito. Meccanismi di trasporto Un attacco può utilizzare uno o più diversi metodi per tentare di replicarsi tra i sistemi di computer. In questa sezione sono riportate informazioni su alcuni dei più comuni meccanismi di trasporti utilizzati dal codice dannoso. • Supporti rimovibili: il mezzo di trasmissione originale e probabilmente più prolifico di virus e di altro software dannoso (almeno fino a poco fa) è il trasferimento di file. Questo meccanismo è iniziato con i dischi floppy, si è quindi spostato alle reti e ora sta trovando nuovi supporti come le periferiche USB e Firewire. La velocità dell'infezione non è così rapida come nel caso del software dannoso basato sulla rete, ma il pericolo è sempre presente e difficile da sradicare completamente a causa della necessità di scambio di dati tra i sistemi. • Condivisioni di reti: quando i computer sono stati dotati di un meccanismo per connettersi gli uni agli altri direttamente tramite una rete, agli autori di software dannoso è stato presentato un altro meccanismo di trasporto con potenzialità che superavano quelle dei supporti rimovibili per diffondere codice dannoso. Una protezione implementata in modo non sufficiente sulle condivisioni di rete produce un ambiente nel quale il software dannoso può replicarsi su un gran numero di computer connessi alla rete. Questo metodo ha ampiamente sostituito il metodo manuale che prevedeva l'uso dei supporti rimovibili. • Scansione della rete: gli autori di software dannoso utilizzano questo meccanismo per cercare in rete i computer vulnerabili o per attaccare indirizzi IP in modo casuale. Con questo meccanismo è ad esempio possibile inviare un pacchetto di attacco mediante una specifica porta della rete a una serie di indirizzi IP con lo scopo di individuare un computer vulnerabile da attaccare. • Reti peer-to-peer (P2P): per effettuare trasferimenti di file P2P, l'utente deve installare prima un componente client dell'applicazione P2P che utilizzerà una delle porte di rete autorizzate a passare, ad esempio la porta 80. Le applicazioni utilizzano questa porta per attraversare il firewall e trasferire i file direttamente da un computer all'altro. Queste applicazioni sono disponibili su Internet e forniscono un meccanismo di trasporto che gli autori di software dannoso possono utilizzare direttamente per diffondere un file infetto sul disco rigido di un client. • Posta elettronica: la posta elettronica è diventata il meccanismo di trasporto prescelto per molti attacchi di software dannoso. La facilità con la quale centinaia di migliaia di persone possono essere raggiunte tramite posta elettronica senza che sia necessario che gli autori di software dannoso lascino i loro computer ha reso la posta elettronica un mezzo di trasporto particolarmente efficace. È stato relativamente semplice ingannare gli utenti e fare in modo che aprissero allegati di posta elettronica infetti, mediante tecniche di individuazione di persone vulnerabili. Pertanto molti degli attacchi più riusciti di software dannoso hanno utilizzato la posta elettronica come meccanismo di trasporto. I tipi di software dannoso che utilizzano la posta elettronica come trasporto sono fondamentalmente due: • Mailer: questo tipo di software dannoso si spedisce automaticamente a un numero limitato di indirizzi di posta elettronica, utilizzando il software di posta installato sull'host (ad esempio, Microsoft Outlook® Express), oppure un proprio motore integrato SMTP. • Mailer di massa: questo tipo di software dannoso cerca nei computer infetti gli indirizzi di posta elettronica e quindi si invia automaticamente a tali indirizzi, utilizzando il software di posta installato sull'host oppure un proprio motore integrato SMTP. • Attacco remoto: il software dannoso può tentare di sfruttare una particolare vulnerabilità in un sevizio o applicazione per replicarsi. Questo comportamento è spesso diffuso nei worm: ad esempio il worm Slammer sfruttava una vulnerabilità di Microsoft SQL Server™ 2000. Il worm generava un sovraccarico del buffer che consentiva a una parte della memoria del sistema di essere sovrascritta da codice che poteva essere eseguito nello stesso contesto di protezione del servizio SQL Server. Un sovraccarico del buffer è una condizione che risulta dall'aggiungere a un buffer più informazioni di quante possa contenere. L'autore di un attacco a un sistema può sfruttare questa vulnerabilità, identificata e corretta in realtà mesi prima che Slammer fosse rilasciato. Tuttavia pochi sistemi erano stati aggiornati per cui il worm riuscì a diffondersi facilmente. Payload Una volta che il software dannoso ha raggiunto la macchina host tramite il trasporto, esegue in genere un'azione cui viene fatto riferimento come payload, che può assumere diversi aspetti. In questa sezione sono identificati alcuni dei tipi di payload più comuni: • Backdoor: questo tipo di payload consente l'accesso non autorizzato a un computer. Può offrire l'accesso completo ma essere anche limitato ad accessi come FTP tramite la porta 21 del computer. Se l'attacco intendeva abilitare Telnet, un hacker potrebbe utilizzare il computer infetto come base per attacchi Telnet su altri computer. Come accennato in precedenza, a una backdoor viene a volte fatto riferimento come a un cavallo di Troia ad accesso remoto. • Danneggiamento o eliminazione di dati: uno dei tipi di payload più distruttivo può essere codice dannoso che danneggia o elimina i dati, rendendo inutili le informazioni presenti sui computer degli utenti. L'autore del software dannoso in questo caso ha due scelte: la prima possibilità è progettare il payload per una rapida esecuzione. Sebbene potenzialmente disastroso per il computer infettato, questo tipo di software sarà rapidamente scoperto e avrà quindi possibilità limitate di replicarsi senza essere rilevato. L'altra possibilità è lasciare il payload sul sistema locale sotto forma di cavallo di Troia per un certo periodo di tempo (per qualche esempio, vedere la sezione "Meccanismi di attivazione" più avanti in questo capitolo) per consentire al software di diffondersi prima di tentare di distribuire il payload, allertando in tal modo l'utente della sua presenza. • Appropriazione indebita di informazioni: un tipo di payload particolarmente preoccupante è quello progettato per l'appropriazione di informazioni. Se un payload è in grado di compromettere la protezione di un computer host, può essere anche in grado di fornire un meccanismo per passare informazioni agli autori del software dannoso. Questa operazione può avvenire in diversi modi: ad esempio potrebbe essere automatizzato un trasferimento, in modo che il software acquisisca semplicemente file locali o informazioni, quali i tasti premuti dall'utente, nella speranza di ottenere un nome utente e una password. Un altro meccanismo è fornire un ambiente sull'host locale che consenta all'autore dell'attacco di controllare in remoto l'host o di ottenere l'accesso diretto ai file del sistema. • Negazione del servizio (DoS, Denial of Service): uno dei tipi di payload più semplice da distribuire è l'attacco di negazione del servizio. Un attacco DoS viene lanciato da un utente malintenzionato per sovraccaricare o arrestare un servizio di rete, come un server Web o un file server. Gli attacchi DoS intendono semplicemente rendere inutilizzabile uno specifico servizio per un periodo di tempo. • Negazione del servizio distribuito (DDoS, Distributed Denial of Service): questi tipi di attacchi utilizzano in genere client infetti del tutto all'oscuro del loro ruolo in tale attacco. Durante un attacco DDoS un utente malintenzionato utilizza software dannoso installato su diversi computer per attaccare un singolo obiettivo. Questo metodo consente di ottenere un effetto maggiore sull'obiettivo rispetto a quanto sia possibile con un singolo computer d'attacco. La struttura di tali attacchi varia di caso in caso, ma in genere si basa sull'invio di grandi quantità di dati a uno specifico host o sito Web che ha come risultato l'interruzione della risposta al traffico legittimo. In tal modo la larghezza di banda disponibile sul lato della vittima viene riempita e il sito viene costretto non in linea. Contro questo tipo di attacco può essere estremamente difficile difendersi, perché gli ospiti responsabili degli attacchi sono in realtà anch'essi vittime inconsapevoli. Gli attacchi DDoS sono in genere condotti da bot (programmi che eseguono azioni ripetitive), come i bot Eggdrop di Internet relay chat (IRC), che gli hacker possono utilizzare per controllare i computer “vittima” mediante un canale IRC. Quando i computer sono sotto il controllo degli hacker diventano zombi e possono infettare un obiettivo a comando dell'hacker, senza che il proprietario del computer ne sia consapevole. Sia l'approccio DoS che quello DDoS possono comprendere una serie di diverse tecniche di attacco, tra le quali: • Arresti del sistema: se il software dannoso è in grado di arrestare in modo corretto o anomalo un sistema, può essere in grado di interrompere uno o più servizi. L'attacco a un sistema host richiede che il software dannoso individui una debolezza nell'applicazione o nel sistema operativo che può causare l'arresto del sistema. • Occupazione della larghezza di banda: la maggior parte dei servizi di rete forniti in Internet sono collegati attraverso una connessione di rete a larghezza di banda limitata che consente la connessione ai relativi client. Se un autore di software dannoso è in grado di distribuire un payload che occupi la larghezza di banda con falso traffico di rete, è possibile produrre un attacco DoS semplicemente impedendo ai client di connettersi direttamente al servizio. • Attacchi di negazione del servizio di rete: questo tipo di payload tenta di sovraccaricare le risorse disponibili sull'host locale. Risorse come la capacità di memoria e microprocessore sono state sovraccaricate da attacchi di tipo SYN flood, in cui viene utilizzato un programma per inviare un flusso di richieste TCP SYN per riempire la coda della connessione in attesa sul server e impedire il traffico di rete legittimo in entrata e uscita dal server. Anche gli attacchi di tipo bomba di posta elettronica esauriscono le risorse di memorizzazione per creare un attacco DoS in cui un'eccessiva quantità di dati di posta elettronica viene inviata a un indirizzo di posta elettronica nel tentativo di bloccare il programma di posta elettronica o di impedire al destinatario di ricevere altri messaggi legittimi. • Interruzione del servizio: questo tipo di payload può utilizzare anche un attacco di tipo DoS. Se ad esempio un attacco su un server DNS (Domain Name System) disattiva il servizio DNS, sarà stata utilizzata una tale tecnica di attacco DoS. Tuttavia tutti gli altri servizi sul sistema potranno restare intatti. Meccanismi di attivazione I meccanismi di attivazione sono una caratteristica del software dannoso utilizzata per avviare la replica o la distribuzione del payload. Meccanismi tipici di attivazione comprendono: • Esecuzione manuale: questo tipo di meccanismo di attivazione è semplicemente l'esecuzione del software dannoso eseguita direttamente dalla vittima. • Individuazione di persone vulnerabili: il software dannoso utilizza spesso una qualche forma di individuazione e sfruttamento delle persone vulnerabili per ingannare le vittime e costringerle a eseguire manualmente il codice dannoso. L'approccio può essere relativamente semplice, come quelli utilizzati nei worm di mailing di massa in cui l'elemento di individuazione della vulnerabilità si concentra sulla selezione del testo da immettere nel campo oggetto del messaggio di posta elettronica con la maggiore probabilità di essere aperto da una vittima potenziale. Gli autori di software dannoso possono anche utilizzare lo spoofing per tentare di portare la vittima a credere che un messaggio di posta elettronica provenga da un'origine sicura. Per spoofing si intende un'operazione attraverso la quale ci si sostituisce a un sito Web o a una trasmissione di dati per farli apparire autentici. Ad esempio, il worm Dumaru originale apparso nel 2003 modificava il campo Da: dei messaggi di posta elettronica perché riportasse come mittente [email protected]. Per ulteriori informazioni su tale caratteristica, vedere la sezione relativa agli "Hoax" più avanti in questo capitolo. • Esecuzione semi-automatica: questo tipo di meccanismo di attivazione viene avviato inizialmente da una • Esecuzione automatica: questo tipo di meccanismo di attivazione non richiede alcuna esecuzione manuale. vittima ed eseguito quindi in modo automatico da quel punto in poi. Il software dannoso esegue il proprio attacco senza che sia necessario che la vittima esegua codice dannoso sul computer di destinazione. • Bomba a orologeria: questo tipo di meccanismo di attivazione esegue un'azione dopo un certo periodo. Questo periodo può essere un ritardo rispetto alla prima esecuzione del file infetto o una data o un intervallo di date prestabilito. Ad esempio il worm MyDoom.B avviava le routine del payload contro il sito Web Microsoft.com solo il 3 febbraio 2004 e contro il sito Web di SCO Group il 1 febbraio 2004. Interrompeva le repliche il 1 marzo 2004, anche se il componente della backdoor della bomba a orologeria è rimasto attivo dopo tali date. • Condizionale: questo tipo di meccanismo utilizza una qualche condizione predeterminata come attivazione per distribuire il suo carico. Ad esempio, un file rinominato, una serie di pressioni di tasti o l'avvio di un'applicazione. Il software dannoso che utilizza questo tipo di attivazione viene a volte denominato anche bomba logica. Meccanismi di difesa Molti esempi di software dannoso utilizzano qualche tipo di meccanismo di difesa per ridurre la probabilità di rilevamento e rimozione. Nell'elenco seguente sono riportati degli esempi di alcune delle tecniche utilizzate: • Armatura: questo tipo di meccanismo di difesa impiega una qualche tecnica che tenta di confondere l'analisi del codice dannoso. Tali tecniche comprendono il rilevamento durante l'esecuzione di un debugger e il tentativo di impedire che funzioni correttamente, o l'aggiunta di una quantità di codice senza senso per rendere difficile determinare lo scopo del codice dannoso. • Azione furtiva: il software dannoso utilizza questa tecnica per nascondersi intercettando le richieste di informazioni e restituendo dati falsi. Ad esempio un virus può memorizzare un'immagine del settore di avvio non infetto e visualizzarla ogni volta che viene effettuato un tentativo di visualizzare il settore di avvio infetto. Il primo virus noto, denominato “Brain,” utilizzava questa tecnica nel 1986. • Crittografia: il software dannoso che utilizza questo meccanismo di difesa crittografa il proprio codice o il payload, e a volte perfino i dati del sistema, per evitare il rilevamento o il recupero dei dati. Il software crittografato contiene una routine di decrittografia statica, una chiave di crittografia e il codice dannoso crittografato, che include a sua volta una routine di crittografia. Quando viene eseguito, il software utilizza la routine di decrittografia e la chiave per decrittografare il codice dannoso. Il software dannoso crea quindi una copia del codice e genera una nuova chiave di crittografia utilizzata insieme alla relativa routine di crittografia per crittografare la nuova copia di codice, aggiungendo la nuova chiave con la routine di decrittografia all'inizio della nuova copia. A differenza dei virus polimorfici, il software dannoso di crittografia utilizza sempre le stesse routine di decrittografia, così, sebbene il valore della chiave (e quindi la firma del codice dannoso crittografato) cambi in genere da un'infezione all'altra, il software antivirus può cercare la routine di decrittografia statica per rilevare il software che utilizza tale meccanismo di difesa. • Oligomorfico: il software dannoso con questa caratteristica utilizza la crittografia come meccanismo per difendersi ed è in grado di modificare la routine di crittografia un numero fisso, generalmente limitato, di volte. Ad esempio, un virus in grado di generare due diverse routine di decrittografia verrebbe classificato come oligomorfico. • Polimorfico: il software dannoso di questo tipo utilizza la crittografia come meccanismo di difesa per modificarsi ed evitare il rilevamento, in genere crittografando il codice con una routine di crittografia e quindi fornendo una diversa chiave di decrittografia per ciascuna mutazione. Così, il software polimorfico utilizza un numero limitato di routine di crittografia per evitare di essere rilevato. Quando si replica, una parte del codice di decrittografia viene modificato. A seconda dello specifico codice dannoso, il payload o altre azioni eseguite possono utilizzare o meno la crittografia. In genere esiste un motore di mutazione, che è un componente autonomo del software dannoso con crittografia che genera routine di crittografia casuali. Il motore e il codice sono quindi entrambi crittografati e la nuova chiave di decrittografia viene distribuita insieme ad essi. Definizione di software non dannoso Esistono molteplici tipi di codice che non sono considerati software dannoso perché non si tratta di programmi scritti con scopi pericolosi. Tale codice può comunque avere implicazioni finanziarie e di protezioni per le organizzazioni. Per tali motivi, può essere utile comprendere il pericolo che rappresentano per l'infrastruttura IT della propria organizzazione e per la produttività degli utenti IT. Software Joke Le applicazioni Joke (scherzi) sono progettate per far sorridere o nel peggiore dei casi per far perdere tempo agli utenti. Tali applicazioni esistono da quando si è iniziato a utilizzare i computer. Poiché non sono state sviluppate a scopo dannoso e sono chiaramente identificate come scherzi, non sono considerate software dannoso in questa Guida. Esistono numerosi esempi di applicazioni joke, con risultati che vanno da interessanti effetti video a divertenti animazioni o giochi. Hoax In genere è più facile ingannare un utente e fare in modo che compia una determinata azione rispetto a scrivere del software che compia tale operazione senza che l'utente ne sia consapevole. Per questo motivo nella comunità IT è presente una notevole quantità di applicazioni hoax. Come altre forme di software dannoso, un'applicazione hoax utilizza tecniche di individuazione di persone vulnerabili per tentare di far eseguire agli utenti di computer determinate operazioni. Tuttavia, nel caso di un'applicazione hoax non esiste codice da eseguire, l'unico scopo è quello di ingannare la vittima. Questo tipo di software ha assunto varie forme negli anni, ma un esempio particolarmente comune è costituito da un messaggio di posta elettronica che avvisa che è stato scoperto un nuovo tipo di virus e consiglia di avvisare gli amici inoltrando loro il messaggio. Questi hoax fanno sprecare tempo, occupano risorse del server di posta elettronica e utilizzano larghezza di banda della rete. Scam Praticamente tutte le forme di comunicazione sono state utilizzate, prima o poi, da utenti malintenzionati per tentare di ingannare gli utenti e fare in modo che compiano azioni che producano un qualche guadagno finanziario. Internet, i siti Web e la posta elettronica non costituiscono un'eccezione. Un messaggio di posta elettronica che tenta di ingannare il destinatario e di fargli rivelare informazioni personali che possono essere utilizzate per fini non legali (ad esempio informazioni sul conto in banca) è un esempio comune. Un particolare tipo di scam è diventato noto come phishing, pronunciato come “fishing” (pesca) e cui viene anche fatto riferimento come spoofing di marche o carding. Esempi includono casi in cui i mittenti imitano note aziende come eBay per tentare di accedere alle informazioni sul conto dell'utente. Questi scam utilizzano spesso un sito Web che copia l'aspetto del sito Web ufficiale di un'azienda. Sono utilizzati dei messaggi di posta elettronica per reindirizzare l'utente al falso sito e per ingannarlo e fare in modo che specifichi informazioni sull'account utente che viene salvato e utilizzato a scopi non leciti. Questi casi vanno affrontati con serietà e segnalati alle autorità competenti. Spam Il termine Spam indica messaggi di posta elettronica non sollecitati generati per pubblicizzare servizi o prodotti. Tale fenomeno è in genere considerato noioso, ma non si tratta di software dannoso. Tuttavia, l'enorme crescita del numero di messaggi spam inviati rappresenta un problema per l'infrastruttura di Internet che ha come risultato perdita della produttività di utenti obbligati a destreggiarsi e a eliminare tali messaggi ogni giorno. L'origine del termine spam è discussa, ma indipendentemente dalle origini non c'è dubbio che il termine si riferisca a una delle più irritanti e persistenti attività delle comunicazioni basate su Internet. Molti considerano lo spam un problema significativo che minaccia le comunicazioni via posta elettronica in tutto il mondo. Tuttavia va notato che a parte il carico sopportato dai server di posta elettronica e dal software anti-spam, lo spam non è effettivamente in grado di replicarsi o di minacciare il funzionamento dei sistemi IT di un'organizzazione. Software dannoso è spesso stato utilizzato da creatori di spam (denominati spammer) per installare un piccolo servizio di server di posta elettronica SMTP su un computer host, utilizzato quindi per inoltrare messaggi spam ad altri destinatari di posta elettronica. Spyware A questo tipo di software viene a volte fatto riferimento come a spybot o a software di rilevamento. Lo spyware utilizza altre forme di software e programmi ingannevoli che eseguono determinate attività su un computer senza ottenere l'appropriato consenso da parte dell'utente. Queste attività possono includere la raccolta di informazioni personali e la modifica delle impostazioni di configurazione del browser Internet. Oltre a rappresentare un fastidio, lo spyware ha come risultato una serie di problemi che vanno dal peggioramento delle prestazioni generali del computer alla violazione della privacy. I siti Web che distribuiscono lo spyware utilizzano una serie di astuzie per convincere gli utenti a scaricarlo e installarlo nei computer. Tali astuzie comprendono la creazione di esperienze utente false e la creazione di pacchetti comprendenti spyware e altro software richiesto dagli utenti, come software gratuito di condivisione di file. Adware L'adware è spesso combinato con un'applicazione host fornita gratuitamente purché l'utente accetti l'adware. Poiché le applicazioni adware sono in genere installate dopo che l'utente ha accettato un accordo di licenza che dichiara lo scopo dell'applicazione, non viene commesso alcun crimine. Tuttavia, gli annunci a comparsa possono diventare un fastidio e in alcuni casi peggiorare le prestazioni del sistema. Inoltre, le informazioni raccolte da alcune di queste applicazioni possono causare problemi di protezione agli utenti non completamente consapevoli dei termini del contratto di licenza. Nota: sebbene i termini spyware e adware siano spesso utilizzati in modo interscambiabile, è solo l'adware non autorizzato alla pari dello spyware. L'adware che fornisce agli utenti avviso, scelta e controllo appropriati non è ingannevole e non deve essere classificato come spyware. Inoltre, le applicazioni spyware che dichiarano di eseguire una particolare funzione ma in realtà ne eseguono un'altra, agiscono in realtà come cavalli di Troia. Cookie Internet I cookie Internet sono file di testo collocati sul computer dell'utente da siti Web visitati. I cookie contengono e forniscono informazioni di identificazione sull'utente ai siti Web che li collocano sul computer dell'utente, insieme a eventuali informazioni che il sito desidera conservare sulla visita dell'utente. I cookie sono strumenti legittimi utilizzati da molti siti Web per rilevare informazioni sui visitatori. Ad esempio un utente potrebbe acquistare un articolo in un punto vendita in linea, ma una volta inserito l'articolo nel carrello, potrebbe volere spostarsi in un altro sito per una qualche ragione. Il punto vendita può scegliere di salvare le informazioni sui prodotti presenti nel carrello in un cookie sul computer dell'utente in modo che quando l'utente tornerà sul sito, l'articolo sarà ancora nel carrello, pronto per essere acquistato se l'utente desidera completare l'acquisto. Gli sviluppatori di siti Web devono solo essere in grado di recuperare le informazioni memorizzate nei cookie da essi creati. Questo approccio dovrebbe assicurare la privacy dell'utente facendo in modo che solo gli sviluppatori dei siti possano accedere ai cookie lasciati sui computer degli utenti. Purtroppo, è stato scoperto che alcuni sviluppatori di siti Web hanno utilizzato cookie per ottenere informazioni senza il consenso dell'utente. Alcuni possono ingannare gli utenti o omettere i criteri adottati. Possono ad esempio rilevare i siti visitati abitualmente dall'utente senza informarlo. Gli sviluppatori di siti possono utilizzare queste informazioni per personalizzare gli annunci visualizzati dagli utenti su un sito Web, il che è considerato un'invasione della privacy. È difficile identificare questa forma di annunci "su misura" e altre forme di abuso dei cookie, il che rende difficile decidere e, quando e come bloccarli fuori dal sistema. Inoltre, il livello accettabile in informazioni condivise varia tra gli utenti di computer, rendendo difficile creare un programma "anti-cookie" che risponda alle esigenze di tutti gli utenti di un ambiente. Software antivirus Il software antivirus è scritto specificamente per difendere un sistema contro i pericoli presentati dal software dannoso. Microsoft consiglia agli utenti di utilizzare i software antivirus, in quanto consentono di difendere i sistemi di computer contro qualsiasi forma di software dannoso, non solo dai virus. Esiste una serie di tecniche utilizzate dal software antivirus per rilevare il software dannoso. In questa sezione è illustrato il funzionamento di queste tecniche, incluso: • Scansione delle firme: la maggior parte dei programmi di software antivirus utilizza attualmente questa tecnica, che prevede la ricerca di uno schema che possa rappresentare software dannoso nella destinazione (computer host, unità disco o file). Questi schemi sono in genere memorizzati in file cui viene fatto riferimento come file di firma, aggiornati regolarmente dai fornitori di software per assicurare che le funzioni di scansione antivirus riconoscano il numero maggiore possibile di attacchi di software dannoso conosciuto. Il problema principale con questa tecnica è che il software antivirus deve essere già aggiornato per contrastare il software dannoso prima che la funzione di scansione lo riconosca. • Scansione euristica: questa tecnica tenta di rilevare forme note e nuove di software dannoso cercandone le caratteristiche generali. Il vantaggio principale di questa tecnica è che non si basa sui file delle firme per identificare e contrastare il software dannoso. Tuttavia, la scansione euristica presenta una serie di problemi specifici, tra i quali: • Falsi positivi: questa tecnica usa caratteristiche generali del software ed è pertanto possibile che • Scansione più lenta: il processo di ricerca delle caratteristiche è più difficile rispetto alla ricerca di uno segnali software legittimo come software dannoso se le caratteristiche sono simili in entrambi i casi. schema di software dannoso già noto. Per questa ragione, per la la scansione euristica può essere necessario più tempo rispetto alla scansione delle firme. • Nuove caratteristiche possono essere saltate: se l'attacco di un nuovo software dannoso presenta caratteristiche non identificate in precedenza, è possibile che la scansione euristica le salti fino a quando non sarà aggiornata. • Blocco del funzionamento: questa tecnica si basa sul funzionamento del codice dannoso anzichè sul codice stesso. Se ad esempio un'applicazione tenta di aprire una porta di rete, un programma antivirus con blocco del funzionamento potrebbe individuare questa come una tipica attività di software dannoso e contrassegnare quindi il comportamento come possibile attacco di software dannoso. Molti produttori di software antivirus usano attualmente una combinazione di queste tecniche nelle soluzioni antivirus create, nel tentativo di migliorare il livello di protezione generale dei sistemi di computer dei clienti. Tempi tipici del software dannoso "in azione" È emerso uno schema per definire la durata degli attacchi di nuovi software dannosi disponibili sulle reti pubbliche o quando il software dannoso entra in azione. Esaminare tale schema potrà essere d'aiuto per comprendere il rischio posto dagli attacchi di nuovo software dannoso una volta rilasciato. Una nuova cronologia inizia con il primo sviluppo del software dannoso e termina quando tutte le tracce del software sono state rimosse dalle reti monitorate. Le fasi cronologiche sono definite come segue: 1. Ideazione: lo sviluppo di software dannoso spesso inizia quando un nuovo metodo di attacco o di sfruttamento delle vulnerabilità viene suggerito e quindi condiviso tra le comunità di hacker. I metodi sono discussi o esplorati fino a quando viene scoperto un approccio che può essere sviluppato in un attacco. 2. Sviluppo: la creazione di software dannoso richiedeva la comprensione del linguaggio di assembly del computer e dell'intricato funzionamento del sistema da attaccare. Tuttavia, grazie all'avvento dei toolkit e delle chat su Internet è stato possibile praticamente per chiunque ne avesse l'intenzione creare software dannoso. 3. Replica: dopo che il software dannoso è stato sviluppato e messo in azione, dovrà replicarsi su potenziali periferiche ospite per un certo periodo di tempo prima di poter eseguire la sua funzione principale o distribuire il payload. Nota: anche se esistono decine di migliaia di programmi di software dannoso noti, attualmente è in azione solo una piccola frazione di essi. La stragrande maggioranza dei programmi di software dannoso non vengono rilasciati al pubblico e viene spesso fatto loro riferimento come a virus dello Zoo. 4. Distribuzione del payload: dopo che il software ha infettato un ospite può distribuire il payload. Se il codice è dotato di un'attivazione condizionale per il payload, questa fase rappresenta il momento in cui vengono soddisfatte le condizioni del meccanismo di distribuzione. Ad esempio, alcuni payload vengono attivati quando un utente esegue una determinata azione o quando l'orologio sulla macchina host raggiunge una specifica data. Se il software viene attivato da una azione diretta, inizierà semplicemente a distribuire il payload quando l'infezione sarà completa. Ad esempio, nel caso di payload di registrazione di dati il programma inizierà semplicemente a registrare i dati necessari. 5. Identificazione: a questo punto della cronologia il software dannoso viene identificato dalle comunità antivirus. Nella maggioranza dei casi questa fase si verifica prima della fase 4 o anche prima della fase 3, ma non è sempre così. 6. Rilevamento: una volta identificato il pericolo, gli sviluppatori di software antivirus devono analizzare il codice per determinare un metodo di rilevamento affidabile. Determinato il metodo, aggiornano i file di firme antivirus per consentire alle applicazioni antivirus esistenti di rilevare il nuovo software dannoso. La durata di questo processo è fondamentale per tentare di controllare un attacco. 7. Rimozione: quando l'aggiornamento è disponibile al pubblico, è responsabilità degli utenti dell'applicazione antivirus applicare l'aggiornamento in modo tempestivo per proteggere i computer contro l'attacco (o per pulire i sistemi già infetti). Nota: il mancato aggiornamento dei file delle firme locali in modo tempestivo può portare a uno scenario ad alto rischio di utenti che credono di disporre della protezione di un prodotto antivirus, ma in realtà non sono protetti. Man mano che più utenti aggiornano il software antivirus il software diventerà lentamente meno pericoloso. Questo processo rimuove raramente tutte le istanze del software dannoso in azione, poiché in genere restano alcuni computer connessi a Internet con una protezione antivirus bassa o inesistente in cui il software dannoso può risiedere. Tuttavia, il pericolo insito nell'attacco stesso è diminuito. Anche se questa cronologia si ripete per tutti gli attacchi di nuovo software dannoso sviluppato, non è tipica di tutti gli attacchi. Molti attacchi sono semplicemente versioni modificate di una parte originale di codice dannoso, per cui il codice di base e l'approccio sono gli stessi, ma vengono effettuate piccole modifiche per fare in modo che l'attacco eviti il rilevamento e la successiva rimozione. In genere, un attacco di software dannoso riuscito genererà una serie di revisioni nelle settimane e nei mesi successivi. Questa situazione porta a una sorta di "competizione" in cui gli autori di software dannoso tentano di evitare il rilevamento, per ottenere scopi finanziari, notorietà o per semplice curiosità. Le difese antivirus sono di nuovo aggiornate, corrette mediante patch o modificate a seconda delle necessità per ridurre il rinnovato pericolo. Guida alla difesa antivirus a più livelli Difesa antivirus a più livelli Pubblicato: 20 maggio 2004 Introduzione È opportuno che tutte le organizzazioni sviluppino una soluzione antivirus che fornisca un elevato livello di protezione. Tuttavia, la propagazione di infezioni nella maggior parte delle organizzazioni è una situazione piuttosto comune, anche dopo che queste abbiano provveduto all'installazione di software antivirus. In questa Guida viene proposto un approccio differente alla protezione contro applicazioni software dannose o malware. Come per la progettazione della protezione di rete, anche per la progettazione di soluzioni antivirus Microsoft consiglia l'adozione di una strategia di difesa a più livelli in modo da garantire una gestione affidabile delle misure di protezione implementate dall'organizzazione. Un approccio di questo tipo è fondamentale per la protezione dei computer dell'organizzazione, in quanto purtroppo, indipendentemente dal numero di funzionalità o servizi utili forniti da un sistema informatico, esiste sempre il rischio che qualcuno, per diversi motivi, tenti di individuare una vulnerabilità da sfruttare al fine di provocare danni reali. La collaborazione di consulenti e tecnici di sistema che hanno implementato Microsoft® Windows Server™ 2003, Windows® XP Professional e Windows® 2000 in un'ampia gamma di ambienti ha consentito di stabilire le procedure consigliate più aggiornate per la protezione da software dannoso dei client e dei server su cui vengono eseguiti questi sistemi operativi. Tutte queste informazioni vengono illustrate nel presente capitolo. In questo capitolo vengono fornite inoltre indicazioni per l'utilizzo di una strategia di difesa a più livelli durante la progettazione di una soluzione di protezione antivirus per la propria organizzazione. Lo scopo di questa strategia consiste nell'assicurare che l'utente comprenda in modo chiaro ciascun livello del modello e i pericoli specifici correlati a ciascun livello in modo da utilizzare queste informazioni durante l'implementazione di difese antivirus. Nota: Microsoft consiglia di includere alcune operazioni descritte in questa Guida nei criteri e nelle procedure di protezione generali dell'organizzazione. Queste operazioni vengono identificate in questa Guida come requisiti che dovranno essere definiti in maggiore dettaglio dal team di protezione all'interno dell'organizzazione. Importante: se si sospetta che la propria organizzazione stia attualmente subendo un attacco, prima di leggere il presente documento, fare riferimento al Capitolo 4 "Controllo delle violazioni e ripristino" in questa Guida. Se si legge questa guida dopo aver subito un attacco di software dannoso e ripristinato il sistema, le informazioni illustrate nel presente capitolo avranno lo scopo di impedire la ricorrenza di eventuali attacchi e di fornire una maggiore comprensione della modalità di esecuzione dell'attacco precedente. Vettori di pericoli correlati a software dannoso Esistono diversi metodi con cui un'applicazione software dannosa può compromettere un'organizzazione. Questi metodi vengono talvolta definiti come vettori di pericoli e rappresentano le aree all'interno dell'ambiente in uso che richiedono particolare attenzione durante la progettazione di una soluzione antivirus efficace. Nel seguente elenco sono riportate le aree maggiormente esposte al rischio di attacchi di software dannoso all'interno di organizzazioni tipiche: • Reti esterne: qualsiasi rete che non sia sotto il controllo diretto di un'organizzazione deve essere considerata come origine potenziale di attacchi di software dannoso. Tuttavia, Internet costituisce di gran lunga il maggiore pericolo correlato al software dannoso. L'anonimato e la connettività forniti da Internet consente a utenti malintenzionati di ottenere un accesso rapido ed efficace a molte destinazioni allo scopo di sferrare attacchi mediante l'uso di codice dannoso. • Client guest: con il continuo espandersi dell'uso di computer portatili e dispositivi mobili all'interno delle aziende, i dispositivi vengono spostati regolarmente all'interno e all'esterno delle infrastrutture dell'organizzazione. Se non dispongono di difese antivirus efficaci, i client guest rappresenteranno per l'organizzazione agenti di pericoli correlati a software dannoso. • File eseguibili: qualsiasi codice eseguibile è in grado di svolgere la funzione di software dannoso. Esempi di software dannoso comprendono non solo programmi, ma anche script, file batch e oggetti attivi, quali i controlli Microsoft ActiveX®. • Documenti: poiché sono diventate sempre più potenti, le applicazioni di fogli di calcolo ed elaborazione testi rappresentano oggi i principali obiettivi degli autori di software dannoso. Infatti, il supporto fornito per i linguaggi macro rende molte applicazioni potenziali bersagli di attacchi di software dannoso. • Posta elettronica: gli autori di software dannoso possono sfruttare come metodi di attacco sia gli allegati di posta elettronica che il codice HTML (Hypertext Markup Language) attivo all'interno dei messaggi di posta elettronica. • Supporti rimovibili: il trasferimento di file tramite supporti rimovibili rappresenta un problema che le organizzazioni devono affrontare durante lo sviluppo delle relative difese antivirus. Tra i supporti rimovibili più comunemente utilizzati figurano: • Unità CD-ROM o DVD-ROM: l'avvento di dispositivi di registrazione CD e DVD economici ha reso • Unità floppy e Zip: Questi supporti vengono utilizzati sempre meno di frequente a causa della questi supporti accessibili a tutti gli utenti di computer, compresi i creatori di software dannoso. capacità e della velocità limitate di cui dispongono, ma rappresentano comunque dei rischi potenziali per la protezione, nel caso in cui il software dannoso sia in grado di accedervi fisicamente. • Unità USB: questi dispositivi assumono molte forme che variano dal classico dispositivo a forma di portachiavi all'orologio da polso. Tutti questi dispositivi, se inseriti nella porta USB (Universal Serial Bus) di un host, possono essere utilizzati per introdurre del software dannoso. • Schede di memoria: le telecamere digitali e i dispositivi mobili, quali PDA e telefoni cellulari, hanno consentito di creare schede di memoria digitali. I lettori di schede, essendo diventati ormai periferiche standard dei computer, stanno acquisendo un'importanza sempre maggiore, in quanto consentono di semplificare il trasferimento di dati sulle schede di memoria. Poiché questi dati sono basati su file, le schede di memoria sono anche in grado di trasferire software dannoso su un sistema host. Strategia di difesa da attacchi di software dannoso Prima di tentare di organizzare una difesa efficace contro attacchi di software dannoso, è essenziale comprendere le varie parti dell'infrastruttura dell'organizzazione potenzialmente a rischio e la portata del rischio per ciascuna parte. LIVELLI DI RISCHIO: • Dati: i rischi a livello di dati provengono da vulnerabilità che un utente malintenzionato potrebbe sfruttare per ottenere l'accesso ai dati di configurazione, ai dati dell'organizzazione o ai dati specifici dei dispositivi utilizzati dall'organizzazione. Dati riservati, come dati aziendali confidenziali, dati degli utenti e archivi dei dati dei clienti privati, devono essere tutti considerati parte di questo livello. La preoccupazione principale per l'organizzazione a questo livello del modello è rappresentata dai problemi aziendali e legali che possono insorgere in conseguenza della perdita o del furto di dati, nonché dai problemi operativi che potrebbero derivare da vulnerabilità a livello di host o di applicazione. • Applicazione: i rischi a livello di applicazione provengono da vulnerabilità che un utente malintenzionato potrebbe sfruttare per accedere alle applicazioni in esecuzione. Qualsiasi tipo di codice eseguibile che un creatore di software dannoso è in grado di trasferire all'esterno di un sistema operativo potrebbe essere utilizzato per sferrare un attacco contro un sistema. La principale preoccupazione per l'organizzazione a questo livello è rappresentata dall'accesso ai file binari che costituiscono le applicazioni, dall'accesso all'host tramite le vulnerabilità nei servizi in ascolto dell'applicazione o dalla raccolta inadeguata dal sistema di dati specifici da passare a un utente in modo che possa utilizzarli per i propri scopi. • Host: questo livello viene in genere utilizzato dai fornitori che offrono service pack e aggiornamenti rapidi al fine di affrontare i pericoli correlati a software dannoso. I rischi a questo livello provengono da utenti malintenzionati che sfruttano le vulnerabilità all'interno dei servizi offerti dall'host o dal dispositivo. I pirati informatici sfruttano queste vulnerabilità in diversi modi per sferrare attacchi contro il sistema. Un valido esempio di vulnerabilità di questo tipo è rappresentato dal sovraccarico del buffer, una condizione che si verifica quando a un buffer viene aggiunta una quantità di informazioni maggiore rispetto alla quantità prevista in fase di progettazione. La principale preoccupazione di un'organizzazione a questo livello è impedire l'accesso ai file binari che costituiscono il sistema operativo e dall'accesso all'host tramite le vulnerabilità presenti nei servizi in ascolto del sistema operativo. • Rete interna: i rischi per le reti interne delle organizzazioni riguardano in larga parte i dati riservati trasmessi tramite reti di questo tipo. Numerosi rischi sono anche associati ai requisiti di connettività per le workstation client su queste reti interne. • Rete perimetrale: i rischi associati al livello della rete perimetrale (noto anche come DMZ, zona demilitarizzata o subnet protetta) provengono da un utente malintenzionato che ottiene l'accesso a una rete WAN (Wide Area Network) e ai livelli della rete a cui si connettono. I principali rischi a questo livello del modello sono incentrati sulle porte TCP (Transmission Control Protocol) e UDP (User Datagram Protocol) disponibili utilizzate dalla rete. • Protezione fisica: i rischi a livello fisico provengono da utenti malintenzionati che riescono a ottenere l'accesso fisico a un bene fisico. Questo livello include tutti i livelli precedenti, in quanto l'accesso fisico a un bene può a sua volta consentire l'accesso a tutti gli altri livelli del modello di difesa a più livelli. La principale preoccupazione a questo livello del modello per le organizzazioni che utilizzano sistemi antivirus è impedire ai file infetti di aggirare le difese delle reti interne e perimetrali. Questa operazione può essere eseguita dagli autori di attacchi semplicemente copiando un file infetto direttamente sul computer host tramite alcuni supporti rimovibili fisici, quale una periferica disco USB. • Criteri, procedure e consapevolezza: a tutti i livelli del modello di protezione sono associati i criteri e le procedure che l'organizzazione deve implementare per soddisfare e supportare i requisiti relativi a ciascun livello. Infine, è importante promuovere tra tutte le parti interessate un certo livello di consapevolezza in materia di protezione all'interno dell'organizzazione. In molti casi, la mancata consapevolezza dell'esistenza di uno specifico rischio può favorire una violazione della protezione. Per questo motivo, anche la formazione deve essere una parte integrante di qualsiasi modello di protezione. Protezione client Quando un'applicazione software dannosa raggiunge un computer host, i sistemi di difesa devono essere mirati a proteggere il sistema host e i relativi dati e a impedire la diffusione dell'infezione. Queste difese non sono meno importanti delle difese a livello di protezione fisica e di rete del proprio ambiente. È consigliabile progettare le difese del sistema basandosi sul presupposto che il software dannoso sia riuscito a penetrare in tutti i precedenti livelli di difesa. Questo approccio rappresenta il modo migliore per ottenere il più elevato livello di protezione. Procedura per la protezione antivirus dei client Esistono numerosi approcci e tecnologie che è possibile utilizzare per le configurazioni antivirus dei client. Nelle sezioni riportate di seguito vengono forniti i dettagli che Microsoft consiglia di prendere in considerazione. Passaggio 1: ridurre la superficie di attacco La prima linea di difesa a livello di applicazione prevede la riduzione della superficie di attacco del computer. Per ridurre al minimo i numerosi modi con cui un autore di attacchi potrebbe sfruttare il sistema, è consigliabile rimuovere o disattivare sul computer tutte le applicazioni o i servizi non necessari. Una volta ridotta al minimo la superficie di attacco senza influire sulle funzionalità necessarie del sistema, la principale difesa da utilizzare a questo livello è rappresentata da uno strumento di scansione antivirus. Il ruolo principale dello strumento di scansione consiste nel rilevare e impedire un attacco e nell'informare l'utente e probabilmente gli amministratori del sistema all'interno dell'organizzazione di un'eventuale violazione della protezione. Passaggio 2: applicare gli aggiornamenti della protezione La possibilità di connettere un'ampia gamma di computer client alle reti di un'organizzazione può rendere difficoltosa la fornitura di un servizio di gestione degli aggiornamenti di protezione veloce e affidabile. • Windows Update: per le organizzazioni di piccole dimensioni o i singoli utenti, il servizio Windows Update fornisce un processo automatico e manuale per il rilevamento e il download delle modifiche più recenti della protezione e delle funzionalità per la piattaforma Windows. I problemi correlati a questo approccio che alcune organizzazioni si trovano ad affrontare includono la mancanza di supporto per le procedure di test prima della distribuzione degli aggiornamenti offerti da questo servizio e la quantità di larghezza di banda della rete che i client possono utilizzare nell'organizzazione quando scaricano contemporaneamente lo stesso pacchetto. Le informazioni sull'uso di questo servizio sono disponibili nella home page di Windows Update all'indirizzo: www.windowsupdate.com (in inglese). Passaggio 3: attivare un firewall basato su host Il firewall personale o basato su host rappresenta un importante livello di difesa dei client che è consigliabile attivare, in particolare sui computer portatili che potrebbe essere portati dagli utenti all'esterno degli usuali sistemi di difesa fisica e della rete. Questi firewall filtrano tutti i dati che si tenta di immettere o di prelevare da uno specifico computer host. Windows XP include un semplice firewall personale denominato ICF (Internet Connection Firewall). Una volta attivato, il firewall ICF monitora tutti gli aspetti della comunicazione dei dati che lo attraversano. Il firewall ICF è in grado inoltre di controllare l'indirizzo di origine e di destinazione di ciascun pacchetto di dati che gestisce per assicurare che siano consentite tutte le comunicazioni. Windows XP Service Pack 2 introduce un'ampia gamma di miglioramenti significativi del firewall ICF (ora denominato Windows Firewall) e altri miglioramenti orientati alla protezione. Un service pack è un insieme cumulativo testato di tutti gli aggiornamenti rapidi, gli aggiornamenti della protezione, gli aggiornamenti critici e gli aggiornamenti creati per i difetti rilevati all'interno di un prodotto dopo il rilascio. I service pack possono contenere anche un numero limitato di modifiche o funzionalità richieste dal cliente. Le versioni di Windows precedenti a Windows XP non sono state fornite con un firewall incorporato. Sono disponibili soluzioni firewall basate su host di terze parti che è possibile installare per fornire servizi firewall nelle versioni precedenti di Windows e migliorare i servizi firewall nei client Windows XP. Passaggio 4: installare il software antivirus Molte società producono applicazioni antivirus, ciascuna delle quali tenta di proteggere il computer host creando pochi disagi e richiedendo un livello di interazione minimo con gli utenti finali. La maggior parte di queste applicazioni fornisce funzionalità di protezione di grande efficacia, ma tutte richiedono aggiornamenti frequenti per stare al passo con il software dannoso più recente. Qualsiasi soluzione antivirus dovrebbe fornire un meccanismo rapido e semplice per assicurare che gli aggiornamenti ai file delle firme richiesti per la gestione di nuovi software dannosi o varianti vengano rilasciati il più presto possibile. Un file di firma contiene informazioni utilizzate dai programmi antivirus per rilevare software dannosi durante un'operazione di scansione. I file delle firme sono progettati per essere aggiornati regolarmente dai fornitori di applicazioni antivirus e scaricati sul computer client. Nota: questi aggiornamenti presentano rischi di protezione intrinseci, in quanto i file delle firme vengono inviati dal sito di supporto dell'applicazione all'applicazione host (in genere via Internet). Se ad esempio il meccanismo di trasferimento prevede l'utilizzo del protocollo FTP (File Transfer Protocol) per ottenere il file, i firewall perimetrali dell'organizzazione dovranno consentire questo tipo di accesso al server FTP richiesto su Internet. Assicurarsi che durante il processo di verifica dei rischi antivirus venga esaminato il meccanismo di aggiornamento per l'organizzazione e che questo processo sia sufficientemente sicuro per soddisfare i requisiti di protezione dell'organizzazione. A causa della rapida evoluzione degli schemi e delle tecniche di attacco di software dannosi, alcune organizzazioni hanno adottato un approccio che prevede la necessità che gli utenti esposti a rischi elevati eseguano più pacchetti antivirus sullo stesso computer al fine di ridurre al minimo il rischio che software dannosi non vengano rilevati. In questa categoria rientrano in genere i seguenti tipi di utenti: • • • Webmaster o chiunque amministri contenuto su Internet o una rete Intranet. Addetti ai laboratori di rilascio o chiunque produca supporti elettronici, quali CD-ROM. Membri dei team di sviluppo che creano o compilano file compressi o altri prodotti software. Tenere presente che l'esecuzione di applicazioni antivirus di fornitori differenti sullo stesso computer potrebbe causare problemi a causa della mancanza di interoperabilità tra le applicazioni antivirus. I problemi del sistema che possono verificarsi in conseguenza dell'esecuzione contemporanea di più applicazioni antivirus nell'ambiente in uso comprendono: • Sovraccarico della memoria: molte applicazioni antivirus utilizzano agenti attivi che risiedono in • Arresti anomali del sistema o errori di interruzione: gli arresti anomali e gli errori di interruzione memoria riducendo la quantità di memoria di sistema disponibile. possono essere causati da applicazioni antivirus che tentano di eseguire contemporaneamente la scansione dello stesso file. • Deterioramento delle prestazioni: durante l'analisi dei file tramite le applicazioni antivirus per individuare codice dannoso, le prestazioni del sistema potrebbero subire un deterioramento. Quando si utilizzano più applicazioni, le scansioni vengono eseguite ripetutamente, il che potrebbe ridurre le prestazioni del sistema a un livello inaccettabile. • Perdita dell'accesso al sistema: l'esecuzione contemporanea di più applicazioni antivirus potrebbe causare un arresto del sistema durante l'avvio. Questo problema è più comune nelle versioni precedenti di Windows, quali Microsoft Windows® NT e Windows 9x. Per questi motivi, l'utilizzo di più applicazioni antivirus sullo stesso computer non è una strategia consigliata e dovrebbe essere evitato, se possibile. Un approccio alternativo da prendere in considerazione è l'utilizzo di software antivirus di fornitori differenti per la protezione dei client, dei server e della rete all'interno dell'organizzazione. Questo approccio consente una scansione coerente di queste diverse aree dell'infrastruttura mediante l'uso di diversi motori di scansione, che consentono di ridurre il rischio di una potenziale violazione delle difese antivirus globali dell'organizzazione nel caso in cui il prodotto di un singolo fornitore non sia in grado di rilevare un attacco. Passaggio 5: eseguire il test con strumenti di scansione delle vulnerabilità Una volta configurato un sistema, è consigliabile controllarlo periodicamente per assicurarsi che siano stati eliminati tutti i punti deboli della protezione. Per semplificare l'esecuzione di questo processo, è possibile utilizzare numerose applicazioni che fungono da strumenti di scansione al fine di individuare eventuali punti deboli che software dannosi e pirati informatici potrebbero tentare di sfruttare. Gli strumenti migliori sono in grado di aggiornare le relative routine di scansione per difendere il sistema dai punti deboli più recenti. Passaggio 6: utilizzare criteri con privilegi minimi Un'altra area da non trascurare tra i sistemi di protezione dei client è rappresentata dai privilegi assegnati agli utenti in situazioni di normale operatività. E’ consigliaBILE adottare un criterio che fornisca il minor numero di privilegi possibile per consentire di ridurre al minimo l'impatto di software dannosi che si basano sullo sfruttamento dei privilegi utente durante l'esecuzione. Passaggio 7: limitare l'accesso da parte di applicazioni non autorizzate Se un'applicazione fornisce un servizio alla rete, quale Microsoft Instant Messenger o un servizio Web, potrebbe, in teoria, diventare il bersaglio di un attacco di software dannoso. Come parte della soluzione antivirus, è opportuno prendere in considerazione la creazione di un elenco di applicazioni autorizzate nell'organizzazione. I tentativi di installare un'applicazione non autorizzata in uno dei computer client in uso potrebbe esporre tutti i client e i dati in essi contenuti a un più elevato elevato rischio di attacchi di software dannosi. Impostazioni antivirus per applicazioni client Nelle sezioni riportate di seguito vengono fornite istruzioni per la configurazione di specifiche applicazioni client che potrebbero essere prese di mira da attacchi di software dannoso. Client di posta elettronica Se il software dannoso riesce a superare le difese antivirus a livello di rete e di server di posta elettronica, sarà possibile configurare alcune impostazioni per garantire un livello di protezione aggiuntivo per il client di posta elettronica. In genere, la capacità di un utente di aprire allegati di posta elettronica direttamente da un messaggio di posta elettronica fornisce uno dei principali metodi per la propagazione sul client di software dannoso. Se possibile, prendere in considerazione l'ipotesi di limitare questa capacità nei sistemi di posta elettronica dell'organizzazione. Se non è possibile eseguire questa operazione, alcuni client di posta elettronica consentiranno di configurare ulteriori operazioni che gli utenti dovranno eseguire prima di aprire un allegato. In Microsoft Outlook® e Outlook Express è possibile ad esempio effettuare le seguenti operazioni: • Utilizzare le aree di protezione di Internet Explorer per disattivare il contenuto attivo nei messaggi di • Attivare un'impostazione che consenta agli utenti di visualizzare solo i messaggi di posta elettronica in • • Impedire ai programmi di inviare messaggi di posta elettronica senza la specifica approvazione dell'utente. posta elettronica HTML. testo normale. Bloccare gli allegati di messaggi di posta elettronica non protetti. Applicazioni per desktop Essendo sempre più potenti, le applicazioni per desktop sono diventate oggi i principali bersagli di attacchi di software dannoso. Per replicarsi, i virus macro utilizzano i file creati da applicazioni di elaborazione testi, fogli di calcolo o altre applicazioni abilitate per le macro. È opportuno intraprendere le misure necessarie ove possibile per far sì che le impostazioni di protezione più appropriate vengano attivate in tutte le applicazioni nell'ambiente in uso che gestiscono questi file. Applicazioni di messaggistica immediata Sebbene abbia consentito di migliorare le comunicazioni degli utenti in tutto il mondo, tuttavia, il meccanismo di messaggistica immediata ha anche fornito un'altra applicazione che è potenzialmente in grado di consentire al software dannoso di insediarsi nel sistema. Sebbene i messaggi di testo non costituiscano un pericolo di software dannoso diretto, la maggior parte dei client di messaggistica immediata forniscono ulteriori funzionalità di trasferimento dei file per migliorare le capacità di comunicazione degli utenti. Il supporto dei trasferimenti di file fornisce un mezzo diretto alla rete di un'organizzazione per potenziali attacchi di software dannoso. I firewall di rete possono bloccare i trasferimenti di file semplicemente filtrando le porte utilizzate per questa comunicazione. I client Microsoft Windows e MSN® Messenger utilizzano ad esempio per il trasferimento dei file un intervallo di porte TCP compreso tra 6891 e 6900. Pertanto, se il firewall perimetrale blocca queste porte, non sarà possibile eseguire il trasferimento dei file tramite un'applicazione di messaggistica immediata. Tuttavia, i computer client portatili vengono protetti solo quando risiedono nella rete dell'organizzazione. Per questo motivo, è opportuno configurare il firewall basato su host nei client in uso per il blocco di queste porte e proteggere i client portatili nell'organizzazione quando sono al di fuori delle difese della rete. Se l'organizzazione non è in grado di bloccare queste porte perché utilizzate da altre applicazioni richieste o perché il trasferimento dei file è necessario, si consiglia di analizzare tutti i file per verificare la presenza di eventuale software dannoso prima di eseguirne il trasferimento. Se le workstation client non utilizzano uno strumento di scansione antivirus in tempo reale, si consiglia di configurare l'applicazione di messaggistica immediata per il passaggio automatico dei file trasferiti a un'applicazione antivirus in modo da eseguirne la scansione non appena vengono ricevuti. È possibile ad esempio configurare MSN Messenger per la scansione automatica dei file trasferiti. Nella seguente procedura viene illustrato come attivare questa funzionalità di protezione: Nota: l'applicazione Windows Messenger fornita con Windows XP non supporta questa funzionalità. Per questa applicazione, è consigliabile utilizzare uno strumento di scansione antivirus in tempo reale. Per eseguire la scansione dei file trasferiti tramite MSN Messenger 1. Nella finestra principale di MSN Messenger scegliere Opzioni dal menu Strumenti. 2. Fare clic sulla scheda Messaggi. 3. In Trasferimento di file selezionare la casella di controllo Scan for viruses using. 4. Fare clic su Sfoglia, selezionare il software di scansione antivirus in uso, quindi scegliere OK. Nota: la ricerca del file eseguibile corretto da utilizzare e del parametro di comando da includere in questo file potrebbe richiedere un input aggiuntivo dal parte del fornitore del software di scansione antivirus. Una volta completati questi passaggi, il software antivirus eseguirà automaticamente la scansione di tutti i file ricevuti sul client tramite MSN Messenger. Nota: lo strumento di scansione antivirus potrebbe richiedere operazioni di installazione aggiuntive. Per ulteriori informazioni, fare riferimento alle istruzioni fornite con il software di scansione antivirus. Browser Prima di scaricare o eseguire codice da Internet, assicurarsi che provenga da un'origine conosciuta e affidabile. È opportuno che gli utenti non facciano affidamento semplicemente sull'aspetto o sull'indirizzo del sito, in quanto gli indirizzi e le pagine Web possono essere contraffatti. Sono state sviluppate numerose tecniche e tecnologie che consentono all'applicazione browser di un utente di determinare l'affidabilità del sito Web che si sta esplorando. Per verificare l'identità del codice scaricato, in Microsoft Internet Explorer viene utilizzata ad esempio la tecnologia Microsoft Authenticode®. La tecnologia Authenticode consente di verificare che il codice contenga un certificato valido, che l'identità dell'autore del software corrisponda al certificato e che il certificato sia ancora valido. Se tutti questi test vengono superati, il rischio che un utente malintenzionato trasferisca codice dannoso nel sistema risulterà ridotto. La maggior parte delle principali applicazioni browser supporta la capacità di limitare il livello di accesso automatico disponibile al codice eseguito da un server Web. Per impedire al contenuto Web di eseguire operazioni potenzialmente dannose sul client, in Internet Explorer vengono utilizzate le aree di protezione. Le aree di protezione sono basate sulla posizione (zona) del contenuto Web. Se ad esempio si è sicuri che tutto il contenuto scaricato all'interno della rete Intranet dell'organizzazione sia sicuro, sarà possibile configurare le impostazioni di protezione dei client per l'area Intranet locale su un livello basso in modo da consentire agli utenti di scaricare il contenuto dalla rete Intranet con poche o nessuna restrizione. Se tuttavia l'origine del download si trova nell'area Internet o nell'area Siti con restrizioni, è opportuno configurare le impostazioni di protezione dei client su un livello medio o elevato. Se si configurano queste impostazioni, nei browser client verrà chiesto agli utenti di immettere informazioni sul certificato del contenuto prima del download o si impedirà loro di scaricare il certificato. Applicazioni peer-to-peer L'avvento delle applicazioni peer-to-peer (P2P) per Internet ha semplificato più che mai la ricerca e lo scambio di file con altri utenti. Sfortunatamente, questa situazione ha favorito numerosi attacchi di software dannoso che tentano di utilizzare queste applicazioni per replicare i file sui computer di altri utenti. Per replicarsi, i worm, come W32.HLLW.Sanker, hanno utilizzato applicazioni P2P, quale Kazaa. Esistono molti altri esempi di software dannosi che tentano di utilizzare altre applicazioni peer-to-peer, quali Morpheus e Grokster. I problemi di protezione correlati alle applicazioni P2P hanno poco a che vedere con gli stessi programmi client. Questi problemi sono invece strettamente correlati alla capacità di queste applicazioni di fornire un routing diretto da un computer all'altro attraverso cui è possibile trasmettere il contenuto eludendo i controlli di protezione appropriati. Se possibile, Microsoft consiglia di limitare il numero di client all'interno dell'organizzazione che utilizzano queste applicazioni. Per impedire agli utenti di eseguire applicazioni peer-to-peer, è possibile utilizzare i criteri di restrizione software di Windows illustrati in precedenza in questo capitolo. Se non è possibile eseguire questa operazione nel proprio ambiente, assicurarsi che i criteri antivirus prendano in considerazione il maggiore rischio a cui i client dell'organizzazione sono esposti a causa di queste applicazioni. Consapevolezza degli utenti La formazione degli utenti rappresenta in genere una delle ultime questioni prese in considerazione da un'organizzazione durante la progettazione di un sistema di difesa antivirus. Agevolare la comprensione da parte degli utenti di alcuni dei rischi associati agli attacchi di software dannoso è una parte importante del processo di riduzione dei rischi, in quanto tutti gli utenti nell'organizzazione che utilizzano le risorse IT svolgono un ruolo fondamentale per la protezione della rete. Per questo motivo, è importante istruire gli utenti sui rischi più comuni mitigabili con le appropriate contromisure, tra cui: • • • • • Apertura di allegati di posta elettronica. Utilizzo di password vulnerabili. Download di applicazioni e controlli ActiveX da siti Web inattendibili. Esecuzioni di applicazioni da supporti rimovibili non autorizzati. Autorizzazione dell'accesso ai dati e alle reti dell'organizzazione. Poiché le tecniche di attacco del software dannoso cambiano continuamente, è necessario aggiornare regolarmente le difese antivirus. Indipendentemente dal fatto se sia necessario aggiornare il file di firma di un programma antivirus o il programma stesso, la creazione e la distribuzione degli aggiornamenti richiedono lungo tempo. Tuttavia, la quantità di tempo necessaria per creare gli aggiornamenti è stata notevolmente ridotta negli ultimi anni e, pertanto, oggi è possibile ottenere questi aggiornamenti anche nel giro di poche ore. Tuttavia, sebbene in rari casi, l'implementazione di un sistema di difesa efficace può richiedere alcuni giorni a partire dal momento in cui viene rilasciato un nuovo attacco di software dannoso. Durante questo periodo, la difesa più efficace per un'organizzazione è rappresentata dalla consapevolezza da parte degli utenti dei pericoli correlati a software dannoso e dei relativi rischi. Fornire agli utenti le linee guida di base per la creazione di difese antivirus e una formazione adeguata può consentire di impedire a un nuovo attacco di software dannoso che riesce a superare le difese l'infrastruttura di protezione IT di propagarsi nell'ambiente in uso.