Key Concepts
Security is not a feature you add at the end. It's an architectural property you design in from day 1.
Core Security Concepts
Asset, exposure, vulnerability, attack, threat, control — the vocabulary of security engineering.
Security Design Principles
Defense in depth, least privilege, fail securely, minimize attack surface, security by default.
OWASP Top 10
Top 10 most critical web application security risks. Required knowledge for all developers.
Cryptographic Failures
Storing/transmitting sensitive data without proper encryption. OWASP #2 and one of the most common.
Concept Deep Dives
Click each concept to expand — real examples, diagrams, pros & cons.
Core Security Concepts
When to Use
Always — you need the right language before you can design security.
Real-World Example
Asset = user passwords. Vulnerability = storing plain text. Attack = SQL injection. Control = bcrypt hashing.
✓ Advantages
- Common language across teams
- Framework for threat modeling
⚠ Watch Out
- Easy to underestimate 'assets' — everything is an asset
Security Design Principles
When to Use
Always — these are design-time decisions that are cheap to get right and expensive to retrofit.
Real-World Example
Least privilege: database user account for your web app should only have SELECT/INSERT — not DROP TABLE.
✓ Advantages
- Reduces blast radius of breaches
- Systematic approach
⚠ Watch Out
- Can conflict with usability
- Requires upfront discipline
OWASP Top 10
When to Use
Before building any web application — these are the most exploited vulnerabilities.
Real-World Example
Equifax breach: injection via Apache Struts. 147M records. $700M settlement. OWASP #1 would have prevented it.
✓ Advantages
- Industry-standard checklist
- Free resource
- Covers 95% of real-world attacks
⚠ Watch Out
- Not exhaustive
- Top 10 changes over time — check latest version
Cryptographic Failures
When to Use
Any time you handle passwords, tokens, PII, financial data.
Real-World Example
LinkedIn 2012: 6.5M password hashes leaked. Stored as unsalted SHA1 — cracked in hours. Should have used bcrypt.
✓ Advantages
- Easy to fix if caught early
- Clear best practices exist
⚠ Watch Out
- Hard to retrofit if architecture is wrong
- Developers often underestimate what's 'sensitive'
Quick Reference
- 1Security is an architectural property — must be designed in, not added later.
- 2Core concepts: asset, vulnerability, attack, threat, control, exposure.
- 3Security design: defense in depth, least privilege, fail secure, minimize attack surface.
- 4OWASP Top 10: the most critical web security risks. Study it.
- 5Injection attacks (SQL, LDAP): validate all input, use parameterized queries.
- 6Cryptographic failures: use bcrypt for passwords, AES-256 for data at rest, TLS for transit.
- 7Security misconfiguration: most common cause of breaches — default passwords, open ports, verbose errors.
Quiz — Test Yourself
Think through your answer first, then reveal.