JP2012083849A - Malware detector, and method and program for the same - Google Patents
Malware detector, and method and program for the same Download PDFInfo
- Publication number
- JP2012083849A JP2012083849A JP2010227656A JP2010227656A JP2012083849A JP 2012083849 A JP2012083849 A JP 2012083849A JP 2010227656 A JP2010227656 A JP 2010227656A JP 2010227656 A JP2010227656 A JP 2010227656A JP 2012083849 A JP2012083849 A JP 2012083849A
- Authority
- JP
- Japan
- Prior art keywords
- false positive
- malware
- file
- cluster
- sample
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
本発明は、マルウェア検知技術に関し、特に、ユーザPCからマルウェア解析システムへ検体を送信する技術に関する。。 The present invention relates to malware detection technology, and more particularly to technology for transmitting a specimen from a user PC to a malware analysis system. .
マルウェアは、コンピュータプログラムの一種であり、コンピュータ端末内で実行されるとファイルの削除や情報漏洩といった、ユーザにとって有害な活動を行うものである。 Malware is a type of computer program that, when executed in a computer terminal, performs activities harmful to the user, such as file deletion and information leakage.
これまでのマルウェア対策は、ユーザPC内にインストールしたアンチウイルスソフトが、既知のマルウェアの特徴情報(シグネチャ)を用いてマルウェアを検知し、駆除するのが一般的であったが、日々数千から数万の新種のマルウェアが出現する今日では、特徴情報の更新が間に合わず、検知率が低下してきている。 In the past, anti-malware measures were generally performed by anti-virus software installed in the user's PC using the characteristic information (signatures) of known malware to remove malware. Today, when tens of thousands of new types of malware appear, feature information cannot be updated in time, and the detection rate is decreasing.
この問題を解決するために、マルウェアの挙動を分析して、マルウェアであるかどうかを判定する、マルウェア解析システムの研究が進んでいる。マルウェア解析システムを用いたマルウェア検知では、先ずユーザPC内にある擬陽性ファイル発見プログラムが、ユーザPC内を検査して、マルウェアである可能性があるファイル(擬陽性ファイル)を抽出する。次に、擬陽性ファイルを検体として、ユーザPCからマルウェア解析システムに送信する。検体を受信したマルウェア解析システムは分析を行い、検体がマルウェアであるかどうかの判定結果および検体の挙動が記された、マルウェア解析レポートをユーザPCに返答する。ユーザPCでは、マルウェアであると判定されたファイルを駆除する。しかし、大量の擬陽性ファイルがユーザPC上で発見された場合、多数の検体がマルウェア解析システムに送信されるため、マルウェア解析システムの演算負荷及びネットワーク負荷が高くなる問題がある。 In order to solve this problem, research on malware analysis systems that analyze malware behavior and determine whether it is malware or not is in progress. In malware detection using a malware analysis system, a false positive file discovery program in a user PC first inspects the user PC and extracts a file (false positive file) that may be malware. Next, a false positive file is sent as a sample from the user PC to the malware analysis system. The malware analysis system that has received the sample performs analysis, and returns a malware analysis report in which the determination result of whether the sample is malware and the behavior of the sample are recorded to the user PC. The user PC disinfects the file determined to be malware. However, when a large number of false positive files are found on the user PC, a large number of specimens are transmitted to the malware analysis system, which causes a problem that the computation load and the network load of the malware analysis system increase.
このため、マルウェア解析システムの負荷を軽減する試みがなされている。非特許文献1には、マルウェア解析システムにおいて、既に解析済みの検体のハッシュ値及びその解析レポートのデータベースを保持し、ユーザPCから新たに受信した検体のハッシュ値がデータベースに含まれない場合に限って新たに解析を行うことで、解析システムの演算負荷を低減する技術が開示されている。
For this reason, attempts have been made to reduce the load on the malware analysis system. Non-Patent
しかしながら、非特許文献1に開示された技術では、全ての擬陽性ファイルが検体として、ユーザPCからマルウェア解析システムに送信されるため、マルウェア解析システムのネットワーク負荷は改善されない。また、マルウェア解析システムは、受信した検体が既に解析済みのものであるかを確認するために、検体のハッシュ値の演算をするなどの処理を行うため、これに伴う負荷が発生する。
However, in the technique disclosed in Non-Patent
開示するマルウェア検知装置、検知方法、及びそのプログラムは、次のような構成を有する。マルウェア検知装置は、ユーザPCのような計算機内で発見された、マルウェアである可能性がある擬陽性ファイルをクラスタリングし、擬陽性ファイルを含むクラスタを構築するクラスタ構築部、擬陽性ファイルを含むクラスタから、マルウェア解析システムに送信する1つの検体として擬陽性ファイルを選別する送信検体選択部、選別した検体をマルウェア解析システムへ送信する検体送信部、及び、送信した検体に対応して、マルウェア解析システムから取得した解析レポートを分析して、クラスタに含まれる擬陽性ファイルを、「マルウェア」及び「非マルウェア」のいずれかに分類する解析レポート分析部を有する。マルウェア検知方法及びそのプログラムは、マルウェア検知装置による手順を実行し、または、マルウェア検知装置の機能をプログラムとして計算機が実行する。 The disclosed malware detection device, detection method, and program thereof have the following configurations. The malware detection device clusters a false positive file that may be malware, which is found in a computer such as a user PC, and constructs a cluster including a false positive file. A transmission sample selection unit that selects a false positive file as one sample to be transmitted to the analysis system, a sample transmission unit that transmits the selected sample to the malware analysis system, and an analysis acquired from the malware analysis system corresponding to the transmitted sample An analysis report analysis unit that analyzes the report and classifies false positive files included in the cluster into either “malware” or “non-malware”. The malware detection method and the program thereof execute a procedure by the malware detection device, or the computer executes the function of the malware detection device as a program.
さたに望ましいマルウェア検知装置の態様は、送信検体選択部は、擬陽性ファイルが生成された生成時刻が、クラスタに含まれる中で最も古い擬陽性ファイルを、検体として選別される擬陽性ファイルとする。 Furthermore, in a desirable aspect of the malware detection device, the transmission specimen selection unit sets the oldest false positive file that is included in the cluster as the generation time when the false positive file is generated as a false positive file selected as a specimen.
本発明によれば、ユーザPCからマルウェア解析システムへの検体の送信が、効率化される。 According to the present invention, the transmission of the specimen from the user PC to the malware analysis system is made efficient.
図1は、本実施形態のシステムの構成を示す図である。ユーザPC100はパーソナルコンピュータなどの計算機である。マルウェア解析システム200はパーソナルコンピュータやサーバのような計算機である。ユーザPC100とマルウェア解析システムはインターネットなどのネットワーク300を介して接続されている。
FIG. 1 is a diagram illustrating a configuration of a system according to the present embodiment. The user PC 100 is a computer such as a personal computer. The
図2は、ユーザPC100の物理構成を示す図である。ユーザPC100は、ユーザPC本体110と入出力装置170から構成される計算機装置である。
FIG. 2 is a diagram illustrating a physical configuration of the
ユーザPC本体110には、CPU120、メモリ130、インタフェース140、外部記憶装置150、及びこれらを接続するバス160を備えた計算機装置である。一般にパーソナルコンピュータなどと呼ばれる装置がこれに該当する。
The user PC
CPU120は処理を実行するための演算装置である。メモリ130は、CPU120で実行する処理プログラムおよびプログラムが使用するデータを記憶する。
The
メモリ130は、処理プログラムとしてマルウェア検出プログラム131を記憶している。そして、このマルウェア検出プログラムがCPU120によって実行されることによって、マルウェアを検出する。CPU120が実行する具体的な処理については後述する。
The
インタフェース140は、ユーザPC100をネットワークと接続するための、LANカードなどの通信装置である。ユーザPC100はインタフェース140を通じてネットワーク300と接続されている。インタフェース140は、図中においてIFと記述することがある。
The
外部記憶装置150は、HDD(Hard Disk Drive)等から構成され、擬陽性ファイルDB151、解析レポートDB152、プロセス実行DB153を記憶する。これらのDBの具体的な内容については後述する。
The
入出力装置170は、ユーザPCに対してデータの入力・出力を行うための装置である。入出力装置の一例としては、キーボードやマウス、ディスプレイがある。
The input /
図3は、ユーザPC100の機能的な構成、および物理的な各装置との関係を示す図である。CPU120は、擬陽性ファイル検出部121、クラスタ構築部122、送信検体選択部123、検体送信部124、レポート受信部125、レポート分析部126の処理を含むマルウェア検出プログラム131を実行する。
FIG. 3 is a diagram illustrating a functional configuration of the
擬陽性ファイル検出部121は、外部記憶装置150内のファイルを検索して、マルウェアである可能性がある擬陽性ファイルを発見する。擬陽性ファイルを発見した場合、ファイルの情報を擬陽性ファイルDB151に登録する。
The false positive
クラスタ構築部122は、擬陽性ファイルDB151に含まれるレコードのうちファイル種類506(図5)が「未定」であるものを対象に、対象のレコードを複数のグループに分類するクラスタリングを行う。図4にクラスタ構築部124の論理的な構成を示す。クラスタ構築部122は、統括部401、クラスタモジュールA402、クラスタモジュールB403を含んでいる。クラスタモジュールA402、クラスタモジュールB403には、クラスタリングを行うためのプログラムが含まれている。これは、具体的には、擬陽性ファイルDB151に含まれている各レコードにクラスタID505を付与する機能である。クラスタモジュールA402とクラスタモジュールB403は、種別が異なり、実行するクラスタリングのアルゴリズムが異なる。本実施形態ではクラスタモジュールをAとBの2つ記述しているが、実際はクラスタモジュールを1つ以上含む任意の構成がありうる。統括部401はこれらのクラスタモジュールの中から一つを選択して実行するためのプログラムである。どのクラスタモジュールを選択するかはシステムの使用者が入出力装置170などを通じてマルウェア解析システム200に予め入力しておく。ここでは、クラスタモジュールA402は、ハッシュ値が同一である擬陽性ファイルを同一のクラスタに分類する。クラスタモジュールB403は、プロセスの親子関係に基づいてクラスタリングを行う。クラスタリングには、後述するプロセス実行DB153を用いる。
The
図5は、擬陽性ファイルDB151の構成を示す図である。ID501は、各ファイルにユニークな値(識別子)である。ファイルパス502は、ファイルのルートディレクトリからのフルパスを示す文字列である。検出時刻503は、ID501によって特定されるファイルが擬陽性ファイルとして、ユーザPC100において検出された時刻である。生成時刻504は、ID501によって特定されるファイルがユーザPC100において生成された時刻である。クラスタID505はID501によって特定されるファイルが属するクラスタのID(識別子)である。同一のクラスタに属するファイルには同一のクラスタID505が付与されている。
FIG. 5 is a diagram showing the configuration of the false
図5の例では、ID501が1,2,3である擬陽性ファイルはクラスタID505が1であるクラスタに属し、ID501が4,5,6である擬陽性ファイルはクラスタID505が2であるクラスタに属し、ID501が7である擬陽性ファイルはクラスタID505が3であるクラスタに属し、ID501が8である擬陽性ファイルは、クラスタID505が4であるクラスタに属する。
In the example of FIG. 5, a false positive file whose
ファイル種類506は、ファイルの派生元―派生先関係を示す情報である。ここで、派生元―派生先関係とは以下のように定義する。あるファイルが他のファイルから派生して生成されたものであると確認されたとき、生成されたあるファイルを派生先ファイルと呼ぶ。そうでない他のファイルを派生元ファイルと呼ぶ。ファイルと他のファイルから派生したあるファイルの関係は木構造で表現することができるが、木構造のルートにあるファイルを派生元ファイル、それ以外のファイルは、ノードにあってもリーフにあっても、派生先ファイルと呼ぶ。
The
図5の例では、ID501が1である擬陽性ファイルc:\a1.exeは派生元ファイルであり、ID502が2、3である擬陽性ファイルc:\a2.exe、c:\a3.exeは、c:\a1.exeから派生した派生先ファイルである。
In the example of FIG. 5, the false positive file c: \ a1.exe whose
ステータス507はID501によって特定されるファイルがマルウェアと判定されたかどうかを示すフラグである。ステータス507は、「マルウェア」「非マルウェア」「判定不能」「解析中」「送信待ち」「クラスタ未構築」などの状態を取りうる。
The
クラスタリングが未だ行われていない擬陽性ファイルでは、クラスタIDが0、ステータス507が「クラスタ未構築」となる。図5の例では、ID501が9である擬陽性ファイルはクラスタリングが行われておらず、ファイル種類506が「未定」、ステータス507が「クラスタ未構築」となっている。
For a false positive file for which clustering has not yet been performed, the cluster ID is 0, and the
図3に戻って、送信検体選択部123は、生成時刻504に基づいて、クラスタリングされた擬陽性ファイルを、派生元ファイルと派生先ファイルに分類する。検体送信部124は、ファイル種類506が派生先ファイルである擬陽性ファイルを、マルウェア解析システム200に送信する。レポート受信部125は、マルウェア解析システム200からマルウェア解析レポートを受信して、解析レポートDB152に保存する。
Returning to FIG. 3, the transmission
図6は、解析レポートDB152の構成を示す図である。レポートID601はマルウェア解析レポートにユニークな値(識別子)である。受付時刻602は、レポートID601によって特定されるレポートを受信した時刻である。コンテンツ603は、レポートID601によって特定されるレポートの中身を示す文字列データであり、その詳細については図8および図9を用いて説明する。ステータス604は、レポートID601によって特定されるレポートのステータスを示しており、「分析済み」「分析待ち」などの値を取りうる。
FIG. 6 is a diagram showing the configuration of the
図8および図9は、解析レポートの一例であり、コンテンツ603に含まれる文字列データの例である。この例ではデータを見やすくするために適宜改行している。コンテンツ608に含まれるデータはXML形式で記述されている。<レポート>タグはレポート全体を包含するタグである。<レポート>の中には、<日時>タグ、<検体>タグ、<派生先ファイル>タグを含む。
FIG. 8 and FIG. 9 are examples of analysis reports and are examples of character string data included in the
<日時>タグは検体が取得された日付と時刻を含んでいる。
<検体>タグは、解析を行ったファイルについての情報を記述するタグである。マルウェア解析システム200に送信された派生元ファイルに関する解析結果は、<検体タグ>内に含まれる。<検体>タグは、その内部に<ファイル>タグと<判定>タグを含む。<ファイル>タグには、<検体>タグに含まれるファイルのパスとファイル名が含まれている。<判定>タグには、<ファイル>タグに記述されたファイルがマルウェアであったか否かを示す文字列が格納される。
The <date / time> tag includes the date and time when the sample was acquired.
The <sample> tag is a tag describing information about the analyzed file. The analysis result regarding the derivation source file transmitted to the
<派生先>タグは、<検体>タグで示される検体のファイルから派生したファイルの情報が含まれている。派生先ファイルはその内部に<ハッシュ値>タグ、<ファイル>タグ、<判定>タグを含む。<ハッシュ値>タグと<ファイル>タグはどちらかの一方のみを<派生先ファイル>タグの中に含むこともありうる。 The <derivation destination> tag includes information on a file derived from the sample file indicated by the <sample> tag. The derivation destination file includes a <hash value> tag, a <file> tag, and a <determination> tag. Only one of the <hash value> tag and the <file> tag may be included in the <derivation destination file> tag.
図8に示す解析レポートは、2010年7月7日10:00:55に、検体として送信された派生元ファイルc:\a1.exeはマルウェアであり、この検体の派生先ファイルでc:\a1.exeと同一のハッシュ値を持つあるファイルはマルウェアであるという解析結果を出力したことを示している。 The analysis report shown in Fig. 8 shows that the source file c: \ a1.exe sent as a sample on July 7, 2010 at 10:00:55 is malware, and the sample destination file c: \ This indicates that an analysis result indicating that a file with the same hash value as a1.exe is malware was output.
また、図9に示す解析レポートは、2010年7月7日10:00:55に、検体c:\b1.exeは非マルウェアであり、この検体から派生されたc:\b2.exeも非マルウェアであるという解析結果を出力したことを示している。 The analysis report shown in FIG. 9 shows that the sample c: \ b1.exe is non-malware at 10:00:55 on July 7, 2010, and c: \ b2.exe derived from this sample is also non-malware. It shows that the analysis result that it is malware was output.
図3に戻って、レポート分析部126は、受信した解析レポートを分析し、あるクラスタに含まれる派生元ファイルおよび派生先ファイルを、「マルウェア」「非マルウェア」「判定不能」に分類する。先ず、<検体>タグにより、マルウェア解析システム200に送信した派生元ファイルを特定する。次に、<派生先ファイル>タグ内の情報を基に、派生元ファイルが含まれるクラスタ内の派生先ファイルのステータス507を、「マルウェア」「非マルウェア」「判定不能」の何れかに設定する。
Returning to FIG. 3, the
クラスタ内の派生先ファイルのうち、「マルウェア」「非マルウェア」の何れにも分類されなかったものについては、ファイル種類506を「未定」、ステータス507を「判定不能」に設定する。最後に、クラスタ構築部122を呼び出し、これらの擬陽性ファイルを対象に再度クラスタリングを行い、派生先ファイルをマルウェア解析システムに送信する。
Of the derivation destination files in the cluster, those that are not classified as “malware” or “non-malware” are set to “undecided” for the
図7は、プロセス実行DB153の構成を示す図である。プロセス701は、プロセスを実行しているファイルのパスを示す文字列である。親プロセス702は、プロセス701を生成したプロセスを実行しているファイルのパスを示す文字列である。実行日時703はプロセス701が実行された日付と時刻を示す文字列である。例えば、図7の最初のレコードでは、c:\downloader.exeを実行しているプロセスが、2010/07/07 10:50:00に、c:\b1.exeを実行するプロセスを起動したことを示している。
FIG. 7 is a diagram illustrating a configuration of the
図10は、擬陽性ファイル検出部121の動作を示すフローチャートである。擬陽性ファイル検出部121は、ユーザPC100に含まれるファイルでこれまでに選択していなかったものの一つを選択し、そのファイルを検査する(S1001)。検査したファイルが擬陽性ファイルかどうかを判定し(S1002)、擬陽性ファイルであればS1003に、そうでなければS1004に分岐する。
FIG. 10 is a flowchart showing the operation of the false positive
ファイルパス502にS1001で検査したファイルのファイルパスを、検出時刻503に現在時刻を、生成時刻504にファイルの生成時刻を、クラスタID505に0を、ファイル種類506に「未定」を、ステータス507に「クラスタ未構築」をセットしたレコードを擬陽性ファイルDB151に保存し(S1003)、S1005に移る。
In the
ユーザPC100に含まれるすべてのファイルの検査を終了したかを判定し(S1004)、終了していなかったらS1001に、していたらS1005に移る。
It is determined whether inspection of all files included in the
擬陽性ファイル検出部121は、クラスタ構築部122を呼び出す(S1005)。
The false positive
図11は、クラスタ構築部122の統括部401の動作を示すフローチャートである。統括部401は、擬陽性ファイルDB151より、ファイル種類506が「未定」であるレコードを全て取得する(S1101)。クラスタリングに用いるモジュールを選択する(S1102)。選択したクラスタモジュールに、取得した擬陽性ファイルのレコードを与え、実行する(S1103)。統括部401は、送信検体選択部123を呼び出す(S1104)。
FIG. 11 is a flowchart showing the operation of the
図12は、クラスタモジュールA402の動作を示すフローチャートである。クラスタモジュールA402は、擬陽性ファイルDB151のクラスタID505の最大値+1を、変数Newidに格納する(S1201)。
FIG. 12 is a flowchart showing the operation of the cluster module A402. The cluster module A402 stores the maximum value +1 of the
入力として与えられた擬陽性ファイルレコードの集合で、これまでに選択していなかったものの一つを選択し(S1202)、選択された擬陽性ファイルレコードのファイルパス502が示すファイルのハッシュ値を演算する(S1203)。
One of the sets of false positive file records given as input that has not been selected so far is selected (S1202), and the hash value of the file indicated by the
入力として与えられた擬陽性ファイルレコードの集合の中に、演算したハッシュ値と同値のハッシュ値を持つファイルを、ファイルパス502で示すものが存在し、且つそのクラスタID505が0以外であるものが存在するかを判定し(S1204)、存在する場合はS1205に、存在しない場合はS1206に分岐する。
Among the set of false positive file records given as input, there is a file having a hash value equal to the calculated hash value, indicated by the
選択された擬陽性ファイルレコードのクラスタID505に、ハッシュ値が一致したレコードのクラスタID505を設定する(S1205)。
The
選択された擬陽性ファイルレコードのクラスタID505に、変数Newidの値を設定する(S1206)。Newidの値を+1する(S1207)。
The value of the variable Newid is set to the
クラスタモジュールA402は、全ての擬陽性ファイルレコードを選択したかを判定し(S1208)、選択していないものがない場合は処理を終了し、選択していないものがある場合はS1202に分岐する。
The
図5、図8の例では、c:\a1.exe、c:\a2.exe、c:\a3.exeは、ハッシュ値が同一であるため、クラスタID506が1であるクラスタを構築する。
In the example of FIG. 5 and FIG. 8, c: \ a1.exe, c: \ a2.exe, and c: \ a3.exe have the same hash value, and thus a cluster having a
図13はクラスタモジュールB403の動作を示すフローチャートである。クラスタモジュールB403は、擬陽性ファイルDB151のクラスタID505の最大値+1を、変数Newidに格納する(S1301)。
FIG. 13 is a flowchart showing the operation of the cluster module B403. The cluster module B403 stores the maximum value +1 of the
プロセス実行DB153を参照し、未選択の擬陽性ファイルレコードのうち、ファイルパス502が示す擬陽性ファイルの実行日時703が最も古いものを選択する(S1302)。
With reference to the
選択された擬陽性ファイルレコードのファイルパス502が示すファイルをプロセス701とするプロセス実行レコードが存在し、且つ擬陽性ファイルレコードの集合のうち、ファイルパス502が当該プロセス実行レコードの親プロセス702を示すものが存在するかを判定し(S1303)、存在する場合はS1304に、存在しない場合はS1305に分岐する。
There is a process execution record in which the file indicated by the
選択された擬陽性ファイルレコードのクラスタID505に、存在した親プロセス702を示す擬陽性ファイルレコードのクラスタID505を設定する(S1304)。
The
選択されたレコードのクラスタIDに、変数Newidを設定する(S1305)。変数NewIdの値を+1する(S1306)。 A variable Newid is set to the cluster ID of the selected record (S1305). The value of the variable NewId is incremented by 1 (S1306).
クラスタモジュールB403は、全ての擬陽性ファイルレコードを選択したかを判定し(S1307)、選択していないものがない場合は処理を終了し、選択していないものがある場合はS1302に分岐する。
The
図5、図7、図9の例では、c:\b1.exeを実行するプロセスが、c:\b2.exe、c:\b3.exeを実行している。よって、これら3つのファイルは、クラスタIDが2のクラスタを構築する。 In the example of FIGS. 5, 7, and 9, the process that executes c: \ b1.exe executes c: \ b2.exe and c: \ b3.exe. Therefore, these three files construct a cluster with a cluster ID of 2.
図14は、送信検体選択部123の動作を示すフローチャートである。送信検体選択部123は、擬陽性ファイルDB151から、ファイル種類506が「未定」である擬陽性ファイルレコードの集合を取得する(S1401)。取得したレコード集合を、クラスタID505ごとに、グループ化する(S1402)。
FIG. 14 is a flowchart showing the operation of the transmission
未だ選択されていないグループのうち1つを選択し(S1403)、選択されたグループ内の擬陽性ファイルレコードで、生成時刻504が最も古いもののファイル種類506を「派生元ファイル」に、それ以外のレコードのファイル種類506を「派生先ファイル」に設定する(S1404)。グループ内の全てのレコードのステータス507を「送信待ち」に設定する(S1405)。
One of the groups not yet selected is selected (S1403), and the
未だ選択していないグループが存在するかを判定し(S1406)、存在する場合はS1403に分岐し、存在しない場合はS1407に分岐する。処理S1407では、検体送信部124を呼び出し、処理を終了する(S1407)。
It is determined whether there is a group that has not yet been selected (S1406). If it exists, the process branches to S1403, and if it does not exist, the process branches to S1407. In process S1407, the
図5の例では、クラスタIDが1であるクラスタではc:\a1.exeが、クラスタIDが2であるクラスタではc:\b1.exeが派生元ファイルとなり、その他のファイルは派生先ファイルとなる。 In the example of FIG. 5, c: \ a1.exe is a derivation source file in a cluster with a cluster ID of 1, c: \ b1.exe is a derivation source file in a cluster with a cluster ID of 2, and other files are derivation destination files. Become.
図15は、検体送信部124の動作を示すフローチャートである。検体送信部124は、擬陽性ファイルDB151から、ステータス507が「送信待ち」である擬陽性ファイルレコードの集合を取得する(S1501)。
FIG. 15 is a flowchart showing the operation of the
まだ選択されていないレコードののうちの1つを選択し(S1502)、選択されたレコードの種類506が「派生元ファイル」であるかを判定し(S1503)、「派生元ファイル」である場合はS1504に分岐し、「派生先ファイル」である場合はS1505に分岐する。
When one of the records that have not yet been selected is selected (S1502), it is determined whether or not the
レコードのファイルパス502が示す擬陽性ファイルを、マルウェア解析システム200に送信する(S1504)。
The false positive file indicated by the
レコードのステータス507を「解析中」に設定し(S1505)、未だ選択していないレコードが存在するかを判定し(S1506)、存在する場合はS1502に分岐し、存在しない場合は処理を終了する。
The
図16は、レポート受信部125の動作を示すフローチャートである。レポート受信部125は、マルウェア解析システム200より、マルウェア解析レポートを受信する(S1601)。現在時刻を受信時刻602に、マルウェア解析レポート本文をコンテンツ603に、「分析待ち」をステータス604にセットした、解析レポートレコードを、解析レポートDB152に保存する(S1602)。レポート受信部125は、レポート分析部を呼び出して、処理を終了する(S1603)。
FIG. 16 is a flowchart showing the operation of the
図17は、レポート分析部126の動作を示すフローチャートである。レポート分析部126は、解析レポートDB152からステータス604が「分析待ち」である解析レポートレコードの集合を取得する(S1701)。
FIG. 17 is a flowchart showing the operation of the
未だ選択されていない解析レポートレコードの中から1つを選択し(S1702)、選択された解析レポートレコードのコンテンツ603から、<検体>要素を取得する(S1703)。擬陽性ファイルDB151から、ファイルパス502が<検体>要素に対応するファイルを示すような、擬陽性ファイルレコードを取得する(S1704)。S1704で取得した擬陽性ファイルレコードのクラスタID505を変数Targetに設定する(S1705)。擬陽性ファイルDB151から、クラスタID505が変数Targetと等しい擬陽性ファイルレコードの集合を取得する(S1706)。
One analysis report record that has not been selected is selected (S1702), and the <sample> element is acquired from the
取得した擬陽性ファイルレコードの集合のうち、未選択のものの1つを選択し(S1707)、解析レポートレコードと選択された擬陽性ファイルレコードを入力として、擬陽性ファイルレコード判定処理(図18)を実行する(S1708)。 From the acquired set of false positive file records, one of unselected ones is selected (S1707), and the analysis report record and the selected false positive file record are input to execute a false positive file record determination process (FIG. 18) (FIG. 18). S1708).
全ての擬陽性ファイルレコードを選択したかを判定し(S1709)、未選択のレコードがある場合はS1707に分岐し、全てのレコードを選択した場合はS1710に分岐する。全ての解析レポートレコードを選択したかを判定し(S1710)、未選択のレコードがある場合はS1702に分岐し、全てのレコードを選択した場合はS1711に分岐する。 It is determined whether all false positive file records have been selected (S1709). If there is an unselected record, the process branches to S1707, and if all records are selected, the process branches to S1710. It is determined whether all analysis report records have been selected (S1710). If there is an unselected record, the process branches to S1702, and if all records are selected, the process branches to S1711.
、S1701で取得した全解析レポートレコードのステータス507を「分析完了」に設定する(S1711)。レポート分析部126は、クラスタ構築部122を呼び出し、処理を終了する(S1712)。クラスタ構築部122は、擬陽性ファイルレコード判定処理で、「マルウェア」、「非マルウェア」の何れでもないと判定された擬陽性ファイルをクラスタリングし、再構築されたクラスタの派生元ファイルを、マルウェア解析システム200に送信する。
The
図18は、レポート分析部126の処理の一部(S1708)である、擬陽性ファイルレコード判定処理を示すフローチャートである。擬陽性ファイルレコード判定処理は、入力として与えられた擬陽性ファイルレコードのファイルパス502が示すファイルが、入力として与えられた解析レポートレコードのコンテンツ603において、「マルウェア」と判定されているかどうかを判定し(S1801)、「マルウェア」と判定されている場合はS1802に分岐し、「マルウェア」と判定されていない場合はS1804に分岐する。
FIG. 18 is a flowchart showing a false positive file record determination process, which is a part of the process of the report analysis unit 126 (S1708). The false positive file record determination process determines whether or not the file indicated by the
擬陽性ファイルレコードのステータス507を「マルウェア」に設定し(S1802)、マルウェアと判定されたファイルを、ユーザPC100から駆除する(S1803)。
The
擬陽性ファイルレコードのファイルパス502が示すファイルが、解析レポートレコードのコンテンツ603において、「非マルウェア」と判定されているかどうかを判定し(S1804)、「非マルウェア」と判定されている場合はS1805に分岐し、「非マルウェア」と判定されていない場合はS1806に分岐する。
It is determined whether or not the file indicated by the
擬陽性ファイルレコードのステータス507を「非マルウェア」に設定し(S1805)、処理を終了する。擬陽性ファイルレコードのステータス507を「判定不能」に、ファイル種類を「未定」に設定し(処理S1806)、処理を終了する。
The
図8の例では、派生元ファイルc:\a1.exe、派生先ファイルc:\a2.exe,c:\a3.exeは共に「マルウェア」と判定され、駆除される。図9の例では、派生元ファイルc:\b1.exeと派生先ファイルc:\b2.exeは「非マルウェア」と判断される。一方で、c:\b1.exeと同一のクラスタ(クラスタID505=2)である派生先c:\b3.exeは、解析レポート内で「マルウェア」とも「非マルウェア」とも判定されず、ファイル種類506が「未定」ステータス507が「判定不能」となる。
In the example of FIG. 8, the derivation source file c: \ a1.exe, the derivation destination files c: \ a2.exe, and c: \ a3.exe are both determined as “malware” and removed. In the example of FIG. 9, the derivation source file c: \ b1.exe and the derivation destination file c: \ b2.exe are determined to be “non-malware”. On the other hand, the derivation destination c: \ b3.exe, which is the same cluster (
本実施形態によれば、擬陽性ファイルを派生元ファイルと派生先ファイルに分類し、派生元ファイルのみをマルウェア解析システムに送信することで、マルウェア解析システムの演算負荷、及びネットワーク負荷を軽減する。 According to this embodiment, false positive files are classified into a derivation source file and a derivation destination file, and only the derivation source file is transmitted to the malware analysis system, thereby reducing the computation load and network load of the malware analysis system.
本実施形態の一部を変形して、次のように実施してもよい。 A part of the present embodiment may be modified and implemented as follows.
第一に、マルウェア解析システム200は、ユーザPC100に含まれてもよい。マルウェア解析システム200は、ユーザPC内で動作する1プログラムとなる。この変形例では、ユーザPC100、マルウェア解析システム200間で通信が行われないため、通信負荷が無くなるという利点がある。
First, the
第二に、クラスタモジュールA402、クラスタモジュールB403は、ユーザPC100内に含まれず、他の端末上に存在してもよい。ユーザPC100から、擬陽性ファイル及びクラスタリングに必要な情報が、クラスタモジュールA402、クラスタモジュール403を含む端末に送信され、クラスタリングの結果が受信される。この変形例では、ユーザPC100から、様々な端末上にあるクラスタモジュールを利用することが可能になる。
Secondly, the
100…ユーザPC、110…ユーザPC本体、120…CPU、121…擬陽性ファイル検出部、122…クラスタ構築部、123…送信検体選択部、124…検体送信部、125…レポート受信部、126…レポート分析部、130…メモリ、131…マルウェア検出プログラム、140…IF、150…外部記憶装置、151…擬陽性ファイルDB、152…解析レポートDB、153…プロセス実行DB、160…バス、170…入出力装置、200…マルウェア解析システム、300…ネットワーク、401…統括部、402…クラスタモジュールA、403…クラスタモジュールB。
DESCRIPTION OF
Claims (13)
前記擬陽性ファイルを含む前記クラスタから、マルウェア解析システムに送信する1つの検体として前記擬陽性ファイルを選別する送信検体選択部、
選別した前記検体を前記マルウェア解析システムへ送信する検体送信部、及び、
送信した前記検体に対応して、前記マルウェア解析システムから取得した解析レポートを分析して、前記クラスタに含まれる前記擬陽性ファイルを、「マルウェア」及び「非マルウェア」のいずれかに分類する解析レポート分析部を有することを特徴とするマルウェア検知装置。 A cluster construction unit for clustering false positive files that may be malware detected in a computer and constructing a cluster including the false positive files;
A transmission sample selection unit that selects the false positive file as one sample to be transmitted to the malware analysis system from the cluster including the false positive file;
A sample transmission unit for transmitting the selected sample to the malware analysis system; and
Analysis report analysis for analyzing the analysis report obtained from the malware analysis system corresponding to the transmitted sample and classifying the false positive file included in the cluster as either “malware” or “non-malware” Malware detection device characterized by having a section.
前記擬陽性ファイルを含む前記クラスタから、マルウェア解析システムに送信する1つの検体として前記擬陽性ファイルを選別し、
選別した前記検体を前記マルウェア解析システムへ送信し、
送信した前記検体に対応して、前記マルウェア解析システムから取得した解析レポートを分析して、前記クラスタに含まれる前記擬陽性ファイルを、「マルウェア」及び「非マルウェア」のいずれかに分類することを特徴とするマルウェア検知方法。 A method of detecting a false positive file that may be malware by a computer, the computer clustering the false positive files found in the computer, constructing a cluster including the false positive files,
From the cluster including the false positive file, the false positive file is selected as one specimen to be transmitted to the malware analysis system,
Send the selected sample to the malware analysis system,
The analysis report acquired from the malware analysis system is analyzed corresponding to the transmitted sample, and the false positive file included in the cluster is classified as either “malware” or “non-malware”. Malware detection method.
前記擬陽性ファイルを含む前記クラスタから、マルウェア解析システムに送信する1つの検体として前記擬陽性ファイルを選別する送信検体選択機能、
選別した前記検体を前記マルウェア解析システムへ送信する検体送信機能、及び、
送信した前記検体に対応して、前記マルウェア解析システムから取得した解析レポートを分析して、前記クラスタに含まれる前記擬陽性ファイルを、「マルウェア」及び「非マルウェア」のいずれかに分類する解析レポート分析機能を、前記計算機に実現させるためのマルウェア検知プログラム。 A cluster construction function for clustering false positive files discovered in a computer that may be malware and constructing a cluster including the false positive files;
A transmission sample selection function for selecting the false positive file as one sample to be transmitted to the malware analysis system from the cluster including the false positive file;
A sample transmission function for transmitting the selected sample to the malware analysis system; and
Analysis report analysis for analyzing the analysis report obtained from the malware analysis system corresponding to the transmitted sample and classifying the false positive file included in the cluster as either “malware” or “non-malware” A malware detection program for causing a function to be realized by the computer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010227656A JP2012083849A (en) | 2010-10-07 | 2010-10-07 | Malware detector, and method and program for the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010227656A JP2012083849A (en) | 2010-10-07 | 2010-10-07 | Malware detector, and method and program for the same |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012083849A true JP2012083849A (en) | 2012-04-26 |
Family
ID=46242670
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010227656A Pending JP2012083849A (en) | 2010-10-07 | 2010-10-07 | Malware detector, and method and program for the same |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012083849A (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015001969A1 (en) * | 2013-07-05 | 2015-01-08 | 日本電信電話株式会社 | Unauthorized-access detection system and unauthorized-access detection method |
JP2015132942A (en) * | 2014-01-10 | 2015-07-23 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | Connection destination information determination device, connection destination information determination method and program |
JP2016091070A (en) * | 2014-10-30 | 2016-05-23 | 日本電気株式会社 | Information processing system, classifying method, and program therefor |
JP2017168146A (en) * | 2017-06-28 | 2017-09-21 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | Connection destination information determination device, connection destination information determination method, and program |
US10325094B2 (en) | 2014-08-28 | 2019-06-18 | Mitsubishi Electric Corporation | Process analysis apparatus, process analysis method, and process analysis for determining input/output relation of a block of execution trace to detect potential malware |
CN111797392A (en) * | 2019-04-09 | 2020-10-20 | 国家计算机网络与信息安全管理中心 | Method, device and storage medium for controlling infinite analysis of derivative file |
US20220239672A1 (en) * | 2013-03-15 | 2022-07-28 | Palantir Technologies Inc. | Malware data clustering |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008519532A (en) * | 2004-11-05 | 2008-06-05 | セキュアー コンピューティング コーポレイション | Message profiling system and method |
JP2010198054A (en) * | 2009-02-23 | 2010-09-09 | National Institute Of Information & Communication Technology | Computer inspection system and computer inspection method |
JP2011523748A (en) * | 2008-05-28 | 2011-08-18 | シマンテック コーポレーション | Intelligent hash for centrally detecting malware |
-
2010
- 2010-10-07 JP JP2010227656A patent/JP2012083849A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008519532A (en) * | 2004-11-05 | 2008-06-05 | セキュアー コンピューティング コーポレイション | Message profiling system and method |
JP2011523748A (en) * | 2008-05-28 | 2011-08-18 | シマンテック コーポレーション | Intelligent hash for centrally detecting malware |
JP2010198054A (en) * | 2009-02-23 | 2010-09-09 | National Institute Of Information & Communication Technology | Computer inspection system and computer inspection method |
Non-Patent Citations (4)
Title |
---|
CSNG200900502045; 安本幸希: 'コードの類似度判定を用いたマルウェア分類法' コンピュータセキュリティシンポジウム2008論文集[第二分冊] , 20081008, 869〜874頁, 社団法人 情報処理学会 * |
CSNJ201010043083; 川口信隆: 'マルウェア対策ユーザサポートシステムの検討' 電子情報通信学会2010年総合大会講演論文集 通信2 , 20100302, 83頁, 社団法人 電子情報通信学会 * |
JPN6014000833; 川口信隆: 'マルウェア対策ユーザサポートシステムの検討' 電子情報通信学会2010年総合大会講演論文集 通信2 , 20100302, 83頁, 社団法人 電子情報通信学会 * |
JPN6014000835; 安本幸希: 'コードの類似度判定を用いたマルウェア分類法' コンピュータセキュリティシンポジウム2008論文集[第二分冊] , 20081008, 869〜874頁, 社団法人 情報処理学会 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220239672A1 (en) * | 2013-03-15 | 2022-07-28 | Palantir Technologies Inc. | Malware data clustering |
US11848760B2 (en) * | 2013-03-15 | 2023-12-19 | Palantir Technologies Inc. | Malware data clustering |
WO2015001969A1 (en) * | 2013-07-05 | 2015-01-08 | 日本電信電話株式会社 | Unauthorized-access detection system and unauthorized-access detection method |
JP6001781B2 (en) * | 2013-07-05 | 2016-10-05 | 日本電信電話株式会社 | Unauthorized access detection system and unauthorized access detection method |
US10142343B2 (en) | 2013-07-05 | 2018-11-27 | Nippon Telegraph And Telephone Corporation | Unauthorized access detecting system and unauthorized access detecting method |
JP2015132942A (en) * | 2014-01-10 | 2015-07-23 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | Connection destination information determination device, connection destination information determination method and program |
US10325094B2 (en) | 2014-08-28 | 2019-06-18 | Mitsubishi Electric Corporation | Process analysis apparatus, process analysis method, and process analysis for determining input/output relation of a block of execution trace to detect potential malware |
JP2016091070A (en) * | 2014-10-30 | 2016-05-23 | 日本電気株式会社 | Information processing system, classifying method, and program therefor |
US11250029B2 (en) | 2014-10-30 | 2022-02-15 | Nec Corporation | Information processing system and classification method |
JP2017168146A (en) * | 2017-06-28 | 2017-09-21 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | Connection destination information determination device, connection destination information determination method, and program |
CN111797392A (en) * | 2019-04-09 | 2020-10-20 | 国家计算机网络与信息安全管理中心 | Method, device and storage medium for controlling infinite analysis of derivative file |
CN111797392B (en) * | 2019-04-09 | 2023-08-08 | 国家计算机网络与信息安全管理中心 | Method, device and storage medium for controlling infinite analysis of derivative files |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Fan et al. | Dapasa: detecting android piggybacked apps through sensitive subgraph analysis | |
Arshad et al. | SAMADroid: a novel 3-level hybrid malware detection model for android operating system | |
Alsaheel et al. | {ATLAS}: A sequence-based learning approach for attack investigation | |
JP2012083849A (en) | Malware detector, and method and program for the same | |
JP5656136B2 (en) | Behavior signature generation using clustering | |
US8769676B1 (en) | Techniques for identifying suspicious applications using requested permissions | |
US20150046512A1 (en) | Dynamic collection analysis and reporting of telemetry data | |
US20150172303A1 (en) | Malware Detection and Identification | |
KR101716564B1 (en) | Malware Detection Method and System Based on Hadoop | |
CN110362994A (en) | Detection method, equipment and the system of malicious file | |
EP3293664B1 (en) | Software analysis system, software analysis method, and software analysis program | |
US9201754B2 (en) | Recording application consumption details | |
US20200334208A1 (en) | Rule-based collections of subset(s) of metadata in response to a trigger event occurring | |
US11831417B2 (en) | Threat mapping engine | |
CN116595523A (en) | Multi-engine file detection method, system, equipment and medium based on dynamic arrangement | |
Vahedi et al. | Cloud based malware detection through behavioral entropy | |
CN113569256A (en) | Vulnerability scanning method and device, vulnerability scanning system, electronic equipment and computer readable medium | |
Punn et al. | Testing big data application | |
JP7302223B2 (en) | Script detection device, method and program | |
KR102662965B1 (en) | Apparatus and method for detecting ai based malignant code in structured document | |
KR101586482B1 (en) | Method and System for Conversion of Search Result Suitable for User State | |
Alimardani et al. | A taxonomy on recent mobile malware: Features, analysis methods, and detection techniques | |
Qin et al. | LMHADC: Lightweight method for host based anomaly detection in cloud using mobile agents | |
Wilks | ENABLING EFFICIENT AND STREAMLINED ACCESS TO LARGE SCALE GENOMIC EXPRESSION AND SPLICING DATA | |
Abbas et al. | A Comparative Forensic Analysis of Android based Social Media Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130220 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140114 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140520 |