Scrambler: Mixed Boolean Arithmetic Obfuscation Tool Using E-graph and Equality Expansion

Het paper introduceert Scrambler, een e-graafgebaseerde tool voor Mixed Boolean Arithmetic-obfuscatie die via gelijkheidsuitbreiding efficiënt complexe en diverse expressies genereert met gegarandeerde equivalentie.

Seoksu Lee, Sangjun An, Eun-Sun Cho

Gepubliceerd Mon, 09 Ma
📖 5 min leestijd🧠 Diepgaand

Each language version is independently generated for its own context, not a direct translation.

Hier is een uitleg van het paper "Scrambler" in eenvoudig Nederlands, met behulp van creatieve vergelijkingen om het begrijpelijk te maken voor iedereen.

Wat is dit papier eigenlijk over?

Stel je voor dat je een heel gewone, simpele zin hebt, zoals: "Ik eet een appel."
Als je deze zin wilt verstoppen voor iemand die hem niet mag lezen (bijvoorbeeld een hacker die probeert te snappen hoe een computerprogramma werkt), kun je de zin herschrijven zonder de betekenis te veranderen.

In plaats van "Ik eet een appel" te zeggen, zou je kunnen zeggen: "De persoon die ik ben, consumeert een vrucht die rood is en rond, en die groeit aan een boom."

Het resultaat is nog steeds waar, maar het is veel langer, rommeliger en moeilijker om direct te doorgronden. In de wereld van computersoftware noemen we dit obfuscatie (verwarring).

Dit paper introduceert een nieuw gereedschap genaamd Scrambler. Dit is een slimme machine die automatisch hele complexe, onleesbare zinnen (of in dit geval, wiskundige formules) bedenkt om software te beschermen.

Het probleem met de oude methoden

Vroeger hadden mensen gereedschappen om software te verwarren, maar die hadden twee grote nadelen:

  1. Ze waren beperkt: Het was alsof je alleen maar woorden uit een klein woordenboek mocht gebruiken. Je kon niet echt creatief zijn.
  2. Ze moesten controleren: Omdat ze niet zeker wisten of hun nieuwe zin nog steeds dezelfde betekenis had, moesten ze na het maken van de zin een dure "controleur" (een computerprogramma) bellen om te checken: "Heb je dit goed gedaan?" Dit kostte veel tijd.

De oplossing: Scrambler en de "E-Graph"

De auteurs van dit papier hebben een nieuwe aanpak bedacht die werkt als een ontzettend slimme bibliotheek of een spiegelzaal.

1. De E-Graph (De Spiegelzaal)

Stel je voor dat je in een kamer staat met spiegels aan alle kanten. In het midden staat een simpele bloem.

  • In een normale wereld zie je één bloem.
  • In deze "spiegelzaal" (de E-Graph in het paper) zie je de bloem, maar ook duizenden versies ervan: een bloem met een hoed, een bloem die dansen doet, een bloem gemaakt van glas.
  • Het mooie is: de computer "weet" dat al deze versies dezelfde bloem zijn. Ze zijn equivalent. Ze hoeven niet apart opgeslagen te worden als iets nieuws; ze zijn gewoon verschillende manieren om naar hetzelfde te kijken.

2. Equality Expansion (Het Uitrekken van de Zin)

Normaal gesproken proberen computers in zo'n spiegelzaal de kortste en eenvoudigste weg te vinden (bijvoorbeeld: "Kies de versie zonder hoed").

Scrambler doet het tegenovergestelde. Het is als een kind dat zegt: "Nee, ik wil de langste, gekste versie!"
Het tooltje pakt een simpele formule en begint continu nieuwe regels toe te passen in de spiegelzaal.

  • Stap 1: "Ik eet een appel."
  • Stap 2: "Ik eet een vrucht die rood is."
  • Stap 3: "Ik eet een vrucht die rood is en die groeit aan een boom die in de tuin staat..."
  • Stap 4: ...en zo verder, tot de zin zo lang is dat hij 10.000 woorden telt.

Dit noemen ze Equality Expansion. Ze gebruiken de regels van de wiskunde om de zin steeds langer en complexer te maken, maar omdat ze binnen de "spiegelzaal" werken, weten ze 100% zeker dat de betekenis nooit verandert.

Waarom is Scrambler zo cool?

Het paper laat zien dat Scrambler veel beter is dan de oude tools. Hier zijn de voordelen, vertaald naar alledaags taal:

  • Het is een explosie van complexiteit:
    Terwijl andere tools een zin van misschien 200 woorden maken, kan Scrambler er een maken van 34.000 woorden (of in wiskundige termen: 34.000 bouwstenen). Het maakt de code zo rommelig dat het voor een hacker onmogelijk lijkt om erachter te komen wat er eigenlijk gebeurt.
  • Geen controleur nodig:
    Omdat Scrambler werkt met de "spiegelzaal" (de E-Graph), is het per definitie waar dat de nieuwe zin hetzelfde betekent als de oude. Je hoeft geen dure controleur meer te bellen om te checken of het klopt. Het systeem bouwt het zo dat het altijd klopt. Dat bespaart enorm veel tijd.
  • Meer vrijheid:
    Oude tools hadden maar een paar regels. Scrambler kan met veel verschillende soorten wiskundige regels werken, waardoor het eindresultaat veel diverser en moeilijker te kraken is.

Wat zeggen de cijfers?

In het paper hebben ze een wedstrijd gehouden tussen Scrambler en de oude tools.

  • Oude tools: Maakten formules die ongeveer 200 tot 2000 "stukjes" groot waren.
  • Scrambler: Maakte formules die gemiddeld 34.000 stukjes groot waren!

Dat is als het verschil tussen een kort gedicht en een hele roman die je in één seconde hebt geschreven, maar die nog steeds precies hetzelfde verhaal vertelt.

Conclusie

Kort samengevat: Scrambler is een nieuwe, slimme manier om computercode te verstoppen. Het gebruikt een slimme "spiegelzaal" (E-Graph) om simpele instructies om te toveren in gigantische, onleesbare muren van wiskunde. Omdat het systeem slim genoeg is om te weten dat de betekenis behouden blijft, hoeft het niet te controleren of het goed is gedaan. Het resultaat is een beveiliging die veel moeilijker te kraken is dan wat we tot nu toe hadden.

Het is alsof je een sleutel in een doos stopt, de doos in een koffer doet, de koffer in een vrachtwagen, en die vrachtwagen in een berg giet... en dat allemaal in een seconde, zonder dat je ooit twijfelt of de sleutel nog steeds in de doos zit.