44
15-410, F’04 - 1 - Security Overview Nov. 29, 2004 Dave Eckhardt Dave Eckhardt Bruce Maggs Bruce Maggs L32_Security 15-410 “...”Windows NT is C2 Secure”...”

15-410, F’04 - 1 - Security Overview Nov. 29, 2004 Dave Eckhardt Bruce Maggs L32_Security 15-410 “...”Windows NT is C2 Secure”...”

Embed Size (px)

Citation preview

Security Overview15-410, F’04
Suggestion: read it, then meet with questions
15-410, F’04
Next time
Upcoming lectures
Joey Echeverria on comparative OS structure
15-410, F’04
D – try again
A – B-class system with formal spec, proofs
Sub-levels
15-410, F’04
Wimpy old Unix is only C1
Use Windows, it's secure!
Wimpy old Unix is only C1
Use Windows, it's secure!
What's wrong with this picture?
“Security Architecture” undermined by implementation
Physical Security
15-410, F’04
Integrity
Maybe you can read Alice's secrets
Maybe Alice goes to jail
15-410, F’04
Difficult secrecy threats
Or...
Wireless keyboard
Keystroke logger
The criteria document is classified
Problem
Nice sharp sync pulses
15-410, F’04
Or edit bank account balances
Or edit high school grades
Threats
Boot some other OS on the machine?
Modifying hardware
“Pay Bob $5 for his program” was uttered by Alice
Threats
Charlie signs “Pay Charlie $500 for his program”
... with Bob's signature
15-410, F’04
Which node is a good target?
15-410, F’04
Mailbox contains interesting mail
“Buries” important data
Transfers flight arrival/departure data
...and tower at O'Hare International
Fallback system
15-410, F’04
Actual – Here is a hard-disk-wipe program!
Trap door
login: anything
#insert <reflections_on_trusting_trust>
15-410, F’04
Embedded in other programs, runs when they do
Embeds self in other programs
Worm
15-410, F’04
Before somebody else does!
Check for dangerous file permissions
Check that program, config files have correct contents
Are mysterious programs running?
Summarize typical behavior
Change in system call mix
Gee, my web server doesn't usually exec(“/bin/sh -i”)...
Issues – false positive, false negative
15-410, F’04
15-410, F’04
Not so hard – “parity sum” is one-way
Collision resistant
Given h1, “infeasible” to find message2 also hashing to h1
Use
“Infeasible” to find/construct malware with that hash
15-410, F’04
Say, what is the “official version hash”?
The key distribution problem
Easy if you're in a room with the OpenBSD release coordinator
Otherwise, not easy
15-410, F’04
Some are “found weak” several years after proposal
NIST SHA (now known as SHA-0) withdrawn almost immediately
Status (Spring 2004)
New projects should use SHA-1
15-410, F’04
New projects should use SHA-1
Status (Cryto2004, August)
MD5 is “blown”
Team of Chinese researchers has a method to find collisions
MD4, RIPEMD, HAVAL, MD5...uh-oh...
Collisions have been found in SHA-0
Collisions have been found in “reduced round” SHA-1
15-410, F’04
Keys
15-410, F’04
srand()/random()
Behaves the same way every time - not random at all
Kind-of-random stuff
Entropy pool
Why “kind-of” doesn't work
getpid(), getppid(), time of day
Time is a globally-known value
Process IDs occupy a small space
...especially if you are on the same machine!
Some things are genuinely random
Which microsecond does the user press a key in?
“Entropy Pool” is a queue of those events
15-410, F’04
D(): same process!
(msg XOR random) XOR random = msg
15-410, F’04
Must be delivered securely
(m1 XOR pad) XOR (m2 XOR pad) = (m1 XOR m2)
Can be scanned very quickly
15-410, F’04
Bad
Applications
15-410, F’04
cipher = E(text, Key1)
text = D(cipher, Key2)
Keys are different
Generate key pair
Publish “public key”
15-410, F’04
No matter who sent it
15-410, F’04
Nobody else can do that
Transmit plaintext and ciphertext of document
Anybody can decrypt with your public key
If they match, the sender knew your private key
...sender was you, more or less
(really: send E(hash(msg), Kp))
Bad
Must trust key directory
Next time!
Just because it “works” doesn't mean it's right!
Open algorithms, open source
Markus Kuhn, Ross Anderson
Markus Kuhn
http://www.cl.cam.ac.uk/~mgk25/emsec/optical-faq.html
Status of secure hash functions
Collisions for SHA0, MD5, HAVAL, MD4, and RIPEMD, but SHA1 still secure
http://www.rsasecurity.com/rsalabs/node.asp?id=2738
http://blog.commerce.net/archives/2004/08/md5_dead_sha1_o.html
http://eprint.iacr.org/2004/199.pdf