Questo meccanismo è, ad esempio, alla base di ogni connessione web
HTTP/HTTPS dove il server rimane in ascolto sulla
porta 80/443 mentre il client invia la sua richiesta da una porta maggiore della 1024. Il
socket, ovvero la coppia, si completa con le informazioni IP_SRC + PORT_SRC e IP_DST + PORT_DEST e tutti i dispositivi di rete intermedi tra i peer rispettano questa struttura.
L'intero comportamento sopra descritto è stato messo in crisi da un differente approccio detto
TCP Split Handshake ben descritto nel documento "
The TCP Split Handshake: Practical Effects on Modern Network Equipment" creato da Tod Beardsley e Jin Qian.
Con una semplice modifica al comportamento TCP della risposta del server è infatti possibile modificare pesantemente la logica di connessione inducendo una
connessione inversa. In pratica anche se il client inizia la connessione regolarmente il server rovescia le parti e in definitiva avviene una connessione al client con buona pace dei dispositivi di sicurezza, come i firewall, che in teoria dovrebbero vietare questo genere di comportamento.
Tale comportamento
favorisce vulnerabilità di tipo
zero-day. Tale situazione ben si presta a
tecniche di phishing dove l'utente cerca di accedere ad un sito che ritiene legittimo ma che invece è una fonte di malware. Il
TCP Split Handshake (connessione inversa) potrebbe permettere di prendere il controllo totale o parziale del client interno. Vi sono già indicazioni di tool, fortunatamente su piccola scala, che sfruttano questa vulnerabilità per i loro scopi.
ZANON Ing. Alberto