攻撃者の視点で学ぶサイバーセキュリティ ― 辞書攻撃編 ―

1. はじめに

こんにちは!みゃーです。昨今サイバー攻撃についてニュースで耳にする方も多いかと思います。サイバー攻撃は、事例によっては何億円もの損害になってしまう、またはお金では解決できない重大な個人情報の流出に繋がってしまいます。
確かにサイバーセキュリティが重要なのはわかる、でもいまいちピンとこない。そんな方に向けて、普段セキュリティの仕事をしている私がサイバーセキュリティをもっと身近に感じていただきたく、体験型の記事として本記事を書いております。
今回は攻撃手法の一つ、辞書攻撃について、実際の攻撃手法を体感していただこうと思います。あなたも実際に手を動かして、サイバー攻撃の恐ろしさについて一緒に考えてみましょう!

2. 攻撃者の目線になる

サイバーセキュリティを考えるには、攻撃者の目線になることが大事です。まず、もし自分が悪い人だったらこうやって攻撃ができるな、と考え、そしてそれを防ぐにはどうしたらいいのか、というプロセスを踏みます。
攻撃手法を公開しても大丈夫なの?心優しいあなたはそう思ったかもしれません。しかし、あなたが善良な心を持っていたとしても、世の中にいる悪い人の心を変えることはできません。現在サイバーセキュリティで有効とされている対策は、あえて既にある攻撃手法について積極的に公開し、世間全体的なセキュリティ水準を上げていくことで、攻撃の被害を最小限にしていくという方針で作られています。

3. 辞書攻撃とは?

では早速、辞書攻撃について見ていきましょう。辞書攻撃とは、その名の通り辞書を使ってパスワード入力を一つ一つ試していく攻撃手法です。手口はシンプルですが、もし成功してしまった場合にアカウントが乗っ取られてしまう極めて危険な攻撃です。
似た手法に「総当たり攻撃(ブルートフォース攻撃)」がありますが、総当たり攻撃が考えうるすべての文字列を試行するのに対して辞書攻撃は実際に流出実績のあるパスワードリスト(辞書)等を使って試行するので、人間が考えつきそうな文字列だけを効率的に試すことができます。

4. 見てみよう!パスワード辞書

犯罪にパスワード辞書は裏取引で流通しているようですが、なんと公開されているものもあります!

以下リンク先のサイトweakpass.comは、サイバーセキュリティのため、世界中で使われている脆弱なパスワード辞書を公開しております。ここにあるファイルはセキュリティ現場でペネトレーションテスト(実際に攻撃してみるテスト)に使われる本物のパスワード辞書です。今回はその中でも特に有名なrockyou.txtという辞書ファイルをダウンロードして、中身を見てみましょう。

※学習目的であっても絶対に他人のアカウントログインに使用しないでください!

https://weakpass.com/wordlists/rockyou.txt

weakpass.comページ内のDownload内「rockyou.txt.gz」をクリックする操作説明

アクセスできたら、画像の通りDownloadの「rockyou.txt.gz」をクリックしてダウンロードし、解凍してテキストエディタで中身を見てみてください。

※1もし標準機能でダウンロードファイルが解凍できない場合、7zipなどを使って解凍を試してみてください。
※2 解凍後のファイルは容量が大きいため、通常のメモ帳ではクラッシュしてしまいます。Meryなど他のテキストエディタで開くことをお勧めします。

無事開けましたでしょうか。こちらが世界中で漏洩したパスワードの一覧です。上から漏洩数が多い順、つまり世界中の人が設定しがちなパスワードとなっています。実際の辞書攻撃では、このようなパスワードの辞書ファイルを使ってプログラムで自動でログインを試していき、合致した場合に認証ができてしまうという手法が取られています。

rockyou.txtで確認できる世界中で漏洩したパスワードの一覧の画像

世界規模での多い順になっているので、princessやbabygirlなど、日本人の発想ではあまりつけないようなものも上位に見られます。しかし123456やpasswordなど、あまりにも安易なパスワードが実際に使われ、そして漏洩していることが言えます。もしパスワードにこのような単純な文字列を使っている場合、今すぐ変更しましょう。

5.思いつくパスワード、入れてみた

世界規模なら、むしろ日本人には関係ないんじゃない?確かに一理ありますが、日本語も話者が1億人以上いる極めてメジャーな言語だということを忘れないでください。ここで筆者がrockyou.txt内を検索して、日本人がつけそうなパスワードがあるかどうか調べてみました。

rockyou.txt内で「sakura(桜)」を調べた結果:114位
sakura(桜): 114位
rockyou.txt内で「songoku(孫悟空)」を調べた結果:14381位
songoku(孫悟空): 14381位
rockyou.txt内で「Aishiteru(愛してる)」を調べた結果:440375位
Aishiteru(愛してる): 440375位
rockyou.txt内で「daisuki(大好き)」を調べた結果:440375位
daisuki(大好き): 20024位

このrockyou.txtには約1434万個の過去に流出したパスワードがあります。記載した他にも日本人が付けそうなパスワードを様々調べると相当数ヒットしましたが、ここでは割愛します。皆さんの目で確かめてみてください。

6. まとめ

以上、今回はサイバー攻撃の手法の一つである辞書攻撃についてご紹介しました。順位が低いから安全という訳ではありません。実際の攻撃ではプログラムを使って自動でログイン試行をするので、たとえ1000万位であろうとも辞書にあれば少しの時間でログインできてしまいます。

皆さんもご自身でrockyou.txtをダウンロードして、ご自身が使っているパスワードの安全性を調べてみて、是非セキュリティに役立ててください。

参考文献:野溝のみぞう、2024、『7日間でハッキングをはじめる本――TryHackMeを使って身体で覚える攻撃手法と脆弱性』、翔泳社

作者情報

限界に挑む熱き冒険者。
次に旅する国と覚える言語を模索中。
大体のことは気合で何とかなると思ってる。