WhatsAppで発見されたクリックジャッキング脆弱性によるフィッシング攻撃の可能性
(00xbyte.github.io)発見の経緯
- WhatsAppでリンクプレビュー機能を通じてHTTPリクエストを実行する方法を調査した。
- リンクとプレビューが別々に送信されることを確認し、これを利用して実際のリンクとは異なるプレビューを持つメッセージの生成に成功した。
問題点 #1 - リンクプレビューの不一致
- WhatsAppメッセージに含まれるリンクとプレビューデータを分析し、不一致を作り出す方法を模索した。
- メッセージを傍受して改変し、プレビューと実際のリンクが異なるメッセージの送信に成功した。
問題点 #2 - リンク偽装(2K2E)
- Unicode文字を使ってテキスト表現を変更する方法を実験した。
- U+202E(Right-To-Left Override)文字を使用してリンクを逆順に表示し、これによって偽のURLを本物のURLのように見せる方法を開発した。
最終結果
- Instagramに見えるURLを作成したが、実際には攻撃者のブログへ接続されるリンクを生成した。
- これにより、ユーザーが正規のリンクだと勘違いしてクリックしてしまう脆弱性を発見した。
攻撃シナリオ
- 攻撃者が偽ドメインを購入し、正規ドメインのプレビューを使うメッセージを生成する。
matchedText属性を削除し、text属性をU+202E文字と偽URLに変更してメッセージを改変する。- このように改変されたメッセージを被害者に送信する。
Metaの反応
- Metaはさまざまなプラットフォームと環境をサポートしているため、URL正規化ロジックを動的に調整できるシステムを持っている。
- しかしMetaはこのセキュリティ問題を解決する意思がなく、スパムとして検知された場合にのみ対応するように見える。
緩和策
- Metaにこの問題を解決する意思がないため、WhatsApp上のリンクは信頼できない。
- リンクをクリックする前にコピーし、クリップボードのプレビューでU+202E文字が浄化されたリンク先アドレスを確認する必要がある。
アップデート
- WhatsApp以外にも、適切な浄化が行われておらず、2K2Eに脆弱な他のサービスがある。
GN⁺の見解:
- この記事で最も重要なのは、WhatsAppで発見されたクリックジャッキング脆弱性であり、ユーザーに実際のリンクとは異なる偽リンクをクリックさせる攻撃手法が詳しく説明されている点である。
- この記事が興味深い理由は、一般に信頼されているメッセージングプラットフォームで予想外のセキュリティ脆弱性が見つかったことであり、リンクをクリックする前に常に注意を払うべき理由をユーザーに思い出させるためである。
- また、Metaの反応はこの問題を積極的に解決する意思がないことを示しており、ユーザー自身がセキュリティにさらに注意を払う必要性を強調している。
1件のコメント
Hacker Newsの意見