JP5389734B2 - 抽出装置及び抽出方法 - Google Patents

抽出装置及び抽出方法 Download PDF

Info

Publication number
JP5389734B2
JP5389734B2 JP2010117641A JP2010117641A JP5389734B2 JP 5389734 B2 JP5389734 B2 JP 5389734B2 JP 2010117641 A JP2010117641 A JP 2010117641A JP 2010117641 A JP2010117641 A JP 2010117641A JP 5389734 B2 JP5389734 B2 JP 5389734B2
Authority
JP
Japan
Prior art keywords
memory access
extraction
candidate
original code
tendency
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.)
Active
Application number
JP2010117641A
Other languages
English (en)
Other versions
JP2011248406A (ja
Inventor
裕平 川古谷
光恭 伊藤
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2010117641A priority Critical patent/JP5389734B2/ja
Publication of JP2011248406A publication Critical patent/JP2011248406A/ja
Application granted granted Critical
Publication of JP5389734B2 publication Critical patent/JP5389734B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、抽出装置及び抽出方法に関する。
従来、コンピュータウィルスやスパイウェア等の悪意のあるプログラムであるマルウェアのプログラムコードは、該マルウェアの動作や機能が解析されることを妨害するために難読化されていることが多い。かかる難読化は、一つの態様として、XORエンコードや特定の鍵を利用した暗号化等の可逆なアルゴリズムを利用するものが挙げられる。また、マルウェアのプログラムコードが難読化されることで、本来のプログラムコードであるオリジナルコードが隠蔽されることはパッキングと呼ばれ、該パッキングを実行するツールは総じてパッカーと呼ばれる。
ところで、パッキングされたマルウェアは、難読化されたプログラムコードをデータとして有するとともに、オリジナルコードを復元するための展開コードを有する。詳細には、パッキングされたマルウェアが実行された場合には、展開コードの部分が実行されて難読化されたプログラムコードが解かれ、オリジナルコードがメモリ上に展開される。続いて、オリジナルコードの展開が完了した場合には、展開されたオリジナルコードが実行される。なお、パッカーの中には、オリジナルコードを難読化するだけでなく、デバッガによる解析を妨害するアンチデバッグの機能を展開されるコードに含むものもある。
このようなパッキングされたマルウェアを解析する場合に、解析者は、オリジナルコードを取り出してから逆アセンブルすることでアセンブラコードを復元し、復元されたアセンブラコードを読むことでマルウェアの解析を進める。また、オリジナルコードを取り出す場合に、解析者は、デバッガをマルウェアにアタッチした状態で該マルウェアを実行させる。続いて、解析者は、マルウェアの展開コードが終了してオリジナルコードの先頭(OEP:Original Entry Point)に移る直前又は直後等の近傍でマルウェアの動作を停止させる。その後、解析者は、メモリ上においてマルウェアが利用しているアドレスの範囲のバイナリデータをファイルにダンプすることでオリジナルコードを抽出する。
また、最近では、上記のように解析者がデバッガを利用して手動で解析するものの他に、難読化されたプログラムコードからオリジナルコードを自動的に取り出す技術が考えられている。例えば、オリジナルコードを自動的に取り出す技術では、実行プログラムの書きこみと命令フェッチとのメモリアクセスを監視する。そして、オリジナルコードを自動的に取り出す技術では、実行中のプロセスで書き込まれたメモリアドレス領域が実行されるときのメモリアクセスをOEPとして、メモリ上のデータをファイルにダンプするものがある。
Min Gyung Kang,Pongsin Poosankam,Heng Yin,"Renovo:a hidden code extractor for packed executables",In Proceedings of the 2007 ACM workshop on Recurring malcode,pages 46‐53,2007
しかしながら、上述した従来技術では、高精度にオリジナルコードを抽出することができないという課題がある。具体的には、解析者によって解析される場合には、実行されるマルウェアのコードを順次追いかけることになるため、相当な数のステップを有するマルウェアであれば非常に手間のかかる作業となってしまう。加えて、解析者によって解析される場合には、展開コードの終端の判断について経験を要することになるため、解析者によって結果が異なるとともに、未熟な解析者では間違いが発生する可能性が大きい。
また、オリジナルコードを自動的に取り出す技術では、マルウェアの難読化が多段階になっている場合に、オリジナルコードの出現前であるにもかかわらず、書き込みのあったアドレス領域を実行してしまうことがあり得る。これにより、オリジナルコードを自動的に取り出す技術では、展開途中のコードをオリジナルコードとして誤って抽出してしまう可能性がある。
そこで、本願に開示する技術は、上記に鑑みてなされたものであって、高精度にオリジナルコードを抽出することが可能である抽出装置及び抽出方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、本願に開示する抽出装置は、パッキングされたプログラムからオリジナルコードを抽出する抽出装置であって、前記プログラムを実行させ、前記オリジナルコードの候補を抽出する候補抽出手段と、前記プログラムを実行するプロセスによるメモリアクセスに関する情報であって、前記候補抽出手段によって抽出された時点の前後一定期間におけるメモリアクセス情報を取得する取得手段と、前記候補抽出手段によって抽出されたオリジナルコード候補の情報と、前記取得手段によって取得されたメモリアクセス情報とに基づいて、アクセスされたアドレスの範囲の変化量から求められる変化率をメモリアクセスの傾向として抽出する傾向抽出手段と、前記傾向抽出手段によって抽出されたメモリアクセスの傾向について、前記候補抽出手段によって抽出された時点の前後における変化率が所定条件を満たすか否かを判定する判定手段とを有する。
また、本願に開示する抽出方法は、パッキングされたプログラムからオリジナルコードを抽出する抽出方法であって、前記プログラムを実行させ、前記オリジナルコードの候補を抽出する候補抽出工程と、前記プログラムを実行するプロセスによるメモリアクセスに関する情報であって、前記候補抽出工程によって抽出された時点の前後一定期間におけるメモリアクセス情報を取得する取得工程と、前記候補抽出工程によって抽出されたオリジナルコード候補の情報と、前記取得工程によって取得されたメモリアクセス情報とに基づいて、アクセスされたアドレスの範囲の変化量から求められる変化率をメモリアクセスの傾向として抽出する傾向抽出工程と、前記傾向抽出工程によって抽出されたメモリアクセスの傾向について、前記候補抽出工程によって抽出された時点の前後における変化率が所定条件を満たすか否かを判定する判定工程とを含む。
本願に開示する抽出装置及び抽出方法の一つの様態によれば、高精度にオリジナルコードを抽出することができるという効果を奏する。
図1は、本実施例に係る抽出装置の構成例を示す図である。 図2は、本実施例に係る抽出装置を含むシステムの全体像の例を示す図である。 図3は、本実施例に係る抽出装置による全体処理の流れの例を示すフローチャートである。 図4は、本実施例に係るメモリアクセス傾向抽出処理の流れの例を示すフローチャートである。 図5は、本実施例に係る判定処理の流れの例を示すフローチャートである。
以下に添付図面を参照して、本願に開示する抽出装置及び抽出方法の実施例を説明する。なお、以下の実施例により本発明が限定されるものではない。
[抽出装置の構成]
図1を用いて、本実施例に係る抽出装置の構成を説明する。図1は、本実施例に係る抽出装置の構成例を示す図である。
例えば、図1に示すように、抽出装置100は、メモリダンプ抽出部111と、メモリアクセス情報取得部112と、メモリアクセス傾向抽出部113と、判定部114とを有する。また、抽出装置100は、パッキングされたプログラムから本来のプログラムコードであるオリジナルコードを抽出する装置である。
メモリダンプ抽出部111は、例えば、パッキングされたプログラムを実行させ、該パッキングされたプログラムが書き込みを行なったメモリ領域を実行する場合に、メモリ上のバイナリデータをファイルとしてダンプする。つまり、このダンプファイルは、パッキングされたプログラムに含まれるオリジナルコードの候補として抽出される。そして、メモリダンプ抽出部111は、ダンプファイルの抽出時点等の情報を含むダンプファイル情報をメモリアクセス傾向抽出部113に通知する。なお、メモリ領域の実行、すなわちメモリアクセスについては、例えば、メモリに対する読み込み、書き込み及び命令フェッチ等が挙げられる。
メモリアクセス情報取得部112は、例えば、メモリダンプ抽出部111によってオリジナルコード候補となるダンプファイルが抽出された時点の前後一定期間で、パッキングされたプログラムを実行するプロセスでのメモリに対するメモリアクセス情報を取得する。メモリアクセス情報取得部112によって取得されるメモリアクセス情報は、例えば、「メモリアクセスの回数」や「メモリアクセスのアドレス値」等の情報を含む。
メモリアクセス傾向抽出部113は、例えば、メモリダンプ抽出部111によって通知されたダンプファイル情報と、メモリアクセス情報取得部112によって取得されたメモリアクセス情報とに基づいて、メモリアクセスの傾向を抽出する。メモリアクセス傾向抽出部113による処理は、例えば、メモリダンプ抽出部111とメモリアクセス情報取得部112とにおいてある程度の情報が抽出及び取得できた時点で開始されれば良い。詳細には、メモリアクセス傾向抽出部113は、オリジナルコード候補の抽出時前後の一定期間それぞれにおける「メモリアクセスの回数:n」と、ある時点「i」での「メモリアクセスのアドレス値:α」とから、「i」と「i+1」とにおける「アドレス値の変化量:d」を式(1)により求める。
Figure 0005389734
また、メモリアクセス傾向抽出部113は、オリジナルコード候補が抽出された時点の前後での「一定期間における変化量の平均:μ」を式(2)により求める。そして、メモリアクセス傾向抽出部113は、オリジナルコード候補が抽出された時点の前後におけるメモリアクセスの傾向の「変化率:ρ」を式(3)により求める。式(3)では、抽出前の平均を「μbefore」として、抽出後の平均値を「μafter」として示す。
Figure 0005389734
Figure 0005389734
判定部114は、例えば、メモリアクセス傾向抽出部113によってメモリアクセスの傾向として求められた「変化率:ρ」について、ダンプファイル抽出時点の前後における「変化率:ρ」が所定閾値以上であるか否かを判定する。なお、判定部114による判定は上記のものに限られるものではなく、例えば、「変化率:ρ」が最も高いか否かを判定することにしても良い。
また、判定部114による判定の結果、所定閾値以上であると判定された場合、或いは、最も高いと判定された場合に、抽出装置100は、メモリアクセスの傾向に該当する時点でメモリダンプ抽出部111によって抽出されたオリジナルコード候補をオリジナルコードとして抽出する。なお、抽出装置100は、判定部114による判定の結果、所定閾値以上であると判定された該当するオリジナルコード候補が複数存在する場合に、複数の時点でのオリジナルコード候補をオリジナルコードとして抽出する。
このように、抽出装置100は、オリジナルコード候補の抽出前後におけるメモリアクセスの傾向が大きく変化している場合に、該オリジナルコード候補をオリジナルコードとして抽出するので、高精度にオリジナルコードを抽出することができる。換言すると、抽出装置100は、プログラムコードの目的(役割)が異なればプログラムコードが変化し、該変化に伴ってメモリアクセスの傾向も変化することと、難読化されたプログラムコードの実行において最初に展開コードが実行される特性とを利用し、プログラムコードの目的が大きく変化する時点をオリジナルコードの展開が終わり、実行されはじめたこととしている。要するに、抽出装置100は、オリジナルコードの展開が終わり、実行されはじめた時点をメモリアクセスの傾向の変化として捉え、諸傾向の変化の大きい時点で抽出したメモリダンプをオリジナルコードとして抽出するので、解析者が解析したり、メモリアクセス時点のコードをオリジナルコードとして抽出したりする従来技術と比較して、高精度にオリジナルコードを抽出することができる。
[システム全体像]
次に、図2を用いて、本実施例に係る抽出装置100を含むシステムの全体像を説明する。図2は、本実施例に係る抽出装置100を含むシステムの全体像の例を示す図である。
例えば、図2に示すように、抽出装置100を含むシステムは、難読化プロセスと、アプリケーションと、GUEST OS(Operating System)と、VMM(Virtual Machine Monitor)と、HOST OSと、HW(hardware)とを有する。なお、難読化プロセスとは、パッキングされたプログラムを指す。
メモリダンプ抽出部111とメモリアクセス情報取得部112とは、システムにおいてメモリアクセス情報を取得するため、OSに仮想的なハードウェアを提供するソフトウェアである仮想マシンモニタ(VMM)を利用する。
VMMは、HOST OSがインストールされているHW上にて動作する。また、GUEST OSは、VMM上にて動作させる仮想OSであり、さらに、該GUEST OSの上位にてアプリケーションと、難読化プロセスとが動作する。また、メモリアクセス傾向抽出部113と判定部114とは、HOST OS側でアプリケーションとして動作する。
また、VMMによって提供される仮想的なメモリに配置された監視モジュールは、メモリアクセスを監視する。監視モジュールによる監視でメモリアクセスが発生した場合に、メモリアクセス情報取得部112は、アクセス先のアドレス値と、該アドレス値に格納されたデータ(書き込みの場合は書き込もうとしたデータ)と、読み込み或いは書き込みのトリガとなった実行命令とをログとして取得する。
また、VMMは、一度書き込まれた領域を記憶しておく。そして、メモリダンプ抽出部111は、領域が実行される場合に、メモリ上のデータをファイルとして抽出する。このとき、メモリアクセス情報取得部112は、取得したメモリアクセス情報をメモリアクセス傾向抽出部113に出力する。そして、メモリアクセス傾向抽出部113は、VMM内で動作するメモリダンプ抽出部111とメモリアクセス情報取得部112とからダンプファイル情報及びメモリアクセス情報を受け取り、メモリアクセスの傾向を算出し、算出結果を判定部114に通知する。
[全体処理フロー]
次に、図3を用いて、本実施例に係る抽出装置100による全体処理の流れを説明する。図3は、本実施例に係る抽出装置100による全体処理の流れの例を示すフローチャートである。
例えば、図3に示すように、抽出装置100は、パッキングされたプログラムを実行させ、書き込みのあったメモリ領域を実行する場合に、メモリ上のバイナリデータをファイルとしてダンプすることでオリジナルコード候補を抽出する(ステップS101)。そして、抽出装置100は、オリジナルコード候補が抽出された時点の前後一定期間で、パッキングされたプログラムを実行するプロセスでのメモリアクセス情報を取得する(ステップS102)。
続いて、抽出装置100は、オリジナルコード候補の抽出時前後の一定期間それぞれにおけるメモリアクセスの回数と、各メモリアクセスの際のアドレス値とに基づきアドレス値の変化量を求め、求められた変化量から該一定期間における変化量の平均を求める。その後、抽出装置100は、求められた変化量から、オリジナルコード候補が抽出された時点の前後におけるメモリアクセスの傾向の変化率を求めることで、メモリアクセスの傾向を抽出する(ステップS103)。そして、抽出装置100は、変化率が所定閾値以上であるか否かを判定し、判定結果を出力する(ステップS104)。かかる判定については、変化率が最も大きいか否かを判定することにしても良い。
[メモリアクセス傾向抽出処理]
次に、図4を用いて、本実施例に係るメモリアクセス傾向抽出処理の流れを説明する。図4は、本実施例に係るメモリアクセス傾向抽出処理の流れの例を示すフローチャートである。なお、メモリアクセス傾向抽出処理とは、主にメモリアクセス傾向抽出部113による処理を指す。
例えば、図4に示すように、メモリアクセス傾向抽出部113は、メモリダンプ情報とメモリアクセス情報との数がある程度の量になった場合に、ダンプファイル抽出時点におけるメモリアクセス情報を受け取る(ステップS201)。かかるメモリアクセス情報は、例えば、各ダンプファイルの抽出時点の前後一定期間における読み込み、書き込み及び命令フェッチ等のメモリアクセスの情報であり、ダンプファイル毎に存在する。
そして、メモリアクセス傾向抽出部113は、受け取ったメモリアクセス情報が空であるか否かを判定する(ステップS202)。このとき、メモリアクセス傾向抽出部113は、メモリアクセス情報が空である場合に(ステップS202肯定)、ダンプファイル抽出時点におけるダンプファイル情報とメモリアクセスのアドレス値の変化量(傾き)とを判定部114に通知する(ステップS203)。
一方、メモリアクセス傾向抽出部113は、メモリアクセス情報が空でない場合に(ステップS202否定)、ダンプファイルの抽出前のメモリアクセス回数が閾値以上であるか否かを判定する(ステップS204)。このとき、メモリアクセス傾向抽出部113は、メモリアクセス回数が閾値以上である場合に(ステップS204肯定)、ダンプファイルの抽出前におけるメモリアクセスのアドレス値の変化量を算出する(ステップS205)。なお、メモリアクセス傾向抽出部113は、メモリアクセス回数が閾値未満である場合に(ステップS204否定)、変化量をUNKNOWNとしてステップS201の処理を実行する。
そして、メモリアクセス傾向抽出部113は、ダンプファイルの抽出後のメモリアクセス回数が閾値以上であるか否かを判定する(ステップS206)。このとき、メモリアクセス傾向抽出部113は、メモリアクセス回数が閾値以上である場合に(ステップS206肯定)、ダンプファイルの抽出後におけるメモリアクセスのアドレス値の変化量を算出する(ステップS207)。なお、メモリアクセス傾向抽出部113は、メモリアクセス回数が閾値未満である場合に(ステップS206否定)、同様に変化量をUNKNOWNとしてステップS201の処理を実行する。その後、メモリアクセス傾向抽出部113は、ダンプファイルの抽出の前後における変化量の差分、すなわち変化率を算出し(ステップS208)、ステップS201の処理を実行する。
要するに、メモリアクセス傾向抽出部113は、メモリアクセス情報に基づき、ダンプ毎のダンプ時点前後におけるメモリアクセスの回数とアドレス値とから変化量を求め、該ダンプ時点前後での変化量の差分を変化率として求める。そして、メモリアクセス傾向抽出部113は、変化率を全てのダンプファイル抽出時点で求めて、求められた変化率の情報を判定部114に通知する。
[判定処理]
次に、図5を用いて、本実施例に係る判定処理の流れを説明する。図5は、本実施例に係る判定処理の流れの例を示すフローチャートである。なお、判定処理とは、主に判定部114による処理を指す。
例えば、図5に示すように、判定部114は、メモリアクセス傾向抽出部113によって抽出されたメモリアクセスそれぞれの差分値である変化率やダンプ時点におけるダンプファイル情報等を受け取る(ステップS301)。かかるメモリアクセスは、例えば、読み込み、書き込み及び命令フェッチ等である。
そして、判定部114は、後述する変化量の判定処理が未処理である該当するダンプファイル情報があるか否かを判定する(ステップS302)。このとき、判定部114は、未処理のダンプファイル情報がある場合に(ステップS302肯定)、変化率が一定値以上であるか否かを判定する(ステップS303)。なお、判定部114は、未処理のダンプファイル情報がない場合に(ステップS302否定)、処理を終了する。
そして、判定部114は、変化率が一定値以上である場合に(ステップS303肯定)、該当するダンプファイルをオリジナルコードとして決定し(ステップS304)、ステップS302の処理を実行する。なお、判定部114は、変化率が一定値未満である場合に(ステップS303否定)、ステップS302の処理を再度実行する。
要するに、判定部114は、メモリアクセス傾向抽出部113によって抽出されたダンプファイル抽出の前後におけるメモリアクセスの変化率のうち、ある一定値以上の変化量を有するものを選出して、該当するダンプ時点のコードをオリジナルコードとして決定する。なお、複数のダンプファイル抽出時点が一定値以上の変化率を有する場合には、該一定値以上の変化率を有するもの全ての時点でのダンプファイルをオリジナルコードとして決定する。
[実施例による効果]
上述したように、抽出装置100は、マルウェアを実行させて得られるオリジナルコード候補を抽出し、抽出された時点の前後一定期間におけるメモリアクセス情報からメモリアクセスの傾向を抽出し、メモリアクセスの傾向が所定閾値以上変化しているものに該当するオリジナルコード候補をオリジナルコードとして抽出するので、高精度にオリジナルコードを抽出することができる。
なお、上記文書中や図面中などで示した処理手順、制御手順、具体的名称、各種のデータやパラメタなどを含む情報(例えば、メモリアクセスの種類等)については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は、機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は、図示のものに限られず、その全部または一部を各種の負担や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合することができる。例えば、メモリアクセス傾向抽出部113と判定部114とを、メモリアクセスの傾向として変化率を求め、変化率が所定条件を満たすか否かを判定する「メモリアクセス傾向判定部」として統合しても良い。さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、或いは、ワイヤードロジックによるハードウェアとして実現され得る。
以上のように、本発明に係る抽出装置及び抽出方法は、パッキングされたプログラムからオリジナルコードを抽出する場合に有用であり、特に、高精度にオリジナルコードを抽出することに適する。
100 抽出装置
111 メモリダンプ抽出部
112 メモリアクセス情報取得部
113 メモリアクセス傾向抽出部
114 判定部

Claims (5)

  1. パッキングされたプログラムからオリジナルコードを抽出する抽出装置であって、
    前記プログラムを実行させ、前記オリジナルコードの候補を抽出する候補抽出手段と、
    前記プログラムを実行するプロセスによるメモリアクセスに関する情報であって、前記候補抽出手段によって抽出された時点の前後一定期間におけるメモリアクセス情報を取得する取得手段と、
    前記候補抽出手段によって抽出されたオリジナルコード候補の情報と、前記取得手段によって取得されたメモリアクセス情報とに基づいて、アクセスされたアドレスの範囲の変化量から求められる変化率をメモリアクセスの傾向として抽出する傾向抽出手段と、
    前記傾向抽出手段によって抽出されたメモリアクセスの傾向について、前記候補抽出手段によって抽出された時点の前後における変化率が所定条件を満たすか否かを判定する判定手段と
    を有することを特徴とする抽出装置。
  2. 前記判定手段は、前記メモリアクセスの傾向について、前記変化率が所定閾値以上であるか否かを判定することを特徴とする請求項1に記載の抽出装置。
  3. 前記判定手段は、前記メモリアクセスの傾向について、前記変化率が最も大きいか否かを判定することを特徴とする請求項1に記載の抽出装置。
  4. 前記取得手段は、メモリに対する読み込み、書き込み及び命令フェッチのメモリアクセス情報を取得することを特徴とする請求項1〜3のいずれか一つに記載の抽出装置。
  5. パッキングされたプログラムからオリジナルコードを抽出する抽出方法であって、
    前記プログラムを実行させ、前記オリジナルコードの候補を抽出する候補抽出工程と、
    前記プログラムを実行するプロセスによるメモリアクセスに関する情報であって、前記候補抽出工程によって抽出された時点の前後一定期間におけるメモリアクセス情報を取得する取得工程と、
    前記候補抽出工程によって抽出されたオリジナルコード候補の情報と、前記取得工程によって取得されたメモリアクセス情報とに基づいて、アクセスされたアドレスの範囲の変化量から求められる変化率をメモリアクセスの傾向として抽出する傾向抽出工程と、
    前記傾向抽出工程によって抽出されたメモリアクセスの傾向について、前記候補抽出工程によって抽出された時点の前後における変化率が所定条件を満たすか否かを判定する判定工程と
    を含んだことを特徴とする抽出方法。
JP2010117641A 2010-05-21 2010-05-21 抽出装置及び抽出方法 Active JP5389734B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010117641A JP5389734B2 (ja) 2010-05-21 2010-05-21 抽出装置及び抽出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010117641A JP5389734B2 (ja) 2010-05-21 2010-05-21 抽出装置及び抽出方法

Publications (2)

Publication Number Publication Date
JP2011248406A JP2011248406A (ja) 2011-12-08
JP5389734B2 true JP5389734B2 (ja) 2014-01-15

Family

ID=45413636

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010117641A Active JP5389734B2 (ja) 2010-05-21 2010-05-21 抽出装置及び抽出方法

Country Status (1)

Country Link
JP (1) JP5389734B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10761840B2 (en) 2015-11-30 2020-09-01 Nec Corporation Software analysis device, software analysis method, and recording medium

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5083760B2 (ja) * 2007-08-03 2012-11-28 独立行政法人情報通信研究機構 マルウェアの類似性検査方法及び装置
JP5133192B2 (ja) * 2008-10-06 2013-01-30 日本電信電話株式会社 オリジナルコードの抽出装置、抽出方法、および抽出プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10761840B2 (en) 2015-11-30 2020-09-01 Nec Corporation Software analysis device, software analysis method, and recording medium

Also Published As

Publication number Publication date
JP2011248406A (ja) 2011-12-08

Similar Documents

Publication Publication Date Title
US9904780B2 (en) Transparent detection and extraction of return-oriented-programming attacks
US7814544B1 (en) API-profile guided unpacking
KR101759379B1 (ko) 확장된 데이터를 갖는 메모리 덤프 및 사용자 프라이버시 보호 기법
KR102317833B1 (ko) 악성 코드 탐지 모델 학습 방법 및 이를 이용한 탐지 방법
US10121004B2 (en) Apparatus and method for monitoring virtual machine based on hypervisor
JP2012501028A (ja) コード解析の発見的方法
JP6170900B2 (ja) ファイル処理方法及び装置
US10311233B2 (en) Generic unpacking of program binaries
US10691791B2 (en) Automatic unpacking of executables
JP2004303114A (ja) インタープリタおよびネイティブコード実行方法
JP5441043B2 (ja) プログラム、情報処理装置、及び情報処理方法
JP5456715B2 (ja) データ特定装置、データ特定方法及びデータ特定プログラム
JP5389734B2 (ja) 抽出装置及び抽出方法
JP5389733B2 (ja) 抽出装置及び抽出方法
KR101052735B1 (ko) 메모리 조작유무를 감지하는 방법 및 이를 이용한 장치
KR101842263B1 (ko) 어플리케이션에 대한 역공학 차단 방법 및 장치
JP5952218B2 (ja) 情報処理装置および情報処理方法
JP5549810B2 (ja) プログラム難読化装置、プログラム制御装置、プログラム難読化方法及びプログラム
US20230394145A1 (en) Machine learning-based malware detection in process memory
JP5437913B2 (ja) コード領域識別装置、コード領域識別方法及びコード領域識別プログラム
EP4332805A1 (en) Emulation-based malware detection
KR102421394B1 (ko) 하드웨어와 소프트웨어 기반 트레이싱을 이용한 악성코드 탐지 장치 및 방법
JP7259436B2 (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び情報処理システム
US11314855B2 (en) Detecting stack pivots using stack artifact verification
JP6163678B2 (ja) プログラムバイナリの汎用的なアンパッキング

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120928

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130930

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: 20131008

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131009

R150 Certificate of patent or registration of utility model

Ref document number: 5389734

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350