新たな技術的分析により、Apple AirDrop、AndroidのSamsung Quick Share、Windows向けGoogle Quick Shareにまたがる計6件の近接転送の脆弱性が明らかになりました。この調査からは、デバイス共有スタックに認証前の脆弱な攻撃面が依然として存在し、無線通信の範囲内から悪用できることが示されています。
今回の調査で判明した内容には、AirDropのアクセスクラッシュ3件、Quick Shareプロトコルバイパス2件、そしてサービス妨害を超えて悪用される可能性のあるWindowsのuse-after-free 1件が含まれています。
この研究が特に注目される理由は、AirDropの問題が通常の信頼確立プロセスが完了する前に悪用できる点にあります。
具体的には、未認証の攻撃者がAirDropリスナーに予期しないHTTPパスを送信することで共有デーモンに致命的なクラッシュを引き起こせるケース、深くネストされたXMLプロパティリストがFoundationのパーサーのスタック領域を使い果たすケース、そして不正なHTTPフレームシーケンスによってNetwork.frameworkのNULLポインター参照解除を強制できるケースが確認されています。
これらの脆弱性が組み合わさることで、近くにいる単独の攻撃者がAirDropや、AirPlay、Handoff、ユニバーサルクリップボード、Continuity Cameraといった周辺の継続性サービスを繰り返し機能停止に追い込める可能性があります。
Quick Share側については、本報告書で異なる種類の設計上の弱点が指摘されています。プロトコルロジックの適用が遅すぎるという点です。
SamsungのAndroid実装では、UKEY2認証ハンドシェイクが完了する前に一部のアプリケーションフレームが処理されることが判明しており、攻撃者は信頼関係を確立せずにハンドラーを動作させることができます。
さらに同調査では、認証後においても一部のフレームタイプが本来必須であるべき暗号化エンベロープを回避できることが判明しており、暗号化トラフィックが求められる箇所で生のprotobufメッセージが受け入れられてしまうことも確認されました。
Arxivの報告によると、最も深刻なWindowsの問題はGoogle Quick Shareのエンドポイント管理における競合状態(レースコンディション)です。同一の識別子を持つ2つのセッションが衝突した場合、解放済みのエンドポイントオブジェクトがコールバック処理中に参照解除される可能性があり、古典的なuse-after-free脆弱性を引き起こします。
研究チームはバイナリ解析によってAirDropの7層ステートマシンとDVZip適応圧縮を分析し、圧縮前の表現を変異させるプロトコル対応ファザー「AIRFUZZ」を構築しました。
さらにSamsungのQuick Shareサービスに対する手動による標的型解析を
組み合わせています。

研究者らは、これだけで信頼性の高いクラッシュを実証するには十分であり、このバグクラスはヒープレイアウトや緩和策の状態によっては実際に悪用可能な可能性があると指摘しています。
これらの脆弱性が重要視される理由は、常に待ち受け状態にあり、常にデバイスの近くに存在し、低リスクな便利機能と見なされがちなソフトウェアに潜んでいる点にあります。
攻撃の有効範囲は無線通信圏内に限られますが、それでも多数のデバイスが同時に圏内に入り得る空港、オフィス、キャンパス、交通拠点などでは十分な脅威となります。
また本研究は、より広範な教訓も示しています。認証、暗号化、入力検証がディスパッチャーレベルで徹底されない場合、個々のハンドラーが攻撃面になり得るということです。
論文によれば、これらの問題はApple、Samsung、Googleへ責任ある開示(responsible disclosure)が行われており、一部の調査結果については既に謝辞が得られ、それ以外については修正対応が進んでいるとのことです。
また、プロトコル調査やファジングの成果物も公開されており、防御者やリバースエンジニアが類似の近接共有スタックをより体系的に研究するうえで役立つと期待されています。
本研究は、AirDropのAWDLトランスポートと近接セキュリティに関する従来の研究を基礎としつつ、HTTPルーティング、plist解析、アーカイブ処理が新たな脆弱ポイントをもたらすアプリケーション層まで解析を拡張しています。
Quick Shareについては、Nearby ConnectionsおよびGoogleのWindows実装に関する従来の報告を補完しつつ、OEMによるカスタマイズが攻撃面を拡大し得ることを示すSamsung固有の脆弱性を新たに加えています。
実践的な教訓は明快です。近接共有機能には、インターネットに公開されたサービスと同水準のセキュリティ強化が求められます。特にパーサーの深さ制限、ステートマシンの状態遷移、クラッシュセーフなエラーハンドリングの面で、同等の厳格さが必要です。
翻訳元: https://gbhackers.com/airdrop-and-quick-share-vulnerabilities/