Se un utente malintenzionato è in grado di leggere i pacchetti IP perché nulla gli impedisce di farlo nella rete (ad es. IPsec) allora sì, può inviare pacchetti predisposti con lo stesso campo ID di quelli legittimi. IP non protegge questo valore dalla lettura.
L'attaccante deve prevedere quale sarà il campo di identificazione nel pacchetto se non ha ancora visto un frammento o se lo annusa e invia un pacchetto / frammento abbastanza veloce da essere preso in considerazione.
C'è una corsa tra il pacchetto / frammento inviato nello stesso tempo dall'utente legittimo e quello inviato da un utente malintenzionato a meno che l'attaccante non si trovi in una posizione man-in-the-middle e possa interrompere e sostituire i pacchetti legittimi.
Come i frammenti vengono rimontati dipendono dai sistemi operativi, uno può preferire il primo frammento che è stato ricevuto con un certo offset, un altro potrebbe preferire l'ultimo (la prima opzione è più comune nei casi di sovrapposizione inversa, la seconda è più comune in casi di sovrapposizione in avanti). Un ottimo materiale è stato pubblicato anni fa su di esso.
È difficile rilevare e prevenire, potrebbero essere utilizzati gli stessi meccanismi di quelli per impedire lo spoofing IP:
- IPsec
- Protezioni di livello 2 (802.1x ...)
- Verifica l'origine IP (filtro dei pacchetti dall'esterno della tua rete che dichiara di trovarsi all'interno)
Ma nulla in IP stesso può impedirlo.