group keys
play

Group Keys Mathy Vanhoef - imec-DistriNet, KU Leuven @vanhoefm - PowerPoint PPT Presentation

Predicting and Abusing WPA2/802.11 Group Keys Mathy Vanhoef - imec-DistriNet, KU Leuven @vanhoefm Observation General Wi-Fi crypto is widely studied Predictable pre-shared Recover pre-shared key & dictionary attack key(s) protecting


  1. Predicting and Abusing WPA2/802.11 Group Keys Mathy Vanhoef - imec-DistriNet, KU Leuven @vanhoefm

  2. Observation General Wi-Fi crypto is widely studied Predictable pre-shared Recover pre-shared key & dictionary attack key(s) protecting all against handshake WEP traffic Rogue AP against Tornado Attack: enterprise networks Recover WPA-TKIP to steal credentials session keys (theoretic)  Mainly targets pre-shared and session keys 2

  3. What about group keys? Group keys protect broadcast and multicast frames:  All clients posses a copy of the group key Security of group keys not yet properly studied!  In contrast with pre- shared & session (=pairwise) keys … We analyze security of group key during its full lifetime! 3

  4. Background: group key lifetime 4

  5. Background: group key lifetime Three important stages: Group Key 1. Generation (flawed RNG) 5

  6. Background: group key lifetime Three important stages: Group Key Session Key 1 1. Generation (flawed RNG) 2. Session key agreement and group key transport (force usage of RC4) Encrypted group key sent to client Group Key Session Key 6

  7. Background: group key lifetime Three important stages: Group Key Session Key 1 1. Generation (flawed RNG) 2. Session key agreement and group key transport (force usage of RC4) 3. Usage (abuse to decrypt all traffic) Addressing some of these issues: Group Key  New RNG for Wi-Fi platforms? Session Key 7

  8. Background: sending group frames Client A Group Key Session Key Group Key Session Key A Session Key B Group Key Session Key Client B 8

  9. Background: sending group frames 1. Client uses pairwise key to send group frame to AP Client A Recv: AP Session Key FF: ⋯ :FF Dest: Src: Client A Session Key A Client B 9

  10. Background: sending group frames 1. Client uses pairwise key to send group frame to AP 2. AP broadcasts group frame using group key Client A  Only AP sends real group frames Group Key FF: ⋯ :FF Recv: FF: ⋯ :FF Dest: Group Key Src: Client A Group Key Client B 10

  11. Agenda: security of group keys Flawed generation Inject & decrypt all traffic Force RC4 in handshake New Wi-Fi tailored RNG 11

  12. Agenda: security of group keys Flawed generation Inject & decrypt all traffic Force RC4 in handshake New Wi-Fi tailored RNG 12

  13. How are group keys generated? Based on a key hierarchy: Sampled only at boot!  AP randomly generates public Public Private counter and secret master key counter master key  Derives group temporal key (GTK) +1 from these values every hour SHA-1 Entropy only introduced at boot  Bad design: if master key is leaked, all group keys become known! Group Temporal Key (GTK) 13

  14. How are random numbers generated? 802.11 standard has example Random Number Generator  §11.1.6a: the RNG outputs cryptographic-quality randomness “ Each STA can generate cryptographic-quality random numbers . This assumption is fundamental, as cryptographic methods require a source of randomness. See M.5 for suggested hardware and software methods to achieve randomness suitable for this purpose . ” 14

  15. How are random numbers generated? 802.11 standard has example Random Number Generator  §11.1.6a: the RNG outputs cryptographic-quality randomness  Annex M.5: proposed RNG is expository only “ This clause suggests two sample techniques that can be combined with the other recommendations of IETF RFC 4086 to harvest randomness. [..] These solutions are expository only , to demonstrate that it is feasible to harvest randomness on any IEEE 802.11 platform. [..] they do not preclude the use of other sources of randomness when available [..] ; in this case, the more the merrier. As many sources of randomness as possible should be gathered into a buffer, and then hashed, to obtain a seed for the PRNG. ” 15

  16. How are random numbers generated? 802.11 standard has example Random Number Generator  §11.1.6a: the RNG outputs cryptographic-quality randomness  Annex M.5: proposed RNG is expository only Inconsistent description of RNG’s security guarantees!  How secure is the 802.11 RNG?  How many platforms implement this RNG? 16

  17. 802.11 RNG: main design The 802.11 RNG is a stateless function returning 32 bytes  Vague description, even if only expository solution 17

  18. 802.11 RNG: main design The 802.11 RNG is a stateless function returning 32 bytes  Vague description, even if only expository solution  Collects entropy on demand Deviates from traditional RNG design:  No entropy pools being maintained  Entropy is only collected when the RNG is being invoked 18

  19. 802.11 RNG: main design The 802.11 RNG is a stateless function returning 32 bytes  Vague description, even if only expository solution  Collects entropy on demand  Based on frame arrival timestamps and clock jitter 19

  20. 802.11 RNG: entropy sources Frame arrival times:  Collected by starting & aborting handshakes  Problem: AP will be blacklisted by clients Clock jitter and drift:  No minimum time resolution  small clock jitter  Hence contains only low amount of randomness ¯\_( ツ )_/¯ 20

  21. Surely no one implemented this…? Weakened 802.11 RNG Depends on OS Estimated ~22% of Wi-Fi networks Open Firmware Custom RNG Hostapd: /dev/random 21

  22. Surely no one implemented this…? Weakened 802.11 RNG Depends on OS Estimated ~22% of Wi-Fi networks Open Firmware Custom RNG Hostapd: /dev/random 22

  23. MediaTek RNG: overview Uses custom Linux drivers:  Implements 802.11’s group key hierarchy  But GNONCE “counter” is randomly refreshed on GTK rekey  Based on the 802.11 RNG using only clock jitter  Uses jiffies for current time: equals uptime of the AP  Predict both GMK and GNONCE to determine group key! At boot Group master key (GMK) Group Temporal SHA-1 Key (GTK) RNG Counter (GNONCE) 23

  24. MediaTek RNG: key search  Jiffies have at best millisecond accuracy  GMK: generated at boot  limited set of possible values  GNONCE: depends on uptime of router (and clock skew)  Uptime is leaked in beacons  Capture encrypted broadcast packet and search for key  RT-AC51U OpenCL ~3 mins GMK & GTK 24

  25. MediaTek: predicting the GTK DEMO 25

  26. Surely no one implemented this…? Weakened 802.11 RNG Depends on OS Estimated ~22% of Wi-Fi networks Open Firmware Custom RNG Hostapd: /dev/random 26

  27. Broadcom: Linux When running on a Linux kernel:  Implements 802.11’s group key hierarchy  Randomness from /dev/urandom “Mining your Ps and Qs” by Heninger et al.:  /dev/urandom might be predictable at boot  All group keys might be predictable on old kernels 27

  28. Broadcom: VxWorks and eCos Proprietary Open Source 28

  29. Broadcom: VxWorks and eCos  Implements 802.11’s group key hierarchy  Random numbers: MD5(time in microseconds) Group master key (GMK) Group Temporal RNG SHA-1 Key (GTK) Counter (GNONCE) 29

  30. Broadcom: VxWorks and eCos  Implements 802.11’s group key hierarchy  Random numbers: MD5(time in microseconds)  GNONCE counter is leaked during handshake  Attacker only has to predict master group key (GMK) At boot Group master key (GMK) Group Temporal RNG SHA-1 Key (GTK) Counter (GNONCE) 30

  31. Broadcom: VxWorks and eCos  Implements 802.11’s group key hierarchy  Random numbers: MD5(time in microseconds)  GNONCE counter is leaked during handshake  Attacker only has to predict master group key (GMK) OpenCL ~4 mins GMK & GTK WRT54Gv5 31

  32. Surely no one implemented this…? Weakened 802.11 RNG Depends on OS Estimated ~22% of Wi-Fi networks Open Firmware Custom RNG Hostapd: /dev/random 32

  33. Open Firmware Open Firmware:  An open source BIOS  Supports client Wi-Fi functionality in BIOS (!)  Randomness from boot time & linear congruential generator Hostapd:  Based on 802.11 group key hierarchy  Also injects new entropy on group rekeys!  Reads from /dev/random on boot & when clients join  If not enough entropy available, connections are rejected 33

  34. Agenda: security of group keys Flawed generation Inject & decrypt all traffic Force RC4 in handshake New Wi-Fi tailored RNG 34

  35. Injecting unicast packets?  Put unicast IP packet in a broadcast frame? Flags Receiver FF: ⋯ :FF Source IP Destination IP Data to client 802.11 specific  Detected by “Hole 196” check Hole 196 check done at network- layer … … but an AP works at link -layer! 35

  36. Forging unicast frames using group key Abuse AP to bypass Hole 196 check: Victim Attacker AP Sender Destination Data 36

  37. Forging unicast frames using group key Abuse AP to bypass Hole 196 check: 1. Inject as group frame to AP Victim Attacker AP Flags Receiver Final dest. FF: ⋯ :FF Victim Sender Destination Data To AP 802.11 specific Encrypted using group key 37

  38. Forging unicast frames using group key Abuse AP to bypass Hole 196 check: 1. Inject as group frame to AP 2. AP processes and routes frame Victim Attacker AP Flags Receiver Final dest. FF: ⋯ :FF Victim Sender Destination Data To AP 802.11 specific Decrypted using group key 38

Recommend


More recommend