逆総当たり攻撃・レインボーテーブル・デフォルトは悪|ハッキングの想像力を知る

セキュリティ

「ハッキング」と聞くと、暗い部屋で黒い画面に向かい、複雑なコードを高速で打ち込む姿を想像するかもしれない。しかし、その本質は驚くほど柔軟な「想像力」と、システムの仕様を逆手に取る「論理的なパズル」にある。

情シス部門でセキュリティ管理を担当してきて強く感じるのは、攻撃者は私たちが作った「ルール」を丁寧に観察し、その裏をかく方法を考えているということだ。防御側が知らなければならないのは、最新の防御技術より「敵の視点」だ。


この記事でわかること

  • ログイン制限を無効化する「逆総当たり攻撃(パスワードスプレー攻撃)」の仕組み
  • ハッシュ化を無効化する「レインボーテーブル」と、それを防ぐ「ソルト」の知恵
  • パリの給油機事件が教える「デフォルトは悪」の教訓
  • 情シスが今すぐ実施すべき具体的な対策

1. ログイン制限を無効化する「逆転の発想」|逆総当たり攻撃

📌 要点:パスワードではなくユーザー名を変え続けることで、現代のアカウントロック機能を完全に回避できる「逆総当たり攻撃(パスワードスプレー)」が存在する。

今のWebサービスは非常に強固に守られている。ログインに数回失敗するとアカウントがロックされ、数時間は操作不能になる。古典的な総当たり攻撃(辞書攻撃)は現代ではほぼ通用しない。

しかし、ハッカーはこの「数回失敗するとロックがかかる」という仕様そのものを利用する。それが 逆総当たり攻撃(パスワードスプレー攻撃) だ。

やり方は単純だ。パスワードを「123456」に固定したまま、ユーザー名(ID)の方を次々と変えていく。

試行1:ユーザー名「tanaka@example.com」 パスワード「123456」→ 失敗
試行2:ユーザー名「suzuki@example.com」 パスワード「123456」→ 失敗
試行3:ユーザー名「yamada@example.com」 パスワード「123456」→ 成功!

一人のユーザーに対しては1回しか試さないため、サービスのロック機能は「単なるログインエラー」として見過ごしてしまう。しかし攻撃側は、膨大なメールアドレスのリストに対してこの攻撃を爆速で実行し、「たまたま安直なパスワードを使っている誰か」を見つけ出す。

特定の誰かを狙うのではなく、広大な砂漠の中から「鍵が開いたまま」の家を一軒ずつ探す作業だ。この攻撃が「多要素認証(MFA)」が必須と言われる根本的な理由でもある。


2. ハッシュ化を無効化する計算済みの辞書|レインボーテーブル

📌 要点:よく使われるパスワードをあらかじめハッシュ化して辞書化したレインボーテーブルにより、「不可逆なはず」のハッシュ値が数秒で解読される。

パスワードは通常そのままの形で保存されておらず、「ハッシュ化」という数学的な処理が施された不可逆な値として保管される。理論上は元のパスワードに戻せない。

しかし、ハッカーはこの「理論上の不可能」を力技の工夫で突破する。それが レインボーテーブル だ。

世の中に出回っている「よく使われるパスワード」をあらかじめ全てハッシュ化し、「元の文字」と「計算結果の値」をセットにした巨大な対応表を辞書として持っておく。ハッシュ値が流出した場合、この辞書と照合するだけで元のパスワードが瞬時に特定できてしまう。

「Crackstation」のようなサイトでは、ハッシュ値を入力するだけでパスワードを逆引きできる。ハッシュ化という壁は、辞書を引くのと同じレベルまで低下している。


3. 防御側の「味付け」|ソルトとペッパーという名の知恵

📌 要点:ユーザーごとにランダムな文字列(ソルト)をパスワードに付加してからハッシュ化することで、レインボーテーブルを無効化できる。

レインボーテーブルという巨大な辞書攻撃に対し、開発者側が生み出した対策が ソルト(塩) だ。

ユーザーが「123456」という弱いパスワードを設定したとする。システム側はこれをそのままハッシュ化するのではなく、ユーザーごとに異なるランダムな文字列(例:「hx_5d」)を結合してからハッシュ化する。

ハッシュ化前:「123456」+ 「hx_5d」= 「123456hx_5d」
           ↓
ハッシュ化後:「a8f3k9m2p...」(一般的なレインボーテーブルに存在しない値)

このたったひと手間で、ハッカーが用意した一般的なレインボーテーブルとは合致しなくなり、解読の難易度が飛躍的に上がる。ユーザーに「より複雑なパスワードを」と強要するのには限界がある。だからこそ、システム側で「塩」を振って強制的に頑丈にする。「人間の弱さを前提とした設計」だ。

さらに重要な機密情報にはデータベースとは別の場所に保管された「ペッパー(胡椒)」という共通文字列を足す手法もある。


4. 「0000」が招いた10万リットルの略奪|物理ハッキングの教訓

📌 要点:2019年パリで給油機から10万リットルのガソリンが盗まれた。犯人が使ったのは数千円のリモコン。初期パスワード「0000」が放置されていたことが全ての原因だった。

ハッキングはデジタルだけの話ではない。2019年にパリで起きた事件は、その象徴的な例だ。

10万リットルのガソリンが、インターネットに繋がっていない給油機から盗まれた。

犯人が使ったのは、中古市場で数千円で買った給油機用のリモコンだった。多くの給油機はリモコンで価格設定や管理ができるが、通常は暗証番号が必要だ。しかし、ほとんどのオーナーは出荷時の初期設定「0000」を変更せずに使い続けていた。

「デフォルトは悪」。これが物理世界での教訓だ。

あなたが今使っているWi-Fiルーターのパスワード、オフィスの複合機の管理画面、自宅の見守りカメラ。それらの管理画面のパスワード、出荷時の「admin」や「0000」のままになっていないか?ハッカーにとってそれは施錠されていないドアと同じだ。

情シスの現場では、新しいネットワーク機器を導入した際に「デフォルトパスワードのリスト」を使って全機器の初期パスワードを確認する作業を必ず行う。当たり前に見えるが、これを徹底していない会社が驚くほど多い。


5. 情シスが今すぐ実施すべき対策まとめ

📌 要点:逆総当たり攻撃・レインボーテーブル・デフォルトパスワードの3つのリスクに対応する具体的な技術的対策がある。

攻撃手法対策優先度
逆総当たり攻撃多要素認証(MFA)の全社導入★★★ 最優先
レインボーテーブルパスワードのソルト付きハッシュ化(開発側の対応)★★★
デフォルトパスワード全機器の初期パスワード変更・定期確認★★
パスワードスプレー検知SIEMでの異常ログイン試行監視★★

よくある質問(FAQ)

Q
多要素認証(MFA)を導入すれば逆総当たり攻撃は防げますか?
A

大幅に難易度が上がります。
パスワードが破られても、MFAがある場合は不正ログインを阻止できます。社内ツール・VPN・クラウドサービスへのMFA導入を優先してください。

Q
自分のパスワードがレインボーテーブルに載っているか確認できますか?
A

「Have I Been Pwned?」(haveibeenpwned.com)でメールアドレスを検索すると、過去の流出事件で使われたパスワードが含まれているか確認できます。

Q
ソルトはユーザーが自分で設定するものですか?
A

いいえ、ソルトはシステム側(サーバー・アプリケーション開発者)が実装するものです。
ユーザーが意識することは基本的にありません。ただし、開発者は必ず実装すべき基本要素です。

Q
オフィスのWi-Fiルーターのパスワードを確認・変更するにはどうすればいいですか?
A

ルーターの管理画面(多くは192.168.1.1または192.168.0.1)にアクセスし、ログインパスワードと無線LANのパスワードを変更します。
出荷時の認証情報は機器の裏面に記載されていることが多いので必ず変更してください。

Q
初期パスワードを変えないとどんなリスクがありますか?
A

攻撃者は「機器メーカー名+デフォルトパスワード」を検索するだけで初期認証情報を入手できます。
Shodan等のツールでインターネット上の機器を検索し、デフォルトパスワードで自動ログインを試みるボットも存在します。


まとめ

  • 逆総当たり攻撃はパスワードを「123456」に固定しユーザー名を変え続けることで、アカウントロック機能を無力化する
  • レインボーテーブルはよく使われるパスワードを事前にハッシュ化した辞書であり、「ソルト」の付加で無効化できる
  • パリの給油機事件が示す通り、「デフォルトは悪」。初期設定のままのIoT機器は施錠していないドアと同じだ
  • ハッキングの本質は高度な技術より「ルールの裏をかく想像力」。防御側も同じ視点を持つことが最強の武器になる

攻撃者の視点を学ぶことは、自分たちを安全にするための武器を手に入れることだ。まず身近なデバイスの初期パスワードを確認することから始めてみてほしい。


🔗 関連記事:

タイトルとURLをコピーしました