Descrizione Operazione | Bloccare ? |
---|---|
Consentire apertura file : | Si |
Consentire eliminazione file : | Si |
Consentire apertura connessioni di rete : | Si |
Consentire accesso a file nella directory system: | No |
23
Gen
2009
Inserito da: Andrea Lanfranchi in: Mondo IT
Come proteggere al meglio il mio computer ? L’antivirus che ho montato è sufficiente ? Cos’altro posso fare per proteggere i miei dati ? Chissà quante volte ognuno di noi si è posto queste domande magari dopo aver perso tempo (e forse anche denaro) nel tentativo di rimuovere una fastidiosa infezione. Provo allora a stilare un vademecum del buon utilizzatore che, spero, possa aiutarvi non già ad eliminare i rischi totalmente ma, almeno, a ridurli notevolmente. Quanto segue non ha la pretesa di essere una dissertazione tecnica, ma solo una raccolta di regole di buon senso da applicarsi quotidianamente. Si intende che questi suggerimenti sono preventivamente rivolti agli utilizzatori di Windows anche se mi auguro, al di fuori di qualsiasi guerra di religione, che anche gli utenti Linux e Mac adottino alcune delle precauzioni qui descritte come forma di cortesia nei confronti dei colleghi meno fortunati.
Usare sempre un software antivirus.
E’ difficile immaginare una protezione antivirus senza un software antivirus. Nel mondo elettronico globalizzato di oggi è estremamente difficile distinguere le fonti da cui arrivano i dati elettronici tra sicure e non sicure: è quindi utile lavorare sempre con il dubbio che siano potenzialmente non sicure. Il codice malevolo (malware) può arrivare tramite diversi canali : tramite e-mail (forse oggi il vettore più sfruttato), dalla visita delle pagine internet, dalla rete locale, dai supporti rimovibili che scambiamo con amici e colleghi e, perfino, da CD di software originale ( si, ci sono stati in passato casi in cui CD originali portavano con se un virus ). Controllare tutti questi punti di ingresso è piuttosto difficile per un umano anche in considerazione del fatto che le possibili infezioni si contano oggi nella misura di centinaia di migliaia. Potremmo riconoscerle tutte ? Certamente no. Un software antivirus è in grado di svolgere questa attività per noi a condizione di mantenerlo costantemente aggiornato.
Aggiornare sempre l’antivirus con frequenze ravvicinate.
Un software antivirus non aggiornato è un software antivirus inutile. La velocità con cui le moderne infezioni si diffondono è molto alta: sempre più rapidi sono, d’altro canto, i tempi di reazione dei vendor di antivirus i quali riescono a pubblicare i dovuti aggiornamenti per i loro software nel giro di poche ore dalla manifestazione dell’infezione. Aggiornare l’antivirus una volta alla settimana non ha quindi senso: quasi tutti i vendor rendono disponibili aggiornamenti con cadenza quotidiana (o addirittura più volte al giorno). Gli stessi software antivirus consentono di programmare in automatico la verifica degli aggiornamenti ad intervalli regolari : impostate sempre l’intervallo minimo concesso dal software antivirus (2/4/6 ore al massimo).
Massima attenzione nell’uso delle e-mail.
Come già detto, il canale preferenziale per la diffusione delle infezioni virali è costituito dalle e-mail. Per proteggersi al meglio, oltre alla presenza di un antivirus, è bene usare anche un po’ di cautela. Se possibile impostiamo il nostro client di posta elettronica in modo che non venga visualizzata automaticamente l’anteprima del messaggio : alcuni codici malevoli sono in grado di attivarsi semplicemente visualizzando il contenuto del messaggio e l’anteprima automatica è una visualizzazione, appunto, automatica. Evitate poi di inviare e ricevere e-mail in formato HTML : il codice HTML può nascondere delle istruzioni, non immediatamente visibili nel testo, che possono produrre effetti indesiderati come, ad esempio, il download in automatico di piccoli script. Usate il testo semplice: non può essere colorato, non si può cambiare il carattere, non si possono inserire animazioni ed amenità varie … ma è sicuro ! Senza contare che è molto più leggero. Infine diffidate di qualsiasi allegato : se non siete assolutamente certi della provenienza, e relativa affidabilità, del messaggio … non apritelo ! In special modo se si tratta di congratulazioni varie, programmi divertenti o annunci di vincite fantastiche.
Attenzione ai programmi illegali.
Non voglio entrare nel merito di una guerra pro o contro i diritti del file-sharing. Tuttavia è bene sempre tenere presente un effetto collaterale non trascurabile legato alla sicurezza: i produttori di software in genere si “accorgono” delle copie installate illegalmente e, anche se difficilmente vi verranno a prendere a casa, potranno comunque tutelare i loro diritti impedendo, ad esempio, la corretta ricezione di patch di aggiornamento. Tutto ciò vi esporrebbe a potenziali rischi di infezione che possano sfruttare vulnerabilità non corrette del software. Per esempio è possibile reperire ed usare copie pirata di Windows XP ma vi riuscirà piuttosto difficile applicare i dovuti aggiornamenti.
Ragionate sulle pagine web che volete visitare.
Molte pagine di siti web possono contenere codice malevolo che viene scaricato a vostra insaputa semplicemente visitando il sito infetto. In passato il più brillante esempio di questa tecnica è stato quello dei dialers : piccole applicazioni che autonomamente, senza il consenso dell’utente (oppure facendo finta di averlo ottenuto), cambiavano il numero di telefono per le connessioni via modem facendovi allacciare a numerazioni dal costo esorbitante. Questo fenomeno si è pesantemente ridimensionato con l’avvento della banda larga e delle connessioni, sempre più frequenti, via router. Ciò nonostante vi sono siti che promettono, software gratis, musica gratis, pornografia gratis ecc nei quali è facilissimo (quasi sempre) trovare piccole applicazioni che si intrufolano nel computer a vostra insaputa.
Utilizzate un personal firewall.
I tempi in cui solo i programmi antivirus erano sufficienti sono lontani. Se disponete di una connessione ad internet (non importa se permanente o dial-up), un firewall è necessario. Molta parte delle infezioni si propagano grazie allo sfruttamento di connessioni di rete poco protette grazie anche alle vulnerabilità delle applicazioni che usiamo o del sistema operativo. I network worm, ad esempio, sfruttano il collegamento a servizi (es. RPC) non correttamente protetti e si installano in memoria senza scrivere (almeno non subito) file su disco: in questi casi un normale antivirus può fare poco perchè non è in grado di rilevare modifiche nel file system e non ci sono impronte virali da controllare.
Firme elettroniche e criptatura dei dati.
Eliminare totalmente il rischio dei virus non è possibile. La sicurezza totale non esiste nè nel mondo reale nè in quello cibernetico. Quello che possiamo fare è ridurre il rischio al minimo possibile compatibilmente con la tecnologia a nostra disposizione. L’utilizzo delle firme elettroniche sui file e della cifratura/criptatura dei dati costituisce un ottimo metodo di prevenzione su due fronti: da un lato consente di rilevare immediatamente qualsiasi modifica a dati importanti oltre che a certificare la provenienza di determinati messaggi. Dall’altro, nel caso in cui sul nostro pc si sia installato un virus che invia informazioni all’esterno, l’eventuale ricevente non autorizzato dei nostri file si ritroverebbe in mano solo una sequenza di byte senza senso e senza possibilità di una corretta lettura.
Informarsi sempre !
Combattere contro un nemico conosciuto è molto più facile che combattere contro l’ignoto. Cercate di mantenervi informati sull’evoluzione dei rischi informatici consultando le pagine tecniche dei produttori di software per la sicurezza o le recensioni degli esperti sulle riviste elettroniche specializzate. Troverete sempre risposte a molte domande come pure consigli pratici sul comportamento da tenere in specifiche situazioni. Scremate con criterio le informazioni : se ricevete una mail da un amico o un collega che annuncia la presenza di un mostruoso virus e che vi invita a inoltrare l’avviso a tutti i vostri contatti … siete in presenza di un allocco che è caduto in un hoax. Non fate la figura dei fessi anche voi.
Patch ! Patch ! Patch !
Non molti anni fa i produttori di software erano soliti dichiarare, orgogliosamente, che i loro prodotti erano perfetti e senza errori. Nonostante gli errori fossero comunque presenti, erano soliti attribuire la colpa ad altro : la vostra configurazione, un software in conflitto e questo e quello. Oggi le cose sono cambiate e i produttori di software ammettono di non essere a prova di errore soprattutto dopo aver realizzato che le loro certezze avrebbero potuto portarli alla rovina se avessero iniziato a perdere nelle cause di responsabilità che un numero sempre maggiore di utenti iniziava ad intentare. E’ piu’ ragionevole quindi ammettere le proprie colpe e rilasciare periodicamente delle pezze (patch) che sistemano gli errori che vengono scoperti di volta in volta. Se l’utente non vuole o non è in grado di ricevere queste pezze si espone automaticamente al rischio di essere attaccato attraverso quegli errori o vulnerabilità che mantiene sul suo computer. Per questo aggiornare il proprio software, specialmente il sistema operativo, è critico per qualsiasi utilizzatore.
Fate il backup dei dati!
Tante, troppe volte, quando un backup serve, non c’è. Per svogliatezza, perchè non si ha tempo, perchè “si tanto posso ricostruire i miei dati” ecc. Tutte scuse per non eseguire la più importante delle operazioni: la copia di sicurezza dei propri dati e programmi. Provate a immaginare quanto tempo impieghereste a riconfigurare un nuovo computer con tutto il vostro ambiente di lavoro. Ore ? Giorni ? Comunque tanto. Considerate che potreste dovervi trovare in questa situazione a causa di un virus che ha reso inservibile il sistema operativo o a causa di un hard-disk che ha ceduto di schianto. O forse solo perchè avete rovesciato la tazza del caffè sulla tastiera del portatile.
Se serve contattate un esperto.
Nel caso in cui un virus stia facendo danni nel vostro computer potrebbe sembrare logico chiamare l’amico che ha installato il pc. In realtà potreste trovarvi in due a spaccarvi la testa per cercare di risolvere il problema senza arrivare a nulla se non la famosa soluzione … “riformattiamo”. In realtà per rimuovere un virus è richiesta una certa esperienza, una discreta conoscenza e l’utilizzo degli strumenti appropriati. Improvvisare potrebbe fare più danni dell’infezione stessa.
Molto spesso vengo interpellato da clienti e amici che cercano una soluzione antivirus o anti-malware che sia efficace ed estremamente veloce e leggera per il computer, e tutte le volte devo deluderli perchè una tale soluzione non esiste. Anzi … andrà sempre peggio.
Il numero sempre crescente di infezioni per computer (meglio dire per Windows) obbliga i produttori di programmi antivirus a ficcare nel loro prodotto un numero sempre crescente di samples (o impronte virali) e ad affinare il proprio scanner in modo tale da poter intercettare un sempre crescente numero di possibili azioni dannose che possano rendere infetto il computer. E’ facile intuire che tanto più aumentano i controlli, tanto più il processore, la ram, l’hard disk del computer saranno impegnati a servire il programma antivirus piuttosto che svolgere rapidamente il lavoro che l’utente chiede. Frustrazione e cali di produttività sono inevitabili, fino a quando i nervi saltano e si mette mano al portafogli per acquistare un pc nuovo più potente. Ovvero … spendo dei soldi perchè dei programmi che fanno un lavoro pesantissimo e reso necessario non certo da persone per bene, hanno rallentato il vero lavoro che si fa con il computer e che il mio vecchio computer potrebbe continuare ad eseguire egregiamente.
Personalmente sono convinto che i recenti sistemi operativi (sic) impegnano oltre il 70% delle risorse del pc per fare cose assolutamente inutili (interfacce mirabolanti, effetti stupendi, animazioni per ogni dove ecc.) : se a questo ci si somma la fame dell’antivirus (che proprio inutile non è) si capisce bene come il pc, poverino, abbia ben poco tempo da dedicarci.
A questa situazione è difficile rimediare, o almeno lo è nel mercato dell’utenza domestica o personale dove, per ovvii motivi, ci si aspetta che il computer sia sicuro senza avere la minima conoscenza di come funzioni. In altre parole l’utente medio vorrebbe poter disporre della celeberrima botte piena e moglie ubriaca.
Ma con un poco di buona volontà e, soprattutto, con cognizione di causa, è possibile ridurre sensibilmente l’occupazione di risorse da parte del vostro antivirus risparmiando qualche soldo sull’acquisto di un nuovo pc. Vediamo come:
19
Gen
2009
Inserito da: Andrea Lanfranchi in: Mondo IT
A seguire la notizia dell’acquisizione di Sana Security da parte di AVG vediamo di capire un po’ meglio quale è e cosa implica la nuova tecnologia che verrà implementata da AVG.
Prima dell’avvento dei worm a rapida diffusione attraverso il web, la tecnologia base di tutti i software antivirus – quella basata sulle impronte virali – offriva una dubbia efficacia preventiva e proattiva contro la media dei virus per computer. In altre parole, in passato, i vendor di prodotti antivirus erano in grado di rilasciare database di impronte virali aggiornati per la maggior parte dei virus prima che questi potessero diffondersi in modo esteso. Questo a causa del fatto che i virus tradizionali si diffondevano ad una velocità limitata – solo quando gli utenti si scambiavano effettivamente dei file infetti – nell’ordine di giorni o di settimane. Di conseguenza, nella maggioranza dei casi, i programmi antivirus bloccavano l’infezione iniziale, salvaguardando buona parte dei computer dall’infezione ed evitando costosi e fastidiosi tempi di ripristino dei pc.
Oggi, al contrario, data l’estrema velocità con i quali worm e rischi di altra natura si sviluppano nella rete, le infezioni riescono a bypassare i tradizionali antivirus e riescono ad insediarsi all’interno dei computer ben prima che i produttori degli antivirus riescano a distribuire i dovuti aggiornamenti delle impronte virali che sarebbero in grado di individuarle. In questi casi ci si aspetta che il funzionamento dell’antivirus cambi : da strumento di protezione preventiva a strumento di pulizia (cosa che avviene con successo molto raramente).
Chiaramente i tradizionali antivirus sono meno efficaci contro queste infezioni a rapida diffusione. La domanda allora è : esiste una tecnologia che possa trasformare le tradizionali soluzioni antivirus dal desiderato ruolo di strumento di pulizia di nuovo ad un sistema di protezione preventiva. Verosimilmente la risposta è “si” e questa tecnologia si chiama blocco comportamentale (behaviroal blocking).
Impronte virali e analisi Euristica – Sono ancora efficaci ?
Come detto i tradizionali software antivirus rilevano il codice malevolo, cercando all’interno dei file sottoposti a scansione, centinaia di migliaia di possibili impronte virali. Ogni impronta virale è una breve sequenza di byte estratta dal corpo di uno specifico virus. Se viene trovata una determinata impronta virale l’intero contenuto del file viene segnalato come infetto. Tuttavia, dal momento che le impronte virali sono basate su sequenze di codice noto, questa tecnica non è assolutamente efficace nel rilevamento di virus nuovi/nuovissimi.
A differenza della ricerca di impronte virali, l’analisi euristica rileva le possibili infezioni tramite un’analisi generale della struttura del programma, delle istruzioni che contiene e di altri dati contenuti nel file. In questo modo la scansione euristica cerca di inquadrare le apparenti intenzioni del programma controllando la sua apparente logica di esecuzione. Questa tecnica è in grado di rilevare anche infezioni non ancora conosciute dal momento che effettua una ricerca di una logica sospetta piuttosto che di una sequenza di byte già conosciuta. Per cercare di individuare le infezioni più complesse, i moderni motori di scansione utilizzano spesso una tecnica di emulazione della CPU (anche nota come “sand-box”) in unione con la semplice ricerca di byte. Questi software, in pratica, eseguono una limitata emulazione del software sottoposto a scansione in un ridotto computer virtuale per cercare di portare alla luce una logica di esecuzione nascosta. Questa emulazione, tuttavia, è estremamente limitata (spesso meno di 1000 istruzioni vengono emulate) e il programma in esame in realtà non viene eseguito dalla vera CPU e non viene in contatto con file sensibili del sistema operativo.
Il grande vantaggio di queste due tecniche combinate (ricerca impronte e analisi euristica) è dato dal fatto che anche un tentativo di esecuzione del possibile programma infetto non mette a rischio il sistema operativo. Lo svantaggio, d’altro canto, è dovuto al fatto che, non potendo eseguire completamente il codice malevolo all’interno di un vero ambiente operativo per poter esaminare tutti gli effetti, ancora una volta le infezioni più recenti non possono essere validamente rilevate. Inoltre gli sviluppatori di worm sanno bene come nascondere la logica dei loro programmi inserendo cicli di istruzioni che possano confondere l’analisi euristica. E’ qui che entra in gioco il blocco comportamentale.
Blocco Comportamentale
A differenza dei tradizionali scanner antivirus, il blocco comportamentale si integra all’interno del sistema operativo del computer e tiene sotto costante controllo il comportamento dei programmi. In questo modo è possibile impedire o bloccare comportamenti non desiderati da parte di codice potenzialmente dannoso prima che queste azioni vengano effettivamente applicate e quindi prima che il sistema sia stato effettivamente infettato. Tra i comportamenti tenuti sotto controllo, solo a titolo di esempio, vi possono essere :
Se il software di blocco comportamentale rileva quello che potrebbe essere un comportamento dannoso per il computer non appena un programma viene eseguito, potrà bloccare immediatamente l’azione incriminata ed interrompere l’esecuzione del programma. Indubbiamente questo è un vantaggio rispetto alle tradizionali tecniche di ricerca delle impronte virali e di analisi euristica. Se da un lato esistono, infatti, miliardi di modi in cui è possibile riorganizzare o nascondere le istruzioni di un virus o di un worm, la gran parte delle quali può sfuggire alla ricerca di una impronta o all’analisi euristica, con il blocco comportamentale il virus è obbligato ad uscire, per così dire, allo scoperto, facendo richieste ben precise al sistema operativo per potersi attivare. In questo modo, dato che il blocco comportamentale è progettato proprio per intercettare questi tipi di richieste, il virus può essere individuato indipendentemente da quanto accorto sia stato il virus-writer nell’offuscare il suo codice o da quanto intricata e incomprensibile possa apparirne la logica.
Ci sono tuttavia degli inevitabili svantaggi nell’adozione di questa tecnica di protezione. L’efficienza del blocco comportamente implica che il software malevolo venga effettivamente eseguito sul computer e questo potrebbe comunque causare danni. Per esempio un virus potrebbe spargere un numero enorme di file apparentemente innocui nel computer prima di intraprendere un’azione che possa essere intercettata e considerata dannosa: in questo caso, anche se l’effettiva infezione è stata evitata, potrebbero verificarsi casi in cui l’utente non trovi più i suoi file causando perdita di produttività. Ecco perchè è sempre preferibile tentare di rilevare le possibili infezioni attraverso tutti e tre i metodi (impronte, euristica, comportamento) se possibile ed anche perchè la distribuzione di aggiornamenti di impronte virali non sparirà mai.
Un altro, intuibile, svantaggio è dato dal degrado delle performance del computer. La protezione in tempo reale dello scanner dovrà ora impegnare la CPU per un numero maggiore di cicli dal momento che le attività da eseguire saranno maggiori.
Sistemi basati su Policy e su Esperti
Gli esistenti sistemi di blocco comportamentale possono essere divisi in due categorie. Quelli basati su policy e quelli basati su esperti.
I primi consentono agli amministratori del computer (o della rete) di specificare delle policy di blocco di fatto indicando quali comportamenti sono considerati leciti e quali no. Ogni volta che un programma lancia una richiesta al sistema operativo ospite, il software di blocco comportamentale intercetta la richiesta, consulta la policy, e decide se bloccare o meno la richiesta. Per esempio una policy per le applet java potrebbe comportare le seguenti opzioni:
Descrizione Operazione | Bloccare ? |
---|---|
Consentire apertura file : | Si |
Consentire eliminazione file : | Si |
Consentire apertura connessioni di rete : | Si |
Consentire accesso a file nella directory system: | No |
Questi sistemi incontrano spesso il favore degli amministratori perchè la logica è trasparente e sono facili da gestire. Tuttavia questa impostazione presta il fianco a numerosi falsi positivi ed ha un impatto devastante sulla produttività dei client perchè blocca, in egual modo, sia le applet legittime che quelle malevole. Inoltre sono pochi gli amministratori che comprendono appieno l’implicazione di specifici blocchi, per esempio, d’accesso ai file di sistema: come può un amministratore conoscere quali e quanti programmi leciti possono accedere ai file di sistema e quali, invece, siano effettivi software malevoli ?
A differenza della tecnica basata su policy, la tecnica degli esperti utilizza modalità meno trasparenti. In questo ambito dei tecnici esperti hanno analizzato intere classi di codici malevoli ed analizzato il loro comportamento per poter definire quali siano i comportamenti da bloccare. In questo modo comportamenti potenzialmente dannosi possono essere consentiti in alcuni casi mentre in altri devono essere bloccati. Per esempio un esperto potrebbe sapere che l’80% dei codici malevoli cerca, come prima cosa, di modificare le voci di avvio automatico del registro prima di accedere ai file di sistema: di conseguenza è possibile definire un comportamento da bloccare quello che si verifica quando un codice tenta di accedere ai file di sistema dopo aver effettuato una modifica al registro. Una regola di questo tipo lascia meno spazio ai falsi positivi che potrebbero essere generati da programmi legittimi. D’altro canto l’amministratore di rete o del pc deve fare un atto di fede nell’accettare che le regole di blocco siano state effettivamente generate con criterio.
Obiettivi del blocco comportamentale
Durante la progettazione di un sistema di blocco comportamentale gli ingegneri devono considerare differenti tipi di regole per ogni tipo di codice malevolo che è possibile incontrare.
Blocco dei virus parassiti
I virus parassiti sono programmi che si auto-replicano attaccandosi ad altri programmi. Quando un programma infetto viene eseguito il virus prende il controllo e tenta di inserire le proprie istruzioni in un altro file eseguibile. In questi casi è necessario osservare le modifiche all’interno di un file eseguibile creando, ad esempio, delle regole di blocco per comportamenti che impediscano la modifica delle intestazioni dei file.
Blocco worm
I Worm si diffondono generalmente tramite e-mail, condivisioni di rete o altre vulnerabilità. Per bloccare questi tipi di infezioni il software di blocco comportamentale deve inserirsi tra il programma malevolo ed i possibili vettori di distribuzione. Possibili approcci sono dati dal blocco nell’utilizzo di API e-mail per inviare codice, dal blocco delle comunicazioni di rete per programmi sconosciuti e dal blocco delle condivisioni di rete per la copia di codice eseguibile su altri computer.
Blocco dei cavalli di Troia (trojans)
I trojan sono probabilmente i più difficili da bloccare senza generare falsi positivi perchè questi tipi di infezione non sono caratterizzati da comportamenti facilmente identificabili come i virus e i worm. Qui i possibili comportamenti da analizzare e da classificare come sospetti includono modifiche al registro di sistema, accessi anomali a documenti o altri dati (“perchè questo programma cerca di accedere a questo foglio elettronico ?”), blocco di programmi sconosciuti sulla rete ecc. Il problema è che queste operazioni sono anche caratteristiche di molti programmi leciti e quindi è estremamente difficile dividere i programmi malevoli da quelli che invece non hanno intenzioni dannose.
Quali miglioramenti ?
I sistemi di blocco comportamentale si propongono di offrire un ulteriore livello di controllo nella sicurezza dei computer. Ma perchè non hanno ancora un grande successo ?