IP Library Patent Application 14266252
Patent Application
App. No. 14/266,252

SYSTEM AND METHOD OF INTERLOCKING TO PROTECT SOFTWARE-MEDIATED PROGRAM AND DEVICE BEHAVIOURS

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
14/266,252
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 (10)

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.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2015
From: IRDETO CANADA CORPORATION
To: IRDETO B.V.
Reel/Frame 035186/0825 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2014
From: JOHNSON, HAROLD JOSEPH; GU, YUAN XIANG; ZHOU, YONGXIN
To: CLOAKWARE CORPORATION
Reel/Frame 033296/0896 →
CHANGE OF NAME Recorded Jul 11, 2014
From: CLOAKWARE CORPORATION
To: IRDETO CANADA CORPORATION
Reel/Frame 033309/0351 →