JP2010267128A - Analysis system, analysis device, detection method, analysis method and program - Google Patents
Analysis system, analysis device, detection method, analysis method and program Download PDFInfo
- Publication number
- JP2010267128A JP2010267128A JP2009118748A JP2009118748A JP2010267128A JP 2010267128 A JP2010267128 A JP 2010267128A JP 2009118748 A JP2009118748 A JP 2009118748A JP 2009118748 A JP2009118748 A JP 2009118748A JP 2010267128 A JP2010267128 A JP 2010267128A
- Authority
- JP
- Japan
- Prior art keywords
- function
- information
- operation history
- analysis
- behavior
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は、不正なソフトウェアの入力経路を推定する技術に関する。 The present invention relates to a technique for estimating an input path of unauthorized software.
ウィルス、ワーム、スパイウェア等の不正なソフトウェアプログラムは、マルウェアと総称されている。このマルウェアの挙動を自動解析するマルウェア挙動解析システムが下記特許文献1に開示されている。この特許文献1のマルウェア挙動解析システムは、マルウェアを実行する実行端末とマルウェアの挙動に関するログデータを解析するダミーサーバとを擬似インターネット環境で接続して構成し、実行端末においてマルウェアがAPI呼び出しを行う毎にAPI呼び出しログを収集してダミーサーバに送信し、ダミーサーバにおいては、マルウェア実行端末からのサーバアクセスに関するアクセスログやパケットログを収集する。ダミーサーバは、実行端末からのログと、自身が収集したログ及びビヘイビア定義ファイルとに基づいてマルウェアの振る舞いを抽出する。また、悪意のあるコードの実行を検知するための具体的な方法として、例えばプロセスがカーネルに対して処理を依頼する際に行う命令であるシステムコールの発行順の正当性を検証する方法(例えば、非特許文献1)や、システムコール発行時のコールスタックの状況を検証するもの(例えば、非特許文献2及び特許文献2)が知られている。
Malicious software programs such as viruses, worms, and spyware are collectively referred to as malware. A malware behavior analysis system that automatically analyzes the behavior of this malware is disclosed in
ところで、マルウェアに対する対応策としては、そのマルウェアに感染したことを検知することに加え、どのような経路でマルウェアに感染したかを知ることが必要であるが、上述した従来技術では、感染経路を特定することは困難である。 By the way, as countermeasures against malware, in addition to detecting that it has been infected with the malware, it is necessary to know what route the malware has been infected with. It is difficult to identify.
本発明は、ソフトウェアを実行する実行装置に対する不正なソフトウェアの入力経路を推定することを目的とする。 An object of the present invention is to estimate an illegal software input path to an execution device that executes software.
本発明に係る解析システムは、 監視の対象となるソフトウェアである監視対象ソフトウェアを実行する1又は複数の実行装置と、当該実行装置に対する不正なソフトウェアの入力経路について解析する解析装置とを備え、各々の前記実行装置は、前記監視対象ソフトウェアを実行する実行手段と、前記監視対象ソフトウェアを正常に実行させた場合の挙動を表す挙動情報を挙動モデルとして記憶する挙動モデル記憶手段と、自装置の外部から提供される情報を取得可能な複数の機能の各々について、当該機能の動作履歴を記録する記録手段と、前記実行手段が前記監視対象ソフトウェアを実行したときの挙動を表す挙動情報を取得する挙動情報取得手段と、前記挙動情報取得手段により取得された前記挙動情報が前記挙動モデル記憶手段に記憶された前記挙動モデルと適合するか否かを判定する判定手段と、前記判定手段により前記挙動情報が前記挙動モデルに適合しないと判定された場合に、前記記録手段により各々の前記機能について記録された動作履歴を解析し、不正なソフトウェアの入力経路に該当する条件を満たす動作履歴が記録されている前記機能を特定する動作履歴解析手段と、前記動作履歴解析手段により特定された前記機能と、当該機能の動作履歴に関する情報とを、前記解析装置に通知する通知手段とを備え、前記解析装置は、1又は複数の前記実行装置から通知された前記動作履歴に関する情報を前記機能毎に解析し、その解析結果に基づいて各々の前記機能の順位付けを行い、その順位付けの結果を前記実行装置に対する不正なソフトウェアの入力経路の危険度合を示す情報として出力する入力経路解析手段を備える。 An analysis system according to the present invention includes one or a plurality of execution devices that execute monitoring target software that is software to be monitored, and an analysis device that analyzes an illegal software input path to the execution device, The execution device includes: an execution unit that executes the monitoring target software; a behavior model storage unit that stores behavior information representing a behavior when the monitoring target software is normally executed; For each of a plurality of functions that can acquire information provided from the recording unit, a recording unit that records an operation history of the function, and a behavior that acquires behavior information indicating a behavior when the execution unit executes the monitoring target software Information acquisition means and the behavior information acquired by the behavior information acquisition means are stored in the behavior model storage means. Determining means for determining whether or not the stored behavior model is compatible; and when the determining means determines that the behavior information does not match the behavior model, the recording means records each of the functions Analyzing the recorded operation history, identifying the function in which the operation history satisfying the condition corresponding to the illegal software input path is recorded, and the function specified by the operation history analysis unit; A notification means for notifying the analysis device of information relating to the operation history of the function, wherein the analysis device analyzes the information relating to the operation history notified from one or a plurality of the execution devices for each function. And ranking each of the functions based on the analysis result, and using the ranking result of an illegal software input path to the execution device. Input path analysis means for outputting the information indicating the degree of risk is provided.
本発明によれば、ソフトウェアを実行する実行装置に対する不正なソフトウェアの入力経路を推定することができる。
また、前記実行装置において、前記動作履歴解析手段は、各々の前記機能の動作履歴に含まれる動作の回数、動作の期間、前記動作の回数及び前記動作の期間の組み合わせのうち、少なくとも一つを前記機能毎に集計し、その集計結果が閾値を超えている前記機能を、不正なソフトウェアの入力経路に該当する条件を満たす動作履歴が記録されている機能として特定することととしてもよい。
According to the present invention, it is possible to estimate an illegal software input path to an execution device that executes software.
In the execution device, the operation history analysis means may include at least one of the number of operations, the operation period, the number of operations, and the combination of the operation periods included in the operation history of each function. It is good also as specifying the function for which the operation | movement log | history satisfy | fills the condition corresponding to the input path | route of an unauthorized software is recorded as the function which totals for every said function and the total result exceeds the threshold value.
また、前記実行装置において、前記通知手段は、前記動作履歴解析手段により特定された前記機能の動作履歴に関する情報として、当該機能の前記集計結果が前記閾値を超えていることを示すフラグ情報を通知し、前記解析装置において、前記入力経路解析手段は、1又は複数の前記実行装置から通知された前記フラグ情報の数を前記機能毎に集計し、その集計結果の順に前記機能の順位付けを行うこととしてもよい。 Further, in the execution device, the notifying unit notifies flag information indicating that the aggregation result of the function exceeds the threshold as information on the operation history of the function specified by the operation history analyzing unit. In the analyzing apparatus, the input path analyzing means totals the number of the flag information notified from one or a plurality of the execution apparatuses for each function, and ranks the functions in order of the totaling result. It is good as well.
また、前記実行装置において、前記動作履歴解析手段は、各々の前記機能の動作履歴に含まれる動作の回数、動作の期間、前記動作の回数及び前記動作の期間の組み合わせのうち、少なくとも一つが閾値を超えるたびに、当該機能を、不正なソフトウェアの入力経路に該当する条件を満たす動作履歴が記録されている機能として特定し、前記通知手段は、前記動作履歴解析手段により特定された前記機能の動作履歴に関する情報として、当該機能の回数又は動作の期間が前記閾値を超えていることを示すフラグ情報を前記解析装置に通知し、前記解析装置において、前記入力経路解析手段は、1又は複数の前記実行装置から通知された前記動作履歴に関する情報が含まれるフラグ情報の数を前記機能毎に集計し、その集計結果の順に前記機能の順位付けを行うこととしてもよい。 In the execution device, the operation history analyzing means may be configured such that at least one of a combination of the number of operations, the operation period, the number of operations, and the operation period included in the operation history of each function is a threshold value. Each time, the function is identified as a function in which an operation history satisfying a condition corresponding to an illegal software input path is recorded, and the notification unit is configured to identify the function specified by the operation history analysis unit. As the information related to the operation history, flag information indicating that the number of times of the function or the operation period exceeds the threshold value is notified to the analysis device. In the analysis device, the input path analysis means includes one or more The number of flag information including information related to the operation history notified from the execution device is totaled for each function, and the functions are in order of the total result. Ranking may be performed.
また、本発明に係る解析装置は、監視対象となるソフトウェアである監視対象ソフトウェアを実行する実行手段と、前記監視対象ソフトウェアを正常に実行させた場合の挙動を表す挙動情報を挙動モデルとして記憶する挙動モデル記憶手段と、自装置の外部から提供される情報を取得可能な複数の機能の各々について、当該機能の動作履歴を記録する記録手段と、前記実行手段が前記監視対象ソフトウェアを実行したときの挙動を表す挙動情報を取得する挙動情報取得手段と、前記挙動情報取得手段により取得された前記挙動情報が前記挙動モデル記憶手段に記憶された前記挙動モデルと適合するか否かを判定する判定手段と、前記判定手段により前記挙動情報が前記挙動モデルに適合しないと判定された場合に、前記記録手段により各々の前記機能について記録された動作履歴を解析し、不正なソフトウェアの入力経路に該当する条件を満たす動作履歴が記録されている前記機能を特定する動作履歴解析手段と、前記動作履歴解析手段により特定された前記機能の前記動作履歴に関する情報を前記機能毎に解析し、その解析結果に基づいて各々の前記機能の順位付けを行い、その順位付けの結果を前記実行装置に対する不正なソフトウェアの入力経路の危険度合を示す情報として出力する入力経路解析手段を備える。 Moreover, the analysis apparatus according to the present invention stores, as a behavior model, execution means for executing monitoring target software that is software to be monitored, and behavior information representing behavior when the monitoring target software is normally executed. For each of a plurality of functions capable of acquiring information provided from outside the own apparatus, a behavior model storage means, a recording means for recording an operation history of the function, and the execution means when the monitoring target software is executed A behavior information acquisition unit that acquires behavior information representing the behavior of the behavior, and a determination that determines whether or not the behavior information acquired by the behavior information acquisition unit matches the behavior model stored in the behavior model storage unit And the determination means determines that the behavior information does not match the behavior model, the recording means The operation history recorded with respect to the recording function is analyzed, and the operation history analysis means for specifying the function in which the operation history satisfying the conditions corresponding to the input path of the unauthorized software is recorded is specified by the operation history analysis means. The information on the operation history of the function is analyzed for each function, and ranking of each function is performed based on the analysis result, and the ranking result is obtained as an illegal software input path to the execution device. Input path analysis means for outputting the information indicating the degree of risk is provided.
また、本発明に係る検知方法は、監視の対象となるソフトウェアである監視対象ソフトウェアを実行する実行装置が行う不正なソフトウェアの検知方法であって、当該実行装置の外部から提供される情報を取得可能な複数の機能の各々について、当該機能の動作履歴を記録する記録ステップと、前記監視対象ソフトウェアを実行したときの挙動を表す挙動情報を取得する挙動情報取得ステップと、前記挙動情報取得ステップにより取得された前記挙動情報が、前記監視対象ソフトウェアを正常に実行した場合の挙動を表す挙動情報として予め記憶された挙動モデルと適合するか否かを判定する判定ステップと、前記判定ステップにより前記挙動情報が前記挙動モデルに適合しないと判定された場合に、前記記録ステップにより各々の前記機能について記録された動作履歴を解析し、不正なソフトウェアの入力経路に該当するための条件を満たす動作履歴が記録されている前記機能を特定する動作履歴解析ステップと、前記動作履歴解析ステップにより特定された前記機能と、当該機能の動作履歴に関する情報とを、不正なソフトウェアの入力経路について解析する解析装置に通知する通知ステップとを有する。 In addition, the detection method according to the present invention is a method for detecting unauthorized software performed by an execution device that executes monitoring target software that is software to be monitored, and acquires information provided from outside the execution device. For each of a plurality of possible functions, a recording step for recording the operation history of the function, a behavior information acquisition step for acquiring behavior information representing a behavior when the monitoring target software is executed, and the behavior information acquisition step A determination step for determining whether the acquired behavior information is compatible with a behavior model stored in advance as behavior information representing a behavior when the monitoring target software is normally executed; If it is determined that the information does not conform to the behavior model, each of the functions is performed by the recording step. The operation history recorded is analyzed, and the operation history analysis step for identifying the function in which the operation history satisfying the condition for satisfying an illegal software input path is recorded is specified by the operation history analysis step. And a notification step of notifying the analysis device analyzing the illegal software input path of the function and information related to the operation history of the function.
また、本発明に係る解析方法は、監視の対象となるソフトウェアである監視対象ソフトウェアを実行する1又は複数の実行装置に対する不正なソフトウェアの入力経路について解析する解析装置が行う解析方法であって、前記1又は複数の実行装置から、当該実行装置が有する複数の機能のうち、不正なソフトウェアの入力経路に該当する条件を満たす動作履歴が記録されている機能と、当該機能の動作履歴に関する情報とを取得する取得ステップと、前記取得ステップにより取得された各々の前記機能の動作履歴に関する情報を当該機能毎に解析し、その解析結果に基づいて各々の前記機能の順位付けを行い、その順位付けの結果を不正なソフトウェアの入力経路の危険度合を示す情報として出力する入力経路解析ステップとを有する。 Moreover, the analysis method according to the present invention is an analysis method performed by an analysis device that analyzes an input path of illegal software to one or more execution devices that execute monitoring target software that is software to be monitored, Among the plurality of functions of the execution device, from the one or more execution devices, a function in which an operation history satisfying a condition corresponding to an illegal software input path is recorded, and information on the operation history of the function And obtaining information on the operation history of each function obtained by the obtaining step, ranking each function based on the analysis result, and ranking the ranking. And an input path analysis step for outputting the result of the above as information indicating the degree of danger of the input path of the unauthorized software.
また、本発明に係るプログラムは、監視の対象となるソフトウェアである監視対象ソフトウェアを実行するコンピュータに、当該コンピュータの外部から提供される情報を取得可能な複数の機能の各々について、当該機能の動作履歴を記録する記録ステップと、前記監視対象ソフトウェアを実行したときの挙動を表す挙動情報を取得する挙動情報取得ステップと、前記挙動情報取得ステップにより取得された前記挙動情報が、前記監視対象ソフトウェアを正常に実行した場合の挙動を表す挙動情報として予め記憶された挙動モデルと適合するか否かを判定する判定ステップと、前記判定ステップにより前記挙動情報が前記挙動モデルに適合しないと判定された場合に、前記記録ステップにより各々の前記機能について記録された動作履歴を解析し、不正なソフトウェアの入力経路に該当するための条件を満たす動作履歴が記録されている前記機能を特定する動作履歴解析ステップと、前記動作履歴解析ステップにより特定された前記機能と、当該機能の動作履歴に関する情報とを、不正なソフトウェアの入力経路について解析する解析装置に通知する通知ステップとを実行させる。 In addition, the program according to the present invention provides a computer that executes monitoring target software, which is software to be monitored, with respect to each of a plurality of functions that can acquire information provided from outside the computer. A recording step for recording a history, a behavior information acquisition step for acquiring behavior information representing a behavior when the monitoring target software is executed, and the behavior information acquired by the behavior information acquisition step include the monitoring target software. A determination step for determining whether or not the behavior model stored in advance as behavior information representing the behavior in the case of normal execution is compatible, and the determination step determines that the behavior information does not match the behavior model In addition, the operation history recorded for each of the functions in the recording step is solved. An operation history analysis step for identifying the function in which an operation history satisfying a condition for satisfying an illegal software input path is recorded; the function specified by the operation history analysis step; A notification step for notifying information relating to the operation history to an analysis device that analyzes an input path of unauthorized software is executed.
また、本発明に係るプログラムは、監視の対象となるソフトウェアである監視対象ソフトウェアを実行する1又は複数の実行装置に対する不正なソフトウェアの入力経路について解析するコンピュータに、前記1又は複数の実行装置から、当該実行装置が有する複数の機能のうち、不正なソフトウェアの入力経路に該当するための条件を満たす動作履歴が記録されている機能と、当該機能の動作履歴に関する情報とを取得する取得ステップと、前記取得ステップにより取得された各々の前記機能の動作履歴に関する情報を当該機能毎に解析し、その解析結果に基づいて各々の前記機能の順位付けを行い、その順位付けの結果を不正なソフトウェアの入力経路の危険度合を示す情報として出力する入力経路解析ステップとを実行させる。 In addition, the program according to the present invention is a computer that analyzes an illegal software input path to one or more execution devices that execute monitoring target software that is software to be monitored, from the one or more execution devices. An acquisition step of acquiring, from among a plurality of functions of the execution device, a function in which an operation history satisfying a condition for satisfying an illegal software input path is recorded, and information related to the operation history of the function; Analyzing the information related to the operation history of each of the functions acquired in the acquisition step for each function, ranking the functions based on the analysis results, and determining the ranking results as unauthorized software And an input route analysis step that outputs the information indicating the degree of danger of the input route.
以下、図面を参照して本発明の実施形態に係るソフトウェア解析システムについて説明する。以下の説明において、ソフトウェアプログラムとは、コンピュータプログラムやデータの総称である。
<実施形態>
<構成>
図1は、本実施形態に係るソフトウェア解析システムの構成例を示す図である。ソフトウェア解析システム1は、複数の実行装置100a〜100c(以下、各々の実行装置を区別する必要がない場合には、実行装置100と言う)と解析装置200とで構成され、実行装置100と解析装置200は、LAN(Local Area Network)、WAN(World Area Network)、インターネット等のネットワークを介して接続されている。
Hereinafter, a software analysis system according to an embodiment of the present invention will be described with reference to the drawings. In the following description, the software program is a general term for computer programs and data.
<Embodiment>
<Configuration>
FIG. 1 is a diagram illustrating a configuration example of a software analysis system according to the present embodiment. The
本実施形態では、監視対象となるソフトウェアプログラム(以下、監視対象プログラムと言う)が実行装置100において実行される。この実行装置100には、電子メールの送受信機能やBluetooth(登録商標)規格に従った通信機能等のように、実行装置100の外部から提供される情報を取得可能な機能が複数設けられている。これらの機能を介して実行装置100に対し外部からウィルスなどが入力され、実行装置100そのもの又はこの実行装置100内の監視対象ソフトウェアがウィルスに感染することになる。そこで、このようなウィルス感染の入力経路となりうる機能を、以下では、感染原因機能と言う。ウィルスに感染することよって監視対象ソフトウェアの挙動が異常となったと判定された場合には、その判定結果が実行装置100から解析装置200に通知される。解析装置200は、その通知に応じて、実行装置100における感染原因機能の動作履歴に基づき、ウィルス感染経路(つまり実行装置100に対してウィルスが入力された経路)を推定する。以下、実行装置100と解析装置200の詳細について説明する。
In the present embodiment, a software program to be monitored (hereinafter referred to as a monitoring target program) is executed by the
<実行装置100の構成>
図2は、実行装置100の構成を示すブロック図である。実行装置100は、携帯電話機、パーソナルコンピュータ、又はPDA(Personal Digital Assistants)等で実現され、以下の各部を含んで構成されている。
CPU110は、ROM(Read Only Memory)111又は後述の記憶部113に記憶されている監視対象プログラムを含む各種プログラムを、RAM(Random Access Memory)112をワークエリアとして実行することによって、CPU110に接続されている各部を制御する。実行装置100は、例えばWindows(登録商標)系のOS(Operating System)を用いており、各プログラムはこのOSのAPI(Application Program Interface)を介して外部割込みや内部割込みを行い、割込み種別に応じた各処理を行う。なお、OSは、Windows系OSに限らず、Linux等のUnix(登録商標)系の任意のOSを用いてもよい。
<Configuration of
FIG. 2 is a block diagram illustrating a configuration of the
The
記憶部113は、ハードディスク等の不揮発性記憶媒体で構成されており、監視対象プログラム、この監視対象プログラムの挙動が異常か否か判断するための検知プログラムや、電子メール用プログラム(不図示)等のアプリケーションソフトウェアプログラムを記憶している。また、記憶部113は、感染原因機能のログ情報、このログ情報に対する閾値が記述された閾値テーブル、及び挙動モデル情報等の各種データを記憶している。監視対象プログラムの挙動とは、CPU110がその監視対象プログラムに記述された手順に従って処理を行うときの、そのCPU110による処理内容のことである。
The
入力部114は、キーボードやマウス等を含んで構成されており、ユーザからの入力操作を受付け、入力操作に応じた入力信号をCPU110へ供給する。表示部115は、液晶等のディスプレイで構成されており、実行装置100を起動した際の画面や各プログラムにより規定されている画面等、各種画像を表示する。ネットワーク通信部116は、CPU110の制御の下、ネットワークを介して接続された解析装置200との間でデータ通信を行う。外部メモリ接続部117は、USB(Universal Serial Bus)メモリやSDメモリカード等の外部メモリを接続するコネクタを有し、コネクタに接続された外部メモリとの間でデータの受け渡しを行う。Bluetooth(登録商標)通信部118は、Bluetooth(登録商標)規格に対応した機器との間で通信を確立し、当該機器との間でデータの送受信を行う。
The
次に、記憶部113に記憶されているデータについて説明する。
図3(a)は、ログ情報の一例を示している。ログ情報50は、外部メモリ接続部117、Bluetooth(登録商標)通信部118及び入力部114が実現する各機能や、電子メール用プログラムが実行されることで実現されるメール送受信機能といった、各感染原因機能における動作履歴を表す情報であり、例えば、各々の感染原因機能による動作の回数又は動作の期間が含まれている。
例えば、図3(a)に示す「メール送受信」の機能に関しては、電子メール用プログラムを実行して送受信された送信メールの送信日時及び受信メールの受信日時がログ情報として記憶される。本実施形態では、ログ情報50の種別は2種類あり、ここでは、送信メールの送信日時がログ種別1で、受信メールの受信日時がログ種別2である。「送信日時」の記録数が集計されることにより、「メール送受信」の機能による電子メールの送信回数が特定される。なお、メールの受信日時としては、全ての受信メールの受信日時を記憶するようにしてもよいし、電子メールのアドレス帳に登録されていないアドレスからの電子メールの受信日時のみを記録するようにしてもよい。
Next, data stored in the
FIG. 3A shows an example of log information. The
For example, with regard to the “mail transmission / reception” function shown in FIG. 3A, the transmission date / time of a transmission mail and the reception date / time of a reception mail transmitted / received by executing an electronic mail program are stored as log information. In the present embodiment, there are two types of
また、「Bluetooth(登録商標)」の機能に関しては、Bluetooth(登録商標)の規格に従って通信が行われた日時と、Bluetooth(登録商標)の規格に従って連続して通信可能となっている状態(以下、連続ON時間と言う)の時間がログ情報として記憶される。Bluetooth(登録商標)規格による通信(以下、Bluetooth(登録商標)通信と言う)を介して感染する“cabir”等のウィルスは、Bluetooth(登録商標)通信が長時間連続して可能になっている場合に感染しやすいため、連続ON時間は感染経路を特定する際の有用な情報となる。 In addition, regarding the function of “Bluetooth (registered trademark)”, the date and time when communication is performed according to the Bluetooth (registered trademark) standard and the state in which communication is continuously possible according to the standard of Bluetooth (registered trademark) (hereinafter referred to as “Bluetooth (registered trademark)”). The continuous ON time) is stored as log information. Viruses such as “cabir” that infect via Bluetooth (registered trademark) communication (hereinafter referred to as Bluetooth (registered trademark) communication) enable Bluetooth (registered trademark) communication continuously for a long time. In this case, the continuous ON time is useful information for specifying the infection route.
また、「外部メモリ」の機能に関しては、外部メモリ接続部117に外部メモリが着脱された着脱日時と、外部メモリとの間でアクセスが行われたアクセス日時がログ情報として記憶される。外部メモリは、実行装置100以外の他の機器で使用されることがあり、他の機器においてウィルスに感染したファイルが記憶された状態の外部メモリを実行装置100に接続して使用した場合には、実行装置100がウィルスに感染する可能性があるため、外部メモリの着脱頻度が多いほどウィルスに感染する可能性が高くなる。また、「キーボード入力」の機能に関しては、記号を連続して所定文字数以上入力する操作が行われた日時、及び所定回数以上の同一キー連続操作が行われた日時がログ情報として記憶される。このキーボードにおける入力操作によって、実行装置100にウィルスが入力される可能性もある。
With regard to the function of “external memory”, the attachment / detachment date / time when the external memory is attached / detached to / from the external
図3(b)は、閾値テーブルの一例を示している。同図に示すように、閾値テーブル60には、予め定められた所定期間分の図3(a)のログ情報50をログ種別1・2毎に集計した結果に対する閾値が記憶されている。ログ情報50を集計した結果がこの閾値を超えた場合、そのログ情報に対応する感染原因機能が頻繁に使用されたことを意味するから、その感染原因機能がウィルスの感染経路に該当する可能性は高い。つまり、閾値を超えるようなログ情報の集計結果は、ウィルスの入力経路に該当する条件を満たす動作履歴と言える。
FIG. 3B shows an example of the threshold value table. As shown in the figure, the threshold value table 60 stores threshold values for the result of totaling the
図3(c)は、挙動モデル情報の一例を示している。挙動モデル情報70は、監視対象プログラム30を正常に実行した場合の挙動を表す挙動情報であり、ここでは、監視対象プログラム30から呼び出されるシステムコールの列をモデル化した情報である。本実施形態では、挙動モデル情報70は記憶部113に予め記憶されているものとして説明を行うが、外部から挙動モデル情報70を取得して記憶部113に記憶するようにしてもよい。具体的には、挙動モデル情報70には、監視対象プログラム30を識別するプログラムIDと、システムコールの種別と、そのシステムコールの呼び出し順とが含まれている。同図の例において、プログラムID“001”の監視対象プログラム30を正常に動作させた場合のシステムコールの呼び出し順は、システムコールA→B→A→C・・・となる。本実施形態においては、説明の便宜上、監視対象プログラム30は1つであるものとして説明を行うが、複数の監視対象プログラム30がある場合には、各々の監視対象プログラム30について挙動モデル情報70が記憶されている。そして、上記のように記憶されている挙動モデルのシステムコール列と、監視対象プログラム30を実行させたときのシステムコール列とが適合するか否かが判断されることにより、監視対象プログラム30の挙動が異常か否かが判断される。
FIG. 3C shows an example of behavior model information. The
次に、図4を用いて、本実施形態における実行装置100の機能の説明を行う。実行装置100においては、CPU110が記憶部113に記憶されている検知プログラムを読み出して実行することにより、図4に示す、プログラム実行部11、ログ記録部12、挙動情報取得部13、異常判定部14、ログ解析部15、及び異常通知部16の各機能が実現される。
プログラム実行部11は、OSの機能を含んでおり、記憶部113に記憶されている監視対象プログラム30を遂次読み出して実行する。本実施形態は、シングルプロセッサで構成されているため、プログラム実行部11が、監視対象プログラム30以外に、検知プログラムや他のアプリケーションプログラムの実行制御も行うが、マルチプロセッサで構成されている場合には、プログラム毎にプログラム実行部11を設けるようにしてもよい。
Next, the function of the
The
ログ記録部12は、OS40を介して上述した感染原因機能のログ種別1・2の動作履歴を遂次取得し、記憶部113にログ情報50として記憶する。
挙動情報取得部13は、検知プログラムの起動後に、OS40で用意されているシステムコールをフックするフック処理を行い、監視対象プログラム30からAPIを介して呼び出したシステムコールの種別を順次取得し、取得したシステムコールの種別を監視対象プログラムの挙動情報として異常判定部14に供給する。
The
The behavior
ここで、システムコールのフック処理について説明する。本実施形態の検知プログラムは、OSの起動と同時に起動し、特権モードで動作するデバイスドライバを含んで構成されている。このデバイスドライバにより、システムコールの入口の命令、例えば、システムコールのアドレス等が配列されたテーブルから該当するシステムコールのアドレスを特定し、該当するシステムコールに制御を移行する命令を、システムコールをフックするコードが記述されたフック処理ルーチンにジャンプする命令に書き換えられる。この書き換えによって、フック処理ルーチンが実行され、監視対象プログラム30から呼び出したシステムコールが取得される。なお、フック処理ルーチンの実行により、命令の書き換え前に元の命令が保存され、フック処理ルーチンに移行した後の最初にレジスタ群の値を保存される。そして、フック処理ルーチンの最後に、呼び出し元の監視対象プログラム30のアドレスが、戻しアドレス用として予め設定されたレジスタに設定され、保存した命令とレジスタ群の値を書き戻す処理が行われ、監視対象プログラム30から呼び出された本来のシステムコールの処理に制御が移行される。
Here, system call hook processing will be described. The detection program of the present embodiment is configured to include a device driver that is activated simultaneously with the activation of the OS and operates in the privileged mode. By this device driver, the system call entry instruction, for example, the address of the corresponding system call is specified from the table in which the address of the system call is arranged, and the instruction to transfer control to the corresponding system call is issued. The code to be hooked is rewritten with an instruction to jump to the hook processing routine described. By this rewriting, the hook processing routine is executed, and the system call called from the
異常判定部14は、挙動情報取得部13から供給された挙動情報と記憶部113に記憶されている挙動モデル情報70とを照合し、挙動モデル情報70に含まれるシステムコール列の順にシステムコールが呼び出されていない場合には監視対象プログラムが異常であると判断し、その判断結果をログ解析部15へ供給する。この異常であるか否かの判断は、本実施形態においては、挙動情報、即ちシステムコールを取得する毎に行う。
The
ログ解析部15は、異常判定部14から異常である旨の判断結果を受付けた場合に、ウィルスに感染経路の可能性のある感染原因機能を特定する。具体的には、ログ解析部15は、記憶部113に記憶されているログ情報50のうち、所定期間分のログ情報をログ種別1・2 (以下、ログ種別1・2を特に区別しない場合にはログ種別と言う)について集計する。なお、図3(a)の各感染原因機能のログ種別毎にログ情報50が集計されることにより得られる集計内容は、図3(c)に示す各感染原因機能のログ集計種別1・2の各々で示される内容である。例えば、メールの機能の場合には、ログ種別1「送信日時」の記録数が集計されることによりログ集計種別1「送信件数」が求められ、ログ種別2「受信日時」の記録数が集計されることによりログ集計種別2「受信件数」が求められる。そして、ログ解析部15は、上記した集計結果が記憶部113に記憶されている閾値テーブル60の閾値を超えているログ集計種別1・2(以下、ログ集計種別1・2を区別しない場合にはログ集計種別と言う)に対応する感染原因機能を特定する。つまり、このとき特定された感染原因機能は、ウィルスの入力経路に該当する条件を満たす動作履歴が記録されている感染原因機能と言える。そして、ログ解析部15は、特定した感染原因機能のログ集計種別と、ログ集計種別毎の集計結果とを異常通知部16へ供給する。なお、異常が検知された後もユーザは実行装置100を継続して利用しているため、上記所定期間は、例えば、異常が検知された異常検知時点より前の一定期間や、異常検知時点より後の一定期間でもよいし、異常検知時点の前後一定期間であってもよく、ログ情報50の最小記録単位以上であればどのような期間であってもよい。
When the
異常通知部16は、異常判定部14から集計されたログ情報50を受付け、図5に示すように、閾値を超えている各感染原因機能の各ログ集計種別に対するフラグを1、閾値を超えていない各ログ集計種別に対するフラグを0に設定し、監視対象プログラム30のプログラムIDと対応付けた異常機能情報80を生成する。つまり、このフラグ情報は、ログ情報の集計結果が閾値を超えることを表すフラグ情報であり、感染原因機能の動作履歴に関する情報である。そして、異常通知部16は、生成した異常機能情報80をネットワーク通信部116を介して解析装置200へ送信する。これにより、感染原因機能の動作履歴に関する情報が、解析装置200に通知されることになる。
The
<解析装置200の構成>
図6は、解析装置200の構成を示すブロック図である。解析装置200は、パーソナルコンピュータやサーバ装置等で実現され、以下の各部を含んで構成されている。
CPU210は、ROM211や後述する記憶部213に記憶されているプログラムを、RAM212をワークエリアとして実行することによって、CPU210に接続されている各部を制御する。記憶部213は、ハードディスク等の不揮発性記憶媒体で構成されており、実行装置100から送信された異常機能情報80などの各種データや制御プログラムを記憶している。入力部214は、キーボードやマウス等を含んで構成されており、ユーザからの入力操作を受付け、入力操作に応じた入力信号をCPU210へ供給する。表示部215は、液晶等のディスプレイで構成されており、解析装置200を起動した際の画面や制御プログラムにより規定されている画面等、各種画像を表示する。ネットワーク通信部216は、CPU210の制御の下、ネットワークを介して接続された実行装置100との間でデータ通信を行う。
<Configuration of
FIG. 6 is a block diagram illustrating a configuration of the
The
次に、解析装置200の機能について図7を用いて説明する。図7において、解析装置200のCPU210が記憶部213に記憶されている制御プログラムを読み出して実行することにより、情報抽出部21及び危険解析部22の機能が実現される。情報抽出部21は、ネットワーク通信部216を介して実行装置100から受信した異常機能情報80に含まれている各監視対象プログラムのフラグを感染原因機能毎に抽出し、抽出した各監視対象プログラムの感染原因機能毎のフラグを危険解析部22へ供給する。危険解析部22は、情報抽出部21から供給された各監視対象プログラムの感染原因機能毎のフラグを受け取り、各監視対象プログラムの感染原因機能毎のフラグの数を集計する。そして、感染原因機能毎の集計結果の降順で順位付けを行い、順位付けた結果を、実行装置100に対するウィルスの入力経路の危険度合を示す感染経路危険度情報として図8に示すようにして表示部215に表示する。図8の例では、Bluetooth通信に関する機能が、ウィルスの感染経路に該当する可能性が最も高く、キーボード入力に関する機能が、ウィルスの感染経路に該当する可能性が最も低いことを意味している。なお、フラグの集計値が同値である感染原因機能がある場合には、予め定めた感染原因機能の優先順位に従って順位付けを行うようにしてもよいし、ユーザが任意に選択して順位付けを行うようにしてもよい。
Next, functions of the
(動作)
次に、ソフトウェア解析システム1の動作について説明する。図9は、実行装置100の動作フロー図である。実行装置100において、ユーザにより電源がONにされると、CPU110は、記憶部113のブートセクタを読み込んでOSを起動し(ステップS111)、記憶部113に記憶されている検知プログラムを読み出して起動し、システムコールの入口の命令をRAM112に保存してフック処理ルーチンのアドレスにジャンプする命令に書き換える(ステップS112)。次に、CPU110は、各感染原因機能のログ情報50の記録を開始し(ステップS113)、OSと検知プログラムが起動した後に、ユーザが、入力部114を介して監視対象プログラム30を実行する操作を行うと、CPU110は、記憶部113に記憶されている監視対象プログラム30を読み出して実行する(ステップS114)。
(Operation)
Next, the operation of the
CPU110は、ユーザが入力部114を介して行う操作に応じて、監視対象プログラム30に従った各処理を行い、監視対象プログラム30からシステムコールが呼び出される毎に、フック処理ルーチンを実行して現在のレジスタ値をRAM112に保存してシステムコールをフックし、フックしたシステムコールの種別を示す挙動情報をRAM112に順次記憶する(ステップS115)。なお、CPU110は、フック処理ルーチンの最後に、監視対象プログラム30のアドレスを戻しアドレス用レジスタに設定し、保存した命令とレジスタ値とを書き戻して本来のシステムコールの処理を行う。
The
CPU110は、ステップS116においてRAM112に順次記憶された挙動情報を読み出し、記憶部113に記憶されている挙動モデル情報70と照合する(ステップS116)。CPU110は、取得した挙動情報のシステムコール列が挙動モデル情報70で示されるシステムコール列の順に含まれていなければ(ステップS116:NO)、監視対象プログラム30が異常であると判定し、記憶部113に遂次記録されているログ情報50を読み出し、所定期間分の各感染原因機能のログ情報50をログ種別毎に集計する(ステップS117)。なお、この所定期間が、異常であると判定された判定時点後の一定期間である場合や、判定時点を含む前後一定期間である場合には、判定時点の時刻情報を記憶部113の所定領域に記憶しておき、判定時点から一定期間が経過したときにステップS117以下の処理を行う。また、所定期間が判定時点以前の一定期間である場合には、ステップS117に続いて以下の処理を行う。
CPU110 reads the behavior information sequentially stored in RAM112 in step S116, and collates with the
CPU110は、記憶部113に記憶されている閾値テーブル60を読み出し、各感染原因機能のログ種別毎に集計されたログ情報50について、閾値を超えているか否か判断する (ステップS118)。CPU110は、各感染原因機能について集計されたログ情報50が閾値を超えていると判断した場合には(ステップS118:YES)、閾値を超えている感染原因機能のログ集計種別のフラグを1に設定し、閾値を超えていないログ集計種別のフラグを0に設定して異常機能情報80を生成し、ネットワーク通信部116を介して解析装置200へ送信する(ステップS119)。
CPU110 reads the threshold value table 60 memorize | stored in the memory |
なお、ステップS116において、CPU110は、取得した挙動情報のシステムコール列が挙動モデル情報70で示されるシステムコール列の順序で含まれていると判断した場合には(ステップS116:YES)、実行中の監視対象プログラム30が終了するまでステップS115以下の処理を繰り返し行う(ステップS120:NO)。そして、監視対象プログラム30が終了した場合(ステップS120:YES)、CPU110は、ユーザによって実行装置100の電源がオフにされるまで各感染原因機能のログ情報50の記録を継続して行い(ステップ121:NO)、電源がオフにされたときに(ステップS121:YES)、ログ情報50の記録を終了して検知プログラムを終了する(ステップS122)。
また、ステップS118において、CPU110は、感染原因機能毎に集計されたログ情報50が閾値を超えていなければ(ステップS118:NO)、ステップS120以下の処理を行う。
If
In step S118, if the
次に、解析装置200の動作について説明する。CPU210は、ネットワーク通信部216を介して実行装置100から各監視対象プログラム30の異常機能情報80を受信すると(ステップS211)、監視対象プログラム30毎に、異常機能情報80に含まれている各感染原因機能のフラグデータを抽出する(ステップS212)。そして、CPU210は、抽出した各監視対象プログラム30の感染原因機能のフラグデータを感染原因機能毎に集計し(ステップS213)、各監視対象プログラム30の集計結果の降順で感染原因機能に順位付けを行う(ステップS214)。CPU214は、ステップS214で順位付けた順位が高いほど感染経路の危険度が高いものとして表した感染経路危険度情報90を生成して表示部215に表示する(ステップS215)。
Next, the operation of the
上記実施形態では、ユーザを含め異なる実行環境下におかれた実行装置100毎に各監視対象プログラムを実行させて、監視対象プログラム30が異常であるか否か判断し、異常である場合には、各実行装置100において記録されている感染原因機能について集計したログ情報のうち閾値を超えている機能か否かを示す異常機能情報80を解析装置200へ通知することができる。また、解析装置200では、各実行装置100からの通知を集計することにより、ウィルスの感染経路の危険度を推定することができる。これにより、特に、未知のウィルス感染による監視対象プログラムの挙動に関する情報を幅広く収集することができる。また、ウィルスの種類に応じて感染経路が異なる場合があるが、その場合であっても、ウィルスの感染経路として考えられる感染原因機能の危険度合を順位で示すことができるので、ウィルスを特定した場合にどの機能が感染経路として危険であるかを確認することができ、ウィルスの特性を更に解析する場合やウィルスを除去する場合の対策が取りやすくなる。
In the above embodiment, each monitoring target program is executed for each
<変形例>
以下、本発明の変形例について説明する。
(1)上述した実施形態では、実行装置100において、監視対象プログラム30が異常であると判断された場合、所定期間分の感染原因機能毎のログ情報50を集計した結果が閾値を超えている感染原因機能を特定し、異常機能情報80を解析装置200へ通知する例であったが、以下のように構成してもよい。例えば、実行装置100のCPU110は、各感染原因機能の所定期間分のログ情報50を一定期間単位に累計し、累計値が閾値を超える毎に、実施形態と同様に、各感染原因機能のログ種別毎のフラグデータを含む異常機能情報80を解析装置200へ通知し、解析装置200において、実施形態と同様に、通知された異常機能情報80を感染原因機能毎に集計して順位付けを行うようにしてもよい。
<Modification>
Hereinafter, modifications of the present invention will be described.
(1) In the above-described embodiment, when the
(2)また、上述した実施形態では、異常機能情報80として感染原因機能のログ集計種別毎に設定されたフラグデータを解析装置200へ出力する例であったが、実行装置100のCPU110は、異常機能情報80として、閾値を超えていると判断されたログ情報50の集計結果を出力してもよいし、上記変形例(1)のように一定期間単位に累計した累計値が閾値超えたか否かを判断する場合には、閾値を超えた各感染経路機能の回数を異常機能情報80として出力するようにしてもよい。
(2) In the above-described embodiment, the flag data set for each log aggregation type of the infection cause function as the
(3)また、上述した実施形態では、実行装置100は、所定期間分のログ情報50を集計した集計結果が閾値を超えている感染原因機能を特定する例であったが、例えば、実行装置100のCPU110は、所定期間内において2つの期間を設定し、各期間における感染原因機能毎のログ情報50の累計値を求め、各期間の累計値の増加率が所定の閾値以上である感染原因機能を特定するように構成してもよい。
(3) In the above-described embodiment, the
(4)また、上述した実施形態では、実行装置100は、監視対象プログラム30の挙動が異常であると判断した場合に、閾値を超えている感染原因機能を特定するものとして説明したが、以下のように構成してもよい。実行装置100において、CPU110は、監視対象プログラム30の挙動が異常であると判断した場合に、所定期間分の感染原因機能のログ情報50を解析装置200に送信する。そして、解析装置200において閾値テーブル60を予め記憶しておき、実行装置100から送信されたログ情報50を用いて閾値を超えている感染原因機能を特定するようにしてもよい。
(4) In the above-described embodiment, the
(5)上述した実施形態では、解析装置200が複数の実行装置100から受信した異常機能情報80に基づいて感染原因機能の順位付けを行う構成であったが、各実行装置100の異常機能情報80から実行装置100毎に感染原因機能の順位付けを行うようにしてもよい。この場合には、その異常機能情報80の順位付けを行った感染経路危険度情報を解析装置200が各実行装置100に送信するように構成してもよい。
(5) In the above-described embodiment, the
(6)上述した実施形態では、実行装置100における閾値テーブル60は共通であるものとして説明したが、実行装置100毎に異なる閾値テーブル60を設定するようにしてもよい。また、各実行装置100のログ情報50に基づいて、各感染原因機能のログ種別毎に求めた平均値等を各感染原因機能のログ種別毎の閾値として設定するようにしてもよい。また、1日単位で各感染原因機能のログ種別毎のログ情報50を集計する場合には、休日と平日とで異なる閾値を設定する等、任意に閾値を設定するように構成してもよい。
(6) Although the threshold value table 60 in the
(7)上述した実施形態では、異常機能情報80には閾値を超えていない感染原因機能の情報も含むものとして説明したが、閾値を超えている感染原因機能と、その感染原因機能のログ種別毎に集計されたログ情報50、その感染原因機能のフラグデータ、その感染原因機能を示す情報のいずれかを異常機能情報80として送るようにしてもよいし、これらを組み合わせて異常機能情報80に含ませてもよい。
(7) In the above-described embodiment, the
(8)上述した実施形態では、実行装置100において監視対象プログラム30が異常であると判断されたときに、所定期間分の各感染原因機能のログ情報50を集計するものとして説明したが、予め一定の時間又は日単位にログ情報50をログ種別毎に累計した累計値を動作履歴として記憶するように構成してもよい。
(8) In the above-described embodiment, it has been described that when the
(9)また、上述した実施形態では、実行装置100は、挙動モデル情報70として、システムコール列をモデル化したものを記憶している例であったが、監視対象プログラムにおけるサブルーチンが呼び出されたときのコールスタック内のリターンアドレスの列をモデル化して記憶するようにしてもよい。この場合には、実行装置100において、監視対象プログラムを実行させた場合におけるサブルーチン呼び出し時にコールスタックの列を挙動情報として取得し、実施形態と同様に監視対象プログラム30のプログラムIDと対応づけて記憶するように構成する。
(9) In the above-described embodiment, the
(10)また、上述した実施形態では、実行装置100において、システムコールの入口の命令をフック処理ルーチンに制御を移行する命令に書き換えてシステムコールをフックする例であったが、システムコールのフックを以下のようにして行ってもよい。例えば、実行装置100において、ソフトウェア割込み時のジャンプ先としてフック処理ルーチンのアドレスを割込みベクタテーブルに予め設定しておくことによりシステムコールをフックしてもよいし、監視対象プログラム30と本来のdllファイルとの間にシステムコールをフックするためのフック用dllファイルを設け、監視対象プログラム30からのシステムコールの呼び出し要求をフック用dllファイルを介して本来のdllファイルに渡し、フック用dllファイルにより監視対象プログラム30が呼び出したシステムコールを取得してもよい。また、Linux等のUnix系OSの場合には、ptraceのシステムコールを用いて監視対象プログラム30が呼び出したシステムコールをフックするようにしてもよい。
(10) In the above-described embodiment, the
(11)また、上述した実施形態では、実行装置100は異常機能情報80を解析装置200へ送信する例であったが、異常機能情報80以外に監視対象プログラム30のバージョンやOS等の動作環境、監視対象プログラム30と同時に起動しているソフトウェア、時間、場所など、感染経路を解析するのに必要な各種情報を適宜送信してもよい。
(11) In the above-described embodiment, the
(12)また、上述した実施形態では、実行装置100は、外部メモリ接続機能、Bluetooth(登録商標)通信機能、電子メール送受信機能についてログ情報50を記録するものとして説明したが、実行装置100が、これら以外の機能、例えば、WEBページ閲覧機能、赤外線通信機能、パソコン接続機能、ICチップによる通信機能等を有している場合には、図10に示すように、上記各機能のログ種別1〜3の各ログ情報50'を記憶部113に記録するようにしてもよい。なお、WEBページ閲覧機能におけるログ種別3「非公式ページアクセス日時」は、所定の公式ページに対応する非公式ページのURLを予めユーザにより設定し、設定されている非公式ページがアクセスされた日時を記録するようにする。また、実施形態では、ログ種別は2種類の例について説明したが、実施形態及び上記変形例で示した種類以上でもよいし、1種類であってもよい。
(12) In the above-described embodiment, the
(13)また、上述した実施形態の動作フロー(図9)において、実行装置100は、所定期間内のログ情報50を集計した結果のうち閾値を超えている感染原因機能がない場合にはステップS120の処理を移行する(ステップS118:NO)ものとして説明したが、実行装置100は、ユーザから新たに所定期間を入力する操作を入力部114を介して受付けた場合には、入力された所定期間内のログ情報50を集計してステップS118以下の処理を行うようにしてもよい。
(13) In the operation flow (FIG. 9) of the above-described embodiment, the
(14)上述した実施形態では、実行装置100における挙動モデル情報70は、監視プログラム30を正常な状態で実行させた場合におけるシステムコール列の情報を予め記憶するものとして説明したが、正常ではないパターンのシステムコール列の情報を挙動モデル情報70として予め記憶するようにしてもよいし、外部から取得するようにしてもよい。この場合には、実行装置100は、監視プログラム30の実行中に取得した挙動情報が挙動モデル情報70で示されるシステムコール列の順に含まれていれば、監視プログラム30は異常であると判断し、挙動情報が挙動モデル情報70で示されるシステムコール列の順に含まれていなければ、監視プログラム30は正常であると判断するようにする。
また、挙動モデル情報70は、監視プログラム30のソースコードを解析してシステムコール列をモデル化したものを予め記憶するように構成してもよい。
(14) In the above-described embodiment, the
The
(15)上述した実施形態では、監視プログラム30を正常な状態で実行させた場合の挙動モデル情報70と、監視プログラム30の実行中に取得した挙動情報とを照合するものとして説明したが、既知のウィルスの挙動パターンと組み合わせて挙動情報を照合するようにしてもよい。
この場合には、実行装置100において、既知のウィルスの挙動パターンを示すウィルスパターン情報を記憶部113に記憶しておく。そして、実行装置100において、実施形態と同様に挙動情報と挙動モデル情報70とを照合し、監視プログラム30が異常であると判断した場合に、取得した挙動情報とウィルスパターン情報とを照合してウィルスパターンと一致した場合には、一致したウィルスパターンの情報を異常機能情報80と共に解析装置200へ出力し、一致しなかった場合には異常機能情報80だけを解析装置200へ出力するようにしてもよい。
(16)また、上述した実施形態では、各実行装置100において異常を検知した場合に解析装置200に異常機能情報80を送信し、解析装置200において異常機能情報を集計して感染原因機能について順位付けを行う例であったが、各実行装置100において、自装置における異常機能情報80に対し解析装置200と同様に感染原因機能毎にフラグの集計を行い、感染原因機能の順位付けを行うように構成してもよいし、順位づけた結果を解析装置200へ送信するようにしてもよい。
(15) In the above-described embodiment, the
In this case, the
(16) In the above-described embodiment, when an abnormality is detected in each
(17)上述の実施形態における実行装置100及び解析装置200のCPU110及びCPU210によって実行されるプログラムは、磁気記録媒体(磁気テープ、磁気ディスクなど)、光記録媒体(光ディスクなど)、光磁気記録媒体、半導体メモリなどのコンピュータが読取可能な記録媒体に記憶した状態で提供し得る。また、インターネットのようなネットワーク経由で実行装置100及び解析装置200にダウンロードさせることも可能である。なお、このような制御を行う制御手段としてはCPU以外にも種々の装置を適用することができ、例えば、専用のプロセッサなどを用いてもよい。
(17) Programs executed by the
1・・・ソフトウェア解析システム、11・・・プログラム実行部、12・・・ログ記録部、13・・・挙動情報取得部、14・・・異常判定部、15・・・ログ解析部、16・・・異常通知部、21・・・情報抽出部、22・・・危険解析部、100・・・実行装置、110,210・・・CPU、113,213・・・記憶部、114,214・・・入力部、115,215・・・表示部、116,216・・・ネットワーク通信部、117・・・外部メモリ接続部、118・・・Bluetooth(登録商標)通信部、200・・・解析装置。
DESCRIPTION OF
Claims (9)
各々の前記実行装置は、
前記監視対象ソフトウェアを実行する実行手段と、
前記監視対象ソフトウェアを正常に実行させた場合の挙動を表す挙動情報を挙動モデルとして記憶する挙動モデル記憶手段と、
自装置の外部から提供される情報を取得可能な複数の機能の各々について、当該機能の動作履歴を記録する記録手段と、
前記実行手段が前記監視対象ソフトウェアを実行したときの挙動を表す挙動情報を取得する挙動情報取得手段と、
前記挙動情報取得手段により取得された前記挙動情報が前記挙動モデル記憶手段に記憶された前記挙動モデルと適合するか否かを判定する判定手段と、
前記判定手段により前記挙動情報が前記挙動モデルに適合しないと判定された場合に、前記記録手段により各々の前記機能について記録された動作履歴を解析し、不正なソフトウェアの入力経路に該当する条件を満たす動作履歴が記録されている前記機能を特定する動作履歴解析手段と、
前記動作履歴解析手段により特定された前記機能と、当該機能の動作履歴に関する情報とを、前記解析装置に通知する通知手段とを備え、
前記解析装置は、
1又は複数の前記実行装置から通知された前記動作履歴に関する情報を前記機能毎に解析し、その解析結果に基づいて各々の前記機能の順位付けを行い、その順位付けの結果を前記実行装置に対する不正なソフトウェアの入力経路の危険度合を示す情報として出力する入力経路解析手段を備える
ことを特徴とする解析システム。 One or a plurality of execution devices that execute monitoring target software that is software to be monitored, and an analysis device that analyzes an input path of unauthorized software to the execution device,
Each of the execution devices
Execution means for executing the monitored software;
Behavior model storage means for storing behavior information representing behavior when the monitored software is normally executed as a behavior model;
For each of a plurality of functions that can acquire information provided from the outside of its own device, recording means for recording the operation history of the function;
Behavior information acquisition means for acquiring behavior information representing a behavior when the execution means executes the monitored software;
Determination means for determining whether or not the behavior information acquired by the behavior information acquisition means is compatible with the behavior model stored in the behavior model storage means;
When the determination means determines that the behavior information does not conform to the behavior model, the operation history recorded for each of the functions by the recording means is analyzed, and a condition corresponding to an illegal software input path is determined. An operation history analyzing means for specifying the function in which an operation history to be satisfied is recorded;
The function specified by the operation history analysis means, and information related to the operation history of the function, the notification means for notifying the analysis device,
The analysis device includes:
Information on the operation history notified from one or a plurality of the execution devices is analyzed for each function, ranking of the respective functions is performed based on the analysis result, and the ranking result is assigned to the execution device. An analysis system comprising an input path analysis means for outputting information indicating a degree of risk of an illegal software input path.
前記動作履歴解析手段は、各々の前記機能の動作履歴に含まれる動作の回数、動作の期間、前記動作の回数及び前記動作の期間の組み合わせのうち、少なくとも一つを前記機能毎に集計し、その集計結果が閾値を超えている前記機能を、不正なソフトウェアの入力経路に該当する条件を満たす動作履歴が記録されている機能として特定する
ことを特徴とする請求項1記載の解析システム。 In the execution device,
The operation history analysis means totals at least one of the number of operations included in the operation history of each function, the operation period, the number of operations and the operation period for each function, 2. The analysis system according to claim 1, wherein the function whose aggregation result exceeds a threshold is specified as a function in which an operation history satisfying a condition corresponding to an illegal software input path is recorded.
前記通知手段は、前記動作履歴解析手段により特定された前記機能の動作履歴に関する情報として、当該機能の前記集計結果が前記閾値を超えていることを示すフラグ情報を通知し、
前記解析装置において、
前記入力経路解析手段は、1又は複数の前記実行装置から通知された前記フラグ情報の数を前記機能毎に集計し、その集計結果の順に前記機能の順位付けを行う
ことを特徴とする請求項2記載の解析システム。 In the execution device,
The notification means notifies the flag information indicating that the aggregation result of the function exceeds the threshold as information regarding the operation history of the function specified by the operation history analysis means,
In the analysis device,
The input path analyzing means, which counts the number of the flag information notified from one or a plurality of the execution devices for each function, and ranks the functions in the order of the count results. 2. The analysis system according to 2.
前記動作履歴解析手段は、各々の前記機能の動作履歴に含まれる動作の回数、動作の期間、前記動作の回数及び前記動作の期間の組み合わせのうち、少なくとも一つが閾値を超えるたびに、当該機能を、不正なソフトウェアの入力経路に該当する条件を満たす動作履歴が記録されている機能として特定し、
前記通知手段は、前記動作履歴解析手段により特定された前記機能の動作履歴に関する情報として、当該機能の回数又は動作の期間が前記閾値を超えていることを示すフラグ情報を前記解析装置に通知し、
前記解析装置において、
前記入力経路解析手段は、1又は複数の前記実行装置から通知された前記動作履歴に関する情報が含まれるフラグ情報の数を前記機能毎に集計し、その集計結果の順に前記機能の順位付けを行う
ことを特徴とする請求項1記載の解析システム。 In the execution device,
The operation history analysis unit is configured to output the function each time at least one of the combinations of the number of operations, the operation period, the operation number, and the operation period included in the operation history of each function exceeds a threshold value. Is identified as a function that has a history of operations that satisfy the conditions applicable to the input path of unauthorized software,
The notification means notifies the analysis apparatus of flag information indicating that the number of times of the function or the operation period exceeds the threshold as information on the operation history of the function specified by the operation history analysis means. ,
In the analysis device,
The input path analysis means counts the number of flag information including information related to the operation history notified from one or a plurality of execution devices for each function, and ranks the functions in order of the count results. The analysis system according to claim 1.
前記監視対象ソフトウェアを正常に実行させた場合の挙動を表す挙動情報を挙動モデルとして記憶する挙動モデル記憶手段と、
自装置の外部から提供される情報を取得可能な複数の機能の各々について、当該機能の動作履歴を記録する記録手段と、
前記実行手段が前記監視対象ソフトウェアを実行したときの挙動を表す挙動情報を取得する挙動情報取得手段と、
前記挙動情報取得手段により取得された前記挙動情報が前記挙動モデル記憶手段に記憶された前記挙動モデルと適合するか否かを判定する判定手段と、
前記判定手段により前記挙動情報が前記挙動モデルに適合しないと判定された場合に、前記記録手段により各々の前記機能について記録された動作履歴を解析し、不正なソフトウェアの入力経路に該当する条件を満たす動作履歴が記録されている前記機能を特定する動作履歴解析手段と、
前記動作履歴解析手段により特定された前記機能の前記動作履歴に関する情報を前記機能毎に解析し、その解析結果に基づいて各々の前記機能の順位付けを行い、その順位付けの結果を前記実行装置に対する不正なソフトウェアの入力経路の危険度合を示す情報として出力する入力経路解析手段を備える
ことを特徴とする解析装置。 Execution means for executing the monitoring target software that is the monitoring target software;
Behavior model storage means for storing behavior information representing behavior when the monitored software is normally executed as a behavior model;
For each of a plurality of functions that can acquire information provided from the outside of its own device, recording means for recording the operation history of the function;
Behavior information acquisition means for acquiring behavior information representing a behavior when the execution means executes the monitored software;
Determination means for determining whether or not the behavior information acquired by the behavior information acquisition means is compatible with the behavior model stored in the behavior model storage means;
When the determination means determines that the behavior information does not conform to the behavior model, the operation history recorded for each of the functions by the recording means is analyzed, and a condition corresponding to an illegal software input path is determined. An operation history analyzing means for specifying the function in which an operation history to be satisfied is recorded;
Information related to the operation history of the function specified by the operation history analysis means is analyzed for each function, the functions are ranked based on the analysis results, and the ranking results are used as the execution device. An analysis apparatus comprising: input path analysis means for outputting information indicating a degree of risk of an illegal software input path with respect to.
当該実行装置の外部から提供される情報を取得可能な複数の機能の各々について、当該機能の動作履歴を記録する記録ステップと、
前記監視対象ソフトウェアを実行したときの挙動を表す挙動情報を取得する挙動情報取得ステップと、
前記挙動情報取得ステップにより取得された前記挙動情報が、前記監視対象ソフトウェアを正常に実行した場合の挙動を表す挙動情報として予め記憶された挙動モデルと適合するか否かを判定する判定ステップと、
前記判定ステップにより前記挙動情報が前記挙動モデルに適合しないと判定された場合に、前記記録ステップにより各々の前記機能について記録された動作履歴を解析し、不正なソフトウェアの入力経路に該当するための条件を満たす動作履歴が記録されている前記機能を特定する動作履歴解析ステップと、
前記動作履歴解析ステップにより特定された前記機能と、当該機能の動作履歴に関する情報とを、不正なソフトウェアの入力経路について解析する解析装置に通知する通知ステップと
を有することを特徴とする検知方法。 An unauthorized software detection method performed by an execution device that executes monitoring target software, which is software to be monitored,
For each of a plurality of functions capable of acquiring information provided from outside the execution device, a recording step for recording an operation history of the function;
A behavior information acquisition step of acquiring behavior information representing a behavior when the monitoring target software is executed;
A determination step for determining whether or not the behavior information acquired by the behavior information acquisition step is compatible with a behavior model stored in advance as behavior information representing a behavior when the monitoring target software is normally executed;
When it is determined by the determination step that the behavior information does not match the behavior model, the operation history recorded for each of the functions by the recording step is analyzed to correspond to an illegal software input path An operation history analysis step for identifying the function in which an operation history satisfying a condition is recorded;
A notification method comprising: a notification step of notifying the analysis device analyzing the illegal software input path of the function specified in the operation history analysis step and information related to the operation history of the function.
前記1又は複数の実行装置から、当該実行装置が有する複数の機能のうち、不正なソフトウェアの入力経路に該当するための条件を満たす動作履歴が記録されている機能と、当該機能の動作履歴に関する情報とを取得する取得ステップと、
前記取得ステップにより取得された各々の前記機能の動作履歴に関する情報を当該機能毎に解析し、その解析結果に基づいて各々の前記機能の順位付けを行い、その順位付けの結果を不正なソフトウェアの入力経路の危険度合を示す情報として出力する入力経路解析ステップと
を有することを特徴とする解析方法。 An analysis method performed by an analysis device that analyzes an illegal software input path to one or more execution devices that execute monitoring target software that is software to be monitored,
Among the plurality of functions that the execution device has from the one or more execution devices, a function in which an operation history satisfying a condition for satisfying an illegal software input path is recorded, and an operation history of the function An acquisition step for acquiring information;
Information on the operation history of each of the functions acquired in the acquisition step is analyzed for each function, ranking of the functions is performed based on the analysis result, and the ranking result is determined by an unauthorized software. And an input path analysis step for outputting the information indicating the degree of danger of the input path.
当該コンピュータの外部から提供される情報を取得可能な複数の機能の各々について、当該機能の動作履歴を記録する記録ステップと、
前記監視対象ソフトウェアを実行したときの挙動を表す挙動情報を取得する挙動情報取得ステップと、
前記挙動情報取得ステップにより取得された前記挙動情報が、前記監視対象ソフトウェアを正常に実行した場合の挙動を表す挙動情報として予め記憶された挙動モデルと適合するか否かを判定する判定ステップと、
前記判定ステップにより前記挙動情報が前記挙動モデルに適合しないと判定された場合に、前記記録ステップにより各々の前記機能について記録された動作履歴を解析し、不正なソフトウェアの入力経路に該当するための条件を満たす動作履歴が記録されている前記機能を特定する動作履歴解析ステップと、
前記動作履歴解析ステップにより特定された前記機能と、当該機能の動作履歴に関する情報とを、不正なソフトウェアの入力経路について解析する解析装置に通知する通知ステップと
を実行させるためのプログラム。 On the computer that runs the monitored software that is the software to be monitored,
For each of a plurality of functions capable of acquiring information provided from outside the computer, a recording step for recording an operation history of the function;
A behavior information acquisition step of acquiring behavior information representing a behavior when the monitoring target software is executed;
A determination step for determining whether or not the behavior information acquired by the behavior information acquisition step is compatible with a behavior model stored in advance as behavior information representing a behavior when the monitoring target software is normally executed;
When it is determined by the determination step that the behavior information does not match the behavior model, the operation history recorded for each of the functions by the recording step is analyzed to correspond to an illegal software input path An operation history analysis step for identifying the function in which an operation history satisfying a condition is recorded;
A program for executing the notification step of notifying the analysis device that analyzes the function specified by the operation history analysis step and information related to the operation history of the function with respect to an input path of unauthorized software.
前記1又は複数の実行装置から、当該実行装置が有する複数の機能のうち、不正なソフトウェアの入力経路に該当するための条件を満たす動作履歴が記録されている機能と、当該機能の動作履歴に関する情報とを取得する取得ステップと、
前記取得ステップにより取得された各々の前記機能の動作履歴に関する情報を当該機能毎に解析し、その解析結果に基づいて各々の前記機能の順位付けを行い、その順位付けの結果を不正なソフトウェアの入力経路の危険度合を示す情報として出力する入力経路解析ステップと
を実行させるためのプログラム。 A computer that analyzes an illegal software input path to one or a plurality of execution devices that execute the monitoring target software that is the monitoring target software;
Among the plurality of functions that the execution device has from the one or more execution devices, a function in which an operation history satisfying a condition for satisfying an illegal software input path is recorded, and an operation history of the function An acquisition step for acquiring information;
Information on the operation history of each of the functions acquired in the acquisition step is analyzed for each function, ranking of the functions is performed based on the analysis result, and the ranking result is determined by an unauthorized software. A program for executing an input route analysis step that is output as information indicating the degree of danger of the input route.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009118748A JP2010267128A (en) | 2009-05-15 | 2009-05-15 | Analysis system, analysis device, detection method, analysis method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009118748A JP2010267128A (en) | 2009-05-15 | 2009-05-15 | Analysis system, analysis device, detection method, analysis method and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010267128A true JP2010267128A (en) | 2010-11-25 |
Family
ID=43364037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009118748A Pending JP2010267128A (en) | 2009-05-15 | 2009-05-15 | Analysis system, analysis device, detection method, analysis method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010267128A (en) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013105366A (en) * | 2011-11-15 | 2013-05-30 | Hitachi Ltd | Program analyzing system and method |
JP2015511047A (en) * | 2012-03-19 | 2015-04-13 | クアルコム,インコーポレイテッド | Computing device that detects malware |
JP2017004233A (en) * | 2015-06-10 | 2017-01-05 | 株式会社日立システムズ | Cyber attack counter measure range priority setting system, and cyber attack counter measure range priority setting method |
JP2017505944A (en) * | 2013-12-30 | 2017-02-23 | ノキア テクノロジーズ オーユー | Malware detection inspection method and apparatus |
JP2017516246A (en) * | 2014-05-15 | 2017-06-15 | エヌイーシー ラボラトリーズ アメリカ インクNEC Laboratories America, Inc. | Idle process discovery and constraints |
JP2017191440A (en) * | 2016-04-13 | 2017-10-19 | 富士通株式会社 | Malware analyzer, malware analyzing method and malware analyzing program |
JP2019028670A (en) * | 2017-07-28 | 2019-02-21 | 大日本印刷株式会社 | Secure element, computer program, device, server and device monitoring method |
US10360378B2 (en) | 2014-08-22 | 2019-07-23 | Nec Corporation | Analysis device, analysis method and computer-readable recording medium |
CN111382076A (en) * | 2020-03-10 | 2020-07-07 | 北京字节跳动网络技术有限公司 | Application program testing method and device, electronic equipment and computer storage medium |
JPWO2020240766A1 (en) * | 2019-05-30 | 2020-12-03 | ||
CN113609516A (en) * | 2021-10-11 | 2021-11-05 | 北京德风新征程科技有限公司 | Information generation method and device based on abnormal user, electronic equipment and medium |
WO2022137403A1 (en) * | 2020-12-23 | 2022-06-30 | 日本電気株式会社 | Information collection control device, information collection system, information collection control method, and information collection control program |
CN116707929A (en) * | 2023-06-16 | 2023-09-05 | 广州市玄武无线科技股份有限公司 | Mobile phone photographing and faking detection method and device based on call stack information acquisition |
WO2023176217A1 (en) * | 2022-03-17 | 2023-09-21 | オムロン株式会社 | Inspection device, inspection method, and program |
WO2023228288A1 (en) * | 2022-05-24 | 2023-11-30 | 日本電信電話株式会社 | Detection device, detection method, and detection program |
-
2009
- 2009-05-15 JP JP2009118748A patent/JP2010267128A/en active Pending
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013105366A (en) * | 2011-11-15 | 2013-05-30 | Hitachi Ltd | Program analyzing system and method |
US9832211B2 (en) | 2012-03-19 | 2017-11-28 | Qualcomm, Incorporated | Computing device to detect malware |
JP2015511047A (en) * | 2012-03-19 | 2015-04-13 | クアルコム,インコーポレイテッド | Computing device that detects malware |
US9973517B2 (en) | 2012-03-19 | 2018-05-15 | Qualcomm Incorporated | Computing device to detect malware |
JP2017505944A (en) * | 2013-12-30 | 2017-02-23 | ノキア テクノロジーズ オーユー | Malware detection inspection method and apparatus |
US10181033B2 (en) | 2013-12-30 | 2019-01-15 | Nokia Technologies Oy | Method and apparatus for malware detection |
JP2017516246A (en) * | 2014-05-15 | 2017-06-15 | エヌイーシー ラボラトリーズ アメリカ インクNEC Laboratories America, Inc. | Idle process discovery and constraints |
US11640463B2 (en) | 2014-08-22 | 2023-05-02 | Nec Corporation | Analysis device, analysis method and computer-readable recording medium |
US10360378B2 (en) | 2014-08-22 | 2019-07-23 | Nec Corporation | Analysis device, analysis method and computer-readable recording medium |
US11847216B2 (en) | 2014-08-22 | 2023-12-19 | Nec Corporation | Analysis device, analysis method and computer-readable recording medium |
JP2017004233A (en) * | 2015-06-10 | 2017-01-05 | 株式会社日立システムズ | Cyber attack counter measure range priority setting system, and cyber attack counter measure range priority setting method |
JP2017191440A (en) * | 2016-04-13 | 2017-10-19 | 富士通株式会社 | Malware analyzer, malware analyzing method and malware analyzing program |
JP2019028670A (en) * | 2017-07-28 | 2019-02-21 | 大日本印刷株式会社 | Secure element, computer program, device, server and device monitoring method |
JPWO2020240766A1 (en) * | 2019-05-30 | 2020-12-03 | ||
JP7235109B2 (en) | 2019-05-30 | 2023-03-08 | 日本電気株式会社 | Evaluation device, system, control method, and program |
WO2020240766A1 (en) * | 2019-05-30 | 2020-12-03 | 日本電気株式会社 | Evaluation device, system, control method, and program |
CN111382076B (en) * | 2020-03-10 | 2023-04-25 | 抖音视界有限公司 | Application program testing method and device, electronic equipment and computer storage medium |
CN111382076A (en) * | 2020-03-10 | 2020-07-07 | 北京字节跳动网络技术有限公司 | Application program testing method and device, electronic equipment and computer storage medium |
WO2022137403A1 (en) * | 2020-12-23 | 2022-06-30 | 日本電気株式会社 | Information collection control device, information collection system, information collection control method, and information collection control program |
CN113609516A (en) * | 2021-10-11 | 2021-11-05 | 北京德风新征程科技有限公司 | Information generation method and device based on abnormal user, electronic equipment and medium |
CN113609516B (en) * | 2021-10-11 | 2022-05-31 | 北京德风新征程科技有限公司 | Information generation method and device based on abnormal user, electronic equipment and medium |
WO2023176217A1 (en) * | 2022-03-17 | 2023-09-21 | オムロン株式会社 | Inspection device, inspection method, and program |
WO2023228288A1 (en) * | 2022-05-24 | 2023-11-30 | 日本電信電話株式会社 | Detection device, detection method, and detection program |
CN116707929A (en) * | 2023-06-16 | 2023-09-05 | 广州市玄武无线科技股份有限公司 | Mobile phone photographing and faking detection method and device based on call stack information acquisition |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2010267128A (en) | Analysis system, analysis device, detection method, analysis method and program | |
US11687653B2 (en) | Methods and apparatus for identifying and removing malicious applications | |
US10530802B2 (en) | Method and system for automatic detection and analysis of malware | |
US7832011B2 (en) | Method and apparatus for detecting malicious code in an information handling system | |
US8856542B2 (en) | System and method for detecting malware that interferes with the user interface | |
US8312536B2 (en) | Hygiene-based computer security | |
US7757290B2 (en) | Bypassing software services to detect malware | |
US9479357B1 (en) | Detecting malware on mobile devices based on mobile behavior analysis | |
EP2701092A1 (en) | Method for identifying malicious executables | |
JP2019516160A (en) | System and method for detecting security threats | |
CN107463841B (en) | System and method for detecting malicious computer systems | |
JP6096389B2 (en) | Detection device, detection method, and detection program | |
JP2010257150A (en) | Device and method for detection of fraudulence processing, and program | |
US9838420B2 (en) | System and method for distributing most effective antivirus records to user devices | |
JP6380537B2 (en) | Analysis device, analysis method, and computer-readable recording medium | |
US8490195B1 (en) | Method and apparatus for behavioral detection of malware in a computer system | |
US10880316B2 (en) | Method and system for determining initial execution of an attack | |
US9769195B1 (en) | Systems and methods for efficiently allocating resources for behavioral analysis | |
JP5851311B2 (en) | Application inspection device | |
EP2750066B1 (en) | System and method for detecting malware that interferes with a user interface | |
JP2003256230A (en) | Computer virus spread preventing method |