============================================================================== SECURITY ADVISORY CERT-IT ============================================================================== Author/Source : CERT-IT Index : S-94-04 Distribution : World Size : 4035 Classification: External Version: Final Subject : Network sniffing Date : 11-04-94 ============================================================================== ======== Abstract ======== Come accaduto qualche mese fa negli USA anche sulla rete italiana si sta diffondendo un programma (da alcuni chiamato Esniff.c) in grado di registrare i primi byte di una sessione telnet, ftp, rlogin o rsh. Il suo utilizzo e` molto pericolosa perche` e` possibile intercettare tutte le login/password che viaggiano in chiaro su una rete locale. Questo e` un attacco tra i piu` efficaci; esperimenti hanno dimostrato come possa essere estremamente facile per un hacker sovvertire la sicurezza di una INTERA rete in brevissimo tempo. =========== Descrizione =========== Il programma utilizza il driver di rete NIT (Network Interface Tap) presente esclusivamente sui sistemi SunOS 4.1.X e puo` essere eseguito solamente da root. Apportando alcune semplici modifiche al programma relate alla parte di gestione del driver di rete e` possibile utilizzarlo anche su altre architetture: - HP-UX se sono supportati i moduli (unbundled) STREAMS e DLPI (Data Link Provider Interface). - Ultrix 4.X utilizzando il modulo di packetfiltering (BPF). - Solaris 2.X usando il modulo DLPI. Esniff e` in grado di compromettere la sicurezza non solo delle macchine locali ma anche quella di macchine remote verso cui si effettuano dei collegamenti. Il programma, infatti, e` in grado di ``ascoltare'' tutto il traffico riguardante la rete e non solo quello da e verso il calcolatore sul quale viene eseguito. ====== Rimedi ====== Non esiste una vera e propria soluzione perche` attualmente nessuna delle applicazioni di rete standard supporta comunicazioni cifrate, unico modo per risolvere veramente il problema. Nel caso di SunOS per controllare se c'e` qualche applicazione che sta facendo uso del driver, cioe` se c'e` qualche applicazione che potenzialmente sta spiando la rete, e` sufficiente eseguire il seguente comando: # ifconfig le0 le0: flags=163 ^^^^^^^ inet 192.26.58.254 netmask ffffff00 broadcast 192.26.58.0 Se e` presente il flag ``PROMISC'' allora c'e` una applicazione attiva e bisogna cercare di scoprire se si tratta di uno proocesso legittimo oppure di uno tipo Esniff. In alternativa e` possibile usare cpm (check for network interfaces in promiscuous mode), disponibile in: ftp@ftp.dsi.unimi.it: /ftp/pub/security/src/network/cpm.1.0.tar.gz Un'azione preventiva da intraprendere nel caso si abbia un sistema che incorpori di default il driver NIT e` quella di escludere il driver dal kernel, ricompilandolo senza specificare il driver nel file di configurazione. Ovviamente cio` non e` attuabile se viene fatto un effettivo utilizzo di NIT (per esempio quando si ha una macchina che funge da server per un cluster di workstation diskless). Attualmente il piu' semplice strumento software PD disponibile per ovviare parzialmente a questo problema e' S/Key, un package che implementa il concetto delle one-time password evitando il costoso utilizzo di smart-card o digital token. Maggiori informazioni sono disponibili nella directory: ftp@ftp.dsi.unimi.it:/pub/security/src/auth/skey-1.1b.tar.Z In particolare consigliamo la lettura del file: ftp@ftp.dsi.unimi.it: /pub/security/docs/CERT-advisories/ CA-94:01.ongoing.network.monitoring.attacks ================================================================================