45. Malicious software e Malware

Le cronache informatiche di questi ultimi tempi hanno fornito la dimostrazione pratica di un dato di fatto innegabile: nessuno può dirsi veramente al sicuro dagli attacchi portati attraverso il cosiddetto codice nocivo. Ma che cosa si intende per codice nocivo ed in quale modo questo può effettivamente produrre un danno ?
Il termine inglese è malware, contrazione di malicious software, con il quale, generalmente si intende un qualsiasi frammento di codice (in pratica un piccolo programma) di lunghezza variabile che, penetrato all'interno di un computer, si dimostra potenzialmente in grado di danneggiarne i dati e/o comprometterne la sicurezza.
Dunque la caratteristica che giustifica l'appellativo di nocivo è l'attitudine a causare danni a prescindere dalla circostanza che poi questi effettivamente si verifichino. Per questo motivo in questa categoria rientrano anche i tradizionali virus.
La RFC 1135 definisce come virus qualsiasi porzione di codice che si installa all'interno di un programma host al fine di utilizzare quest'ultimo come mezzo di propagazione. Un virus non può essere eseguito in maniera autonoma ed indipendente ma richiede che sia stato attivato un programma host.
Due sono gli elementi che è necessario prendere in considerazione quando si parla di virus: il meccanismo di propagazione ed il tipo di operazioni eseguite una volta che il virus sia attivo e residente in memoria. Il meccanismo di propagazione è forse l'aspetto più importante nel valutare la pericolosità di una determinata classe di codice nocivo.
Infatti mentre in passato il pericolo di una infezione da virus poteva dirsi limitato a pochi pc ed il mezzo di diffusione era costituito principalmente da floppy disk o da cassette attualmente l'avvento di Internet ha dato un forte impulso alla crescita delle infrastrutture di rete per cui negli scenari odierni i danni causati dai virus possono colpire centinaia di migliaia di sistemi in poco più di una settimana sfruttando mezzi di connettività globale velocissimi come ad esempio la posta elettronica.
 
Tra le varie tipologie di virus troviamo:
 
i boot virus, che infettano il Boot Sector o il Master Boot Record dei dischi (vale a dire quell'insieme di istruzioni localizzate all'inizio di qualsiasi disco fisso, cioè nel primo settore del primo cilindro del primo piatto, in grado di interpretare la tabella delle partizioni che contiene la mappa della configurazione dell'intero disco) in modo da essere caricati all'avvio del sistema. Peraltro, nel gruppo, è proprio questa tipologia di virus quella che presenta le particolarità più insidiose in quanto tende ad acquisire il controllo dell'MBR rilocandolo altrove ed inserendo il proprio codice nocivo all'interno dello stesso. In questo modo, durante il riavvio della macchina, il virus riesce ad eseguire qualsiasi tipo di operazione: modificare le chiamate del BIOS od intercettare quelle dirette a leggere lo stesso MBR dirottandole verso la copia precedentemente rilocata (l'uso di queste tecniche cosiddette stealth è normalmente diretto ad evitare l'identificazione da parte dei normali antivirus). In pratica si dimostrano particolarmente subdoli poiché sono in grado di acquisire il controllo del sistema al momento del suo bootstrap e quindi molto prima che sia caricato il sistema operativo e, conseguentemente, qualsiasi programma antivirus;
 
i file virus o virus di tipo parassita:, che infettano, con modalità molto varie, i file perlopiù eseguibili (.com, .exe e .dll) e utilizzano lo scambio di questi ultimi per propagare l'infezione lasciandoli perfettamente utilizzabili ma al tempo stessi utilizzandoli come mezzi di propagazione. Quando l'utente o il sistema avviano il file eseguibile ospite, avviano anche il virus che viene caricato in memoria e inizia l'attività di propagazione;
 
i macrovirus, che sono generalmente script incorporati all'interno di particolari documenti (come ad esempio un documento di Microsoft Word o di Excel) i quali comprendono una serie di comandi codificati in base al linguaggio specifico di una determinata applicazione che generalmente è il VBA (Visual Basic for Application). Per la prima volta nella storia questi virus hanno sovvertito un punto fermo rappresentato dal fatto che, in passato, non era possibile concepire del codice virale in una forma tale che potesse prescindere dall'esistenza di un file eseguibile mentre oggi tutto questo è divenuto realtà proprio grazie alle accresciute potenzialità che nel tempo queste applicazioni sono venute ad acquisire. Indubbiamente alcuni degli esempi più lampanti di questa tipologia di codice è rappresentato dal macro Virus denominato Melissa e Iloveyou che recentemente sono assurti alle cronache informatiche per la loro rapida diffusione nonché per il semplice ma efficace stratagemma che essi usavano per replicarsi. Come se ciò non bastasse entrambi i virus erano in grado di propagarsi auto inviandosi il primo ai primi 50 indirizzi ed il secondo a tutti gli indirizzi presenti nella rubrica di Microsoft Outlook, sfruttando in tale modo un mezzo di diffusione straordinariamente veloce come la posta elettronica;
 
i network virus o Worm, che si diffondono sfruttando le vulnerabilità dei protocolli di Internet.