Checksum di pacchetti

6

Recentemente ho appreso che ogni pacchetto include byte di checksum e che il computer richiederà di nuovo il pacchetto se i checksum non corrispondono. In che modo i seguenti attacchi sconfiggono tale salvaguardia?

Spoofing ARP - Presumo che ciò sia possibile perché l'utente malintenzionato non sta effettivamente modificando il contenuto del pacchetto, ma solo intercettandolo in transito e quindi inoltrandolo al destinatario originale designato. Sono corretto?

Insertion Attacks (tramite spoofing ARP) - Tramite attacchi di inserimento mi riferisco alla sostituzione e sostituzione di testi e immagini. In questo caso, mentre l'attaccante esegue lo stesso tipo di attacco come sopra, so che deve modificare il contenuto del pacchetto (cambiando testo o immagini). Quindi, perché il destinatario non rifiuta il pacchetto?

I checksum possono essere ricalcolati o rigenerati dopo la modifica del pacchetto?

    
posta chubby_monky 23.08.2014 - 05:34
fonte

2 risposte

19

I checksum dei pacchetti non sono misure crittografiche e non sono intesi come una caratteristica di sicurezza. Chiunque (anche un aggressore) può calcolare il checksum per un pacchetto contenente qualcosa, e non ci sono segreti / chiavi coinvolti nel calcolo.

I checksum hanno lo scopo di catturare errori durante la trasmissione del pacchetto: bit capovolti, problemi di comunicazione, ecc. Fondamentalmente, sono lì per affidabilità, non sicurezza.

    
risposta data 23.08.2014 - 05:50
fonte
7

Non solo i checksum possono essere ricalcolati dopo che un pacchetto è stato modificato. Questo accade durante il normale funzionamento dell'IP.

Non è affatto insolito che un router debba aggiornare tre diversi checksum su un pacchetto prima che sia in grado di inoltrare un payload non modificato.

I tre checksum a cui mi riferisco sono su Ethernet, IP e livelli di trasporto dello stack di rete.

Il checksum Ethernet deve essere nuovamente calcolato perché dopo l'inoltro da un router, è in effetti un frame Ethernet completamente nuovo inviato su un segmento Ethernet diverso. Di solito il checksum sul pacchetto in entrata viene verificato e rimosso dall'hardware e il checksum sul pacchetto in uscita viene aggiunto dall'hardware. I due checksum sono completamente indipendenti l'uno dall'altro dalla progettazione, perché IP è progettato per funzionare con diversi livelli fisici, quindi il pacchetto in entrata potrebbe essere Ethernet e in uscita qualcos'altro o viceversa.

Il checksum dell'intestazione IP deve essere nuovamente calcolato perché il router deve effettivamente modificare l'intestazione IP per ridurre TTL.

Il checksum del trasporto (solitamente UDP o TCP) non deve essere aggiornato. L'IP è progettato in modo tale che il router non abbia nemmeno bisogno di conoscere il protocollo di trasporto. Tuttavia, a causa di Internet ancora in esecuzione la versione obsoleta 4 del protocollo, sono stati distribuiti molti dispositivi NAT che modificano alcuni dei campi coperti dal checksum di trasporto. Quando ciò accade, il router deve aggiornare anche il checksum di trasporto. Questo è stato ottimizzato al punto, in cui il router non controlla nemmeno l'intero carico utile per ricalcolare il checksum. Considerando solo il vecchio checksum e il vecchio e il nuovo valore del campo modificato, è possibile calcolare il nuovo checksum. Tutto questo di solito viene fatto senza modificare il carico utile.

Gran parte delle modifiche sopra riportate con IPv6. La parte relativa ai checksum Ethernet è sempre la stessa. Ma il checksum dell'intestazione IP è stato rimosso per semplificare e velocizzare l'elaborazione, era comunque ridondante quando entrambi i livelli al di sotto e al di sopra di IP avrebbero eseguito il checksum dei dati. Inoltre, le modifiche del checksum di trasporto durante il volo sono state una soluzione alternativa a causa delle limitazioni di IPv4. Tali modifiche non sono più necessarie.

Nessuno di questi è legato alla sicurezza. Se vuoi sicurezza contro modifiche dannose dei pacchetti, non ti affidi ai checksum, invece ti affidi ai codici di autenticazione dei messaggi . Il protocollo standardizzato per questo è chiamato IPsec e nella terminologia IPsec, il MAC è chiamato un valore di controllo dell'integrità , perché in senso stretto l'ICV potrebbe essere una firma anziché un MAC.

    
risposta data 23.08.2014 - 15:06
fonte

Leggi altre domande sui tag