Tag Archives: access token

Covert Redirect ? OAuth ????????? Heartbleed ????

Heartbleed 脆弱性をめぐる騒動が一段落したかと思う間もなく、今度は「Covert Redirect(隠しリダイレクト)」と呼ばれるセキュリティ上の欠陥が見つかり、その報告がメディアを賑わしています。なかには「第二の Heartbleed」と称している報道もあるほどですが、Covert Redirect が実際に Heartbleed ほど深刻かというと、そんなことはありません。

「第二の Heartbleed」という言い方は正しいか

いいえ。これは、サービスプロバイダによる OAuth の実装で発見されたセキュリティ上の欠陥です。

Covert Redirect が Heartbleed ほど深刻でないのはなぜか

Heartbleed は OpenSSL に存在する深刻な脆弱性です。OpenSSL は暗号プロトコル SSL と TLS のオープンソース実装であり、50 万以上もの Web サイトで使われています。Heartbleed 脆弱性は、パッチ未適用のサーバーに要求を送信するだけで悪用できてしまいますが、Covert Redirect の場合、攻撃者は影響を受けやすいアプリケーションを見つけたうえで、ユーザーからの応答と許可を得る必要があります。

Covert Redirect とは

Covert Redirect はセキュリティ上の欠陥であり、脆弱性ではありません。狙われるのは、オープンリダイレクトの影響を受けやすいサードパーティ製クライアントです。

たとえば、攻撃者は影響を受けやすいサイトのアプリケーションを使って、密かにサービスプロバイダの API に要求を送信し、redirect_uri パラメータを改ざんすることができます。改ざんされた悪質な redirect_uri パラメータは、認証に成功するとユーザーを悪質なサイトにリダイレクトします。

標準的な要求: [プロバイダ]/dialog/oauth?redirect_uri=[影響を受けやすいサイト]&scope=email&client_id=123&response_type=token

悪質な要求: [プロバイダ]/dialog/oauth?redirect_uri=[影響を受けやすいサイト]/redirectKeepParams?w=1dpoa&url=[攻撃者のサイト]&scope=email&client_id=123&response_type=token

悪質な要求では、承認されたアプリケーションではなく、攻撃者がユーザーのアクセストークンを受信します。

OAuth とは

OAuth は、Web、モバイル、デスクトップの各アプリケーションから安全な認可を取得できるオープンプロトコルです。[Facebook でログイン]ボタンなどで OAuth を使うと、OAuth が認可メカニズムとして機能し、サードパーティ製アプリケーションでユーザーアカウントへのアクセス権を取得できるようになります。

ユーザーにとってどのようなリスクがあるか

この欠陥を悪用するには、ユーザーからの応答が必要です。アクセストークンを侵害するには、影響を受けやすいアプリケーションに対する許可をユーザーから付与される必要があります。許可が付与されてようやく、攻撃者はユーザーアカウントデータを取得して、さらに悪質な目的に利用できるようになります。

アプリケーション開発者にはどのような影響があるか

Web サイトでオープンリダイレクトが使われている場合、攻撃者はそのアプリケーションを Covert Redirect の標的とする可能性があるので、Web サイトでオープンリダイレクトを停止する必要があります。サービスプロバイダ各社も、アプリケーション開発者が OAuth リダイレクト URL のホワイトリストを作成することを推奨しています。

次の手順は

Covert Redirect は注意すべきセキュリティ上の欠陥ですが、Heartbleed と同レベルというわけではありません。アクセスを許可するアプリケーションは慎重に判断すべきであり、Covert Redirect はそのことを再認識する格好のきっかけとなりました。

パッチの公開は期待できません。それぞれの実装を保護して Covert Redirect の欠陥に効果的に対処するかどうかはサービスプロバイダ次第です。

 

* 日本語版セキュリティレスポンスブログの RSS フィードを購読するには、http://www.symantec.com/connect/ja/item-feeds/blog/2261/feed/all/ja にアクセスしてください。

Covert Redirect Flaw in OAuth is Not the Next Heartbleed

Coming off the heels of the Heartbleed bug, a new report on a security flaw called “Covert Redirect” is garnering a lot of media attention—so much that some outlets are referring to it as the next Heartbleed. But is Covert Redirect as bad as Heartbleed? Definitely not.
 

Is this the next Heartbleed?

No, it is not. This is a security flaw in the implementation of OAuth by service providers.
 

Why is Covert Redirect not as bad as Heartbleed?

Heartbleed is a serious vulnerability within OpenSSL, an open source implementation of the SSL and TLS cryptographic protocols used by over a half a million websites. The Heartbleed vulnerability could be exploited just by issuing requests to unpatched servers. Covert Redirect, however, requires an attacker to find a susceptible application as well as acquire interaction and permissions from users.
 

What is Covert Redirect?

Covert Redirect is a security flaw, not a vulnerability. It takes advantage of third-party clients susceptible to an open redirect.

For example, an attacker could covertly issue a request to Facebook’s API using ESPN’s Facebook app and modify the redirect_uri parameter. The new modified redirect_uri parameter maliciously redirects users after they have successfully authenticated.

Standard Request: facebook.com/dialog/oauth?redirect_uri=espn.go.com&scope=email&client_id=123&response_type=token

Malicious Request: facebook.com/dialog/oauth?redirect_uri=m.espn.go.com/wireless/mw/util/redirectKeepParams?w=1dpoa&url=badsite.com&scope=email&client_id=123&response_type=token

In the case of a malicious request, the attacker receives the user’s access token, instead of the approved application.
 

What is OAuth?

OAuth is an open protocol to allow secure authorization from web, mobile and desktop applications. When using OAuth—like a “Login with Facebook” button—OAuth is the authorizing mechanism and enables third-party applications to obtain access to user accounts.
 

What is the risk to users?

For this flaw to be exploited, it requires interaction from users. A user would have to grant permissions to a susceptible application in order for the access token to be compromised. An attacker may then obtain user account data which could be used for further malicious purposes.
 

What is the impact to application developers?

If there is an open redirect on your website, an attacker could target your application for Covert Redirect. It is important to lock down open redirects on your website.
 

What is the next step?

While Covert Redirect is a notable security flaw, it is not on the same level as Heartbleed. Covert Redirect serves as a reminder to be careful about what applications you grant access to.

Do not expect a patch—it is up to the service providers to secure their own implementations to effectively address the Covert Redirect flaw.