JP2020154796A - マルウェア解析装置、マルウェア解析方法、及び、プログラム - Google Patents

マルウェア解析装置、マルウェア解析方法、及び、プログラム Download PDF

Info

Publication number
JP2020154796A
JP2020154796A JP2019053263A JP2019053263A JP2020154796A JP 2020154796 A JP2020154796 A JP 2020154796A JP 2019053263 A JP2019053263 A JP 2019053263A JP 2019053263 A JP2019053263 A JP 2019053263A JP 2020154796 A JP2020154796 A JP 2020154796A
Authority
JP
Japan
Prior art keywords
malware
image
unit
program
memory
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
JP2019053263A
Other languages
English (en)
Other versions
JP7188208B2 (ja
Inventor
達憲 織井
Tatsunori Orii
達憲 織井
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2019053263A priority Critical patent/JP7188208B2/ja
Publication of JP2020154796A publication Critical patent/JP2020154796A/ja
Application granted granted Critical
Publication of JP7188208B2 publication Critical patent/JP7188208B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】マルウェアプログラムを動的解析する際に、マルウェアプログラムの動作の進捗状況を把握する技術を提供する。【解決手段】マルウェア解析装置10は、マルウェアプログラムを実行するプログラム実行部12と、プログラム実行部12によるメモリアクセスを監視してメモリアクセスログを出力するメモリアクセス監視部13を備える。マルウェア解析装置10は、メモリアクセスログに基づいて、マルウェアプログラムに関連するメモリイメージを生成するイメージ生成部14と、メモリイメージのうちコード部分を特定するイメージ解析部15を備える。マルウェア解析装置10は、コード部分のうち実行済み部分と未実行部分を特定する進捗管理部16を備える。【選択図】図2

Description

本発明は、マルウェア解析装置、マルウェア解析方法、及び、プログラムに関する。
インターネットの普及や技術の進歩により、マルウェアが大量に発生している。一般的にマルウェアの挙動を解析する手法として、動的解析、静的解析が存在する。
動的解析はある程度自動化が可能で短時間で完了するが、マルウェアのすべての挙動を把握することは難しいという特性がある。
静的解析は自動化が難しく時間がかかるが、マルウェアのほぼすべての挙動を把握できるという特性がある。
日々大量に発生するマルウェアに対して、時間や人手をかけずに解析をするために動的解析が行われている。動的解析では、安全な解析環境でマルウェアプログラムを実行し、ディスクアクセスやネットワーク通信といった情報、マルウェアの挙動を把握する。動的解析にはマルウェアプログラムの内で実際に実行された箇所の挙動しか把握できないという特性がある。
これらの特性により、動的解析は大量のマルウェアを一括して解析する場合に適しており、多くの手法が提案されている。
特許文献1(特開2007−334536号公報)には、マルウェアを隔離された環境の下で実行し実行時のログを解析することで、挙動を自動的に解析するシステムが記載されている。
しかし、マルウェアプログラムの実行中において、現在、マルウェアプログラム全体のどの程度が実行されたのか把握できない。従って、上記の動的解析で得られた情報がマルウェアプログラムの挙動を把握するために十分な情報なのか、継続して動的解析すべきなのか、判断できなかった。
本開示の目的は、上述した課題の何れかを解決する技術を提供することにある。
本開示の第1の観点によれば、マルウェアプログラムを実行するプログラム実行部と、前記プログラム実行部によるメモリアクセスを監視してメモリアクセスログを出力するアクセス監視部と、前記メモリアクセスログに基づいて、前記マルウェアプログラムに関連するメモリイメージを生成するイメージ生成部と、前記メモリイメージのうちコード部分を特定するイメージ解析部と、前記コード部分のうち実行済み部分と未実行部分を特定する進捗管理部と、を備えた、マルウェア解析装置が提供される。
本開示の第2の観点によれば、マルウェアプログラムを実行するプログラム実行ステップと、前記プログラム実行ステップにおけるメモリアクセスを監視してメモリアクセスログを出力するアクセス監視ステップと、前記メモリアクセスログに基づいて、前記マルウェアプログラムに関連するメモリイメージを生成するイメージ生成ステップと、前記メモリイメージのうちコード部分を特定するイメージ解析ステップと、前記コード部分のうち実行済み部分と未実行部分を特定する進捗管理ステップと、を含む、マルウェア解析方法が提供される。
本発明によれば、マルウェアプログラムを動的解析する際に、マルウェアプログラムの動作の進捗状況を把握することができる。従って、動的解析の解析結果の信頼性や再解析の必要性を判断できるようになる。
マルウェア解析装置の機能ブロック図である。(第1実施形態) マルウェア解析システムの機能ブロック図である。(第2実施形態) メモリアクセスログからメモリイメージが生成される様子を示す図である。(第2実施形態) メモリイメージからコード部分及びデータ部分を特定する様子を示す図である。(第2実施形態) メモリイメージからコード部分及びデータ部分を特定する様子を詳細に示す図である。(第2実施形態) 時刻毎のメモリイメージを示す図である。(第2実施形態) 時刻毎のメモリイメージを簡略化して示す図である。(第2実施形態) マルウェア解析装置の制御フローである。(第2実施形態)
(第1実施形態)
以下、図1を参照して、第1実施形態を説明する。
図1に示すように、マルウェア解析装置1は、中央演算処理器としてのCPU1aと、読み書き自由のRAM1b、読み出し専用のROM1cを備えている。そして、CPU1aがROM1cに記憶されている制御プログラムを読み出して実行することで、制御プログラムは、CPU1aなどのハードウェアを、プログラム実行部2として機能させる。制御プログラムは、CPU1aなどのハードウェアを、メモリアクセス監視部3、イメージ生成部4、イメージ解析部5、進捗管理部6として機能させる。
プログラム実行部2は、外部より入力されたマルウェアプログラムを実行する。
メモリアクセス監視部3は、プログラム実行部2によるメモリアクセスを監視してメモリアクセスログを出力する。
イメージ生成部4は、アクセスログに基づいて、マルウェアプログラムに関連するメモリイメージを生成する。
イメージ解析部5は、メモリイメージのうちコード部分を特定する。
進捗管理部6は、コード部分のうち実行済み部分と未実行部分を特定する。
以上の構成によれば、マルウェアプログラムを動的解析する際に、マルウェアプログラムの動作の進捗状況を把握することができる。従って、動的解析の解析結果の信頼性や再解析の必要性を判断できるようになる。
(第2実施形態)
次に、図2から図8を参照して、マルウェア解析システム30を説明する。
図2に示すように、マルウェア解析システム30は、マルウェア解析装置10と表示装置20を含む。
先ず、マルウェア解析装置10の概要を説明する。マルウェア解析装置10は、解析対象であるマルウェアプログラムを実行したときのメモリアクセスをトレースし、マルウェアプログラムの動作のうち実際に実行された割合を明らかにする。これにより、マルウェアプログラムの動的解析の解析結果の信頼性や再解析の必要性を判断できるようになる。
具体的には、マルウェア解析装置10は、マルウェアプログラムを実行したときのメモリイメージを「コード部分」と「データ部分」の何れかに分類する。また、マルウェア解析装置10は、「コード部分」のうち実際に実行された部分、及び、「データ部分」のうち実際に読み込まれた部分を特定する。これにより、マルウェア解析装置10は、マルウェアプログラムの動作のうち実際に実行された割合を明らかにすることができる。上記のマルウェア解析装置10によれば、解析担当者に対し、マルウェアプログラムの動的解析を終了させるタイミングの目安を提示することができる。
マルウェア解析装置10は、「コード部分」の実行状況のみならず、「データ部分」の読み込み状況も監視対象としている。従って、例えば、「コード部分」のほとんどが実行されたにもかかわらず、「データ部分」の読み込みがほとんど行われていない場合、マルウェアプログラムの動的解析を引き続き継続すべきであると判断可能となる。
引き続き図2を参照して、マルウェア解析システム30を詳細に説明する。
表示装置20は、例えば液晶ディスプレイである。
マルウェア解析装置10は、中央演算処理器としてのCPU10aと、読み書き自由のRAM10b、読み出し専用のROM10cを備えている。そして、CPU10aがROM10cに記憶されている制御プログラムを読み出して実行することで、制御プログラムは、CPU10aなどのハードウェアを、プログラム記憶部11として機能させる。制御プログラムは、CPU10aなどのハードウェアを、プログラム実行部12、メモリアクセス監視部13、イメージ生成部14、イメージ解析部15、進捗管理部16、出力部17として機能させる。
プログラム記憶部11には、外部から提供された解析対象としてマルウェアプログラムが記憶されている。
プログラム実行部12は、プログラム記憶部11に記憶されているマルウェアを実行する。プログラム実行部12は、例えば、仮想環境にマルウェアプログラムが動作するためのオペレーティングシステムやネットワークを構築したものである。プログラム実行部12は、マルウェアプログラムの動作を観測するための仕組みを備えてもよい。即ち、プログラム実行部12は、ディスクアクセスやネットワーク通信、APIの実行などのマルウェアプログラムに基づく各種の動作を記録するようにしてもよい。
メモリアクセス監視部13は、マルウェアプログラムを実行するプログラム実行部12によるメモリアクセスを監視してメモリアクセスログを出力する。図3に、メモリアクセスログの一例を示している。図3に示すように、メモリアクセスログは、時刻情報、アクセスの種別、アクセスしたアドレス、当該アドレスに格納されているデータの組み合わせから構成されている。アクセスの種別は、図3において「Write」で示す書き込みアクセス、「Read」で示す読み込みアクセス、「Exec」で示す実行アクセスを含む。例えば、時刻16:00:30.222では、アドレス0x0020000に保持されている0x55という命令が実行されている。
イメージ生成部14は、メモリアクセスログに基づいて、マルウェアプログラムに関連するメモリイメージを生成する。具体的には、イメージ生成部14は、メモリアクセス監視部13からメモリアクセスログが出力されるたびに当該メモリアクセスログを読み込む。そして、イメージ生成部14は、メモリアクセスログを集計することで、プログラム実行部12が実行中のマルウェアプログラムに関連するメモリイメージを単一の配列として生成する。
図3には、メモリイメージの一具体例を示している。図3に示すように、メモリイメージは、メモリアクセスログにおける書き込みアクセスの時系列順をそのまま保持した配列形式のデータである。そして、メモリイメージを構成する配列の各要素は、データとFlag情報により構成されている。データは、書き込みアクセス時に書き込まれたデータそのものである。Flag情報は、対応するデータに対してどのようなアクセスが行われたかを示す情報である。メモリイメージを構成する配列の各要素のデータは、書き込みアクセスによって書き込まれたものであるから、そのFlag情報は「Write」を意味する「W」を含む。また、メモリイメージを構成する配列の各要素のうち実行アクセスによって実行されたものについては、そのFlag情報を「Write」に「Exec」を加えた「W/E」となる。同様に、メモリイメージを構成する配列の各要素のうち読み込みアクセスによって読み込まれたものについては、そのFlag情報を「Write」に「Read」を加えた「W/R」となる。ただし、Flag情報は省略してもよい。
なお、イメージ生成部14は、同じアドレスに対して複数の書き込みアクセスがあった場合、最新の書き込みアクセスに基づいて当該アドレスのデータを上書きする。また、イメージ生成部14は、当該アドレスのFlag情報が「Exec」であった場合、当該Flag情報を削除することが好ましい。これは、既に実行されたアドレスであっても、書き込みアクセスがあった場合、この書き込みアクセスにより書き込まれたデータ自体は実行されていないためである。
イメージ解析部15は、イメージ生成部14が生成したメモリイメージのうちコード部分を特定する。本実施形態では、更に、イメージ解析部15は、イメージ生成部14が生成したメモリイメージのうちデータ部分を特定する。ただし、イメージ解析部15は、データ部分を特定しなくてもよい。
図4には、イメージ解析部15がメモリイメージを解析して、メモリイメージに含まれるコード部分を特定する様子を示している。
図4に示すように、イメージ解析部15は、先ず、メモリイメージを逆アセンブルする。そして、イメージ解析部15は、逆アセンブルに成功した部分のうち、基本ブロックに該当する部分、又は、所定量以上連続した部分をコード部分として特定する。ここで、「所定量」とは、例えば25バイトであるが、これに限定されない。
ここで、基本ブロックとは、一つの入口と一つの出口を有し内部に分岐を含まない連続した命令の並びを意味する。入口とは、JMPやCALL命令などの移動先を意味する。出口とは、JMPやCALL命令およびその直前の命令を意味する。図4の例では、アドレス0x0020000からアドレス0x002000Cが1つの基本ブロックを構成している。同様に、アドレス0x002000Dからアドレス0x0020015が1つの基本ブロックを構成している。同様に、アドレス0x0020016からアドレス0x002001Bが1つの基本ブロックを構成している。従って、アドレス0x0020000からアドレス0x001Bは基本ブロックに該当しているので、イメージ解析部15は、このアドレス範囲をコード部分として特定する。
また、アドレス0x0020021は、そもそも逆アセンブル不可能であるので、イメージ解析部15は、当該アドレスをコード部分として特定せず、データ部分として特定する。
また、アドレス0x0020026は、逆アセンブル可能であるが、基本ブロックを構成しておらず、また、前後の範囲が所定量以上逆アセンブル可能でもない。従って、イメージ解析部15は、当該アドレスをコード部分として特定せず、データ部分として特定する。
また、アドレス0x002002Aは、逆アセンブル可能であるが、前後の範囲が逆アセンブル不可能であり、また、基本ブロックを構成しているわけでもない。従って、イメージ解析部15は、当該アドレスをコード部分として特定せず、データ部分として特定する。
図5には、イメージ解析部15がメモリイメージを解析して、メモリイメージに含まれるコード部分を特定する様子を更に詳細に示している。
図5に示すように、イメージ解析部15は、メモリアドレス毎にプログラムコードらしさスコアを算出する。そして、プログラムコードらしさスコアが所定値以上である場合、イメージ解析部15は、当該メモリアドレスをコード部分として特定する。一方、プログラムコードらしさスコアが所定値未満である場合、イメージ解析部15は、当該メモリアドレスをデータ部分として特定する。ここで、所定値は、例えば75であるが、これに限定されない。
イメージ解析部15は、メモリアドレス毎にプログラムコードらしさスコアを以下のように算出する。
先ず、イメージ解析部15は、逆アセンブルに成功したメモリアドレスの第1の評価値を25とし、逆アセンブルに失敗したメモリアドレスの第1の評価値を0とする。図5において、「逆アセンブル成功」列の「Y」は、逆アセンブルが成功したことを意味し、「x」は、逆アセンブルが失敗したことを意味している。
次に、イメージ解析部15は、逆アセンブルが成功したアドレスのうち、基本ブロックを構成している部分の第2の評価値を50とし、基本ブロックを構成していない部分の第2の評価値を0とする。図5において、「基本ブロック」列の「Y」は、当該アドレスが基本ブロックを構成していることを意味し、「x」は、当該アドレスが基本ブロックを構成していないことを意味する。
次に、イメージ解析部15は、逆アセンブルが成功したアドレスのうち、所定量以上連続した部分の第3の評価値を25とし、所定量以上連続しない部分の第3の評価値を0とする。ここで、「所定量」とは、例えば25バイトである。図5において、「前後25byteで逆アセンブル成功」列の「Y(byte)」は、当該アドレスが25バイト以上連続した部分の一部であることを意味し、「x(byte)」は当該アドレスが25以上連続した部分の一部ではないことを意味する。また、上記括弧内のバイト数は、逆アセンブルが成功したアドレスのうち、連続する範囲のバイト数を意味している。
そして、イメージ解析部15は、メモリアドレス毎に、第1の評価値、第2の評価値、第3の評価値を合計し、その合計値をプログラムコードらしさスコアとする。そして、イメージ解析部15は、プログラムコードらしさスコアが所定値以上であるアドレスをコード部分として特定する。一方、イメージ解析部15は、プログラムコードらしさスコアが所定値以上でないアドレスをデータ部分として特定する。
進捗管理部16は、イメージ解析部15が特定したコード部分のうち実行済み部分と未実行部分を特定する。図6には、各時刻におけるメモリイメージを示している。
図6において、右肩下がりのハッチングは当該アドレスがコード部分であることを示している。具体的には、右肩下がりの細いハッチングは当該アドレスがコード部分のうち未実行部分であることを示している。一方、右肩下がりの太いハッチングは当該アドレスがコード部分のうち実行済み部分であることを示している。
同様に、右肩上がりのハッチングは当該アドレスがデータ部分であることを示している。具体的には、右肩上がりの細いハッチングは当該アドレスがデータ部分のうち未読み込み部分であることを示している。一方、右肩上がりの太いハッチングは当該アドレスがデータ部分のうち読み込み済み部分であることを示している。
出力部17は、コード部分のうち実行済み部分の割合に関する情報を表示部としての表示装置20に出力する。具体的には、出力部17は、コード部分のうち実行済み部分の割合の時間軸上における変化に関する情報を表示装置20に出力する。本実施形態において、上記の「割合に関する情報」や「割合の時間軸上における変化に関する情報」は、図7に示すように、メモリイメージのイメージ内容の分類を識別可能にグラフ形式で表示した画像情報である。出力部17は、これらの情報を示す画像情報を生成し、生成した画像情報を表示装置20に出力することで、解析担当者が、これらの情報をリアルタイムに視覚的に確認できるようにしている。
図7には、「割合の時間軸上における変化に関する情報」の具体例を示している。「割合の時間軸上における変化に関する情報」とは、異なる時刻におけるメモリイメージを1つにまとめたものである。図7に示す画像では、時刻毎に、コード部分のうち未実行部分を細い右肩下がりのハッチングで示し、コード部分のうち実行済み部分を太い右肩下がりのハッチングで示している。同様に、図7に示す画像では、時刻毎に、データ部分のうち未読み込み部分を細い右肩上がりのハッチングで示し、データ部分のうち読み込み済み部分を太い右肩上がりのハッチングで示している。
なお、ハッチングの種類に代えて複数の色を用いて、これらの部分を識別可能に表示してもよい。図7に示す画像を表示装置20を通じて確認することで、解析担当者は、マルウェアプログラムの動作の進捗状況を詳細且つ的確に把握することができる。
なお、図7の例では、コード部分のうち実行済み部分の割合を棒グラフ形式で示しているが、これに代えて、コード部分のうち実行済み部分の割合を単にパーセンテージで示してもよい。データ部分のうち読み込み済み部分の割合についても同様である。
次に、図8を参照して、マルウェア解析装置10の作動であるマルウェア解析方法を端的に説明する。
S1:プログラム実行ステップ
先ず、プログラム実行部12は、プログラム記憶部11に記憶されているマルウェアプログラムを実行する。
S2:メモリアクセス監視ステップ
次に、メモリアクセス監視部13は、プログラム実行ステップ(S1)におけるメモリアクセスを監視してメモリアクセスログを出力する。
S3:イメージ生成ステップ
次に、イメージ生成部14は、メモリアクセスログに基づいて、マルウェアプログラムに関連するメモリイメージを生成する。
S4:イメージ解析ステップ
次に、イメージ解析部15は、メモリイメージのうちコード部分及びデータ部分を特定する。
S5:進捗管理ステップ
次に、進捗管理部16は、コード部分のうち実行済み部分と未実行部分を特定する。同様に、進捗管理部16は、データ部分のうち読み込み済み部分と未読み込み部分を特定する。
S6:出力ステップ
次に、出力部17は、コード部分のうち実行済み部分の割合に関する情報を例えば棒グラフ形式で表示装置20に出力して表示させる。
S7:
そして、マルウェア解析装置10は、解析担当者によりマルウェアプログラムの実行が中断されたか判定する。マルウェアプログラムが実行中である場合は(S7:YES)、マルウェア解析装置10は、処理をステップS2に戻す。一方、マルウェアプログラムの実行が中断された場合は(S7:NO)、マルウェア解析装置10は、処理を終了する。
上記のマルウェア解析装置10によれば、マルウェアプログラムを動的解析した際に、解析結果がマルウェアプログラムのコード全体に対してどの程度の割合を示したものであるかを把握することができる。これにより、解析結果の信頼性や再解析要否の判断が容易になる。
また、リアルタイムにマルウェアプログラムのメモリアクセス状況を可視化することで、マルウェアプログラムの動的解析状況を把握することができる。プログラムコード領域における実行済みの割合を判断基準とすることで、動的解析の停止タイミングの判断が容易になる。
なお、プログラム実行部12がマルウェアプログラムを実行した結果、プログラム実行部12が、インターネット経由で別のプログラムをダウンロードして取得し、当該プログラムを実行した場合は、当該プログラムをマルウェアプログラムの一部とするとよい。即ち、当該プログラムもマルウェアプログラムと同様に解析対象のプログラムとすることが好ましい。
以上に、第2実施形態を説明した。上記第2実施形態は以下の特徴を有する。
マルウェア解析装置10は、マルウェアプログラムを実行するプログラム実行部12と、プログラム実行部12によるメモリアクセスを監視してメモリアクセスログを出力するメモリアクセス監視部13を備える。マルウェア解析装置10は、メモリアクセスログに基づいて、マルウェアプログラムに関連するメモリイメージを生成するイメージ生成部14と、メモリイメージのうちコード部分を特定するイメージ解析部15を備える。マルウェア解析装置10は、コード部分のうち実行済み部分と未実行部分を特定する進捗管理部16を備える。以上の構成によれば、マルウェアプログラムを動的解析する際に、マルウェアプログラムの動作の進捗状況を把握することができる。従って、動的解析の解析結果の信頼性や再解析の必要性を判断できるようになる。
また、イメージ解析部15は、メモリイメージを逆アセンブルし、逆アセンブルに成功した部分のうち、基本ブロックに該当する部分、又は、所定量以上連続した部分をコード部分として特定する。以上の構成によれば、簡素な処理でコード部分を特定できる。
また、イメージ解析部15は、メモリイメージを逆アセンブルし、逆アセンブルに成功した部分のうち、基本ブロックに該当する部分であって、所定量以上連続した部分をコード部分として特定する。以上の構成によれば、簡素な処理でコード部分を特定できる。
マルウェア解析装置10は、コード部分のうち実行済み部分の割合に関する情報を表示部としての表示装置20に出力する出力部17を更に備える。以上の構成によれば、解析担当者が表示装置20を介して、マルウェアプログラムの動作の進捗状況を把握できる。
また、出力部17は、コード部分のうち実行済み部分の割合の時間軸上における変化に関する情報を表示装置20に出力する。以上の構成によれば、以上の構成によれば、解析担当者が表示装置20を介して、マルウェアプログラムの動作の進捗状況をリアルタイムに把握できる。
また、イメージ解析部15は、メモリイメージのうちデータ部分を特定するように構成されている。進捗管理部16は、データ部分のうち読み込み済み部分と未読み込み部分を特定するように構成されている。以上の構成によれば、コード部分及びデータ部分に関する進捗状況を総合的に把握できるので、解析担当者が表示装置20を介して、マルウェアプログラムの動作の進捗状況を一層的確に把握できる。
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)を含む。非一時的なコンピュータ可読媒体の例は、更に、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROMを含む。非一時的なコンピュータ可読媒体の例は、更に、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
1 マルウェア解析装置
2 プログラム実行部
3 メモリアクセス監視部
4 イメージ生成部
5 イメージ解析部
6 進捗管理部

Claims (8)

  1. マルウェアプログラムを実行するプログラム実行部と、
    前記プログラム実行部によるメモリアクセスを監視してメモリアクセスログを出力するアクセス監視部と、
    前記メモリアクセスログに基づいて、前記マルウェアプログラムに関連するメモリイメージを生成するイメージ生成部と、
    前記メモリイメージのうちコード部分を特定するイメージ解析部と、
    前記コード部分のうち実行済み部分と未実行部分を特定する進捗管理部と、
    を備えた、
    マルウェア解析装置。
  2. 請求項1に記載のマルウェア解析装置であって、
    前記イメージ解析部は、前記メモリイメージを逆アセンブルし、逆アセンブルに成功した部分のうち、一つの入口と一つの出口を有し内部に分岐を含まない連続した命令の並びである基本ブロックに該当する部分、又は、所定量以上連続した部分を前記コード部分として特定する、
    マルウェア解析装置。
  3. 請求項1に記載のマルウェア解析装置であって、
    前記イメージ解析部は、前記メモリイメージを逆アセンブルし、逆アセンブルに成功した部分のうち、一つの入口と一つの出口を有し内部に分岐を含まない連続した命令の並びである基本ブロックに該当する部分であって、所定量以上連続した部分を前記コード部分として特定する、
    マルウェア解析装置。
  4. 請求項1から3までの何れか1項に記載のマルウェア解析装置であって、
    前記コード部分のうち前記実行済み部分の割合に関する情報を表示部に出力する出力部を更に備えた、
    マルウェア解析装置。
  5. 請求項4に記載のマルウェア解析装置であって、
    前記出力部は、前記コード部分のうち前記実行済み部分の割合の時間軸上における変化に関する情報を前記表示部に出力する、
    マルウェア解析装置。
  6. 請求項1から5までの何れか1項に記載のマルウェア解析装置であって、
    前記イメージ解析部は、前記メモリイメージのうちデータ部分を特定するように構成されており、
    前記進捗管理部は、前記データ部分のうち読み込み済み部分と未読み込み部分を特定するように構成されている、
    マルウェア解析装置。
  7. マルウェアプログラムを実行するプログラム実行ステップと、
    前記プログラム実行ステップにおけるメモリアクセスを監視してメモリアクセスログを出力するアクセス監視ステップと、
    前記メモリアクセスログに基づいて、前記マルウェアプログラムに関連するメモリイメージを生成するイメージ生成ステップと、
    前記メモリイメージのうちコード部分を特定するイメージ解析ステップと、
    前記コード部分のうち実行済み部分と未実行部分を特定する進捗管理ステップと、
    を含む、
    マルウェア解析方法。
  8. コンピュータに、請求項7に記載のマルウェア解析方法を実行させるためのプログラム。
JP2019053263A 2019-03-20 2019-03-20 マルウェア解析装置、マルウェア解析方法、及び、プログラム Active JP7188208B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019053263A JP7188208B2 (ja) 2019-03-20 2019-03-20 マルウェア解析装置、マルウェア解析方法、及び、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019053263A JP7188208B2 (ja) 2019-03-20 2019-03-20 マルウェア解析装置、マルウェア解析方法、及び、プログラム

Publications (2)

Publication Number Publication Date
JP2020154796A true JP2020154796A (ja) 2020-09-24
JP7188208B2 JP7188208B2 (ja) 2022-12-13

Family

ID=72559231

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019053263A Active JP7188208B2 (ja) 2019-03-20 2019-03-20 マルウェア解析装置、マルウェア解析方法、及び、プログラム

Country Status (1)

Country Link
JP (1) JP7188208B2 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010092179A (ja) * 2008-10-06 2010-04-22 Nippon Telegr & Teleph Corp <Ntt> オリジナルコードの抽出装置、抽出方法、および抽出プログラム
JP2011248650A (ja) * 2010-05-27 2011-12-08 Nippon Telegr & Teleph Corp <Ntt> コード領域識別装置、コード領域識別方法及びコード領域識別プログラム
JP2012103893A (ja) * 2010-11-10 2012-05-31 Nippon Telegr & Teleph Corp <Ntt> 解析システム、解析装置、解析方法及び解析プログラム
JP2013114637A (ja) * 2011-12-01 2013-06-10 Mitsubishi Electric Corp マルウェア解析システム
JP2013232113A (ja) * 2012-04-27 2013-11-14 Nippon Telegr & Teleph Corp <Ntt> 情報処理装置、監視方法および監視プログラム
JP2014063346A (ja) * 2012-09-21 2014-04-10 Renesas Electronics Corp 情報処理装置
WO2014122662A1 (en) * 2013-02-10 2014-08-14 Cyber Active Security Ltd. Method and product for providing a predictive security product and evaluating existing security products

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010092179A (ja) * 2008-10-06 2010-04-22 Nippon Telegr & Teleph Corp <Ntt> オリジナルコードの抽出装置、抽出方法、および抽出プログラム
JP2011248650A (ja) * 2010-05-27 2011-12-08 Nippon Telegr & Teleph Corp <Ntt> コード領域識別装置、コード領域識別方法及びコード領域識別プログラム
JP2012103893A (ja) * 2010-11-10 2012-05-31 Nippon Telegr & Teleph Corp <Ntt> 解析システム、解析装置、解析方法及び解析プログラム
JP2013114637A (ja) * 2011-12-01 2013-06-10 Mitsubishi Electric Corp マルウェア解析システム
JP2013232113A (ja) * 2012-04-27 2013-11-14 Nippon Telegr & Teleph Corp <Ntt> 情報処理装置、監視方法および監視プログラム
JP2014063346A (ja) * 2012-09-21 2014-04-10 Renesas Electronics Corp 情報処理装置
WO2014122662A1 (en) * 2013-02-10 2014-08-14 Cyber Active Security Ltd. Method and product for providing a predictive security product and evaluating existing security products

Also Published As

Publication number Publication date
JP7188208B2 (ja) 2022-12-13

Similar Documents

Publication Publication Date Title
US20200379889A1 (en) System and method for automated intelligent mobile application testing
US20190294536A1 (en) Automated software deployment and testing based on code coverage correlation
US20100146340A1 (en) Analyzing Coverage of Code Changes
CN105593870A (zh) 用于恶意软件检测的复杂评分
US20190294428A1 (en) Automated software release distribution
US9471454B2 (en) Performing automated system tests
US20190138425A1 (en) Exception prediction before an actual exception during debugging
CN107392018A (zh) 应用程序脱壳方法及装置
CN111416801A (zh) 邮件处理方法及装置
CN111428233B (zh) 一种嵌入式设备固件的安全性分析方法
CN113297060A (zh) 一种数据测试方法及其装置
JP2020154796A (ja) マルウェア解析装置、マルウェア解析方法、及び、プログラム
WO2024087949A1 (zh) 变更风险防控系统、方法、电子设备及存储介质
US11249890B2 (en) Software defect creation
US11157611B2 (en) Binary image stack cookie protection
US11880470B2 (en) System and method for vulnerability detection in computer code
US20150007139A1 (en) Optimizing error parsing in an integrated development environment
JP7468641B2 (ja) ソフトウェア修正装置、ソフトウェア修正方法、及びプログラム
CN114048487A (zh) 网络靶场的攻击过程评估方法、装置、存储介质及设备
US11562136B2 (en) Detecting programming language deficiencies cognitively
CN112819621A (zh) 一种智能合约资损测试方法及系统
US10372589B2 (en) Multi environment aware debugger
JP2018085040A (ja) プログラムテスト装置、プログラムテストプログラムおよびプログラムテスト方法
CN116302884B (zh) 一种系统驱动中进程监控模块的稳定性测试方法及系统
JP7491372B2 (ja) 攻撃再現支援装置、攻撃再現支援方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220203

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221026

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221101

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221114

R151 Written notification of patent or utility model registration

Ref document number: 7188208

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151