Reverse Engineering i AI-eran: Varför arbetet betyder mer och hur AI förändrar arbetsflödet

Reverse Engineering i AI-eran: Varför arbetet betyder mer och hur AI förändrar arbetsflödet

Reverse Engineering i AI-eran: Varför arbetet betyder mer och hur AI förändrar arbetsflödet

Introduktion

Många antog att AI skulle få reverse engineering att kännas föråldrad. Fantasin var snygg. Modeller skulle läsa kod, förklara binärer, reda ut protokoll, sammanfatta skadlig programvara och i allmänhet ersätta det gamla arbetet med patienttekniska undersökningar med något snabbare, glänsande och mycket mer lämpligt för konferensbilder.

Verkligheten har varit grovare och mer intressant.

AI minskade inte behovet av reverse engineering. Det ökade det. Vi lever nu i en värld av mer ogenomskinliga klienter, mer proprietära omslag runt modeller, fler edge-enheter som skickar odokumenterat beteende, fler agentkörningar som korsar förtroendegränser, mer dator- och mobilprogramvara som döljer följdlogik i binärer och fler team som försöker integrera eller säkra system som de inte har byggt och inte kan inspektera helt från källan ensam. Det är inte mindre reverse engineering. Det är mer av det, och under större leveranstryck.

Den djupare anledningen är enkel. AI utökar mjukvarans beteende snabbare än det utökar mjukvarans ärlighet. System sammanställs från AI, körtider, agenter, plugins, enhetsfirmware, modellbetjänande komponenter och tredjepartsklienter som alla ser sammanhängande ut på ett diagram tills någon måste förklara vad en binär faktiskt gör, vad en modellomslag verkligen skickar, eller varför en uppdatering ändrade beteende på ett sätt som ingen registrerade sig för att försvara.

Det är här reverse engineering blir skarpt modern snarare än svagt nostalgisk. Det är inte längre bara ett verk av skadlig programvara analytiker, firmware-specialister eller protokollarkeologer. Det är teamets arbete som behöver återställa sanningen från artefakter efter att dokumentationen har blivit optimistisk, ofullständig eller helt fiktiv.

AI ändrar detta arbete, ja. Det kan påskynda triage, annotering, hypotesgenerering, skillnad och utkast till dokumentation. Det kan hjälpa till att bygga hjälpskript snabbare. Det kan minska tiden mellan "vad är det här?" och "vi har en fungerande teknisk läsning." Men det avskaffar inte den centrala disciplinen. Artefakten måste fortfarande undersökas. Körtiden måste fortfarande observeras. Protokollet måste fortfarande valideras. Människan måste fortfarande avgöra om förklaringen överlever kontakt med bevis.

Det är den delen som folk försöker hoppa över, kanske för att det låter modernt att hoppa över den. Tyvärr har produktionssystem, incidentrespons och säkerhetsgranskningar fortfarande den gammaldags svagheten att föredra verkligheten.

Varför reverse engineering blev mer värdefull, inte mindre

Den moderna mjukvarugården innehåller fler svarta lådor än vad många lag är bekväma med att erkänna. Några av dem är historiska: äldre binärfiler, leverantörsklienter, övergiven enhetsfirmware, odokumenterade skrivbordskomponenter, proprietära protokoll, installationsprogram, kärnmoduler eller mellanprogram som aldrig lärt sig att tala tydligt. Vissa är helt nya: modellkörtider, agentskal, inbäddade slutledningspaket, webbläsartillägg, uppdateringsformat för smarta enheter och applikationspaket som tyst förvandlar lokalt beteende till nätverksbeteende på sätt som ingen dokumenterade eftersom sprinten redan var försenad.

Eran AI ökar detta tryck på tre sätt.

För det första multiplicerar det artefakter. Team skickar och integrerar nu fler omslag, fler assistenter, mer logik på klientsidan, fler leverantörer SDKs och fler experimentlager än tidigare. Varje nytt lager kan bli en plats där säkerhetsantaganden, prestandakostnader eller beteendeförändringar gömmer sig bakom varumärkesbyggande och optimism.

För det andra multiplicerar det tolkningsproblem. Frågan är inte längre bara "vad gör denna binära?" Det är också "vad gör det här binära systemet med modellanropsvägen, hämtningsvägen, den lokala cachen, pluginytan, uppdateringsmekanismen eller operatörens arbetsflöde?" Omvänd ingenjörskonst blir arbetet med att återställa beteenden från system vars dokumentation har skrivits av olika team, olika epoker eller olika stämningar.

För det tredje multiplicerar det kostnaden för att ha fel. Om ett konventionellt verktyg beter sig konstigt kan skadan vara liten. Om en AI-aktiverad klient, agenthjälpare eller proprietär automationskomponent beter sig konstigt, kan skadan spilla ut i dataläckage, oförutsägbar auktorisering, falska granskningsspår eller en säkerhetshistoria som kollapsar första gången någon jämför löftet med pakethämtningen.

Så arbetet betyder mer eftersom artefakterna betyder mer. Problemet är inte att programvaran är obegriplig. Problemet är att viktig programvara förblir kommersiellt aktiv samtidigt som den bara är delvis läsbar. Omvänd ingenjörskonst är hur team stänger det gapet utan att vänta på att säljaren, den ursprungliga författaren eller universum ska utveckla bättre vanor.

Där AI verkligen hjälper reverse engineering

AI är användbar i reverse engineering när den används som ett accelerationslager, inte som ett substitut för sanning.

Den är väldigt bra på att få det första passet i rörelse. Stora högar av strängar, importer, loggar, symboler, dekompileringsutdata, API spår och repetitiva strukturella ledtrådar kan klustras, taggas, sammanfattas och prioriteras mycket snabbare med maskinassistans än genom att få en människa att kisa mot allt tills kaffet slutar fungera. Det är viktigt eftersom många engagemang inte stannar på den svåraste tekniska slutsatsen, utan på träsket av initial sortering som måste ske innan det verkliga problemet blir synligt.

AI är också användbart för anteckningar. Dekompilerade funktioner behöver namngivningsförslag. Upprepade samtalsmönster behöver grupperas. Kandidatstatsövergångar behöver preliminära förklaringar. Protokollfält behöver hypoteser. Verktygslim måste skrivas. Ghidra och Frida hjälpare behöver ett första utkast. Dokumentation för resten av teamet måste sluta låta som en lösenseddel från binären.

Den typen av hjälp är verklig. Det sparar tid. Det gör den tidiga delen av arbetet mindre tråkig. Det gör också samarbete enklare, eftersom den råa artefakten blir mer diskuterad tidigare. Ingenjörer, forskare och beslutsfattare kan utgå från en märkt karta istället för från en digital grottvägg.

Det finns en annan fördel som spelar roll kommersiellt. AI förkortar tiden mellan misstanke och läsning av beslutskvalitet. Det kan förändra ekonomin i ett engagemang. Ett team behöver inte vänta lika länge för att ta reda på om det handlar om ett vanligt integrationsproblem, en dold säkerhetsgräns, en skyddad modellomslag, en nedgrävd uppdateringsväg eller en komponent vars beteende skiljer sig tillräckligt mycket från dokumentationen för att ledarskap ska sluta låtsas något annat.

På det här sättet ersätter inte AI reverse engineering. Det gör reverse engineering mindre administrativt långsam.

Där AI ligger och varför det fortfarande spelar roll

AI ljuger också vackert, och det är just därför som disciplinerade team vägrar att ta ansvar för slutsatser.

En modell kan generera rimliga funktionsnamn som är felaktiga. Det kan sluta sig till en protokollhistoria som passar halva fälten och hallucinerar resten. Det kan producera säker kommentar över dekompilatorns utdata som låter skarpare än bevisen förtjänar. Det kan kollapsa tvetydighet till en polerad mening innan körtiden har bekräftat något. Och eftersom språket är smidigt börjar folk att behandla det som kunskap snarare än som gissningar med fin hållning.

Detta är särskilt farligt i reverse engineering eftersom många artefakter redan ser suggestiva ut. Strängar antyder beteende. Importer tipsar om kapacitet. Symbolformer antyder struktur. Dekompilerat kontrollflöde tipsar om avsikt. Tips är användbara. Tips är inte domar. AI tenderar att få tips att låta som domar tidigare än ett vuxen arbetsflöde borde tillåta.

Det är därför starka team bygger en regel som känns nästan gammaldags: AI kan formulera hypotesen, men artefakten och körtiden äger fortfarande svaret.

En paketfångning slår ett narrativ. En repris slår en teori. Ett minnesspår slår ett säkert stycke. En dynamisk krok slår en charmig modellsammanfattning. En reproducerad tillståndsövergång slår en misstänkt polerad förklaring som faktiskt aldrig överlevde avrättningen.

Detta gör inte AI värdelös. Det gör det styrbart. Och styrbara verktyg är de som får en permanent plats i seriöst ingenjörsarbete.

Arbetsflödet som faktiskt fungerar

Den mest pålitliga interaktionen mellan AI och reverse engineering är cyklisk snarare än hängiven.

Först samla artefakten ärligt. Binär, paket, spårning, strängar, importer, fångar, loggar, uppdateringsnyttolaster, processträd, systemanrop, nätverkskanter, dekompileringsutdata. Låt inte verktyget börja uppfinna innan bevisen ligger på bordet.

För det andra, använd AI för att påskynda triage. Gruppera importerna. Tagga strängarna. Sammanfatta repetitiva flöden. Utkast till troligt modulansvar. Ta fram kandidatnamn och troliga gränser. Skapa små skript för repetitivt verktygsarbete. Be om hypoteser, inte doktriner.

För det tredje, validera dynamiskt. Haka på stigen. Spela upp trafiken igen. Utlösa beteendet. Jämför filsystemändringar, registerändringar, nätverksändringar, kryptooperationer eller UI tillstånd mot hypotesen. Det är här de vackra lögnerna börjar dö, och det är hälsosamt för alla.

För det fjärde, skriv slutsatsen på mänskligt språk som överlever granskning. Vad händer egentligen? Vad är fortfarande osäkert? Vad är risken? Vad kan ändras härnäst? Vilka bevis stöder den ordern? Omvänd ingenjörskonst blir kommersiellt användbar först när resultatet är tillräckligt läsligt för att schemalägga.

Detta arbetsflöde är långsammare än fantasi och snabbare än förvirring. Det brukar vara rätt hastighet.

Praktiska fall värda att lösa först

Proprietärt AI klientbeteende

Team förlitar sig i allt högre grad på tredjepartsassistenter, slutsatser, webbläsartillägg eller företagsklienter som påstår sig vara säkra, privata, omfångade eller lokala. Omvänd ingenjörskonst hjälper till att verifiera om lokal verkligen betyder lokal, om cachar beter sig ärligt, om bilagor bearbetas som folk tänker och var de verkliga nätverks- och lagringsgränserna sitter.

Agentverktyg och plugin-ytor

Agentskal ackumulerar ofta verktyg snabbare än de ackumulerar styrning. Omvänd konstruktion och dynamisk inspektion hjälper teamen att bekräfta hur verktyg anropas, vilka dolda argument som är bifogade, var minne eller sammanhang lagras och om körtidsbeteendet matchar policyberättelsen som någon skrev för upphandling.

Triage av skadlig programvara och hot

Detta är det klassiska fallet, och AI är verkligen användbart här när det påskyndar tidig triage utan att tillåtas bli den slutliga analytikern. Importer, strängar, uppackningstips, kommando-och-kontrollmönster och filsystembeteende kan organiseras snabbt. Det farliga steget är när "organiserad snabbt" förväxlas med "förstått helt".

Äldre interoperabilitet

Moderna AI-produkter knyts alltmer till gamla företagsfastigheter. När en äldre skrivbordsklient, enhetskomponent eller odokumenterad brygga fortfarande formar vägen, återställer reverse engineering gränsen som projektet inte längre har råd att gissa sig till.

Hur bra ser ut

Bra reverse engineering på AI-eran gör tre saker samtidigt.

Det minskar oklarheten. Teamet kan peka på en riktig väg, ett riktigt gränssnitt, en verklig kapacitetsuppsättning eller en riktig riskgräns istället för att tala i dyra väderrapporter.

Det minskar tiden till beslut. Ledarskaps-, produkt-, säkerhets- eller plattformsägare lär sig snabbare om de behöver en patch, ett inneslutningssteg, en omskrivningsgräns, en leverantörskonversation eller en vägran att lita på ett verktyg som har introducerats med misstänkt entusiastiska adjektiv.

Och det minskar organisationsteatern. När binären väl har mappats, protokollet spelas upp igen, klienten observeras eller körtiden är ansluten, blir rummet tystare. Folk slutar provspela åsikter och börjar arbeta med bevis. Reverse engineering är underskattat delvis för att det är förtydligande, och förtydligande arbete har en otäck vana att göra uppblåsta historier svårare att underhålla.

Praktiskt labb: Bygg en liten importtriagehjälp

Låt oss hålla labbet praktiskt. En hel del omvänd ingenjörsarbete börjar med en blygsam fråga: vilken typ av binärt försöker detta vara?

triage.py

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}")

Sikt

python triage.py

Varför denna lilla övning är viktig

Eftersom det visar på en användbar vana: gå snabbt från artefaktbrus mot avgränsade hypoteser. Skriptet bevisar inte vad binären gör. Det ger dig en renare första fråga. I verkligt arbete är AI väldigt bra på att hjälpa till att generera och förfina hjälpare som denna. Människan måste fortfarande avgöra vad räkningarna betyder i sitt sammanhang.

Testuppgifter för entusiaster

  1. Utöka klassificeraren med WinHTTP-, WinINet-, POSIX-socket- eller libc-importer så att den kan fungera över flera målfamiljer.
  2. Lägg till strängmönstergruppering och jämför hur mycket bättre förstapassläsningen blir när importer och strängar ses tillsammans.
  3. Mata in resultatet i en liten Ghidra- eller IDA-anteckningsmall så att tidiga hypoteser blir återanvändbara teamartefakter.
  4. Be en AI-assistent att föreslå hinketiketter och validera sedan varje etikett mot den faktiska körningsvägen innan du litar på den.
  5. Skilj två importlistor från två versioner av samma binär och skriv en ensidig ändringssammanfattning som en säkerhetsledning faktiskt skulle kunna använda.

Sammanfattning

Omvänd ingenjörskonst är viktigare i AI-eran eftersom moderna system producerar mer ogenomskinliga artefakter, mer dolda gränser och mer kommersiellt meningsfullt beteende som inte kan litas på enbart på dokumentation. AI hjälper arbetet när det påskyndar triage, anteckningar och hypotesgenerering. Det skadar arbetet när det för tidigt befordras från assistent till vittne.

Det vinnande mönstret är inte maskin mot människa. Det är maskinassisterat bevisarbete som styrs av mänsklig validering. Det är så team återvinner sanningen från artefakter tillräckligt snabbt för att hjälpa leveransen utan att låta smidigt språk gå ifrån systemet som det är tänkt att förklara.

Referenser

  1. Ghidra projekthem: https://ghidra-sre.org/
  2. Frida-dokumentation: https://frida.re/docs/home/
  3. angr dokumentation: https://docs.angr.io/
  4. Wireshark-dokumentation: https://www.wireshark.org/docs/
  5. Capstone demontering ram: https://www.capstone-engine.org/
Yevhen R.

Yevhen R. – Mjukvaruingenjör och AI forskare

Tillbaka till bloggar

Kontakta

Starta konversationen

Några tydliga streck räcker. Beskriv systemet, trycket och beslutet som blockeras. Eller skriv direkt till midgard@stofu.io.

01 Vad systemet gör
02 Vad gör ont nu
03 Vilket beslut är blockerat
04 Valfritt: loggar, specifikationer, spår, diff
0 / 10000
Ingen fil har valts