検索
連載

図解:OAuth 2.0に潜む「5つの脆弱性」と解決法デジタルID最新動向(2)(4/4 ページ)

SNSなど複数のWebサービスが連携して動くサービスは広く使われている。連携に必要不可欠なのが、アクセス権限をセキュアに受け渡すための「OAuth 2.0」といった仕組みだ。今回はOAuth 2.0に関連する代表的な5つの脆弱(ぜいじゃく)性と攻撃手法、対策についてシーケンス図を使って解説する。

Share
Tweet
LINE
Hatena
前のページへ |       

【攻撃手法5】IdP Mix-Up Attack

 悪意のあるAuthorization Serverが、他のAuthorization Serverの発行したAccess Tokenなどを奪おうとする攻撃「IdP Mix-Up Attack」について、最後に紹介します*5)

*5) OAuth 2.0のAuthorization ServerはIdentity Providerと呼ばれることもあるが、ここではAuthorization Serverという用語を使って説明する。

 攻撃を受ける前提条件は次の3つです。

  • Clientはソーシャルログイン機能のように、複数のAuthorization Serverと接続しており、その中の1つが攻撃者の管理下にある
  • ClientはそれぞれのAuthorization Serverに対して共通のRedirect Endpointを用いたAuthorization Requestを送る。CSRF対策のためのstateパラメーターを用いてAuthorization Serverの識別を行う(攻撃2や攻撃4の対策として取り上げたAuthorization Code Flowを用いるものとする)
  • Clientと標的となるResource Ownerの間のセキュアではない(例えばHTTPSを利用していない)通信を、攻撃者が中継できる

 攻撃の流れは次の通りです。

  1. 標的となるResource Ownerが悪意のないAuthorization Server(HAS:Honest Authorization Server)にAuthorization Requestを送ろうと試みる。これを攻撃者がプロキシ機能(図8中のAttacker's Proxy)により検知する
  2. 攻撃者はClientに対して悪意のあるAuthorization Server(AAS:Attacker Authorization Server)へのAuthorization Requestを要求する(図8中の青い矢印)
  3. 攻撃者はHAS向けのAuthorization RequestのstateパラメーターをAAS向けのものと置き換え、標的となるResource OwnerをHASに送る(赤い矢印)
  4. 標的となるResource OwnerはHAS上でProtected Resourceへのアクセス許可を行い、ClientにAuthorization Responseが送られる(緑の矢印)
  5. ClientはAuthorization Responseに含まれるstateパラメーターにより、Authorization ResponseはAASが作成したものと判断する
  6. ClientはAASに対してHASから発行されたAuthorization Codeなどを含むAccess Token Requestを送る(紫の矢印)
  7. AASは受け取ったAccess Token RequestをHASに送ることにより、標的となるResource OwnerのAccess Tokenなどを取得可能
図8
図8 IdP Mix-Up Attackの攻撃の流れ

 IdP Mix-Up Attackの対策は2つあります。

  • Authorization ServerごとにRedirect EndpointをClientが分け、stateパラメーターを用いたAuthorization Serverの判定を避ける
  • Authorization ResponseにAuthorization Serverなどの情報を含め、Clientはその情報を用いて処理の分岐を行う

 この対策はRFC 6749(The OAuth 2.0 Authorization Framework)には、定義されていません。2番目の手法については拡張仕様が提案されています。

 IdP Mix-Up Attackが成立する前提条件はやや複雑です。しかし複数のAuthorization Serverとソーシャルログインで連携しているClientの開発者は、万が一いずれかのAuthorization Serverが悪意のある振る舞いをした場合、どのような影響があるかを想定しておく必要があるでしょう。

日本語ドキュメントでさらに深く知る

 今回はOAuth 2.0に関連する代表的な5つの脆弱性と攻撃について紹介しました。攻撃1〜3は攻撃者がResource Ownerの立場で攻撃しますが、攻撃4はClient、攻撃5ではAuthorization Serverの立場を採っています。幾分イメージしにくいものもあったかもしれません。

 このような脆弱性を見ると「OAuth 2.0は危ない」と感じるかもしれません。これに対して、有識者が拡張仕様の検討を含めて対策を周知しています。

 例えばOAuth 2.0に関する脆弱性と対策についてまとめたドキュメントもRFC 6819としてまとまっています(OAuth 2.0 Threat Model and Security Considerations)。

 今回紹介したCSRF対策やCovert Redirect(オープンリダイレクター)対策に関する記載もあります。OAuth 2.0の実装に関わる開発者の皆さまには参考になるでしょう。

 ボリュームのある英語のドキュメントを読むのは大変だという声もあります。そこで、OpenIDファウンデーション・ジャパンのWebサイトにRFC 6819の日本語訳を用意しました(RFC 6819 - OAuth 2.0 Threat Model and Security Considerations 日本語訳)。

 今回紹介した内容と併せて、OAuth 2.0の安全な実装の手助けになれば幸いです。

 次回はOAuth 2.0をMicroservicesや分散システム向けに適用するための拡張機能を取り上げる予定です。

筆者紹介

Ryo Ito(ritou)

http://d.hatena.ne.jp/ritou/

OpenID Foundation Japan Evangelist

OpenID Connectのコントリビュータとして仕様策定に関わっている。

業務ではアイデンティティ技術を用いたSNSサービスの機能強化、新規サービスのプラットフォーム開発に関わり、個人ブログではOpenID/OAuthについて情報発信を行っている。


Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       

Security & Trust 記事ランキング

  1. 中小企業の20%の経営層は「自社はサイバー攻撃に遭わない」と信じている バラクーダネットワークス調査
  2. AWS、組織のセキュリティインシデント対応を支援する「AWS Security Incident Response」を発表 アラートに圧倒されるセキュリティチームをどう支援?
  3. 「生成AIのサイバー攻撃への悪用」は増加する? 徳丸浩氏が予測する2025年のセキュリティ
  4. 商用国家安全保障アルゴリズム(CNSA)の期限となる2030年までに暗号化/キー管理サービス市場が60億ドルに達するとABI Researchが予測 急成長の要因とは?
  5. 高度なAIでAIをテスト OpenAIが実践するAIモデルのレッドチーム演習とは
  6. 堅調なID管理や認証、脅威インテリジェンスなどを抑え、2024年上半期で最も成長したセキュリティ分野は?
  7. 「このままゼロトラストへ進んでいいの?」と迷う企業やこれから入門する企業も必見、ゼロトラストの本質、始め方/進め方が分かる無料の電子書籍
  8. ChatGPTやClaudeのAPIアクセスをかたってマルウェアを配布するPython用パッケージ確認 Kasperskyが注意喚起
  9. Google、オープンソースのセキュリティパッチ検証ツール「Vanir」を公開 多種多様なAndroidデバイスの脆弱性対応を支援するアプローチとは
  10. NIST、3つのポスト量子暗号(PQC)標準(FIPS 203〜205)を発表 量子コンピュータ悪用に耐える暗号化アルゴリズム、どう決めた?
ページトップに戻る