web-dev-qa-db-ja.com

ユーザーが異なるブラウザーやコンピューターで複数のログインを許可しても安全ですか?

現在、Webアプリケーションを開発しています。開発者は複数ログインを許可しています。たとえば、ユーザーは同時に複数のコンピュータにログインできます。複数のアクセスを許可する例として、Gmailアカウントを引用しています。

here。 のようなWebアプリケーションを保護しました

異なるコンピューター/ブラウザーで複数のログインを許可すると、ハッキングに対する脆弱性が増加しますか?はいの場合、どうすればこれを開発者に説明できますか?

ユーザーが必要としない場合は、同時接続を防止するのに十分な理由があります。

大まかな目安として、必要以上の機能を許可しないことです。ユーザーが複数の同時セッションに接続することがない場合は、それを許可しないことで攻撃のリスクを軽減できます(ユーザーがログインしている間は攻撃者が攻撃を実行できないため)。

ただし、ユーザーが複数のセッションの使用を想定している場合は、この機能が必要です。

本当に、この質問は機能上の問題に帰着します-グーグルはユーザーが同時に複数のマシン/場所/ブラウザから接続する必要があるかもしれないことを知っているので、彼らは他のセッションを禁止するのではなく通知するだけです。

8
Rory Alsop

これまでの答えはすべて有効だと思います。ただし、完全に同意するかどうかはわかりません。このサイトを例にとってみましょう。 stackexchange.comに複数の「セッション」を開いてログインさせることができますが、それによってsecurity.stackexchange.comの安全性が低下しますか?そのメリットは議論の余地があると思いますし、議論には賛否両論あります。許可によるセキュリティリスクの増加はごくわずかです。

シナリオに依存する複数のログインの問題は、セキュリティの問題ではなく、プロセスの問題だと思います。ライセンスなどのビジネスプロセスのために、複数のログインを禁止することは理にかなっています。ただし、他のシナリオでは、たとえば、ユーザビリティの向上が意味をなす場合があります。リスクの増加が知覚される利益に値するかどうか、または複数のログインを無効にする作業の増加かどうかを決定するのは、設計者としてのあなた次第です。

4
Nicholas King

複数のユーザーに接続を許可することは、攻撃に対して脆弱ではないと思います。 Gmailがこれを許可している場合、彼らは潜在的なリスクについて考えていたと思います;)

これは、アプリケーションに脆弱性がないことを意味するわけではありませんが、ログインプロセス(https、データベースハッシュパスワードなど)の開発方法に基づいています。

その投稿 に示されているようにアプリケーションを保護したと述べたので、リスクが大幅に軽減されました(100%安全だとは言えませんが、何もありません)。

これで、Google Mailと同じ機能を追加できます。ユーザーの現在の接続セッションをすべてリストします。そうすることで、ユーザーアカウントが他の場所でハッキングされてアクセスされた場合、そのアカウントやその背後にあるIPなどが表示される可能性があります。

安全性は高くありませんが、ユーザーの負担が軽減されます。

1
Cyril N.

問題と懸念は、問題のデータとシステムによって本当に定義されていると思います。ログインごとに、共有データの変更(変更)、または共有システムの変更を許可する場合、同じユーザーによる複数のログインが問題になります。

Gmailの場合、問題のデータは個別のものであり、共有されないため、これは決して当てはまりません。 1回のログインでGmailを変更すると、自分の足だけを撃ちます。

また、セキュリティの観点から、私が提起/検討するいくつかの懸念があります。

  1. 複数の同時ログインを許可するときは常に、システムへの安全でない接続があることを本質的に言っています。システムが実行されているコンピュータが適切に保護されていない場合、その「ポータル」は開いており、ログインを悪用する適切なユーザーではないユーザーが自由に利用できるため、システムのトレーサビリティと否認を失うことになります。

  2. もちろん、アクティブなページ(純粋なhtmlでない限り)は、攻撃者が攻撃へのアクセス権を持っている場合、ログインしたユーザーの権限を超えてさらにエスカレーションするために悪用する可能性のある潜在的な悪用の「ポータル」を表します。あるいはさらに悪いことに、アプリケーションとそのデータがホストされているシステムを攻撃し、すべてのコントロールを覆し、いわば「クラウンジュエル」へのフルアクセスを取得するポータルを作成する可能性があります。

  3. 最後に、自分のBSを信じないでください。アプリケーションを保護していません。あなたはその時点であなたの知識を最大限に活用してアプリケーションを保護するために最善を尽くしました-そうでなければ、ゼロデイ攻撃は存在しません。したがって、アプリケーションが「保護されている」とは決して信じないでください。したがって、提案しているように名目的に見えることを実行できます。ここで意図された犯罪はありませんが、それは真実です。常にセキュリティについて偏執的です。

0
Tek Tengu