~/talk

An Effective Approach to Software Obfuscation

Talkat BSidesSF 2020 · 2020-02-23..02-24· [security, software-architecture]
links:none on file
slides:none on file

Argues that most obfuscation boosts potency and resilience but ignores stealth, making transforms easy to detect. Analyzes LLVM’s control-flow flattening (dispatcher sets a local constant) and shows automated tools — IDA/Hex-Rays, BinSec/angr, BAP, r2, Binary Ninja plugin — rely on heuristics. Implements stealthy opaque predicates that defeat IDA’s overlap heuristic, cause wrong disassembly (function returns nonzero instead of zero) and produce no warning, demonstrating detection-resistant obfuscation is the missing ingredient.

AI-written summary · about

  1. 0:00Introduction to talk
  2. 0:22What is software obfuscation
  3. 1:24Three properties of obfuscation
  4. 4:16Obfuscation vs cryptography
  5. 6:05Maximizing time-consuming aspect
  6. 7:30Control flow graph flattening
  7. 10:46Problem with modern obfuscation
  8. 11:50Effective obfuscation approach
  9. 12:35Importance of stealth property
  10. 13:37Opaque predicates example
  11. 21:38Summary and conclusion
  12. 22:01Q&A session
~/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.