Stoned Code. |
Un virus è un software, appartenente alla categoria dei malware, che è in grado, una volta eseguito, di infettare dei file in modo da riprodursi facendo copie di se stesso, generalmente senza farsi rilevare dall'utente (da questo punto di vista il nome è in perfetta analogia con i virus in campo biologico). Coloro che creano virus sono detti virus writer. Questi tipi di software/eseguibili sono creati dagli hacker, che sfruttando le vurnelabilitá (exploit) di un OS arrecano danni al sistema, rallentando o rendendo inutilizzabile il device infetto.
I virus possono essere o non essere direttamente dannosi per il sistema operativo che li ospita, ma anche nel caso migliore comportano comunque un certo spreco di risorse in termini di RAM, CPU e spazio sul disco fisso. Come regola generale si assume che un virus possa danneggiare direttamente solo il software della macchina che lo ospita, anche se esso può indirettamente provocare danni anche all'hardware, ad esempio causando il surriscaldamento della CPU mediante overclocking, oppure fermando la ventola di raffreddamento.
Nell'uso comune il termine virus viene frequentemente ed impropriamente usato come sinonimo di malware, indicando quindi di volta in volta anche categorie di "infestanti" diverse, come ad esempio worm, trojan, dialer o spyware.
Storia
Nel 1949 John von Neumann dimostrò matematicamente la possibilità di costruire un programma per computer in grado di replicarsi autonomamente. Il concetto di programma auto-replicante trovò la sua evoluzione pratica nei primi anni 60 nel gioco ideato da un gruppo di programmatori dei Bell Laboratories della AT&T chiamato "Core Wars", nel quale più programmi si dovevano sconfiggere sovrascrivendosi a vicenda. Era l'inizio della storia dei virus informatici.
Il termine virus venne adottato la prima volta da Fred Cohen (1984) della University of Southern California nel suo scritto Experiments with Computer Viruses (Esperimenti con i virus per computer), dove questi indicò Leonard Adleman come colui che aveva adattato dalla biologia tale termine.
La definizione di virus era la seguente: «Un virus informatico è un programma che ricorsivamente ed esplicitamente copia una versione possibilmente evoluta di sé stesso».
Nel 1972 David Gerrold scrisse un romanzo di fantascienza La macchina di D.I.O. (When H.A.R.L.I.E. was One), dove è presente una descrizione di un programma per computer chiamato VIRUS che adotta il medesimo comportamento di un virus. Nel 1975 John Brunner scrisse il romanzo Codice 4GH (The Shockwave Rider) in cui sono descritti programmi chiamati tapeworms che si infiltrano nella rete con lo scopo di cancellare tutti i dati. Nel 1973 la frase "virus del computer" era stata usata nel film Il mondo dei robot (Westworld). Il termine virus del computer con il significato corrente è inoltre presente anche nell'albo a fumetti Uncanny X-Men n. 158, pubblicato nel 1982. Si può dunque affermare che Cohen fece per primo uso della parola virus solo in campo accademico, dato che questa era già presente nella lingua parlata.
Un programma chiamato Elk Cloner è accreditato come il primo virus per computer apparso al mondo. Fu creato nel 1982 da Rich Skrenta sul DOS 3.3 della Apple e l'infezione era propagata con lo scambio di floppy disk. Nel corso degli anni ottanta e nei primi anni novanta fu lo scambio dei floppy la modalità prevalente del contagio da virus informatici. Dalla metà degli anni novanta, invece, con la diffusione di internet, i virus ed i cosiddetti malware in generale, iniziarono a diffondersi assai più velocemente, usando la rete e lo scambio di e-mail come fonte per nuove infezioni.
Il primo virus informatico famoso nel mondo venne creato nel 1986 da due fratelli pakistani proprietari di un negozio di computer per punire chi copiava illegalmente il loro software. Il virus si chiamava Brain, si diffuse in tutto il mondo, e fu il primo esempio di virus che infettava il settore di avvio.
Il primo file infector apparve nel 1987. Si chiamava Lehigh e infettava solo il file command.com. Nel 1988 Robert Morris Jr. creò il primo worm della storia. L'anno seguente, nel 1989, fecero la loro comparsa i primi virus polimorfi, con uno dei più famosi: Vienna, e venne diffuso il trojan AIDS (conosciuto anche come Cyborg), molto simile al trojan dei nostri giorni chiamato PGPCoder. Entrambi infatti codificano i dati del disco fisso chiedendo poi un riscatto all'utente per poter recuperare il tutto.
Nel 1995 il primo macrovirus, virus scritti nel linguaggio di scripting di programmi di Microsoft come MS-Word ed Outlook che infettano soprattutto le varie versioni dei programmi Microsoft attraverso lo scambio di documenti. Concept fu il primo macro virus della storia. Nel 1998 la nascita di un altro dei virus storici, Chernobyl o CIH, famoso perché sovrascriveva il BIOS della scheda madre e la tabella delle partizioni dell'hard disk infettato ogni 26 del mese.
La diffusione di massa di Internet nella fine degli anni 90 determina la modifica delle tecniche di propagazione virale: non più floppy ma worm che si diffondono via e-mail. Tra i worm di maggior spicco antecedenti al 2000: Melissa, Happy99 e BubbleBoy, il primo worm capace di sfruttare una falla di Internet Explorer e di autoeseguirsi da Outlook Express senza bisogno di aprire l'allegato.
Nel 2000 il famoso I Love You che dà il via al periodo degli script virus, i più insidiosi tra i virus diffusi attraverso la posta elettronica perché sfruttano la possibilità, offerta da diversi programmi come Outlook e Outlook Express di eseguire istruzioni attive (dette script), contenute nei messaggi di posta elettronica scritti in HTML per svolgere azioni potenzialmente pericolose sul computer del destinatario. I virus realizzati con gli script sono i più pericolosi perché possono attivarsi da soli appena il messaggio viene aperto per la lettura. I Love You si diffuse attraverso la posta elettronica in milioni di computer di tutto il mondo, al punto che per l'arresto del suo creatore, un ragazzo delle Filippine, dovette intervenire una squadra speciale dell’FBI. Era un messaggio di posta elettronica contenente un piccolo programma che istruiva il computer a rimandare il messaggio appena arrivato a tutti gli indirizzi contenuti nella rubrica della vittima, in questo modo generando una specie di catena di sant’Antonio automatica che saturava i server di posta.
Dal 2001 si è registrato un incremento di worm che, per diffondersi, approfittano di falle di programmi o sistemi operativi senza bisogno dell'intervento dell'utente. L'apice nel 2003 e nel 2004: SQL/Slammer, il più rapido worm della storia - in quindici minuti dopo il primo attacco, Slammer aveva già infettato metà dei server che tenevano in piedi internet mettendo fuori uso i bancomat della Bank of America, spegnendo il servizio di emergenza 911 a Seattle e provocando la cancellazione per continui inspiegabili errori nei servizi di biglietteria e check-in di alcune compagnie aeree; ed i due worm più famosi della storia: Blaster e Sasser.
Nel giugno 2009 è nata una nuova tipologia di virus che ha come bersaglio sistemi informatici industriali, il primo virus di questa nuova tipologia è stato Stuxnet chi ha preso come mira i sistemi SCADA.
Descrizione
Un virus è composto da un insieme di istruzioni, come qualsiasi altro programma per computer. È solitamente composto da un numero molto ridotto di istruzioni, (da pochi byte ad alcuni kilobyte, per rendersi più difficile da individuare e facile da copiare), ed è specializzato per eseguire soltanto poche e semplici operazioni e ottimizzato per impiegare il minor numero di risorse, in modo da rendersi il più possibile invisibile. Caratteristica principale di un virus è quella di riprodursi e quindi diffondersi nel computer ogni volta che viene aperto il file infetto.
Tuttavia, un virus di per sé non è un programma eseguibile, così come un virus biologico non è di per sé una forma di vita. Un virus, per essere attivato, deve infettare un programma ospite, o una sequenza di codice che viene lanciata automaticamente, come ad esempio nel caso dei boot sector virus. La tecnica solitamente usata dai virus è quella di infettare i file eseguibili: il virus inserisce una copia di sé stesso nel file eseguibile che deve infettare, pone tra le prime istruzioni di tale eseguibile un'istruzione di salto alla prima linea della sua copia ed alla fine di essa mette un altro salto all'inizio dell'esecuzione del programma. In questo modo quando un utente lancia un programma infettato viene dapprima impercettibilmente eseguito il virus, e poi il programma. L'utente vede l'esecuzione del programma e non si accorge che il virus è ora in esecuzione in memoria e sta compiendo le varie operazioni contenute nel suo codice.
Principalmente un virus esegue copie di sé stesso spargendo l'epidemia, ma può avere anche altri compiti molto più dannosi (cancellare o rovinare dei file, formattare l'hard disk, aprire delle backdoor, far apparire messaggi, disegni o modificare l'aspetto del video, Installare altri malware, ...)
Componenti di un virus
I virus informatici più semplici sono composti da due parti essenziali, sufficienti ad assicurarne la replicazione:
- una routine di ricerca, che si occupa di ricercare dei file adatti ad essere infettati dal virus e controlla che gli stessi non ne contengano già una copia, per evitare una ripetuta infezione dello stesso file;
- una routine di infezione, con il compito di copiare il codice virale all'interno di ogni file selezionato dalla routine di ricerca perché venga eseguito ogni volta che il file infetto viene aperto, in maniera trasparente rispetto all'utente.
Molti virus sono progettati per eseguire del codice estraneo alle finalità di replicazione del virus stesso e contengono dunque altri due elementi:
- la routine di attivazione, che contiene i criteri in base ai quali il virus decide se effettuare o meno l'attacco (es. una data, o il raggiungimento di un certo numero di file infetti);
- il payload, una sequenza di istruzioni in genere dannosa per il sistema ospite, come ad esempio la cancellazione di alcuni file o la visualizzazione di messaggi popup sullo schermo (gli adware sono malware che si specializzano nel far apparire banner pubblicitari su computer della vittima).
I virus possono essere criptati e magari cambiare algoritmo e/o chiave ogni volta che vengono eseguiti, quindi possono contenere altri tre elementi:
- una routine di decifratura, contenente le istruzioni per decifrare il codice del virus;
- una routine di cifratura, di solito criptata essa stessa, che contiene il procedimento per criptare ogni copia del virus;
- una routine di mutazione, che si occupa di modificare le routine di cifratura e decifratura per ogni nuova copia del virus.
Modalità di diffusione
Ciò che distingue i virus propriamente detti dai worm è la modalità di replicazione e di diffusione: un virus è un frammento di codice che non può essere eseguito separatamente da un programma ospite, quindi si deve appoggiare ad un altro programma/eseguibile per essere attivato, mentre un worm è un software applicativo a sé, e nonostante sia più grande, non deve copiarsi in altri file, ma é sufficiente che sia eseguito. Inoltre, alcuni worm sfruttano per diffondersi delle vulnerabilità di sicurezza, e non dipendono quindi dal fatto di ingannare l'utente per farsi eseguire, infatti vengono eseguiti in automatico.
Prima della diffusione su larga scala delle connessioni ad Internet, il mezzo prevalente di diffusione dei virus da una macchina ad un'altra era lo scambio di floppy disk contenenti file infetti o un virus di boot (avvio). Il veicolo preferenziale di infezione è invece oggi rappresentato dalle comunicazioni e-mail e dalle reti di peer to peer (ad esempio eMule).
Ciclo di vita di un virus
I virus informatici presentano numerose analogie con quelli biologici per quello che riguarda il ciclo di vita, che si articola nelle fasi seguenti:
- creazione: è la fase in cui lo sviluppatore progetta, programma e diffonde il virus. Di solito i cracker per la realizzazione di virus utilizzano linguaggi di programmazione a basso livello (quali l'assembly e C) in modo da ottenere codice virale di pochi centinaia di byte. La diffusione di pacchetti software che permettono anche ad utenti inesperti di creare virus pericolosissimi ha reso accessibile il procedimento di creazione anche a persone senza competenze.
- incubazione: il virus è presente sul computer da colpire ma non compie alcuna attività. Rimane inerte fino a quando non si verificano le condizioni per la sua attivazione;
- infezione: il virus infetta il file e di conseguenza il sistema
- attivazione: al verificarsi delle condizioni prestabilite dal cracker, il virus inizia l'azione dannosa.
- propagazione: il virus propaga l'infezione, riproducendosi e infettando sia file nella stessa macchina che altri sistemi
- riconoscimento (in alcuni casi questa fase non inizia): il virus viene riconosciuto come tale e viene individuata la stringa di riconoscimento, ossia la firma che contraddistingue ciascun virus
- estirpazione: è l'ultima fase del ciclo vitale del virus. Il virus viene eliminato dal sistema: di solito questa fase non viene eseguita direttamenta dall'utente, ma da un software antivirus che cerca di fermare in qualche modo l'infezione.
Criteri di classificazione dei virus
Questa voce o sezione sull'argomento informatica è ritenuta da controllare. Motivo: Si fa l'esempio della combinazione "che sono contemporaneamente file virus e boot virus" ma poi nelle casistiche indicate sotto non si parla dei boot virus.
|
I virus informatici possono essere suddivisi in categorie in base alle seguenti caratteristiche:
- ambiente di sviluppo
- capacità operative degli algoritmi
- capacità distruttive.
Esistono poi combinazioni delle classificazioni secondo le caratteristiche precedenti: ad esempio vi sono virus che sono contemporaneamente file virus e boot virus. In tal caso il loro algoritmo di infezione è più complesso potendo eseguire attacchi differenti.
Ambiente di sviluppo
I virus si sviluppano su diversi supporti fisici e per questo sono classificabili in:
- file virus, che a loro volta si dividono in:
- parasitic virus;
- companion virus;
- virus link;* boot virus;
- macro virus;
- network virus
Si possono incontrare anche nei giochi download come 4Story, Cabal ecc Spesso ci sono stati utenti che hanno riscontrato particolari problemi di annidamento di virus nella cache di Java.
Capacità operative degli algoritmi
In base alle caratteristiche dei loro algoritmi, i virus si distinguono in:
- TSR virus;
- virus polimorfi;
- stealth virus
In generale non esistono molti virus informatici che sono solo stealth, polimorfici o TSR, perché sarebbero facilmente individuabili. In realtà i computer virus sono formati da una combinazione dei precedenti.
Capacità distruttive
A seconda del tipo di danni causati, i virus si classificano in:
- innocui: se comportano solo una diminuzione dello spazio libero sul disco senza nessun'altra alterazione delle operazioni del computer;
- non dannosi: se comportano solo una diminuzione dello spazio libero sul disco, col mostrare grafici, suoni o altri effetti multimediali.
- dannosi: possono provocare problemi alle normali operazioni del computer (ad esempio, cancellazione di alcune parti dei file, modifica di file o apertura di applicazioni);
- molto dannosi: Causano danni difficilmente recuperabili come la cancellazione di informazioni fondamentali per il sistema (formattazione di porzioni del disco, modifica dei parametri di sicurezza del sistema operativo, ...).
Sintomi più frequenti di infezione
- Rallentamento del computer: il computer lavora molto più lentamente del solito. Impiega molto tempo ad aprire applicazioni o programmi. Il sistema operativo impiega molto tempo ad eseguire semplici operazioni che solitamente non richiedono molto tempo, questo segnale è il più comune e si manifesta quasi ogni volta che viene eseguito;
- Impossibilità di eseguire un determinato programma o aprire uno specifico file;
- Scomparsa di file e cartelle: i file memorizzati in determinate cartelle (di solito quelle appartenenti al sistema operativo o a determinate applicazioni) vengono cancellati (totalmente o in parte) o resi inaccessibili all'utente;
- Impossibilità di accesso al contenuto di file: all'apertura di un file, viene visualizzato un messaggio di errore o semplicemente risulta impossibile aprirlo. Un virus potrebbe aver modificato la File Allocation Table (FAT) provocando la perdita degli indirizzi che sono il punto di partenza per la localizzazione dei file;
- Messaggi di errore inattesi o insoliti: visualizzazione di finestre di dialogo contenenti messaggi assurdi, buffi, dispettosi o aggressivi;
- Riduzione di spazio nella memoria e nell'hard disk: riduzione significativa dello spazio libero nell'hard disk; quando un programma è in esecuzione, viene visualizzato un messaggio indicante memoria insufficiente per farlo (sebbene questo non sia vero e ci siano altri programmi aperti);
- Settori difettosi: un messaggio informa della esistenza di errori nella parte di disco sulla quale si sta lavorando e avverte che il file non può essere salvato o che non è possibile eseguire una determinata operazione;
- Modifiche delle proprietà del file: il virus modifica alcune o tutte le caratteristiche del file che infetta. Di conseguenza risultano non più corrette o modificate le proprietà associate al file infettato. Tra le proprietà più colpite: data/ora (di creazione o dell’ultima modifica), la dimensione;
- Errori del sistema operativo: operazioni normalmente eseguite e supportate dal sistema operativo determinano messaggi di errore, l’esecuzione di operazioni non richieste o la mancata esecuzione dell’operazione richiesta;
- Ridenominazione di file: un virus può rinominare i file infettati e/o file specifici;
- Problemi di avvio del computer: il computer non si avvia o non si avvia nella solita maniera,oppure impiega molto tempo per caricarsi;
- Interruzione del programma in esecuzione senza che l’utente abbia eseguito operazioni inaspettate o fatto qualcosa che potrebbe aver provocato questo risultato;
- Tastiera e/o mouse non funzionanti correttamente: la tastiera non scrive ciò che è digitato dall’utente o esegue operazioni non corrispondenti ai tasti premuti. Il puntatore del mouse si muove da solo o indipendentemente dal movimento richiesto dall’utente;
- Scomparsa di sezioni di finestre: determinate sezioni (pulsanti, menu, testi etc…) che dovrebbero apparire in una particolare finestra sono scomparse o non vengono visualizzate. Oppure, in finestre nelle quali non dovrebbe apparire nulla, appaiono invece icone strane o con contenuto insolito (ad esempio nella taskbar di Windows;
- Riavvio spontaneo del computer;
- Antivirus disattivato automaticamente: Puó capitare che un malware disattivi forzatamente un antivirus per poter essere eseguito senza correre il rischio di essere rilevato;
- Lentezza della connessione Internet;
Si tenga comunque presente che i sintomi appena descritti potrebbero essere riconducibili a cause diverse da virus. Nel caso di presenza di uno o più di questi sintomi, è comunque consigliabile l'esecuzione di una scansione antivirus del sistema, per controllare il suo stato e verificarne la sicurezza;
Tecniche usate per il rilevamento di virus
Non esiste un metodo generale per individuare un virus all'interno di un sistema. Le tecniche di rilevamento utilizzate dagli antivirus sono diverse: utilizzate contemporaneamente garantiscono un'ottima probabilità di rilevamento della presenza di un virus. In base alle tecniche di rilevamento usate, gli antivirus si distinguono in tre tipi:
- programmi di monitoraggio: mirano a prevenire un'infezione mediante il controllo di attività sospette (ad esempio, la richiesta di formattazione di un disco oppure l'accesso a zone privilegiate di memoria). Sono importanti perché rappresentano la prima linea di difesa (essi non rimuovono il virus; lo individuano e lo bloccano). Ma sono facili da bypassare attraverso la tecnica di tunneling.
- scanner: effettuano la ricerca dei virus attraverso due tecniche:
- il confronto tra le firme memorizzate in un database interno, con quelle, eventualmente, contenute nei file infetti;
- l'utilizzazione delle tecniche euristiche per i virus che sono cifrati o sconosciuti.
- programmi detection: utilizzano duniche:
- verifica dell'integrità: calcolano l'hash dei file da confrontare successivamente coi nuovi valori risultanti da un nuovo calcolo per verificare che i file non abbiano subito modifiche nel frattempo.
- tecniche euristiche: salva le informazioni sufficienti per ripristinare il file originale qualora questo venga danneggiato o rimosso da un virus.
Virus ieri e oggi
Oggi sono ben pochi i codici malevoli ai quali si può attribuire, propriamente, il nome di virus. Quando un tempo lo scambio dei file avveniva tramite supporti fisici, generalmente i floppy, erano questi ad essere veicolo delle infezioni e pertanto era importante, volendo creare un virus che si diffondesse, che questo fosse il più silenzioso possibile. Venivano scritti in assembly e questo li rendeva piccoli, performanti ed insidiosi seguendo la regola: se non sai cosa cercare figurati se sai come trovarlo.
Parlando oggi di virus, entrando nel particolare, si commette però un errore. Si intende quindi, con il termine virus, tutto il codice malevolo in grado di arrecare danno ad un utente. Lo scambio di file tramite dispositivi fisici quali il floppy, il quasi totale abbandono degli stessi per effettuare una procedura di boot e di ripristino, ha reso obsoleto il vecchio concetto di virus, un piccolo codice malevolo difficile da individuare. Nondimeno le macchine sono sempre più performanti, gli utenti sempre di più e sempre meno preparati, la banda larga per tutti. Le informazioni viaggiano da un capo all'altro del pianeta senza vincoli fisici ormai, e così anche il codice malevolo.
Il vecchio concetto di virus è stato sostituito con quello più moderno di worm. I worm non sono più scritti in assembly ma in linguaggi di programmazione di livello sempre più alto in stretta convivenza con il sistema operativo e le sue vulnerabilità. Tutto questo rende la stesura di un codice malevolo molto più semplice che in passato ed il gran numero e la diversità di worm con rispettive varianti ne è un esempio lampante. Questi nuovi tipi di infezioni penetrano nel sistema quasi sempre da soli sfruttando le vulnerabilità, non fanno molto per nascondersi, si replicano come vermi anziché infettare i file, che è un'operazione più complessa ed ormai in disuso.
Ultimamente vanno molto di moda payload altamente distruttivi o che espongono la vittima ad altri tipi di attacchi. La vita dei worm è generalmente più breve di quella di un virus perché identificarlo, grazie ad internet, è diventato un business ora più grande che in tempi passati ed è probabilmente questo che porta sempre più spesso gli ideatori a voler un ciclo di vita più breve anche per la macchina che lo ospita e qualche capello in meno all'utente. I worm agiscono sempre più spesso come retrovirus e, volendo correre più veloce delle patch che correggono le vulnerabilità che ne hanno permesso la diffusione, spesso ci si trova ad aggiornare l'antivirus quando il codice ha già preso piede nel sistema.
Scambio di virus
Molti programmatori di virus ai nostri giorni, ma soprattutto nel passato, si sono scambiati sorgenti di virus per capire nuove tecniche di programmazione. Molti scambi di virus sono avvenuti tramite siti web chiamati VX. VX significa Virus eXchange. Al giorno d'oggi i siti (almeno quelli pubblici) dedicati al VX sono rimasti pochi ma si pensa che esistano dei siti underground (deep web) che contengano dei database di virus recenti accessibili solo a crew virus writer. Si possono ricevere virus anche attraverso mail, che installano il virus anche se non vengono aperte.
Falsi virus
La scarsa conoscenza dei meccanismi di propagazione dei virus e il modo con cui spesso l'argomento viene trattato dai mass media favoriscono la diffusione tanto dei virus informatici quanto dei virus burla, detti anche hoax: sono messaggi che avvisano della diffusione di un fantomatico nuovo terribile virus con toni catastrofici e invitano il ricevente ad inoltrarlo a quante più persone possibile. È chiaro come questi falsi allarmi siano dannosi in quanto aumentano la mole di posta indesiderata e diffondono informazioni false, se non addirittura dannose.
I virus in Linux
In Linux, ad oggi non c'è stata una grandissima diffusione di virus in quanto grazie al meccanismo dei permessi dei sistemi multiutente a cui Linux appartiene, le infezioni si limitano esclusivamente all'utente che possiede il file infetto con un impatto sull'intero sistema estremamente ridotto.
Uno dei primi virus (un trojan per la precisione) per Linux, di nome Bliss, doveva infatti essere installato ed essere eseguito in modalità superutente (root). L'hacker britannico Alan Cox lo definì "un giocattolo".
Altre minacce informatiche
All'inizio tutte le minacce informatiche erano virus come sopra definiti, successivamente sono comparse e si sono specializzate diverse altre minacce, anche se nel linguaggio comune continuano impropriamente ad essere chiamate "virus informatici":
- Backdoor
- o "porta di servizio"; punto di passaggio attraverso il quale si può prendere il controllo di un computer da remoto.
- Buffer overflow
- tecnica per inviare dati di lunghezza superiore a quella programmata per oltrepassare la capacità del buffer.
- DoS e la sua variante DDoS
- "negazione del servizio"; tecnica per tempestare di richieste un singolo servizio (server)al fine di farlo collassare.
- Exploit
- tecnica per prendere il controllo di un computer sfruttando le debolezze (bug) del sistema operativo o di altri programmi che accedono ad Internet.
- Ingegneria sociale
- tecnica di studio di un bersaglio per carpirne la fiducia ed entrarne in contatto.
- Keylogger
- software che una volta eseguito su di una macchina memorizza in maniera trasparente all'utente ogni tasto premuto in un proprio database. Solitamente viene installato tramite virus o backdoor, e viene programmato in modo che ritrasmetta via rete i dati memorizzati; questi raccolgono quindi anche password e codici.
- Phishing
- tecnica di ingegneria sociale per ottenere informazioni riservate al fine del furto di identità e di informazioni personali.
- Port scanning
- tecnica per verificare lo stato (accepted, denied, dropped, filtered) delle 65.535 porte (socket) di un computer.
- Rootkit
- programmi che permettono ai virus di "nascondersi" nel computer.
- Sniffing
- o "annusare"; tecnica per intercettare i dati in transito in rete e decodificarli.
- Trojan Horse
- o "cavallo di Troia" sono genericamente software malevoli (malware) nascosti all'interno di programmi apparentemente utili, e che dunque l'utente esegue volontariamente. Il tipo di software malevolo che verrà silenziosamente eseguito in seguito all'esecuzione del file da parte dell'utente può essere sia un virus che un qualunque tipo di minaccia informatica poiché permette al cracker che ha infettato il PC di risalire all'indirizzo IP della vittima (i Trojan di consumo sono varianti di malware che utilizzano grandi quantitá di RAM, CPU, Connessione e Batteria).
- Wardialing
- uso di un modem con il fine di chiamare ogni possibile telefono in una rete locale per trovare un computer assieme alle varianti Wardriving e Warflying
Dialer
uso del telefono tramite il modem per chiamare costosi numeri a pagamento (esempio: 899 894 144), sono particolarmente suscettibili i router a 56kbyte, mentre i modem ADSL sembrano non incombere in questo tipo di problemi.
Virus famosi
- Jerusalem (virus informatico), uno dei più noti virus per DOS
- Dark Avenger, uno dei più contagiosi virus informatici