web-dev-qa-db-ja.com

データベースにアクセスできる攻撃者にとって、パスワードの解読を無意味にすることは可能ですか?

パスワードを安全にするための情報を読んでいますが、攻撃者が元のパスワードの取得に力を入れたいと思う理由は何ですか?攻撃者が実際にデータベースのコピーを持っている場合は、データベースのコピーと、アカウントにログインすることで取得するすべての情報を持っています。

これが私が考えることができるいくつかの理由です:

ユーザーが別のサイトでパスワードを使用している可能性があります。一部のユーザーデータは暗号化されている場合があります。攻撃者は後でアカウントにアクセスしたい場合があります。攻撃者はユーザーデータを変更したいと思うかもしれず、サーバーのデータベースへの読み取りアクセスしか持っていませんでした。攻撃者はデータベースからすべての情報を取得しませんでした。

二要素認証やユーザーのランダムパスワードの選択などのポリシーは、データベースにすでにアクセスしている攻撃者にとってパスワードを解読する価値がないのでしょうか。

2
DarkChowder

TL; DR:答えはノーです。ユーザーが他のサイトで指定されたランダムパスワードを再利用するのを止めることはできないため、テキストベースのパスワードは常に攻撃者にとって価値があります。これは、ユーザー名とパスワードを持つすべてのサイトに当てはまります。

強制ランダムパスワードはめったに機能しません:それはあなたのユーザー(顧客?)を去らせます。 ランダムなパスワードを提案し、生成ツールを提供することは、それらが強制されない限り、良い考えです。ただし、ランダムに生成されたパスワードをサイトに使用するようにユーザーを誘導することに成功したとしても、ユーザーが別のサイトで同じパスワードを使用するのを防ぐことはできません。ランダムなパスワードを覚える努力をした後、かなりの割合のユーザーがその努力を再利用する、つまりまったく同じパスワードを他の場所で再利用するのが賢明であると感じることが期待できます。

これは非常に一般的なプロパティです。ユーザーが自分のパスワードを「知っている」(そして入力するには必ず知っている必要があります)限り、ユーザーはそのパスワードをあなたの手の届かない他のシステムで再利用できます。なぜこれが良い考えではないのかをユーザーに説明しようとする以外は、それについて何もすることはできません。


二要素認証の場合:それが存在する場合、それは理由があります。つまり、1つの要素では不十分だったためです。攻撃者がユーザーパスワードを解読した場合、ユーザーの2つの要素は1つの要素のみに縮小されます。 1つの要因が十分でない場合、それは十分ではありません。または、別の言い方をすれば、ユーザーがパスワードと携帯電話で認証し、パスワードの解読が問題にならないのであれば、なぜパスワードをまったく気にしないのでしょうか。電話を使うだけです。

5
Thomas Pornin

すぐに頭に浮かぶ少なくとも2つの主な理由(間違いなくもっとあります):

まず、Webサービスのログイン情報データベースに違反することは、実際に1つまたは複数のアカウントにログインしてサービスを使用することと同じではありません。たとえば、Amazonのユーザー認証データベースに何らかの理由で違反した場合(これは、私が試みたことがなく、試みたとしても成功する可能性はありません)、それは非常に異なることです。実際に誰かとして物事に参加して注文したり、オンラインで映画を購入したり見たりするなど、何でもできます。同様に、他の誰かが言ったように、誰かの銀行サイトのパスワードが必要です。そうすれば、ログインして自分に役立つトランザクションを実行したり、他の方法で金融詐欺を犯したりするために使用できる秘密の金融支払い情報をコピーしたりできます。それらの線に沿って何か。パスワードハッシュ(またはパスワード自体)は、どこかにアクセスするのに役立たない場合は、単なる無意味なビット文字列です。また、特定のサービスにアクセスするために誰かのアカウントを悪用したい場合は、そのパスワードハッシュを元のハッシュに戻す必要があります。そして、サービスがユーザー認証データベースが侵害されたことを認識し、公開されているすべてのパスワードをリセットする前にこれを行います。

第二に、人間は全体として、パスワードを適切に使用するのがかなり苦手です。多くの人(比較的少数派ですが、絶対的にはまだ多くの人)は、ご存じのとおり、信じられないほど弱い/推測可能なパスワードを選択します。しかし、さらに多くの少数派は、異なるサービスやサイト間でパスワードを再利用します。また、重要なサービスとサイト間でパスワードを再利用することも、それほど重要ではないサービスとサイト間で再利用することもできます。したがって、ハッカーがmegastupidsportsaroundearth.comのユーザー認証データベースに違反し、(極端な場合)100万人の電子メールアドレスとクリアテキストパスワードを取得した場合、それらのログインの数千または数万も取得するのは良いことです。ネット上のさまざまな銀行サイト、主要なオンライン小売業者、電子メールサービスなどのドアにもあります。したがって、megastupidsportsaroundearth.comが、違反が発生した直後に取得されたすべてのパスワードを無効にしても、それらの電子メールアドレスとパスワードの組み合わせは、ユーザーが使用していた他のすべてのサイトでアクティブなままになります。 (ただし、多分でない限り、銀行にはサイバーセキュリティオペレーションがあり、サイトの盗まれたユーザー資格情報のコレクションをダークネットで積極的にトロールし、悪意のあるユーザーが使用する前にキャンセルします。しかし、それでもあなたを救うことはできません。あなたの銀行がたまたまそのようなことをしている少数派の一人であるなら。)

重要なアカウントでのパスワードの再利用:いいえと言ってください。 :)

4
mostlyinformed

それで、あなたが言及しなかったが価値があるかもしれない1つの側面。攻撃者はDBのコピーのみを持っている可能性があり、ライブDBは持っていない可能性があります。この場合、彼/彼女はそれを盗むまですべてのデータにアクセスできますが、進行中ではありません。パスワードを持っていると、彼は合法的にログインしてデータにアクセスできるようになります。この同じ行で、注文のキャンセル、誤った注文などの損害を引き起こすために使用される可能性があります...

ほとんどの2要素実装はパスワードとOTPに依存しており、OTPは通常DBとは別のサードパーティサーバーを介して解決されるため、この場合、パスワードがDBに存在する場合はパスワードが侵害される可能性がありますが、OTPは侵害されません。実際、OTPは、DBが盗まれたかどうかを判断するための良い方法である可能性があります。これは、正しいパスワードコードと間違ったOTPでログインに失敗することが多く見られるようになるためです。

お役に立てば幸いです。

2
Brett Littrell