(57)【要約】  高い判定精度を有するシグネチャ情報を短時間に作成することができるシグネチャ作成装置等が提供される。シグネチャ作成装置１０１は、ファイルを構成している少なくとも一部の領域に関するハッシュ値を、複数のファイルに対して算出するハッシュ算出部１０２と、該ハッシュ算出手段によって算出された該ハッシュ値が類似している程度を求め、求めた該程度に基づき、該複数のファイルをグループに分類するファイル分類部１０３と、該グループにおける該ファイルに含まれている符号列、または、ビット列を表すストリングのうち、少なくとも一部のファイルに共通している共通ストリングを特定するストリング特定部１０４と、特定した該共通ストリングのうち、少なくとも一部の該共通ストリングが含まれているか否かが判定される基準を表すシグネチャ情報を作成するシグネチャ作成部１０５とを有する。
2018021163.tif 000002
【特許請求の範囲】
【請求項１】
ファイルを構成している少なくとも一部の領域に関するハッシュ値を、複数のファイルに対して算出するハッシュ算出手段と、
前記ハッシュ算出手段によって算出された前記ハッシュ値が類似している程度を求め、求めた前記程度に基づき、前記複数のファイルをグループに分類する分類手段と、
前記グループにおける前記ファイルに含まれている符号列、または、ビット列を表すストリングのうち、少なくとも一部のファイルに共通している共通ストリングを特定する特定手段と、
特定した前記共通ストリングのうち、少なくとも一部の前記共通ストリングが含まれているか否かが判定される基準を表すシグネチャ情報を作成するシグネチャ作成手段と
を備えるシグネチャ作成装置。
【請求項２】
前記ファイルの種別を特定し、ある種別のファイルに関して前記ハッシュ値が算出される前記領域を表す領域情報に基づき、特定した前記種別に関する前記領域を選択する領域選択手段
をさらに備え、
前記ハッシュ算出手段は、前記領域選択手段によって選択された前記領域に関する前記ハッシュ値を算出する
請求項１に記載のシグネチャ作成装置。
【請求項３】
前記シグネチャ作成手段は、前記シグネチャ情報から消去する対象であるストリングを表す消去ストリング情報を含んでいる消去情報に基づき、作成した前記シグネチャ情報のうち、前記消去ストリング情報に関する条件を前記シグネチャ情報から削除する
請求項１または請求項２に記載のシグネチャ作成装置。
【請求項４】
前記ファイルは、情報処理システムに対して悪影響を与えるバッドウェアを含むバッドファイル、または、前記バッドウェアを含まないファイルを表すグッドファイルであり、
前記分類手段は、前記バッドファイルを分類したグループを表すバッドグループと、前記グッドファイルを分類したグループを表すグッドグループとを作成し、
前記特定手段は、前記バッドグループに含まれているファイルに共通して含まれている前記ストリングと、前記グッドグループに含まれているファイルに共通して含まれている前記ストリングとを特定し、前記グッドグループに関して特定した前記ストリングを前記消去情報に格納し、
前記シグネチャ作成手段は、前記バッドファイルが分類された前記グループに関する前記シグネチャ情報を作成し、さらに、前記消去情報に含まれている前記ストリングに関する条件を前記シグネチャ情報から削除する
請求項３に記載のシグネチャ作成装置。
【請求項５】
前記ファイルは、情報処理システムに対して悪影響を与えるバッドウェアを含むバッドファイル、または、前記バッドウェアを含まないファイルを表すグッドファイルであり、
前記特定手段は、前記グループに含まれている前記ファイルを、前記バッドファイルと、前記グッドファイルとに関して、それぞれ、前記共通ストリングを特定し、
前記シグネチャ作成手段は、前記グループに対して、前記バッドファイルについて特定された前記共通ストリングに関する前記シグネチャ情報を作成し、作成した前記シグネチャ情報から、前記グッドファイルについて特定された前記共通ストリングに関する条件を削除する
請求項１または請求項２に記載のシグネチャ作成装置。
【請求項６】
情報処理システムに対して悪影響を与えるバッドウェアを含むバッドファイル、または、前記バッドウェアを含まないファイルを表すグッドファイルに対して、作成された前記シグネチャ情報が表す基準を満たしているか否かを判定し、判定した結果に基づき前記シグネチャ情報に関する判定精度を算出し、算出した前記判定精度が所定の条件を満たしている前記シグネチャ情報のみを出力するシグネチャ検証手段
をさらに備える請求項１または請求項２に記載のシグネチャ作成装置。
【請求項７】
情報処理システムに対して悪影響を与えるバッドウェアを含むバッドファイル、または、前記バッドウェアを含まないファイルを表すグッドファイルに対して、作成された前記シグネチャ情報が表す基準を満たしているか否かを判定する判定処理を実行し、判定した結果に基づき、前記シグネチャ情報に含まれている前記共通ストリングが特定された前記グループごとに、前記グループに基づき作成された前記シグネチャ情報の判定精度を算出し、算出した前記判定精度が所定の条件を満たしている前記グループに基づき作成された前記シグネチャ情報のみを出力するシグネチャ検証手段
をさらに備え、
前記シグネチャ検証手段は、あるグループに関する前記判定精度が前記所定の条件を満たすことができないと判定した場合には、前記あるグループに関する前記判定処理を実行しない
請求項１または請求項２に記載のシグネチャ作成装置。
【請求項８】
請求項１乃至請求項７のいずれかに記載のシグネチャ作成装置と、
あるファイルに含まれているストリングが、前記シグネチャ作成装置が作成した前記シグネチャ情報に含まれている判定情報を満たしているか否かに応じて、悪影響を与える処理を前記あるファイルが含んでいるか否かを判定するソフトウェア判定装置と
を備えるソフトウェア判定システム。
【請求項９】
情報処理装置によって、ファイルを構成している少なくとも一部の領域に関するハッシュ値を、複数のファイルに対して算出し、算出された前記ハッシュ値が類似している程度を求め、求めた前記程度に基づき、前記複数のファイルをグループに分類し、前記グループにおける前記ファイルに含まれている符号列、または、ビット列を表すストリングのうち、少なくとも一部のファイルに共通している共通ストリングを特定し、特定した前記共通ストリングのうち、少なくとも一部の前記共通ストリングが含まれているか否かが判定される基準を表すシグネチャ情報を作成するシグネチャ作成方法。
【請求項１０】
ファイルを構成している少なくとも一部の領域に関するハッシュ値を、複数のファイルに対して算出するハッシュ算出機能と、
前記ハッシュ算出機能によって算出された前記ハッシュ値が類似している程度を求め、求めた前記程度に基づき、前記複数のファイルをグループに分類する分類機能と、
前記グループにおける前記ファイルに含まれている符号列、または、ビット列を表すストリングのうち、少なくとも一部のファイルに共通している共通ストリングを特定する特定機能と、
特定した前記共通ストリングのうち、少なくとも一部の前記共通ストリングが含まれているか否かが判定される基準を表すシグネチャ情報を作成するシグネチャ作成機能と
をコンピュータに実現させるシグネチャ作成プログラムが記録された記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システムに対して悪影響を与えるソフトウェアがファイルに含まれているか否かが判定される基準を表すシグネチャ情報を作成するシグネチャ作成装置等に関する。
【背景技術】
【０００２】
特許文献１は、ソフトウェアによって実行された処理の履歴と、マルウェアによって実行された処理の履歴とが一致するか否かを判定する基準を表すシグネチャ情報を作成するシグネチャ作成装置を開示している。該シグネチャ作成装置は、マルウェアによって実行された処理を追跡し、該マルウェアによって実行された処理の履歴を表すトレースログを収集する。次に、該シグネチャ作成装置は、該トレースログに含まれている処理が相互に類似しているか否かに基づき、該トレースログに含まれている処理を実行したマルウェアをマルウェアファミリに分類する。１つのマルウェアファミリは、トレースログが相互に類似しているマルウェアによって構成されるグループを表す。該シグネチャ作成装置は、あるマルウェアファミリに共通している一連の処理を特定し、特定した一連の処理に基づきシグネチャ情報を作成する。【０００３】
特許文献２は、マルウェアであるか否かが判定される対象を表す検体がテキスト形式にて表された処理列である場合に、該処理列に頻出している文字列をシグネチャ情報として特定するシグネチャ作成装置を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２０１３−５２９３３５号公報
【特許文献２】特開２０１２−００３４６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１、または、特許文献２に開示されたいずれのシグネチャ作成装置を用いたとしても、判定精度が高いシグネチャ情報を短時間に作成することは難しい。この理由は、判定精度が高いシグネチャ情報を作成するのには長い時間を要するからである。具体的に、特許文献１に開示されたシグネチャ作成装置によれば、マルウェアによって実行される一連の処理を追跡するための計算機環境（たとえば、サンドボックス等）と、該一連の処理を追跡する時間とが必要である。したがって、特許文献１に開示されたシグネチャ作成装置は、シグネチャ情報を作成するのに長い時間を要する。また、マルウェアが複数種類存在している場合に、文字列が、必ずしも、該マルウェアに共通しているとは限らないので、特許文献２に開示されたシグネチャ作成装置は、必ずしも、該シグネチャ作成装置は、高い判定精度を有するシグネチャ情報を作成することができない。【０００６】
そこで、本発明の目的の１つは、高い判定精度を有するシグネチャ情報を短時間に作成することができるシグネチャ作成装置等を提供することである。
【課題を解決するための手段】
【０００７】
本発明の１つの態様として、シグネチャ作成装置は、
ファイルを構成している少なくとも一部の領域に関するハッシュ値を、複数のファイルに対して算出するハッシュ算出手段と、
前記ハッシュ算出手段によって算出された前記ハッシュ値が類似している程度を求め、求めた前記程度に基づき、前記複数のファイルをグループに分類する分類手段と、
前記グループにおける前記ファイルに含まれている符号列、または、ビット列を表すストリングのうち、少なくとも一部のファイルに共通している共通ストリングを特定する特定手段と、
特定した前記共通ストリングのうち、少なくとも一部の前記共通ストリングが含まれているか否かが判定される基準を表すシグネチャ情報を作成するシグネチャ作成手段と
を備える。【０００８】
また、本発明の他の態様として、シグネチャ作成方法は、
ファイルを構成している少なくとも一部の領域に関するハッシュ値を、複数のファイルに対して算出し、算出された前記ハッシュ値が類似している程度を求め、求めた前記程度に基づき、前記複数のファイルをグループに分類し、前記グループにおける前記ファイルに含まれている符号列、または、ビット列を表すストリングのうち、少なくとも一部のファイルに共通している共通ストリングを特定し、特定した前記共通ストリングのうち、少なくとも一部の前記共通ストリングが含まれているか否かが判定される基準を表すシグネチャ情報を作成する。【０００９】
また、本発明の他の態様として、シグネチャ作成プログラムは、
ファイルを構成している少なくとも一部の領域に関するハッシュ値を、複数のファイルに対して算出するハッシュ算出機能と、
前記ハッシュ算出機能によって算出された前記ハッシュ値が類似している程度を求め、求めた前記程度に基づき、前記複数のファイルをグループに分類する分類機能と、
前記グループにおける前記ファイルに含まれている符号列、または、ビット列を表すストリングのうち、少なくとも一部のファイルに共通している共通ストリングを特定する特定機能と、
特定した前記共通ストリングのうち、少なくとも一部の前記共通ストリングが含まれているか否かが判定される基準を表すシグネチャ情報を作成するシグネチャ作成機能と
をコンピュータに実現させる。【００１０】
さらに、同目的は、係るプログラムを記録するコンピュータが読み取り可能な記録媒体によっても実現される。
【発明の効果】
【００１１】
本発明に係るシグネチャ作成装置等によれば、高い判定精度を有するシグネチャ情報を短時間に作成することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施形態に係るシグネチャ作成装置を含むソフトウェア判定システムが有する構成を示すブロック図である。
【図２】第１の実施形態に係るシグネチャ作成装置における処理の流れを示すフローチャートである。
【図３】シグネチャ情報の一例を概念的に表す図である。
【図４】本発明の第２の実施形態に係るシグネチャ作成装置が有する構成を示すブロック図である。
【図５】第２の実施形態に係るシグネチャ作成装置における処理の流れを示すフローチャートである。
【図６】領域情報記憶部に格納されている領域情報の一例を概念的に表す図である。
【図７】本発明の第３の実施形態に係るシグネチャ作成装置が有する構成を示すブロック図である。
【図８】第３の実施形態に係るシグネチャ作成装置における処理の流れを示すフローチャートである。
【図９】第３の実施形態に係るシグネチャ作成装置における処理の流れを示すフローチャートである。
【図１０】第３の実施形態に係るシグネチャ作成装置における処理の流れを示すフローチャートである。
【図１１】消去情報記憶部に格納されている消去情報の一例を概念的に表す図である。
【図１２】本発明の第４の実施形態に係るシグネチャ作成装置が有する構成を示すブロック図である。
【図１３】第４の実施形態に係るシグネチャ作成装置における処理の流れを示すフローチャートである。
【図１４】本発明の各実施形態に係るシグネチャ作成装置、または、ソフトウェア判定装置を実現可能な計算処理装置のハードウェア構成例を概略的に示すブロック図である。
【発明を実施するための形態】
【００１３】
次に、本発明を実施する実施形態について図面を参照しながら詳細に説明する。
【００１４】
＜第１の実施形態＞
図１を参照しながら、本発明の第１の実施形態に係るシグネチャ作成装置１０１が有する構成について詳細に説明する。図１は、本発明の第１の実施形態に係るシグネチャ作成装置１０１を含むソフトウェア判定システム１０６が有する構成を示すブロック図である。
【００１５】
第１の実施形態に係るシグネチャ作成装置１０１は、ハッシュ算出部１０２と、ファイル分類部１０３と、ストリング特定部１０４と、シグネチャ作成部１０５とを有する。ソフトウェア判定システム１０６は、シグネチャ作成装置１０１と、ソフトウェア判定装置２０１とを有する。
【００１６】
シグネチャ作成装置１０１は、複数のデータファイル（以降、「データファイル」を「ファイル」と表す）を入力し、情報処理システムに対して悪影響を与えるソフトウェア（マルウェア、以降、「バッドウェア」と表す）を含んでいるか否かを、入力した複数のファイルに基づき判定する基準を表すシグネチャ情報（図３を参照しながら後述する）を作成する。シグネチャ作成装置１０１は、複数のファイルを入力するとしたが、通信ネットワークを介して、該複数のファイルを受信してもよい。
【００１７】
説明の便宜上、第１の実施形態において、シグネチャ作成装置１０１に入力される各ファイルは、バッドウェアを含んでいるとする。
【００１８】
ソフトウェア判定装置２０１は、たとえば、シグネチャ作成装置１０１が作成したシグネチャ情報に従いファイルを判定することによって、該ファイルがバッドウェアを含んでいるか否かを判定する。ソフトウェア判定装置２０１は、シグネチャ作成装置１０１と異なる装置が作成したシグネチャ情報に従い、該ファイルがバッドウェアを含んでいるか否かを判定可能であってもよい。
【００１９】
尚、以降の説明においては、ソフトウェアが情報処理システムに対して悪影響を与えると仮定して、本発明の各実施形態に係るシグネチャ作成装置における処理について説明するが、必ずしも、ソフトウェアである必要はなく、１つ以上の処理を表す処理列であってもよい。
【００２０】
次に、図２を参照しながら、本発明の第１の実施形態に係るシグネチャ作成装置１０１における処理について詳細に説明する。図２は、第１の実施形態に係るシグネチャ作成装置１０１における処理の流れを示すフローチャートである。
【００２１】
シグネチャ作成装置１０１において、ハッシュ算出部１０２は、後述する所定のハッシュ算出手順に従い、入力した複数のファイルの各ファイルに関するハッシュ値を算出する（ステップＳ１０１）。ハッシュ算出部１０２は、所定のハッシュ算出手順に従い、ファイルに含まれている少なくとも一部のデータに対してハッシュ値を算出する処理を実行することによって、ファイルに関するハッシュ値を算出する。ハッシュ算出部１０２は、ファイルに含まれている一部の領域（データ、部分、フィールド）に対してハッシュ値を算出してもよいし、ファイルに含まれているすべての領域（データ）に対してハッシュ値を算出してもよい。第２の実施形態に示されているように、ハッシュ算出部１０２は、ファイルの中からハッシュ値を算出する対象である領域（データ）を、たとえば、該ファイルの種別（フォーマット）に従い選択してもよい。
【００２２】
所定のハッシュ算出手順は、たとえば、相互に類似しているデータに対して類似しているハッシュ値を算出するファジーハッシング（Ｆｕｚｚｙ  Ｈａｓｈｉｎｇ）である。所定のハッシュ算出手順は、ファジーハッシングに限定されない。また、説明の便宜上、ハッシュ算出部１０２がハッシュ値を算出するとしたが、ハッシュ値は、算出対象であるデータよりもデータサイズが小さな符号列、または、数値列等の情報であればよく、一般的なハッシュ値に限定されない。
【００２３】
次に、ファイル分類部１０３は、各ファイルに関して算出されたハッシュ値が類似している程度（すなわち、ハッシュ値間の類似性）に基づき、複数のファイルを複数のグループに分類する（ステップＳ１０２）。ファイル分類部１０３は、たとえば、所定のクラスタリング手順に従い、複数のファイルを複数のグループに分類する。複数のファイルを複数のグループに分類する場合には、複数のグループに共通して含まれているファイルが存在していてもよいし、複数のグループに共通して含まれているファイルが存在していなくてもよい。所定のクラスタリング手順は、たとえば、ｋ−ｍｅａｎｓ法等の非階層型クラスタリング手法や、ｗａｒｄ法等の階層型クラスタリング手法であってもよい。非階層型クラスタリング手法、及び、階層型クラスタリング手法については、一般的な方法であるので、本実施形態においては説明を省略する。
【００２４】
次に、ストリング特定部１０４は、１つのグループに含まれている複数のファイルに含まれている符号列、または、ビット列（以降、符号列、または、ビット列を総称して「ストリング」と表す）のうち、少なくとも一部のファイルに共通して含まれているストリングを特定する（ステップＳ１０３）。説明の便宜上、共通して含まれているストリングを、「共通ストリング」と表す。ストリング特定部１０４は、各グループについてステップＳ１０３に示された処理を実行してもよい。
【００２５】
たとえば、１つのグループに含まれているファイルに共通して含まれているストリングの出現頻度が相対的に大きい場合に、ストリング特定部１０４は、相対的に出現頻度が大きなストリングを共通ストリングとして特定してもよい。たとえば、１つのグループに含まれているファイルに共通して含まれているストリングの出現頻度が所定の閾値よりも大きい場合に、ストリング特定部１０４は、相対的に出現頻度が大きなストリングを共通ストリングとして特定してもよい。上述したように、本実施形態において、入力された各ファイルがバッドウェアを含んでいるので、出現頻度が大きなストリングを特定することによって、バッドウェアに含まれているストリングが特定される可能性は高い。
【００２６】
次に、シグネチャ作成部１０５は、ストリング特定部１０４によって特定された共通ストリングのうち、少なくとも一部の共通ストリングが含まれているか否かが判定される基準を表すシグネチャ情報（図３を参照しながら後述する）を作成する（ステップＳ１０４）。言い換えると、シグネチャ情報は、あるファイルがバッドウェアを含んでいるか否かを判定する基準を表す情報である。シグネチャ作成部１０５は、たとえば、共通ストリングを含んでいるのかを判定するための条件を、論理積（または、論理和）演算子によって結合することによって作成された論理式を、該シグネチャ情報における判定情報として作成する。尚、共通ストリングに基づきシグネチャ情報を算出する方法は、グループに含まれている複数のファイルに共通して含まれている共通ストリングに基づき判定条件を表す判定情報を作成する方法であればよく、上述した例に限定されない。
【００２７】
図３を参照しながら、シグネチャ情報について説明する。図３は、シグネチャ情報の一例を概念的に表す図である。
【００２８】
シグネチャ情報は、図２におけるステップＳ１０３にて特定された共通ストリングを表すストリング情報と、バッドウェアがファイルに含まれているか否かを判定する判定条件を表す判定情報とを含む。
【００２９】
ストリング情報においては、該共通ストリングを一意に識別可能な識別子と、該共通ストリングの内容を表す情報とが関連付けされている。該ストリング情報は、識別子が表す共通ストリングをファイルが含んでいるという条件を表す。図３に例示されたシグネチャ情報は、識別子「Ａ」と、ストリング「ＲｅｑｕｉｒｅＡｄｍｉｎｉｓｔｒａｔｏｒ」とが関連付けされたストリング情報を含む。これは、識別子「Ａ」が表すストリングが「ＲｅｑｕｉｒｅＡｄｍｉｎｉｓｔｒａｔｏｒ」（すなわち、システムに対する特権を要求する）であり、ファイルがストリング「ＲｅｑｕｉｒｅＡｄｍｉｎｉｓｔｒａｔｏｒ」を含んでいるという条件を表す。また、図３に例示されたシグネチャ情報は、識別子「Ｃ」と、ストリング「｛０１  ０１  ０１  １０  ０１｝」を含む。これは、識別子「Ｃ」が表すストリングが「｛０１  ０１  ０１  １０  ０１｝」であり、ファイルがストリング「｛０１  ０１  ０１  １０  ０１｝」を含んでいるという条件を表す。尚、図３において、「｛｝」は、ビット列を表している。
【００３０】
図３に例示されたシグネチャ情報は、判定情報「Ａ＿ａｎｄ＿Ｂ＿ａｎｄ＿（Ｃ＿ｏｒ＿Ｄ）」を含んでいる。ただし、「ａｎｄ」は、論理積演算子を表し、「ｏｒ」は、論理和演算子を表す。「（）」は、カッコ内に記載された演算を優先的に処理することを表す。該判定情報は、識別子「Ｃ」が表す条件が成立するか、または、識別子「Ｄ」が表す条件が成立する場合に、識別子「Ａ」が表す条件が成立し、さらに、識別子「Ｂ」が表す条件が成立する場合に成り立つ条件を表す。すなわち、該シグネチャ情報は、ファイルに関して条件１乃至条件３に示す条件が成立している場合に、該ファイルが、バッドウェアを含んでいると判定される基準を表している。すなわち、
○条件１：ストリング「｛０１  ０１  ０１  １０  ０１｝」を含んでいる、または、ストリング「ＺＺＺＺＺＺＺＺＺ」を含んでいる、
○条件２：ストリング「ＬｏｏｋｕｐＰｒｉｖｉｌｅｇｅＶａｌｕｅＡ」（すなわち、特権に対応している識別子を取得する）を含んでいる、
○条件３：ストリング「ＲｅｑｕｉｒｅＡｄｍｉｎｉｓｔｒａｔｏｒ」を含んでいる。
【００３１】
次に、第１の実施形態に係るシグネチャ作成装置１０１に関する効果について説明する。
【００３２】
シグネチャ作成装置１０１によれば、高い判定精度を有するシグネチャ情報を短時間に作成することができる。この理由は、シグネチャ情報を作成する目的のためにソフトウェアの挙動を追跡する必要がなく、さらに、少なくとも一部の内容が類似している複数のファイルに共通しているストリングに基づきシグネチャ情報が作成されるからである。この理由について、さらに詳細に説明する。
【００３３】
類似している構成要素を有するファイルは、該構成要素に従って実行される特定の処理を含んでいる場合がある。この場合に、類似した構成要素に共通しているストリングを特定することによって、該ファイルが該特定の処理を含んでいるか否かを判定する基準を表すシグネチャ情報を正確に作成することができる。
【００３４】
特許文献２に開示されたシグネチャ作成装置は、ファイルに含まれている構成要素の内容間の類似性を区別することなく、該ファイルが特定の処理を含んでいるか否かを判定する基準を表すシグネチャ情報を作成する。したがって、該シグネチャ作成装置は、たとえ、構成要素の内容が類似していない場合であっても、該ファイルが特定の処理を含んでいるか否かについての判定基準を表すシグネチャ情報を作成する。この場合に、該シグネチャ作成装置によって作成されるシグネチャ情報は、ファイルに含まれているノイズに基づき作成される可能性が高いので、判定精度が高いシグネチャ情報であるとは限らない。このノイズは、特定の処理には関係していないストリングを表す。
【００３５】
これに対して、本実施形態に係るシグネチャ作成装置１０１は、類似している構成要素に共通しているストリングを特定するので、相互に類似している構成要素に従い実行される特定の処理を共通ストリングが表している可能性が高い。
【００３６】
また、特許文献１に開示されたシグネチャ作成装置が、ソフトウェアに従い実行された処理の挙動を表すトレースログに基づき、特定の挙動が実行されるソフトウェアであるか否かを判定するシグネチャ情報を作成するのに対し、本実施形態に係るシグネチャ作成装置１０１は、シグネチャ情報を作成する際に該トレースログを参照しない。ソフトウェアに従い実行される処理の挙動を調査するためには、サンドボックス等の実行環境と、該実行環境にてソフトウェアの挙動を追跡する時間とが必要である。一般に、ソフトウェアの挙動を追跡する処理には長い時間を要するので、特許文献１に開示されたシグネチャ作成装置は、高い精度を有するシグネチャ情報を短時間に作成することができない。
【００３７】
これに対して、本実施形態に係るシグネチャ作成装置１０１は、ソフトウェアに含まれているストリングに基づき、特定の処理を含んでいるか否かの基準を表すシグネチャ情報を作成するので、ソフトウェアの挙動を追跡する時間が必要ない。したがって、本実施形態に係るシグネチャ作成装置１０１によれば、特許文献２に開示されたシグネチャ作成装置に比べ、短時間に該シグネチャ情報を作成することができる。
【００３８】
よって、本実施形態に係るシグネチャ作成装置１０１によれば、高い判定精度を有するシグネチャ情報を短時間に作成することができる。
【００３９】
＜第２の実施形態＞
次に、上述した第１の実施形態を基本とする本発明の第２の実施形態について説明する。
【００４０】
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第１の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【００４１】
図４を参照しながら、本発明の第２の実施形態に係るシグネチャ作成装置１１１が有する構成について詳細に説明する。図４は、本発明の第２の実施形態に係るシグネチャ作成装置１１１が有する構成を示すブロック図である。
【００４２】
第２の実施形態に係るシグネチャ作成装置１１１は、領域選択部１１２と、ハッシュ算出部１１３と、ファイル分類部１０３と、ストリング特定部１０４と、シグネチャ作成部１０５とを有する。シグネチャ作成装置１１１は、領域情報記憶部２１０に通信可能に接続されている。
【００４３】
領域選択部１１２は、入力したファイルのうちハッシュ値を算出する対象である領域を、領域情報記憶部２１０に格納されている領域情報（図６を参照しながら後述する）に基づき選択する。ハッシュ算出部１１３は、領域選択部１１２が選択した領域に関するハッシュ値を算出する。
【００４４】
図６を参照しながら、領域情報について説明する。図６は、領域情報記憶部２１０に格納されている領域情報の一例を概念的に表す図である。
【００４５】
領域情報は、ファイルの種別ごとに、該ファイルにおいてハッシュ値が算出される領域（以降、「対象領域」と表す）を表す情報が格納されている。図６に例示された領域情報においては、ファイルの種別を表す情報と、対象領域を表す情報とが関連付けされている。図６に例示された領域情報においては、ファイルの種別「実行ファイル」と、対象領域「インポートテーブル」とが関連付けされている。これは、ファイルの種別が「実行ファイル」である場合に、該ファイル内の領域「インポートテーブル」に関してハッシュ値が算出されることを表す。図６に例示されているように、ファイルにおける対象領域の個数は、複数であってもよい。領域情報は、上述した情報と異なる情報を含んでいてもよく、上述した例に限定されない。
【００４６】
次に、図５を参照しながら、本発明の第２の実施形態に係るシグネチャ作成装置１１１における処理について詳細に説明する。図５は、第２の実施形態に係るシグネチャ作成装置１１１における処理の流れを示すフローチャートである。
【００４７】
領域選択部１１２は、入力した各ファイルに関して、該ファイルの種別を特定する（ステップＳ１１１）。ファイルの種別は、たとえば、実行ファイル、画像ファイル、動画ファイル等の種別を表す。ファイルの種別は、画像ファイルがたとえば、ＪＰＥＧファイル、ＧＩＦファイル、ＰＮＧファイル等のファイルフォーマットであってもよい。ＪＰＥＧは、Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐの略称を表す。ＧＩＦは、Ｇｒａｐｈｉｃｓ  Ｉｎｔｅｒｃｈａｎｇｅ  Ｆｏｒｍａｔの略称を表す。ＰＮＧは、Ｐｏｒｔａｂｌｅ  Ｎｅｔｗｏｒｋ  Ｇｒａｐｈｉｃｓの略称を表す。領域選択部１１２は、ファイルの種別を、たとえば、該ファイルを識別可能なファイル名における拡張子に基づき特定してもよいし、該ファイルに含まれている符号列等に基づき特定してもよい。領域選択部１１２が、ファイルの種別を特定する処理は、上述した例に限定されない。
【００４８】
ステップＳ１１１の後、領域選択部１１２は、特定した種別のファイルに関するハッシュ値を算出する対象を表す領域を、領域情報（図６に例示）に基づき選ぶ（ステップＳ１１２）。たとえば、特定したファイルの種別が実行ファイルである場合に、領域選択部１１２は、領域情報（図６に例示）において、ファイルの種別「実行ファイル」に関連付けされた対象領域「インポートテーブル」を特定する。
【００４９】
ハッシュ算出部１１３は、所定のハッシュ算出手順に従い、領域選択部１１２が選んだ領域に格納されているデータに関するハッシュ値を算出する（ステップＳ１１３）。したがって、ステップＳ１１３に示された処理に従い算出されるハッシュ値は、ファイルに関するハッシュ値（図２のステップＳ１０１にて算出される）と同様な手順に従い算出されるハッシュ値を表す。
【００５０】
ハッシュ算出部１１３、及び、領域選択部１１２は、入力された複数のファイルに関して、それぞれ、ステップＳ１１１乃至ステップＳ１１３に示された処理を実行する。
【００５１】
以降、シグネチャ作成装置１１１においては、ステップＳ１０２乃至ステップＳ１０４に示された処理が実行される。
【００５２】
次に、第２の実施形態に係るシグネチャ作成装置１１１に関する効果について説明する。
【００５３】
本実施形態に係るシグネチャ作成装置１１１によれば、高い判定精度を有するシグネチャ情報を短時間に作成することができる。この理由は、第１の実施形態にて上述した理由と同様である。
【００５４】
さらに、第２の実施形態に係るシグネチャ作成装置１１１によれば、より判定精度が高いシグネチャ情報を作成することができる。この理由は、ハッシュ値が算出される領域に応じて該ハッシュ値は大きく異なっているので種別ごとにグループが作成される可能性が高く、該グループがバッドウェアに基づき、さらに細分される可能性が高いからである。言い換えると、本実施形態に係るシグネチャ作成装置１１１が、バッドウェア（Ｂａｄｗａｒｅ）に基づき分類されたグループに関してシグネチャ情報を作成するので、作成されるシグネチャ情報は、あるバッドウェアに共通しているストリングに基づき作成される可能性が高い。したがって、該シグネチャ情報は、類似しているバッドウェアごとに作成される可能性が高いので、該バッドウェアが有している特徴を表している可能性が高い。この結果、作成されるシグネチャ情報は、判定精度が高いシグネチャ情報である可能性が高い。
【００５５】
＜第３の実施形態＞
次に、上述した第１の実施形態を基本とする本発明の第３の実施形態について説明する。
【００５６】
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第１の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【００５７】
図７を参照しながら、本発明の第３の実施形態に係るシグネチャ作成装置１２１が有する構成について詳細に説明する。図７は、本発明の第３の実施形態に係るシグネチャ作成装置１２１が有する構成を示すブロック図である。
【００５８】
第３の実施形態に係るシグネチャ作成装置１２１は、ハッシュ算出部１０２と、ファイル分類部１２３と、ストリング特定部１２４と、シグネチャ作成部１２５とを有する。シグネチャ作成装置１２１は、消去情報記憶部２２１に通信可能に接続されている。
【００５９】
消去情報記憶部２２１には、図１１に例示されているように、バッドウェアに関してシグネチャ作成部１２５が作成したシグネチャ情報のうち、バッドウェアに特有でないストリングを表す消去情報が格納されている。図１１は、消去情報記憶部２２１に格納されている消去情報の一例を概念的に表す図である。
【００６０】
消去情報は、上記のように、バッドウェアに特有でないストリングを表す情報（以降、「消去ストリング情報」と表す）を含んでおり、たとえば、バッドウェアを含んでいないファイルに共通して含まれているストリングを表す情報であってもよい。図１１に例示された消去情報は、ストリング「／ｓｅｃｕｒｉｔｙ」を含む。これは、ストリング「／ｓｅｃｕｒｉｔｙ」がバッドウェアに特有なストリングでないことを表す。消去情報は、たとえば、バッドウェアを含んでいない１つのファイルに含まれているストリングを表していてもよく、上述した例に限定されない。
【００６１】
次に、図８を参照しながら、本発明の第３の実施形態に係るシグネチャ作成装置１２１における処理について詳細に説明する。図８は、第３の実施形態に係るシグネチャ作成装置１２１における処理の流れを示すフローチャートである。
【００６２】
シグネチャ作成装置１２１は、バッドウェアを含んでいるファイルに対して、第１の実施形態において図２に示すようなフローチャートを参照しながら説明した処理と同様な処理を実行することにより、該ファイルに関するシグネチャ情報を作成する（ステップＳ１０１乃至ステップＳ１０４）。
【００６３】
シグネチャ作成部１２５は、作成したシグネチャ情報から、消去情報（図１１に例示）における消去ストリング情報に関する条件を削除する。たとえば、シグネチャ作成部１２５は、シグネチャ情報において、消去ストリング情報に関する条件、及び、該条件と他の条件との間における論理演算処理を削除することによって、該シグネチャ情報から消去ストリング情報を削除する（ステップＳ１２５）。
【００６４】
図１１を参照しながら説明したように、消去情報がバッドウェアに特有でないストリングを表すので、シグネチャ作成装置１２１が図８に示された処理を実行することによって、より高い判定精度を有するシグネチャ情報を作成することができる。
【００６５】
シグネチャ作成装置１２１は、図９に示されているような処理に従い、バッドウェアを含んでいるファイルと、バッドウェアを含んでいないファイルとに関して、それぞれ、グループに分類し、分類されたグループに基づき処理を行ってもよい。図９は、第３の実施形態に係るシグネチャ作成装置１２１における処理の流れを示すフローチャートである。図９に示されている処理において、シグネチャ作成装置１２１は、バッドウェアを含んでいるファイルと、バッドウェアを含んでいないファイルとを入力する。説明の便宜上、シグネチャ作成装置１２１は、バッドウェアを含んでいる１つ以上のファイルから成るバッドファイルセットと、バッドウェアを含んでいない１つ以上のファイルからなるグッドファイルセットとを入力するとする。
【００６６】
ハッシュ算出部１０２は、所定のハッシュ算出手順に従い、ファイルに関するハッシュ値を算出する（ステップＳ１０１）。
【００６７】
ファイル分類部１２３は、バッドファイルセットに含まれている各ファイルに関して算出されたハッシュ値間の類似性に基づき、バッドファイルセットに含まれている各ファイル（以降、「バッドファイル」と表す）を複数のグループ（以降、「バッドグループ」と表す）に分類する。同様に、ファイル分類部１２３は、グッドファイルセットに含まれている各ファイル（以降、「グッドファイル」と表す）に関して算出されたハッシュ値間の類似性に基づき、グッドファイルを複数のグループ（以降、「グッドグループ」と表す）に分類する（ステップＳ１３２）。
【００６８】
次に、ストリング特定部１２４は、グッドグループ内のグッドファイルに共通して含まれているストリングを特定し（ステップＳ１３３）、特定したストリングを表すストリング情報を消去情報記憶部２２１に格納する（ステップＳ１３４）。さらに、ストリング特定部１２４は、バッドグループ内のバッドファイルに共通して含まれているストリングを特定する（ステップＳ１３５）。
【００６９】
シグネチャ作成部１２５は、バッドグループに含まれているファイルに関して特定されたストリングに基づき、ステップＳ１０４（図２）と同様な処理を実行することによって、該ストリングに関するシグネチャ情報を作成する（ステップＳ１３６）。シグネチャ作成部１２５は、ステップＳ１３３にて特定されたストリングを表す情報を含む消去情報に基づき、ステップＳ１２５（図８）と同様な処理を実行することによって、シグネチャ情報から消去ストリング情報に関する条件を削除する（ステップＳ１３７）。
【００７０】
尚、シグネチャ作成装置１２１は、ステップＳ１３５、ステップＳ１３６、ステップＳ１３３、及び、ステップＳ１３４の順に処理を実行してもよく、図９に示された処理順序に限定されない。
【００７１】
図９に示された処理において、共通ストリング情報は、グッドグループに含まれているファイルに関するストリング情報であるので、グッドファイルセットに関するストリング情報に比べ、共通ストリング情報が特定される対象であるファイルが少ない。したがって、より多様なシグネチャ情報が特定されるので、シグネチャ作成装置１２１は、図８を参照しながら説明したような効果に加え、より一層、判定精度が高いシグネチャ情報を作成することができる。
【００７２】
シグネチャ作成装置１２１は、図１０に示されているような処理に従い、ファイルをグループに分類した後に、グループに含まれているバッドウェアに関するシグネチャ情報を作成し、該グループに含まれているグッドグループに関する共通ストリング情報に基づき、作成したシグネチャ情報を更新してもよい。図１０は、第３の実施形態に係るシグネチャ作成装置１２１における処理の流れを示すフローチャートである。
【００７３】
ファイル分類部１２３は、ハッシュ算出部１０２が算出するハッシュ値に基づき、入力した複数のファイルをグループに分類する（ステップＳ１４２）。
【００７４】
ストリング特定部１２４は、ステップＳ１３３及びステップＳ１３５（図９）に示された処理と同様な処理手順に従い、分類されたグループに含まれているグッドファイルセットに関するストリング、及び、該グループに含まれているバッドファイルセットに関するストリングを特定する（ステップＳ１４３、及び、ステップＳ１４４）。
【００７５】
シグネチャ作成部１２５は、ステップＳ１０４（図２）と同様な処理を実行することによって、バッドファイルセットに関するシグネチャ情報を作成する（ステップＳ１４５）。シグネチャ作成部１２５は、ステップＳ１２５（図８）と同様な処理を実行することによって、該シグネチャ情報に含まれているストリングを、該グループに含まれているグッドファイルセットに関して特定された共通ストリング情報に関する条件を削除する（ステップＳ１４６）。
【００７６】
図１０に示された処理において、あるシグネチャ情報から削除する対象である共通ストリング情報は、該あるシグネチャ情報を作成する基であるグループに限定されているので、削除する対象である共通ストリングを探索する処理が、図９等に示された処理に比べて少ない。したがって、シグネチャ作成装置１２１は、図１０に示された処理に従いシグネチャ情報を作成することによって、図９を参照しながら説明したような効果に加え、さらに短時間にシグネチャ情報を作成することができる。
【００７７】
次に、第３の実施形態に係るシグネチャ作成装置１２１に関する効果について説明する。
【００７８】
第３の実施形態に係るシグネチャ作成装置１２１によれば、高い判定精度を有するシグネチャ情報を短時間に作成することができる。この理由は、第１の実施形態にて上述した理由と同様である。
【００７９】
さらに、第３の実施形態に係るシグネチャ作成装置１２１によれば、より一層高い判定精度、または、より短時間に、シグネチャ情報を作成することができる。これは、図８乃至図１０の各図を参照しながら説明したような理由に基づき、上記の効果を得ることができるからである。
【００８０】
＜第４の実施形態＞
次に、上述した第１の実施形態を基本とする本発明の第４の実施形態について説明する。
【００８１】
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第１の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【００８２】
図１２を参照しながら、本発明の第４の実施形態に係るシグネチャ作成装置１５１が有する構成について詳細に説明する。図１２は、本発明の第４の実施形態に係るシグネチャ作成装置１５１が有する構成を示すブロック図である。
【００８３】
第４の実施形態に係るシグネチャ作成装置１５１は、ハッシュ算出部１０２と、ファイル分類部１０３と、ストリング特定部１０４と、シグネチャ作成部１０５と、シグネチャ検証部１５６とを有する。
【００８４】
次に、図１３を参照しながら、本発明の第４の実施形態に係るシグネチャ作成装置１５１における処理について詳細に説明する。図１３は、第４の実施形態に係るシグネチャ作成装置１５１における処理の流れを示すフローチャートである。
【００８５】
シグネチャ作成装置１５１における各部は、ステップＳ１０１乃至ステップＳ１０４に示された処理を実行することによって、シグネチャ情報を作成する。
【００８６】
シグネチャ検証部１５６は、ステップＳ１０４にて作成されたシグネチャ情報に基づき、バッドウェアを含んでいるファイルがシグネチャ情報における判定情報を満たしているか否か、及び、バッドウェアを含んでいないファイルがシグネチャ情報における判定情報を満たしているか否かをそれぞれ判定する（ステップＳ１５５）。図３を参照しながら説明したように、判定情報がバッドウェアを含むバッドファイルに共通して含まれているストリングを表すので、ファイルが判定情報を満たしている場合に、該ファイルは、バッドウェアを含んでいると判定される。これに対して、ファイルが判定情報を満たしていない場合に、該ファイルは、バッドウェアを含んでいないと判定される。
【００８７】
次に、シグネチャ検証部１５６は、シグネチャ情報に関する判定精度を、各ファイルに対する判定結果に基づき算出する（ステップＳ１５６）。シグネチャ検証部１５６は、バッドウェアを含んでいるファイルに対する判定精度、及び、バッドウェアを含んでいないファイルに対する判定精度を、それぞれ、算出する。
【００８８】
シグネチャ検証部１５６は、算出した判定精度が所定の条件を満たしているのか否かを判定し、該所定の条件を満たしているシグネチャ情報のみを出力する（ステップＳ１５７）。シグネチャ検証部１５６は、たとえば、バッドウェアを含んでいるファイルに対する判定精度が所定の条件を満たしているか否かを判定してもよいし、バッドウェアを含んでいるファイル、及び、バッドウェアを含んでいないファイルに関して算出された判定精度が所定の条件を満たしているか否かを判定してもよい。バッドウェアを含んでいるファイルに関する所定の判定条件は、たとえば、判定精度が所定の第１精度よりも大きいという条件である。バッドウェアを含んでいないファイルに関する所定の判定条件は、たとえば、判定精度が所定の第２精度以下であるという条件である。この場合に、所定の第１精度、及び、所定の第２精度は、必ずしも、同じ値である必要はなく、異なる値であってもよい。
【００８９】
シグネチャ検証部１５６は、シグネチャ情報ごとに判定精度を算出するのではなく、該シグネチャ情報を作成する基であるグループごとに判定精度を算出してもよい。シグネチャ検証部１５６は、算出した判定精度が所定の判定条件を満たしているグループに基づき算出されたシグネチャ情報を出力し、該所定の判定条件を満たしていないグループに基づき算出されたシグネチャ情報を出力しない。この場合に、シグネチャ検証部１５６は、あるグループに関する判定精度が所定の判定条件を満たさないことが判明したときに、該あるグループに関して判定精度を算出する処理（たとえば、ステップＳ１５５乃至ステップＳ１５７に示された処理）を終了してもよい。たとえば、ファイルが１００個であり、所定の判定条件が「判定精度が７０％よりも高い」という条件である場合に、シグネチャ検証部１５６は、該あるグループに関して誤判定されたファイル数が３０個以上となった場合に、該グループに関して判定精度を算出する処理を終了してもよい。この場合に、シグネチャ検証部１５６は、該あるグループに関する判定精度が所定の条件を満たしていないと判定する。したがって、この場合に、シグネチャ検証部１５６は、該あるグループを出力しない。シグネチャ検証部１５６が、必ずしも、すべてのファイルに関して、シグネチャ情報における判定条件が成り立っているか否かを判定する必要がないので、短時間にシグネチャ情報に関する判定精度を算出することができる。
【００９０】
次に、第４の実施形態に係るシグネチャ作成装置１５１に関する効果について説明する。
【００９１】
第４の実施形態に係るシグネチャ作成装置１５１によれば、高い判定精度を有するシグネチャ情報を短時間に作成することができる。この理由は、第１の実施形態にて上述した理由と同様である。
【００９２】
さらに、第４の実施形態に係るシグネチャ作成装置１５１によれば、さらに高い判定精度を有するシグネチャ情報を作成することができる。この理由は、バッドウェアを含んでいるか否かに関する情報があらかじめ与えられているファイルを用いて、シグネチャ作成装置１５１がシグネチャ情報に関する判定精度を算出し、所定の判定条件を満たしている判定精度を有するシグネチャ情報のみを出力するからである。したがって、所定の条件を満たしていない判定精度を有するシグネチャ情報をシグネチャ作成装置１５１が出力しないので、第４の実施形態に係るシグネチャ作成装置１５１によれば、さらに高い判定精度を有するシグネチャ情報を作成することができる。
【００９３】
（ハードウェア構成例）
上述した本発明の各実施形態に係るシグネチャ作成装置、または、ソフトウェア判定装置を、１つの計算処理装置（情報処理装置、コンピュータ）を用いて実現するハードウェア資源の構成例について説明する。但し、係るシグネチャ作成装置、または、係るソフトウェア判定装置は、物理的または機能的に、少なくとも２つの計算処理装置を用いて実現されてもよい。また、係るシグネチャ作成装置は、専用の装置として実現されてもよい。
【００９４】
図１４は、本発明の各実施形態に係るシグネチャ作成装置、または、ソフトウェア判定装置を実現可能な計算処理装置のハードウェア構成例を概略的に示すブロック図である。計算処理装置２０は、中央処理演算装置（Ｃｅｎｔｒａｌ＿Ｐｒｏｃｅｓｓｉｎｇ＿Ｕｎｉｔ、以降「ＣＰＵ」と表す）２１、メモリ２２、ディスク２３、不揮発性記録媒体２４、及び、通信インターフェース（以降、「通信ＩＦ」と表す）２７を有する。計算処理装置２０は、入力装置２５、出力装置２６に接続可能であってもよい。計算処理装置２０は、通信ＩＦ２７を介して、他の計算処理装置、及び、通信装置と情報を送受信することができる。
【００９５】
不揮発性記録媒体２４は、コンピュータが読み取り可能な、たとえば、コンパクトディスク（Ｃｏｍｐａｃｔ＿Ｄｉｓｃ）、デジタルバーサタイルディスク（Ｄｉｇｉｔａｌ＿Ｖｅｒｓａｔｉｌｅ＿Ｄｉｓｃ）である。また、不揮発性記録媒体２４は、ユニバーサルシリアルバスメモリ（ＵＳＢメモリ）、ソリッドステートドライブ（Ｓｏｌｉｄ＿Ｓｔａｔｅ＿Ｄｒｉｖｅ）等であってもよい。不揮発性記録媒体２４は、電源を供給しなくても係るプログラムを保持し、持ち運びを可能にする。不揮発性記録媒体２４は、上述した媒体に限定されない。また、不揮発性記録媒体２４の代わりに、通信ＩＦ２７、及び、通信ネットワークを介して係るプログラムを持ち運びしてもよい。
【００９６】
すなわち、ＣＰＵ２１は、ディスク２３に格納されているソフトウェア・プログラム（コンピュータ・プログラム：以下、単に「プログラム」と称する）を、実行する際にメモリ２２にコピーし、演算処理を実行する。ＣＰＵ２１は、プログラム実行に必要なデータをメモリ２２から読み取る。外部への出力が必要な場合に、ＣＰＵ２１は、出力装置２６に出力結果を出力する。外部からプログラムを入力する場合に、ＣＰＵ２１は、入力装置２５からプログラムを読み取る。ＣＰＵ２１は、上述した図１、図４、図７、または、図１２に示す各部が表す機能（処理）に対応するところのメモリ２２にあるシグネチャ作成プログラム（図２、図５、図８乃至図１０、または、図１３）、または、ソフトウェア判定プログラムを解釈し実行する。ＣＰＵ２１は、上述した本発明の各実施形態において説明した処理を順次実行する。
【００９７】
すなわち、このような場合に、本発明は、係るシグネチャ作成プログラム、または、係るソフトウェア判定プログラムによっても成し得ると捉えることができる。さらに、係るシグネチャ作成プログラム、または、係るソフトウェア判定プログラムが記録されたコンピュータが読み取り可能な不揮発性の記録媒体によっても、本発明は成し得ると捉えることができる。
【００９８】
以上、上述した実施形態を模範的な例として本発明を説明した。しかし、本発明は、上述した実施形態には限定されない。すなわち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【００９９】
この出願は、２０１６年７月２７日に出願された日本出願特願２０１６−１４７４７３を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１００】
１０１    シグネチャ作成装置
１０２    ハッシュ算出部
１０３    ファイル分類部
１０４    ストリング特定部
１０５    シグネチャ作成部
１０６    ソフトウェア判定システム
２０１    ソフトウェア判定装置
１１１    シグネチャ作成装置
１１２    領域選択部
１１３    ハッシュ算出部
２１０    領域情報記憶部
１２１    シグネチャ作成装置
１２３    ファイル分類部
１２４    ストリング特定部
１２５    シグネチャ作成部
２２１    消去情報記憶部
１５１    シグネチャ作成装置
１５６    シグネチャ検証部
２０    計算処理装置
２１    ＣＰＵ
２２    メモリ
２３    ディスク
２４    不揮発性記録媒体
２５    入力装置
２６    出力装置
２７    通信ＩＦ
【図１】
2018021163.tif 000003
【図２】
2018021163.tif 000004
【図３】
2018021163.tif 000005
【図４】
2018021163.tif 000006
【図５】
2018021163.tif 000007
【図６】
2018021163.tif 000008
【図７】
2018021163.tif 000009
【図８】
2018021163.tif 000010
【図９】
2018021163.tif 000011
【図１０】
2018021163.tif 000012
【図１１】
2018021163.tif 000013
【図１２】
2018021163.tif 000014
【図１３】
2018021163.tif 000015
【図１４】
2018021163.tif 000016
【国際調査報告】
2018021163.tif 000017
2018021163.tif 000018