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

66 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+
$40 USD/m
Billed monthly
Grade+
Homework Help
Study Guides
Textbook Solutions
Class Notes
Textbook Notes
Booster Class
10 Verified Answers
Class+
$30 USD/m
Billed monthly
Class+
Homework Help
Study Guides
Textbook Solutions
Class Notes
Textbook Notes
Booster Class
7 Verified Answers

Related Documents