WLANの脆弱性であるフラグメンテーション/アグリゲーション攻撃(FragAttacks)を発見したこのWebページの作成者Mathy Vanhoefが詳しく説明します。これらの脆弱性のうち3つは802.11仕様の設計上の欠陥であり、おそらく802.11仕様が登場した当初から存在しています。アグリゲーションは802.11nで追加されたので、この脆弱性は10年以上前から設計に潜んでいたことになります。該当する脆弱性のうち9つは実装上の欠陥です。その名のとおり、これらの欠陥はフラグメンテーションとアグリゲーションの異常によって引き起こされます。実装上の欠陥の1つは、Defensics ® FuzzBox 802.11 テストスイートで発見されたものと同様です。
設計上の欠陥によって、最悪の場合、攻撃者がWLANフレームに余分なパケットを挿入するアグリゲーション攻撃が可能になります。これにより、被害者がインターネット側で騙されて攻撃者のマシンにアクセスさせられたり、被害者のアクセスポイントにEAPOLフレームの転送を許可する脆弱性が含まれていたりすることがあります。この攻撃は、ICMPv6ルーター広告を送信してDNS設定を変更します。
フラグメンテーション機能の設計上の欠陥により、フレームのフラグメントを不正に再構成することが可能になります。この2つの脆弱性では、クライアントがあまり一般的とはいえないフラグメンテーション機能を使用することが前提となるため、現時点では悪用の報告はありません。Wi-Fi 6ではフラグメンテーションが使用されます。
9つの実装上の欠陥のうちの4つは、暗号化されたネットワークにプレーンテキスト・フレームを送信する処理に関連しています。実装上の欠陥の1つは、シノプシスがDefensicsテストスイートを使用して発見したCVEと同様です。脆弱性が発見されたUSBドングルには、シノプシスがテストで使用したアクセスポイントで用いられたものと同じチップセットが搭載されていました。このことは、WLANの複雑さとデバイスの数の多さを浮き彫りにしています。シノプシスがこのようなプレーンテキストの脆弱性を発見したときは、アクセスポイント側に主眼が置かれていました。また、ほとんどのアクセスポイントでLinuxを実行しているため、Windows Wi-Fiドライバーやクライアント側での調査は行われませんでした。
プレーンテキスト攻撃の1つでは、暗号化されたネットワークでフラグメントがフルフレームとして解析され、ブロードキャストされました。別のプレーンテキスト攻撃は、プレーンテキスト・フレームのフラグメントが暗号化されたネットワークでフルフレームとして解析されるという点で最初のものとほぼ同じでした。3度目のプレーンテキスト攻撃では、EAPOLにEtherTypeが追加され、暗号化されたフレームとして処理されました。これらのプレーンテキスト攻撃は、簡単に挿入してエクスプロイトとして使用することができます。
残りの5つのFragAttacksには、異なる種類のフラグメントが混在しています。一部は暗号化され、一部はプレーンテキストで、フラグメント化されたフレームをフルフレームとして処理し、TKIP暗号スイート(WPA1)でMIC計算値をチェックせずにEAPOLフレームを転送します。すべてが深刻な脆弱性であり、ワイヤレスLAN機器のファームウェアとドライバのアップデートが必要です。
シノプシス FuzzBox 802.11テスト・スイートによって、暗号化されたネットワークにプレーンテキストを送信していたFragAttackを検出することができました。FragAttacksのような脆弱性は、システムの再起動やテスト中の機能停止を行わないため、ファジングによる検出がなかなか困難です。テスト対象のシステムは何事もなかったかのように動作します。FragAttacksを検出するには、QAチームが優れたインストルメンテーションを適用する必要があります。Defensicsテストスイートには、このような脆弱性を検出するために実装可能なSafeGuardと呼ばれる機能があります。Defensics FuzzBox 802.11テストスイートでは、SafeGuard機能を使用して既にFragAttacksの一部を発見しています。シノプシスは、影響の大きい未知の脆弱性の検出力を高めるために、常に最先端のWLANテストスイートを機能強化しています。