JP2013105366A - プログラム解析システム及び方法 - Google Patents
プログラム解析システム及び方法 Download PDFInfo
- Publication number
- JP2013105366A JP2013105366A JP2011249562A JP2011249562A JP2013105366A JP 2013105366 A JP2013105366 A JP 2013105366A JP 2011249562 A JP2011249562 A JP 2011249562A JP 2011249562 A JP2011249562 A JP 2011249562A JP 2013105366 A JP2013105366 A JP 2013105366A
- Authority
- JP
- Japan
- Prior art keywords
- analysis
- program
- activity
- time
- record
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3612—Software analysis for verifying properties of programs by runtime analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/567—Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
Abstract
【解決手段】プログラム実行環境の時間経過速度を調整しながら、プログラムの解析を行うプログラム解析システムの主な機能部は、解析管理部100、検体実行部200、活動記録部、活動解析部300の4つである。解析管理部100は、実行環境における時間経過速度およびプログラム実行開始時間、実行終了時間などの解析条件を設定する。検体実行部200は、解析管理部100の決定に従い、時間経過速度およびプログラム実行開始時間を調整し、実行終了時間までプログラムを実行する。活動記録部は、実行環境を監視し、プログラムの活動記録を取得する。活動解析部300は、活動記録を解析し、プログラムの挙動を明らかにする。さらに、解析管理部100は、解析結果に基づき、解析条件を再設定し、再解析を行う。
【選択図】図1
Description
図1は本発明を実施するためのシステムの全体構成を示す図である。本システムを構成する要素として、システム管理装置100、検体実行装置200、活動解析装置300、通信ネットワーク400の3つがある。
図9以降に、本システムに含まれるDBの構成例及び各機能部のフローチャートを示す。
図9は、解析シナリオDB151の構成を示す図である。解析シナリオDB151内の各レコードは、ある検体に対する、検体解析の方法や解析状況を記憶する。各レコードは、システム管理装置100が解析シナリオを決定した時点で、解析シナリオDB151内に保存される。
(処理手順の詳細)
図15は、解析管理部121で実行される、解析管理部処理のフローチャートである。このフローチャートでは、検体が投入されてから、解析が完了するまでの一連の流れを示している。
次に、図1に示すシステムの変形例について説明する。
図1に示すシステムでは、カウンタ最大値レジスタ273の値を変更することで、時間経過速度の調整を行った。変更例としては、カウンタレジスタ272が加算される値を変更することで、時間調整を行ってもよい。例えば、実施例では、カウンタレジスタ272の値は、発振器271の振動ごとに+1加算されていたが、加算値を+2にすることで、時間経過速度を2倍にすることができる。この変更例の利点としては、カウンタ最大値レジスタ273の変更が不可能であるタイマー装置270上でも、時間経過速度の調整が可能であることが挙げられる。
また、発振器271の周波数を変えることで時間経過速度を調整することも可能である。例えば、発振器271の周波数を2倍にすることで、時間経過速度を2倍にすることができる。この変更例の利点としては、カウンタ最大値レジスタ273の変更が不可能であるタイマー装置270上でも、時間経過速度の調整が可能であることが挙げられる。
また、図17の処理S2207で示してある、時計部223が管理している、現在時刻に加算される定数時間を調整することで、時間経過速度を2倍にすることができる。例えば、図17の説明では、定数時間として0.01秒を設定していたが、定数時間を0.02秒に再設定することで、時間経過速度を2倍にすることができる。この変更例の利点としては、発振器271、カウンタレジスタ272、カウンタ最大値レジスタ273の変更が不可能なタイマー装置270上でも、時間経過速度の調整が可能であることが挙げられる。
また、図1に示すシステムでは、実行環境イメージ281を直接メモリ230上で実行したが、計算機の構成・動作を模擬するプログラムである仮想マシン上で実行してもよい。この変更例では、メモリ230上に、仮想マシンプログラムが読み込まれる。仮想マシンプログラム上では、実行環境イメージ281及び、検体実行プログラム231、活動記録プログラム232、時計プログラム233が動作する。検体10は仮想マシンプログラム上で実行される。仮想マシンプログラムは物理的な計算機の構成を模擬しているので、タイマー装置270に相当する、タイマー装置模擬プログラムを有する。時刻調整を行う際は、検体実行装置200上のタイマー装置270を操作するのではなく、仮想マシンプログラム上のタイマー装置模擬プログラムのカウンタ最大値レジスタの値を調整する。この変更例の利点としては、タイマー装置270ではなく、タイマー装置模擬プログラムを操作するため、プログラム内の発振器やレジスタに対する変更が、確実に可能であることが挙げられる。
さらに、図1に示すシステムでは、挙動が不明なプログラムの動作を調べるために発明を利用したが、あるプログラムが一定期間、正常に動作することを、短期間で調査するために利用することもできる。例えば、時間経過速度30を1000倍として、解析開始時刻40を2011/1/1 00:00:00、解析終了時刻50を、2020/12/31 23:59:59とすることで、プログラムが10年間、正常に動作することを、4日程度でテストすることができる。この変更例では、プログラムの実行に伴い発生するエラー情報を、活動記録60として保存する。この変更例の利点としては、プログラムの予期しないエラーを、短時間で調査できることが挙げられる。
また、CPU220は、その内部に発振器271に類似した発振器を具備しており、発振器が一度振動する度に、1つの命令を実行する。このため、この発振器の周波数を操作することで、検体10の実行速度を変化させることができる。例えば、発振器の周波数を0.5倍にすると、検体の実行速度は半分になる。これにより、検体10が様々な性能の計算機で実行された時の動作をテストすることができる。例えば、検体10がIF140を通じて受信するIPパケットを処理するプログラムである場合、CPU220の発振器の周波数を低減することで、高負荷時に、IPパケットをどの程度取りこぼしなく処理できるかをテストすることができる。
Claims (16)
- 動作検証対象のプログラムを、時間経過速度を任意に調整可能な実行環境上で動作させるプログラム解析システムは、
プログラムの解析状況を管理し、時間経過速度を決定する解析管理部を有するシステム管理装置と、
解析管理部で指定された時間経過速度に基づき前記プログラムを前記実行環境上で実行する検体実行部と、前記実行環境上での前記プログラムの挙動を、活動記録として取得する活動記録部とを有する少なくとも1つの検体実行装置と、
前記活動記録を解析して、前記プログラムの特徴を、解析結果として出力する活動解析部を有する少なくとも一つの活動解析装置と、
を含むことを特徴とするプログラム解析システム。 - 前記解析管理部は、前記時間経過速度に加え、前記プログラムを解析する上での解析開始時刻を決定することを特徴とする請求項1に記載のプログラム解析システム。
- 前記解析管理部は、前記時間経過速度、前記解析開始時刻に加え、前記プログラムの解析を終了する解析終了時刻を決定することを特徴とする請求項2に記載のプログラム解析システム。
- 前記解析管理部は、前記解析結果を基に、前記プログラムの再解析を前記検体実行部に指示することを特徴とする請求項3に記載のプログラム解析システム。
- 前記解析管理部は、前記プログラムの解析が失敗した時刻間を対象として、検体の再解析を行うことを特徴とする請求項4に記載のプログラム解析システム。
- 前記解析管理部は、再解析を行う際に、前記時間経過速度を変化させることを特徴とする請求項4に記載のプログラム解析システム。
- 前記解析管理部は、前記解析結果を基に、再解析の有無の判定を行う再解析ルールDBを持つことを特徴とする請求項4に記載のプログラム解析システム。
- 前記検体実行部は、計算機上で、定期的に、時計部に対して信号を発することで時刻管理を行う、タイマー装置を操作することで、時間経過速度を調整することを特徴とする請求項1に記載のプログラム解析システム。
- 前記検体実行部は、前記時計部を操作することで、時間経過速度を調整することを特徴とする請求項1に記載のプログラム解析システム。
- 前記実行環境は、計算機上で直接実行されるのではなく、計算機上で実行される仮想マシンプログラム上で実行されることを特徴とする請求項1に記載のプログラム解析システム。
- 前記実行環境が実行されるCPUの動作速度を調整することで、様々な性能の計算機上での前記プログラムの動作を再現することを特徴とする請求項1に記載のプログラム解析システム。
- 前記活動記録部は、前記プログラムのどのような活動を記録するのかを指示する記録ルールDBに従って、活動を記録することを特徴とする請求項1に記載のプログラム解析システム。
- 前記活動解析部は、解析方法を指定する解析ルールDBに従って、前記活動記録を解析することを特徴とする請求項1に記載のプログラム解析システム。
- 前記記録ルールDBには、記録対象として、ネットワーク通信、画面出力、関数呼び出し、ファイルの作成・修正・削除、レジストリの作成・修正・削除を指定することを特徴とする請求項12に記載のプログラム解析システム。
- 前記解析結果には、解析の成功/失敗を示すフラグが含まれることを特徴とする請求項1に記載のプログラム解析システム。
- 処理装置を用いて、動作検証対象のプログラムを、時間経過速度を任意に調整可能な実行環境上で動作させるプログラム解析方法は、
プログラムの解析状況を管理し、時間経過速度を決定し、
前記管理によって指定された時間経過速度に基づき前記プログラムを前記実行環境上で実行し、
前記実行環境上での前記プログラムの挙動を、活動記録として取得し、
前記活動記録を解析して、前記プログラムの特徴を、解析結果として出力する、
ことを特徴とする、プログラム解析方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011249562A JP2013105366A (ja) | 2011-11-15 | 2011-11-15 | プログラム解析システム及び方法 |
US13/667,860 US20130124924A1 (en) | 2011-11-15 | 2012-11-02 | Program analyzing system and method |
EP12191031.9A EP2595084A3 (en) | 2011-11-15 | 2012-11-02 | Program analyzing system and method |
CN2012104550726A CN103106364A (zh) | 2011-11-15 | 2012-11-13 | 程序分析系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011249562A JP2013105366A (ja) | 2011-11-15 | 2011-11-15 | プログラム解析システム及び方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013105366A true JP2013105366A (ja) | 2013-05-30 |
Family
ID=47177780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011249562A Pending JP2013105366A (ja) | 2011-11-15 | 2011-11-15 | プログラム解析システム及び方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20130124924A1 (ja) |
EP (1) | EP2595084A3 (ja) |
JP (1) | JP2013105366A (ja) |
CN (1) | CN103106364A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015130008A (ja) * | 2014-01-06 | 2015-07-16 | 富士通株式会社 | 動態解析方法及び動態解析装置 |
JP2016009308A (ja) * | 2014-06-24 | 2016-01-18 | 日本電信電話株式会社 | マルウェア検出方法、システム、装置、ユーザpc及びプログラム |
JP2017174373A (ja) * | 2016-03-18 | 2017-09-28 | エーオー カスペルスキー ラボAO Kaspersky Lab | 仮想マシンでファイルのアンチウイルススキャンを実行するシステム及び方法 |
US10536261B2 (en) | 2014-09-25 | 2020-01-14 | Nec Corporation | Analysis system, analysis method, and storage medium |
US10554383B2 (en) | 2014-09-25 | 2020-02-04 | Nec Corporation | Analysis system, analysis method, and storage medium |
US10931468B2 (en) | 2014-09-25 | 2021-02-23 | Nec Corporation | Analysis system, analysis method, and storage medium |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10235266B2 (en) * | 2015-07-10 | 2019-03-19 | Ca, Inc. | Application screen mapping for mobile analytics |
US10320810B1 (en) * | 2016-10-31 | 2019-06-11 | Palo Alto Networks, Inc. | Mitigating communication and control attempts |
CN109298995B (zh) * | 2017-07-24 | 2022-05-13 | 北京搜狗科技发展有限公司 | 一种性能测试方法、装置、电子设备以及存储介质 |
CN108563566A (zh) * | 2018-04-09 | 2018-09-21 | 郑州云海信息技术有限公司 | 一种系统的风险分析方法及系统 |
CN109542793B (zh) * | 2018-11-30 | 2022-06-14 | 北京小马智行科技有限公司 | 一种程序性能分析方法及装置 |
CN111368295A (zh) * | 2018-12-26 | 2020-07-03 | 中兴通讯股份有限公司 | 恶意样本检测方法、装置、系统及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07306836A (ja) * | 1994-05-10 | 1995-11-21 | Nec Corp | 時刻同期化装置 |
JP2000066759A (ja) * | 1998-08-17 | 2000-03-03 | Oki Electric Ind Co Ltd | クロック制御回路 |
JP2004120082A (ja) * | 2002-09-24 | 2004-04-15 | Yuji Atsui | 電子メール中継システム、方法及びプログラム並びにウィルス検知システム、方法及びプログラム |
JP2009181335A (ja) * | 2008-01-30 | 2009-08-13 | Nippon Telegr & Teleph Corp <Ntt> | 解析システム、解析方法および解析プログラム |
JP2010092178A (ja) * | 2008-10-06 | 2010-04-22 | Nippon Telegr & Teleph Corp <Ntt> | 解析装置、解析方法及び解析プログラム |
JP2010267128A (ja) * | 2009-05-15 | 2010-11-25 | Ntt Docomo Inc | 解析システム、解析装置、検知方法、解析方法及びプログラム |
JP2011164973A (ja) * | 2010-02-10 | 2011-08-25 | Osaka Univ | 救命救急シミュレーション装置、救命救急シミュレーションシステム、プログラムおよびその記録媒体 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5083760B2 (ja) | 2007-08-03 | 2012-11-28 | 独立行政法人情報通信研究機構 | マルウェアの類似性検査方法及び装置 |
CN101593249B (zh) * | 2008-05-30 | 2011-08-03 | 成都市华为赛门铁克科技有限公司 | 一种可疑文件分析方法及系统 |
US8635694B2 (en) * | 2009-01-10 | 2014-01-21 | Kaspersky Lab Zao | Systems and methods for malware classification |
US8627133B2 (en) * | 2010-12-20 | 2014-01-07 | Red Hat Israel, Ltd. | Virtual machine boot speed-up by clock acceleration |
US9792430B2 (en) * | 2011-11-03 | 2017-10-17 | Cyphort Inc. | Systems and methods for virtualized malware detection |
-
2011
- 2011-11-15 JP JP2011249562A patent/JP2013105366A/ja active Pending
-
2012
- 2012-11-02 EP EP12191031.9A patent/EP2595084A3/en not_active Withdrawn
- 2012-11-02 US US13/667,860 patent/US20130124924A1/en not_active Abandoned
- 2012-11-13 CN CN2012104550726A patent/CN103106364A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07306836A (ja) * | 1994-05-10 | 1995-11-21 | Nec Corp | 時刻同期化装置 |
JP2000066759A (ja) * | 1998-08-17 | 2000-03-03 | Oki Electric Ind Co Ltd | クロック制御回路 |
JP2004120082A (ja) * | 2002-09-24 | 2004-04-15 | Yuji Atsui | 電子メール中継システム、方法及びプログラム並びにウィルス検知システム、方法及びプログラム |
JP2009181335A (ja) * | 2008-01-30 | 2009-08-13 | Nippon Telegr & Teleph Corp <Ntt> | 解析システム、解析方法および解析プログラム |
JP2010092178A (ja) * | 2008-10-06 | 2010-04-22 | Nippon Telegr & Teleph Corp <Ntt> | 解析装置、解析方法及び解析プログラム |
JP2010267128A (ja) * | 2009-05-15 | 2010-11-25 | Ntt Docomo Inc | 解析システム、解析装置、検知方法、解析方法及びプログラム |
JP2011164973A (ja) * | 2010-02-10 | 2011-08-25 | Osaka Univ | 救命救急シミュレーション装置、救命救急シミュレーションシステム、プログラムおよびその記録媒体 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015130008A (ja) * | 2014-01-06 | 2015-07-16 | 富士通株式会社 | 動態解析方法及び動態解析装置 |
JP2016009308A (ja) * | 2014-06-24 | 2016-01-18 | 日本電信電話株式会社 | マルウェア検出方法、システム、装置、ユーザpc及びプログラム |
US10536261B2 (en) | 2014-09-25 | 2020-01-14 | Nec Corporation | Analysis system, analysis method, and storage medium |
US10554383B2 (en) | 2014-09-25 | 2020-02-04 | Nec Corporation | Analysis system, analysis method, and storage medium |
US10931468B2 (en) | 2014-09-25 | 2021-02-23 | Nec Corporation | Analysis system, analysis method, and storage medium |
JP2017174373A (ja) * | 2016-03-18 | 2017-09-28 | エーオー カスペルスキー ラボAO Kaspersky Lab | 仮想マシンでファイルのアンチウイルススキャンを実行するシステム及び方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2595084A2 (en) | 2013-05-22 |
CN103106364A (zh) | 2013-05-15 |
US20130124924A1 (en) | 2013-05-16 |
EP2595084A3 (en) | 2013-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2013105366A (ja) | プログラム解析システム及び方法 | |
US10783241B2 (en) | System and methods for sandboxed malware analysis and automated patch development, deployment and validation | |
US11870811B2 (en) | Trusted execution security policy platform | |
Zhao et al. | Botgraph: large scale spamming botnet detection. | |
JP2013171556A (ja) | プログラム解析システム及び方法 | |
US9864666B2 (en) | Method and system for evaluating the resiliency of a distributed computing service by inducing latency | |
JP2018049602A (ja) | ネットワークの異常検出システムのためのグラフ・データベース分析 | |
US20180285086A1 (en) | Automatic Patch Management | |
Chen et al. | Exploring effective fuzzing strategies to analyze communication protocols | |
CN112511512A (zh) | 漏洞扫描引擎和威胁检测引擎的风险管理系统 | |
US10831646B2 (en) | Resources usage for fuzz testing applications | |
US10986112B2 (en) | Method for collecting cyber threat intelligence data and system thereof | |
Gorbenko et al. | From analyzing operating system vulnerabilities to designing multiversion intrusion-tolerant architectures | |
Dowling et al. | Using analysis of temporal variances within a honeypot dataset to better predict attack type probability | |
US10831868B2 (en) | Global license spanning multiple timezones in a rate-based system | |
Fiondella et al. | Cloud incident data: An empirical analysis | |
WO2018213061A2 (en) | Timely causality analysis in homegeneous enterprise hosts | |
Pearson et al. | Fume: Fuzzing message queuing telemetry transport brokers | |
Gui et al. | APTrace: A responsive system for agile enterprise level causality analysis | |
Wu et al. | An extensible fault tolerance testing framework for microservice-based cloud applications | |
Satsyk et al. | Reduction of server load by means of CMS Drupal | |
Santhi et al. | CyberSim: Geographic, temporal, and organizational dynamics of malware propagation | |
Noertjahyana et al. | Comparative Analysis of NFS and iSCSI Protocol Performance on OpenStack Cinder Technology | |
US20240119140A1 (en) | A system and methods for sandboxed software analysis with automated vulnerability detection and patch development, deployment and validation | |
AU2015271911B2 (en) | Method and system for evaluating the resiliency of a distributed computing service by inducing latency |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140317 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20140908 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141128 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141202 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20150331 |