本発明を実施するための最良の形態(以降、「実施形態」という)に係るマルウェア特徴抽出システムについて、適宜図面を用いながら詳細に説明する。以下では、便宜上、各アプリケーションプログラムを実行主体として説明する。すなわち、アプリケーションプログラムがある処理を行うと説明した場合には、そのアプリケーションプログラムをコンピュータ(後述する検体投入装置11、動的解析装置12及び13、マルウェア特徴抽出装置14、対策指示装置21、対策装置31、ならびに検知装置32などが該当する。)が実行することにより実現される機能としてその処理が行われることをいうものとする。
マルウェアとは、悪意を持って作成された不正な活動を行うための脅威の総称である。マルウェアが単独で実行可能な不正プログラムをワームといい、他の実行プログラムを利用して不正な活動を行う不正プログラムをウイルスという。なお、マルウェアはワームおよびウイルス以外にもスパイウェアやアドウェアなど様々な呼称を有する。
本実施形態のマルウェア特徴抽出システム10は、マルウェアの検体を解析した結果得られたログから検体の特徴を抽出しようとするものである。図1は、マルウェア特徴抽出
システム10の一構成例を示す図である。マルウェア特徴抽出システム10は、マルウェアの特徴から対策を指示する対策指示装置21と通信可能に接続され、対策指示装置21は、対策指示を受けて対策を実施するマルウェア対策システム30と通信可能に接続される。
図1において、マルウェア特徴抽出システム10は、検体投入装置11、動的解析装置12及び13、ならびにマルウェア特徴抽出装置14を含んで構成される。また、マルウェア対策システム30は、対策装置31及び検知装置32を含んで構成される。なお、動的解析装置12及び13は、図1には2つしか記載していないが、3つ以上あっても構わない。また、動的解析装置12及び13は同じ構成であり、以降の実施形態の中で入れ替えて構成しても構わない。
検体投入装置11は、動的解析装置12及び13とそれぞれ接続され、マルウェアである検体を動的解析装置12に投入して実行させ、マルウェアでないファイル(以下、正規ファイルという。)を動的解析装置13に投入して実行させる装置である。検体投入装置得11は、検体投入プログラム111及び正規ファイル生成プログラム112を保有する。検体投入プログラム111は、解析したい検体(マルウェア)を動的解析装置12に送信する。正規ファイル生成プログラム112は、投入された検体と同じ種別の正規ファイルを生成して動的解析装置13に送信する。検体投入装置11は、検体や検体の入手状況に関する検体受付情報と、正規ファイルを生成、保管する正規ファイル管理情報と、解析の解析要求状況に関する解析要求情報とを保有する。
動的解析装置12は、プログラムの実行環境を提供する装置である。動的解析装置12は、検体投入装置11と、マルウェア特徴抽出装置14とにそれぞれ接続され、検体投入装置11から投入された検体を実行してログを取り、このログをマルウェア特徴抽出装置14に送る。以下の説明において、「検体を実行する」とは、プログラムである検体を実行することに加え、ファイルである検体をそのファイルの種類に関連付けられているプログラムに実行させることも含む。動的解析装置12は、検体実行プログラム121及びログ取得プログラム122を保有する。検体実行プログラム121は、検体投入装置11から検体を受信し、検体を実行する。ログ取得プログラム122は、検体の挙動を観測し、観測結果を解析ログとして取得する。
動的解析装置13は、プログラムの実行環境を提供する装置である。動的解析装置13は、検体投入装置11と、マルウェア特徴抽出装置14とにそれぞれ接続され、検体投入装置11から投入された正規ファイルを実行してログを取り、このログをマルウェア特徴抽出装置14に送る装置である。以下の説明において、「正規ファイルを実行する」とは、プログラムである正規ファイルを実行することに加え、ファイルである正規ファイルをそのファイルの種類に関連付けられているプログラムに実行させることも含む。動的解析装置13は、検体実行プログラム131及びログ取得プログラム132を保有する。検体実行プログラム131は、検体投入装置11から正規ファイルを受信し、正規ファイルを実行する。ログ取得プログラム132は、正規ファイルの挙動を観測し、観測結果を解析ログとして取得する。
マルウェア特徴抽出装置14は、動的解析装置12及び13と対策指示装置21とにそれぞれ接続され、マルウェアに関するログを特定して対策指示装置21に提供する装置である。マルウェア特徴抽出装置14は、ログ収集プログラム141及びログ比較プログラム142を保有する。ログ収集プログラム141は、動的解析装置12及び13のそれぞれが取得した解析ログを収集する。ログ比較プログラム142は、動的解析装置12の解析ログと、動的解析装置13の解析ログとを比較し共通するログを、マルウェアとは関係しないログ(以下、ホワイトログという。)として保存し、動的解析装置12の解析ログ
にのみに記録された点をマルウェアに関するログ(以下、ブラックログという。)として保存する。さらに、マルウェア特徴抽出装置14は対策指示装置21と接続され、ブラックログを対策指示装置21に渡す。マルウェア特徴抽出装置14は、2つ以上の解析ログを比較するための比較条件を定義した比較用情報、ブラックログ及びホワイトログ等を保有する。
対策指示装置21は、マルウェア特徴抽出システム10のマルウェア特徴抽出装置14と対策装置31及び検知装置32とにそれぞれ接続され、脅威に対する対策ルールを生成し、対策装置31及び検知装置32に指示を行う装置である。対策指示装置21は、対策ルール生成プログラム211及び対策指示プログラム212を保有する。対策ルール生成プログラム211は、マルウェア特徴抽出装置14の保有するブラックログを取得して予め設定された対策ポリシ情報及び対策装置管理情報に基づいて対策ルールを生成する。対策指示プログラム212は、対策装置31及び検知装置32に対策ルールを適用するための対策指示を送信する。
対策装置31は、WebProxyやFW(ファイアウォール)、IDP(不正侵入予防システム)等のセキュリティ対策を行う装置である。対策装置31は、対策指示装置21の対策指示を受けて通信の制限(遮断、帯域制限、経路変更、認証追加)等を行う。なお、対策装置31によるセキュリティ対策には公知の技術を用いることができる。
検知装置32は、IDS(不正侵入検知装置)やIDP(不正侵入予防システム)、ウイルス検知装置等のセキュリティ対策を行う装置である。検知装置32は、対策指示装置21の対策指示を受けて異常の検知や、アラートの発信を行う。なお、検知装置32によるセキュリティ対策には公知の技術を用いることができる。
なお、図1において、各ブロック(11〜32)間を結ぶ実線は、検体の投入、ログの取得、マルウェアの特徴の取得、または対策指示に関わる通信パケットの伝達経路を示している。
次に、検体投入装置11の構成について図2を用いて説明する。図2は検体投入装置の構成の一例を示す図である。
検体投入装置11は、演算部1101、メモリ1102、入力部1103、表示部1104、通信部1105、及び記憶部1106を含むコンピュータ上に実現することができる。
演算部1101は、検体投入装置11の各部(1102〜1106)の制御、及び各部(1102〜1106)間の情報の伝達を司る。演算部1101は、例えば、演算処理を実行するCPU(Central Processing Unit)である。そして、このCPUが主記憶装置であるメモリ1102に、以下に説明するアプリケーションプログラムを展開して、それを実行することにより、以下に説明する処理を具現化する。メモリ1102は、RAM(Random Access Memory)により実現される。なお、アプリケーションプログラムは、記憶部1106に格納されている。
各アプリケーションプログラムは、予め記憶部1106に格納されていても良いし、必要なときに、図示しない外部インタフェースや通信部1105と、当該検体投入装置11が利用可能な媒体を介して、他の装置から記憶部1106に導入されてもよい。媒体とは、たとえば、外部インタフェースに着脱可能な記憶媒体、または通信媒体(すなわち有線、無線、光などのネットワーク、または当該ネットワークを伝搬する搬送波やディジタル信号)を指す。
入力部1103は、キーボードやマウスなどであり、検体投入装置11を操作する操作者などによる情報入力などを受け付ける。
表示部1104は、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などであり、入力を促す画面や、演算結果を確認する画面などを表示する。
通信部1105は、マルウェア特徴抽出システム10内の各部(12、13、14)(図1参照)との間で情報を送受信する。
記憶部1106は、検体投入プログラム111、正規ファイル生成プログラム112、検体受付DB113、正規ファイル管理DB114、及び解析要求DB115を記憶している。なお、検体投入プログラム111、及び正規ファイル生成プログラム112は、アプリケーションプログラムとして、メモリ1102に展開されて、演算部1101によって実行される。
検体投入プログラム111は、検体であるマルウェアを図示しない利用者や、他のマルウェア提供装置から受け付けて、検体受付DB113に検体受付情報として格納する。また、後述の正規ファイル生成プログラム112から提供される正規ファイルと、検体とを、動的解析装置12、13にそれぞれ解析要求情報として送信し、要求結果を解析要求DB115に格納する。
正規ファイル生成プログラム112は、検体受付DB113に格納された検体ファイルと同じ種別の正規ファイルを生成する。同じ種別の正規ファイルとは、検体と同じファイルタイプ(PowerPointファイル、PDFファイル、EXEファイル等)でマルウェアでないファイルをいう。正規ファイル生成プログラム112は、後述する正規ファイル管理DB114から読み出したデータに基づいて正規ファイルを生成する。
検体受付DB113は、検体に関する検体受付情報を格納する。図3を用いて検体受付情報の一例について説明する。検体受付DB113に格納される検体受付情報は、検体ID1131、検体ファイル1132、ハッシュ値1133、入手元1134、入手者1135、入手日時1136、及び入手手段1137が含まれる。
検体ID1131は、動的解析装置12に投入する検体を一意に識別するための情報である。検体ファイル1132は、検体の実体であるファイルを示す情報(例えばファイル名)である。ハッシュ値1133は、検体ファイル1132が示すファイルのハッシュ値である。入手元1134は、検体ファイル1132を入手した場所を指し、例えばWeb経由で入手した場合はWebサイトのURL、メールに添付されて来たファイルはメールの送信元である。入手者1135は、検体ファイル1132が示すファイルを入手した者を指し、例えばWeb経由で入手した場合はWebサイトへのアクセス者、メールに添付されて来たファイルはメールの受信者である。入手日時1136は、検体ファイル1132が示すファイルを入手した日時である。入手手段1137は、検体ファイル1132が示すファイルを入手した手段を指し、例えばWeb経由で入手した場合は「Web」で、メールに添付されて来た場合は「メール」である。
正規ファイル管理DB114には、正規ファイルを生成するために検体のファイル種別を判定するためのルールが定義された(a)ファイル種別特徴情報と、ファイル種別毎に正規ファイルに関する情報が格納された(b)正規ファイルストアとが格納されている。図3を用いてファイル種別特徴情報、及び正規ファイルストアの一例について説明する。
(a)ファイル種別特徴情報にあるファイル識別ID11411は、ファイル種別を識別するための情報である。パターン特徴11412は、ファイル種別を検体ファイルの内容から識別するためのルールを定義した情報である。拡張子特徴11413は、ファイル種別を検体ファイルの拡張子から識別するためのルールを定義した情報である。説明11414は、ファイル種別の説明を記載した情報である。
(b)正規ファイルストアにある正規ファイルID11421は、正規ファイルの種別を識別するための情報である。ファイル11422は、正規ファイルの実体であるファイルを示す情報(例えばファイル名)である。正規ファイル生成プログラム112は、正規ファイルID11421が示す形式(例えば、MSPPT形式、PDF形式など)で、最小限の内容から構成されたファイル(例えば、ヘッダ情報と空の本文データとを含むファイル)を予め生成して正規ファイルストアに登録しておくものとする。
解析要求DB115は、解析要求情報を記憶する。解析要求情報は、動的解析装置12及び13に対して送信した要求(解析要求)に関する情報である。図3を用いて、解析要求情報の一例について説明する。解析要求情報には、解析ID1151、検体ID1152、検体投入先解析環境ID1153、正規ファイル投入先解析環境ID1154、及び解析日時1155が含まれる。
解析ID1151は、同一検体の解析において、解析要求を一意に識別する情報である。検体ID1152は、検体受付DB113の検体ID1131と対応する識別子である。検体投入先解析環境ID1153は、検体を解析する動的解析装置12及び13の識別子である。正規ファイル投入先解析環境ID1154は、正規ファイルを解析する動的解析装置12及び13の識別子である。解析日時1155は、検体を解析し始めた時間である。
次に、動的解析装置12及び13の構成について、図4を用いて説明する。図4は動的解析装置の構成の一例である。
動的解析装置12及び13は、演算部1201及び1301、メモリ1202及び1302、入力部1203及び1303、表示部1204及び1304、通信部1205及び1305、ならびに記憶部1206及び1306を含むコンピュータ上に実現することができる。
各部(1201〜1206、1301〜1306)は、検体投入装置11の各部(1101〜1106)と同じように構成されていて、以下では、差異のある部分のみ説明する。
通信部1205及び1305は、マルウェア特徴抽出システム10内の各部(11、14)(図1参照)との間で情報を送受信する。
記憶部1206及び1306は、検体実行プログラム121及び131、ログ取得プログラム122及び132、ならびにログ管理DB123及び133を記憶している。なお、検体実行プログラム121及び131、ならびにログ取得プログラム122及び132は、アプリケーションプログラムとして、メモリ1202及び1302に展開されて、演算部1201及び1301によって実行される。
検体実行プログラム121及び131は、検体投入装置11から解析要求情報として検体と正規ファイルとをそれぞれ受け取ってそれぞれの動的解析装置12及び13上の解析
環境で実行する。検体あるいは正規ファイルが文書ファイルなどの実行形式のファイルではないファイルであった場合も、関連付けられたアプリケーションによって開かれることをもって実行とする。
ログ取得プログラム122及び132は、検体実行プログラム121及び131が実行した検体あるいは正規ファイルに関する挙動を監視し、解析ログとしてログ管理DB123及び133に格納する。なお、ログ取得プログラム122及び132による監視処理及びログの収集処理については公知の手法を用いるものとしてここでは説明を省略する。
なお、動的解析装置12及び13は、ハードウェアの構成もソフトウェアの構成も完全に同一の構成であることが好ましいが、差異があってもよい。
ログ管理DB123及び133には、(a)予め設定してある動的解析装置12及び13のスペックや設定内容が保存された解析環境情報と、(b)動的解析装置12及び13で検体や正規ファイルを実行して得られた観測情報としての解析ログとが格納されている。図5を用いて、解析環境情報及び解析ログ情報の一例について説明する。
(a)解析環境情報にある解析環境ID12311及び13311は、解析装置12及び13の解析環境を一意に識別するための情報である。OS12312及び13312は、動的解析装置12及び13の検体実行プログラム121及び131が検体あるいは正規ファイルを実行する解析環境のOS(Operating System)の種類に関する情報で「Windows7(登録商標)」や「Android(登録商標)」などの製品名にバージョン情報などを含めた形で指定される。表記方法としてCPE(Common Platform Enumeration)のような標準化された名称基準を利用してもよい。アーキテクチャ12313及び13313は、OSのアーキテクチャの情報で、「32bit」や「64bit」、「ARM」等が指定される。アプリケーション12314及び13314には、OSにインストールされたアプリケーションの識別子が1乃至複数指定される。CPU12315及び13315は、OSがインストールされたハードウェアに搭載されているCPUに関する情報である。メモリ12316及び13316は、ハードウェアに搭載されたメモリに関する情報である。ネットワーク12317及び13317はOSに設定されたネットワーク設定に関する情報で、IPアドレスやサブネットマスク、デフォルトゲートウェイ、DNSサーバアドレス指定などが1乃至複数指定される。エンジン12318及び13318は、検体実行プログラム121及び131の種類やバージョンを表す情報である。BIOS12319及び13319は、ハードウェアに搭載されたBIOS(BASIC Input/Output System)の種類やバージョンを表す情報である。
(b)解析ログにある解析ID12321及び13321は、動的解析装置12及び13のそれぞれの中で解析ログを一意に識別するための情報である。
ファイル操作12322及び13322は、1乃至複数格納でき、動的解析装置12及び13の検体実行プログラム121及び131が検体あるいは正規ファイルを実行して、ログ取得プログラム122及び132が検体あるいは正規ファイルによるファイル操作に関する挙動を観測して取得した情報である。ファイル操作12322及び13322は、ファイル操作が観測された日時、ファイルに対するアクション(例えばファイル生成、削除等)、当該アクションに関するデータ(例えばファイル名、アドレス等)を格納する。
レジストリ操作12323及び13323は、1乃至複数格納でき、ログ取得プログラム122及び132が検体あるいは正規ファイルによりシステム設定ファイル(本実施形態ではレジストリを想定している。)に対する操作に関する挙動を観測して取得した情報
である。レジストリ操作12323及び13323は、レジストリへの操作が観測された日時、レジストリに対するアクション(例えばレジストリ生成、削除等)、当該アクションに関するデータ(例えばレジストリキー名、バリュー等)を格納する。
プロセス操作12324及び13324は、1乃至複数格納でき、ログ取得プログラム122及び132が検体あるいは正規ファイルにより行われたプロセスに関する挙動を観測して取得した情報である。プロセス操作12324及び13324は、プロセス(スレッドを含む)に関する挙動が観測された日時、プロセスに関するアクション(例えばプロセス生成、停止等)、当該アクションに関するデータ(例えばプロセス名、親プロセス等)を格納する。
ネットワーク通信12325及び13325は、1乃至複数格納でき、ログ取得プログラム122、132が検体あるいは正規ファイルによるネットワーク通信に関する挙動を観測して取得した情報である。ネットワーク通信12325及び13325は、ネットワーク通信が観測された日時、ネットワーク通信に係るアクション(例えばDNSクエリ、HTTPリクエスト、NTPリクエスト、パケット送信、受信等)、当該アクションに関するデータ(例えばホスト名、URL、通信先IPアドレス、通信先ポート番号、プロトコル等)を格納する。
システム操作12326及び13326は、1乃至複数格納でき、ログ取得プログラム122及び132が当該検体あるいは当該正規ファイルによるOSの機能(ファイル及びプロセスに関するものを除く)を呼び出すシステム操作に関する挙動を観測して取得した情報である。システム操作12326及び13326は、システム操作が観測された日時、システム操作に関するアクション(例えばMUTEX生成、MUTEX参照等)、当該アクションに関するデータ(例えばMUTEX名等)を格納する。
サービス操作12327及び13327は、1乃至複数格納でき、ログ取得プログラム122及び132が検体あるいは正規ファイルによるサービスに関する挙動を観測して取得した情報である。サービスとはバックグラウンドプロセスとして動作するプログラムであり、デーモンなどとも呼ばれる。サービス操作12327及び13327は、サービスに関する挙動が観測された日時、サービスに関するアクション(例えばサービス登録、サービス起動等)、当該アクションに関するデータ(例えばサービス名、引数等)を格納する。
API操作12328及び13328は、1乃至複数格納でき、ログ取得プログラム122及び132が検体あるいは正規ファイルにより呼び出された所定のAPIに関する挙動を観測して取得した情報で、APIに関する挙動が観測された日時、APIに関するアクション(例えばAPI呼び出し等)、当該アクションに関するデータ(例えば呼び出しAPI名、引数等)を格納する。
次に、図6を用いて、ログ管理DB123及び133に格納される解析ログの具体例について説明する。
解析ログには、検体解析ログ(マルウェア解析ログ)情報と正規ファイル解析ログ情報とが含まれる。検体解析ログ情報は、動的解析装置12において検体実行プログラム121が検体を実行し、ログ取得プログラム122が当該検体の挙動を監視して取得した解析ログである。検体解析ログ情報は、ログ管理DB123に記憶されることになる。一方、正規ファイル解析ログは、動的解析装置13において検体実行プログラム131が正規ファイルを実行し、ログ取得プログラム132が当該正規ファイルの挙動を監視して取得した解析ログである。正規ファイル解析ログはログ管理DB133に記憶されることになる
。
検体解析ログ情報に含まれる解析ID12331は、動的解析装置12の中で解析ログを一意に識別するための情報で、動的解析装置12が備えるログ管理DB123の解析ID12311と対応する。解析ログに含まれている検体の個々の挙動をイベント(12332〜12341)という。イベントは時刻、項目(イベントの種類)、アクション、及びデータの情報から構成される。各情報は前述した各種操作(12322〜12328)の定義に従って格納される。例えばイベント12332は、「malware.pdfというファイルが時刻00:00に実行された」ことを意味する。
正規ファイル解析ログ情報に含まれる解析ID13331は、動的解析装置13の中で解析ログを一意に識別するための情報で、動的解析装置13が備えるログ管理DB133の解析ID13311と対応する。解析ログに含まれている正規ファイルの個々の挙動をイベント(13332〜13336)といい、イベントは時刻、項目(イベントの種類)、アクション、及びデータの情報から構成される。各情報は前述した各種操作(13322〜13328)の定義に従って格納される。例えばイベント13332は、「sample.pdfというファイルが時刻00:00に実行された」ことを意味する。
次に、マルウェア特徴抽出装置14の構成について、図7を用いて説明する。図7はマルウェア特徴抽出装置の一例を示す図である。
マルウェア特徴抽出装置14は、演算部1401、メモリ1402、入力部1403、表示部1404、通信部1405、及び記憶部1406を含むコンピュータ上に実現することができる。各部(1401〜1406)は、検体投入装置11の各部(1101〜1106)と同じように構成されていて、以下では、差異のある部分のみ説明する。
通信部1405は、マルウェア特徴システム10内の各部(11〜13)(図1参照)、対策指示装置21との間で情報を送受信する。
記憶部1406は、ログ収集プログラム141、ログ比較プログラム142、比較用DB143、ブラックログDB144、及びホワイトログDB145を記憶している。なお、ログ収集プログラム141、及びログ比較プログラム142は、アプリケーションプログラムとして、メモリ1402に展開されて、演算部1401によって実行される。
ログ収集プログラム141は、動的解析装置12から解析ログを検体解析ログとして収集するとともに、動的解析装置13から解析ログを正規ファイル解析ログとして収集する。
ログ比較プログラム142は、ログ収集プログラム141が収集した検体解析ログと正規ファイル解析ログとを、比較用DB143(図8参照)に格納された比較ルール情報を利用して比較する。ログ比較プログラム142は、その比較結果に基づき、ブラックログとホワイトログとを生成し、それぞれブラックログDB144及びホワイトログDB145に格納する(図7参照)。
比較用DB143は、ログの同一性を判定するための情報を記憶する。比較用DB143には、予め設定してあるアクションに関する表現揺れを考慮した比較を実現するアクション同一視ルール情報と、データに関する表現揺れを考慮した比較を実現するデータ同一視ルール情報と、曖昧比較を実現する誤差許容ルール情報とが格納される。図8を用いて、アクション同一視ルール情報、データ同一視ルール情報、誤差許容ルール情報の一例について説明する。
(a)アクション同一視ルールにあるOS言語の取得(14411〜14413)は、マルウェアが自身の実行OSの言語環境が日本語であるか否かを取得する手段において、インストールされたIMEのバージョンを参照して「日本語IME」であることを確認する手段(14411)と、キーボードレイアウトが「106日本語キー」であることを確認する手段(14412)と、OSのバージョンを確認して「日本語版Windows」であることを確認する手段(14413)は、全て手段としては異なるが、言語環境を調べるという意味では同じアクションであることから、これらの異なるアクション同士の比較結果を一致とするルールである。なお、言語環境を調べるときの対象として日本語に限定するものではない。ファイルの書き込み(14414、14415)は、マルウェアがファイルを書き込む手段において、write関数を呼ぶ手段(14414)と、fput関数を呼ぶ手段(14415)は、手段としては異なるが、ファイルを書き込むという意味では同じアクションであることから、これらのアクション同士の比較結果を一致とするルールである。一定時間待機(14416、14417)は、マルウェアが一定時間活動せずに待機する手段において、sleep関数を呼ぶ手段(14416)と、getTickCount関数を呼ぶ手段(14417)は、手段としては異なるが、一定時間待機するという意味では同じアクションであることから、これらのアクション同士の比較結果を一致とするルールである。
(b)データ同一視ルールにあるループバックアドレス14421は、データとしてIPアドレス「127.0.0.1」と「127.10.10.10」が比較された場合、値は異なるが、両方ともループバックアドレスを意味することから、これらのデータ同士の比較結果を一致とするルールである。時間14422は、データとして「3600sec」と「1hour」が比較された場合、値は異なるが、両方とも1時間を意味することから、これらのデータ同士の比較結果を一致とするルールである。完全修飾ドメイン名14423は、データとして完全修飾ドメイン名「www1.abc.com」と「www2.abc.com」とが両方とも同じIPアドレスを持つ場合、値は異なるが、両完全修飾ドメイン名と、当該完全修飾ドメイン名に関連付けられるIPアドレスは全て同じノードを意味することから、これらのデータ同士の比較結果を一致とするルールである。
(c)誤差許容ルールにある数値14431は、数値を比較する際に設定された許容誤差の範囲内であれば比較結果を一致とするルールである。文字列14432は、文字列を比較するときに設定された比較方式により前方一致、後方一致、部分一致の条件で一致したのであれば比較結果を一致とするルールである。イベント時刻14433は、前記検体解析ログと前記正規ファイル解析ログ間のイベントを比較するときに、設定された許容時間内であれば2つのログに記録されたイベントは比較すべき組合せであると判断するルールである。
ブラックログDB144にはブラックログが記憶され、ホワイトログDB145にはホワイトログが記憶される。図9を用いて、ブラックログDB145及びホワイトログDB145の一構成例について説明する。
ブラックログDB144は、解析要求DB115の解析ID1151(図3参照)に対応する解析ID1451と、検体解析ログ情報(12332〜12341)にあって正規ファイル解析ログ(13332〜13336)にはないイベント(1452〜1457)とを組としたブラックログを1乃至複数格納する。
ホワイトログDB145は、解析要求DB115の解析ID1151に対応する解析ID1461と、検体解析ログ(12332〜12341)と正規ファイル解析ログ(13332〜13336)の両方に存在するイベント(1462〜1455)を組としたホワ
イトログを1乃至複数格納する。
次に、対策指示装置21の構成について、図10を用いて説明する。図10は対策指示装置の構成の一例である。
対策指示装置21は、演算部2101、メモリ2102、入力部2103、表示部2104、通信部2105、及び記憶部2106を含むコンピュータ上に実現することができる。各部(2101〜2106)は、検体投入装置11の各部(1101〜1106)と同じように構成されていて、以下では、差異のある部分のみ説明する。
通信部2105は、マルウェア特徴システム10のマルウェア特徴抽出装置14(図1参照)、マルウェア対策システム30内の対策装置31、検知装置32との間で情報を送受信する。
記憶部2106は、対策ルール生成プログラム211、対策指示プログラム212、対策ポリシDB213、対策ルールDB214、及び対策装置管理DB215を記憶している。なお、対策ルール生成プログラム211及び対策指示プログラム212は、アプリケーションプログラムとして、メモリ2102に展開されて、演算部2101によって実行される。
対策ルール生成プログラム211は、マルウェア特徴抽出装置14のブラックログDB145(図9参照)からブラックログを取得し、取得したブラックログと、後述する対策ポリシDB213に格納された対策ポリシ情報と、を参照してマルウェアに対する対策の実施を指示する対策ルールを作成し、対策ルールDB214に対策ルールを格納する。
対策指示プログラム212は、対策ルールDB214に格納された対策ルールを対策装置31もしくは検知装置32、またはその両方に送信する。
次に、対策ポリシDB213、対策ルールDB214、及び対策装置管理DB215については、図11を用いて、対策ポリシ情報、対策ルール情報、対策装置管理情報の一例について説明する。
対策ポリシDB213には、対策ルールを作成するための情報である対策ポリシ情報が記憶される。対策ポリシ情報には、ポリシID2131、項目2132、アクション2133、対策場所2134、及び対策2135が含まれる。
ポリシID2131は、対策ポリシを一意に識別するための情報である。項目2132は、ブラックログDB144(図9参照)に格納されたイベントの項目に対応し、当該イベントに対して対策ポリシを適用するか否かを判断するために利用される。アクション2133は、ブラックログDB144に格納されたイベントのアクションに対応し、当該イベントに対して対策ポリシを適用するか否かを判断するために利用する。対策場所2134は、後述する対策装置管理DB215の対策場所2152に対応し、対策場所に応じて対策ポリシを適用するか否かを判断するために利用される。対策2135は、項目2132、アクション2133、及び対策場所2134の全ての条件が成立した場合に実施する対策を指す。
対策ルールDB214には、対策ルールが記憶される。対策ルールには、対策ID2141、対策装置ID2142、及び対策内容2143が含まれる。
対策ID2141は、対策装置31(図1参照)、検知装置32、あるいは図示されて
いない装置に指示する対策ルールを一意に識別するための情報である。対策装置ID2142は、ブラックログDB144(図9参照)に格納されたイベントに対しどの対策措置で対策を実行するかを、対策装置管理DB215の情報を基に決定した情報である。対策内容2143は、ブラックログDB144に格納されたイベントに対しどのような対策を実行するかを、対策ポリシDB213と対策装置管理DB215とを参照して決定した情報である。
対策装置管理DB215には、対策装置管理情報が記憶される。対策装置管理情報には、対策装置ID2151及び対策場所2152が含まれる。
対策装置ID2151は、対策が実施可能な装置(対策装置31、検知装置32、あるいは図示されていない2つの端末)を識別するための情報である。対策場所2152は、各対策装置が対策を実施可能な場所を示す情報である。
対策装置31、及び検知装置32の構成については、図示を省略するが、各々が、アプリケーションプログラムによって種々の演算処理やキー情報の送受信を司る演算部、情報入力のための入力部、演算結果や指示を画面表示する表示部、他の装置との通信を制御する通信部、及びアプリケーションプログラム、演算に必要な情報や演算結果などを記憶する記憶部を含んでいる。
対策システム30内の対策装置31の対策プログラム311は、対策指示装置21の対策ルールを受信し、対策ルールの内容に従って脅威に対する対策を実施する。
対策システム30内の検知装置32の検知プログラム321は、対策指示装置21の対策ルールを受信し、対策ルールの内容に従って脅威の検知を実施する。
ここで、マルウェア特徴抽出システム20内の検体投入装置11の検体投入プログラム111と、正規ファイル生成プログラム112における処理の流れについて、図12を用いて説明する。
図12に示すように、検体投入プログラム111(図2参照)が開始されると、図示しない利用者や他のマルウェア提供装置から検体となるマルウェアを受け付けて、検体受付DB113に検体受付情報として格納する(ステップS1101)。例えば、図3に示す内容を含む(すなわち検体ファイル1132が「malware.pdf」である)検体受付情報が格納される。検体投入プログラム111は、受け付けた検体を、正規ファイルDB114に格納されている(a)ファイル種別特徴情報(図3参照)のパターン特徴11411とマッチさせてファイルの種別を判定する(ステップS1102)。例えば、malware.pdfのファイルの先頭が「%PDF」という文字列であった場合には、この文字列にマッチするパターン特徴11412に対応するファイル種別ID11411である「PDF」と判定する。次に検体投入プログラム111は、ファイル種別が絞り込めたか否かを判定する(ステップS1103)。例えば、ステップS1102によってファイル種別IDを「PDF」として絞り込めたが、仮にファイルの先頭が(a)ファイル種別特徴情報に記載のどのパターン特徴11412にも当てはまらなかった場合は、ファイル種別が絞り込めなかったことになる。ファイル種別が絞り込めなかった場合には(ステップS1103:No)、拡張子特徴からファイル種別を判定する処理に移る。具体的には、検体投入プログラム111は、検体のファイル名の拡張子部と、a)ファイル種別特徴情報の拡張子特徴11413とが対応するファイルの種別ID11411を判定する(ステップS1104)。例えば、検体のファイル名が「malware.pdf」である場合、拡張子が「pdf」であることから、ファイル種別IDとして「PDF」と判定される。これらの処理によって解析する検体のファイル種別IDが決定される(ステップ
S1105)。上述した例では、ファイル種別IDは「PDF」と決定される。
次に、正規ファイル生成プログラム112が、決定されたファイル種別IDと同じ値の正規ファイルIDに対応するファイル11422を正規ファイル管理DB114の(b)正規ファイルストア(図3参照)から取得し、取得したファイル11422が示す正規ファイルを取得する(ステップS1106)。例えば、解析すべき検体のファイル種別IDが「PDF」である場合、(b)正規ファイルストアの正規ファイルID11421が「PDF」となるレコードのファイル11422が示す「sample.pdf」が読み込まれる。また、解析すべき検体ファイルの拡張子と、正規ファイルの拡張子とが異なる場合は、正規ファイルの拡張子を解析すべき検体ファイルの拡張子に合わせて変更する。当該正規ファイルは、正規ファイル生成プログラム112が、最小限の内容から構成される正規ファイルをその場で生成しても構わない。検体と正規ファイルが揃ったら、検体投入プログラム111は、検体を動的解析装置12に送信し、正規ファイルを動的解析装置13に送信して、解析を依頼する(ステップS1107)。なお、動的解析装置を3つ以上用意し、検体を1乃至複数の動的解析装置に、正規ファイルを1乃至複数の動的解析装置に送信しても構わない。さらに動的解析装置12及び13に検体及び正規ファイルを送信するタイミング(あるいは動的解析装置12及び13が検体及び正規ファイルを実行するタイミング)は同時であることが望ましいが、実施形態によっては1つの動的解析装置12のみを準備し、1つの動的解析装置12において2回に分けて検体と正規ファイルを解析(ログの収集)しても構わない。最後に検体投入プログラム111は、動的解析装置12及び13に送信した結果を解析要求DB115に格納する(ステップS1108)。ここでは、図3に示す内容を含む解析要求情報(解析ID1151が「REQ0001」である解析要求情報)が格納される。
次に、マルウェア特徴抽出システム10内のマルウェア特徴抽出装置14のログ収集プログラム141と、ログ比較プログラム142による処理の流れについて、図13を用いて説明する。
図13に示すように、ログ収集プログラム141(図7参照)が開始されると、動的解析装置12から検体の解析結果に関する解析ログを収集し、動的解析装置13から正規ファイル解析結果に関する解析ログをそれぞれ収集する(ステップS1401)。例えば図6の例では、上段に示す検体解析ログ(解析ID12331が「REQ0001」の検体解析ログ)と、下段に示す正規ファイル解析ログ(解析ID13331が「REQ0001」の正規ファイル解析ログ)とが収集されている。動的解析装置が3以上ある場合は、それぞれから解析ログを得るようにしてもよい。
次に、ログ比較プログラム142が、検体解析ログ及び正規ファイル解析ログに記録された同時刻に発生した双方のイベントを、比較用DB143(図8参照)に定義された各ルールに則って比較を行う(ステップS1402)。例えば、図6の例では、解析ID12331が「REQ0001」である検知解析ログの1つめのイベント「時刻=00:00、項目=プロセス操作、アクション=実行、データ=malware.pdf」と、当該イベントと同時刻に発生したイベント、つまり解析ID13331が「REQ0001」である正規ファイル解析ログの1つめのイベント「時刻=00:00、項目=プロセス操作、アクション=実行、データ=malware.pdf」とが比較されることになる。ここで、検体解析ログの時刻と、正規ファイル解析ログの時刻の比較においては、図8に示す比較用DB143の(c)誤差許容ルールに定義されたイベント時刻14433の値「+−3sec」に従い、「00:00」との前後3秒を同時刻とみなすことになる。
ログ比較プログラム142は、検体解析ログと正規ファイル解析ログとが一致するか否かを判定する(ステップS1403)。上記の例では、データ「malware.pdf
」と「sample.pdf」は、比較用DB143に定義されたどの各種ルールに則って比較しても一致とならないことから、両イベントの比較結果は不一致という結果となる。一致した場合(ステップS1403:Yes)、ログ比較プログラム142は、当該検体解析ログのイベントをホワイトログDB146(図9参照)に追加する(ステップS1404)。不一致の場合(ステップS1403:No)、ログ比較プログラム142は、当該検体解析ログのイベントをブラックログDB145に追加する(ステップS1405)。上記の例では、検体解析ログの1イベント目は、不一致であったため当該検体解析ログのイベント(「時刻=00:00、項目=プロセス操作、アクション=実行、データ=malware.pdf」)はブラックログDB145に追加される。検体解析ログの全てのイベントを比較完了したかを判定し(ステップS1406)、まだ比較していないイベントがあれば(ステップS1406:No)ステップS1402に戻る。
例えば図6の例において、検体解析ログのイベント12332について処理を行ったところでは、まだ検体解析ログに比較していないイベントが残っているため、ステップS1402に戻り、検知解析ログの2つめのイベント12333「時刻=00:15、項目=プロセス操作、アクション=実行、データ=Acrobat Reader」と、正規ファイル解析ログの同時間帯のイベント13333「時刻=00:15、項目=プロセス操作、アクション=実行、データ=Acrobat Reader」とを比較することになる。この場合、全ての項目で一致するためステップS1403において一致判定となり、ステップS1404において図9に示すホワイトログDB146のホワイトログ情報1462に追加される。以上の処理を繰り返すことにより、ブラックログDB145のブラックログ情報には、「項目=ネットワーク通信、アクション=HTTPリクエスト、データ=www.abc.com」や、「項目=ファイル操作、アクション=作成、データ=ABC.bat」、「項目=ファイル操作、アクション=操作、データ=malware.pdf」などが追加される。
以上のようにして、本実施形態のマルウェア特徴抽出システム10によれば、マルウェアを実行することにより得られたログ(検体解析ログ情報に含まれるイベント)のうち、正規ファイルを実行することにより得られたログ(正規ファイル解析ログ情報に含まれるイベント)に含まれていないものをブラックログとして抽出することができる。正規ファイルはマルウェアでないファイルであり、これを実行することにより得られるログ(イベント)は、マルウェアに特徴的なものではないことから、正規ファイル解析ログ情報に含まれないログ(イベント)のみを抽出することにより、マルウェアに特徴的なログを精度良く抽出することができる。また、例えばアプリケーションの起動時に設定ファイルを読み込んだり、最新のアップデータを入手したりする挙動は正規ファイルであっても行われるものであり、このような挙動についてもログは取得されることからログは膨大な量となるところ、本実施形態のマルウェア特徴抽出システム10によれば、膨大な量の解析ログから、本来得たいマルウェアの挙動の特徴を精度高く抽出することができる。したがって、解析コストを低減し、解析結果を用いた対策の迅速化を図ることが可能となり、被害予防や被害最小化を実現することができる。
また、本実施形態のマルウェア特徴抽出システム10によれば、動作解析装置12及び13においてマルウェアと正規ファイルとを同時に実行することができる。例えば、ある種別のソフトウェアのアップデートが1日に1回12:00に行われるように設定されていた場合、12:00に実行されるかどうかによりソフトウェアのアップデータに係るログが得られるか否かが決定することになり、例えば正規ファイルを11:45〜11:55に実行し、マルウェアを11:55〜12:05に実行したようなときには、ソフトウェアのアップデータに関するログが検体解析ログ情報にのみ含まれるようになるが、これは正規ファイルを12:00に実行していた場合には得られるログである。そこで、本実施形態のマルウェア特徴抽出システム10のように、マルウェアと正規ファイルとを同時
に実行することにより、時刻に応じた挙動に係るログについても、正規ファイルを実行した場合に得られるものを排除して、マルウェアの挙動に特徴的なログのみを精度良く抽出することができる。
また、本実施形態のマルウェア特徴抽出システム10によれば、比較用DB143に記憶されているルールに従って検体解析ログ情報のイベントと、正規ファイル解析ログ情報のイベントとの同一性を判定するようにしている。例えば、図8に示すように「インストールIMEのバージョン取得」と「キーボードレイアウトの取得」とは異なるアクションではあるものの実質的には同種のことを行っており、アクション同一視ルール情報に基づいてイベントを比較することにより、異なるアクションであっても同一視することのできるアクションについては同一と判定し、これをブラックログから排除することができる。また、例えば図8に示すように、「172.10.10.10」をループバックアドレスとして使用している場合には、「127.0.0.1」と「172.10.10.10」とは同一のアドレスと評価することが可能であり、データ同一視ルール情報に基づいてイベントを比較することにより、異なるデータであっても同じデータとみなすことのできるデータを同一と判定し、これをブラックログから排除することができる。また、例えば図8に示すように、ある数値について±30%の誤差を許容するように設定しておくことにより、マルウェアが行った数値を設定する処理と、誠意ファイルが行った数値を設定する処理とについて、誤差を許容しながらイベントを比較し、誤差の範囲内においてイベントを同一と判定し、これをブラックログから排除することができる。
なお、検体解析ログが複数ある場合には、検体解析ログ同士を上記処理の流れと同じように比較して全ての解析ログに一致する部分のみ抽出して解析ログとしてもよい。同様に正規ファイル解析ログが複数ある場合には、正規ファイル解析ログ同士を上記処理の流れと同じように比較して全ての解析ログに一致する部分のみ抽出して正規ファイル解析ログとしてもよい。これによって、新たに抽出した検体解析ログ、及び正規ファイル解析ログのノイズが除去され、ホワイトログ、ブラックログの精度が高まる。
また、例えば解析環境ID=「SWSM0001」及びファイル種別ID=「PDF」を条件としたホワイトログとして保管しておくことにより、次に同じ条件(解析環境ID=「SWSM0001」及びファイル種別ID=「PDF」)で検体を解析する際に、当該条件のホワイトログを読み込んで検体解析ログと比較することで、検体の解析の度に正規ファイルを生成(ステップS1106)したり、正規ファイルの解析(ステップS1107の正規ファイルの一部)を実施したりする処理を省略することもできる。
次に、対策指示装置21の対策ルール生成プログラム211と、対策指示プログラム212における処理の流れについて、図14を用いて説明する。
図14に示すように、対策ルール生成プログラム211(図10参照)は、マルウェア特徴抽出装置14のブラックログDB144(図9参照)よりブラックログを取得する(ステップS2101)。ここでは、図9に示すブラックログDB144の解析ID1451が「REQ0001」のイベントの中から一例としてイベント1454の「項目=ネットワーク通信、アクション=HTTPリクエスト、データ=www.abc.com/ABC.bat」を取得したとする。
対策ルール生成プログラム211は、取得したブラックログのイベント1454の項目及びアクションと、対策ポリシDB213に記憶されている対策ポリシ情報の項目2132及びアクション2133とを照合して、一致する対策ポリシ情報の対策場所2134及び対策2135を得る(ステップS2102)。ここでは、「項目=ネットワーク通信、アクション=HTTPリクエスト」に対応する対策ポリシ情報を対策ポリシDB213から検索して得た結果として「ポリシID=PL0002、項目=ネットワーク通信、アク
ション=HTTPリクエスト、対策=アラート」を得る。
対策ルール生成プログラム211は、得られた対策ポリシ情報とブラックログ情報のイベントに基づいて対策ルール情報を生成し、対策ルールDB214に格納する(ステップS2103)。例えば、対策ルール生成プログラム211は、新たな対策ルールID2141を割り当てる。対策ルール生成プログラム211は、対策ポリシ情報の対策場所2134と一致する対策場所2152を有する対策装置管理情報の対策装置ID2151を対策装置管理DB215から取得して対策装置ID2142とする。対策ルール生成プログラム211は、ブラックログのイベントのデータ及び対策ポリシ情報の対策2135に応じて対策内容2143を作成する。ここでは、イベント1454「項目=ネットワーク通信、アクション=HTTPリクエスト、データ=www.abc.com/ABC.bat」と、対策ポリシ情報「ポリシID=PL0002、項目=ネットワーク通信、アクション=HTTPリクエスト、対策場所=検知装置、対策=アラート」と、対策装置管理情報「対策装置ID=AP002、対策場所=検知装置」から、「対策ID=ACT002、対策装置=AP002、対策内容=www.abc.com/ABC.batへのHTTPリクエスト時にアラート」という対策ルール情報を得て対策ルールDB214に格納することができる。
次に、対策指示プログラム212は、対策装置31向けの対策ルール情報を対策ルールDB214から取得し、対策ルール情報に基づいて対策装置31に対策を指示する(ステップS2104)。すなわち、対策指示プログラム212は、対策場所2152が「対策装置」である対策装置管理情報を対策装置管理DB215から取得し、取得した対策装置管理情報の対策装置ID2151に対応する対策ルール情報を対策ルールDB214から取得し、対策装置管理情報の対策装置ID2151が示す対策装置31に対して、対策ルール情報の対策内容2143を指示する。ここでは、対策ルールDB214から、対策装置ID2142=AP001の対策ルール情報である対策ID2141=ACT001の対策ルール情報を抽出し、対策装置ID2142=AP001が示す対策装置31に対して、対策内容2143「www.abc.comのDNSクエリを通信遮断」を指示する。
また、対策指示プログラム212は、検知装置32向けの対策ルール情報を対策ルールDB214から取得し、対策ルール情報に基づいて検知装置32に検知を指示する(ステップS2105)。すなわち、対策指示プログラム212は、対策場所2152が「検知装置」である対策装置管理情報を対策装置管理DB215から取得し、取得した対策装置管理情報の対策装置ID2151に対応する対策ルール情報を対策ルールDB214から取得し、対策装置管理情報の対策装置ID2151が示す検知装置32に対して、対策ルール情報の対策内容2143を指示する。ここでは、対策ルールDB214から、対策装置ID2142=AP002の対策ルール情報である対策ID2141=ACT002の対策ルール情報を抽出し、対策装置ID=AP002が示す検知装置32に対して、対策内容2143「www.abc.com/ABC.batへのHTTPリクエスト時にアラート」を指示する。
さらに図示していない端末についても、対策指示プログラム212は、端末向けの対策ルール情報を対策ルールDB214から取得し、対策ルールに基づいて端末へ指示する(ステップS2106)。すなわち、対策指示プログラム212は、対策場所2152が「端末」である対策装置管理情報を対策装置管理DB215から取得し、取得した対策装置管理情報の対策装置ID2151に対応する対策ルール情報を対策ルールDB214から取得し、対策装置管理情報の対策装置ID2151が示す端末に対して、対策ルール情報の対策内容2143を指示する。ここでは、対策ルールDBから対策装置ID=AP003又はAP004に対応する対策ルール情報を抽出し、対策装置ID=AP003又はA
P004が示す端末に対して、「ABC.batの削除」「ABC.batの実行禁止」「ABC.bat実行時にアラート」を指示する。
次に、本実施形態のマルウェア特徴抽出システム10、対策指示装置21及びマルウェア対策システム30の動作を、図15を用いて説明する。図15は、本実施形態のマルウェア特徴抽出システム10、対策指示装置21及びマルウェア対策システム30の動作の一例を示す図である。
図15では、マルウェアを発見した場合の対策事例について説明する。なお、図15において、検体投入装置11、動的解析装置12、動的解析装置13、マルウェア特徴抽出装置14、対策指示装置21、対策装置31、検知装置32は、図1に示したものと同様であるので、説明を省略する。
まず、管理者51が検体投入装置11を操作して、あるいは検体提供装置52から検体投入装置11に対してマルウェアである検体の解析を依頼する(ステップS001)。
検体投入装置11は、依頼された検体から、同じファイル種別(実行ファイル、PDFファイルなど)のマルウェアではない正規ファイルを生成(本実施形態では予め準備された正規ファイルを正規ファイルストアから取得)する(ステップS002)。検体投入装置11は検体を動的解析装置12に送信して検体の実行を依頼する(ステップS003)。またステップS003と同時刻に検体投入装置11は動的解析装置13に正規ファイルを送信して正規ファイルの実行を依頼する(ステップS004)。
動的解析装置12は検体が投入されると検体を実行し(ステップS005)、その挙動を観測して検体解析ログを取得する(ステップS006)。また、動的解析装置13は正規ファイルが投入されると正規ファイルを実行し(ステップS007)、その挙動を観測して正規ファイル解析ログを取得する(ステップS008)。
マルウェア特徴抽出装置14は、動的解析装置12から検体解析ログを、動的解析装置13から正規ファイル解析ログをそれぞれ収集する(ステップS009)。マルウェア特徴抽出装置14は、検体解析ログと正規ファイル解析ログのイベント同士を予め定義しておいた比較ルールに則って比較して(ステップS010)、一致する部分をホワイトログ、検体解析ログにのみ現れる部分をブラックログとして抽出する(ステップS011)。ブラックログはマルウェアの特徴を示す情報となる。
対策指示装置21は、マルウェア特徴抽出装置14からブラックログを取得し(ステップS012)、予め定義しておいた対策ポリシ情報に基づいて対策ルールを生成し(ステップS013)、対策装置31、検知装置32及び端末53のそれぞれに適した対策ルールを展開する(ステップS014)。これにより、ステップS001で提供したマルウェアに固有の特徴に基づいてマルウェアに対する防御対策を施すことが可能となり、ユーザ52の利用する端末53がマルウェアに感染したとしても(ステップS015)、端末53上で直ちにマルウェアを削除したり(ステップS016)、マルウェアによってインターネット54にマルウェア通信をしようとした時には(ステップS017)、検知装置32でその通信を検知して管理者51に対してアラートを出したり(ステップS018)、対策装置31でその通信を検知して通信の遮断を行ったり(ステップS019)することができる。
以上のように、本実施形態の本実施形態のシステムによれば、上述のようにマルウェアに関する特徴を精度の高く表しているブラックログに基づいてマルウェアへの対策を講じることができる。したがって、マルウェアでないファイルについてまで遮断してしまうよ
うな不具合を防止することができる。
以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
例えば、本実施形態では、検体投入装置11、動的解析装置12及び13ならびにマルウェア特徴抽出装置14は、それぞれ別体のコンピュータであるものとしたが、マルウェア特徴抽出システム10を1台のコンピュータ又は複数台のハードウェアから構成される仮想的な1台のコンピュータとして実現し、検体投入装置11、動的解析装置12及び13ならびにマルウェア特徴抽出装置14の少なくともいずれかを、マルウェア特徴抽出システム10上で実行される仮想的なコンピュータとして実現するようにしてもよい。例えば動的解析装置12が備える演算部1201、メモリ1202、通信部1205、記憶部1206などをマルウェア特徴抽出システム10がエミュレートするようにすることができる。