Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Sicurezza/Malware"
Differenze tra le versioni 1 e 32 (in 31 versioni)
Versione 1 del 02/04/2008 17.59.42
Dimensione: 4822
Autore: GuidoIodicex
Commento:
Versione 32 del 05/04/2008 13.41.25
Dimensione: 18325
Commento: typo
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
## page was renamed from Clamav
Linea 3: Linea 2:
[[BR]]
||<tablestyle="font-size: 18px; text-align: center; width:100%; background:red; margin: 0 0 0 0;" style="padding:0.5em;">'''ATTENZIONE! Questa è una pagina di prove tecniche, pertanto le informazioni qui riportate possono essere del tutto provvisorie e incomplete.'''||
Linea 6: Linea 7:
= Introduzione = = Vari tipi di malware =
Linea 8: Linea 9:
In generale, GNU/Linux è al riparo da problemi quali virus e spamming; diversi sono gli elementi che portano a questa conclusione:  * '''Virus''': un virus è un programma malevolo che usa un altro programma come veicolo di diffusione e replicazione, esattamente come fanno i virus biologici che usano le cellule per riprodursi. Un virus ha quindi bisogno di un altro programma da infettare.
Linea 10: Linea 11:
 * Unix (e tutte le sue varianti) è stato concepito come un sistema multiutente; la suddivisione tra normali utenti e root rappresenta di per sé una protezione contro la manipolazione delle parti più critiche del sistema, pertanto, un virus contratto da un normale utente avrà margini di infezione limitati.
 * GNU/Linux è particolarmente attento all' uso dell' hardware; il codice del virus non viene eseguito con la stessa facilità su ogni cpu.
 * limitata diffusione di questo sistema: se il virus non trova un numero sufficente di computer da infettare, la sua propagazione sarà necessariamente ridotta, tanto che il tasso di mortalità sarà più elevato del tasso di infezione, con il risultato che il virus si estinguerà.
 * '''Trojan''': un trojan (cavallo di Troia) è un programma che fa credere all'utente di essere utile, mascherandosi da qualcos'altro. Ad esempio alcuni trojan appaiono inizialmente come dei codec per la riproduzione di contenuti multimediali.
Linea 14: Linea 13:
''Si è, dunque, al sicuro su sistemi GNU/Linux?''[[BR]]
'''NO'''. In linea di principio non vi è nulla che renda GNU/Linux esente da virus, worm, trojan e simili: EFL, file binari del file system, daemon, etc, costituiscono tutti potenziali obbiettivi per eventuali virus.[[BR]]
Gli attuali sviluppi fanno apparire i pericoli per GNU/Linux sotto una luce nuova:
 * la sempre crescente diffusione di GNU/Linux in ambito commerciale e pubblico, rappresenta un incentivo per i cracker e prima o poi verrà sferrato qualche attacco spettacolare.
 * se la diffusione di GNU/Linux in ambito privato continuerà ad aumentare (terzo punto della lista suddetta viene a mancare), ci si dovrà aspettare sempre più attacchi, come nella realtà quotidiana di Windows.
 * '''Worm''': un worm (verme) è un programma malevolo che può riprodursi senza bisogno di farsi veicolare da un altro programma.
Linea 20: Linea 15:
= Clamav =  * '''Toolkit/Rootkit''': un toolkit può essere malevolo o no. Con lo stesso termine infatti si indicano sia programmi utili (come le librerie GTK) sia programmi malevoli. In questo secondo caso ci si riferisce a librerie che vanno a sostituirsi o affiancarsi a quelle di sistema o di programmi per procurare danni, contemporaneamente nascondendosi in modo da sfuggire all'attenzione dell'utente. Quando un toolkit coinvolge il kernel del sistema operativo (ad esempio come finto driver), si parla di '''rootkit'''. Di norma l'uso di questo malware è quello di installare una '''backdoor''' ("porta sul retro") attraverso l'attaccante può entrare nel sistema colpito e prelevarne i dati o addirittura prenderne il controllo.
Linea 22: Linea 17:
[http://www.clamav.net/ Clamav] nasce come risposta Open Source ai più che noti antivirus a pagamento. Rilasciato sotto licenza GPL, è in grado di eliminare già a livello dei server di posta o dei gateway, la notevole quantità di virus che oggigiorno prolifera sotto forma di allegati e-mail.  * '''Wabbit''': è un programma malevolo che non usa i servizi di rete o altri file o programmi per riprodursi. Un esempio è la '''fork bomb'''.
Linea 24: Linea 19:
Tra le caratteristiche principali:
 * la possibilità di effettuare la scansione di file e directory da linea di comando
 * la presenza di un daemon multi-thread molto veloce
 * un datadase che può essere aggiornato rapidamente con il supporto di firme digitali
 * una libreria C, per aggiungere la capacità di scansione dei virus, all' interno di altri prodotti
 * il supporto scansione archivi compressi `Rar`, `Zip`, `Gzip`, `Bzip2`, `Tar`, `MS OLE2`, `MS Cabinet`, `MS CHM`, `MS SZDD`
 * la gestione diretta di mbox, Maildir
 * il supporto per i file Portable Executable
 * '''Altri tipi di malware: '''altri tipi di malware si distinguono più per lo scopo che per le modalità di azione e diffusione di solito riconducibili alle categoria precedenti. Tra questi ricordiamo gli '''spyware''' (codice spia) e gli '''adware''' (pubblicità indesiderate che compaiono sul desktop). Inoltre la diffusione di formati di file che possono contenere codice anche se non sono programmi veri e propri (ad esempio i formati documenti che possono contenere macro o le pagine web che possono contenere javascript) ha portato alla nascita di '''macrovirus'''.
Linea 33: Linea 21:
= Installazione = = Come avvengono le infezioni =
Non è sufficiente che il malware entri a contatto con il sistema (ad esempio attraverso uno scambio di file, una e-mail o la visualizzazione di una pagina web), ma è necessario che entri in esecuzione. In base a questa banale considerazione molti antivirus mettono i file infetti in "quarantena", ossia in una cartella controllata dove non possono più agire.[[BR]]
Quando il malware entra in contatto con il sistema deve presentarsi uno dei seguenti casi affinché esso possa entrare in esecuzione:
 * una azione volontaria dell'utente mette in esecuzione il malware: questo è il caso dei trojan e di molti worm;
 * il malware entra in esecuzione anche in mancanza di una azione volontaria: in tal caso è stata sfruttata una "vulnerabilità".
Linea 35: Linea 27:
Digitare su un qualunque terminale: {{{
sudo apt-get install clamav
}}}
Una vulnerabilità è una falla di un programma che produce un comportamento non previsto dal programmatore o considerato (a torto) non pericoloso.
Linea 39: Linea 29:
Il seguente comando installerà il programma in versione ''applicativo standard''; il comportamento della applicazione dipende dalle opzioni della riga di comando. = I permessi =
I sistemi operativi di tipo Unix hanno una rigida e complessa gestione dei permessi. Ogni utente, e quindi ogni programmi che esegue, può fare con un file solo ciò che è consentito in base ai permessi che ha acquisito. Si consulti la guida del comando [:Sudo:sudo] per approfondire la logica dei permessi. Questo implica alcune conseguenze:
 * i programmi utente sono separati da quelli di amministrazione;
 * I programmi utente possono agire solo sulla home di quell'utente, non sui file di amministratore né su quelli di altri utenti;
 * i programmi per essere eseguiti devono avere lo speciale attributo di eseguibili.
Linea 41: Linea 35:
Esiste, inoltre, la possibilità di far funzionare il programma come ''daemon'' (più comoda per un uso orientato a e-mail server oppure se presenti più utenti contemporaneamente); in tal caso, digitare su un qualunque terminale: {{{
sudo apt-get install clamav-daemon
}}} la configurazione del programma avviene attraverso l' uso del file ''clamd.conf'' presente nella directory `/etc/clamav`.
In base a ciò, un malware che agisce a livello utente non può creare danni al sistema, ma può al limite cancellare o infettare solo i file appartenenti a quel determinato utente.[[BR]]
Di norma nessun sistema di tipo Unix installa i programmi, neppure i programmi utente , nella directory home dell'utente. Ciò, unito alla suddetta gestione dei permessi, mette al riparo il sistema dall'infezione da parte dei tradizionali virus che non trovano eseguibili a cui "attaccarsi". I '''worm''' non possono agire perché per farlo devono avere i permessi di esecuzione. I '''rootkit''' non possono installarsi autonomamente in quanto caricare un modulo/driver nel kernel richiede i permessi di amministrazione.[[BR]]
Ciò a meno di vulnerabilità del sistema. Infatti una vulnerabilità grave può permettere al malware di superare tali restrizioni e acquisire i permessi di amministratore.
Linea 45: Linea 39:
In entrambi i casi, comunque, le opzioni sono molto simili e ben documentate. ||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''Ciò è già accaduto per i sistemi di tipo Unix. Il primo worm della storia è nato proprio per Unix **link** sfruttando una vulnerabilità.'' ||
Linea 47: Linea 41:
Nel caso, ad esempio, del file ''clamd.conf'' basta editarlo per rendersi conto di come le opzioni siano intuitive e facilmente modificabili. L' abilitazione o disabilitazione di ogni singola funzionalità, avviene mediante l' inserimento del classico '''#''' prima del comando. Tutte le funzionalità esistenti, sono consultabili nel manuale: `man clamd.conf` = L'importanza di essere open source =
Un software open source, e quindi GNU/Linux, ha la caratteristica di avere il codice sorgente liberamente consultabile e modificabile. Questo apparentemente potrebbe rendere meno sicuro il sistema. Infatti, se tutti conoscono il codice sorgente, tutti possono scoprirne le vulnerabilità e quindi sfuttarle con fini fraudolenti.[[BR]]
Nella pratica, però, si realizza l'esatto opposto: proprio perché tutti possono scoprire facilmente le vulnerabilità, esse possono venire tempestivamente corrette. Molte vulnerabilità vengono infatti corrette ancora prima che possano essere sfruttate a danno del sistema.
Linea 49: Linea 45:
= Scansione = ||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''Per i motivi esposti navigare sul Web con un browser open source è più sicuro che navigare con uno proprietario e usare una suite per l'ufficio open source è più sicuro che usarne una proprietaria''. ||
Linea 51: Linea 47:
I comandi responsabili della scansione sono rispettivamente: = Prevenzione =
Sono stati adottati vari meccanismi preventivi per rafforzare la sicurezza del sistema come:
 * l'uso di chiavi di autenticazione per il software e i repository che assicurano la provenienza originale e sicura degli stessi;
 * la necessità, quando si esegue un programma nella directory corrente, di anteporre il suo percorso `./` in modo tale che un programma che abbia lo stesso nome di un comando comunemente usato, non possa essere per sbaglio eseguito al posto di tale comando (questa semplice precauzione ha stroncato la diffusione di worm come '''ls''');
 * ulteriori rafforzamenti del meccanismo dei permessi come '''SELinux''' **link** (sviluppato dalle forze armate statunitensi) e '''Apparmor''' **link** (sviluppato da Novell e presente in Ubuntu): tali sistemi creano i cosiddetti "contesti": ad esempio una pagina html creata nella home dell'utente, anche se trasferita nella directory di Apache `/var/www` non funzionerà in quanto nata in un contesto differente; un programma presente nella directory utente non verrà eseguito se trasferito in una directory di sistema come `/usr/bin/`.
Linea 53: Linea 53:
 * ''clamscan'' (eseguibile indipendente)
 * ''clamdscan'' (legato al daemon ''clamd'')
[[Anchor(Il_malware_nei_sistemi_Unix)]]
= Il malware nei sistemi Unix =
Per comprendere quanto i sistemi Unix siano sicuri è utile consultare alcune fonti:
Linea 56: Linea 57:
Per prendere visione di tutte le opzioni esistenti, consultare: `man clamscan` e `man clamdscan`.  * la pagina di uno dei programmi più noti, apprezzati e premiati nella lotta al malware '''chkrootkit'''. Questa elenca solo una decina di malware (sia rootkit che worm) in oltre 10 anni di sviluppo del programma. Alcuni di questi sono worm ormai desueti come il citato '''ls''', altri sono '''rootkit''' solo per alcuni sistemi Unix che quindi non coinvolgono gli altri sistemi della stessa famiglia (ad esempio un malware per Solaris non può agire su GNU/Linux o *BSD), altri ancora si riferiscono a determinate versioni del kernel di tali sistemi (infatti una volta corretta la vulnerabilità il malware è diventato innocuo). Sfogliando il changelog del programma **link** si nota che i malware aggiunti annualmente per i sistemi Unix supportati dal programma sono dell'ordine di qualche unità;
Linea 58: Linea 59:
Ecco alcuni esempi per clamscan:
 * per effettuare la scansione di tutti i file, directory e sotto directory presenti sul computer: {{{
clamscan -r /
}}}
 * per effettuare la scansione di tutti i file, cartelle e sottocartelle presenti nella /home: {{{
clamscan -r /home
}}}
 * la [https://help.ubuntu.com/community/Linuxvirus pagina sui virus di Ubuntu] nella documentazione internazione **link**, nella quale si illustrano i pochi malware conosciuti per Linux, la maggior parte dei quali nei fatti risulta innocua (perché, per esempio, necessità dei permessi di amministratore).
Linea 66: Linea 61:
I comandi per ''clamdscan'' non sono distanti dai precedenti; affinchè quest' ultimo funzioni correttamente bisogna però assicurarsi che il daemon ''clamd'' stia girando correttamente. Nella realtà il concetto di virus è praticamente sconosciuto nei sistemi di tipo Unix essendo i pochi finora scoperti non in grado di diffondersi efficacemente, perché necessiterebbero di entrare fraudolentemente in possesso dei permessi di amministratore.
 ||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''E' interessante sapere che OpenBSD **link**, un sistema di tipo Unix, ha avuto solo due falle di sicurezza remote in 10 anni di sviluppo.'' ||

= I virus di Windows =
I virus di Windows sono programmi scritti per un altro sistema operativo. Normalmente non possono agire su GNU/Linux (si consulti la [#nomifile sezione seguente] per conoscere le eccezioni a tale regola). Pertanto non ci si deve preoccupare se un file infetto viene a contatto con il sistema. Anche aprire i file `.doc` non è pericoloso perché OpenOffice non soffre delle stesse vulnerabilità dei concorrenti programmi proprietari.

[[Anchor(nomifile)]]
= Ho bisogno di un antivirus? =
Per le cose dette di norma non vi è alcun bisogno di antivirus su un sistema GNU/Linux. Infatti gli antivirus per GNU/Linux sono in realtà antivirus contro il malware di Windows. Tuttavia in alcune situazioni un antivirus è consigliato:
 * il proprio sistema è un server di posta a cui si collegano client Windows; in tal caso per proteggere questi ultimi si consiglia l'installazione sul server di [:Sicurezza/Clamav:ClamAv];
 * si condividono e scambiano file con utenti Windows e si vuole essere cortesi e non procurare infezioni a tali utenti; l'alternativa è utilizzare formati di scambio dati che non possano trasportare malware o che abbiano un rischio ridotto, come ad esempio `.odf` (formato di OpenOffice), `.rtf` e `.txt` per i testi;
 * si condividono con utenti windows dei file tramite '''Samba''', ftp o altro sistema: valgono le stesse considerazioni del punto precedente;
 * si ha il dual-boot sul sistema ma non un antivirus su Windows, l'antivirus è scaduto o troppo datato oppure si deve usare un antivirus per ripulire la partizione dove risiede Windows senza avviarlo; in ogni caso è preferibile aggiornare l'antivirus di Windows;
 * si usa spesso [:Emulatori/Wine:Wine] e programmi per Windows. '''Wine''' può infatti eseguire dei virus che possono potenzialmente danneggiare lo stesso Wine e la direcotry dell'utente.

= Precauzioni da parte dell'utente =
La sicurezza di un sistema dipende non solo dalla robustezza dello stesso, ma dai comportamenti dell'utente. Nessun sistema è sicuro se l'utente compie azioni che lo mettono a rischio. Ecco alcuni utili consigli:

 * non installare programmi né dare permessi di esecuzione ad un file o eseguirlo tramite il comando '''sh''' se non si è certi della sua provenienza e affidabilità;
 * preferire i repository che possiedano una chiave di autenticazione GPG;
 * se disponibile, controllare che l'md5sum **link** corrisponda a quello dichiarato sul sito del programma o file che si è scaricato;
 * navigare preferibilmente con un browser open source aggiornato all'ultima versione disponibile, usare preferibilmente programmi open source e nativi per il sistema, anch'essi aggiornati;
 * evitare di usare '''Internet Explorer''' con '''Wine''' tramite '''Ie4Linux''' a meno che non sia assolutamente necessario per verificare il funzionamento di proprie pagine web; in tal caso comunque preferire la visualizzazione di pagine locali;
 * '''non eseguire mai Wine come utente root''': in tal caso si lascerebbe all'eventuale malware accesso alle direcotry di sistema;
 * '''eseguire sempre gli aggiornamenti di sicurezza del sistema operativo''': in Ubuntu è possibile accettarli in maniera predefinita tramite il gestore aggiornament; questa è la principale precauzione che mette al riparo dai malware: Ubuntu e Debian hanno infatti una gestione molto efficiente dei problemi di sicurezza;
 * non usare distribuzioni per le quali sia scaduto il supporto di sicurezza;
 * consultare la guida sui firewall **link** per scoprire '''se si ha bisogno di configurare''' '''netfilter''' (il firewall integrato nel kernel Linux);
 * usare cautela quando si è in possesso dei permessi di amministratore (tramite sudo, su, gksudo o kdesu);
 * '''non entrare nel sistema come root''' e possibilmente non attivare affatto l'utente root; nel caso sia neccessario, evitare comunque di nagivare sul web, di scaricare posta e comunque di usare programmi che interagiscono con la rete. Anche se è comunque difficile essere colpiti da malware in queste circostanze, se tutti non applicassero tale precauzione si renderebbe più facile il compito ai cracker aprendo loro le difese del sistema;
 * '''non essere paranoici''': chi viene da sistemi Windows è abituato a blindare tutto e avere paura; è portato ad attribuire qualsiasi malfunzionamento a qualche ignoto virus; ma GNU/Linux non è Windows: ''take it easy''.

||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''I consigli riportati sopra vanno presi come tali. Non è necessario affrettarsi a installare l'ultima versione disponibile di Firefox dal sito di Mozilla: se contiene correzioni di sicurezza significative, verrà segnalata tra gli aggiornamenti della distribuzione in breve tempo.'' ||

= Ma allora perché tanta attenzione alla sicurezza di GNU/Linux? =
Una domanda che spesso ci si pone è questa: perché, se il sistema operativo è così sicuro, ci sono moltissime guide sulla sicurezza per i sistemi GNU/Linux?[[BR]]
Ecco alcuni dei principali motivi:

 * GNU/Linux è usato in modo massiccio sui server: questo richiede forti misure di sicurezza per evitare di infettare client Windows o anche solo per evitare che un qualsiasi problema di sicurezza (non necessariamente un malware) possa rendere il sistema non disponibile anche per pochi minuti o compromettere le informazioni in esso contenute; si pensi a proposito ai server di una banca;
 * molti programmatori su GNU/Linux sono specializzati nello scovare ogni vulnerabilità e correggerla; scoprire una falla e correggerla porta immediatamente alla notorietà, spesso più che scrivere un buon programma;
 * c'è una generale tendenza a voler mantenere la buona fama di GNU/Linux e dei sistemi di tipo Unix in generale in materia di sicurezza e le aziende che producono tali sistemi hanno quindi una attenzione particolare a questo tema;
 * su un sistema girano molti programmi: spesso i problemi di sicurezza sono più legati a questi programmi (si pensi ad '''Apache''' e '''Firefox''', oggetto di forti attacchi da parte degli autori di malware) che al sistema in sè, anche se GNU/Linux offre una solida base per evitare gran parte dei problemi.

= Falsi miti =
Molti produttori di antivirus sostengono che la crescente diffusione sui sistemi desktop di GNU/Linux accrescerà l'insicurezza del sistema, portando alla nascita di malware e in particolare di virus. Se si è compreso quanto detto in precedenza, si è già in grado di rispondere negativamente a tale affermazione. Difatti le banali regole già richiamate sono più che sufficienti a mettersi al riparo dai problemi di sicurezza legati al malware.[[BR]]
Inoltre ci sono considerazioni legate all'esperienza che vanno ugualmente tenute in considerazione:

 * non è vero che GNU/Linux non è diffuso: questo sistema è contenuto praticamente in tutti i ''router'' e altri dispositivi di rete e pilota circa la metà dei server Internet: un virus per GNU/Linux che fosse davvero efficace potrebbe potenzialmente bloccare l'intero mondo industrializzato;
 * tale sistema è largamente usato anche al di là del settore server: telefonini (alcuni modelli Nokia, i prossimi cellulari basati di Android di Google, in Neo1979, etc.), molti mediacenter (Dreambox, TiVo), persino automobili, ed è molto più diffuso sui desktop di quanto comunemente si pensi; il rilascio di driver per GNU/Linux da parte dei principali produttori di hardware (si pensi ad Intel, Nvidia, Ati, Hp, Samsung, Dell, etc.) ne è la conferma;
 * un altro sistema di tipo Unix ha già una diffusione larghissima sui desktop: Mac Os X; nonostante ciò il malware su tale sistema in sostanza è quasi inesistente e alcuni annunci clamorosi del passato si sono rivelati eccessivi se non falsi;
 * Unix esiste da quasi 40 anni; in tale lunghissima storia è rimasto il sistema più sicuro (si veda la [#Il_malware_nei_sistemi_Unix sezione precedente]);
 * GNU/Linux è già uno dei bersagli preferiti da ''cracker'' per i suddetti motivi; non c'è quindi bisogno di aspettare per verificare la sicurezza di tale sistema;
 * molti programmi open source sono multipiattaforma (come '''Firefox''' e '''Apache''') e sono diffusissimi su sistemi chiusi, ma hanno già dimostrato i vantaggi in termini di sicurezza rispetto alle controparti proprietarie, pur non essendo immuni da vulnerabilità.

= Conclusioni =
GNU/Linux è sicuro al 100%? No. Nessun sistema operativo e nessun software può esserlo. Ma tenendo il sistema aggiornato e seguendo i consigli della presente guida si può essere già al riparo dai virus.
Linea 70: Linea 119:
 * [https://help.ubuntu.com/community/ClamAV ClamAV] nel wiki internazionale.  * [http://www.chkrootkit.org/ Chkrootkit]
* [https://help.ubuntu.com/community/Linuxvirus Linuxvirus] nel wiki internazionale
Linea 73: Linea 123:
CategorySicurezza CategoryDaRevisionare CategoryHomepage

BR

ATTENZIONE! Questa è una pagina di prove tecniche, pertanto le informazioni qui riportate possono essere del tutto provvisorie e incomplete.

BR

Vari tipi di malware

  • Virus: un virus è un programma malevolo che usa un altro programma come veicolo di diffusione e replicazione, esattamente come fanno i virus biologici che usano le cellule per riprodursi. Un virus ha quindi bisogno di un altro programma da infettare.

  • Trojan: un trojan (cavallo di Troia) è un programma che fa credere all'utente di essere utile, mascherandosi da qualcos'altro. Ad esempio alcuni trojan appaiono inizialmente come dei codec per la riproduzione di contenuti multimediali.

  • Worm: un worm (verme) è un programma malevolo che può riprodursi senza bisogno di farsi veicolare da un altro programma.

  • Toolkit/Rootkit: un toolkit può essere malevolo o no. Con lo stesso termine infatti si indicano sia programmi utili (come le librerie GTK) sia programmi malevoli. In questo secondo caso ci si riferisce a librerie che vanno a sostituirsi o affiancarsi a quelle di sistema o di programmi per procurare danni, contemporaneamente nascondendosi in modo da sfuggire all'attenzione dell'utente. Quando un toolkit coinvolge il kernel del sistema operativo (ad esempio come finto driver), si parla di rootkit. Di norma l'uso di questo malware è quello di installare una backdoor ("porta sul retro") attraverso l'attaccante può entrare nel sistema colpito e prelevarne i dati o addirittura prenderne il controllo.

  • Wabbit: è un programma malevolo che non usa i servizi di rete o altri file o programmi per riprodursi. Un esempio è la fork bomb.

  • Altri tipi di malware: altri tipi di malware si distinguono più per lo scopo che per le modalità di azione e diffusione di solito riconducibili alle categoria precedenti. Tra questi ricordiamo gli spyware (codice spia) e gli adware (pubblicità indesiderate che compaiono sul desktop). Inoltre la diffusione di formati di file che possono contenere codice anche se non sono programmi veri e propri (ad esempio i formati documenti che possono contenere macro o le pagine web che possono contenere javascript) ha portato alla nascita di macrovirus.

Come avvengono le infezioni

Non è sufficiente che il malware entri a contatto con il sistema (ad esempio attraverso uno scambio di file, una e-mail o la visualizzazione di una pagina web), ma è necessario che entri in esecuzione. In base a questa banale considerazione molti antivirus mettono i file infetti in "quarantena", ossia in una cartella controllata dove non possono più agire.BR Quando il malware entra in contatto con il sistema deve presentarsi uno dei seguenti casi affinché esso possa entrare in esecuzione:

  • una azione volontaria dell'utente mette in esecuzione il malware: questo è il caso dei trojan e di molti worm;
  • il malware entra in esecuzione anche in mancanza di una azione volontaria: in tal caso è stata sfruttata una "vulnerabilità".

Una vulnerabilità è una falla di un programma che produce un comportamento non previsto dal programmatore o considerato (a torto) non pericoloso.

I permessi

I sistemi operativi di tipo Unix hanno una rigida e complessa gestione dei permessi. Ogni utente, e quindi ogni programmi che esegue, può fare con un file solo ciò che è consentito in base ai permessi che ha acquisito. Si consulti la guida del comando [:Sudo:sudo] per approfondire la logica dei permessi. Questo implica alcune conseguenze:

  • i programmi utente sono separati da quelli di amministrazione;
  • I programmi utente possono agire solo sulla home di quell'utente, non sui file di amministratore né su quelli di altri utenti;
  • i programmi per essere eseguiti devono avere lo speciale attributo di eseguibili.

In base a ciò, un malware che agisce a livello utente non può creare danni al sistema, ma può al limite cancellare o infettare solo i file appartenenti a quel determinato utente.BR Di norma nessun sistema di tipo Unix installa i programmi, neppure i programmi utente , nella directory home dell'utente. Ciò, unito alla suddetta gestione dei permessi, mette al riparo il sistema dall'infezione da parte dei tradizionali virus che non trovano eseguibili a cui "attaccarsi". I worm non possono agire perché per farlo devono avere i permessi di esecuzione. I rootkit non possono installarsi autonomamente in quanto caricare un modulo/driver nel kernel richiede i permessi di amministrazione.BR Ciò a meno di vulnerabilità del sistema. Infatti una vulnerabilità grave può permettere al malware di superare tali restrizioni e acquisire i permessi di amministratore.

Immagine(Icone/Piccole/note.png,,center)

Ciò è già accaduto per i sistemi di tipo Unix. Il primo worm della storia è nato proprio per Unix **link** sfruttando una vulnerabilità.

L'importanza di essere open source

Un software open source, e quindi GNU/Linux, ha la caratteristica di avere il codice sorgente liberamente consultabile e modificabile. Questo apparentemente potrebbe rendere meno sicuro il sistema. Infatti, se tutti conoscono il codice sorgente, tutti possono scoprirne le vulnerabilità e quindi sfuttarle con fini fraudolenti.BR Nella pratica, però, si realizza l'esatto opposto: proprio perché tutti possono scoprire facilmente le vulnerabilità, esse possono venire tempestivamente corrette. Molte vulnerabilità vengono infatti corrette ancora prima che possano essere sfruttate a danno del sistema.

Immagine(Icone/Piccole/note.png,,center)

Per i motivi esposti navigare sul Web con un browser open source è più sicuro che navigare con uno proprietario e usare una suite per l'ufficio open source è più sicuro che usarne una proprietaria.

Prevenzione

Sono stati adottati vari meccanismi preventivi per rafforzare la sicurezza del sistema come:

  • l'uso di chiavi di autenticazione per il software e i repository che assicurano la provenienza originale e sicura degli stessi;
  • la necessità, quando si esegue un programma nella directory corrente, di anteporre il suo percorso ./ in modo tale che un programma che abbia lo stesso nome di un comando comunemente usato, non possa essere per sbaglio eseguito al posto di tale comando (questa semplice precauzione ha stroncato la diffusione di worm come ls);

  • ulteriori rafforzamenti del meccanismo dei permessi come SELinux **link** (sviluppato dalle forze armate statunitensi) e Apparmor **link** (sviluppato da Novell e presente in Ubuntu): tali sistemi creano i cosiddetti "contesti": ad esempio una pagina html creata nella home dell'utente, anche se trasferita nella directory di Apache /var/www non funzionerà in quanto nata in un contesto differente; un programma presente nella directory utente non verrà eseguito se trasferito in una directory di sistema come /usr/bin/.

Anchor(Il_malware_nei_sistemi_Unix)

Il malware nei sistemi Unix

Per comprendere quanto i sistemi Unix siano sicuri è utile consultare alcune fonti:

  • la pagina di uno dei programmi più noti, apprezzati e premiati nella lotta al malware chkrootkit. Questa elenca solo una decina di malware (sia rootkit che worm) in oltre 10 anni di sviluppo del programma. Alcuni di questi sono worm ormai desueti come il citato ls, altri sono rootkit solo per alcuni sistemi Unix che quindi non coinvolgono gli altri sistemi della stessa famiglia (ad esempio un malware per Solaris non può agire su GNU/Linux o *BSD), altri ancora si riferiscono a determinate versioni del kernel di tali sistemi (infatti una volta corretta la vulnerabilità il malware è diventato innocuo). Sfogliando il changelog del programma **link** si nota che i malware aggiunti annualmente per i sistemi Unix supportati dal programma sono dell'ordine di qualche unità;

  • la [https://help.ubuntu.com/community/Linuxvirus pagina sui virus di Ubuntu] nella documentazione internazione **link**, nella quale si illustrano i pochi malware conosciuti per Linux, la maggior parte dei quali nei fatti risulta innocua (perché, per esempio, necessità dei permessi di amministratore).

Nella realtà il concetto di virus è praticamente sconosciuto nei sistemi di tipo Unix essendo i pochi finora scoperti non in grado di diffondersi efficacemente, perché necessiterebbero di entrare fraudolentemente in possesso dei permessi di amministratore.

I virus di Windows

I virus di Windows sono programmi scritti per un altro sistema operativo. Normalmente non possono agire su GNU/Linux (si consulti la [#nomifile sezione seguente] per conoscere le eccezioni a tale regola). Pertanto non ci si deve preoccupare se un file infetto viene a contatto con il sistema. Anche aprire i file .doc non è pericoloso perché OpenOffice non soffre delle stesse vulnerabilità dei concorrenti programmi proprietari.

Anchor(nomifile)

Ho bisogno di un antivirus?

Per le cose dette di norma non vi è alcun bisogno di antivirus su un sistema GNU/Linux. Infatti gli antivirus per GNU/Linux sono in realtà antivirus contro il malware di Windows. Tuttavia in alcune situazioni un antivirus è consigliato:

  • il proprio sistema è un server di posta a cui si collegano client Windows; in tal caso per proteggere questi ultimi si consiglia l'installazione sul server di [:Sicurezza/Clamav:ClamAv];

  • si condividono e scambiano file con utenti Windows e si vuole essere cortesi e non procurare infezioni a tali utenti; l'alternativa è utilizzare formati di scambio dati che non possano trasportare malware o che abbiano un rischio ridotto, come ad esempio .odf (formato di OpenOffice), .rtf e .txt per i testi;

  • si condividono con utenti windows dei file tramite Samba, ftp o altro sistema: valgono le stesse considerazioni del punto precedente;

  • si ha il dual-boot sul sistema ma non un antivirus su Windows, l'antivirus è scaduto o troppo datato oppure si deve usare un antivirus per ripulire la partizione dove risiede Windows senza avviarlo; in ogni caso è preferibile aggiornare l'antivirus di Windows;
  • si usa spesso [:Emulatori/Wine:Wine] e programmi per Windows. Wine può infatti eseguire dei virus che possono potenzialmente danneggiare lo stesso Wine e la direcotry dell'utente.

Precauzioni da parte dell'utente

La sicurezza di un sistema dipende non solo dalla robustezza dello stesso, ma dai comportamenti dell'utente. Nessun sistema è sicuro se l'utente compie azioni che lo mettono a rischio. Ecco alcuni utili consigli:

  • non installare programmi né dare permessi di esecuzione ad un file o eseguirlo tramite il comando sh se non si è certi della sua provenienza e affidabilità;

  • preferire i repository che possiedano una chiave di autenticazione GPG;
  • se disponibile, controllare che l'md5sum **link** corrisponda a quello dichiarato sul sito del programma o file che si è scaricato;
  • navigare preferibilmente con un browser open source aggiornato all'ultima versione disponibile, usare preferibilmente programmi open source e nativi per il sistema, anch'essi aggiornati;
  • evitare di usare Internet Explorer con Wine tramite Ie4Linux a meno che non sia assolutamente necessario per verificare il funzionamento di proprie pagine web; in tal caso comunque preferire la visualizzazione di pagine locali;

  • non eseguire mai Wine come utente root: in tal caso si lascerebbe all'eventuale malware accesso alle direcotry di sistema;

  • eseguire sempre gli aggiornamenti di sicurezza del sistema operativo: in Ubuntu è possibile accettarli in maniera predefinita tramite il gestore aggiornament; questa è la principale precauzione che mette al riparo dai malware: Ubuntu e Debian hanno infatti una gestione molto efficiente dei problemi di sicurezza;

  • non usare distribuzioni per le quali sia scaduto il supporto di sicurezza;
  • consultare la guida sui firewall **link** per scoprire se si ha bisogno di configurare netfilter (il firewall integrato nel kernel Linux);

  • usare cautela quando si è in possesso dei permessi di amministratore (tramite sudo, su, gksudo o kdesu);
  • non entrare nel sistema come root e possibilmente non attivare affatto l'utente root; nel caso sia neccessario, evitare comunque di nagivare sul web, di scaricare posta e comunque di usare programmi che interagiscono con la rete. Anche se è comunque difficile essere colpiti da malware in queste circostanze, se tutti non applicassero tale precauzione si renderebbe più facile il compito ai cracker aprendo loro le difese del sistema;

  • non essere paranoici: chi viene da sistemi Windows è abituato a blindare tutto e avere paura; è portato ad attribuire qualsiasi malfunzionamento a qualche ignoto virus; ma GNU/Linux non è Windows: take it easy.

Immagine(Icone/Piccole/note.png,,center)

I consigli riportati sopra vanno presi come tali. Non è necessario affrettarsi a installare l'ultima versione disponibile di Firefox dal sito di Mozilla: se contiene correzioni di sicurezza significative, verrà segnalata tra gli aggiornamenti della distribuzione in breve tempo.

Ma allora perché tanta attenzione alla sicurezza di GNU/Linux?

Una domanda che spesso ci si pone è questa: perché, se il sistema operativo è così sicuro, ci sono moltissime guide sulla sicurezza per i sistemi GNU/Linux?BR Ecco alcuni dei principali motivi:

  • GNU/Linux è usato in modo massiccio sui server: questo richiede forti misure di sicurezza per evitare di infettare client Windows o anche solo per evitare che un qualsiasi problema di sicurezza (non necessariamente un malware) possa rendere il sistema non disponibile anche per pochi minuti o compromettere le informazioni in esso contenute; si pensi a proposito ai server di una banca;
  • molti programmatori su GNU/Linux sono specializzati nello scovare ogni vulnerabilità e correggerla; scoprire una falla e correggerla porta immediatamente alla notorietà, spesso più che scrivere un buon programma;
  • c'è una generale tendenza a voler mantenere la buona fama di GNU/Linux e dei sistemi di tipo Unix in generale in materia di sicurezza e le aziende che producono tali sistemi hanno quindi una attenzione particolare a questo tema;
  • su un sistema girano molti programmi: spesso i problemi di sicurezza sono più legati a questi programmi (si pensi ad Apache e Firefox, oggetto di forti attacchi da parte degli autori di malware) che al sistema in sè, anche se GNU/Linux offre una solida base per evitare gran parte dei problemi.

Falsi miti

Molti produttori di antivirus sostengono che la crescente diffusione sui sistemi desktop di GNU/Linux accrescerà l'insicurezza del sistema, portando alla nascita di malware e in particolare di virus. Se si è compreso quanto detto in precedenza, si è già in grado di rispondere negativamente a tale affermazione. Difatti le banali regole già richiamate sono più che sufficienti a mettersi al riparo dai problemi di sicurezza legati al malware.BR Inoltre ci sono considerazioni legate all'esperienza che vanno ugualmente tenute in considerazione:

  • non è vero che GNU/Linux non è diffuso: questo sistema è contenuto praticamente in tutti i router e altri dispositivi di rete e pilota circa la metà dei server Internet: un virus per GNU/Linux che fosse davvero efficace potrebbe potenzialmente bloccare l'intero mondo industrializzato;

  • tale sistema è largamente usato anche al di là del settore server: telefonini (alcuni modelli Nokia, i prossimi cellulari basati di Android di Google, in Neo1979, etc.), molti mediacenter (Dreambox, TiVo), persino automobili, ed è molto più diffuso sui desktop di quanto comunemente si pensi; il rilascio di driver per GNU/Linux da parte dei principali produttori di hardware (si pensi ad Intel, Nvidia, Ati, Hp, Samsung, Dell, etc.) ne è la conferma;

  • un altro sistema di tipo Unix ha già una diffusione larghissima sui desktop: Mac Os X; nonostante ciò il malware su tale sistema in sostanza è quasi inesistente e alcuni annunci clamorosi del passato si sono rivelati eccessivi se non falsi;
  • Unix esiste da quasi 40 anni; in tale lunghissima storia è rimasto il sistema più sicuro (si veda la [#Il_malware_nei_sistemi_Unix sezione precedente]);
  • GNU/Linux è già uno dei bersagli preferiti da cracker per i suddetti motivi; non c'è quindi bisogno di aspettare per verificare la sicurezza di tale sistema;

  • molti programmi open source sono multipiattaforma (come Firefox e Apache) e sono diffusissimi su sistemi chiusi, ma hanno già dimostrato i vantaggi in termini di sicurezza rispetto alle controparti proprietarie, pur non essendo immuni da vulnerabilità.

Conclusioni

GNU/Linux è sicuro al 100%? No. Nessun sistema operativo e nessun software può esserlo. Ma tenendo il sistema aggiornato e seguendo i consigli della presente guida si può essere già al riparo dai virus.

Ulteriori risorse


CategoryHomepage