- Assets - What we are protecting?
- Attackers - Who is attacking?
“Remains dependable” is about confidentiality, integrity, and availability.
Confidentiality
- Protection of Information, secrecy
- Like encryption
- prevention of eavesdropping, copying, intercepting
Integrity (and Authenticity)
- Making sure there is no unauthorized modification of information, process, or function
- Cannot change email
- bank account does not change unless you deposit/withdraw
- prevention of modification, corruption, tampering
Availability
- Prevention of unauthorized denial of service
- Someone spams a server so other users cannot use it is an example
- A webmaster shutting down the server is not (was authorized)
- superglue in ATM slot
- can destroy data, overwhelm net, crash servers
In general, it is about the CIA of each each message (Conf of message, integrity of message, availability of message)
Privacy
- person’s right or expectation to control disclosure of personal information
- secrecy is hiding from third parties
- privacy is about not being observed/monitored
Vulnerabilities
- weaknesses exploited by others to cause damage
- where CIA + Privacy not enforced
- look where people assume certain things in the system
Attackers and Risk Assessment
- Attackers: Can vary from individuals to state-sponsored actors, with different capabilities and motivations (e.g., curiosity, financial gain, national interest).
- Trusted Computing Base: Set of components essential for security.
- about devices/software you trust
- I trust Linux kernel, display server, software on it, etc.
- Security Boundary: Perimeter around components of the same trust level; interaction points across this boundary represent the attack surface.
- Risk Assessment: Understanding potential threats, their likelihood, and impact to decide on the appropriate security measures.
Identifying and Addressing Risks
- Understand System Requirements: Know what the system should do and its boundaries.
- Identify Assets and Attackers: Identify stakeholders and what needs protection.
- Establish Security Requirements: Define how confidentiality, integrity, and availability should be maintained.
- Review System Design: Draw diagrams, indicate security boundaries, and identify information flow.
- Identify Threats: Use adversarial mindset and techniques like attack trees and STRIDE model.
- Risk Classification: Based on the likelihood and impact of threats.
- Risk Mitigation Strategies:
- Avoid: Remove risky components.
- Mitigate: Add defense mechanisms.
- Transfer: Make it someone else’s problem (e.g., insurance).
- Accept: Acknowledge residual risk.