私たちはインターネットを使い始めた頃から、パスワードの適切な使い方を徹底的に教え込まれてきました。今日のほとんどのオンラインサービスでは、少なくともある程度安全なパスワード、つまり大文字と小文字、文字と数字を組み合わせたパスワードの使用が求められます。非常に安全なパスワードを作った後、その安全なパスワードをあらゆる用途に使いたくなるかもしれません。しかし、そうすることで安全性は低下してしまいます。
パスワードを再利用してはいけないのはなぜですか?
パスワードを使い回すと、そのパスワードを使用しているすべてのアカウントのセキュリティが大幅に低下します。ログイン情報を保存しているサービスや企業の1つでもデータ漏洩が発生すると、同じメールアドレスとパスワードの組み合わせで登録している他のすべてのアカウントに誰かがアクセスできる可能性があります。「でも、犯罪者は私がそのパスワードを他にどこで使っているかどうやって知るのだろう?」と疑問に思うかもしれません。これは良い質問であり、重要な質問です。

簡単に言えば、サイバー犯罪者は自動化とボットを使用して、侵害されたログイン認証情報を取得し、多数の有名なサービス(Facebook、Instagram、Twitter、主要な銀行のWebサイト、PayPalなど)に自動的にログインしようとします。
ログイン認証情報が漏洩する可能性があるのはデータ侵害だけではありません。サイバー犯罪者がパスワードを解読するために使用できる手法は数多くあります。幸いなことに、安全で固有のパスワードを使用している場合、パスワードを解読するのは非常に困難です。しかし、強力なパスワードを使用していない場合は、攻撃者に簡単に解読される可能性があります。
データ侵害はできるだけ早く公表されるべきですが、パスワードが解読された場合は、何の発表もありません。もしあなたが利用しているサービスが侵害を受け、ログイン情報が漏洩した可能性があると分かった場合、ダークウェブに流出する前に情報を変更する機会があります。
最悪のシナリオ
業界でよく言われるように、「完全に乗っ取られる」(発音は「ポウンド」、韻は「ストーンド」)状態になると、具体的にどのような影響が考えられるでしょうか?ここで言う「乗っ取られる」とは、自分のアカウントやネットワークを完全に制御できなくなることを意味します。自分自身やシステムが乗っ取られると、制御権を握った者の言いなりになってしまいます。
例えば、Amazon、Facebook、オンラインバンキングなど、複数のウェブサイトで同じログイン認証情報を使い回している場合、これらのウェブサイトのうち1つでも侵害されると、すべてのウェブサイトが侵害される可能性があります。このリストを見るだけでも、攻撃者が引き起こしうる壊滅的な被害の大きさが分かります。Amazonアカウントがあれば、あなたのお金を騙し取って買い物をすることができます。Facebookアカウントがあれば、個人情報を盗み、あなたの連絡先に悪意のあるメッセージを送信することができます。そして、オンラインバンキングアカウントにアクセスできれば、そこに存在する深刻な被害の可能性は想像に難くありません。
パスワードはどのように解読されるのでしょうか?
ログイン認証情報が漏洩するデータ侵害の多くでは、通常、それらは暗号化された形式で提供されます。認証情報が適切に暗号化、ハッシュ化、ソルト化されていれば、犯罪者がアクセスするのは非常に困難です。サービスのパスワードデータベースを取得しただけでは、犯罪者がそのデータを使って何でもできるとは限りません。
残念ながら、多くのウェブサイトは、パスワードの暗号化と、パスワードを入手した人が簡単に解読できないようにするためのベストプラクティスをまだ遵守していません。信じられないかもしれませんが、すべてのパスワードが平文で保存されていたデータ漏洩の報告を今でも時折目にします。パスワードが平文であれば、誰でも解読できてしまうのです。
パスワードが適切に保護され、暗号化されている場合、攻撃者による解読ははるかに困難になります。適切に暗号化、ハッシュ化、ソルト化された強力なパスワードは、攻撃者にとって解読が非常に困難です。それでは、解読に使用できるテクニックをいくつか見ていきましょう。
辞書攻撃
辞書とは、パスワードの候補をまとめたデータベースです。辞書と呼ばれるのは、伝統的に辞書に載っている単語で構成され、場合によってはそれらのバリエーションや組み合わせが加えられているためです。攻撃者は、パスワードの候補がわかっている場合、カスタム辞書を使用する可能性があります。
例えば、攻撃者がパスワードがモーターレースに関連するものだと考えている場合、そのテーマに関連する単語のデータベースを利用する可能性があります。また、一般的に最もよく使用されるパスワードのリストを含む辞書も利用可能です。
ブルートフォース
3つの数字ダイヤルが付いた南京錠を目の前にしたと想像してみてください。正しい解錠番号を何も知らなくても、000から始めて001、002、003…と順番に999まで進めば、正しい番号が見つかるはずです。時間はかかりますが、最終的には正しい番号にたどり着くでしょう。これがブルートフォース攻撃の仕組みです。
コンピュータのパスワードは3文字以上あり、各文字は大文字、小文字、数字、特殊文字のいずれかになります。しかし、同じ原則に従い、あらゆる組み合わせを順番に試していくことで、ブルートフォース攻撃は最終的に正しい答えを見つけ出します。
レインボーテーブル
レインボーテーブルは辞書攻撃に似ていますが、辞書の代わりにレインボーテーブルを使用します。レインボーテーブルは、事前に計算されたハッシュを含む巨大なデータベース(テラバイト単位)です。辞書攻撃では、試行されるパスワードごとにこれらのハッシュを計算する必要があるため、レインボーテーブルははるかに高速な攻撃手法となります。レインボーテーブルの欠点は、その巨大なサイズと、実行に必要な膨大な計算能力です。また、パスワードのハッシュにソルトを付与することでも攻撃を破ることができます。ソルトとは、ハッシュを計算する前にパスワードにランダムな文字列を追加することです。
パスワードを管理する最良の方法は、パスワードマネージャーを使うことです。パスワードマネージャーは安全なパスワードを生成・記憶してくれるので、あらゆるサービスで事実上解読不可能なパスワードを利用できます。パスワードを使い回す誘惑に負けないようにしましょう。使い回すと安全性が大幅に低下します。