|
Cos'è un Malware: il Problema
La
definizione secondo Panda Software di Malware, o Codice Maligno (e
non malizioso, come certi traducono l'inglese Malicious Code),
coniata dal Presidente della Società sig. Mikel Urizzalbarrena, amplia la comune definizione di Virus
informatico nata oltre vent'anni, ed è la
seguente:
| |
Malware: qualsiasi
programma, documento, messaggio in grado di causare danni diretti e/o
indiretti ai sistemi informatici, alle reti informatiche ed ai loro
utilizzatori e gestori. |
|
Nell'intercalare quotidiano la locuzione Virus è ancora molto adottata: la si può
per brevità e consuetudine considerare come sinonimo di Malware, benchè nel Malware
ricadano molte categorie di Codici Maligni che non sono propriamente Virus.
Si
pone l'accento sui seguenti fatti:
-
il Malware non è necessariamente soltanto un "programma" (come nel caso dei
Virus e dei Worm, ad esempio) veicolato da un supporto di memoria (Floppy,
CD, USB Key ecc.), o da un documento informatico (Macro Virus "annegato" in
un documento Word, ad esempio) o da un messaggio e-mail (l'allegato), ma
può essere considerato Malware il messaggio e-mail stesso (è il caso di Hoax,
Spam e Phishing).
-
Lo scopo maligno di un Malware non necessariamente è mirato a danneggiare la
disponibilità e integrità dei dati o il regolare funzionamento di un sistema
informatico (danno che ha sempre e comunque l'effetto di causare
perdite di tempo, produttività e denaro) ma può essere finalizzato a causare
un danno pecuniario all'utilizzatore anche senza "danneggiare",
ma solo riconfigurando (caso dei Dialer) il sistema informatico stesso.
-
Ancora peggio, lo scopo maligno può essere finalizzato a ingannare ed irretire
l'utilizzatore (caso di Hoax e Phishing) convincendolo ad effettuare azioni
dannose per sè stesso (ovviamente non fisicamente ma in senso etico/morale) con tecniche di cosiddetta "Ingegneria sociale",
in certi casi senza
alterare minimamente il funzionamento del sistema informatico.
La Catena della Sicurezza
Al
di là della sola minaccia costituita dai Malware, per poter gestire in sicurezza il
patrimonio di dati informatici in nostro possesso occorre implementare una
catena della sicurezza della quale l'antimalware è solo un anello: senza gli
altri, esso non può mantenere protetto il nostro sistema informatico
dall'attacco delle nuove minacce provenienti soprattutto da Internet, ma anche
da quelle interne: questa
catena è costituita da strumenti tecnologici (da 3 a 7) e da strumenti
sociologici (1 e 2): a parere dell'estensore di questa pagina non a caso questi ultimi sono ai primi posti, e non a
caso l'Antimalware, oggetto di questo sito, è all'ultimo:
| |
- Sensibilizzazione degli utenti
contro i pericoli dell'Ingegneria Sociale (Formazione e
Informazione)
- Normative d'uso degli strumenti
informatici (Responsabilizzazione)
- Aggiornamento costante dei sistemi
operativi (Windows Update)
- Implementazione, ove possibile, di
Policy di sicurezza
- Procedure di Backup efficienti (ed
altri sistemi di Disaster Recovery, UPS)
- Firewall, sistemi di Intrusion
Detection
- Antimalware efficienti e
costantemente aggiornati
|
|
-
Lungi da voler analizzare l'evoluzione (o rivoluzione) sociale che la
tecnologia in generale, ed il personal computer in particolare, hanno
prodotto nella società (esistono interi libri sull'argomento), si osserva
che la diffusione dell'utilizzo degli strumenti informatici non è andata di
pari passo con l'acculturamento informatico della società stessa. Ovviamente
non è pensabile che ogni utilizzatore di uno strumento informatico ne
divenga un esperto in ogni suo aspetto: il cardine della diffusione del
personal computer ad ogni livello, compreso quello casalingo, è e
deve essere la facilità d'uso da parte di chiunque. Tuttavia è necessario
essere al corrente di alcuni aspetti "intimi" della struttura dell'hardware
e del software che si utilizza, e delle caratteristiche della simbiosi di
hardware e software che si sta utilizzando (il Tutto è ben più che la somma
delle sue parti) per poterne conoscere anche i lati vulnerabili... ed il
lato più vulnerabile di un sistema informatico è la persona alla tastiera,
che per disinformazione, ingenuità o, peggio, dolo può concorrere a far sì
che un malware possa eludere gli strumenti tecnologici messi in essere per
difendere il sistema informativo. Ad ogni livello è quindi opportuno,
mediante Informazione (per i singoli) e Formazione (per i gruppi)
imparare/divulgare le nozioni basilari sulla sicurezza: si ricordi che molti
codici maligni sfruttano tecniche di Ingegneria sociale (una branca
della Psicologia) per ingannare gli utenti e portarli ad eseguire azioni
dannose per il proprio sistema informativo.
-
In ambiente Aziendale il computer è uno strumento di lavoro. Anche
qui, lungi dal voler entrare in argomenti con risvolti sindacali, si
sottolinea che uno strumento di lavoro dovrebbe essere utilizzato solo per
gli scopi a cui è preposto (più realisticamente, è noto che esso viene usato
anche per certi scopi "tollerati"). In questo ambiente, determinati utilizzi
non necessariamente "impropri" (escludiamo il caso limite del dolo) dovuti a
ingenuità ed a disinformazione possono risultare dannosi non solo per il
singolo utilizzatore, ma per l'intera Azienda: la Formazione e
l'Informazione devono allora essere accompagnate da una Normativa che
responsabilizzi l'utilizzatore sulle operatività che possono e, soprattutto,
che non possono essere svolte con il sistema informatico in
dotazione.
-
Un sistema operativo è un software estremamente complesso che, semplificando
al massimo, ha lo scopo di interfacciare applicazioni ad alto livello di
astrazione con il substrato fisico costituito dall'hardware. Tale software è
costituito da centinaia di moduli scritti in diverse decine di milioni di
istruzioni di codice sorgente: benchè la stesura di un algoritmo debba
condurre ad un risultato deterministico ("questo modulo fa queste
operazioni in base a questi dati") l'Ingegneria del Software non è
ancora in grado di testare a fondo tutti i possibili comportamenti ottenuti
interfacciando numerosi moduli e/o alimentandoli con dati non conformi a
quelli di progetto. L'elasticità di Windows (per citare il sistema più
diffuso al mondo), che mette a disposizione del programmatore diverse API (Application
Program Interfaces) e DLL (Dynamic Link Libraries) rende possibile usare
questi oggetti per scopi non originariamente previsti, scopi che possono
essere dannosi: si tratta di vulnerabilità del sistema operativo,
ovvero di particolari programmi e routines che, usate in modo improprio,
possono aprire delle "falle" nella sicurezza del computer eseguendo
operazioni che non era possibile realisticamente prevedere. Frequentemente i
produttori dei sistemi operativi (Microsoft in testa) rilasciano delle
patch o hotfix ("pezze" e "riparazioni a caldo") che fixano
(riparano) i bug (errori) e le vulnerabilità della sicurezza, così
come periodicamente rilasciano dei Service Pack che comprendono tutte
le patch e le hotfix precedenti, quando queste hanno raggiunto un numero
tale da giustificare la release del Service Pack. E' opportuno configurare
il proprio sistema operativo in modo che scarichi automaticamente gli
aggiornamenti del sistema operativo o, perlomeno, informi l'utilizzatore del
rilascio degli stessi.
-
In ambiente Aziendale, oltre a vincolare da una normativa d'uso gli
utilizzatori dei sistemi informativi, è opportuno predisporre dei Criteri di
Protezione sui sistemi operativi e sui Dominii, in modo che gli utenti non
possano compiere azioni pericolose nè per dolo, ma neanche per
disinformazione o per errore. Questi Criteri non possono sostituire
la Normativa del punto 2 nè la Formazione del punto 1, poichè la gestione di
un sistema informativo "troppo" vincolato diventa difficoltosa e poco
elastica (se si teme che alcuni utenti possano cancellare per errore una
cartella è meglio farli partecipare ad un corso sull'uso del computer
piuttosto che proteggere la cartella dalla cancellazione; se si teme che
alcuni utenti possano fare un uso improprio di certi dati a cui devono
accedere, non c'è tecnologia che tenga...). In ogni caso è opportuno
concedere agli utilizzatori di una postazione di lavoro soltanto i
diritti a loro effettivamente necessari in modo che non possano per
errore, ingenuità, disattenzione, disinformazione o dolo, eseguire
operazioni pericolose o installare software non autorizzato di dubbia
provenienza che potrebbe contenere dei malware, oltre che incorrere in
altre implicazioni che non sono argomento di questo trattato.
-
C'è un nemico della sicurezza dei nostri dati che viene a volte
sottovalutato: i componenti dei computer si possono guastare. Poco
male, possono essere riparati o si sostituiscono, i programmi si
re-installano... ma i dati? Se si guastasse un hard disk, in mancanza
di un backup recente potremmo avere perso
il nostro patrimonio informatico, fosse esso costituito dalle migliaia di foto
digitali delle nostre vacanze, dall'archivio di contabilità della
nostra piccola azienda, o magari peggio... La salvaguardia dei dati, anche
per ottemperare a normative di legge, deve essere garantita sia
dall'adozione di un server "robusto" (con dischi in RAID) sia da un sistema
di salvataggio periodico degli stessi su un supporto esterno (CD-ROM, DVD-ROM, nastro magnetico ecc.) il cui funzionamento venga verificato
frequentemente. L'implementazione, in una piccola azienda, di un sistema di
salvataggio incrementale quotidiano, e completo settimanale o bisettimanale
consentirà, in caso di guasto irreparabile di un hard disk o di corruzione
irrecuperabile dei dati in esso contenuti, di ripristinare i dati fino al
giorno precedente al guasto, perdendo solo l'ultimo giorno di lavoro. Ove
possibile, un sistema di Backup dotato di generazione di dischi di
Disaster Recovery consentirà di ripristinare l'operatività ed il
business in tempi molto brevi. Siccome una mancanza improvvisa di
alimentazione elettrica può provocare la corruzione dei file e dei database
aperti, è opportuno dotare i server più critici di un sistema di
alimentazione di emergenza UPS (Uninterrupted Power Supply).
-
Semplificando, un Firewall è un computer (un'Appliance
hardware+software, o un computer standard che esegue un programma firewall
software, come MS-ISA Server per Windows) dotato di due o più schede di rete
che ha, tra gli altri possibili, fondamentalmente due compiti: implementare
la NAT (Network Address Translation) tra gli indirizzi privati e
l'indirizzo pubblico di una rete connessa a Internet (eseguendo la funzione
di un Proxy Server), e gestire una serie di regole che autorizzino o
meno il transito dei diversi tipi di traffico (HTTP, FTP; SMTP ecc.)
su porte ben definite, in entrata ed in uscita dalla rete
(comprendere il meccanismo di funzionamento di un Firewall richiede una
certa conoscenza del protocollo TCP/IP). Per la protezione del traffico su
singoli computer sono diffusi i Personal Firewall, implementati via
software e disponibili come parte integrante del sistema operativo (come il
Personal Firewall di Windows XP disponibile con il Service Pack 2) o come
programmi di terze parti, a volte integrati in un programma Antimalware
(come il Personal Firewall di Panda Titanium e di Panda Platinum Internet
Security): i Personal Firewall hanno il solo compito di gestire delle regole
di autorizzazione del traffico. Mediante un Firewall è possibile lasciare
aperte le sole porte di comunicazione dal mondo esterno verso il computer, e
viceversa, effettivamente necessarie ai programmi in esecuzione su computer
stesso. L'uso corretto di un Firewall, ed in particolare di un Personal
Firewall, presuppone una discreta conoscenza dei processi di un computer che
devono accedere alla rete per i loro scopi: bloccare la comunicazione di un
programma del sistema operativo può causare un degrado o un malfunzionamento
di certi programmi o del computer stesso. In ogni caso, un Firewall ben
configurato consente il transito dall'esterno della rete all'interno (e
viceversa) solo di particolari categorie di traffico definite come
autorizzate, e quindi blocca sia i tentativi di intrusione eseguiti su porte
non autorizzate, proteggendo il computer dall'azione dannosa di codici
maligni che tentano di sfruttare delle vulnerabilità, sia la trasmissione
occulta di dati privati generata da certi codici maligni.
-
Last, but not least, l'Antimalware completa la catena della
sicurezza: esso verifica che ogni file che viene aperto sul computer non sia
infetto e che il traffico autorizzato a transitare da e verso il computer
non veicoli codici maligni (un firewall lascia passare una mail contenente
un allegato infetto, poichè la posta elettronica costituisce traffico
autorizzato, l'antimalware deve processare l'allegato infetto facendo
giungere al destinatario una mail disinfettata). Esistono diversi moduli
antimalware specifici per i compiti che un computer deve svolgere: personal
computer, workstation, file server, mail server ecc. Per funzionare
correttamente, un antimalware deve essere costantemente aggiornato in modo
che possa efficacemente rilevare ogni nuovo codice maligno venga immesso in
rete dagli hacker, e se ne deve verificare frequentemente il corretto
funzionamento.



|