Reading Time: 5 minutes

Debolezze del protocollo IP

Abbiamo già visto in un altro articolo le varie caratteristiche e funzioni che competono al protocollo IP.

Dall’analisi delle suddette funzionalità, si deduce che IP non garantisce nessuno dei requisiti di sicurezza fondamentali.

Riservatezza e integrità dei dati trasmessi non sono previste. La disponibilità del servizio è gestita con approccio best effort. Il servizio offerto dal protocollo, non prevede protezioni specifiche contro attacchi passivi o attivi sui flussi di pacchetti in transito sulla rete. Manca di un adeguato livello di protezione sia per i parametri contenuti nell’intestazione, sia per le informazioni trasportate nel corpo dei datagrammi IP.

L’architettura TCP/IP è progettata in modo che le informazioni contenute nel corpo del datagramma IP risultino di competenza solo delle stazioni finali direttamente coinvolte nello scambio dei datagrammi.

Ciò nonostante un attaccante può non rispettare questa convenzione e, una volta intercettato un pacchetto, può estrarne il campo dati compromettendo la confidenzialità del servizio, o alterare il contenuto compromettendone l’integrità.

In condizioni di normale esercizio, i gateway attraversati dai datagrammi IP sono autorizzati a modificare alcuni campi dell’intestazione del pacchetto (per registrare il nuovo TTL, ad esempio).

Questa funzione può essere utilizzata in maniera non legittima, da parte di un attaccante posto lungo il percorso seguito dai pacchetti (condizione chiamata Man-in-the-Middle), per nascondere le manipolazioni effettuate sul datagramma.

Le modifiche possono essere facilmente mascherate a livello di rete, agendo opportunamente sulla checksum dell’intestazione IP.

In una rete IP è possibile iniettare informazioni false agendo in due modi:

  1. modificando il flusso di pacchetti IP scambiato tra soggetti legittimi
  2. sostituendosi ad uno dei due partecipanti

La scelta dell’attaccante per una o l’altra tecnica dipende dalla possibilità di rimuovere o meno i datagrammi IP prodotti dalle stazioni legittime.

Se i datagrammi IP possono essere rimossi dall’attaccante o sono silenziosamente scartati dalle componenti legittime, l’attacco generalmente si basa sulla sostituzione di identità IP.

La principale vulnerabilità del protocollo IP consiste infatti nell’impossibilità di stabilire chi ha realmente immesso il datagramma nella rete.

Alla luce delle precedenti considerazioni appare evidente come l’attaccante possa agire arbitrariamente sul campo Indirizzo Sorgente per far assumere alla sua stazione un’identità IP diversa da quella legittimamente assegnata dal provider o dall’amministratore di rete locale.

L’indirizzo IP inserito come indirizzo sorgente non viene generalmente validato dai gateway coinvolti nell’instradamento rendendo di fatto possibile per l’attaccante assumere anche identità riconducibili a sottoreti diverse da quella di appartenenza.

Questa tecnica viene generalmente indicata come IP Spoofing.

Pur non essendo un attacco completo, l’IP Spoofing risulta essere una tecnica base tra le più usate per la conduzione di attacchi più complessi.

Infatti, nonostante la relativa semplicita con cui un hacker può attribuirsi un qualsiasi indirizzo IP, molti server, validano le richieste di servizio che pervengono loro proprio sulla base dell’indirizzo IP della presunta stazione sorgente.

Nelle reti dati, l’IP Spoofing esiste in due forme distinte, tra loro differenziate sulla base della condizione in cui si colloca l’attaccante.

La forma più semplice è quella che prevede la condizione man-in-the-middle. Questa situazione è particolarmente pericolosa perchè permette all’hacker, che assume un’identità IP arbitraria, di intercettare i pacchetti di ritorno prodotti dalla stazione destinazione, target dell’attacco.

L’eliminazione fisica dei datagrammi IP di ritorno è sufficiente per mascherare la presenza dell’attaccante alle stazioni che posseggono l’identità oggetto di spoofing.

La forma più complessa di IP Spoofing prevede invece un attaccante non in grado di intercettare i pacchetti di ritorno. In questo scenario l’attaccante viene definito cieco e la tecnica condotta viene indicata come Blind IP Spoofing.

Pur procedendo alla cieca, la conoscenza dettagliata dei protocolli e degli applicativi utilizzati dagli utenti legittimi per la fruizione di un dato servizio, può consentire all’hacker di creare un flusso di pacchetti coerente con le risposte prodotte dal server (risposte che non è in grado di intercettare).

Indipendentemente dalla tecnica utilizzata, la conduzione di un IP Spoofing compromette la possibilità di identificare la sorgente dei datagrammi IP.

Una tecnica diversa per iniettare false informazioni, consiste nell’inviare frammenti IP duplicati (Duplicated Fragment Attack).

Questo approccio richiede, quale condizione preliminare, che l’hacker sia in grado di forzare la frammentazione dei datagrammi inviati dalla sorgente legittima.

Se ciò avviene, l’attaccante può inviare al target frammenti duplicati, formalmente identici a quelli prodotti dalla sorgente, ma con un campo dati contenente informazioni diverse dalle originali.

Alcuni sistemi operativi prevedono che, in caso di ricezione di frammenti duplicati, deve essere ritenuto valido il frammento ricevuto per primo, altri sistemi quello ricevuto per ultimo.

Tenendo conto di questo principio, all’attaccante basta conoscere la natura del sistema operativo del target per inviare con successo falsi frammenti, riuscendo così a sovrascriverele informazioni della sorgente con le proprie.

Vulnerabilità nell’implementazione del protocollo IP

Negli ultimi anni sono state riscontrate molte vulnerabilità, che possono essere sfruttate per condurre attacchi contro le funzionalità IP.

L’effetto cercato dall’attacco è generalmente compromettere la disponibilità del servizio (attacchi DoS).

Gli attacchi DoS, a livello IP, più noti sono i seguenti:

  • Land Attack: l’attaccante invia all’obiettivo uno o più pacchetti con indirizzo sorgente e destinazione uguali, coincidenti con l’indirizzo IP del target stesso.
    Alcuni sistemi operativi non gestiscono correttamente questo evento e tentano di rispondere alla richiesta aprendo un canale di comunicazione sul sistema target stesso.
    Questo causa un generale rallentamento del sistema.
  • TearDrop Attack: L’attaccante crea frammenti IP sovrapposti (generalmente usando IP Spoofing), che il sistema target cerca di riassemblare senza successo.
    L’attacco può essere condotto alterando opportunamente i valori trasportati nel campo offset dell’indirizzo IP.
    In alcuni casi questo attacco riesce a causare il blocco completo o la terminazione anomala (crash) del sistema operativo sulla stazione target.
  • PingofDeath Attack: L’attaccante invia al target un PING di dimensioni superiori a 65535 byte, causando il blocco o il riavvio della stazione remota.
    Per riuscire a spedire un datagramma IP, di lunghezza superiore alla massima ammessa dal protocollo, il software sulla stazione dell’attaccante procede alla frammentazione all’origine del pacchetto.
    Manipolando opportunamente la lunghezza e il valore del campo offset dell’ultimo frammento, il datagramma IP origine può apparire più lungo della lunghezza massima consentita.
    Con questa impostazione la funzione di riassemblaggio da origine a una condizione di buffer overflow.
  • TinyFragment Attack: l’attaccante invia numerosi frammenti IP molto brevi tentando di bloccare o ottenere il crash del sistema target durante il riassemblaggio.
  • ZeroLength Attack: l’attaccante invia un pacchetto IP impostando il campo lunghezza del datagramma a 0.
    Come conseguenza, la stazione target che riceve il pacchetto può rimanere bloccata.
  • LastFragmentLengthChanged Attack: l’attaccante modifica la lunghezza dell’ultimo frammento IP, bloccando la stazione target nell’attesa infinita della parte mancante per completare il riassemblaggio e consegnare il pacchetto ai livelli superiori.
  • EmptyFragment Attack: l’attaccante invia un frammento IP privo di campo dati.
    Come conseguenza, la stazione target che riceve il pacchetto può rimanere bloccata.

La conduzione di questi attacchi è molto spesso semplificata dalla larga diffusione di tool software, che li rendono semiautomatici e abbassano il livello di comprensione/conoscenza dei protocolli TCP/IP richiesto dall’attaccante (di fatto basta essere a conoscenza dei tool e seguire scrupolosamente le istruzioni da eseguire, come fanno gli script kiddies).

error: Content is protected !!

La maggior parte dei contenuti del blog ComputerSec vengono pubblicati a beneficio di tutti e in modo completamente gratuito.
Tuttavia per supportare il blog, e per avere ulteriori vantaggi, puoi decidere di abbonarti e sfruttare al 100% tutti i contenuti!
Abbonati Ora!

Complimenti! Ti sei iscritto alla nostra Newsletter

C'è stato un errore durante l'invio della richiesta. Per favore riprova.

Computer Security will use the information you provide on this form to be in touch with you and to provide updates and marketing.