プロトコル自体にセッション固定攻撃の脆弱性
OAuthに脆弱性、TwitterやYahoo!がAPIを停止
2009/04/23
APIベースでWebアプリケーションやローカルアプリケーションを連携させる技術として普及が期待されている認可プロトコル「OAuth」(オース)にセッション固定攻撃の脆弱性が発見された。OAuthに対応したAPIを公開しているYahoo!やTwitter、YammerがOAuth対応APIによるデータ提供を緊急停止する事態となっている(Yahoo!のコメント、Twitterのコメント、Yammerのコメント)。一方、OpenSocialなどでOAuthを使っているグーグルはコメントで、問題が発見されたものと異なるOAuthを使っているため、現在提供中のサービスについて影響はないとしている。同様に、DVDレンタルサービスのNetflixも影響はないとしているなど、対応が分かれている。
OAuthコミュニティは2009年4月23日に詳細な脆弱性の報告を掲載。問題は「OAuth Core 1.0」のプロトコル自体にあるため、OAuthによるサービス提供者は、直ちに攻撃を検知する適切な監視機構を実装するよう勧告している。OAuthコミュニティでは、今後、仕様改訂を予定しているほか、公開済みの実装についても新仕様に基づいてバージョンアップを行うという。また、現在のところ、この脆弱性を突いた攻撃は報告されていないとしている。
OAuthはOpenIDと並んでオープンなプロトコルによるサイト間連携を行う仕組みで、それぞれユーザー認証・認可のプロトコルだ。OpenIDはログイン時の認証プロセスをサービスと切り分けることができる枠組みを提供し、OAuthはAPIを使ったデータアクセスをユーザーの明示的な許可に基づいて提供する枠組みを提供する(OAuth Core 1.0の仕様書)。
例えば、OAuth対応の写真共有サービスを使っていて、この写真を年賀状サービスで使いたいとする。年賀状サービスからAPI経由で写真を取り込むためには、ユーザーは年賀状サービスに対して写真共有サービスのIDとパスワードを入力してもよいが、これはセキュリティ上、好ましくない。年賀状サービスのほうが十分信頼できるパスワード管理を行っていない可能性もあるし、フィッシングサイトである可能性もあるからだ。
TwitterのAPIを利用したさまざまなサードパーティーアプリケーションが登場しているが、ユーザーとしては、できればTwitter側でユーザー認証を行い、その結果だけをトークンとして発行してもらうことで済ませたい。
この問題を解決するのがOAuthだ。OAuthに対応していれば、次のような流れでユーザーは明示的に写真共有サイトと年賀状サービスを連携させられる。まず、ユーザーは年賀状サービスからいったん写真共有サービスにリダイレクトされ、「この年賀状サービスが写真データへのアクセス許可を求めているが、認めるか?」と提示される。ここでユーザーが「OK」ボタンなどを押すと、写真共有サイトは認可のトークンを発行する。年賀状サービスは、このトークンとともにAPIを叩くことで、ユーザーにIDやパスワードの入力を求めることなく写真共有サイトのデータにアクセスできるようになる。
【参考記事:APIアクセス権を委譲するプロトコル、OAuthを知る (@IT Security&Trust)】
今回発見された脆弱性は、次の通り。攻撃者はまず一般ユーザーとして当該サービスにログイン。続いてOAuthによる認可を行うが、通常の流れと異なるのは、リクエスト・トークンとして発行されたURIを保存し、これをターゲットとなるユーザーにクリックさせるようにし向けるところだ。何らかの理由でURIをクリックしたターゲットユーザーは、正規のサービスへリダイレクトされ、データアクセスの許可を求められる。ここでターゲットのユーザーがもしOKボタンを押してしまうと、攻撃者はリクエスト・トークンを使ってOAuthの認可のプロセスを完了できてしまうという。
今回の件では、脆弱性が公表される前にTwitterがAPIを事前通告なしに停止したことで開発者の間に動揺と反感が広がっていた。ただ、脆弱性に関する情報が公開され、ほかのOAuth対応サイトが十分に対応できるまでAPI停止の理由について伏せていたTwitterに対して、OAuthコミュニティは「公式に感謝の意を表明したい」としている。
関連リンク
情報をお寄せください:
- Windows起動前後にデバイスを守る工夫、ルートキットを防ぐ (2017/7/24)
Windows 10が備える多彩なセキュリティ対策機能を丸ごと理解するには、5つのスタックに分けて順に押さえていくことが早道だ。連載第1回は、Windows起動前の「デバイスの保護」とHyper-Vを用いたセキュリティ構成について紹介する。 - WannaCryがホンダやマクドにも。中学3年生が作ったランサムウェアの正体も話題に (2017/7/11)
2017年6月のセキュリティクラスタでは、「WannaCry」の残り火にやられたホンダや亜種に感染したマクドナルドに注目が集まった他、ランサムウェアを作成して配布した中学3年生、ランサムウェアに降伏してしまった韓国のホスティング企業など、5月に引き続きランサムウェアの話題が席巻していました。 - Recruit-CSIRTがマルウェアの「培養」用に内製した動的解析環境、その目的と工夫とは (2017/7/10)
代表的なマルウェア解析方法を紹介し、自社のみに影響があるマルウェアを「培養」するために構築した動的解析環境について解説する - 侵入されることを前提に考える――内部対策はログ管理から (2017/7/5)
人員リソースや予算の限られた中堅・中小企業にとって、大企業で導入されがちな、過剰に高機能で管理負荷の高いセキュリティ対策を施すのは現実的ではない。本連載では、中堅・中小企業が目指すべきセキュリティ対策の“現実解“を、特に標的型攻撃(APT:Advanced Persistent Threat)対策の観点から考える。