~/talk

APISan: Sanitizing API Usages through Semantic Cross-Checking

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

APISan automatically infers correct API usage by mining semantic patterns from code, building relaxed symbolic execution abstractions (api calls, arguments, constraints) and running four lightweight checkers including return-value checker and causality checker. It analyzes large codebases (92M LOC, Linux kernel and OpenSSL), reports ranked minority usages, and finds 76 previously unknown bugs with patches supplied. Implementation is ~9K LOC plus ~1K lines of Python for checkers; it reduces some false positives but has >80% false positive rate on raw reports and can take >12 hours on kernel-scale analysis.

AI-written summary · about

  1. 0:00Intro
  2. 1:10Complex APls result in programmers' mistakes
  3. 1:58Problem: API misuse can cause security problems
  4. 2:23Today's practices to help programmers
  5. 4:36Our approach is very promising
  6. 4:48Technical Challenges
  7. 5:07Example: OpenSSL API uses
  8. 5:58Example: a correct implementation using OpenSSL API
  9. 6:32Example: providing various implementations using OpenSSL
  10. 7:16API usages are different from each other
  11. 7:47subtle semantics of the correct API usages
  12. 8:15Large, complex code using APIs
  13. 8:57Overview of APISan
  14. 11:48Examples: Building per-path symbolic abstractions from source code
  15. 13:26Return value
  16. 13:51Arguments
  17. 14:19Causality
  18. 14:56Extract contexts from symbolic abstractions
  19. 15:29Example: extract condition contexts from symbolic abstractions
  20. 16:28Example: find majority & minority usages from contexts
  21. 17:00False positives can be happened in majority analysis
  22. 18:04Ranking can mitigate false positives
  23. 18:57Our approach is formalized as a general framework
  24. 19:13Implementation of APISan
  25. 19:42Evaluation questions
  26. 19:59APISan is effective in finding bugs
  27. 20:28APISan is easy to use without any manual annotation
  28. 20:48APISan is easy to extend
  29. 21:35Check integer overflow with APISan
  30. 22:13APISan's ranking system is effective
  31. 23:13Limitation
  32. 23:53Conclusion
  33. 24:17Thank you!
~/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.