メニュー
おすすめコラム

2018年12月27日
常識を疑え!ハッカー視点のセキュリティ
筆者)株式会社トライコーダ 上野宣

第10回 パスワードの定期変更より大事なこと、ハッカーはパスワードを使って侵入する

定期変更だけじゃないパスワードのルール

セキュリティのルールには不変なものもありますが、時代によって変化するものもあります。10年前に常識だとされていたルールも、現在では何が最良なのかは確認した方がよいでしょう。
そんな変化したルールの中でも、2016年12月に内閣サイバーセキュリティセンター(NISC)が「情報セキュリティハンドブック」の中で示した「定期的なパスワード変更は不要」というのは、日本のサイバーセキュリティ対策の中心的な役割を担う同組織が示したこともあり話題になりました。2018年3月には総務省も「国民のための情報セキュリティサイト」で同様の見解を示しています。

総務省の見解に影響を与えたものの1つとして、2017年6月にアメリカ国立標準技術研究所(NISC)がリリースした「NIST SP800-63B(電子的認証に関するガイドライン)」があります。このガイドライン(SP800-63-3とその付随文書SP800-63A〜C)は効果的な認証プロセスの選択の仕方や、実装する際の技術や手続きなどの指針を示すものです。認証機能を作る側と、認証機能を運用する側の両方に役立つ内容となっています。

そのガイドラインの中には攻撃者が記憶シークレット(一般的にはパスワード)の正しい値を推測したり特定できないように、十分に複雑で秘密の状態にしておくために下記のような記載があります。

  • ・パスワードは8文字以上
  • ・最低64文字は入力可能にすること
  • ・文字列の複雑さに関する要件(数字や記号などの使用の強制)を課すべきではない
  • ・空白やUnicodeを使用可能にすること
  • ・登録の際にリストと突合すること
    - 過去の漏えいパスワード、辞書、繰り返し/シーケンシャル、文脈から特定可能なもの
  • ・アカウントロック機能を実装すること
  • ・パスワード入力時に入力文字列を表示するためのオプションの提供
  • ・認証の際にはHTTPSを使用
  • ・パスワードを任意で(例えば、定期的に)変更するよう要求すべきではない
    - ただし漏えいしているなど危殆化している証拠がある場合には変更を強制する

この中の「パスワードを任意で(例えば、定期的に)変更するよう要求すべきではない」というところが、「定期変更は不要」という大勢が飛びつきそうなネタとして注目されたのでしょう。
実際には上記にあるように、他にも守るべき事項があった上で、変更を要求するべきではないと言っているのがわかります。 実際にはもう少し細かくルールがあるので、認証機能の設計や運用に携わる人は同ガイドラインに一度は目を通しておくとよいでしょう。日本語に翻訳されたもの(https://openid-foundation-japan.github.io/800-63-3/sp800-63b.ja.html)や、スライド形式で紹介されたもの(https://www.slideshare.net/kthrtty/20171027-nist-sp80063bkthrtty-81333156)もあります。

攻撃者はパスワードをどうやって盗むのか

実際の攻撃者による侵入を考えてみるとどうでしょうか。ハッカーによる侵入というと、マルウェアによる遠隔操作や脆弱性を利用したコマンド実行などを思い浮かべると思いますが、実際にはパスワードを使って侵入することが多々あります。
筆者の会社ではお客さまの社内ネットワークなどに侵入するペネトレーションテストを提供しています。その際の侵入のきっかけはマルウェアや脆弱性であることもありますが、実際にはパスワードを使って多くのシステムやアカウントを乗っ取ることも多数あります。場合によってはその会社のパスワードの運用に問題が多く、脆弱性などを使うまでもなく侵入がスムーズに進むということもあるぐらいです。

攻撃者はパスワードがあるシステムをどのように突破しているのでしょうか。
パスワードを破るためには、オンラインでネットワーク越しに辞書攻撃や総当たり攻撃を行って突破することもできますが、セキュリティ機器や監視サービスなどに検知される可能性が高いので、あまり多用することができません。ある程度パスワードの候補を絞り込んで、認証システムに入力する必要があります。そのためには、かなり確度の高いパスワード候補を用意しないといけないのです。

複合機や監視カメラ、入退室管理などのオフィス系システム、ルーターやスイッチなどのネットワーク機器に多いのが出荷時に設定されているデフォルトパスワードのままの運用です。そのシステムの型番で検索すればメーカーが提供しているマニュアルなどにパスワードが書いてあるので、それを使ってすぐに侵入することができます。
それ以外のパスワードはどうでしょうか。まず簡単なのはJoeアカウントと呼ばれる、アカウント名とパスワードが同じ文字列のものです。他にも名前などの情報から推測できるものも多く見かけます。

意外と多いのが、侵入したPCやサーバ上でパスワードが記載されたファイルを発見することです。しかも、暗号化されていない状態や簡単に復号できることがほとんどで、ユーザーがメモ代わりに置いたものから、ネットワークツールなどの設定ファイルに保存されているものや、開発中のアプリケーションのソースコードに記載されたDBパスワードなどさまざまです。そこから会社の共有パスワードなどが見つかることもしばしばあります。
最近ではクラウド上のファイル共有システムを導入している会社も多く、そのアカウントを手に入れた後に検索機能を使うことでパスワードが含まれたファイルをたくさん発見できることもあります。

また、他の攻撃などの成果としてNTLMハッシュなどのパスワードハッシュが手に入ることもあります。その場合にはそれをオフラインで解析を行います。その際には他所で漏えいしたパスワードなどから作った辞書や、その会社で手に入れた他のパスワード文字列を使うなどして解読するので、8文字程度の弱いパスワードであれば解読できる可能性があります。

パスワードを任意に(例えば、定期的に)変更してもらうことの是非についての議論はありますが、パスワードをどう管理していくかというのは定期変更だけでは語ることができません。今一度自社のパスワード管理について見直してみた方がよいでしょう。