Reverse Engineering i AI-æraen: Hvorfor arbejdet betyder mere, og hvordan AI ændrer arbejdsgangen

Reverse Engineering i AI-æraen: Hvorfor arbejdet betyder mere, og hvordan AI ændrer arbejdsgangen

Reverse Engineering i AI-æraen: Hvorfor arbejdet betyder mere, og hvordan AI ændrer arbejdsgangen

Introduktion

Mange mennesker antog, at kunstig intelligens ville få reverse engineering til at føles forældet. Fantasien var pæn. Modeller ville læse kode, forklare binære filer, udrede protokoller, opsummere malware og generelt erstatte det gamle arbejde med patientteknisk undersøgelse med noget hurtigere, mere skinnende og meget mere velegnet til konferencedias.

Virkeligheden har været rudere og mere interessant.

AI reducerede ikke behovet for reverse engineering. Det øgede det. Vi lever nu i en verden med mere uigennemsigtige klienter, flere proprietære indpakninger omkring modeller, flere edge-enheder, der sender udokumenteret adfærd, flere agent-runtimes, der krydser tillidsgrænser, mere desktop- og mobilsoftware, der skjuler følgelogik i binære filer, og flere teams, der forsøger at integrere eller sikre systemer, de ikke har bygget og ikke kan inspicere fuldt ud fra kilden alene. Det er mere reverse engineering. Det er mere af det, og under større leveringspres.

Den dybere grund er enkel. AI udvider softwareadfærd hurtigere end det udvider softwareærlighed. Systemer samles fra SDKs, kørselstider, agenter, plugins, enhedsfirmware, modelserverende komponenter og tredjepartsklienter, der alle ser sammenhængende ud på et diagram, indtil nogen skal forklare, hvad en binær faktisk gør, hvad en modelindpakning egentlig sender, eller hvorfor en opdatering ændrede adfærd på en måde, som ingen har tilmeldt sig for at forsvare.

Det er her reverse engineering bliver skarpt moderne frem for svagt nostalgisk. Det er ikke længere kun arbejdet af malware-analytikere, firmware-specialister eller protokolarkæologer. Det er et teams arbejde, der skal genfinde sandheden fra artefakter, efter at dokumentationen er blevet optimistisk, ufuldstændig eller fuldstændig fiktiv.

AI ændrer dette arbejde, ja. Det kan fremskynde triage, annotering, hypotesegenerering, diffing og udkast til dokumentation. Det kan hjælpe med at bygge hjælpescripts hurtigere. Det kan reducere tiden mellem "hvad er det her?" og "vi har en fungerende teknisk læsning." Men det afskaffer ikke den centrale disciplin. Artefakten skal stadig undersøges. Køretiden skal stadig overholdes. Protokollen skal stadig valideres. Mennesket skal stadig tage stilling til, om forklaringen overlever kontakt med beviser.

Det er den del, folk bliver ved med at springe over, måske fordi det lyder moderne at springe over det. Desværre har produktionssystemer, hændelsesrespons og sikkerhedsanmeldelser stadig den gammeldags svaghed at foretrække virkeligheden. Reverse engineering er fortsat praksis med at genoprette læsbarheden, hvor produkttryk, leverandørens uigennemsigtighed eller teknisk drift har eroderet det.

Hvorfor reverse engineering blev mere værdifuld, ikke mindre

Den moderne software ejendom indeholder flere sorte bokse, end mange hold er komfortable med at indrømme. Nogle af dem er historiske: ældre binære filer, leverandørklienter, forladt enhedsfirmware, udokumenterede desktopkomponenter, proprietære protokoller, installationsprogrammer, kernemoduler eller middleware, der aldrig lærte at tale klart. Nogle er helt nye: modelkørselstider, agentskaller, indlejrede slutningspakker, browserudvidelser, smartenhedsopdateringsformater og applikationspakker, der stille og roligt omdanner lokal adfærd til netværksadfærd på måder, som ingen dokumenterede, fordi spurten allerede var forsinket.

AI-æraen øger dette pres på tre måder.

For det første multiplicerer det artefakter. Teams sender og integrerer nu flere wrappers, flere assistenter, mere logik på klientsiden, flere leverandør API og flere eksperimenterende lag end før. Hvert nyt lag kan blive et sted, hvor sikkerhedsantagelser, ydeevneomkostninger eller adfærdsændringer gemmer sig bag branding og optimisme.

For det andet multiplicerer det fortolkningsproblemer. Spørgsmålet er ikke længere kun "hvad gør denne binære?" Det er også "hvad gør dette binære program ved modelopkaldsstien, genfindingsstien, den lokale cache, plugin-overfladen, opdateringsmekanismen eller operatørens arbejdsgang?" Reverse engineering bliver arbejdet med at genskabe adfærd fra systemer, hvis dokumentation er skrevet af forskellige teams, forskellige epoker eller forskellige stemninger.

For det tredje multiplicerer det omkostningerne ved at tage fejl. Hvis et konventionelt værktøj opfører sig mærkeligt, kan skaden være snæver. Hvis en AI-aktiveret klient, agenthjælper eller proprietær automatiseringskomponent opfører sig mærkeligt, kan skaden smitte af på datalækage, uforudsigelig autorisation, falske revisionsspor eller en sikkerhedshistorie, der kollapser, første gang nogen sammenligner løftet med pakkefangsten.

Så arbejdet betyder mere, fordi artefakterne betyder mere. Problemet er ikke, at software er uforståeligt. Problemet er, at vigtig software forbliver kommercielt aktiv, mens den kun er delvist læselig. Reverse engineering er, hvordan teams lukker dette hul uden at vente på, at sælgeren, den oprindelige forfatter eller universet udvikler bedre vaner.

Der er et andet lag til dette. Moderne produkter er økosystemprodukter. En uigennemsigtig binær kan sidde mellem en modeludbyder, en enhedsflåde, en browserruntime, en desktop shell og et virksomhedsidentitetssystem. Når først en enkelt uklar komponent kan påvirke så mange tilstødende systemer, holder gendannelse af teknisk sandhed op med at være en nichespecialitet og bliver en styringsfunktion.

Hvor AI virkelig hjælper med reverse engineering

AI er nyttig i reverse engineering, når den bruges som et accelerationslag, ikke som en erstatning for sandhed.

Den er meget god til at få det første pas i bevægelse. Store bunker af strenge, import, logfiler, symboler, decompiler-output, API-spor og gentagne strukturelle signaler kan grupperes, tagges, sammenfattes og prioriteres meget hurtigere med maskinassistance end ved at få et menneske til at skele til alting, indtil kaffen holder op med at virke. Det betyder noget, fordi mange engagementer går i stå under den indledende sortering, der skal ske, før det egentlige problem bliver synligt.AI er også nyttig til annotering. Dekompilerede funktioner har brug for navngivningsforslag. Gentagne opkaldsmønstre skal grupperes. Kandidatstatsovergange kræver foreløbige forklaringer. Protokolfelter har brug for hypoteser. Værktøjslim skal skrives. Ghidra og Frida hjælpere har brug for et første udkast. Dokumentation for resten af ​​holdet skal holde op med at lyde som en løsesum fra binæren.

Den slags hjælp er reel. Det sparer tid. Det gør den tidlige del af arbejdet mindre trættende. Det gør også samarbejde nemmere, fordi det rå artefakt hurtigere bliver mere diskuterbart. Ingeniører, forskere og beslutningstagere kan starte fra et mærket kort i stedet for fra en digital hulevæg.

Der er en anden fordel, der betyder noget kommercielt. AI forkorter tiden mellem mistanke og aflæsning af beslutningskvalitet. Det kan ændre økonomien i et engagement. Et team behøver ikke at vente så længe på at finde ud af, om det har at gøre med et almindeligt integrationsproblem, en skjult sikkerhedsgrænse, en beskyttet modelindpakning, en nedgravet opdateringssti eller en komponent, hvis adfærd er tilstrækkeligt forskellig fra dokumentationen til, at ledelsen skal stoppe med at foregive noget andet.

Det hjælper også med tværfunktionel oversættelse. Sikkerheds-, platform-, produkt- og juridiske interessenter læser ikke alle spor og dekompileringsoutput med samme lethed. AI kan hjælpe med at omdanne rå undersøgelsesmateriale til foreløbige resuméer, der er nemmere at cirkulere, mens den tekniske validering fortsætter. Det erstatter ikke den tekniske læse. Det hjælper resten af ​​organisationen med at følge det.

Brugt på denne måde erstatter AI ikke reverse engineering. Det gør reverse engineering mindre administrativt langsom.

Hvor AI ligger, og hvorfor det stadig betyder noget

AI ligger også smukt, og det er netop derfor, disciplinerede teams nægter at sætte den til at styre konklusionerne.

En model kan generere plausible funktionsnavne, der er forkerte. Det kan udlede en protokolhistorie, der passer til halvdelen af ​​felterne og hallucinerer resten. Det kan producere sikker kommentar over decompiler-output, der lyder skarpere end beviserne fortjener. Det kan kollapse tvetydighed til en poleret sætning, før køretiden har bekræftet noget. Og fordi sproget er glat, begynder folk at behandle det som viden snarere end som formodninger med pæn kropsholdning.

Dette er især farligt i reverse engineering, fordi mange artefakter allerede ser suggestive ud. Strenge antyder adfærd. Importer antyder kapacitet. Symbolformer antyder struktur. Dekompileret kontrolflow antyder hensigt. Hints er nyttige. Hints er ikke domme. AI har en tendens til at få hint til at lyde som domme tidligere end en voksen workflow burde tillade.

Det er grunden til, at stærke teams bygger en regel, der føles næsten gammeldags: AI kan udarbejde hypotesen, men artefakten og køretiden ejer stadig svaret.

En pakkefangst slår en fortælling. En gentagelse slår en teori. Et hukommelsesspor slår et sikkert afsnit. En dynamisk krog slår en charmerende modeloversigt. En reproduceret tilstandsovergang slår en mistænkeligt poleret forklaring, der faktisk aldrig overlevede henrettelse.

Dette betyder endnu mere i sikkerhedsfølsomme miljøer, fordi forkert tillid har andenordens omkostninger. Det spilder afhjælpningsindsats, skaber falsk sikkerhed og kan skubbe lederskab mod den forkerte leverandør, den forkerte patch-grænse eller den forkerte hændelseshistorie. En vildledende forklaring er ikke et neutralt udkast. I det forkerte øjeblik er det dyr støj.

Dette gør ikke AI ubrugelig. Det gør det styrbart. Og styrbare værktøjer er dem, der tjener en fast plads i seriøst ingeniørarbejde.

Workflowet, der faktisk virker

Den mest pålidelige interaktion mellem kunstig intelligens og reverse engineering er cyklisk snarere end hengiven.

Saml først artefakten ærligt. Binær, pakke, sporing, strenge, importer, indfangninger, logfiler, opdateringsnyttelast, procestræ, systemkald, netværkskanter, decompiler-output. Lad ikke værktøjet begynde at opfinde, før beviserne er på bordet.

For det andet, brug AI til at fremskynde triage. Gruppér importen. Tag strengene. Opsummer gentagne flows. Udkast til sandsynligt modulansvar. Fremstil kandidatnavne og sandsynlige grænser. Generer små scripts til gentagne værktøjsarbejde. Bed om hypoteser, ikke doktriner.

For det tredje, valider dynamisk. Krog stien. Afspil trafikken igen. Udløs adfærden. Sammenlign filsystemændringer, ændringer i registreringsdatabasen, netværksændringer, kryptooperationer eller UI tilstand med hypotesen. Det er her, de smukke løgne begynder at dø, og det er sundt for alle.

For det fjerde, skriv konklusionen på menneskeligt sprog, der overlever granskning. Hvad sker der egentlig? Hvad er stadig usikkert? Hvad er risikoen? Hvad kan dernæst ændres? Hvilke beviser understøtter den ordre? Reverse engineering bliver kun kommercielt nyttig, når resultatet er læseligt nok til at planlægge.

Denne arbejdsgang er langsommere end fantasi og hurtigere end forvirring. Det er normalt den rigtige hastighed.

Det bevarer også teamets sundhed bedre end den modsatte arbejdsgang. Hvis AI får lov til at springe direkte fra artefaktstøj til sikker konklusion, bruger alle den næste fase på at skændes om sprog i stedet for at teste virkeligheden. En cyklisk arbejdsgang holder undersøgelsen samarbejdsvillig. Det holder rummet justeret omkring beviser snarere end omkring den, der lød mest flydende først.

Praktiske sager, der er værd at løse først

Proprietær AI-klientadfærd

Teams stoler i stigende grad på tredjepartsassistenter, slutningsindpakninger, browserudvidelser eller virksomhedsklienter, der hævder at være sikre, private, scoped eller lokale. Reverse engineering hjælper med at verificere, om lokal virkelig betyder lokal, om caches opfører sig ærligt, om vedhæftede filer behandles, som folk tænker, og hvor de reelle netværks- og lagergrænser sidder.Disse spørgsmål er vigtige, fordi indkøbssproget ofte er bredt, og køretidsadfærden ofte er snæver og specifik. Holdene har ikke brug for flere løfter her. De har brug for pakkefangster, procesobservationer og konkret adfærdsgendannelse.

Agentværktøj og plugin-overflader

Agentskaller akkumulerer ofte værktøjer hurtigere, end de akkumulerer styring. Reverse engineering og dynamisk inspektion hjælper teams med at bekræfte, hvordan værktøjer påkaldes, hvilke skjulte argumenter der er vedhæftet, hvor hukommelse eller kontekst er gemt, og om runtime-adfærden matcher den politikhistorie, nogen skrev til indkøb.

Dette er især værdifuldt i delte virksomhedsmiljøer, hvor én uklar værktøjsgrænse kan skabe en kaskade af eksponering på tværs af interne systemer. Artefakten kan se lille ud. Tillidsimplikationen er det sjældent.

Triage af malware og trusler

Dette er det klassiske tilfælde, og AI er virkelig nyttig her, når den fremskynder tidlig triage uden at få lov til at blive den endelige analytiker. Importer, strenge, udpakningstip, kommando-og-kontrolmønstre og filsystemadfærd kan organiseres hurtigt. Det farlige trin er, når "organiseret hurtigt" forveksles med "helt forstået".

Godt malwarearbejde kræver stadig de gamle dyder: gentagelighed, tålmodighed og skepsis over for elegante første udkast. AI kan hjælpe med at gøre den første time mere produktiv. Det kan ikke erstatte kravet om at bevise, hvad artefakten rent faktisk gør.

Ældre interoperabilitet

Moderne kunstig intelligens-produkter er i stigende grad knyttet til gamle virksomhedsejendomme. Når en ældre desktopklient, enhedskomponent eller udokumenteret bro stadig former stien, genopretter reverse engineering den grænse, som projektet ikke længere har råd til at gætte sig til.

Det er her reverse engineering bliver dybt samarbejdende arbejde. Det hjælper platformsteams, sikkerhedsteams, produktejere og integrationsingeniører med at samles om den samme tekniske læsning. Når det først sker, holder arbejdet op med at føles som arkæologi og begynder at føles som genopretning af arkitekturen.

Sådan ser godt ud

God reverse engineering i AI-æraen gør tre ting på én gang.

Det mindsker tvetydighed. Holdet kan pege på en rigtig vej, en rigtig grænseflade, et reelt kapacitetssæt eller en reel risikogrænse i stedet for at tale i dyre vejrmeldinger.

Det reducerer tid til beslutning. Lederskabs-, produkt-, sikkerheds- eller platformsejere lærer hurtigere, om de har brug for en patch, et indeslutningstrin, en omskrivningsgrænse, en leverandørsamtale eller en afvisning af at stole på et værktøj, der var blevet introduceret med mistænkeligt entusiastiske adjektiver.

Og det reducerer organisatorisk teater. Når det binære er kortlagt, protokollen afspilles igen, klienten observeres, eller kørselstiden er tilsluttet, bliver rummet mere stille. Folk holder op med at prøve meninger og begynder at arbejde med beviser. Reverse engineering er undervurderet, dels fordi det er opklarende, og opklarende arbejde har en grim vane med at gøre oppustede historier sværere at vedligeholde.

Godt arbejde efterlader også genbrugelige aktiver: indfangningsprocedurer, triage-hjælpere, navnekonventioner, runtime-notater og tekniske fortællinger, som resten af ​​organisationen faktisk kan bruge. Det er sådan en undersøgelse bliver en del af et sundere ingeniørøkosystem i stedet for at forblive en enkelt heroisk episode.

Hands-On Lab: Byg en lille import triage-hjælper

Lad os holde laboratoriet praktisk. En masse reverse engineering-arbejde starter med et beskedent spørgsmål: hvilken slags binært forsøger dette at være?

Hjælperen nedenfor er bevidst ydmyg. Det beviser ikke hensigt. Det hjælper med at indsnævre det første sæt af muligheder, så det næste trin er bedre målrettet og mindre tilfældigt.

`triage.py````python

from collections import Counter

IMPORT_BUCKETS = { "network": {"send", "recv", "connect", "WSAStartup", "InternetOpenUrlW"}, "filesystem": {"CreateFileW", "ReadFile", "WriteFile", "DeleteFileW"}, "registry": {"RegOpenKeyExW", "RegSetValueExW"}, "crypto": {"CryptProtectData", "BCryptEncrypt", "BCryptDecrypt"}, "process": {"CreateProcessW", "OpenProcess", "VirtualAllocEx", "WriteProcessMemory"}, }

def classify_imports(imports): counts = Counter() for name in imports: for bucket, members in IMPORT_BUCKETS.items(): if name in members: counts[bucket] += 1 return counts

if name == "main": sample_imports = [ "CreateFileW", "ReadFile", "send", "recv", "BCryptEncrypt", "OpenProcess", "VirtualAllocEx", "WriteProcessMemory", ]

result = classify_imports(sample_imports)
for bucket, value in result.items():
    print(f"{bucket}: {value}")

### Løbbash python triage.py



Fordi det demonstrerer en nyttig vane: Flyt hurtigt fra artefaktstøj til afgrænsede hypoteser. Scriptet beviser ikke, hvad det binære gør. Det giver dig et renere første spørgsmål. I virkeligt arbejde er AI meget god til at hjælpe med at generere og forfine hjælpere som denne. Mennesket skal stadig beslutte, hvad tællingerne betyder i sammenhæng.

I praksis bliver en hjælper som denne mere nyttig, når du kombinerer den med strenge, eksporter eller runtime-spor. AI er god til at foreslå det næste lag hurtigt. Artefaktet er stadig det, der afgør, om forslaget fortjener at leve.

## Testopgaver for entusiaster

1. Udvid klassificeringen med WinHTTP-, WinINet-, POSIX-socket- eller libc-import, så den kan fungere på tværs af flere målfamilier.
2. Tilføj strengmønstergruppering og sammenlign, hvor meget bedre førstegangslæsningen bliver, når importer og strenge ses sammen.
3. Før outputtet ind i en lille Ghidra- eller IDA-noteskabelon, så tidlige hypoteser bliver genanvendelige teamartefakter.
4. Bed en AI-assistent om at foreslå bucket-etiketter, og valider derefter hver etiket i forhold til den faktiske runtime-sti, før du stoler på den.
5. Forskellen mellem to importlister fra to versioner af den samme binære fil, og skriv et ændringsresumé på én side, som et sikkerhedsemne faktisk kunne bruge.

## Resumé

Reverse engineering betyder mere i AI-æraen, fordi moderne systemer producerer mere uigennemsigtige artefakter, mere skjulte grænser og mere kommercielt meningsfuld adfærd, som man ikke kan stole på på dokumentation alene. AI hjælper arbejdet, når det fremskynder triage, annotering og hypotesegenerering. Det gør ondt på arbejdet, når det for tidligt forfremmes fra assistent til vidne.

Det vindende mønster er ikke maskine versus menneske. Det er maskinassisteret bevisarbejde styret af menneskelig validering. Det er sådan, teams genvinder sandheden fra artefakter hurtigt nok til at hjælpe leveringen uden at lade et glat sprog løbe over det system, det skal forklare.

Og derfor føles arbejdet mere centralt nu, end det gjorde for nogle år siden. Jo mere software bliver lagdelt, uigennemsigtig, agentiseret og leverandørmedieret, jo mere værdifuld bliver reverse engineering som en praksis med teknisk ærlighed. Det er, hvordan teams genopretter en fælles virkelighed, når artefakten, dokumentationen og politikhistorien er drevet fra hinanden.

## Referencer

1. Ghidra projekt hjem: [https://ghidra-sre.org/](https://ghidra-sre.org/)
2. Frida-dokumentation: [https://frida.re/docs/home/](https://frida.re/docs/home/)
3. angr dokumentation: [https://docs.angr.io/](https://docs.angr.io/)
4. Wireshark-dokumentation: [https://www.wireshark.org/docs/](https://www.wireshark.org/docs/)
5. Ramme for demontering af bundsten: [https://www.capstone-engine.org/](https://www.capstone-engine.org/)
Yevhen R.

Yevhen R., Softwareingeniør og AI-forsker

Tilbage til Blogs

Kontakte

Start samtalen

Et par klare streger er nok. Beskriv systemet, presset, beslutningen der er blokeret. Eller skriv direkte til midgard@stofu.io.

0 / 10000
Ingen fil valgt