~/talk

Automatically Detecting Error Handling Bugs Using Error Specifications

Talkat USENIX Security '16 · 2016-08-10..08-12· [security, software-architecture]
links:none on file
name:Yuan Kang
links:none on file
links:none on file
links:none on file
slides:none on file

Automated tool EPEX uses under constrained symbolic execution plus explicit error specifications to explore only error paths and flag incorrect handling. It runs inside Clang/client on 867k lines across nine SSL/TLS projects, reports 132 candidates of which 102 are confirmed (78% precision), finds 53 bugs that break SSL/TLS guarantees, and reduces false alarms by cross‑site consistency checks; 256 functions got specs (38 unique), and the evaluation shows low false negatives and practical runtime for nightly builds.

AI-written summary · about

  1. 0:00Intro
  2. 0:40Error handling is especially problematic in C
  3. 4:06Error path exploration
  4. 5:11Generic error handling oracle
  5. 6:46Bug localization
  6. 7:14Minimize false positives
  7. 9:33How does EPEx work?
  8. 11:38How hard is creating error specs?
  9. 13:00Implementing EPEx in Clang
  10. 13:40Evaluation subjects
  11. 14:00Accuracy
  12. 14:17Running time
  13. 16:23OpenSSL
  14. 17:18GnuTLS
  15. 18:36A sample false positive
  16. 20:27Conclusions
~/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.