f(x) -> ~dac

Posterity 00: IA32 Memory Management

Roughly 10 years ago, Cameron and I were roommates. At the time, he was getting into computer security, talking about NOP sleds and shell code while I ranted about how the Intel memory model could prevent it if people used it correctly. Thankfully he talked me out of writing something antagonistic and a brief introduction to Intel memory management resulted.

There are some notable weaknesses including:

  • no mention of how caching figures in
  • little to no talk of actually securing things
  • it’s IA32, so kind of out of date (bear in mind this was 10 years ago)

I intended some sort of followup that covered safer process address space construction using non-executable heaps but unfortunately never got around to it. Nevertheless, I figured it might be of interest to some people so share and enjoy.