ファイルがマルウェアの特徴を備えているかどうかを人工知能(AI)で判定するマルウェア対策ソフト「CylancePROTECT」を提供するCylance Japanは2017年7月10日、米Googleが運営しているクラウドサービスでファイルがマルウェアかを無料で調べられる「VirusTotal」にエンジンを提供したと発表した。
ユーザーは、VirusTotalのWeb画面から疑わしいファイルをアップロードすることによって、マルウェア対策ソフトベンダー各社がVirusTotalに提供しているエンジンを使って、マルウェアかを検査できる。記事執筆現在、CylancePROTECTを含めた全67製品で一斉に検査する。Cylance Japanによれば、VirusTotalで利用できるエンジンは製品の現行版とは異なる。
マルウェアの特徴を機械学習で抽出しアルゴリズムを生成
CylancePROTECTの最大の特徴は、パターンマッチングや振る舞い検知といった既存の手法ではなく、対象のファイルがマルウェアの特徴を備えるかどうかを、アルゴリズム(計算式)で判定することである(図1)。実行形式ファイルが検査対象となる。シグネチャ型のウイルス対策と異なり、パターンファイルの更新が要らない。
拡大画像表示
マルウェアを判定するアルゴリズムは、機械学習によって自動生成する。マルウェアを含んだ大量のファイルのビットパターンを機械的に学習してマルウェアの特徴を抽出し、アルゴリズムに落とし込んでいる。10億個を超えるファイルから600万~700万の要素を特徴点として抽出したという。
アルゴリズムなので、今あるアルゴリズムを使って、今後登場する未知のマルウェアを検知できる。半年から10カ月に1回の製品アップデート時にアルゴリズムのメンテナンスも行われるが、シグネチャと異なり、古いままのアルゴリズムで新しいマルウェアを検知できる。
アルゴリズムなら未知のマルウェアも検出できる
説明会では、CylancePROTECTの強みをアピールした。
まず、機械学習を使っていることを標榜している競合他社との差異化ポイントについてCylance Japanで最高技術責任者を務める乙部幸一朗氏(写真1)は、「他社はシグネチャを作る際にAIを活用しているのであって、マルウェアの判定にはシグネチャを使っている。アルゴリズムではないので、シグネチャを更新しなければ新しいマルウェアを検知できない」と説明する。
また、アルゴリズムとシグネチャの違いが分かるデモンストレーションとして、ランサムウェアであるWannaCryの検体50個を、実際に検知させてみた。CylancePROTECTでは、2016年6月に出荷した現行版で50個すべての検体を検知した。一方、シグネチャ型の他社製品では、最新のシグネチャを使った場合に50個中49個を検知したが、WannaCryが流行した2017年5月12日時点のシグネチャでは50個中1個しか検知できなかった。
検出率に惹かれて米Cylanceに移った
米Cylanceのインダストリーリレーション&プロダクトテスティング部門のバイスプレジデントを務めるChad Skipper氏(写真2)は、自身が米Dellから米Cylanceに移るきっかけとなったエピソードを紹介した。
当時、米Dellでは、シグネチャを使わずにマルウェアを検出可能な予防型のマルウェア対策技術を欲していたという。米Dellが買収したセキュリティ企業の米SecureWorksが多数のマルウェア検体を保有していたことから、これを使って各社のマルウェア対策ソフトを検証した。
2015年3月に、ラボ環境で、未知のマルウェア460個と既知のマルウェア3700個の合わせて4160個のマルウェア検体を使って実験した。この結果、CylancePROTECTが検出できなかったマルウェアは4160個中の12個だけであり、検出率は99.7%だった。一方で2位の製品は未知のマルウェア460個をすべて含む1200個以上のマルウェアを検知できず、検出率は67%にとどまった。