セキュリティ各社が定期的に発表するレポートで常に挙げられるのが、新種マルウェアの発生状況だ。その数は各社によって異なるが、いずれも既に、人間の手に負えるような状況にはなくなっている。限られた人材で膨大な数の処理へ対応するには、「自動化」が不可欠である。そこでKaspersky Labsのアンチマルウェアチーム ヘッドを務めるVyacheslav Zakorzhevsky(ヴャチェスラフ・ザコルザフスキー)氏に、マルウェア解析処理における自動化の取り組みを聞いた。
毎日200万以上のサンプルを受け取る
Kaspersky Labs アンチマルウェアチーム ヘッドのVyacheslav Zakorzhevsky氏
マルウェアの解析業務は、端的に言えば、コンピュータのユーザーが実行するファイルなどが悪意のあるものか、そうではないものかを特定する作業だ。Zakorzhevsky氏によれば、同社がユーザーなどから受け取る解析のためのサンプルファイルは、毎日200万以上にもなる。アンチマルウェアチームの人員は世界で85人といい、当然ながら、その全てを人手で解析するのは不可能な状況となっている。
サンプルのファイルや不審サイトのURLといった情報は、提供に同意した匿名のユーザーから同社の運用する「Kaspersky Security Network(KSN)」に集められ、ファイルのパスやハッシュといったメタデータを付与してデータベースに追加される。まずは既知のマルウェアかどうかを照合し、ウェブクローラを使った不審サイトからのファイルダウンロードの有無、ボットネットの監視による不正通信の発生状況といった基礎的な解析を行う。
サンプルの解析結果は、KSNを通じてユーザーにフィードバックされ、マルウェアの判定やその後の検知の定義などに利用される。サンプルの提供からフィードバックまでに要する時間は、平均10~20分ほどだという。その後、サンプルをさらに詳しく解析する。ここでは機械学習技術を用いた人工知能(AI)による解析と、「エキスパートシステム」と呼ぶサンドボックスを駆使した解析による自動処理を行っている。
マルウェア解析の自動処理におけるアプローチ