Provably Secure Camouflaging Strategy for IC Protection Meng Li 1 - - PowerPoint PPT Presentation

provably secure camouflaging strategy for ic protection
SMART_READER_LITE
LIVE PREVIEW

Provably Secure Camouflaging Strategy for IC Protection Meng Li 1 - - PowerPoint PPT Presentation

Provably Secure Camouflaging Strategy for IC Protection Meng Li 1 Kaveh Shamsi 2 Travis Meade 2 Zheng Zhao 1 Bei Yu 3 Yier Jin 2 David Z. Pan 1 1 Electrical and Computer Engineering, University of Texas at Austin 2 Electrical and Computer


slide-1
SLIDE 1

Provably Secure Camouflaging Strategy for IC Protection

Meng Li1 Kaveh Shamsi2 Travis Meade2 Zheng Zhao1 Bei Yu3 Yier Jin2 David Z. Pan1

1Electrical and Computer Engineering, University of Texas at Austin 2Electrical and Computer Engineering, University of Central Florida 3Computer Science and Engineering, The Chinese University of Hong Kong

ICCAD2016 - November 07, 2016 - Austin, TX

1 / 27

slide-2
SLIDE 2

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

Introduction

IP protection against reverse engineering becomes a significant concern Reverse engineering flow

ANDX2

I3

XORX1 ORX1 ORX1

I0 I1 I2 O2 O1

Image Processing Delayering & Imaging Netlist Recon.

2 / 27

slide-3
SLIDE 3

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

Introduction

IC camouflaging is proposed to hide circuit functionality

◮ Layout technique ◮ Create cells that look alike but have different functionalities

P-type Substrate N+ N+ Dummy Real

Fabrication Level

Possible dummy via Layout Modification

Cell Level

Camouflaging Cells

Netlist Level

Open questions to solve:

◮ How to evaluate the security of a camouflaged netlist ◮ How to reduce the overhead introduced by IC camouflaging 3 / 27

slide-4
SLIDE 4

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

State-of-The-Art IC Camouflaging

Fabrication level techniques:

◮ Contact- and doping-based techniques [Chow+, US Patent’07] 4 / 27

slide-5
SLIDE 5

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

State-of-The-Art IC Camouflaging

Fabrication level techniques:

◮ Contact- and doping-based techniques [Chow+, US Patent’07]

Cell level designs:

◮ Camouflaging lookup table [Malik+, ISVLSI’15] 4 / 27

slide-6
SLIDE 6

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

State-of-The-Art IC Camouflaging

Fabrication level techniques:

◮ Contact- and doping-based techniques [Chow+, US Patent’07]

Cell level designs:

◮ Camouflaging lookup table [Malik+, ISVLSI’15]

Netlist level camouflaging cell insertion strategy:

◮ Insertion based on interference graph [Rajendran+, CCS’13] 4 / 27

slide-7
SLIDE 7

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

State-of-The-Art IC Camouflaging

Fabrication level techniques:

◮ Contact- and doping-based techniques [Chow+, US Patent’07]

Cell level designs:

◮ Camouflaging lookup table [Malik+, ISVLSI’15]

Netlist level camouflaging cell insertion strategy:

◮ Insertion based on interference graph [Rajendran+, CCS’13]

Our contribution

◮ A provably secure criterion is proposed and formally analyzed

from Machine Learning perspective

◮ Two factors that improve the circuit security are revealed ◮ A camouflaging framework is proposed to increase the security

exponentially with linear increase of overhead

4 / 27

slide-8
SLIDE 8

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

Preliminary: Reverse Engineering Attack

Knowledge of the attacker:

◮ Get camouflaged netlists

  • Include cells and connections

◮ Differentiate regular and camouflaging cells

  • Don’t know the specific functionality of camouflaging cells

◮ Acquire a functional circuit as black box

  • Don’t have access to internal signals

5 / 27

slide-9
SLIDE 9

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

Preliminary: Reverse Engineering Attack

Knowledge of the attacker:

◮ Get camouflaged netlists

  • Include cells and connections

◮ Differentiate regular and camouflaging cells

  • Don’t know the specific functionality of camouflaging cells

◮ Acquire a functional circuit as black box

  • Don’t have access to internal signals

The attacker aims to recover the circuit functionality by querying the black-box functional circuit

5 / 27

slide-10
SLIDE 10

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

Preliminary: Reverse Engineering Attack

Knowledge of the attacker:

◮ Get camouflaged netlists

  • Include cells and connections

◮ Differentiate regular and camouflaging cells

  • Don’t know the specific functionality of camouflaging cells

◮ Acquire a functional circuit as black box

  • Don’t have access to internal signals

The attacker aims to recover the circuit functionality by querying the black-box functional circuit Attacker query strategy:

◮ Brute force attack ◮ Testing-based attack [Rajendran+, CCS’13] ◮ SAT-based attack [Massad+, NDSS’15] 5 / 27

slide-11
SLIDE 11

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

Preliminary: SAT-based Attack

Key idea:

◮ Only query black box with input patterns that can help remove

false functionalities

No existing camouflaging strategy demonstrates enough resilience

i3 G2 G1 i0 i1 i2

AND, NAND?

i4 O0 G3 i3 G2 G1 i0 i1 i2 G3 i4

NAND

AND

K0

MUX

i0 i1

K0

Circuit Copy1

K1

Circuit Copy2

i2 i3 i4 DiS

(c)

Fi

6 / 27

slide-12
SLIDE 12

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

IC De-camouflaging Modeled As a Learning Problem

IC de-camouflaging can be modeled as a learning problem

◮ Functions of camouflaged circuit ↔ A set of boolean functions ◮ Original circuit ↔ Target boolean function ◮ Input-output pairs ↔ Samples

Different attack methods correspond to different sampling strategies

◮ Brute force attack ↔ Random sampling ◮ SAT-based attack ↔ Query by disagreement ◮ SAT-based attack requires asymptotically less number of

input-output pairs compared with brute force attack

7 / 27

slide-13
SLIDE 13

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

IC Camouflaging Security Analysis

De-camouflaging complexity (DC)

◮ Number of input patterns the attacker needs to query to

resolve circuit functionality

◮ Independent of how the de-camouflaging problem is formulated

Then, de-camouflaging complexity is DC ∼ O(θdlog(1 ǫ ))

◮ d: characterize the total number of functionalities ◮ θ: characterize the number of functionalities that can be

pruned by each input pattern

◮ ǫ: output error probability for the resolved circuit ◮ Intrinsic trade-off between DC and output error probability

Need to increase θ and d to enhance security

8 / 27

slide-14
SLIDE 14

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

Novel Camouflaging Cell Generation Strategy

Target at increasing d for better security To increase d

◮ Increase the number of functionalities of the camouflaging cells ◮ Increase the number of cells inserted into the netlist

Possible dummy via Layout Modification BUF/INV NAND/NOR/XOR

9 / 27

slide-15
SLIDE 15

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

Novel Camouflaging Cell Generation Strategy

Observation:

◮ Overhead of a cell depends on its functionality

Cell design strategy:

◮ Build cells with negligible overhead for certain functionality

Two different types:

◮ Dummy contact-based camouflaging cells ◮ Stealth doping-based camouflaging cells 10 / 27

slide-16
SLIDE 16

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

Novel Camouflaging Cell Generation Strategy

Dummy contact-based camouflaging cells

Possible dummy via Layout Modification

BUF AND2 OR2 Function BUF INV AND2 NAND2 OR2 NOR2 Timing 1.0x 2.0x 1.0x 1.5x 1.0x 1.9x Area 1.0x 1.5x 1.0x 1.3x 1.0x 1.3x Power 1.0x 1.5x 1.0x 0.9x 1.0x 1.1x

11 / 27

slide-17
SLIDE 17

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

Novel Camouflaging Cell Generation Strategy

Stealth doping-based camouflaging cells

Always-off MOS Always-on MOS

AND2 OR2 NAND2 Function AND2 BUF OR2 BUF NAND2 INV Timing 1.0x 1.4x 1.0x 1.4x 1.0x 1.6x Area 1.0x 1.3x 1.0x 1.3x 1.0x 1.5x Power 1.0x 1.2x 1.0x 1.2x 1.0x 1.5x

12 / 27

slide-18
SLIDE 18

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

Novel Camouflaging Cell Generation Strategy

Characteristics of two type camouflaging cells:

◮ Dummy contact-based cell: error probability is 1 ◮ Stealth doping-based cell: enable dummy wire connection

Contact and doping technique can be further combined to increase the number of functionalities

A B C D E F

Cannot determine whether the node is inverted Cannot determine whether the node is masked

13 / 27

slide-19
SLIDE 19

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

AND-Tree Camouflaging Strategy

Target at increasing θ for better security AND-Tree achieves high resilience against SAT-based attack

◮ Represent a class of circuits with output 0/1 for only one input

We find θ increases exponentially for ideal AND-Tree

◮ Unbiased primary inputs: i.i.d binary distribution ◮ Non-decomposability

Node1 PO2

Node1 PO2 PO1

14 / 27

slide-20
SLIDE 20

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

Overall Camouflaging Framework

Combine the proposed camouflaging strategy

◮ Leverage camouflaging cells to insert AND-Tree Standard Cell Library Original Circuit Netlist

  • 1. Camouflaged Library Generation
  • 2. Camouflaged Cell Characterization
  • 3. AND-Tree Structure Detection

Enough de-camouflaging complexity?

  • 4. AND-Tree Structure Insertion
  • 5. Input Pins & AND-Tree Camouflage
  • 6. Primary Outputs Fanin Camouflage

Yes No Camouflaged Netlist 15 / 27

slide-21
SLIDE 21

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

AND-Tree Detection

Detect existing AND-Tree structure in the netlist Important criterion:

◮ AND-Tree size ◮ AND-Tree input bias (distance with ideal distribution) ◮ AND-Tree de-composability

Example:

Node1 Node2 Node3 Node4 Node6 Node7 Node8 Node9 Node5

ANY [Node1] ANY [Node2] ANY [Node3] ANY [Node4]

16 / 27

slide-22
SLIDE 22

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

AND-Tree Detection

Detect existing AND-Tree structure in the netlist Important criterion:

◮ AND-Tree size ◮ AND-Tree input bias (distance with ideal distribution) ◮ AND-Tree de-composability

Example:

Node1 Node2 Node3 Node4 Node6 Node7 Node8 Node9 Node5

ANY [Node1] ANY [Node4] ANY [Node1] ANY [Node2] ANY [Node3] ANY [Node4]

16 / 27

slide-23
SLIDE 23

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

AND-Tree Detection

Detect existing AND-Tree structure in the netlist Important criterion:

◮ AND-Tree size ◮ AND-Tree input bias (distance with ideal distribution) ◮ AND-Tree de-composability

Example:

Node1 Node2 Node3 Node4 Node6 Node7 Node8 Node9 Node5

OR [Node1,Node2] ANY [Node8] ANY [Node1] ANY [Node4] ANY [Node1] ANY [Node2] ANY [Node3] ANY [Node4]

16 / 27

slide-24
SLIDE 24

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

AND-Tree Detection

Detect existing AND-Tree structure in the netlist Important criterion:

◮ AND-Tree size ◮ AND-Tree input bias (distance with ideal distribution) ◮ AND-Tree de-composability

Example:

Node1 Node2 Node3 Node4 Node6 Node7 Node8 Node9 Node5

AND [Node1, Node2, Node8] OR [Node1,Node2] ANY [Node8] ANY [Node1] ANY [Node4] ANY [Node1] ANY [Node2] ANY [Node3] ANY [Node4] 16 / 27

slide-25
SLIDE 25

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

AND-Tree Insertion

Insert AND-Tree when no trees exist in original netlist

◮ Guarantee non-decomposable ◮ Guarantee unbiasedness by connecting tree inputs to primary

inputs

To insert AND-Tree into the netlist

OR/BUF

Node1 Node1 Node2

θ increases exponentially as the inserted AND-Tree size

17 / 27

slide-26
SLIDE 26

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

AND-Tree Insertion

Node selection criterion for AND-Tree insertion

◮ Consider timing/Power overhead, error impact

Define insertion score (IS) for each node IS = α × SA − β × Pob NO

◮ SA: switching probability ◮ Pob: observe probability ◮ NO: number of outputs in the fanout cone

Select nodes iteratively until AND-Tree exists in the fanin cone of each output

18 / 27

slide-27
SLIDE 27

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

Experimental Results

Experimental setup

◮ SAT-based de-camouflaging attack [Subramanyan+, HOST’15] ◮ Runtime limit 1.5 × 105s ◮ Camouflaging framework implemented in C++ ◮ Timing/Power analysis with Primetime/Primetime-PX ◮ Benchmark: ISCAS’85 and MCNC 19 / 27

slide-28
SLIDE 28

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

Experimental Results

Examination of cell generation strategy

◮ Use the proposed camouflaging cells to rebuild the benchmarks

bench # input # output # gate time (s) # iter ISCAS c432 36 7 203 1.758 80 c880 60 23 466 1.2 × 104 148 c1908 33 25 938 N/A N/A c2670 233 64 1490 N/A N/A c3540 50 22 1741 N/A N/A c5315 178 123 2608 N/A N/A MCNC i4 192 6 536 1.9 × 103 743 apex2 39 3 652 N/A N/A ex5 8 63 1126 6.9 × 102 139 i9 88 63 1186 2.1 × 104 81 i7 199 67 1581 1.5 × 102 225 k2 46 45 1906 N/A N/A

20 / 27

slide-29
SLIDE 29

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

Experimental Results

Examination of AND-Tree structure

◮ Ideal AND-Tree ◮ Impact of decomposability and input bias

4 6 8 10 12 14 16 # Input Pins 10

1

10

2

10

3

10

4

10

5

# of input-output patterns De-camouflaging time Input-output patterns 10

  • 4

10

  • 2

10 10

2

10

4

De-camouflaging Time (s) 4 6 8 10 12 14 16 # Input Pins 10

1

10

2

10

3

10

4

10

5

# of input-output patterns De-camouflaging time Input-output patterns 10

  • 4

10

  • 2

10 10

2

10

4

De-camouflaging Time (s) 4 6 8 10 12 14 16 # Input Pins 10

1

10

2

10

3

10

4

10

5

# of input-output patterns De-camouflaging time Input-output patterns 10

  • 4

10

  • 2

10 10

2

10

4

De-camouflaging Time (s)

21 / 27

slide-30
SLIDE 30

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

Experimental Results

De-camouflaging complexity of the proposed framework

◮ Combined strategy v.s. AND-Tree strategy

2 4 6 8 10 12 14 16

Tree Size

100 101 102 103 104 105

De-camouflaging Complexity

Combined Method AND-Tree Method 2 4 6 8 10 12 14 16

Tree Size

10-2 100 102 104 106

De-camouflaging Time

Combined Method AND-Tree Method

22 / 27

slide-31
SLIDE 31

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

Experimental Results

Overhead of the proposed framework

5 7 9 11 13 15 17 19

# Input Pins

10-2 100 102 104 106 108

De-camouflaging Complexity De-camouflaging time Input-output patterns Area

0.0 5.0 10.0 15.0

Area Overhead (%)

bench # gate area (%) power (%) timing (%) c432 203 16.7 14.1 0.30 c499 275 5.83 4.32 0.00 c880 466 9.85 10.8 0.06 i4 536 12.0 8.73 0.00 i7 1581 5.41 4.02 0.15 ex5 1126 4.15 3.73 0.11 ex1010 5086 0.75 1.06 0.00 des 6974 0.64 0.23 0.00 sparc exu 27368 0.22 0.05 0.00

23 / 27

slide-32
SLIDE 32

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

Conclusion

The security criterion is formally analyzed based on the equivalence to active learning Two camouflaging techniques are proposed to enhance the security of circuit netlist A provably secure camouflaging framework is developed to combine two techniques Effectiveness of the framework is verified with experiments and demonstrate good resilience achieved with small overhead

24 / 27

slide-33
SLIDE 33

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

Thanks for your attention!

25 / 27

slide-34
SLIDE 34

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

Back Up: Cell Generation Strategy Comparison

Comparison with two different cell generation strategies Assume

◮ Circuit size: N ◮ Number of functions of each camouflaging cells

  • Previous method: m1
  • Our method: m2

◮ Number of modified cells: n

Number of possible functionalities

◮ Previous method: ∼ m1n ◮ Our method: ∼ C n

Nm2n

If N = 1000, m1 = 8, m2 = 2, n = 10, then

◮ Previous method: ∼ 109 ◮ Our method: ∼ 1026 26 / 27

slide-35
SLIDE 35

Introduction State-of-The-Art Preliminary Complexity Analysis Experiments Conclusion

Back Up: AND-Tree Camouflaging

To camouflage the inserted AND-Tree

◮ Functional camouflaging with BUF/INV cell ◮ Structural camouflaging to hinder removal attack

Dummy- Contact Cells Stealth- doping Cells

27 / 27