370 likes | 626 Views
Introduction to Computer Security. Pieter.Hartel@utwente.nl. IntroSec. 3. Overview. Course organisationDefinitionsDesignCryptographySecurity ProtocolsCoursework. [And08] R. J. Anderson. Security Engineering: A guide to building dependable distributed systems. John Wiley
E N D
1. Kerckhoffs tips Mail info@kerckhoffs-institute.org to register
otherwise lecturers at the other universities may not know you
Register officially with TU/e, RUN & UT
otherwise your marks cannot be transferred
Regularly check www.kerckhoffs-institute.org/
otherwise you may not be up to date on the schedules
Did you take Algebra & Security as homologation?
otherwise you may not be able to pass Cryptography I
Join the Kerckhoffs student association Auguste
otherwise you will not be able to make friends with all your peers
Join the mailing list http://mailman.science.ru.nl/mailman/listinfo/kerckhoffs-students
otherwise we will not be able to reach you.
2. Introduction toComputer Security Pieter.Hartel@utwente.nl
3. IntroSec 3 Overview Course organisation
Definitions
Design
Cryptography
Security Protocols
Coursework
4. Course Organisation
5. IntroSec 5 Course objectives Learn about the most important concepts in computer security
Be able to appreciate the role of security techniques in an overall security approach
Be able to find, understand and survey basic security literature
Breadth, not depth....
6. IntroSec 6 Assessment Written examination (50%)
Social Engineering Experiment (25%)
Stage I: Physical penetration testing (24%)
Stage II: Digital penetration testing (1%)
Paper for mini conference (25%)
Team of three
Peer review
Mark set by students and moderator
5 best papers presented at mini conf.
Prize for best presentation
Exceptionally: Paper + experiment (50%)
7. IntroSec 7 Survey Have you taken any of these?
TU/e: Security (3ec/2IS05)
RU: Security (3ec/I00086 or 6ec/IBI002)
UT: Network security (5ec/265400)
Something else that is relevant?
8. IntroSec 8 http://dies.cs.utwente.nl/~pieter/IntroSec Twente: differentTwente: different
9. Definitions
10. IntroSec 10 Security is protection of assets. Talk about the bullets in the order given by the subscripts; There is a loop!
Attack is malicious external fault, internal fault is vulnerabilityTalk about the bullets in the order given by the subscripts; There is a loop!
Attack is malicious external fault, internal fault is vulnerability
11. IntroSec 11 Definitions Availability: authorised users want the computer/system to work as they expect it to, when they expect it to
Reliability: the ability of a system or component to perform its required functions under stated conditions for a specified period of time
Safety: being protected against non-desirable events (not specifically malicious)
Confidentiality: to stop unauthorised users from reading sensitive information
Integrity: Every data item/system component is as the last authorised modifier left it
Maintainability: ease with which a software product can be modified
Authorisation requires authentication and audit!
12. IntroSec 12 Dependability vs. Security
13. IntroSec 13 Access control model – AU3 Authentication: determine who makes request
Authorisation: determine who is trusted to do which operation on an object
Auditing: make it possible to determine what happened and why
14. IntroSec 14 Privacy vs. Security Privacy is the right of an individual to determine what information about oneself to share with others
Security can help
Selectively encrypt data
Security can hinder
Calling home to prevent piracy
(Audit) logging
15. Design
16. IntroSec 16 Goals Good:
As secure as the real world [Lam04]
Defense in depth
Be explicit about: naming, typing, freshness, assumptions, goals, limitations etc [And95a]
Bad:
Design security as an afterthought
Security by obscurity [Ker1883]
Make it complicated
Defense in dept: firewall+sandbox+application-level checking
Money talks, though. Many companies have
learned that although people may complain about
inadequate security, they won’t spend much money,
sacrifice many features, or put up with much inconvenience
to improve it. This strongly suggests that
bad security is not really costing them much.
Firewalls and antivirus programs are the only really
successful security products, and they are carefully
designed to require no end user setup and to interfere
very little with daily life.
The experience of the past few years confirms this
analysis. Virus attacks have increased, and people
are now more likely to buy a firewall and antivirus
software and to install patches that fix security
flaws. Vendors are making their systems more
secure, at some cost in backward compatibility and
user convenience. But the changes have not been
dramatic.
Defense in dept: firewall+sandbox+application-level checking
Money talks, though. Many companies have
learned that although people may complain about
inadequate security, they won’t spend much money,
sacrifice many features, or put up with much inconvenience
to improve it. This strongly suggests that
bad security is not really costing them much.
Firewalls and antivirus programs are the only really
successful security products, and they are carefully
designed to require no end user setup and to interfere
very little with daily life.
The experience of the past few years confirms this
analysis. Virus attacks have increased, and people
are now more likely to buy a firewall and antivirus
software and to install patches that fix security
flaws. Vendors are making their systems more
secure, at some cost in backward compatibility and
user convenience. But the changes have not been
dramatic.
17. IntroSec 17 Tools Assurance – does it work?
Risk management
Protocol verification
Policy – what is supposed to happen?
Access control
Mechanisms – how should it happen?
Tamper resistance
Biometrics
Cryptography, Hashing, Random numbers
But first an attack...
18. IntroSec 18 Attacks Definition: a successful exploitation of a vulnerability
Examples:
Attacker shuts you out by trying to log in as you
Cold boot attack (watch the movie)
19. Cryptography Twente:
One slide each on
Symmetric Ciphers
Asymmetric Ciphers
HashingTwente:
One slide each on
Symmetric Ciphers
Asymmetric Ciphers
Hashing
20. IntroSec 20 Algorithms + keys Cipher (aka cryptosystem)
“Public” algorithm +
Secret keys “Public”: discussion
Keys must be the same“Public”: discussion
Keys must be the same
21. IntroSec 21 Symmetric ciphers Public algorithm + one secret key
Standard algorithms: DES, AES
Example: one time pad “Public”: discussion
Keys must be the same“Public”: discussion
Keys must be the same
22. IntroSec 22 Asymmetric ciphers Public algorithm+private key+public key
Standard algoritms: RSA, El Gamal
Example: El Gamal
Multiplicative group Zn*={1...n-1}
Prime n, generator g
Private key: x ? Zn*
Public key: h = gx
Salt: y?RZn*
Enc(m,h): (c,d) = (mhy, gy)
Dec((c,d),x): c/dx
Exercise: prove that this works... g is a generator of Zn* if all elements of Zn* can be expressed as g^i for some i
c/gy^x=m.g^x^y/g^y^x=m
2.113 Definition The integers modulo n, denoted Zn, is the set of (equivalence classes of) integers
{0,1,2, ... , n-1}. Addition, subtraction, and multiplication in Zn are performed modulo n.
2.124 Definition The multiplicative group of Zn is Zn* = { a (- Zn | gcd(a, n) = 1 }
In particular, if n is a prime, then Zn* = { a | 1 <= a <= n - 1}
g is a generator of Zn* if all elements of Zn* can be expressed as g^i for some i
c/gy^x=m.g^x^y/g^y^x=m
2.113 Definition The integers modulo n, denoted Zn, is the set of (equivalence classes of) integers
{0,1,2, ... , n-1}. Addition, subtraction, and multiplication in Zn are performed modulo n.
2.124 Definition The multiplicative group of Zn is Zn* = { a (- Zn | gcd(a, n) = 1 }
In particular, if n is a prime, then Zn* = { a | 1 <= a <= n - 1}
23. IntroSec 23 Random numbers Pseudo random in SW
True random in HW
Standard statistical tests
NIST web site
For example
Linear Congruential Method
r0 = s
rn+1=(a rn+c) mod m
Cyclic ?
Deterministic ? 0 < m modulus
0 <= a < m multiplier
0 <= c < m increment
0 <= X0 < m seed
0 < m modulus
0 <= a < m multiplier
0 <= c < m increment
0 <= X0 < m seed
24. IntroSec 24 Hash functions Map arbitrary bit string to fixed size output
Easy to calculate for given input
Practically impossible to invert
Extremely unlikely that two inputs give the same hash
For example
Knuth’s variant on Division
Hash(n) = n(n+h) mod m
Try it out…
25. IntroSec 25 Visual Cryptography
26. Security Protocols
27. IntroSec 27 Definitions Sequence of communications by two or more parties to achieve security objective(s)
Not like this:
28. IntroSec 28 Eve can:
See all messages
Delete, alter, inject and redirect messages
Initiate new communications
Reuse messages from past sessions
Eve cannot:
Solve “hard” problems
Guess pseudo-random values (eg. nonces)
Get another identity (identity theft)
Time computations
What to do: Make everything explicit Dolev Yao attacker model
29. IntroSec 29 Design is hard
‘‘Security protocols are three line programs that people still manage to get wrong’’ (Roger Needham)
30. IntroSec 30 Authentication protocol (1) What’s the problem with this?
The nonce Nb leaks, so it cannot be used to secure the session
31. IntroSec 31 Authentication protocol (2) (Wo)man in the middle attack:
32. IntroSec 32 Authentication protocol (3) Does it work now?
33. IntroSec 33 Conclusions Consider the system as a whole
Know your enemy
Be explicit
Use standard tools
34. Coursework
35. IntroSec 35 Penetration test Stage I and III : gain possession of a marked notebook on the UT campus by using social engineering.
Stage II : capture a number of flags on a remote server by using standard penetration testing tools.
Paper : solve a problem and validate the solution.
36. IntroSec 36 Paper topics Ranking Attack Scenarios
Ethics in Physical Penetration Testing
The Personal Chief Security Officer
Efficient Implementation of Searchable Encryption
Data-based Access Control
Privacy Breach from Inter-OSN Inferences
Security and Privacy in Body Sensor Networks
Tracking Insiders
Presenting Soft Policies
Alternate Password Entry Methods for Mobile Devices
37. IntroSec 37 What to do next (1) Constraints pentesting
12 groups at UT only
Sorry, not possible in Nijmegen or Eindhoven
Constraint group size 3
By Tuesday 31 Aug at noon, send email to trajce.dimkov@utwente.nl
First, second and third topic choice
Team name
Allocation published same day
38. IntroSec 38 What to do next (2) By the end of this class:
Choose team, topic & notebook target
Sign documents.
By the 5th of September:
Read the references associated with the topic.
Write outline+abstract for the paper.
Scout the notebook target.
On the 6th of September after lecture:
The physical penetration testing exercise starts.
Meet with supervisors to discuss the paper.
Labwork 2-5pm room Carré 1175 (bring laptop!)