Considera quanto segue ...
Alice e Bob stanno comunicando tramite TCP. Attualmente, il prossimo numero di sequenza TCP previsto è 1000. Charlie, fingendo di essere Alice, invia un pacchetto TCP contraffatto a Bob con un numero di sequenza di 1003. Il computer di Bob tiene questo pacchetto pensando che sia arrivato fuori servizio. Nel frattempo, Alice continua a inviare pacchetti a Bob, sequenziati come 1000, 1001 e 1002. Ora il computer di Bob elabora il pacchetto TCP contraffatto pensando che sia il prossimo in sequenza.
In questo scenario, supponendo che la mia comprensione sia corretta, sembra che l'attaccante non abbia bisogno di predire esattamente il prossimo numero di sequenza, ma piuttosto deve solo indovinare il numero di una sequenza che è maggiore o uguale alla sequenza corrente , ma anche abbastanza vicino al numero di sequenza in modo che non scada ... come sicuramente non manterrà per sempre il pacchetto out-order.
Questo solleva le seguenti domande ...
1) La mia comprensione dello scenario che ho descritto è corretta?
2) Che cosa determina la durata di conservazione di un pacchetto fuori ordine, mentre attende i pacchetti precedentemente inviati?
3) Cosa succederebbe alla sessione TCP quando Alice alla fine manda un pacchetto con la sequenza TCP 1003, dato che il pacchetto spoofed di Charlie è già stato processato?