(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024134110
(43)【公開日】2024-10-03
(54)【発明の名称】マルウェア解析支援システム、マルウェア解析支援方法
(51)【国際特許分類】
G06F 21/56 20130101AFI20240926BHJP
【FI】
G06F21/56
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023044223
(22)【出願日】2023-03-20
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110002365
【氏名又は名称】弁理士法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】山岸 伶
(72)【発明者】
【氏名】藤井 翔太
(72)【発明者】
【氏名】佐藤 隆行
(72)【発明者】
【氏名】西嶋 克哉
(57)【要約】
【課題】マルウェア解析の条件を考慮して、マルウェア解析を効率的にできるマルウェア解析支援システム、マルウェア解析支援方法を提供する。
【解決手段】
マルウェア解析を支援するマルウェア解析支援システムおよびマルウェア解析支援方法において、解析者計算機は、前記マルウェア解析の解析条件を入力する解析入力部と、前記解析条件に含まれるマルウェア解析目的に対応し、かつ前記マルウェア解析を通して収集される情報である解析目的情報を入力する解析目的入力部と、前記マルウェア解析の解析手順を表示する解析手順提案部と、を備え、分析用計算機は、前記解析条件と、前記解析目的情報と、過去の前記解析手順と、現状の前記解析手順とに基づいて、前記ユーザに推薦する前記解析手順を算出するための処理を実行する推薦解析手順作成部と、を備え、前記解析手順提案部は、前記推薦解析手順作成部で算出した前記解析手順をユーザに推薦する。
【選択図】
図8
【特許請求の範囲】
【請求項1】
解析者計算機および分析用計算機を用いてユーザのマルウェア解析を支援するマルウェア解析支援システムであって、
前記解析者計算機は、前記マルウェア解析の解析条件を入力する解析入力部と、前記解析条件に含まれるマルウェア解析目的に対応し、かつ前記マルウェア解析を通して収集される情報である解析目的情報を入力する解析目的入力部と、前記マルウェア解析の解析手順を表示する解析手順提案部と、を備え、
前記分析用計算機は、前記解析条件と、前記解析目的情報と、過去の前記解析手順と、現状の前記解析手順とに基づいて、前記ユーザに推薦する前記解析手順を算出するための処理を実行する推薦解析手順作成部と、を備え、
前記解析手順提案部は、前記推薦解析手順作成部で算出した前記解析手順を前記ユーザに推薦する
マルウェア解析支援システム。
【請求項2】
請求項1に記載のマルウェア解析支援システムであって、
前記分析用計算機は、前記解析者計算機で入力された前記解析目的情報に基づいて、前記ユーザに推薦するための推薦解析目的情報を算出する解析目的情報推薦部を備え、
前記解析用計算機は、算出した前記推薦解析目的情報を前記ユーザに提示し、かつ前記推薦解析目的情報に基づいて前記ユーザが入力する当該解析目的情報を受け付ける推薦解析目的情報入力部を備える
マルウェア解析支援システム。
【請求項3】
請求項2に記載のマルウェア解析支援システムであって、
前記解析者計算機は、前記解析者計算機での作業をトラッキングし、現状の前記解析手順を自動的に作成する手順入力補助機能部を備える
マルウェア解析支援システム。
【請求項4】
請求項3に記載のマルウェア解析支援システムであって、
前記分析用計算機は、前記解析手順の一部の実行方法を事前に定義し、定義した前記実行方法に従って前記解析手順を自動実行する解析手順実行部を備える
マルウェア解析支援システム。
【請求項5】
請求項2に記載のマルウェア解析支援システムであって、
前記分析用計算機は、前記マルウェア解析の結果に基づいて解析報告書を作成し、前記解析報告書を前記ユーザに提示する解析報告書作成部を備える
マルウェア解析支援システム。
【請求項6】
請求項5に記載のマルウェア解析支援システムであって、
前記分析用計算機は、前記マルウェア解析の結果に基づいて、外部セキュリティ機器と連携する外部機器連携部を備える
マルウェア解析支援システム。
【請求項7】
請求項1に記載のマルウェア解析支援システムであって、
前記解析者計算機は、過去の前記解析手順と現状の前記解析手順から、当該解析手順の進捗率を算出し、算出した前記進捗率を前記ユーザに提示する
マルウェア解析支援システム。
【請求項8】
解析者計算機および分析用計算機を用いてユーザのマルウェア解析を支援するマルウェア解析支援方法であって、
前記解析者計算機は、前記マルウェア解析の解析条件と、前記解析条件に含まれるマルウェア解析目的に対応し、かつ前記マルウェア解析を通して収集される情報である解析目的情報とを、前記ユーザから入力受け付けし、
前記分析用計算機は、前記解析条件と、前記解析目的情報と、過去の解析手順と、現状の前記解析手順とから前記ユーザに推薦する当該解析手順を算出し、
前記解析者計算機は、算出した当該解析手順を前記ユーザに推薦する
マルウェア解析支援方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マルウェア解析支援システム、マルウェア解析支援方法に関する。
【背景技術】
【0002】
悪意のあるソフトウェア(マルウェア)を利用したサイバー攻撃を防ぐために、一般的には、マルウェアの機能や挙動を把握することでサイバー対策を行う。このようなマルウェア解析は、情報セキュリティの一環として行われる。情報セキュリティ検査の例として、特許文献1には、複数の検査装置により行われたセキュリティ検査にかかわる活動履歴の情報を検査支援装置が受信し、受信した活動履歴から適合する条件を特定し、関連する活動履歴を生成することで、セキュリティ検査を効率的に行うことを可能にする技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
マルウェア解析は、解析目的、入手したい情報、解析対象のマルウェアファミリ、バージョン、解析環境等の解析条件によって、解析手順が複雑に変化する。同一のマルウェアを解析する場合であっても解析手順が異なるケースが発生し、例えば、ブラックリスト更新目的でのマルウェア解析では、ファイルハッシュや接続先の攻撃者サーバのドメインやIPアドレスを入手するための解析手順になる一方で、マルウェア感染後の復旧目的でのマルウェア解析では、マルウェア除去に関わる情報を入手するための解析手順になる。
【0005】
このように、マルウェア解析においての解析条件によって解析手順が異なることを考慮すると、特許文献1に記載の技術では、活動履歴にのみ基づいて活動を生成することから、マルウェア解析を効率的に行えない課題が生じる。
【課題を解決するための手段】
【0006】
解析用計算機および分析用計算機を用いてユーザのマルウェア解析を支援するマルウェア解析支援システムであって、前記解析者計算機は、前記マルウェア解析の解析条件を入力する解析入力部と、前記解析条件に含まれるマルウェア解析目的に対応し、かつ前記マルウェア解析を通して収集される情報である解析目的情報を入力する解析目的入力部と、前記マルウェア解析の解析手順を表示する解析手順提案部と、を備え、前記分析用計算機は、前記解析条件と、前記解析目的情報と、過去の前記解析手順と、現状の前記解析手順とに基づいて、前記ユーザに推薦する前記解析手順を算出するための処理を実行する推薦解析手順作成部と、を備え、前記解析手順提案部は、前記推薦解析手順作成部で算出した前記解析手順をユーザに推薦する。
【発明の効果】
【0007】
本発明によれば、マルウェア解析の条件を考慮して、マルウェア解析を効率的にできるマルウェア解析支援システム、マルウェア解析支援方法を提供できる。
【図面の簡単な説明】
【0008】
【
図1】本発明の第1実施形態に係る、マルウェア解析支援システムのハードウェア・ソフトウェア構成の一例を示す図
【
図2】
図1の分析用計算機の機能構成図の一例を示す図
【
図3】
図1の解析者計算機の機能構成図の一例を示す図
【
図4】
図1の解析者計算機に表示する解析画面の一例を示す図
【
図5】
図2の解析履歴テーブルのデータ構成の一例を示す図
【
図6】
図2の解析目的テーブルのデータ構成の一例を示す図
【
図7】
図2の解析手順テーブルのデータ構成の一例を示す図
【
図8】本発明の第1実施形態に係る、全体処理を示すシーケンス図の一例を示す図
【
図9】
図8の解析入力処理を示すフローチャートの一例を示す図
【
図10】
図8の解析目的情報入力処理を示すフローチャートの一例を示す図
【
図11】
図8のマルウェア解析手順支援処理を示すフローチャートの一例を示す図
【
図12】
図11の推薦解析手順作成処理を示すフローチャートの一例を示す図
【
図13】
図8の解析手順提案処理を示すフローチャートの一例を示す図
【
図14】本発明の第2実施形態に係る、全体処理を示すシーケンス図の一例を示す図
【
図15】
図14の解析目的情報推薦処理を示すフローチャートの一例を示す図
【
図16】
図14の推薦解析目的情報入力処理を示すフローチャートの一例を示す図
【0009】
以下、図面を参照して本発明の実施形態を説明する。以下の記載および図面は、本発明を説明するための例示であって、説明の明確化のため、適宜、省略および簡略化がなされている。本発明は、他の種々の形態でも実施する事が可能である。特に限定しない限り、各構成要素は単数でも複数でも構わない。
【0010】
図面において示す各構成要素の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面に開示された位置、大きさ、形状、範囲などに限定されない。
【0011】
また、各種情報の例として、「テーブル」等の表現で説明するが、各種情報はこれら以外のデータ構造で表現されてもよい。
【0012】
(本発明の第1実施形態と全体構成)
(
図1)
マルウェア解析支援システム100は、解析者計算機110、分析用計算機120、を有して構成されているが、マルウェア解析者(ユーザ)がマルウェアを解析するためのマルウェア解析環境130を含んでもよい。
【0013】
解析者計算機110は、ユーザが操作する端末であり、マルウェア解析のための解析条件や解析手順等を入力したり、推薦する解析手順をユーザに提示したりする機能を有する。解析者計算機110は、ハードウェア構成として、プロセッサ111、主記憶装置112、副記憶装置113、入出力装置114、NWIF115、これらを接続するバスバ116等を有している。なお、解析者計算機110は、一般的なサーバ装置や、パーソナルコンピュータや、携帯端末などの情報処理装置で実現できる。
【0014】
プロセッサ111は、解析者計算機110の各機能部を制御し、副記憶装置113に記憶されたデータやプログラムを主記憶装置112に読み出して、プログラムによって定められた処理を実行する。
【0015】
主記憶装置112は、例えばRAM(Random Access Memory)などであり、揮発性記憶素子を有し、プロセッサ111が実行するプログラムや、データを記憶している。副記憶装置113は、HDD(Hard Disk Drive)やSSD(Solid State Drive)などであり、不揮発性記憶素子を有している。
【0016】
入出力装置114は、キーボードやマウスなどのユーザの操作を受け付ける入力装置や、タッチパネルやディスプレイやスピーカーなどの情報を表示する出力装置を含む。解析者計算機110は、このような入力装置を用いてユーザの操作により入力された情報を取得できる。また、このような出力装置を用いて、例えば画面への表示によってユーザに対して入力された情報を提示できる。ユーザに提示する情報の一例は、後述の
図4の解析画面400である。
【0017】
NWIF115は、ネットワークに接続されている。ネットワークは解析者計算機110と、分析用計算機120と、マルウェア解析環境130をつなぎ、解析者計算機110は、ネットワークを介してデータの送受信を行うことができる。
【0018】
分析用計算機120は、ユーザが操作する端末であり、マルウェア解析のための条件や手順等を入力したり、推薦する手順をユーザに提示したりする機能を有する。分析用計算機120は、ハードウェア構成として、プロセッサ121、主記憶装置122、副記憶装置123、入出力装置124、NWIF125、これらを接続するバスバ126等を有している。なお、分析用計算機120は、一般的なサーバ装置や、パーソナルコンピュータや、携帯端末などの情報処理装置で実現することができる。
【0019】
プロセッサ121は、分析用計算機120の各機能部を制御し、副記憶装置123に記憶されたデータやプログラムを主記憶装置122に読み出して、プログラムによって定められた処理を実行する。
【0020】
主記憶装置122は、RAMなどであり、揮発性記憶素子を有し、プロセッサ121が実行するプログラムや、データを記憶している。副記憶装置123は、HDD(Hard Disk Drive)やSSD(Solid State Drive)などであり、不揮発性記憶素子を有している。
【0021】
入出力装置124は、キーボードやマウスなどのユーザの操作を受け付ける入力装置や、タッチパネルやディスプレイやスピーカーなど情報を表示する出力装置を含む。分析用計算機120は、入力装置を用いてユーザの操作により入力された情報を取得でき、また、出力装置を用いて、例えば画面への表示によりユーザに情報を提示できる。ユーザに提示する情報の一例は、後述の
図4の解析画面400である。
【0022】
NWIF125は、ネットワークに接続されている。ネットワークは解析者計算機110と、分析用計算機120と、マルウェア解析環境130をつなぎ、分析用計算機120は、ネットワークNWを介してデータの送受信を行うことができる。
【0023】
マルウェア解析環境130は、解析者計算機110から推薦される解析手順に合わせてユーザがマルウェア解析を実行する環境であり、例えばサンドボックスである。なお、マルウェア解析環境130は、物理計算機や仮想環境で構成されていてもよく、例えば解析者計算機110の中に存在していてもよい。
【0024】
(
図2)
分析用計算機120は、機能部として、マルウェア解析手順支援部201、推薦解析手順作成部202、解析目的情報推薦部203、解析手順実行部204、解析報告書作成部205、外部機器連携部206を有する。また、分析用計算機120の副記憶装置123は、解析履歴テーブル123a、解析目的テーブル123b、解析手順テーブル123cを格納している。分析用計算機120は、前述したプロセッサ121が副記憶装置123に記憶されたプログラムを主記憶装置122に読みだして各処理を実行する。
【0025】
マルウェア解析手順支援部201は、マルウェア解析手順をユーザに推薦するためのマルウェア解析手順支援処理を実行する。マルウェア解析手順支援処理については、
図11で後述する。
【0026】
推薦解析手順作成部202は、ユーザに推薦するマルウェア解析手順を算出する推薦解析手順作成処理を実行する。推薦解析手順作成処理については、
図12で後述する。
【0027】
解析目的情報推薦部203は、解析目的情報推薦処理を実行する。解析目的情報推薦処理については、第2実施形態(
図15)で後述する。
【0028】
解析手順実行部204は、ユーザの負担削減を目的として、マルウェア解析手順の一部の実行方法を事前に定義し、定義した実行方法に従いマルウェア解析手順を自動実行する。解析手順実行部204の解析手順実行処理については、第3実施形態で後述する。
【0029】
解析報告書作成部205は、マルウェア解析目的ごとに事前に定義した解析報告書のテンプレートと、解析手順テーブル123cの情報と、に基づいて解析報告書を作成する。解析報告書作成部205で用いられる解析報告書作成処理については、第4実施形態で後述する。
【0030】
外部機器連携部206は、外部セキュリティ機器と連携する。外部機器連携部206の外部機器連携処理については、第4実施形態で後述する。
【0031】
分析用計算機120の副記憶装置123の解析履歴テーブル123aについては、
図5で詳細を後述する。解析目的テーブル123bについては、
図6で詳細を後述する。解析手順テーブル123cについては、
図7で詳細を後述する。
【0032】
(
図3)
解析者計算機110は、解析入力部301、解析目的入力部302、解析手順提案部303、推薦解析目的情報入力部304、手順入力補助機能部305、事後対応提案部306を有する。解析者計算機110は、プロセッサ111が副記憶装置113に記憶されたプログラムを主記憶装置112に読みだして、各処理を実行する。
【0033】
解析入力部301は、ユーザがマルウェア解析に関わる解析条件を入力するための解析入力処理を実行する。解析入力処理については、後述の
図9で説明する。
【0034】
解析目的入力部302は、ユーザがマルウェア解析の解析目的として設定する解析目的情報を入力するための解析目的情報入力処理を実行する。解析目的情報入力処理については、後述の
図10で説明する。
【0035】
解析手順提案部303は、ユーザに推薦するマルウェア解析手順を出力する解析手順提案処理を実行する。解析手順提案処理については、後述の
図13で説明する。
【0036】
推薦解析目的情報入力部304は、推薦解析目的情報入力処理を実行する。推薦解析目的情報入力処理については、
図16(第2実施形態)で後述する。
【0037】
手順入力補助機能部305は、ユーザの負担削減を目的として、解析者計算機110での作業をトラッキングし、現状の解析手順を自動的に作成する手順入力補助機能処理を実行する。手順入力補助機能処理については、第3実施形態で後述する。
【0038】
事後対応提案部306は、解析報告書作成部205(
図2)で作成された解析報告書を提示し、外部機器連携部206での実行可否をユーザに求める。事後対応提案部306の処理については、第4実施形態で後述する。
【0039】
(
図4)
解析者計算機110に表示される解析画面400は、解析条件入力部401、解析目的情報入力部402、解析手順入力・提案部403を有し、ユーザに対して表示する。解析画面400は、例えば、実行形式のアプリケーション、WEBページ、ブラウザ拡張機能などで実装される。
【0040】
解析画面400の解析条件入力部401は、解析入力部301の解析入力処理(
図9参照)に必要な各解析条件についての入力を受け付けるための画面である。ここでいう解析条件とは、例えば、解析目的、検体ハッシュ、解析環境、検体ファミリ、解析者ID、解析者熟練度である。
【0041】
解析画面400の解析目的情報入力部402は、解析目的入力部302の解析目的情報入力処理(
図10参照)に必要な解析目的情報の入力を受け付けるための画面である。
【0042】
解析画面400の解析手順入力・提案部403は、解析手順提案部303の解析手順提案処理(
図13参照)に関わり、推薦された手順を出力するための画面である。
【0043】
(
図5)
解析履歴テーブル123aは、一つのマルウェア解析目的をもって実施された解析単位ごとに作成され、マルウェア解析に係る情報を格納している。解析履歴テーブル123aは、解析履歴ID501、解析目的502、検体ハッシュ503、検体ファミリ504、解析環境505、解析者ID506、解析者熟練度507、解析目的ID508、解析手順ID509をフィールドとするレコードを格納している。
【0044】
解析履歴ID501は、一つのマルウェア解析を一意に識別するために割り当てた識別子を格納するフィールドである。解析履歴ID501は、例として数字が割り当てられている。
【0045】
解析目的502は、ユーザがマルウェア解析を実施する解析目的に関する情報を格納している。解析目的502には、例えば、インシデントレスポンスやブラックリスト更新などが含まれる。
【0046】
検体ハッシュ503は、解析対象であるマルウェアを識別・保管するための情報を、ハッシュ値として格納している。格納されるハッシュ値は、例えば、SHA256やMD5である。なお、検体ハッシュ503の目的は、解析対象となるマルウェアの識別と保管であるため、別の副記憶装置に実際の検体を保管し、その保管場所へのパスを記録するようにしてもよい。
【0047】
検体ファミリ504は、解析対象のマルウェアのファミリやバージョンに関する情報を格納している。検体ファミリ504には、例えば、FormBookやAgentTeslaなどのマルウェアが格納される。なお、解析対象のマルウェアのファミリが不明な場合は、不明・NONE等の指示内容を格納してもよい。
【0048】
解析環境505は、マルウェア解析環境130に関する情報を格納するフィールドである。解析環境505には、例えば、サンドボックス名、解析環境名、環境を識別するために割り当てた識別子、を格納する。
【0049】
解析者ID506は、マルウェア解析を実施したユーザを一意に識別するために割り当てた識別子を格納するフィールドである。解析者ID506は、例として数字が割り当てられている。
【0050】
解析者熟練度507は、マルウェア解析手順の有効性を判別することを目的に、マルウェア解析を実施したユーザの解析に対する熟練度についての情報を格納するためのフィールドである。解析者熟練度507には、例えば、熟練度を表すHigh、Lowといった単語、熟練度を数値化した値等が格納される。
【0051】
解析目的ID508は、実施しているマルウェア解析に関連する解析目的テーブル123bのフィールドを、一意に識別するために割り当てた識別子を格納するフィールドである。解析履歴テーブル123aの解析目的ID508の値と同一の値である解析目的テーブル123bの解析目的ID508に格納するカラムが、関連する解析目的であるとみなされる。解析目的ID508は、例として数字が割り当てられている。
【0052】
解析手順ID509は、実施しているマルウェア解析に関連する解析手順テーブル123cのフィールドを、一意に識別するために割り当てた識別子を格納するフィールドである。解析履歴テーブル123aの解析手順ID509の値と、同一の値である解析手順テーブル123cの解析手順ID509に格納するカラムが、関連する解析手順であるとみなされる。解析手順ID509は、例として数字が割り当てられている。
【0053】
(
図6)
解析目的テーブル123bは、設定された解析目的単位に作成されており、解析目的と、目的に応じてマルウェア解析で収集する解析目的情報とを格納している。解析目的テーブル123bは、解析目的ID508、解析目的602、推薦解析目的情報603、解析目的情報604をフィールドとするレコードを格納している。
【0054】
解析目的ID508は、一つの解析目的を一意に識別するために割り当てた識別子を格納するフィールドである。解析目的ID508は、例として数字が割り当てられている。
【0055】
解析目的602は、ユーザがマルウェア解析を実施する目的に関する解析目的情報を格納している。解析目的602には、例えば、インシデントレスポンスやブラックリスト更新などが含まれる。
【0056】
推薦解析目的情報603は、解析目的情報推薦部203(
図2)にて推薦された推薦解析目的情報を格納するフィールドである。なお推薦解析目的情報603は、第2実施形態で用いられるため、第1実施形態では推薦解析目的情報603の欄は空欄でもよい。ここでいう解析目的情報とは、設定した解析目的に対応し、かつ設定した解析目的を達成するために、マルウェア解析を通して収集する情報の種類のことである。推薦解析目的情報603には、例えば、攻撃者サーバのドメイン名やマルウェアの永続化手法などが格納される。
【0057】
解析目的情報604は、ユーザが実際に設定した解析目的情報を格納するフィールドである。解析目的情報604には、例えば、攻撃者サーバのドメイン名やマルウェアの永続化手法(停止後に再度動作するためのマルウェアの機能)などが格納される。
【0058】
(
図7)
解析手順テーブル123cは、一連のマルウェア解析手順単位で作成され、マルウェア解析手順に関わる情報を格納している。解析手順テーブル123cは、解析手順ID509、解析目的情報702、解析環境703、ファミリ名704、推薦解析手順705、解析手順706、ツール707、結果708をフィールドとするレコードを格納している。
【0059】
解析手順ID509は、一連のマルウェア解析手順を一意に識別するために割り当てた識別子を格納するフィールドである。解析手順ID509は、例として数字が割り当てられている。
【0060】
解析目的情報702は、ユーザが実際に設定した解析目的情報を格納するフィールドである。解析目的情報702には、例えば、攻撃者サーバのドメイン名やマルウェアの永続化手法などが格納される。
【0061】
解析環境703は、マルウェア解析環境130に関する情報を格納するフィールドである。解析環境703には、例えば、サンドボックス名や解析環境名やあるいは環境を識別するために割り当てた識別子を格納する。
【0062】
ファミリ名704は、解析対象のマルウェアのファミリやバージョンに関する情報を格納している。ファミリ名704には、例えば、FormBookやAgentTeslaなどが格納される。また、解析対象のファミリが不明な場合は、不明やNONEなどの結果情報を格納してもよい。
【0063】
推薦解析手順705は、推薦解析手順作成部202にてユーザに推薦するためのマルウェア解析手順を格納するフィールドである。推薦解析手順705には、例えば、レピュテーションサイトでのドメイン検索や通信ログの分析などのマルウェア解析に関するタスクが格納される。
【0064】
解析手順706は、マルウェア解析手順を格納するフィールドである。解析手順706には、例えば、レピュテーションサイトでのドメイン検索、通信ログの分析などのマルウェア解析に関するタスクが格納される。
【0065】
ツール707は、解析手順706の各手順に対応し、手順で活用したツールや閲覧したWEBページ名が格納されるフィールドである。ツール707には、レピュテーションサイトの名称、通信ロギングに用いたツール名、解析に用いたツール名が格納される。
【0066】
結果708は、解析手順706の各手順に対応し、手順を遂行した結果、得られる値が格納されるフィールドである。結果708には、例えば、example[.]com(「攻撃者サーバのドメイン名候補を事前にレピュテーションサイトで調査」についての手順を実施した結果)が格納される。
【0067】
(
図8)
図8に示す本発明のマルウェア解析支援システム100のシーケンス図には、解析者計算機110および分析用計算機120が実施する処理と、送受信する情報とが記載されている。なお、本発明の第1実施形態では、解析者計算機110では、解析入力部301、解析目的入力部302、解析手順提案部303が用いられ、分析用計算機120では、マルウェア解析手順支援部201、推薦解析手順作成部202が用いられる。
【0068】
ユーザは、解析画面400(
図4)に表示されている解析条件入力部401に、マルウェア解析に関する解析条件を入力する。解析者計算機110は、ユーザから入力された解析条件に関する各種情報に基づいて、解析入力部301(
図3)で解析入力処理(
図9参照)を実行する(ステップS801)。
【0069】
さらにユーザは、解析目的情報入力部402にマルウェア解析の目的として設定する解析目的情報を入力し、解析者計算機110は、ユーザから入力された解析目的情報に基づいて、解析目的入力部302で解析目的情報入力処理(
図10参照)を実行する(ステップS802)。
【0070】
ステップS802以降は、ループ処理となり、任意のタイミングで処理が実行される。ループする条件は、例えば、新規情報が入力された場合やボタンでユーザが更新を入力した場合などである。
【0071】
ステップS802以降の最初のループ処理の工程として、解析者計算機110は、解析画面400に表示されている解析条件入力部401、解析目的情報入力部402に入力された解析目的、検体ハッシュ、解析環境、検体ファミリ、解析者ID、解析者熟練度、解析目的情報、現状の解析手順の情報を、分析用計算機120に送信する。分析用計算機120のマルウェア解析手順支援部201は、受信した各種情報に基づいてマルウェア解析手順支援処理(
図11参照)を実行する(ステップS803)。
【0072】
マルウェア解析手順支援処理で出力したユーザに推薦するマルウェア解析手順は、分析用計算機120から解析者計算機110に送信される。解析者計算機110は、受信したマルウェア解析手順に基づいて、解析手順提案部303で解析手順提案処理(
図13参照)を実行する(ステップS804)。
【0073】
(
図9)
解析者計算機110において、解析条件入力部401(
図4)にユーザから入力されるマルウェア解析の各種情報に基づいて実行される、解析入力処理(
図8:ステップS801)について説明する。解析者計算機110は、解析条件である解析目的、検体ハッシュ、解析環境、検体ファミリ、解析者ID、解析者熟練度をユーザに入力してもらうため、解析条件入力部401をユーザに提示する(ステップS901)。
【0074】
解析者計算機110は、解析条件入力部401にユーザから入力があったかを判定する(ステップS902)。入力があったと判定された場合(ステップS902:YES)は、ステップS903に進む。一方、入力されていないと判定された場合(ステップS902:NO)は、ステップS901に進み、ループ処理となる。
【0075】
解析者計算機110は、ユーザから入力された解析目的、検体ハッシュ、解析環境、検体ファミリ、解析者ID、解析者熟練度を、分析用計算機120に送信する(ステップS903)。
【0076】
(
図10)
解析者計算機110において、解析目的情報入力部402(
図4)にユーザから入力されるマルウェア解析の解析目的として設定される解析目的情報に基づいて実行される、解析目的情報入力処理(
図8:ステップS802)について説明する。解析者計算機110は、解析目的情報をユーザに入力してもらうため、解析目的情報入力部402を提示する(ステップS1001)。この解析目的情報とは、ユーザから入力されるマルウェア解析条件に対応し、かつマルウェア解析を通して収集される情報である。
【0077】
解析者計算機110は、解析目的情報入力部402にユーザの入力があったかを判定する(ステップS1002)。入力があったと判定された場合(ステップS902:YES)は、ステップS1003に進む。一方、入力されていないと判定された場合(ステップS902:NO)は、ステップS1001に進み、ループ処理となる。
【0078】
解析者計算機110は、ユーザから入力された解析目的情報を、分析用計算機120に送信する(ステップS1003)。
【0079】
(
図11)
分析用計算機120において、マルウェア解析手順支援部201および推薦解析手順作成部202(
図2)のマルウェア解析手順支援処理(
図8:ステップS803、ステップS804)について説明する。
【0080】
解析者計算機110において実行されたステップS903(
図9)やステップS1003(
図10)の処理後に、マルウェア解析手順支援部201は、解析者計算機110から解析条件および解析目的情報(解析目的、検体ハッシュ、解析環境、検体ファミリ、解析者ID、解析者熟練度、解析目的情報一覧)を取得する(ステップS1101)。
【0081】
マルウェア解析手順支援部201は、解析目的テーブル123b(
図6)の解析目的602、解析目的情報604を更新し、さらに解析履歴テーブル123a(
図5)の解析目的502、検体ハッシュ503、検体ファミリ504、解析環境505、解析者ID506、解析者熟練度507を更新する(ステップS1102)。
【0082】
なお、過去にマルウェア解析の解析目的に関する情報の登録がなかった場合には、分析用計算機120は、新規にカラムを作成し、解析者計算機110において解析手順入力・提案部403に入力された現状の解析手順を取得する(ステップS1103)。
【0083】
推薦解析手順作成部202は、解析手順テーブル123c(
図7)を参照し、過去の解析手順を取得する(ステップS1104)。推薦解析手順作成部202は、解析手順テーブル123cから取得した過去の解析手順と、ユーザから入力された解析条件および解析目的情報と、現状の解析手順とに基づいて、ユーザに推薦する解析手順を算出し作成する推薦解析手順作成処理を実行する(ステップS1105)。
【0084】
分析用計算機120は、推薦解析手順作成処理で作成したユーザに推薦する解析手順を、解析者計算機110に送信する(ステップS1106)。
【0085】
(
図12)
分析用計算機120の推薦解析手順作成部202について説明する。解析者計算機110の解析手順提案部303の処理が実行される(
図13で後述)ことで、分析用計算機120の推薦解析手順作成部202では、ユーザから入力された解析目的情報一覧のそれぞれの情報に対して、過去の解析手順と類似した解析手順を抽出してユーザに推薦する、解析手順提案処理が行われる(ステップS1201)。
【0086】
なお、類似している過去の解析手順かどうかの判定方法として、解析目的情報、解析環境、ファミリ名、現状のマルウェア解析手順を活用する。また、マルウェア解析手順の推薦方法は、例えば、グラフニューラルネットワークなどの手法を用いるが、本発明はこのアルゴリズムによらない。
【0087】
(
図13)
解析者計算機110の解析手順提案部303の処理について説明する。解析者計算機110の解析手順提案部303は、分析用計算機120の推薦解析手順作成部202による解析手順提案処理(
図12:ステップS1201)が実行されると、ユーザに推薦するマルウェア解析手順を分析用計算機120から受信する(ステップS1301)。解析者計算機110は、ユーザに推薦するマルウェア解析手順を解析手順入力・提案部403(
図4)に出力する。同時に、解析者計算機110はユーザに対して、実際のマルウェア解析手順、ツール、結果の入力を求める(ステップS1302)。
【0088】
解析者計算機110は、解析手順入力・提案部403にユーザの入力があったかを判定する(ステップS1303)。入力があったと判定された場合(ステップS1303:YES)は、ステップS1304に進む。一方、入力されていないと判定された場合(ステップS1303:NO)は、ステップS1305に進む。
【0089】
解析者計算機110は、ユーザにより入力された実際のマルウェア解析手順、ツール、結果に基づいて、再び解析手順提案部303の処理を実行し、マルウェア解析手順支援処理の再実行を分析用計算機120に指示する(ステップS1304)。この際に、分析用計算機120は、解析手順テーブル123cの解析手順706、ツール707、結果708を更新してもよい。ステップS1304が完了すると、再びステップS1301を実行する。
【0090】
解析者計算機110は、解析手順入力・提案部403(
図4)にユーザの入力がなかった場合、ユーザの入力がすべて完了したかを判定する(ステップS1305)。入力が完了した場合(ステップS1303:YES)は、フローを終了する。一方、入力が完了していない場合(ステップS1303:NO)は、ステップS1302を実行する。
【0091】
以上本発明は、ユーザから入力されるマルウェア解析条件および解析目的情報と、過去および現状のマルウェア解析手順とに基づいて、過去の解析手順と類似した解析手順をユーザに推薦する。また、ユーザから入力された実際の解析手順、ツール、結果を考慮して、再びユーザに推薦するマルウェア解析手順を作成する処理を行う。このようにしたことで、マルウェア解析の条件を考慮して、マルウェア解析を効率的にできるマルウェア解析支援システム100を実現できる。
【0092】
なお、分析用計算機120において、過去のマルウェア解析手順と現状のマルウェア解析手順を比較して、マルウェア解析手順の進捗率を算出して、解析者計算機110が算出したマルウェア解析手順の進捗率をユーザに表示するようにしてもよい。
【0093】
(第2実施形態)
(
図14)
第2実施形態に示すマルウェア解析支援システム100は、マルウェア解析の目的に対応した解析目的情報をユーザに推薦する。なお、第2実施形態では、第1実施形態で用いられた解析者計算機110および分析用計算機120の各機能部に加えて、解析者計算機110では推薦解析目的情報入力部304(
図3)が用いられ、分析用計算機120では解析目的情報推薦部203(
図2)が用いられる。
【0094】
分析用計算機120の解析目的情報推薦部203は、ユーザから入力される解析目的に基づいて、設定すべき解析目的情報を算出してユーザに推薦する、解析目的情報推薦処理を実行する(詳細は
図15で後述)。
【0095】
解析者計算機110の推薦解析目的情報入力部304は、推薦解析目的情報入力処理を実行する(詳細は
図16で後述)。推薦解析目的情報入力処理では、まず、解析目的情報推薦部203で算出したユーザに推薦する推薦解析目的情報を取得し、解析目的情報入力部402(
図4)に出力提示する。そしてユーザは、出力提示した推薦解析目的情報に基づいて判断して決定した解析目的情報を、解析目的情報入力部402に入力する。
【0096】
第2実施形態のマルウェア解析支援システム100のシーケンス図について説明する。解析者計算機110は、解析入力処理(ステップS1401)において入力処理された解析目的、検体ハッシュ、解析環境、検体ファミリ、解析者ID、解析者熟練度の情報を、分析用計算機120に送信する。分析用計算機120は、解析者計算機110から受信した情報に基づいて、解析目的情報推薦部203(
図2)で解析目的情報推薦処理を実行する(ステップS1402)。
【0097】
分析用計算機120は、解析目的情報推薦処理によって算出したユーザに推薦する推薦解析目的情報を、解析者計算機110に送信する。解析者計算機110は、取得した推薦解析目的情報に基づいて、推薦解析目的情報入力処理を実行する(ステップS1403)。以降のループ処理は、前述した第1実施形態の
図8のループ処理と同様である。
【0098】
(
図15)
分析用計算機120の処理フロー(
図14:ステップS1402)について説明する。分析用計算機120の解析目的情報推薦部203は、解析者計算機110から、解析目的、検体ハッシュ、解析環境、検体ファミリ、解析者ID、解析者熟練度を取得する(ステップS1501)。
【0099】
解析目的情報推薦部203は、解析者計算機110から取得した各情報に基づいて、解析履歴テーブル123aの、解析目的、検体ハッシュ、解析環境、検体ファミリ、解析者ID、解析者熟練度を更新する(ステップS1502)。
【0100】
解析目的情報推薦部203は、解析目的テーブル123b(
図6)を参照し、解析者計算機110から取得した解析目的と一致する解析目的を有する行の解析目的情報を、一覧として解析目的テーブル123bから取得する(ステップS1503)。解析目的情報推薦部203は、解析目的テーブル123bから取得した解析目的情報一覧に基づいて、ユーザに推薦する推薦解析目的情報を算出する(ステップS1504)。なお、解析目的情報推薦部203は、推薦する解析目的情報を算出する際に、例えば協調フィルタリングなどのアルゴリズムを活用するが、このアルゴリズムの種類に本発明はよらない。
【0101】
解析目的情報推薦部203は、解析目的テーブル123bの推薦解析目的情報603を、ステップS1504で算出した推薦解析目的情報に更新する(ステップS1505)。解析目的情報推薦部203は、ステップS1504で算出した推薦解析目的情報を、解析者計算機110に対して送信する(ステップS1506)。
【0102】
(
図16)
解析者計算機110の処理フロー(
図14:ステップS1403)について説明する。解析者計算機110の推薦解析目的情報入力部304(
図3)は、推薦解析目的情報入力処理を実行する。推薦解析目的情報入力部304は、分析用計算機120より受信した推薦解析目的情報を解析目的情報入力部402(
図4)に出力して、ユーザに提示する(ステップS1601)。
【0103】
推薦解析目的情報入力部304は、ユーザに提示した推薦解析目的情報に基づいて、ユーザが解析目的情報を解析目的情報入力部402に入力したかどうかを判定する(ステップS1602)。入力があったと判定された場合(ステップS1602:YES)は、ステップS1603に進む。一方、入力されていないと判定された場合(ステップS1602:NO)は、ステップS1601に進み、ループ処理となる。
【0104】
ユーザが解析目的情報を入力した場合、入力された解析目的情報を分析用計算機120に送信する(ステップS1603)。以降の処理は、第1実施形態と同様である。
【0105】
以上、第2実施形態によれば、マルウェア解析支援システム100は、ユーザが入力したマルウェア解析目的に基づいて、推薦解析目的情報をユーザに提示することで、マルウェア解析目的は明確でありつつどのような解析目的情報を収集すべきかが明確でないユーザに対して、より効率的なマルウェア解析支援を実現できる。
【0106】
(第3実施形態)
第3実施形態では、分析用計算機120の解析手順実行部204(
図2)が、ユーザのマルウェア解析手順遂行の負担削減を目的に、マルウェア解析手順の一部の実行方法を事前に定義し、定義した実行方法に従って解析手順を自動実行する。
【0107】
解析手順実行部204の解析手順実行処理は、例えば、レピュテーションサイトのAPI連携を事前にプログラムとして記述し、解析対象のマルウェアのレピュテーションを調査する手順を実行する際に、自動的に解析対象のマルウェアのレピュテーションを取得し、ユーザに提案する。なお、解析者計算機110において、このように自動実行され提案された情報に基づいて、真偽を判定する機能があってもよい。
【0108】
また、解析者計算機110の手順入力補助機能部305(
図3)は、ユーザの負担削減を目的として、解析者計算機110での作業をトラッキングし、現状の解析手順を自動的に作成する。手順入力補助機能部305の手順入力補助機能処理は、例えば、ブラウザのアクセス履歴やコマンドの実行履歴、アプリケーションの実行履歴を記録(トラッキング)し、その履歴により現状の解析手順を作成する。
【0109】
このようにすることで、マルウェア解析支援システム100は、解析手順をトラッキングしかつ現状の解析手順の入力を自動実行し、またユーザが遂行する作業を事前に定義した内容に従って解析手順の遂行を自動実行することで、ユーザの負担が少ないマルウェア解析支援を実現できる。
【0110】
(第4実施形態)
第4実施形態では、マルウェア解析後のユーザの支援を目的に、解析報告書の作成や外部セキュリティ機器への操作を実行する。分析用計算機120の解析報告書作成部205(
図2)は、解析目的ごとに事前に定義した解析報告書のテンプレートと、解析手順テーブル123cの解析手順706、ツール707、結果708とに基づいて、報告書を作成する。報告書テンプレートは、例えば、解析手順に対応する結果を変数で定義しており、解析手順テーブル123cの結果708を代入する形式で実現する。
【0111】
また、分析用計算機120の外部機器連携部206(
図2)は、対象のマルウェアについてのブラックリストの更新などを目的として、解析手順テーブル123cの解析手順706、ツール707、結果708に基づいて、外部セキュリティ機器と連携する。外部機器連携部206の外部機器連携処理は、例えば、外部セキュリティ機器のAPIを利用し、攻撃者サーバのドメイン名を発見した際に、そのドメイン名をブラックリストに追加する。
【0112】
解析者計算機110の事後対応提案部306(
図3)は、解析報告書作成部205で作成された解析報告書をユーザに提示し、かつ外部機器連携部206での外部機器連携処理の実行可否をユーザに求める。このようにすることで、マルウェア解析支援システム100は、ユーザの負担が少ないマルウェア解析支援を実現できる。
【0113】
以上説明した本発明の実施形態によれば、以下の作用効果を奏する。
【0114】
(1)解析者計算機110および分析用計算機120を用いてユーザのマルウェア解析を支援するマルウェア解析支援システム100であって、解析者計算機110は、マルウェア解析の解析条件を入力する解析入力部301と、解析条件に含まれるマルウェア解析目的に対応し、かつマルウェア解析を通して収集される情報である解析目的情報を入力する解析目的入力部302と、マルウェア解析の解析手順を表示する解析手順提案部303と、を備える。分析用計算機120は、解析条件と、解析目的情報と、過去の解析手順と、現状の解析手順とに基づいて、ユーザに推薦する解析手順を算出するための処理を実行する推薦解析手順作成部202と、を備える。解析手順提案部303は、推薦解析手順作成部で算出した解析手順をユーザに推薦する。このようにしたことで、マルウェア解析の条件を考慮して、マルウェア解析を効率的にできるマルウェア解析支援システムを提供できる。
【0115】
(2)分析用計算機120は、解析者計算機110で入力された解析目的情報に基づいて、ユーザに推薦するための推薦解析目的情報を算出する解析目的情報推薦部203を備える。解析者計算機110は、算出した推薦解析目的情報をユーザに提示し、かつ推薦解析目的情報に基づいてユーザが入力する当該解析目的情報を受け付ける推薦解析目的情報入力部304を備える。このようにしたことで、ユーザの負担が少ないマルウェア解析支援を実現できる。
【0116】
(3)解析者計算機110は、解析者計算機110での作業をトラッキングし、現状の解析手順を自動的に作成する手順入力補助機能部305を備える。このようにしたことで、ユーザの負担を削減できる。
【0117】
(4)分析用計算機120は、解析手順の一部の実行方法を事前に定義し、定義した実行方法に従って解析手順を自動実行する解析手順実行部204を備える。このようにしたことで、ユーザの負担削減できる。
【0118】
(5)分析用計算機120は、マルウェア解析の結果に基づいて解析報告書を作成し、解析報告書をユーザに提示する解析報告書作成部205を備える。このようにしたことで、ユーザの負担が少ないマルウェア解析支援を実現できる。
【0119】
(6)分析用計算機120は、マルウェア解析結果に基づいて、外部セキュリティ機器と連携する外部機器連携部206を備える。このようにしたことで、ユーザの負担が少ないマルウェア解析支援を実現できる。
【0120】
(7)解析者計算機110は、過去のマルウェア解析手順と現状のマルウェア解析手順から、マルウェア解析手順の進捗率を算出し、算出した進捗率をユーザに提示する。このようにしたことで、マルウェア解析の条件を考慮して、マルウェア解析を効率的にできる。
【0121】
(8)解析者計算機110および分析用計算機120を用いてユーザのマルウェア解析を支援するマルウェア解析支援方法であって、解析者計算機110は、マルウェア解析の解析条件と、解析条件に含まれるマルウェア解析目的に対応し、かつマルウェア解析を通して収集される情報である解析目的情報とを、ユーザから入力受け付けする。分析用計算機は120、解析条件と、解析目的情報と、過去の解析手順と、現状の解析手順とからユーザに推薦する解析手順を算出し、解析者計算機110は、算出した解析手順をユーザに推薦する方法を採用する。このようにしたことで、マルウェア解析の条件を考慮して、マルウェア解析を効率的にできるマルウェア解析支援方法を提供できる。
【0122】
なお、本発明は上記の実施形態に限定されるものではなく、その要旨を逸脱しない範囲内で様々な変形や他の構成を組み合わせることができる。また本発明は、上記の実施形態で説明した全ての構成を備えるものに限定されず、その構成の一部を削除したものも含まれる。
【符号の説明】
【0123】
100 マルウェア解析システム
110 解析者計算機
120 分析用計算機
130 マルウェア解析環境