Compare commits
2 Commits
eead5b6458
...
bce2fa426c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bce2fa426c | ||
|
|
52e69f9340 |
@@ -24,4 +24,119 @@ Connection-oriented, preserves order
|
||||
- Enables spoofing and session hijacking
|
||||
3. Denial of Service (DoS) vulnerabilities
|
||||
|
||||
#### TCP SYN Flood I: low rate (DoS Bug)
|
||||
|
||||
Low rate SYN flood defenses
|
||||
|
||||
Correct Solution:
|
||||
|
||||
Syncookies: remove state from server
|
||||
|
||||
Small performance overhead
|
||||
|
||||
Hijacking Existing TCP connection
|
||||
|
||||
- A, B trusted connection
|
||||
- Send packets with predictable seq numbers
|
||||
|
||||
- E impersonates B to A
|
||||
- DoS B’s queue
|
||||
- Sends packets to A that
|
||||
resemble B’s transmission
|
||||
- E cannot receive, but may
|
||||
execute commands on A
|
||||
|
||||
## Routing Security
|
||||
|
||||
Routing Protocols
|
||||
|
||||
- ARP (addr resolution protocol): IP addr ⟶ eth addr
|
||||
Security issues: (local network attacks)
|
||||
- Node A can confuse gateway into sending it traffic for Node B
|
||||
- By proxying traffic, node A can read/inject packets
|
||||
into B’s session (e.g. WiFi networks)
|
||||
- OSPF: used for routing within an AS
|
||||
- BGP: routing between Autonomous Systems
|
||||
Security issues: unauthenticated route updates
|
||||
- Anyone can cause entire Internet to send traffic
|
||||
for a victim IP to attacker’s address
|
||||
- Example: Youtube-Pakistan mishap (see DDoS lecture)
|
||||
- Anyone can hijack route to victim
|
||||
|
||||
### Security Issues
|
||||
|
||||
- BGP path attestations are un-authenticated
|
||||
- Anyone can inject advertisements for arbitrary routes
|
||||
- Advertisement will propagate everywhere
|
||||
- Used for DoS, spam, and eavesdropping (details in DDoS lecture)
|
||||
- Often a result of human error
|
||||
|
||||
Solutions:
|
||||
|
||||
- RPKI: AS obtains a certificate (ROA) from regional authority (RIR) and attaches ROA to path advertisement.
|
||||
Advertisements without a valid ROA are ignored. Defends against a malicious AS
|
||||
- SBGP: sign every hop of a path advertisement
|
||||
|
||||
### Domain Name System
|
||||
|
||||
DNS Root Name Servers
|
||||
|
||||
- Hierarchical service
|
||||
- Root name servers for toplevel domains
|
||||
- Authoritative name servers
|
||||
for subdomains
|
||||
- Local name resolvers contact
|
||||
authoritative servers when
|
||||
they do not know a name
|
||||
|
||||
#### DNS Lookup Example
|
||||
|
||||
#### Caching
|
||||
|
||||
- DNS responses are cached
|
||||
- Quick response for repeated translations
|
||||
- Note: NS records for domains also cached
|
||||
- DNS negative queries are cached
|
||||
- Save time for nonexistent sites, e.g. misspelling
|
||||
- Cached data periodically times out
|
||||
- Lifetime (TTL) of data controlled by owner of data
|
||||
- TTL passed with every record
|
||||
|
||||
DNS Packet
|
||||
|
||||
- Query ID:
|
||||
- 16 bit random value
|
||||
- Links response to query
|
||||
|
||||
#### Basic DNS Vulnerabilities
|
||||
|
||||
- Users/hosts trust the host-address mapping
|
||||
provided by DNS:
|
||||
- Used as basis for many security policies:
|
||||
Browser same origin policy, URL address bar
|
||||
- Obvious problems
|
||||
- Interception of requests or compromise of DNS servers can
|
||||
result in incorrect or malicious responses
|
||||
- e.g.: malicious access point in a Cafe
|
||||
- Solution - authenticated requests/responses
|
||||
- Provided by DNSsec … but few use DNSsec
|
||||
|
||||
### DNS cache poisoning (a la Kaminsky’08)
|
||||
|
||||

|
||||
|
||||
#### DNS poisoning attacks in the wild
|
||||
|
||||
- January 2005, the domain name for a large New York ISP, Panix, was hijacked to a site in Australia.
|
||||
- In November 2004, Google and Amazon users were sent to Med Network Inc., an online pharmacy
|
||||
- In March 2003, a group dubbed the "Freedom Cyber Force Militia" hijacked visitors to the Al-Jazeera Web site and presented them with the message "God Bless Our Troops"
|
||||
|
||||
### Summary
|
||||
|
||||
- Core protocols not designed for security
|
||||
- Eavesdropping, Packet injection, Route stealing, DNS poisoning
|
||||
- Patched over time to prevent basic attacks
|
||||
- More secure variants exist :
|
||||
- IP $\to$ IPsec
|
||||
- DNS $\to$ DNSsec
|
||||
- BGP $\to$ sBGPs
|
||||
79
content/CSE4303/CSE4303_L5.md
Normal file
79
content/CSE4303/CSE4303_L5.md
Normal file
@@ -0,0 +1,79 @@
|
||||
# CSE4303 Introduction to Computer Security (Lecture 5)
|
||||
|
||||
## Cryptography: Foundations
|
||||
|
||||
### Definitions
|
||||
|
||||
Cryptography is the study of techniques that enable secure communication and computation in the presence of adversaries, by providing formal guarantees such as confidentiality, integrity, and authenticity.
|
||||
|
||||
Cryptanalysis is the study of techniques for breaking cryptographic systems, by recovering secret information or violating security guarantees without knowing the secret key
|
||||
|
||||
### Background: security guarantee
|
||||
|
||||
- Well-defined statement about difficulty of compromising a system
|
||||
- ...with clear implicit or explicit assumptions about:
|
||||
- Parameters of the system
|
||||
- Threat model
|
||||
- Attack surfaces
|
||||
- Example: "A one-time pad cipher is secure against any cryptanalysis, including a brute-force attack, assuming:
|
||||
- the key is the same length as the plaintext,
|
||||
- the key is truly random, and
|
||||
- the key is never re-used.
|
||||
- Example: "Given that keys remain uncompromised (by human error, side channel, etc.), recovering an RSA private key from a given public key is at least as hard as integer factorization."
|
||||
- I.e. we can reduce RSA to integer factorization.
|
||||
- Note: correct implementation is not guaranteed!
|
||||
- Non-example: "This app is secure."
|
||||
- Empty claim: what does it mean?
|
||||
|
||||
### Overview: Encryption and Decryption
|
||||
|
||||
- The message m is called the plaintext.
|
||||
- Alice will convert plaintext m to an encrypted form using an encryption algorithm E that outputs a ciphertext c for m
|
||||
|
||||
#### Cryptography goals
|
||||
|
||||
- Confidentiality:
|
||||
- Mallory and Eve cannot recover original message from ciphertext
|
||||
- Integrity:
|
||||
- Mallory cannot modify message from Alice to Bob without detection
|
||||
by Bob
|
||||
- Authenticity:
|
||||
- Mallory cannot craft a message that Bob would accept as coming from Alice
|
||||
|
||||
#### Cryptosystem compoents
|
||||
|
||||
1. The set of possible plaintexts (M)
|
||||
2. The set of possible ciphertexts (C)
|
||||
3. The set of encryption keys (K)
|
||||
4. The set of decryption keys (usually K as well)
|
||||
5. The correspondence between encryption keys and decryption
|
||||
keys
|
||||
6. The encryption algorithm to use (E)
|
||||
7. The decryption algorithm to use (D)
|
||||
|
||||
#### Symmetric ciphers:
|
||||
|
||||
A cipher defined over $(K,M,C)$ is a pair of efficient algorithms $(E,D)$ where $E: K\times M\to C$ and $D: K\times C \to M$
|
||||
|
||||
Correctness Property:
|
||||
|
||||
$\forall m\in M, \exists k\in K$, $E(k,m) = c\in C$, and $D(k,c) = m$
|
||||
|
||||
- $D$ and $E$ are often efficient (polynomial time | concrete time)
|
||||
- $E$ is encryption, often randomized.
|
||||
- $D$ is decryption, always deterministic.
|
||||
|
||||
#### Threat models
|
||||
|
||||
Attackers may have:
|
||||
|
||||
- collection of ciphertexts (ciphertext-only attack)
|
||||
- collection of plaintext/ciphertext pairs (known plaintext attack: KPA )
|
||||
- collection of plaintext/ciphertext pairs for plaintexts selected by the attacker (chosen plaintext attack: CPA )
|
||||
- collection of plaintext/ciphertext pairs for ciphertexts selected by the attacker (chosen ciphertext attack: CCA/CCA2 )
|
||||
|
||||
### Symmetric (shared-key) encryption
|
||||
|
||||
Refer to this lecture notes
|
||||
|
||||
[CSE442T Lecture 1](https://notenextra.trance-0.com/CSE442T/CSE442T_L1/)
|
||||
BIN
content/CSE4303/DNS_cache_poisoning.png
Normal file
BIN
content/CSE4303/DNS_cache_poisoning.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 105 KiB |
@@ -7,5 +7,5 @@ export default {
|
||||
CSE4303_L2: "Introduction to Computer Security (Lecture 2)",
|
||||
CSE4303_L3: "Introduction to Computer Security (Lecture 3)",
|
||||
CSE4303_L4: "Introduction to Computer Security (Lecture 4)",
|
||||
|
||||
CSE4303_L5: "Introduction to Computer Security (Lecture 5)",
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user