~/talk

QSYM : A Practical Concolic Execution Engine Tailored for Hybrid Fuzzing

Talkat USENIX Security '18 · on Thursday, 2018-08-16· at 13:55· Grand Ballroom 1-4· [security, software-architecture]
name:Insu Yun
links:none on file
slides:none on file

A fast concolic engine called QSYM implements instruction-level symbolic emulation by removing the IR layer and tightly integrating symbolic emulation with native execution via dynamic binary translation, using Intel Pin and the d3 solver. It loosens soundness (optimistic solving of the last path constraint), uses concrete environment re-execution to avoid syscall modeling, and runs ~16K LOC. Evaluation shows 14× more bugs than VUzzer on LAVA-M, outperforms Driller on 104/126 binaries, and finds 13 previously unknown bugs in real-world software.

AI-written summary · about

  1. 0:00Intro
  2. 0:33Two popular ways to find security bugs: Fuzzing & Concolic execution
  3. 1:08Hybrid fuzzing can address their problems
  4. 1:32Hybrid fuzzing has achieved great success in small- scale study
  5. 2:03However, current hybrid fuzzing suffers from problems to scale to real-world applications
  6. 2:28Our system, QSYM, addresses these issues by introducing several key ideas
  7. 3:34Overview: Hybrid fuzzing in general
  8. 6:22Intermediate representations (IR) are good to make implementations easier
  9. 7:36Execute instructions directly without using intermediate layer
  10. 7:56QSYM reduces the number of instructions to execute symbolically
  11. 8:25State forking can reduce re-execution overhead for constraint generation
  12. 10:01Re-execute to use concrete environment instead of kernel state forking
  13. 10:30Models minimal system calls and uses concrete values
  14. 11:04incomplete constraints
  15. 14:07Solve constraints optimistically
  16. 14:23Our decision: Solve only the last constraint in the path
  17. 14:48In hybrid fuzzing, generating incorrect inputs are fine due to fuzzing
  18. 16:12Evaluation questions
  19. 16:37QSYM scales to real-world software
  20. 17:13QSYM can generate test cases that fuzzing is hard to find
  21. 17:53Compare QSYM with Driller, a state-of-the-art hybrid fuzzing
  22. 18:48QSYM achieved more code coverage due to its better performance
  23. 19:21Driller achieved more code coverage if nested branches exist
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.