Buffer Overflow Attacks
This interactive lesson explains buffer overflow as the problem that occurs when the amount of data written to or read from a buffer (a finite-sized block of memory) exceeds the capacity of what it can hold. Buffer overflow can affect code execution when those overflowed buffers not only overwrite data but also overwrite the return addresses that control which instructions the processor will execute when it's finished with the current function. An attacker could use the buffer overwriting the return address to hold a short snippet of executable code, which might download a malicious executable or open a network connection, for example.
This interactive lesson was made possible by funding from National Science Foundation Grant # DUE 1601612 at Brookdale Community College in Lincroft, New Jersey – PI Mike Qaissaunee, with contributions from Dr. John Sands & Susan Sands of Moraine Valley Community College and Jaime Mahoney of Bunker Hill Community College.