セキュリティのもっとも基本的な要素がパスワードであることに異論はないと思います。パスワードは大変重要なため、パスワードを作成する際に特定のパターンや習慣を持ち、全てにおいて同じパスワードを使うか、あるいは同じパターンで設定しています。我々は自分のパスワードを忘れることなく、もし忘れてもどうすればよいか知っています。パスワードはとても重要なため、パスワードマネージャやパスワード復旧ツールなどのニッチな産業が生まれています。
それでも、ほとんどのパスワードはどうしようもないほど脆弱です。
Ars Technicaの副編集長兼レポーターであるネート・アンダーソン(Nate Anderson)氏は、パスワードの解析に挑戦してみました。経験もなく、トレーニングを受けることもなく、彼は用意したリストの半分のパスワードを解析することに成功しました。しかも1日かけずに、ありふれたノートPCとネット上に転がっている無料ツールを使っただけです(詳細はこちら)。
続いて、セキュリティコンサルタント、セキュリティソフト開発者、そして匿名(Anonymousではない)のハッカーの3名によって解析が試みられました。コンサルタントは20時間で90%、開発者は1時間ちょっとで82%の解析に成功しました。そしてハッカーは、62%を解析した上でArs Technicaのインタビューを受け、全体で約1時間しかかかりませんでした。このように、実に簡単に解析されました。
我々は推測が困難なパスワードがどういったものかを知っているはずです。
- 少なくとも8文字以上で構成する
- 大文字、小文字、数字、記号を組み合わせる
- 期限を設定して定期的にパスワードを変更する
- 実名やユーザ名を使わない
- パスワード履歴を管理する
- その他もろもろ
もし上記の1つでも欠けていると、パスワードの脆弱性が大幅に増してしまいます。単純な話、ハッカーはまず6つの小文字だけで作成された「とっつきやすい」パスワードから始め、次に少し難しいところで小文字と大文字が使われている6文字にかかります。簡単なものなら数分で解析されますが、複雑になればなるほど時間がかかります。複雑なパスワードの作成に推奨されるベストプラクティスを活用すれば非常に解析されにくいパスワードを設定することができます。Ars Technicaがこのことについて細かく述べており、匿名ハッカーがそれを以下のようにまとめています
パターンを特定し、マスクをかけ、修復されたパスワードを新しい辞書に追加し、ルールに沿ってマスクを再試行し、新しいパターンを特定する、など。もしハッシュのソースが分かれば、企業のWebサイトをチェックして特定の分野に関連する語彙のリストを作り、あとは満足な結果が得られるまで操作を繰り返すだけだ。
他のネットワークセキュリティもそうですが、最善のパスワードポリシーは、ユーザが望むもので、フォローできるものであるべきです。ユーザが、パスワードが複雑でなければならない理由を理解していなければ、パスワードの複雑化に協力してはくれないでしょう。もしマネジメントやステークホルダたちが、パスワードの複雑化に難色を示すならば、16,000ものパスワードがハッカー達にたやすく見破られた事実を付き付けてください。そして、もしユーザに複雑なパスワードのポリシーを納得してもらえることができれば、それはつまりネットワークのセキュリティが向上し、ユーザのためにもなるのです。
本稿は、バラクーダネットワークスのWebサイトに掲載されている『バラクーダラボ』8月5日付の記事の転載です。