Lecture 5 Outline (April 8, 2015)
Lecture 5 Outline (April 8, 2015)
Reading: [Chr11,OWA13]
Assignment: Program 1, due April 15, 2015
- Discussion problem of the day
- Some common vulnerabilities
- Catalogues: CVE (Common Vulnerabilities and Exposures), CWE (Common Weakness Enumeration)
- 2011 MITRE/SANS Top 25 Most Dangerous Software Errors
- OWASP Top 10 – 2013 rc1 The Ten Most Critical Web Application Security Risks
- MITRE/SANS list
- Insecure interactions among components
- SQL injection
- OS command injection
- Cross-site scripting
- Unrestricted upload of file with dangerous type
- Cross-site request forgery
- URL redirect to untrusted site
- Risky resource management
- Buffer copy without checking size of input
- Improper limitation of a pathname to a restricted directory
- Download of code without integrity check
- Inclusion of functionality from untrusted control sphere
- Use of potentially dangerous function
- Incorrect calculation of buffer size
- Uncontrolled format string
- Integer overflow or wraparound
- Porous defenses
- Missing authentication for critical function
- Missing authorization
- Use of hard-coded credentials
- Missing encryption of sensitive data
- Reliance on untrusted inputs in a security decision
- Execution with unnecessary privileges
- Incorrect authorization
- Incorrect permission assignment for critical resource
- Use of a broken or risky cryptographic algorithm
- Improper restriction of excessive authentication attempts
- Use of a one-way hash without a salt
- OWASP list
- Injection
- Broken authentication and session management
- Cross-site scripting
- Insecure direct object references
- Security misconfiguration
- Sensitive data exposure
- Missing function level access control
- Cross-site request forgery
- Using known vulnerable components
- Unvalidated redirects and forwards
- Comparison
- Everything on the OWASP list is also on the MITRE/SANS list
- Injection is #1 on both lists
- The MITRE/SANS list covers vulnerabilities generally; OWASP covers only web vulnerabilities
Discussion Problem. You discover a security flaw in the operating system on your company’s computer. The flaw enables any user to read any other user’s files, regardless of their protection. You have several choices: you can keep quiet and hope no-one else discovers the flaw, or tell the company, or tell the system vendor, or announce it on the Internet.
- Suppose an exploitation of the vulnerability could be prevented by proper system configuration. Which of the above courses of action would you take, and why?
- If an exploitation of the vulnerability could be detected (but not prevented) by system administrators, how would this change your answer to the first question?
- Now suppose no exploitation of the vulnerability can be detected or prevented. Would this change your answer, and if so, how?