Il routing è una scatola nera
In genere non hai modo di sapere in che modo la tua comunicazione viene instradata attraverso internet. Non sai mai quali router trasmettono le tue comunicazioni e chi le controlla. I router possono essere configurati per deviare determinati tipi di traffico per passare attraverso server non affidabili e gli endpoint non hanno alcun modo per rilevarli. Potresti conoscere il programma traceroute
(UNIX) o tracert
(Windows) che scopre il percorso tra te e un altro host, ma il traffico di rete generato da questo strumento ha un aspetto e un comportamento molto diversi dal normale traffico, il che rende questo strumento abbastanza inaffidabile. Il traffico normale potrebbe richiedere un percorso completamente diverso da quello che mostra il traceroute.
Indirizzo spoofing
Ogni pacchetto IP include sia l'indirizzo IP a cui è inviato sia l'indirizzo da cui è stato originato. Tuttavia, per impostazione predefinita non esiste alcuna verifica che l'indirizzo di origine sia realmente l'indirizzo dell'host che ha creato il messaggio. Ciò consente a qualsiasi host di creare un pacchetto IP con l'IP di origine di qualsiasi altro host e sostenendo che lo storni da esso. Questo problema è molto più grave per UDP / IP di TCP / IP, perché TCP / IP richiede un handshake SYN / ACK / SYN-ACK per stabilire una connessione, che funziona solo quando l'IP di origine del pacchetto che effettua la connessione è corretta. Tuttavia, c'è anche ...
Indentazione del numero di sequenza
Quando due host hanno stabilito una connessione, ogni pacchetto scambiato è numerato. Quando un utente malintenzionato sa che due host comunicano tra loro e possono indovinare il prossimo numero di sequenza, possono spoofare un pacchetto di questo tipo per iniettare dati falsificati nella comunicazione.
E un'altra applicazione di spoofing dell'indirizzo è:
SYN-Flooding
Questo è un attacco denial-of-service in cui l'host attaccante invia molti pacchetti SYN (richieste di apertura di una connessione) all'host di destinazione. Tuttavia, altera l'IP di origine con indirizzi casuali, quindi il server invia un pacchetto ACK (accettazione della connessione) a un host che non lo ha mai richiesto. Attenderà quindi il pacchetto SYN-ACK (conferma di accettazione da parte dell'iniziatore) fino al timeout. Questo può vincolare una grande quantità di risorse sull'host e impedire che accetti connessioni legittime. Anche se ciò non comporta alcuna esposizione dei dati o manipolazione dei dati, è ancora un metodo utilizzato frequentemente per impedire temporaneamente agli utenti di raggiungere un determinato host.
E se fosse effettivamente necessario leggere la risposta di un host a un pacchetto contraffatto? Bene, allora hai:
ARP spoofing
Strettamente parlando, questo non è un difetto in TCP / IP ma nel relativo Address Resolution Protocol che lega gli indirizzi IP alle interfacce di rete. Tuttavia, influisce sulla sicurezza della comunicazione IP, perché consente a un host di "rubare" l'indirizzo IP di un altro host in modo che tutti i futuri pacchetti IP vengano reindirizzati. Lo spoofing ARP di solito funziona solo nello stesso segmento di rete. Inoltre, un attacco di poisioning ARP può essere rilevato e le apparecchiature di rete di livello aziendale sono in genere in grado di prevenirlo.
A proposito: Inutile dire che l'utilizzo di uno dei metodi descritti qui è illegale in molte parti del mondo. Tuttavia sono frequentemente utilizzati da criminali e istituzioni governative in tutto il mondo.