JP2006053788A - ソフトウェア動作監視装置及びソフトウェア動作監視方法 - Google Patents

ソフトウェア動作監視装置及びソフトウェア動作監視方法 Download PDF

Info

Publication number
JP2006053788A
JP2006053788A JP2004235433A JP2004235433A JP2006053788A JP 2006053788 A JP2006053788 A JP 2006053788A JP 2004235433 A JP2004235433 A JP 2004235433A JP 2004235433 A JP2004235433 A JP 2004235433A JP 2006053788 A JP2006053788 A JP 2006053788A
Authority
JP
Japan
Prior art keywords
software
monitoring
policy information
unit
analysis unit
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
Application number
JP2004235433A
Other languages
English (en)
Inventor
Akira Konno
晃 金野
Takashi Suzuki
敬 鈴木
Hideki Yukitomo
英記 行友
Masaru Ota
賢 太田
Takehiro Nakayama
雄大 中山
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.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
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 NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2004235433A priority Critical patent/JP2006053788A/ja
Priority to CNB2005100901973A priority patent/CN100356288C/zh
Priority to US11/201,257 priority patent/US20060101413A1/en
Priority to EP05017502A priority patent/EP1628222A3/en
Publication of JP2006053788A publication Critical patent/JP2006053788A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0715Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Abstract

【課題】ソフトウェア動作の監視時のオーバーヘッドを低減しつつ、ソフトウェアの正常動作からの乖離を適切に判定するソフトウェア動作監視装置を提供する。
【解決手段】ソフトウェア動作監視機構300(ソフトウェア動作監視装置)は、ソフトウェアの監視対象動作と監視対象外動作とを選別するポリシー情報を蓄積するポリシー情報蓄積部330と、ソフトウェアの実行履歴を記録する実行履歴記録部310と、ポリシー情報に基づいて、実行中のソフトウェアの動作から監視対象動作を検出する第1の解析部321と、第1の解析部321によって検出された動作に対して、実行履歴記録部310に記録された実行履歴を解析し、ソフトウェアの正常動作からの乖離の有無を判定する第2の解析部322とを備える。
【選択図】図1

Description

本発明は、ソフトウェア動作監視装置及びソフトウェア動作監視方法に関する。
PCやワークステーション、サーバ、ルータ、携帯電話、PDA等、すべての計算機は外部もしくは内部からの攻撃の危険にさらされている。代表的な攻撃は、計算機上で実行されているソフトウェアの脆弱性を踏み台にしたものである。攻撃者は、ソフトウェアの脆弱性を利用した悪意のあるコードを計算機に送り込み、実行中のプロセスの制御を奪い、当該プロセスの権限を利用して不正操作を行う。
ソフトウェアの脆弱性を利用した攻撃への第1の対策として、ソフトウェアのアクセス権限を限定する手法がある。この手法の安全性を確保するためには、スフォトウェアの実行に必要最小限のシステムリソースを選定し、ソフトウェアに当該リソースへのアクセス権限を過不足なく設定することが重要となる(例えば、特許文献1及び非特許文献1参照)。
しかし、実際には、ソフトウェアのすべての動作を考慮して、必要最小限のアクセス権限を付与することは非常に困難である。又、必要最小限のアクセス権限を付与できたとしても、ソフトウェア動作の異常・正常に関わらず権限を与えるため、攻撃によりプロセスの制御が奪われた場合、与えられたアクセス権限の範囲内の攻撃を許すことになる。従って、重要なシステムリソースへのアクセス権限を有するソフトウェアが乗っ取られた場合、多大な被害を受ける可能性がある。
このようなソフトウェアの脆弱性を利用した攻撃への対処として、実行中のソフトウェアの異常を検知するシステムが開示されている(非特許文献2参照)。このシステムでは、ソフトウェアの正常な動作を表すモデルを作成し、ソフトウェアの実行系列がこのモデルに受理されるかどうかを検査することにより、ソフトウェアの制御が奪われた場合であっても、ソフトウェアの異常動作を即座に検知し、対処することによって、攻撃者によるアクセス権限の奪取を防ぐことが可能となる。
又、ファイルへの異常アクセスと不正アクセスの実行を防止するファイル保護システムが開示されている(特許文献2参照)。このシステムは、2段階の監視手順を有している。第1の監視手段では、ポリシー情報に基づいてファイルへの正常アクセスと異常アクセスとを区別し、ファイルへの異常アクセスを検出した場合、当該アクセスを禁止する。第2の監視手順では、ファイルへの異常アクセス検出以後発生する不正アクセスを検出する。より具体的には、異常アクセス検出後異常アクセス情報を記録し、記録された異常アクセス情報が判定基準を満たした場合に、当該アクセスが不正アクセスであると判定する。第2の監視手順を有することにより、ファイルへの異常アクセスを防止するだけでなく、不正アクセスを防止することができ、システム全体の安全性を向上することを可能とする。
特開2001−337864号公報 特開2003−233521号公報 Security-Enhanced Linux (http://www.nsa.gov/selinux/index.cfm) Wagner, Dean, "Intrusion Detection via Static Analysis", IEEE Symposium on Security and Privacy, 2001
上述した非特許文献2のシステムでは、実行系列のモデルへの適合性検証をソフトウェアの実行中に行う必要があり、実行時オーバーヘッドが非常に大きいことが問題である。特に携帯電話やPDAなどを代表する処理能力の乏しいthin端末においては、この問題は致命的であるといえる。例えば、非特許文献2の方法を電子メール配送ソフトウェア(sendmail)に適応した場合、1回の電子メール配送に要する処理時間が1時間以上となり、実用に耐えない。
又、上述した特許文献2のシステムでは、ファイル保護が前提となっているために、ファイルアクセスが行われない限り監視の対象とならない。又、異常ファイルアクセス検出以後の不正のみ検出するため、過去に行われた不正行為は検出されない。そのため、バッファオーバーフロー攻撃に代表されるようなバッファへの不正アクセスを利用し、システムのルート権限を奪取し、ファイルアクセスを実行、その後は不正アクセスをしないといった攻撃をされた場合には、バッファオーバーフロー攻撃を検出することができないため、ファイルアクセス以後の不正アクセスを検出するだけとなり、本来は不正アクセスをされたにも関わらず検出されない。又、検出時のオーバーヘッドの負荷については、考慮されていない。
そこで、本発明は、上記の課題に鑑み、ソフトウェア動作の監視時のオーバーヘッドを低減しつつ、ソフトウェアの正常動作からの乖離を適切に判定するソフトウェア動作監視装置及びソフトウェア動作監視方法を提供することを目的とする。
上記目的を達成するため、本発明の第1の特徴は、実行中のソフトウェアの動作を監視するソフトウェア動作監視装置であって、(イ)ソフトウェアの監視対象動作と監視対象外動作とを選別するポリシー情報を蓄積するポリシー情報蓄積手段と、(ロ)ソフトウェアの実行履歴を記録する実行履歴記録手段と、(ハ)ポリシー情報に基づいて、実行中のソフトウェアの動作から監視対象動作を検出する第1の解析手段と、(ニ)第1の解析手段によって検出された動作に対して、実行履歴記録手段に記録された実行履歴を解析し、ソフトウェアの正常動作からの乖離の有無を判定する第2の解析手段とを備えるソフトウェア動作監視装置であることを要旨とする。ここで、「実行履歴」とは、監視対象ソフトウェアが呼び出す関数やシステムコール等のソフトウェアの実行履歴を指す。
第1の特徴に係るソフトウェア動作監視装置によると、ソフトウェアの監視対象動作を確実に検出する第1の解析手段を、重量であるがソフトウェアの正常動作からの乖離を確実に検出できる第2の解析手段の前段に配置することにより、第2の解析手段の起動頻度を低減することができる。このため、ソフトウェア動作の監視時の、システム全体のオーバーヘッドを低減しつつ、ソフトウェアの正常動作からの乖離を適切に判定することができる。
又、第1の特徴に係るソフトウェア動作監視装置において、ポリシー情報として、ソフトウェアの監視対象動作、あるいは、監視対象外動作となるシステムリソースへのアクセス規則が設定されてもよい。ここで、「システムリソース」とは、ソフトウェアがアクセスするファイル、システムコール、スタックの状態、引数の状態、ヒープの状態など、ソフトウェア実行時に必要なリソースを指す。このソフトウェア動作監視装置によると、ソフトウェアからシステムリソースへのアクセスが発生した際に、第1の解析手段は監視対象外のアクセスをふるい落とすことができ、監視対象のアクセスを検出した場合に限り、第2の解析手段を起動することができる。又、重要なシステムリソースへのアクセスは監視対象となるようにアクセス規則を設定することにより、危険なアクセスが生じた場合に必ず第2の解析手段を起動することもできる。このため、危険なアクセスを確実に検出する軽量な第1の解析手段を実現でき、検出システムの安全性を向上する効果が得られる。
又、第1の特徴に係るソフトウェア動作監視装置において、システムリソースは、システムコールであってもよい。このソフトウェア動作監視装置によると、ソフトウェアからオペレーティングシステムに対してシステムコールを生成する際、第1の解析手段は監視対象外のシステムコールへのアクセスをふるい落とすことが可能となり、監視対象のシステムコールへのアクセスを検出した場合に限り第2の解析手段を起動することが可能となる。このため、第2の解析手段の起動頻度を低減することが可能となり、検出システム全体の実行時のオーバーヘッドを低減する効果が得られる。
又、第1の特徴に係るソフトウェア動作監視装置は、ソフトウェアの実行中にポリシー情報を変更するポリシー情報管理手段を更に備えてもよい。このソフトウェア動作監視装置によると、ポリシー情報を変更することにより、第1の解析手段の感度を変更し、第2の解析手段の起動頻度を調整することができる。このため、ソフトウェア動作監視装置のパフォーマンスを動的に調整できるようになる。
又、第1の特徴に係るソフトウェア動作監視装置は、実行中のソフトウェアの動作履歴を記録する動作履歴記録手段を更に備え、第1の解析手段は、動作履歴記録手段に記録された動作履歴と、ポリシー情報とに基づいて、実行中のソフトウェアの動作から監視対象動作を検出してもよい。ここで、「動作履歴」とは、ソフトウェアがアクセスしたファイルやソフトウェアが生成した命令など、ソフトウェアの過去の動作履歴の他、ソフトウェアが起動した順番など、当該ソフトウェアが呼び出されるまでの動作履歴を指す。このソフトウェア動作監視装置によると、第1の解析手段はソフトウェアの動作履歴を考慮して、システムリソースのアクセスを検査することが可能となる。このため、現在実行中のソフトウェアの情報だけでなく、当該ソフトウェアが呼び出されるまでの情報も加味した検査が可能となり、監視対象動作の検出制度を改善する効果が得られる。
又、第1の特徴に係るソフトウェア動作監視装置は、ソフトウェアの正常動作を表す動作モデルを蓄積する動作モデル蓄積手段を更に備え、第2の解析手段は、実行履歴記録手段に記録された実行履歴が動作モデルに受理されるか否かを判定することにより、ソフトウェアの正常動作からの乖離の有無を判定してもよい。このソフトウェア動作監視装置によると、ソフトウェアの動作モデルを用いて正常動作からの乖離を判定することにより、正常動作からの乖離を判定するための規則生成が容易になる効果が得られる。
又、第1の特徴に係るソフトウェア動作監視装置の実行履歴記録手段は、ソフトウェアがオペレーティングシステムに対して生成するシステムコールを記録し、動作モデルは、ソフトウェアの正常動作で生成されるシステムコールの発生パターンを網羅したものであってもよい。このソフトウェア動作監視装置によると、オペレーティングシステムが実行履歴を確実に記録することができる。この実行履歴手段は、オペレーティングシステムそのものの制御を攻撃者に奪われない限り安全であるため、第2の解析手段の安全性を高める効果が得られる。
又、第1の特徴に係るソフトウェア動作監視装置の実行履歴記録手段は、ソフトウェアがオペレーティングシステムに対して生成するシステムコールの引数を記録し、動作モデルは、ソフトウェアの正常動作で生成されるシステムコール引数の発生パターンを網羅したものであってもよい。このソフトウェア動作監視装置によると、システムへの攻撃者がシステムコールの引数を巧みに用いて無動作(ヌルオペレーション)化する疑似アタックをすることを困難にすることが可能となる。この実行履歴記録手段は、オペレーティングシステムそのものの制御を攻撃者に奪われない限り安全であるため、第2の解析手段の安全性を高める効果が得られる。
又、第1の特徴に係るソフトウェア動作監視装置の実行履歴記録手段は、ソフトウェアが関数呼び出しにおいて利用するコールスタックの内容を記録し、動作モデルは、ソフトウェアの正常動作で生成されるコールスタックの内容の発生パターンを網羅したものであってもよい。このソフトウェア動作監視装置によると、システムコール発生パターンだけでは検出しきれない不可能経路アタックを検出することが可能となり、システムへの攻撃者がアタックすることを困難にすることが可能となる。この実行履歴記録手段は、オペレーティングシステムそのものの制御を攻撃者に奪われない限り安全であるため、第2の解析手段の安全性を高める効果が得られる。
又、第1の特徴に係るソフトウェア動作監視装置の第1の解析手段は、システムリソースへのアクセスを監視するリソースアクセス監視部と、ソフトウェアがオペレーティングシステムに対して生成するシステムコールを監視するシステムコール監視部とを備え、第2の解析手段は、リソースアクセス監視部とシステムコール監視部との監視結果に応じて、システムコールの発生パターンを解析するシステムコール解析部、システムコールの引数を解析する引数解析部、ソフトウェアが関数呼び出しにおいて利用するコールスタックの状態の発生パターンを解析するスタック解析部の一部あるいは全部を用いて解析を行ってもよい。このソフトウェア動作監視装置によると、第1の解析手段の軽量な検出と、第2の解析手段の重量な検出に加え、第2の解析手段の一部を起動させる中量な検出を行うことができる。
本発明の第2の特徴は、実行中のソフトウェアの動作を監視するソフトウェア動作監視方法であって、(イ)ソフトウェアの監視対象動作と監視対象外動作とを選別するポリシー情報を蓄積するステップと、(ロ)ソフトウェアの実行履歴を記録するステップと、(ハ)ポリシー情報に基づいて、実行中のソフトウェアの動作から監視対象動作を検出するステップと、(ニ)検出するステップによって検出された動作に対して、記録するステップにおいて記録された実行履歴を解析し、ソフトウェアの正常動作からの乖離の有無を判定するステップとを含むソフトウェア動作監視方法であることを要旨とする。
第2の特徴に係るソフトウェア動作監視方法によると、ソフトウェアの監視対象動作を確実に検出する第1の解析ステップを、重量であるがソフトウェアの正常動作からの乖離を確実に検出できる第2の解析ステップの前段に配置することにより、第2の解析ステップの起動頻度を低減することができる。このため、ソフトウェア動作の監視時の、システム全体のオーバーヘッドを低減しつつ、ソフトウェアの正常動作からの乖離を適切に判定することができる。
本発明によると、ソフトウェア動作の監視時のオーバーヘッドを低減しつつ、ソフトウェアの正常動作からの乖離を適切に判定するソフトウェア動作監視装置及びソフトウェア動作監視方法を提供することができる。
次に、図面を参照して、本発明の第1〜第3の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には、同一又は類似の符号を付している。ただし、図面は模式的なものであることに留意すべきである。
第1〜第3の実施の形態では、システムに重大な影響を及ぼす可能性のあるソフトウェアの動作を確実に検出し、かつ軽量な第1の解析部を、重量であるがソフトウェアの正常動作からの乖離を十分低い非検出率(想定外動作を検出しない)と誤検出率(正常動作を想定外動作として検出する)で検出できる第2の解析部の前段に配置する。これによって、第1の解析部によって多数のソフトウェア実行系列を第2の解析対象から除外することが可能となり、ソフトウェア動作監視に要するオーバーヘッドが大幅に小さくなるという効果が得られる。
但し、誤検出は、第2の解析部で除去することが可能であるため、第1の解析部においては許容することができる。つまり、誤検出は発生するが、非検出の発生確率が十分低い軽量な第1の解析部を設計すれば、本実施形態のソフトウェア動作監視機構を実現することができる。
<第1の実施の形態>
(ソフトウェア動作監視装置)
第1の実施の形態に係るソフトウェア動作監視機構(ソフトウェア動作監視装置)300は、図1に示すように、実行履歴記録部310と、動作監視部320と、ポリシー情報蓄積部330と、動作履歴記録部340と、ポリシー情報管理部350とを備える。図1では、ソフトウェア動作監視機構300は、監視対象ソフトウェア200と同様に、ソフトウェアの実行環境100上で実行される。
実行履歴記録部310は、監視対象ソフトウェアが呼び出す関数やシステムコール等を監視して実行履歴として記録し、動作監視部320内の第2の解析部322の要求に応じて、記録した実行履歴を提供する。動作履歴部310は、監視中すべての実行履歴を記録してもよい。しかし、携帯電話やPDAなど能力の小さい端末上では実行履歴を記録する記憶容量が小さいことが考えられるため、記録の効率性が求められる。この問題を解決するために、例えば、実行履歴記録部310は実行履歴を記録する際、設定された記録期間に基づいて、履歴を古い順から削除してもよい。又、実行履歴記録部310は、実行履歴を記録する際、設定された記録容量制限に基づいて、削除を行ってもよい。
動作監視部320は、第1の解析部321と第2の解析部322とを備える。
第1の解析部321は、監視対象ソフトウェア200の動作をポリシー情報蓄積部330から取得したポリシー情報に基づき検査し、監視対象ソフトウェア200の監視対象動作(想定外動作)を検出した場合に、第2の解析部322に通知する。
第2の解析部322は、監視対象動作の検知通知を契機に監視対象ソフトウェアの実行履歴を実行履歴記録部310から取得し、ソフトウェアの正常動作からの乖離があるかどうかを判定し、結果を出力する。
動作履歴記録部340は、ソフトウェアの動作履歴を記録し、第1の解析部321の要求に応じて、記録した動作履歴を提供する。この場合、第1の解析部321は、動作履歴とポリシー情報とに基づき、監視対象動作を検出する。このような構成をとることによって、動作履歴に基づいた解析ができ、監視対象動作の検出精度を改善する効果が得られる。
ポリシー情報蓄積部330は、図2に示すようなポリシー情報を蓄積する。ポリシー情報としては、ソフトウェアの監視対象動作、あるいは、監視対象外動作となるシステムリソースへのアクセス規則が設定される。ここで、「システムリソース」とは、ソフトウェアがアクセスするファイル、システムコール、スタックの状態、引数の状態、ヒープの状態など、ソフトウェア実行時に必要なリソースを指す。
図2は、SELinux(非特許文献1参照)のセキュリティポリシーを引用したものであり、Apache HTTP serverのデフォルト設定の一部である。「httpdプロセス(httpd_tドメイン)が、タイプでグループ化されたシステムリソースに対して、どのような操作(アクセスベクター)が可能か」というルールが定義されている。例えば、ある実行環境においてhttpdプロセスがアクセスすると想定されるシステムリソースについては、ポリシー情報から除外する。これにより、httpdプロセスによる想定外アクセス(監視対象動作)のみを検出することが可能となる。
又、アクセスが想定されるシステムリソースであっても、顧客の個人情報を含むファイル等の重要度が極めて高いものについては、意図的にポリシー情報から除外して監視対象とすることもできる。このように設定することによって、重要度の高いシステムリソースのアクセス時は、必ず第2の解析部322が起動されるようになり、安全性を高めることができる。
ポリシー情報管理部350は、監視対象ソフトウェア200のシステムリソースへのアクセスを管理し、ポリシー情報を生成し、ポリシー情報蓄積部330にポリシー情報を蓄積する。例えば、図2に示すポリシー情報がポリシー情報蓄積部330に蓄積されているとする。監視対象ソフトウェア200がhome_root_tタイプのシステムリソースへのアクセスを実施しない場合、ポリシー情報管理部350は、ポリシー情報のうち、home_root_tタイプのシステムリソースに関するポリシー情報を削除したポリシー情報を新たに生成し、ポリシー情報蓄積部330に蓄積する。このポリシー情報の変更は、ソフトウェアの実行中に行ってもよい。
尚、ポリシー情報管理部350は、ネットワークと接続しており、ネットワークからの指示に従って、ポリシー情報を生成してもよく、外部デバイスと接続しており、外部デバイスからの指示に従ってポリシー情報を生成してもよい。更に、監視対象ソフトウェア200のシステムリソースへのアクセスを管理した結果得られた情報と、外部からの情報(ネットワークや外部デバイスからの指示)を組み合わせてポリシー情報を生成してもよい。
ソフトウェア動作監視機構300において、監視対象ソフトウェア200の動作が正常動作から乖離していると判定された場合は、実行環境100は当該ソフトウェアを停止させる等の対処を行うことによって、ソフトウェアの異常動作による被害を最小限に食い止めることができる。
又、ソフトウェア動作監視機構300が改ざんされていないことを保証するために、ソフトウェア動作監視機構300を書き換えのできないROM上に実現し、提供してもよい。又、同じ目的に対し、ソフトウェア動作監視機構300提供時に電子署名を付与し、ソフトウェア動作監視機構300を動作させる際に電子署名検証を行ってもよい。又、同じ目的に対し、セーフブート技術を用いて、リブート時にソフトウェア動作監視機構300を提供時の状態に戻してもよい。
又、実行履歴記録部310、ポリシー情報蓄積部330、動作履歴記録部340は、上述した情報を保存する記録媒体である。具体的な記録媒体として、例えば、RAM、ROM、ハードディスク、フレキシブルディスク、コンパクトディスク、ICチップ、カセットテープなどが挙げられる。
又、図示してないが、ソフトウェア動作監視装置は、データの入力あるいは出力を行う入出力手段を備えてもよい。入力手段としては、キーボード、マウス等の機器などが用いられ、フロッピーディスク(登録商標)装置、CD−ROM装置、DVD装置等も含む。入力手段から入力操作が行われると対応するキー情報や位置情報が動作監視部320に伝達される。又、出力手段としては、モニタなどの画面が用いられ、液晶表示装置(LCD)、発光ダイオード(LED)パネル、エレクトロルミネッセンス(EL)パネル等が使用可能である。出力手段は、第2の解析部322の判定結果を出力する。又、入出力手段は、インターネットなどを介して外部との通信を行う通信手段として機能してもよい。
又、第1の実施の形態に係るソフトウェア動作監視装置は、処理制御装置(CPU)を有し、第1の解析部321、第2の解析部322などをモジュールとしてCPUに内蔵する構成とすることができる。これらのモジュールは、パーソナルコンピュータ等の汎用コンピュータにおいて、所定のプログラム言語を利用するための専用プログラムを実行することにより実現することができる。
又、図示していないが、ソフトウェア動作監視装置は、第1の解析処理、第2の解析処理などを処理制御装置(CPU)に実行させるためのプログラムを蓄積するプログラム保持部を備えてもよい。プログラム保持部は、例えば、RAM、ROM、ハードディスク、フレキシブルディスク、コンパクトディスク、ICチップ、カセットテープなどの記録媒体である。このような記録媒体によれば、プログラムの蓄積、運搬、販売などを容易に行うことができる。
(ソフトウェア動作監視方法)
次に、第1の実施の形態に係るソフトウェア動作監視方法について、図1及び図3を用いて説明する。
図3のステップS101において、動作監視部320は、実行中の監視対象ソフトウェア200の監視を行う。
まず、ステップS102において、第1の解析部321は、ポリシー情報蓄積部330に蓄積されたポリシー情報と、監視対象ソフトウェア200の動作とを比較し、解析する。
そして、ステップS103において、第1の解析部321は、監視対象動作を検出したか否か判断する。監視対象動作を検出した場合は、ステップS104へ進み、検出しなかった場合は、ステップS102へ戻る。
次に、ステップS104において、第2の解析部322は、第1の解析部321によって検出された動作に対して、実行履歴記録部310に記録された実行履歴を解析し、ソフトウェアの正常動作からの乖離の有無を判定する。
又、ステップS105において、ポリシー情報管理部350は、監視対象ソフトウェア200のシステムリソースへのアクセスを管理し、ポリシー情報を生成し、ポリシー情報蓄積部330にポリシー情報を蓄積する。このポリシー情報の変更は、どのタイミングで行ってもよく、ステップS105に示すタイミングに限られるわけではない。
(作用及び効果)
第1の実施の形態に係るソフトウェア動作監視装置及びソフトウェア動作監視方法によると、ソフトウェアの監視対象動作を確実に検出する第1の解析部321を、重量であるがソフトウェアの正常動作からの乖離を確実に検出できる第2の解析部322の前段に配置することにより、第2の解析部322の起動頻度を低減することができる。このため、ソフトウェア動作の監視時の、検出システム全体のオーバーヘッドを低減しつつ、ソフトウェアの正常動作からの乖離を適切に判定することができる。
又、第1の特徴に係るソフトウェア動作監視装置及びソフトウェア動作監視方法において、ポリシー情報として、ソフトウェアの監視対象動作、あるいは、監視対象外動作となるシステムリソースへのアクセス規則が設定される。このため、ソフトウェアからシステムリソースへのアクセスが発生した際に、第1の解析部321は監視対象外のアクセスをふるい落とすことができ、監視対象のアクセスを検出した場合に限り、第2の解析部322を起動することができる。
又、重要なシステムリソースへのアクセスは監視対象となるようにアクセス規則を設定することにより、危険なアクセスが生じた場合に必ず第2の解析部322を起動することもできる。このため、危険なアクセスを確実に検出する軽量な第1の解析部321を実現でき、検出システムの安全性を向上する効果が得られる。
又、上述したシステムリソースは、システムコールであることが好ましい。このようなソフトウェア動作管理装置及びソフトウェア動作管理方法によると、ソフトウェアからオペレーティングシステムに対してシステムコールを生成する際、第1の解析部321は監視対象外のシステムコールへのアクセスをふるい落とすことが可能となり、監視対象のシステムコールへのアクセスを検出した場合に限り第2の解析部322を起動することが可能となる。このため、第2の解析部322の起動頻度を低減することが可能となり、検出システム全体の実行時のオーバーヘッドを低減する効果が得られる。
又、ポリシー情報は、ソフトウェアの監視対象外動作を記述しても、監視対象動作を記述してもよい。
監視対象外動作を記述する場合、ポリシー情報は、システム管理者が判断しやすい、システムへの影響がほとんどない動作だけを含んでいればよい。これにより、第1の解析部321において、システムへの影響を及ぼす動作を確実に検出することが可能となり、検出システムの安全性を向上する効果が得られる。
一方、監視対象動作を記述する場合、ポリシー情報は、必要最小限の安全性を確保するための動作だけを含んでいればよい。このことは、サービス提供者がサービスを提供するにあたって必要最小限の安全性を確保しつつ、不必要な第2の解析部322の実行を防止することにつながり、検出システム全体の実行時オーバーヘッドを低減する効果が得られる。
又、第1の実施の形態に係るソフトウェア動作監視装置は、ポリシー情報管理部350を備えるため、第1の解析部321の感度を変更し、第2の解析部322の起動頻度を調整することができる。このため、ソフトウェア動作監視装置のパフォーマンスを動的に調整できるようになる。例えば、計算機の利用感強が安全である場合には、ソフトウェア動作監視装置のパフォーマンスを向上したり、攻撃の可能性のある利用環境では、安全性を向上したりすることができる。
又、第1の実施の形態に係るソフトウェア動作監視装置は、動作履歴記録部340を備えるため、第1の解析部321は、ソフトウェアが呼び出されるまでの履歴を考慮して、システムリソースのアクセスを検査することが可能となる。このため、現在実行中のソフトウェアの情報だけでなく、当該ソフトウェアが呼び出されるまでの情報も加味した検査が可能となり、監視対象動作の検出制度を改善する効果が得られる。又、アクセス規則を詳細化することにより、第2の解析手段の起動頻度を低減する効果もある。
更に、第2の解析部322は、ソフトウェアの起動履歴に含まれるソフトウェアの動作を遡って検査可能である。これにより、当該ソフトウェアを直接的又は間接的に起動したソフトウェアが異常動作をしている場合にも対処可能となる。
<第2の実施の形態>
第2の実施の形態では、第1の実施の形態において説明したソフトウェア動作監視機構を計算機の基本ソフトウェア(オペレーティングシステム)に導入する。
(ソフトウェア動作監視装置)
第2の実施の形態に係るソフトウェア動作監視機構(ソフトウェア動作監視装置)300は、オペレーティングシステムの基本機能を提供するソフトウェアであるカーネル500内に実装され、1つ以上の監視対象ソフトウェア200a、200b、200cを監視する。監視結果は、アクセス制御部530、ポリシー情報管理部540、プロセス管理部550において利用され、システムリソースへのアクセスの制限やプロセス停止等の対処を行うことが可能となる。
実行中のソフトウェアの動作を監視するために、ソフトウェア動作監視機構300は、カーネルフック510を利用する。カーネルフック510は、監視対象ソフトウェア200a、200b、200cとカーネル500との間の通信(システムコール等)を監視し、特定の要求メッセージを受信した場合は、当該要求メッセージの処理前に予め定められたモジュールに、当該要求メッセージを転送する機能を提供する。
第1の解析部321は、ポリシー情報に基づき、監視対象ソフトウェア200a、200b、200cの監視対象動作を検出する。例えば、図2に示すポリシー情報を利用し、事前に定められたシステムリソース以外へのアクセス要求を検出した場合は、第2の解析部322を起動する。
第2の実施の形態では、第1の解析部321が利用するポリシー情報は、プロセス本来のアクセス権限とは独立に設定することが可能である。例えば、プロセスが保有しているシステムリソースへのアクセス権限であっても、ポリシー情報からは除外することができる。これにより非常に重要なシステムリソースへのアクセス時には、第2の解析部322を必ず起動するという処理が可能になる。
又、ポリシー情報には、監視対象の動作を設定してもよい。例えば、ポリシー情報にソフトウェアがオペレーティングシステムに対して生成するシステムコールのうち、システムに影響を及ぼす可能性のあるシステムコールを列挙しておく。第1の解析部321において、監視対象ソフトウェア200a、200b、200cによって生成されたシステムコールがポリシー情報に記載されたシステムコールであるかどうかを解析してもよい。第1の解析部321において、ポリシー情報に記載されたシステムコールが実行中のソフトウェアから生成されたことを検出し、第2の解析部322において、より詳細な解析を行う。図5は、ポリシー情報の例であり、ソフトウェアの実行権限を変更するシステムコールを列挙している。これらは、システムに影響を及ぼす可能性が非常に高い。このように、ポリシー情報に監視対象の動作を設定すれば、サービスなどを提供するにあたって必要最小限のシステムの安全性を確保しながらも、検出システム全体の実行時のオーバーヘッドを低減できる。
第2の解析部321は、実行履歴記録部310の記録した監視対象ソフトウェア200a、200b、200cの実行履歴が、当該ソフトウェアの動作モデル620に受理されるかどうかを検査する。例えば、実行履歴システムコールが記録対象であり、ソフトウェアの正常動作で起こり得るシステムコールのパターンをすべて網羅した動作モデル620を利用する。記録したシステムコール列が、動作モデル620に記述されたパターンの何れにも合致しなかった場合は、ソフトウェアの正常動作から乖離していると判定する。
次に、第2の解析部312における具体的な解析方法について説明する。
図6は、動作モデルの一例であり、システムコールの発生パターンを有限オートマトン(finite state automata(FSA))でモデル化したものである(非特許文献2参照)。図6では、図7に示すソフトウェアソースコードを静的に解析し、システムコールの発生をエッジとして、システムコール発生前と後のソフトウェアの状態をノードとしてとらえ、FSAとしている。尚、関数呼び出しに関してはε遷移としてとらえている。第2の解析部322は、実行中のソフトウェアがオペレーティングシステムに対して生成するシステムコールを取得し、生成された順に並べたものを動作モデルであるFSAの入力例として入力し、入力列が受理されるか否かを解析する。図6を例にとると、入力列が、open getuid close geteuid exitは受理されるが、open close getuid geteiud exitcは受理されない。よって、後者のシステムコールの発生が正常動作との乖離があるとして検出する。
又、FSAを利用する他に、N−gram判定を用いてもよい。即ち、正常動作が保証された環境の中で、ソフトウェア動作中に生成されたシステムコールを取得し、時系列で並べたシステムコール列を学習する。この学習したシステムコール列を動作モデルとし、解析時には正常動作が保証されていない環境の中で、ソフトウェア動作中に生成されたN個のシステムコールからなる解析対象のシステムコール列を生成し、解析対象システムコール列が動作モデル中にサブシーケンスとして存在するか否かを判定する。
又、第2の解析部322は、実行履歴記録部310で記録する対象をシステムコールの引数とし、ソフトウェアの正常動作で起こり得るシステムコール引数の発生パターンをすべて網羅した動作モデルを利用する。例えば、システムコール引数の統計パターン(引数の文字列長や文字の出現分布など)を動作モデルとして利用する。記録したシステムコール引数の統計パターンが、動作モデルに記述されたパターンの何れにも統計的に合致しなかった場合は、ソフトウェアの正常動作から乖離していると判定してもよい。
又、第2の解析部322は、例えば、実行履歴記録部310で記録する対象をシステムコールと監視対象ソフトウェア200a、200b、200cが関数呼び出しなどで利用するコールスタックの状態とし、ソフトウェアの正常動作で起こり得るシステムコールの発生パターン及びコールスタックの状態の発生パターンが、動作モデルに記述されたパターンの何れにも合致しなかった場合は、ソフトウェアの正常動作から乖離していると判定してもよい。図8は、コールスタックの状態の発生パターンを表す動作モデルの例である。コールスタックには関数の戻り番地や関数呼び出しの引数などが内容として含まれるが、ここでは、コールスタックの状態とはそれぞれの関数呼び出しにひもづけられた戻り番地と、コールスタックに積まれた順番としている。動作モデルは、このコールスタックの状態を時系列順に並べたものとしている。第2の解析部322は、システムコールの発生パターンを解析するとともに、実行履歴記録部322に記録されたコールスタックの状態を時系列順に並べた発生パターンが、動作モデルに表されたコールスタックの状態の発生パターン内に存在するかを判定することにより、実行中のソフトウェアが正常動作から乖離があるかを判定することとなる。
又、第2の解析部322は、実行履歴記録部310で記録する対象をシステムコール、システムコールの引数、及び監視対象ソフトウェア200a、200b、200cが関数呼び出しなどで利用するコールスタックの状態すべてあるいはそれらの組み合わせとしてもよい。その際、動作モデルは、ソフトウェアの正常動作で起こり得るシステムコールの発生パターン、システムコール引数の統計パターン、及びコールスタックの状態の発生パターンのうち、実行履歴記録部310の記録対象と対応するパターンとし、第2の解析部322は、実行履歴記録部310で記録する対象と対応付けられた動作モデルをそれぞれ用いて、解析する。
又、第2の解析部322による判定結果は、アクセス制御部530、ポリシー情報管理部540、プロセス管理部550において利用される。
アクセス制御部530は、第2の解析部332による判定結果に応じて、システムリソースへのアクセスを制限する。
ポリシー情報管理部540は、第2の解析部332による判定結果に応じて、ポリシー情報を作成、更新し、ポリシー情報610を蓄積する。
プロセス管理部550は、第2の解析部332による判定結果に応じて、プロセス(実行中のソフトウェア)を停止する。
尚、図4において、ポリシー情報610、動作モデル620、実行履歴630は、記録媒体600に保存される。記録媒体としては、例えば、RAM、ROM、ハードディスク、フレキシブルディスク、コンパクトディスク、ICチップ、カセットテープなどが挙げられる。ポリシー情報610、動作モデル620、実行履歴630は、図4に示すように記録媒体600に保存されてもよく、カーネル500上に実装されてもよい。
(ソフトウェア動作監視方法)
次に、第2の実施の形態に係るソフトウェア動作監視方法について、図4及び図9を用いて説明する。
まず、ステップS201〜203は、図3のステップS101〜103と同様であるので、ここでは説明を省略する。
ステップS204において、第2の解析部322は、第1の解析部321によって検出された動作に対して、実行履歴記録部310に記録された実行履歴を解析し、ソフトウェアの正常動作からの乖離の有無を判定する。このとき、第2の解析部322は、実行履歴が動作モデル620に受理されるか否かを判定することにより、ソフトウェアの正常動作からの乖離の有無を判定する。使用する動作モデルは、ソフトウェアの正常動作で生成されるシステムコールの発生パターンを網羅したもの、ソフトウェアの正常動作で生成されるシステムコール引数の発生パターンを網羅したもの、ソフトウェアの正常動作で生成されるコールスタックの内容の発生パターンを網羅したものなどである。
ステップS205は図3のステップS105と同様であるので、ここでは説明を省略する。
次に、ステップS206において、アクセス制御部530は、第2の解析部332による判定結果に応じて、システムリソースへのアクセスを制限する。
次に、ステップS207において、プロセス管理部550は、第2の解析部332による判定結果に応じて、プロセス(実行中のソフトウェア)を停止する。
(作用及び効果)
第2の特徴に係るソフトウェア動作監視装置及びソフトウェア動作監視方法によると、第2の解析部322は、実行履歴記録部310に記録された実行履歴が動作モデル620に受理されるか否かを判定することにより、ソフトウェアの正常動作からの乖離の有無を判定することができる。このため、正常動作からの乖離を判定するための規則生成が容易になる効果が得られる。
又、実行履歴記録部310は、ソフトウェアがオペレーティングシステムに対して生成するシステムコールを記録し、動作モデル620は、ソフトウェアの正常動作で生成されるシステムコールの発生パターンを網羅したものとすることができる。このため、オペレーティングシステムが実行履歴を確実に記録することができる。この実行履歴記録部310は、オペレーティングそのものの制御を攻撃者に奪われない限り安全であるため、第2の解析部322の安全性を高める効果が得られる。
又、実行履歴記録部310は、ソフトウェアがオペレーティングシステムに対して生成するシステムコールの引数を記録し、動作モデル620は、ソフトウェアの正常動作で生成されるシステムコール引数の発生パターンを網羅したものとすることができる。このため、システムへの攻撃者がシステムコールの引数を巧みに用いて無動作(ヌルオペレーション)化する疑似アタックをすることを困難にすることが可能となる。この実行履歴記録部310は、オペレーティングシステムそのものの制御を攻撃者に奪われない限り安全であるため、第2の解析部322の安全性を高める効果が得られる。
又、実行履歴記録部310は、ソフトウェアが関数呼び出しにおいて利用するコールスタックの内容を記録し、動作モデル620は、ソフトウェアの正常動作で生成されるコールスタックの内容の発生パターンを網羅したものとすることができる。このため、システムコール発生パターンだけでは検出しきれない不可能経路アタックを検出することが可能となり、システムへの攻撃者がアタックすることを困難にすることが可能となる。この実行履歴記録部310は、オペレーティングシステムそのものの制御を攻撃者に奪われない限り安全であるため、第2の解析部322の安全性を高める効果が得られる。
<第3の実施の形態>
第3の実施の形態では、第1の解析部が複数の監視対象動作を解析し、該当した監視対象動作に応じて、第2の解析部が異なる解析を行う。
(ソフトウェア動作監視装置)
第3の実施の形態に係るソフトウェア動作監視装置は、図10に示すように、第1の解析部321と第2の解析部322の構成が異なる以外は、第2の実施の形態と同様の構成である。
第1の解析部321は、システムリソースへのアクセスを監視するリソースアクセス監視部321aと、監視対象ソフトウェア200a、200b、200cがオペレーティングシステムに対して生成するシステムコールを監視するシステムコール監視部321bとを備える。
リソースアクセス監視部321a及びシステムコール監視部321bは、ポリシー情報610に基づき、監視対象ソフトウェア200a、200b、200cの監視対象動作を検出する。ポリシー情報は、図11に示すように、システムリソースのアクセス規則を記述した第1のポリシー情報610aと、システムに影響を及ぼす可能性のあるシステムコールを列挙した第2のポリシー情報610bとを備える。第1のポリシー情報610aには、アクセス規則の対象となるファイル名と当該ファイルに対して影響を及ぼす可能性の高いシステムコールを記述している。
第2の解析部322は、システムコールの発生パターンを解析するシステムコール解析部322aと、システムコール引数の統計パターンを解析する引数解析部322bと、コールスタックの状態の発生パターンを解析するスタック解析部322cとを備える。第2の解析部322は、第1の解析部321の解析結果に基づいて、これらの3つの解析部を選択する機構を備える。
例えば、第1の解析部321において、図11のポリシー情報を利用し、監視対象ソフトウェア200a、200b、200cを監視した結果、リソースアクセス監視部321aにおいて、第1のポリシー情報610aに記載のファイル名と対応するファイルにアクセスがあったことを検出した場合、第2の解析部322は、システムコール解析部322aによって実行履歴記録部310に記録された実行履歴におけるシステムコールの発生パターンを解析する。
同様に、第1の解析部321において、図11のポリシー情報を利用し、監視対象ソフトウェア200a、200b、200cを監視した結果、システムコール監視部321bにおいて、第2のポリシー情報610bに記載のシステムコールが監視対象ソフトウェア200a、200b、200cにより生成されたことを検出した場合、第2の解析部322は、システムコール解析部322aによって実行履歴記録部310に記録された実行履歴におけるシステムコールの発生パターンを解析する。
一方、第1の解析部321において、リソースアクセス監視部321aが第1のポリシー情報610aに記載のファイル名と対応するファイルにアクセスがあったことを検出し、更にシステムコール監視部321bが当該ファイル名とひもづけられたシステムコールが生成されたことを同時に検出した場合、第2の解析部322は、システムコール監視部322aはだけでなく、引数監視部322bによってシステムコール引数の統計パターンの解析を、スタック解析部322cによってコールスタックの状態の発生パターンの解析を行う。
図10に示すポリシー情報管理部540は、監視対象ソフトウェア200のシステムリソースへのアクセスを管理し、ポリシー情報を生成し、ポリシー情報610を蓄積する。このとき、ポリシー情報管理部540は、第2の解析部322のシステムコール解析部322a、引数解析部322b、スタック解析部322cそれぞれの解析結果に応じて、ポリシー情報を変更する。即ち、ポリシー情報管理部540は、システムコール解析部322a、引数解析部322b、スタック解析部322cの解析結果に応じた変更テーブルを有し、どの解析部によって乖離の有無が判定されたかにより、異なるポリシー情報を変更する。
又、アクセス制御部530は、第2の解析部332による判定結果に応じて、システムリソースへのアクセスを制限する。このとき、アクセス制御部530は、第2の解析部322のシステムコール解析部322a、引数解析部322b、スタック解析部322cそれぞれの解析結果に応じて、アクセスを制限する。即ち、アクセス制御部530は、システムコール解析部322a、引数解析部322b、スタック解析部322cの解析結果に応じた変更テーブルを有し、どの解析部によって乖離の有無が判定されたかにより、異なるシステムリソースへのアクセスを制限する。
又、プロセス管理部550は、第2の解析部332による判定結果に応じて、プロセス(実行中のソフトウェア)を停止する。このとき、プロセス管理部550は、第2の解析部322のシステムコール解析部322a、引数解析部322b、スタック解析部322cそれぞれの解析結果に応じて、アクセスを制限する。即ち、プロセス管理部550は、システムコール解析部322a、引数解析部322b、スタック解析部322cの解析結果に応じた変更テーブルを有し、どの解析部によって乖離の有無が判定されたかにより、異なるプロセスを停止する。
実行履歴記録部310、記録媒体600については、第2の実施の形態と同様であるので、ここでは説明を省略する。
(ソフトウェア動作監視方法)
次に、第3の実施の形態に係るソフトウェア動作監視方法について、図10及び図12を用いて説明する。
図12のステップS301において、動作監視部320は、実行中の監視対象ソフトウェア200の監視を行う。
まず、ステップS302において、第1の解析部321のリソースアクセス監視部321aは、システムリソースへのアクセスを監視する。次に、ステップS303において、第1の解析部321のシステムコール監視部321bは、監視対象ソフトウェア200a、200b、200cがオペレーティングシステムに対して生成するシステムコールを監視する。
そして、ステップS304において、リソースアクセス監視部321a、あるいは、システムコール監視部321bは、監視対象動作を検出したか否か判断する。監視対象動作を検出した場合は、ステップS305へ進み、検出しなかった場合は、ステップS302へ戻る。
次に、ステップS305において、第2の解析部322のシステムコール解析部322aは、第1の解析部321によって検出された動作に対して、システムコールの発生パターンを解析する。そして、ソフトウェアの正常動作からの乖離の有無を判定する。
次に、ステップS306において、リソースアクセス監視部321a及びシステムコール監視部321b両方において、監視対象動作を検出したか否か判断する。このように複数の監視対象動作を検出した場合は、ステップS307へ進み、検出しなかった場合は、ステップS309へ進む。
次に、ステップS307において、第2の解析部322の引数解析部322bは、システムコール引数の統計パターンを解析する。そして、ソフトウェアの正常動作からの乖離の有無を判定する。
次に、ステップS308において、第2の解析部322のスタック解析部322cは、コールスタックの状態の発生パターンを解析する。そして、ソフトウェアの正常動作からの乖離の有無を判定する。
次に、ステップS309において、ポリシー情報管理部540は、監視対象ソフトウェア200のシステムリソースへのアクセスを管理し、ポリシー情報を生成し、ポリシー情報610を蓄積する。このとき、ポリシー情報管理部540は、第2の解析部322のシステムコール解析部322a、引数解析部322b、スタック解析部322cそれぞれの解析結果に応じて、ポリシー情報を変更する。
次に、ステップS310において、アクセス制御部530は、第2の解析部332による判定結果に応じて、システムリソースへのアクセスを制限する。このとき、アクセス制御部530は、第2の解析部322のシステムコール解析部322a、引数解析部322b、スタック解析部322cそれぞれの解析結果に応じて、アクセスを制限する。
次に、ステップS311において、プロセス管理部550は、第2の解析部332による判定結果に応じて、プロセス(実行中のソフトウェア)を停止する。このとき、プロセス管理部550は、第2の解析部322のシステムコール解析部322a、引数解析部322b、スタック解析部322cそれぞれの解析結果に応じて、アクセスを制限する。
(作用及び効果)
第3の実施の形態に係るソフトウェア動作監視装置及びソフトウェア動作監視方法によると、軽量の監視を行う第1の解析部、重量の監視を行う第2の解析部に加え、第2の解析部の一部を機能させる中量の監視を行うことができ、監視対象動作に応じたオーバーヘッドの軽減が可能となる。
(その他の実施形態)
本発明は上記の実施形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施形態、実施例及び運用技術が明らかとなろう。
例えば、図9及び図11において、第2の解析部322による解析結果に応じて、ポリシー情報の管理(S205、S309)、アクセスの制御(S206、S310)、プロセスの管理(S207、311)を行うと説明したが、これらは、図面に示した順番で行われるとは限らず、その順番は状況に応じて前後する。
又、第1の解析部321、第2の解析部322をモジュールとして一つのCPUに備えてもよいと説明したが、それぞれ異なるCPUに備えられ、異なる装置としてもよい。その場合、複数の装置間をバスなどで接続するものとする。
このように、本発明はここでは記載していない様々な実施形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
第1の実施の形態に係るソフトウェア動作監視装置の構成ブロック図である。 第1の実施形態に係るポリシー情報の例である。 第1の実施形態に係るソフトウェア動作監視方法を示すフローチャートである。 第2の実施の形態に係るソフトウェア動作監視装置の構成ブロック図である。 第2の実施形態に係るポリシー情報の一例である。 第2の実施形態に係る動作モデルの一例である(その1)。 第2の実施形態に係るソフトウェアソースコードの一例である。 第2の実施形態に係る動作モデルの一例である(その2)。 第2の実施形態に係るソフトウェア動作監視方法を示すフローチャートである。 第3の実施の形態に係るソフトウェア動作監視装置の構成ブロック図である。 第3の実施形態に係るポリシー情報の一例である。 第3の実施形態に係るソフトウェア動作監視方法を示すフローチャートである。
符号の説明
100…実行環境
200、200a、200b、200c…監視対象ソフトウェア
300…ソフトウェア動作監視機構(ソフトウェア動作監視装置)
310…実行履歴記録部
320…動作監視部
321…第1の解析部
321a…リソースアクセス監視部
321b…システムコール監視部
322…第2の解析部
322a…システムコール解析部
322b…引数解析部
322c…スタック解析部
330…ポリシー情報蓄積部
340…動作履歴記録部
350…ポリシー情報管理部
500…カーネル
510…カーネルフック
530…アクセス制御部
540…ポリシー情報管理部
550…プロセス管理部
600…記録媒体
610…ポリシー情報
620…動作モデル
630…実行履歴

Claims (11)

  1. 実行中のソフトウェアの動作を監視するソフトウェア動作監視装置であって、
    ソフトウェアの監視対象動作と監視対象外動作とを選別するポリシー情報を蓄積するポリシー情報蓄積手段と、
    ソフトウェアの実行履歴を記録する実行履歴記録手段と、
    前記ポリシー情報に基づいて、前記実行中のソフトウェアの動作から監視対象動作を検出する第1の解析手段と、
    前記第1の解析手段によって検出された動作に対して、前記実行履歴記録手段に記録された実行履歴を解析し、ソフトウェアの正常動作からの乖離の有無を判定する第2の解析手段と
    を備えることを特徴とするソフトウェア動作監視装置。
  2. 前記ポリシー情報として、前記ソフトウェアの監視対象動作、あるいは、監視対象外動作となるシステムリソースへのアクセス規則が設定されることを特徴とする請求項1に記載のソフトウェア動作監視装置。
  3. 前記システムリソースは、システムコールであることを特徴とする請求項2に記載のソフトウェア動作監視装置。
  4. 前記ソフトウェアの実行中に前記ポリシー情報を変更するポリシー情報管理手段を更に備えることを特徴とする請求項1〜3のいずれか1項に記載のソフトウェア動作監視装置。
  5. 前記実行中のソフトウェアの動作履歴を記録する動作履歴記録手段を更に備え、
    前記第1の解析手段は、前記動作履歴記録手段に記録された動作履歴と、前記ポリシー情報とに基づいて、前記実行中のソフトウェアの動作から監視対象動作を検出することを特徴とする請求項1〜4のいずれか1項に記載のソフトウェア動作監視装置。
  6. ソフトウェアの正常動作を表す動作モデルを蓄積する動作モデル蓄積手段を更に備え、
    前記第2の解析手段は、前記実行履歴記録手段に記録された実行履歴が前記動作モデルに受理されるか否かを判定することにより、ソフトウェアの正常動作からの乖離の有無を判定することを特徴とする請求項1〜4のいずれか1項に記載のソフトウェア動作監視装置。
  7. 前記実行履歴記録手段は、ソフトウェアがオペレーティングシステムに対して生成するシステムコールを記録し、
    前記動作モデルは、ソフトウェアの正常動作で生成されるシステムコールの発生パターンを網羅したものであることを特徴とする請求項6に記載のソフトウェア動作監視装置。
  8. 前記実行履歴記録手段は、ソフトウェアがオペレーティングシステムに対して生成するシステムコールの引数を記録し、
    前記動作モデルは、ソフトウェアの正常動作で生成されるシステムコール引数の発生パターンを網羅したものであることを特徴とする請求項6に記載のソフトウェア動作監視装置。
  9. 前記実行履歴記録手段は、ソフトウェアが関数呼び出しにおいて利用するコールスタックの内容を記録し、
    前記動作モデルは、ソフトウェアの正常動作で生成されるコールスタックの内容の発生パターンを網羅したものであることを特徴とする請求項6に記載のソフトウェア動作監視装置。
  10. 前記第1の解析手段は、システムリソースへのアクセスを監視するリソースアクセス監視部と、ソフトウェアがオペレーティングシステムに対して生成するシステムコールを監視するシステムコール監視部とを備え、
    前記第2の解析手段は、前記リソースアクセス監視部と前記システムコール監視部との監視結果に応じて、前記システムコールの発生パターンを解析するシステムコール解析部、前記システムコールの引数を解析する引数解析部、ソフトウェアが関数呼び出しにおいて利用するコールスタックの状態の発生パターンを解析するスタック解析部の一部あるいは全部を用いて解析を行うことを特徴とする請求項1〜9のいずれか1項に記載のソフトウェア動作監視装置。
  11. 実行中のソフトウェアの動作を監視するソフトウェア動作監視方法であって、
    ソフトウェアの監視対象動作と監視対象外動作とを選別するポリシー情報を蓄積するステップと、
    ソフトウェアの実行履歴を記録するステップと、
    前記ポリシー情報に基づいて、前記実行中のソフトウェアの動作から監視対象動作を検出するステップと、
    前記検出するステップによって検出された動作に対して、前記記録するステップにおいて記録された実行履歴を解析し、ソフトウェアの正常動作からの乖離の有無を判定するステップと
    を含むことを特徴とするソフトウェア動作監視方法。
JP2004235433A 2004-08-12 2004-08-12 ソフトウェア動作監視装置及びソフトウェア動作監視方法 Pending JP2006053788A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004235433A JP2006053788A (ja) 2004-08-12 2004-08-12 ソフトウェア動作監視装置及びソフトウェア動作監視方法
CNB2005100901973A CN100356288C (zh) 2004-08-12 2005-08-11 软件动作监视装置以及软件动作监视方法
US11/201,257 US20060101413A1 (en) 2004-08-12 2005-08-11 Software operation monitoring apparatus and software operation monitoring method
EP05017502A EP1628222A3 (en) 2004-08-12 2005-08-11 Software operation monitoring apparatus and software operation monitoring method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004235433A JP2006053788A (ja) 2004-08-12 2004-08-12 ソフトウェア動作監視装置及びソフトウェア動作監視方法

Publications (1)

Publication Number Publication Date
JP2006053788A true JP2006053788A (ja) 2006-02-23

Family

ID=35448164

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004235433A Pending JP2006053788A (ja) 2004-08-12 2004-08-12 ソフトウェア動作監視装置及びソフトウェア動作監視方法

Country Status (4)

Country Link
US (1) US20060101413A1 (ja)
EP (1) EP1628222A3 (ja)
JP (1) JP2006053788A (ja)
CN (1) CN100356288C (ja)

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007102311A (ja) * 2005-09-30 2007-04-19 Fujitsu Ltd ワーム感染装置の検出装置
JP2007286686A (ja) * 2006-04-12 2007-11-01 Ntt Docomo Inc ソフトウェア動作モデル化装置、ソフトウェア動作監視装置、ソフトウェア動作モデル化方法及びソフトウェア動作監視方法
JP2007286656A (ja) * 2006-04-12 2007-11-01 Ntt Docomo Inc ソフトウェア動作モデル化装置、ソフトウェア動作監視装置、ソフトウェア動作モデル化方法及びソフトウェア動作監視方法
JP2007334536A (ja) * 2006-06-14 2007-12-27 Securebrain Corp マルウェアの挙動解析システム
JP2008134705A (ja) * 2006-11-27 2008-06-12 Hitachi Ltd データ処理方法及びデータ分析装置
JP2008165551A (ja) * 2006-12-28 2008-07-17 Sony Corp 情報処理装置および方法、プログラム、並びに記録媒体
WO2008117872A1 (ja) * 2007-03-28 2008-10-02 Ntt Docomo, Inc. ソフトウェア挙動モデル化装置、ソフトウェア挙動モデル化方法、ソフトウェア挙動検証装置及びソフトウェア挙動検証方法
JP2009151420A (ja) * 2007-12-19 2009-07-09 Toyota Central R&D Labs Inc ソフトウェア動作監視装置、プログラム
JP2010509654A (ja) * 2006-11-07 2010-03-25 ソフト−キャンプ カンパニー リミティッド コールスタックに記録された情報を用いたapiの確認方法
JP2011501278A (ja) * 2007-10-15 2011-01-06 ベイジン ライジング インフォメーション テクノロジー カンパニー、リミテッド コンピュータにおける悪意プログラム自動保護方法及び装置
JP2011258019A (ja) * 2010-06-09 2011-12-22 Nippon Telegr & Teleph Corp <Ntt> 異常検知装置、異常検知プログラムおよび異常検知方法
JP2014501420A (ja) * 2010-12-27 2014-01-20 マイクロソフト コーポレーション リソースアクセスパターンに基づくアプリケーションの障害の予測、診断、および障害からの復旧
JP5447668B2 (ja) * 2010-06-30 2014-03-19 富士通株式会社 証跡ログ解析システム、証跡ログ解析プログラム、および証跡ログ解析方法
JP2016012208A (ja) * 2014-06-27 2016-01-21 富士通株式会社 監視対象プログラムの選択方法、監視対象選択プログラム及び監視対象選択装置
JP2016505981A (ja) * 2012-12-27 2016-02-25 クラウドストライク インコーポレイテッド セキュリティ関連システム状態のリアルタイム表現
JP2016512631A (ja) * 2013-02-15 2016-04-28 クアルコム,インコーポレイテッド 複数のアナライザモデルプロバイダを用いたモバイルデバイスにおけるオンライン挙動分析エンジン
WO2016075825A1 (ja) * 2014-11-14 2016-05-19 三菱電機株式会社 情報処理装置及び情報処理方法及びプログラム
JP2016148939A (ja) * 2015-02-10 2016-08-18 日本電信電話株式会社 検出システム、検出方法、検出プログラム、蓄積装置および蓄積方法
KR20170022797A (ko) * 2015-08-21 2017-03-02 주식회사 케이티 커널영역에서의 접근통제 효율화 방법,그 프로그램 및 시스템
JP2017539039A (ja) * 2014-11-25 2017-12-28 エンサイロ リミテッドenSilo Ltd. 悪意のあるコードの検出のためのシステムおよび方法
US10089582B2 (en) 2013-01-02 2018-10-02 Qualcomm Incorporated Using normalized confidence values for classifying mobile device behaviors
KR20190041667A (ko) * 2017-10-13 2019-04-23 주식회사 안랩 후킹 탐지 장치 및 방법
WO2021261901A1 (ko) * 2020-06-24 2021-12-30 한양대학교 에리카산학협력단 함수 호출 패턴 분석을 통한 이상 검출 장치 및 방법
JP2023507533A (ja) * 2020-11-17 2023-02-24 シキューブ カンパニー,リミテッド 分割されたセキュリティモジュールを具備するコンピュータ装置およびセキュリティモジュールアップデート方法

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7457671B2 (en) * 2004-09-30 2008-11-25 Rockwell Automation Technologies, Inc. Systems and methods that facilitate management of add-on instruction generation, selection, and/or monitoring during execution
US7685638B1 (en) * 2005-12-13 2010-03-23 Symantec Corporation Dynamic replacement of system call tables
US7913092B1 (en) * 2005-12-29 2011-03-22 At&T Intellectual Property Ii, L.P. System and method for enforcing application security policies using authenticated system calls
JP2007265089A (ja) * 2006-03-29 2007-10-11 Fujitsu Ltd ソフトウェア保守支援プログラム,処理方法および装置
US8272048B2 (en) * 2006-08-04 2012-09-18 Apple Inc. Restriction of program process capabilities
JP4288292B2 (ja) * 2006-10-31 2009-07-01 株式会社エヌ・ティ・ティ・ドコモ オペレーティングシステム監視設定情報生成装置及びオペレーティングシステム監視装置
JP4496205B2 (ja) 2006-12-18 2010-07-07 日立オートモティブシステムズ株式会社 制御用マイクロコンピュータの検証装置および車載用制御装置
US8578347B1 (en) * 2006-12-28 2013-11-05 The Mathworks, Inc. Determining stack usage of generated code from a model
US8719830B2 (en) * 2007-12-10 2014-05-06 Hewlett-Packard Development Company, L.P. System and method for allowing executing application in compartment that allow access to resources
CN101685418A (zh) * 2008-05-26 2010-03-31 新奥特(北京)视频技术有限公司 一种历史记录的调用方法
US8572674B2 (en) * 2008-08-13 2013-10-29 International Business Machines Corporation System, method, and apparatus for modular, string-sensitive, access rights analysis with demand-driven precision
GB0816556D0 (en) * 2008-09-10 2008-10-15 Univ Napier Improvements in or relating to digital forensics
WO2010059843A2 (en) * 2008-11-19 2010-05-27 Secure Works, Inc. System and method for run-time attack prevention
US20100125830A1 (en) * 2008-11-20 2010-05-20 Lockheed Martin Corporation Method of Assuring Execution for Safety Computer Code
JP5332006B2 (ja) * 2009-08-07 2013-11-06 株式会社日立製作所 計算機システム、プログラム及びシミュレーションに使用する計算資源を割り当てる方法
CN102486731B (zh) * 2009-11-30 2015-12-09 国际商业机器公司 增强软件的软件调用栈的可视化的方法、设备和系统
US8719804B2 (en) * 2010-05-05 2014-05-06 Microsoft Corporation Managing runtime execution of applications on cloud computing systems
US8429744B1 (en) * 2010-12-15 2013-04-23 Symantec Corporation Systems and methods for detecting malformed arguments in a function by hooking a generic object
US9635048B2 (en) 2011-03-09 2017-04-25 Irdeto B.V. Method and system for dynamic platform security in a device operating system
US8555385B1 (en) * 2011-03-14 2013-10-08 Symantec Corporation Techniques for behavior based malware analysis
US9158919B2 (en) * 2011-06-13 2015-10-13 Microsoft Technology Licensing, Llc Threat level assessment of applications
US8850408B2 (en) * 2011-08-10 2014-09-30 Nintendo Of America, Inc. Methods and/or systems for determining a series of return callstacks
CN102508768B (zh) * 2011-09-30 2015-03-25 奇智软件(北京)有限公司 应用程序监控方法及装置
US8850406B1 (en) * 2012-04-05 2014-09-30 Google Inc. Detecting anomalous application access to contact information
CN102810143B (zh) * 2012-04-28 2015-01-14 天津大学 基于Android平台手机应用程序的安全检测系统及方法
US8984331B2 (en) * 2012-09-06 2015-03-17 Triumfant, Inc. Systems and methods for automated memory and thread execution anomaly detection in a computer network
CN104641353B (zh) * 2012-09-21 2018-03-06 惠普发展公司,有限责任合伙企业 在连续部署的情况下可用的监视器
JP6132065B2 (ja) * 2013-03-13 2017-05-24 インテル・コーポレーション 性能及び正確性のためのマルチスレッドソフトウェアプログラムの記録された実行の視覚化
US9129063B2 (en) * 2013-05-14 2015-09-08 Oracle International Corporation Visualizing a computer program execution history
CN103336685B (zh) * 2013-05-28 2016-04-27 中国联合网络通信集团有限公司 自助服务终端的监控方法及装置
DE102014213752A1 (de) 2014-07-15 2016-01-21 Siemens Aktiengesellschaft Rechenvorrichtung und Verfahren zum Erkennen von Angriffen auf ein technisches System anhand von Ereignissen einer Ereignisfolge
WO2016014593A1 (en) * 2014-07-22 2016-01-28 Viasat, Inc. Mobile device security monitoring and notification
CN106796635B (zh) * 2014-10-14 2019-10-22 日本电信电话株式会社 确定装置、确定方法
GB201504612D0 (en) 2015-03-18 2015-05-06 Inquisitive Systems Ltd Forensic analysis
US9953158B1 (en) * 2015-04-21 2018-04-24 Symantec Corporation Systems and methods for enforcing secure software execution
US9928365B1 (en) * 2016-10-31 2018-03-27 International Business Machines Corporation Automated mechanism to obtain detailed forensic analysis of file access
US10650156B2 (en) 2017-04-26 2020-05-12 International Business Machines Corporation Environmental security controls to prevent unauthorized access to files, programs, and objects
GB201708671D0 (en) 2017-05-31 2017-07-12 Inquisitive Systems Ltd Forensic analysis
KR102408348B1 (ko) * 2017-12-21 2022-06-14 삼성전자주식회사 단말 장치 및 단말 장치의 제어 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001337864A (ja) * 2000-03-22 2001-12-07 Hitachi Ltd アクセス制御システム
JP2002247033A (ja) * 2001-02-16 2002-08-30 Hitachi Ltd セキュリティ管理システム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5551037A (en) * 1993-11-19 1996-08-27 Lucent Technologies Inc. Apparatus and methods for visualizing operation of a system of processes
US6775780B1 (en) * 2000-03-16 2004-08-10 Networks Associates Technology, Inc. Detecting malicious software by analyzing patterns of system calls generated during emulation
US7035850B2 (en) * 2000-03-22 2006-04-25 Hitachi, Ltd. Access control system
US7024694B1 (en) * 2000-06-13 2006-04-04 Mcafee, Inc. Method and apparatus for content-based instrusion detection using an agile kernel-based auditor
DE10124767A1 (de) * 2001-05-21 2002-12-12 Infineon Technologies Ag Anordnung zur Abarbeitung von Datenverarbeitungsprozessen sowie Verfahren zur Ermittlung der optimalen Zugriffsstrategie
US7290266B2 (en) * 2001-06-14 2007-10-30 Cisco Technology, Inc. Access control by a real-time stateful reference monitor with a state collection training mode and a lockdown mode for detecting predetermined patterns of events indicative of requests for operating system resources resulting in a decision to allow or block activity identified in a sequence of events based on a rule set defining a processing policy
JP2003202929A (ja) * 2002-01-08 2003-07-18 Ntt Docomo Inc 配信方法および配信システム
JP2003233521A (ja) * 2002-02-13 2003-08-22 Hitachi Ltd ファイル保護システム
JP2003242123A (ja) * 2002-02-21 2003-08-29 Hitachi Ltd 合議型アクセス制御方法
US7228426B2 (en) * 2002-04-03 2007-06-05 Microsoft Corporation Integrity ordainment and ascertainment of computer-executable instructions with consideration for execution context
US7555777B2 (en) * 2004-01-13 2009-06-30 International Business Machines Corporation Preventing attacks in a data processing system
US7681226B2 (en) * 2005-01-28 2010-03-16 Cisco Technology, Inc. Methods and apparatus providing security for multiple operational states of a computerized device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001337864A (ja) * 2000-03-22 2001-12-07 Hitachi Ltd アクセス制御システム
JP2002247033A (ja) * 2001-02-16 2002-08-30 Hitachi Ltd セキュリティ管理システム

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007102311A (ja) * 2005-09-30 2007-04-19 Fujitsu Ltd ワーム感染装置の検出装置
US8015609B2 (en) 2005-09-30 2011-09-06 Fujitsu Limited Worm infection detecting device
JP2007286686A (ja) * 2006-04-12 2007-11-01 Ntt Docomo Inc ソフトウェア動作モデル化装置、ソフトウェア動作監視装置、ソフトウェア動作モデル化方法及びソフトウェア動作監視方法
JP2007286656A (ja) * 2006-04-12 2007-11-01 Ntt Docomo Inc ソフトウェア動作モデル化装置、ソフトウェア動作監視装置、ソフトウェア動作モデル化方法及びソフトウェア動作監視方法
JP2007334536A (ja) * 2006-06-14 2007-12-27 Securebrain Corp マルウェアの挙動解析システム
JP2010509654A (ja) * 2006-11-07 2010-03-25 ソフト−キャンプ カンパニー リミティッド コールスタックに記録された情報を用いたapiの確認方法
JP2008134705A (ja) * 2006-11-27 2008-06-12 Hitachi Ltd データ処理方法及びデータ分析装置
US8219548B2 (en) 2006-11-27 2012-07-10 Hitachi, Ltd. Data processing method and data analysis apparatus
US8887091B2 (en) 2006-12-28 2014-11-11 Sony Corporation Information processing apparatus, method, processor, and recording medium for determining whether information stored in a memory is incorrectly updated
JP4544246B2 (ja) * 2006-12-28 2010-09-15 ソニー株式会社 制御装置および方法、プログラム、並びに記録媒体
JP2008165551A (ja) * 2006-12-28 2008-07-17 Sony Corp 情報処理装置および方法、プログラム、並びに記録媒体
JP2008243034A (ja) * 2007-03-28 2008-10-09 Ntt Docomo Inc ソフトウェア挙動モデル化装置、ソフトウェア挙動モデル化方法、ソフトウェア挙動検証装置及びソフトウェア挙動検証方法
WO2008117872A1 (ja) * 2007-03-28 2008-10-02 Ntt Docomo, Inc. ソフトウェア挙動モデル化装置、ソフトウェア挙動モデル化方法、ソフトウェア挙動検証装置及びソフトウェア挙動検証方法
US8407799B2 (en) 2007-03-28 2013-03-26 Ntt Docomo, Inc. Software behavior modeling device, software behavior modeling method, software behavior verification device, and software behavior verification method
JP2011501278A (ja) * 2007-10-15 2011-01-06 ベイジン ライジング インフォメーション テクノロジー カンパニー、リミテッド コンピュータにおける悪意プログラム自動保護方法及び装置
JP2009151420A (ja) * 2007-12-19 2009-07-09 Toyota Central R&D Labs Inc ソフトウェア動作監視装置、プログラム
JP2011258019A (ja) * 2010-06-09 2011-12-22 Nippon Telegr & Teleph Corp <Ntt> 異常検知装置、異常検知プログラムおよび異常検知方法
US9262473B2 (en) 2010-06-30 2016-02-16 Fujitsu Limited Trail log analysis system, medium storing trail log analysis program, and trail log analysis method
JP5447668B2 (ja) * 2010-06-30 2014-03-19 富士通株式会社 証跡ログ解析システム、証跡ログ解析プログラム、および証跡ログ解析方法
US10152364B2 (en) 2010-12-27 2018-12-11 Microsoft Technology Licensing, Llc Predicting, diagnosing, and recovering from application failures based on resource access patterns
US9189308B2 (en) 2010-12-27 2015-11-17 Microsoft Technology Licensing, Llc Predicting, diagnosing, and recovering from application failures based on resource access patterns
JP2014501420A (ja) * 2010-12-27 2014-01-20 マイクロソフト コーポレーション リソースアクセスパターンに基づくアプリケーションの障害の予測、診断、および障害からの復旧
JP2016505981A (ja) * 2012-12-27 2016-02-25 クラウドストライク インコーポレイテッド セキュリティ関連システム状態のリアルタイム表現
US10409980B2 (en) 2012-12-27 2019-09-10 Crowdstrike, Inc. Real-time representation of security-relevant system state
US10089582B2 (en) 2013-01-02 2018-10-02 Qualcomm Incorporated Using normalized confidence values for classifying mobile device behaviors
JP2016512631A (ja) * 2013-02-15 2016-04-28 クアルコム,インコーポレイテッド 複数のアナライザモデルプロバイダを用いたモバイルデバイスにおけるオンライン挙動分析エンジン
JP2016012208A (ja) * 2014-06-27 2016-01-21 富士通株式会社 監視対象プログラムの選択方法、監視対象選択プログラム及び監視対象選択装置
WO2016075825A1 (ja) * 2014-11-14 2016-05-19 三菱電機株式会社 情報処理装置及び情報処理方法及びプログラム
JP6058246B2 (ja) * 2014-11-14 2017-01-11 三菱電機株式会社 情報処理装置及び情報処理方法及びプログラム
JP2017539039A (ja) * 2014-11-25 2017-12-28 エンサイロ リミテッドenSilo Ltd. 悪意のあるコードの検出のためのシステムおよび方法
JP2016148939A (ja) * 2015-02-10 2016-08-18 日本電信電話株式会社 検出システム、検出方法、検出プログラム、蓄積装置および蓄積方法
KR20170022797A (ko) * 2015-08-21 2017-03-02 주식회사 케이티 커널영역에서의 접근통제 효율화 방법,그 프로그램 및 시스템
KR102398014B1 (ko) * 2015-08-21 2022-05-16 주식회사 케이티 커널영역에서의 접근통제 효율화 방법,그 프로그램 및 시스템
KR20190041667A (ko) * 2017-10-13 2019-04-23 주식회사 안랩 후킹 탐지 장치 및 방법
KR102046550B1 (ko) * 2017-10-13 2019-11-19 주식회사 안랩 후킹 탐지 장치 및 방법
WO2021261901A1 (ko) * 2020-06-24 2021-12-30 한양대학교 에리카산학협력단 함수 호출 패턴 분석을 통한 이상 검출 장치 및 방법
JP2023507533A (ja) * 2020-11-17 2023-02-24 シキューブ カンパニー,リミテッド 分割されたセキュリティモジュールを具備するコンピュータ装置およびセキュリティモジュールアップデート方法

Also Published As

Publication number Publication date
EP1628222A3 (en) 2009-09-30
CN100356288C (zh) 2007-12-19
US20060101413A1 (en) 2006-05-11
CN1734389A (zh) 2006-02-15
EP1628222A2 (en) 2006-02-22

Similar Documents

Publication Publication Date Title
JP2006053788A (ja) ソフトウェア動作監視装置及びソフトウェア動作監視方法
US11042647B1 (en) Software assurance system for runtime environments
US8079085B1 (en) Reducing false positives during behavior monitoring
RU2530210C2 (ru) Система и способ выявления вредоносных программ, препятствующих штатному взаимодействию пользователя с интерфейсом операционной системы
US9158919B2 (en) Threat level assessment of applications
RU2531861C1 (ru) Система и способ оценки вредоносности кода, исполняемого в адресном пространстве доверенного процесса
US7587724B2 (en) Kernel validation layer
US7665139B1 (en) Method and apparatus to detect and prevent malicious changes to tokens
CN109155774B (zh) 用于检测安全威胁的系统和方法
US20130305368A1 (en) Methods and apparatus for identifying and removing malicious applications
US20130312104A1 (en) Methods and apparatus providing automatic signature generation and enforcement
WO2018052979A1 (en) Systems and methods for agent-based detection of hacking attempts
JP5736305B2 (ja) ソフトウェア評価を確立し監視するシステムおよびプログラム
KR20070118074A (ko) 외래 코드 검출을 위한 시스템 및 방법
EP3903183A1 (en) Automatic mitigation of corrupted or compromised compute resources
US20240028712A1 (en) Control flow integrity enforcement for applications running on platforms
EP3831031B1 (en) Listen mode for application operation whitelisting mechanisms
Xu et al. DR@ FT: efficient remote attestation framework for dynamic systems
EP3535681B1 (en) System and method for detecting and for alerting of exploits in computerized systems
Moffie et al. Hunting trojan horses
US11971979B2 (en) Integrity violation detection for system services
Lee et al. A rule-based security auditing tool for software vulnerability detection
US20230169162A1 (en) Integrity violation detection for system services
Karpachev et al. Dynamic Malware Detection Based on Embedded Models of Execution Signature Chain
WO2024020162A1 (en) Control flow integrity enforcement for applications running on platforms

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070330

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100427

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100720

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100921

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101019