image

Onderzoeker TU Delft ontwikkelt tool voor detectie van ernstige kwetsbaarheden

zondag 13 november 2022, 10:54 door Redactie, 8 reacties

Een onderzoeker van de TU Delft heeft een tool ontwikkeld voor het detecteren van ernstige kwetsbaarheden in software. Het gaat specifiek om out-of-bounds write kwetsbaarheden, waardoor een aanvaller in het ergste geval code op het onderliggende systeem kan uitvoeren. Op dit moment wordt voor het vinden van dergelijke beveiligingslekken met name fuzzing gebruikt.

Bij fuzzing wordt een programma of een stuk software met allerlei datastromen bestookt, wat vervolgens tot crashes of fouten kan leiden. Die crashes kunnen vervolgens op onbekende kwetsbaarheden wijzen. Vervolgens wordt er voor de oorzaakanalyse een inschatting gemaakt van de ernst van de gevonden beveiligingslekken. Onderzoeker Linus Hafkemeyer van de TU Delft vergelijkt dit triageproces met dat van de spoedeisende hulp, waarbij iemand bepaalt welke patiënt onmiddellijk medische zorg nodig heeft en wie er nog even kan wachten.

"Ik wilde een tool ontwikkelen die dit triageproces van out-of-bounds writes versnelt", aldus Hafkemeyer. Volgens de onderzoeker hebben huidige methodes voor de detectie van out-of-bounds writes dat ze invasief zijn; er moet broncode aan het programma worden toegevoegd om detectie mogelijk te maken. "Maar het gedrag van dat aangepaste programma zal afwijken van het originele programma. Waargenomen afwijkend gedrag van het aangepaste programma is dus ongeschikt voor triage."

De aanpak die Hafkemeyer ontwikkelde laat het programma in virtuele machine draaien, waarbij er eerder via fuzzing gevonden invoer wordt gebruikt die tot out-of-bounds writes kan leiden. "Zo kunnen we het gedrag van het programma van buitenaf observeren en zien hoe het reageert zonder het te hoeven aanpassen", legt de onderzoeker uit. De einduitkomst van zijn tool is een lijst met alle broncode-objecten die door zulke onverwachte geheugentoegang worden beïnvloed. Deze informatie is vervolgens te gebruiken bij zowel de triage als oorzaakanalyse.

Hafkemeyer is één van de acht beste afstudeerders van TU Delft, genomineerd door de Faculteit Elektrotechniek, Wiskunde & Informatica. De onderzoeker werkt nu aan een publicatie van zijn onderzoek voor een cybersecuritycongres.

Reacties (8)
13-11-2022, 12:27 door Anoniem
Als je code voor detectie van bufferoverflows laat staan in je code, dan is de hele wereld voor je aan het fuzzen.

Vroeger (vorige eeuw) liet ik dit soort testcondities in broncode uiteindelijk weg vanwege de snelheid en de grootte van het programma. Maar ik zie niet waarom dit nu met snelle processors en oneindig geheugen nog zo moet zijn.

Als je het aangepaste programma als definitieve versie distribueert, is het meteen per definitie geschikt voor triage. Dus.

Er zijn ook programmeertalen die geen last hebben van out-of-bounds. Dan moeten je compiler en je libraries natuurlijk wel perfect zijn.
13-11-2022, 13:46 door Anoniem
Wel grappig, met zo'n voornaam.
13-11-2022, 17:28 door Anoniem
Door Anoniem: Dan moeten je compiler en je libraries natuurlijk wel perfect zijn.

Dat geldt idealiter ook voor de firmware en drivers van de apparatuur waarmee je je programma compileert. :-)
13-11-2022, 19:50 door Anoniem
Door Anoniem: Er zijn ook programmeertalen die geen last hebben van out-of-bounds.
In Rust we trust!
13-11-2022, 21:28 door Anoniem
Ik heb meer vertrouwen in SELinux om uitbuiting te voorkomen.
13-11-2022, 22:08 door Anoniem
Door Anoniem: Wel grappig, met zo'n voornaam.

Het is een illustere voornaam, maar niet alleen gedeeld met Dhr Torvalds.

Ook het figuur in de Snoopy cartoons (cartoon Peanuts)

En Linus Pauling (vitamine C, benzeen structuur en algemeen chemische binding)
14-11-2022, 06:26 door Anoniem
Is die tool beschikbaar voor iedereen?
14-11-2022, 13:14 door linuxpro
De website van de TU Delft met de repo ligt er uit... kennelijk bezweken onder de interesse. Even afwachten maar.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.