(57)【要約】      （修正有）【課題】正常プロセスに仮装された悪性コードを検出する。【解決手段】悪性コード検出システム２００は、コンピュータシステム上で実行中のプロセスから生成されたスレッド情報を抽出して前記スレッドと関連されたコードを識別して前記識別されたコードの悪性可否を推定して前記悪性と推定されたコードを抽出する悪性コード検出モジュール２１１と、前記抽出されたコードを仮想環境で実行し、行為を分析した結果に基づいて前記コードを悪性コードとして最終判断し、前記コードの実行を強制終了する悪性コード強制終了モジュール２１２と、を含み、コンピュータシステム上で実行中のプロセスから生成されたスレッドが悪性コードによって生成されたスレッドであるか否かを１次的に判断し、悪性と疑われれば、仮想環境での悪性コード行為を追加的に分析する。【選択図】図２
2011233126.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステム上で実行中のプロセスから生成されたスレッド情報を抽出して前記スレッドと関連されたコードを識別し、前記識別されたコードの悪性可否を推定して前記悪性と推定されたコードを抽出する悪性コード検出モジュールと、
前記抽出されたコードを仮想環境で実行し、行為を分析した結果に基づいて前記コードを悪性コードとして最終判断し、前記コードの実行を強制終了する悪性コード強制終了モジュールと、を含むことを特徴とする悪性コード検出装置。
【請求項２】
前記スレッドと関連されたコードは、実行ファイルであるか、または、ＤＬＬ（Ｄｙｎａｍｉｃ  Ｌｉｎｋ  Ｌｉｂｒａｒｙ）であることを特徴とする請求項１に記載の悪性コード検出装置。
【請求項３】
前記悪性コード検出モジュールは、前記プロセスの仮想メモリ、前記識別されたコードのＰＥ（Ｐｏｒｔａｂｌｅ  Ｅｘｅｃｕｔａｂｌｅ）属性、前記識別されたコードのサービス属性及びスレッドスタックのうち少なくとも１つを検査することによって、前記識別されたコードの悪性可否をあらかじめ推定することを特徴とする請求項１に記載の悪性コード検出装置。
【請求項４】
前記悪性コード検出モジュールは、前記スレッド情報を抽出するために前記コンピュータシステム上で動作するプロセスリスト及び各プロセスによって生成されたスレッド情報を抽出することを特徴とする請求項１に記載の悪性コード検出装置。
【請求項５】
前記悪性コード検出モジュールは、前記スレッドを生成したプロセスの仮想メモリに前記スレッドと関連された前記コードに該当するファイル名の文字列が存在するか否かを検査し、当該文字列が存在すれば、前記コードを悪性と推定することを特徴とする請求項１に記載の悪性コード検出装置。
【請求項６】
前記悪性コード検出モジュールは、前記識別されたコードのＰＥ属性を検査し、未知のセクションが存在する場合、前記コードを悪性と推定することを特徴とする請求項１に記載の悪性コード検出装置。
【請求項７】
前記悪性コード検出モジュールは、前記識別されたコードのＰＥ属性を検査し、チェックサムが正しくないか、前記ＰＥ属性内のファイルサイズと検出器から出たファイルサイズが異なる場合、前記コードを悪性と推定することを特徴とする請求項１に記載の悪性コード検出装置。
【請求項８】
前記悪性コード検出モジュールは、前記識別されたコードによって行われるサービス属性を検査し、前記サービスが他のサービスとの連関性及び従属性がないか、自動開始に設定されている場合、前記コードを悪性と推定することを特徴とする請求項１に記載の悪性コード検出装置。
【請求項９】
前記悪性コード検出モジュールは、前記スレッドと関連されたコードが識別されない場合、スレッドスタックを追跡し、前記スレッドが使用中のＤＬＬリストを獲得し、前記獲得されたＤＬＬのＰＥ属性を検査することによって、前記ＤＬＬの悪性可否を推定することを特徴とする請求項１に記載の悪性コード検出装置。
【請求項１０】
前記悪性コード強制終了モジュールは、前記コードの行為分析結果が運営体制防火壁及びワクチン無力化行為、仮想環境識別行為、ファイル及びレジストリに対する生成／変更行為のうち１つに該当する場合、前記コードを悪性コードとして最終判断することを特徴とする請求項１に記載の悪性コード検出装置。
【請求項１１】
コンピュータシステム上で実行中のプロセスから生成されたスレッド情報を抽出して前記スレッドと関連されたコードを識別し、前記識別されたコードの悪性可否を推定して前記悪性と推定されたコードを抽出する悪性コード検出モジュールと、前記抽出されたコードの仮想環境行為分析結果に基づいて前記コードを悪性コードとして最終判断し、前記コードの実行を強制終了する悪性コード強制終了モジュールとを備える悪性コード検出装置と、
前記悪性コード検出モジュールによって抽出されたコードを仮想環境で実行し、前記コードの行為に対するログを生成するログ生成モジュールと、前記ログを利用して前記コードの行為が運営体制防火壁及びワクチン無力化行為、仮想環境識別行為、ファイル及びレジストリに対する生成または変更行為のうち１つに該当するか否かを分析し、前記分析結果を前記悪性コード強制終了モジュールに伝達する悪性行為識別モジュールとを備える仮想環境悪性コード行為分析装置と、を含むことを特徴とする悪性コード検出システム。
【請求項１２】
前記悪性コード検出装置は、クライアントで動作し、前記仮想環境悪性コード行為分析装置は、サーバーで動作することを特徴とする請求項１１に記載の悪性コード検出システム。
【請求項１３】
前記悪性コード検出モジュールは、前記仮想環境悪性コード行為分析装置に前記抽出されたコードの仮想環境行為分析を要請することを特徴とする請求項１２に記載の悪性コード検出システム。
【請求項１４】
コンピュータシステム上で実行中のプロセスリスト及び各プロセスに属するスレッド情報を抽出する段階と、
前記スレッドと関連されたコードを識別し、前記プロセスの仮想メモリ、前記コードのＰＥ属性、前記コードとサービスプロセスとの連関性及びスレッドスタックのうち少なくとも１つを検査することによって、前記識別されたコードの悪性可否を推定する段階と、
前記悪性と推定されたコードの悪性脅威度を算出する段階と、
前記算出された悪性脅威度がしきい値以上のコードを抽出し、仮想環境悪性コード行為分析装置に分析要請する段階と、
前記仮想環境悪性コード行為分析装置から受信された分析結果に基づいて前記コードを悪性コードとして最終判断する段階と、
前記悪性コードとして最終判断されたコードの実行を強制終了する段階と、を含むことを特徴とする悪性コード検出方法。
【請求項１５】
前記コードを悪性コードとして最終判断する段階は、前記仮想環境悪性コード行為分析装置の分析結果が運営体制防火壁及びワクチン無力化行為、仮想環境識別行為、ファイル及びレジストリに対する生成／変更行為のうち１つに該当する場合、前記コードを悪性コードとして最終判断することを特徴とする請求項１４に記載の悪性コード検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、正常プロセスに偽装挿入された悪性コードを検出するための装置、システム及び方法に関し、さらに詳細には、コンピュータシステム上で実行中のプロセスのスレッド情報を抽出し、悪性コードによって生成されたスレッドであるか否かを識別し、仮想環境での悪性コード行為を分析し、正常プロセスに偽装挿入された悪性コードを検出するシステム及び方法に関する。
【背景技術】
【０００２】
最近、インターネットサービスが多様化されるにつれ、インターネット使用率が増加していて、これによって、コンピュータウイルスやインターネットワームなどのような悪性コードがインターネットを介して広く拡散され、ユーザに多くの被害をもたらしている。特に、２００９年７７大乱を誘発したボット（ｂｏｔ）のような悪性コードによる被害が続出している。このような悪性コードは、自分がサーバーの役目をするために、正常プロセスにスレッドを挿入し、Ｃ＆Ｃ（Ｃｏｍｍａｎｄ  ａｎｄ  Ｃｏｎｔｒｏｌ）によって統制を受けながら、ユーザＰＣで悪性行為を行う。このような悪性コードは、自分の存在を隠すために、ＤＬＬインジェクションまたはコードインジェクション技法を用いて正常プロセスに仮装し、自分を隠す。
【０００３】
従来の悪性コード検出方法は、バイナリーハッシュ値または特定領域の連続されたバイトシーケンス（ｂｙｔｅ  ｓｅｑｕｅｎｃｅ）をシグネチュアに生成比較し、悪性可否を判断し、当該プロセスを強制終了させ、ファイルを削除する。しかし、バイナリーパターン比較方式に依存するので、既に知られており、悪性コードのバイナリーパターンデータベースに登録されている悪性コードに対しては、確実な診断率を期待することができるが、まだ知られていない悪性コードに対しては、診断自体が不可能であるという短所がある。
【０００４】
また、悪性コードの検出及び処理のために、特定のＡＰＩをフッキング（ｈｏｏｋｉｎｇ）するか、または、カーネル階層でのフッキングを利用する方法があるが、前者の場合は、特定のＡＰＩのみを対象にフッキングして悪性コードの行為を中間でモニタリングし、ユーザの判断によって悪性可否を判断し、遮断可否を決定しなければならないし、また、後者の場合は、システムの誤動作による深刻な障害を誘発することがあり得るという問題がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】韓国特許登録第１０−０７８６７２５号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、前述のような問題点を解決するためになされたもので、その目的は、コンピュータシステム上で実行中のプロセスから生成されたスレッドが悪性コードによって生成されたスレッドであるか否かを１次的に判断し、悪性と疑われれば、仮想環境での悪性コード行為を追加的に分析することによって、正常プロセスに仮装された悪性コードを検出するシステム及び方法を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の一実施例による悪性コード検出装置は、コンピュータシステム上で実行中のプロセスから生成されたスレッド情報を抽出して前記スレッドと関連されたコードを識別し、前記識別されたコードの悪性可否を推定して前記悪性と推定されたコードを抽出する悪性コード検出モジュールと、前記抽出されたコードを仮想環境で実行し、行為を分析した結果に基づいて前記コードを悪性コードとして最終判断し、前記コードの実行を強制終了する悪性コード強制終了モジュールと、を含む。
【０００８】
本発明の他の実施例による悪性コード検出システムは、コンピュータシステム上で実行中のプロセスから生成されたスレッド情報を抽出して前記スレッドと関連されたコードを識別し、前記識別されたコードの悪性可否を推定して前記悪性と推定されたコードを抽出する悪性コード検出モジュールと、前記抽出されたコードの仮想環境行為の分析結果に基づいて前記コードを悪性コードとして最終判断し、前記コードの実行を強制終了する悪性コード強制終了モジュールとを備える悪性コード検出装置と、前記悪性コード検出モジュールによって抽出されたコードを仮想環境で実行し、前記コードの行為に対するログを生成するログ生成モジュールと、前記ログを利用して前記コードの行為が運営体制防火壁及びワクチン無力化行為、仮想環境識別行為、ファイル及びレジストリに対する生成または変更行為のうち１つに該当するか否かを分析し、前記分析結果を前記悪性コード強制終了モジュールに伝達する悪性行為識別モジュールとを備える仮想環境悪性コード行為分析装置と、を含む。
【０００９】
さらに、本発明の他の実施例による悪性コード検出方法は、コンピュータシステム上で実行中のプロセスリスト及び各プロセスに属するスレッド情報を抽出する段階と、前記スレッドと関連されたコードを識別し、前記プロセスの仮想メモリ、前記コードのＰＥ属性、前記コードとサービスプロセスとの連関性及びスレッドスタックのうち少なくとも１つを検査することによって、前記識別されたコードの悪性可否を推定する段階と、前記悪性と推定されたコードの悪性脅威度を算出する段階と、前記算出された悪性脅威度がしきい値以上のコードを抽出して仮想環境悪性コード行為分析装置に分析要請する段階と、前記仮想環境悪性コード行為分析装置から受信された分析結果に基づいて前記コードを悪性コードとして最終判断する段階と、前記悪性コードとして最終判断されたコードの実行を強制終了する段階と、を含む。
【発明の効果】
【００１０】
本発明による悪性コード検出システム及び方法を利用すれば、既に発見された悪性コードだけでなく、まだ発見されていない悪性コードや既に発見された悪性コードの変形されたコードをも検出することができるようになり、悪意的行為の可能性がある未知の悪性コードにも効果的に対応することができると共に、事故調査用として活用することができる。
【００１１】
また、コンピュータシステム上で実行中のプロセスから生成されたスレッドを抽出して、悪性コードによって生成されたスレッドであるか否かを１次的に判断し、悪性と疑われれば、仮想環境での悪性コード行為を追加的に分析することによって、悪性コードの誤検出率を低減することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明による悪性コード検出システムを利用して正常プロセスに偽装挿入された悪性コードを検出する概念を説明する図である。
【図２】本発明の一実施例による悪性コード検出システムの構成を示すブロック図である。
【図３】本発明の一実施例によって正常プロセスに偽装挿入された悪性コードを検出する方法を示す流れ図である。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照して本発明の実施例について本発明の属する技術分野における通常の知識を有する者が容易に実施することができるように詳細に説明する。しかし、本発明は、様々な他の形態に変形されることができ、本発明の範囲が下記実施例に限定されるものではない。なお、図面において、本発明を正確に説明するために、説明と関係ない部分を省略し、明細書全般において、同一の参照符号は同一の構成要素を示す。
【００１４】
また、明細書全般において、或る部分が任意の構成要素を「含む」とするとき、これは、特に反対される記載がない限り、他の構成要素を除外するものではなく、他の構成要素をさらに含むことができることを意味する。また、明細書に記載された「…部」、「モジュール」などの用語は、少なくとも１つの機能や動作を処理する単位を意味し、これは、ハードウェアやソフトウェアまたはハードウェア及びソフトウェアの組合せによって具現されうる。
【００１５】
図１は、本発明による悪性コード検出装置を利用して正常プロセスに偽装挿入された悪性コードを検出する概念を説明する図である。図示のように、一般プロセス１、３は、一般スレッドを生成する。一方、悪性プロセス２は、自分のプロセスを隠すために、他の正常プロセス１、３に悪性行為を行う悪性コードをＤＬＬインジェクションまたはコードインジェクション技法を利用して挿入する。挿入された悪性コードは、正常プロセスの一部分のように動作するようになるので、識別が困難であり、挿入された悪性コードによって悪性行為を担当する悪性スレッド２０、３０が生成される。本発明による悪性コード検出システム１００は、このような正常プロセスに挿入された悪性スレッド２０、３０を検出するためのものである。
【００１６】
図２は、本発明の一実施例による悪性コード検出システムの構成を示すブロック図である。
【００１７】
悪性コード検出システム２００は、コンピュータシステム上で実行中のプロセスから生成されたスレッド情報を抽出して前記スレッドと関連されたコードを識別し、前記識別されたコードの悪性可否を検査して悪性と疑われるコードを抽出する悪性コード検出装置２１０と、悪性コード検出装置２１０によって抽出されたコードを仮想環境で実行し、悪性行為を分析する仮想環境悪性コード行為分析装置２２０とを含む。
【００１８】
具体的に、悪性コード検出装置２１０は、悪性コード検出モジュール２１１と悪性コード遮断及び強制終了モジュール２１２とを含む。一実施例において、悪性コード検出装置２１０は、ユーザＰＣで実行されるものと記載されているが、その他、ラップトップ、携帯用コンピュータまたはタブレットなどネットワーク機能を具備した多様な類型の機器のうち１つで行われることができ、これらに限定されない。
【００１９】
悪性コード検出モジュール２１１０は、コンピュータシステム上で実行中のプロセスから生成されたスレッド情報を抽出してスレッドと関連されたコードを識別し、前記識別されたコードの悪性可否を推定して前記悪性と推定されるコードを抽出し、悪性コード行為分析装置２２０に伝達する。前記スレッドと関連されたコードは、コンピュータ上で実行中の実行ファイルであるか、またはプロセスに動的にリンクされたＤＬＬ（Ｄｙｎａｍｉｃ  Ｌｉｎｋ  Ｌｉｂｒａｒｙ）である。悪性コード検出モジュール２１０は、前記プロセスの仮想メモリ、前記識別されたコードのＰＥ（Ｐｏｒｔａｂｌｅ  Ｅｘｅｃｕｔａｂｌｅ）属性、前記識別されたコードのサービスプロセスとの連関性及び前記スレッドと関連されたスレッドスタックのうち少なくとも１つを検査することによって、前記コードの悪性可否を推定する。本発明による悪性可否推定過程は、図３を参照してさらに詳しく後述する。
【００２０】
悪性コード遮断及び強制終了モジュール２１２は、悪性コード行為分析装置２２０の分析結果に基づいて前記コードを悪性コードとして最終判断し、前記コードの実行を強制終了する。また、前記悪性コードをクライアントのメモリから削除することができる。
【００２１】
仮想環境悪性コード行為分析装置２２０は、悪性コード検出装置２１０から伝達されたコードを仮想環境で実行させて、コードの行為を分析し、分析結果を悪性コード検出装置２１０に提供する役目をする。図面において、仮想環境悪性コード行為分析装置２２０は、悪性コード検出装置２１０が実行されるユーザＰＣと物理的に区別されるサーバー上で実行されるものと記載されており、このような実施例に限定されるものではなく、具現によっては悪性コード検出装置２１０と同一のシステム上に具現可能である。
【００２２】
具体的に、仮想環境悪性コード行為分析装置２２０は、悪性コード行為ログ生成モジュール２２１と悪性行為分析モジュール２２２とを含む。
【００２３】
悪性コード行為ログ生成モジュール２２１は、悪性コード検出装置２１０から伝達されたコードを仮想環境で実行し、コードの行為に対するログを生成する。悪性行為分析モジュール２２２は、ログを分析し、前記コードの行為が運営体制防火壁及びワクチン無力化行為、仮想環境識別行為、ファイル及びレジストリに対する生成または変更行為であるか否かを分析し、前記分析結果を悪性コード検出装置２１０の悪性コード遮断及び強制終了モジュール２１２に伝送する。
【００２４】
仮想環境をエミュレーションしてコードの行為を分析する過程は、サンドボックス（Ｓａｎｄｂｏｘ）など本技術分野に公知されたツールを利用して具現することができるので、これに関する詳しい説明は、本明細書で省略する。
【００２５】
図３は、本発明の一実施例によって正常プロセスに偽装挿入された悪性コードを検出する方法を示す流れ図である。図３には、便宜上、段階Ｓ３１１乃至段階Ｓ３１９は、悪性コード検出装置２１０で行われ、段階Ｓ３２１乃至段階Ｓ３２３は、仮想環境悪性コード行為分析装置２２０で行われるものと示されているが、これは、一例に過ぎず、本発明の段階Ｓ３１１乃至Ｓ３１９及び段階Ｓ３２１乃至Ｓ３２３が必ず物理的に分離された装置上で具現されるものに限定されるわけではない。
【００２６】
段階Ｓ３１１で、システム上で動作するプロセスリストを抽出し、各プロセスに属するスレッド情報、例えば、スレッド個数、各スレッドの開始アドレス及びベースアドレスを抽出する。
【００２７】
段階Ｓ３１２で、スレッドに対する悪性可否を検査する。具体的に、悪性可否は、スレッドを生成した主体識別段階Ｓ３１２１、仮想メモリ検査段階Ｓ３１２２、ＰＥ（Ｐｏｒｔａｂｌｅ  Ｅｘｅｃｕｔａｂｌｅ）分析段階Ｓ３１２３、サービスプロセス検査Ｓ３１２４及びスレッドスタック検査段階Ｓ３１２５を含む。
【００２８】
まず、段階Ｓ３１２１で、スレッドを生成したコード、すなわち、実行ファイルまたはＤＬＬを識別する。ＤＬＬを識別するためには、スレッドを生成したプロセスにリンクされたＤＬＬのうち動的リンクされたＤＬＬを抽出し、ＤＬＬのベースアドレスとメモリにマップされた（ｍａｐｐｅｄ）サイズを求める。実行ファイルまたは動的リンクされたＤＬＬのうちベースアドレスとメモリにマップされた範囲が当該スレッドの開始アドレスを含んでいる実行ファイルまたはＤＬＬを検索し、当該スレッドを生成した実行ファイルまたはＤＬＬを識別する。
【００２９】
仮想メモリ検査段階Ｓ３１２２で、スレッドを生成したプロセスの仮想メモリに段階Ｓ３１２２で識別されたＤＬＬファイル名の文字列があるか否かを検査し、ＤＬＬファイル名の文字列が存在する場合、当該ＤＬＬがＤＬＬインジェクション技術を利用して正常プロセスに偽装挿入された悪性コードである可能性があると判断する。
【００３０】
ＰＥ分析段階Ｓ３１２３で、前記識別されたＤＬＬのＰＥフォーマットを検査し、非正常的な要素があるか否かを判断する。一例として、ＰＥフォーマットに多く使用されるビジュアルスタジオ、Ｃ＋＋ビルダー、デルファイ、ビジュアルベーシックなどの汎用コンパイラによって生成されたデータ以外の未知の（ｕｎｋｎｏｗｎ）セクションが含まれていれば、当該ＤＬＬが正常プロセスに偽装挿入された悪性コードである可能性があると判断する。また、チェックサムが正しくないか、ＰＥ属性内のファイルサイズと探索器から出たファイルサイズが異なる場合にも、当該ＤＬＬが悪性である可能性があると判断する。
【００３１】
サービスプロセス検査段階Ｓ３１２４で、前記識別されたＤＬＬがウィンドウ運営体制で実行中のサービスプロセスに動的リンクされているか否か、そしてサービス情報が含まれているレジストリに当該ＤＬＬを含むサービスがあるか否かを検査する。ＤＬＬを含んでいるサービスがある場合、当該サービスの属性、例えばサービスタイプ、開始類型、従属性、所属グループ情報などを検査する。検査結果、ＤＬＬを含んでいるサービスが他のサービスとの連関性及び従属性がないか、または、自動開始が設定されている場合、悪性ＤＬＬによって生成されたサービスである可能性があると判断する。
【００３２】
スレッドスタック検査段階Ｓ３１２５から段階Ｓ３１２１までにおいて、当該スレッドを生成したＤＬＬが発見されない場合、スレッドスタックを追跡し、スレッドが使用中のＤＬＬリストを順次に獲得した後、ＤＬＬのＰＥ属性を検査し、未知のセクションがあるか否かを検査する。ＤＬＬのＰＥ検査は、前述の段階Ｓ３１２３と同一である。検査結果、未知のセクションがあるＤＬＬを正常プロセスに偽装挿入された悪性コードである可能性があると判断する（Ｓ３１２５）。
【００３３】
段階Ｓ３１３で、悪性コードによって生成されたものと推定されるＤＬＬの悪性脅威度を算出する。一例として、前述の段階（Ｓ３１２１乃至Ｓ３１２５）の検査過程では、当該ＤＬＬが悪性である可能性があると判断された場合、これに対応するフラグを設定する。例えば、仮想メモリ検査段階Ｓ３１２２で、当該ＤＬＬファイル名の文字列が存在すれば、ＤＬＬインジェクションフラグを設定する。ＰＥ分析段階Ｓ３１２３では、ＰＥフォーマット内に未知の（Ｕｎｋｎｏｗｎ）セクションがあれば、未知のセクションフラグを設定し、チェックサムが正しくない場合、チェックサムフラグを設定し、ＰＥ属性内のファイルサイズと検出器から出たファイルサイズが異なる場合、ファイルサイズフラグを設定する。サービスプロセス検査段階Ｓ３１２４では、サービスフラグを、スレッドスタック検査段階Ｓ３１２５では、スレッドスタックフラグを設定する。
【００３４】
悪性可否による脅威度算出段階Ｓ３１３では、前述の検査段階で設定されたフラグによって点数を「高い」、「中間」、「低い」の３段階で脅威点数を計算する。例えば、インジェクションされたＤＬＬの場合、高い（１０点）、未知のセクションの場合、低い（１点）、サービスで動作するＤＬＬの場合、中間（５点）などのような方式で脅威度を算出する。
【００３５】
段階Ｓ３１４において、段階Ｓ３１３で求められた悪性脅威度がしきい値以上の場合、前記スレッドを悪性スレッドであると判断し、そうでない場合は、次のスレッドに対して悪性可否を検査するために段階Ｓ３１２に戻る。
【００３６】
段階Ｓ３１５において、悪性スレッドとして判断されたスレッドと関連された実行ファイルまたはＤＬＬファイルを抽出する。
【００３７】
段階Ｓ３１６において、抽出された実行ファイルまたはＤＬＬ（以下、コードという）を仮想環境悪性コード行為分析装置２２０に伝送し、分析を要請する。
【００３８】
段階Ｓ３２１において、仮想環境悪性コード行為分析装置２２０は、悪性コード検出装置２１０によって悪性脅威度が高いと判断されたコードを受信する。
【００３９】
段階Ｓ３２２において、仮想環境で当該コードを実行し、ファイル及びレジストリの接近、ネットワーク送受信行為に対するログを生成し、ログ分析を通じて前記コードの行為が運営体制防火壁及びワクチンを無力化する行為であるか否か、自分が実行される環境であるかまたは仮想環境であるかを確認する行為、ファイル及びレジストリを生成したり変更したりする行為を含む悪性行為のうち１つに該当するか否かを判断する。
【００４０】
段階Ｓ３２３において、前記分析結果を悪性コード検出装置２１０に伝送する。
【００４１】
段階Ｓ３１７において、分析結果を受信し、段階Ｓ３１８で分析結果が悪性行為に該当する場合、前記実行コードを悪性コードとして最終判断する。
【００４２】
段階Ｓ３１９において、前記悪性コードの実行を強制終了し、当該コードを削除する。
【００４３】
以上、本発明について好ましい実施例を中心に説明した。本発明の属する技術分野における通常の知識を有する者は、本発明が本発明の本質的な特性から逸脱しない範囲内で変形された形態で具現されることができることを理解することができるだろう。したがって、開示された実施例は、限定的な観点でなく、説明的な観点で考慮されなければならない。本発明の範囲は、前述の説明ではなく、特許請求範囲に示されており、それと同等な範囲内にあるすべての差異点は、本発明に含まれたものと解すべきである。
【符号の説明】
【００４４】
１、３      一般プロセス
２          悪性プロセス
１０、４０  一般スレッド
２０、３０  悪性スレッド
１００      悪性コード検出システム
【図１】
2011233126.tif 000003
【図２】
2011233126.tif 000004
【図３】
2011233126.tif 000005