3分で読める最新脆弱性~Wi-Fi~(FragAttacks)

#はじめに
Wi-Fiに存在する脆弱性**FragAttacks**について解説する記事です。
更なる情報は記事内のリンクをご参照ください。

#目次
1．概要
2．原理
3．攻撃例
4．対策

#概要
FragAttacksはWi-Fi標準「IEEE 802.11」の設計上の欠陥に起因する全12件の脆弱性群のことです。
5月12日にニューヨーク大学アブダビ校のMathy Vanhoef氏によって公開されました。
この攻撃によって、通信の傍受やホームネットワーク内のデバイスが攻撃される可能性があります。

本記事では主たる3つの設計上の欠陥について説明します。


公開日：2021/5/12
影響範囲：WPA2/3の全てのWi-Fiを利用する製品

脆弱性情報
　　CVE：[CVE-2020-24586](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-24586)(Aggregation Attack) 
　　　　　[CVE-2020-24587](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-24587)(mixed key attack)
　　　　　[CVE-2020-24588](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-24588)(fragment cache attack)
　　研究者のadvisory：[FragAttacks: Security in all Wi-Fi devices](https://www.fragattacks.com/)
　　研究論文：[Fragment and Forge: Breaking Wi-Fi Through
Frame Aggregation and Fragmentation](https://papers.mathyvanhoef.com/usenix2021.pdf)

#原理
###Aggregation Attack
Wi-Fiには「フレームアグリゲーション」と呼ばれる機能があります。
(「aggregation」は集約・集合という意味)
![fragattacks_aa.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/686089/a76d4a3f-82b2-951c-46f9-43fd895dc28a.png)
(画像は[CyberSecurity.com](https://cybersecurity-jp.com/column/52753)より)


<details><summary><font color="red">フレームアグリゲーションの簡単な説明</font></summary><div>
この機能は、通信において細かいフレームを送るときに、複数のフレームを一つの大きなフレームに集約する機能です。
メリットとして、送信待ち時間やACK待ち時間を減らすことでネットワークの速度とスループットを向上させることができます。
－－－－－－－－－－－－－－－－－－－－－－－－－－－－
</div></details>

この機能を実現するためにIEEE 802.11のプロトコルでは、転送するデータのヘッダーに、そのデータが単一のデータか集約されたデータかを判断するフラグが含まれています。しかし、このフラグは認証が行われず、攻撃者によって任意の変更が可能です。
フラグが変更された場合、単一データか集約データかでフレームの解釈が変わってきます。下の画像では上が単一データの場合、下が集約データの場合のフレームの解釈を示しています。

ここで、一番の問題として、単一データとして送信されたフレームの集約フラグがONになった場合パケットの長さを示す位置が後ろにズレてしまう点が挙げられます。そして、その部分は攻撃者が変更可能であり、長さを延ばすことで、任意のパケットを挿入することが可能になってしまいます。

![010_FragAttacks_01_07.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/686089/16c0b74b-6fa3-d593-30fe-7d3cc104c523.jpeg)

下のデモでは、この脆弱性を利用して偽のDNSサーバーへアクセスするEAPOL(EAP over LAN)フレームを送り付けています。

<iframe width="560" height="315" src="https://www.youtube.com/embed/88YZ4061tYw" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

詳細な解説→INTERNET Watch『[全Wi-Fi機器に影響する脆弱性「FragAttack」の仕組みとは？](https://internet.watch.impress.co.jp/docs/column/nettech/1325925.html)』


###mixed key attack
上のframe aggregation機能とは逆に大きすぎるフレームを細かいフレームに分割して送信するframe fragmentation機能もWi-Fiに存在します。

![fragattacks_mka.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/686089/3d643579-c566-d17a-27de-46b800f7d8fc.png)
(画像は[CyberSecurity.com](https://cybersecurity-jp.com/column/52753)より)

このプロセスにおける欠陥は復号＆フラグメントの再構成時に生じます。
一般的なframe fragmentationのプロセスとして送信側が分割したいくつかのパケットを一つのキーで暗号化して送信、受信側は復号してフラグメントを再構成という流れになっています。
しかし、この仕組みの欠陥として、再構成する為のフラグメント群は同じキーで暗号化されている必要がありません。すなわち、フラグメントの再構成時に攻撃者が任意のフレームを混在させることが可能になっています。

###fragment cache attack
こちらもframe fragmentation機能上の欠陥です。

![fragattacks_fca.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/686089/8b582ceb-0f93-8cfe-5ef1-9ef742fe3e13.png)

(画像は[CyberSecurity.com](https://cybersecurity-jp.com/column/52753)より)

AP(アクセスポイント)にフレームを送信した際に、フラグメントの再構成中に通信が切断されると、APにフラグメントのキャッシュが残ってしまうという欠陥があります。
これによって、事前に不正なフレームでキャッシュを汚染しておくことで、後に通信した正当なclientの通信に不正なフレームを紛れ込ませることが可能になっています。
これは「eduroam」や「Hotspot 2.0」などのホットスポットに用いられた脆弱なアクセスポイントで使用される可能性があります。




#攻撃例
未確認

#対策
解決策
　　各デバイスのアップデートを迅速に適用すること
回避策
　　webページを閲覧する際にHTTPS暗号化の鍵アイコンをしっかり確認すること


#あとがき
今回は設計上の欠陥を解説しましたが、悪用される危険性は少ないです。(不正なパケットは上位プロトコルではねのけられたりするなど対策は簡単)
それよりも設計上の欠陥に気づかない故の、実装上の欠陥の方が危険度は高いです。
実装上の欠陥については各セキュリティベンダなどのアドバイザリを参照してみてください。




間違い・情報のupdateがあれば、コメントしてくれるとありがたいです。
<br><br>
またしても3分では読めなそう…
でっかいニュースだと情報源が多くてうれしい:blush: