オープンリダイレクト攻撃とは?
Todd Stansfield
—3月 12 2024
—1 分で読める
なりすましは、ハッカーにとって最も一般的で信頼できる手口の1つです。そのため、被害者は自然と警戒を解き、悪意の微妙なサインやそうでないサインを見過ごしてしまいます。しかし、ハッカーがどのように合法的な存在(人であれ企業であれ)になりすますかは、実にさまざまだ。その中には、オープンリダイレクトを悪用する手口もある。Vadeでは、合法的なブランドやサービスを悪用したフィッシング詐欺で、この手法がよく使われているのを目にし続けています。
このブログポストでは、オープン・リダイレクト攻撃とは何か、どのように機能するのか、なぜハッカーはこの攻撃を使うのか、そしてどのように防御することができるのかについて説明します。
オープンリダイレクトとは?
リダイレクトはインターネットに必要なもので、ブラウザに自動的に別のウェブサイトを閲覧したり、別のURLにアクセスするように指示するために使用されます。リダイレクトは非常に一般的で、安全でないHTTPバージョンからより安全なHTTPSへのリダイレクトなどに使用されます。セキュアに行われる場合、これらのリダイレクトはWebアプリケーションの内部から行われ、サイトの所有者によって制御または保護されます。
オープン・リダイレクトとは、リダイレクトされるURLがアプリケーションの外部から設定できたり、ユーザーが管理する情報に影響される可能性がある場合です。表面的には、これは本質的に悪いことではありませんが(3xxリダイレクトは技術的にはオープン・リダイレクトの範疇)、簡単に悪用される可能性があります。攻撃者が適切な検証やサニタイズなしに外部URLにリダイレクトするときに問題が生じます。その名が示すように、ハッカーがこの脆弱性を悪用し、ユーザーを異なる、潜在的に有害なWebサイトにリダイレクトさせることで、オープンリダイレクト攻撃が発生します。
オープンリダイレクトはどのように機能するのか?
オープン・リダイレクトの典型的なプロセスには、以下のステップが含まれます:
- ユーザー入力:Webアプリケーションは、リダイレクトリクエストのパラメータとして、ユーザーが提供した入力(通常はURLの形式)を受け入れます。
- 検証の欠如: アプリケーションは、ユーザーから提供された入力を適切に検証またはサニタイズすることを怠ります。言い換えると、提供されたURLが有効で安全な宛先であるかどうかをチェックしない。
- リダイレクト:アプリケーションはユーザー入力によって指定されたURLにリダイレクトする。
- 悪用:バリデーションがないことを悪用して、攻撃者は有害なウェブサイトを指す悪意のある URL を作成する。悪意のある意図を隠すために、URLエンコーディングのようなテクニックが使われるかもしれません。
- ユーザーとの対話:ユーザーが細工されたURLをクリックすると、悪意のあるWebサイトにリダイレクトされます。このリダイレクトは、フィッシング、セッションの窃取、悪意のあるコンテンツの配信など、さまざまな攻撃につながる可能性があります。
下の例は、中国の検索エンジンBaiduの正規Webページです。このWebページのURLは、リンクのリダイレクトを含むフィッシングメールから発信されています。リンクをクリックしたユーザーは、このページに一瞬移動した後、目的のフィッシング・ページにリダイレクトされます。オープンリダイレクトを使用することで、ハッカーは悪意のあるリンクを正規のリンクの背後に隠すことができます。彼らはまた、脅威をフィルタリングするためにドメインの評判と年齢を考慮するセキュリティ対策を回避することができます。
Baiduのようなブランドを悪用することで、ハッカーは安全で広く利用されている合法的なサービスの信頼シグナルを悪用することができる。また、ターゲットとなるユーザーの受信トレイにフィッシングメールが届く可能性を高めることもできる。
Vadeが検出したBaiduのオープンリダイレクト攻撃
スパマーによるオープンリダイレクトの悪用方法は?
オープンリダイレクトは、多くのセキュリティ対策、特に悪意のあるリンクを識別するWebルートのボットを回避しようとするスパム送信者によって利用されています。スパマーにとって、大規模なフィッシング大量メール送信キャンペーンでは、敵の裏をかくことが非常に重要です。以下は、受信トレイに届く前にリンクを精査し、正当なリンクと悪意のあるリンクを区別するボットの非網羅的なリストです:
- アンチスパムISPボット
- SMTPアンチスパムボット
- Braveボットスキャン
- Webルートボット
- Googleセーフブラウジング
- メールスパムフィルターボット
- VPSスパム対策ボット検知
- 被害者のハードウェアウイルス対策検出
ボットを出し抜き、受信トレイへの配信を成功させると同時に、ブラウザベースのWebルートスキャンを回避するために、スパマーは難読化テクニックを使って詐欺ページをスクリプト化し、「ファッドリンク」(完全に検出不可能なリンク)を設定します。攻撃者にサブドメイン侵入テストを実行し、オープンリダイレクトを発見するWebハッキングスキルがない場合、いくつかの有効なオープンリダイレクトボットが利用可能です。これらのボットは、詐欺スクリプトのリンクを完全に検出できないようにし、ボットによってトリガーされる偽のユーザーインタラクションを回避し、実際のユーザーが意図したターゲットリンクにアクセスできるようにします。
オープン・リダイレクトの脆弱性をどのように検出しますか?
オープンリダイレクトの脆弱性、特にサブドメインを含む脆弱性を検出するには、通常、手動テストと自動化ツールの組み合わせが必要です。このような脆弱性を発見するためには、次のような手順が考えられます:
- 入力ポイントの特定: URL のクエリ文字列パラメータ、フォームフィールド、その他の入力メソッドなど、リダイレクトに利用される ユーザ入力が受け入れられるWebアプリケーション内の領域を特定する。
- 信頼できるURLを使ってテスト: 信頼されたURLを使ってリダイレクト機能をテストし、アプリケーションがセキュリ ティ問題を引き起こすことなく意図したとおりにリダイレクトすることを確認する。
- 悪意のあるURLを作成:異なるサブドメインを含むURLを作成し、アプリケーションがどのように反応するかを観察してください。例えば、http://bing.com/ck/a のようなURLを使ってみて下さい。「com」ドメインには、まだ対処されていないオープンなリダイレクトの脆弱性が存在する可能性があり、スパマーリンクへのリダイレクトを可能にし、スパム対策をバイパスする可能性があることに注意することが重要です。
- サブドメインをチェック: リダイレクトパラメータで様々なサブドメインをテストし、アプリケーションが外部サブドメインへのリダイレクトを許可しているかどうかを判断する。
- 自動化ツールを利用: OWASP ZAP、Burp Suite、あるいは専門的な脆弱性スキャナのような自動化ツールを活用してください。これらのツールを設定し、リダイレクトパラメータ内のサブドメインをテストする。
- ソースコードをレビュー: アプリケーションのソースコードにアクセスできるのであれば、リダイレクト機能がどのように実装されているかを調べてください。ユーザーが提供した入力が適切に検証されていることを確認し、許可されたドメインのホワイトリストの実装を検討してください。
オープンリダイレクト攻撃から守るには?
複数の対策を組み合わせることで、オープンリダイレクト攻撃から保護することができます。Vade for M365のような高度なメールセキュリティソリューションは、オープンリダイレクトリンクを含む悪意のあるメールをフィルタリングし、ユーザーに届かないように除去します。フィッシングの兆候を識別し、改善のために疑わしいメールを報告するために、フィッシングの認識トレーニングは、ユーザーを教育することにつながります。また、多要素認証(MFA)の採用や強力なパスワード・ポリシーの実施など、その他の対策により、侵害に成功する前または後に悪用されるリスクを抑制します。