Eind december is het bestaan van die diepe lek naar buiten gekomen, waarna Microsoft prompt met een noodpatch kwam. Kwaadwillenden kunnen een IIS-webserver (Internet Information Server) eenvoudig platleggen door er een speciaal geprepareerd pakket heen te sturen. Zo'n malafide http-pakket is nu openlijk beschikbaar gesteld via de full-disclosure mailinglist. De code zelf is beschikbaar op Github.

Zonder botnet

Bijzonder aan dit lek is dat een webserver platgelegd kan worden zonder dat er de verzamelde capaciteit van een botnet nodig is. Een pakket van slechts 100 kilobyte is voldoende om één processorcore van een webserver uit te schakelen. Als er meerdere van die pakketten worden gestuurd, is het mogelijk een multicore-systeem plat te leggen.

De exploitcode is beschikbaar in twee varianten: één van '1 mb' en één van '4 mb'. Die zijn in te zetten afhankelijk van de uploadsnelheid van de aanvaller. Bij het bestand van 1 mb heeft de aanvaller zelf een uploadsnelheid nodig van tenminste 1 megabit om een succesvolle aanval uit te voeren.

Ook in andere webservers

De gepubliceerde aanvalscode is bedoeld voor Microsofts ASP.net en werkt daarom alleen op IIS-servers, die draaien op Windows. Toch is de webserver van Microsoft niet de enige die dit probleem kent. De zwakte zit namelijk niet in de serversoftware, maar in de gebruikte programmeertaal. De meestgebruikte programmeertalen als PHP, Java en ASP.Net zijn allemaal kwetsbaar voor dit DoS-gat.

Het probleem zit in de hashes die worden gebruikt om het opslaan en weer ophalen van webpagina-data te versnellen. Dit zijn dus geen hashes voor de versleuteling (encryptie) van bijvoorbeeld wachtwoorden. Als de hashes bij het opslaan of uitlezen van de data teveel op elkaar lijken, moet de server ze gaan vergelijken. Een aanvaller kan opzettelijk voor doublures zorgen en daarmee de server volledig bezighouden met het controleren van deze hashes.

Microsoft heeft bij het uitkomen van zijn security-bulletin over dit DoS-gat een screenshot vrijgegeven van het taakbeheer-venster op een server die aangevallen wordt. Het gaat om een quadcore-webserver die door een enkel pakketje van 100 kb voor 25 procent is belast: Klik voor groot