Informazioni di base:
Circa il 50% dell'accesso a Internet ADSL e via cavo in Germania (e presumibilmente in alcune parti dell'UE) passa ai router AVM Fritz, sia testualmente o rimarchiati come per es. "1 e 1 Home Server" o "T-Online Box".
Questi sono sistemi MIPS incorporati con un paio di porte Ethernet, una ADSL o una spina simile, e altre cose opzionali (DECT, WLan, porte USB) che eseguono un derivato Linux (2.6 ???).
Circa tre settimane fa, è diventato noto un exploit che permetteva di ottenere l'accesso root al router. L'exploit è stato apparentemente usato per chiamare i numeri di servizio sulle Falklands, caricando gli utenti inconsapevoli.
Il primo comunicato stampa di AVM è stato che non si trattava di una minaccia seria (cosa altro direbbero!) perché richiede l'accesso remoto abilitato, che non è il caso per impostazione predefinita e che la maggior parte degli utenti non ha comunque abilitato .
Alcuni giorni dopo, è stato rivelato che l'exploit non ha nulla a che fare con l'accesso remoto e che qualcuno potrebbe prendere il controllo del router se si visita semplicemente un sito Web altrimenti innocuo che contiene una pagina con codice dannoso. Un aggiornamento del sistema operativo è stato rilasciato lo stesso giorno.
Ieri, è stato affermato che una descrizione dettagliata viene pubblicata su "siti specifici di hacker" mentre diversi milioni di router rimangono privi di patch (cioè vulnerabili).
Domande:
1. Come potrebbe un simile exploit, concettualmente e praticamente funzionare? 1 . Quando visiti un sito Web (o esegui praticamente tutto il resto), il browser esegue una query DNS e apre una connessione TCP all'host remoto. Il router inoltra la query DNS e quindi il NAT il pacchetto SYN (e il SYN-ACK e tutti i seguenti datagrammi).
In altre parole, il router copia pressoché i pacchetti da una porta Ethernet a un'altra (aggiornando il checksum IP dopo NAT, ma presumibilmente accade comunque nell'hardware, ma in entrambi i casi le implementazioni software del checksum TCP sono state sottoposte a stress test per 40 anni, sono abbastanza resistenti al rock?). In pratica, come se si stesse facendo un splice
da un socket all'altro, tranne che accade nello stack di rete.
Si dovrebbe seriamente sperare che il semplice inoltro di un pacchetto a un'altra porta funzioni al 100% in modo affidabile senza eccezioni e senza alcun mezzo di sfruttamento! Il router non convalida o esegue nulla all'interno dei datagrammi, non c'è motivo per il router di guardare anche il "binario blob" all'interno di ogni pacchetto (... e per quanto ne so, non lo fa fai filtraggio dei contenuti?).
Sono sconcertato su come un simile exploit possa realisticamente funzionare. Qualche idea?
2. Vedere come "il filtro dei pacchetti Linux è bloccato" sembra l'unica spiegazione plausibile (cos'altro potrebbe essere?), ho motivo di iniziare a farmi prendere dal panico sul mio server Debian?
1 Tieni presente che non sta cercando una ricetta pratica e non voglio eseguire un exploit.