4月23日,トレンドマイクロのウイルス対策ソフト「ウイルスバスター」などが原因で,多数のパソコンに障害が発生した。一般紙やテレビなどでも大々的に報じられたので,IT Pro読者はもちろんのこと,日ごろはITに馴染みがない人もご存じだろう。事件の経緯などについては,過去記事(記事末に関連記事リスト)に譲るとして,本稿では今回の事件で感じたことを書きたい。

パターンファイルはプログラム

 今回の事件を受けて,「パターンファイルはプログラム」であることを改めて認識するとともに,「停止することが許されない業務システムには,新しいパターンファイルをいきなり適用しない。適用前に別のシステムで検証する」必要があると感じた。同様の話は,今回の事件後,数人のセキュリティ専門家からも聞いた。

 停止すると業務に大きな影響を及ぼす(例えば,業務がストップしてしまう)システムについては,OSやアプリケーションの修正プログラム(パッチ)をいきなり適用することはせず,検証してから適用していることだろう。パターンファイルも同様に考えるべきだ。つまり,修正プログラムを検証してから適用しているような重要システムでは,パターンファイルも検証してから更新したほうが無難である。同様に,Windowsが備える修正パッチの自動更新を無効にしているようなシステムでは,パターンファイルについても自動更新しないようにすべきだろう。

 パターンファイル(ウイルス定義ファイル)を説明する際に,筆者は分かりやすさを優先させて,「既知のウイルスの特徴を収めたデータベース・ファイル。このファイルと照合することで,検査対象ファイルにウイルスが含まれるかどうかを調べる」などと書く。このように書くと,パターンファイルは単なるデータであり。不具合があれば誤検出などは起こるかもしれないが,パソコンが動かなくなるようなことはなさそうに思われるかもしれない。

 ところが実際には,ウイルスの特徴といったデータだけではなく,「どのようにウイルスを探し出すのか」といった手順も書かれている。4月26日に開かれた記者会見の席上,トレンドマイクロのエバ・チェン代表取締役社長兼CEOも「現在では,パターンファイルは単なるデータではなく,プログラムになっている」と説明した。このため不具合があると,今回のように検索エンジンが無限ループに突入する場合があるのだ。

 筆者はトレンドマイクロを弁護するつもりはないし,「今回障害が発生したシステム(パソコン)は検証を怠ったことが原因」などと言うつもりも全くない。ユーザーにとっては,パソコンを守ってくれるはずのセキュリティ・ソフトが原因でパソコンが動かなくなるなど,とんでもない話だ。すぐに復旧できればまだしも,復旧にはWindowsをセーフモードで起動して,障害の原因となっているパターンファイルを削除する必要がある。パソコンに詳しくないユーザーには分かりにくい作業である。IT Proの記事でも報じている通り,今回の障害の原因はトレンドマイクロの検査体制や品質管理体制の不備にある。ユーザーからの信頼を回復するために改善に努めることは当然である。トレンドマイクロが責められるのは当然だ。

 だが,責めていてばかりいても仕方がない。今回の事件を教訓にすべきだ。ユーザーとしては,今後同様の問題が発生した場合でも被害を最小限に抑えることを考えるべきだろう。それが,「パターンファイルはプログラムと考えて,停止することが許されないシステムに適用する前には,別のシステムで検証する」ということだと,筆者は考える。

 もちろん,「検証すべき」といっても容易ではない。例えば,マイクロソフトの修正パッチが公開されるのは,現在では月1回。これに対して,パターンファイルは毎日更新される(トレンドマイクロとマカフィーの場合)。「パターンファイルはプログム」といっても,パッチとは公開頻度や目的が異なる。パッチと同じように検証してから適用することは難しい。

 このため,「人手をかけずに検証できる仕組みを作る」「事前検証が必要なシステムでは毎日更新せずに,数日分のパターンファイルをまとめて検証ならびに適用する」――といったことが必要になるだろう。一般のクライアント・マシンと重要システムでは,パターンファイルの更新に時間差を設けて,クライアント・マシンで問題が確認されなければ重要システムでも更新する――といった方法もありうるだろう。

 いずれにしても容易ではないことは確かだ。先に書いたように,停止すると業務に大きな影響を及ぼすシステムについてのみ――言い換えれば,手間やコストをかけても可用性を確保しなくてはいけないシステムのみ――事前検証することになるだろう。

 逆の言い方をすれば,今回の事件が残した教訓の一つとして,「可用性を確保しなくてはいけない業務システムでは,パターンファイルの更新を,パッチの適用や新しいプログラムのインストールなどと同じように考える必要がある」ということが言えるだろう。

 なお,今回の障害が発覚した後,あるアンチウイルス・ベンダーは,自社のテスト体制は完璧であるとのリリースを出した。記述はなかったが,ウイルスバスターによる障害を意識してのリリースであることは間違いないだろう。リリースでは「定義ファイル更新時にネットワーク障害に陥る可能性はありません」とうたっている。

 「同社製品のユーザーに心配をかけないため」というのが建前なのだろうが,トレンドマイクロのユーザーを取り込もうとする意図が露骨で,筆者はあまりよい印象を受けなかった(もちろん,人によっては「ビジネスとして当然の行為」と思われるだろう)。

 加えて,「可能性はありません」と断言しているところにも無理を感じた。人間が行うことに「絶対」はありえない。可能性をゼロに近づけることができても,障害が起きる可能性をゼロにすることはできないはず。このようなリリースを出すと,万が一問題が起きた際には逆効果になる。筆者としては,トレンドマイクロ以外のベンダーのユーザーも,ミッション・クリティカルなシステムに適用する前には,別のシステムで検証することをお勧めしたい。