Nadat /. de site pbs.org rapporteerde, leek het me mooi punt van discussie voor P&W. Even kort waar het over gaat:
Nu is dit allemaal wel leuk, maar hoe willen ze dit realiseren? De kunst van morphende (is dat een woord?
) virussen schrijven duurt meestal wel even, en nu gaat een programma 'even' code die normaal helemaal niet wild in het rond springt morphen? Apart. Zeker omdat ze stellen dat:
Om even af te ronden, dus, hebben we het morphing programma tool in handen, en reverse engineren we de morph mogelijkheden in combinatie met de keys, dan ligt er een breed aantal programma's (straks) die met deze code juist zijn beveiligd compleet open. En omdat de eigenlijke code helemaal gestript is van overbodige variabelen ed, wordt het alleen maar makkelijker.
Ik vind dit toch weer een jammerlijke manier van de ontwikkeling van beveiligingstechnieken. Wat ik zo vreemd vind is dat ze in deze tijden, waar beveiliging tot een enorm marketinginstrument is uitgegroeid, toch .net (een interpretatie framework) proberen door te zetten.
My two cents, now give me yours
Denken jullie dat het zo uit de hand zal lopen? Zijn er andere methoden om deze 'morphing' techniek te implementeren? En in hoeverre zullen deze 'watermerken' echt onzichtbaar zijn?
Het idee is dus hetzelfde als vroege virussen, het wijzigen van de code zelf. Daarnaast gaat het artikel dieper in op het aanbrengen van een 'watermerk' in een stuk programmatuur, zodat het op een 'onzichtbare' manier uit elkaar gehouden kan worden. Met dus in het achterhoofd dat elk stuk programma op een andere manier z'n code morphed..NET is almost exclusively Just-In-Time compiled. JIT'ing means, "I was just about to interpret this, but I'll compile it at the very last minute instead." In effect, the .NET code remains in interpretation-intended form right up until the end.
...
One area of research is called "Program State Code Protection,” or PSCP, which means changing the code AS IT RUNS to make it harder for a cracker to know what is actually happening. Dotfuscator and DashO, for example, right now change all variable names to the same name. But what if all variable names were changed not just to the same name, but were changed continuously to a wide variety of names?
Nu is dit allemaal wel leuk, maar hoe willen ze dit realiseren? De kunst van morphende (is dat een woord?
Hmm ja, dus we gooien het door een gdb-windows versie, en lopen de stappen door. Als de code al morphed, dan zal het waarschijnlijk het programma zijn dat morphed, en welke dan in verscheidene states een stuk van het eigenlijke programma uitvoert. En om het watermerk principe te realiseren zal het op meerdere fietsen kunnen morphen, welke onderscheiden worden door een key.We no longer let a hacker reverse-engineer a program on paper, we force them to reverse-engineer as the program runs.
Om even af te ronden, dus, hebben we het morphing programma tool in handen, en reverse engineren we de morph mogelijkheden in combinatie met de keys, dan ligt er een breed aantal programma's (straks) die met deze code juist zijn beveiligd compleet open. En omdat de eigenlijke code helemaal gestript is van overbodige variabelen ed, wordt het alleen maar makkelijker.
Ik vind dit toch weer een jammerlijke manier van de ontwikkeling van beveiligingstechnieken. Wat ik zo vreemd vind is dat ze in deze tijden, waar beveiliging tot een enorm marketinginstrument is uitgegroeid, toch .net (een interpretatie framework) proberen door te zetten.
My two cents, now give me yours