IP Library Granted Patent US 11,270,002
Granted Patent B2
US 11,270,002 · App. 15/978,734 · Granted Mar 8, 2022

Hardware trojan detection through information flow security verification

Inventors: Mark M. Tehranipoor (Gainesville, FL); Adib Nahiyan (Gainesville, FL); Domenic J. Forte (Gainesville, FL)
Assignee: University Of Florida Research Foundation, Inc.
G06F21/568G06F21/55G06F21/56G06F21/565G06F21/566G06F21/567G06F21/577G06F21/71G06F21/72G06F21/75G06F21/76
View Patent ↗
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 11,270,002
App. No.
15/978,734
Granted
Mar 8, 2022
Kind
B2
Abstract

Disclosed are various embodiments for detecting hardware Trojans through information flow security verification. A file comprising register transfer level (HDL) code for an intellectual property core is loaded from memory. An asset within the intellectual property core is identified. An integrity verification or confidentiality verification of the HDL code that represents the asset is performed. An integrity violation or confidentiality violation within the HDL code as a result of performance of the integrity verification or confidentiality violation on the HDL code that represents the asset is detected. A malicious control point or a malicious observation point linked to the asset is identified. Finally, a trigger circuit for a hardware Trojan is identified in response to identification of the malicious control point or malicious observation point.

Claims (42)

1. A system comprising:

a computing device comprising a processor and a memory; and

machine readable instructions stored in the memory that, when executed by the processor, cause the computing device to at least:

load a file comprising hardware description language (HDL) code for an intellectual property core;

identify an asset within the intellectual property core;

perform a confidentiality verification of the HDL code that represents the asset;

detect a confidentiality violation within the HDL code as a result of performance of the confidentiality verification on the HDL code that represents the asset, wherein the confidentiality violation is defined by a confidentiality policy that specifies which gates, registers, or ports are permitted to be used to access the asset;

identify a malicious observation point linked to the asset based at least in part on determining a depth of a propagation path of the asset to the malicious observation point and determining whether the malicious observation point is present outside of at least one fan-in cone of at least one respective valid observation point, wherein the malicious observation point indicates a presence of a hardware Trojan;

determine that a state register linked to the malicious observation point comprises a feedback loop;

identify a trigger circuit for the hardware Trojan in response to identification of the malicious observation point based at least in part on determining a present state and an input condition that cause a transition of a finite state machine to a state that activates the trigger circuit, the finite state machine comprising the state register linked to the malicious observation point; and

initiate extraction of the trigger circuit for the hardware Trojan.

2. The system of claim 1 , wherein the machine readable instructions further cause the computing device to at least determining whether the malicious observation point is present outside of the at least one fan-in cone of the at least one respective observation point by performing an intersect analysis of the at least one fan-in cone of the at least one respective observation point and all observation points to which the asset can propagate.

3. The system of claim 1 , wherein the machine readable instructions further cause the computing device to at least retrieve functionality of the finite state machine linked to the state register.

4. The system of claim 1 , wherein the machine readable instructions further cause the computing device to at least identify a trigger condition for the trigger circuit for the hardware Trojan.

5. The system of claim 1 , wherein the HDL code is represented as Verilog code.

6. A system, comprising:

a computing device comprising a processor and a memory; and

machine readable instructions stored in the memory that, when executed by the processor, cause the computing device to at least

load a file comprising hardware description language (HDL) code for an intellectual property core;

identify an asset within the intellectual property core;

perform an integrity verification of the HDL code that represents the asset;

detect an integrity violation within the HDL code as a result of performance of the integrity verification on the HDL code that represents the asset, wherein the integrity violation is defined by an integrity policy that can specify which gates, registers, or ports are permitted to manipulate the asset;

identify a malicious control point linked to the asset based at least in part on determining a depth of a propagation path of the asset to the malicious control point and determining whether the malicious control point is present outside of at least one fan-in cone of at least one respective control point, wherein the malicious control point indicates a presence of a hardware Trojan;

determine that a state register linked to the malicious control point comprises a feedback loop;

identify a trigger circuit for the hardware Trojan in response to identification of the malicious control point based at least in part on determining a present state and an input condition that cause a transition of a finite state machine to a state that activates the trigger circuit, the finite state machine comprising the state register linked to the malicious control point; and

initiate extraction of the trigger circuit for the hardware Trojan.

7. The system of claim 6 , wherein the machine readable instructions further cause the computing device to at least determine whether the malicious control point is present outside of the at least one fan-in cone of the at least one respective control point by performing an intersect analysis of the at least one fan-in cone of the at least one respective control point and all control points that can influence the asset.

8. The system of claim 6 , wherein the machine readable instructions further cause the computing device to at least retrieve functionality of the finite state machine linked to the state register.

9. The system of claim 6 , wherein the machine readable instructions further cause the computing device to at least identify a trigger condition for the trigger circuit for the hardware Trojan.

10. The system of claim 6 , wherein the HDL code is represented as Verilog code.

11. A method, comprising:

loading a file comprising hardware description language (HDL) code for an intellectual property core;

identifying an asset within the intellectual property core;

performing an integrity verification of the HDL code that represents the asset;

detecting an integrity violation within the HDL code as a result of performance of the integrity verification on the HDL code that represents the asset, wherein the integrity violation is defined by an integrity policy that can specify which gates, registers, or ports are permitted to manipulate the asset;

identifying a malicious control point linked to the asset based at least in part on determining a depth of a propagation path of the asset to the malicious control point and determining whether the malicious control point is present outside of at least one fan-in cone of at least one valid control point, wherein the malicious control point indicates a presence of a hardware Trojan;

determining that a state register linked to the malicious control point comprises a feedback loop;

identifying a trigger circuit for the hardware Trojan in response to identification of the malicious control point based at least in part on determining a present state and an input condition that cause a transition of a finite state machine to a state that activates the trigger circuit, the finite state machine comprising the state register linked to the malicious control point; and

initiate extraction of the trigger circuit for the hardware Trojan.

12. The method of claim 11 , further comprising determining whether the malicious control point is present outside of the at least one fan-in cone of the at least one valid control point by performing an intersect analysis of at least one fan-in cone of the at least one valid control point and all control points to which can influence the asset.

13. The method of claim 11 , further comprising retrieving functionality of the finite state machine linked to the state register.

14. The method of claim 11 , further comprising identifying a trigger condition for the trigger circuit for the hardware Trojan.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2018
From: TEHRANIPOOR, MARK M.; NAHIYAN, ADIB; FORTE, DOMENIC J.
To: UNIVERSITY OF FLORIDA RESEARCH FOUNDATION, INC.
Reel/Frame 047681/0984 →
Continuity (1)
Related Publication 20190347417A1 · Nov 14, 2019
Cited By (1)
US 12,585,783