他社のシステムに侵入する『ペネトレーションテスト』を業務とする筆者が、
攻撃者の目線でセキュリティ対策について考えます。
株式会社トライコーダ 代表取締役 上野 宣 氏
奈良先端科学技術大学院大学で情報セキュリティを専攻。2006年に株式会社トライコーダを設立。ハッキング技術を駆使して企業などに侵入を行うペネトレーションテストや各種サイバーセキュリティ実践トレーニングなどを提供。
ビジネスにITを活用していれば「パスワード管理が重要」と、多くの人が認識していると思います。しかし「文字数を長く」「文字の種類を多く」「推測されにくい文字」「使い回しをしない」などと言われると、「パスワード管理は面倒くさい」と感じる人も少なくはないでしょう。結果として、安易な文字列を使ったり、デフォルトのまま運用したり、強固なパスワードの文字列を設定してもそれを使い回している事例はいくらでも見受けられます。
筆者が実施しているペネトレーションテストでは、脆弱性を利用してシステムに侵入することもありますが、何らかの方法でパスワードを入手して利用することの方が多かったりします。 パスワードの入手先として多いのは、 個人のPCの中に保存されているパスワードをメモしたファイルや、アプリケーションのショートカット内に保存されているパスワード、ファイルサーバー上の管理マニュアル、設定ファイルなどです。「そんなものが存在する?」と思うかもしれませんが、これまで請け負ったペネトレーションテストの中で、こういったファイルが存在しない会社は1つもありませんでした。気がついていないだけで、おそらく皆さんの会社の中にも同じことをしている人はいるでしょう。
職業柄ペネトレーションテスト中に何らかのパスワードが書かれたファイルなどを見つけるとうれしくなってしまいます。中でも「魔法の鍵」と呼んでいる部署内やシステム内で使い回しをしているパスワードを発見すると小躍りしたくなります。皆さんの周りにもあるのではないでしょうか。「例のパスワード」などと言えば社員の間で通じるパスワードです。この使い回しパスワードがあると、1つのシステムに対する不正アクセスだけではなく、多くのシステムへの不正アクセスが成功してしまいます。どんなシステムにでもログインできる魔法の鍵といったところです。
パスワード攻撃では、統計的によく使われているパスワードをベースとしたリストが使われることもありますが、侵入したネットワーク内で1万件のパスワードリストを流し込んだりすれば攻撃を検知される可能性が高くなり、やみくもには使えません。その上、使ったとしても1万件程度の試行でログインできる可能性はそれほど高くはないのです。
そこで、 侵入先で発見したパスワードをリスト化して独自の辞書とする方法が使われます。 この方法であれば試行する回数が少なく、時間をかけて行えば攻撃として検知される可能性も高くはありません。 先ほどの魔法の鍵があればログインに成功する確率もさらに高くなります。
また、部署内の使い回しパスワードが定期変更ルールなどによって更新されることも。 しかし、 パスワードの最後の文字だけを変更して「oKjh@7gc」を「oKjh@7gc!」としたり、 その後も#、$……と更新を続けていくという単純なルールによる運用もしばしば見かけています。パスワード攻撃用のリストには、もちろんそれを見越して追加しておきます。
そのほかにも、シングルサインオンで使っているアカウントが手に入ったときにも小躍りしてしまいます。クラウドサービスでは、GoogleやAzure Active Directoryのアカウントなどでログインできるものが多数あり、それらのシングルサインオンで使われているアカウントが手に入れば、さまざまなサービスにログインができてしまうのです。1つのアカウントを手に入れただけで、いくつものサービスにログインできるなんて、まさに魔法の鍵です。
また、魔法の鍵の中でも入手が容易なものとして、デフォルトアカウントがあります。これは、その製品の出荷時などに設定されている初期パスワードです。製品名がわかれば、マニュアルなどを検索して容易に手に入れることができます。管理コンソールのデフォルトアカウントが有効のまま使用されているのをよく見かけるのが、ルーターやプリンター、Webカメラなどです。
これらが内部ネットワークではなくインターネット上に接続されていれば、 攻撃者は容易に悪用できてしまいます。2016年ごろに大流行したMiraiというマルウェアは、IoT機器のデフォルトアカウントを狙って攻撃を行っていました。 最近ではデフォルトアカウントの存在しないIoT機器も増えてきましたが、 その存在はまだまだ現役です。
使い回しされているパスワードによる攻撃は、容易に検出することができません。それは、攻撃者が使い回しパスワードで成功させたログインと、正規ユーザーによるアクセスとはほぼ見分けがつかないからです。検知システムは人の悪意までは検知できないので、正しいユーザーIDと正しいパスワードの組み合わせでアクセスしてくる攻撃に対してアラートを上げることはありません。
そのためパスワードを盗まれても、パスワードだけではログインできない仕組みが有効に機能します。中でも最も有効なのが、パスワード以外にデバイスを利用したワンタイムパスワードなどを併用する二要素認証です。二要素目となるワンタイムパスワードを攻撃者が入手するのが容易ではないからです。
根本的な対策は、組織内に使い回しパスワードや単純なパスワードが存在しないようにすることです。これは影響範囲と調査範囲も広いので完全な対策実現には時間がかかるかもしれませんが、かなりの効果を発揮します。適切なパスワード管理にはパスワード管理ツールの導入や、ID管理をクラウドで行うIDaaS(IDentity as a Service)などの導入も効果的です。
筆者が毎年ペネトレーションテストを実施している会社の中には、これを実現しているところもあり、年々侵入の成功が困難になってきたと感じています。 組織の中に存在する使い回しパスワードという悪習を排除することが、組織のセキュリティの向上につながるのです。
(「SKYSEA Client View NEWS vol.82」 2022年1月掲載)