Instructor
- who: Michael Swift
- where: Room 7369
- when: Monday 11-12, Thursday 1:30-2:30
- email: swift 'at' cs.wisc.edu
- TAs
Lecture:
HomePage
Resources
edit SideBar
|
- Encryption
- One-time pads are NOT on the exam
- Block ciphers
- Modes of operation
- Electronic code book (ECB)
- Cypher-block chaining (CBC)
- Counter mode
- Message authentication codes
- Basis on hash functions
- HMAC
- Encrypt-then-MAC, MAC-then-encrypt, MAC-and-encrypt
- Password-based encryption
- Password-based key derivation (PBKDF) with salt
- Slowing down brute-force attacks
- Asymmetric Encryption
- Trapdoor function idea
- RSA
- Basis on factoring prime numbers & modular arithmetic
- Public key: N = P*Q, private/secret key = D, E = constant
- PKCS RSA encryption
- Hybrid encryption: mix asymmetric + symmetric encryption
- Digital signatures
- Encrypting with secret key
- TLS handshake
- Sequence of messages
- Certificate authorities and chains
- Certificate idea: signed data structure with key, name
- Certificate authorities as roots of trust
- Where clients get public keys for certificate authorities
- Chains of certificates from root CA through multiple certificates
- What does a certificate prove?
- How to verify a certificate
- Check name
- Check signature
- Check scope: is issuer allowed to issue a certificate for this name?
- Recurse back to root CA
- Compromises: installing rogue root CA certificate in a machine
- Networking
- MAC layer attacks
- ARP poisoning
- IP layer attacks
- Fragmentation
- Address spoofing
- Denial of service
- TCP layer attacks
- Connection spoofing
- Syn flood
- DNS
- DNS functioning
- Recursive vs iterative lookups
- DNS poisoning
- BGP
- Address range hijacking
- Network defenses
- Firewalls, intrusion detection, intrusion prevention
- Layers of defense: IP, TCP, Application level firewalls
- Evasion attacks
- TTL
- Fragmentation
- Algorithmic complexity
- Challenges of accurately detecting attacks
- Surveillance and censorship
- Censorship techniques
- DNS blocking
- IP address blocking
- URL filtering
- Deep packet inspection
- Defenses
- Simple anonymizing proxies
- TLS/SSH tunnels
- TOR: hiding connectivity
- End-to-end encryption
- Privacy
- Privacy issues with multiple data sets
- Increasing privacy by adding noise to data
- Virtualization and cloud computing
- Basic of virtualization
- Types 1 and 2 hypervisors
- Full vs paravirtualization
- Use of virtualization
- Server consolidation
- Cloud computing
- Studying malware
- Detection of virtual machines by malware
- Risks of virtualization
- Reset attacks on randomness
- Cache-based side-channel attacks
- On RSA exponentiation
- Achieving frequent interruptions
- Achieving co-location/coresidenc
- Performance interference
- Memory, cache, network I/O, disk I/O
- Leaking information through virtual machine images
- Passwords
- Secret keys
- Cloud security tokens
- Virtualization defenses
- Scheduling for side-channel attacks
- Processor security
- TPM - trusted platform model
- Measurements via PCRs
- Attestations
- Sealed storage
- Static vs dynamic root of trust
- SGX enclaves
- Memory encryption
- Secure entry/exit
- Creating enclave from unencrypted code
- Weaknesses: cache based sidechannels based on Meltdown attack
- Spectre
- Cache-based covert channel based on indexing into an array
- Speculation on inaccessible value
- Zone of operation - within address space
- Meltdown
- Speculation around page-table validity and user/kernel bit
- Zone of operation - from user to kernel, from user to SGX enclave
- Rowhammer
- Operation: repeated read trigger random bit flips
- Exploitation by replication sensitive data/code in memory
- Page tables entries for kernel attack
- Sandboxed code for JVM attack
- Defenses
- Better memory allocation
- Security Economics
- Who pays for security features
- Users
- Company
- Who should pay to defend against DDoS attacks and why?
- Liability - who is responsible today
- Blockchain and Bitcoin
- Double spending attack
- Centralized solution: validate at banki
- Distributed solution: global, public ledger
- Cryptographic chains of transactions around digital coins
- Verifying a chain: no double spending, chains back to a coin issue
- Chain of blocks comprised of transactions (block chain)
- Proof of work to commit a transaction block
- Hash function with leading zeroes
- Incentives to validate/mine
- Minting new bitcoin
- Transaction fees
|