コンテンツにスキップ

Index

ユーザー名列挙

説明

列挙手法は、登録済みユーザーを特定するための非常に高速な方法です。 有効なユーザー名を使用すると、効果的なブルートフォース攻撃を試みて、ユーザーアカウントのパスワードを推測される可能性があります。

推奨事項

有効なユーザー名と無効なユーザー名を区別するためにページや API が使用されないようにしてください。

  • ログイン:

ログインに失敗した場合は、必ず「ユーザー名またはパスワードが間違っています」などの一般的なメッセージを返すようにしてください。さらに、存在しないユーザー名に対して誤ったパスワードが入力された場合でも、HTTP 応答と応答時間が異ならないようにしてください。

  • パスワードのリセット:

「パスワードをお忘れの方」のページでユーザー名が漏洩しないようにしてください。パスワードのリセットプロセスに電子メールの送信が含まれる場合は、ユーザーに電子メールアドレスを入力させます。その後、アカウントが存在する場合は、パスワードリセットリンクを含む電子メールを送信します。

  • 登録:

入力されたユーザー名がすでに使用されていることをサイトで伝えないようにしてください。ユーザー名が電子メールアドレスである場合、ユーザーが既存のアドレスでサインアップしようとしたら、パスワードリセットの電子メールを送信します。ユーザー名が電子メールアドレスではない場合、サインアップページを CAPTCHA で保護します。

  • プロフィールページ:

ユーザーにプロフィールページがある場合は、ログイン済みの他のユーザーのみが閲覧できるようにしてください。プロフィールページを非表示にする場合は、非表示のプロフィールと存在しないプロフィールが区別できないようにしてください。

リンク

基準

  • PCI_STANDARDS:
    • REQ_6_2
    • REQ_6_3
    • REQ_6_4
  • HIPAA_CONTROLS:
    • SECURITY221
    • SECURITY212
    • SECURITY213