Attacks - SysSec (System Security) Lab

advertisement
EE515/IS523
Think Like an
Adversary
Lecture 2
Security Engineering
Yongdae Kim
Recap
http://syssec.kaist.ac.kr/courses/ee515
E-mail policy
Include [ee515] or [is523] in the subject of your
e-mail
Student Survey
http://bit.ly/SiK9M3
News and Research Paper Survey
 Every student needs to submit a summary of news or a
research paper twice
 Submission
 TBD
 Submission date
 Check class calendar
 Topic
 News and research papers should deal with security issues.
 Your content should be different from others. Therefore, always
check the current postings.
 Use twitter, google reader
 Length: maximum 1,000 words, Grading: A – F
 Subject: Title – Author (ID) – #-th
News Survey
News must be fresh
 published within two weeks from the due dates.
Investigative/data journalism
No duplicate!
Do not rely on a single source. Read related articles.
Use your own language
Bibliography should be added.
 "The register" (http://www.theregister.co.uk/)
 "Ars Technica" (http://arstechnica.com/)
 "Bruce Schneier's blog" (http://www.schneier.com/)
 F-secure web blog (http://www.f-secure.com/weblog/)
 etc.
Group Projects
Each project should have some "research" aspect.
Group size
 Min 1 Max 5
Important dates
 Pre-proposal: Sep 17, 9:00 AM.
 Full Proposal: Sep 24, 9:00 AM.
 Midterm report: Oct 24, 9:00 PM
 Final report: Dec 12, 9:00 AM. (NO EXTENSION!!).
Project examples
 Attack, attack, attack!
 Analysis
 Measurement
TSS Body Scanner
6
BMW Stealer
First, the car is entered
nearby RF jammers that block the lock signal
breaking a window
exploiting a gap in the car's internal ultrasonic sensor system to avoid
tripping the alarm.
Connect a device to the car's OBD-II connector
Access to the cars’ unique key fob digital ID,
program a blank key fob to work with the car
http://www.youtube.com/watch?v=DshK4ZXPU9o
Authentication Failure
Security Engineering
Building a systems to remain dependable in
the face of malice, error or mischance
Attack
Security
System
Service
Deny Service,
Degrade QoS,
Misuse
Prevent Attacks
Communication
Send message
Eavesdrop
Encryption
Web server
Serving web page
DoS
CDN?
Computer
;-)
Botnet
Destroy
SMS
Send SMS
Shutdown Cellular
Network
Rate Control,
Channel separation
Pacemaker
Heartbeat Control
Remote programming and
eavesdropping
Distance bounding?
Nike+iPod
Music + Pedometer
Tracking
Don’t use it?
Recommendation
system
Collaborative
filtering
Control rating using Ballot
stuffing
?
A Framework
Policy: what you are
supposed to achieve
Policy
Incentives
Mechanism: ciphers,
access control,
hardware tamper
Mechanism
Assurance
resistance
Assurance: the amount of reliance you can put
on each mechanism
Incentive: to secure or to attack
Design Hierarchy
What are we trying
to do?
How?
With what?
Policy
Protocols
Hardware, crypto,
...
Security vs Dependability
Dependability = reliability + security
Reliability and security are often strongly
correlated in practice
But malice is different from error!
Reliability: “Bob will be able to read this file”
Security: “The Chinese Government won’t be able
to read this file”
Proving a negative can be much harder …
Methodology 101
Sometimes you do a top-down development. In that
case you need to get the security spec right in the
early stages of the project
More often it’s iterative. Then the problem is that
the security requirements get detached
In the safety-critical systems world there are
methodologies for maintaining the safety case
In security engineering, the big problem is often
maintaining the security requirements, especially as
the system – and the environment – evolve
Terminologies
A system can be:
a product or component (PC, smartcard,…)
some products plus O/S, comms and
infrastructure
the above plus applications
the above plus internal staff
the above plus customers / external users
Common failing: policy drawn too narrowly
Terminologies
A subject is a physical person
A person can also be a legal person (firm)
A principal can be
 a person
 equipment (PC, smartcard)
 a role (the officer of the watch)
 a complex role (Alice or Bob, Bob deputising for Alice)
The level of precision is variable – sometimes you
need to distinguish ‘Bob’s smartcard representing
Bob who’s standing in for Alice’ from ‘Bob using
Alice’s card in her absence’. Sometimes you don’t
Terminologies
Secrecy is a technical term – mechanisms
limiting the number of principals who can
access information
Privacy means control of your own secrets
Confidentiality is an obligation to protect
someone else’s secrets
Thus your medical privacy is protected by
your doctors’ obligation of confidentiality
Terminologies
Anonymity is about restricting access to
metadata. It has various flavors, from not
being able to identify subjects to not being
able to link their actions
An object’s integrity lies in its not having
been altered since the last authorized
modification
Authenticity has two common meanings –
an object has integrity plus freshness
you’re speaking to the right principal
Terminologies
A security policy is a succinct statement of
protection goals – typically less than a page of
normal language
A protection profile is a detailed statement of
protection goals – typically dozens of pages of semiformal language
A security target is a detailed statement of
protection goals applied to a particular system – and
may be hundreds of pages of specification for both
functionality and testing
Threat Model
What property do we want to ensure against
what adversary?
Who is the adversary?
What is his goal?
What are his resources?
e.g. Computational, Physical, Monetary…
What is his motive?
What attacks are out of scope?
Terminologies
Attack: attempt to breach system security (DDoS)
Threat: a scenario that can harm a system (System
unavailable)
Vulnerability: the “hole” that allows an attack to
succeed (TCP)
Security goal: “claimed” objective; failure implies
insecurity
Goals: Confidentiality
Confidentiality of information means that it
is accessible only by authorized entities
Contents, Existence, Availability, Origin,
Destination, Ownership, Timing, etc… of:
Memory, processing, files, packets, devices,
fields, programs, instructions, strings...
Goals: Integrity
Integrity means that information can only be
modified by authorized entities
e.g. Contents, Existence, Availability, Origin,
Destination, Ownership, Timing, etc… of:
Memory, processing, files, packets, devices,
fields, programs, instructions, strings...
Goals: Availability
Availability means that authorized entities
can access a system or service.
A failure of availability is often called Denial
of Service:
Packet dropping
Account freezing
Jamming
Queue filling
Goals: Accountability
Every action can be traced to “the
responsible party.”
Example attacks:
Microsoft cert
Guest account
Stepping stones
Goals: Dependability
A system can be relied on to correctly
deliver service
Dependability failures:
Therac-25: a radiation therapy machine
whose patients were given massive overdoses (100
times) of radiation
bad software design and development practices:
impossible to test it in a clean automated way
Ariane 5: expendable launch system
the rocket self-destructing 37 seconds after launch
because of a malfunction in the control software
A data conversion from 64-bit floating point value to 16bit signed integer value
Interacting Goals
Failures of one kind can lead to failures of
another, e.g.:
Integrity failure can cause Confidentiality failure
Availability failure can cause integrity,
confidentiality failure
Etc…
In a Nutshell
Security by Obscurity is not secure!
Conservative modeling for adversary
State-sponsored, Hacktivists, Hacker+Criminals, Researchers ;-)
Care for the weakest link.
Plan for unknown attacks.
Check for environmental changes
All stages are important
Attacker modeling, design, implementation, deployment,
operation
Check News!
Cyber Warfare?
Security & Risk
We only have finite resources for security…
Product A
Product B
Prevents
Attacks:
U,W,Y,Z
Prevents
Attacks:
V,X
Cost $10K
Cost $20K
If we only have $20K, which should we buy?
Risk
The risk due to a set of attacks is the
expected (or average) cost per unit of time.
One measure of risk is Annualized Loss
Expectancy, or ALE:
ALE of attack A
Σ
( pA × L A )
attack A
Annualized attack
incidence
Cost per attack
Risk Reduction
A defense mechanism may reduce the risk
of a set of attacks by reducing LA or pA. This
is the gross risk reduction (GRR):
Σ
(pA ×LA – p’A×L’A)
attack A
The mechanism also has a cost. The net
risk reduction (NRR) is GRR – cost.
Basic Cryptography
Yongdae Kim
The main players
Eve
Yves?
Alice
Bob
Attacks
Normal Flow
Source
Interruption: Availability
Source
Destination
Modification: Integrity
Source
Destination
Destination
Interception: Confidentiality
Source
Destination
Fabrication: Authenticity
Source
Destination
Taxonomy of Attacks
Passive attacks
Eavesdropping
Traffic analysis
Active attacks
Masquerade
Replay
Modification of message content
Denial of service
Big picture
Trusted third party
(e.g. arbiter, distributor
of secret information)
Bob
Alice
Message
Information
Channel
Secret
Information
Message
Secret
Information
Eve
Terminology for Encryption
A denotes a finite set called the alphabet
M denotes a set called the message space
M consists of strings of symbols from an alphabet
An element of M is called a plaintext
C denotes a set called the ciphertext space
C consists of strings of symbols from an alphabet
An element of C is called a ciphertext
 K denotes a set called the key space
 An element of K is called a key
Ee is an encryption function where e  K
Dd called a decryption function where d  K
Encryption
Adversary
Encryption
Ee(m) = c
c
insecure channel
m
Decryption
Dd(c) = m
m
Plaintext source
destination
Alice
Bob
Why do we use key?
Or why not use just a shared encryption function?
SKE with Secure channel
Adversary
Key source
d
Secure channel
e
Encryption
Ee(m) = c
m
c
Insecure channel
Decryption
Dd(c) = m
m
Plaintext source
destination
Alice
Bob
PKE with insecure channel
Passive
Adversary
e
Insecure channel
Key source
d
Encryption
Ee(m) = c
m
c
Insecure channel
Decryption
Dd(c) = m
m
Plaintext source
destination
Alice
Bob
Public key should be authentic!
e
e’
Ee(m)
Ee’(m)
e
Ee(m)
Need to authenticate public keys
Digital Signatures
Primitive in authentication and nonrepudiation
Signature
Process of transforming the message and some
secret information into a tag
Nomenclature
M is set of messages
S is set of signatures
SA: M ! S for A, kept private
VA is verification transformation from M to S for
A, publicly known
Key Establishment, Management
Key establishment
Process to whereby a shared secret key becomes
available to two or more parties
Subdivided into key agreement and key
transport.
Key management
The set of processes and mechanisms which
support key establishment
The maintenance of ongoing keying relationships
between parties
Symmetric vs. Public key
Pros
Cons
 High data throughput
SKE
 Relatively short key size
The key must remain secret
at both ends
O(n2) keys to be managed
Relatively short lifetime of
the key
O(n) keys
Only the private key
must be kept secret
PKE
longer key life time
digital signature
Low data throughput
Much larger key sizes
Symmetric key Encryption
Symmetric key encryption
if for each (e,d) it is easy computationally easy to
compute e knowing d and d knowing e
Usually e = d
Block cipher
breaks up the plaintext messages to be
transmitted into blocks of a fixed length, and
encrypts one block at a time
Stream cipher
encrypt individual characters of plaintext
message one at a time, using encryption
transformation which varies with time
Hash function and MAC
A hash function is a function h
 compression
 ease of computation
 Properties
one-way: for a given y, find x’ such that h(x’) = y
collision resistance: find x and x’ such that h(x) = h(x’)
 Examples: SHA-1, MD-5
MAC (message authentication codes)
 both authentication and integrity
 MAC is a family of functions hk
ease of computation (if k is known !!)
compression, x is of arbitrary length, hk(x) has fixed length
computation resistance
 Example: HMAC
Download