Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Memory Safety and the Future of Vulnerabilities

Memory Safety and the Future of Vulnerabilities

Presented at the Cal Poly Pomona SWIFT Tech Symposium 2025.

Andrew Lilley Brinker

April 15, 2025
Tweet

More Decks by Andrew Lilley Brinker

Other Decks in Programming

Transcript

  1. Memory safety and the future of vulnerabilities A talk by

    Andrew Lilley Brinker Approved for Public Release; Distribution Unlimited. Public Release Case Number 251031. The author’s affiliation with The MITRE Corporation is provided for identification purposes only, and is not intended to convey or imply MITRE’s concurrence with, or support for, the positions, opinions, or viewpoints expressed by the author. ©2025 The MITRE Corporation. ALL RIGHTS RESERVED.
  2. What kinds of weaknesses? 1 buffer overflow 1. null pointer

    dereference 2. use after free 3. use of uninitialized memory 4. illegal free (of an already-freed pointer, or a non- malloced pointer) 5. Michael Hicks, “What is memory safety,” http://www.pl-enthusiast.net/2014/07/21/memory-safety/ 1.
  3. Spatial Memory Safety Out-of-bounds accesses Reads or writes, under or

    over 1 Yoshua Wuyts, “What are temporal and spatial memory safety?” https://blog.yoshuawuyts.com/temporal-spatial-memory- safety/ 1.
  4. Why is that bad? Client: heartbeat “Hello” length 1,000 bytes

    Server: heartbeat “HellobfsfhgafSocial Security Number 123456789…”
  5. What languages are memory safe?  From “The Case for

    Memory Safe Roadmaps” Published by CISA, NSA, FBI, ASD’s ACSC, CCCS, NCSCUK, NCSCNZ, CERTNZ
  6. Rust 1.0 was May 15, 2015 Also the day of

    my first date with my wife)
  7. The govt. asked for input  CISA / ONCD /

    NSF / DARPA / OMB Request for Input RFI on open source software OSS security.
  8. In the responses… Microsoft, Google, Cloudflare, GitHub, IBM, and many

    others recommend moving to memory safe languages.
  9. Let’s look at the CWE Top 25! In 2024 20%

    are memory safety related – 35% known-exploited are memory safety related –
  10. We’ll always have… Bad authentication / authorization – Bad neutralization

    of user input – Resource exhaustion But what else? –
  11. Spectre and Meltdown Spectre: trick branch predictor into leaking data

    Meltdown: read memory faster than the privilege check, then recover data from cache
  12. The hits start coming and they don’t stop coming Spectre,

    Meltdown, Spectre-NG, SpectreRSB, Foreshadow, Zombieload, CROSStalk, Phantom, Zenbleed, Inception, Downfall
  13. And it’s not just Intel!  That’s from this year!

    Turns out Apple CPUs since the M2 / A15 have a Load Address Predictor and Load Value Predictor. Oh no!
  14. Problem: how to have fast processors that aren’t full of

    speculative execution vulnerabilities
  15. But: xz-utils Last year we narrowly avoided the worst open

    source software supply chain attack in history.
  16. Seriously, go read the story of this attack.  Russ

    Cox, co-creator of the Go programming language, has a great timeline
  17. More commonly, we have stuff like this… Also: Typosquatting –

    Malicious contributions – Account takeovers – Token reuse –