上述の状況が続いていた中、昨今のAIやマシンラーニングの領域での急速な進化を受けて、AIをマルウェア検知に活用するアプローチが実用化されている。以下では、この分野の専業ベンダーとして知名度が高い米サイランス(Cylance)の技術を例に見ていく。
最初にここでのAIの定義を確認しておきたい。今、IT業界で語られるAIは、人間のように考え、振る舞う人工知能というよりは、人間の脳の働きを参考にしたアルゴリズムに基づき、自動的に学習する(マシンラーニング:機械学習)システムだととらえられる。その際、何を学習するのかが問題となるが、端的に言えば「データの見分け方/区別のしかた」である。サイランスの場合は、マルウェアか否かを見分けられるような学習を研究しているということになる。
10億ファイルを機械学習して得るマルウェアの「特徴点」
サイランスは“AIアンチウイルスソフトウェア”を掲げた「CylancePROTECT」を開発・販売している。日本法人であるCylance Japanの説明を引用すると「AI技術により作成したデータモデルを元にファイルの構造から攻撃を予測そして防御可能なエンドポイント製品」となる。
Cylanceでは、クラウド環境を利用して膨大なサーバー群からなる機械学習システム「Infinity」を構築し、そこでマルウェアとそうでないファイルを半々に含む、実に10億ものファイル群を学習させている。
Infinityはサンプルとして与えられたデータからマルウェアとそうでないファイルを区別するためのポイントとなる「特徴点」を選び出す(図2)。この特徴点を基に、未知のファイルが与えられた場合にも、それがマルウェアかどうかの正確な判定を行う「データモデル」を構築した。「このデータモデルは一種の計算式であり、対象ファイルを入力として与えると、どのファイルがマルウェアであるかどうかの判定結果が出力される仕組みになります」(Cylance Japan最高技術責任者の乙部幸一朗氏)
サイランスは、このデータモデルを構築するのに、膨大な量の学習データとそれを処理するための高い演算能力、そして数年がかりの時間を要したわけだが、出来上がったデータモデル自体は特段巨大ではないし処理負荷も小さい。このため、PC上で動作させた際に、負荷によって操作が重くなるようなことがない。
未知の新種マルウェアを検出するデモンストレーション
CylancePROTECTのユニークさは、既知のマルウェアを解析することで学習する点に関してはパターンファイルの手法と一見類似しているが、特定のマルウェアの特徴を抽出しているわけではなく、大量のマルウェアに共通する「マルウェア一般に当てはまる特徴点」を学び取っていることにある。この結果、未知の新種マルウェアが出現した際にも高精度で判別が可能になる。同社の公称値で99.7%の検知率だという。
その効果を実証する、CylancePROTECTの動作デモンストレーションがある。WannaCryが出現する半年前の2016年後半に作成されたデータモデルを使って、PCがWannaCryを受信した場合、CylancePROTECTがどのような動作を行うかをシミュレートするというものだ。このデモでは、データモデルを作成した時点では存在していなかったWannaCryのファイルをマルウェアだと判断することに成功している。つまり、未知の新種マルウェアの検知がAIの活用で可能になるという大きな進歩を達成したことになる。
サイランスによると、CylancePROTECTのデータモデルは半年~1年間の間隔で更新を行っているという。これは、パターンファイルが毎日のように更新があることと比べるとPCへの負荷やユーザーの運用管理の手間を大幅に削減することに寄与する。
CylancePROTECTでは、データモデルに基づくマルウェア判定をファイルの状態ではなく、実行直前の状態で行う。具体的に言うと、マルウェアをファイルとしてPCのローカルストレージにコピーしても、ユーザーが明示的に判定を指示しないかぎり動作は行わない。
しかし、このコードが実行される段階で、OSのAPIをフックするかたちでチェックプロセスが割り込み、まさに実行される状態になっているメモリイメージをチェックしにいく。この仕組みにより、マルウェアがPCにコピーされても、実行されないかぎり特段の被害は生じない。
SSL暗号化などコードを直接読み出せないような仕組みをまとったマルウェアが増えてきている現状、ファイルの段階でのチェックをすり抜けてしまう危険がある。しかし、復号化された後の状態を捕まえてチェックを行えば、より精度の高い判定が可能になるわけだ。
0 件のコメント:
コメントを投稿