430 likes | 524 Views
Class 19 Wrap-up and Review CIS 755: Advanced Computer Security Spring 2014. Eugene Vasserman http://www.cis.ksu.edu/~eyv/CIS755_S14/. Administrative stuff. No class during the last week of the semester (May 6 th and 8 th ) No office hours either – I ’ m out of town No presentations
E N D
Class 19Wrap-up and ReviewCIS 755: Advanced Computer SecuritySpring 2014 Eugene Vasserman http://www.cis.ksu.edu/~eyv/CIS755_S14/
Administrative stuff • No class during the last week of the semester (May 6th and 8th) • No office hours either – I’m out of town • No presentations • Remember exam on Thursday • Study guide is up on the class web page • No office hours this Friday – email to meet • Focus on your projects and reports
The most important slide of the class • What are the take-away messages? • Think like an adversary • Kerckhoffs’ principle and Shannon’s maxim • Be able to search for solutions • Read papers • Reuse, reuse, reuse (correctly!) • State assumptions (be sure they hold) • Be able to admit “I don’t know” – not everyone can engineer every solution
Things to remember • What does “secure” mean? • Who is the adversary, and why? • There issuch a thing as too much security • If too hard to use, users will bypass security • Attacks only get better
Some things to remember • Theoretical to practical in ~10 years • Chosen ciphertext attack • HDMI • CBC chosen plaintext attack • Attacks only get better • Look at history of MD5 • Look at history of SHA (e.g. SHA-0) • Some things are a bad idea in the first place, e.g. “trusted” hardware
NEVER BUILD YOUR OWN WHEN SOLUTION EXISTS!!! NEVER COMPOSE YOUR OWN WHEN LIBRARY EXISTS!!!
Safety vs. security • Think like an adversary! • Random → malicious faults • Engineering for security: “What’s the worst that can happen?” Assume it will… • Always, always, ALWAYS state your assumptions!
Security: Fundamental differences • Real world: physical, intuitive • Risk assessment • People are not even good at this in the real world! • Trusted vs. trustworthy • Forensics, physical evidence • Forgery • Fail “evident,” e.g. theft • Scale of failures
More basics • Trusted vs. trustworthy • e.g. the recent SSL Certificate Authority fiasco • Risk, hazard, vulnerability • Adversary, ROI, scale • Assurance levels • “Rainbow” book series, Common Criteria • Method of returning to secure states • Fail-closed/secure or fail-open/insecure?
Basic cryptographic primitives • Confidentiality (encryption) • Symmetric (e.g. AES) • Asymmetric (e.g. RSA) • Hash functions (e.g. SHA1) • Integrity and authentication • Symmetric (message authentication codes) • Asymmetric (signatures) • Key agreement • Random numbers
Block cipher modes of operation • ECB, CBC, OFB, CTR, CFB, GCM, XEX, XTS • Differences, i.e. why do we care? • Some are parallelizable (GCM) • Also provides authentication! • Some are self-synchronizing (CFB) • Trick question: Block ciphers vs. stream ciphers vs. pseudorandom number generators (PRNG)?
Security (strength) • Key size* • Commonly 2256 for AES, 22048 for RSA • What is a [good] key? • Underlying cryptosystem/primitives • Composition • e.g. MAC with broken underlying hash function may not itself be broken
Modes of operation (ECB) Images borrowed from Wikipedia :)
Modes of operation (CBC) Images borrowed from Wikipedia :)
Recall: MACs • “Keyed hash” (MAC from a cryptographically-secure hash function) • Hash Block cipher (CBC or CFB) MAC • Hybrid modes e.g. CBC-MAC • Secrecy plus authenticity (2-party) • Remember to use different keys for MAC and encryption… why?
Modes of operation (CFB) Images borrowed from Wikipedia :)
Modes of operation (CTR) VS. ECB Images borrowed from Wikipedia :)
Giving, storing and wiping secrets • Credentials • Password security • Storage security • Input security • Ctrl-Alt-Del • Forgetfulness security • Encryption? • https://citp.princeton.edu/research/memory/
Access control • Authentication → access • No authentication → no access • What are we protecting? • Who is our adversary? • Threat model • Who is trusted? • Where does enforcement occur?
Implementation considerations • Kerckhoffs’ principle and Shannon’s maxim • Especially tempting to violate in case of “dirty” code – I’ve been there! • Watch your (unstated) assumptions • Example: Unsanitized (untrustworthy) input • Adversaries • Side-channels • Performance
More considerations • Correct tool for the job • Requirements (before, not after) – spend time on this • Correct usage of the tool • Documentation! • Weakest links • Pay attention to potential non-cryptographic issues such as side/covert channels • But you can never eliminate them: PROVABLE • Think / test like an adversary
Current state of symmetric encryption • DES is too weak (56-bit key) • 3DES is weak (168-bit keys but only 2112 security – meet-in-the-middle attack) • Recent weaknesses in AES: • AES-256 (2254.4) AES-192 (2189.7) AES-128 (2126.1) http://research.microsoft.com/en-us/projects/cryptanalysis/aesbc.pdf
Current state of hash functions • MD5 is broken • http://www.win.tue.nl/hashclash/ • SHA-1 is known to be weak • http://theory.csail.mit.edu/~yiqun/shanote.pdf (269) • http://eprint.iacr.org/2004/304 (2106, generalizable) • SHA-256 (variant) is even weaker • SHA-3 currently in “development” (NIST) • We have a winner: all hail Keccak (SHA-3)! • http://csrc.nist.gov/groups/ST/hash/sha-3/
Problems: Side channels • Side-channel attacks VERY damaging • Power • Timing • Error messages • Different errors in SSH leak information (mismatch between implementation and specification of CBC block cipher mode): http://portal.acm.org/citation.cfm?id=586112
Distributed systems: Security • Eliminating a single point of failure • Denial of service protection (robustness) • Eliminating a single point of trust • What if your boss is malicious? • If we want to reap benefits of distributed system designs, we have to take care of the “maybes” • How?
Distributed systems: Privacy • Local system – local information • Distributed system – more access to potentially private information • Privacy vs. authentication • Sometimes privacy is not a security requirement, sometimes it is • Are there other potential security requirements related to privacy?
Source routing with capabilities S1 S2 B, data S3 B S3 S2 S1 A
eCash Merchant Broker Client Witness
Bob Alice Chaum Mixes Output in lexographic order
Bob Alice Global Adversary
B A C Tor TCP over TCP (UGH!)
B E A D C F Tor hidden services
Bob Alice Global adversary vs. Tor Entire Tor network
B A C M Tor network positioning attack
B A C Tor linkability attack
B A C Tor selective DoS attack
Enumerating Freenet • Run a Freenet node; wait for nodes to contact you • Or just query random “locations”
Anonymity Anonymizing Network ISP AS1 AS2 ISP ?
Censorship resistance Membership Concealing Network Anonymizing Network ISP AS1 AS2 ISP ? ? ?
secret secret secret !! XX !! ?? Covert auth. Hi! ?? Hi? Hi?
Steganographic embedding Linux 2.6 TCP SYN packet header with embedded MAC
Questions? Reading discussion