ASSEMBLAGE-DEEPHISTORY: A Cross-Build Binary Dataset with Temporal Coverage
Het artikel introduceert ASSEMBLAGE-DEEPHISTORY, een uitgebreide cross-build binaire dataset met 73.610 binaries uit 248 open-source projecten die compilatiecontext, broncode en CVE-labels verenigt over compilers, optimalisatieniveaus en tijd heen, waardoor nieuwe analyses van binaire kwetsbaarheidsdetectie en -gelijkenis mogelijk worden.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
Stel je voor dat je probeert een robot te leren hoe hij een specifiek type gebroken slot kan herkennen op een miljoen verschillende deuren.
In de wereld van computerbeveiliging worstelen onderzoekers met een probleem: ze hebben datasets van "deuren" (softwareprogramma's), maar deze datasets zijn onvolledig. Sommige datasets tonen deuren gemaakt door verschillende fabrieken (compilers), maar alleen voor één specifiek jaar. Andere tonen deuren uit veel verschillende jaren, maar alleen gemaakt door één fabriek. Geen enkele dataset toont je hetzelfde deurontwerp, gebouwd door verschillende fabrieken, over vele jaren, terwijl het je ook precies vertelt welke een gebroken slot hebben (een kwetsbaarheid).
Dit artikel introduceert ASSEMBLAGE-DEEPHISTORY, een enorme nieuwe dataset die eindelijk al deze punten met elkaar verbindt. Denk hierbij aan een "Tijdsreislende Deurenmuseum".
Het "Tijdsreislende Deurenmuseum"
De onderzoekers verzamelden 73.610 verschillende versies van software-"deuren" uit 248 open-source projecten.
- De Variatie: Ze bouwden ze niet op één manier. Ze bouwden dezelfde broncode met verschillende tools (GCC, Clang, MSVC), op verschillende besturingssystemen (Windows en Linux) en met verschillende instellingen (optimalisatieniveaus).
- De Tijdmachine: Ze namen niet alleen een momentopname van vandaag. Ze reisden terug in de tijd en verzamelden versies van deze projecten die voor veel van hen meer dan twee jaar beslaan.
- De Kaart: Elke enkele deur in dit museum is gekoppeld aan zijn originele blauwdruk (broncode), zijn geschiedenis van wijzigingen en een specifieke lijst van "gebroken sloten" (CVE's) die erin werden gevonden.
Waarom Dit Belangrijk Is: De "Robot"-Test
De auteurs gebruikten dit museum om drie grote ideeën te testen, optredend als een leraar die een student een zeer lastig examen geeft.
1. De "Patroonherkenning" vs. "Echt Begrip"-Test
Ze vroegen Large Language Models (AI-robots) om de gebroken sloten te vinden.
- De Valstrik: Als de AI gewoon memoriseerde hoe een gebroken slot eruitzag op een deur van één specifieke fabriek, zou het falen wanneer de deur door een andere fabriek was gebouwd.
- Het Resultaat: De AI-modellen waren verrassend goed in het vinden van de gebroken sloten wanneer ze een beschrijving van het probleem kregen. Echter, wanneer ze naar de ruwe "deur" (het gecompileerde binaire bestand) moesten kijken zonder beschrijving, hadden ze moeite. Dit suggereert dat hoewel AI beter wordt, het soms steunt op oppervlakkige aanwijzingen in plaats van de diepe mechanica van de code echt te begrijpen.
2. De "Vingerafdruk"-Test
Onderzoekers probeerden te zien of ze konden vertellen welke deuren tot dezelfde familie behoorden, alleen door te kijken naar hun "vingerafdrukken" (digitale handtekeningen).
- Ze probeerden drie verschillende manieren om vingerafdrukken te nemen: één die kijkt naar de volledige deurvorm, één die kijkt naar de interne bedrading, en één die kijkt naar het stof op het oppervlak.
- Het Resultaat: De "stof"-methode (TLSH genoemd) was het beste in het groeperen van deuren uit dezelfde familie. De andere methoden raakten in de war omdat de verschillende fabrieken de deuren er zo anders lieten uitzien, zelfs al waren ze hetzelfde ontwerp.
3. De "Tijd en Verandering"-Test
Ze wilden weten: Wat maakt dat twee versies van dezelfde deur er anders uitzien? Is het alleen het verstrijken van tijd? Is het het aantal gemaakte wijzigingen? Of zijn het de specifieke bestanden die zijn vervangen?
- Met behulp van een speciaal wiskundig model splitsten ze de verschillen op. Ze ontdekten dat hoeveel bestanden er waren gewijzigd de grootste factor was in het anders doen lijken van de deuren. Interessant genoeg deed alleen het verstrijken van tijd (kalenderdagen) er minder toe dan het daadwerkelijke werk dat aan de code was verricht.
De Conclusie
Dit artikel geeft ons niet alleen een grotere hoop data; het geeft ons een gestructureerde bibliotheek waar elk stuk software is verbonden met zijn geschiedenis, zijn bouwers en zijn gebreken.
De belangrijkste les die we hebben geleerd is dat software rommelig is. Een kwetsbaarheid (een gebroken slot) blijft hetzelfde in de blauwdruk, maar zodra het door verschillende fabrieken in een deur is gebouwd, ziet het er heel anders uit. Om beveiliging echt te begrijpen, moeten we deze verschillen samen bestuderen, niet geïsoleerd. Deze nieuwe dataset is het eerste hulpmiddel dat onderzoekers precies dat laat doen.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.