Home > GNU/Linux, Virus e GNU/Linux > Perché non serve (quasi mai) un antivirus su GNU/Linux (parte 1)

Perché non serve (quasi mai) un antivirus su GNU/Linux (parte 1)

Molti si chiedono se serva, o meno un antivirus su GNU/Linux. Come primo post di questo blog, voglio spiegare bene la questione, anche perché in rete si trovano notizie discordanti e spesso fasulle. I produttori di antivirus è già da qualche anno che predicano la nascita di virus su GNU/Linux, ma non se ne sono visti. E i motivi sono tecnici e cercherò di spiegarli.

Prima di tutto, una definizione dei diversi tipi di virus, o meglio 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, 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 cui 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), gli adware (pubblicità indesiderate che compaiono sul desktop) e i keylogger, programmi che registrano l’attività dell’utente soprattutto al fine di scoprire le password e i numeri di carta di credito digitati. 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.

Bene, ma come agisce un malware?

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. Difatti gli antivirus mettono i file infetti in “quarantena”, ossia in una cartella controllata dove non possono più agire.
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.

Ed ora, ecco perché un antivirus è quasi sempre inutile.

1. I permessi

I sistemi operativi di tipo Unix hanno una rigida e complessa gestione dei permessi. Ogni utente, e quindi ogni programmi eseguito da tale utente, può fare con un file solo ciò che è consentito in base ai permessi che egli possiede. Si consulti la guida del comando 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.
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.
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.

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

2. 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. In teoria, se tutti conoscono il codice sorgente, chiunque può scoprirne le vulnerabilità e quindi sfruttarle con fini fraudolenti.
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.

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.

3. Rafforziamo i permessi

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 (sviluppato dalle forze armate statunitensi) e AppArmor (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/.

4. Unix e il malware

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 si nota che i malware aggiunti annualmente per i sistemi Unix supportati dal programma sono dell’ordine di qualche unità;

  • la pagina sui virus per Linux nella documentazione internazionale di Ubuntu, 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.

Nella prossima puntata vedremo le eccezioni, ovvero quando è utile avere un antivirus.

About these ads
  1. albelx
    12 luglio 2008 alle 18:09 | #1

    Hai fatto benissimo!!! Volevo proprio consigliarti di fare così!!!

  2. guiodic
    12 luglio 2008 alle 21:24 | #2

    Grazie :) Ma intendi il blog?

  3. sara
    13 luglio 2008 alle 2:18 | #3

    Ben fatto, indirizzerò qui tutti i miei nuovi adepti. :D

  4. guiodic
    13 luglio 2008 alle 13:57 | #4

    Grazie Sara, alla prossima puntata

  5. 13 luglio 2008 alle 17:33 | #5

    Molto interessante!

  6. albelx
    13 luglio 2008 alle 17:51 | #6

    si si…volevo dire che riportare questa guida in un blog è un’ottima idea!!!

  7. suarez
    18 luglio 2008 alle 9:56 | #7

    Sicuramente una domanda idiota…ma c’entra qualcosa il fatto che io accedo sempre da amministratore in ubuntu? secondo te (sempre se si può fare) ogni tanto è meglio cambiarla la password da amministratore?
    Grazie e complimenti per le tue guide che leggo con notevole interesse data la mia completa ignoranza del mondo linux!

  8. guiodic
    18 luglio 2008 alle 11:55 | #8

    @suarez: non sono sicuro di aver capito cosa vuoi dire… in che senso accedi da amministratore? Per accedere da amministratore devi mettere “root” come nome utente e poi la password dell’utente “root” che devi impostare (in ubuntu non è impostata).

  9. suarez
    18 luglio 2008 alle 12:23 | #9

    Hai risposto alla mia domanda…non accedo da amministratore! io accedo con il mio nome..non con root. però se scarico dei pacchetti che voglio installare mi viene chiesta la password che ho associato con il mio nome e posso installare quindi io devo creare una password per l’utente root giusto? Spero di essermi spiegata..

  10. guiodic
    18 luglio 2008 alle 12:52 | #10

    @suarez: no, perché ubuntu agisce in un modo un po’ diverso rispetto ad altre distribuzioni. Invece di avere uno o più utenti normali e poi uno root, ubuntu usa il comando “sudo” per far acquisire all’utente normali i privilegi di amministratore. Invece l’utente root è senza password, quindi in pratica disabilitato.
    In questo modo si evita di dover switchare tra un utente e l’altro e basta solo ricordare una password invece di 2.

  11. tonywhite
    18 luglio 2008 alle 18:49 | #11

    Ottimo argomento Guiodic!

  12. suarez
    19 luglio 2008 alle 10:45 | #12

    Grazie per la spiegazione Guiodic e per la pazienza dimostrata..ciao

  13. Alberto
    22 agosto 2008 alle 10:57 | #13

    Ottima spiegazione però io uso comunque un antivirus per il mio Ubuntu: non si sa mai…

  14. 22 agosto 2008 alle 15:00 | #14

    l’antivirus migliore al mondo è Buonsens 4.0 ;)

  15. 23 agosto 2008 alle 22:17 | #15

    Ciao,
    ti contatto qui perchè non trovo una pagina in cui contattarti o il tuo indirizzo email.
    Libero di cancellare il commento :)
    Volevo chiederti se ti interessava uno scambio link (nel blogroll) col mio blog (quello linkato dal nikname).
    Grazie,
    attendo risposte, preferibilmente per email.
    Dom

  16. 25 settembre 2008 alle 15:30 | #16

    Domanda forse idiote.. facciamo due:

    1) perchè microsoft non utilizza la stessa struttura dei permessi di GU/linux se questa comporta cosi tanti vantaggi

    2) Un virus è un eseguibile. L’eseguibile deve essere pensato,progettato, concepito per una determinata piattaforma.Il fatto che la piattaforma dello zio Bill sia ahinoi la più diffusa al mondo c’entra con il fatto che i virus per windoz siano molti più che quelli
    riscontrati per GNU/linux

    (spero di non aver detto cavolate)

  17. 6 ottobre 2008 alle 16:08 | #17

    Peppiniello:

    1) Perchè se microsoft utilizzasse la stessa tecnologia le multinazionali come Symantec, Mcafee, Kaspersky ecc andrebbero tutte in rovina dato che i loro antivirus non servirebbero più. Chi glielo spiega a wall street poi? :P Se microsoft deve fare sto cambiamento lo farà con moooooooolta calma e discrezione (leggi decine di anni)

    2) Ovvio, chi crea virus lo fa o per prendere il controllo di più computer possibili o per mettere alla prova le sua capacità di lamer. In entrambi i casi Windows è conveniente perchè creare un virus per windows è più facile, veloce e devastante :)

  18. senninha
    22 ottobre 2008 alle 19:55 | #18

    scusate ma mi consiglereste di mettere un antivurus sul mio Linux Linpus?
    grazie per l’aiuto

  19. Sara
    23 ottobre 2008 alle 1:23 | #19

    @senninha: hai letto l’articolo?

  20. _niki_
    28 novembre 2008 alle 3:01 | #20

    Ahahaha Gui, bellissima l’immagine del preservativo per il cavo di rete!! :D

  21. JONATHAN
    16 dicembre 2008 alle 12:18 | #21

    Volevo rispondere a Peppiniello…
    Microsoft non adotta la stessa rigida struttura a permessi di linux perchè è vincolata sul fatto della retrocompatibilità.
    Microsoft per quanto possibile cerca di mantenere la compatibilità del sistema operativo con i vecchi programmi al fine di tenersi stretta l’utenza.
    Se si mette a modificare tutta la gestione dei permessi secondo me non funziona nemmeno un programma per XP.

  22. 9 gennaio 2009 alle 10:34 | #22

    Ciao e complimenti per l’ottimo post. L’ho trovato molto interessante. Tra l’altro è un argomento che gli amici mi chiedono spesso mentre faccio loro il lavaggio del cervello convincendoli a passare a Linux, ed in particolare ad Ubuntu (la Canonical mi dovrebbe fare socio onarario per quanti utenti ho creato dal nulla :-P ).
    Guarda ho intenzione di riportare questo post sul mio sito. Il mio indirizzo è questo: http://www.erriko.it
    Già che ci sei, vienimi a trovare e fammi sapere cosa ne pensi :-)

  23. 12 febbraio 2009 alle 13:54 | #23

    Questo post è il più interessante che ho trovato in rete sull’argomento!!
    Veramente bravo!!

    Ho intenzione di linakare e riportare questo post sul mio blog:
    http://www.lorenzoraffio.com/blog

    Ancora complimenti!! :)

  24. clarintux
    6 marzo 2009 alle 11:06 | #24

    Bravo, complimenti vivissimi!!!
    Era proprio ciò che cercavo per dare forza alle mie dicussioni…
    Spesso si dice che Gnu/Linux è vulnerabile esattamente come Windows, solo che è meno bersagliato in quanto meno diffuso e, quindi, meno appetibile!
    Già si potrebbe controbattere che è appetibile e come….visto che la maggior parte dei server non sono Windows! Ma tralasciamo…
    Ovviamente, chi afferma che Linux è così vulnerabile…non ha la minima idea di cosa siano i permessi!!!

  25. 17 maggio 2009 alle 19:11 | #25

    Ottimo articolo complimenti! Ero proprio alla ricerca di quest’argomento.

  26. carlotux
    4 agosto 2009 alle 20:16 | #26

    fai dei blog bellissimi e professionali, gli articoli sono chiari e

    e istruttivi, complimenti sei un vero professionista si impara si

    impara molto dai tuoi blog.

  27. DEMA
    8 agosto 2009 alle 22:43 | #28

    Complimenti veramente esaustiva la tua disquisizione, sono passato da poco a UBUNTU e complimenti ai compilatori, sapevo che era inattaccabile, ma non il perchè, ora ho appreso e ti ringrazio, anzi grazie alla comunità, e penso che in molti migreremo, un saluto e ancora grazie.

  28. pillon
    24 agosto 2010 alle 22:05 | #29

    tempo fa’ su il sistema operativo di xp ,scaricai da internet un programma che era infetto,io non lo sapevo ,era un worm ,un verme!,piano piano a iniziato a mangiarmi tutto il pc ,prima la scheda madre ,poi la scheda video ,e il resto ,il verme divenne cosi grande e grosso,che tento persino di mangiarmi,!!..poi lo dovetti portare in un deposito di vecchi pc abbandonati ,e lo lasciai li a inghiottirsi di pc,poi vennero vermbusters,e lo acchiapparono ,fece una strage di pc quel verme…………

  29. kan3malato
    30 maggio 2011 alle 9:54 | #30

    Complimenti, finalmente non il solito “Linux non prende virus” davvero esaurtiva questa guida, you rock guy!!!! ;-)

  30. kan3malato
    30 maggio 2011 alle 9:55 | #31

    esaustiva* (sorry :-( )

  31. w ubuntu
    3 settembre 2011 alle 20:04 | #32

    GRAAAANNNNDDDEEEEEEE UBUNTUUUUUUU !!!!!!!
    UBUNTO FOREVER IN CULO ALLA MICROSOFTTTTTTTTT

  32. christian
    5 febbraio 2012 alle 21:57 | #33

    Interessante… La spiegazione e’ stata molto dettagliata
    I miei piu’ sentiti complimenti.
    grazie.

  33. strambo
    19 agosto 2012 alle 23:22 | #34

    Molto interessante, complimenti.

  34. Daredevil
    24 agosto 2012 alle 19:30 | #35

    Complimenti ottime informazioni.Grazie di esistere Linux…….

  35. 5 settembre 2012 alle 3:13 | #36

    I know this web page gives quality based articles or reviews and extra stuff, is there any other website which offers such data in quality?

  36. 26 settembre 2012 alle 23:44 | #37

    Since the admin of this site is working, no uncertainty very rapidly it will be famous, due to its
    quality contents.

  37. 5 ottobre 2012 alle 18:02 | #38

    Way cool! Some very valid points! I appreciate you penning this post and also
    the rest of the website is extremely good.

  38. 24 ottobre 2012 alle 3:43 | #39

    Nice post. I learn something new and challenging on sites I stumbleupon on a daily basis.

    It will always be helpful to read through articles from other
    writers and practice a little something from other web sites.

  39. 11 novembre 2012 alle 18:29 | #40

    Thank you for the auspicious writeup. It actually was once a leisure account it.
    Glance advanced to far brought agreeable from you! However, how can
    we keep up a correspondence?

  40. 23 novembre 2012 alle 4:01 | #41

    I read this post fully regarding the comparison of
    hottest and previous technologies, it’s amazing article.

  41. Kris
    9 dicembre 2012 alle 1:28 | #42

    Ma se per caso installo in buona fede un programma (worm, troian e.t.c.), quindi gli do tutti permessi come posso capirlo e protteggermi?

  42. 16 gennaio 2013 alle 12:53 | #43

    When I initially commented I clicked the “Notify me when new comments are added” checkbox and now each time a comment is added I
    get three e-mails with the same comment.
    Is there any way you can remove me from that service? Bless you!

  43. 23 gennaio 2013 alle 15:00 | #44

    When the laptop division went to Lenovo, as in the T61, the design and appearance declined.

    As Atlantis emerged from the blackness of space and into the blistering lights of the
    John F. ‘ The Rooneys are a great family who turned a football franchise into a traveling nation full of fans across the United States. you ask with softness coming back into your voice as you sit on the sand beside me. In doing so, it becomes the only potential choice for best gaming PC under 500 bucks in the desktop category. IMPORTANT NOTE: When shopping for a sound card, make sure you do not accidentally purcahse one that is “Low Profile. They will check into a purpose built sports complex 8 miles from the venue of their first match in Rustenburg. Most visitors on a trip to Munnar invariably end up at the Tata Tea Museum and gain some delightful insights into the process of tea making. Today, the company has over 1. We have witnessed this first hand in this business.

  44. 30 gennaio 2013 alle 2:01 | #45

    I comment whenever I especially enjoy a post on a site or I
    have something to valuable to contribute to the discussion.
    Usually it’s a result of the sincerness communicated in the article I browsed. And on this post Perché non serve (quasi mai) un antivirus su GNU/Linux (parte 1) Guiodic Blog. I was actually excited enough to post a leave a responsea response ;-) I actually do have a couple of questions for you if it’s allright.
    Could it be simply me or does it look like like some of the
    remarks appear like they are left by brain dead individuals?
    :-P And, if you are writing on additional online social sites, I’d like to follow you. Would you list every one of your community sites like your Facebook page, twitter feed, or linkedin profile?

  45. 12 febbraio 2013 alle 7:42 | #46

    Great info. Lucky me I found your site by chance (stumbleupon).
    I’ve saved it for later!

  46. 18 marzo 2013 alle 22:11 | #47

    “Perché non serve (quasi mai) un antivirus su GNU/Linux (parte 1)
    | Guiodic Blog” was a excellent blog. However, if it included more images it
    could be perhaps even a lot better. Cya ,Zachary

  47. 3 maggio 2013 alle 3:31 | #48

    There is another wrong notion running on the minds of the
    people that Goji berry means Wolfberry which is found in
    China. Anti-aging and improved Melatonin levels are other
    benefits of this juice. Along with the Goji
    berries natural weight loss properties, Goji Active also includes a specific natural ingredient to help with this.

  48. 20 maggio 2013 alle 20:48 | #49

    This is the right webpage for anyone who would like to understand this topic.

    You realize a whole lot its almost hard to argue with you (not
    that I personally would want to…HaHa). You certainly put a fresh spin on a subject that’s been written about for a long time. Wonderful stuff, just excellent!

  1. 14 luglio 2008 alle 3:30 | #1
  2. 17 luglio 2008 alle 1:57 | #2
  3. 16 agosto 2008 alle 17:00 | #3
  4. 21 gennaio 2009 alle 0:18 | #4
  5. 25 gennaio 2009 alle 21:16 | #5
  6. 12 febbraio 2009 alle 14:44 | #6
  7. 7 luglio 2009 alle 9:55 | #7
  8. 21 febbraio 2010 alle 22:19 | #8
  9. 21 febbraio 2010 alle 22:19 | #9
  10. 19 maggio 2010 alle 13:48 | #10
  11. 17 agosto 2010 alle 6:56 | #11
  12. 29 ottobre 2010 alle 8:42 | #12
  13. 29 ottobre 2010 alle 9:42 | #13
  14. 8 novembre 2010 alle 15:17 | #14
  15. 2 giugno 2011 alle 8:53 | #15

Lascia un Commento

Fill in your details below or click an icon to log in:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Connessione a %s...

Iscriviti

Ricevi al tuo indirizzo email tutti i nuovi post del sito.

Unisciti agli altri 643 follower

%d bloggers like this: