smashing wep in a passive attack
play

Smashing WEP in A Passive Attack POUYAN SEPEHRDAD PETR SUSIL - PowerPoint PPT Presentation

Smashing WEP in A Passive Attack POUYAN SEPEHRDAD PETR SUSIL SERGE VAUDENAY MARTIN VUAGNOUX 1 2 No one Uses WEP Any More. 2 Hotels No one Uses WEP Any More. Restaurants Airports 2 Wireless Networks in Singapore: 20% WEP Hotels No


  1. Smashing WEP in A Passive Attack POUYAN SEPEHRDAD PETR SUSIL SERGE VAUDENAY MARTIN VUAGNOUX 1

  2. 2

  3. No one Uses WEP Any More. 2

  4. Hotels No one Uses WEP Any More. Restaurants Airports 2

  5. Wireless Networks in Singapore: 20% WEP Hotels No one Uses WEP Any More. Restaurants Singapore is not alone. The same problem in most Asia. Airports 2

  6. RC4 3

  7. Reminder on RC4 RC4 3

  8. Reminder on RC4 RC4 RC4/WEP 3

  9. Reminder on RC4 RC4 RC4/WEP Tornado Attack on WEP 3

  10. Reminder on RC4 RC4 RC4/WEP Tornado Attack on WEP Challenges 3

  11. Reminder on RC4 Reminder on RC4 RC4 RC4/WEP Tornado Attack on WEP Challenges 3

  12. KSA PRGA Key S N-1 Keystream 4

  13. 1: for i = 0 to N − 1 do 2: S [ i ] ← i 3: end for 4: j ← 0 5: for i = 0 to N − 1 do 6: j ← j + S [ i ]+ K [ i mod L ] 7: swap ( S [ i ] , S [ j ]) 8: end for KSA 5

  14. 1: for i = 0 to N − 1 do 2: S [ i ] ← i 3: end for 4: j ← 0 5: for i = 0 to N − 1 do 6: j ← j + S [ i ]+ K [ i mod L ] 7: swap ( S [ i ] , S [ j ]) 8: end for KSA 0 1 2 3 4 5 6 7 8 9 10 11 12 ... 255 i j 5

  15. 1: for i = 0 to N − 1 do 2: S [ i ] ← i 3: end for 4: j ← 0 5: for i = 0 to N − 1 do 6: j ← j + S [ i ]+ K [ i mod L ] 7: swap ( S [ i ] , S [ j ]) 8: end for KSA 7 1 2 3 4 5 6 0 8 9 10 11 12 ... 255 i j 6

  16. 1: for i = 0 to N − 1 do 2: S [ i ] ← i 3: end for 4: j ← 0 5: for i = 0 to N − 1 do 6: j ← j + S [ i ]+ K [ i mod L ] 7: swap ( S [ i ] , S [ j ]) 8: end for KSA 7 1 2 3 4 5 6 0 8 9 10 11 12 ... 255 i j 7

  17. 1: for i = 0 to N − 1 do 2: S [ i ] ← i 3: end for 4: j ← 0 5: for i = 0 to N − 1 do 6: j ← j + S [ i ]+ K [ i mod L ] 7: swap ( S [ i ] , S [ j ]) 8: end for KSA 7 12 2 3 4 5 6 0 8 9 10 11 1 ... 255 i j 8

  18. 1: i ← 0 2: j ← 0 3: loop 4: i ← i + 1 5: j ← j + S [ i ] 6: swap ( S [ i ] , S [ j ]) 7: output z i = S [ S [ i ]+ S [ j ]] 8: end loop PRGA 9

  19. 1: i ← 0 2: j ← 0 3: loop 4: i ← i + 1 5: j ← j + S [ i ] 6: swap ( S [ i ] , S [ j ]) 7: output z i = S [ S [ i ]+ S [ j ]] 8: end loop PRGA 18 3 211 7 81 245 121 5 66 78 189 34 133 ... 32 i j 9

  20. 1: i ← 0 2: j ← 0 3: loop 4: i ← i + 1 5: j ← j + S [ i ] 6: swap ( S [ i ] , S [ j ]) 7: output z i = S [ S [ i ]+ S [ j ]] 8: end loop PRGA 18 7 211 3 81 245 121 5 66 78 189 34 133 ... 32 i j 10

  21. 1: i ← 0 2: j ← 0 3: loop 4: i ← i + 1 5: j ← j + S [ i ] 6: swap ( S [ i ] , S [ j ]) 7: output z i = S [ S [ i ]+ S [ j ]] 8: end loop PRGA 18 7 211 3 81 245 121 5 66 78 189 34 133 ... 32 i j Keystream byte = S[7+3]=S[10]=189 11

  22. Reminder on RC4 Reminder on RC4 RC4 RC4/WEP Tornado attack on WEP Challenges 12

  23. Reminder on RC4 RC4 RC4/WEP RC4/WEP Tornado attack on WEP Challenges 12

  24. RC4 z1 z2 z3 ... k[0] k[1] k[2] k[3] ... k[15] 13

  25. RC4 WEP z1 z2 z3 ... k[0] k[1] k[2] k[3] ... k[15] 13

  26. RC4 WEP z1 z2 z3 ... k[3] ... k[15] k[0] k[1] k[2] 13

  27. RC4 WEP z1 z2 z3 ... k[3] ... k[15] k[0] k[1] k[2] the same for each WEP is vulnerable. packet encryption. 13

  28. Reminder on RC4 RC4 RC4/WEP RC4/WEP Tornado Attack on WEP Challenges 14

  29. Reminder on RC4 RC4 RC4/WEP Tornado Attack on WEP Tornado Attack on WEP Challenges 14

  30. RC4 Key Keystream 15

  31. RC4 Key Keystream ? 15

  32.  Conditional biases: pairs of ¯ f j , p j with a predicate ¯ g j Pr [ ¯ K [ i ] = ¯ f j ( z , clue ) | ¯ g j ( z , clue )] = p j RC4 Key Keystream ? 15

  33.  Conditional biases: pairs of ¯ f j , p j with a predicate ¯ g j Pr [ ¯ K [ i ] = ¯ f j ( z , clue ) | ¯ g j ( z , clue )] = p j RC4 Key Keystream ? ¯ row reference ¯ f g p P 1 2 − σ i S t [ i ] = 0, z 2 = 0 i A u15 fixed − j 15

  34.  Conditional biases: pairs of ¯ f j , p j with a predicate ¯ g j Pr [ ¯ K [ i ] = ¯ f j ( z , clue ) | ¯ g j ( z , clue )] = p j 22 Biases RC4 Key Keystream ? ¯ row reference ¯ f g p P 1 2 − σ i S t [ i ] = 0, z 2 = 0 i A u15 fixed − j 15

  35. Roos, A.: A class of weak keys in RC4 stream cipher. 1995 Wagner, D.: Weak keys in RC4. 1995 Borisov, N., Goldberg, I., Wagner, D.: Intercepting mobile communications: the insecurity of 802.11. 2001 Fluhrer, S., Mantin, I., Shamir, A.: Weaknesses in the key scheduling algorithm of RC4. 2001 Stubblefield, A., Ioannidis, J., Rubin, A.D.: Using the Fluhrer, Mantin, and Shamir Attack to Break WEP. 2002 Korek: Next generation of WEP attacks? 2004 Devine, C., Otreppe, T.: Aircrack-ng 2004 Martin, J.I.S.: Weplab 2004 Mantin, I.: A practical attack on the fixed RC4 in the WEP mode. 2005 Klein, A.: Attacks on the RC4 stream cipher. 2006 Tews, E., Weinmann, R., Pyshkin, A.: Breaking 104 Bit WEP in Less Than 60 Seconds. 2007 Vaudenay, S., Vuagnoux, M.: Passive–only Key Recovery Attacks on RC4 2007 Beck, M., Tews, E. Practical Attacks Against WEP and WPA. 2009 Sepehrdad, P., Susil, P., Vaudenay, S., Vuagnoux, M.: Smashing WEP in a Passive Attack 2013

  36. Roos, A.: A class of weak keys in RC4 stream cipher. 1995 Wagner, D.: Weak keys in RC4. 1995 Borisov, N., Goldberg, I., Wagner, D.: Intercepting mobile communications: the insecurity of 802.11. 2001 Fluhrer, S., Mantin, I., Shamir, A.: Weaknesses in the key scheduling algorithm of RC4. 2001 Stubblefield, A., Ioannidis, J., Rubin, A.D.: Using the Fluhrer, Mantin, and Shamir Attack to Break WEP. 2002 5500,000 100,000 Korek: Next generation of WEP attacks? 2004 Devine, C., Otreppe, T.: Aircrack-ng 2004 Martin, J.I.S.: Weplab 2004 Mantin, I.: A practical attack on the fixed RC4 in the WEP mode. 2005 60,000 Klein, A.: Attacks on the RC4 stream cipher. 2006 40,000 Tews, E., Weinmann, R., Pyshkin, A.: Breaking 104 Bit WEP in Less Than 60 Seconds. 2007 32,700 Vaudenay, S., Vuagnoux, M.: Passive–only Key Recovery Attacks on RC4 2007 30,000 Beck, M., Tews, E. Practical Attacks Against WEP and WPA. 2009 19,800 Sepehrdad, P., Susil, P., Vaudenay, S., Vuagnoux, M.: Smashing WEP in a Passive Attack 2013

  37. Attack on WEP 1: compute the ranking L 15 for I = (15) and I 0 = { 0 , 1 , 2 } 2: truncate L 15 to its first ρ 15 terms 3: for each ¯ k 15 in L 15 do run recursive attack on input ¯ k 15 4: 5: end for 6: stop: attack failed recursive attack with input (¯ k 15 , ¯ k 3 , . . . , ¯ k i − 1 ) : 7: If input is only ¯ k 15 , set i = 3. 8: if i ≤ i max then compute the ranking L i for I = ( i ) and I 0 = { 0 , . . . , i − 1 , 15 } 9: truncate L i to its first ρ i terms 10: for each ¯ k i in L i do 11: run recursive attack on input (¯ k 15 , ¯ k 3 , . . . , ¯ k i − 1 , ¯ k i ) 12: end for 13: 14: else for each ¯ k i max +1 , . . . , ¯ k 14 do 15: test key (¯ k 3 , . . . , ¯ k 14 , ¯ k 15 ) and stop if correct 16: end for 17: 18: end if 17

  38. Attack on WEP 1: compute the ranking L 15 for I = (15) and I 0 = { 0 , 1 , 2 } 2: truncate L 15 to its first ρ 15 terms 3: for each ¯ k 15 in L 15 do run recursive attack on input ¯ k 15 4: Y x : counter for x 5: end for 6: stop: attack failed R(x): rank of x recursive attack with input (¯ k 15 , ¯ k 3 , . . . , ¯ k i − 1 ) : 7: If input is only ¯ k 15 , set i = 3. 8: if i ≤ i max then compute the ranking L i for I = ( i ) and I 0 = { 0 , . . . , i − 1 , 15 } 9: truncate L i to its first ρ i terms 10: for each ¯ k i in L i do 11: run recursive attack on input (¯ k 15 , ¯ k 3 , . . . , ¯ k i − 1 , ¯ k i ) 12: end for 13: 14: else for each ¯ k i max +1 , . . . , ¯ k 14 do 15: test key (¯ k 3 , . . . , ¯ k 14 , ¯ k 15 ) and stop if correct 16: end for 17: 18: end if 17

  39. Attack on WEP 1: compute the ranking L 15 for I = (15) and I 0 = { 0 , 1 , 2 } 2: truncate L 15 to its first ρ 15 terms 3: for each ¯ k 15 in L 15 do run recursive attack on input ¯ k 15 4: Y x : counter for x 5: end for 6: stop: attack failed R(x): rank of x recursive attack with input (¯ k 15 , ¯ k 3 , . . . , ¯ k i − 1 ) : 7: If input is only ¯ k 15 , set i = 3. 8: if i ≤ i max then compute the ranking L i for I = ( i ) and I 0 = { 0 , . . . , i − 1 , 15 } 9: truncate L i to its first ρ i terms 10: for each ¯ k i in L i do 11: run recursive attack on input (¯ k 15 , ¯ k 3 , . . . , ¯ k i − 1 , ¯ k i ) 12: end for 13: 14: else for each ¯ k i max +1 , . . . , ¯ k 14 do 15: test key (¯ k 3 , . . . , ¯ k 14 , ¯ k 15 ) and stop if correct 16: end for 17: 18: end if The parameters are all optimized 17

  40. Reminder on RC4 RC4 RC4/WEP Tornado Attack on WEP Tornado Attack on WEP Challenges 18

  41. Reminder on RC4 RC4 RC4/WEP Tornado Attack on WEP Challenges Challenges 18

  42. In our EUROCRYPT’11 Paper: We made a heuristic assumption that V ( Y good ) ⇥ V ( Y bad ) . In practice: V ( Y good ) ⇤ = V ( Y bad ) We made a heuristic approximation that ( Y good � Y i ) ’s are independent for all bad i ’s. In practice: ( Y good � Y i ) ’s are not independent. Assume the rank R of the correct counter to be normally distributed. In practice: R is not normally distributed. Assume R is following Poisson distribution. In practice E ( R ) ⇤ = V ( R ) . 19

  43. 0.25 Polya distribution with p = 0.9839 and r = 0.356 Experimental R 3 distribution for 5000 packets 0.2 0.15 Probability 0.1 0.05 0 0 10 20 30 40 50 R 3 Realization 20

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend