Che cos’è, cosa significa e come funziona uno spoofing in informatica

Che cos’è, cosa significa e come funziona uno spoofing in informatica

Un attacco nell’ambio della sicurezza informatica di tipo spoofing (in italiano, letteralmente “falsificazione“) si verifica quando una persona o un programma altera la propria identità elettronica spacciandosi per qualcun altro, acquisendo così privilegi in maniera illegittima. Esistono varie forme di spoofing: in primo luogo l’IP spoofing permette di alterare l’indirizzo IP per mascherare la sorgente di un attacco o per superare alcuni sistemi di autenticazione basati su ACL (Access Control List). Un altro tipo di attacco spoofing è rappresentato dal cosidetto webpage spoofing, noto più comunemente con il nome di phishing. In questo caso un sito legittimo, come ad esempio di una banca, viene riprodotto fedelmente su un altro server, con lo scopo di far inserire agli utenti dati sensibili (nome utente o user-id e password) per carpirli in modo del tutto trasparente all’utente ormai vittima dell’attacco, sfruttando gli account ottenuti per azioni illecite.

La seguente figura mostra come avviene un attacco di spoofing.

Definizione di Spoofing in informatica
Attacco Spoofing

Pertanto, indovinando o riuscendo ad ottenere le credenziali di autenticazione di rete di un qualsiasi utente o comunque una qualsiasi entità, un aggressore può creare una comunicazione completa sotto l’identità dell’utente. Perciò, in altre parole, in una rete di computer con il termine “spoofing” s’intende il sistema che permette di creare un pacchetto IP, ad hoc, nel quale viene falsificato l’indirizzo IP del mittente. Durante lo spoofing, infatti, l’attaccante autentica la propria macchina nelle rete bersaglio usando i pacchetti che provengono da un host “fidato”.

Detto ciò, possiamo dunque distinguere le tecniche di spoofing in:

  • Spoofing dell’IP
  • Spoofing del DSN
  • Spoofing dell’ARP
  • Web Spoofing
  • SMS Spoofing
  • Mail Spoofing

IP Spoofing

L’Ip spoofing è l’attacco più diffuso dal momento che è il più facile da eseguire. Tale attacco è reso possibile dal fatto che la maggior parte dei router all’interno, per esempio, delle reti aziendali controllano durante la richiesta di accesso ai servizi, solo l’indirizzi IP di destinazione e non quello di provenienza. Nell’intestazione di un pacchetto IP si trova, come detto in precedenza, il Source Address dove si trova l’indirizzi IP del mittente. Se chi attacca, modifica questo campo può far credere, al sistema bersaglio, che un pacchetto IP sia stato trasmesso da una macchina differente ricevendo le risposte direttamente sul falso IP.

Gli attacchi di IP Spoofing possono essere divisi in tre categorie:

  • IP Spoofing non cieco: è attuabile in una rete LAN; quando chi attacca cerca di farsi passare per un host che è nella sua stessa sottorete .
  • IP Spoofing cieco : quando l’attaccante cerca di farsi passare per un host di una qualsiasi sottorete.
  • Attacchi DoS: l’attaccante cerca di bloccare un host per impedire a quest’ultimo di svolgere la normale attività oppure per prenderne il controllo .

Spoofing non Cieco

Solitamente i vari host (PC) di una sottorete sono collegati da apparecchi (HUB) che, per far arrivare un pacchetto ad un determinato host, lo trasmettono in broadcast (Contemporanenamente) a tutti i computer della sottorete.

Quando il pacchetto arriva ad un determinato host, quest’ultimo esamina l’indirizzo di destinazione contenuto nel pacchetto. Se questo indirizzo coincide con quello dell’host stesso, il pacchetto viene processato, altrimenti viene scartato in quanto era destinato ad un altro host. Tuttavia esiste una modalità particolare in cui è possibile impostare la scheda di rete: la modalità promiscua. Quando la scheda di rete si trova in questa modalità, permette di processare tutti i pacchetti che arrivano. Come già accennato sopra, nel caso dello Spoofing non cieco l’attaccante sta cercando di farsi passare per un host che fa parte della sua sottorete; quindi, impostando la scheda di rete in modo promiscuo, egli riesce a leggere tutti i pacchetti indirizzati all’host che intende impersonare e può così scoprire Sequence number e Acknowledgement number della connessione in corso e cercare di inserirvisi.

Alcuni tipi di attacchi che possono essere messi a segno con questa tecnica sono la chiusura di una connessione esistente e l’Hijacking.

IP Spoofing Cieco

Quando si parla di IP Spoofing solitamente ci si riferisce all’IP Spoofing cieco. Con questa tecnica l’attaccante cerca di farsi passare per un host qualunque d’internet, non facente parte della sottorete in cui si trova. In questo caso si parla di Spoofing cieco in quanto l’attaccante non avrà nessuna possibilità di vedere i pacchetti mandati in risposta ai pacchetti (spoofati) che ha spedito. Questi ultimi infatti saranno indirizzati all’host che egli sta impersonando, impedendogli quindi di venire a conoscenza del Acknowledgement number e Sequence number corretti per continuare la connessione.

Molte volte alcuni server danno un accesso privilegiato a degli host fidati attraverso servizi di “rlogin” senza password o servizi simili. In un caso di questo tipo l’unico controllo è fatto sul numero IP sorgente della connessione, quindi se un attaccante riuscisse ad aprire una connessione spoofando il proprio IP potrebbe lanciare dei comandi al server facendogli credere di essere l’host fidato.

Un problema che si presenta all’attaccante ancora prima della predizione del Sequence number del secondo pacchetto è che l’host che egli cerca di impersonare, non appena riceverà il secondo pacchetto, si renderà conto che non sta cercando di aprire una connessione:

quindi avviserà il server mandandogli un pacchetto di reset rendendo nullo il lavoro dell’attaccante. Per impedire che ciò accada, quest’ultimo o aspetta che l’host da impersonare sia spento, o può cercare di “buttarlo giù” con un attacco del tipo Denail of Service.

Spoofing del DNS

Il DNS Spoofing è un termine che viene usato quando un DNS accetta ed usa informazioni non corrette fornite da un host che non ne ha l’autorità. Tale attacco può essere attuato in tre modi:

  • Cache poisoning
  • Simulazione delle risposte del DNS
  • Manomissine fisica del DNS

DNS (Domain Name Server) è il sistema utilizzato per effettuare la conversione tra indirizzo IP e il nome dell’ host. Esso può essere considerato come un database di grandi dimensioni distribuito tra più host in internet. Il servizio permette così di utilizzare i nomi e le parole di uso comune per ricercare ad esempio un sito internet.

Le garanzie vengono affidate al protocollo del DNS stesso: tale protocollo ha però delle vulnerabilità.

Come possiamo notare dal DNS Header, l’ID, formato da 16 bit, viene generato ogni volta che si deve fare una richiesta.Il campo che interessa agli Spoofer è il campo “Questions” :

ogni domanda ha un type, ed ogni risposta ha un type (per Type si intende la corrispondenza tra IP address e canonical name).

Un attacco basato sulla simulazione delle risposte,deve essere in grado di considerare tre variabili:

  • l’ID: formato, come detto in precedenza da 16bit, è piccolo e facile da prendere
  • la risposta: poiché ci sono servizi che interrogano il DNS di continuo, con un delay fisso tra le richieste, è possibile predire anche il momento in cui viene fatta una richiesta al DNS
  • Porta UDP: solitamente il BIND (ovvero il server DNS più usato in internet) si affida al numero di porta progressivo fornito dal

Per difendersi da un attacco che simuli le risposte del DNS, occorrerà semplicemente utilizzare un resolver che genera un “ID truly random” e che scelga un numero di porta “truly random” in modo da aumentare in maniera sostanziale la sicurezza del DNS.

Spoofing dell’ARP

Questo tipo di Spoofing è una variante sul tema dello spoofing IP e sfrutta un punto debole molto simile.

Un computer collegato a un network basato su IP/Ethernet ha due indirizzi: uno è l’indirizzo fisico della scheda di rete ed è chiamato MAC address, mentre il secondo è l’indirizzo IP.

  • L’indirizzo fisico o MAC Address è , in teoria, un indirizzo unico e non sostituibile, che è immagazzinato all’interno della scheda di rete.
  • L’indirizzo IP è virtuale, cioè viene assegnato via software.Su un segmento di rete è necessario che ogni macchina abbia un indirizzo univoco, ed assegnato solo a quella macchina.

I pacchetti IP sono consegnati attraverso l’Ethernet, il quale divide i pacchetti in frames, aggiunge l’header ethernet per la consegna e spedisce i pacchetti attraverso il cavo di rete fino allo switch. Lo switch decide a quale delle sue porte deve spedire il frame, comparando l’indirizzo di destinazione del frame con gli indirizzi memorizzati nella sua tabella interna, nel quale “mappa” la porta ethernet al MAC Address della scheda a cui è collegato; è quindi necessario trovare un modo per cui partendo da un indirizzo IP (virtuale) risalire all’indirizzo fisico (reale).

Questo meccanismo di chiama ARP, ovvero Address Resolution Protocol, tale lavora inviando verso l’esterno con un broadcast un pacchetto ” ARP request “. Un pacchetto ARP request in poche parole, invia a tutti i computer della rete una domanda: ” Il tuo indirizzo IP è x.x.x.x? se si inviami indietro il tuo indirizzo MAC “.

Come detto questo pacchetto viene spedito in broadcast a tutti i computer sulla rete che sia una LAN (Local Area Network) che uno “switched lan” ( rete complessa ) e ciascun computer esamina il pacchetto, verifica se ha assegnato in quel momento l’indirizzo IP richiesto nel pacchetto ARP, e se questa condizione è verificata, invia indietro alla macchina richiedente un pacchetto ” ARP reply” contenente il proprio MAC address. A questo punto la macchina che deve inviare il frame ethernet riceve il pacchetto ARP reply, estrae l’indirizzo MAC e invia il pacchetto alla macchina destinataria attraverso la rete.

Per ridurre al minimo il numero delle richieste ARP che vengono inviate su un segmento di rete, i sistemi operativi (e con essi router e switch) immagazzinano una cache delle entry ARP che ha finora ricevuto.

Quando un computer riceve un ARP reply, questo aggiorna la propria tabella con la nuova associazione IP address / MAC address e siccome l’ARP è protocollo SENZA SESSIONE ed è un protocollo INAFFIDABILE (nel senso che il protocollo ARP invia solo la parte dati ed inoltre se il pacchetto ARP non giunge a destinazione non viene re-inviato ad oltranza) molti sistemi operativi e dispositivi che necessitano di fare cache delle entry ARP (router appunto) aggiornano la propria tabella solo nel caso in cui alla macchina giunge una risposta alla sua request (ovvero quando ad un ARP Request, riceve la relativa ARP Reply).

Date queste premesse iniziamo a spiegare cos’è l’ARP SPOOFING ovvero l’invio “forzato” di pacchetti ARP reply, in cui il computer che riceve questo pacchetto ARP reply viene messo in condizione tale per cui crede di spedire i frame ethernet al computer A (ovvero quello legittimo destinatario della connessione) ma che invece fisicamente lo spedisce al computer B il quale ha “spooffato” la entry ARP, creando quindi nella cache della vittima una associazione tra IP inesistente e MACaddress, (vero), del mittente, forzando l’update della macchina bersaglio” e generando quello che si chiama AVVELENAMENTO ARP.

Per difendersi da un attacco del genere si possono usare un Ipv6, un IPsec o una tabella ARP statica, in più si può adottare anche la SARP, Secure ARP ,che permette di autenticare il sender o di creare il port security forzando l’associazione della porta con un solo MAC address. La soluzione migliore è realizzare una connessione 802.1x su server RADIUS che forza l’autenticazione remota.

Web Spoofing

Il web spoofing consiste nel far credere ad un utente che sta visitando il sito web desiderato, con la pagina richiesta, mentre invece, ne guarda un’altra modificata. Questa tecnica fa un uso massiccio di script realizzati con il linguaggio JavaScript. Supponiamo di visitare il sito www.acquisti.net; al momento della connessione al sito, la falsa pagina principale, residente sul server web attaccante e creata opportunamente simile all’originale, si colloca immediatamente tra il nostro browser web e le altre pagine richieste successivamente al server fidato: la finta pagina si comporterà, quindi, come un server proxy non voluto e non visibile. Così, l’attaccante, potrà vedere tutto ciò che vede il visitatore del sito: informazioni, moduli e password. Usando JavaScript, chi attacca, è in grado di reindirizzare la connessione, modificare la barra di stato del browser, disabilitare alcune funzioni dei menu del browser e impedire la visualizzazione del codice della pagina. La soluzione al problema è drastica, bisognerebbe disattivare, dal browser web, il supporto di JavaScript, ma soprattutto visitare solo siti veramente fidati, assicurarsi che la riga degli indirizzi del browser sia sempre visibile, ed infine Fare attenzione all’indirizzo URL visualizzato dal browser, assicurandosi che punti sempre al server a cui si pensa di essere connessi.

SMS Spoofing

Lo spoofing SMS consiste nell’invio di SMS (Short Message Service) il cui mittente è falso oppure inesistente. Tutti gli operatori di telefonia mobile offrono il servizio di invio SMS attraverso appositi Gateway SMS raggiungibili via modem. È possibile collegarsi via telefono a questi gateway ed ottenere il servizio di invio SMS attraverso uno specifico protocollo di comunicazione. Due sono i protocolli usati per comunicare con i gateway SMS:

  1. TAP (Telematic Application Program)
  2. UCP (Universal Computer Protocol)

Mail Spoofing

Con mail spoofing si fa apparire un allegato di una mail come se fosse di un tipo diverso da quello che è realmente. Questo attacco si basa su una vulnerabilità dei MIME TYPE, usati per inviare email (il MIME Type specifica il tipo di dati che vengono trasferiti attraverso il protocollo HTTP o SMTP).

Questo tipo di Spoofing è una tecnica molto semplice, i cui effetti possono essere disastrosi: basta modificare in maniera opportuna il nome dell’allegato da inviare: esempio pratico: il nome allegato è “pippo.exe”, cambiando il nome da: “pippo.exe” a “pippo.jpg ( 255 spazi vuoti) .exe”

Quando l’email arriva, il client interpreterà il nome dell’allegato solo come pippo.jpg. L’ignaro utente cercherà di visualizzare il file, ma in realtà eseguirà involontariamente pippo.exe.

L’esecuzione di um programma creato ah hoc può portare alla perdita di dati oppure all’apertura di una back-door sulla macchina della vittima. L’unica soluzione di difesa a questo tipo di attacco consiste nel NON aprire mai gli allegati di persone non fidate.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *