Bescherming malware rammelt
MD5 is een zogenaamd hashing-algoritme, dat van een bestand een ‘hash’ maakt (een soort vingerafdruk) die volledig verandert als er aan het bronbestand ook maar één bit wijzigt.
Het moet in de praktijk onmogelijk zijn twee verschillende bestanden te vinden die dezelfde ‘hash’ (van 32 tekens hexadecimaal) opleveren – een zogeheten ‘collision’. Toch is dat nu juist waar de cryptografiedeskundigen Arjen Lenstra (Bell Labs), Benne de Weger (TU/e) en Marc Stevens (CWI) in een relatief korte tijd in geslaagd zijn, zo melden zij in een onderzoekspaper.
Een hash (of checksum) wordt bijvoorbeeld meegeleverd met een gedownload bestand om te controleren of deze ten eerste heelhuids is binnengekomen en ten tweede om te zien of er niet mee geknoeid is. In het laatste geval wordt een op de hashcode toegepaste public key verpakt in een ‘certificaat’ dat door de browser wordt gecontroleerd. Met extra software, zoals Microsoft Authenticode, is die controle verder uit te breiden.
Het probleem is volgens de cryptologen dat in dergelijke gevallen (en ook in Authenticode) standaard het MD5-algoritme wordt gebruikt. In hun paper tonen ze aan dat het mogelijk is twee verschillende programmaatjes (HelloWorld.exe en GoodbyeWorld.exe), die een verschillende hash opleveren, elk te voorzien van een slim geconstrueerde extentie van 832 bytes, waarna de beide bestanden dezelfde hash opleveren, zonder dat de werking van beide programmaatjes wordt aangetast. De ‘botsing’ tussen de twee executables vergde twee dagen rekenwerk op een PlayStation 3. Afstudeerder Marc Stevens van het Centrum voor Wiskunde en Informatica schreef de software.
Benne de Weger, docent cryptologie, geeft toe dat het scenario theoretisch blijft. Een aanvaller die de gebruiker wil verleiden tot het downloaden van malware heeft toegang nodig tot het originele bestand om er de 832 bits aan toe te voegen. Dat is doorgaans niet eenvoudig. “Een zogeheten ‘pre-image’-aanval, waarbij je bij een gegeven hash-waarde een bestand kunt maken met die hash-waarde, is nog niet mogelijk. Voor MD5 zie ik nog geen voortgang daarin.” De nu gerealiseerde, meer kunstmatige ‘botsing’ is echter niet zonder betekenis. “Het vertrouwen komt nu nóg minder bij de cryptografie te liggen en hangt weer meer van de procedures af. Als je je airbag niet vertrouwt ga je toch ook naar de garage?” Het gebruik van MD5 moet dus ernstig worden ontraden, vinden de cryptologen. Softwareleveranciers moeten niet vertrouwen op MD5 en SHA-1, een ander ter duscussie staand hashing-algoritme.
/f.blankena@sdu.nl