■Japan IT・ウィルス対策ソフトの革命 2016.11.06
とうとう、その時がきたのかもしれない。
ウィルス対策ソフトの革命・・・
JapanIT・2016秋(IT展示会)で、それをかいま見た気がした。
「革命」のグランド・ゼロ(爆心地)は、とあるブースにあった。ところが、黒山のひとだかりはない。来訪者は多いが、みんな「ほう、凄そうだな」ぐらいの表情でボーッと見入っていた。
本来、革命は世界を一変させるものだ。ところが、意外に地味。
革命といっても最初はこんなものなのだろう。
そういえば、ジェームズ・ワットが蒸気機関を発明したとき、「ロンドンでちょうちん行列」の記録は見当たらない。
ウィルス対策ソフトが、初めて世に出たのは1987年。それから現在に至るまで、ウィルス対策ソフトとコンピュータ・ウィルスとのイタチごっこが続いている。新種や亜種のウィルスが後を絶たないのだ。おかげで、ウィルス対策ソフト会社は商売繁盛でウハウハ・・・
と、皮肉はさておき、
このようなタチの悪い有害ソフトを「マルウェア」とよんでいる。ウィルスはその一つにすぎないのだ。
一般に、マルウェアは4つのタイプがある。
1.ウィルス
最もポピュラーなマルウェア。
生物界では、ウィルスは他の生物に寄生して増殖する。それと同様、コンピュータ・ウィルスは他のプログラムに寄生して増殖する。つまり、宿主が必要で、単体では存在できない。
2.ワーム
「虫」という意味。
あえて「虫」とよぶのは、ウィルスのように宿主を必要としないから。つまり、他のプログラムに寄生するのではなく、単体で存在する。「自身をコピペして増殖する」という点では、ウィルスと同じだが。
3.トロイの木馬
ギリシャ神話の「トロイの木馬」にちなんで命名された。
無害に見えた木馬の中に兵士が潜んでいて、夜になると戦闘開始、トロイアを滅ぼした有名なエピソードだ。
コンピュータ版「トロイの木馬」もそれ。無害に見えるデータやアプリに潜んで、コンピュータに侵入する。その後、このプログラムと連携して、外部からコンピュータを乗っ取る。ウィルスやワームと違い、自己増殖する機能はない。
4.スパイウェア
読んで字のごとく、コンピュータ版「スパイ」。
トロイの木馬のように、コンピュータに侵入し、その中の情報を抜き取る。人に見られたくない写真、告白、悪口・・・なら「恥ずかしい」ですむが、カード情報なら一大事だ。中には、商売に利用するだけの悪意のない情報収集もあるが、情報漏洩にはかわりはない。
このようなマルウェアを検知し、駆除するのが「マルウェア対策ソフト」だ。ただし、世間一般では、ウィルス対策ソフト、アンチウィルスソフトとよばれることが多い。そこで、「マルウェア」を「ウィルス」に置き換えて話をすすめよう。
ウィルス対策ソフトは、無料のものから有料のものまで百花繚乱(ひゃっかりょうらん)。ところが、基本原理は同じで、驚くほどシンプルだ。
既知のウィルスをデータベースに登録しておき、それと比較して、一致したらウィルス、違ったら正常・・・それだけ。
このデータベースを、「ウィルスパターンファイル」、「ウイルス定義データベース」、または「シグネチャーファイル」とよんでいる。そこで、この方式を「シグネチャー型」とよぶことにする。
ところで、気になることが一つ。
「既知」のウィルス?
イエス!
「未知」のウィルスは検知できない。
未知のウィルスはパターンファイルに存在しないから、比べようがないのだ。だから、あたり前田のクラッカー。
ということは・・・
パターンファイルが古いと、新しいウィルスは登録されていないから、既知のウィルスでも検知できない?
イエス!
パターンファイルにないものは検知できません!
というわけで、「シグネチャー型」ウィルス対策ソフトは、パターンファイルの鮮度がすべて。
しかし・・・これは大きな問題だ。
亜種も含めると毎日、10万の新種のウィルスが誕生しているという(2016年)。それを、随時、パターンファイルに追加していくわけだ。
データは膨らむ一方・・・このままでは、いつか破綻する?
イエス!
ただし、ウィルスをそのまま登録しているわけではない。ウィルスを「ハッシュ値」というコンパクトな数値に丸めて登録する。このハッシュ値を比較して、ウィルスか否かを判断するわけだ。
ただし、異なったウィルスが同じハッシュ値をもつことがある(生データの方がハッシュ値より大きいから当たり前)。だから、100%正確なわけではない。とはいえ、データ量(ウィルス)が増大する一方なので、「精度」より「パンクさせない」を優先するしかない。
ところが、「シグネチャー型」にはもう一つ問題がある。
パターンファイルは鮮度がすべて。だから、常に最新に保つ必要がある。そのぶん、パターンファイルのアップデートが頻発する。そのため、ウィルス対策ソフトがCPUの50~90%を占有することもある。
50~90%!?
一体何のために、大枚はたいてコンピュータを買ったのだ?
文書を作成するため、計算させるため、それとも、ウィルスのため?
これを本末転倒と言わずして何を言う。
事実、数年前、「シグネチャー型」の限界がささやかれていた。これ以上、ウィルス対策ソフトが重くなると、何のためのコンピュータかわからない・・・
ところが、今回のJapanITで、そんな限界を打ち破るソフトが登場したのだ。
それが米国サイランス(Cylance)社の「プロテクトキャット」。
まずは、未知のウィルスの検知率だが「99%」。ちなみに、他社のソフトの検知率は50%以下という。
50%・・・矛盾してない?
「シグネチャー型」は未知のウィルスを検知できないのなら「0%」でしょう。
じつは、最近のウィルス対策ソフトは、「ヒューリスティック機能」を搭載している。これを使えば、未知のウィルスも検知できるのだ。
ただし、本来、「ヒューリスティック」は完全解を求めるのではなく、近似解を求めるもの。だから、精度は低い。
ちなみに、ウィルス対策ソフトのヒューリスティックは・・・
ハッシュ値を比べるのではなく、挙動で判断する。たとえば、レジストリやシステムフォルダーを変更しようとしたら・・・怪しい。ふつうのアプリはやらないから。
つまり、厳密な数値計算(ハッシュ値)ではなく、「goodenough(まぁこんくらいで)」で判断するのである。
これなら、未知のウィルスにも対応できるだろう(正確ではないが)。だから、未知のウィルス検知率「0%」ではないのである。このような、予測型の対策を「プロアクティブな対策」とよんでいる。
そして、この「プロアクティブ」を極限まで追求したのが、サイランス社の「プロテクトキャット」なのだ。事実、プロテクトキャットはヒューリスティックではなく、機械学習を駆使した「弱いAI」を採用している。
そのため、サイランス社は「プロテクトキャット」を「AI(人工知能)型」とよんでいる。従来の「シグネチャー型」と一線を隠すという意味をこめて。
ところで・・・
プロテクトキャットはホンモノAI、それともエセAI?
by R.B