1

ソルト化された SHA-512 パスワード ハッシュを使用するアプリケーションを開発しました。

ハッカーがハッシュを取得した場合、ハッカーが Greasemonkey を使用してログイン ページを変更し、パスワードがハッシュされないように保護するにはどうすればよいですか? 私が予見する攻撃ベクトルにより、取得したハッシュをパスワード入力に入力できるようになり、Greasemonkey で変更されたページはその情報をそのまま送信します (実際のハッシュである入力されたパスワードをハッシュすることはありません)。

これは、取得したハッシュの使用方法の一例にすぎません。サイトのコードを Greasemonkey で変更して同じ結果を得る方法は他にもあります。

この種の攻撃を防止/保護する方法は考えられません。

ここで何か思いついた人はいますか?

4

2 に答える 2

7

サーバー上でパスワードをハッシュします。SSL を使用してネットワーク上で保護します。

于 2012-06-11T18:00:46.463 に答える
1

この質問は、パスワードを傍受する Greasemonkey に対する脆弱性に関するものですよね?

その場合、SSL はユーザーの資格情報の盗難を防ぐために何もしません。パスワード (またはハッシュなど) はユーザーのブラウザーから直接取得され、 GM_xmlhttpRequest()を介して悪者に送信されます。

クライアント側でパスワードをエンコードまたはハッシュしようとすると、Greasemonkey は責任のある JS を傍受したり、置き換えたりすることさえできます。

「私がユーザースクリプトを実行しているかどうか、ウェブサイトは知ることができますか?」を参照してください。、スクリプト ライターの作業を難しくすることはできますが、最終的には、悪者がユーザーに Greasemonkey スクリプト (またはさらに悪いことに、完全なアドオン/拡張機能) をインストールするように仕向けることができれば、作業を難しくすることしかできません。 - 不可能ではありません -- ユーザーのアカウントが危険にさらされる可能性があります。

悪意のあるスクリプトまたはアドオンが使用されているという証拠が得られるまで、またはそうでない限り、私はそれについて心配することさえありません. 最終的に、ユーザーはブラウザとクライアント側の対話を安全に保つ責任があります。

スクリプターにとってそれを難し​​くする (不可能ではない) ためにできること:

  1. ログを監視し、異常なアクティビティをチェックします (とにかくこれを行う必要があります)。
  2. 一般的にボットに対する防御を行います。「ボットが攻撃するとき」を参照してください。、 例えば。
  3. 実際のスクリプトまたは策略が検出された 場合、ユーザーに警告します。
  4. 異常なアクティビティがないか、ユーザーのアカウント/アクションを監視します。
  5. 入力されたパスワードを JS でインターセプトし、何らかの方法でワンタイム エンコードすることができます。これにより、因果関係のあるスクリプターは除外されますが、決定的なスクリプターは除外されません。完全を期すためにこれを含めているだけなので、これはお勧めしません。
  6. パスワード エントリを Flash ダイアログに配置します。Pure Greasemonkey は Flash とやり取りするのに苦労しています。繰り返しますが、これは費用対効果が高いとは思いませんが、完全を期すために含めてください。
  7. 正当なユーザーに面倒な手順 (ワンタイム パスワード、サード チャネル認証など) を要求しないでください。これは、犠牲者がより良い代替手段または回避策を見つけるまで (彼らはそうするでしょう)、愛に満ちた被害者を悩ませるだけです。
于 2012-06-11T21:08:05.350 に答える