~/talk

A Little Introduction to Control Flow Integrity in C++

Talkat C++Now 2026 · 2026-05-04..05-08· [security]
links:none on file
slides:none on file

Survey of concrete defenses: shows the Morris worm 1988 exploit that nags the need for stack canaries (GCC 1997 / MSVC 2005), OS features like ASLR and NX (early 2000s), and the move to shadow stacks (Intel CFT/CCT 2020, low overhead) and ARM pointer authentication (PAC, ARMv8.3/A12 2018) that signs pointers (typical PAC = 15 bits, worst case 3 bits → 1/8 guess chance). Compares Microsoft CFG (2014, 2 TB bitmap ~67 MB committed) and Clang CFI (type-checked, needs LTO), notes IBT/BTI hardware helpers and real-world perf tradeoffs.

AI-written summary · about

  1. 0:00Control flow integrity intro
  2. 1:26Finger daemon memory bug
  3. 10:11Stack canaries defense
  4. 16:45Address space layout randomization
  5. 19:10Non-executable memory
  6. 22:20Return oriented programming
  7. 26:32Threat model refinement
  8. 29:43Shadow stacks x86
  9. 37:02Pointer auth ARM
  10. 44:39Function pointer attacks
  11. 55:22Microsoft CFG indirect calls
  12. 1:04:05Clang CFI indirect calls
  13. 1:19:19Hardware-assisted CFI
  14. 1:27:18Summary performance
~/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.