Title: Forensic Engineering Techniques for VLSI CAD Tools
1Forensic Engineering Techniques for VLSI CAD
Tools
- Jennifer L. Wong,
- Darko Kirovski, David Liu, Miodrag Potkonjak
UCLA Computer Science Department University of
California, Los Angeles June 8, 2000
wongjen_at_cs.ucla.edu
2Computational Forensic Techniques
- Motivation
- Related Work
- Objectives and Applications
- Generic Approach
- Graph Coloring
- SAT
3Motivation
- Economic Impetus
- Cadence vs. Avant!
- Symantec vs. McAfee
- Research Challenge
- Applications
4Elementary, My Dear Watson
Black Box 1
Black Box 2
5Forensics101
- Problem Inside a room there are
- 3 light bulbs
- outside the room there are 3 switches.
- Find which switch corresponds to which light bulb
by only entering the room once?
OFF
OFF
OFF
6Forensics101
- Solution Turn switch A on for a long time. Then
turn it off and turn switch B on. Enter the room,
the light that is on corresponds to switch B, the
light bulb which is hot corresponds to switch A,
and the last light bulb goes to switch C.
C
B
ON
A
OFF
ON
Before one can conclude anything, one must have
the right data.
7Related Work Lucy
- Donald Johanson Tom Gray
- 1974 Ethiopia
- 3.18 million year old skeleton
- 40 of a single Hominid skeleton
- 1/3 the size of the brain of a human
- Structure of bones show upright stance
- Missing link to evolution
8Related Work DNA
- 1944 Oswald Avery
- 1953 James Watson Francis Crick
- 1984 Sir Alec Jeffreys
- 1986 Kary Mullis
9Related Work Shakespeare
- Thisted Efron Test
- How many new words would Shakespeare use if he
were to write another play? - Shall I Die?
- 900,000 word vocabulary
- 14,378 used once 7 /- 3 words 9
- 4,343 used twice 4 /- 2 words 7
- 2,292 three times 3 /- 2 words 5
10Related Work Rembrandt
- Authenticity of work
- Panels, Canvases Ground
- Copies
Edge of a seventeenth-century oak panel.
Old Man with gorget and black cap, c. 1631.
11Related Work
- B.S. Baker U. Manber
- 98 Java Byte Codes
- Watermarking - UCLA, Charbon, Oliviera
- Collberg Thomborson
- 99 Software Protection
- M. Kuhn R. Anderson
- 97 Reverse Engineering
- Mayer (rebuttal Kuhn)
12Forensic Engineering Applications
- Intellectual Property Protection
- Efficient Algorithm Selection
- Algorithm Tuning
- Instance Partitioning
- Benchmark Selection
- Mobile Code Protection
13Objectives
- Strategic Goal Develop theory and tools for
Computational Forensic Engineering. -
Practical Goal Given a design, find which
tool was used to produce it.
14Forensic Engineering Generic Approach
Original Problem Instance
15Forensic Engineering Generic Approach
P2
d
d
d
d
b
b
d
d
d
d
d
b
b
d
b
b
b
d
d
d
b
d
b
b
b
b
d
c
d
b
c
a
b
a
c
c
c
a
c
c
a
a
a
a
c
c
a
c
a
a
c
c
c
a
c
c
a
a
a
P1
16Pattern and Statistics Data Collection
- Identify Relevant Properties
- Quantify Relevant Properties
- Establish Their Real Relevance
- Develop Fast Algorithm for Property Extraction
17Clustering of Algorithms and Decision Making
- Positioning in n-dimensional space
- NP-complete problem
- Nonparametric Statistical Techniques
- Estimation and Validation Techniques
18Graph Coloring Solvers
- GC Problem
- Instance GV,E
- Solution A coloring of all vertices, with a
minimum number of colors, in the graph in such a
way that no 2 vertices with an edge between them
is colored the same color
- GC Solvers
- SEQ (sequential)
- DSATUR ( Brelaz)
- RLF ( Leighton)
- GC Solvers
- SEQ (sequential)
- DSATUR ( Brelaz)
- RLF ( Leighton)
19Graph Coloring Solvers
- GC Problem
- Instance GV,E
- Solution A coloring of all vertices, with a
minimum number of colors, in the graph in such a
way that no 2 vertices with an edge between them
is colored the same color
- Graph Coloring Solvers
- SEQ (sequential )
- DSATUR ( Brelaz)
- RLF ( Leighton)
- Graph Coloring Solvers
- SEQ (sequential)
- DSATUR ( Brelaz)
- RLF ( Leighton)
20Graph Coloring Properties
- Color Class Cardinality
- Sum of Degrees of Nodes included in the Largest
(Smallest) Color Classes - Percent of Maximal Independent Subsets
21Boolean Satisfiability Solvers
V v1, v2, v3 C v1, v2, v1, v1, v3,
v1, v2, v3, v3
V v1, v2, v3 C v1, v2, v1, v1, v3,
v1, v2, v3, v3 Solution v1
False v2 True v3 True
- Satisfiability Problem
- Instance A set of variables V and a
collection C of clauses over V. - Solution A truth assignment for V such that
at least one variable in each clause evaluates to
true.
- Satisfiability Solvers
- GSAT (Selman)
- WalkSAT (Selman)
- NTAB (Crawford)
- Rel_SAT_rand (Bayardi and Schrag)
- Satisfiability Solvers
- GSAT (Selman)
- WalkSAT (Selman)
- NTAB (Crawford)
- Rel_SAT_rand (Bayardi and Schrag)
22Boolean Satisfiability Properties
- Percentage of Non-Important Variables
- Clausal Stability - of variables that can
switch their assignments such that K of clauses
in C are still satisfied - Ratio of true assigned variables vs. total number
of variables in a clause
23Experimental Results Boolean Satisfiability -
of Non-Important Variables
24Experimental Results Boolean Satisfiability-Rati
o of True Variables
25Experimental Results Boolean Satisfiability-Clau
sal Stability
26Conclusion