JP2014089593A - プログラム解析システム及び方法 - Google Patents

プログラム解析システム及び方法 Download PDF

Info

Publication number
JP2014089593A
JP2014089593A JP2012239237A JP2012239237A JP2014089593A JP 2014089593 A JP2014089593 A JP 2014089593A JP 2012239237 A JP2012239237 A JP 2012239237A JP 2012239237 A JP2012239237 A JP 2012239237A JP 2014089593 A JP2014089593 A JP 2014089593A
Authority
JP
Japan
Prior art keywords
analysis
version
vulnerability
sample
priority
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.)
Granted
Application number
JP2012239237A
Other languages
English (en)
Other versions
JP5912074B2 (ja
Inventor
Nobutaka Kawaguchi
信隆 川口
Yoshinobu Tanigawa
嘉伸 谷川
Tadashi Kaji
忠司 鍛
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2012239237A priority Critical patent/JP5912074B2/ja
Publication of JP2014089593A publication Critical patent/JP2014089593A/ja
Application granted granted Critical
Publication of JP5912074B2 publication Critical patent/JP5912074B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】
特定のバージョンの実行環境上でのみ不正活動を顕現化する不正プログラムの効率的な解析を行い得るプログラム解析システム及び解析方法を提案する。
【解決手段】
検体が、特定の脆弱性をもつバージョンの実行環境上で不正活動を顕在化するマルウェアであるか否かを解析するプログラム解析システムに関し、それぞれ異なるバージョンの実行環境上で検体を解析する複数の検体解析装置と、検体解析装置に対して検体の解析を依頼する解析管理装置とを設け、解析管理装置が、脆弱性ごとの解析優先度をそれぞれ決定し、決定結果に基づいて、優先的に解析すべきバージョンを1又は複数選択し、選択したバージョンの実行環境を有する検体解析装置に対して検体の解析を依頼するようにした。
【選択図】 図12

Description

本発明は、プログラム解析システム及び方法に関し、特に、コンピュータプログラムの挙動を解析するプログラム解析システムに適用して好適なものである。
近年、情報漏えいや不正アクセスなどの脅威をもたらすコンピュータウイルスやスパイウェア及びボットプログラムといった悪意ある不正プログラム(以下、これをマルウェアと呼ぶ)が社会問題となっている。
マルウェアの出現数は年々増加傾向にある。これに伴い、従来のシグニチャ型のアンチウイルスソフトでは新種マルウェアに対して十分に対抗することが難しくなりつつある。この問題を解決する手段として、プログラムをサンドボックス内で実行して挙動を分析することで、マルウェアを検知する動的解析技術が注目されている。この技術によれば、シグニチャを用いず検知を行うため、シグニチャ型が対応できない新種マルウェアに対応することが可能となる。
特許文献1では、コンピュータ内から不審プログラムを発見し、検体として検査サーバに送信して、検体解析装置で動的解析を行うことで、新種マルウェアを検知・駆除する技術が開示されている。この技術によれば、複数のコンピュータ内にある不審プログラムの動的解析を1台のサーバで行うことを実現する。
特開2010−198054号公報
ところが、特許文献1では、特定の種類の実行環境上でのみ実行されるマルウェアに対する解析・検知方法が言及されていない。例えば、PDF(Portable Document Format)ファイルというドキュメントファイル型のマルウェアの中には、特定のバージョンのPDF実行ファイルから読み込まれたときのみ、実行ファイルの脆弱性を利用して不正活動を顕現化するものがある。このようなマルウェアを解析するには、複数のバージョンの実行環境を持つ検体解析装置を使用する必要があるが、全てのバージョンの実行環境を順々に試していくのは効率が悪い。
本発明は以上の点を考慮してなされたもので、特定のバージョンの実行環境上でのみ不正活動を顕現化する不正プログラム(マルウェア)の効率的な解析を行い得るプログラム解析システム及び方法を提案しようとするものである。
かかる課題を解決するため本発明においては、検体が、特定の脆弱性をもつバージョンの実行環境上で不正活動を顕在化する不正プログラムであるか否かを解析するプログラム解析システムであって、それぞれ異なるバージョンの実行環境上で前記検体を解析する複数の検体解析装置と、前記脆弱性ごとの解析優先度をそれぞれ決定し、決定結果に基づいて、優先的に解析すべきバージョンを1又は複数選択し、選択したバージョンの実行環境を有する前記検体解析装置に対して前記検体の解析を依頼する解析管理装置とを設けるようにした。
また本発明においては、検体が、特定の脆弱性をもつバージョンの実行環境上で不正活動を顕在化する不正プログラムであるか否かを解析するプログラム解析システムにおけるプログラム解析方法であって、前記解析システムは、それぞれ異なるバージョンの実行環境上で前記検体を解析する複数の検体解析装置と、前記検体解析装置に対して前記検体の解析を依頼する解析管理装置とを有し、前記解析管理装置が、前記脆弱性ごとの解析優先度をそれぞれ決定する第1のステップと、前記解析管理装置が、決定結果に基づいて、優先的に解析すべきバージョンを1又は複数選択する第2のステップと、前記解析管理装置が、選択したバージョンの実行環境を有する前記検体解析装置に対して前記検体の解析を依頼する第3のステップとを設けるようにした。
この結果、本発明のプログラム解析システム及びプログラム解析方法によれば、優先的に解析すべきバージョンに対応した検体解析装置において検体が解析されるため、すべてのバージョンの実行環境を順々に試してゆく従来の解析手法と比して、検体の解析を効率良く行うことができる。
本発明によれば、特定のバージョンの実行環境上でのみ不正活動を顕現化する不正プログラムを効率的に解析し得るプログラム解析システム及び方法を実現できる。
本実施の形態によるプログラム解析システムの全体構成を示すブロック図である。 解析管理装置の概略構成を示すブロック図である。 検体データベースの構成を概念的に示す概念図である。 解析優先脆弱性決定パラメータデータベースの構成を概念的に示す概念図である。 脆弱性情報データベースの構成を概念的に示す概念図である。 使用頻度情報データベースの構成を概念的に示す概念図である。 解析優先脆弱性データベースの構成を概念的に示す概念図である。 解析システムデータベースの構成を概念的に示す概念図である。 解析環境決定パラメータデータベースの構成を概念的に示す概念図である。 解析管理装置の論理構成を示すブロック図である。 解析優先脆弱性決定処理の処理手順を示すフローチャートである。 解析環境決定処理の処理手順を示すフローチャートである。
以下図面について、本発明の一実施の形態を詳述する。
なお、以下においては、主としてPDF(Portable Document Formant)という名称のドキュメントファイルを解析するシステムについて取り上げる。
PDFファイルはPDF.EXEという実行環境上で読み込まれることで、ドキュメントを表示するファイルである。攻撃者により作成されたPDFファイル型のマルウェアは、特定のバージョンのPDF.EXE上で読み込まれると、実行環境の脆弱性を利用して不正活動を開始する。
PDF.EXEはバージョンによって様々な脆弱性を有している。マルウェアが利用する脆弱性と、PDF.EXEが有している脆弱性が一致したときのみ、マルウェアは不正活動を開始できる。このため、あるPDFファイルがマルウェアかどうかを確認するには、様々なバージョンのPDF.EXE上で読み込ませる必要がある。
本実施の形態で取り上げるシステムは、組織内で利用されているPDF.EXEの頻度や攻撃者が狙う脆弱性の頻度に関する情報を基に、マルウェアを読み込ませるPDF.EXEのバージョンや読み込む順序を決定することで、効率的な解析を実現する。
(1)本実施の形態によるプログラム解析システムの構成
図1において、1は全体として本実施の形態によるプログラム解析システムを示す。このプログラム解析システム1は、1又は複数の情報処理装置3、解析管理装置4、複数の検体解析装置5及び脆弱性情報サイト6を備えて構成される。情報処理装置3、解析管理装置4及び脆弱性情報サイト6間は、WAN(World Area Network)やLAN(Local Area Network)、又は、携帯電話若しくはPHS(Personal Handyphone System)等の公衆回線網などから構成される第1の通信ネットワーク7を介して相互に接続され、解析管理装置4及び検体解析装置5は、同様にWAN、LAN、又は、携帯電話若しくはPHS等の公衆回線網などから構成される第2の通信ネットワーク8を介して相互に接続されている。
情報処理装置3は、例えば企業内ネットワーク等の組織ネットワーク2に所属する計算機であり、パーソナルコンピュータや各種サーバなどから構成される。情報処理装置3内は、新規プログラムの実行や添付付ファイルの受信などの何らかの契機で、ファイル(本実施の形態においてはPDFファイルであり、以下、これを検体と呼ぶ)FLを解析管理装置4に送信する。また、情報処理装置3は、情報処理装置3内で使用されているアプリケーションやオペレーティングシステムの種類を、定期的に使用頻度情報UEIとして解析管理装置4に送信する。
解析管理装置4は、情報処理装置3から送信される検体FLに対して、検体解析装置55に解析依頼を行う装置である。解析管理装置4は、攻撃に利用されることが多い脆弱性や組織ネットワーク2に所属する情報処理装置3で利用されている環境の種類を考慮して検体解析装置5に検体の解析依頼ARQを発行することで、効率的な解析を実現する。
検体解析装置5は、解析管理装置4からの解析依頼ARQに従って、検体FLがマルウェアであるか否かの解析を行う。解析結果は、解析結果ARSとして、解析管理装置4に返信される。各検体解析装置5には様々な検体解析環境が整備されており、検体解析装置5ごとに使用可能な環境が異なる。このため、解析管理装置4は、検体FLの種類や後述する脆弱性情報VI及び使用頻度情報UEIに基づいて、検体FLの解析を行う検体解析装置として適切な検体解析装置5を決定し、決定した検体解析装置5にその検体FLの解析依頼ARQを発行する。
脆弱性情報サイト6は、アプリケーションやシステムの脆弱性に関する情報である脆弱性情報VIを提供する外部機関(Webサイト)である。解析管理装置4は、脆弱性情報サイト6から脆弱性情報VIを取得し、検体FLの解析を行わせる検体解析装置5を決定する際に利用する。
図2は、解析管理装置4のハードウェア構成を示す。この図2からも明らかなように、解析管理装置4は、情報処理装置本体10及び入出力装置11から構成される。
情報処理装置本体10は、バス20を介して相互に接続されたCPU21、メモリ22、外部記憶装置23及びインタフェース24を備える。
CPU21は各種処理を実行するための演算装置であり、メモリ22はCPU21で実行する命令のセットがプログラムとして記述されたデータを含む記憶媒体である。後述する検体受信プログラム30、脆弱性情報取得プログラム31、使用頻度情報取得プログラム32、解析優先脆弱性決定プログラム33及び解析環境決定プログラム34もこのメモリ22に格納されて保持される。メモリ22に格納されたこれらのプログラムをCPU21実行することにより、解析管理装置4全体として後述のような各種処理を実行する。
また外部記憶装置23は、ハードディスク装置(HDD:Hard Disk Drive)などの記憶媒体から構成される。後述する検体データベース40、解析優先脆弱性決定パラメータデータベース41、脆弱性情報データベース42、使用頻度情報データベース43、解析優先脆弱性データベース44、解析システムデータベース45及び解析環境決定パラメータデータベース46は、この外部記憶装置23に格納されて保持される。
インタフェース24は、解析管理装置4を第1及び第2の通信ネットワーク7,8と接続するための通信装置であり、例えばLANカードなどの通信機器から構成される。
さらに入出力装置11は、解析管理装置4に対して管理者がデータを入力したり、解析管理装置4内のデータの出力を行うための装置である。入出力装置11における入力部としてはキーボード及びマウスなどが適用され、入出力装置11における出力部としてはディスプレイが適用される。
(2)本実施の形態によるプログラム解析方式
次に、プログラム解析システム1において実行される本実施の形態によるプログラム解析方式について説明する。
本実施の形態場合、解析管理装置4には、優先的に解析すべき実行環境のバージョンを1又は複数選択し、選択したバージョンの実行環境を有する検体解析装置5に対してのみ検体の解析を依頼する機能が搭載されている点を特徴の1つとしている。
かかる機能を実現するための手段として、図2に示すように、解析管理装置4のメモリ22には、検体受信プログラム30、脆弱性情報取得プログラム31、使用頻度情報取得プログラム32、解析優先脆弱性決定プログラム33及び解析環境決定プログラム34が格納され、解析管理装置4の外部記憶装置23には、検体データベース40、解析優先脆弱性決定パラメータデータベース41、脆弱性情報データベース42、使用頻度情報データベース43、解析優先脆弱性データベース44、解析システムデータベース45及び解析環境決定パラメータデータベース46が格納されている。
検体受信プログラム30は、情報処理装置3から送信される検体FLを受信するプログラムであり、脆弱性情報取得プログラム31は、脆弱性情報サイト6(図1)から脆弱性情報VI(図1)を取得するプログラムである。また使用頻度情報取得プログラム32は、情報処理装置3から送信される使用頻度情報UEI(図1)を受信するプログラムであり、解析優先脆弱性決定プログラム33は、ある特定の実行環境に関して、どの脆弱性を持つ環境から優先して解析を行うべきかを決定するプログラムである。さらに解析環境決定プログラム34は、どの検体解析装置5のどのバージョンの実行環境上で検体FLを解析するかを決定し、解析依頼ARQ(図1)の送信及び解析結果ARS(図1)の受信を行うプログラムである。
一方、検体データベース40は、情報処理装置3から送信されてきた各検体FLの解析状況を管理するために利用されるデータベースであり、図3に示すように、ID欄40A、解析受付け時間欄40B、検体名欄40C、検体データ欄40D、実行環境欄40E、解析依頼リスト欄40F及び判定結果欄40Gから構成される。図3において、1つのレコード(行)は、いずれかの情報処理装置3から送信されてきた1つの検体FLに対応する。
そしてID欄40Aには、個々のレコードに付与された識別子(ID)が格納され、解析受付け時間欄40Bには、対応する検体FLを解析管理装置4が受信した時間が格納される。また検体名欄40Cは、対応する検体FLの名称が格納され、検体データ欄40Dには、対応する検体FLのデータが格納される。
さらに実行環境欄40Eには、対応する検体FLが実行される実行環境が格納され、解析依頼リスト欄40Fには、対応する検体FLの解析を依頼した検体解析装置5の識別子(装置ID)及び当該検体解析装置5で用いられる実行環境が格納される。また判定結果欄40Gには、対応する検体FLの解析状況が格納される。なお検体FLの解析状況としては、未だ検体解析装置5に検体FLの解析を依頼していない又は検体解析装置5に検体FLの解析を依頼したが、未だ解析結果を得ていないことを意味する「解析待ち」や、検体FLがマルウェアであるという解析結果がでたことを意味する「マルウェア」、検体FLがマルウェアでないという解析結果がでたことを意味する「非マルウェア」などがある。
従って、図3の場合、検体データベース40には、3種類の検体FLが登録されており、例えば、「A.pdf」という検体FLは、「2012/01/01 11:01:00」に受信され、データ内容が「90fddd23a9…」、実行環境が「PDF.exe」であり、「PDF.exe-1.6」という実行環境と、「PDF.exe-1.2」という実行環境とを有する「装置B」という検体解析装置5に解析を依頼しており、現在は、「解析待ち」の状態にあることが示されている。
解析優先脆弱性決定パラメータデータベース41は、脆弱性を解析する際の脆弱性ごとの優先度(以下、これを解析優先度と呼ぶ)を決定する際に利用するパラメータを管理するために用いられるデータベースであり、図4に示すように、ID欄41A、検知高速化重み付けパラメータ欄41B及び被害最小化重み付けパラメータ欄41Cから構成される。図4において、1つのレコード(行)は、検知高速化重み付けパラメータ及び被害最小化重み付けパラメータの1つの組み合せに相当する。
そしてID欄41Aには、個々のレコードに付与された識別子(ID)が格納され、検知高速化重み付けパラメータ欄41Bには、頻繁に悪用されている脆弱性を持つバージョンの実行環境に対する解析処理の優先度を決定するパラメータ(以下、これを検知高速化重み付けパラメータと呼ぶ)が格納される。この検知高速化重み付けパラメータの値が大きいほど、現在、頻繁に悪用されている脆弱性を持つバージョンの実行環境から優先して解析を行うようになる。
また被害最小重み付けパラメータ欄41Cには、多く使用されているバージョンの実行環境に対する解析処理の優先度を決定するパラメータ(以下、これを被害最小重み付けパラメータと呼ぶ)が格納される。この被害最小重み付けパラメータの値が大きいほど、組織ネットワーク2内で多く使用されているバージョンの実行環境から優先して解析を行うようになる。
検知高速化重み付けパラメータ及び被害最小重み付けパラメータは、解析管理装置4の管理者により、これら2つのパラメータの合計値が「1.0」となるように、それぞれ「0.0」〜「1.0」の範囲で設定される。
例えば図4の場合、検知高速化重み付けパラメータが「0.2」、被害最小化重み付けパラメータ41Cが「0.8」にそれぞれ設定されていることが示されている。
脆弱性情報データベース42は、脆弱性の悪用頻度及び脆弱性をもつ実行環境のバージョンを管理するために利用されるデータベースであり、図5に示すように、ID欄42A、脆弱性名欄42B、実行環境種類欄42C、悪用頻度欄42D及び脆弱な実行環境バージョン欄42Eから構成される。図5において、1つのレコード(行)は、1つの脆弱性に対応する。
そしてID欄42Aには、個々のレコードに付与された識別子(ID)が格納され、脆弱性名欄42Bには、脆弱性情報サイト6(図1)から取得した対応する脆弱性に付与された名称が格納される。また実行環境種類欄42Cには、対応する脆弱性を有する実行環境の種類が格納され、悪用頻度欄42Dには、対応する脆弱性が悪用される頻度が格納される。なお、悪用頻度は、他の脆弱性と比べたその脆弱性が悪用される頻度の相対値であり、すべての脆弱性の悪用頻度の合計値は「1.0」となる。さらに脆弱な実行環境バージョン欄42Eには、対応する脆弱性を有する実行環境のバージョンが格納される。
従って、図5の場合、脆弱性情報データベース42には、4種類の脆弱性が登録されており、例えば「PDF-V1」という名称の脆弱性は、「PDF.exe」という実行環境の「1.0」、「1.1」及び「1.2」というバージョンにおける脆弱性であり、悪用頻度が「0.05」であることが示されている。
使用頻度情報データベース43は、組織ネットワーク2内の情報処理装置3が、各実行環境の個々のバージョンの使用頻度を管理するために利用されるデータベースであり、図6に示すように、ID欄43A、実行環境種類欄43B、実行環境バージョン欄43C及び使用頻度欄43Dから構成される。図6において、1つのレコード(行)は、1つのバージョンに対応する。
そしてID欄43Aには、個々のレコードに付与された識別子(ID)が格納され、実行環境種類欄43Bには、検体FLに対応する実行環境(本実施の形態においてはPDF)の種類が格納される。また実行環境バージョン欄43Cには、組織ネットワーク2内において使用されている対応する実行環境の各バージョンが格納され、使用頻度欄43Dには、対応するバージョンが組織ネットワーク2内で利用されている比率(全バージョンに対するそのバージョンが使用されている比率)が格納される。使用頻度情報データベース43内のすべてのレコードの使用頻度の合計値は「1.0」となる。
従って、図6の場合、使用頻度情報データベース43には、9種類の実行環境及びそのバージョンの組み合せが登録されており、例えば「PDF.exe」という実行環境の「1.0」というバージョンの使用頻度が「0.01」、「2」というIDが付与された「PDF.exe」という実行環境の「1.1」という実行環境バージョンの使用頻度が「0.04」、「3」というIDが付与された「PDF.exe」という実行環境の「1.2」という実行環境バージョンの使用頻度が「0.1」、……であることが分かる。
解析優先脆弱性データベース44は、各脆弱性の解析優先度を管理するために利用されるデータベースであり、図7に示すように、ID欄44A、脆弱性名欄44B及び解析優先度欄44Cから構成される。図7において、1つのレコード(行)は、1つの脆弱性に対応する。
そしてID欄44Aには、個々のレコードに付与された識別子(ID)が格納され、脆弱性名欄44Bには、脆弱性情報サイト6(図1)から取得した、組織ネットワーク2において使用されている実行環境の脆弱性に付与された名称が格納される。また解析優先度欄44Cには、対応する脆弱性を解析する優先度(解析優先度)が格納される。この解析優先度の値が大きいほど、対応する脆弱性の解析を優先して行う必要があることを意味する。
従って、図7の場合、解析優先脆弱性データベース44には、4種類の脆弱性の解析優先度が登録されており、「PDF-V1」という脆弱性は解析優先度が「0.13」、「2」というIDが付与された「PDF-V2」という脆弱性は解析優先度が「0.26」、「3」というIDが付与された「PDF-V3」という脆弱性は解析優先度が「0.52」、「4」というIDが付与された「PDF-V4」という脆弱性は解析優先度が「0.33」であることが示されている。
解析システムデータベース45は、各検体解析装置5における実行環境及びそのバージョンを管理するために利用されるデータベースであり、ID欄45A、検体解析装置欄45B、実行環境種類欄45C及び実行環境バージョン欄45Dから構成される。
そしてID欄45Aには、個々のレコードに付与された識別子(ID)が格納され、検体解析装置欄45Bは、対応する検体解析装置5の名称が格納される。また実行環境種類欄45Cには、対応する検体解析装置5の実行環境が格納され、実行環境バージョン欄45Dには、対応する検体解析装置5内の実行環境のバージョンが格納される。なお本実施の形態の場合、検体解析装置5ごとに、1つ以上のバージョンが存在する。
従って、図8の場合、解析システムデータベース45には、4つの検体解析装置5が登録されており、「装置A」という検体解析装置5の実行環境は「PDF.exe」でバージョンが「1.0」及び「1.1」、「装置B」という検体解析装置5の実行環境は「PDF.exe」でバージョンが「1.2」及び「1.6」、「装置C」という検体解析装置5の実行環境は「PDF.exe」でバージョンが「1.0」及び「1.3」、「装置D」という検体解析装置5の実行環境は「PDF.exe」でバージョンが「1.4」及び「1.5」であることが示されている。
よって、例えば、バージョンが「1.6」の環境で検体FLを解析した場合、図5より、「PDF-V3」という脆弱性及び「PDF-V4」という脆弱性に関する解析が完了したことになる。このため、かかる検体FLの悪用頻度の合計値は、図5より、次式のように算出される。
また、有するすべての脆弱性が「PDF-V3」及び「PDF-V4」の両方又はいずれかであるバージョンは、図5より、「1.5」、「1.6」、「1.7」、「1.8」となる。「1.4」は、「PDF-V2」の脆弱性も有するため、対象外となる。このため、使用頻度の合計値は、次式となる。
解析環境決定パラメータデータベース46は、予め管理者によって設定された後述する悪用頻度網羅率閾値及び使用頻度網羅率閾値を管理するために利用されるデータベースであり、図9に示すように、ID欄46A、悪用頻度網羅率閾値欄46B及び使用頻度網羅率閾値欄46Cから構成される。図8において、1つのレコード(行)は、後述する悪用頻度網羅率閾値及び使用頻度網羅率閾値の1つの組み合せに対応する。
そしてID欄46Aには、個々のレコードに付与された識別子(ID)が格納され、悪用頻度網羅率閾値欄46Bには、図5について上述した悪用頻度の合計値の閾値(以下、これを悪用頻度網羅率閾値と呼ぶ)が格納される。また使用頻度網羅率閾値欄46Cには、図6について上述した使用頻度の合計値の閾値(以下、これを使用頻度網羅率閾値)が格納される。
従って、図9の場合、悪用頻度網羅率閾値が「0.8」に設定され、使用頻度網羅率閾値が「0.8」に設定されていることが示されている。
なお、解析管理装置4の論理構成を図10に示す。この図10からも明らかなように、解析管理装置4は、検体受信部50、脆弱性情報取得部51、使用頻度情報取得部52、解析優先脆弱性決定部53及び解析環境決定部54から構成される。
検体受信部50は、CPU21が検体受信プログラム30を実行することによって具現化される機能であり、情報処理装置3から送信される検体FLを受信し、受信した検体FL及び当該検体FLに関する各種情報を検体データベース40に登録する。
脆弱性情報取得部51は、CPU21が脆弱性情報取得プログラム31を実行することによって具現化される機能であり、脆弱性情報サイト6(図1)から脆弱性情報VI(図1)を取得し、取得した脆弱性情報を脆弱性情報データベース42に登録する。
使用頻度情報取得部52は、CPU21が使用頻度情報取得プログラム32を実行することにより具現化される機能であり、情報処理装置3より使用頻度情報UEI(図1)を受信し、受信した使用頻度情報UEIを使用頻度情報データベース43に登録する。
解析優先脆弱性決定部53は、CPU21が解析優先脆弱性決定プログラム33を実行することによって具現化される機能であり、解析優先脆弱性決定パラメータデータベース41、脆弱性情報データベース42、使用頻度情報データベース43及び解析優先脆弱性データベース44を参照して、ある特定の実行環境に関して、どの脆弱性を持つ環境から優先して解析を行うべきかを決定する。
解析環境決定部54は、CPU21が解析環境決定プログラム34を実行することによって具現化される機能であり、検体データベース40、脆弱性情報データベース42、解析優先脆弱性データベース44、解析システムデータベース45及び解析環境決定パラメータデータベース46に基づいて、どの検体解析装置5のどのバージョンの実行環境上で検体FLを解析するかを決定する機能である。また解析環境決定部54は、かかる決定に基づく検体解析装置5への解析依頼ARQ(図1)の送信や、解析結果ARS(図1)の受信を行う。
(3)本実施の形態によるプログラム解析方式に関する各種処理
次に、本実施の形態によるプログラム解析方式に関連して解析管理装置4において実行される各種処理の具体的な処理内容について説明する。なお、以下においては、各種処理の処理主体を図10の各機能部(検体受信部50、脆弱性情報取得部51、使用頻度情報取得部52、解析優先脆弱性決定部53又は解析環境決定部54)として説明するが、実際上は、CPU21が対応するプログラム(検体受信プログラム30、脆弱性情報取得プログラム31、使用頻度情報取得プログラム32、解析優先脆弱性決定プログラム33及び解析環境決定プログラム34)に基づいてその処理を実行することは言うまでもない。
(3−1)検体受信処理
解析管理装置4の検体受信部50は、検体FLが情報処理装置3から送信されてくると検体受信処理を開始し、まず、その検体FLを受信する。
続いて、検体受信部50は、その検体FLの解析受付け時間、検体名、検体データ及び実行環境を検体データベース40に登録する。この際、検体受信部50は、その検体FLの実行環境を検体名の拡張子から判定する。例えば、検体名の拡張子が「.pdf」の場合には実行環境を「PDF.exe」と判定し、拡張子が「.xls」の場合には実行環境を「EXCEL.exe」と判定し、拡張子が「.doc」の場合には実行環境を「WORD.exe」と判定する。なお、検体受信部50が、その検体FLのデータの中身を分析して、実行環境を決定するようにしてもよい。
そして検体受信部50は、この後、この検体受信処理を終了する。
(3−2)脆弱性情報取得処理
解析管理装置4の脆弱性情報取得部51は、定期的(例えば24時間ごと)に脆弱性情報取得処理を実行し、まず、各脆弱性情報サイト6にそれぞれアクセスし、これら脆弱性情報サイト6から解析対象の検体FLに関する脆弱性情報VIを取得し、取得した脆弱性情報を脆弱性情報データベース42に登録する。なお、脆弱性情報VIのフォーマットについては本発明では特に規定しないが、各実行環境の脆弱性識別子とその発生頻度が記述されている、テキストファイルやHTML(Hyper Text Markup Language)ファイル、XML(Extensible Markup Language)ファイルなどを対象とする。
続いて、脆弱性情報取得部51は、脆弱性情報データベース42の各レコード(行)について、そのレコードに対応する脆弱性の悪用頻度をそれぞれ算出し、算出結果に基づいて、各レコードの悪用頻度欄42D(図5)にそれぞれ格納されている悪用頻度を更新する。
そして脆弱性情報取得部51は、この後、この脆弱性情報取得処理を終了する。
(3−3)使用頻度情報取得処理
解析管理装置4の使用頻度情報取得部52は、定期的(例えば24時間ごと)に使用頻度情報取得処理を実行し、まず、組織ネットワーク2内の各情報処理装置3から使用頻度情報UEI(図1)を取得する。使用頻度情報UEIのフォーマットは本発明では特に規定しないが、情報処理装置3が使用している実行環境のバージョンの識別子が記述されている、テキストファイルやHTMLファイル、XMLファイルなどを対象とする。
続いて使用頻度情報取得部52は、ステップSP20において取得した使用頻度情報UEIを、使用頻度情報データベース43に登録し、この後、この使用頻度情報取得処理を終了する。
(3−4)解析優先脆弱性決定処理
図11は、解析管理装置4の解析優先脆弱性決定部53(図10)により実行される解析優先脆弱性決定処理の処理手順を示す。解析優先脆弱性決定部53は、この図11に示す処理手順に従って、各脆弱性の解析優先度を算出し、算出した解析優先度を解析優先脆弱性データベース44(図7)に登録する。
実際上、解析優先脆弱性決定部53は、脆弱性情報データベース42又は使用頻度情報データベース43が更新されるタイミングでこの解析優先脆弱性決定処理を開始し、まず、解析優先脆弱性データベース44を参照して、解析優先度が未算出の脆弱性を1つ選択する(SP1)。
続いて、解析優先脆弱性決定部53は、脆弱性情報データベース42及び使用頻度情報データベース43を参照して、そのとき対象としている実行環境のステップSP1において選択した脆弱性(以下、これを選択脆弱性と呼ぶ)をもつバージョンの累計使用頻度を算出する(SP2)。例えば選択脆弱性が図6の「PDF-V1」であるとすると、この選択脆弱性は、脆弱性情報データベース42を参照すると、「PDF.exe」という実行環境の「1.0」、「1.1」及び「1.2」というバージョンが対象となることが分かる。また、使用頻度情報データベース43を参照すると、「PDF.exe」という実行環境の「1.0」、「1.1」及び「1.2」というバージョンの使用頻度は、それぞれ「0.01」、「0.04」及び「0.1」であることが分かる。従って、この選択脆弱性(「PDF-V1」)の累計使用頻度は、次式
のように、これら「0.01」、「0.04」及び「0.1」を合算した「0.15」と算出することができる。
次いで、解析優先脆弱性決定部53は、脆弱性情報データベース42、解析環境決定パラメータデータベース46及びステップSP2において算出した選択脆弱性の累積使用頻度に基づいて、選択脆弱性の解析優先度を算出する(SP3)。具体的に、解析優先脆弱性決定部53は、選択脆弱性の悪用頻度をF1、選択脆弱性の累計使用頻度をF2、図4について上述した検知高速化重み付けパラメータの値をP1、被害最小化重み付けパラメータの値をP2として、次式
により選択脆弱性の解析優先度APを算出する。
例えば、図5〜図8の例において、選択脆弱性が「PDF-V1」の場合、この選択脆弱性の解析優先度APは、悪用頻度F1が「0.05」(図6参照)、検知高速化重み付けパラメータの値P1が「0.2」(図5)、選択脆弱性の累計使用頻度F2が(3)式について上述したように「0.15」、被害最小化重み付けパラメータの値P2が「0.8」(図5)であることから、次式
のように算出することができる。同様に、選択脆弱性が「PDF-V2」の場合には解析優先度APは「0.26」、選択脆弱性が「PDF-V3」の場合には解析優先度APは「0.52」、選択脆弱性が「PDF-V4」の場合には解析優先度APは「0.33」とそれぞれ算出することができる。
そして解析優先脆弱性決定部53は、このようにして算出した選択脆弱性の解析優先度を解析優先脆弱性データベース44内の選択脆弱性に対応するレコードの解析優先度APに上書きするようにして、解析優先脆弱性データベース44を更新する。
この後、解析優先脆弱性決定部53は、すべての脆弱性について解析優先度を算出し終えたか否かを判断し(SP4)、否定結果を得るとステップSP1に戻る。そして解析優先脆弱性決定部53は、この後、ステップSP1において選択する脆弱性を未処理の他の脆弱性に順次切り替えながら、ステップSP1〜ステップSP4の処理を繰り返す。
そして解析優先脆弱性決定部53は、やがて解析優先脆弱性データベース44に登録されたすべての脆弱性について解析優先度APを算出し、算出結果に基づいて解析優先脆弱性データベース44を更新し終えることによりステップSP4において肯定結果を得ると、この解析優先脆弱性決定処理を終了する。
(3−5)解析環境決定処理
図12は、解析管理装置4の解析環境決定部54(図10)により実行される解析環境決定処理の処理手順を示す。解析環境決定部54は、この図12に示す処理手順に従って、解析対象の検体FLの解析を依頼する検体解析装置5を決定し、決定した検体解析装置5にその検体FLの解析を依頼する。
実際上、解析管理装置4の解析環境決定部54は、検体データベース40(図3)に判定結果が「解析待ち」の検体FLが登録されると、そのタイミングでこの解析環境決定処理を開始し、まず、検体データベース40に登録された検体FLの中から、そのとき登録されたかかる検体FLを選択する(SP10)。例えば図3〜図9の例の場合、このステップSP10では、検体データベース40(図3)の判定結果欄40G(図3)に「解析待ち」が格納されている「A.pdf」という検体が選択されることになる。
続いて、解析環境決定部54は、ステップSP10において選択した検体FLの実行環境が保有する可能性がある脆弱性の中から、「選択済み」でなく、かつ解析優先度が最も大きい脆弱性を選択する(SP11)。なお「選択済み」については、ステップSP15について後述する。図3〜図9の例の場合、解析優先脆弱性データベース44(図7)を参照すると、解析優先度が最も大きい脆弱性は「PDF-V3」であるため、このステップSP11ではこの「PDF-V3」が選択されることになる。
次いで、解析環境決定部54は、ステップSP11において選択した脆弱性(以下、これを選択脆弱性と呼ぶ)をもつ実行環境の全バージョンの中から1つのバージョンを選択する(SP12)。例えば図3〜図9の例において、選択脆弱性が「PDF-V3」であるとすると、この選択脆弱性をもつ実行環境のバージョンは、脆弱性情報データベース42(図5)を参照すると、「1.4」、「1.5」及び「1.6」であることが分かる。そこで解析環境決定部54は、ステップSP12においてこれら「1.4」、「1.5」及び「1.6」の中から1つのバージョンを選択する。
この後、解析環境決定部54は、ステップSP12において選択したバージョンが有する脆弱性の解析優先度の累計値を算出する(SP13)。
例えば図3〜図9の例の場合において、ステップSP12において選択したバージョンが「1.4」であった場合、脆弱性情報データベース42(図5)を参照すると、この「1.4」というバージョンは「PDF-V2」及び「PDF-V3」という2つの脆弱性をもっていることが分かる。そこで、この場合、解析環境決定部54は、これら「PDF-V2」という脆弱性の解析優先度と、「PDF-V3」という脆弱性の解析優先度とを解析優先脆弱性データベース44(図7)からそれぞれ読み出し、読み出した「PDF-V2」という脆弱性の解析優先度と、「PDF-V3」という脆弱性の解析優先度とを合算することにより、「1.4」というバージョンの脆弱性の解析優先度の累計値を算出する。なお、「PDF-V2」という脆弱性の解析優先度は「0.26」であり、「PDF-V3」という脆弱性の解析優先度は「0.52」であるため、「1.4」というバージョンの脆弱性の解析優先度の累積値は「0.78」となる。
またステップSP12において選択したバージョンが「1.5」であった場合、脆弱性情報データベース42を参照すると、この「1.5」というバージョンは「PDF-V3」という脆弱性のみをもっていることが分かる。そこで、この場合、解析環境決定部54は、「PDF-V3」という脆弱性の解析優先度を解析優先脆弱性データベース44から読み出し、読み出した解析優先度を、「1.5」というバージョンの解析優先度の累計値とする。
さらにステップSP12において選択したバージョンが「1.6」であった場合、脆弱性情報データベース42を参照すると、この「1.6」というバージョンは「PDF-V3」及び「PDF-V4」という2つの脆弱性をもっていることが分かる。そこで、この場合、解析環境決定部54は、これら「PDF-V3」という脆弱性の解析優先度と、「PDF-V4」という脆弱性の解析優先度とを解析優先脆弱性データベース44からそれぞれ読み出し、読み出した「PDF-V3」という脆弱性の解析優先度と、「PDF-V4」という脆弱性の解析優先度とを合算することにより、「1.6」というバージョンの脆弱性の解析優先度の累計値を算出する。なお、「PDF-V3」という脆弱性の解析優先度は「0.52」であり、「PDF-V4」という脆弱性の解析優先度は「0.33」であるため、「1.6」というバージョンの脆弱性の解析優先度の累積値は「0.85」となる。
続いて、解析環境決定部54は、選択脆弱性をもつすべてのバージョンについてステップSP13の処理を実行し終えたか否かを判断する(SP14)。そして解析環境決定部54は、この判断で否定結果を得るとステップSP12に戻り、この後、ステップSP12において選択するバージョンを未処理の対応するバージョンに順次切り替えながら、ステップSP12〜ステップSP14の処理を繰り返す。
そして解析環境決定部54は、やがて選択脆弱性をもつすべてのバージョンについて解析優先度の累計値を算出し終えることによりステップSP14において肯定結果を得ると、ステップSP12〜ステップSP14の処理により算出した選択脆弱性をもつすべてのバージョンの中から、解析優先度の累計値が最も大きいバージョンを解析対象のバージョン(優先的に解析すべきバージョン)として決定すると共に、決定したバージョンに対応する脆弱性を「選択済み」とする(SP15)。
例えば図3〜図9の例の場合、上述のように選択脆弱性をもつバージョンは「1.4」、「1.5」及び「1.6」であり、これらのバージョンの解析優先度の累計値はそれぞれ「0.72」、「0.52」及び「0.85」であるため、このステップSP15では「1.6」というバージョンが解析対象のバージョンに決定されることになる。また、「1.6」というバージョンに対応する脆弱性は、脆弱性情報データベース42を参照すると「PDF-V3」及び「PDF-V4」であるため、解析環境決定部54はこれらの脆弱性を「選択済み」とする。
次いで、解析環境決定部54は、ステップSP15において「選択済み」とした脆弱性についての悪用頻度の合計値と、使用頻度の合計値とを算出する(SP16)。例えば図3〜図9の例では、脆弱性情報データベース42(図5)を参照すると、ステップSP15において「選択済み」とした「PDF-V3」という脆弱性の悪用頻度は「0.6」であり、「PDF-V4」という脆弱性の悪用頻度は「0.25」であるため、悪用頻度の合計値はこれらを合算した「0.85」として算出される。また脆弱性情報データベース42を参照すると、「PDF-V3」という脆弱性の実行環境バージョンは「1.4」、「1.5」及び「1.6」であり、「PDF-V4」という脆弱性の実行環境バージョンは「1.6」、「1.7」及び「1.8」である。ただし「1.4」というバージョンは「RDF-V2」という脆弱性をも有するため、使用頻度の合計値はこの「1.4」というバージョンの使用頻度を除いて算出する必要がある。よって、この場合の使用頻度の合計値は、使用頻度情報データベース43(図6)を参照すると、「1.5」〜「1.8」という各バージョンの使用頻度が「0.3」、「0.05」、「0.2」及び「0.1」であるため、これらを合算した「0.65」として算出される。
この後、解析環境決定部54は、ステップSP16において算出した悪用頻度の合計値及が解析環境決定パラメータデータベース46(図9)に登録されている悪用頻度網羅率閾値よりも大きく、かつ、ステップSP16において算出した使用頻度の合計値及が解析環境決定パラメータデータベース46に登録されている使用頻度網羅率閾値よりも大きいか否かを判断する(SP17)。
そして解析環境決定部54は、この判断で否定結果を得るとステップSP11に戻り、この後、ステップSP11において選択する脆弱性を、「選択済み」でない脆弱性の中で解析優先度が最大の脆弱性に順次切り替えながら、ステップSP11〜ステップSP17の処理を繰り返す。
そして解析環境決定部54は、やがていずれかの脆弱性についてステップSP17において肯定結果を得ると、解析システムデータベース45(図8)を参照して、バージョンごとに、そのバージョンを解析すべき検体解析装置5を選択する(SP18)。この際、解析環境決定部54は、同一の実行環境バージョンをもつ検体解析装置5が複数存在する場合には、並列的に解析を行うように、できる限り重複が少なくなるように検体解析装置5を選択する。
例えば図3〜図9の例では、上述のようにステップSP15において決定された「1.6」というバージョンについての使用頻度の合計値が「0.65」であるためにステップSP17において否定結果が得られ、ステップSP11に戻ることになる。この場合、ステップSP11では、「PDF-V2」という脆弱性が選択される。そして、この脆弱性をもつ「1.2」、「1.3」及び「1.4」という各バージョンについての解析優先度の累計値がステップSP13においてそれぞれ「0.39」、「0.26」及び「0.26」と算出される。従って、ステップSP15では「1.2」というバージョンが2つ目の解析対象のバージョンとして決定されると共に、「PDF-V1」及び「PDF-V2」という脆弱性がそれぞれ「選択済み」とされる。
またステップSP16では、これまで解析対象となったバージョン(「1.6」及び「1.2」)に対する悪用頻度の合計値及び使用頻度の合計値がいずれも「1.0」と算出され、この結果、ステップSP17において肯定結果が得られることになる。かくして解析環境決定部54は、この後、ステップSP18において、上述のようにして解析対象のバージョンとして決定した「1.6」というバージョンと、「1.2」というバージョンとを解析する検体解析装置5を、解析システムデータベース45を参照して選択する。本実施の形態の場合、「1.6」というバージョンの実行環境を有する検体解析装置5は「装置B」だけであり、「1.2」というバージョンの実行環境を有する検体解析装置5も「装置B」だけであるため、これら2つのバージョンを解析する検体解析装置5としていずれも「装置B」という検体解析装置5が選択されることになる。
次いで、解析環境決定部54は、これまでにステップSP15において解析対象として決定した各バージョンに対する解析依頼ARQ(図1)を、解析優先度の高いバージョンから順番に、ステップSP19において選択した対応する検体解析装置5に順次送信する。また解析環境決定部54は、この後、このとき解析依頼を発行した検体解析装置5のID及びその検体解析装置5に解析を依頼したバージョンを検体データベース40(図3)の解析依頼リスト欄40F(図3)に格納する(SP19)。なお、かかる解析依頼ARQには、その検体FLのデータ及びバージョンに関する情報が含まれる。
例えば、図3〜図9の例の場合、ステップSP15において選択したバージョンは「1.6」及び「1.2」であり、ステップSP18において各バージョンについて選択する検体解析装置5はいずれも「装置B」である。また「1.6」というバージョンと、「1.2」というバージョンでは、「1.6」というバージョンの方が解析優先度が高いため、「1.6」というバージョンと、「1.2」というバージョンの解析を「装置B」という検体解析装置5に順番に依頼することになる。また解析環境決定部54は、この後、検体データベース40の対応する解析依頼リスト欄40Fに、「装置B」という検体解析装置5に「1.6」というバージョン及び「1.2」というバージョンの解析を依頼した旨の情報を格納する。
続いて、解析環境決定部54は、ステップSP19において解析を依頼した各検体解析装置5からの応答(解析結果ARS(図1))を待ち受け(SP20)、やがてすべての検体解析装置5からの解析結果ARSを受信すると、その解析結果ARSを検体データベース40の対応する判定結果欄40Gに格納すると共に、当該解析結果ARSを対応する情報処理装置3に送信した後、この解析環境決定処理を終了する。
(4)本実施の形態の効果
以上の本実施の形態のプログラム解析システム1によれば、優先的に解析すべきバージョンに対応した検体解析装置5において検体が解析されるため、すべてのバージョンの実行環境を順々に試してゆく従来の解析手法と比して、検体の解析を効率良く行うことができる。かくするにつき、特定のバージョンの実行環境上でのみ不正活動を顕現化する不正プログラム(マルウェア)を効率的に解析することができる。
(5)他の実施の形態
なお上述の実施の形態においては、図12について上述した解析環境決定処理のステップSP19において、解析対象として決定した各バージョンに対する解析依頼ARQを、解析優先度の高いバージョンから順番に、対応する検体解析装置5に順次送信し、続くステップSP20において、これらの検体解析装置5からの解析結果ARSを待つようにした場合について述べたが、本発明はこれに限らず、例えば、ステップSP19において、最も優先度が高いバージョンについての解析依頼ARQを1つのみを送信し、続くステップSP20において解析結果ARSを受信した後に、ステップSP19に戻って次に優先度が高いバージョンについての解析依頼ARQを対応する検体解析装置5に送信することを繰り返すようにしても良い。また、この際、解析結果ARSの内容が「マルウェア」であった場合(検体がマルウェアであるとの解析結果を得た場合)には、次に優先度が高いバージョンに対応する検体解析装置5への検体の解析の依頼を停止するようにしても良い。このようにすることにより、余計な解析依頼ARQの発行を省略して、プログラム解析システム1全体としての検体の解析効率をより向上させることができる。
また上述の実施の形態においては、実行環境が「PDF.EXE」である場合について述べたが、本発明はこれに限らず、実行環境が「PDF.EXE」以外のこの他種々の実行環境についても適用することができる。また本発明は、実行環境が複数種類存在する解析システムにも同様に適用することができる。
さらに上述の実施の形態においては、解析管理装置4が脆弱性情報VIを脆弱性情報サイト6から能動的に取得するようにした場合について述べたが、本発明はこれに限らず、例えば、管理者が定期的に脆弱性情報VIを与えるようにしても良い。
本発明は、特定のバージョンの実行環境上でのみ不正活動を顕現化する不正プログラムの効率的な解析を行い得るプログラム解析システムに適用することができる。
1……プログラム解析システム、3……情報処理装置、4……解析管理装置、5……検体解析装置、6……情報サイト、21……CPU、30……検体受信プログラム、31……脆弱性情報取得プログラム、32……使用頻度情報取得プログラム、33……解析優先脆弱性決定プログラム、34……解析環境決定プログラム、40……検体データベース、41……解析優先脆弱性決定パラメータデータベース、42……脆弱性情報データベース、43……使用頻度情報データベース、44……解析優先脆弱性データベース、45……解析システムデータベース、46……解析環境決定パラメータデータベース、50……検体受信部、51……脆弱性情報取得部、52……使用頻度情報取得部、53……解析優先脆弱性決定部、54……解析環境決定部。

Claims (14)

  1. 検体が、特定の脆弱性をもつバージョンの実行環境上で不正活動を顕在化する不正プログラムであるか否かを解析するプログラム解析システムであって、
    それぞれ異なるバージョンの実行環境上で前記検体を解析する複数の検体解析装置と、
    前記脆弱性ごとの解析優先度をそれぞれ決定し、決定結果に基づいて、優先的に解析すべきバージョンを1又は複数選択し、選択したバージョンの実行環境を有する前記検体解析装置に対して前記検体の解析を依頼する解析管理装置と
    を備えることを特徴とするプログラム解析システム。
  2. 前記解析管理装置は、
    前記脆弱性ごとの、他の脆弱性と比べた当該脆弱性が悪用される頻度の相対値である悪用頻度と、前記実行環境のバージョンごとの、全バージョンに対する当該バージョンが使用されている比率である使用頻度とをそれぞれ算出し、算出した前記悪用頻度及び前記使用頻度に基づいて、前記脆弱性ごとの前記解析優先度をそれぞれ決定する
    ことを特徴とする請求項1に記載のプログラム解析システム。
  3. 前記解析管理装置は、
    前記脆弱性ごとの当該脆弱性をもつ前記実行環境のバージョンを表す脆弱性情報を保持し、
    前記脆弱性ごとの前記解析優先度と、前記脆弱性情報とに基づいて前記実行環境のバージョンごとの前記解析優先度の累計値を算出し、算出したバージョンごとの前記解析優先度の累計値に基づいて、優先的に解析すべきバージョンを選択する
    ことを特徴とする請求項1に記載のプログラム解析システム。
  4. 前記解析管理装置は、
    前記悪用頻度及び前記使用頻度のいずれを重視するかを決定する、予め設定された重み付けパラメータを保持し、
    前記悪用頻度及び前記使用頻度と、前記重み付けパラメータとに基づいて、前記脆弱性ごとの前記解析優先度を決定する
    ことを特徴とする請求項2に記載のプログラム解析システム。
  5. 前記解析管理装置は、
    前記実行環境のバージョンごとの、全バージョンからみた当該バージョンが使用される頻度の相対値である使用頻度を算出し、
    前記解析優先度の累計値が大きいバージョンから順番に、前記使用頻度の合計値が予め設定された第1の閾値を超えるバージョンまでを、優先的に解析すべきバージョンとして選択し、
    選択した各バージョンのうちの前記解析優先度の累計値の大きいバージョンから順番に、当該バージョンの実行環境を有する前記検体解析装置に対して前記検体の解析を依頼する
    ことを特徴とする請求項3に記載のプログラム解析システム。
  6. 前記解析管理装置は、
    前記脆弱性ごとの、前記脆弱性全体からみた当該脆弱性が悪用される頻度の相対値である悪用頻度を算出し、
    前記解析優先度の累計値が大きいバージョンから順番に、前記悪用頻度の合計値が予め設定された第2の閾値を超えるバージョンまでを、優先的に解析すべきバージョンとして選択し、
    選択した各バージョンのうちの前記解析優先度の累計値の大きいバージョンから順番に、当該バージョンの実行環境を有する前記検体解析装置に対して前記検体の解析を依頼する
    ことを特徴とする請求項3に記載のプログラム解析システム。
  7. 前記解析管理装置は、
    いずれかの前記検体解析装置から前記検体が、特定の脆弱性をもつバージョンの実行環境上で不正活動を顕在化する不正プログラムであるとの解析結果を受信した場合には、当該検体の他の前記検体解析装置への解析の依頼を停止する
    ことを特徴とする請求項1に記載のプログラム解析システム。
  8. 検体が、特定の脆弱性をもつバージョンの実行環境上で不正活動を顕在化する不正プログラムであるか否かを解析するプログラム解析システムにおけるプログラム解析方法であって、
    前記解析システムは、
    それぞれ異なるバージョンの実行環境上で前記検体を解析する複数の検体解析装置と、
    前記検体解析装置に対して前記検体の解析を依頼する解析管理装置とを有し、
    前記解析管理装置が、前記脆弱性ごとの解析優先度をそれぞれ決定する第1のステップと、
    前記解析管理装置が、決定結果に基づいて、優先的に解析すべきバージョンを1又は複数選択する第2のステップと、
    前記解析管理装置が、選択したバージョンの実行環境を有する前記検体解析装置に対して前記検体の解析を依頼する第3のステップと
    を備えることを特徴とするプログラム解析方法。
  9. 前記解析管理装置は、前記第1のステップにおいて、
    前記脆弱性ごとの、他の脆弱性と比べた当該脆弱性が悪用される頻度の相対値である悪用頻度と、前記実行環境のバージョンごとの、全バージョンに対する当該バージョンが使用されている比率である使用頻度とをそれぞれ算出し、算出した前記悪用頻度及び前記使用頻度に基づいて、前記脆弱性ごとの前記解析優先度をそれぞれ決定する
    ことを特徴とする請求項8に記載のプログラム解析方法。
  10. 前記解析管理装置は、
    前記脆弱性ごとの当該脆弱性をもつ前記実行環境のバージョンを表す脆弱性情報を保持し、
    前記第2のステップにおいて、
    前記脆弱性ごとの前記解析優先度と、前記脆弱性情報とに基づいて前記実行環境のバージョンごとの前記解析優先度の累計値を算出し、算出したバージョンごとの前記解析優先度の累計値に基づいて、優先的に解析すべきバージョンを選択する
    ことを特徴とする請求項9に記載のプログラム解析方法。
  11. 前記解析管理装置は、
    前記悪用頻度及び前記使用頻度のいずれを重視するかを決定する、予め設定された重み付けパラメータを保持し、
    前記第1のステップにおいて、
    前記悪用頻度及び前記使用頻度と、前記重み付けパラメータとに基づいて、前記脆弱性ごとの前記解析優先度を決定する
    ことを特徴とする請求項9に記載のプログラム解析方法。
  12. 前記解析管理装置は、
    前記第1のステップにおいて、前記実行環境のバージョンごとの、全バージョンからみた当該バージョンが使用される頻度の相対値である使用頻度を算出し、
    前記第2のステップにおいて、前記解析優先度の累計値が大きいバージョンから順番に、前記使用頻度の合計値が予め設定された第1の閾値を超えるバージョンまでを、優先的に解析すべきバージョンとして選択し、
    前記第3のステップにおいて、選択した各バージョンのうちの前記解析優先度の累計値の大きいバージョンから順番に、当該バージョンの実行環境を有する前記検体解析装置に対して前記検体の解析を依頼する
    ことを特徴とする請求項10に記載のプログラム解析方法。
  13. 前記解析管理装置は、
    前記第1のステップにおいて、前記脆弱性ごとの、前記脆弱性全体からみた当該脆弱性が悪用される頻度の相対値である悪用頻度を算出し、
    前記第2のステップにおいて、前記解析優先度の累計値が大きいバージョンから順番に、前記悪用頻度の合計値が予め設定された第2の閾値を超えるバージョンまでを、優先的に解析すべきバージョンとして選択し、
    前記第3のステップにおいて、選択した各バージョンのうちの前記解析優先度の累計値の大きいバージョンから順番に、当該バージョンの実行環境を有する前記検体解析装置に対して前記検体の解析を依頼する
    ことを特徴とする請求項10に記載のプログラム解析方法。
  14. 前記解析管理装置は、
    前記第3のステップにおいて、いずれかの前記検体解析装置から前記検体が、特定の脆弱性をもつバージョンの実行環境上で不正活動を顕在化する不正プログラムであるとの解析結果を受信した場合には、当該検体の他の前記検体解析装置への解析の依頼を停止する
    ことを特徴とする請求項8に記載のプログラム解析方法。
JP2012239237A 2012-10-30 2012-10-30 プログラム解析システム及び方法 Expired - Fee Related JP5912074B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012239237A JP5912074B2 (ja) 2012-10-30 2012-10-30 プログラム解析システム及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012239237A JP5912074B2 (ja) 2012-10-30 2012-10-30 プログラム解析システム及び方法

Publications (2)

Publication Number Publication Date
JP2014089593A true JP2014089593A (ja) 2014-05-15
JP5912074B2 JP5912074B2 (ja) 2016-04-27

Family

ID=50791451

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012239237A Expired - Fee Related JP5912074B2 (ja) 2012-10-30 2012-10-30 プログラム解析システム及び方法

Country Status (1)

Country Link
JP (1) JP5912074B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015186483A1 (ja) * 2014-06-05 2015-12-10 株式会社日立システムズ プログラム解析装置、プログラム解析方法及びプログラム解析システム
WO2016121255A1 (ja) * 2015-01-28 2016-08-04 日本電信電話株式会社 マルウェア解析システム、マルウェア解析方法およびマルウェア解析プログラム
JP2018045329A (ja) * 2016-09-12 2018-03-22 株式会社日立アドバンストシステムズ 計算機、選定方法、および選定プログラム
JP2019053421A (ja) * 2017-09-13 2019-04-04 富士ゼロックス株式会社 情報処理装置及びプログラム
WO2021144978A1 (ja) * 2020-01-17 2021-07-22 三菱電機株式会社 攻撃推定装置、攻撃推定方法及び攻撃推定プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11249893A (ja) * 1997-11-21 1999-09-17 Internatl Business Mach Corp <Ibm> マクロ・ウイルスを発生する方法及びシステム
JP2006067216A (ja) * 2004-08-26 2006-03-09 Ntt Docomo Inc 局データ管理装置、及び、整合性チェック方法
US20110247072A1 (en) * 2008-11-03 2011-10-06 Stuart Gresley Staniford Systems and Methods for Detecting Malicious PDF Network Content

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11249893A (ja) * 1997-11-21 1999-09-17 Internatl Business Mach Corp <Ibm> マクロ・ウイルスを発生する方法及びシステム
JP2006067216A (ja) * 2004-08-26 2006-03-09 Ntt Docomo Inc 局データ管理装置、及び、整合性チェック方法
US20110247072A1 (en) * 2008-11-03 2011-10-06 Stuart Gresley Staniford Systems and Methods for Detecting Malicious PDF Network Content
JP2014504765A (ja) * 2011-01-21 2014-02-24 ファイヤアイ インク 悪意あるpdfネットワークコンテンツを検出するシステムおよび方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6016002172; 鉄穎,他: '多数のマルウェア検体を並列解析可能な動的解析システムの提案' コンピュータセキュリティシンポジウム2012論文集 , 20121023, pp. 728-735, 情報処理学会 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015186483A1 (ja) * 2014-06-05 2015-12-10 株式会社日立システムズ プログラム解析装置、プログラム解析方法及びプログラム解析システム
JP2015230601A (ja) * 2014-06-05 2015-12-21 株式会社日立システムズ プログラム解析装置、プログラム解析方法及びプログラム解析システム
WO2016121255A1 (ja) * 2015-01-28 2016-08-04 日本電信電話株式会社 マルウェア解析システム、マルウェア解析方法およびマルウェア解析プログラム
JPWO2016121255A1 (ja) * 2015-01-28 2017-06-01 日本電信電話株式会社 マルウェア解析システム、マルウェア解析方法およびマルウェア解析プログラム
CN107209833A (zh) * 2015-01-28 2017-09-26 日本电信电话株式会社 恶意软件分析系统、恶意软件分析方法及恶意软件分析程序
US10645098B2 (en) 2015-01-28 2020-05-05 Nippon Telegraph And Telephone Corporation Malware analysis system, malware analysis method, and malware analysis program
JP2018045329A (ja) * 2016-09-12 2018-03-22 株式会社日立アドバンストシステムズ 計算機、選定方法、および選定プログラム
JP2019053421A (ja) * 2017-09-13 2019-04-04 富士ゼロックス株式会社 情報処理装置及びプログラム
JP6992341B2 (ja) 2017-09-13 2022-01-13 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
WO2021144978A1 (ja) * 2020-01-17 2021-07-22 三菱電機株式会社 攻撃推定装置、攻撃推定方法及び攻撃推定プログラム

Also Published As

Publication number Publication date
JP5912074B2 (ja) 2016-04-27

Similar Documents

Publication Publication Date Title
US11277423B2 (en) Anomaly-based malicious-behavior detection
Bonguet et al. A survey of denial-of-service and distributed denial of service attacks and defenses in cloud computing
US8805995B1 (en) Capturing data relating to a threat
JP5878560B2 (ja) 悪意あるpdfネットワークコンテンツを検出するシステムおよび方法
US8479296B2 (en) System and method for detecting unknown malware
EP2610776B1 (en) Automated behavioural and static analysis using an instrumented sandbox and machine learning classification for mobile security
Azmoodeh et al. Big data and internet of things security and forensics: Challenges and opportunities
JP5912074B2 (ja) プログラム解析システム及び方法
CN103384888A (zh) 用于恶意软件的检测和扫描的系统和方法
US8407789B1 (en) Method and system for dynamically optimizing multiple filter/stage security systems
Kim et al. WebMon: ML-and YARA-based malicious webpage detection
US10372907B2 (en) System and method of detecting malicious computer systems
Singh et al. Malcrawler: A crawler for seeking and crawling malicious websites
US8060577B1 (en) Method and system for employing user input for file classification and malware identification
Marcantoni et al. A large-scale study on the risks of the html5 webapi for mobile sensor-based attacks
US8364776B1 (en) Method and system for employing user input for website classification
CN111177720B (zh) 基于大数据生成威胁情报的方法、装置及可读存储介质
Jain et al. APuML: an efficient approach to detect mobile phishing webpages using machine learning
Wu et al. Detection of fake IoT app based on multidimensional similarity
US10417414B2 (en) Baseline calculation for firewalling
JP6527111B2 (ja) 解析装置、解析方法および解析プログラム
Mao et al. Toward exposing timing-based probing attacks in web applications
Huertas Celdrán et al. Creation of a dataset modeling the behavior of malware affecting the confidentiality of data managed by IoT devices
Tanwar et al. A Survey on the Role of Reverse Engineering in Security Attacks
EP3252645A1 (en) System and method of detecting malicious computer systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160126

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160226

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160331

R150 Certificate of patent or registration of utility model

Ref document number: 5912074

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees