2020/05/16

パスワードクラッキングツールからパスワードの最適解を考えてみる 【Medusa】


「Medusa(メデューサ)」と聞いて皆さんは何を思い浮かべるだろうか?

メデューサとは、ギリシア神話に登場する怪物で、宝石のように輝く目を持ち、見たものを石に変える能力を持つ。

そういえば、聖闘士星矢にも「メデューサの盾」なるものがあったな。

ただ、今日のMedusaは聖闘士星矢ではなく、パスワードクラッキングツールの話。

ツールを使ってパスワードクラッキングを行う場合、総当たり(ブルートフォース)攻撃の場合、果てしなく時間がかかるため、辞書攻撃の方が効率が良いと考えられる。

では辞書攻撃に使うリストは一体どこにあるかと言うと、インターネット上に広く出回っている。

Openwallプロジェクトでは、パスワード紛失時の復旧手段の提供の位置づけで、3,000円くらいでワードリストを提供している。

このワードリストは、20ヶ国以上の単語リストや、単語リストの結合、大文字⇔小文字変換、数字⇔単語を変換したもの等、5000万弱のパターンが収録されているらしい。

さすがに有償なので、実際の中身は見ることができないが、コストをかけずとも、NGなパスワードリスト トップ100万くらいまでであれば、無償で入手できる。

このご時世、丁寧に調べ方をYouTubeにアップされている方もいるので、詳細は割愛したい。


で、この100万件のパスワードリストをみて感じたのは、

・NISC(内閣サイバーセキュリティセンター)が推奨する、英大文字小文字+数字+記号の組み合わせで10桁以上は有効(特に記号を加える点がポイント)

・万一どこかのサイトでパスワードが漏れたら、それが攻撃の際に使用されるパスワードリストに加えられることを認識する(一度流出したらいかにパスワードレベルが強固でも変更が必要)

・サイトごとに異なるパスワードを設定したほうが、漏洩時のダメージは少なくて済む

と言った感じ。

自分はパスワードに記号を加える運用は一部でしか実施していないのだが、記号の追加を真剣に考えようと思った。

【参考】
https://www.slideshare.net/ozuma5119/dictionary-attack
https://geeks-world.github.io/articles/J434216/index.html
http://sec-v6.blogspot.com/2012/12/medusa.html