ABSTRACT
Buffer overflow attacks are the result of specially-
crafted data that are inserted into a vulnerable buffer
causing the execution of arbitrary code. This is known as
exploit code. “Arbitrary code” in this context means pro-
grams existing on the vulnerable system or new program
logic written to the system through the exploited buffer.
The new logic might be contained entirely in memory, or it
could be written to the file system so that the exploit can be
continued if the system is restarted. In either case, the
exploit code frequently initiates new threads of execution
that are manipulated by the attacker. These new threads of
execution are often malicious code such as viruses, worms,
or Trojan horses.