出典: Andrea Danti via Alamy Stock Photo
コメント
デバイスコードは、ブラウザや入力が制限されたデバイスのように標準のログインインターフェースがないデバイスでアカウントを認証するために使用される英数字または数値のコードです。ユーザーにテキストを入力させて認証することが現実的でない場合に使用されます。このような使用例には、IoTデバイス、NetflixやApple TVのようなストリーミングアプリ、クラウドアプリケーションが含まれます。デバイスコード認証は特定のデバイスに認証を結びつけます。
攻撃者がデバイスコードフィッシングを使用する方法
脅威アクターはアプリケーションやサービスを操作して自分のデバイスでデバイスコードを生成し、その後、被害者を騙して攻撃者のデバイス用の危険なデバイスコードをサービスの正当な認証ページに入力させます。この詐欺は通常、ITサポートからのように見えるメールやMicrosoft Teamsの会議招待、または「緊急」とマークされた他のメッセージを通じて行われます。
攻撃者がデバイスコードフィッシングを悪用する方法
被害者が認証ページにアクセスしコードを入力すると、実際の資格情報と 多要素認証 (MFA)での認証を求められます。サインアップが成功すると、サービスプロバイダーはアクセスとリフレッシュトークンを発行します。攻撃者はこれらのトークンを盗んで被害者のアカウントに不正アクセスし、パスワードを必要とせずにユーザーにリンクされた他のサービスにアクセスするための横移動を可能にします。
関連記事:Victoria’s Secret、サイバーインシデントにより収益発表を延期
従来のフィッシング詐欺 は、盗まれたユーザー名とパスワードを含み、MFAや条件付きアクセスポリシーで対抗できます。しかし、デバイスコードフィッシングは、盗まれた認証済みトークンに依存しているため、攻撃者は条件付きアクセス制御を満たす必要がなく、被害者のアカウントにアクセスするためにMFA資格情報を提示する必要がありません。リフレッシュトークンの追加の利点は、最初の認証後でも攻撃者が被害者のアカウントに持続的にアクセスできることです。
なぜデバイスコードフィッシングが攻撃者の間で人気が高まっているのか
デバイスコードフィッシングは特に危険です。この手法は、被害者が次のレベルに進むためにクリックしなければならない悪意のあるリンクや添付ファイルを含まないからです。被害者は、正当なログインページにデバイスコードと資格情報を入力する必要があり、この方法は攻撃として認識するのがより困難です。
この攻撃は主にユーザーの習慣に基づいて成功します。個人はMicrosoft Teamsのようなコラボレーションツールからの認証プロンプトに慣れているため、通常、デバイスコードによる認証要求を疑問視しません。
デバイスコードフィッシング攻撃の例
近年、いくつかの著名なデバイスコードフィッシング攻撃と脆弱性を目撃しました。これらの中には以下のものがあります:
ロシアの国家支援サイバー諜報グループAPT29、またはCozy Bearは、悪意のあるOAuthデバイスコードフィッシングを使用してMicrosoft Azure環境を積極的に悪用している外国情報機関(SVR)に関連しています。被害者を騙して攻撃者のデバイスを誤って認証させることで、APT29はこの手法を利用して外交機関や企業に侵入し、標準的なセキュリティアラートを引き起こすことなく情報を収集しました。
Storm-2372キャンペーンは、ロシアに関連する脅威アクターによって行われたデバイスコードフィッシング攻撃 で、2024年8月以降、政府、NGO、さまざまな地域の産業をターゲットにしています。このキャンペーンはMicrosoft Entra IDや他の認証サービスを攻撃します。攻撃者は偽のMicrosoft Teams会議招待を送信したり、WhatsApp(およびSignal)などのプラットフォームを偽装して、被害者を騙して悪意のあるアクターによって悪用されるデバイスコードを作成させます。
デバイスコードフィッシングに対する緩和戦略
1. ユーザー教育: ユーザー教育は、ソーシャルエンジニアリング攻撃に対する最良の防御策です。デバイスコードフィッシングのシナリオを模擬フィッシングキャンペーンに追加して、従業員の脆弱性を評価し、全体的な耐性を向上させることができます。従業員は、未知のデバイスを承認しない、予想外のワークフロー外での認証要求を識別する、ITに確認する前に不審な認証要求を報告または確認するように訓練できます。
関連記事:重要なバグが広く使用されている火災安全OT/ICSプラットフォームの乗っ取りを引き起こす可能性
効果的なトレーニングは、ユーザーがデバイスコードを承認する予期しない要求に気付くことを可能にします。特に、ユーザーが新しいデバイスでサービスにログインしようとするプロセスを開始していない場合に、デバイスコードが要求されることは一般的ではありません。
2. 条件付きアクセスの強制: 条件付きアクセスポリシーは、未知の場所やデバイスからのログインをブロックしたり、繰り返し失敗した試行後に防止したりできます。これらは、デバイスのコンプライアンス要件を強制し、予期しない地域からのサインインをブロックする地理的制限、未承認のアプリケーションや非企業ブラウザからのアクセスをブロックするアプリケーション制御ポリシー、ユーザーの通常のパターン外でのサインイン行動に追加の検証を要求するリスクベースの認証を強制するように設定される必要があります。
3. OAuth活動の追跡: Microsoft Defender for Cloud Appsのような製品を活用して、OAuthトークンの発行に関する豊富な可視性を提供し、予期しない同意の付与、不審なアプリケーション活動、未承認のアクセス試行などの異常を検出できるようにします。
4. 最小特権アクセスの強制: OAuthの範囲を調査し、アプリケーションが必要な最小限の権限のみを受け取るようにします。OAuthにリンクされたアプリケーションの定期的な監査により、不要または高リスクのサードパーティ統合を削除できます。
5. 未使用のOAuthトークンの取り消し: OAuthトークンを短期間で期限切れに設定し、長期的な不正アクセスの脅威を軽減します。ワークフローを設定して、非アクティブまたは古いトークンを検出し、自動的に取り消すことができます。ユーザーに定期的に再認証を要求し、不正な持続を防ぎます。
(上記の5つの緩和策は主にMicrosoft 365プラットフォームおよび/またはOAuthを利用するサイトとサービスに適用されますが、デバイスコードを使用するすべてのアプリやサービスに必ずしも適用されるわけではありません。)
結論
従来の資格情報収集フィッシングとは異なり、被害者がフィッシングサイトにアクセスしてから攻撃者が資格情報を収集する必要があるのに対し、デバイスコードフィッシングは、被害者に有効なMicrosoftページにコードを入力させるだけです。これは、ユーザーが正当な認証プロセスで既に訓練されているため、ユーザーが有効なデバイスコードを入力し、ハッカーのデバイスを自分のアカウントにリンクさせることになります。条件付きアクセスの強制、OAuth活動の監査、予期しない認証要求に関するユーザー教育などの対策により、リスクを大幅に軽減できます。デバイスコードは利便性を高めますが、フィッシングに対する脆弱性は、強固な認証手段の重要性を強調しています。