140 likes | 231 Views
A Proposed Scaled-down Solution to A-MPDU DoS Related Comments in LB 129. Authors:. Date: 2008-07-13. Overview.
E N D
A Proposed Scaled-down Solution to A-MPDU DoS Related Comments in LB 129 Authors: Date: 2008-07-13 Luke Qian etc, Cisco
Overview A number of new types of Deny of Service (DoS) associated with the 802.11n A-MPDU BA operations have been identified, commented and acknowledged since LB 115 for 802.11n. Resolutions for the relating comments in the recent LB 124 called for solutions less complicated and lower implementation cost than those in 802.11-08/0665r0, the jointly developed solutions. Following the thinking outlined in 802.11-08/0755r1, we present here a scaled-down version of 08/0665r0 which focuses on the DoS types with the most significant damages. Also see LB129 CID 8075, 8076. Luke Qian etc, Cisco
Block Ack Security problems • The following security problems exist: (802.11-08/0665r0) • The SN values of data packets are not protected – yet, SN values of data packets can be used to adjust the RX Buffer LE value. A single forged SN value can cause the recipient to move the LE value too far forward, thereby causing the recipient to discard frames below the new LE that should not have been discarded. Data is lost at the recipient. • A single forged SN value in a data packet can also cause the recipient to place the received frames in an incorrect order, which can cause problems both when the security layer examines the sequence of PN values in the MAC SN-ordered frames and when the frames are passed to the next layer for processing. • A single forged SN value in a data packet can cause RX scorecard information to be updated, and a subsequent transmission of a BA frame in response to a legitimate AMPDU can include this bogus scorecard information. • A captured and replayed packet cannot be detected except by replay detection in the security layer. If the RX buffer reordering is performed before this check, then the SN in that replayed packet can cause incorrect RX Buffer LE movement. • The BAR frame is not protected – yet the BAR frame SSN value is used to adjust the RX Buffer LE value. A single forged SN value can cause the recipient to move the LE value too far forward, thereby causing the recipient to discard frames below the new LE that should not have been discarded. Data is lost at the recipient. • The BA frame is not protected – yet the BA frame SSN value is used to adjust the originator’s TX scorecard LE value. Forged BA frames can cause false adjustments to the LE value that result in some data packets not being transmitted to the recipient, since they now have SN values below the new LE value. Data is lost. • Forged BA frames can suppress retransmission of frames that were not successfully received (even without moving LE at TX) Luke Qian etc, Cisco
Prioritizing the A-MPDU DoS Attacks Sort the A-MPDU DoS Types on their ease of launching: (base prioritization from 802.11-08/0755r1) 4) False Block ACK Request (BAR) with advanced SN. easy to launch, can be addressed, e.g., by protecting the BAR by wrapping it in an encrypted management frame, an 11w mechanism. 1) Forged packets with advanced Sequence Numbers (SN) easy to launch, can be addressed, e.g., by reversing the order of BA reordering and decryption. 3) Captured and Replayed packets with advanced SN without modification. more difficult, less likely to be successful, can be addressed by, e.g., a replay check before BA reordering, 5) False BA to prevent retransmission. less likely be successful, not unique since regular ACK can cause similar DoS., but can be addressed by replay check before BA reordering 2) Captured and Replayed packets with modified SN. more difficult, can be addressed by encrypting the SN, ( drop this one ?) The following proposed solution will focus on the most significant and easy-to-launch ones: 4), 1) and 3) . Luke Qian etc, Cisco
A Scaled-down Solution • A scaled-down solution addressing the most significant few of the problems is: • Include capability for A-MPDU protection for backward compatibility • Use a new protected form of the BAR frame to convey BAR information, and allow this protected BAR frame to cause RX Buffer LE movement while forbidding unprotected BAR frames from making RX Buffer LE changes • Allow alternative architectural ordering of Block Ack Reordering AFTER MPDU decryption, just before the Block Ack Reordering but preserve existing ordering option as well for legacy implementation • Include Block ACK Replay detection during Block Ack Reordering function Luke Qian etc, Cisco
Secure Block Ack Rules Part 1 • 1 – unencrypted BAR is not used to shift recipient RX BUFFER LE • Encrypted BAR can shift recipient RX BUFFER LE • STA with hybrid support for secure PN but no support for encrypted BAR can still use unencrypted BAR to shift recipient LE • 2 – unsolicited unencrypted BA is not used to shift originator LE • SIFS-response unencrypted BA may be used to shift originator LE • Encrypted BA may be used to shift originator LE at any time • 3 - recipient sends BA using partial state • BA of SSN is based on immediately preceding MPDU(s) • SIFS separation requires JAM for attacker to succeed • BA SSN mismatch to AMPDU SNs can be used to detect weak attack Luke Qian etc, Cisco
Secure Block Ack Rules Part 2 • 4a - Recipients that are incapable of verifying SN values before crafting a BA (i.e. within SIFS) • employ “ephemeral” state operation • I.e. WINSTART_R and scorecard information is deleted after BA transmission • Incorrect RX scoreboard information that is due to rogue MPDU SN values will not survive • This is less stateful than partial state operation • Shall not send an encrypted BA after SIFS • Because encrypted information is based on potentially rogue SN info • WINSTART_R moves do not matter • E.g. those generated by rogue BAR or rogue MPDU SN • WINSTART_B moves are based on protected SN values • Implies reversal of reordering and decryption steps Luke Qian etc, Cisco
Secure Block Ack Rules Part 3 • 4b - Recipients that are capable of verifying SN values before crafting a BA • WINSTART_R moves are based SN values • WINSTART_B moves are based SN values • 5 – Only the new protected MGMT frame can be used to perform BAR-style RX BUFFER pointer moves • 6 – use only AMPDU, even if wishing to send a single MPDU • i.e. do not use non-AMPDU for single frame transmission, since it will elicit ACK which can be jammed Luke Qian etc, Cisco
Capability Negotiation: RSN Element changes Pre-Auth No Pairwise PTKSA Replay Counter GTKSA Replay Counter Reserved PeerKey Enabled Reserved PBAC Resv B0 B1 B2 B3 B4 B5 B6 B8 B9 B10 B11 B12 B13 B15 Modified RSN Capabilities subfield of the RSN Element • PBAC – Protected BAR/BA Capable • Indicates capability to perform modified replay rules and decryption ordering • Indicates capability to perform encryption/decryption of BAR/BA Mgmt Action frames • If both STA advertise PBAC=1, then PBAC SHALL be used • If at least one STA of a pair advertises PBAC=0, then PBA SHALL NOT be used • STA that supports PBAC must also indicate TGw (e.g. dot11RSNAProtectedManagementFramesEnabled) • SIFS-BA is allowed Luke Qian etc, Cisco
Encrypted BAR frame • New Action frame • Category = Block Ack • Action = BAR • Body = BAR Control, BAR Information (see TGn draft) • Multi-TID version allowed • Uncompressed? • Encrypted according to TGw Luke Qian etc, Cisco
Encrypted BA frame • New Action frame • Category = Block Ack • Action = BA • Body = BAR Control, BAR Information (see TGn draft) • Multi-TID version allowed • Uncompressed? • Optionally includes recipient RX Buffer LE value • To allow originator to synch its TX Buffer with RX Buffer • Encrypted according to TGw Luke Qian etc, Cisco
Specification change for order of operations • Allow alternative ordering of Block Ack Reordering AFTER A new Block AckReplay Detection function that includes a preceding MPDU decryption step, but preserve existing ordering option as well for legacy implementations. Add a BlockAck Replay Detection function here Move MPDU Decryption and Integrity Function to here Luke Qian etc, Cisco
Add Replay Detection within Block Ack Reordering block • Add new parameter WinPN_B at recipient, per TID, WinPN_B and WinStart_B operations are as follows: • Initialize WinPN_B = SSN from ADDBA • WinPN_B = next higher value of PN that has SN portion that matches ADDBA-SSN from current WinPN_B value • If RX DATA packet fails decryption • Discard • If RX PN < WinPN_B • Discard • If RX PN = WinPN_B + 1 • WinPN_B = highest PN in RX Buffer in sequence starting with WinPN_B+1 • Note that “false holes” may exist in the sequence when the protected MORE FRAGS bit appears in MPDUs which have a FRAG bit value of less than 0xF • “Next in sequence” determination skips these holes • Move WinStart_B to equal the SN portion of adjusted WinPN_B • Accept the packet • If RX PN > WinPN_B + WinSize_B * 16 • WinPN_B = WinStart_B = PN – WinSize_B * 16 + 1 • Accept the packet • If WinPN_B + 1 < RX PN <= WinPN_B + WinSize_B * 16 • No change to WinStart_B or WinPN_B • Accept the packet if there is not currently a packet with this PN stored in the RX BUFFER • Declare a replay if the packet if there already is a packet with this PN stored in the RX BUFFER and discard the packet • If secure BAR passes decryption • WinStart_B = WinPN_B = SSN from secure BAR • Note that WinSize_B is expressed in terms of MSDUs, but PN values track fragments, hence the factor of 16 Luke Qian etc, Cisco