1

問題の仮定/条件:

  1. foo@bar.comシステムに電子メール(未確認) を持つユーザーが存在します。
  2. 訪問者はシステムにサインインしていません (新しいブラウザなど、現在のセッションがありません)。
  3. OAuth (ユーザー認証) を通じて、Google アカウントを使用して訪問者がサインアップ/ログインします。
  4. システムは、uid とfoo@bar.com[Google によって確認された] メールを含むコールバックを受け取ります。

ここに 3 つのオプションがあります。

A. 電子メール foo@bar.com を使用して、訪問者を既存のアカウントにサインインさせます。これには、いくつかのセキュリティ上の影響があります。

B. パスワードを尋ねます [システムにパスワードがあると仮定します。これは、複数の OAuth プロバイダーには当てはまらない可能性があります]。有効な場合は、既存のアカウントにサインインします。

C. ログイン/サインアップを拒否し、メールは既に使用されていると言い、Google に接続する前にユーザーにログインを促します。

オプション #A にはどのようなセキュリティ リスクがありますか?

私が自分で思いついたこと:

「予測攻撃」が実行される可能性があります。この場合、攻撃者はサインアップを予測し、ターゲットよりも先にシステム上にアカウントを作成します。ターゲットが OAuth を使用してサインアップすると、そのアカウントでアクティブなセッションが行われます。#A を実行する前に、アカウントのすべてのセッションをクリアすると敗北します。

4

2 に答える 2

0

ユーザーがGoogleのOAuthを介してログインすると、Googleから返されるメールアドレスが実際にそのユーザーのものであることを確認できます。したがって、あなたが心配しているように見えるのは、その電子メールアドレスによってシステム上ですでに知られているユーザーがその電子メールアドレスを所有していないということです。それは彼が電子メールの会話でサインアップする時までに捕らえられるべきでした。ただし、そうでない場合は、パスワードをリセットして、そのようにしたことを本物のユーザーに電子メールで送信することをお勧めします。その理由は何ですか。ユーザーが現在ログインしている場合は、ユーザーをログアウトすることもできます。ユーザーは引き続きデータにアクセスできますが、OAuthログインセッションを介して、または電子メールに応答することによってのみアクセスできます。それが本当に同じ人であるかどうかを知る方法がないので、電子メールはそれが予防策であることを述べるべきです。

于 2012-10-01T19:07:24.507 に答える
0

「偶発的な攻撃」も発生する可能性があります。

ステップ 1 で、アドレス でサインアップしたユーザーはfoo@bar.com、実際には を入力するつもりでしたが、 の代わりにfuu@bar.comタイプミス:を入力しました。foofuu

ここで、Google ユーザーは Oauth とfoo@bar.comでサインアップし、このようにしてステップ 1 のユーザーのアカウントを乗っ取ります。偶然 :-) ステップ 1 のユーザーによるタイプミスが原因です。

そのため、ステップ 1 のユーザーが予測して Google ユーザーを攻撃するか、Google ユーザーが誤ってステップ 1 のユーザーを攻撃する可能性があります。(少なくとも今のところ、他の攻撃は考えられません。)

于 2015-11-17T07:04:54.077 に答える