Security Fundamentals β Cybersecurity for Engineers
Before you start: no prior security background is assumed β this is the entry point for the whole Security academy. Basic familiarity with how a web request reaches a server (client β network β server) helps for the later examples, but isn't required.
Imagine a bank vault. It isn't protected by one lock β there's a guard at the door, a vault door itself, a time lock, cameras, an alarm tied to a monitoring center, and a safe deposit box inside that. Any single one of those failing (a guard falls asleep, a camera goes offline) doesn't mean the bank gets robbed, because the other layers are still there. A secure computer system works the same way: no single protection is ever assumed to be perfect, so real systems stack several independent defenses, and a failure in one layer is a warning, not a catastrophe. Security engineering is the discipline of designing and reasoning about those layers deliberately, instead of hoping nothing ever goes wrong.
The CIA Triad
Every security decision traces back to protecting one (or more) of three properties:
Each is broken differently β data exfiltration (data being stolen and copied out) breaks confidentiality; SQL injection (an attack that sneaks database commands into a form field) breaks integrity by letting an attacker alter data directly; a DDoS attack (flooding a system with fake traffic until it can't respond to real users) breaks availability.
Threat Modeling
Threat modeling means deliberately asking "what could go wrong here, before it actually happens" β walking through a system on paper and identifying its weak points, rather than waiting to find out the hard way. STRIDE is one structured way to do this β a checklist of 6 categories of things that can go wrong with any system:
| Threat | Description | Example |
|---|
|--------|-------------|---------|
| **S**poofing | Impersonating another entity | Stolen credentials |
|---|---|---|
| Tampering | Modifying data or code | SQL injection |
| Repudiation | Denying performed actions | No audit logs |
| Information Disclosure | Exposing sensitive data | Unencrypted PII (Personally Identifiable Information β data that could identify a specific person, like a name or SSN) |
| Denial of Service | Disrupting availability | DDoS, resource exhaustion |
| Elevation of Privilege | Gaining unauthorized access | Privilege escalation (a user or process getting access rights beyond what it was supposed to have) |
Defense in Depth
Never rely on a single security control β the vault-with-many-layers idea from the opening, applied to a real web system. Each layer below assumes every layer above it could fail:
Common Attack Vectors
OWASP Top 10 (Web Applications):
Cloud Security Misconfigurations (most breaches):
Encryption Fundamentals
Symmetric Encryption β Same key for encryption and decryption. Fast. AES-256 is the standard. Problem: secure key exchange.
Asymmetric Encryption β Public key encrypts, private key decrypts. RSA, ECC. Slower but solves key exchange. Used in TLS handshake, SSH, digital signatures.
Hashing β One-way function, produces fixed-length digest. SHA-256, bcrypt (passwords). Used for integrity verification, password storage.
TLS (Transport Layer Security) β Combines asymmetric (handshake) + symmetric (data transfer). TLS 1.3 is current standard. Provides: authentication, confidentiality, integrity.
Identity and Authentication
Multi-Factor Authentication (MFA):
Always enable MFA for: AWS root account, cloud consoles, VPN access, admin SSH, code repositories.
Zero Trust Model: "Never trust, always verify." Assume the network is compromised. Verify every request regardless of origin. Least-privilege access. Micro-segmentation.

