buffer overload (stack overflow, memory overflow)
inserting extra instructions into a command to force an overflow that inserts calls to malware
stacks are used
- allocation of memory for: local variables, parameterscontrol information (return address)
Vulnerability of the password checking
Stack
shellcode
attacker code’s privileges
same as YOU!
NVD stands for
national vulnerability database
CVE stands for
common vulnerability and Exposure
How many vulnerabilities in our system in:
a. NVD
b. 3 months
c. 3 years
a. 70000
b. ~100
c. 1000+
return-to-libc
the return address is overwritten to point to a function in a library. The function can then be executed with parameters of the attacker’s choice
Heap Overflows
OpenSSL Heartbleed Vulnerability
defense against overflow
language choice to prevent overflow
a drawback of a secure language
possible performance degradation
Stack canaries
a canary values is written into the stack frame, just before the return address. IF the canary value is modified, then there is a good possibility the return address has been changed. Thus an overflow is detected
Address Space Layout Randomization (ASLR)
- can be used with Nonexecutable Stack. This requires hardware support