JP2010009269A - コンピュータウィルス検出装置、コンピュータウィルス検出方法及びコンピュータウィルス検出プログラム - Google Patents

コンピュータウィルス検出装置、コンピュータウィルス検出方法及びコンピュータウィルス検出プログラム Download PDF

Info

Publication number
JP2010009269A
JP2010009269A JP2008166875A JP2008166875A JP2010009269A JP 2010009269 A JP2010009269 A JP 2010009269A JP 2008166875 A JP2008166875 A JP 2008166875A JP 2008166875 A JP2008166875 A JP 2008166875A JP 2010009269 A JP2010009269 A JP 2010009269A
Authority
JP
Japan
Prior art keywords
feature information
api
computer virus
array
similarity
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
JP2008166875A
Other languages
English (en)
Inventor
Yuji Atsui
裕司 厚井
Tadasato Ryu
忠達 劉
Naoji Nakatani
直司 中谷
Setsuo Mizuno
節郎 水野
Yoshinori Tamura
善則 田村
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.)
ERI Inc
Iwate University
Original Assignee
ERI Inc
Iwate University
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 ERI Inc, Iwate University filed Critical ERI Inc
Priority to JP2008166875A priority Critical patent/JP2010009269A/ja
Publication of JP2010009269A publication Critical patent/JP2010009269A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】コンピュータウィルス検出の確実性を向上させたコンピュータウィルス検出装置、コンピュータウィルス検出方法及びコンピュータウィルス検出プログラムを提供する。
【解決手段】サーバ100は、DB200内の既知コンピュータウィルスAPIハッシュ値シーケンスと、受信した電子メールに添付されているPE形式の実行ファイルから得られる検出対象APIハッシュ値シーケンスとの相似度が閾値以上である場合に、PE形式の実行ファイルを亜種のコンピュータウィルスであると判定する。また、サーバ100は、亜種のコンピュータウィルスであると判定したPE形式の実行ファイルに対応する検出対象APIハッシュ値シーケンスをDB200に記憶させ、これをその後のコンピュータウィルス検出において用いる。
【選択図】図1

Description

本発明は、コンピュータウィルスを検出するコンピュータウィルス検出装置、コンピュータウィルス検出方法、及び、コンピュータにて実行されるコンピュータウィルス検出プログラムに関する。
近年のインターネットをはじめとするネットワークの急速な発展に伴い、コンピュータウィルスによる被害は年々深刻なものとなってきている。このコンピュータウィルスによる被害は、時間経過に伴い不特定多数に対し加速度的に被害を与える点や、本来は被害者であるユーザが気づかないうちに加害者となる点などで、深刻の度合いが大きい。コンピュータウィルスは、経済産業省の定義によれば、第三者のプログラムやデータベースに対して意図的に何らかの被害を及ぼすように作られたプログラムであって、自己伝染機能、潜伏機能及び発病機能の少なくとも1つの機能を有するものであるとされている。従来、このようなコンピュータウィルスを検出する様々な装置が提案されている(例えば、特許文献1参照)。
前述したような従来のコンピュータウィルス検出装置は、一般に、シグネチャと称されるコンピュータウィルスに対応する特徴情報配列を用いて、検出対象の実行ファイルに対応する特徴情報配列とのパターンマッチングを行い、実行ファイル内にシグネチャと同一の情報配列が含まれる場合には、その実行ファイルをコンピュータウィルスであると判定する。
特開2004−38273号公報
新しく発生したコンピュータウィルスは、一般に過去のコンピュータウィルスに対して相似性を有する亜種であることが多い。一説によれば、このような亜種のコンピュータウィルスは、コンピュータウィルス全体の90%以上であると言われている。上述した従来のコンピュータウィルス検出装置において、このような亜種のコンピュータウィルスを検出するためには、当該亜種のコンピュータウィルスに対応するシグネチャを用意しておかなければならない。
しかしながら、亜種のコンピュータウィルスに対応するシグネチャを用意するためには、コンピュータウィルス検出ソフトのメーカー等による亜種のコンピュータウィルスの解析、シグネチャの生成といった作業工程が必要であり、ある程度の時間を要する。このようにシグネチャの生成に時間がかかることは、近年の電子メールを媒介として拡散するコンピュータウィルスのように、拡散速度が速いコンピュータウィルスの検出には十分ではなく、被害の広がりを防止することができない恐れがある。
本発明は従来の問題を解決するためになされたもので、コンピュータウィルス検出の確実性を向上させたコンピュータウィルス検出装置、コンピュータウィルス検出方法及びコンピュータウィルス検出プログラムを提供することにある。
本発明に係るコンピュータウィルス検出装置は、既知のコンピュータウィルスの実行に際して処理される命令の配列を表す第1の特徴情報配列を取得する第1の特徴情報配列取得手段と、検出対象の実行ファイルの実行に際して処理される命令の配列を表す第2の特徴情報配列を取得する第2の特徴情報配列取得手段と、前記第1の特徴情報配列取得手段により取得された前記第1の特徴情報配列と、前記第2の特徴情報配列取得手段により取得された前記第2の特徴情報配列との相似度を導出する相似度導出手段と、前記相似度導出手段により導出された前記相似度が閾値以上である場合に、前記検出対象の実行ファイルをコンピュータウィルスであると判定する判定手段とを有する。
この構成によれば、既知のコンピュータウィルスの実行に際して処理される命令の配列を表す第1の特徴情報配列と、検出対象の実行ファイルの実行に際して処理される命令の配列を表す第2の特徴情報配列との相似度が閾値以上である場合には、検出対象の実行ファイルが、既知のコンピュータウィルスに対して相似性を有する亜種のコンピュータウィルスであると判定することにより、亜種のコンピュータウィルスに対応する特徴情報配列が用意されていない場合であっても、その亜種のコンピュータウィルスの検出が可能となる。
また、本発明に係るコンピュータウィルス検出装置は、前記相似度導出手段が、前記第1の特徴情報配列と、前記第2の特徴情報配列とのグローバルアライメントを生成し、その生成したグローバルアライメントに基づいて、Cosine相似関数を利用した第1の相似度と、拡張Jaccard相似関数を利用した第2の相似度とを算出し、更に、前記第1及び第2の相似度の平均値を最終的な相似度として算出する。
このようにして算出された相似度を用いて、亜種のコンピュータウィルスの検出を行うことで、誤検出の少ない、すなわち、確実性の高い検出が可能である。
また、本発明に係るコンピュータウィルス検出装置は、前記第1の特徴情報配列取得手段が、過去に前記判定手段によりコンピュータウィルスであると判定された前記検出対象の実行ファイルの実行に際して処理される命令の配列を表す特徴情報配列を前記第1の特徴情報配列として取得する。
このように、過去にコンピュータウィルスであると判定された実行ファイルの実行に際して処理される命令の配列を表す特徴情報配列を第1の特徴情報配列として用い、当該第1の特徴情報配列と、新たな検出対象の実行ファイルに対応する第2の特徴情報配列との相似度が閾値以上である場合に、当該新たな検出対象の実行ファイルが、既知のコンピュータウィルスに対して相似性を有する亜種のコンピュータウィルスであると判定することにより、更に別の亜種のコンピュータウィルスについても検出が可能となる。
また、本発明に係るコンピュータウィルス検出装置は、前記第1の特徴情報配列取得手段が、前記既知のコンピュータウィルスのidataセクションにおけるimport tableの任意の行に記憶されている、DLLに所属するAPI関数が記憶されているエントリーポイントを取得し、前記import tableの任意の行のアドレスと、前記エントリーポイントに記憶されているAPI関数の名称、及び、該API関数が所属するDLLの名称とを組み合わせたAPI情報とを対応付けたAPI複合情報を生成し、更に、前記import tableにおける全ての行に対応した前記API複合情報の集合であるAPI複合情報テーブルを生成し、前記既知のコンピュータウィルスのコードセクションにおける、API関数を呼び出すための任意のCALL命令が呼び出す命令における引数のアドレスを抽出し、更に前記コードセクション内に存在する全てのCALL命令に対応した前記引数のアドレスの集合であるテーブルを生成し、前記テーブル内のアドレスと前記API複合情報テーブル内のアドレスとが一致する場合に、前記API複合情報テーブルにおいて前記引数のアドレスと一致する前記API複合情報中の前記API情報の集合を、前記第1の特徴情報配列として取得する。
また、本発明に係るコンピュータウィルス検出装置は、前記第2の特徴情報配列取得手段が、前記検出対象の実行ファイルのidataセクションにおけるimport tableの任意の行に記憶されている、DLLに所属するAPI関数が記憶されているエントリーポイントを取得し、前記import tableの任意の行のアドレスと、前記エントリーポイントに記憶されているAPI関数の名称、及び、該API関数が所属するDLLの名称を組み合わせたAPI情報とを対応付けたAPI複合情報を生成し、更に前記import tableにおける全ての行に対応した前記API複合情報の集合であるAPI複合情報テーブルを生成し、前記検出対象の実行ファイルのコードセクションにおける、API関数を呼び出すための任意のCALL命令が呼び出す命令における引数のアドレスを抽出し、更に前記コードセクション内に存在する全てのCALL命令に対応した前記引数のアドレスの集合であるテーブルを生成し、前記テーブル内のアドレスと前記API複合情報テーブル内のアドレスとが一致する場合に、前記API複合情報テーブルにおいて前記引数のアドレスと一致する前記API複合情報中の前記API情報の集合を、前記第2の特徴情報配列として取得する。
また、本発明に係るコンピュータウィルス検出装置は、前記第1の特徴情報配列取得手段が、既知のコンピュータウィルスのidataセクションにおけるimport tableの任意の行に記憶されている、DLLに所属するAPI関数が記憶されているエントリーポイントを取得し、前記import tableの任意の行のアドレスと、前記エントリーポイントに記憶されているAPI関数の名称、及び、該API関数が所属するDLLの名称を組み合わせたAPI情報と、該API情報のハッシュ値とを対応付けたテーブルの行を生成し、更に前記import tableの全ての行に対応した前記テーブルの行の集合であるテーブルを生成し、該テーブル内のハッシュ値の集合を、前記第1の特徴情報配列として取得する。
また、本発明に係るコンピュータウィルス検出装置は、前記第2の特徴情報配列取得手段が、前記検出対象の実行ファイルのidataセクションにおけるimport tableの任意の行に記憶されている、DLLに所属するAPI関数が記憶されているエントリーポイントを取得し、前記import tableの任意の行のアドレスと、前記エントリーポイントに記憶されているAPI関数の名称、及び、該API関数が所属するDLLの名称を組み合わせたAPI情報と、該API情報のハッシュ値とを対応付けたテーブルの行を生成し、更に前記import tableの全ての行に対応した前記テーブルの行の集合であるテーブルを生成し、該テーブル内のハッシュ値の集合を、前記第2の特徴情報配列として生成する。
本発明に係るコンピュータウィルス検出装置におけるコンピュータウィルス検出方法は、前記コンピュータウィルス検出装置が、既知のコンピュータウィルスの実行に際して処理される命令の配列を表す第1の特徴情報配列を取得する第1の特徴情報配列取得ステップと、検出対象の実行ファイルの実行に際して処理される命令の配列を表す第2の特徴情報配列を取得する第2の特徴情報配列取得ステップと、前記第1の特徴情報配列取得ステップにより取得された前記第1の特徴情報配列と、前記第2の特徴情報配列取得ステップにより取得された前記第2の特徴情報配列との相似度を導出する相似度導出ステップと、前記相似度導出ステップにより導出された前記相似度が閾値以上である場合に、前記検出対象の実行ファイルをコンピュータウィルスであると判定する判定ステップとを有する。
また、本発明に係るコンピュータウィルス検出方法は、前記相似度導出ステップが、前記第1の特徴情報配列と、前記第2の特徴情報配列とのグローバルアライメントを生成し、その生成したグローバルアライメントに基づいて、Cosine相似関数を利用した第1の相似度と、拡張Jaccard相似関数を利用した第2の相似度とを算出し、更に、前記第1及び第2の相似度の平均値を最終的な相似度として算出する。
また、本発明に係るコンピュータウィルス検出方法は、前記第1の特徴情報配列取得ステップが、過去に前記判定手段によりコンピュータウィルスであると判定された前記検出対象の実行ファイルの実行に際して処理される命令の配列を表す特徴情報配列を前記第1の特徴情報配列として取得する。
本発明に係るコンピュータウィルス検出プログラムは、既知のコンピュータウィルスの実行に際して処理される命令の配列を表す第1の特徴情報配列を取得する第1の特徴情報配列取得ステップと、検出対象の実行ファイルの実行に際して処理される命令の配列を表す第2の特徴情報配列を取得する第2の特徴情報配列取得ステップと、前記第1の特徴情報配列取得ステップにより取得された前記第1の特徴情報配列と、前記第2の特徴情報配列取得ステップにより取得された前記第2の特徴情報配列との相似度を導出する相似度導出ステップと、前記相似度導出ステップにより導出された前記相似度が閾値以上である場合に、前記検出対象の実行ファイルをコンピュータウィルスであると判定する判定ステップとをコンピュータに実行させる。
また、本発明に係るコンピュータウィルス検出プログラムは、前記相似度導出ステップが、前記第1の特徴情報配列と、前記第2の特徴情報配列とのグローバルアライメントを生成し、その生成したグローバルアライメントに基づいて、Cosine相似関数を利用した第1の相似度と、拡張Jaccard相似関数を利用した第2の相似度とを算出し、更に、前記第1及び第2の相似度の平均値を最終的な相似度として算出する。
また、本発明に係るコンピュータウィルス検出プログラムは、前記第1の特徴情報配列取得ステップが、過去に前記判定手段によりコンピュータウィルスであると判定された前記検出対象の実行ファイルの実行に際して処理される命令の配列を表す特徴情報配列を前記第1の特徴情報配列として取得する。
本発明によれば、亜種のコンピュータウィルスが新たに発生し、対応する特徴情報配列が生成されていない場合であっても、その亜種のコンピュータウィルスを検出することが可能であり、コンピュータウィルス検出の確実性が向上する。
以下、本発明の実施の形態のコンピュータウィルス検出装置について、図面を用いて説明する。
図1は、本発明の実施の形態に係るコンピュータウィルス検出装置を適用したコンピュータシステムの構成を示す図である。図1に示すコンピュータシステムは、ゲートウェイやメールサーバ等として機能するものであり、LAN(Local Area Network)400とインターネット500との間の通信を中継するとともに、コンピュータウィルスを検出するコンピュータウィルス検出装置としてのサーバ100と、既知のコンピュータウィルスに対応する特徴情報配列であるシグネチャ等を記憶するデータベース(DB)200と、LAN400に接続されるパーソナルコンピュータ(パソコン)300−1乃至300−k(以下、これらパソコン300−1乃至300−kをまとめて「パソコン300」と称する)と、インターネット500に接続されるパソコン310−1乃至310−j(以下、これらパソコン310−1乃至310−jをまとめて「パソコン310」と称する)とにより構成される。このコンピュータシステムは、オペレーティングシステムとしてマイクロソフトのWindows(登録商標)を実装して動作する。
図1に示すコンピュータシステムにおいて、パソコン310は、パソコン300に向けて、PE(Portable Executable)形式の実行ファイルが添付された電子メールを送信する。サーバ100は、この電子メールを受信する。
DB200には、既知コンピュータウィルスのコードセクションから抽出されたAPI(Application Program Interface)情報の集合(既知コンピュータウィルスAPIシーケンス)、又は、当該API情報に対応するハッシュ値の集合(既知コンピュータウィルスAPIハッシュ値シーケンス)が第1の特徴情報配列として記憶されている。サーバ100は、DB200から既知コンピュータウィルスAPIシーケンスを読み出し、当該既知コンピュータウィルスAPIシーケンスと、電子メールに添付された実行ファイルに対応する第2の特徴情報配列としてのAPI情報の集合(検出対象APIシーケンス)との相似度を算出する。あるいは、サーバ100は、DB200から既知コンピュータウィルスAPIハッシュ値シーケンスを読み出し、当該既知コンピュータウィルスAPIハッシュ値シーケンスと、電子メールに添付された実行ファイルに対応する第2の特徴情報配列としてのAPI情報に対応するハッシュ値の集合(検出対象APIハッシュ値シーケンス)との相似度を算出する。
サーバ100は、算出した相似度が閾値以上である場合に、電子メールに添付された実行ファイルを既知コンピュータウィルスの亜種であると判定し、算出した相似度が閾値以下である場合に、電子メールに添付された実行ファイルを既知コンピュータウィルスの亜種でないと判定する。DB200には、過去に発生した多くの既知コンピュータウィルスのAPIシーケンス、又は、既知コンピュータウィルスAPIハッシュ値シーケンスが第1の特徴情報配列として記憶されている。この場合に、サーバ100は、上述した相似度算出処理をすべての既知コンピュータウィルスのAPIシーケンス、又は、既知コンピュータウィルスのAPIハッシュ値シーケンスに対して行う。サーバ100は、算出した全ての相似度が閾値以下である場合に、電子メールに添付された実行ファイルをコンピュータウィルスでないと判定し、算出したいずれかの類似度が閾値以上である場合に、電子メールに添付された実行ファイルを対応した既知コンピュータウィルスの亜種であると判定する。また、サーバ100は、閾値以上の相似度が複数存在する場合には、電子メールに添付された実行ファイルを複数の対応した既知コンピュータウィルスの亜種であると判定する。サーバ100によるコンピュ−タウィルスの検出動作の詳細については後述する。
そして、サーバ100は、電子メールに添付された実行ファイルがコンピュータウィルスでない場合には、LAN400を介して、パソコン300へ電子メールを送信する。一方、サーバ100は、電子メールに添付された実行ファイルがコンピュータウィルスである場合には、当該電子メールを削除し、パソコン300へは電子メールを送信しない。
以下、フローチャートを参照しつつ、サーバ100によるコンピュータウィルスの検出動作を説明する。図2及び図3は、サーバ100によるコンピュータウィルスの検出動作を示すフローチャートである。
サーバ100は、パソコン310からPE形式の実行ファイルが添付された電子メールを受信すると(S101)、当該PE形式の実行ファイルに基づいて、API複合情報テーブルを生成する(S102)。
図4は、PE形式の実行ファイルと、DLL(Dynamic Link Library)と、API複合情報テーブルとの対応関係を示す図である。PE形式の実行ファイルは、ヘッダ(Head)、コードセクション(.text)、及び、idataセクション(.idata)を有する。DLLは、Windows(登録商標)環境において呼び出し可能な関数を含むファイルである。このDLLに含まれている関数はAPI関数と称され、当該API関数は特定の機能を提供する。全てのPE形式の実行ファイルは、直接あるいは間接にAPI関数を利用する。PE形式の実行ファイルの基本的な動作は、idataセクションの内容と当該idataセクションが利用するAPI関数の並びで表現することができる。
サーバ100は、idataセクションにおけるimport tableの任意の行に記憶されているアドレスを抽出する。この抽出されるアドレスは、DLLに所属するAPI関数が記憶されている領域(エントリーポイント)のアドレスを示すものである。図4の例では、サーバ100は、import tableのアドレス「00040042」に記憶されているアドレス「77879422」を抽出する。このアドレス「77879422」は、USER32.DLLに所属するAPI関数であるGetMessageが記憶されているエントリーポイントのアドレスを示す。
次に、サーバ100は、import tableの各アドレスをキーとし、当該アドレスと、当該アドレスに記憶されているアドレスで特定されるエントリーポイントに記憶されているAPI関数の名称、及び、当該API関数が所属するDLLの名称の組み合わせであるAPI複合情報を生成し、import tableの全ての行に対応したAPI複合情報の集合であるAPI複合情報テーブルを生成する。図4の例では、import tableの領域のアドレス「00040042」がキーとなり、当該アドレス「00040042」に記憶されているアドレス「77879422」で特定されるエントリーポイントに記憶されているAPI関数であるGetMessageの名称、及び、当該GetMessageが所属するDLLであるUSER32.DLLの名称の組み合わせであるAPI情報を対応付けたAPI複合情報を含むAPI複合情報テーブルが生成される。
再び、図2に戻って説明する。次に、サーバ100は、S102にて生成したAPI複合情報テーブルに含まれるAPI情報の集合である検出対象APIシーケンスを取得する(S103)。
具体的には、サーバ100は、PE形式の実行ファイルにおけるコードセクション中に現れる、API関数を呼び出すためのCALL命令が呼び出す命令における引数であるアドレスを抽出する。
PE形式の実行ファイルでは、コンパイラによって生成されたコードセクション中のCALL命令は、API関数を呼び出す際、直接DLLに所属するAPI関数を呼び出さずに、当該CALL命令の引数である、コードセクションのアドレスに存在する命令を呼び出す。図3の例では、コードセクション中のCALL命令は、API関数(例えば、USER32.DLL中のGetMessage)を呼び出す際、直接当該API関数を呼び出さずに、CALL命令の引数である、コードセクションのアドレス「00014408」に存在する、jmp dword ptr(00040042)命令を呼び出す。このJMP命令は、引数であるidataセクション内のimport tableのアドレス「00040042」にジャンプするものである。
更に、サーバ100は、CALL命令が実際に呼び出す命令における引数であるアドレスと、API複合情報テーブル内のキーであるアドレスとを比較する。ここで、コンピュータウィルスの生成過程において、ジャンクバイトの挿入、無条件分岐から条件分岐への置き換え、無条件ジャンプや呼び出し命令から条件付命令への置き換え、無条件ジャンプからジャンプテーブルへの置き換え等の妨害難読化処理がなされている場合には、CALL命令が呼び出す命令における引数であるアドレスと、API複合情報テーブル内のキーであるアドレスとが一致しない。以降の処理は、CALL命令が呼び出す命令における引数であるアドレスと、API複合情報テーブル内のキーであるアドレスとが一致する場合に行われる。
そして、CALL命令が呼び出す命令における引数であるアドレスと、API複合情報テーブル内のキーであるアドレスとが一致する場合には、サーバ100は、API複合情報テーブルにおいて当該キーであるアドレスに対応付けられたAPI関数の名称、及び、当該API関数が所属するDLLの名称の組み合わせを取得し、検出対象APIシーケンスに挿入する。このように、CALL命令が呼び出す命令における引数であるアドレスと、API複合情報テーブル内のキーであるアドレスとが一致する場合にのみ、API複合情報テーブルにおいてキーであるアドレスに対応付けられたAPI関数の名称、及び、当該API関数が所属するDLLの名称の組み合わせを、検出対象APIシーケンスに挿入することで、コンピュータウィルスの検出における妨害難読化処理の影響(例えば誤検出)を排除することができる。
更に、サーバ100は、取得した検出対象APIシーケンスを構成する各API情報に対応する検出対象APIハッシュ値シーケンスを取得する(S104)。
具体的には、サーバ100は、S103にて取得した検出対象APIシーケンスに含まれる各API情報について、当該API情報と1対1に対応するハッシュ値を取得する。例えば、DB200には、予めAPI情報とハッシュ値とが対応付けて記憶されており、サーバ100は、S103にて取得した検出対象APIシーケンスに含まれる各API情報をキーとしてDB200内を検索することにより、当該API情報に対応するハッシュ値を取得することができる。更に、サーバ100は、取得したハッシュ値と、対応するAPI情報とからなるテーブルの行を生成し、import tableの全ての行に対応したAPI情報とハッシュ値とからなるテーブルの行の集合であるハッシュ値テーブルを生成する。そして、サーバ100は、ハッシュ値テーブル内のハッシュ値の集合を、検出対象APIハッシュ値シーケンスとして取得する。例えば、検出対象APIシーケンスであるAPI複合情報テーブルに、API情報が「USER32.DLL FindWindowA」、「USER32.DLL EnumWindows」、「USER32.DLL SendMessageA」、「ADVAPI32.DLL RegOpenKeyExA」、「ADVAPI32.DLL RegQueryValueExA」、「USER32.DLL SendMessageA」の順で含まれる場合、ハッシュ値テーブルは、図5に示すものとなり、検出対象APIハッシュ値シーケンスは、ハッシュ値の集合「879349」となる。
その後、図3に示す動作に移行し、サーバ100は、DB200内の既知コンピュータウィルスAPIハッシュ値シーケンスのうち、未取得のものを1つ取得する(S111)。
ここで、DB200内の既知コンピュータウィルスAPIハッシュ値シーケンスは、以下のようにして得られる。すなわち、サーバ100は、既知のコンピュータウィルスであるPE形式の実行ファイルのidataセクションにおけるimport tableの任意の行に記憶されているアドレスを抽出する。この抽出されるアドレスは、上述したように、DLLに所属するAPI関数が記憶されている領域であるエントリーポイントのアドレスを示す。次に、サーバ100は、import tableの任意の行のアドレスをキーとし、当該アドレスと、当該アドレスに記憶されているアドレスで特定されるエントリーポイントに記憶されているAPI関数の名称、及び、当該API関数が所属するDLLの名称の組み合わせであるAPI情報とからなるAPI複合情報を生成し、import tableの全ての行に対応したAPI複合情報の集合であるAPI複合情報テーブルを生成する。更に、サーバ100は、生成したAPI複合情報テーブルに含まれるAPI情報の集合である既知コンピュータウィルスAPIシーケンスを生成し、その既知コンピュータウィルスAPIシーケンスを構成する各API情報に対応するハッシュ値の集合を、既知コンピュータウィルスAPIハッシュ値シーケンスとして取得する。
次に、サーバ100は、S111にて取得した既知コンピュータウィルスAPIハッシュ値シーケンスと、S104にて取得した検出対象APIハッシュ値シーケンスとの相似性を判断するためのグローバルアライメントを生成する(S112)。
具体的には、以下のようにしてグローバルアライメントが生成される。すなわち、サーバ100は、既知コンピュータウィルスAPIハッシュ値シーケンスにおけるハッシュ値の配列X={x(1),x(2),・・・,x(m)}と、検出対象APIハッシュ値シーケンスにおけるハッシュ値の配列Y={y(1),y(2),・・・,y(n)}とを比較する場合、図6に示すように、配列Xを行、配列Yを列とした、グローバルアライメントに対応するスコア表を生成する。図6に示すスコア表において、スコア値Fは
Figure 2010009269
により算出される。但し、s(x(i),y(j))は、x(i)=y(j)のとき2であり、x(i)≠y(j)のとき=0である。また、dはギャップペナルティである。
更に、サーバ100は、生成したスコア表の右下端から左上端に向けて、公知の手法で辿ってきたスコアを線でつなぐ処理を行い、その線が横線となる場合には配列Yにギャップを挿入するとともに、縦線となる場合には配列Xにギャップを挿入し、斜線となる場合にはギャップを挿入しない。このような処理によって、ギャップが適宜挿入された配列X及び配列Yからなるグローバルアライメントが得られる。
例えば、配列X={8,7,9,3,4,9}、配列Y={8,7,3,4,9,6}であり、ギャップペナルティd=1の場合を考える。この場合、数1を用いると、グローバルアライメントに対応するスコア表は図7に示すものとなる。このスコア表において右下端のスコア「8」から左上端のスコア「0」に向けて辿ってきたスコアを線でつなぐと、図7に示すものとなる。このつないだ線に基づいて、配列X及び配列Yのそれぞれにギャップ(−)が挿入されることにより、配列X={8,7,9,3,4,9,−}、配列Y={8,7,−,3,4,9,6}からなるグローバルアライメントが得られる。
再び、図2に戻って説明する。次に、サーバ100は、生成した、ギャップ挿入後の配列X及び配列Yからなるグローバルアライメントに基づいて、ギャップ挿入後の配列X及び配列Yをそれぞれベクトルとして用いた、Cosine相似関数
Figure 2010009269
による第1の相似度SCosine(X,Y)を算出するとともに、拡張Jaccard相似関数
Figure 2010009269
による第2の相似度SJaccard(X,Y)を算出する。更に、サーバ100は、第1の相似度SCosine(X,Y)と第2の相似度SJaccard(X,Y)との平均値
Figure 2010009269
を、配列Xと配列Yとの最終的な相似度、すなわち、既知コンピュータウィルスAPIハッシュ値シーケンスと、検出対象APIハッシュ値シーケンスとの最終的な相似度として算出する(S113)。
次に、サーバ100は、算出した最終的な相似度が閾値以上であるか否かを判定する(S114)。最終的な相似度が閾値未満である場合には、一連の処理を終了する。一方、最終的な相似度が閾値以上である場合には、サーバ100は、配列Y、すなわち、検出対象APIハッシュ値シーケンスに対応するPE形式の実行ファイルを、配列X、すなわち、既知コンピュータウィルスAPIハッシュ値シーケンスに対応する既知のコンピュータウィルスに対する亜種のコンピュータウィルスであると判定する(S115)。発明者の実験によれば、コンピュータウィルスをコンピュータウィルスでないと誤検出すること、及び、コンピュータウィルスでないものをコンピュータウィルスであると誤検出することを防止するためには、適切な閾値は0.5程度となる。
次に、サーバ100は、S115において亜種のコンピュータウィルスであると判定したPE形式の実行ファイルに対応する検出対象APIハッシュ値シーケンスを、既知コンピュータウィルスAPIハッシュ値シーケンスとしてDB200に記憶させる(S116)。次に、サーバ100は、DB200内の既知コンピュータウィルスAPIハッシュ値シーケンスのうち、未取得のものがあるか否かを判定する(S117)。未取得の既知コンピュータウィルスAPIハッシュ値シーケンスが存在する場合には、サーバ100は、その未取得の既知コンピュータウィルスAPIハッシュ値シーケンスを1つ取得する処理(S111)以降の動作を繰り返す。
一方、未取得の既知コンピュータウィルスAPIハッシュ値シーケンスが存在しない場合には、一連の動作を終了する。その後、再び、PE形式の実行ファイルが添付された電子メールの受信以降の動作が繰り返される場合には、サーバ100は、S111において、DB200内の既存の既知コンピュータウィルスAPIシーケンスのハッシュ値の他に、S116において新たにDB200に記憶された既知コンピュータウィルスAPIハッシュ値シーケンスをも取得し、グローバルアライメントの生成(S112)以降の動作を行う。
このように、本実施形態のコンピュータシステムでは、サーバ100は、DB200に記憶された、既知コンピュータウィルスAPIハッシュ値シーケンスと、受信した電子メールに添付されているPE形式の実行ファイルから得られる検出対象APIハッシュ値シーケンスとの相似度を算出し、当該相似度が閾値以上である場合に、PE形式の実行ファイルを亜種のコンピュータウィルスであると判定する。従って、亜種のコンピュータウィルスに対応するAPIハッシュ値シーケンスがDB200に記憶されていない場合であっても、当該亜種のコンピュータウィルスの検出が可能であり、コンピュータウィルス検出の確実性を向上させることができる。
また、サーバ100は、亜種のコンピュータウィルスであると判定したPE形式の実行ファイルに対応する検出対象APIハッシュ値シーケンスを、新たな既知コンピュータウィルスAPIハッシュ値シーケンスとしてDB200に記憶させることで、その後のコンピュータウィルス検出において、その新たな既知コンピュータウィルスAPIハッシュ値シーケンスをも取得して、電子メールに添付されたPE形式の実行ファイルがコンピュータウィルスであるか否かを判定することにより、更に別の亜種のコンピュータウィルスについても検出が可能となる。
図8及び図9は、本発明を用いた実験によるコンピュータウィルスの検出結果を示す図である。図8は、既知のコンピュータウィルスBagleのシリーズで、上から古い順に発生した亜種のコンピュータウィルスBagle.J、Bagle.K、Bagle.N、Bagle.O、Bagle.W、Bagle.Y、Bagle.Z、Bagle.AB、Bagle.AEの既知コンピュータウィルスAPIハッシュ値シーケンスをDB200に記憶して、Bagle.J、Bagle.K、Bagle.N、Bagle.O、Bagle.W、Bagle.Y、Bagle.Z、Bagle.AB、Bagle.AE及びコンピュータウィルスでないものを、それぞれ電子メールに添付したPE形式の実行ファイルとしてサーバ100に入力した場合における検出結果を示すものである。コンピュータウィルスでないものを除いたすべての受信実行ファイルが、Bagle.J、Bagle.J、Bagle.N、Bagle.O、Bagle.W、Bagle.Y、Bagle.Z、Bagle.ABまたはBagle.AEの既知コンピュータウィルスAPIハッシュ値シーケンスでウィルス(図8の「○」)として判定されている。一方、電子メールに添付したPE形式の実行ファイルがコンピュータウィルスでなければ、それをコンピュータウィルスであると誤検出することはない(図8の「×」)。
図8によれば、Bagle.Jの既知コンピュータウィルスAPIハッシュ値シーケンスでBagle.J自体の受信実行ファイルが検出されるだけでなく、Bagle.KからBagle.AEまでのすべての亜種のコンピュータウィルスが検出される。したがって、図8のBagleシリーズで最初に発生したBagle.Jの既知コンピュータウィルスAPIハッシュ値シーケンスを生成してDB200に記憶することで、Bagle.J、Bagle.K、Bagle.N、Bagle.O、Bagle.W、Bagle.Y、Bagle.Z、Bagle.AB、Bagle.AEのすべての受信実行ファイルを検出できる。更にBagle.K、Bagle.N、Bagle.O、Bagle.W、Bagle.Y、Bagle.Z、Bagle.AB、Bagle.AEの既知コンピュータウィルスAPIハッシュ値シーケンスさえも生成してDB200に記憶することが可能である。
また、図9は、既知のコンピュータウィルスWarezovのシリーズで、上から古い順に発生した亜種のコンピュータウィルスWarezov.C、Warezov.Gen、Warezov.K、Warezov.L、Warezov.N、Warezov.O、Warezov.Q、Warezov.AAの既知コンピュータウィルスAPIハッシュ値シーケンスをDB200に記憶して、Warezov.C、Warezov.Gen、Warezov.K、Warezov.L、Warezov.N、Warezov.O、Warezov.Q、Warezov.AA及びコンピュータウィルスでないものを、それぞれ電子メールに添付したPE形式の実行ファイルとしてサーバ100に入力した場合における検出結果を示すものである。
図9によれば、Warezov.Cの既知コンピュータウィルスAPIハッシュ値シーケンスでWarezov.C自体の受信実行ファイルとWarezov.Qの受信実行ファイルがウィルスとして判定されている。しかし、その他の受信実行ファイルはウィルスとして検出されない。また、Warezov.AAの既知コンピュータウィルスAPIハッシュ値シーケンスでは、Warezov.C及びWarezov.Q以外の受信実行ファイルがウィルスとして判定されている。図8のように、任意の既知コンピュータウィルスAPIハッシュ値シーケンスですべての受信実行ファイルがウィルスとして判定されないが、64個の升目の中で40個(図9の「○」)がウィルスとして判定されている。一方、電子メールに添付したPE形式の実行ファイルがコンピュータウィルスでなければ、それをコンピュータウィルスであると誤検出することはない(図9の「×」)。したがって、図9のWarezovシリーズで最初に発生したWarezov.Cと次に発生したWarezov.Genの既知コンピュータウィルスAPIハッシュ値シーケンスを生成してDB200に記憶することで、Warezov.C、Warezov.Gen、Warezov.K、Warezov.L、Warezov.N、Warezov.O、Warezov.Q、Warezov.AAのすべての受信実行ファイルを検出できる。更にWarezov.K、Warezov.L、Warezov.N、Warezov.O、Warezov.Q、Warezov.AAの既知コンピュータウィルスAPIハッシュ値シーケンスさえも生成してDB200に記憶することが可能である。
なお、上述した実施形態では、既知コンピュータウィルスAPIハッシュ値シーケンスと、検出対象APIハッシュ値シーケンスとの相似度を算出したが、既知コンピュータウィルスAPIシーケンスを第1の特徴情報配列として用い、検出対象APIシーケンスを第2の特徴情報配列として用いて、これらの相似度を算出し、その相似度に応じて、PE形式の実行ファイルがコンピュータウィルスであるか否かを判定するようにしてもよい。
また、上述した実施形態では、サーバ100は、受信した電子メールに添付されたPE形式の実行ファイルについてコンピュータウィルスの検出を行ったが、インターネットを介したウェブ接続等によってPE形式の実行ファイルを入力した場合にも、同様にして当該PE形式の実行ファイルについてコンピュータウィルスの検出を行うことが可能である。また、上述した実施形態では、サーバ100がコンピュータウィルス検出装置として機能する場合について説明したが、クライアントがコンピュータウィルス検出装置として機能する場合にも、同様に本発明を適用することができる。
以上のように、本発明にかかるコンピュータウィルス検出装置、コンピュータウィルス検出方法及びコンピュータウィルス検出プログラムは、コンピュータウィルス検出の確実性を向上させることができ、コンピュータウィルス検出装置、コンピュータウィルス検出方法及びコンピュータウィルス検出プログラムとして有用である。
コンピュータシステムの構成例を示す図である。 サーバによるコンピュータウィルスの検出動作を示す第1のフローチャートである。 サーバによるコンピュータウィルスの検出動作を示す第2のフローチャートである。 PE形式の実行ファイルと、DLLと、API複合情報テーブルとの対応関係を示す図である。 ハッシュ値テーブルの一例を示す図である。 グローバルアライメントに対応するスコア表の構成を示す図である。 数値が挿入されたグローバルアライメントに対応するスコア表の一例を示す図である。 コンピュータウィルスの検出結果の第1の例を示す図である。 コンピュータウィルスの検出結果の第2の例を示す図である。
符号の説明
100 サーバ
200 DB
300−1〜300−k、310−1〜310−j パソコン
400 LAN
500 インターネット

Claims (13)

  1. 既知のコンピュータウィルスの実行に際して処理される命令の配列を表す第1の特徴情報配列を取得する第1の特徴情報配列取得手段と、
    検出対象の実行ファイルの実行に際して処理される命令の配列を表す第2の特徴情報配列を取得する第2の特徴情報配列取得手段と、
    前記第1の特徴情報配列取得手段により取得された前記第1の特徴情報配列と、前記第2の特徴情報配列取得手段により取得された前記第2の特徴情報配列との相似度を導出する相似度導出手段と、
    前記相似度導出手段により導出された前記相似度が閾値以上である場合に、前記検出対象の実行ファイルをコンピュータウィルスであると判定する判定手段とを有するコンピュータウィルス検出装置。
  2. 前記相似度導出手段は、前記第1の特徴情報配列と、前記第2の特徴情報配列とのグローバルアライメントを生成し、その生成したグローバルアライメントに基づいて、Cosine相似関数を利用した第1の相似度と、拡張Jaccard相似関数を利用した第2の相似度とを算出し、更に、前記第1及び第2の相似度の平均値を最終的な相似度として算出する請求項1に記載のコンピュータウィルス検出装置。
  3. 前記第1の特徴情報配列取得手段は、過去に前記判定手段によりコンピュータウィルスであると判定された前記検出対象の実行ファイルの実行に際して処理される命令の配列を表す特徴情報配列を前記第1の特徴情報配列として取得する請求項1又は2に記載のコンピュータウィルス検出装置。
  4. 前記第1の特徴情報配列取得手段は、
    前記既知のコンピュータウィルスのidataセクションにおけるimport tableの任意の行に記憶されている、DLLに所属するAPI関数が記憶されているエントリーポイントを取得し、前記import tableの任意の行のアドレスと、前記エントリーポイントに記憶されているAPI関数の名称、及び、該API関数が所属するDLLの名称とを組み合わせたAPI情報とを対応付けたAPI複合情報を生成し、更に、前記import tableにおける全ての行に対応した前記API複合情報の集合であるAPI複合情報テーブルを生成し、
    前記既知のコンピュータウィルスのコードセクションにおける、API関数を呼び出すための任意のCALL命令が呼び出す命令における引数のアドレスを抽出し、更に前記コードセクション内に存在する全てのCALL命令に対応した前記引数のアドレスの集合であるテーブルを生成し、
    前記テーブル内のアドレスと前記API複合情報テーブル内のアドレスとが一致する場合に、前記API複合情報テーブルにおいて前記引数のアドレスと一致する前記API複合情報中の前記API情報の集合を、前記第1の特徴情報配列として取得する請求項1乃至3のいずれかに記載のコンピュータウィルス検出装置。
  5. 前記第2の特徴情報配列取得手段は、
    前記検出対象の実行ファイルのidataセクションにおけるimport tableの任意の行に記憶されている、DLLに所属するAPI関数が記憶されているエントリーポイントを取得し、前記import tableの任意の行のアドレスと、前記エントリーポイントに記憶されているAPI関数の名称、及び、該API関数が所属するDLLの名称を組み合わせたAPI情報とを対応付けたAPI複合情報を生成し、更に前記import tableにおける全ての行に対応した前記API複合情報の集合であるAPI複合情報テーブルを生成し、
    前記検出対象の実行ファイルのコードセクションにおける、API関数を呼び出すための任意のCALL命令が呼び出す命令における引数のアドレスを抽出し、更に前記コードセクション内に存在する全てのCALL命令に対応した前記引数のアドレスの集合であるテーブルを生成し、
    前記テーブル内のアドレスと前記API複合情報テーブル内のアドレスとが一致する場合に、前記API複合情報テーブルにおいて前記引数のアドレスと一致する前記API複合情報中の前記API情報の集合を、前記第2の特徴情報配列として取得する請求項1乃至4のいずれかに記載のコンピュータウィルス検出装置。
  6. 前記第1の特徴情報配列取得手段は、
    既知のコンピュータウィルスのidataセクションにおけるimport tableの任意の行に記憶されている、DLLに所属するAPI関数が記憶されているエントリーポイントを取得し、前記import tableの任意の行のアドレスと、前記エントリーポイントに記憶されているAPI関数の名称、及び、該API関数が所属するDLLの名称を組み合わせたAPI情報と、該API情報のハッシュ値とを対応付けたテーブルの行を生成し、更に前記import tableの全ての行に対応した前記テーブルの行の集合であるテーブルを生成し、該テーブル内のハッシュ値の集合を、前記第1の特徴情報配列として取得する請求項1乃至5のいずれかに記載のコンピュータウィルス検出装置。
  7. 前記第2の特徴情報配列取得手段は、
    前記検出対象の実行ファイルのidataセクションにおけるimport tableの任意の行に記憶されている、DLLに所属するAPI関数が記憶されているエントリーポイントを取得し、前記import tableの任意の行のアドレスと、前記エントリーポイントに記憶されているAPI関数の名称、及び、該API関数が所属するDLLの名称を組み合わせたAPI情報と、該API情報のハッシュ値とを対応付けたテーブルの行を生成し、更に前記import tableの全ての行に対応した前記テーブルの行の集合であるテーブルを生成し、該テーブル内のハッシュ値の集合を、前記第2の特徴情報配列として生成する請求項1乃至6のいずれかに記載のコンピュータウィルス検出装置。
  8. コンピュータウィルス検出装置におけるコンピュータウィルス検出方法であって、
    前記コンピュータウィルス検出装置は、
    既知のコンピュータウィルスの実行に際して処理される命令の配列を表す第1の特徴情報配列を取得する第1の特徴情報配列取得ステップと、
    検出対象の実行ファイルの実行に際して処理される命令の配列を表す第2の特徴情報配列を取得する第2の特徴情報配列取得ステップと、
    前記第1の特徴情報配列取得ステップにより取得された前記第1の特徴情報配列と、前記第2の特徴情報配列取得ステップにより取得された前記第2の特徴情報配列との相似度を導出する相似度導出ステップと、
    前記相似度導出ステップにより導出された前記相似度が閾値以上である場合に、前記検出対象の実行ファイルをコンピュータウィルスであると判定する判定ステップとを有するコンピュータウィルス検出方法。
  9. 前記相似度導出ステップは、前記第1の特徴情報配列と、前記第2の特徴情報配列とのグローバルアライメントを生成し、その生成したグローバルアライメントに基づいて、Cosine相似関数を利用した第1の相似度と、拡張Jaccard相似関数を利用した第2の相似度とを算出し、更に、前記第1及び第2の相似度の平均値を最終的な相似度として算出する請求項8に記載のコンピュータウィルス検出方法。
  10. 前記第1の特徴情報配列取得ステップは、過去に前記判定手段によりコンピュータウィルスであると判定された前記検出対象の実行ファイルの実行に際して処理される命令の配列を表す特徴情報配列を前記第1の特徴情報配列として取得する請求項8又は9に記載のコンピュータウィルス検出方法。
  11. 既知のコンピュータウィルスの実行に際して処理される命令の配列を表す第1の特徴情報配列を取得する第1の特徴情報配列取得ステップと、
    検出対象の実行ファイルの実行に際して処理される命令の配列を表す第2の特徴情報配列を取得する第2の特徴情報配列取得ステップと、
    前記第1の特徴情報配列取得ステップにより取得された前記第1の特徴情報配列と、前記第2の特徴情報配列取得ステップにより取得された前記第2の特徴情報配列との相似度を導出する相似度導出ステップと、
    前記相似度導出ステップにより導出された前記相似度が閾値以上である場合に、前記検出対象の実行ファイルをコンピュータウィルスであると判定する判定ステップとをコンピュータに実行させるコンピュータウィルス検出プログラム。
  12. 前記相似度導出ステップは、前記第1の特徴情報配列と、前記第2の特徴情報配列とのグローバルアライメントを生成し、その生成したグローバルアライメントに基づいて、Cosine相似関数を利用した第1の相似度と、拡張Jaccard相似関数を利用した第2の相似度とを算出し、更に、前記第1及び第2の相似度の平均値を最終的な相似度として算出する請求項11に記載のコンピュータウィルス検出プログラム。
  13. 前記第1の特徴情報配列取得ステップは、過去に前記判定手段によりコンピュータウィルスであると判定された前記検出対象の実行ファイルの実行に際して処理される命令の配列を表す特徴情報配列を前記第1の特徴情報配列として取得する請求項11又は12に記載のコンピュータウィルス検出プログラム。
JP2008166875A 2008-06-26 2008-06-26 コンピュータウィルス検出装置、コンピュータウィルス検出方法及びコンピュータウィルス検出プログラム Pending JP2010009269A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008166875A JP2010009269A (ja) 2008-06-26 2008-06-26 コンピュータウィルス検出装置、コンピュータウィルス検出方法及びコンピュータウィルス検出プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008166875A JP2010009269A (ja) 2008-06-26 2008-06-26 コンピュータウィルス検出装置、コンピュータウィルス検出方法及びコンピュータウィルス検出プログラム

Publications (1)

Publication Number Publication Date
JP2010009269A true JP2010009269A (ja) 2010-01-14

Family

ID=41589697

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008166875A Pending JP2010009269A (ja) 2008-06-26 2008-06-26 コンピュータウィルス検出装置、コンピュータウィルス検出方法及びコンピュータウィルス検出プログラム

Country Status (1)

Country Link
JP (1) JP2010009269A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011221745A (ja) * 2010-04-08 2011-11-04 Kddi Corp マルウェア判定システムおよびプログラム
CN104252594A (zh) * 2013-06-27 2014-12-31 贝壳网际(北京)安全技术有限公司 病毒检测方法和装置
CN106446676A (zh) * 2016-08-30 2017-02-22 北京奇虎科技有限公司 Pe文件的处理方法及装置
JP2017097843A (ja) * 2015-09-30 2017-06-01 エーオー カスペルスキー ラボAO Kaspersky Lab スクリプトの実行をブロックするシステム及び方法
JP2017097842A (ja) * 2015-10-22 2017-06-01 エーオー カスペルスキー ラボAO Kaspersky Lab アンチウィルス判定の最適化のためのシステム及び方法
US11036564B2 (en) 2017-01-05 2021-06-15 Fujitsu Limited Non-transitory computer-readable storage medium, information processing apparatus and method for detecting malware
US11048799B2 (en) 2017-01-05 2021-06-29 Fujitsu Limited Dynamic malware analysis based on shared library call information
US11449617B2 (en) 2018-02-02 2022-09-20 Nec Corporation Information processing device, information processing method, and storage medium
CN116595527A (zh) * 2023-07-18 2023-08-15 中孚安全技术有限公司 一种内存木马的检测方法、系统、装置及可读存储介质

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011221745A (ja) * 2010-04-08 2011-11-04 Kddi Corp マルウェア判定システムおよびプログラム
CN104252594A (zh) * 2013-06-27 2014-12-31 贝壳网际(北京)安全技术有限公司 病毒检测方法和装置
JP2017097843A (ja) * 2015-09-30 2017-06-01 エーオー カスペルスキー ラボAO Kaspersky Lab スクリプトの実行をブロックするシステム及び方法
JP2019023918A (ja) * 2015-09-30 2019-02-14 エーオー カスペルスキー ラボAO Kaspersky Lab スクリプトの実行をブロックするシステム及び方法
JP2017097842A (ja) * 2015-10-22 2017-06-01 エーオー カスペルスキー ラボAO Kaspersky Lab アンチウィルス判定の最適化のためのシステム及び方法
CN106446676A (zh) * 2016-08-30 2017-02-22 北京奇虎科技有限公司 Pe文件的处理方法及装置
US11036564B2 (en) 2017-01-05 2021-06-15 Fujitsu Limited Non-transitory computer-readable storage medium, information processing apparatus and method for detecting malware
US11048799B2 (en) 2017-01-05 2021-06-29 Fujitsu Limited Dynamic malware analysis based on shared library call information
US11449617B2 (en) 2018-02-02 2022-09-20 Nec Corporation Information processing device, information processing method, and storage medium
CN116595527A (zh) * 2023-07-18 2023-08-15 中孚安全技术有限公司 一种内存木马的检测方法、系统、装置及可读存储介质
CN116595527B (zh) * 2023-07-18 2023-10-20 中孚安全技术有限公司 一种内存木马的检测方法、系统、装置及可读存储介质

Similar Documents

Publication Publication Date Title
JP2010009269A (ja) コンピュータウィルス検出装置、コンピュータウィルス検出方法及びコンピュータウィルス検出プログラム
JP5087661B2 (ja) 正常プロセスに偽装挿入された悪性コード検出装置、システム及びその方法
US9870471B2 (en) Computer-implemented method for distilling a malware program in a system
US9680848B2 (en) Apparatus, system and method for detecting and preventing malicious scripts using code pattern-based static analysis and API flow-based dynamic analysis
US8443449B1 (en) Silent detection of malware and feedback over a network
JP5599892B2 (ja) リンクファイルを使用したマルウェアの検出およびマルウェアへの対応
US20110277033A1 (en) Identifying Malicious Threads
EP3563555A1 (en) System and method for detecting malicious device by using a behavior analysis
WO2017012241A1 (zh) 文件的检测方法、装置、设备及非易失性计算机存储介质
US9614866B2 (en) System, method and computer program product for sending information extracted from a potentially unwanted data sample to generate a signature
US20130239214A1 (en) Method for detecting and removing malware
WO2009064510A1 (en) Risk scoring system for the prevention of malware
JP6711000B2 (ja) 情報処理装置、ウィルス検出方法及びプログラム
WO2018159337A1 (ja) プロファイル生成装置、攻撃検知装置、プロファイル生成方法、および、プロファイル生成プログラム
JP4025882B2 (ja) コンピュータウィルス固有情報抽出装置、コンピュータウィルス固有情報抽出方法及びコンピュータウィルス固有情報抽出プログラム
KR20120078018A (ko) 파일 유전자 지도를 이용하여 파일의 악성코드 포함 여부를 판단하는 방법 및 시스템
US20200412740A1 (en) Methods, devices and systems for the detection of obfuscated code in application software files
US20170034091A1 (en) Dynamic attachment delivery in emails for advanced malicious content filtering
JP2016091549A (ja) マルウェアイベントとバックグラウンドイベントとを分離するためのシステム、デバイス、および方法
CN110648118A (zh) 一种鱼叉邮件检测方法、装置、电子设备及可读存储介质
US20160224791A1 (en) Process testing apparatus, process testing program, and process testing method
WO2016002605A1 (ja) 検知装置、検知方法及び検知プログラム
US20130275981A1 (en) System, method, and computer program product for monitoring an execution flow of a function
JP6169497B2 (ja) 接続先情報判定装置、接続先情報判定方法、及びプログラム
US20160357960A1 (en) Computer-readable storage medium, abnormality detection device, and abnormality detection method