Tamper resistant software encoding

   
   

The present invention relates generally to computer software, and more specifically, to a method and system of making computer software resistant to tampering and reverse-engineering. "Tampering" occurs when an attacker makes unauthorized changes to a computer software program such as overcoming password access, copy protection or timeout algorithms. Broadly speaking, the method of the invention is to increase the tamper-resistance and obscurity of computer software code by transforming the data flow of the computer software so that the observable operation is dissociated from the intent of the original software code. This way, the attacker can not understand and decode the data flow by observing the execution of the code. A number of techniques for performing the invention are given, including encoding software arguments using polynomials, prime number residues, converting variables to new sets of boolean variables, and defining variables on a new n-dimensional vector space.

Η παρούσα εφεύρεση αφορά γενικά το λογισμικό υπολογιστών, και πιό συγκεκριμένα, σε μια μέθοδο και ένα σύστημα το λογισμικό υπολογιστών ανθεκτικό να πειράξει και την αντίστροφος-κατασκευή. "Να πειράξει" εμφανίζεται όταν κάνει ένας επιτιθέμενος τις αναρμόδιες αλλαγές σε ένα πρόγραμμα λογισμικού υπολογιστών όπως η υπερνίκηση της πρόσβασης κωδικού πρόσβασης, της προστασίας αντιγράφων ή των αλγορίθμων διαλείμματος. Μιλώντας γενικά, η μέθοδος της εφεύρεσης είναι να αυξηθεί η πλαστογράφηση-αντίσταση και το σκοτάδι του κώδικα λογισμικού υπολογιστών με το μετασχηματισμό της ροής στοιχείων του λογισμικού υπολογιστών έτσι ώστε η αισθητή λειτουργία χωρίζεται από την πρόθεση του αρχικού κώδικα λογισμικού. Αυτός ο τρόπος, ο επιτιθέμενος δεν μπορεί να καταλάβει και να αποκωδικοποιήσει τη ροή στοιχείων με την παρατήρηση της εκτέλεσης του κώδικα. Διάφορες τεχνικές για την εφεύρεση δίνονται, συμπεριλαμβανομένης της κωδικοποίησης των επιχειρημάτων λογισμικού χρησιμοποιώντας τα πολυώνυμα, πρωταρχικά υπολείμματα αριθμού, μετατρέποντας τις μεταβλητές στα νέα σύνολα του Μπουλ μεταβλητών, και καθορίζοντας τις μεταβλητές σε ένα νέο ν-διαστατικό διανυσματικό διάστημα.

 
Web www.patentalert.com

< Thread suspension system and method

< Method and apparatus to concurrently boot multiple processors in a non-uniform-memory-access machine

> Object driven software architecture method and apparatus

> Personal inventory management system

~ 00155