C.I.A.
Confidentiality
Integrity
Availability
Schneier's Law
S.T.R.I.D.E.
Spoofing
Tampering
Repudiation
Information Disclosure
Denial of Service
Elevation of Privilege
OWASP Top 10 Vulnerabilities
- Injection
- Broken Authentication
- Sensitive Data Exposure
- XML External Entities (XXE)
- Broken Access Control
OWASP Top 10 Vulnerabilities
- Security Misconfiguration
- Cross-site Scripting (XSS)
- Insecure Deserialization
- Using Components with Known Vulnerabilities
- Insufficient Logging and Monitoring
Trust Boundaries
Credit: "Threat Modeling: Designing for Security" by Adam Shostack
Trust Boundaries
Systems are most vulnerable to all aspects of STRIDE when information or commands cross trust boundaries.
OWASP Top 10 Proactive Controls
- Define Security Requirements
- Leverage Security Frameworks and Libraries
- Secure Database Access
- Encode and Escape Data
- Validate All Inputs
OWASP Top 10 Proactive Controls
- Implement Digital Identity
- Enforce Access Controls
- Protect Data Everywhere
- Implement Security Monitoring and Logging
- Handle all Errors and Exceptions
Risk Formula
risk = probability x loss
Cost of Mitigation
Even if loss is certain, cost of mitigating risk should not exceeed the potential loss.
Cost of Mitigation
Therefore, if storing sensitive information would cost more than the value that the information provides... just don't store it at all.
Better yet, don't even collect it.
OWASP ASVS
- Application Security Verification Standard (ASVS)
- This is a great resource to use if negotiating the scope for penetration testing, or to do a self-audit against security standards.
- It's a good way to ease in, because it has maturity levels "baked in".