02-overview
02-overview
Fall 2024
Computer Security Overview
Tyler Bletsch
Duke University
Is this circle secure?
2
If I flood-fill outside the circle,
will the color penetrate it?
3
If I flood-fill outside the circle,
will the color penetrate it?
Yes.
4
Why?
Zoom!
Enhance!
6
What is information security?
From “An Introduction to Information Security” (NIST Special Publication 800-12):
• Information Security:
The protection of information and information systems from unauthorized
access, use, disclosure, disruption, modification, or destruction in order to
ensure confidentiality, integrity, and availability.
There are like 900 pictures of the CIA triad on google, but this was the ugliest one.
7
The CIA triad
• Confidentiality: Preserving authorized restrictions on information
access and disclosure, including means for protecting personal
privacy and proprietary information.
• Integrity: Guarding against improper information modification or
destruction and ensuring information non-repudiation1 and
authenticity.
▪ Data Integrity – The property that data has not been altered in an
unauthorized manner. Data integrity covers data in storage, during
processing, and while in transit.
▪ System Integrity – The quality that a system has when it performs its intended
function in an unimpaired manner, free from unauthorized manipulation of
the system, whether intentional or accidental.
• Availability: Ensuring timely and reliable access to and use of
information.
9
Components of the Computer Security Model
• Assets: The valued hardware, software, data, and communications.
• Threats: Specific attacks against an asset.
• Countermeasures: General defenses for an asset.
• Risk: We don’t know the threats, so we summarize our perception
of exposure to threats as risk.
10
How do threats work?
• Threats try to exploit one or more vulnerabilities of the asset.
▪ Vulnerability may be a design flaw (e.g. a bug or misconfiguration) or a
resource constraint (e.g. amount of server resources).
• An attack is a threat that is carried out leading to a violation of CIA
triad:
▪ Information leakage (failure of confidentiality)
▪ Doing the wrong thing or giving wrong answer (failure of integrity)
▪ Becoming unusable or inaccessible (failure of availability)
• Countermeasure deals with a particular class of attack
▪ Ideally prevent attack; failing that, at least detect attack and recover.
11
Thinking about reducing risk
• Security of a system is boolean: vulnerable or not vulnerable
• As it is not possible to prove the security of a system,
we do not know this boolean’s value
• As such, we apply countermeasures to reduce the probability of
attacks succeeding, given our incomplete knowledge
• This is what we mean by “reducing risk”
13
Classes of threats (1)
RFC4949 defines four broad classes of attack (with sub-types):
1. Unauthorized disclosure
▪ Exposure of sensitive information intentionally (e.g. from insider)
▪ Interception of info in transit (e.g. network sniffing)
▪ Inference of info given public data (e.g. an exercise app shows popular
exercise locations; this reveals base locations in warzones)
▪ Intrusion into the system (traditional “hacking” into a server)
2. Deception
▪ Masquerade as someone else (e.g. forging the sender on an email asking for
something)
▪ Falsification of data (e.g. changing your homework grade in Canvas)
▪ Repudiation: denying you send/received particular data (e.g. “I didn’t tweet
that, I was ~*hacked*~!”)
14
Classes of threats (2)
RFC4949 defines four broad classes of attack (with sub-types):
3. Disruption
▪ Incapacitation of a system (e.g. denial-of-service attack)
▪ Corruption of data (e.g. “my username is ";DROP ALL TABLES;--”)
▪ Obstructing communications (e.g. wifi jamming)
4. Usurpation
▪ Misappropriation of service (e.g. Captain Crunch’s use of telephone services)
▪ Misuse of service (e.g. misconfiguring a mail system so it floods someone with
email)
15
Matching assets against the CIA triad
Availability Confidentiality Integrity
Hardware Equipment Physical media stolen Hardware modified to
stolen/disabled include tracking or
control (e.g. keylogger
or keyboard emulator)
Security considerations
Group 1
Group 2
...
Group n
Group 2 zzz
Security group
...
zzz
Group n
19
Attack surface
• For a system already deployed, you may want to assess risk
• One thing to ask: how many ways could an attacker interact with it?
• This is the attack surface.
▪ Includes the software itself, the network, and humans.
▪ Examples of attack surfaces in desktop operating systems:
• Big attack surface: Windows 95, when it comes online, listens for
connections on several port numbers with various large and complex
services.
• Smaller attack surface: Windows 10, when it comes online, listens on a
few ports, and has a firewall that blocks most connections (but the
firewall has exceptions by default that still allow some fairly complex
services to listen).
• Even smaller attack surface: Ubuntu Linux 22.04, when it comes online,
listens on no ports whatsoever.
• Good practice: find ways to reduce attack surface!
20
Security strategy
1. Specification/policy: What is your goal? Consider tradeoffs against
ease of use and cost.
• The above seems simple, but I have seen one of these steps skipped
SO MANY TIMES.
▪ I’ve seen people forget #1 (deploy and evaluate tools without regard for their needs)
▪ I’ve seen people forget #2 (decide on goals, not fund the implementation, then get
mad when they’re not met)
▪ I’ve seen people forget #3 (set up fire-and-forget security solutions that quietly die
soon after)
Spec Impl Eval
21
Threat models
• When designing a defense, you must know the goal
• Define:
▪ Asset(s) at risk
▪ Type of vulnerability you assume exists and are protecting against
▪ Attacker’s capabilities/knowledge
• Only then can you say how your defense prevents the attack from
succeeding despite the vulnerability (or detects it, response to it, or
recovers from it).
22
Threat modeling example: HTTPS
HTTPS: Encrypted form of HTTP for secure web traffic
Threat model:
• Asset(s): Private user communications, including credentials
• Vulnerability: Packets may be intercepted in transit
(e.g. on open wifi)
• Attacker’s capabilities/knowledge: Knows when/how to intercept
packets for a specific user or for the site as a whole
The defense:
• Our solution: we negotiate a key in open communication known
only to user and server; all content is encrypted with this key.
• How it solves it: Even with the full traffic, attacker cannot deduce
key and therefore cannot decrypt communications. However, they
do know that communication happened and roughly how much... 23
Why threat model?
• Threat models help us move from nebulous world of “more secure”
to a specific guarantee
24
Conclusion
• Perfect security is impossible
• Constant struggle to ensure everything is correct;
attacker just has to find a single flaw
• We do our best using systematic thinking guided by models, e.g.:
▪ The CIA triad
▪ The information security model (asset/vulnerability/threat/attack)
▪ Security strategy model (specify/implement/evaluate)
▪ Attack surface modeling
▪ Threat modeling (asset/vulnerability/attacker)
• Reduce likelihood of missing something with design principles, e.g.:
▪ FIPS 200 security requirements (human and technical factors alike!)
▪ Design principles for security in software design
25