Papers /

Novark-CACM 2008

Reading

Outdoors

Games

Hobbies

LEGO

Food

Code

Nook

sidebar

Novark-CACM 2008

Exterminator: Automatically Correcting Memory Errors with High Probability

Novark, Berger, Zorn

fault detection memory allocation bugs security buffer overflow dangling pointer

@article{novark:cacm-2008,
  title={{Exterminator}: Automatically Correcting Memory Errors
         with High Probability},
  author={Gene Novark and Emery D. Berger and Benjamin G. Zorn},
  journal={Communications of the {ACM}},
  volume={51},
  number={12},
  month={December},
  year={2008}

Overviews Exterminator, a memory allocator that detects and corrects buffer overflows and dangling pointers at runtime

  • Generate multiple heaps for a program, randomizing both the canary value filling the heap and the memory allocation locations
    • Iterative mode: Run the program multiple times to generate those images
    • Replicated mode: Maintain multiple randomized heaps at once
    • Cumulative mode: Combine heap summaries captured from many users
  • Analyze those images to determine probable under-allocations, determining a value to pad the size by, as well as erroneous frees, determining a deferral period for the deallocation

Of note:

  • Correcting for memory problems by having multiple copies of the heap running at once and voting between them on each read (much like RAID), to determine the correct value
Recent Changes (All) | Edit SideBar Page last modified on June 05, 2009, at 11:38 AM Edit Page | Page History