パスワードを狙う攻撃と対策:辞書・総当り・リスト・レインボーテーブル

総当り・辞書・パスワードリスト・レインボーテーブル攻撃の違いと、ソルトや多要素認証など有効な対策を整理する。

編集・検証: 情報セキュリティマネジメントスタディ編集部 公式情報: IPA 情報セキュリティマネジメント試験公式ページ 制作・検証方針

今回はパスワードを狙う代表的な攻撃手法を整理するわ。攻撃の違いと有効な対策をセットで覚えましょう。

紺野 アキ(普段) 紺野 アキ

パスワードを破る攻撃っていろいろ名前があるよね? 全部同じに見えちゃう…

銀城 ナディア 先生(笑顔) 銀城 ナディア 先生

手口ごとに違いがあるのよ。
まず総当り攻撃(ブルートフォース攻撃)は、考えられる文字の組み合わせを片っ端から試す方法ね。

灰原 さや(普段) 灰原 さや

力任せですね。
桁数が長く、使える文字種が多いほど組み合わせが爆発的に増えて破りにくくなります。

薔薇崎 ねむ(普段) 薔薇崎 ねむ

じゃあ辞書に載ってる言葉を使うのは…あぶないんですかぁ?

銀城 ナディア 先生(普段) 銀城 ナディア 先生

そこを突くのが辞書攻撃よ。
よく使われる単語や人名をリスト化して試すの。
『password』や『123456』なんかは真っ先に狙われるわ。

紺野 アキ(びっくり) 紺野 アキ

他のサイトで使ってたパスワードが漏れると危ないって聞いたよ!

銀城 ナディア 先生(普段) 銀城 ナディア 先生

それがパスワードリスト攻撃ね。
どこかで漏えいしたIDとパスワードの組を、別のサイトのログインに使い回すの。
同じパスワードの使い回しが原因よ。

灰原 さや(普段) 灰原 さや

だからパスワードの使い回しは禁物なのですね。
サイトごとに違うものを設定すべきです。

薔薇崎 ねむ(普段) 薔薇崎 ねむ

レインボーテーブル…って虹の表ですかぁ? かわいい名前ですねぇ。

銀城 ナディア 先生(普段) 銀城 ナディア 先生

名前はかわいいけど強力よ。
レインボーテーブル攻撃は、パスワードとハッシュ値の対応をあらかじめ計算した表を使って、盗んだハッシュから元のパスワードを高速に逆引きするの。

紺野 アキ(びっくり) 紺野 アキ

ハッシュにしてても破られちゃうの? じゃあどう守ればいいの?

銀城 ナディア 先生(笑顔) 銀城 ナディア 先生

保存時に利用者ごとに異なるソルトをパスワードへ加えてからハッシュ化するの。
そうすると事前計算の表が使えなくなって、レインボーテーブル攻撃を防げるわ。

灰原 さや(普段) 灰原 さや

ログイン試行そのものへの対策も要りますね。
回数制限をかける方法があります。

銀城 ナディア 先生(笑顔) 銀城 ナディア 先生

ええ。
一定回数失敗したら止めるアカウントロックは総当りや辞書攻撃に有効よ。
加えて多要素認証を使えば、パスワードが漏れても不正ログインを防ぎやすくなるわ。

薔薇崎 ねむ(普段) 薔薇崎 ねむ

手口ごとに、効く対策が違うんですねぇ…

銀城 ナディア 先生(笑顔) 銀城 ナディア 先生

そう、そこが試験のポイントよ。
攻撃名と対策の対応をしっかり結び付けておきましょうね。

確認クイズ

利用者ごとに異なるランダムな文字列をパスワードに付加してからハッシュ化することで、特に有効に防げる攻撃はどれか。

  1. 総当り攻撃
  2. 辞書攻撃
  3. レインボーテーブル攻撃
  4. パスワードリスト攻撃
こたえを見る

正解: 3. レインボーテーブル攻撃

正解はレインボーテーブル攻撃。ソルトを付加するとパスワードとハッシュ値の対応があらかじめ計算した表と一致しなくなり、事前計算表による逆引きが無効になる。総当り・辞書攻撃は入力を総当りするため事前表とは無関係で、主な対策はアカウントロックや桁数増。パスワードリスト攻撃は使い回しの悪用であり、対策はパスワードを使い回さないこと。

灰原さや、紺野アキが冬のリンクでアイススケートを楽しむ様子

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。