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

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