ベルギーのセキュリティ研究者であるMathy Vanhoe氏(@vanhoefm)が1997年以降に販売された全Wi-Fiデバイスに内在する脆弱性「FragAttacks」を公開しました。
フレームアグリゲーションに関する脆弱性については、フレームアグリゲーションは小さなフレームを大きなフレームに結合することでネットワーク速度とスループットを向上するという機能です。この機能のため、各フレームには「結合されたものかどうか」を識別するためのヘッダが付与されていますが、Vanhoe氏によると「結合された」という状態を表すヘッダには保護が存在しないため、攻撃者側がこのヘッダ部分を改変することでトラフィックの傍受が可能になるとのこと。 Vanhoe氏は送信者側が認証されていない段階でもフレームの転送を許してしまうルーターの存在を確認していると述べ、こうしたルーターではユーザーの操作なしでも上記のアグリゲーション攻撃を実行できると指摘しています。 フレームフラグメンテーションに関係する脆弱性その1については、接続の信頼性を高めるために大きなフレームを小さい断片に分割する際に使用する暗号鍵に関するもの。この暗号鍵は、1つのフレームを分割する際には共通の暗号鍵が使われますが、Wi-Fi接続者側に「暗号鍵を確認する」というプロセスが存在しないため、デバイス側から渡された暗号鍵を無条件で使って断片を復元してしまいます。そのため、Vanhoe氏によると、元々の暗号鍵とは異なる暗号鍵を渡すことでデータを流出させることができます。しかし、この方法はあくまで「理論上起こりうる」という程度とのことです。 フレームフラグメンテーションに関係する脆弱性その2については、クライアントがネットワークから切断した際にWi-Fiデバイスのメモリ上に再構築されていないフラグメントが削除されないまま残されてしまうという設計に関するもの。この設計を利用して、アクセスポイントのメモリに悪意のあるフラグメントを置いておくことで、受信者側が送信した断片と置かれていた悪意のあるフラグメントを強制的に結合させてしまうことが可能とのこと。この脆弱性について、Vanhoe氏は「珍しいように思えるが、実際にデータを盗み出すことができる」と述べています。 こうしたフラグメンテーションに関係する脆弱性について、一般的な実装においてはさらに「受信者側に『断片が同じフレームに属していたかどうか』を調べるプロセスが存在しない」という欠陥も存在しているとVanhoe氏。この欠陥により、異なるフレームから抽出した断片を混合することで「フレームの偽造」まで可能になる上に、場合によっては暗号化済みの断片と平文の断片の混合までできてしまうとVanhoe氏は説明しています。 Vanhoe氏によると、これらの脆弱性を用いることで暗号化されたフレームを偽装可能で、Wi-Fiデバイスのユーザー名やパスワードの傍受やデバイス自体の乗っ取りも実現します。実際にVanhoe氏は、ニューヨーク大学の学生向けページのユーザー名とパスワードを盗み出したり、スマート家電を経由して保護されたWi-Fiネットワークに接続済みのWindows 7マシンを乗っ取ったりする方法を実演しています。.
フレームアグリゲーションに関する脆弱性については、フレームアグリゲーションは小さなフレームを大きなフレームに結合することでネットワーク速度とスループットを向上するという機能です。この機能のため、各フレームには「結合されたものかどうか」を識別するためのヘッダが付与されていますが、Vanhoe氏によると「結合された」という状態を表すヘッダには保護が存在しないため、攻撃者側がこのヘッダ部分を改変することでトラフィックの傍受が可能になるとのこと。 Vanhoe氏は送信者側が認証されていない段階でもフレームの転送を許してしまうルーターの存在を確認していると述べ、こうしたルーターではユーザーの操作なしでも上記のアグリゲーション攻撃を実行できると指摘しています。 フレームフラグメンテーションに関係する脆弱性その1については、接続の信頼性を高めるために大きなフレームを小さい断片に分割する際に使用する暗号鍵に関するもの。この暗号鍵は、1つのフレームを分割する際には共通の暗号鍵が使われますが、Wi-Fi接続者側に「暗号鍵を確認する」というプロセスが存在しないため、デバイス側から渡された暗号鍵を無条件で使って断片を復元してしまいます。そのため、Vanhoe氏によると、元々の暗号鍵とは異なる暗号鍵を渡すことでデータを流出させることができます。しかし、この方法はあくまで「理論上起こりうる」という程度とのことです。 フレームフラグメンテーションに関係する脆弱性その2については、クライアントがネットワークから切断した際にWi-Fiデバイスのメモリ上に再構築されていないフラグメントが削除されないまま残されてしまうという設計に関するもの。この設計を利用して、アクセスポイントのメモリに悪意のあるフラグメントを置いておくことで、受信者側が送信した断片と置かれていた悪意のあるフラグメントを強制的に結合させてしまうことが可能とのこと。この脆弱性について、Vanhoe氏は「珍しいように思えるが、実際にデータを盗み出すことができる」と述べています。 こうしたフラグメンテーションに関係する脆弱性について、一般的な実装においてはさらに「受信者側に『断片が同じフレームに属していたかどうか』を調べるプロセスが存在しない」という欠陥も存在しているとVanhoe氏。この欠陥により、異なるフレームから抽出した断片を混合することで「フレームの偽造」まで可能になる上に、場合によっては暗号化済みの断片と平文の断片の混合までできてしまうとVanhoe氏は説明しています。 Vanhoe氏によると、これらの脆弱性を用いることで暗号化されたフレームを偽装可能で、Wi-Fiデバイスのユーザー名やパスワードの傍受やデバイス自体の乗っ取りも実現します。実際にVanhoe氏は、ニューヨーク大学の学生向けページのユーザー名とパスワードを盗み出したり、スマート家電を経由して保護されたWi-Fiネットワークに接続済みのWindows 7マシンを乗っ取ったりする方法を実演しています。
