(57)【要約】【課題】  特定のバージョンの実行環境上でのみ不正活動を顕現化する不正プログラムの効率的な解析を行い得るプログラム解析システム及び解析方法を提案する。【解決手段】  検体が、特定の脆弱性をもつバージョンの実行環境上で不正活動を顕在化するマルウェアであるか否かを解析するプログラム解析システムに関し、それぞれ異なるバージョンの実行環境上で検体を解析する複数の検体解析装置と、検体解析装置に対して検体の解析を依頼する解析管理装置とを設け、解析管理装置が、脆弱性ごとの解析優先度をそれぞれ決定し、決定結果に基づいて、優先的に解析すべきバージョンを１又は複数選択し、選択したバージョンの実行環境を有する検体解析装置に対して検体の解析を依頼するようにした。【選択図】  図１２
2014089593.tif 000002
【特許請求の範囲】
【請求項１】
検体が、特定の脆弱性をもつバージョンの実行環境上で不正活動を顕在化する不正プログラムであるか否かを解析するプログラム解析システムであって、
それぞれ異なるバージョンの実行環境上で前記検体を解析する複数の検体解析装置と、
前記脆弱性ごとの解析優先度をそれぞれ決定し、決定結果に基づいて、優先的に解析すべきバージョンを１又は複数選択し、選択したバージョンの実行環境を有する前記検体解析装置に対して前記検体の解析を依頼する解析管理装置と
を備えることを特徴とするプログラム解析システム。
【請求項２】
前記解析管理装置は、
前記脆弱性ごとの、他の脆弱性と比べた当該脆弱性が悪用される頻度の相対値である悪用頻度と、前記実行環境のバージョンごとの、全バージョンに対する当該バージョンが使用されている比率である使用頻度とをそれぞれ算出し、算出した前記悪用頻度及び前記使用頻度に基づいて、前記脆弱性ごとの前記解析優先度をそれぞれ決定する
ことを特徴とする請求項１に記載のプログラム解析システム。
【請求項３】
前記解析管理装置は、
前記脆弱性ごとの当該脆弱性をもつ前記実行環境のバージョンを表す脆弱性情報を保持し、
前記脆弱性ごとの前記解析優先度と、前記脆弱性情報とに基づいて前記実行環境のバージョンごとの前記解析優先度の累計値を算出し、算出したバージョンごとの前記解析優先度の累計値に基づいて、優先的に解析すべきバージョンを選択する
ことを特徴とする請求項１に記載のプログラム解析システム。
【請求項４】
前記解析管理装置は、
前記悪用頻度及び前記使用頻度のいずれを重視するかを決定する、予め設定された重み付けパラメータを保持し、
前記悪用頻度及び前記使用頻度と、前記重み付けパラメータとに基づいて、前記脆弱性ごとの前記解析優先度を決定する
ことを特徴とする請求項２に記載のプログラム解析システム。
【請求項５】
前記解析管理装置は、
前記実行環境のバージョンごとの、全バージョンからみた当該バージョンが使用される頻度の相対値である使用頻度を算出し、
前記解析優先度の累計値が大きいバージョンから順番に、前記使用頻度の合計値が予め設定された第１の閾値を超えるバージョンまでを、優先的に解析すべきバージョンとして選択し、
選択した各バージョンのうちの前記解析優先度の累計値の大きいバージョンから順番に、当該バージョンの実行環境を有する前記検体解析装置に対して前記検体の解析を依頼する
ことを特徴とする請求項３に記載のプログラム解析システム。
【請求項６】
前記解析管理装置は、
前記脆弱性ごとの、前記脆弱性全体からみた当該脆弱性が悪用される頻度の相対値である悪用頻度を算出し、
前記解析優先度の累計値が大きいバージョンから順番に、前記悪用頻度の合計値が予め設定された第２の閾値を超えるバージョンまでを、優先的に解析すべきバージョンとして選択し、
選択した各バージョンのうちの前記解析優先度の累計値の大きいバージョンから順番に、当該バージョンの実行環境を有する前記検体解析装置に対して前記検体の解析を依頼する
ことを特徴とする請求項３に記載のプログラム解析システム。
【請求項７】
前記解析管理装置は、
いずれかの前記検体解析装置から前記検体が、特定の脆弱性をもつバージョンの実行環境上で不正活動を顕在化する不正プログラムであるとの解析結果を受信した場合には、当該検体の他の前記検体解析装置への解析の依頼を停止する
ことを特徴とする請求項１に記載のプログラム解析システム。
【請求項８】
検体が、特定の脆弱性をもつバージョンの実行環境上で不正活動を顕在化する不正プログラムであるか否かを解析するプログラム解析システムにおけるプログラム解析方法であって、
前記解析システムは、
それぞれ異なるバージョンの実行環境上で前記検体を解析する複数の検体解析装置と、
前記検体解析装置に対して前記検体の解析を依頼する解析管理装置とを有し、
前記解析管理装置が、前記脆弱性ごとの解析優先度をそれぞれ決定する第１のステップと、
前記解析管理装置が、決定結果に基づいて、優先的に解析すべきバージョンを１又は複数選択する第２のステップと、
前記解析管理装置が、選択したバージョンの実行環境を有する前記検体解析装置に対して前記検体の解析を依頼する第３のステップと
を備えることを特徴とするプログラム解析方法。
【請求項９】
前記解析管理装置は、前記第１のステップにおいて、
前記脆弱性ごとの、他の脆弱性と比べた当該脆弱性が悪用される頻度の相対値である悪用頻度と、前記実行環境のバージョンごとの、全バージョンに対する当該バージョンが使用されている比率である使用頻度とをそれぞれ算出し、算出した前記悪用頻度及び前記使用頻度に基づいて、前記脆弱性ごとの前記解析優先度をそれぞれ決定する
ことを特徴とする請求項８に記載のプログラム解析方法。
【請求項１０】
前記解析管理装置は、
前記脆弱性ごとの当該脆弱性をもつ前記実行環境のバージョンを表す脆弱性情報を保持し、
前記第２のステップにおいて、
前記脆弱性ごとの前記解析優先度と、前記脆弱性情報とに基づいて前記実行環境のバージョンごとの前記解析優先度の累計値を算出し、算出したバージョンごとの前記解析優先度の累計値に基づいて、優先的に解析すべきバージョンを選択する
ことを特徴とする請求項９に記載のプログラム解析方法。
【請求項１１】
前記解析管理装置は、
前記悪用頻度及び前記使用頻度のいずれを重視するかを決定する、予め設定された重み付けパラメータを保持し、
前記第１のステップにおいて、
前記悪用頻度及び前記使用頻度と、前記重み付けパラメータとに基づいて、前記脆弱性ごとの前記解析優先度を決定する
ことを特徴とする請求項９に記載のプログラム解析方法。
【請求項１２】
前記解析管理装置は、
前記第１のステップにおいて、前記実行環境のバージョンごとの、全バージョンからみた当該バージョンが使用される頻度の相対値である使用頻度を算出し、
前記第２のステップにおいて、前記解析優先度の累計値が大きいバージョンから順番に、前記使用頻度の合計値が予め設定された第１の閾値を超えるバージョンまでを、優先的に解析すべきバージョンとして選択し、
前記第３のステップにおいて、選択した各バージョンのうちの前記解析優先度の累計値の大きいバージョンから順番に、当該バージョンの実行環境を有する前記検体解析装置に対して前記検体の解析を依頼する
ことを特徴とする請求項１０に記載のプログラム解析方法。
【請求項１３】
前記解析管理装置は、
前記第１のステップにおいて、前記脆弱性ごとの、前記脆弱性全体からみた当該脆弱性が悪用される頻度の相対値である悪用頻度を算出し、
前記第２のステップにおいて、前記解析優先度の累計値が大きいバージョンから順番に、前記悪用頻度の合計値が予め設定された第２の閾値を超えるバージョンまでを、優先的に解析すべきバージョンとして選択し、
前記第３のステップにおいて、選択した各バージョンのうちの前記解析優先度の累計値の大きいバージョンから順番に、当該バージョンの実行環境を有する前記検体解析装置に対して前記検体の解析を依頼する
ことを特徴とする請求項１０に記載のプログラム解析方法。
【請求項１４】
前記解析管理装置は、
前記第３のステップにおいて、いずれかの前記検体解析装置から前記検体が、特定の脆弱性をもつバージョンの実行環境上で不正活動を顕在化する不正プログラムであるとの解析結果を受信した場合には、当該検体の他の前記検体解析装置への解析の依頼を停止する
ことを特徴とする請求項８に記載のプログラム解析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム解析システム及び方法に関し、特に、コンピュータプログラムの挙動を解析するプログラム解析システムに適用して好適なものである。
【背景技術】
【０００２】
近年、情報漏えいや不正アクセスなどの脅威をもたらすコンピュータウイルスやスパイウェア及びボットプログラムといった悪意ある不正プログラム（以下、これをマルウェアと呼ぶ）が社会問題となっている。
【０００３】
マルウェアの出現数は年々増加傾向にある。これに伴い、従来のシグニチャ型のアンチウイルスソフトでは新種マルウェアに対して十分に対抗することが難しくなりつつある。この問題を解決する手段として、プログラムをサンドボックス内で実行して挙動を分析することで、マルウェアを検知する動的解析技術が注目されている。この技術によれば、シグニチャを用いず検知を行うため、シグニチャ型が対応できない新種マルウェアに対応することが可能となる。
【０００４】
特許文献１では、コンピュータ内から不審プログラムを発見し、検体として検査サーバに送信して、検体解析装置で動的解析を行うことで、新種マルウェアを検知・駆除する技術が開示されている。この技術によれば、複数のコンピュータ内にある不審プログラムの動的解析を１台のサーバで行うことを実現する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１９８０５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところが、特許文献１では、特定の種類の実行環境上でのみ実行されるマルウェアに対する解析・検知方法が言及されていない。例えば、ＰＤＦ（Portable Document Format）ファイルというドキュメントファイル型のマルウェアの中には、特定のバージョンのＰＤＦ実行ファイルから読み込まれたときのみ、実行ファイルの脆弱性を利用して不正活動を顕現化するものがある。このようなマルウェアを解析するには、複数のバージョンの実行環境を持つ検体解析装置を使用する必要があるが、全てのバージョンの実行環境を順々に試していくのは効率が悪い。
【０００７】
本発明は以上の点を考慮してなされたもので、特定のバージョンの実行環境上でのみ不正活動を顕現化する不正プログラム（マルウェア）の効率的な解析を行い得るプログラム解析システム及び方法を提案しようとするものである。
【課題を解決するための手段】
【０００８】
かかる課題を解決するため本発明においては、検体が、特定の脆弱性をもつバージョンの実行環境上で不正活動を顕在化する不正プログラムであるか否かを解析するプログラム解析システムであって、それぞれ異なるバージョンの実行環境上で前記検体を解析する複数の検体解析装置と、前記脆弱性ごとの解析優先度をそれぞれ決定し、決定結果に基づいて、優先的に解析すべきバージョンを１又は複数選択し、選択したバージョンの実行環境を有する前記検体解析装置に対して前記検体の解析を依頼する解析管理装置とを設けるようにした。
【０００９】
また本発明においては、検体が、特定の脆弱性をもつバージョンの実行環境上で不正活動を顕在化する不正プログラムであるか否かを解析するプログラム解析システムにおけるプログラム解析方法であって、前記解析システムは、それぞれ異なるバージョンの実行環境上で前記検体を解析する複数の検体解析装置と、前記検体解析装置に対して前記検体の解析を依頼する解析管理装置とを有し、前記解析管理装置が、前記脆弱性ごとの解析優先度をそれぞれ決定する第１のステップと、前記解析管理装置が、決定結果に基づいて、優先的に解析すべきバージョンを１又は複数選択する第２のステップと、前記解析管理装置が、選択したバージョンの実行環境を有する前記検体解析装置に対して前記検体の解析を依頼する第３のステップとを設けるようにした。
【００１０】
この結果、本発明のプログラム解析システム及びプログラム解析方法によれば、優先的に解析すべきバージョンに対応した検体解析装置において検体が解析されるため、すべてのバージョンの実行環境を順々に試してゆく従来の解析手法と比して、検体の解析を効率良く行うことができる。
【発明の効果】
【００１１】
本発明によれば、特定のバージョンの実行環境上でのみ不正活動を顕現化する不正プログラムを効率的に解析し得るプログラム解析システム及び方法を実現できる。
【図面の簡単な説明】
【００１２】
【図１】本実施の形態によるプログラム解析システムの全体構成を示すブロック図である。
【図２】解析管理装置の概略構成を示すブロック図である。
【図３】検体データベースの構成を概念的に示す概念図である。
【図４】解析優先脆弱性決定パラメータデータベースの構成を概念的に示す概念図である。
【図５】脆弱性情報データベースの構成を概念的に示す概念図である。
【図６】使用頻度情報データベースの構成を概念的に示す概念図である。
【図７】解析優先脆弱性データベースの構成を概念的に示す概念図である。
【図８】解析システムデータベースの構成を概念的に示す概念図である。
【図９】解析環境決定パラメータデータベースの構成を概念的に示す概念図である。
【図１０】解析管理装置の論理構成を示すブロック図である。
【図１１】解析優先脆弱性決定処理の処理手順を示すフローチャートである。
【図１２】解析環境決定処理の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下図面について、本発明の一実施の形態を詳述する。
【００１４】
なお、以下においては、主としてＰＤＦ（Portable Document Formant）という名称のドキュメントファイルを解析するシステムについて取り上げる。
【００１５】
ＰＤＦファイルはＰＤＦ．ＥＸＥという実行環境上で読み込まれることで、ドキュメントを表示するファイルである。攻撃者により作成されたＰＤＦファイル型のマルウェアは、特定のバージョンのＰＤＦ．ＥＸＥ上で読み込まれると、実行環境の脆弱性を利用して不正活動を開始する。
【００１６】
ＰＤＦ．ＥＸＥはバージョンによって様々な脆弱性を有している。マルウェアが利用する脆弱性と、ＰＤＦ．ＥＸＥが有している脆弱性が一致したときのみ、マルウェアは不正活動を開始できる。このため、あるＰＤＦファイルがマルウェアかどうかを確認するには、様々なバージョンのＰＤＦ．ＥＸＥ上で読み込ませる必要がある。
【００１７】
本実施の形態で取り上げるシステムは、組織内で利用されているＰＤＦ．ＥＸＥの頻度や攻撃者が狙う脆弱性の頻度に関する情報を基に、マルウェアを読み込ませるＰＤＦ．ＥＸＥのバージョンや読み込む順序を決定することで、効率的な解析を実現する。
【００１８】
（１）本実施の形態によるプログラム解析システムの構成
図１において、１は全体として本実施の形態によるプログラム解析システムを示す。このプログラム解析システム１は、１又は複数の情報処理装置３、解析管理装置４、複数の検体解析装置５及び脆弱性情報サイト６を備えて構成される。情報処理装置３、解析管理装置４及び脆弱性情報サイト６間は、ＷＡＮ（World Area Network）やＬＡＮ（Local Area Network）、又は、携帯電話若しくはＰＨＳ（Personal Handyphone System）等の公衆回線網などから構成される第１の通信ネットワーク７を介して相互に接続され、解析管理装置４及び検体解析装置５は、同様にＷＡＮ、ＬＡＮ、又は、携帯電話若しくはＰＨＳ等の公衆回線網などから構成される第２の通信ネットワーク８を介して相互に接続されている。
【００１９】
情報処理装置３は、例えば企業内ネットワーク等の組織ネットワーク２に所属する計算機であり、パーソナルコンピュータや各種サーバなどから構成される。情報処理装置３内は、新規プログラムの実行や添付付ファイルの受信などの何らかの契機で、ファイル（本実施の形態においてはＰＤＦファイルであり、以下、これを検体と呼ぶ）ＦＬを解析管理装置４に送信する。また、情報処理装置３は、情報処理装置３内で使用されているアプリケーションやオペレーティングシステムの種類を、定期的に使用頻度情報ＵＥＩとして解析管理装置４に送信する。
【００２０】
解析管理装置４は、情報処理装置３から送信される検体ＦＬに対して、検体解析装置５５に解析依頼を行う装置である。解析管理装置４は、攻撃に利用されることが多い脆弱性や組織ネットワーク２に所属する情報処理装置３で利用されている環境の種類を考慮して検体解析装置５に検体の解析依頼ＡＲＱを発行することで、効率的な解析を実現する。
【００２１】
検体解析装置５は、解析管理装置４からの解析依頼ＡＲＱに従って、検体ＦＬがマルウェアであるか否かの解析を行う。解析結果は、解析結果ＡＲＳとして、解析管理装置４に返信される。各検体解析装置５には様々な検体解析環境が整備されており、検体解析装置５ごとに使用可能な環境が異なる。このため、解析管理装置４は、検体ＦＬの種類や後述する脆弱性情報ＶＩ及び使用頻度情報ＵＥＩに基づいて、検体ＦＬの解析を行う検体解析装置として適切な検体解析装置５を決定し、決定した検体解析装置５にその検体ＦＬの解析依頼ＡＲＱを発行する。
【００２２】
脆弱性情報サイト６は、アプリケーションやシステムの脆弱性に関する情報である脆弱性情報ＶＩを提供する外部機関（Ｗｅｂサイト）である。解析管理装置４は、脆弱性情報サイト６から脆弱性情報ＶＩを取得し、検体ＦＬの解析を行わせる検体解析装置５を決定する際に利用する。
【００２３】
図２は、解析管理装置４のハードウェア構成を示す。この図２からも明らかなように、解析管理装置４は、情報処理装置本体１０及び入出力装置１１から構成される。
【００２４】
情報処理装置本体１０は、バス２０を介して相互に接続されたＣＰＵ２１、メモリ２２、外部記憶装置２３及びインタフェース２４を備える。
【００２５】
ＣＰＵ２１は各種処理を実行するための演算装置であり、メモリ２２はＣＰＵ２１で実行する命令のセットがプログラムとして記述されたデータを含む記憶媒体である。後述する検体受信プログラム３０、脆弱性情報取得プログラム３１、使用頻度情報取得プログラム３２、解析優先脆弱性決定プログラム３３及び解析環境決定プログラム３４もこのメモリ２２に格納されて保持される。メモリ２２に格納されたこれらのプログラムをＣＰＵ２１実行することにより、解析管理装置４全体として後述のような各種処理を実行する。
【００２６】
また外部記憶装置２３は、ハードディスク装置（ＨＤＤ：Hard Disk Drive）などの記憶媒体から構成される。後述する検体データベース４０、解析優先脆弱性決定パラメータデータベース４１、脆弱性情報データベース４２、使用頻度情報データベース４３、解析優先脆弱性データベース４４、解析システムデータベース４５及び解析環境決定パラメータデータベース４６は、この外部記憶装置２３に格納されて保持される。
【００２７】
インタフェース２４は、解析管理装置４を第１及び第２の通信ネットワーク７，８と接続するための通信装置であり、例えばＬＡＮカードなどの通信機器から構成される。
【００２８】
さらに入出力装置１１は、解析管理装置４に対して管理者がデータを入力したり、解析管理装置４内のデータの出力を行うための装置である。入出力装置１１における入力部としてはキーボード及びマウスなどが適用され、入出力装置１１における出力部としてはディスプレイが適用される。
【００２９】
（２）本実施の形態によるプログラム解析方式
次に、プログラム解析システム１において実行される本実施の形態によるプログラム解析方式について説明する。
【００３０】
本実施の形態場合、解析管理装置４には、優先的に解析すべき実行環境のバージョンを１又は複数選択し、選択したバージョンの実行環境を有する検体解析装置５に対してのみ検体の解析を依頼する機能が搭載されている点を特徴の１つとしている。
【００３１】
かかる機能を実現するための手段として、図２に示すように、解析管理装置４のメモリ２２には、検体受信プログラム３０、脆弱性情報取得プログラム３１、使用頻度情報取得プログラム３２、解析優先脆弱性決定プログラム３３及び解析環境決定プログラム３４が格納され、解析管理装置４の外部記憶装置２３には、検体データベース４０、解析優先脆弱性決定パラメータデータベース４１、脆弱性情報データベース４２、使用頻度情報データベース４３、解析優先脆弱性データベース４４、解析システムデータベース４５及び解析環境決定パラメータデータベース４６が格納されている。
【００３２】
検体受信プログラム３０は、情報処理装置３から送信される検体ＦＬを受信するプログラムであり、脆弱性情報取得プログラム３１は、脆弱性情報サイト６（図１）から脆弱性情報ＶＩ（図１）を取得するプログラムである。また使用頻度情報取得プログラム３２は、情報処理装置３から送信される使用頻度情報ＵＥＩ（図１）を受信するプログラムであり、解析優先脆弱性決定プログラム３３は、ある特定の実行環境に関して、どの脆弱性を持つ環境から優先して解析を行うべきかを決定するプログラムである。さらに解析環境決定プログラム３４は、どの検体解析装置５のどのバージョンの実行環境上で検体ＦＬを解析するかを決定し、解析依頼ＡＲＱ（図１）の送信及び解析結果ＡＲＳ（図１）の受信を行うプログラムである。
【００３３】
一方、検体データベース４０は、情報処理装置３から送信されてきた各検体ＦＬの解析状況を管理するために利用されるデータベースであり、図３に示すように、ＩＤ欄４０Ａ、解析受付け時間欄４０Ｂ、検体名欄４０Ｃ、検体データ欄４０Ｄ、実行環境欄４０Ｅ、解析依頼リスト欄４０Ｆ及び判定結果欄４０Ｇから構成される。図３において、１つのレコード（行）は、いずれかの情報処理装置３から送信されてきた１つの検体ＦＬに対応する。
【００３４】
そしてＩＤ欄４０Ａには、個々のレコードに付与された識別子（ＩＤ）が格納され、解析受付け時間欄４０Ｂには、対応する検体ＦＬを解析管理装置４が受信した時間が格納される。また検体名欄４０Ｃは、対応する検体ＦＬの名称が格納され、検体データ欄４０Ｄには、対応する検体ＦＬのデータが格納される。
【００３５】
さらに実行環境欄４０Ｅには、対応する検体ＦＬが実行される実行環境が格納され、解析依頼リスト欄４０Ｆには、対応する検体ＦＬの解析を依頼した検体解析装置５の識別子（装置ＩＤ）及び当該検体解析装置５で用いられる実行環境が格納される。また判定結果欄４０Ｇには、対応する検体ＦＬの解析状況が格納される。なお検体ＦＬの解析状況としては、未だ検体解析装置５に検体ＦＬの解析を依頼していない又は検体解析装置５に検体ＦＬの解析を依頼したが、未だ解析結果を得ていないことを意味する「解析待ち」や、検体ＦＬがマルウェアであるという解析結果がでたことを意味する「マルウェア」、検体ＦＬがマルウェアでないという解析結果がでたことを意味する「非マルウェア」などがある。
【００３６】
従って、図３の場合、検体データベース４０には、３種類の検体ＦＬが登録されており、例えば、「A.pdf」という検体ＦＬは、「2012/01/01 11:01:00」に受信され、データ内容が「90fddd23a9…」、実行環境が「PDF.exe」であり、「PDF.exe-1.6」という実行環境と、「PDF.exe-1.2」という実行環境とを有する「装置Ｂ」という検体解析装置５に解析を依頼しており、現在は、「解析待ち」の状態にあることが示されている。
【００３７】
解析優先脆弱性決定パラメータデータベース４１は、脆弱性を解析する際の脆弱性ごとの優先度（以下、これを解析優先度と呼ぶ）を決定する際に利用するパラメータを管理するために用いられるデータベースであり、図４に示すように、ＩＤ欄４１Ａ、検知高速化重み付けパラメータ欄４１Ｂ及び被害最小化重み付けパラメータ欄４１Ｃから構成される。図４において、１つのレコード（行）は、検知高速化重み付けパラメータ及び被害最小化重み付けパラメータの１つの組み合せに相当する。
【００３８】
そしてＩＤ欄４１Ａには、個々のレコードに付与された識別子（ＩＤ）が格納され、検知高速化重み付けパラメータ欄４１Ｂには、頻繁に悪用されている脆弱性を持つバージョンの実行環境に対する解析処理の優先度を決定するパラメータ（以下、これを検知高速化重み付けパラメータと呼ぶ）が格納される。この検知高速化重み付けパラメータの値が大きいほど、現在、頻繁に悪用されている脆弱性を持つバージョンの実行環境から優先して解析を行うようになる。
【００３９】
また被害最小重み付けパラメータ欄４１Ｃには、多く使用されているバージョンの実行環境に対する解析処理の優先度を決定するパラメータ（以下、これを被害最小重み付けパラメータと呼ぶ）が格納される。この被害最小重み付けパラメータの値が大きいほど、組織ネットワーク２内で多く使用されているバージョンの実行環境から優先して解析を行うようになる。
【００４０】
検知高速化重み付けパラメータ及び被害最小重み付けパラメータは、解析管理装置４の管理者により、これら２つのパラメータの合計値が「1.0」となるように、それぞれ「0.0」〜「1.0」の範囲で設定される。
【００４１】
例えば図４の場合、検知高速化重み付けパラメータが「0.2」、被害最小化重み付けパラメータ４１Ｃが「0.8」にそれぞれ設定されていることが示されている。
【００４２】
脆弱性情報データベース４２は、脆弱性の悪用頻度及び脆弱性をもつ実行環境のバージョンを管理するために利用されるデータベースであり、図５に示すように、ＩＤ欄４２Ａ、脆弱性名欄４２Ｂ、実行環境種類欄４２Ｃ、悪用頻度欄４２Ｄ及び脆弱な実行環境バージョン欄４２Ｅから構成される。図５において、１つのレコード（行）は、１つの脆弱性に対応する。
【００４３】
そしてＩＤ欄４２Ａには、個々のレコードに付与された識別子（ＩＤ）が格納され、脆弱性名欄４２Ｂには、脆弱性情報サイト６（図１）から取得した対応する脆弱性に付与された名称が格納される。また実行環境種類欄４２Ｃには、対応する脆弱性を有する実行環境の種類が格納され、悪用頻度欄４２Ｄには、対応する脆弱性が悪用される頻度が格納される。なお、悪用頻度は、他の脆弱性と比べたその脆弱性が悪用される頻度の相対値であり、すべての脆弱性の悪用頻度の合計値は「1.0」となる。さらに脆弱な実行環境バージョン欄４２Ｅには、対応する脆弱性を有する実行環境のバージョンが格納される。
【００４４】
従って、図５の場合、脆弱性情報データベース４２には、４種類の脆弱性が登録されており、例えば「PDF-V1」という名称の脆弱性は、「PDF.exe」という実行環境の「1.0」、「1.1」及び「1.2」というバージョンにおける脆弱性であり、悪用頻度が「0.05」であることが示されている。
【００４５】
使用頻度情報データベース４３は、組織ネットワーク２内の情報処理装置３が、各実行環境の個々のバージョンの使用頻度を管理するために利用されるデータベースであり、図６に示すように、ＩＤ欄４３Ａ、実行環境種類欄４３Ｂ、実行環境バージョン欄４３Ｃ及び使用頻度欄４３Ｄから構成される。図６において、１つのレコード（行）は、１つのバージョンに対応する。
【００４６】
そしてＩＤ欄４３Ａには、個々のレコードに付与された識別子（ＩＤ）が格納され、実行環境種類欄４３Ｂには、検体ＦＬに対応する実行環境（本実施の形態においてはＰＤＦ）の種類が格納される。また実行環境バージョン欄４３Ｃには、組織ネットワーク２内において使用されている対応する実行環境の各バージョンが格納され、使用頻度欄４３Ｄには、対応するバージョンが組織ネットワーク２内で利用されている比率（全バージョンに対するそのバージョンが使用されている比率）が格納される。使用頻度情報データベース４３内のすべてのレコードの使用頻度の合計値は「1.0」となる。
【００４７】
従って、図６の場合、使用頻度情報データベース４３には、９種類の実行環境及びそのバージョンの組み合せが登録されており、例えば「PDF.exe」という実行環境の「1.0」というバージョンの使用頻度が「0.01」、「２」というＩＤが付与された「PDF.exe」という実行環境の「1.1」という実行環境バージョンの使用頻度が「0.04」、「３」というＩＤが付与された「PDF.exe」という実行環境の「1.2」という実行環境バージョンの使用頻度が「0.1」、……であることが分かる。
【００４８】
解析優先脆弱性データベース４４は、各脆弱性の解析優先度を管理するために利用されるデータベースであり、図７に示すように、ＩＤ欄４４Ａ、脆弱性名欄４４Ｂ及び解析優先度欄４４Ｃから構成される。図７において、１つのレコード（行）は、１つの脆弱性に対応する。
【００４９】
そしてＩＤ欄４４Ａには、個々のレコードに付与された識別子（ＩＤ）が格納され、脆弱性名欄４４Ｂには、脆弱性情報サイト６（図１）から取得した、組織ネットワーク２において使用されている実行環境の脆弱性に付与された名称が格納される。また解析優先度欄４４Ｃには、対応する脆弱性を解析する優先度（解析優先度）が格納される。この解析優先度の値が大きいほど、対応する脆弱性の解析を優先して行う必要があることを意味する。
【００５０】
従って、図７の場合、解析優先脆弱性データベース４４には、４種類の脆弱性の解析優先度が登録されており、「PDF-V1」という脆弱性は解析優先度が「0.13」、「２」というＩＤが付与された「PDF-V2」という脆弱性は解析優先度が「0.26」、「３」というＩＤが付与された「PDF-V3」という脆弱性は解析優先度が「0.52」、「４」というＩＤが付与された「PDF-V4」という脆弱性は解析優先度が「0.33」であることが示されている。
【００５１】
解析システムデータベース４５は、各検体解析装置５における実行環境及びそのバージョンを管理するために利用されるデータベースであり、ＩＤ欄４５Ａ、検体解析装置欄４５Ｂ、実行環境種類欄４５Ｃ及び実行環境バージョン欄４５Ｄから構成される。
【００５２】
そしてＩＤ欄４５Ａには、個々のレコードに付与された識別子（ＩＤ）が格納され、検体解析装置欄４５Ｂは、対応する検体解析装置５の名称が格納される。また実行環境種類欄４５Ｃには、対応する検体解析装置５の実行環境が格納され、実行環境バージョン欄４５Ｄには、対応する検体解析装置５内の実行環境のバージョンが格納される。なお本実施の形態の場合、検体解析装置５ごとに、１つ以上のバージョンが存在する。
【００５３】
従って、図８の場合、解析システムデータベース４５には、４つの検体解析装置５が登録されており、「装置Ａ」という検体解析装置５の実行環境は「PDF.exe」でバージョンが「1.0」及び「1.1」、「装置Ｂ」という検体解析装置５の実行環境は「PDF.exe」でバージョンが「1.2」及び「1.6」、「装置Ｃ」という検体解析装置５の実行環境は「PDF.exe」でバージョンが「1.0」及び「1.3」、「装置Ｄ」という検体解析装置５の実行環境は「PDF.exe」でバージョンが「1.4」及び「1.5」であることが示されている。
【００５４】
よって、例えば、バージョンが「1.6」の環境で検体ＦＬを解析した場合、図５より、「PDF-V3」という脆弱性及び「PDF-V4」という脆弱性に関する解析が完了したことになる。このため、かかる検体ＦＬの悪用頻度の合計値は、図５より、次式のように算出される。
【数１】
2014089593.tif 000003
【００５５】
また、有するすべての脆弱性が「PDF-V3」及び「PDF-V4」の両方又はいずれかであるバージョンは、図５より、「1.5」、「1.6」、「1.7」、「1.8」となる。「1.4」は、「PDF-V2」の脆弱性も有するため、対象外となる。このため、使用頻度の合計値は、次式となる。
【数２】
2014089593.tif 000004
【００５６】
解析環境決定パラメータデータベース４６は、予め管理者によって設定された後述する悪用頻度網羅率閾値及び使用頻度網羅率閾値を管理するために利用されるデータベースであり、図９に示すように、ＩＤ欄４６Ａ、悪用頻度網羅率閾値欄４６Ｂ及び使用頻度網羅率閾値欄４６Ｃから構成される。図８において、１つのレコード（行）は、後述する悪用頻度網羅率閾値及び使用頻度網羅率閾値の１つの組み合せに対応する。
【００５７】
そしてＩＤ欄４６Ａには、個々のレコードに付与された識別子（ＩＤ）が格納され、悪用頻度網羅率閾値欄４６Ｂには、図５について上述した悪用頻度の合計値の閾値（以下、これを悪用頻度網羅率閾値と呼ぶ）が格納される。また使用頻度網羅率閾値欄４６Ｃには、図６について上述した使用頻度の合計値の閾値（以下、これを使用頻度網羅率閾値）が格納される。
【００５８】
従って、図９の場合、悪用頻度網羅率閾値が「0.8」に設定され、使用頻度網羅率閾値が「0.8」に設定されていることが示されている。
【００５９】
なお、解析管理装置４の論理構成を図１０に示す。この図１０からも明らかなように、解析管理装置４は、検体受信部５０、脆弱性情報取得部５１、使用頻度情報取得部５２、解析優先脆弱性決定部５３及び解析環境決定部５４から構成される。
【００６０】
検体受信部５０は、ＣＰＵ２１が検体受信プログラム３０を実行することによって具現化される機能であり、情報処理装置３から送信される検体ＦＬを受信し、受信した検体ＦＬ及び当該検体ＦＬに関する各種情報を検体データベース４０に登録する。
【００６１】
脆弱性情報取得部５１は、ＣＰＵ２１が脆弱性情報取得プログラム３１を実行することによって具現化される機能であり、脆弱性情報サイト６（図１）から脆弱性情報ＶＩ（図１）を取得し、取得した脆弱性情報を脆弱性情報データベース４２に登録する。
【００６２】
使用頻度情報取得部５２は、ＣＰＵ２１が使用頻度情報取得プログラム３２を実行することにより具現化される機能であり、情報処理装置３より使用頻度情報ＵＥＩ（図１）を受信し、受信した使用頻度情報ＵＥＩを使用頻度情報データベース４３に登録する。
【００６３】
解析優先脆弱性決定部５３は、ＣＰＵ２１が解析優先脆弱性決定プログラム３３を実行することによって具現化される機能であり、解析優先脆弱性決定パラメータデータベース４１、脆弱性情報データベース４２、使用頻度情報データベース４３及び解析優先脆弱性データベース４４を参照して、ある特定の実行環境に関して、どの脆弱性を持つ環境から優先して解析を行うべきかを決定する。
【００６４】
解析環境決定部５４は、ＣＰＵ２１が解析環境決定プログラム３４を実行することによって具現化される機能であり、検体データベース４０、脆弱性情報データベース４２、解析優先脆弱性データベース４４、解析システムデータベース４５及び解析環境決定パラメータデータベース４６に基づいて、どの検体解析装置５のどのバージョンの実行環境上で検体ＦＬを解析するかを決定する機能である。また解析環境決定部５４は、かかる決定に基づく検体解析装置５への解析依頼ＡＲＱ（図１）の送信や、解析結果ＡＲＳ（図１）の受信を行う。
【００６５】
（３）本実施の形態によるプログラム解析方式に関する各種処理
次に、本実施の形態によるプログラム解析方式に関連して解析管理装置４において実行される各種処理の具体的な処理内容について説明する。なお、以下においては、各種処理の処理主体を図１０の各機能部（検体受信部５０、脆弱性情報取得部５１、使用頻度情報取得部５２、解析優先脆弱性決定部５３又は解析環境決定部５４）として説明するが、実際上は、ＣＰＵ２１が対応するプログラム（検体受信プログラム３０、脆弱性情報取得プログラム３１、使用頻度情報取得プログラム３２、解析優先脆弱性決定プログラム３３及び解析環境決定プログラム３４）に基づいてその処理を実行することは言うまでもない。
【００６６】
（３−１）検体受信処理
解析管理装置４の検体受信部５０は、検体ＦＬが情報処理装置３から送信されてくると検体受信処理を開始し、まず、その検体ＦＬを受信する。
【００６７】
続いて、検体受信部５０は、その検体ＦＬの解析受付け時間、検体名、検体データ及び実行環境を検体データベース４０に登録する。この際、検体受信部５０は、その検体ＦＬの実行環境を検体名の拡張子から判定する。例えば、検体名の拡張子が「.pdf」の場合には実行環境を「PDF.exe」と判定し、拡張子が「.xls」の場合には実行環境を「EXCEL.exe」と判定し、拡張子が「.doc」の場合には実行環境を「WORD.exe」と判定する。なお、検体受信部５０が、その検体ＦＬのデータの中身を分析して、実行環境を決定するようにしてもよい。
【００６８】
そして検体受信部５０は、この後、この検体受信処理を終了する。
【００６９】
（３−２）脆弱性情報取得処理
解析管理装置４の脆弱性情報取得部５１は、定期的（例えば２４時間ごと）に脆弱性情報取得処理を実行し、まず、各脆弱性情報サイト６にそれぞれアクセスし、これら脆弱性情報サイト６から解析対象の検体ＦＬに関する脆弱性情報ＶＩを取得し、取得した脆弱性情報を脆弱性情報データベース４２に登録する。なお、脆弱性情報ＶＩのフォーマットについては本発明では特に規定しないが、各実行環境の脆弱性識別子とその発生頻度が記述されている、テキストファイルやＨＴＭＬ（Hyper Text Markup Language）ファイル、ＸＭＬ（Extensible Markup Language）ファイルなどを対象とする。
【００７０】
続いて、脆弱性情報取得部５１は、脆弱性情報データベース４２の各レコード（行）について、そのレコードに対応する脆弱性の悪用頻度をそれぞれ算出し、算出結果に基づいて、各レコードの悪用頻度欄４２Ｄ（図５）にそれぞれ格納されている悪用頻度を更新する。
【００７１】
そして脆弱性情報取得部５１は、この後、この脆弱性情報取得処理を終了する。
【００７２】
（３−３）使用頻度情報取得処理
解析管理装置４の使用頻度情報取得部５２は、定期的（例えば２４時間ごと）に使用頻度情報取得処理を実行し、まず、組織ネットワーク２内の各情報処理装置３から使用頻度情報ＵＥＩ（図１）を取得する。使用頻度情報ＵＥＩのフォーマットは本発明では特に規定しないが、情報処理装置３が使用している実行環境のバージョンの識別子が記述されている、テキストファイルやＨＴＭＬファイル、ＸＭＬファイルなどを対象とする。
【００７３】
続いて使用頻度情報取得部５２は、ステップＳＰ２０において取得した使用頻度情報ＵＥＩを、使用頻度情報データベース４３に登録し、この後、この使用頻度情報取得処理を終了する。
【００７４】
（３−４）解析優先脆弱性決定処理
図１１は、解析管理装置４の解析優先脆弱性決定部５３（図１０）により実行される解析優先脆弱性決定処理の処理手順を示す。解析優先脆弱性決定部５３は、この図１１に示す処理手順に従って、各脆弱性の解析優先度を算出し、算出した解析優先度を解析優先脆弱性データベース４４（図７）に登録する。
【００７５】
実際上、解析優先脆弱性決定部５３は、脆弱性情報データベース４２又は使用頻度情報データベース４３が更新されるタイミングでこの解析優先脆弱性決定処理を開始し、まず、解析優先脆弱性データベース４４を参照して、解析優先度が未算出の脆弱性を１つ選択する（ＳＰ１）。
【００７６】
続いて、解析優先脆弱性決定部５３は、脆弱性情報データベース４２及び使用頻度情報データベース４３を参照して、そのとき対象としている実行環境のステップＳＰ１において選択した脆弱性（以下、これを選択脆弱性と呼ぶ）をもつバージョンの累計使用頻度を算出する（ＳＰ２）。例えば選択脆弱性が図６の「PDF-V1」であるとすると、この選択脆弱性は、脆弱性情報データベース４２を参照すると、「PDF.exe」という実行環境の「1.0」、「1.1」及び「1.2」というバージョンが対象となることが分かる。また、使用頻度情報データベース４３を参照すると、「PDF.exe」という実行環境の「1.0」、「1.1」及び「1.2」というバージョンの使用頻度は、それぞれ「0.01」、「0.04」及び「0.1」であることが分かる。従って、この選択脆弱性（「PDF-V1」）の累計使用頻度は、次式
【数３】
2014089593.tif 000005
のように、これら「0.01」、「0.04」及び「0.1」を合算した「0.15」と算出することができる。
【００７７】
次いで、解析優先脆弱性決定部５３は、脆弱性情報データベース４２、解析環境決定パラメータデータベース４６及びステップＳＰ２において算出した選択脆弱性の累積使用頻度に基づいて、選択脆弱性の解析優先度を算出する（ＳＰ３）。具体的に、解析優先脆弱性決定部５３は、選択脆弱性の悪用頻度をＦ１、選択脆弱性の累計使用頻度をＦ２、図４について上述した検知高速化重み付けパラメータの値をＰ１、被害最小化重み付けパラメータの値をＰ２として、次式
【数４】
2014089593.tif 000006
により選択脆弱性の解析優先度ＡＰを算出する。
【００７８】
例えば、図５〜図８の例において、選択脆弱性が「PDF-V1」の場合、この選択脆弱性の解析優先度ＡＰは、悪用頻度Ｆ１が「0.05」（図６参照）、検知高速化重み付けパラメータの値Ｐ１が「0.2」（図５）、選択脆弱性の累計使用頻度Ｆ２が（３）式について上述したように「0.15」、被害最小化重み付けパラメータの値Ｐ２が「0.8」（図５）であることから、次式
【数５】
2014089593.tif 000007
のように算出することができる。同様に、選択脆弱性が「PDF-V2」の場合には解析優先度ＡＰは「0.26」、選択脆弱性が「PDF-V3」の場合には解析優先度ＡＰは「0.52」、選択脆弱性が「PDF-V4」の場合には解析優先度ＡＰは「0.33」とそれぞれ算出することができる。
【００７９】
そして解析優先脆弱性決定部５３は、このようにして算出した選択脆弱性の解析優先度を解析優先脆弱性データベース４４内の選択脆弱性に対応するレコードの解析優先度ＡＰに上書きするようにして、解析優先脆弱性データベース４４を更新する。
【００８０】
この後、解析優先脆弱性決定部５３は、すべての脆弱性について解析優先度を算出し終えたか否かを判断し（ＳＰ４）、否定結果を得るとステップＳＰ１に戻る。そして解析優先脆弱性決定部５３は、この後、ステップＳＰ１において選択する脆弱性を未処理の他の脆弱性に順次切り替えながら、ステップＳＰ１〜ステップＳＰ４の処理を繰り返す。
【００８１】
そして解析優先脆弱性決定部５３は、やがて解析優先脆弱性データベース４４に登録されたすべての脆弱性について解析優先度ＡＰを算出し、算出結果に基づいて解析優先脆弱性データベース４４を更新し終えることによりステップＳＰ４において肯定結果を得ると、この解析優先脆弱性決定処理を終了する。
【００８２】
（３−５）解析環境決定処理
図１２は、解析管理装置４の解析環境決定部５４（図１０）により実行される解析環境決定処理の処理手順を示す。解析環境決定部５４は、この図１２に示す処理手順に従って、解析対象の検体ＦＬの解析を依頼する検体解析装置５を決定し、決定した検体解析装置５にその検体ＦＬの解析を依頼する。
【００８３】
実際上、解析管理装置４の解析環境決定部５４は、検体データベース４０（図３）に判定結果が「解析待ち」の検体ＦＬが登録されると、そのタイミングでこの解析環境決定処理を開始し、まず、検体データベース４０に登録された検体ＦＬの中から、そのとき登録されたかかる検体ＦＬを選択する（ＳＰ１０）。例えば図３〜図９の例の場合、このステップＳＰ１０では、検体データベース４０（図３）の判定結果欄４０Ｇ（図３）に「解析待ち」が格納されている「A.pdf」という検体が選択されることになる。
【００８４】
続いて、解析環境決定部５４は、ステップＳＰ１０において選択した検体ＦＬの実行環境が保有する可能性がある脆弱性の中から、「選択済み」でなく、かつ解析優先度が最も大きい脆弱性を選択する（ＳＰ１１）。なお「選択済み」については、ステップＳＰ１５について後述する。図３〜図９の例の場合、解析優先脆弱性データベース４４（図７）を参照すると、解析優先度が最も大きい脆弱性は「PDF-V3」であるため、このステップＳＰ１１ではこの「PDF-V3」が選択されることになる。
【００８５】
次いで、解析環境決定部５４は、ステップＳＰ１１において選択した脆弱性（以下、これを選択脆弱性と呼ぶ）をもつ実行環境の全バージョンの中から１つのバージョンを選択する（ＳＰ１２）。例えば図３〜図９の例において、選択脆弱性が「PDF-V3」であるとすると、この選択脆弱性をもつ実行環境のバージョンは、脆弱性情報データベース４２（図５）を参照すると、「1.4」、「1.5」及び「1.6」であることが分かる。そこで解析環境決定部５４は、ステップＳＰ１２においてこれら「1.4」、「1.5」及び「1.6」の中から１つのバージョンを選択する。
【００８６】
この後、解析環境決定部５４は、ステップＳＰ１２において選択したバージョンが有する脆弱性の解析優先度の累計値を算出する（ＳＰ１３）。
【００８７】
例えば図３〜図９の例の場合において、ステップＳＰ１２において選択したバージョンが「1.4」であった場合、脆弱性情報データベース４２（図５）を参照すると、この「1.4」というバージョンは「PDF-V2」及び「PDF-V3」という２つの脆弱性をもっていることが分かる。そこで、この場合、解析環境決定部５４は、これら「PDF-V2」という脆弱性の解析優先度と、「PDF-V3」という脆弱性の解析優先度とを解析優先脆弱性データベース４４（図７）からそれぞれ読み出し、読み出した「PDF-V2」という脆弱性の解析優先度と、「PDF-V3」という脆弱性の解析優先度とを合算することにより、「1.4」というバージョンの脆弱性の解析優先度の累計値を算出する。なお、「PDF-V2」という脆弱性の解析優先度は「0.26」であり、「PDF-V3」という脆弱性の解析優先度は「0.52」であるため、「1.4」というバージョンの脆弱性の解析優先度の累積値は「0.78」となる。
【００８８】
またステップＳＰ１２において選択したバージョンが「1.5」であった場合、脆弱性情報データベース４２を参照すると、この「1.5」というバージョンは「PDF-V3」という脆弱性のみをもっていることが分かる。そこで、この場合、解析環境決定部５４は、「PDF-V3」という脆弱性の解析優先度を解析優先脆弱性データベース４４から読み出し、読み出した解析優先度を、「1.5」というバージョンの解析優先度の累計値とする。
【００８９】
さらにステップＳＰ１２において選択したバージョンが「1.6」であった場合、脆弱性情報データベース４２を参照すると、この「1.6」というバージョンは「PDF-V3」及び「PDF-V4」という２つの脆弱性をもっていることが分かる。そこで、この場合、解析環境決定部５４は、これら「PDF-V3」という脆弱性の解析優先度と、「PDF-V4」という脆弱性の解析優先度とを解析優先脆弱性データベース４４からそれぞれ読み出し、読み出した「PDF-V3」という脆弱性の解析優先度と、「PDF-V4」という脆弱性の解析優先度とを合算することにより、「1.6」というバージョンの脆弱性の解析優先度の累計値を算出する。なお、「PDF-V3」という脆弱性の解析優先度は「0.52」であり、「PDF-V4」という脆弱性の解析優先度は「0.33」であるため、「1.6」というバージョンの脆弱性の解析優先度の累積値は「0.85」となる。
【００９０】
続いて、解析環境決定部５４は、選択脆弱性をもつすべてのバージョンについてステップＳＰ１３の処理を実行し終えたか否かを判断する（ＳＰ１４）。そして解析環境決定部５４は、この判断で否定結果を得るとステップＳＰ１２に戻り、この後、ステップＳＰ１２において選択するバージョンを未処理の対応するバージョンに順次切り替えながら、ステップＳＰ１２〜ステップＳＰ１４の処理を繰り返す。
【００９１】
そして解析環境決定部５４は、やがて選択脆弱性をもつすべてのバージョンについて解析優先度の累計値を算出し終えることによりステップＳＰ１４において肯定結果を得ると、ステップＳＰ１２〜ステップＳＰ１４の処理により算出した選択脆弱性をもつすべてのバージョンの中から、解析優先度の累計値が最も大きいバージョンを解析対象のバージョン（優先的に解析すべきバージョン）として決定すると共に、決定したバージョンに対応する脆弱性を「選択済み」とする（ＳＰ１５）。
【００９２】
例えば図３〜図９の例の場合、上述のように選択脆弱性をもつバージョンは「1.4」、「1.5」及び「1.6」であり、これらのバージョンの解析優先度の累計値はそれぞれ「0.72」、「0.52」及び「0.85」であるため、このステップＳＰ１５では「1.6」というバージョンが解析対象のバージョンに決定されることになる。また、「1.6」というバージョンに対応する脆弱性は、脆弱性情報データベース４２を参照すると「PDF-V3」及び「PDF-V4」であるため、解析環境決定部５４はこれらの脆弱性を「選択済み」とする。
【００９３】
次いで、解析環境決定部５４は、ステップＳＰ１５において「選択済み」とした脆弱性についての悪用頻度の合計値と、使用頻度の合計値とを算出する（ＳＰ１６）。例えば図３〜図９の例では、脆弱性情報データベース４２（図５）を参照すると、ステップＳＰ１５において「選択済み」とした「PDF-V3」という脆弱性の悪用頻度は「0.6」であり、「PDF-V4」という脆弱性の悪用頻度は「0.25」であるため、悪用頻度の合計値はこれらを合算した「0.85」として算出される。また脆弱性情報データベース４２を参照すると、「PDF-V3」という脆弱性の実行環境バージョンは「1.4」、「1.5」及び「1.6」であり、「PDF-V4」という脆弱性の実行環境バージョンは「1.6」、「1.7」及び「1.8」である。ただし「1.4」というバージョンは「RDF-V2」という脆弱性をも有するため、使用頻度の合計値はこの「1.4」というバージョンの使用頻度を除いて算出する必要がある。よって、この場合の使用頻度の合計値は、使用頻度情報データベース４３（図６）を参照すると、「1.5」〜「1.8」という各バージョンの使用頻度が「0.3」、「0.05」、「0.2」及び「0.1」であるため、これらを合算した「0.65」として算出される。
【００９４】
この後、解析環境決定部５４は、ステップＳＰ１６において算出した悪用頻度の合計値及が解析環境決定パラメータデータベース４６（図９）に登録されている悪用頻度網羅率閾値よりも大きく、かつ、ステップＳＰ１６において算出した使用頻度の合計値及が解析環境決定パラメータデータベース４６に登録されている使用頻度網羅率閾値よりも大きいか否かを判断する（ＳＰ１７）。
【００９５】
そして解析環境決定部５４は、この判断で否定結果を得るとステップＳＰ１１に戻り、この後、ステップＳＰ１１において選択する脆弱性を、「選択済み」でない脆弱性の中で解析優先度が最大の脆弱性に順次切り替えながら、ステップＳＰ１１〜ステップＳＰ１７の処理を繰り返す。
【００９６】
そして解析環境決定部５４は、やがていずれかの脆弱性についてステップＳＰ１７において肯定結果を得ると、解析システムデータベース４５（図８）を参照して、バージョンごとに、そのバージョンを解析すべき検体解析装置５を選択する（ＳＰ１８）。この際、解析環境決定部５４は、同一の実行環境バージョンをもつ検体解析装置５が複数存在する場合には、並列的に解析を行うように、できる限り重複が少なくなるように検体解析装置５を選択する。
【００９７】
例えば図３〜図９の例では、上述のようにステップＳＰ１５において決定された「1.6」というバージョンについての使用頻度の合計値が「0.65」であるためにステップＳＰ１７において否定結果が得られ、ステップＳＰ１１に戻ることになる。この場合、ステップＳＰ１１では、「PDF-V2」という脆弱性が選択される。そして、この脆弱性をもつ「1.2」、「1.3」及び「1.4」という各バージョンについての解析優先度の累計値がステップＳＰ１３においてそれぞれ「0.39」、「0.26」及び「0.26」と算出される。従って、ステップＳＰ１５では「1.2」というバージョンが２つ目の解析対象のバージョンとして決定されると共に、「PDF-V1」及び「PDF-V2」という脆弱性がそれぞれ「選択済み」とされる。
【００９８】
またステップＳＰ１６では、これまで解析対象となったバージョン（「1.6」及び「1.2」）に対する悪用頻度の合計値及び使用頻度の合計値がいずれも「1.0」と算出され、この結果、ステップＳＰ１７において肯定結果が得られることになる。かくして解析環境決定部５４は、この後、ステップＳＰ１８において、上述のようにして解析対象のバージョンとして決定した「1.6」というバージョンと、「1.2」というバージョンとを解析する検体解析装置５を、解析システムデータベース４５を参照して選択する。本実施の形態の場合、「1.6」というバージョンの実行環境を有する検体解析装置５は「装置Ｂ」だけであり、「1.2」というバージョンの実行環境を有する検体解析装置５も「装置Ｂ」だけであるため、これら２つのバージョンを解析する検体解析装置５としていずれも「装置Ｂ」という検体解析装置５が選択されることになる。
【００９９】
次いで、解析環境決定部５４は、これまでにステップＳＰ１５において解析対象として決定した各バージョンに対する解析依頼ＡＲＱ（図１）を、解析優先度の高いバージョンから順番に、ステップＳＰ１９において選択した対応する検体解析装置５に順次送信する。また解析環境決定部５４は、この後、このとき解析依頼を発行した検体解析装置５のＩＤ及びその検体解析装置５に解析を依頼したバージョンを検体データベース４０（図３）の解析依頼リスト欄４０Ｆ（図３）に格納する（ＳＰ１９）。なお、かかる解析依頼ＡＲＱには、その検体ＦＬのデータ及びバージョンに関する情報が含まれる。
【０１００】
例えば、図３〜図９の例の場合、ステップＳＰ１５において選択したバージョンは「1.6」及び「1.2」であり、ステップＳＰ１８において各バージョンについて選択する検体解析装置５はいずれも「装置Ｂ」である。また「1.6」というバージョンと、「1.2」というバージョンでは、「1.6」というバージョンの方が解析優先度が高いため、「1.6」というバージョンと、「1.2」というバージョンの解析を「装置Ｂ」という検体解析装置５に順番に依頼することになる。また解析環境決定部５４は、この後、検体データベース４０の対応する解析依頼リスト欄４０Ｆに、「装置Ｂ」という検体解析装置５に「1.6」というバージョン及び「1.2」というバージョンの解析を依頼した旨の情報を格納する。
【０１０１】
続いて、解析環境決定部５４は、ステップＳＰ１９において解析を依頼した各検体解析装置５からの応答（解析結果ＡＲＳ（図１））を待ち受け（ＳＰ２０）、やがてすべての検体解析装置５からの解析結果ＡＲＳを受信すると、その解析結果ＡＲＳを検体データベース４０の対応する判定結果欄４０Ｇに格納すると共に、当該解析結果ＡＲＳを対応する情報処理装置３に送信した後、この解析環境決定処理を終了する。
【０１０２】
（４）本実施の形態の効果
以上の本実施の形態のプログラム解析システム１によれば、優先的に解析すべきバージョンに対応した検体解析装置５において検体が解析されるため、すべてのバージョンの実行環境を順々に試してゆく従来の解析手法と比して、検体の解析を効率良く行うことができる。かくするにつき、特定のバージョンの実行環境上でのみ不正活動を顕現化する不正プログラム（マルウェア）を効率的に解析することができる。
【０１０３】
（５）他の実施の形態
なお上述の実施の形態においては、図１２について上述した解析環境決定処理のステップＳＰ１９において、解析対象として決定した各バージョンに対する解析依頼ＡＲＱを、解析優先度の高いバージョンから順番に、対応する検体解析装置５に順次送信し、続くステップＳＰ２０において、これらの検体解析装置５からの解析結果ＡＲＳを待つようにした場合について述べたが、本発明はこれに限らず、例えば、ステップＳＰ１９において、最も優先度が高いバージョンについての解析依頼ＡＲＱを１つのみを送信し、続くステップＳＰ２０において解析結果ＡＲＳを受信した後に、ステップＳＰ１９に戻って次に優先度が高いバージョンについての解析依頼ＡＲＱを対応する検体解析装置５に送信することを繰り返すようにしても良い。また、この際、解析結果ＡＲＳの内容が「マルウェア」であった場合（検体がマルウェアであるとの解析結果を得た場合）には、次に優先度が高いバージョンに対応する検体解析装置５への検体の解析の依頼を停止するようにしても良い。このようにすることにより、余計な解析依頼ＡＲＱの発行を省略して、プログラム解析システム１全体としての検体の解析効率をより向上させることができる。
【０１０４】
また上述の実施の形態においては、実行環境が「ＰＤＦ．ＥＸＥ」である場合について述べたが、本発明はこれに限らず、実行環境が「ＰＤＦ．ＥＸＥ」以外のこの他種々の実行環境についても適用することができる。また本発明は、実行環境が複数種類存在する解析システムにも同様に適用することができる。
【０１０５】
さらに上述の実施の形態においては、解析管理装置４が脆弱性情報ＶＩを脆弱性情報サイト６から能動的に取得するようにした場合について述べたが、本発明はこれに限らず、例えば、管理者が定期的に脆弱性情報ＶＩを与えるようにしても良い。
【産業上の利用可能性】
【０１０６】
本発明は、特定のバージョンの実行環境上でのみ不正活動を顕現化する不正プログラムの効率的な解析を行い得るプログラム解析システムに適用することができる。
【符号の説明】
【０１０７】
１……プログラム解析システム、３……情報処理装置、４……解析管理装置、５……検体解析装置、６……情報サイト、２１……ＣＰＵ、３０……検体受信プログラム、３１……脆弱性情報取得プログラム、３２……使用頻度情報取得プログラム、３３……解析優先脆弱性決定プログラム、３４……解析環境決定プログラム、４０……検体データベース、４１……解析優先脆弱性決定パラメータデータベース、４２……脆弱性情報データベース、４３……使用頻度情報データベース、４４……解析優先脆弱性データベース、４５……解析システムデータベース、４６……解析環境決定パラメータデータベース、５０……検体受信部、５１……脆弱性情報取得部、５２……使用頻度情報取得部、５３……解析優先脆弱性決定部、５４……解析環境決定部。
【図１】
2014089593.tif 000008
【図２】
2014089593.tif 000009
【図３】
2014089593.tif 000010
【図４】
2014089593.tif 000011
【図５】
2014089593.tif 000012
【図６】
2014089593.tif 000013
【図７】
2014089593.tif 000014
【図８】
2014089593.tif 000015
【図９】
2014089593.tif 000016
【図１０】
2014089593.tif 000017
【図１１】
2014089593.tif 000018
【図１２】
2014089593.tif 000019