Lecture 6: April 9, 2021
Reading: text, §24.2.8, 24.3–24.5
Due: Homework 2, due April 21, 2021; Lab 1, due April 19, 2021
- Examples
- Corporate computer system
- How valid are penetration tests?
- Vulnerability models
- PA model
- RISOS
- NRL
- Aslam
- Example flaws
- fingerd buffer overflow
- xterm race condition
- RISOS
- Goal: Aid managers, others in understanding security issues in OSes, and work required to make them more secure
- Incomplete parameter validation — failing to check that a parameter used as an array index is in the range of the array;
- Inconsistent parameter validation — if a routine allowing shared access to files accepts blanks in a file name, but no other file manipulation routine (such as a routine to revoke shared access) will accept them;
- Implicit sharing of privileged/confidential data — sending information by modulating the load average of the system;
- Asynchronous validation/Inadequate serialization — checking a file for access permission and opening it non-atomically, thereby allowing another process to change the binding of the name to the data between the check and the open;
- Inadequate identification/authentication/authorization — running a system program identified only by name, and having a different program with the same name executed;
- Violable prohibition/limit — being able to manipulate data outside one’s protection domain; and
- Exploitable logic error — preventing a program from opening a critical file, causing the program to execute an error routine that gives the user unauthorized rights.