(57)【要約】【課題】データの侵入コードの可否を判断できる免疫データベースを差別化して生成することを目的とし、侵入コード探知装置およびその方法が開示される。【解決手段】本発明の侵入コード探知装置は、グループ別にそれぞれ差別化された設定値が入力される設定値入力部と、前記設定値に基づいて免疫データベースを生成する免疫データベース生成部と、前記生成された免疫データベースに基づいてデータの侵入コードの可否を判断する侵入コード判断部とを含むことを特徴にする。【選択図】図１
2008192127.tif 000002
【特許請求の範囲】
【請求項１】
複数のグループのうち、各グループ別に差別化された設定値が入力される設定値入力部と、
前記設定値に基づいて免疫データベースを生成する免疫データベース生成部と、
前記生成された免疫データベースに基づいてデータの侵入コードの可否を判断する侵入コード判断部と、
を含むことを特徴とする侵入コード探知装置。
【請求項２】
前記設定値は、
グループを区分するためのグループ特性キーと、安全なコードである常駐コードリストと、前記免疫データベースのプールを生成するためのランダムプール生成因子とを含むことを特徴とする請求項１に記載の侵入コード探知装置。
【請求項３】
前記免疫データベース生成部は、
前記グループ特性キーを用いて前記常駐コードのフィーチャを抽出するフィーチャ抽出部と、
前記グループ特性キーおよび前記ランダムプール生成因子に基づいてランダムプールフィーチャを生成するプールフィーチャ生成部と、
前記抽出された常駐コードのフィーチャおよび前記生成されたランダムプールフィーチャの類似性を演算する類似性演算部と、
前記ランダムプールフィーチャのうち、演算された類似性値が臨界値以下である特徴を前記免疫データベースとして生成する免疫データベース生成管理部と、
を含むことを特徴とする請求項２に記載の侵入コード探知装置。
【請求項４】
前記プールフィーチャ生成部は、
前記グループ特性キーの長さおよび前記ランダムプール生成因子に含まれたランダムプールの大きさに基づいて前記ランダムプールフィーチャを生成することを特徴とする請求項３に記載の侵入コード探知装置。
【請求項５】
前記臨界値は、
前記ランダムプール生成因子に設定された値であることを特徴とする請求項３に記載の侵入コード探知装置。
【請求項６】
前記侵入コード判断部は、
前記グループ特性キーを用いて前記データのフィーチャを抽出するデータフィーチャ抽出部と、
前記抽出されたデータのフィーチャと前記免疫データベースのフィーチャとの類似性を演算するデータ類似性演算部と、
前記演算された類似性値が既決定された臨界値以上であれば、前記データを侵入コードとして判断する侵入コード判断管理部と、
を含むことを特徴とする請求項２に記載の侵入コード探知装置。
【請求項７】
前記侵入コード判断部は、
前記侵入コードの可否を判断するためのデータを収集するデータ収集部、
をさらに含み、
前記データフィーチャ抽出部は、前記収集されたデータそれぞれのフィーチャを抽出することを特徴とする請求項６に記載の侵入コード探知装置。
【請求項８】
前記侵入コード判断部は、
前記生成された免疫データベースに基づいて、内部に保存された実行ファイルデータの侵入コードの可否を判断することを特徴とする請求項１に記載の侵入コード探知装置。
【請求項９】
前記侵入コード判断部は、
前記生成された免疫データベースに基づいて、内部に保存されたデータの侵入コードの可否を判断することを特徴とする請求項１に記載の侵入コード探知装置。
【請求項１０】
前記侵入コード判断部は、
前記生成された免疫データベースに基づいて、リアルタイムで入力されるデータの侵入コードの可否を判断することを特徴とする請求項１に記載の侵入コード探知装置。
【請求項１１】
前記グループは、
少なくとも１つ以上のコンピュータで成されたことを特徴とする請求項１に記載の侵入コード探知装置。
【請求項１２】
グループ別にそれぞれ差別化された設定値が入力される段階と、
前記設定値に基づいて免疫データベースを生成する段階と、
前記生成された免疫データベースに基づいてデータの侵入コードの可否を判断する段階と、
を含むことを特徴とする侵入コード探知方法。
【請求項１３】
前記設定値は、
グループを区分するためのグループ特性キーと、安全なコードである常駐コードリストと、前記免疫データベースのプールを生成するためのランダムプール生成因子とを含むことを特徴とする請求項１２に記載の侵入コード探知方法。
【請求項１４】
前記免疫データベースを生成する段階は、
前記グループ特性キーを用いて前記常駐コードのフィーチャを抽出する段階と、
前記グループ特性キーおよび前記ランダムプール生成因子に基づいてランダムプールフィーチャを生成する段階と、
前記抽出された常駐コードのフィーチャおよび前記生成されたランダムプールフィーチャの類似性を演算する段階と、
前記ランダムプールフィーチャのうち、演算された類似性値が臨界値以下であるフィーチャを前記免疫データベースとして生成する段階と、
を含むことを特徴とする請求項１３に記載の侵入コード探知方法。
【請求項１５】
前記ランダムプールフィーチャを生成する段階は、
前記グループ特性キーの長さおよび前記ランダムプール生成因子に含まれたランダムプールの大きさに基づいて前記ランダムプールフィーチャを生成することを特徴とする請求項１４に記載の侵入コード探知方法。
【請求項１６】
前記臨界値は、
前記ランダムプール生成因子に設定された値であることを特徴とする請求項１４に記載の侵入コード探知方法。
【請求項１７】
前記データの侵入コードの可否を判断する段階は、
前記グループ特性キーを用いて前記データのフィーチャを抽出する段階と、
前記抽出されたデータのフィーチャと前記免疫データベースのフィーチャとの類似性を演算する段階と、
前記演算された類似性値が臨界値以上であれば、前記データを侵入コードとして判断する段階と、
を含むことを特徴とする請求項１３に記載の侵入コード探知方法。
【請求項１８】
前記データの侵入コードの可否を判断する段階は、
前記侵入コードの可否を判断するためのデータを収集する段階、
をさらに含み、
前記データのフィーチャを抽出する段階は、前記収集されたデータそれぞれのフィーチャを抽出することを特徴とする請求項１７に記載の侵入コード探知方法。
【請求項１９】
前記データの侵入コードの可否を判断する段階は、
前記生成された免疫データベースに基づいて、内部に保存された実行ファイルデータの侵入コードの可否を判断することを特徴とする請求項１２に記載の侵入コード探知方法。
【請求項２０】
前記データの侵入コードの可否を判断する段階は、
前記生成された免疫データベースに基づいて、内部に保存されたデータの侵入コードの可否を判断することを特徴とする請求項１２に記載の侵入コード探知方法。
【請求項２１】
前記データの侵入コードの可否を判断する段階は、
前記生成された免疫データベースに基づいて、リアルタイムで入力されるデータの侵入コードの可否を判断することを特徴とする請求項１２に記載の侵入コード探知方法。
【請求項２２】
請求項１２〜２１のいずれか一項の方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、侵入コード探知に関し、より詳細には、コンピュータ別に個人特性を設定し、差別化された免疫データベースを介して侵入コードの可否を探知する侵入コード探知装置およびその方法に関する。
【背景技術】
【０００２】
コンピュータによる有無線通信の発達に伴い、ウイルス（ｖｉｒｕｓ）、ワーム（ｗｏｒｍ）、トロイの木馬（Ｔｒｏｊａｎ）、スパム（ｓｐａｍ）、ハッキングツール（ｈａｃｋｉｎｇ  ｔｏｏｌ）などの悪性コードが拡散するようになった。このような悪性コードの拡散を防止および検出するために、悪性コードを検出する技術が必要とされている。
【０００３】
従来の悪性コードを検出する技術では、悪性コードに対するシグネチャ（ｓｉｇｎａｔｕｒｅ）をデータベースとして構成し、データベースに構成されたシグネチャを含むデータを悪性コードとして検出している。
【０００４】
しかし、従来の悪性コードを検出する技術は、存在するすべての悪性コードの検出が不可能であるため、新種または変種の悪性コードが拡散するようになれば、この悪性コードの検出および感染が画一的に発生してしまう。
【０００５】
すなわち、拡散した悪性コードによってコンピュータが感染され、コンピュータを感染させた悪性コードが他のコンピュータにまで拡散するようになれば、悪性コードに接したコピュータも感染してしまう。このように、悪性コードに接したすべてのコンピュータは同じように感染されてしまう。言い換えれば、ある特定のコンピュータで悪性コードが検出されれば、すべてのコンピュータでも同じように悪性コードの検出される可能性がある。
【０００６】
上述のように、従来の悪性コードを検出する技術は、すべてのコンピュータで同じように検出が行われ、検出が不可能な悪性コードに接すれば、同じように感染されるという問題がある。これは、悪性コードを検出するデータベースが、すべてのコンピュータに同じように構成されるためである。
【０００７】
したがって、悪性コードの画一的な検出および悪性コードによる画一的な感染を防ぎ、一部のシステムにて悪性コードに対する耐性を有し得る装置の必要性が高まっている。
【特許文献１】特開平１１−１６７４８７号公報
【特許文献２】韓国特許出願公開第２００３−０８７１９５号公報
【特許文献３】韓国特許出願公開第２００４−０９０３７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、上述した従来技術の問題点を解決するために案出されたものであって、データの侵入コードの可否を判断できる免疫データベースを差別化して生成することを目的とする。
【０００９】
また、本発明は、差別化された免疫データベースを介して、新種または変種の悪性コードによる画一的な被害を防ぐことを目的とする。
【００１０】
また、本発明は、新種または変種の悪性コードに対する耐性が誘導されたシステムから、新種または変種の悪性コードに対する診断法を取得することを目的とする。
【課題を解決するための手段】
【００１１】
前記の目的を達成し、従来技術の問題点を解決するために、本発明の侵入コード探知装置は、少なくとも１つのコンピュータの各グループ別に差別化された設定値が入力される設定値入力部と、前記設定値に基づいて免疫データベースを生成する免疫データベース生成部と、前記生成された免疫データベースに基づいてデータの侵入コードの可否を判断する侵入コード判断部とを含むことを特徴とする。
【００１２】
ここで、前記設定値は、グループを区分するためのグループ特性キーと、安全なコードである常駐コードリストと、前記免疫データベースのプール（ｐｏｏｌ）を生成するためのランダムプール生成因子とを含む。
【００１３】
また、前記免疫データベース生成部は、前記グループ特性キーを用いて前記常駐コードのフィーチャ（ｆｅａｔｕｒｅ）を抽出するフィーチャ抽出部と、前記グループ特性キーおよび前記ランダムプール生成因子に基づいてランダムプールフィーチャを生成するプールフィーチャ生成部と、前記抽出された常駐コードのフィーチャおよび前記生成されたランダムプールフィーチャの類似性を演算する類似性演算部と、前記ランダムプールフィーチャのうち、演算された類似性値が既決定された臨界値以下であるフィーチャを前記免疫データベースとして生成する免疫データベース生成管理部とを含む。
【００１４】
ここで、前記プールフィーチャ生成部は、前記グループ特性キーの長さおよび前記ランダムプール生成因子に含まれたランダムプールの大きさに基づいて前記ランダムプールフィーチャを生成するようになる。
【００１５】
また、前記侵入コード判断部は、前記グループ特性キーを用いて前記データのフィーチャを抽出するデータフィーチャ抽出部と、前記抽出されたデータのフィーチャと前記免疫データベースのフィーチャの類似性を演算するデータ類似性演算部と、前記演算された類似性値が既決定された臨界値以上であれば、前記データを侵入コードとして判断する侵入コード判断管理部とを含む。
【００１６】
また、前記侵入コード判断部は、前記侵入コードの可否を判断するためのデータを収集するデータ収集部をさらに含み、前記データフィーチャ抽出部は、前記収集されたデータそれぞれの特徴を抽出するようになる。
【００１７】
また、前記侵入コード判断部は、前記生成された免疫データベースに基づいて、内部に保存されている実行ファイルデータの侵入コードの可否を判断するようになる。
【００１８】
また、前記侵入コード判断部は、前記生成された免疫データベースに基づいて、リアルタイムで入力されるデータの侵入コードの可否を判断するようになる。
【００１９】
このとき、前記グループは、少なくとも１つ以上のコンピュータで成されるようになる。
【００２０】
本発明の侵入コード探知方法は、グループ別にそれぞれ差別化された設定値が入力される段階と、前記設定値に基づいて前記免疫データベースを生成する段階と、前記生成された免疫データベースに基づいてデータの侵入コードの可否を判断する段階とを含むことを特徴とする。
【００２１】
ここで、前記設定値は、グループを区分するためのグループ特性キーと、安全なコードである常駐コードリストと、前記免疫データベースのプールを生成するためのランダムプール生成因子とを含む。
【００２２】
また、前記免疫データベースを生成する段階は、前記グループ特性キーを用いて前記常駐コードのフィーチャを抽出する段階と、前記グループ特性キーおよび前記ランダムプール生成因子に基づいてランダムプールフィーチャを生成する段階と、前記抽出された常駐コードのフィーチャおよび前記生成されたランダムプールフィーチャの類似性を演算する段階と、前記ランダムプールフィーチャのうち、演算された類似性値が既決定された臨界値以下であるフィーチャを前記免疫データベースとして生成する段階とを含む。
【発明の効果】
【００２３】
本発明の侵入コード探知装置およびその方法は、データの侵入コード恐れを判断できる免疫データベースを差別化して生成することができる。
【００２４】
また、本発明は、差別化された免疫データベースを介して、新種または変種の悪性コードによる画一的な被害を防ぐことができる。
【００２５】
また、本発明は、新種または変種の悪性コードに対する耐性が誘導されたシステムから、新種または変種の悪性コードに対する診断法を取得することができる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明に係る好ましい実施形態を、添付の図面を参照して詳細に説明する。
【００２７】
図１は、本発明の一実施形態に係る侵入コード探知装置を示した構成ブロック図である。
【００２８】
侵入コード探知装置は、設定値入力部１１０と、免疫データベース生成部１２０と、侵入コード判断部１３０とを含む。
【００２９】
設定値入力部１１０は、少なくとも１つのコンピュータの各グループ別に差別化された設定値の入力を受けるものである。
【００３０】
ここで、設定値は、グループを区分するためのグループ特性キーと、安全なコードである常駐コードリストと、免疫データベースのプールを生成するためのランダムプール生成因子とを含む。
【００３１】
ここで、グループ特性キーは、免疫データベースを生成するための常駐コードのフィーチャを抽出したり、侵入コードの可否を判断するためのデータのフィーチャを抽出したりするときに用いられるものである。すなわち、常駐コードからグループ特性キーの条件に該当するフィーチャを抽出したり、侵入コードの可否を判断するためのデータからグループ特性キーの条件に該当するフィーチャを抽出したりする。
【００３２】
また、グループ特性キーは、バイナリファイルまたは原本バイナリ実行ファイルを加工した形態のファイルにおいて一定の確率、例えば１／１０〜１／１００００の確率で示されるパターンである。すなわち、グループ特性キーは、特定の長さのバイナリ序列において、一定の確率で得られるバイナリ序列を限定できるパターンとなる。
【００３３】
一例として、グループ特性キーがＸＸＹＸ［ＹＦ］ＸＸ［ＬＭＩＶ］である場合に、Ｘはいかなる任意のパターンが来ても問題がなく、［ＹＦ］はＹパターンおよびＦパターンのうちのいずれか１つのパターンが来なければならず、［ＬＭＩＶ］はＬパターン、Ｍパターン、ＩパターンおよびＶパターンのうちのいずれか１つのパターンが来なければならない。
【００３４】
ここで、パターンそれぞれは、バイナリ値を所定の単位および所定の法則に従ってマッピングしたものであって、パターンとマッピングされるバイナリ値は変動が可能であり、バイナリ値とマッピングされるパターンも変動が可能である。
【００３５】
このとき、各パターンが所定の単位および所定の法則に従って６ビットで構成された場合に、グループ特性キーは４８ビットで構成されるようになる。また、Ｙパターン、Ｆパターン、Ｌパターン、Ｍパターン、ＩパターンおよびＶパターンに対する構成は、事業者によって決められる。
【００３６】
また、常駐コードリストとは、ユーザがコンピュータに設置されているプログラムまたは実行コードのうち、安全であると判断されるコードリストである。
【００３７】
また、常駐コードリストは、ユーザによって手動で設定されても良いし、実行ファイル検索または安全性の可否を検査するためのコンピュータウイルスソフトウェアを用いて設定されても良い。
【００３８】
これにより、プログラムおよび実行ファイルは、各コンピュータに応じて異なり得るため、常駐コードリストが相違して設定されるようになる。また、これはコンピュータそれぞれの特性となる。
【００３９】
また、ランダムプール生成因子は、臨界値およびランダムプールの大きさを設定する因子を含む。ここで、臨界値は、免疫データベースを生成したり、生成された免疫データベースを用いて侵入コードを判断したりするときに用いられる。
【００４０】
このとき、グループは、少なくとも１つ以上のコンピュータで成されるようになる。
【００４１】
免疫データベース生成部１２０は、設定値入力部１１０の設定値に基づいて免疫データベースを生成する。
【００４２】
ここで、免疫データベース生成部１２０は、常駐コードリストに構成された常駐コードそれぞれからフィーチャを抽出したり、グループ特性キーおよびランダムプール生成因子に基づいてランダムプールフィーチャを生成したりする。
【００４３】
このとき、常駐コードのフィーチャは、グループ特性キーを用いて抽出されるようになる。
【００４４】
また、ランダムプールフィーチャは、グループ特性キーの長さおよびランダムプール生成因子に含まれたランダムプールの大きさに基づいて生成されるようになる。
【００４５】
さらに、免疫データベース生成部１２０は、常駐コードのフィーチャおよびランダムプールフィーチャの類似性を演算し、ランダムプールフィーチャのうち、演算された類似性値が既決定された臨界値以下である特徴を免疫データベースとして生成するようになる。
【００４６】
ここで、類似性とは、与えられた２つのフィーチャの相違性または相同性を意味するものである。すなわち、類似性の演算とは、２つのフィーチャの相違性または相同性を数値化することであって、演算された類似性値が数値化された２つのフィーチャの相違性または相同性となることを意味する。
【００４７】
このような類似性は、ユークリッド距離（Ｅｕｃｌｉｄｅａｎ  ｄｉｓｔａｎｃｅ）法、調和平均（Ｈａｒｍｏｎｉｃ  ｍｅａｎｓ）法、一致係数（Ｍａｔｃｈｉｎｇ  ｃｏｅｆｆｉｃｉｅｎｔ）方法、ダイス係数（Ｄｉｃｅ  ｃｏｅｆｆｉｃｉｅｎｔ）法、コサイン類似度（Ｃｏｓｉｎｅ  ｓｉｍｉｌａｒｉｔｙ）法、レーベンシュタイン距離（Ｌｅｖｅｎｓｈｔｅｉｎ  ｄｉｓｔａｎｃｅ）法、セラーズアルゴリズム（Ｓｅｌｌｅｒｓ  ａｌｇｏｒｉｔｈｍ）法、スミス−ウォーターマン距離（Ｓｍｉｔｈ−Ｗａｔｅｒｍａｎ  ｄｉｓｔａｎｃｅ）法、ブロック距離（Ｂｌｏｃｋ  ｄｉｓｔａｎｃｅ）法などによって演算される。しかし、本発明における類似性を演算する方法は、上述した方法に限定されるものではなく、類似性を演算するすべての方法が用いられることはもちろんである。
【００４８】
一例として、ブロック距離法を用いて２つのストリング（ｓｔｒｉｎｇ）の類似性を演算すれば、次の通りとなる。
【００４９】
ストリングｑが「ＡＢＣＤＥＦＧＨ」であり、ストリングｒが「ＢＣＤＥＦＧＨＧ」である場合に、ブロック距離関数を用いて２つのストリングｑおよびｒの各構成間の距離値を計算した後、計算された距離値を加えて２つのストリングの類似性を演算する。すなわち、ブロック距離関数を用いてｑのＡとｒのＢの構成間のｄ距離値を計算し、ｑのＢとｒのＣの構成間の距離値を計算する。距離を計算する過程がｒのＨとｑのＧの構成まで行われた後に、計算されたすべての距離値を加えて２つのストリングの類似性を演算する。
【００５０】
侵入コード判断部１３０は、免疫データベース生成部１２０によって生成された免疫データベースに基づいてデータの侵入コードの可否を判断する。
【００５１】
このとき、侵入コード判断部１３０は、侵入コードの可否を判断するためのデータを収集するようになる。収集されるデータは、コンピュータに保存されているすべての実行ファイルデータ、コンピュータに保存されているすべてのデータ、コンピュータにリアルタイムで入力されるデータのうちのいずれか１つとなる。
【００５２】
ここで、コンピュータにリアルタイムで入力されるデータは、有無線ネットワーク共有を介してダウンロードされたファイル、ＨＴＴＰ／ＦＴＰなどを介してダウンロードされたファイル、電子メールを介してダウンロードされたファイル、Ｐ２Ｐ（ｐｅｅｒ  ｔｏ  ｐｅｅｒ）を介してダウンロードされたファイル、保存装置からダウンロードされたファイルなどとなる。
【００５３】
また、侵入コード判断部１３０は、収集されたデータからフィーチャを抽出し、抽出されたフィーチャと免疫データベースのフィーチャとの類似性を演算し、演算された類似性値が臨界値以上であるデータを侵入コードとして判断するようになる。
【００５４】
また、侵入コード判断部１３０は、グループ特性キーに基づいて収集されたデータから特徴を抽出するようになる。
【００５５】
さらに、侵入コード判断部１３０は、収集されたデータが圧縮ファイルである場合には、ファイルの圧縮を解除した後にフィーチャを抽出して侵入コードの可否を判断するようになる。
【００５６】
図２は、図１に示した免疫データベース生成部１２０に対する一実施形態を詳細に示した構成ブロック図である。
【００５７】
免疫データベース生成部１２０は、フィーチャ抽出部２１０と、プールフィーチャ生成部２４０と、類似性演算部２２０と、免疫データベース生成管理部２３０とを含む。
【００５８】
ここで、フィーチャ抽出部２１０は、グループ特性キーを用いて常駐コードリストに構成された常駐コードそれぞれのフィーチャを抽出する。
【００５９】
また、フィーチャ抽出部２１０は、常駐コードからグループ特性キーに該当するビット数を読み取り、グループ特性キーの条件に該当するフィーチャを抽出するようになる。
【００６０】
プールフィーチャ生成部２４０は、グループ特性キーおよびランダムプール生成因子に基づいてランダムプールフィーチャを生成する。
【００６１】
ここで、プールフィーチャ生成部２４０は、グループ特性キーの長さおよびランダムプール生成因子に含まれたランダムプールの大きさに基づいてランダムプールフィーチャを生成するようになる。
【００６２】
例えば、グループ特性キーの長さが４８ビットであり、ランダムプールの大きさが１％である場合に、プールフィーチャ生成部２４０は、２４８×０．０１個のランダムプールフィーチャをランダムに生成する。
【００６３】
類似性演算部２２０は、常駐コードのフィーチャおよびランダムプールフィーチャの類似性を演算する。
【００６４】
免疫データベース生成管理部２３０は、ランダムプールフィーチャのうち、演算された類似性値が既決定された臨界値以下である特徴を免疫データベースとして生成する。
【００６５】
ここで、免疫データベース生成管理部２３０は、プールフィーチャ生成部２４０によって生成されたランダムプールフィーチャのうち、常駐コードおよび侵入コードを判断できるフィーチャを選択して免疫データベースを生成するようになる。
【００６６】
したがって、免疫データベース生成管理部２３０によって生成された免疫データベースのフィーチャは、常駐コードから抽出されたフィーチャに対して類似性の演算を行う場合には、演算された類似性値は常に臨界値以下を有するようになる。また、常駐コードではないコードに対して類似性の演算を行う場合には、演算された類似性値は臨界値より大きくなる確率を有するようになる。
【００６７】
図３は、図１に示した侵入コード判断部１３０に対する一実施形態を詳細に示した構成ブロック図である。
【００６８】
図３を参照すれば、侵入コード判断部１３０は、データ収集部３１０と、データフィーチャ抽出部３２０と、データ類似性演算部３３０と、侵入コード判断管理部３４０とを含む。
【００６９】
データ収集部３１０は、侵入コードの可否を判断するためのデータを収集する。
【００７０】
ここで、データ収集部３１０は、コンピュータに保存されているすべての実行ファイルデータ、コンピュータに保存されているすべてのデータ、コンピュータにリアルタイムで入力されるデータのうちのいずれか１つを収集するようになる。
【００７１】
また、コンピュータにリアルタイムで入力されるデータは、有無線ネットワーク共有を介してダウンロードされたファイル、ＨＴＴＰ／ＦＴＰなどを介してダウンロードされたファイル、電子メールを介してダウンロードされたファイル、Ｐ２Ｐを介してダウンロードされたファイル、保存装置からダウンロードされたファイルなどとなる。
【００７２】
データフィーチャ抽出部３２０は、グループ特性キーを用いて収集されたデータからフィーチャを抽出する。すなわち、データフィーチャ抽出部３２０は、グループ特性キーの条件に該当するフィーチャを収集されたデータから抽出する。
【００７３】
データ類似性演算部３３０は、収集されたデータから抽出されたフィーチャおよび免疫データベースのフィーチャの類似性を演算する。
【００７４】
侵入コード判断管理部３４０は、演算された類似性値が既決定された臨界値以上であるデータを侵入コードとして判断する。すなわち、演算された類似性値が既決定された臨界値より小さいデータは常駐コードとして判断する。
【００７５】
図１に示した本発明の一実施形態に係る侵入コード探知装置の動作について、図４〜７を参照してさらに詳しく説明する。
【００７６】
図４は、本発明に係るグループ特性キーを相違して設定するためのグループに対する一例示図である。
【００７７】
図４を参照すれば、グループ４１０〜４５０それぞれは、互いに異なるグループ特性キーを受ける。すなわち、常駐コードおよび侵入コードを判断するための免疫データベースがグループ間で相違して生成されるように、各グループごとに互いに異なるグループ特性キーが設定される。
【００７８】
グループ４５０に含まれた第１コンピュータ４６０〜第４コンピュータ４９０それぞれは、コンピュータに設置されたプログラムが互いに異なるため、常駐コードリストも第１コンピュータ４６０〜第４コンピュータ４９０それぞれに対して互いに異なるようになる。
【００７９】
また、コンピュータそれぞれに対してランダムプール生成因子を相違して設定するようになる。例えば、第１コンピュータ４６０に対しては、臨界値を２３００およびランダムプールの大きさを１０％で設定し、第２コンピュータ４７０に対しては、臨界値を２３５０およびランダムプールの大きさを１％で設定し、第３コンピュータ４８０に対しては、臨界値を２４００およびランダムプールの大きさを５％で設定し、第４コンピュータ４９０に対しては、臨界値を２５００およびランダムプールの大きさを０．５％で設定するようになる。
【００８０】
すなわち、図４に示したコンピュータグループ別またはコンピュータグループに含まれたコンピュータ別に相違する免疫データベースが生成されるように、設定値を互いに異なるように設定するようになる。
【００８１】
図５は、コンピュータそれぞれに設定された常駐コードリストからフィーチャを抽出する一例示図である。
【００８２】
図５を参照すれば、コンピュータそれぞれに設定された常駐コードリストから常駐コードリストに含まれた常駐コードを収集し、該収集された常駐コードからフィーチャを抽出する。
【００８３】
ここで、コンピュータそれぞれは、コンピュータグループ別に設定されたグループ特性キーを用いて常駐コードからフィーチャを抽出するようになる。
【００８４】
すなわち、常駐コードからグループ特性キービットに該当するビット配列を読み取り、設定されたグループ特性キーの条件に該当するパターンであるかを判断し、グループ特性キーの条件に該当するパターンである場合には、該当のパターンをフィーチャとして抽出する。この反面、グループ特性キーの条件に該当するパターンでない場合には、一定のビットだけ移動した後に、グループ特性キーの条件に該当するパターンであるかを判断する。
【００８５】
このような過程を介して、常駐コードからグループ特性キーの条件に該当するフィーチャを抽出するようになる。
【００８６】
図６は、本発明に係るランダムプールフィーチャを生成する一例示図である。
【００８７】
図６を参照すれば、コンピュータそれぞれに設定されたグループ特性キーの長さおよびランダムプールの大きさを用いてランダムプールフィーチャを生成する。
【００８８】
例えば、第１コンピュータに設定されたグループ特性キーの長さが４８ビットであり、ランダムプールの大きさが１０％である場合には、２４８×０．１個のランダムプールフィーチャをランダムに生成し、第２コンピュータに設定されたグループ特性キーの長さが４８ビットであり、ランダムプールの大きさが１％である場合には、２４８×０．０１個のランダムプールフィーチャをランダムに生成する。
【００８９】
ここで、生成されたランダムプールフィーチャのうち、一部が免疫データベースのフィーチャとして選択されるようになる。
【００９０】
すなわち、抽出された常駐コードのフィーチャとランダムプールフィーチャとの類似性の演算を行い、ランダムプールフィーチャのうち、演算された類似性値が既設定された臨界値以下であるフィーチャを免疫データベースとして生成する。
【００９１】
これにより、グループ別に設定されたグループ特性キーが互いに異なるため、グループ間で生成された免疫データベースも互いに異なるようになり、グループに構成されたコンピュータ別の常駐コードリストおよびランダムプール生成因子も互いに異なるように設定されるようになるため、同一のグループ内に構成されたコンピュータそれぞれに対して、互いに異なる免疫データベースを生成するようになる。
【００９２】
したがって、コンピュータそれぞれに生成された免疫データベースが相違するため、免疫データベースを介してコンピュータそれぞれで判断される常駐コードおよび侵入コードも互いに異なるようになる。
【００９３】
さらに、コンピュータそれぞれで判断される常駐コードおよび侵入コードが互いに異なるため、悪性コードによってグループを構成するすべてのコンピュータが感染されることなく、一部のコンピュータのみが感染されるようになり、新種または変種の悪性コードによる画一的な被害を防ぐことができる。また、新種または変種の悪性コードに対する耐性が誘導されたコンピュータから、新種または変種の悪性コードに対する診断法を取得することができる。すなわち、被害にあったコンピュータから悪性コードが何であるかを見つけ出し、悪性コードに対する耐性が誘導されたコンピュータから悪性コードに対する免疫パターンを取得することによって、新種または変種の悪性コードに対する診断法を取得できるようになる。
【００９４】
図７は、コンピュータそれぞれに収集された判断対象コードリストからフィーチャを抽出する一例示図である。
【００９５】
コンピュータそれぞれにおいて侵入コードの可否を判断するための判断対象コードリストから、コンピュータに保存されている実行ファイルデータまたはすべてのデータを収集する。
【００９６】
収集されたデータ、すなわち判断対象コードリストに構成された判断対象コードからフィーチャを抽出する。このとき、コンピュータに設定されたグループ特性キーを用いて判断対象コードのフィーチャを抽出するようになる。
【００９７】
判断対象コードの侵入コードの可否を判断するために、免疫データベースのフィーチャとの類似性の演算を行う。
【００９８】
すなわち、判断対象コード、例えば第１実行ファイルから抽出されたフィーチャと免疫データベースのフィーチャとの類似性の演算を行い、演算された類似性値とコンピュータに設定された臨界値を比較する。
【００９９】
演算された類似性値すべてが臨界値より小さければ、判断対象コードを常駐コードとして判断する。すなわち、演算された類似性値のうちのいずれか１つでも臨界値以上である場合には、判断対象コードを侵入コードとして判断する。
【０１００】
判断対象コードからフィーチャを抽出し、該抽出されたフィーチャと免疫データベースのフィーチャとの類似性の演算を行った後、演算された類似性値と臨界値の比較によって侵入コードを判断する過程が、判断対象コードリストに含まれたすべての判断対象コードに対して行われる。
【０１０１】
このような過程を介して、判断対象コードの侵入コードの可否を判断するようになる。
【０１０２】
図８は、本発明の一実施形態に係る侵入コード探知方法を示したフローチャートである。
【０１０３】
図８を参照すると、侵入コード探知方法は、コンピュータグループ別に差別化された設定値をコンピュータそれぞれに入力する（段階Ｓ８１０）。
【０１０４】
ここで、入力される設定値は、コンピュータグループ別に相違したグループ特性キー、常駐コードリストおよび免疫データベースのプールを生成するためのランダムプール生成因子となる。
【０１０５】
また、グループ特性キーは、免疫データベースを生成するための常駐コードのフィーチャを抽出したり、侵入コードの可否を判断するためのデータのフィーチャを抽出したりするときに用いられる。すなわち、常駐コードからグループ特性キーの条件に該当するフィーチャを抽出したり、侵入コードの可否を判断するためのデータからグループ特性キーの条件に該当するフィーチャを抽出したりする。
【０１０６】
また、グループ特性キーは、バイナリファイルまたは原本バイナリ実行ファイルを加工した形態のファイルにおいて、一定の確率で示されるパターンである。
【０１０７】
また、常駐コードリストは、ユーザがコンピュータに設置されているプログラムまたは実行コードのうち、安全であると判断されるコードリストである。
【０１０８】
これにより、プログラムおよび実行ファイルは、ユーザコンピュータごとに異なるため、常駐コードリストも異なるように設定されるようになる。また、これはコンピュータそれぞれの特性となり得る。
【０１０９】
また、ランダムプール生成因子は、臨界値およびランダムプールの大きさを設定する因子を含む。ここで、臨界値は、免疫データベースを生成したり、生成された免疫データベースを用いて侵入コードを判断したりするときに用いられる。
【０１１０】
グループ別に差別化された設定値が入力されれば、該入力された設定値に基づいて免疫データベースを生成する（段階Ｓ８２０）。
【０１１１】
すなわち、常駐コードリストに構成された常駐コードそれぞれからグループ特性キーの条件に該当するフィーチャを抽出し、グループ特性キーおよびランダムプール生成因子に基づいてランダムプールフィーチャを生成する。
【０１１２】
ここで、ランダムプールフィーチャは、グループ特性キーの長さおよびランダムプール生成因子に含まれたランダムプールの大きさに基づいて生成されるようになる。
【０１１３】
常駐コードそれぞれのフィーチャおよびランダムプールフィーチャの類似性を演算し、ランダムプールフィーチャのうち、演算された類似性値が既決定された臨界値よりも小さい特徴を免疫データベースとして生成する。
【０１１４】
生成された免疫データベースを用いてデータの侵入コードの可否を判断する（段階Ｓ８３０）。
【０１１５】
すなわち、収集されたデータ、例えばコンピュータに保存されているすべての実行ファイル、コンピュータに保存されているすべてのデータ、リアルタイムで入力されるデータのうちのいずれか１つに対して、免疫データベースを用いて侵入コードの可否を判断する。
【０１１６】
データの侵入コードの可否を判断するために、データからグループ特性キーの条件に該当するフィーチャを抽出し、該抽出されたデータのフィーチャと免疫データベースの特徴との類似性を演算した後に、演算された類似性値と臨界値を比較する。
【０１１７】
演算された類似性値が臨界値以上である場合には、データを侵入コードとして判断する。
【０１１８】
演算された類似性値すべてが臨界値より小さい場合には、データを安全なコードである常駐コードとして判断する。
【０１１９】
図９は、図８に示した段階Ｓ８２０に対する詳細なフローチャートである。
【０１２０】
図９を参照すれば、免疫データベースを生成する段階は、入力されたグループ特性キーおよび常駐コードリストを用いて常駐コードのフィーチャを抽出する（段階Ｓ９１０）。
【０１２１】
ここで、常駐コードリストに構成された常駐コードそれぞれは、グループ特性キーの条件に該当するフィーチャが抽出されるようになる。
【０１２２】
グループ特性キーの長さおよびランダムプール生成因子に含まれたランダムプールの大きさに基づいてランダムプールフィーチャを生成する（段階Ｓ９２０）。
【０１２３】
ランダムプールフィーチャは、グループ特性キーの長さに該当する個数の特徴のうち、ランダムプールの大きさに該当する個数のみがランダムに生成される。
【０１２４】
免疫データベースを生成するために抽出された常駐コードのフィーチャと生成されたランダムプールフィーチャとの類似性を演算する（段階Ｓ９３０）。
【０１２５】
類似性演算は、フィーチャそれぞれに対して１：１で成される。したがって、常駐コードのフィーチャがＮ個であり、ランダムプールフィーチャがＭ個である場合には、類似性の演算はＮ×Ｍ回行われる。
【０１２６】
類似性を演算した結果、ランダムプールフィーチャのうち、演算された類似性値が既決定された臨界値よりも小さいフィーチャで免疫データベースを生成する（段階９４０）。
【０１２７】
ここで、臨界値は、設定値を入力するときにランダムプール生成因子に含まれた臨界値となる。
【０１２８】
図１０は、図８に示した段階Ｓ８３０に対する詳細なフローチャートである。
【０１２９】
図１０を参照すれば、侵入コードを判断する段階は、侵入コードを判断するためのデータを収集する（段階Ｓ１０１０）。
【０１３０】
ここで、収集されるデータは、コンピュータに保存されているすべての実行ファイルでも良いし、コンピュータに保存されているすべてのデータでも良いし、コンピュータにリアルタイムで入力されるデータでも良い。
【０１３１】
このとき、コンピュータにリアルタイムで入力されるデータの一例としては、有無線ネットワーク共有を介してダウンロードされたファイル、ＨＴＴＰ／ＦＴＰなどを介してダウンロードされたファイル、電子メールを介してダウンロードされたファイル、Ｐ２Ｐを介してダウンロードされたファイル、保存装置からダウンロードされたファイルなどとなる。
【０１３２】
収集されたデータ、例えば実行ファイルそれぞれからグループ特性キーの条件に該当するフィーチャを抽出する（段階Ｓ１０２０）。
【０１３３】
データから抽出されたフィーチャと免疫データベースのフィーチャとの類似性を演算する（段階Ｓ１０３０）。
【０１３４】
すなわち、データから抽出されたフィーチャそれぞれと免疫データベースのフィーチャそれぞれに対して類似性を演算する。
【０１３５】
免疫データベースのフィーチャに対して演算された類似性値が既決定された臨界値以上であるかを判断する（段階Ｓ１０４０）。
【０１３６】
演算された類似性値と臨界値を判断した結果、演算された類似性値が臨界値以上である場合には、データを侵入コードとして判断する（段階Ｓ１０５０）。
【０１３７】
この反面、演算された類似性値と臨界値を判断した結果、演算された類似性値が臨界値よりも小さい場合には、データを安全なコードである常駐コードとして判断する。
【０１３８】
なお、本発明に係る実施形態は、コンピュータにより具現される多様な動作を実行するためのプログラム命令を含むコンピュータ読み取り可能な媒体を含む。前記媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせて含むこともできる。前記媒体およびプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知であり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスクおよび磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、フロプティカルディスクのような磁気−光媒体、およびＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれる。前記媒体は、プログラム命令、データ構造などを保存する信号を送信する搬送波を含む光または金属線、導波管などの送信媒体でもある。プログラム命令の例としては、コンパイラによって生成されるもののような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。前記したハードウェア要素は、本発明の動作を実行するために１以上のソフトウェアモジュールとして作動するように構成することができ、その逆もできる。
【０１３９】
上述したように、本発明を好ましい実施形態に則して説明したが、本発明の技術分野において熟練した当業者にとっては、特許請求の範囲に記載された本発明の技術的思想及びその領域から逸脱しない範囲内で、本発明を多様に修正および変更させることができることを理解することができるであろう。すなわち、本発明の技術的範囲は、特許請求の範囲に基づいて定められ、発明を実施するための最良の形態により制限されるものではない。
【図面の簡単な説明】
【０１４０】
【図１】本発明の一実施形態に係る侵入コード探知装置を示した構成ブロック図である。
【図２】図１に示した免疫データベース生成部を詳細に示した構成ブロック図である。
【図３】図１に示した侵入コード判断部を詳細に示した構成ブロック図である。
【図４】本発明に係るグループ特性キーを相違するように設定するためのグループを示した一例示図である。
【図５】コンピュータそれぞれに設定された常駐コードリストから特徴を抽出することを示した一例示図である。
【図６】本発明に係るランダムプールフィーチャを生成することを示した一例示図である。
【図７】コンピュータそれぞれに収集された判断対象コードリストから特徴を抽出することを示した一例示図である。
【図８】本発明の一実施形態に係る侵入コード探知方法を示したフローチャートである。
【図９】図８に示した段階８２０を詳細に示したフローチャートである。
【図１０】図８に示した段階８３０を詳細に示した動作フローチャートである。
【符号の説明】
【０１４１】
１１０  設定値入力部
１２０  免疫データベース生成部
１３０  侵入コード判断部
１４０  免疫データベース
２１０  フィーチャ抽出部
２２０  類似性演算部
２３０  免疫データベース生成管理部
２４０  プールフィーチャ生成部
３１０  データ収集部
３２０  データフィーチャ抽出部
３３０  データ類似性演算部
３４０  侵入コード判断管理部
【図１】
2008192127.tif 000003
【図２】
2008192127.tif 000004
【図３】
2008192127.tif 000005
【図４】
2008192127.tif 000006
【図５】
2008192127.tif 000007
【図６】
2008192127.tif 000008
【図７】
2008192127.tif 000009
【図８】
2008192127.tif 000010
【図９】
2008192127.tif 000011
【図１０】
2008192127.tif 000012