DNS: the Kaminsky Blind Spoofing Attack
CS 161: Computer Security
- Prof. David Wagner
DNS: the Kaminsky Blind Spoofing Attack CS 161: Computer Security - - PowerPoint PPT Presentation
DNS: the Kaminsky Blind Spoofing Attack CS 161: Computer Security Prof. David Wagner April 1, 2016 16 bits 16 bits DNS Blind Spoofing, cont. SRC=53 DST=53 checksum length Once we randomize the Identification Flags Identification,
Additional information (variable # of resource records) Questions (variable # of resource records) Answers (variable # of resource records) Authority (variable # of resource records) # Authority RRs # Additional RRs Identification Flags # Questions # Answer RRs
SRC=53 DST=53 checksum length
16 bits 16 bits
;; QUESTION SECTION: ;random7.google.com. IN A ;; ANSWER SECTION: random7.google.com 21600 IN A doesn’t matter ;; AUTHORITY SECTION: google.com. 11088 IN NS mail.google.com ;; ADDITIONAL SECTION: mail.google.com 126738 IN A 6.6.6.6
;; QUESTION SECTION: ;random7.google.com. IN A ;; ANSWER SECTION: random7.google.com 21600 IN A doesn’t matter ;; AUTHORITY SECTION: google.com. 11088 IN NS mail.google.com ;; ADDITIONAL SECTION: mail.google.com 126738 IN A 6.6.6.6
Additional information (variable # of resource records) Questions (variable # of resource records) Answers (variable # of resource records) Authority (variable # of resource records) # Authority RRs # Additional RRs Identification Flags # Questions # Answer RRs
SRC=53 DST=53 checksum length
16 bits 16 bits
Additional information (variable # of resource records) Questions (variable # of resource records) Answers (variable # of resource records) Authority (variable # of resource records) # Authority RRs # Additional RRs Identification Flags # Questions # Answer RRs
SRC=53 DST=53 checksum length
16 bits 16 bits
Additional information (variable # of resource records) Questions (variable # of resource records) Answers (variable # of resource records) Authority (variable # of resource records) # Authority RRs # Additional RRs Identification Flags # Questions # Answer RRs
SRC=53 DST=rnd checksum length
16 bits 16 bits
Additional information (variable # of resource records) Questions (variable # of resource records) Answers (variable # of resource records) Authority (variable # of resource records) # Authority RRs # Additional RRs Identification Flags # Questions # Answer RRs
SRC=53 DST=rnd checksum length
16 bits 16 bits
in benign traffic
implement anti-spoofing mechanisms (today about 75% do)
Client (initiator) SYN, SeqNum = x S Y N + A C K , S e q N u m = y , A c k = x + 1 ACK, Ack = y + 1 Server
Server creates state associated with connection here (buffers, timers, counters)
Attacker doesn’t even need to send this ack
Client (initiator) SYN, SeqNum = x S Y N + A C K , S e q N u m = y , A c k = x + 1 ACK, Ack = y + 1 Server
Server creates state associated with connection here (buffers, timers, counters)
Attacker doesn’t even need to send this ack
Client (initiator) SYN, SeqNum = x S + A , S e q N u m = y , A c k = x + 1 , < S t a t e > ACK, Ack = y + 1, <State> Server
Server only saves state here Do not save state here; give to client
Client (initiator) SYN, SeqNum = x S + A , S e q N u m = y , A c k = x + 1 , < S t a t e > ACK, Ack = y + 1, <State> Server
Server only saves state here Do not save state here; give to client
Client (initiator) SYN, SeqNum = x S Y N a n d A C K , S e q N u m = y , A c k = x + 1 ACK, Ack = y + 1 Server
Server only creates state here Do not create state here
Instead, encode it here