はじめに
近年、AI(人工知能)は色々な分野で活躍を見せており、今後のITにおいても非常に重要な要素の一つであることは皆さんもご存じかと思います。それはセキュリティ分野でも同じであり、アンチウイルス製品のシグネチャ作成やマルウェア解析にも応用されており既に製品化もされています。
そのような中で、AI技術の発展型ともいえる「ディープラーニング」(深層学習)を初めてセキュリティ分野に活用した『Deep Instinct』という製品があります。『Deep Instinct』と従来型のアンチウイルス製品ではどのような違いがあるのか検証するため、マルウェア検体を用いた比較検知を行いました。
ディープラーニングとは
比較の前に、ディープラーニングについて少し触れたいと思います。
ディープラーニングは、「マシンラーニング(機械学習)」と同様に人工知能の学習手法の一つです。ディープラーニングもマシンラーニングも大量のデータを使用して学習させるという点は同じですが、大量データを学習するプロセスが異なります。マシンラーニングは、大量データから人が特徴点を抽出し、人工知能によって法則やパターンを学習する手法になります。一方ディープラーニングは、大量データからニューラルネットワークに代表される階層構造に関連させて生データを100%余さず学習する方法であり、人の手を介さずに行う手法です。ディープラーニングは、マシンラーニングに比べて時間、人的コスト、人的ミス回避に優れた手法といわれています。
比べてみようと思ったきっかけ
Trend MicroやSymantec、ESETなどの一般的な「EPP(Endpoint Protection Platform)」と呼ばれるセキュリティ製品は、第三者機関による試験を受けて評価されています。メジャーな製品ではいずれも高い検知性能を残していますが、EPPは一般的に”発生したウイルスを解析してシグネチャなどを生成する性質”から「過去のウイルス」が評価・検知の対象となります。
その一方で、コンピュータウイルスの世界では、依然としてEmotetが猛威を振るっています。これは過去のウイルスが暴れている訳ではなく、新たなコンピュータウイルスの亜種が出現することにより、アンチウイルス製品の対応が間に合わない可能性も示唆されています。こうなると、「実はウイルス亜種が発生した際は世の中の誰かが感染しており、その感染からワクチンとなるシグネチャやパターンが作成されて、その他の人が守られる」(=初期の人は守られない)が現在の仕組みになっているのではないでしょうか。
それに対してDeep InstinctはEPPの要素が強い製品ですが、「予防ファースト」のアプローチを採用して「未知の脅威(ウイルス)」にも対応できると謳っています。
上記のように “第三者機関で高評価を受けているメジャーな製品が未知の脅威に対応できるのか”、また、”Deep Instinctは未来のウイルスに対して予防(検知)できるのか”を確認するために、実際のマルウェア検体で比較試験を行ってみました。
比較検知の内容
対象のOSは、普及率が高く、リスクも多く存在する Windows 10 を対象としました。比較する2製品のそれぞれに仮想ゲストを用意して、万が一にもウイルスが拡散しない環境を作りました。
アンチウイルスは、Deep Instinctと製品Aを使用します。製品Aは、第三者評価機関である “AV-Comparatives” で高評価を出しており、加えて “AV-TEST 2021” で「最も優れたウイルス対策ソフトの1つ」に選ばれた製品です。また、製品Aは Windows 10 での2018年のシェアが50%以上あるとメーカーが公表しており、一般的なセキュリティ製品と言って差し支えないと思います。
また、未来のウイルス(未知のウイルス)の検証を実現するために、特定の日付で検証環境(仮想ゲスト)のネットワークを切り離して、シグネチャやアプリケーションの更新が行われないようにしています。
比較製品 | Deep Instinctと製品A |
端末の状態 | n日(n日にネットワークを切り離し比較製品のアップデートがかからないようにしている) |
マルウェア検体 |
Windows に3種類マルウェア検体を用意: 検体X 検体Y 検体Z |
環境 |
Deep Instinctと製品Aのそれぞれに仮想環境(仮想ゲスト)を作成 比較前にネットワークを切り離してスタンドアローン状態を維持 |
比較方法 |
検体X、検体Y、検体ZをDeep Instinctと製品Aがそれぞれ導入された仮想ゲストへ「コピー」する(検知するとコピーされず、検知できないとコピーが成功する) ウイルスの実行は行わずにファイルの解析(静的解析)で検知を行う |
手順 |
① 仮想ゲスト(Deep Instinctと製品Aで異なる)を起動する ② 検体X、検体Y、検体Zを異なるタイミングでローカルへコピーする ③ ウイルスが検知されてファイルがコピーされないか確認する |
検体ファイルは以下のような検体X、Y、Z合わせて90種類のファイル用意しました。ファイル名に数値やアルファベットがランダムに並んでいますが、これはファイルを識別するためのハッシュ値になっています。
比較結果
Deep Instinct 検体X(3ヶ月前)の検知結果
検知率100%(30/30)
検体Xは「3ヶ月前に報告されている検体」です。検体Xの30ファイルすべてを検知しました。下図はDeep Instinctが検知してブロックしたことを示す画面です。
コピー後のエクスプローラの画像です。すべて検知(ブロック)しているのでファイルは何もコピーされていませんでした。
製品A 検体X(3ヶ月前)の検知結果
検知率80%(24/30)
コピー後のエクスプローラの画像です。検体Xの30ファイルの内、6ファイルが検知できずにコピーされました。
Deep Instinct検体Y(1ヶ月前)の検知結果
検知率100%(30/30)
検体Yは「1ヶ月前に報告されている検体」です。検体Yの30ファイルすべてを検知しました。
今回もすべて検知(ブロック)しているのでファイルは何もコピーされていませんでした。
製品A 検体Y(1ヶ月前)の検知結果
検知率60%(18/30)
検体Yの30ファイルの内、12ファイルが検知できずにコピーされました。
Deep Instinct検体Z(未来)の検知結果
検知率100%(30/30)
検体Zは「各製品の状態から翌日(1日後)に報告されている検体」です。検体Zの30ファイルすべてを検知しました。
最後もすべて検知(ブロック)しているのでファイルは何もコピーされていませんでした。
製品A 検体Z(未来)の検知結果
検知率33%(10/30)
検体Zの30ファイルの内、20ファイルが検知できずにコピーされました。
CPU負荷・処理速度
Deep Instinctと製品Aを実行した際のCPUパフォーマンスも比べてみました。
下図がDeep Instinctで検証した際のCPU使用率です。一時的にCPUが100%に到達していますが、ピークの時間は5秒程度だったので、処理の重さは感じませんでした。
下図が製品Aを検証した際のCPU使用率です。仮想環境でリソースが制限されているということもありますが、検体をコピーした直後から大体30秒程度の間はCPUが100%に張り付いていました。
結果まとめ
確認内容 | Deep Instinct | 製品A |
検体 X の検知率 3ヶ月前に報告されている検体 |
100%検知 | 80%検知 |
検体 Y の検知率 1ヶ月前に報告されている検体 |
100%検知 | 60%検知 |
検体 Z の検知率 翌日に報告されている検体 |
100%検知 | 33%検知 |
CPU負荷と処理速度(時間) |
5秒程度 | 30秒程度 |
今回の比較では、前述のような結果となりました。検体の数が少ないために偏りが発生している可能性はありますが、少なくとも以下のことが確認できたと思います。
- Deep Instinct(ディープラーニング)は従来型アンチウイルスで検知できないウイルスを検知できた
- Deep Instinctは製品Aに比べて処理速度が速く、CPU負荷も少ない結果になった
- 従来型アンチウイルスは新しいウイルスほど検知率が下がる
最後に
ディープラーニングは、自動運転技術、宇宙技術、医療、自動音声翻訳など様々な分野で活用されていますが、サイバーセキュリティ分野も例外ではありません。Emotetなどのウイルスの脅威に怯えることのない未来が訪れるよう、ディープラーニング技術(Deep Instinct)の更なる発展を期待します。
執筆者プロフィール
- 10年くらい研究・開発の経験を経た後に、複数のパッケージ製品の構築・サポート要員として活動する器用貧乏なエンジニア。
この執筆者の最新記事
- iDC&セキュリティ2023.05.02ディープラーニングを活用したアンチウイルス製品と従来型アンチウイルス製品を比べてみた
- ITコラム2018.08.24Windowsバッチの簡易な運用活用法