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.

Συσκευές και μια συνοδευτική μέθοδος, για τη διαμόρφωση και την ενσωμάτωση ενός ιδιαίτερα πλαστογράφηση-ανθεκτικού κρυπτογραφικού προσδιοριστικού, δηλ., ένα υδατόσημο, μέσα στον μη- non-marked εκτελέσιμο κώδικα, π.χ., ένα πρόγραμμα εφαρμογής, για να παραγάγει μια "watermarked" έκδοση εκείνου του κώδικα. Συγκεκριμένα, το υδατόσημο, που περιέχει, π.χ., ένας σχετικά μεγάλος αριθμός χωριστών εκτελέσιμων ρουτινών, είναι στενά ενσωματωμένο σε ένα σχέδιο ροής του μη- non-marked εκτελέσιμου κώδικα, π.χ., ένα πρόγραμμα εφαρμογής, μέσω τυχαία να καθιερώσει τις πρόσθετες ροές ελέγχου στον εκτελέσιμο κώδικα και της παρεμβολής επιλεγμένης μιας από τις ρουτίνες κατά μήκος κάθε τέτοιας ροής. Δεδομένου ότι το σχέδιο ροής του υδατοσήμου συνδυάζεται ιδιαίτερα με το σχέδιο ροής του μη- non-marked κώδικα, το υδατόσημο είναι αποτελεσματικά αδύνατο είτε να αφαιρέσει από τον κώδικα ή/και να παρακάμψει. Οι ρουτίνες προστίθενται με έναν τέτοιο τρόπο ότι το σχέδιο ροής του προκύπτοντος watermarked κώδικα δεν είναι ουσιαστικά διαφορετικό από αυτό του μη- non-marked κώδικα, ματαιώνοντας κατά συνέπεια την ανίχνευση τρίτων του υδατοσήμου που χρησιμοποιεί, π.χ., τα τυποποιημένα εργαλεία ανάλυσης ροής. Για να ενισχύσει την πλαστογράφηση-αντίσταση του watermarked κώδικα, κάθε τέτοια ρουτίνα μπορεί να παρέχει μια προκαθορισμένη λειτουργία έτσι ώστε εάν εκείνη η ρουτίνα επρόκειτο να αφαιρεθεί από το χαρακτηρισμένο κώδικα από, π.χ., ένας αντίπαλος τρίτων, κατόπιν ο χαρακτηρισμένος κώδικας θα ολοκληρώσει πρόωρα την εκτέλεσή του.

 
Web www.patentalert.com

< Method and system for binding enhanced software features to a persona

< Integrated circuit devices with steganographic authentication and steganographic authentication methods

> Recovery guarantees for general multi-tier applications

> Time-aware best-effort hole-filling retry method and system for network communications

~ 00149