Network Security: Attacks
CS 161: Computer Security
- Prof. Vern Paxson
Network Security: Attacks CS 161: Computer Security Prof. Vern Paxson - - PowerPoint PPT Presentation
Network Security: Attacks CS 161: Computer Security Prof. Vern Paxson TAs: Paul Bramsen, Apoorva Dornadula, David Fifield, Mia Gil Epner, David Hahn, Warren He, Grant Ho, Frank Li, Nathan Malkin, Mitar Milutinovic, Rishabh Poddar, Rebecca
(Post office doesn’t look at the letter inside the envelope)
(Routers don’t look at the payload beyond the IP header) IP source address IP destination address
Application Transport (Inter)Network Link Physical 7 4 3 2 1
9
11
12
13
Password: $secret! KeyCounter
(and other stuff)
KeyCounter
(and other stuff)
KeyCounter
(and other stuff)
Password: $secret! SSID KeyCounter
(and other stuff)
KeyCounter
(and other stuff)
Password: $secret! This func;on KeyCounter
(and other stuff)
KeyCounter
(and other stuff)
Password: $secret! This func;on computes this many itera;ons KeyCounter
(and other stuff)
KeyCounter
(and other stuff)
Password: $secret! This func;on computes this many itera;ons
KeyCounter
(and other stuff)
KeyCounter
(and other stuff)
Password: $secret! This func;on computes this many itera;ons
using this as the MAC key KeyCounter
(and other stuff)
KeyCounter
(and other stuff)
Password: $secret! This func;on computes this many itera;ons
using this as the MAC key and the XOR of these as the ini;al input. KeyCounter
(and other stuff)
KeyCounter
(and other stuff)
Password: $secret! This func;on computes this many itera;ons
using this as the MAC key and the XOR of these as the ini;al input. Each subsequent itera;on takes the
its input. KeyCounter
(and other stuff)
KeyCounter
(and other stuff)
Password: $secret! KeyCounter
(and other stuff)
KeyCounter
(and other stuff)
Now your laptop and the AP have derived a shared secret.
Password: $Secret! KeyCounter
(and other stuff)
KeyCounter
(and other stuff)
Eve
Password: $secret! KeyCounter
(and other stuff)
KeyCounter
(and other stuff)
Eve Since the password is never exposed, if Eve doesn’t know it, the best she can do is a dic1onary aFack to try to guess it.
Password: $secret! KeyCounter
(and other stuff)
KeyCounter
(and other stuff)
Eve Since the password is never exposed, if Eve doesn’t know it, the best she can do is a dic1onary aFack to try to guess it. This goes slowly due to the 1000s of HMAC itera;ons.
Password: $secret! KeyCounter
(and other stuff)
KeyCounter
(and other stuff)
Eve BUT: if Eve ponies up $2.25 for a cup of coffee and gets the password to the local net …
Password: $secret! KeyCounter
(and other stuff)
KeyCounter
(and other stuff)
Eve BUT: if Eve ponies up $2.25 for a cup of coffee and gets the password to the local net … then she knows both of these!
{Auth: : A}K
CA
Your laptop is preconfigured with a cert for an Authen1ca1on Server. Auth a
{Auth: : A}K
CA
You establish a secure connec;on via the AP to the Authen;ca;on Server using TLS. Auth a
{Auth: : A}K
CA
You then transmit your authen;ca;on info (username/password, or your own cert) to the server Auth a
User=Alice, Password= ReallyHard2Gue$$
{Auth: : A}K
CA
Auth a
The Authen;ca;on Server creates a random secret key and sends it to both your laptop and the AP.
host host host ... DHCP server
DHCP = Dynamic Host Configuration Protocol
new client DHCP server DHCP discover (broadcast) D H C P
f e r
“offer” message includes IP address, DNS server, “gateway router”, and how long client can have these (“lease” time)
DNS server = system used by client to map hostnames like gmail.com to IP addresses like 74.125.224.149 Gateway router = router that client uses as the first hop for all of its Internet traffic to remote hosts
new client DHCP server DHCP discover (broadcast) D H C P
f e r D H C P A C K DHCP request (broadcast)
“offer” message includes IP address, DNS server, “gateway router”, and how long client can have these (“lease” time)
new client DHCP server DHCP discover (broadcast) D H C P
f e r DHCP request D H C P A C K (broadcast)
“offer” message includes IP address, DNS server, “gateway router”, and how long client can have these (“lease” time)
new client DHCP server DHCP discover (broadcast) D H C P
f e r DHCP request D H C P A C K (broadcast)
Local attacker on
same subnet can hear new host’s DHCP request
“offer” message includes IP address, DNS server, “gateway router”, and how long client can have these (“lease” time)
new client DHCP server DHCP discover (broadcast) D H C P
f e r DHCP request D H C P A C K (broadcast)
This happens even for WPA2-Enterprise, since request is explicitly sent using broadcast
“offer” message includes IP address, DNS server, “gateway router”, and how long client can have these (“lease” time)
new client DHCP server DHCP discover (broadcast) D H C P
f e r DHCP request D H C P A C K (broadcast)
Attacker can race the actual server; if attacker wins, replaces DNS server and/or gateway router
“offer” message includes IP address, DNS server, “gateway router”, and how long client can have these (“lease” time)
DHCP replies, since that can happen benignly)
57
Application Transport (Inter)Network Link Physical 7 4 3 2 1
4-bit Version 4-bit Header Length 8-bit Type of Service (TOS)
16-bit Total Length (Bytes) 16-bit Identification
3-bit Flags
13-bit Fragment Offset
8-bit Time to Live (TTL)
8-bit Protocol 16-bit Header Checksum 32-bit Source IP Address 32-bit Destination IP Address Payload
IP = Internet Protocol