Il protocollo TCP / IP offre un modo affidabile per determinare chi era il mittente effettivo?

23

Quindi sto provando il protocollo TCP / IP usando una libreria Ruby chiamata PacketFu , e sembra me che in ogni pacchetto, è possibile impostare tutti i seguenti

  • Source IP
  • Indirizzo di destinazione
  • Indirizzo MAC sorgente
  • Indirizzo MAC di destinazione

e un sacco di altre cose.

Ecco la mia domanda:

Ciò che mi impedisce di annusare una rete, ottenere l'indirizzo IP / MAC di di qualcun altro e poi inviare pacchetti che fingono di essere loro e correre su Internet incolpando tutti i miei errori (supponendo che io sia) m agendo maliziosamente) sul proprietario delle credenziali che sto usando?

    
posta OneChillDude 17.04.2014 - 19:18
fonte

1 risposta

29

Gli attaccanti comuni di basso livello (cioè le persone nella loro casa) non possono spoofingare efficacemente il loro indirizzo IP per la connessione TCP perché non riceveranno risposte. Ricorda che l'IP instrada i pacchetti in base all'indirizzo di destinazione, quindi se invii un pacchetto con un indirizzo di origine falso, potrebbe comunque raggiungere la destinazione. Alcuni router potrebbero essere offesi nel vedere un pacchetto con un indirizzo di origine "impossibile", nello stesso modo in cui quando vedi un amico rientrare dalle vacanze con un'abbronzatura intensa, e afferma di essere in Gran Bretagna, allora non lo fai. Gli credo davvero. Tuttavia, è probabile che il pacchetto andrà e raggiungerà la sua destinazione.

Qualsiasi risposta , tuttavia, andrà al presunto indirizzo sorgente, non a quello reale. L'attaccante non vedrà le risposte e quindi dovrà lavorare ciecamente. Questa è una sfida per TCP, a causa del handshake a tre vie : per stabilire la connessione, il client deve essere in grado di inviare al server un pacchetto "ACK" contenente il numero di sequenza che il server ha restituito nel suo "SYN + ACK". Quel numero di sequenza è scelto a caso, come numero intero a 32 bit; i moderni sistemi operativi ora utilizzano generatori di numeri casuali ragionevolmente potenti (imprevedibili) (si veda RFC 1948 ). Ciò implica che il nostro attaccante di spoofing ha una sola possibilità in circa 4 miliardi per farlo bene.

La linea di fondo è che quando viene stabilita una connessione TCP, allora il server ha una certa garanzia che chiunque stia parlando può vedere i pacchetti inviati dal server al presunto indirizzo IP del client. Pertanto, la falsificazione dell'indirizzo IP per le connessioni TCP è possibile solo se si è molto vicini al presunto proprietario dell'indirizzo IP (sulla stessa sottorete / punto di accesso WiFi) o se si ha il controllo di un router nel percorso tra il server e il presunto indirizzo IP. Quest'ultimo caso significa che sei un attaccante piuttosto serio, non solo uno script kiddie nella sua cantina.

Gli indirizzi MAC sono puramente locali: non sono importanti e non vengono trasmessi oltre la sottorete locale. Un server remoto non lo vedrà. La modifica dell'indirizzo MAC è utile solo per ingannare gli switch locali e i punti di accesso che impiegano il filtro MAC.

    
risposta data 17.04.2014 - 19:34
fonte

Leggi altre domande sui tag