Hash collision maakt dos-aanval op webservers mogelijk
29 dec
Meerdere programmeertalen, waaronder PHP, zijn kwetsbaar voor een denial of service-aanval door het veroorzaken van hash collisions. Met een post-request kan een webserver offline worden getrokken.
Het beveiligingsbedrijf n.runs heeft de kwetsbaarheid naar buiten gebracht. Door misbruik te maken van hash tables in programmeertalen kunnen kwaadwillenden de cpu van een webserver volledig in beslag nemen, waardoor deze geen andere requests meer aankan. Daarvoor moeten hash collisions worden veroorzaakt, waarbij meerdere waarden dezelfde hash krijgen.
PHP5, Java en ASP.NET zijn kwetsbaar, net als de javascript-engine V8, die door node.js wordt gebruikt. In sommige gevallen zijn ook PHP4, Python en Ruby kwetsbaar; dat hangt af van de gebruikte versie en of de taal draait op een 32bit- of 64bit-server.
Omdat veel programmeertalen standaard een maximale uitvoeringstijd aan scripts stellen, is het nodig om constant nieuwe hash collisions te blijven sturen. Volgens n.runs is voor een aanval op een webserver met PHP5 en een Core i7-processor 70 tot 100 kilobit per seconde aan bandbreedte nodig om één core bezig te houden. Met een gigabit-verbinding kan één aanvaller zelfs 10.000 cores in een dergelijke configuratie feitelijk uitschakelen.
PHP heeft in de 5.4 branch het probleem verholpen, maar aangezien dit nog een RC release is, zullen nog weinig webservers deze versie draaien. Voor php 5.3 en lager wordt de suhosin Patch aangeraden, aangezien je hiermee het aantal post variable kunt beperken.
Bron: Tweakers.net

