A Practical Split Manufacturing Framework for Trojan Prevention via - - PowerPoint PPT Presentation

a practical split manufacturing framework for trojan
SMART_READER_LITE
LIVE PREVIEW

A Practical Split Manufacturing Framework for Trojan Prevention via - - PowerPoint PPT Presentation

A Practical Split Manufacturing Framework for Trojan Prevention via Simultaneous Wire Lifting and Cell Insertion Meng Li 1 , Bei Yu 2 , Yibo Lin 1 , Xiaoqing Xu 1 , Wuxi Li 1 , David Z. Pan 1 1 Electrical & Computer Engineering, University of


slide-1
SLIDE 1

A Practical Split Manufacturing Framework for Trojan Prevention via Simultaneous Wire Lifting and Cell Insertion

Meng Li1, Bei Yu2, Yibo Lin1, Xiaoqing Xu1, Wuxi Li1, David Z. Pan1

1Electrical & Computer Engineering,

University of Texas at Austin

2Computer Science & Engineering,

The Chinese University of Hong Kong

ASPDAC 2018 - Jan 22, 2017 - Jeju Island, Korea

1 / 20

slide-2
SLIDE 2

Motivation State-of-the-Art Framework Experiments

Motivation: Hardware Trojan

Trojans inserted by untrusted foundries threaten system security

◮ Malicious modifications to the original design ◮ Ultra lightweight but can completely ruin the system security mechanisms

Inserted stealthily to prevent post-silicon testing

◮ Require strict conditions to trigger the Trojans

primary inputs primary

  • utputs

2 / 20

slide-3
SLIDE 3

Motivation State-of-the-Art Framework Experiments

Motivation: Hardware Trojan

Trojans inserted by untrusted foundries threaten system security

◮ Malicious modifications to the original design ◮ Ultra lightweight but can completely ruin the system security mechanisms

Inserted stealthily to prevent post-silicon testing

◮ Require strict conditions to trigger the Trojans

primary inputs primary

  • utputs

Trojan Ckt.

Trigger Payload

Cells with rare circuit events are more vulner- able to Trojan insertion

2 / 20

slide-4
SLIDE 4

Motivation State-of-the-Art Framework Experiments

What is Split Manufacturing?

Target at preventing Trojan insertion by untrusted foundries

◮ Front-end-of-line (FEOL): cells and wires in lower metal layers, untrusted foundries ◮ Back-end-of-line (BEOL): wires in higher metal layers, trusted foundries

Wire connections in BEOL layers are hidden from the attackers

◮ Incur overhead for the wires in the BEOL layers

Wire Via FEOL Layers BEOL Layers

Design House Trusted Foundry and Assembler Untrusted Foundry Assembled Chip FEOL BEOL

3 / 20

slide-5
SLIDE 5

Motivation State-of-the-Art Framework Experiments

Why Split Manufacturing Deters Trojan Insertion?

Assume attackers have the original netlist and a full control of FEOL

◮ Determine logic signals used to trigger the Trojan based on the original netlist ◮ Determine the target locations to insert Trojans in the FEOL layers

Critical nodes can still be protected under such a strong attack model

3 4 1 2 5 C D A B E C D A B E

Original Netlist FEOL BEOL Attacker’s Info Whether gate B or D in the FEOL layers implements gate 2 in the original netlist? 4 / 20

slide-6
SLIDE 6

Motivation State-of-the-Art Framework Experiments

Previous Split Manufacturing Framework [Imeson+, Usenix’13]

Regard FEOL layers and the original netlist as graphs

◮ The FEOL graph must be a subgraph of the original netlist

An attacker can identify the physical implementation by subgraph isomorphism relation

5 3 4 1 2

Subgraph:

5 3 4 1 2 E C D A B

  • Orig. Netlist:

FEOL:

1 2 3 4 5 A B C D E

Isomorphic Relation: 5 / 20

slide-7
SLIDE 7

Motivation State-of-the-Art Framework Experiments

Previous Split Manufacturing Framework [Imeson+, Usenix’13]

Different isomorphism relations lead to multiple possible physical implementations Previous security criterion: k-security

◮ For one cell in the original netlist, require k different possible implementations ◮ For the netlist, require each cell to be at least k secure 5 3 4 1 2

  • Orig. Netlist:

E C D A B

FEOL:

5 1 4 3 2

Subg1:

A B C D E 1 2 3 4 5 6 / 20

slide-8
SLIDE 8

Motivation State-of-the-Art Framework Experiments

Previous Split Manufacturing Framework [Imeson+, Usenix’13]

Different isomorphism relations lead to multiple possible physical implementations Previous security criterion: k-security

◮ For one cell in the original netlist, require k different possible implementations ◮ For the netlist, require each cell to be at least k secure 5 3 4 1 2

  • Orig. Netlist:

E C D A B

FEOL:

5 1 4 3 2

Subg1:

A B C D E 1 2 3 4 5 5 3 4 1 2

Subg2:

A B C D E 1 2 3 4 5 6 / 20

slide-9
SLIDE 9

Motivation State-of-the-Art Framework Experiments

Previous Split Manufacturing Framework [Imeson+, Usenix’13]

Different isomorphism relations lead to multiple possible physical implementations Previous security criterion: k-security

◮ For one cell in the original netlist, require k different possible implementations ◮ For the netlist, require each cell to be at least k secure 5 3 4 1 2

  • Orig. Netlist:

E C D A B

FEOL:

5 1 4 3 2

Subg1:

A B C D E 1 2 3 4 5 5 3 4 1 2

Subg2:

A B C D E 1 2 3 4 5 5 1 2 3 4

Subg3:

A B C D E 1 2 3 4 5 6 / 20

slide-10
SLIDE 10

Motivation State-of-the-Art Framework Experiments

Previous Split Manufacturing Framework [Imeson+, Usenix’13]

Different isomorphism relations lead to multiple possible physical implementations Previous security criterion: k-security

◮ For one cell in the original netlist, require k different possible implementations ◮ For the netlist, require each cell to be at least k secure 5 3 4 1 2

  • Orig. Netlist:

E C D A B

FEOL:

5 1 4 3 2

Subg1:

A B C D E 1 2 3 4 5 5 3 4 1 2

Subg2:

A B C D E 1 2 3 4 5 5 1 2 3 4

Subg3:

A B C D E 1 2 3 4 5 5 3 2 1 4

Subg4:

A B C D E 1 2 3 4 5 6 / 20

slide-11
SLIDE 11

Motivation State-of-the-Art Framework Experiments

Previous Split Manufacturing Framework [Imeson+, Usenix’13]

Different isomorphism relations lead to multiple possible physical implementations Previous security criterion: k-security

◮ For one cell in the original netlist, require k different possible implementations ◮ For the netlist, require each cell to be at least k secure 5 3 4 1 2

  • Orig. Netlist:

E C D A B

FEOL:

Nodes 1, 2, 3, 4 are 2-secure. Node 5 is 1-secure. The netlist is 1-secure.

6 / 20

slide-12
SLIDE 12

Motivation State-of-the-Art Framework Experiments

Previous Split Manufacturing Framework [Imeson+, Usenix’13]

Greedy split manufacturing flow [Imeson+, Usenix’13]

◮ Start by lifting all wires to BEOL layers and add them back iteratively ◮ Greedily select wires with the maximized netlist security

Poor scalability due to repetitive subgraph isomorphism checking

1 3 5 2 4 6 1’ 3’ 5’ 2’ 4’ 6’ Original: Final FEOL: 1’ 3’ 5’ 2’ 4’ 6’ Starting Point: 1’ 3’ 5’ 2’ 4’ 6’ First Iter:

  • Sec. lvl = 2
  • Sec. lvl = 2

… 1’ 3’ 5’ 2’ 4’ 6’

  • Sec. lvl = 1

1’ 3’ 5’ 2’ 4’ 6’ Second Iter:

  • Sec. lvl = 2

… 1’ 3’ 5’ 2’ 4’ 6’

  • Sec. lvl = 1

1’ 3’ 5’ 2’ 4’ 6’ Third Iter:

  • Sec. lvl = 1

… 1’ 3’ 5’ 2’ 4’ 6’

  • Sec. lvl = 1
  • Sec. lvl = 2

Selected Edge Trial Edge 7 / 20

slide-13
SLIDE 13

Motivation State-of-the-Art Framework Experiments

Overview of Our Proposed Solution

Besides scalability, [Imeson+, Usenix’13] cannot always achieve required security levels New solution: allowing the dummy node/wire insertion together with wire lifting

◮ Only allow inserting wires pointing to dummy nodes 5 3 4 1 2 E C D A B

  • Orig. Netlist:

FEOL:

5 3 4 1 2 E C D A B

  • Orig. Netlist:

FEOL:

F

However, still need to resolve two new issues

◮ How to define the security criterion since FEOL is not a subgraph of the original netlist ◮ How to enhance the scalability and allow concurrent node/wire insertion 8 / 20

slide-14
SLIDE 14

Motivation State-of-the-Art Framework Experiments

Generalized Security Criterion

Invariant relations between the FEOL layers and the original netlist

Relation One Each node in the original netlist has exactly one actual implementation in FEOL

For example, one of nodes B and D in FEOL must implement node 2

5 3 4 1 2 E C D A B

  • Orig. Netlist:

FEOL:

F 9 / 20

slide-15
SLIDE 15

Motivation State-of-the-Art Framework Experiments

Generalized Security Criterion

Invariant relations between the FEOL layers and the original netlist

Relation Two If a node in FEOL is the actual physical implementation of a certain node in the

  • riginal netlist, none of edges pointing to the node can be dummy

Recall inserting dummy wires pointing to the actual physical implementation is not allowed For example, if F is the implementation of 5, then (D, F) and (B, F) are not dummy

5 3 4 1 2 E C D A B

  • Orig. Netlist:

FEOL:

F 9 / 20

slide-16
SLIDE 16

Motivation State-of-the-Art Framework Experiments

Generalized Security Criterion

Now, define new security criterion to accommodate node/wire insertion To identify the possible implementation, build Subgraph Isomorphism Relation between

◮ Spanning subgraph of the original netlist and induced subgraph of FEOL

k-security can be defined based on the subgraph isomorphism relation

5 3 4 1 2 E C D A B

Spanning Subg: Induced Subg:

5 3 4 1 2 E C D A B

  • Orig. Netlist:

FEOL:

F 1 2 3 4 5 A B C D E

Isomorphic Relation:

F

10 / 20

slide-17
SLIDE 17

Motivation State-of-the-Art Framework Experiments

Sufficient Condition for Security Criterion

New security criterion does not help with scalability

◮ Graph isomorphism checking is still required to determine security

Sufficient condition based on k-isomorphism [Cheng+, SIGMOD’10]:

◮ A graph composed of k disjoint isomorphic subgraphs is k-isomorphic ◮ A k-isomorphic FEOL graph guarantees k security

Avoid isomorphism checking by achieving the sufficient condition

1 2 5 3 4 i1 i2

  • 1
  • 2

i1 i2

  • 1
  • 2

A B E C F D

  • Orig. Netlist:

FEOL Layers:

If A is the candidate node of 1, then D must be the candidate node of 1 as well.

11 / 20

slide-18
SLIDE 18

Motivation State-of-the-Art Framework Experiments

MILP based FEOL Generation

Problem Formulation Generate FEOL that satisfies the sufficient condition for the required security level, i.e. k-isomorphism, and minimizes the introduced overhead.

Insert nodes into the subgraphs iteratively and guarantee isomorphism simultaneously

1 9 6 2 3 5 7 8 4

Original Graph G:

1 9 6 2 3 5 7 8 4

1st Iteration:

1

Hs,0 Hs,1

1 9 6 2 3 5 7 8 4

2nd Iteration:

1

Hs,0 Hs,1

2 5 1 9 6 2 3 5 7 8 4

3rd Iteration:

1

Hs,0 Hs,1

2 5 6 7 12 / 20

slide-19
SLIDE 19

Motivation State-of-the-Art Framework Experiments

MILP based FEOL Generation

Hs,0 Hs,1 6 2 1 5 7 9 8 4 z21 y20 y21 z20 0th location Current Location (3rd location) D0 D1 x40 x41 x91 x90 x80 x81 x4 x8 x9 d0 d1 1 9 6 2 3 5 7 8 4 Graph after 3rd Iteration: 4th Iteration: RES 4 = RES 9 = {(4, 9)}, RES 8 = {(3, 8)} IN 40 = IN 41 = {0}, OUT 40 = OUT 41 = ∅ IN 80 = {2}, IN 81 = OUT 80 = OUT 81 = ∅ IN 91 = {2}, IN 90 = OUT 90 = OUT 91 = ∅

Objective function: minimize overhead for the current iteration min

x,d

α

  • i

|RESi|xi − βk

  • l

(yl + zl) + γA

  • j

dj

◮ Area of dummy cells to insert ◮ Number of wires to lift to BEOL ◮ Number of wires to add back to FEOL 13 / 20

slide-20
SLIDE 20

Motivation State-of-the-Art Framework Experiments

MILP based FEOL Generation

Hs,0 Hs,1 6 2 1 5 7 9 8 4 z21 y20 y21 z20 0th location Current Location (3rd location) D0 D1 x40 x41 x91 x90 x80 x81 x4 x8 x9 d0 d1 1 9 6 2 3 5 7 8 4 Graph after 3rd Iteration: 4th Iteration: RES 4 = RES 9 = {(4, 9)}, RES 8 = {(3, 8)} IN 40 = IN 41 = {0}, OUT 40 = OUT 41 = ∅ IN 80 = {2}, IN 81 = OUT 80 = OUT 81 = ∅ IN 91 = {2}, IN 90 = OUT 90 = OUT 91 = ∅

Constraints: node selection, subgraph selection, and edge insertion

  • i

xiwi = 1,

k−1

  • j=0

xij = xi, ∀i;

  • i

xij + dj = 1, ∀j ∈ {0, . . . , k − 1}; yl ≤

  • i

xij · 1l∈INij + dj, zl ≤

  • i

xij · 1l∈OUT ij, ∀j, l. yl and zl can be relaxed to continuous variables without impacting the solution optimality

13 / 20

slide-21
SLIDE 21

Motivation State-of-the-Art Framework Experiments

k-Secure Layout Refinement

Guarantee k-security in the placement stage Previous method: ignore interconnections in BEOL layers

◮ Suffer from large overhead since cells are floating in FEOL layers

Our method: insert virtual nets in the placement stage

1 2 5 3 4 A D C B E F

H : G :

A D C B E F

H0 :

14 / 20

slide-22
SLIDE 22

Motivation State-of-the-Art Framework Experiments

Experimental Setup

Benchmarks: ISCAS 85 and OpenSPARC T1 Program implemented in C++ MILP solver: GUROBI To protect a subset of circuit nodes, we select the nodes considering Trojan insertion strategies used in TrustHub

15 / 20

slide-23
SLIDE 23

Motivation State-of-the-Art Framework Experiments

Experimental Results: Runtime Comparison

Comparison with [Imeson+, Usenix’13] on FEOL generation:

◮ Achieve 10-security and protect 5% nodes ◮ α = 0.5, β = 2.0, and γ = 0.8

Bench # Protect # Nodes Prev (s) Ours (s) c432 23 214 140.8 0.5 c880 19 355 979.6 3.2 c1908 24 519 >100000 8.1 c3540 49 1012 >100000 37.0 c5315 73 1864 >100000 135.0 c6288 90 2568 >100000 297.9 Shifter 84 2579 >100000 273.9 Norm 293.9 1.0

16 / 20

slide-24
SLIDE 24

Motivation State-of-the-Art Framework Experiments

Experimental Results: Overhead Comparison

Comparison with [Imeson+, Usenix’13] on routed wirelength

◮ For the FEOL generation strategy, on average 59.1% wirelength overhead reduction with

less than 4% area overhead increase

◮ For the placement refinement, on average 49.6% wirelength overhead reduction

2 4 6 8 10 12 14 1 1.5 2

Security Level Wirelength (103um)

Wire (Ours) Wire (Prev) 2 4 6 8 10 12 14 3 3.5 4 4.5

Area (102um2)

Wire (Ours) Wire (Prev) Area (Ours) Area (Prev) c1908 c3540 c5315 c6288 Shft 0.5 1 1.5 2 2.5

Benchmark Wirelength (104um)

Original Previous Ours 50 100 150

Improvement (%)

17 / 20

slide-25
SLIDE 25

Motivation State-of-the-Art Framework Experiments

Experimental Results: Proximity Checking

Comparison with [Imeson+, Usenix’13]

◮ Distance between protected nodes and their candidates ◮ For all benchmarks, none of correct connections can be recovered

−1 −0.5 0.5 1 2 4

Distance Difference Probability Density

Prev Ours

18 / 20

slide-26
SLIDE 26

Motivation State-of-the-Art Framework Experiments

Thank you for your attention!

19 / 20

slide-27
SLIDE 27

Motivation State-of-the-Art Framework Experiments

Backup: Overhead Dependency

Overhead dependency on

◮ Security level ◮ Number of protected nodes ◮ MILP coefficient γ

10 20 30 0.2 0.4 0.6

Security Level Portion

Dummy Cell Lifted Edge 2 4 6 8 0.1 0.2 0.3 0.4 0.5

Protected Node (%) Portion

Dummy Cell Lifted Edge 0.8 1 1.2 0.2 0.4 0.6

Coefficient γ Portion

Dummy Cell Lifted Edge

20 / 20