前回は、リスト型攻撃に対抗すべく皆さんが行なえる対策について提案させていただきました。そこでも解説したとおり、根本的な問題に「パスワードの使い回し」や、「安易なパスワードの設定」があるわけですが、筆者は、世の中で一般に適用されている”あるルール”がそうした状況を誘発しているのではないかと考えています。今回はそのルールを紹介しますので、皆さんには、ルールの是非について考えていただきましょう。
著者プロフィール辻 伸弘氏(Tsuji Nobuhiro) - ソフトバンク・テクノロジー株式会社
セキュリティエンジニアとして、主にペネトレーション検査などに従事している。民間企業、官公庁問わず多くの検査実績を持つ。また、アノニマスの一面からみ見えるようなハクティビズムやセキュリティ事故などによる情勢の調査分析なども行っている。趣味として、自宅でのハニーポット運用、IDSによる監視などを行う。
弊害を生むルールとは
弊害を生む可能性があるルールというのはズバリ「パスワードの定期変更」。「パスワードは●日ごとに変更してください」というアレです。
以前にも紹介したトレンドマイクロ社の調べによると、ユーザ1人あたりが利用する、認証が必要なサイトの平均数は約14。人によってはこれ以上の数を使っているでしょう(ちなみに筆者のパスワードマネージャで確認したところ、100を超える認証情報がありました)。この状況でパスワードマネージャを使わずにパスワードを数十日毎に変更しようとするとどうなるでしょうか。
以前紹介した「リスト型攻撃」の餌食にされてしまうパスワードの使い回しに加えて、覚えやすく安易なパスワードの設定を誘発する状況ができると筆者は考えています。
それでも、相当の効果があるのであれば無下に否定はできません。そこで、以下では定期変更の有効性について見ていきましょう。
定期変更が推進される理由
まずは、定期変更を採用する理由になっているであろうものを挙げてみます。これは下記の2つだと思います。
(1) 認証を突破される可能性の低減
(2) 認証を突破された後の被害拡大を低減
それではこの2つ、それぞれの有効性について検証します。
(1) 認証を突破される可能性の低減
これは連続したログイン試行をしてくることを想定しています。言い換えればブルートフォース攻撃を想定したもので、攻撃者がすべてのパターンのログインを試行する前にパスワードを変更してしまえば不正ログインを防ぐことができるだろうということでしょう。
これは「攻撃者がすべてのパターンを試すこと」という前提に成り立っています。例えば、8文字の英小文字のパスワードの突破を試みる攻撃者は、「aaaaaaaa」からスタートして「zzzzzzzz」までの約2000億パターンを試すことになるので相当の時間がかかるだろうということです。
しかし、現実と計算上は必ずしも一致するわけではありません。「aaaaaaaa」や辞書に掲載されているような「password」といった安易な文字列は即突破されてしまうことでしょう。計算と現実は必ずしもイコールとはならないわけです。
突破される可能性を低減するのであれば定期変更よりパスワードの桁数と使用可能な文字種を増やしたり、一定回数ログインに失敗するとロックアウトするアカウントロック機能を導入したりするほうが有効性は高いと考えます。
なお、アカウントロック機能に関しては、実行されると正規のユーザもログインできなくなってしまいます。攻撃者が多数のユーザに対して悪戯にログイン試行を行った場合、サービスそのものが実質使えなくなってしまう状況に陥りかねませんので、その点ついては一考する必要があることを忘れてはいけません。
(2) 認証を突破された後の被害拡大を低減
これは、仮にパスワードが突破されても、定期変更すれば、それ以降の被害拡大は低減できるということでしょう。こちらについては短期的と長期的の2つの観点に分けて見ていきましょう。
まずは、短期的。短期的な例で分かりやすいものはオンラインバンキングでしょう。オンラインバンキングでは、ログイン日時や操作履歴が残り、中にはお金を移動するとメールによる通知が行なわれるといった早期に検知できる仕組みが導入されている場合があります。よって、攻撃者は不正ログインに成功したら即座にことをすませようとするでしょう。短期的に考えた場合、攻撃者は即行動を起こすため定期変更のタイミングなどでは被害を最小限に抑えることにはならないわけです。
さらに、オンラインバンキングでお金を移動する場合、ワンタイムトークンやマトリックス表(指示されたマスに書かれた文字を入力するための表)などを組み合わせた多要素認証が採用されていますので、パスワードだけでは実際にアクションを起こすことは難しくなっています。
被害を最小限に抑えるには多要素認証を用いたり、早期に発見できる仕組みを整えたりすることが重要であると言えるでしょう。
次に長期的。例として、機密情報が保存されている組織内のサーバにアクセスできる役員のパスワードが突破され、なりすましによる長期監視が行なわれた場合を考えてみましょう。
パスワードが変更されるまでの間、機密情報は筒抜けになりますが、パスワードが変更された後は、情報を盗み見することはできなくなります。つまり、継続的に更新・追加されていく情報を追跡するなりすまし被害の範囲を抑える役には立つといえます。極めて効果は限定的ですが、しないよりしたほうがよいというものでしょう。
ただ、パスワードが変更されるまでの間に盗み見され、持ち出される可能性は残ります。こう考えると、定期変更に力を注ぐよりも、堅牢なパスワードの設定や、認証の成否/時間の監視などに注力する方が合理的であると筆者は考えます。
それでもパスワードの定期変更は必要でしょうか?
いかがでしょうか? パスワードの定期変更は合理的でないと感じませんでしたか?
それだけではなく、安易なパスワードを設定させたり、使い回しをさせたりするといった弊害を生む原因にもなるわけです。
これらを考えると定期変更というルールは、よほどの理由がある場合を除き、姿を消すべきではないでしょうか。特にインターネット上のWebサービスにおいては。
みなさんはどう考えますか。