JP6459289B2 - マルウェア推定装置、マルウェア推定方法、及び、マルウェア推定プログラム - Google Patents

マルウェア推定装置、マルウェア推定方法、及び、マルウェア推定プログラム Download PDF

Info

Publication number
JP6459289B2
JP6459289B2 JP2014161594A JP2014161594A JP6459289B2 JP 6459289 B2 JP6459289 B2 JP 6459289B2 JP 2014161594 A JP2014161594 A JP 2014161594A JP 2014161594 A JP2014161594 A JP 2014161594A JP 6459289 B2 JP6459289 B2 JP 6459289B2
Authority
JP
Japan
Prior art keywords
malware
similarity
history information
input
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014161594A
Other languages
English (en)
Other versions
JP2016038721A (ja
Inventor
高橋 良和
良和 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2014161594A priority Critical patent/JP6459289B2/ja
Publication of JP2016038721A publication Critical patent/JP2016038721A/ja
Application granted granted Critical
Publication of JP6459289B2 publication Critical patent/JP6459289B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

本発明は、マルウェアを検出可能なマルウェア推定装置等に関する。
特定の企業、または、特定の組織を標的(以降、「ターゲット」と表す)とする標的型攻撃による被害は、年々、深刻化している。それとともに、標的型攻撃による被害の実態を把握することが難しくなっている。
標的型攻撃の多くは、マルウェア、特に、多段型のマルウェアに起因する。多段型のマルウェアは、インターネットを介して、ホストからプログラムをダウンロードするダウンローダを用いて、ターゲット等を攻撃する。
マルウェアは、公知の脆弱性を利用することにより、ターゲットに感染する。したがって、マルウェアへの対策は、たとえば、該公知の脆弱性に基づき、マルウェアを検知するパターンファイルを作成することである。
一方、特定の企業を標的とする標的型攻撃を実行するマルウェアは、該特定の企業のみが導入しているソフトウェアに存在する脆弱性を利用することにより、該ターゲットのみに侵入する。たとえば、該ソフトウェアは、特定の企業における情報処理装置の状態を管理するソフトウェアである。したがって、公知の脆弱性に基づき、パターンファイルを作成するのみでは、標的型攻撃を実行するマルウェアを完全に防ぐことは難しい。
サンドボックス(Sandbox)は、標的型攻撃を実行するマルウェアを含むマルウェアを検知可能な技術の1つである。サンドボックスは、該サンドボックスの内部において実行するソフトウェアが、外部に影響を及ぼさない仮想的な実行環境である。たとえば、サンドボックスを利用して、マルウェアであることが疑われるファイルを実行し、該実行結果に基づき、実行したファイルがマルウェアであるか否かを判定することができる。
特許文献1乃至特許文献3に開示される技術は、マルウェアを検知する技術の一例である。特に、特許文献3は、サンドボックスを利用して、ソフトウェアがマルウェアであるか否かを推定するマルウェア検知装置を開示する。
特許文献1は、未知の実行ファイルがマルウェアであるか否かを判定するマルウェア判定システムを開示する。該マルウェア判定システムは、第1の実行ファイルに含まれる関数(プロセス)名に関するリスト(以降、「第1リスト」と表す)を作成する。次に、該マルウェア判定システムは、第1の実行ファイルを実行し、実行した結果生成される第2の実行ファイルに含まれる関数名に関するリスト(以降、「第2リスト」と表す)を作成する。該マルウェア判定システムは、第1リストと、第2リストとを比較し、該2つのリストが一致する場合に、第1の実行ファイルがマルウェアであると判定する。該マルウェア判定システムは、該2つのリストが一致しない場合に、第1の実行ファイルがマルウェアでないと判定する。
特許文献2は、ソフトウェアと、マルウェアとが、どの程度、類似するのかを算出するマルウェア類似性算出装置を開示する。該マルウェア類似性算出装置は、通信ネットワークにおけるアドレスを走査する処理に関する統計情報と、コード及び挙動を分析した結果を表す分析情報とに関して、検査対象であるソフトウェアと、マルウェアとが類似する程度を表す類似性を算出する。次に、該マルウェア類似性算出装置は、算出した類似性に基づき、検査対象であるソフトウェアがマルウェアであるか否かを判定する。
特許文献3は、サンドボックスを検知可能なマルウェアであっても、該マルウェアを検知可能なマルウェア検知装置を開示する。該マルウェア検知装置は、検査対象であるソフトウェアを、仮想的な実行環境であるサンドボックスと、現実の実行環境である端末とにおいて、それぞれ実行する。次に、マルウェア検知装置は、該サンドボックスと、端末とから、それぞれ、該ソフトウェアに関する識別情報と、該ソフトウェアが実行した処理に関するログとを受信する。次に、該マルウェア検知装置は、2つの該識別情報が一致し、さらに、2つの該ログが一致しない場合に、検査対象であるソフトウェアがマルウェアであると判定する。
特開2011−221745号公報 特開2009−037545号公報 特開2014−071796号公報
しかし、特許文献1または特許文献3に開示されたマルウェアを検知する技術は、必ずしも、マルウェアを正しく検知できるとは限らない。
この理由について、各特許文献に開示された技術に基づき説明する。
特許文献1に開示されたマルウェア判定システムは、実行ファイルに含まれるプロセス名に基づき、該実行ファイルがマルウェアであるか否かを推定する。たとえば、該マルウェア判定システムは、実行ファイルに含まれるプロセス名が一致しない場合に、マルウェアでないと判定する。したがって、該マルウェア判定システムは、類似するプロセスを多く含む実行ファイルであっても、マルウェアでないと判定する可能性がある。
特許文献3に開示されたマルウェア検知装置は、サンドボックス内外において、検査対象であるソフトウェアを実行し、内外における2つのログを比較する。該マルウェア検知装置は、該2つのログが異なる場合に、該ソフトウェアがサンドボックスを検知するマルウェアであると判定する。したがって、該マルウェア検知装置は、サンドボックスを検知しないマルウェアを検知することができない。
そこで、本発明の主たる目的は、マルウェアに感染しているか否かをより正確に推定可能なマルウェア推定装置等を提供することである。
前述の目的を達成するために、本発明の一態様において、マルウェア推定装置は、以下の構成を備える。
すなわち、マルウェア推定装置は、
マルウェアと推定されるソフトウェアによって実行された入出力処理に関する履歴を表す第1履歴情報と、情報処理装置によって実行された入出力処理に関する履歴を表す第2履歴情報とが、類似または一致する度合を表す類似度を算出する類似度算出手段と、
前記情報処理装置が、前記マルウェアに感染しているか否かを、前記類似度に基づき推定する推定手段と
を備える。
また、本発明の他の見地として、マルウェア推定方法は、
情報処理装置を用いて、マルウェアと推定されるソフトウェアによって実行される入出力処理に関する履歴を表す第1履歴情報と、情報処理装置によって実行される入出力処理に関する履歴を表す第2履歴情報とが、類似または一致する度合を表す類似度を算出し、前記情報処理装置が、前記マルウェアに感染しているか否かを、前記類似度に基づき推定する。
さらに、同目的は、係るマルウェア推定プログラム、および、そのプログラムを記録するコンピュータ読み取り可能な記録媒体によっても実現される。
本発明に係るマルウェア推定装置等によれば、マルウェアに感染しているか否かをより正確に推定することができる。
本発明の第1の実施形態に係るマルウェア推定装置が有する構成を示すブロック図である。 第1の実施形態に係るマルウェア推定装置における処理の流れを示すフローチャートである。 マルウェアと推定されるソフトウェアによって実行された入出力処理に関する履歴情報の一例を概念的に表す図である。 情報処理装置における入出力処理に関する履歴情報の一例を概念的に表す図である。 対応情報の一例を概念的に表す図である。 本発明の第2の実施形態に係るマルウェア推定装置が有する構成を示すブロック図である。 マルウェア推定装置における処理の流れを示すフローチャートである。 第2の実施形態に係るサンドボックスが有する構成を示すブロック図である。 第2の実施形態に係るサンドボックスにおける処理の流れを示すフローチャートである。 第2履歴情報を作成する仮想部が有する構成を示すブロック図である。 仮想部に含まれるクライアントが有する構成を示すブロック図である。 仮想部における処理の流れを示すフローチャートである。 本発明の第3の実施形態に係るマルウェア推定装置が有する構成を示すブロック図である。 第3の実施形態に係るマルウェア推定装置における処理の流れを示すフローチャートである。 本発明の各実施形態に係るマルウェア推定装置を実現可能な計算処理装置のハードウェア構成を、概略的に示すブロック図である。
次に、本発明を実施する実施形態について図面を参照しながら詳細に説明する。
<第1の実施形態>
本発明の第1の実施形態に係るマルウェア推定装置101が有する構成と、マルウェア推定装置101が行う処理とについて、図1と図2とを参照しながら詳細に説明する。図1は、本発明の第1の実施形態に係るマルウェア推定装置101が有する構成を示すブロック図である。図2は、第1の実施形態に係るマルウェア推定装置101における処理の流れを示すフローチャートである。
第1の実施形態に係るマルウェア推定装置101は、類似度算出部102と、推定部103とを有する。
マルウェア推定装置101は、通信ネットワークを介して情報処理装置501と通信することができる。
まず、類似度算出部102は、マルウェア、または、マルウェアと推定されるソフトウェアによって実行された入出力処理に関する履歴情報601(以降、第1履歴情報とも表す。たとえば、図3)を受信する。図3は、マルウェアと推定されるソフトウェアによって実行された入出力処理に関する履歴情報601の一例を概念的に表す図である。
尚、履歴情報601は、後述のように、サンドボックスが作成してもよい。
図3を参照すると、履歴情報601は、ソフトウェア名と、実行環境と、種類と、処理内容とを関連付ける。ソフトウェア名は、ソフトウェアを一意に識別する識別子を表す。実行環境は、履歴情報601を作成する場合に、該ソフトウェアを実行する環境であり、たとえば、サンドボックス、または、ソフトウェアを実行する情報処理装置の名称等の値を表す。種類は、該ソフトウェアが実行する入出力処理の種類を表す。処理内容は、該ソフトウェアが実行する入出力処理において、処理する対象であるファイル名等の詳細な情報を含む情報を表す。
たとえば、図3に例示する履歴情報601は、impj.exe、サンドボックス、”Add File”、及び、処理内容(図3において、PATH:に始まる欄)を関連付ける。これは、プログラムimpj.exeは、サンドボックスにおいて実行されたことを表す。この場合に、プログラムimpj.exeは、入出力処理において、”Add File“(すなわち、ファイルの追加)という種類の命令を実行することを表す。プログラムimpj.exeは、該ファイルを追加する入出力処理において、「PATH:」以降に示されたファイルを、「VSDT_ASCII」が表す型に従い追加することを表す。
尚、履歴情報601は、上述した項目以外の項目を含んでもよいし、実行環境、及び、ソフトウェア名を含んでいなくともよい。
次に、類似度算出部102は、情報処理装置501における入出力処理に関する履歴情報(たとえば、図4、説明の便宜上、「第2履歴情報」と表す)を受信する。図4は、情報処理装置501における入出力処理に関する履歴情報の一例を概念的に表す図である。
尚、第2履歴情報は、後述のように、仮想部が作成してもよい。
第2履歴情報は、情報処理装置501において実行された入出力処理に関して、日時、実行環境、種類、及び、処理対象を関連付けする。第2履歴情報は、日時、及び、実行環境に関する値を含んでいなくてもよいし、上述した項目以外の項目を含んでもよい。
図4に示す例において、第2履歴情報は、Aと、クライアントと、作成と、“c:¥demo_im¥新しいテキスト_ドキュメント.txt”とを関連付ける。これは、情報処理装置501が日時Aに、クライアントにおいて、「作成」という種類の入出力処理を実行することを表す。この場合に、情報処理装置501は、“c:¥demo_im¥新しいテキスト_ドキュメント.txt”というファイルを「作成」する入出力処理を実行する。
尚、“¥”は、フォルダ(ディレクトリ)の句切れを表し、“c:”は、ドライブ名を表す。表記方法は、上述した方法に限定されない。すなわち、上述した例において、情報処理装置501は、“c”というドライブ名を有する記憶装置において、“demo_im”というディレクトリに、“新しいテキスト_ドキュメント.txt”というファイルを作成する入出力処理を実行する。
次に、類似度算出部102は、履歴情報601と、第2履歴情報との類似度を算出する(ステップS101)。類似度は、履歴情報601と、第2履歴情報とが類似する程度(度合、割合)を表し、履歴情報601と、第2履歴情報とが類似するほど大きな値となる。また、類似度は、履歴情報601と、第2履歴情報とが同じである場合に、最も大きな値となる。
履歴情報601に含まれる種類(以降、「第1種類」)と、第2履歴情報に含まれる種類(以降、「第2種類」)とが異なる仕様に従い記載される場合に、類似度算出部102は、図5に例示するような、対応情報に基づき、履歴情報を変換してもよい。図5は、対応情報の一例を概念的に表す図である。すなわち、第1種類、及び、第2種類は、入出力処理に関する種類を表す。
対応情報は、第1種類と、第2種類とを関連付ける。たとえば、対応情報は、「Add_File」と、「作成」とを関連付ける。これは、「Add_File」に関する入出力処理と、「作成」に関する入出力処理が同等、もしくは、同一の入出力処理であることを表す。
説明の便宜上、類似度算出部102は、対応情報に基づき、第1種類を第2種類に変換する場合の処理について説明する。尚、類似度算出部102は、対応情報に基づき、第2種類を第1種類に変換してもよい。
たとえば、類似度算出部102は、図3に例示する履歴情報601から、「Add_File」を読み取り、対応情報から、「Add_File」に関連付けされた「作成」を読み取る。したがって、類似度算出部102は、対応情報に基づき、「Add_File」を「作成」に変換する。
次に、類似度算出部102は、図3に例示する履歴情報601において、「Add_File」に関連付けされた「PATH:、、、(略)」を読み取り、「PATH:」以降に示された値(すなわち、%TEMP、、(略)、、ISPACKDEL.INI)を読み取る。すなわち、類似度算出部102は、「PATH:」以降に示された値を、入出力処理における処理対象として読み取る。
尚、第1種類と、第2種類とがある仕様に従い記載される場合に、類似度算出部102は、必ずしも、対応情報に基づき、履歴情報を変換する必要はない。
次に、類似度算出部102は、第1種類、第2種類、履歴情報601に含まれる処理対象、及び、第2履歴情報に含まれる対象に基づき、類似度を算出する。
たとえば、類似度算出部102は、第1種類と第2種類とが一致する場合に、高い類似度を算出し、第1種類と第2種類とが一致しない場合に、低い類似度を算出する。
類似度算出部102が上述したように類似度を算出することにより、情報処理装置501がマルウェアに感染しているか否かをより正確に推定することができる。
この理由は、ソフトウェアがある処理手順に従い入出力処理を実行するので、その入出力処理の種類(すなわち、第1種類と第2種類)を比較することにより、第2履歴情報と、履歴情報601との類似度を算出することができるからである。第1種類と、第2種類とが一致する場合に、履歴情報601を作成するソフトウェアと、第2履歴情報を作成するソフトウェアとは、第1種類と第2種類とが一致しない場合に比べ、類似する可能性が高い。したがって、類似度算出部102は、第1種類と第2種類とが一致する場合に、度合(程度)が高いことを表す類似度を算出する。後述のように、推定部103は、該類似度に基づき、情報処理装置501がマルウェアに感染しているか否かを推定するので、マルウェアに感染しているか否かを、より正確に推定することができる。
あるいは、類似度算出部102は、履歴情報601に含まれる処理対象と、第2履歴情報に含まれる対象とが類似する程度に応じて、履歴情報601に含まれる入出力処理と、第2履歴情報に含まれる入出力処理との類似度を算出してもよい。たとえば、類似度は、処理対象に関する、ディレクトリ、及び、ファイル名が一致(または、類似)する個数に応じて算出してもよい。この場合に、類似度は、該処理対象、及び、該対象において、ファイル名と、ディレクトリとが一致する場合に、高くなる。
類似度算出部102が上述したように類似度を算出することにより、情報処理装置501がマルウェアに感染しているか否かを、より正確に推定することができる。
この理由は、マルウェアが、ある記憶領域(ディレクトリ)に含まれる処理対象に関して入出力処理を実行する可能性があるからである。
たとえば、マルウェアが、ある記憶領域に含まれる処理対象に関して入出力処理する場合には、情報処理装置501が入出力処理する処理対象の位置に基づき情報処理装置501がマルウェアに感染しているか否かを推定することができる。本実施形態に係るマルウェア推定装置101は、履歴情報601において、処理対象の位置を表す情報と、第2履歴情報において処理対象の位置を表す情報との類似度に基づき、入出力処理に関する該処理対象が、ある記憶領域に含まれる程度(度合)を推定する。したがって、本実施形態に係るマルウェア推定装置101によれば、マルウェアが、ある記憶領域に含まれる処理対象に関して入出力処理する場合に、情報処理装置501がマルウェアに感染しているか否かをより正確に推定することができる。
また、類似度算出部102は、第1種類と第2種類とが一致する場合に、上述した2つの入出力処理が類似する程度を算出し、算出した程度を類似度として算出してもよい。類似度算出部102は、第1種類と第2種類とが一致しない場合に、上記の程度よりも低い類似度を算出してもよい。
類似度算出部102が類似度を算出する手順は、入出力処理において実行されるプログラム(プロセス)の名称が一致するか否かに応じて類似度を算出する手順と、上述した手順とを組み合わせる手順であってもよい。この場合に、類似度は、実行されるプロセスの名称、及び、入出力処理の種類等に基づいて算出される。
次に、推定部103は、類似度算出部102が算出する類似度に基づき、情報処理装置501がマルウェアに感染しているか否かを推定する(ステップS102)。
たとえば、推定部103は、類似度が所定の値よりも大きな値である場合に、情報処理装置501がマルウェアに感染していると推定し、類似度が所定の値よりも小さな値である場合に、情報処理装置501がマルウェアに感染していないと推定する。または、推定部103は、類似度の大きさに応じて、情報処理装置501がマルウェアに感染している程度(度合)を算出してもよい。
次に、第1の実施形態に係るマルウェア推定装置101に関する効果について説明する。
マルウェア推定装置101によれば、情報処理装置501がマルウェアに感染しているか否かをより正確に推定することができる。
この理由は、マルウェア推定装置101が、入出力処理等に関連する詳細な情報に基づき、情報処理装置501がマルウェアに感染しているか否かを推定するからである。マルウェア推定装置101は、情報処理装置によって実行されるプログラム等の挙動に基づいて、情報処理装置501がマルウェアに感染しているか否かを推定する。したがって、マルウェア推定装置101によれば、情報処理装置501がマルウェアに感染しているか否かをより正確に推定することができる。
<第2の実施形態>
次に、上述した第1の実施形態を基本とする本発明の第2の実施形態について説明する。
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
図6と図7とを参照しながら、第2の実施形態に係るマルウェア推定装置201が有する構成と、マルウェア推定装置201が行う処理とについて説明する。図6は、本発明の第2の実施形態に係るマルウェア推定装置201が有する構成を示すブロック図である。図7は、第2の実施形態に係るマルウェア推定装置201における処理の流れを示すフローチャートである。
第2の実施形態に係るマルウェア推定装置201は、サンドボックス202と、類似度算出部102と、推定部103とを有する。
まず、外部との情報の送受信を制限した環境であるサンドボックス202において、マルウェア、または、マルウェアと推定されるソフトウェア(以降、マルウェアを含めて、「被疑ソフトウェア」と表す)が実行される(ステップS201)。
ステップS201に示す処理について、図8及び図9を参照しながら詳細に説明する。図8は、第2の実施形態に係るサンドボックス202が有する構成を示すブロック図である。図9は、第2の実施形態に係るサンドボックス202における処理の流れを示すフローチャートである。
サンドボックス202は、ソフトウェア実行部211と、動作ログ取得部212とを有する。サンドボックス202は、さらに、通信部213と、ソフトウェア格納部214と、動作ログ格納部215とを有してもよい。
サンドボックス202は、スイッチ216を介して、外部と情報を送受信することができる。
まず、通信部213は、スイッチ216を介して、被疑ソフトウェアを受信し、受信した被疑ソフトウェアをソフトウェア格納部214に格納する(ステップS211)。ソフトウェア実行部211は、ソフトウェア格納部214が記憶する被疑ソフトウェアを読み取り、被疑ソフトウェアを識別可能な名称を、動作ログ格納部215に格納する(ステップS212)。次に、ソフトウェア実行部211は、読み取った被疑ソフトウェアを実行する(ステップS213)。
動作ログ取得部212は、ソフトウェア実行部211が該被疑ソフトウェアを実行する間に、該被疑ソフトウェアが実行する入出力処理に関する履歴を表す履歴情報を読み取る(ステップS214)。次に、動作ログ取得部212は、読み取った履歴情報を動作ログ格納部215に格納する(ステップS215)。
この場合に、動作ログ格納部215が記憶する履歴情報は、図3に例示する履歴情報601と同様の履歴情報である。該履歴情報は、たとえば、Windows(登録商標)におけるAPI(Application_Programming_Interface)レベルにおけるログを表すということもできる。APIレベルにおけるログとは、「フォルダを作成した」というログではなく、たとえば、「どのようなWindows(登録商標)コマンドが実行されたのか」を表すログである。APIレベルにおけるログの一例を以下に表す。
CreateDirectoryW ARGs:(%APPDATA%¥rsCMH,0)。
これは、CreateDirectoryWなるコマンドが実行されることを表す。
次に、類似度算出部102は、履歴情報601(すなわち、動作ログ格納部215が記憶する履歴情報)と、第2履歴情報との類似度を算出する(ステップS101)。
尚、類似度算出部102は、情報処理装置501に関する第2履歴情報を読み取ることとしたが、マルウェア推定装置201において作成してもよい。図10乃至図12を参照しながら、マルウェア推定装置201が第2履歴情報を作成する処理の一例について説明する。図10は、第2履歴情報を作成する仮想部223が有する構成を示すブロック図である。図11は、仮想部223に含まれるクライアント221が有する構成を示すブロック図である。図12は、仮想部223における処理の流れを示すフローチャートである。
図10を参照すると、仮想部223は、クライアント221と、入出力取得部222とを有する。仮想部223は、通信部224と、入出力格納部225とを有してもよい。
仮想部223は、スイッチ226を介して外部と情報を送受信することができる。
また、図11を参照すると、クライアント221は、動作監視部232を有する。クライアント221は、さらに、実行部231と、ファイル格納部233と、通信部234とを有してもよい。
クライアント221は、通信部234を介して、通信部224と情報を送受信することができる。また、動作監視部232は、入出力取得部222と情報を送受信することができる。
まず、通信部224は、スイッチ226を介して、被疑ソフトウェアを受信し、受信した被疑ソフトウェアを通信部234に送信する。次に、通信部234は、該被疑ソフトウェアを受信し、受信した被疑ソフトウェアをファイル格納部233に格納する(ステップS221)。
次に、実行部231は、ファイル格納部233から被疑ソフトウェアを読み取り、読み取った被疑ソフトウェアを実行する(ステップS222)。
動作監視部232は、実行部231が被疑ソフトウェアを実行する間に、該被疑ソフトウェアに関する入出力処理を監視する(ステップS223)。動作監視部232は、定期的に入出力処理を監視してもよい。次に、動作監視部232は、監視する入出力処理に関する履歴を、履歴情報として作成し、作成した履歴情報を入出力取得部222に送信する。
次に、入出力取得部222は、該履歴情報を受信し、受信した履歴情報を入出力格納部225に格納する(ステップS224)。この場合に、履歴情報は、たとえば、図4に例示する第2履歴情報である。
類似度算出部102は、たとえば、仮想部223が履歴情報を作成するのに応じて、動作ログ格納部215が記憶する履歴情報を読み取り、該2つの履歴情報に基づき類似度を算出する。あるいは、類似度算出部102は、たとえば、動作ログ格納部215(以降、「第1履歴情報記憶部」とも表す)が記憶する履歴情報を1つずつ読み取り、読み取った各履歴情報に関して、仮想部223が作成する履歴情報との類似度を算出してもよい。
上述したような処理によれば、情報処理装置501がマルウェアに感染しているか否かを、すぐに推定することができる。この理由は、仮想部223が履歴情報を作成するのに応じて、類似度算出部102が類似度を算出するからである。
さらに、類似度算出部102が、動作ログ格納部215における各履歴情報を読み取る場合には、情報処理装置501がマルウェアに感染しているか否かをより確実に推定することができる。この理由は、マルウェアと推定される被疑ソフトウェアが実行する入出力処理に関するすべての履歴情報に関して、類似度算出部102が類似度を算出するからである。
または、類似度算出部102は、サンドボックス202が履歴情報を作成するのに応じて類似度を算出してもよい。
尚、仮想部223が第2履歴情報を作成する処理と、サンドボックス202が履歴情報を作成する処理とは、並列、または、擬似並列であってもよい。並列または擬似並列に処理することにより、マルウェア推定装置201は、高速に、情報処理装置501がマルウェアに感染しているか否かを推定することができる。
次に、第2の実施形態に係るマルウェア推定装置201に関する効果について説明する。
本実施形態に係るマルウェア推定装置201によれば、情報処理装置501がマルウェアに感染しているか否かをより正確に推定することができることに加え、さらに、マルウェアを検知するまでに要する時間が短い。
この理由は、理由1及び理由2である。すなわち、
(理由1)第2の実施形態に係るマルウェア推定装置201が有する構成は、第1の実施形態に係るマルウェア推定装置101が有する構成を含むからである、
(理由2)サンドボックス202が履歴情報を作成する(すなわち、第1履歴情報が作成される)のに応じて、類似度算出部102が類似度を算出するからである。
パターンマッチング方式においては、マルウェアを検出可能なパターンファイルを作成するのに数日間を要することが多い。一方、本実施形態に係るマルウェア推定装置201は、マルウェアと推定される被疑ソフトウェアを、サンドボックス202にて実行することにより、第1履歴情報を作成する。さらに、類似度算出部102は、第1履歴情報が取得されるのに応じて、該第1履歴情報と、第2履歴情報との類似度を算出する。したがって、本実施形態に係るマルウェア推定装置201によれば、情報処理装置501がマルウェアに感染しているか否かを推定するまでの期間が短い。
<第3の実施形態>
次に、上述した第1の実施形態を基本とする本発明の第3の実施形態について説明する。
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
図13と図14とを参照しながら、第3の実施形態に係るマルウェア推定装置111が有する構成と、マルウェア推定装置111が行う処理とについて説明する。図13は、本発明の第3の実施形態に係るマルウェア推定装置111が有する構成を示すブロック図である。図14は、第3の実施形態に係るマルウェア推定装置111における処理の流れを示すフローチャートである。
第3の実施形態に係るマルウェア推定装置111は、類似度算出部102と、推定部113とを有する。
マルウェア推定装置111は、通信ネットワークを介して情報処理装置501と通信することができる。
類似度算出部102は、履歴情報601と、第2履歴情報との類似度を算出する(ステップS101)。
次に、推定部113は、類似度算出部102が算出する類似度と、第2履歴情報(または、履歴情報601)における入出力処理の種類とに基づき、情報処理装置501がマルウェアに感染しているか否か推定する(ステップS112)。
説明の便宜上、入出力処理の種類は、たとえば、保存、実行、削除、変更、及び、作成であるとする。保存は、たとえば、あるファイルを上書き保存することを表す。実行は、あるファイルを実行することを表す。削除は、あるファイルを消去することを表す。変更は、あるファイルの内容を変更することを表す。作成は、あるファイルを新たに作成することを表す。
また、マルウェアは、入出力処理に関して、保存、実行、または、削除に比べ、作成をより頻繁に実行する傾向にあるとする。
たとえば、推定部113は、第2履歴情報に含まれる入出力処理の種類が「作成」であるか否かを推定し、種類が「作成」である場合には、上述したように類似度に基づき、情報処理装置501がマルウェアに感染しているか否か推定する(ステップS112)。この場合に、推定部113は、たとえば、第2履歴情報に含まれる入出力処理の種類が「作成」でない場合に、情報処理装置501がマルウェアに感染していないと推定する。
または、推定部113は、たとえば、第2履歴情報に含まれる入出力処理の種類に応じて、所定の値を増減してもよい。たとえば、推定部113は、たとえば、第2履歴情報に含まれる入出力の種類が「作成」でない場合に、所定の値を大きくしてもよい。
本実施形態に係るマルウェア推定装置111によれば、情報処理装置501がマルウェアに感染しているか否かを正確に推定することができる。
この理由は、マルウェアが入出力処理に関して実行する処理の種類が、ある特定の種類に偏る傾向があるからである。
この場合に、該傾向に従えば、たとえば、情報処理装置501においてファイルが作成される場合に、情報処理装置501がマルウェアに感染している可能性が高い。本実施形態に係るマルウェア推定装置111は、入出力処理の種類に基づき、情報処理装置501がマルウェアに感染しているか否かを推定するので、情報処理装置501がマルウェアに感染しているか否かを、より正確に推定することができる。
また、推定部113は、入出力処理の種類(内容)が、保存、実行、削除、作成の順に、情報処理装置501がマルウェアに感染している程度が高いと推定してもよい。
たとえば、推定部113は、保存、実行、削除、作成の順に、所定の値を減らしてもよい。この場合、推定部113は、類似度に基づいて、情報処理装置501がマルウェアに感染しているか否かを推定する場合に、入出力処理の種類が作成である場合に、マルウェアに感染していると、より確実に推定しやすい。逆に、推定部113は、入出力処理の種類が保存である場合に、情報処理装置501がマルウェアに感染していないと、より確実に推定しやすい。
または、推定部113は、入出力処理の種類と、該入出力処理に関するスコアとが関連付けされたスコア情報に基づき、情報処理装置501がマルウェアに感染しているか否かを推定してもよい。
たとえば、スコア情報は、変更とスコア1とを関連付け、実行とスコア1とを関連付け、作成とスコア2とを関連付け、保存とスコア3とを関連付け、削除とスコア4とを関連付ける。
推定部113は、たとえば、入出力処理の種類と関連付けされたスコアを、スコア情報から読み取り、読み取ったスコアと、類似度とに基づき算出される値が閾値以上であるか否かを推定する。推定部113は、推定した結果に応じて、情報処理装置501がマルウェアに感染しているか否かを推定する。たとえば、推定部113は、スコアと類似度との和を算出し、算出した値に応じて、情報処理装置501がマルウェアに感染しているか否かを推定してもよい。
本実施形態に係るマルウェア推定装置111によれば、情報処理装置501がマルウェアに感染しているか否かを正確に推定することができる。
この理由は、マルウェアが実行する入出力処理に関して、保存、実行、削除、作成の順に頻度が高くなる傾向を有するからである。
マルウェア推定装置111は、情報処理装置501がマルウェアに感染している程度を、上述した傾向に従い、入出力処理の種類に基づき推定する。したがって、本実施形態に係るマルウェア推定装置111によれば、該傾向に従い該程度を推定するので、より正確に情報処理装置501がマルウェアに感染しているか否かを推定することができる。
また、本実施形態に係るマルウェア推定装置111によれば、情報処理装置501がマルウェアに感染しているか否かを正確に推定することができる。これは、第3の実施形態に係るマルウェア推定装置111が有する構成は、第1の実施形態に係るマルウェア推定装置101が有する構成を含むからである。
(ハードウェア構成例)
上述した本発明の各実施形態におけるマルウェア推定装置を、1つの計算処理装置(情報処理装置、コンピュータ)を用いて実現するハードウェア資源の構成例について説明する。但し、係るマルウェア推定装置は、物理的または機能的に少なくとも2つの計算処理装置を用いて実現してもよい。また、係るマルウェア推定装置は、専用の装置として実現してもよい。
図15は、第1の実施形態乃至第3の実施形態に係るマルウェア推定装置を実現可能な計算処理装置のハードウェア構成を概略的に示す図である。計算処理装置20は、中央処理演算装置(Central Processing Unit、以降「CPU」と表す)21、メモリ22、ディスク23、及び、不揮発性記録媒体24を有する。計算処理装置20は、さらに、入力装置25、出力装置26、及び、通信インターフェース(以降、「通信IF」と表す。)27を有する。計算処理装置20は、通信IF27を介して、他の計算処理装置、及び、通信装置と情報を送受信することができる。
不揮発性記録媒体24は、コンピュータが読み取り可能な、たとえば、コンパクトディスク(Compact Disc)、デジタルバーサタイルディスク(Digital_Versatile_Disc)、ブルーレイディスク(Blu−ray Disc。登録商標)、ユニバーサルシリアルバスメモリ(USBメモリ)、ソリッドステートドライブ(Solid State Drive)等である。不揮発性記録媒体24は、電源を供給しなくても係るプログラムを保持し、持ち運びを可能にする。不揮発性記録媒体24は、上述した媒体に限定されない。また、不揮発性記録媒体24の代わりに、通信IF27を介して、通信ネットワークを介して係るプログラムを持ち運びしてもよい。
すなわち、CPU21は、ディスク23が記憶するソフトウェア・プログラム(コンピュータ・プログラム:以下、単に「プログラム」と称する)を、実行する際にメモリ22にコピーし、演算処理を実行する。CPU21は、プログラム実行に必要なデータをメモリ22から読み取る。表示が必要な場合には、CPU21は、出力装置26に出力結果を表示する。外部からプログラムを入力する場合、CPU21は、入力装置25からプログラムを読み取る。CPU21は、上述した図1、図6、図8、図10、図11、または、図13に示す各部が表す機能(処理)に対応するところのメモリ22にあるマルウェア推定プログラム(図2、図7、図9、図12、または、図14)を解釈し実行する。CPU21は、上述した本発明の各実施形態において説明した処理を順次行う。
すなわち、このような場合、本発明は、係るマルウェア推定プログラムによっても成し得ると捉えることができる。更に、係るマルウェア推定プログラムが記録されたコンピュータ読み取り可能な不揮発性の記録媒体によっても、本発明は成し得ると捉えることができる。
以上、上述した実施形態を模範的な例として本発明を説明した。しかし、本発明は、上述した実施形態には限定されない。すなわち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
101 マルウェア推定装置
102 類似度算出部
103 推定部
501 情報処理装置
601 履歴情報
201 マルウェア推定装置
202 サンドボックス
211 ソフトウェア実行部
212 動作ログ取得部
213 通信部
214 ソフトウェア格納部
215 動作ログ格納部
216 スイッチ
221 クライアント
222 入出力取得部
223 仮想部
224 通信部
225 入出力格納部
226 スイッチ
231 実行部
232 動作監視部
233 ファイル格納部
234 通信部
111 マルウェア推定装置
113 推定部
20 計算処理装置
21 CPU
22 メモリ
23 ディスク
24 不揮発性記録媒体
25 入力装置
26 出力装置
27 通信IF

Claims (10)

  1. マルウェアと推定されるソフトウェアによって実行された第1種類の入出力処理に関する履歴を表す第1履歴情報と、情報処理装置によって実行された第2種類の入出力処理に関する履歴を表す第2履歴情報とが、類似または一致する度合を表す類似度を算出する類似度算出手段と、
    前記情報処理装置が、前記マルウェアに感染しているか否かを、前記類似度に基づき推定する推定手段と
    を備え、
    前記類似度算出手段は、前記第1種類の入出力処理、及び、前記第2種類の入出力処理が関連付けされている報から、前記第1履歴情報が表す前記履歴における前記入出力処理に関連付けされた前記第2種類の入出力処理を読み取り、読み取った当該入出力処理と、前記第2履歴情報が表す履歴とに基づき前記類似度を算出する
    ことを特徴とするマルウェア推定装置。
  2. 外部との情報の送受信を制限した環境にて、前記マルウェアを実行することにより、前記第1履歴情報を作成するサンドボックス
    をさらに備え、
    前記類似度算出手段は、前記第1履歴情報が作成されるのに応じて、前記第1履歴情報と、前記第2履歴情報とに関する前記類似度を算出する
    ことを特徴とする請求項1に記載のマルウェア推定装置。
  3. 前記類似度算出手段は、前記第1履歴情報における入出力処理の種類と、前記第2履歴情報における入出力処理との種類とが一致する場合に、前記度合が高いことを表す前記類似度を算出する
    ことを特徴とする請求項1または請求項2に記載のマルウェア推定装置。
  4. 前記類似度算出手段は、前記第1履歴情報において処理対象の位置を表す情報と、前記第2履歴情報において処理対象の位置を表す情報との類似度に基づき、前記類似度を算出する
    ことを特徴とする請求項1乃至請求項3のいずれかに記載のマルウェア推定装置。
  5. 前記推定手段は、前記類似度と、前記入出力処理の種類とに基づき、前記情報処理装置が前記マルウェアに感染しているか否か推定する
    ことを特徴とする請求項3または請求項4に記載のマルウェア推定装置。
  6. 前記推定手段は、前記情報処理装置が前記マルウェアに感染している程度を推定するに際して、前記入出力処理の内容が、保存、実行、削除、作成なる順番にマルウェアに感染している程度が高くなり、前記保存よりも前記作成の方が前記程度が高い
    ことを特徴とする請求項5に記載のマルウェア推定装置。
  7. 前記第1履歴情報を記憶可能な第1履歴情報記憶手段
    をさらに備え、
    前記類似度算出手段は、前記第2履歴情報を作成するのに応じて、前記第1履歴情報記憶手段が記憶する前記第1履歴情報を読み取り、読み取った前記第1履歴情報に基づき前記類似度を算出する
    ことを特徴とする請求項1乃至請求項6のいずれかに記載のマルウェア推定装置。
  8. 計算処理装置によって、マルウェアと推定されるソフトウェアによって実行される第1種類の入出力処理に関する履歴を表す第1履歴情報と、情報処理装置によって実行される第2種類の入出力処理に関する履歴を表す第2履歴情報とが、類似または一致する度合を表す類似度を算出し、前記情報処理装置が、前記マルウェアに感染しているか否かを、前記類似度に基づき推定し、
    前記類似度を算出する処理において、前記第1種類の入出力処理、及び、前記第2種類の入出力処理が関連付けされている報から、前記第1履歴情報が表す前記履歴における前記入出力処理に関連付けされた前記第2種類の入出力処理を読み取り、読み取った当該入出力処理と、前記第2履歴情報が表す履歴とに基づき前記類似度を算出する
    ことを特徴とするマルウェア推定方法。
  9. マルウェアと推定されるソフトウェアによって実行される第1種類の入出力処理に関する履歴を表す第1履歴情報と、情報処理装置によって実行される第2種類の入出力処理に関する履歴を表す第2履歴情報とが、類似または一致する度合を表す類似度を算出する類似度算出機能と、
    前記情報処理装置が、前記マルウェアに感染しているか否かを、前記類似度に基づき推定する推定機能と
    をコンピュータに実現させ、
    前記類似度算出機能においては、前記第1種類の入出力処理、及び、前記第2種類の入出力処理が関連付けされている報から、前記第1履歴情報が表す前記履歴における前記入出力処理に関連付けされた前記第2種類の入出力処理を読み取り、読み取った当該入出力処理と、前記第2履歴情報が表す履歴とに基づき前記類似度を算出する
    ことを特徴とするマルウェア推定プログラム。
  10. 外部との情報の送受信を制限した環境にて、前記マルウェアを実行することにより、前記第1履歴情報を作成するサンドボックス機能
    をさらに有し、
    前記類似度算出機能において、前記第1履歴情報が作成されるのに応じて、前記第1履歴情報と、前記第2履歴情報とに関する前記類似度を算出する
    ことを特徴とする請求項9に記載のマルウェア推定プログラム。
JP2014161594A 2014-08-07 2014-08-07 マルウェア推定装置、マルウェア推定方法、及び、マルウェア推定プログラム Active JP6459289B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014161594A JP6459289B2 (ja) 2014-08-07 2014-08-07 マルウェア推定装置、マルウェア推定方法、及び、マルウェア推定プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014161594A JP6459289B2 (ja) 2014-08-07 2014-08-07 マルウェア推定装置、マルウェア推定方法、及び、マルウェア推定プログラム

Publications (2)

Publication Number Publication Date
JP2016038721A JP2016038721A (ja) 2016-03-22
JP6459289B2 true JP6459289B2 (ja) 2019-01-30

Family

ID=55529747

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014161594A Active JP6459289B2 (ja) 2014-08-07 2014-08-07 マルウェア推定装置、マルウェア推定方法、及び、マルウェア推定プログラム

Country Status (1)

Country Link
JP (1) JP6459289B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7024720B2 (ja) 2016-10-14 2022-02-24 日本電気株式会社 マルウェア解析装置、マルウェア解析方法、及び、マルウェア解析プログラム
JP6866645B2 (ja) * 2017-01-05 2021-04-28 富士通株式会社 類似度判定プログラム、類似度判定方法および情報処理装置
JP2018109910A (ja) 2017-01-05 2018-07-12 富士通株式会社 類似度判定プログラム、類似度判定方法および情報処理装置
JP2022065703A (ja) 2020-10-16 2022-04-28 富士通株式会社 情報処理プログラム、情報処理方法、および情報処理装置
CN112835853B (zh) * 2020-12-31 2024-03-22 北京聚云科技有限公司 一种数据处理类型确定方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5083760B2 (ja) * 2007-08-03 2012-11-28 独立行政法人情報通信研究機構 マルウェアの類似性検査方法及び装置
JP2011138422A (ja) * 2009-12-29 2011-07-14 Nippon Telegr & Teleph Corp <Ntt> 行動パターン検出装置、行動パターン検出方法及び行動パターン検出プログラム
TWI419003B (zh) * 2010-11-12 2013-12-11 Univ Nat Chiao Tung 自動化分析與分類惡意程式之方法及系統

Also Published As

Publication number Publication date
JP2016038721A (ja) 2016-03-22

Similar Documents

Publication Publication Date Title
US8904536B2 (en) Heuristic method of code analysis
RU2531861C1 (ru) Система и способ оценки вредоносности кода, исполняемого в адресном пространстве доверенного процесса
US8307435B1 (en) Software object corruption detection
US9679136B2 (en) Method and system for discrete stateful behavioral analysis
JP6459289B2 (ja) マルウェア推定装置、マルウェア推定方法、及び、マルウェア推定プログラム
EP2973170B1 (en) Profiling code execution
EP2513836B1 (en) Obfuscated malware detection
US20130239214A1 (en) Method for detecting and removing malware
US8336100B1 (en) Systems and methods for using reputation data to detect packed malware
CN109983464B (zh) 检测恶意脚本
US20180285565A1 (en) Malware detection in applications based on presence of computer generated strings
JP2014071796A (ja) マルウェア検知装置、マルウェア検知システム、マルウェア検知方法、及びプログラム
JP6000465B2 (ja) プロセス検査装置、プロセス検査プログラムおよびプロセス検査方法
TWI656453B (zh) 檢測系統及檢測方法
EP3087527B1 (en) System and method of detecting malicious multimedia files
Choi et al. All‐in‐One Framework for Detection, Unpacking, and Verification for Malware Analysis
US20190012486A1 (en) System and Method for Enabling a Malware Prevention Module in Response to a Context Switch Within A Certain Process Being Executed by A Processor
US20190005226A1 (en) Automatic unpacking of executables
US10303876B2 (en) Persistence probing to detect malware
US10880316B2 (en) Method and system for determining initial execution of an attack
CN110659478A (zh) 在隔离的环境中检测阻止分析的恶意文件的方法
US8291494B1 (en) System, method, and computer program product for detecting unwanted activity associated with an object, based on an attribute associated with the object
KR101983997B1 (ko) 악성코드 검출시스템 및 검출방법
WO2020161780A1 (ja) 行動計画推定装置、行動計画推定方法、及びコンピュータ読み取り可能な記録媒体
US9607148B1 (en) Method and apparatus for detecting malware on a computer system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170718

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180327

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181002

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181122

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181217

R150 Certificate of patent or registration of utility model

Ref document number: 6459289

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150