01:198:419 Lecture Notes - Lecture 9: Direct Memory Access, Buffer Overflow, Gnu C Library

65 views4 pages

Document Summary

Buffer overflow: caused by a programmer making an error in code. If page has write access, assume that it stores data and does not need executable rights (stack and heap have write, but not execute) Place a random nonce on the heap in a page that cannot be written when entering a function. Upon return from the function, compare the canary value on the read-only page to the canary value in the stack frame. Instrumented on all memory accesses, it works on relocatable object code: links to a modified version of malloc() that supports tracking tables. Special instructions inserted before each load and store instruction, detecting all runtime errors and memory leaks: violations of memory bounds (arrays), uninitialized variables, etc. Issues with encrypted pointers: must be fast as many pointers are dereferenced in a program, compiler issues, must encrypt and decrypt only pointers.

Get access

Grade+20% off
$8 USD/m$10 USD/m
Billed $96 USD annually
Grade+
Homework Help
Study Guides
Textbook Solutions
Class Notes
Textbook Notes
Booster Class
40 Verified Answers
Class+
$8 USD/m
Billed $96 USD annually
Class+
Homework Help
Study Guides
Textbook Solutions
Class Notes
Textbook Notes
Booster Class
30 Verified Answers

Related Documents