Twee studenten van de Fontys Hogeschool Eindhoven hebben onderzoek uitgevoerd naar het spoofen van TCP-verbindingen en een aanval ontdekt waardoor het mogelijk is om IP-adressen te vervalsen. Het Transmission Control Protocol (TCP) wordt gebruikt voor het uitwisselen van data over netwerken.
Een ander protocol dat hiervoor wordt gebruikt is het User Datagram Protocol (UDP). Bij UDP, dat geen garantie biedt dat uitgewisselde pakketten ook zijn aangekomen, is het bekend dat een IP-adres kan worden gespooft. TCP gebruikt echter een handshake met beveiligingsgetal, waardoor werd aangenomen dat het bij dit protocol niet zou kunnen. Studenten Raoul Houkes en Luc Gommans hebben een manier gevonden dat het beveiligingsgetal is te raden en IP-adressen zonder man-in-the-middle, ARP-spoofing of andere bekende aanvallen zijn te spoofen. Volgens de studenten gaat het voor zover zij weten om een geheel nieuwe aanval.
Het TCP-protocol is het meestgebruikte transportprotocol, gevolgd door UDP en ICMP. Het is populair doordat het de juiste overdracht van data vrijwel garandeert, alsmede verifieert dat het IP-adres van de afzender klopt. Hiervoor wordt een zogeheten handshake opgezet, waarbij beide partijen een getal van de ander terug moeten sturen. Wanneer iemand een vals IP-adres opgeeft als afzender, zal het getal daarheen worden gestuurd, wat nooit aankomt bij de werkelijke afzender. Die partij zal zich dan ook niet kunnen verifiëren.
De getallen die worden uitgewisseld liggen tussen de 0 en 4,2 miljard en kunnen door een aanvaller worden geraden. Het getal wordt door beide partijen willekeurig gegenereerd. Om de aanval uit te voeren moet de aanvaller dan ook allerlei getallen genereren en proberen. Gemiddeld kost het 120GB aan netwerkverkeer voordat een poging slaagt (50% kans), aldus de onderzoekers. Het is echter niet zo dat er na 240GB een 100% kans is. Doordat opnieuw moet worden gestart na enkele seconden (een verbinding verloopt als het te lang onbevestigd blijft) kan het door domme pech ook langer duren.
Een moderne verbinding van 10 gigabit zou de aanval daarmee in gemiddeld 103 seconden kunnen uitvoeren, en een meer gangbare 1-gigabit verbinding neemt gemiddeld nog geen 18 minuten in beslag. De aanvaller krijgt trouwens geen bevestiging terug als hij het juiste getal heeft gevonden, aangezien het antwoord naar de partij gaat als wie hij zich voordoet. Als hij bijvoorbeeld probeert om een database te verwijderen zal dit echter buiten de handshake om zichtbaar zijn.
Volgens de onderzoekers lijkt het voorkomen van de aanval simpel, door verdere berichten na een aantal ongeldige berichten te negeren. "Het probleem hierbij is dat dit weer als Denial of Service-aanval kan worden misbruikt: blijf ongeldige pakketten sturen met als afzender een bepaald IP-adres, en de werkelijke eigenaar van dat IP-adres zal nooit meer een goede verbinding op kunnen zetten", zegt Gommans tegen Security.NL. Telkens bij het opzetten van een verbinding zou zo'n vals pakket aankomen en de verbinding ontregelen.
Een ander idee is om het veld in het TCP-bericht te vergroten van 32- naar 64-bits, maar dat zou een structurele aanpassing zijn van een ontzettend wijdverspreid protocol, aldus de studenten. "Naar IPv6 kijkend zou dat best weleens 20 jaar kunnen duren. Een simpele methode om de aanval structureel af te slaan is er dus niet", merkt Gommans op. Aanvullende beveiliging zoals TLS zal voor nu dan ook moeten worden gebruikt, zo stellen de studenten. Ze hebben in deze blogposting de aanval technisch uitgewerkt.
Deze posting is gelocked. Reageren is niet meer mogelijk.