Reference no: EM133768558
10.1 Define buffer overflow.
10.2 List the three distinct types of locations in a process address space that buffer overflow attacks typically target.
10.3 What are the possible consequences of a buffer overflow occurring?
10.4 What are the two key elements that must be identified in order to implement a buffer overflow?
10.5 What types of programming languages are vulnerable to buffer overflows?
10.6 Describe how a stack buffer overflow attack is implemented.
10.7 Define shellcode.
10.8 What restrictions are often found in shellcode, and how can they be avoided?
10.9 Describe what a NOP sled is and how it is used in a buffer overflow attack.
10.10 List some of the different operations an attacker may design shellcode to perform.
10.11 What are the two broad categories of defenses against buffer overflows?
10.12 List and briefly describe some of the defenses against buffer overflows that can be used when compiling new programs.
10.13 List and briefly describe some of the defenses against buffer overflows that can be implemented when running existing, vulnerable programs.
10.14 Describe how a return-to-system-call attack is implemented and why it is used.
10.15 Describe how a heap buffer overflow attack is implemented.
10.16 Describe how a global data area overflow attack is implemented.