JP2010267128A - Analysis system, analysis device, detection method, analysis method and program - Google Patents

Analysis system, analysis device, detection method, analysis method and program Download PDF

Info

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
Application number
JP2009118748A
Other languages
Japanese (ja)
Inventor
Yuuka Ikebe
優佳 池部
Takehiro Nakayama
雄大 中山
Masaji Katagiri
雅二 片桐
Kazuhiko Kato
和彦 加藤
Takahiro Shinagawa
高廣 品川
Hitotsugu Kawasaki
仁嗣 川崎
Hirotake Abe
洋丈 阿部
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.)
NTT Docomo Inc
University of Tsukuba NUC
Original Assignee
NTT Docomo Inc
University of Tsukuba NUC
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 NTT Docomo Inc, University of Tsukuba NUC filed Critical NTT Docomo Inc
Priority to JP2009118748A priority Critical patent/JP2010267128A/en
Publication of JP2010267128A publication Critical patent/JP2010267128A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an analysis system which estimates an input path of unauthorized software to an execution device executing software. <P>SOLUTION: An execution device 100 records the operating history of an infection cause function (S113), obtains the behavioral information of an executing monitoring object program (S115), and, if the behavioral information does not conform to the behavioral model information when the monitoring object program is normally executed (YES at S116), outputs abnormal function information including information regarding the infection cause function and the operating history satisfying the conditions corresponding to the input path of the unauthorized software to an analysis device 200 (S119). The analysis device 200 collects the information regarding the operating history per infection cause function in each abnormal function information (S213), ranks the infection cause functions based on the collection result (S214), and outputs infection path risk information (S215). <P>COPYRIGHT: (C)2011,JPO&INPIT

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 Patent Document 1 below. The malware behavior analysis system of Patent Document 1 is configured by connecting an execution terminal that executes malware and a dummy server that analyzes log data related to malware behavior in a pseudo Internet environment, and the malware calls an API in the execution terminal. The API call log is collected and transmitted to the dummy server every time, and the dummy server collects an access log and a packet log related to server access from the malware execution terminal. The dummy server extracts the behavior of the malware based on the log from the execution terminal and the log and behavior definition file collected by itself. Further, as a specific method for detecting the execution of malicious code, for example, a method for verifying the validity of the issuance order of system calls that are instructions executed when a process requests processing to the kernel (for example, Non-Patent Document 1) and those that verify the status of a call stack when a system call is issued (for example, Non-Patent Document 2 and Patent Document 2) are known.

特開2007−334536号公報JP 2007-334536 A 特開2007−179131号公報JP 2007-179131 A S. Forrest et al, "Intrusion Detection using Sequences of System Calls", Journal of Computer Security Vol. 6, pp.151-180, 1998S. Forrest et al, "Intrusion Detection using Sequences of System Calls", Journal of Computer Security Vol. 6, pp.151-180, 1998 H.Feng, "Anomaly Detection Using Call Stack Information", The proc. of IEEE Symposium on Security and Privacy, pp.62, 2003H. Feng, "Anomaly Detection Using Call Stack Information", The proc. Of IEEE Symposium on Security and Privacy, pp.62, 2003

ところで、マルウェアに対する対応策としては、そのマルウェアに感染したことを検知することに加え、どのような経路でマルウェアに感染したかを知ることが必要であるが、上述した従来技術では、感染経路を特定することは困難である。   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.

実施形態に係るソフトウェア解析システムの構成図である。It is a block diagram of the software analysis system which concerns on embodiment. 実施形態における実行装置100の構成を示すブロック図である。It is a block diagram which shows the structure of the execution apparatus 100 in embodiment. (a)は、実施形態のログ情報の例を示す図である。(b)は、実施形態の閾値テーブルの例を示す図である。(c)は、実施形態の挙動モデル情報の例を示す図である。(A) is a figure showing an example of log information of an embodiment. (b) is a figure showing an example of a threshold table of an embodiment. (c) is a figure which shows the example of the behavior model information of embodiment. 実施形態の実行装置100の機能ブロック図である。It is a functional block diagram of execution device 100 of an embodiment. 実施形態の異常機能情報80の例を示す図である。It is a figure which shows the example of the abnormal function information 80 of embodiment. 実施形態の解析装置200の構成図である。It is a lineblock diagram of analysis device 200 of an embodiment. 実施形態の解析装置200の機能ブロック図である。It is a functional block diagram of analysis device 200 of an embodiment. 実施形態の感染経路危険度情報の例を示す図である。It is a figure which shows the example of the infection route risk information of embodiment. 実施形態の実行装置100及び解析装置200の動作フロー図である。It is an operation | movement flowchart of the execution apparatus 100 and analysis apparatus 200 of embodiment. 変形例に係るログ情報の例を示す図である。It is a figure which shows the example of the log information which concerns on a modification.

以下、図面を参照して本発明の実施形態に係るソフトウェア解析システムについて説明する。以下の説明において、ソフトウェアプログラムとは、コンピュータプログラムやデータの総称である。
<実施形態>
<構成>
図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 software analysis system 1 includes a plurality of execution devices 100a to 100c (hereinafter referred to as the execution device 100 when there is no need to distinguish each execution device) and the analysis device 200. The device 200 is connected via a network such as a LAN (Local Area Network), a WAN (World Area Network), and the Internet.

本実施形態では、監視対象となるソフトウェアプログラム(以下、監視対象プログラムと言う)が実行装置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 execution device 100. The execution device 100 is provided with a plurality of functions capable of acquiring information provided from outside the execution device 100, such as an e-mail transmission / reception function and a communication function according to the Bluetooth (registered trademark) standard. . A virus or the like is input from the outside to the execution apparatus 100 via these functions, and the execution apparatus 100 itself or the monitoring target software in the execution apparatus 100 is infected with the virus. Therefore, a function that can be an input path for such virus infection is hereinafter referred to as an infection-causing function. When it is determined that the behavior of the monitored software becomes abnormal due to virus infection, the determination result is notified from the execution device 100 to the analysis device 200. In response to the notification, the analysis device 200 estimates a virus infection route (that is, a route through which a virus is input to the execution device 100) based on the operation history of the infection cause function in the execution device 100. Hereinafter, details of the execution device 100 and the analysis device 200 will be described.

<実行装置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 Execution Device 100>
FIG. 2 is a block diagram illustrating a configuration of the execution apparatus 100. The execution device 100 is realized by a mobile phone, a personal computer, a PDA (Personal Digital Assistants), or the like, and includes the following units.
The CPU 110 is connected to the CPU 110 by executing various programs including a monitoring target program stored in a ROM (Read Only Memory) 111 or a storage unit 113 described later using a RAM (Random Access Memory) 112 as a work area. Control each part. The execution device 100 uses, for example, a Windows (registered trademark) OS (Operating System), and each program performs an external interrupt or an internal interrupt via an API (Application Program Interface) of the OS, and according to the interrupt type. Perform each process. Note that the OS is not limited to the Windows OS, and any Unix (registered trademark) OS such as Linux may be used.

記憶部113は、ハードディスク等の不揮発性記憶媒体で構成されており、監視対象プログラム、この監視対象プログラムの挙動が異常か否か判断するための検知プログラムや、電子メール用プログラム(不図示)等のアプリケーションソフトウェアプログラムを記憶している。また、記憶部113は、感染原因機能のログ情報、このログ情報に対する閾値が記述された閾値テーブル、及び挙動モデル情報等の各種データを記憶している。監視対象プログラムの挙動とは、CPU110がその監視対象プログラムに記述された手順に従って処理を行うときの、そのCPU110による処理内容のことである。   The storage unit 113 is configured by a non-volatile storage medium such as a hard disk. The monitoring target program, a detection program for determining whether the behavior of the monitoring target program is abnormal, an e-mail program (not shown), or the like The application software program is stored. Further, the storage unit 113 stores various data such as log information of the infection cause function, a threshold table in which thresholds for the log information are described, and behavior model information. The behavior of the monitoring target program is the processing content of the CPU 110 when the CPU 110 performs processing according to the procedure described in the monitoring target program.

入力部114は、キーボードやマウス等を含んで構成されており、ユーザからの入力操作を受付け、入力操作に応じた入力信号をCPU110へ供給する。表示部115は、液晶等のディスプレイで構成されており、実行装置100を起動した際の画面や各プログラムにより規定されている画面等、各種画像を表示する。ネットワーク通信部116は、CPU110の制御の下、ネットワークを介して接続された解析装置200との間でデータ通信を行う。外部メモリ接続部117は、USB(Universal Serial Bus)メモリやSDメモリカード等の外部メモリを接続するコネクタを有し、コネクタに接続された外部メモリとの間でデータの受け渡しを行う。Bluetooth(登録商標)通信部118は、Bluetooth(登録商標)規格に対応した機器との間で通信を確立し、当該機器との間でデータの送受信を行う。   The input unit 114 includes a keyboard, a mouse, and the like, receives an input operation from a user, and supplies an input signal corresponding to the input operation to the CPU 110. The display unit 115 is configured by a display such as a liquid crystal display, and displays various images such as a screen when the execution apparatus 100 is activated and a screen defined by each program. The network communication unit 116 performs data communication with the analysis device 200 connected via the network under the control of the CPU 110. The external memory connection unit 117 has a connector for connecting an external memory such as a USB (Universal Serial Bus) memory or an SD memory card, and exchanges data with the external memory connected to the connector. The Bluetooth (registered trademark) communication unit 118 establishes communication with a device conforming to the Bluetooth (registered trademark) standard, and transmits and receives data to and from the device.

次に、記憶部113に記憶されているデータについて説明する。
図3(a)は、ログ情報の一例を示している。ログ情報50は、外部メモリ接続部117、Bluetooth(登録商標)通信部118及び入力部114が実現する各機能や、電子メール用プログラムが実行されることで実現されるメール送受信機能といった、各感染原因機能における動作履歴を表す情報であり、例えば、各々の感染原因機能による動作の回数又は動作の期間が含まれている。
例えば、図3(a)に示す「メール送受信」の機能に関しては、電子メール用プログラムを実行して送受信された送信メールの送信日時及び受信メールの受信日時がログ情報として記憶される。本実施形態では、ログ情報50の種別は2種類あり、ここでは、送信メールの送信日時がログ種別1で、受信メールの受信日時がログ種別2である。「送信日時」の記録数が集計されることにより、「メール送受信」の機能による電子メールの送信回数が特定される。なお、メールの受信日時としては、全ての受信メールの受信日時を記憶するようにしてもよいし、電子メールのアドレス帳に登録されていないアドレスからの電子メールの受信日時のみを記録するようにしてもよい。
Next, data stored in the storage unit 113 will be described.
FIG. 3A shows an example of log information. The log information 50 includes each function such as each function realized by the external memory connection unit 117, the Bluetooth (registered trademark) communication unit 118, and the input unit 114, and a mail transmission / reception function realized by executing an e-mail program. This is information representing the operation history of the cause function, and includes, for example, the number of operations or the operation period of each infection cause function.
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 log information 50. Here, the transmission date and time of outgoing mail is log type 1, and the reception date and time of incoming mail is log type 2. By counting the number of “sent date / time” records, the number of times of email transmission by the “mail transmission / reception” function is specified. Note that the received date / time of all received emails may be stored as the received date / time of email, or only the received date / time of emails from addresses not registered in the email address book may be recorded. May be.

また、「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 memory connection unit 117 and the access date / time when the external memory is accessed are stored as log information. The external memory may be used by devices other than the execution device 100. When an external memory in which a virus-infected file is stored in another device is connected to the execution device 100, the external memory is used. Since the execution apparatus 100 may be infected with a virus, the more frequently the external memory is attached / detached, the higher the possibility of being infected with a virus. In addition, regarding the “keyboard input” function, the date and time when an operation for continuously inputting a predetermined number of characters of symbols and the date and time when the same key continuous operation for a predetermined number of times or more are performed are stored as log information. There is a possibility that a virus is input to the execution apparatus 100 by an input operation on the keyboard.

図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 log information 50 of FIG. 3A for a predetermined period for each log type 1 and 2. If the result of counting the log information 50 exceeds this threshold, it means that the infection cause function corresponding to the log information is frequently used. Therefore, there is a possibility that the infection cause function corresponds to the virus infection route. Is expensive. That is, it can be said that the total result of log information exceeding the threshold is an operation history that satisfies the conditions corresponding to the virus input path.

図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 behavior model information 70 is behavior information that represents a behavior when the monitoring target program 30 is normally executed. Here, the behavior model information 70 is information that models a system call sequence that is called from the monitoring target program 30. In the present embodiment, the behavior model information 70 is described as being stored in the storage unit 113 in advance, but the behavior model information 70 may be acquired from the outside and stored in the storage unit 113. Specifically, the behavior model information 70 includes a program ID for identifying the monitoring target program 30, a type of system call, and a calling order of the system call. In the example shown in the figure, the calling order of the system calls when the monitoring target program 30 with the program ID “001” is operated normally is system calls A → B → A → C. In the present embodiment, for the sake of convenience of explanation, it is assumed that there is one monitoring target program 30. However, when there are a plurality of monitoring target programs 30, the behavior model information 70 is stored for each monitoring target program 30. It is remembered. Then, by determining whether or not the system call sequence of the behavior model stored as described above matches the system call sequence when the monitoring target program 30 is executed, the monitoring target program 30 It is determined whether or not the behavior is abnormal.

次に、図4を用いて、本実施形態における実行装置100の機能の説明を行う。実行装置100においては、CPU110が記憶部113に記憶されている検知プログラムを読み出して実行することにより、図4に示す、プログラム実行部11、ログ記録部12、挙動情報取得部13、異常判定部14、ログ解析部15、及び異常通知部16の各機能が実現される。
プログラム実行部11は、OSの機能を含んでおり、記憶部113に記憶されている監視対象プログラム30を遂次読み出して実行する。本実施形態は、シングルプロセッサで構成されているため、プログラム実行部11が、監視対象プログラム30以外に、検知プログラムや他のアプリケーションプログラムの実行制御も行うが、マルチプロセッサで構成されている場合には、プログラム毎にプログラム実行部11を設けるようにしてもよい。
Next, the function of the execution apparatus 100 in this embodiment is demonstrated using FIG. In the execution apparatus 100, the CPU 110 reads out and executes the detection program stored in the storage unit 113, whereby the program execution unit 11, the log recording unit 12, the behavior information acquisition unit 13, and the abnormality determination unit illustrated in FIG. 14, each function of the log analysis unit 15 and the abnormality notification unit 16 is realized.
The program execution unit 11 includes an OS function, and sequentially reads and executes the monitoring target program 30 stored in the storage unit 113. Since the present embodiment is configured with a single processor, the program execution unit 11 also controls the execution of detection programs and other application programs in addition to the monitoring target program 30, but in the case of being configured with multiprocessors. The program execution unit 11 may be provided for each program.

ログ記録部12は、OS40を介して上述した感染原因機能のログ種別1・2の動作履歴を遂次取得し、記憶部113にログ情報50として記憶する。
挙動情報取得部13は、検知プログラムの起動後に、OS40で用意されているシステムコールをフックするフック処理を行い、監視対象プログラム30からAPIを介して呼び出したシステムコールの種別を順次取得し、取得したシステムコールの種別を監視対象プログラムの挙動情報として異常判定部14に供給する。
The log recording unit 12 sequentially acquires the operation history of the log types 1 and 2 of the above-described infection cause function via the OS 40 and stores them as log information 50 in the storage unit 113.
The behavior information acquisition unit 13 performs hook processing for hooking a system call prepared by the OS 40 after the detection program is started, and sequentially acquires and acquires the types of system calls called from the monitoring target program 30 via the API. The type of the system call is supplied to the abnormality determination unit 14 as behavior information of the monitoring target program.

ここで、システムコールのフック処理について説明する。本実施形態の検知プログラムは、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 monitoring target program 30 is acquired. By executing the hook processing routine, the original instruction is stored before the instruction is rewritten, and the register group values are stored first after the transition to the hook processing routine. Then, at the end of the hook processing routine, the address of the monitoring target program 30 of the caller is set in a register preset for the return address, and the stored instruction and the value of the register group are written back. Control is transferred to processing of the original system call called from the target program 30.

異常判定部14は、挙動情報取得部13から供給された挙動情報と記憶部113に記憶されている挙動モデル情報70とを照合し、挙動モデル情報70に含まれるシステムコール列の順にシステムコールが呼び出されていない場合には監視対象プログラムが異常であると判断し、その判断結果をログ解析部15へ供給する。この異常であるか否かの判断は、本実施形態においては、挙動情報、即ちシステムコールを取得する毎に行う。   The abnormality determination unit 14 collates the behavior information supplied from the behavior information acquisition unit 13 with the behavior model information 70 stored in the storage unit 113, and system calls are made in the order of the system call sequence included in the behavior model information 70. If not called, it is determined that the monitoring target program is abnormal, and the determination result is supplied to the log analysis unit 15. In this embodiment, the determination as to whether or not this is an abnormality is made every time behavior information, that is, a system call is acquired.

ログ解析部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 log analysis unit 15 receives a determination result indicating that there is an abnormality from the abnormality determination unit 14, the log analysis unit 15 identifies an infection-causing function that may cause an infection route to the virus. Specifically, the log analysis unit 15 divides log information for a predetermined period from the log information 50 stored in the storage unit 113 into log types 1 and 2 (hereinafter, log types 1 and 2 are not particularly distinguished). Are referred to as log types). In addition, the total content obtained by totalizing the log information 50 for each log type of each infection cause function in FIG. 3A is the log total type 1 and 2 of each infection cause function shown in FIG. The contents shown in each of the above. For example, in the case of an e-mail function, the total number of records of log type 1 “transmission date” is totaled to obtain log total type 1 “number of transmissions” and the total number of records of log type 2 “reception date” As a result, the log totaling type 2 “number of received cases” is obtained. Then, the log analysis unit 15 performs log aggregation types 1 and 2 in which the above-described aggregation results exceed the thresholds of the threshold table 60 stored in the storage unit 113 (hereinafter, log aggregation types 1 and 2 are not distinguished). Identifies the infection-causing function corresponding to the log aggregation type). That is, it can be said that the infection cause function identified at this time is an infection cause function in which an operation history that satisfies the conditions corresponding to the virus input path is recorded. Then, the log analysis unit 15 supplies to the abnormality notification unit 16 the log aggregation type of the identified infection cause function and the aggregation result for each log aggregation type. Since the user continues to use the execution apparatus 100 even after the abnormality is detected, the predetermined period is, for example, a certain period before the abnormality detection time when the abnormality is detected, or from the abnormality detection time point. It may be a fixed period later, a fixed period before and after the abnormality detection time, or any period as long as it is equal to or greater than the minimum recording unit of the log information 50.

異常通知部16は、異常判定部14から集計されたログ情報50を受付け、図5に示すように、閾値を超えている各感染原因機能の各ログ集計種別に対するフラグを1、閾値を超えていない各ログ集計種別に対するフラグを0に設定し、監視対象プログラム30のプログラムIDと対応付けた異常機能情報80を生成する。つまり、このフラグ情報は、ログ情報の集計結果が閾値を超えることを表すフラグ情報であり、感染原因機能の動作履歴に関する情報である。そして、異常通知部16は、生成した異常機能情報80をネットワーク通信部116を介して解析装置200へ送信する。これにより、感染原因機能の動作履歴に関する情報が、解析装置200に通知されることになる。   The abnormality notifying unit 16 receives the log information 50 aggregated from the abnormality determining unit 14, and, as shown in FIG. 5, the flag for each log aggregation type of each infection-causing function exceeding the threshold is 1 and exceeds the threshold. The flag for each log aggregation type that does not exist is set to 0, and abnormal function information 80 associated with the program ID of the monitoring target program 30 is generated. That is, this flag information is flag information indicating that the total result of log information exceeds a threshold value, and is information related to the operation history of the infection-causing function. Then, the abnormality notification unit 16 transmits the generated abnormal function information 80 to the analysis device 200 via the network communication unit 116. Thereby, the information regarding the operation history of the infection cause function is notified to the analysis apparatus 200.

<解析装置200の構成>
図6は、解析装置200の構成を示すブロック図である。解析装置200は、パーソナルコンピュータやサーバ装置等で実現され、以下の各部を含んで構成されている。
CPU210は、ROM211や後述する記憶部213に記憶されているプログラムを、RAM212をワークエリアとして実行することによって、CPU210に接続されている各部を制御する。記憶部213は、ハードディスク等の不揮発性記憶媒体で構成されており、実行装置100から送信された異常機能情報80などの各種データや制御プログラムを記憶している。入力部214は、キーボードやマウス等を含んで構成されており、ユーザからの入力操作を受付け、入力操作に応じた入力信号をCPU210へ供給する。表示部215は、液晶等のディスプレイで構成されており、解析装置200を起動した際の画面や制御プログラムにより規定されている画面等、各種画像を表示する。ネットワーク通信部216は、CPU210の制御の下、ネットワークを介して接続された実行装置100との間でデータ通信を行う。
<Configuration of Analysis Device 200>
FIG. 6 is a block diagram illustrating a configuration of the analysis apparatus 200. The analysis device 200 is realized by a personal computer, a server device, or the like, and includes the following units.
The CPU 210 controls each unit connected to the CPU 210 by executing a program stored in the ROM 211 or a storage unit 213 described later using the RAM 212 as a work area. The storage unit 213 is configured by a non-volatile storage medium such as a hard disk, and stores various data such as abnormal function information 80 transmitted from the execution device 100 and a control program. The input unit 214 includes a keyboard, a mouse, and the like, receives an input operation from a user, and supplies an input signal corresponding to the input operation to the CPU 210. The display unit 215 includes a display such as a liquid crystal display, and displays various images such as a screen when the analysis apparatus 200 is activated and a screen defined by a control program. The network communication unit 216 performs data communication with the execution device 100 connected via the network under the control of the CPU 210.

次に、解析装置200の機能について図7を用いて説明する。図7において、解析装置200のCPU210が記憶部213に記憶されている制御プログラムを読み出して実行することにより、情報抽出部21及び危険解析部22の機能が実現される。情報抽出部21は、ネットワーク通信部216を介して実行装置100から受信した異常機能情報80に含まれている各監視対象プログラムのフラグを感染原因機能毎に抽出し、抽出した各監視対象プログラムの感染原因機能毎のフラグを危険解析部22へ供給する。危険解析部22は、情報抽出部21から供給された各監視対象プログラムの感染原因機能毎のフラグを受け取り、各監視対象プログラムの感染原因機能毎のフラグの数を集計する。そして、感染原因機能毎の集計結果の降順で順位付けを行い、順位付けた結果を、実行装置100に対するウィルスの入力経路の危険度合を示す感染経路危険度情報として図8に示すようにして表示部215に表示する。図8の例では、Bluetooth通信に関する機能が、ウィルスの感染経路に該当する可能性が最も高く、キーボード入力に関する機能が、ウィルスの感染経路に該当する可能性が最も低いことを意味している。なお、フラグの集計値が同値である感染原因機能がある場合には、予め定めた感染原因機能の優先順位に従って順位付けを行うようにしてもよいし、ユーザが任意に選択して順位付けを行うようにしてもよい。   Next, functions of the analysis apparatus 200 will be described with reference to FIG. In FIG. 7, the functions of the information extraction unit 21 and the risk analysis unit 22 are realized by the CPU 210 of the analysis apparatus 200 reading and executing the control program stored in the storage unit 213. The information extraction unit 21 extracts the flag of each monitoring target program included in the abnormal function information 80 received from the execution apparatus 100 via the network communication unit 216 for each infection cause function, and extracts the extracted monitoring target program. A flag for each infection-causing function is supplied to the risk analysis unit 22. The risk analysis unit 22 receives the flags for each infection cause function of each monitoring target program supplied from the information extraction unit 21, and totals the number of flags for each infection cause function of each monitoring target program. Then, ranking is performed in descending order of the count results for each infection-causing function, and the ranking results are displayed as infection route risk information indicating the risk of the virus input route to the execution apparatus 100 as shown in FIG. Displayed on the part 215. In the example of FIG. 8, it means that the function related to Bluetooth communication is most likely to correspond to a virus infection route, and the function related to keyboard input is least likely to correspond to a virus infection route. When there is an infection cause function having the same flag total value, ranking may be performed according to a predetermined priority order of the infection cause function, or the user may arbitrarily select the ranking. You may make it perform.

(動作)
次に、ソフトウェア解析システム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 software analysis system 1 will be described. FIG. 9 is an operation flowchart of the execution apparatus 100. In the execution device 100, when the power is turned on by the user, the CPU 110 reads the boot sector of the storage unit 113 to start the OS (step S111), reads the detection program stored in the storage unit 113, and starts it. Then, the system call entry command is saved in the RAM 112 and rewritten to a command for jumping to the address of the hook processing routine (step S112). Next, the CPU 110 starts recording the log information 50 of each infection-causing function (step S113), and after the OS and the detection program are started, the user executes the monitoring target program 30 via the input unit 114. Then, the CPU 110 reads and executes the monitoring target program 30 stored in the storage unit 113 (step S114).

CPU110は、ユーザが入力部114を介して行う操作に応じて、監視対象プログラム30に従った各処理を行い、監視対象プログラム30からシステムコールが呼び出される毎に、フック処理ルーチンを実行して現在のレジスタ値をRAM112に保存してシステムコールをフックし、フックしたシステムコールの種別を示す挙動情報をRAM112に順次記憶する(ステップS115)。なお、CPU110は、フック処理ルーチンの最後に、監視対象プログラム30のアドレスを戻しアドレス用レジスタに設定し、保存した命令とレジスタ値とを書き戻して本来のシステムコールの処理を行う。   The CPU 110 performs each process according to the monitoring target program 30 in accordance with an operation performed by the user via the input unit 114, and executes a hook processing routine each time a system call is called from the monitoring target program 30. Are stored in the RAM 112 to hook a system call, and behavior information indicating the type of the hooked system call is sequentially stored in the RAM 112 (step S115). At the end of the hook processing routine, the CPU 110 sets the address of the monitoring target program 30 in the return address register, writes back the stored instruction and register value, and performs the original system call processing.

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 behavior model information 70 memorize | stored in the memory | storage part 113 (step S116). If the system call sequence of the acquired behavior information is not included in the order of the system call sequence indicated by the behavior model information 70 (step S116: NO), the CPU 110 determines that the monitoring target program 30 is abnormal, and the storage unit The log information 50 successively recorded in 113 is read, and the log information 50 of each infection-causing function for a predetermined period is totaled for each log type (step S117). In addition, when this predetermined period is a fixed period after the determination time point determined to be abnormal, or when it is a fixed period before and after the determination time point, the time information at the determination time point is stored in a predetermined area of the storage unit 113. In step S117, the process from step S117 is performed when a certain period of time has elapsed from the determination time. If the predetermined period is a certain period before the determination time, the following processing is performed following step S117.

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 | storage part 113, and judges whether the threshold value is exceeded about the log information 50 totaled for every log classification of each infection cause function (step S118). If the CPU 110 determines that the log information 50 aggregated for each infection-causing function exceeds the threshold (step S118: YES), the log aggregation type flag of the infection-causing function exceeding the threshold is set to 1. The log aggregation type flag that does not exceed the threshold is set to 0, and abnormal function information 80 is generated and transmitted to the analysis apparatus 200 via the network communication unit 116 (step S119).

なお、ステップ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 CPU 110 determines in step S116 that the system call sequence of the acquired behavior information is included in the order of the system call sequence indicated by behavior model information 70 (step S116: YES), it is being executed. Until the monitoring target program 30 is completed, the processing from step S115 is repeated (step S120: NO). When the monitoring target program 30 ends (step S120: YES), the CPU 110 continues to record the log information 50 of each infection-causing function until the execution device 100 is turned off by the user (step S120). 121: NO) When the power is turned off (step S121: YES), the recording of the log information 50 is terminated and the detection program is terminated (step S122).
In step S118, if the log information 50 aggregated for each infection-causing function does not exceed the threshold value (step S118: NO), the CPU 110 performs the processing from step S120.

次に、解析装置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 analysis apparatus 200 will be described. When the CPU 210 receives the abnormal function information 80 of each monitoring target program 30 from the execution apparatus 100 via the network communication unit 216 (step S211), each infection included in the abnormal function information 80 for each monitoring target program 30. The flag data of the cause function is extracted (step S212). Then, the CPU 210 aggregates the extracted flag data of the infection cause function of each monitoring target program 30 for each infection cause function (step S213), and ranks the infection cause functions in descending order of the aggregation result of each monitoring target program 30. This is performed (step S214). The CPU 214 generates infection route risk information 90 expressed as a higher risk of infection route as the rank ranked in step S214 is higher and displays it on the display unit 215 (step S215).

上記実施形態では、ユーザを含め異なる実行環境下におかれた実行装置100毎に各監視対象プログラムを実行させて、監視対象プログラム30が異常であるか否か判断し、異常である場合には、各実行装置100において記録されている感染原因機能について集計したログ情報のうち閾値を超えている機能か否かを示す異常機能情報80を解析装置200へ通知することができる。また、解析装置200では、各実行装置100からの通知を集計することにより、ウィルスの感染経路の危険度を推定することができる。これにより、特に、未知のウィルス感染による監視対象プログラムの挙動に関する情報を幅広く収集することができる。また、ウィルスの種類に応じて感染経路が異なる場合があるが、その場合であっても、ウィルスの感染経路として考えられる感染原因機能の危険度合を順位で示すことができるので、ウィルスを特定した場合にどの機能が感染経路として危険であるかを確認することができ、ウィルスの特性を更に解析する場合やウィルスを除去する場合の対策が取りやすくなる。   In the above embodiment, each monitoring target program is executed for each execution device 100 under different execution environments including the user, and it is determined whether or not the monitoring target program 30 is abnormal. In addition, the abnormal function information 80 indicating whether or not the function exceeds the threshold among the log information collected for the infection cause function recorded in each execution apparatus 100 can be notified to the analysis apparatus 200. Further, the analysis device 200 can estimate the risk of the virus infection route by counting the notifications from the execution devices 100. This makes it possible to collect a wide range of information related to the behavior of monitored programs caused by unknown virus infections. In addition, the infection route may vary depending on the type of virus, but even in that case, the risk of the infection-causing function that can be considered as a virus infection route can be shown in order, so the virus was identified. In this case, it is possible to confirm which function is dangerous as an infection route, and it is easy to take measures when further analyzing the characteristics of the virus or removing the virus.

<変形例>
以下、本発明の変形例について説明する。
(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 execution apparatus 100 determines that the monitoring target program 30 is abnormal, the result of totaling the log information 50 for each infection-causing function for a predetermined period exceeds the threshold. In this example, the infection cause function is specified and the abnormal function information 80 is notified to the analysis apparatus 200. However, the following configuration may be adopted. For example, the CPU 110 of the execution device 100 accumulates log information 50 for each infection-causing function for a predetermined period, and every time the cumulative value exceeds a threshold, the log of each infection-causing function is performed as in the embodiment. Abnormal function information 80 including flag data for each type is notified to the analysis apparatus 200. In the analysis apparatus 200, similar to the embodiment, the notified abnormal function information 80 is aggregated for each infection-causing function and ranked. You may do it.

(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 abnormal function information 80 is output to the analysis apparatus 200. However, the CPU 110 of the execution apparatus 100 As the abnormal function information 80, the aggregation result of the log information 50 determined to exceed the threshold value may be output, or whether the cumulative value accumulated in a unit of a certain period exceeds the threshold value as in the modified example (1) When determining whether or not, the number of each infection route function exceeding the threshold may be output as the abnormal function information 80.

(3)また、上述した実施形態では、実行装置100は、所定期間分のログ情報50を集計した集計結果が閾値を超えている感染原因機能を特定する例であったが、例えば、実行装置100のCPU110は、所定期間内において2つの期間を設定し、各期間における感染原因機能毎のログ情報50の累計値を求め、各期間の累計値の増加率が所定の閾値以上である感染原因機能を特定するように構成してもよい。 (3) In the above-described embodiment, the execution device 100 is an example of specifying an infection-causing function in which the total result of totaling the log information 50 for a predetermined period exceeds the threshold. The CPU 110 of 100 sets two periods within a predetermined period, obtains a cumulative value of the log information 50 for each infection-causing function in each period, and causes the infection cause for which the increase rate of the cumulative value in each period is equal to or greater than a predetermined threshold. You may comprise so that a function may be specified.

(4)また、上述した実施形態では、実行装置100は、監視対象プログラム30の挙動が異常であると判断した場合に、閾値を超えている感染原因機能を特定するものとして説明したが、以下のように構成してもよい。実行装置100において、CPU110は、監視対象プログラム30の挙動が異常であると判断した場合に、所定期間分の感染原因機能のログ情報50を解析装置200に送信する。そして、解析装置200において閾値テーブル60を予め記憶しておき、実行装置100から送信されたログ情報50を用いて閾値を超えている感染原因機能を特定するようにしてもよい。 (4) In the above-described embodiment, the execution device 100 has been described as specifying an infection-causing function that exceeds the threshold when it is determined that the behavior of the monitoring target program 30 is abnormal. You may comprise as follows. In the execution apparatus 100, when the CPU 110 determines that the behavior of the monitoring target program 30 is abnormal, the CPU 110 transmits the log information 50 of the infection cause function for a predetermined period to the analysis apparatus 200. Then, the threshold value table 60 may be stored in advance in the analysis device 200, and the infection cause function exceeding the threshold value may be specified using the log information 50 transmitted from the execution device 100.

(5)上述した実施形態では、解析装置200が複数の実行装置100から受信した異常機能情報80に基づいて感染原因機能の順位付けを行う構成であったが、各実行装置100の異常機能情報80から実行装置100毎に感染原因機能の順位付けを行うようにしてもよい。この場合には、その異常機能情報80の順位付けを行った感染経路危険度情報を解析装置200が各実行装置100に送信するように構成してもよい。 (5) In the above-described embodiment, the analysis apparatus 200 ranks the infection cause functions based on the abnormal function information 80 received from the plurality of execution apparatuses 100. However, the abnormal function information of each execution apparatus 100 is used. From 80, it is possible to rank the infection-causing functions for each execution device 100. In this case, the analysis apparatus 200 may be configured to transmit the infection route risk information obtained by ranking the abnormal function information 80 to each execution apparatus 100.

(6)上述した実施形態では、実行装置100における閾値テーブル60は共通であるものとして説明したが、実行装置100毎に異なる閾値テーブル60を設定するようにしてもよい。また、各実行装置100のログ情報50に基づいて、各感染原因機能のログ種別毎に求めた平均値等を各感染原因機能のログ種別毎の閾値として設定するようにしてもよい。また、1日単位で各感染原因機能のログ種別毎のログ情報50を集計する場合には、休日と平日とで異なる閾値を設定する等、任意に閾値を設定するように構成してもよい。 (6) Although the threshold value table 60 in the execution device 100 has been described as being common in the above-described embodiment, a different threshold value table 60 may be set for each execution device 100. Further, based on the log information 50 of each execution device 100, an average value obtained for each log type of each infection cause function may be set as a threshold for each log type of each infection cause function. In addition, when the log information 50 for each log type of each infection-causing function is tabulated on a daily basis, it may be configured to arbitrarily set a threshold, such as setting different thresholds for holidays and weekdays. .

(7)上述した実施形態では、異常機能情報80には閾値を超えていない感染原因機能の情報も含むものとして説明したが、閾値を超えている感染原因機能と、その感染原因機能のログ種別毎に集計されたログ情報50、その感染原因機能のフラグデータ、その感染原因機能を示す情報のいずれかを異常機能情報80として送るようにしてもよいし、これらを組み合わせて異常機能情報80に含ませてもよい。 (7) In the above-described embodiment, the abnormal function information 80 has been described as including information on an infection cause function that does not exceed the threshold. However, the infection cause function that exceeds the threshold and the log type of the infection cause function Any one of the log information 50, the flag data of the infection cause function, and the information indicating the infection cause function may be sent as the abnormal function information 80, or these may be combined into the abnormal function information 80. It may be included.

(8)上述した実施形態では、実行装置100において監視対象プログラム30が異常であると判断されたときに、所定期間分の各感染原因機能のログ情報50を集計するものとして説明したが、予め一定の時間又は日単位にログ情報50をログ種別毎に累計した累計値を動作履歴として記憶するように構成してもよい。 (8) In the above-described embodiment, it has been described that when the execution apparatus 100 determines that the monitoring target program 30 is abnormal, the log information 50 of each infection-causing function for a predetermined period is aggregated. A cumulative value obtained by accumulating the log information 50 for each log type at a certain time or day unit may be stored as an operation history.

(9)また、上述した実施形態では、実行装置100は、挙動モデル情報70として、システムコール列をモデル化したものを記憶している例であったが、監視対象プログラムにおけるサブルーチンが呼び出されたときのコールスタック内のリターンアドレスの列をモデル化して記憶するようにしてもよい。この場合には、実行装置100において、監視対象プログラムを実行させた場合におけるサブルーチン呼び出し時にコールスタックの列を挙動情報として取得し、実施形態と同様に監視対象プログラム30のプログラムIDと対応づけて記憶するように構成する。 (9) In the above-described embodiment, the execution apparatus 100 is an example of storing the modeled system call sequence as the behavior model information 70. However, a subroutine in the monitoring target program is called. A sequence of return addresses in the call stack at that time may be modeled and stored. In this case, the execution device 100 acquires the call stack sequence as behavior information when the subroutine is called when the monitoring target program is executed, and stores it in association with the program ID of the monitoring target program 30 as in the embodiment. To be configured.

(10)また、上述した実施形態では、実行装置100において、システムコールの入口の命令をフック処理ルーチンに制御を移行する命令に書き換えてシステムコールをフックする例であったが、システムコールのフックを以下のようにして行ってもよい。例えば、実行装置100において、ソフトウェア割込み時のジャンプ先としてフック処理ルーチンのアドレスを割込みベクタテーブルに予め設定しておくことによりシステムコールをフックしてもよいし、監視対象プログラム30と本来のdllファイルとの間にシステムコールをフックするためのフック用dllファイルを設け、監視対象プログラム30からのシステムコールの呼び出し要求をフック用dllファイルを介して本来のdllファイルに渡し、フック用dllファイルにより監視対象プログラム30が呼び出したシステムコールを取得してもよい。また、Linux等のUnix系OSの場合には、ptraceのシステムコールを用いて監視対象プログラム30が呼び出したシステムコールをフックするようにしてもよい。 (10) In the above-described embodiment, the execution device 100 is an example of hooking a system call by rewriting the instruction at the entrance of the system call into an instruction to transfer control to the hook processing routine. May be performed as follows. For example, the execution device 100 may hook a system call by setting the address of a hook processing routine in the interrupt vector table in advance as a jump destination at the time of software interrupt, or the monitoring target program 30 and the original dll file A hook dll file for hooking a system call is provided, and a system call call request from the monitoring target program 30 is passed to the original dll file via the hook dll file and monitored by the hook dll file. A system call called by the target program 30 may be acquired. In the case of a Unix-based OS such as Linux, a system call called by the monitoring target program 30 may be hooked using a ptrace system call.

(11)また、上述した実施形態では、実行装置100は異常機能情報80を解析装置200へ送信する例であったが、異常機能情報80以外に監視対象プログラム30のバージョンやOS等の動作環境、監視対象プログラム30と同時に起動しているソフトウェア、時間、場所など、感染経路を解析するのに必要な各種情報を適宜送信してもよい。 (11) In the above-described embodiment, the execution apparatus 100 transmits the abnormal function information 80 to the analysis apparatus 200. However, in addition to the abnormal function information 80, the operating environment such as the version of the monitoring target program 30 and the OS Various information necessary for analyzing the infection route, such as software running simultaneously with the monitoring target program 30, time, and location, may be transmitted as appropriate.

(12)また、上述した実施形態では、実行装置100は、外部メモリ接続機能、Bluetooth(登録商標)通信機能、電子メール送受信機能についてログ情報50を記録するものとして説明したが、実行装置100が、これら以外の機能、例えば、WEBページ閲覧機能、赤外線通信機能、パソコン接続機能、ICチップによる通信機能等を有している場合には、図10に示すように、上記各機能のログ種別1〜3の各ログ情報50'を記憶部113に記録するようにしてもよい。なお、WEBページ閲覧機能におけるログ種別3「非公式ページアクセス日時」は、所定の公式ページに対応する非公式ページのURLを予めユーザにより設定し、設定されている非公式ページがアクセスされた日時を記録するようにする。また、実施形態では、ログ種別は2種類の例について説明したが、実施形態及び上記変形例で示した種類以上でもよいし、1種類であってもよい。 (12) In the above-described embodiment, the execution apparatus 100 has been described as recording the log information 50 for the external memory connection function, the Bluetooth (registered trademark) communication function, and the e-mail transmission / reception function. In the case of having a function other than these, for example, a WEB page browsing function, an infrared communication function, a personal computer connection function, a communication function using an IC chip, etc., as shown in FIG. The log information 50 ′ to ˜3 may be recorded in the storage unit 113. The log type 3 “unofficial page access date / time” in the WEB page browsing function is set by the user in advance as the URL of the unofficial page corresponding to a predetermined official page, and the date / time when the set unofficial page was accessed To record. In the embodiment, two types of log types have been described. However, the log types may be equal to or more than the types shown in the embodiment and the modified example, or may be one type.

(13)また、上述した実施形態の動作フロー(図9)において、実行装置100は、所定期間内のログ情報50を集計した結果のうち閾値を超えている感染原因機能がない場合にはステップS120の処理を移行する(ステップS118:NO)ものとして説明したが、実行装置100は、ユーザから新たに所定期間を入力する操作を入力部114を介して受付けた場合には、入力された所定期間内のログ情報50を集計してステップS118以下の処理を行うようにしてもよい。 (13) In the operation flow (FIG. 9) of the above-described embodiment, the execution apparatus 100 performs a step when there is no infection cause function exceeding the threshold among the results of counting the log information 50 within a predetermined period. Although it has been described that the process of S120 is shifted (step S118: NO), the execution apparatus 100 receives a predetermined input period from the user via the input unit 114 and receives the input The log information 50 within the period may be aggregated to perform the processing from step S118.

(14)上述した実施形態では、実行装置100における挙動モデル情報70は、監視プログラム30を正常な状態で実行させた場合におけるシステムコール列の情報を予め記憶するものとして説明したが、正常ではないパターンのシステムコール列の情報を挙動モデル情報70として予め記憶するようにしてもよいし、外部から取得するようにしてもよい。この場合には、実行装置100は、監視プログラム30の実行中に取得した挙動情報が挙動モデル情報70で示されるシステムコール列の順に含まれていれば、監視プログラム30は異常であると判断し、挙動情報が挙動モデル情報70で示されるシステムコール列の順に含まれていなければ、監視プログラム30は正常であると判断するようにする。
また、挙動モデル情報70は、監視プログラム30のソースコードを解析してシステムコール列をモデル化したものを予め記憶するように構成してもよい。
(14) In the above-described embodiment, the behavior model information 70 in the execution device 100 has been described as preliminarily storing system call sequence information when the monitoring program 30 is executed in a normal state. Information on the pattern system call sequence may be stored in advance as the behavior model information 70, or may be acquired from the outside. In this case, if the behavior information acquired during the execution of the monitoring program 30 is included in the order of the system call sequence indicated by the behavior model information 70, the execution device 100 determines that the monitoring program 30 is abnormal. If the behavior information is not included in the order of the system call sequence indicated by the behavior model information 70, the monitoring program 30 determines that it is normal.
The behavior model information 70 may be configured to store in advance a model of the system call sequence by analyzing the source code of the monitoring program 30.

(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 behavior model information 70 when the monitoring program 30 is executed in a normal state and the behavior information acquired during the execution of the monitoring program 30 are collated. The behavior information may be collated in combination with the virus behavior pattern.
In this case, the execution apparatus 100 stores virus pattern information indicating a known virus behavior pattern in the storage unit 113. Then, in the execution device 100, the behavior information and the behavior model information 70 are collated in the same manner as in the embodiment, and when the monitoring program 30 determines that it is abnormal, the obtained behavior information and the virus pattern information are collated. When the virus pattern is matched, the matched virus pattern information is output to the analyzing apparatus 200 together with the abnormal function information 80, and when not matched, only the abnormal function information 80 is output to the analyzing apparatus 200. Also good.
(16) In the above-described embodiment, when an abnormality is detected in each execution device 100, the abnormal function information 80 is transmitted to the analysis device 200, and the abnormal function information is aggregated in the analysis device 200 to rank the infection cause functions. In each execution device 100, the flag for each infection cause function is aggregated for the abnormal function information 80 in the own device in the same manner as in the analysis device 200 to rank the infection cause functions. Alternatively, the ranking result may be transmitted to the analysis apparatus 200.

(17)上述の実施形態における実行装置100及び解析装置200のCPU110及びCPU210によって実行されるプログラムは、磁気記録媒体(磁気テープ、磁気ディスクなど)、光記録媒体(光ディスクなど)、光磁気記録媒体、半導体メモリなどのコンピュータが読取可能な記録媒体に記憶した状態で提供し得る。また、インターネットのようなネットワーク経由で実行装置100及び解析装置200にダウンロードさせることも可能である。なお、このような制御を行う制御手段としてはCPU以外にも種々の装置を適用することができ、例えば、専用のプロセッサなどを用いてもよい。 (17) Programs executed by the CPU 110 and the CPU 210 of the execution device 100 and the analysis device 200 in the above-described embodiments are a magnetic recording medium (magnetic tape, magnetic disk, etc.), an optical recording medium (optical disc, etc.), and a magneto-optical recording medium. It can be provided in a state where it is stored in a computer-readable recording medium such as a semiconductor memory. It is also possible to download the execution apparatus 100 and the analysis apparatus 200 via a network such as the Internet. Various devices other than the CPU can be applied as the control means for performing such control. For example, a dedicated processor may be used.

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 SYMBOLS 1 ... Software analysis system, 11 ... Program execution part, 12 ... Log recording part, 13 ... Behavior information acquisition part, 14 ... Abnormality determination part, 15 ... Log analysis part, 16 ... anomaly notification unit, 21 ... information extraction unit, 22 ... risk analysis unit, 100 ... execution device, 110, 210 ... CPU, 113, 213 ... storage unit, 114, 214 ... Input unit, 115,215 ... Display unit, 116,216 ... Network communication unit, 117 ... External memory connection unit, 118 ... Bluetooth (registered trademark) communication unit, 200 ... Analysis device.

Claims (9)

監視の対象となるソフトウェアである監視対象ソフトウェアを実行する1又は複数の実行装置と、当該実行装置に対する不正なソフトウェアの入力経路について解析する解析装置と備え、
各々の前記実行装置は、
前記監視対象ソフトウェアを実行する実行手段と、
前記監視対象ソフトウェアを正常に実行させた場合の挙動を表す挙動情報を挙動モデルとして記憶する挙動モデル記憶手段と、
自装置の外部から提供される情報を取得可能な複数の機能の各々について、当該機能の動作履歴を記録する記録手段と、
前記実行手段が前記監視対象ソフトウェアを実行したときの挙動を表す挙動情報を取得する挙動情報取得手段と、
前記挙動情報取得手段により取得された前記挙動情報が前記挙動モデル記憶手段に記憶された前記挙動モデルと適合するか否かを判定する判定手段と、
前記判定手段により前記挙動情報が前記挙動モデルに適合しないと判定された場合に、前記記録手段により各々の前記機能について記録された動作履歴を解析し、不正なソフトウェアの入力経路に該当する条件を満たす動作履歴が記録されている前記機能を特定する動作履歴解析手段と、
前記動作履歴解析手段により特定された前記機能と、当該機能の動作履歴に関する情報とを、前記解析装置に通知する通知手段とを備え、
前記解析装置は、
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又は複数の実行装置に対する不正なソフトウェアの入力経路について解析する解析装置が行う解析方法であって、
前記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又は複数の実行装置に対する不正なソフトウェアの入力経路について解析するコンピュータに、
前記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.
JP2009118748A 2009-05-15 2009-05-15 Analysis system, analysis device, detection method, analysis method and program Pending JP2010267128A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (24)

* Cited by examiner, † Cited by third party
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