linux user group brescia

immagine del castello

Archivio della mailing list

Virii e linux

Luca Giuzzi l.giuzzi a dmf.bs.unicatt.it
Dom 7 Mar 1999 00:33:09 UTC
Il prodotto cui il mail precedente fa riferimento \'e un virus-scanner per 
 files eseguibili/attachment orientati agli ambienti micro$oft. Talvolta pu\'o
 essere comodo avere scanners di questo genere in funzione su di un server
 che non corre il rischio di essere infettato... (ad esempio il virusscan
 della McAfee \'e disponibile da almeno un annetto per linux...).
Tecnicamente un virus \'e scrivibile per qualsiasi sistema operativo -linux
 incluso- e alcune funzionalit\'a di unix lo rendono pi\'u esposto a
 determinati tipi d'attacco rispetto sistemi concorrenti (mai provato a
 fare un telnet su di un server Windows NT? Anche conoscendo la password di
 amministratore di sistema risulta -in configurazioni standard- alquanto
 difficoltoso fare un login!!).

La cosa essenziale in uno unix \'e la differeziazione dei contesti di esecuzione
 e dei livelli di privilegio. Il tipico caso di attacco (anche automatico,
 non necessariamente perpetrato in modo interattivo) prevede due fasi:
1. ottenere un login su di una macchina remota;
2. ottenere i privilegi di super-user e infettare altre macchine.

Queste cose vengono realizzate solitamente con tecniche del tipo `stack smashing',
 cio\'e fornendo ad alcuni programmi scritti in modo non troppo attento
 stringhe di parametri di lunghezza superiore al previsto che contengono codice
 eseguibile... la cosa pu\'o sembrare strana e/o difficile, ma in realt\'a
 viene fatta quasi quotidianamente... una lettura di bugtraq (si veda
 http://www.netspace.org) pu\'o essere illuminante per chi si interessa di
 problemi di sicurezza!

Tornando alla faccenda virii... in uno unix un virus risulta solitamente 
 limitato all'utente che ha ``contratto l'infezione'' e solitamente non \'e
 in grado di compromettere la sicurezza globale del sistema. Ovviamente se 
 l'utente \'e root la cosa cambia un poco... come pure cambia se il virus in
 oggetto \'e espressamente disegnato per sfruttare vulnerabilit\'a poco note
 del sistema operativo (ma solitamente queste vulnerabilit\'a vengono 
 individuate abbastanza rapidamente e, avendo il codice sorgente, vengono pure
 risolte...) La cosa positiva \'e, se si vuole metterla cos\'i, che mentre 
 sotto dos/window$ l'unica cosa un programma pu\'o fare \'e cancellare files,
 sotto unix la gente cerca tutt'al pi\'u di impadronirsi del controllo di un
 sistema piuttosto che semplicemente danneggiarlo, e questo richiede tecniche
 pi\'u sofisticate. 

Se uno vuole proprio essere sicuro, nel dubbio \'e sempre bene ricompilare,
 magari usando un compilatore stile StackGuard
 (vedi http://www.cse.ogi.edu/DISC/projects/immunix/  )

[Nota a margine: a dire il vero neanche una ricompilazione dal sorgente basta
 per i pi\'u paranoidi fra noi... alla fine degli anni 70 Brian Kernigan
 (di fama per il C ed UNIX !) ha dimostrato che era possibile creare un
 compilatore C leggermente modificato tale da:
 1. riconoscere quando l'utente stava compilando il programma login ed inserire
  automaticamente una backdoor che garantiva l'accesso all'utente BK senza
  chiedere la password;
 2. riconoscere quando l'utente stava ricompilando il compilatore C e inserire
  una backdoor nel compilatore onde ottenere quanto al punto 1.
 Una analisi dei sorgenti C dei due codici ovviamente non avrebbe mostrato
 nulla di strano... teoricamente uno dovrebbe analizzare il binario con dei
 tools `sicuri', scritti direttamente in codice macchina -non in assembler!-
 su una piattaforma completamente diversa da quella su cui
 il codice deve essere installato... volontari? ]

Riassumendo: 
 dal punto di vista virii secondo me sotto linux (o ogni altro unix) si possono
 dormire sonni relativamente tranquilli; dal punto di vista trojan horses
 oppure sistemi di attacco verso vulnerabilit\'a dei servizi offerti da un
 computer la storia \'e diversa ed \'e bene, se si ha qualche server connesso
 permanentemente ad Internet, seguire tutti gli sviluppi e prendere precauzioni
 in tempo reale (ma in questi casi non c'\'e antivirus che tenga: la partita
 \'e uno contro uno)...

Ciao
 lg

 
 



Maggiori informazioni sulla lista Lug