Svenske professorn hittade världens äldsta it-sårbarhet i Turingmaskinen

2021-05-12 10:12  

Går det att hacka världens enklaste dator? Ja, det visar KTH-professorn Pontus Johnson som lyckats utsätta en universell Turingmaskin från 1967 för ett angrepp som kallas godtycklig kodexekvering. ”Ibland säger man att komplexitet skapar sårbarhet, men även den enklaste maskinen kan vara sårbar”, säger han.

Alla som läser datalogi får lära sig om Turingmaskinen. Döpt efter den brittiske matematiklegendaren Alan Turing är det anfadern till alla dagens datorer. Turing skapade den första varianten 1936. Det handlar inte om en fysisk apparat, utan maskinen är en tankekonstruktion.

Den består av en pappersremsa (minnet) och sedan ett huvud som läser av remsan och utifrån det antingen kan skriva en symbol på den, eller gå till höger eller vänster. 

– Det är den mest grundläggande dator man kan tänka sig. Men den kan göra allt som en modern superdator kan, fast långsammare, säger Pontus Johnson, professor i system- och nätverksteknik på KTH.

Läs mer: Svensk hackare tog över Kongos toppdomän

Kan lura maskinen att datasträngen är slut

Han bestämde sig för att försöka sig på att hacka den här datorföregångaren, och riktade in sig på en implementering från 1967, gjord av Marvin Minsky. Och det skulle visa sig att det gick att ta över maskinen, genom ett angreppssätt som kallas godtycklig kodexekvering.

Förenklat går det ut på att lura maskinen att blanda ihop data med programkod.

– Det finns ett speciellt tecken, i det här fallet ett Y, som får maskinen att tro att den nått slutet av datasträngen. Och efter datasträngen kommer kod. Om maskinen då tror att datasträngen är slut kommer den att börja exekvera koden, och på så sätt kan man ta över hela maskinen, förklarar Pontus Johnson.

Angreppssättet är vanligt bland hackare i dag och är en av de allvarligaste attacktyperna, enligt KTH-professorn.

– Gör man det mot en webbserver med en SQL-databas – då är symbolen som lurar maskinen ofta en apostrof ' – kan man börja exekvera kod på servern. Och då kan man ta över hela servern.

Läs mer: Han återskapade maskinen som knäckte Enigma-kryptot

Det enklaste system som någonsin utsatts

Hackningen av Turingmaskinen i 1967 års version slår två rekord. Det är både det enklaste system som utsatts för en godtycklig kodexekvering och den äldsta it-sårbarheten som upptäckts.

– 54 år gammalt, det är ingen som har rapporterat in äldre sårbarheter än så. Det visar att sårbarheter har existerat så länge det finns datorer, säger Pontus Johnson.

– Ibland säger man att komplexitet skapar sårbarhet, men även den enklaste maskinen blir sårbar, Det är som att datasystem bara vill ha sårbarheter, fortsätter han.

Angreppet finns mer ingående beskrivet i den vetenskapliga artikeln ”Intrinsic Propensity for Vulnerability in Computers? Arbitrary Code Execution in the Universal Turing Machine”. För den intresserade har Pontus Johnson lagt upp koden som användes för angreppet på Github. Sårbarheten har fåttt identitetsnummer CVE-2021-32471 i NVD-databasen.

Henning Eklund

Kommentarer

Välkommen att säga din mening på Ny Teknik.

Principen för våra regler är enkel: visa respekt för de personer vi skriver om och andra läsare som kommenterar artiklarna. Alla kommentarer modereras efter publiceringen av Ny Teknik eller av oss anlitad personal.

  Kommentarer

Debatt