2015.05.29
Who am I
• @dongsamb
•BoB 1st
•SW Maestro 4th
•Korea Univ. M.S./Ph.D Integrated Course Student
Black-box Testing vs White-box Testing
2014, HeartBleed, ShellShork
Symbolic Execution
Symbolic Execution
PC: {True} [x1 = i1]
Symbolic Execution
PC: {True} [x1 = i1, y1 = i2]
Symbolic Execution
PC: { x1 > 80 ?} [x1 = i1, y1 = i2]
Symbolic Execution
PC: { x1 > 80} [x2 = y1 * 2, y1 = i2]
Symbolic Execution
PC: { x1 > 80} [x2 = y1 * 2, y2 = 0]
Symbolic Execution
PC: { x1 > 80 ∧ x2 == 256 ?} [x2 = y1 * 2, y2 = 0]
Symbolic Execution
PC: { x1 > 80 ∧ x2 == 256} [x2 = y1 * 2, y2 = 0]

(x1 > 80) ∧ (x2 == 256)
Symbolic Execution
PC: { x1 <= 80} [x1 = i1, y1 = i2]
Symbolic Execution
PC: { x1 <= 80} [x2 = 0, y1 = i2]
Symbolic Execution
PC: { x1 <= 80} [x2 = 0, y2 = 0]
Symbolic Execution
PC: { (x1 <= 80) ∨ ((x1 > 80) ∧ (x2 != 256)) }
[ (x2 = 0, y2 = 0) ∨ (x2 = y1 * 2, y2 = 0) ]
•CUTE ( 2005 )
•CONCrete + symbOLIC
•dynamic symbolic execution
• (Feasible) 

,

- , ,
• ,
Concolic Testing
•KLEE ( Stanford, 2008 )
•LLVM
•Constraint Solver
Concolic Testing
•CREST (Heuristics for Dynamic Test Generation,2008)
•Yices2
•Z3 - Microsoft
Concolic Testing + SMT Solver
CREST-BV (2013, KAIST)
Concolic Testing + SMT Solver
Concolic + @
Mayhem (2012, CMU)
•BitBlaze(2008, UC Berkeley)
•BuzzFuzz(2009, MIT)
•AEG:Automatic Exploit Generation(2011, CMU)
•Enhancing Symbolic Execution with
Veritesting(2014, CMU)
Concolic + @
Concolic + @
Code Reuse
•Metadata analysis
•Static source code analysis
•Source code differencing and 

analysis Software metrics
•Visualization
•Clone detection
•Frequent-pattern mining
•Social network analysis
Code reuse ( code clone)
Products
Products
Products
Products
Thanks!
•QnA?

화이트박스 테스팅