What are the four key aspects to assessing a threat for a given system?
What is Computer Security?
The study of how systems work in the presence of adversaries,
Who are Adversaries?
Some entity that is actively trying to get the system to misbehave/do something it isn’t supposed to do.
In OUR context, adversaries are other people or algorithms, and they adapt much more quickly than nature does.
Example: we build a building with shocks to prevent earthquakes (earthquakes are the adversaries, the thing we are trying to protect is our infrastructure).
What is the Security Mindset?
It means to think like both an attacker and a defender.
When thinking as an attacker:
When thinking like a defender:
What is Rational Paranoia?
It is being a little paranoid about security provided that you’ve done a good cost/benefit analysis.
When thinking like an attacker, what do you need to do?
When thinking like an defender, what do you need to do?
What does a Security Policy entail?
It outlines what assets you are trying to defend and what we mean by “secure”. There are four elements we want to protect:
What are Threat Models?
Threat models outline:
Examples:
Capabilities: Adversaries have different capabilities. For example, if a classmate is an adversary, it’s not a huge issue because they have far fewer resources to attack you. A government might have super computers though, so that is a more dangerous/powerful adversary.
Kinds of Attacks: We can’t make an exhaustive list of attacks we know could happen, but we do need a list of narrowed down attacks that are important that we can protect against. We need to prevent attacks that are focused against our security policy. Anything outside of that is less important.
Cost/Benefit Analysis: There are some attacks we know can happen but we don’t worry about. For example, Facebook doesn’t worry about spies who come into the company to collect information. Protecting against this is too difficult, it’s not worth doing.
How do we assess risk of different attacks?
There are direct and indirect costs.
A direct cost might be an attack that results in an attacker crashing our service.
An indirect cost might be an attacker leaking social security numbers which leads to a class action law suit against us.
The equation for risk is: probability of attack * probability of success * what you have to lose.
To minimize risk, you an do things like use technical and non-technical defenses (audits, policies, etc.), or you can minimize incentives for attackers to attack.
Insider attacks are a big issue to worry about as well.