US2015074803A1PendingUtilityA1

System and method of interlocking to protect software-mediated program and device behaviours

Assignee: IRDETO CANADA CORPORTATIONPriority: Feb 23, 2007Filed: Apr 30, 2014Published: Mar 12, 2015
Est. expiryFeb 23, 2027(~0.6 yrs left)· nominal 20-yr term from priority
G06F 21/14H04L 2209/20H04L 2209/16H04L 2209/04H04L 9/002G06F 21/125H04L 2209/046G06F 2221/0748G06F 21/1066
57
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Methods and devices for thwarting code and control flow based attacks on software. The source code of a subject piece of software is automatically divided into basic blocks of logic. Selected basic blocks are amended so that their outputs are extended. Similarly, other basic blocks are amended such that their inputs are correspondingly extended. The amendments increase or create dependencies between basic blocks such that tampering with one basic block's code causes other basic blocks to malfunction when executed.

Claims

exact text as granted — not AI-modified
1 . A method for thwarting tampering with software, the method comprising the steps of:
 (a) receiving source code of said software   (b) dividing said source code into basic blocks of logic, at least one first basic block not being dependent on results from at least one second basic block when said software is run   (c) determining which basic blocks to modify based on a logic flow of said source code   (d) modifying at least one first basic block to result in at least one modified first basic block   (e) modifying at least one second basic block to result in at least one modified second basic block   wherein said at least one modified first basic block is dependent on results from said at least one modified second basic block.   
     
     
         2 . A method for hiding dynamic and static values in computer code, the method comprising the step of:
 replacing a value to be hidden with a plurality of computations, said plurality of computation involving other values and constants   
       said value to be hidden being accessed by executing said plurality of computations.

Join the waitlist — get patent alerts

Track US2015074803A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.