WCU / Cybersecurity
~/CSC 472/Class 09/KP 22
Class 09 · KP 22 / 25

The Real Fix: Memory-Safe Languages

  • Every technique in this deck stems from two root causes: no bounds checking and manual lifetime management.
  • Rust eliminates UAF and double-free at compile time via ownership and borrowing: the compiler proves a reference never outlives its data.
  • Garbage-collected languages (Go, Java, C#) remove use-after-free by never freeing memory that is still reachable.
  • Allocator hardening raises the cost of exploitation; memory-safe languages remove the bug class.
  • Reality: billions of lines of C/C++ persist, so we still must understand, harden, and audit the heap.
Key Takeaway

Hardening buys time; memory safety by construction is the durable fix. Choose safe languages for new native code where you can.