Wetenschappers van de Amerikaanse universiteit van Washington zijn erin geslaagd om een exploit uit te voeren in een programma voor dna-analyse. Om dat te bereiken, encodeerden ze code in een dna-sample en brachten zo een buffer overflow teweeg.
De wetenschappers beschrijven hun werk op een speciaal ingerichte website en in een bijbehorende paper. Daar leggen ze uit dat hun experiment uitging van de beste omstandigheden voor een potentiële aanvaller. Zij kozen de zogenaamde fqzcomp-software als doelwit, die ertoe dient om dna-sequenties te comprimeren. Door de opensourcecode te downloaden waren de wetenschappers in staat om een kwetsbaarheid in te bouwen in de vorm van een statische buffer. Ze merken op dat het programma al wel veel van dit soort buffers bevatte. Beschermingsfuncties als aslr werden uitgezet.
Vervolgens encodeerden ze een dna-sample met kwaadaardige code, die na uitlezen door een sequencer uitgevoerd zou worden op het kwetsbare systeem. De wetenschappers leggen uit dat ze daarvoor steeds 2bit-paren aan nucleotiden koppelden: 00 aan A, 01 aan C, 10 aan G en 11 aan T. Een eerste poging om een exploit te introduceren faalde, mede omdat ook de kleinste shellcode te groot was om in een dna-sequentie onder te brengen. Uiteindelijk lukte het om een 43-byte-exploit te maken, waarmee het doelsysteem verbinding maakte met een zo kort mogelijke domeinnaam en malware binnenhaalde die ervoor zorgde dat het op afstand uitvoeren van code mogelijk was.
Succesvolle en gefaalde exploit
Met hun onderzoek willen de onderzoekers aantonen dat het mogelijk is om via dna uiteindelijk tot remote code execution te komen. Daarbij willen ze de aandacht vestigen op het feit dat dna-sequentiemachines niet altijd de best practices volgen op beveiligingsgebied. Ze waarschuwen dat hun bevindingen geen reden voor zorgen zijn, omdat er geen soortgelijke actuele dreigingen bestaan. De onderzoekers zien hun werk dan ook als een eerste stap en als aanzet om na te denken over beveiliging in de wereld van sequencing van dna. Hun onderzoek wees uit dat de code die gebruikt wordt in de bijbehorende software, vaak kwetsbaarheden bevat. Ze presenteren hun onderzoek volgende week op de Usenix-conferentie in Vancouver.