ハッカー目線で考える、強力なパスワードを実現するための 5 つのヒント
800社以上の顧客にセキュリティ診断ツールを提供しているPentera社のセキュリティアナリストがお勧めする、強力なパスワードのルールをご紹介します。
また、セキュリティ診断ツールを利用して、パスワードの強化を行う方法、ユーザー名やパスワード等の漏洩を確認する方法についてもご紹介します。
●データ侵害の80%がパスワード起因
世界中のデータ侵害の80%が、ハッキングされたパスワードによって引き起こされていると言ったら信じますか?
Verizon Data Breach Investigations が提供する、Data Breach Investigations Report 2022によると、2位以下の脆弱性の悪用、ブルートフォース攻撃、バックドアの設置等による被害がそれぞれ10%前後(重複有り)であるのに対して、ハッキングされたパスワードによる被害が突出して多い事がわかります。
これは、ハッカーによるシステムへの侵入を阻止するために、強力なパスワードを使用することが極めて重要であることを表しています。
多くのパスワードは単純な単語に基づいており、ハッカーにより簡単に解読され、個人データにアクセスするために使用されています。
「Password1」が依然として最も一般的なパスワードであり、このパスワードはほとんどの組織のパスワード ポリシー (8 文字以上、大文字/小文字と数字の組み合わせ) を満たしているにもかかわらず、弊社が取り扱う、自動セキュリティ診断ツールのベンダーであるPentera社の調査では、わずか数秒でハッカーに解読される可能性があります。
実際、多くのお客様においてPentera社の自動セキュリティ診断ツールを用いた侵入テストを実施された結果として、かなりの割合のパスワードが簡単に解読され、攻撃に利用されることがわかっています。
ネットワークトラフィックの盗聴などの手段を用いて資格情報入手し、パスワードの解読を試みると、パスワードの約20%はごく短時間で解読可能な簡単なものであり、さらに50%のパスワードは強力なGPUを使用するとわずか数時間で解読できると言う結果が得られています。
では、どの様なパスワードを使用すべきなのでしょうか?
●Pentera社のセキュリティアナリストがお勧めする強力なパスワードのルール
800社以上の顧客にセキュリティ診断ツールを提供しているPentera社のセキュリティアナリストがお勧めする強力なパスワードのルールは以下の通りです。
#1 一般的な辞書の単語を使用しない
例: Password1、Football01 ー これらは単純な単語と数字の組み合わせで構成されています。
Pa$$word1、F00tball01 ー これらは辞書攻撃ツールによって簡単に解読されるためです。
#2 パスワードには連続した文字や数字を使用しない
例: 123456、abcdef、Ab123456 のようなパスワードは、実際には3文字のパスワードと同じ強度しかありません。
#3 SNS経由で簡単に入手できる個人情報を使用しない
子供やペットの名前などをパスワードやユーザー名の一部として使用しないでください。
#4 複数の文字種を組み合わせた長いパスワードを使用する
大文字、小文字、数字、特殊文字を組み合わせて、より多くの文字を使用してください。強力なパスワードを実現するには、パスワードの長さが重要です。文字数が多くても覚えやすく、特殊文字も追加したパスフレーズの使用を検討してください。
例: ILikeMarsBars!!
#5 パスワードを予測できないものにする
パスワードの途中に数字や特殊文字、タイプミスのある単語は有効です。
例: ILike4FourNumbers!、Ihave2Twokidz。
また、キーボードの配列に従ったパスワードを使用されている事がありますが、これらもハッカーにとっては容易に解読できるパスワードです。
例:-pl,mko0 ー 一見複雑で強力なパスワードに見えますが、キーボードの並びに従って順番にタイプしているだけです。
●ADユーザーのパスワード強度検査について
この記事をご覧の方が如何に強力なパスワードを使用されようとも、残念ながら所属する企業/組織においては、依然として弱いパスワードを用いているユーザーが多数存在し、データ侵害のリスクがある事は前述の通りです。
では、どのようにして脆弱なパスワードを使用しているユーザーを洗い出し、パスワードの強化を行えば良いのでしょうか?
ユーザーの管理にActive Directoryを用いている場合、Pentera社のセキュリティ自動診断ツールPentera Coreをお勧めします。
Pentera Coreには「AD Password Strength Assessment」と呼ばれる、ADに登録されたユーザーのパスワード強度等を評価する機能が用意されています。
AD Password Strength Assessmentでは、ADに登録されたユーザーについて、以下の内容を検査可能です。
- パスワードの強度(4段階)
- パスワードポリシーへの適合性
- パスワード変更履歴、ログイン履歴
- ユーザーの有効/無効
パスワード強度検査は、実際のハッカーが使用するテクニック(パスワードハッシュの解読)を用いて行われ、解読に成功したパスワードについては、実際にそのパスワードを表示する事も可能です。
これにより、管理者権限を持つ重要なユーザーが脆弱なパスワードを使用していないか、アプリケーションの開発等で用いられたテストユーザーなどが残っていないかなどの、脆弱性を洗い出す事が可能になります。
ここでご紹介させていただきましたPentera Coreについて、ご興味がございましたら、以下URLより問い合わせをお願いします。
●ユーザー情報の漏洩確認について
パスワードについてはもう1つ懸念点があります。
ユーザー名やパスワードの漏洩です。
つい最近もある企業のコールセンターシステムに保存されていた顧客情報が不正に持ち出され、実際にそのデータが悪用されるという事件が発生しました。
つまり、如何に強力なパスワードを使用していても、このような形で漏洩してしまうと無意味になってしまいます。
Pentera Coreにはこのような漏洩したユーザー情報を把握するための、「Credentials Exposure」と呼ばれる機能も用意されています。
Credentials ExposureはAD Password Strength Assessmentのオプション機能として用意されており、ADに登録されたユーザーについて、以下の内容を検査可能です。
- アカウント(メールアドレス、ログインユーザー名)、パスワード、パスワードハッシュ値が外部(ダークネット等)に漏洩しているか
- 漏洩しているのであれば、それが最初、最後に確認された日時
- どこから情報を得たのか