正解:イ
各選択肢の解説
ア正しいIDとパスワードの組を使っているので、失敗そのものが起きないから。
誤り。これはクレデンシャルスタッフィング(リスト型攻撃)でロックが効きにくい理由です。 どちらも多数のIDを相手にするので混同しますが、場面では全IDに同じパスワードを試し、 失敗の記録が残っています。IDごとに流出した組を使うか、1つのパスワードを当てにいくかで区別します。
イ1つのIDあたりの失敗が1回だけで、ロックする回数に届かないから。
正解。パスワードを固定してIDの側を次々に変えるリバースブルートフォース攻撃です。 ロックはIDごとの失敗回数で働くので、各IDに1回ずつなら何千回試しても条件を満たしません。
ウ盗聴した認証の値を送り直していて、照合では失敗と数えられないから。
誤り。これはリプレイ攻撃の説明です。正規のログインで流れた値を写して使うので、 推測は要らず1回目で通ります。場面のように同じパスワードを多数のIDで試すのは、 値を写す攻撃ではなく、当たるIDを探す攻撃です。
エログイン後のセッションIDを奪っていて、ログインの照合を経ていないから。
誤り。これはセッションハイジャックの説明です。認証が済んだ後のセッションを乗っ取るので、 確かにロックとは無関係に成り立ちます。しかし場面のログはログインを試した記録で、 照合を経ている点が違います。
理解を深めるために
鍵を1本に決めて、ドアのほうを替えていく
ふつうの総当たり攻撃は、1つのドア(ID)に合う鍵(パスワード)を次々に試します。 リバースブルートフォース攻撃は逆で、「Password1」のようなよく使われる鍵を1本に決め、 数千のドアに1回ずつ差し込んでいきます。どこか1つでも開けば攻撃者の勝ちです。
なぜアカウントロックをすり抜けるのか
アカウントロックは「同じIDで何回続けて失敗したか」を数える仕組みです。
- ID固定の総当たりでは、同じIDで失敗が積み重なるので、数回で止められる
- リバースブルートフォースでは、各IDの失敗は1回ずつなので、どのIDもしきい値に届かない
- 攻撃全体の失敗は数千回あっても、ID単位で見ると目立たない
このため対策は、ID単位のロックに頼らないものになります。同じ送信元からの 大量の試行を検知・制限する、よく使われるパスワードを登録させない、 多要素認証を取り入れる、といった組み合わせです。
混同しやすいものとの違い
| 攻撃 | 何を変えながら試すか | ID単位のロックとの関係 |
|---|---|---|
| リバースブルートフォース攻撃 | パスワード固定でIDを変える | IDごとの失敗が少なく届かない |
| 総当たり攻撃 | ID固定でパスワードを変える | 失敗が積み重なり効く |
| クレデンシャルスタッフィング | IDごとに流出した組をそのまま使う | 組が正しければ1回目で通る |
| リプレイ攻撃 | 試さない(盗んだ値を再送) | 1回目で通るので関係しない |
| セッションハイジャック | 試さない(ログイン後を奪う) | 照合を経ないので関係しない |
ログに失敗が大量に残っているのにロックが起きていないときは、 「失敗がどの単位で数えられているか」を確かめると、攻撃の種類が見えてきます。