Forensic Engineering Techniques
Forensic Engineering Techniques
for VLSI CAD Tools
for VLSI CAD Tools
Jennifer L. Wong,
Jennifer L. Wong,
Darko Kirovski, David Liu, Miodrag Potkonjak
Darko Kirovski, David Liu, Miodrag Potkonjak
UCLA Computer Science Department
UCLA Computer Science Department
University of California, Los Angeles
University of California, Los Angeles
June 8, 2000
June 8, 2000
Computational Forensic Techniques
• Motivation
• Related Work
• Objectives and Applications
• Generic Approach
• Graph Coloring
• SAT
Motivation
• Economic Impetus
• Cadence vs. Avant!
• Symantec vs. McAfee
• Research Challenge
• Applications
Elementary, My Dear Watson
Black Box 1
Forensics101
•
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?
A
B
C
OFF
OFF
OFF
Forensics101
•
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
which is
hot
hot
corresponds to switch
A, and the last light bulb
goes to switch C.
Before one can conclude anything, one must have the
right data
right data.
C
B
OFF
ON
A
OFF
Related 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
Related Work: DNA
• 1944 Oswald Avery
• 1953 James Watson & Francis Crick
• 1984 Sir Alec Jeffreys
Related 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
Related Work: Rembrandt
• Authenticity of work
– Panels, Canvases & Ground
– Copies
Old Man with gorget and black cap, c. 1631. Edge of a seventeenth-century oak panel.
Related 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)
Forensic Engineering Applications
• Intellectual Property Protection
• Efficient Algorithm Selection
• Algorithm Tuning
• Instance Partitioning
• Benchmark Selection
• Mobile Code Protection
Objectives
Strategic Goal:
Develop theory and tools for
Computational Forensic Engineering.
Practical Goal:
Given a design, find which tool was
used to produce it.
Forensic Engineering: Generic Approach
Original Problem Instance Perturbations
Solver
A
Solver
B
Solver
C
Solver
D
Solution Solution Solution Solution Solution Solution Solution Solution Solution Solution Solution Solution Solution Solution Solution Solution
Features
Forensic Engineering: Generic Approach
P
2
P
1
c
a
a
a
a
b
c
d
a
a
a
a
a
a
a
b
b
b
b
b
b
c
c
c
c
c
c
c
c
c
c
c
c
a
a
d
d
d
d
d
d
d
d
d
d
d
d
d
d
b
b
b
b
d
a
b
b
b
c
Pattern and Statistics Data Collection
• Identify Relevant Properties
• Quantify Relevant Properties
• Establish Their Real Relevance
Clustering of Algorithms and
Decision Making
• Positioning in n-dimensional space
• NP-complete problem
• Nonparametric Statistical Techniques
• Estimation and Validation Techniques
Graph Coloring & Solvers
GC Solvers • SEQ (“sequential”) • DSATUR ( Brelaz) • RLF ( Leighton) GC Problem • Instance:G{V,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)
Graph Coloring & Solvers
Graph Coloring Solvers
• SEQ (“sequential” ) • DSATUR ( Brelaz) • RLF ( Leighton)
GC Problem
• Instance:G{V,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 Properties
¤ Color Class Cardinality
¤ Sum of Degrees of Nodes included in the
Largest (Smallest) Color Classes
V = {v1, v2, v3}
C = {{
v1, v2}, {v1’}, {v1’, v3},
{v1’, v2’, v3’}, {v3}}
Boolean Satisfiability & Solvers
Satisfiability Solvers
• GSAT (Selman) • WalkSAT (Selman) • NTAB (Crawford)
• Rel_SAT_rand (Bayardi and Schrag)
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.
V = {v1, v2, v3}
C = {{
v1
,
v2
}, {
v1’
}, {
v1’
,
v3
},
{
v1’
,
v2’
,
v3’
}, {
v3
}}
Solution: v1 =
False
v2 =
True
v3 =
True
Satisfiability Solvers• GSAT (Selman)
• WalkSAT (Selman) • NTAB (Crawford)• Rel_SAT_rand (Bayardi and Schrag)
Boolean 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
Experimental Results: Boolean Satisfiability
-% of Non-Important Variables
0.74 0.76 0.78 0.8 0.82 0.84 0.86 0.88 0.9 0.92 0 5 10 15 20 25 30 35 40 45percent_NIV: NTAB(blue), WALKSAT(red), RELSATR(green)
Value Frequency 0.5 0.55 0.6 0 . 6 5 0.7 0.75 0.8 0.85 0 10 20 30 40 50 60 70 80 90 100
percent_NIV: NTAB(blue), WALKSAT(red), RELSATR(green)
Value
Frequency
Experimental Results: Boolean
Satisfiability-Ratio of True Variables
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 1 0 0 0 2 0 0 0 3 0 0 0 4 0 0 0 5 0 0 0 6 0 0 0 clausal_truth_percent: NTAB Value Frequency 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 5 0 0 1 0 0 0 1 5 0 0 2 0 0 0 2 5 0 0 3 0 0 0 3 5 0 0 4 0 0 0 4 5 0 0 clausal_truth_percent: WALKSAT Value Frequency
Experimental Results: Boolean
Satisfiability-Clausal Stability
0 0 . 0 0 5 0 . 0 1 0 . 0 1 5 0 . 0 2 0 . 0 2 5 0 . 0 3 0 1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 6 0 0 7 0 0 8 0 0 clausal_stability: NTAB Value Frequency 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 6 0 0 7 0 0 8 0 0 clausal_stability: WALKSAT Value Frequency 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 6 0 0 7 0 0 8 0 0 clausal_stability: RELSATR Value FrequencyConclusion