Zweedse onderzoekers zeggen een ‘ontwerpfout in TCP/IP’ ontdekt te hebben waarmee kwaadwillenden elke op internet aangesloten server onbereikbaar kunnen maken. Het probleem zit echter niet in het protocol zelf, maar in implementatie ervan in besturingsystemen.
Twee Zweedse onderzoekers van het internationale beveiligingsbedrijf Outpost24 zeggen op internet aangesloten servers te kunnen platleggen. Dat doen ze door een TCP/IP-sessie op een dusdanige manier te openen dat die nooit wordt afgesloten. Kwaadwillenden kunnen hiermee een Denial of Service-aanval (DoS) uitvoeren op servers, die dan via internet onbereikbaar worden.
Jack Louis en Robert Lee geven meer details op de T2-beveiligingsconferentie, die plaatsvindt op 16 en 17 oktober in Helsinki. Het Finse Computer Emergency Response Team (CERT) is inmiddels al begonnen met de coördinatie van het patchproces.
Netwerkstack
TCP/IP-expert Iljitsch van Beijnum: "Het gaat niet om een fout in TCP/IP, maar in de manier waarop TCP/IP is geïmplementeerd in de netwerkstack van besturingssystemen." Dat biedt volgens van Beijnum mogelijkheden iets aan het probleem te doen: "Je kunt de netwerkstack bijvoorbeeld zo aanpassen dat de sessie wordt afgebroken bij een bepaalde volgorde van ip-pakketjes."
De Zweedse onderzoekers zeggen vijf tot dertig aanvalsmethoden te hebben ontwikkeld op basis van de rammelende implementatie van TCP/IP binnen besturingssystemen. Van Beijnum: "Het gaat om een combinatie van aanvalsmethoden. Zo verlengden de Zweedse onderzoekers de periode waarin een TCP/IP-apparaat een haperende verbinding openhoudt. Daarnaast vergrootten ze het aantal aanvalspakketjes. Daardoor hadden ze de capaciteit om zoveel sessies te starten en aan de praat te houden, dat servers uiteindelijk overbelast raakten en onbereikbaar werden voor ander verkeer."
Van Beijnum: "Niet elke computer of apparaat dat op het internet is aangesloten is hiervoor vatbaar. Alleen applicaties, zoals webservers of mailservers, die continu staan te wachten op binnenkomende berichten, kunnen misbruikt worden."
Tien pakketjes
De DoS-aanval is extra krachtig omdat de onderzoekers maar weinig bandbreedte nodig hebben voor hun aanval. Van Beijnum: "Zo'n tien pakketjes zijn voldoende om één sessie lam te leggen." Hoeveel sessies op deze manier moeten worden overgenomen voordat een server onbereikbaar wordt, verschilt per besturingssysteem. Maar volgens de TCP/IP-expert ligt het aantal benodigde sessies in de orde van "enkele duizenden".
Oerversie
Volgens Lee en Louis doet hun lek zich niet alleen voor in één besturingssysteem. Van Beijnum: "Dat is niet zo vreemd, want alle netwerkstacks zijn gebaseerd op dezelfde oerversie, die eind jaren tachtig is ontwikkeld aan de Berkeley-universiteit."
Lee en Louis ontdekten de kwetsbaarheid van netwerkstacks al in 2005, maar vonden vrijwel geen gehoor bij leveranciers. Van Beijnum: "De reden daarvoor is waarschijnlijk dat dit beveiligingsprobleem zich voordoet binnen een vakgebied waar beveiligingsdeskundigen zich meestal niet op richten."
Dat het zo lang heeft geduurd voordat dit probleem aan het licht kwam, is opmerkelijk. Van Beijnum: "Maar het valt niet uit te sluiten dat internetcriminelen er al jaren misbruik van maken."
Vaag artikel, welke besturingssystemen: Windows, Linux, Unix, Solaris, …? Welke webservers: apache, IIS, Tomcat, … ?
Ik vermoed dat het voor de meeste OS’en geldt en in de meeste applicaties, die daar geen rekening mee houden, tot problemen kan leiden.
Doe maar eens een paar honderd legale requests naar een willekeurige webserver waarbij de aanvraag naar een document gestart wordt maar niet afgemaakt.
De meeste webservers zijn heel geduldig en wachten tot een minuut of 5 of er misschien nog wat binnenkomt om de aanvraag compleet te maken.
Net zoveel aanvragen starten als dat er concurrent requests mogelijk zijn en je webserver is 5 minuten “afgesloten” van de buitenwereld.
Een relatief klein botnetje kan dan je server vrij effektief onbereikbaar houden.
Een dergelijke aanval is welliswaar redelijk eenvoudig te voorkomen of herstellen door timeouts strakker te zetten of flexibel te maken afhankelijk van de belasting maar ik kan me voorstellen dat er “blokkades” te fabriceren zijn die minder gemakkelijk “af te vangen” zijn.
@Matthieu: Vaag Artikel -> Vage opmerking!
Hoezo besturing systeem?
Wie heeft het over een OS?
Het gaat om een protocol van een datacommunicatie verbinding tussen verschillende systemen: dat is veel erger; alles valt daar onder!
Ehm.. OS staat voor Operating System. Het Nederlands daarvoor is Besturingssysteem. Dit staat in de titel.
Het klinkt een beetje als de FreeBSD Netwerk stack trouwens. Die vind je in veel systemen terug.