C'è un intruso per ogni computer |
|
Nell’era della comunicazione i computer rivestono un ruolo chiave. I dati che essi elaborano e la traccia dell’uso che ne viene fatto possono rappresentare una risorsa di estrema importanza per microspie specializzate, sia “reali” che “virtuali”.
Sorvegliare un PC con moduli di raccolta dati implementati in hardware è quindi un’attività costosa, sia per l’hardware impiegato sia per i costi di gestione dell’attività di sorveglianza, che si configura come un compito ben diverso dal semplice impiego di una generica “microspia ambientale”. Ipotizzando che i moduli di raccolta dati siano stati realizzati in maniera impeccabile, in modo da non alterare minimamente le funzionalità e le prestazioni del PC, l’unico modo che ha l’utente per difendersi da questa minaccia è l’analisi minuziosa del proprio PC; ad esempio operando periodicamente un confronto di verifica tra macrofotografie scattate alle parti e alle schede interne del PC al momento del suo acquisto o in una situazione considerata trusted (di totale fiducia) e quanto effettivamente si trova all’interno del PC con il passar del tempo. Sebbene da un punto di vista teorico sia possibile clonare l’aspetto di una motherboard o di altre schede del PC alterandone le funzionalità, ben difficilmente sarà possibile occultare la quantità di memoria non volatile richiesta per la registrazione dei dati (es. memoria flash per un minimo di svariati gigabyte) e la sua logica di controllo con le interfacce per i vari moduli di raccolta dati in modo che il tutto risulti completamente invisibile ad una analisi attenta. Sorveglianza attraverso sistemi Software La sorveglianza di un PC basata sul software è un’attività salita di recente agli onori della cronaca per la sempre maggiore diffusione di programmi denominati “Spyware”. Esistono numerosissimi “Spyware” e moltissimi sono distribuiti dai propri autori ad un gran numero di utenti casuali tramite spam (25) , worm (26) , trojan horse (27) , exploit (28) di vulnerabilità dei browser (29) , o altre tecniche. Questi Spyware sono di solito molto grezzi e il loro fine è di raccogliere informazioni presenti sul sistema “infetto” che siano facilmente sfruttabili a fini di lucro, ad esempio numeri di carte di credito. Per il loro vettore di infezione e per i loro meccanismi di comunicazione, questi Spyware sono accomunabili a: - software differenti. I software detti “ad-ware” che hanno lo scopo di raccogliere informazioni sui sistemi infetti a fini pubblicitari e/o di infastidire l’utente visualizzando, frequentemente, messaggi pubblicitari con l’intento di disorientarlo, forzandolo a visitare determinati siti web; - software detti “dialer” che hanno lo scopo di configurare il PC infetto in modo che questo si colleghi ad internet automaticamente utilizzando un RAS con tariffa speciale (es. numeri internazionali, o nel caso dell’Italia, i cosiddetti "servizi in decade" 144, 166, etc.) truffando l’utente con l’addebito in bolletta di un servizio che egli non ha richiesto volontariamente. Quasi tutti i software di queste categorie, per quanto estremamente fastidiosi, sono identificati, disattivati e rimossi, al pari dei virus, da appositi software di sicurezza specializzati. Inoltre, essi non adottano tecniche evolute di raccolta dati o di comunicazione, dato che sono destinati ad aver vita breve, e non rappresentano una vera minaccia per gli utenti. Alcuni Spyware sono prodotti “commerciali”, sviluppati, pubblicizzati e commercializzati dalle ditte produttrici come software per il controllo “legittimo” di proprie postazioni di lavoro, con il pretesto di sorvegliare l’operato dei familiari sul PC o tracciare le attività compiute da colleghi sul PC che si usa al lavoro. Anche alcuni software di amministrazione remota possono essere considerati Spyware, per quanto solitamente si tratti di software che rendono ben manifesta la propria presenza nel sistema controllato e non impiegano alcun offuscamento delle proprie attività, pertanto dovrebbero risultare piuttosto evidenti all’utente del sistema. Alcuni Spyware sono prodotti più o meno “artigianali”, opera di specialisti di sicurezza informatica (o di hacker), nati con l’obiettivo di controllare un ristretto numero di obiettivi ritenuti di alto valore strategico. Molti di questi Spyware non vengono analizzati pubblicamente poiché vengono scoperti e rimossi a mano o disattivati remotamente quando cessano di essere utili. Da sempre questa “utenza” impiega backdoor (30) di vario tipo per continuare ad accedere illegittimamente ad un sistema server dopo averlo violato. I principali requisiti per una backdoor sono principalmente la sua “introvabilità” e la sua affidabilità: analoghe qualità saranno caratteristiche di questi Spyware. Gli Spyware di questa ultima categoria rappresentano sicuramente la minaccia più sofisticata per la sicurezza di un PC. Il controllo locale a livello logico del sistema consente ad uno Spyware di: - Registrare tutti i dati inseriti con qualunque dispositivo di input utente, come tastiera, mouse e altri dispositivi, connessi con qualunque interfaccia o anche virtuali. - Registrare tutto quello che viene visualizzato sullo schermo del PC, catturando le chiamate alle API (31) del sottosistema grafico oppure la memoria della scheda video. - Registrare tutti i suoni riprodotti o registrati dalla scheda audio del PC, eventualmente attivando un microfono o una webcam qualora questi fossero disponibili. - Registrare tutto quanto viene elaborato dai vari applicativi, sia che questo venga salvato su disco, sia che venga trasmesso sulla rete. Operando in modalità “event driven” o con “polling”, catturare aree di memoria contenenti dati volatili in uso da applicativi di qualunque natura (ad esempio buffer di memoria utilizzati da applicativi che si avvalgono di crittografia, prima che i dati in essi contenuti vengano cifrati). - Memorizzare localmente tutto quanto viene registrato, eventualmente rendendo invisibili i file utilizzati. - Inviare remotamente i dati acquisiti, disabilitando tutti i meccanismi di sicurezza eventualmente presenti nel sistema (firewall, policy di logging, etc.) in modo da non essere rilevato. - Controllare attivamente il sistema, ad esempio prendendo il controllo di mouse e tastiera, eseguendo processi o manipolando file e chiavi di registro senza che l’utente possa intervenire. Per difendersi da Spyware di questo tipo, gli utenti dovrebbero utilizzare sistemi operativi intrinsecamente sicuri oppure rinforzati con apposite procedure e strumenti di terze parti, in particolare dotati di: - controlli di integrità su tutti i file di sistema e i file di configurazione; - un sistema antivirus e antispyware, costantemente aggiornato; - capacità di definire utenti con un profilo di accesso alle risorse limitato (naturalmente l’utente dovrà sempre utilizzare un profilo ristretto, quando possibile,per compiere le sue attività ordinarie); - un sistema di aggiornamento automatico del sistema operativo stesso; - un personal firewall e un personal IDS (32) , costantemente aggiornati. Tuttavia, nel caso di Spyware particolarmente sofisticati le generiche raccomandazioni di sicurezza potrebbero non essere sufficienti: in questa “guerra virtuale” è avvantaggiato colui il quale conosce il maggior numero di informazioni sul nemico e, dato che gli strumenti di difesa sono pubblicamente noti, chi scrive un nuovo Spyware può concepirlo in modo che non sia rilevato automaticamente. Uno Spyware, infatti, può impiegare una tecnica chiamata “hooking” per intercettare le API ritenute interessanti al fine della registrazione dei dati, catturando un buffer di informazioni mentre passa ad esempio da un applicativo a una funzione di sistema. Questa stessa tecnica consente allo spyware di alterare “al volo” il buffer di informazioni intercettato, il che permette in alcuni casi di occultare l’esistenza dello spyware stesso. Ad esempio, ammesso che l’API intercettata sia“findfirst - findnext” del sistema operativo Microsoft Windows o “opendir – scandir” di BSD, che permettono entrambe di effettuare la scansione di una directory al fine di enumerare i file che vi sono presenti, tramite la manipolazione dei valori di ritorno sarà possibile far “saltare” la visualizzazione di uno o più file che si intendono nascondere, indipendentemente da quale sia l’applicativo che sta effettuando la scansione. foto ansa La “tecnica dell’hooking”, come molte altre utilizzate dagli Spyware, non può essere disabilitata a livello di sistema operativo perché è indispensabile per il corretto funzionamento di molti driver e alcuni applicativi legittimi (in primis gli stessi software di sicurezza, in particolare gli antivirus). In alcuni casi è estremamente difficile trovare uno Spyware evoluto in un sistema “vivo”. Se questo prevede comunicazione verso l’esterno per l’esportazione dei dati raccolti nel sistema infetto, il momento della comunicazione è anche il suo punto debole: uno sniffer sarà in grado di registrare i dati trasmessi evidenziando la presenza di un software anomalo nel sistema, ma la ricerca dei file che lo costituiscono e lo studio dei suoi meccanismi interni di funzionamento dovrà essere effettuato manualmente. Se lo Spyware si rivelasse particolarmente resistente ai tentativi di identificazione e rimozione, potrebbe essere necessario analizzare i filesystem del sistema infetto su un PC differente, non avviando quindi il sistema operativo contaminato dallo Spyware, bensì un esemplare certamente “pulito”. In questa condizione nessuno Spyware è in grado di attivarsi e nascondersi. Da questa breve panoramica emerge come esistano differenti tecniche di controllo di un PC, nessuna delle quali è in grado di garantire la raccolta di dati completi e coerenti e allo stesso tempo risulti impossibile da scoprire. Allo stesso modo, non esiste uno strumento di difesa che metta completamente al riparo dalla minaccia. |
(1)PSTN: “Public Switched Telephone Network” è la rete telefonica analogica tradizionale
(2)ISDN: “Integrated Services Digital Network” è la rete digitale per telefonia e servizi (3)ADSL: “Asymmetrical Digital Subscriber Line” è la tecnologia per connessioni a banda larga più diffusa in Italia e sfrutta il normale doppino telefonico come mezzo trasmissivo (4)RAS: “Remote Access Server” (o Service) (5)Router: dispositivo preposto allo smistamento dei pacchetti tra differenti segmenti di rete (6)ISP: “Internet Service Provider” (7)Firewall: dispositivo, o modulo software, preposto all’applicazione di regole di sicurezza su un flusso dati in transito sulla rete. Il firewall può bloccare o consentire il passaggio di pacchetti e sessioni attraverso il nodo di rete che controlla oppure le schede di rete del PC su cui è installato. Normalmente un firewall è in grado anche di avvertire l’utente dell’esistenza di pacchetti e sessioni che violino le regole di sicurezza impostate. (8)Sniffer: dispositivo o modulo software in grado di registrare i dati in transito attraverso le interfacce di rete controllate. Spesso è dotato di una interfaccia utente in grado di visualizzare i dati acquisiti in un formato utile alla loro analisi da parte dell’utente. (9)LAN: “Local Area Network” è la generica definizione delle reti locali presenti all’interno di una struttura informatica. La tecnologia più diffusa per la realizzazione delle LAN è chiamata “Ethernet”. (10)Stack ISO/OSI: in italiano “Pila ISO/OSI”, è il modello architetturale che descrive i protocolli impiegati in una rete telematica come una pila. Al livello più basso vi sono i protocolli di minor livello di astrazione, più vicini quindi allo strato “fisico” del trasporto dei dati. Al livello più alto vi sono i protocolli applicativi, che consentono il dialogo tra software ad elevato livello di astrazione. Questo modello è nato per assicurare la massima interoperabilità tra dispositivi e applicativi differenti ma non è detto che tutti i sistemi informativi vi siano conformi o che tutti gli applicativi sfruttino esplicitamente tutti i livelli della pila. (11)TCP/IP: Protocollo per il trasporto dati impiegato su Internet. Il protocollo IP “Internet Protocol” (livello 3 della pila ISO/OSI) assicura la consegna dei pacchetti (anche detti datagrammi) tra due sistemi (anche detti host) collegati ad Internet. Il TCP, “Transmission Control Protocol” è un protocollo di livello 4 che viene trasportato all’interno dei pacchetti IP e consente di stabilire una connessione virtualmente diretta tra due sistemi, assicurando che tutte le informazioni trasmesse arrivino a destinazione nello stesso ordine con il quale sono state trasmesse. (12)ASCII: American Standard Code for Information Interchange. Lo standard che definisce la corrispondenza tra simboli alfanumerici e codici numerici, così come vengono elaborati i caratteri all’interno dei computer. (13)SMTP: “Simple Mail Transfer Protocol”, basato su TCP, serve per spedire posta elettronica da un client verso un server e tra server e server. (14)POP3: “Post Office Protocol version 3”, basato su TCP, è il protocollo più utilizzato per prelevare posta elettronica da un server. (15)IMAP: “Internet Message Access Protocol”, basato su TCP, permette di prelevare posta elettronica da un server. Nella versione 4 è sensibilmente più flessibile ed evoluto del protocollo POP3, permettendo ad esempio di compiere ricerche sui messaggi ricevuti senza doverli prelevare interamente dal server, tuttavia non è largamente diffuso. (16)WWW/WEB: “World Wide Web” l’insieme dei server che distribuiscono documenti tramite una tecnologia ipertestuale multimediale denominata HTML (HyperText Markup Language) e il protocollo HTTP (HyperText Transfer Protocol). (17)Crittografia asimmetrica o a chiave pubblica: è un tipo di crittografia relativamente giovane (inventata circa 30 anni fa, ma che ha visto una ampia diffusione solo in tempi più recenti). Permette la cifratura di un messaggio con la chiave del destinatario dell’informazione (detta chiave pubblica) e la decifratura dello stesso messaggio con una chiave differente, (detta chiave privata) che è legata algoritmicamente alla chiave pubblica ma non è derivabile da questa. Il vantaggio della crittografia asimmetrica è quello di poter instaurare comunicazioni cifrate tra due punti senza dover preventivamente scambiare e condividere una chiave segreta tra questi. Gli algoritmi crittografici a chiave pubblica sono anche alla base delle tecnologie di firma digitale. (18)Crittografia simmetrica: è la crittografia più “tradizionale”, che fa uso di algoritmi in grado di elaborare blocchi o sequenze di informazioni utilizzando la medesima chiave per le operazioni di cifratura e decifratura. (19)SSL: “Secure Socket Layer” è una tecnologia che integra, tramite apposite API, cifratura su connessioni TCP. È impiegata anche nell’HTTPS, ossia il protocollo HTTP con estensioni crittografiche trasparenti all’utente finale. (20)VPN: “Virtual Private Network” è il termine generico per definire le tecnologie che consentono l’instaurazione di un canale crittografico che incapsuli il traffico di rete a livello 3 (IP). Grazie a queste tecnologie è possibile trasportare protocolli nativamente non sicuri attraverso un canale cifrato senza dover modificare gli applicativi esistenti né richiedere alcun tipo di intervento da parte dell’utente. (21)IPSEC: “IP Security” è una tecnologia diventata lo standard tecnologico per la realizzazione di VPN che richiedano interoperabilità tra dispositivi e software differenti. (22)Keylogger: un dispositivo hardware o un modulo software in grado di registrare quanto viene digitato sulla tastiera di un PC. (23)Scancode: è il singolo messaggio inviato dalla tastiera verso l’unità centrale che lo interpreta convertendolo in un codice alfanumerico o in un simbolo, in funzione degli applicativi e del linguaggio impostato nel sistema. (24)File-system: è l’insieme della struttura in base alla quale sono organizzati i file e le directory su una unità di memoria di massa e il software necessario a gestirla. Alcuni filesystem di larga diffusione sono FAT (File Allocation Table, del DOS e Windows 95/98/ME), NTFS (New Technology File System, di Windows NT, 2000, XP, 2003, etc.), Ext2/3 (Linux) e anche ISO9660 e Joliet (entrambi standard per file-system dei CDROM). (25)Spam: Messaggi di posta elettronica “spazzatura”. Tipicamente si tratta di messaggi pubblicitari non richiesti che sovente “infestano” le caselle di posta elettronica. (26)Worm: un particolare tipo di software che si diffonde autonomamente tra i sistemi interconnessi, sfruttando specifici errori di programmazione o di configurazione del software presente in essi. Gli attuali worm attaccano principalmente sistemi Microsoft Windows e si diffondono tramite exploit dei browser o dei client di posta elettronica. (27)Trojan horse: è un oggetto software che appare inoffensivo e viene attivato deliberatamente dall’utente. Questo software esegue una procedura più o meno maligna, danneggiando il sistema o installando backdoor, dialer, spyware o altro. (28)Exploit: procedura o strumento in grado di trarre vantaggio da una vulnerabilità di un software. Tipicamente l’Exploit è il modulo software che consente ad un worm o un utente maligno di violare un sistema e di installare successivamente una backdoor. (29)Browser: con il nome di browser si definiscono genericamente i client per la “navigazione” nel World Wide Web, ossia i client del protocollo HTTP, con annesso interprete e visualizzatore HTML. (30)Backdoor: è un sistema di accesso “non ufficiale” alle risorse di un sistema. Spesso è costituito da un piccolo software nascosto nel PC, a volte può trattarsi anche di una configurazione del sistema operativo tale da consentire un accesso amministrativo non controllato. Le backdoor più sofisticate conosciute integrano meccanismi di cancellazione delle tracce dell’utente maligno che le utilizza, occultazione dei processi avviati illegittimamente e altre utility, a volte anche definite collettivamente “rootkit” (da “root” che è il nome dell’account da amministratore del sistema in UNIX). (31)API: “Application Program Interface” è l’insieme di routine, funzioni di sistema o chiamate di libreria che consente la creazione delle applicazioni. Spesso si parla di API riferendosi all’interfacciamento a specifiche funzionalità (es. API crittografiche, API multimediali, API di rete, etc.). (32)IDS: Intrusion Detection System, un dispositivo hardware o strumento software in grado di individuare attività sospette, potenzialmente riconducibili ad attacchi informatici, esaminando i dati in transito sulla rete (Network IDS, che opera come uno sniffer) o le attività del sistema operativo. |