Technique for producing, through watermarking, highly tamper-resistant executable code and resulting "watermarked" code so formed

   
   

Apparatus and an accompanying method, for forming and embedding a highly tamper-resistant cryptographic identifier, i.e., a watermark, within non-marked executable code, e.g., an application program, to generate a "watermarked" version of that code. Specifically, the watermark, containing, e.g., a relatively large number of separate executable routines, is tightly integrated into a flow pattern of non-marked executable code, e.g., an application program, through randomly establishing additional control flows in the executable code and inserting a selected one of the routines along each such flow. Since the flow pattern of the watermark is highly intertwined with the flow pattern of the non-marked code, the watermark is effectively impossible to either remove from the code and/or circumvent. The routines are added in such a manner that the flow pattern of resulting watermarked code is not substantially different from that of the non-marked code, thus frustrating third party detection of the watermark using, e.g., standard flow analysis tools. To enhance tamper-resistance of the watermarked code, each such routine can provide a pre-defined function such that if that routine were to be removed from the marked code by, e.g., a third party adversary, then the marked code will prematurely terminate its execution.

Materiale e un metodo accompagnante, per formare e l'incastonatura del contrassegno crittografico altamente alter-resistente, cioè, una filigrana, all'interno del codice eseguibile non-contrassegnato, per esempio, un programma di applicazione, per generare una versione "con filigrana" di quel codice. Specificamente, la filigrana, contenente, per esempio, un numero relativamente grande di procedure eseguibili separate, è integrata strettamente in un modello di flusso del codice eseguibile non-contrassegnato, per esempio, un programma di applicazione, through a caso stabilendo il controllo supplementare entra nel codice eseguibile e nell'inserimento selezionato delle procedure lungo ogni tale flusso. Poiché il modello di flusso della filigrana altamente intertwined con il modello di flusso del codice non-contrassegnato, la filigrana è efficacemente impossibile a o rimuove dal codice e/o aggira. Le procedure sono in maniera tale che il modello di flusso del codice con filigrana risultante non sia sostanzialmente differente da quello del codice non-contrassegnato, rilevazione aggiunta dei terzi così di frustrazione della filigrana per mezzo, per esempio, degli attrezzi standard di analisi di flusso. Per aumentare la alter-resistenza del codice con filigrana, ogni tale procedura può fornire una funzione predefinita tali che se quella procedura dovesse essere rimossa dal profondo codice vicino, per esempio, un avversario dei terzi, allora il profondo codice prematuramente terminerà la relativa esecuzione.

 
Web www.patentalert.com

< Real time backup system for information based on a user's actions and gestures for computer users

< Method for controlling multiple storage devices from a single software entity

> Shared encoder used in error correction having multiple encoders of different maximum error correction capabilities

> Incoherent light-emitting device apparatus for driving vertical laser cavity

~ 00148