Introduction to Cybersecurity
Cybersecurity is the practice of protecting systems, networks, and data from unauthorized access, disruption, or theft. Every decision in security is a tradeoff between usability, cost, and risk, there is no such thing as a perfectly secure system, only one whose risk has been reduced to an acceptable level.
The CIA triad
Almost every security control exists to protect one of three properties:
| Property | Meaning | Example attack that breaks it |
|---|---|---|
| Confidentiality | Only authorized people can read the data | Stealing a database of passwords |
| Integrity | Data cannot be modified without detection | Tampering with a bank transfer amount in transit |
| Availability | Systems stay up and usable | A denial-of-service attack that takes a site offline |
Key vocabulary
- Asset: anything worth protecting (a server, a database, a customer's data).
- Threat: anything that could cause harm to an asset (an attacker, a bug, a flood).
- Vulnerability: a weakness that a threat could exploit (unpatched software, a weak password policy).
- Exploit: the specific technique used to take advantage of a vulnerability.
- Risk: the likelihood of a threat exploiting a vulnerability, multiplied by the impact if it does.
TIP
A useful mental model: Risk = Threat × Vulnerability × Impact. Security work usually focuses on reducing vulnerability (patching, configuration) since you can rarely control the threat itself.
Why this matters even if you're "just" a developer
Most real-world breaches don't start with an exotic zero-day, they start with an unpatched dependency, a misconfigured cloud bucket, or a form field that trusts user input a little too much. Security is not a separate team's job bolted on at the end, it's a property of the code you write every day.