Om precies te zijn zorgt de zogenaamde Slow Read DoS ervoor dat clients meer tijd nodig hebben om de respons van een webserver te lezen. De nieuwe aanvalsmethode is gebaseerd op onderzoek dat werd gedaan door Robert Hansen, de maker van de Lowloris DoS tool, en op onderzoek van de inmiddels overleden Jack C. Lewis, die Sockstress ontwikkelde, een proof-of-concept applicatie die het langzame aanvalsprincipe toepaste op TCP stacks.

Veel verbindingen open

Slowloris vertraagt http-verzoeken om de webserver vol te laten lopen met een groot aantal gelijktijdige verbindingen om te voorkomen dat legitieme bezoekers pagina's krijgen geserveerd. De Slow Read DoS vertraagt de verbinding door de respons van de server te vertragen.

"Het idee van de aanval die ik heb geïmplementeerd is vrij simpel: stuur een legitiem http-verzoek en lees het antwoord langzaam, met de bedoeling om zoveel mogelijk verbindingen tegelijkertijd open te houden", zegt Shekyan tegen PC World.

Om dit voor elkaar te krijgen moet de grootte van de serverrespons groter zijn dan wat zijn verzendbuffer kan afhandelen op elk denkbaar tijdstip. Grote 'antwoorden' worden opgeknipt in kleinere stukken. Op die manier wordt de verzendfbuffer voor een lange periode vol gehouden met stukken data die nog in afwachting van verzending zijn om zo de connectie open te houden.

Verzenbuffer vol laten lopen

"TCP maakt de grootte van zijn verzendbuffer niet bekend, maar we kunnen aannemen dat dit een standaardwaarde is die ergens tussen de 65Kb en 128Kb ligt. Er is normaliter geen reden om een grotere verzendbuffer te hebben", legt Shekyan uit.

Om een groot genoeg antwoord te forceren, moet er iets worden opgevraagd dat groter is dan 128Kb. In de meeste gevallen zal het niet al te moeilijk zijn om een dergelijk bestand op een server te vinden. Maar ook als dat niet het geval is kan er aangevallen worden. Als de server http-pipelining ondersteunt, en de meeste servers doen dat, kan hetzelfde effect bereikt worden door een kleiner bestand meerdere malen aan te vragen.

Dat is vergelijkbaar met de werking van tools als Sockstress en Nkiller2, maar die tools gebruiken speciaal vervaardigde TCP-pakketten die niet worden verwerkt door het TCP/IP, maar direct worden doorverwezen naar een bepaalde applicatie. Die applicatie is vervolgens zelf verantwoordelijk voor het verwijderen van de headers en het analysren van het pakket. De methode van Shenkyan heeft betrekking op de werking van http-servers.

De nieuwe aanvalsmethode is verwerkt in de laatste versie van de door Qualys ontwikkelde slowhttptest, een open source applicatie om de effecten van DoS-aanvallen te testen. De tool is bedoeld om verdedigingstechnieken tegen DoS-aanvallen te ontwikkelen.