JP2004537105A - 状態参照モニタ - Google Patents
状態参照モニタ Download PDFInfo
- Publication number
- JP2004537105A JP2004537105A JP2003505751A JP2003505751A JP2004537105A JP 2004537105 A JP2004537105 A JP 2004537105A JP 2003505751 A JP2003505751 A JP 2003505751A JP 2003505751 A JP2003505751 A JP 2003505751A JP 2004537105 A JP2004537105 A JP 2004537105A
- Authority
- JP
- Japan
- Prior art keywords
- event
- information
- rules
- computer
- reference monitor
- 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
Links
Images
Classifications
-
- 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/60—Protecting data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/468—Specific access rights for resources, e.g. using capability register
-
- 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/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- 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/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2101—Auditing as a secondary aspect
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2105—Dual mode as a secondary aspect
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2113—Multi-level security, e.g. mandatory access control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer And Data Communications (AREA)
- Storage Device Security (AREA)
- Exchange Systems With Centralized Control (AREA)
- Selective Calling Equipment (AREA)
- Stereophonic System (AREA)
Abstract
Description
【0001】
本発明は一般に、コンピュータシステムの動作方針を制御するソフトウェアに関する。例えば、ファイルおよびネットワーク接続などの種々のシステム資源へのアクセスがそのように制御可能である。
【背景技術】
【0002】
最近のコンピュータシステムは2段階のソフトウェア、オペレーティングシステムとアプリケーションソフトウェア、によって制御される。オペレーティングシステムは、コンピュータのメモリ内の、オペレーティングシステム空間内で実行されるオペレーティングシステムシステムと、アプリケーション空間内で実行されるアプリケーションとの間の分離を保持する。
【0003】
アプリケーションは、電子メールメッセージを処理するなどの業務上の問題に対する解決策を提供するソフトウェアである。アプリケーションは、記憶媒体に格納されたネットワーク接続またはファイルなどの資源へのアクセスのための要求をオペレーティングシステムに伝達することによって、その作業を行う。
【0004】
多くの種類の動作方針の内のいずれか一つ以上を制御することが望まれることも有り得る。一つの共通したシナリオは、故意で悪意のある攻撃からシステムを守るため、または、種々の処理の正しく不干渉な動作を保証するために、上述したように、種々のシステム資源へのアクセスを制御することである。説明のために、セキュリティのためのアクセス制御が述べられている。しかしながら、本記述が、以下の記述の中で明瞭に指摘されかつ暗示されるように、更に広い意味を有することは、当業者にとっては明らかであろう。
【0005】
そのセキュリティシステム例において、アクセスは一つ以上のリアルタイム処理によって従来の方法で制御されるが、方針は一つ以上の非リアルタイム処理の支援によって別個に確立される。この記述の文脈において、リアルタイム処理とは、そのリアルタイム処理と関連するトランザクションが処理される速度にほとんど影響しないほど、行為が十分速く行われる処理のことである。非リアルタイム処理とは、トランザクションが自然に発生する瞬間速度よりも十分遅い速度でトランザクションを処理する処理のことである。
リアルタイムアクセス制御処理とデータ構造は、参照モニタ、アクセス制御リスト、許可フラグ、アクセストークン、および処理IDチェックを含むが、これらに限定されない。参照モニタとは、コンピュータシステムの構成要素であって、一つの構成要素、例えばユーザ処理、による、他の構成要素、例えばファイル、のアクセスが許可されるかどうかを判定する。
【0006】
以下に用いられるように、ダイナミック状態とは、情報の集まりであって、リアルタイムに集められ、機械または処理の状態を、その状態に至る特定の事象列の結果として表す。無状態システムまたは構成要素とは、そのようなデータを集めないものをいう。
【0007】
ここでは無状態参照モニタと呼ばれる従来の参照モニタは、例えば、マイクロソフト(登録商標)のウインドウズ(商標)2000またはユニックスを含む種々のオペレーティングシステムのカーネルの中に見られる。それらは、ファイルまたは他の資源への特定のアクセスが許可されるかどうかを判定するために用いられる。
【0008】
従来のオペレーティングシステムは、埋め込み型無状態参照モニタを有し、資源へのアクセスを制御する。ユーザ処理は、ユーザが供給するある種の識別トークンに基づいて開始され、ユーザに対して識別される。ほとんどの場合、そのアクセス決定は、そのローカルプログラムまたは処理が、要求と、資源に関する一つ以上の静的許可フラグまたは一つのアクセス制御リストとを作る、ユーザのアイデンティティに基づいてなされる。例えば、ユニックスまたはウインドウズ2000を参照のこと。静的許可フラグとアクセス制御リストの内容は、システムの現在状態を表す情報を含まず、むしろ、システムの状態に拘わらず同じ結果を生成する情報を含んでいる。
【0009】
最もありふれた参照モニタは単一資源型(例えば、ファイルやネットワーク接続)を扱う。Computer Associatesが提供しているeTrust Access Control v.5.1などのいくつかのものは多重資源型を保護する。
【0010】
いくつかのオペレーティングシステムは、個々の許可を各ユーザと関係付け、それらの許可を資源の静的アクセス制御リストと比べてチェックすることによってきめ細かい制御を行う。このことは改善点であるが、一般的には限定された数の許可フラグがあるだけである。セキュリティ強化型リナックスはそのようなオペレーティングシステムの一例である。
【0011】
更にきめが細かくて、個々のユーザがトークン一式を提供できるようにするオペレーティングシステムがあり、いくつかがアクセス制御リストに見られるものと合致するならば、アクセスが認められる。
アクセス制御決定の中に要求プログラムの起点を含むことができる動作環境がある。(例えば、非特許文献1参照)。
【0012】
従来は、非リアルタイム処理が採用され、有効な方針、例えば、セキュリティ方針を確立または修正するために、データを集め、過去の事象を分析する。一般に、従来の非リアルタイム処理は、例えば、侵入検知システムを含んでいる。
【0013】
侵入検知システムの一つの種類としては、侵入を表すデータのためのログファイルをポーリング(poll)し、監視し、周期的に調べる、またはそのいずれかを行う独立エージェントがある。そのような非リアルタイムシステムの欠点は、侵入が「犯行以後」にのみ検出されることである。侵入者は、ログファイルおよびその他の場所に記録された、侵入としか説明のつかない行為の監査証跡を残す。しかしながら、そのような非リアルタイム侵入検知システムが侵入を識別するときまでに、侵入者はとっくにいなくなっており、被害を被ることになる。(例えば、非特許文献2、非特許文献3、非特許文献4参照)。
【0014】
上記に述べられているか参照されているような侵入検知システムによって行われる分析は、上記にも述べられているように、リアルタイム構成要素によって実施されるべき方針を開発するのに役立つ。例えば、過去の作用からの侵入検知によって調べられたパターンに基づいて更に複雑な規則に従うことができる参照モニタがあるが、それらは各制御された要求についてのそれらの状態を更新することはできない。(例えば、非特許文献5参照)
【非特許文献1】
Dan Wallach氏とEdward Felton氏による「ジャバスタック検査の理解(Understanding Java Stack Inspection)」(セキュリティとプライバシーについてのIEEE会報、1998年5月号)
【非特許文献2】
Peter G. Neumann氏とPhillip A.Porras氏による「Experience with EMERALD to Date」(侵入検知とネットワーク監視についての第1回USENIX研究会、1999年4月)
【非特許文献3】
Eugene Spafford氏等による「独立エージェントを用いた侵入検知(Intrusion detection using autonomous agents)」(コンピュータネットワーク34(2000年)
【非特許文献4】
Steven R. Snapp氏等による「分散侵入検知システム−動機付け、体系、および初期原型(DIDS (Distributed Intrusion Detection System)――Motivation,Architecture,andAn Early Prototype)」(第14回ナショナルコンピュータセキュリティ会議議事録、1991年10月)
【非特許文献5】
Debra Anderson氏等による「次世代侵入検知エキスパートシステム概要(Next−generation Intrusion Detection Expert System(NIDES) A SUMMARY)(SRIインタナショナル、1995年5月)
【発明の開示】
【発明が解決しようとする課題】
【0015】
遠隔地ハッカーの危険性が伴うネットワークコンピューティングの進歩は、アクセス制御決定を更に困難にする。ほとんどのシステムは、そのアクセス制御決定を、上述したように、特定のユーザに結び付けられたローカル要求プログラムのアイデンティティに基づいて行い、遠隔地ハッカーの恐らくは未知のアイデンティティに基づいて行っていない。
【0016】
また、前述のものの明らかな組み合わせで構成された従来のシステムは、種々のユーザ、処理、アクセス形式等の間の一線を超える作用のパターンに基づいてアクセスを検知または制御していない。前述のものの明らかな組み合わせで構成された従来のシステムは、新しく経験した脅威に応じて、リアルタイムに、動的に方針を調節することはしない。
【0017】
従来のシステムは、無状態参照モニタに固有であって、遠隔地ハッカーが信用のあるローカルプログラムをそれによって壊すことができるローカル・アプリケーション・プログラム・エラーの前ではほとんど弾力性のない、動的状態の欠乏に苦慮している。アプリケーションプログラムエラー、すなわち、バグは、プログラムが誤りやすために常に存在し続け、そのテストはすべての種類の悪意ある攻撃を合理的に予見することはできない。
【0018】
従来の参照モニタが使われる場合、ひとたび攻撃者がローカルアプリケーションを壊そうとするや否や、攻撃者は一般的にそのアプリケーションについてのすべての権利と特権を有する。電子商取引サーバの場合、これは、トランザクション履歴とそれに関連するクレジットカード情報とを見るための能力を含む可能性がある。
【0019】
最後に、すでに上述したように、従来のシステムは、攻撃の種々の部分が、種々のプログラムまたは処理の一見通常の動作であって組み合わされたときのみ攻撃を形成する動作によって行われる、そういった攻撃を検知し反応することができない。
【課題を解決するための手段】
【0020】
本発明は、セキュリティ方針などの、コンピュータシステムの動作方針を制御するための改善されたシステム、方法、およびソフトウェア製品を提供する。本発明の一つの実施態様の一側面に従って、リアルタイム参照モニタソフトウェア製品は、機械読み取り可能媒体上に一連の命令を備え、前記一連の命令が、リアルタイム状態情報が格納され、該状態情報がそこから復旧される記憶領域と、活動のパターンに基づいて許容可能な活動を規定する複数の規則と、前記活動を前記活動への規則の適用に基づいて識別し管理する複数のインタセプタと、を規定するソフトウェア製品である。前記ソフトウェアは、前記状態情報を前記複数のインタセプタのうちの種々のインタセプタに亙って関連付ける処理を含むことができる。前記複数のインタセプタの少なくとも一つが従来のコンピュータオペレーティングシステムの既存の要素であることができる。前記状態情報を関連付ける処理は、許容される資源基準を、前記インタセプタ資源基準と前記状態情報とによって識別される活動を考慮して規定する規則と、前記識別された活動と前記状態情報とに前記規則を適用する規則インタプリタと、を含むことができる。前記規則は前記リアルタイム参照モニタを再起動せずに変更可能である。前記複数の参照インタセプタは二つ以上の資源型と対応でき、前記記憶領域は単一記憶領域である。前記記憶領域内容は前記規則が変更されたときに保存可能である。前記ソフトウェア製品は、同じシステム上のアプリケーションプログラムにメッセージを送ることができるアプリケーションプログラムインタフェースを更に含むことが可能である。このソフトウェア製品は、他のシステム上のアプリケーションプログラムにメッセージを送ることができるアプリケーションプログラムインタフェースを更に含むことができる。前記複数の参照インタセプタは、ファイルアクセス、レジストリアクセス、ネットワークアクセス、オブジェクトアクセス、システム呼出アクセス、キーボードアクセス、外部入力、およびユーザ入力の内の二つ以上を監視することができる。本発明の実施態様のもう一つの側面に従って、コンピュータ実行型参照モニタは、複数の規定された事象を検知し事象メッセージを生成する、コンピュータ上で実行される監視処理と、前記監視処理によって生成された事象メッセージに関する情報が格納された、前記コンピュータ上の記憶装置と、前記コンピュータの動作を変更することによって、事象メッセージの特性と、前記記憶装置に格納された情報と、一組の規則とに対応する、コンピュータ上で実行する、規則翻訳処理と、を含む。前記一組の規則は前記記憶装置に格納された情報に応じて変更可能である。前記一組の規則は変更可能であり、前記記憶装置に格納された情報は、前記一組の規則が変更されたときに保存される。最後に、外部事象メッセージ生成処理が、別のコンピュータ上で実行可能であり、事象メッセージを前記規則翻訳処理に伝達することができる。
【0021】
本発明の実施態様の更なるもう一つの側面に従い、コンピュータ上で処理方針を実行する方法は、それぞれが複数の規定された事象型のうちの一つを有する第1事象と第2事象を検知するステップと、それぞれが前記第1事象と第2事象のうちの対応する一つについての情報を含む第1事象メッセージと第2事象メッセージを生成するステップと、前記第1事象についての情報を記憶するステップと、前記第1事象についての前記記憶された情報と前記第2事象についての情報とに応じた処理方針を実施するステップと、を含む。前記方法は、一組の規則のうちの一つを前記第1事象についての前記記憶された情報と前記第2事象についての情報とに適用して前記方針を実施する内容を判定するステップを更に含むことができる。前記方法は、前記コンピュータ上でオペレーティングシステムを実行するステップと、前記オペレーティングシステムを再起動することなく、かつ、前記記憶された情報を失うことなく、前記一組の規則を変更するステップと、を更に含むことができる。最後に、前記方法は、前記検知、生成、記憶、および実施を妨害することなく前記一組の規則を変更するステップを含むことができる。
【発明を実施するための最良の形態】
【0022】
本発明は、その実施態様の種々の側面についての以下の詳細な説明により更に明らかとなる。
本発明の実施態様の側面を図1により説明する。典型的な実施態様はコンピュータシステムのセキュリティ領域の中にあるが、本発明は、当業者にとって明らかなように、他の領域内のシステム内に容易に具体化されることができる。
【0023】
コンピュータにおいて、システムセキュリティの一つの重要な側面は、システム事象100、例えば、資源へのアクセス要求、を監視することと、システム事象の影響を制御すること、例えば、資源への必要なアクセスを妨げるか許可すること、とである。事象を監視するために、インタセプタ101が、システム事象が通過する制御経路または通信経路に挿入される。例えば、監視された事象がネットワークアクセス要求ならば、インタセプタ101は、ネットワークアクセス要求がオペレーティングシステムのある部分から他の部分へ伝達される点でオペレーティングシステム内に挿入される。インタセプタ101は、阻止した各事象100のための事象メッセージを生成する。事象メッセージ103は状態参照モニタ104に伝達され、状態参照モニタ104はインタセプタ101に方針メッセージ105を返す。方針メッセージ105は、インタセプタ101がとる行為、例えば、アクセス要求事象100を、制御経路または通信経路102に沿って、その意図する影響を持ち続けさせる行為、または、その事象100を経路102に沿って通過させない行為などである。他の特に指定されていない事象モニタによって生成された外部事象メッセージ106は、状態参照モニタ104によっても処理可能である。状態参照モニタ104はユーザコンソール107およびログファイル108とも通信する。
【0024】
図1の状態参照モニタ104を図2を用いて更に詳細に説明する。典型的な参照モニタ104は、ドライバとして、オペレーティングシステムの一部として実行されるようになっている。この典型的な参照モニタ104は、ここでは状態参照モニタと呼ばれる。なぜなら、それは、以下に述べるように、決定方針を実行するにおいて、システム状態情報を保持すると共に、その変更に信頼を置いているからである。この状態参照モニタ104は、オペレーティングシステムシステムの他の部分と通信すると共に、通信チャンネルを介してアプリケーションと通信する。一つのチャンネル201は、上述したように、事象メッセージ103と方針メッセージ105を運ぶ。他のチャンネル202は、外部事象メッセージ106にみならず、アプリケーション空間203からとそこへのその他のメッセージを運ぶ。このその他のメッセージはユーザコンソール107およびログ108からとそこへのメッセージを含むがそれに限定されない。
【0025】
通信チャンネル201は、状態参照モニタ104からとそこへのメッセージを、規則アプリケーションプログラミングインタフェース(API)211を介して伝送する。通信チャンネル202は、状態参照モニタ104からとそこへのメッセージをユーザAPI204を介して伝送する。
【0026】
状態参照モニタ104内で、すべての種類のメッセージ、特に事象メッセージ103と外部事象メッセージ106が、事象ルータ205によって、状態参照モニタ104の規則API211、ユーザAPI204、および他の構成要素との間で経由転送および直接転送される。事象ルータ205は、すべての内部通信を方向決めし制御する、状態参照モニタ104の通信センタである。
【0027】
状態参照モニタ104の主要な動作論理は、規則インタプリタ206の中に含まれており、規則インタプリタ206はまた状態データベース207とコンパイルされた規則バイトコード208の内容を利用する。規則インタプリタ206は、設計によって極めてバグに耐えるようにできる一片の小さく簡単な論理で有り得る。状態データベース207は、単に動的状態情報の保存手段であり、従って容易にバグに耐えることができる。状態データベース207は、少なくとも、安定したメモリまたは記憶場所内の一部に存在することができるので、オペレーティングシステム再立上げを生き延びることができる。
【0028】
コンパイルされた規則バイトコード208は、実施される動作方針を表し、それに対してシステム内の活動と状態がチェックされる。そのように、システムの複雑性の多くがバイトコード208内に存在することができる。バイトコード208はまた、バグを減らすか無くす設計技法に従わなければならないとしても、バイトコード208内のバグが、オペレーティングシステムを破損させることができず、単に不適切な方針決定を行うことができるということは何の価値もない。従って、更に頑健なシステムは、規則のバイトコード208への分割と解釈論理の規則インタプリタ206への分割から生じる。
【0029】
状態情報は、ある事象が現時点のある時間内に発生したという情報で有り得るが、それに限定されるものではない。禁止された事象の組合せをX−Y−Zで表すものとする。すなわち、事象X、事象Y、および事象Zは、悪い結果を生じるためのある時間枠内に発生なければならない。そして、状態データベース207が情報X−Yを保持しているならば、バイトコード208内のルールがZを禁止する。しかし、バイトコード208内の別の規則が、事象Xと事象Yまたはそのいずれかが適当時間後に状態データベース207から取り除かれるようにする。事象X、Y、およびZは同一ユーザまたは処理と関連付けされる必要はなく、また、制御されるべき作用の種類に基づいて、同一ユーザまたは処理と関連付けられてもよい。最後に、状態参照モニタ104は、状態参照モニタ104と、アプリケーション空間203内のアプリケーションまたはネットワーク210を介してアクセス可能なアプリケーションとの間の通信の助けとなるマッピング可能メモリ209を備えている。マッピング可能メモリ209は単に、状態参照モニタ104と他のアプリケーションの両方によってアドレス可能なシステムメモリの一部であるので、データ伝送は、特別な通信装置、機構、またはプロトコルを必要とせずに、所定の場所に書き込んだり、所定の場所から読み出したりすることによって容易に達成可能である。
【0030】
インタセプタ101はまた、状態参照モニタ104のように、前記典型的な実施態様の中でも、オペレーティングシステムカーネルと共に、しかし独立して、ロードされたドライバとして実行される。インタセプタ101は、ここでは事象と呼ばれる、さまざまな種類のオペレーティングシステム要求など、例えば、ファイルまたはネットワーク接続などのオペレーティングシステム資源へのアクセスのための要求、を阻止することによって、非常に低いレベルにおいてオペレーティングシステムと相互に作用し合う。インタセプタ101は、事象を阻止したときには、上述のように、事象メッセージ103を生成する。阻止された各事象は、状態参照モニタ104によって、規則バイトコード208と状態データベース207の内容とによって表される規則に照らし合わして、事象の翻訳のための要求として扱われる。バイトコード208に含まれた規則を事象メッセージ103と状態データベース207の内容とに適用する状態参照モニタ104の結果が方針メッセージ105であり、この方針メッセージ105はインタセプタ101に送られる。それからインタセプタ101は、方針メッセージ105の内容、例えば、資源アクセスの妨害または許可、を実行する。
【0031】
インタセプタ101は他の形式をとることもできる。それは単に、状態参照モニタ104に、オペレーティングシステム作用のある側面を観察させ、それに応じてその作用を変更させる、APIであってもよい。例えば、適当な変更により、インタセプタ101はオペレーティングシステム性能特性を検知し、それに応じて関連パラメータを調節する。
【0032】
インタセプタ101は、状態参照モニタ104に与えられた目的にとって重要な資源に影響を与える経路にのみ挿入される必要がある。セキュリティ・アプリケーションにおいては、そのような資源は、ウインドウズ・レジストリ・アクセス要求、ネットワークアクセス要求、ウインドウズ\システム\32ディレクトリ・アクセス要求、およびアウトルック個人アドレスブック・アクセス要求のうちの一つ以上を含むことができるが、それに限定されるものではない。インタセプタ101は、ウィルス・スキャナ・ログ・ファイルなどの他の資源から入力を引き出すこともできる。
【0033】
上記に示したように、ユーザレベル・アプリケーションへのアクセスまたはユーザレベル・アプリケーションを介しての状態参照モニタ104へのアクセスはアプリケーション空間203を介して与えられる。ユーザコンソール107上で実行されるグラフィカルユーザインタフェース(GUI)は状態参照モニタ104へのユーザアクセスを与えて、例えば、性能を監視し、ログを一覧し、動作パラメータと方針を調節することができる。ユーザコンソール107を介してアクセスされるGUIは、例えば従来のブラウザであってもよく、または、その目的のために設計された専用のソフトウェアプログラムであってもよい。動作ログおよび誤りログなどを保持するデータベースまたはファイルシステムもまた、アプリケーション空間203を介してアクセス可能である。ログの使用と使用されるログの具体的な種類とは、具体的な個々の要求に基づいて当業者によって規定される。ネットワーク接続210もまた、アプリケーション空間203を介して状態参照モニタ104によってアクセスされる。このネットワーク接続210は外部事象メッセージ106が到達したネットワーク接続である。
【0034】
ここで、状態参照モニタ104の詳細動作を説明する。動作は二つの類型、通常動作と立上げ時動作、に分けることができる。
通常動作の間、事象はインタセプタ101によって阻止され、事象メッセージ103が状態参照モニタ104に送信される。ファイルアクセス要求およびネットワーク接続要求などの、オペレーティングシステムの他の部分を通常通過する事象は、インタセプタ101によって一時的に保持されるので、普通の即座の影響を持たないが、状態参照モニタ104は、その事象を妨害するか送信させるかを、そのとき事実上、処理方針に基づいて決定する。
【0035】
インタセプタ101からの事象メッセージ103は状態参照モニタ104の中で規則API211によって受信される。規則API211は、インタセプタ101へのメッセージを送受信するための簡単なインタフェースであり、インタセプタ101は、状態参照モニタ104との適合性のために特別に書かれてもよく、オペレーティングシステムのパッケージ化された構成要素であってもよく、アドオン構成要素として何らかの団体によって提供されてもよい。規則APIは単に、事象メッセージ103を事象ルータ205に転送する。以下に示されるように、規則API211はまた、必要なときには、事象ルータ205からのメッセージをインタセプタ101へ転送する。
【0036】
事象ルータ205は状態参照モニタ104の通信中枢である。状態参照モニタ104の一つの構成要素から別の構成要素へ移動されなければならないどんな種類のメッセージも事象ルータ205によって伝送される。指示されたようにメッセージを動かす以外は、事象ルータ205は如何なる他のメッセージ処理も行う必要がないが、当業者は、特定のアプリケーションの要求に応じて、事象ルータ205内に他の処理を含めることができる。
【0037】
事象ルータ205は、状態参照モニタ104の受信構成要素のためのメッセージを、優先順位に従って待ち行列に入れる。事象メッセージ103の場合、優先順位は、例えば、事象の種類に基づくことができる。従って、時間の影響を受けやすいネットワークアクセス事象は、そのような時間の影響を受けないファイルアクセス事象よりも先に処理することができる。
【0038】
事象は、従来のシステムの中で通例となっているようにユーザへの事象メッセージというよりもむしろ、事象を作成したアプリケーションへの事象メッセージの中で識別され、このことは、ユーザ社会と直交する方針が設定され実行されるのを可能にする。これは、セキュリティ方針とアクセス制御方針などの処理方針が、事象を生成するユーザとユーザに帰する権利および特権とに基づいて動作する従来のシステムとは異なっている。
【0039】
待ち行列に入れられた事象は、処理のために規則インタプリタ206によって優先順位ごとに取り上げられる。まず、規則インタプリタ206が、事象メッセージによって記述された事象が、状態データベース207に格納されるべき動的状態情報の一部として指定された種類のものであるかどうかを判定する。もしそうならば、その事象についての情報が状態データベース207の中に格納される。格納される情報は、事象の時間、事象の種類、事象を生成するアプリケーション、そのアプリケーションを有するユーザなどのうちのいくつか又はすべてを含むことができるが、必ずしもそれらに限定されるものではない
。
【0040】
次に、事象の種類は、コンパイルされた規則バイトコード208のどのセグメントが規則インタプリタ206によってアドレス指定されるかを決定する。コンパイルされた規則バイトコード208のセグメント内で、規則インタプリタ206は演算コードに基づいてスイッチ機能を実行する。
【0041】
一つのセグメント内で、一連の規則がこの擬似コード列(数1という)に続くことによって実行される。
【0042】
【数1】
著しい性能改善が、前述の「switch (Opcode)」命令文の引き数を最適化することによって得られる。スイッチ命令文は、予想されるケースが1で始まる連続整数である場合、最も効果的である。従って、規則インタプリタ206の中のスイッチ機能によって扱われなければならない演算コードの値を管理するために、その演算コードは、バイトコードが最初に使用される前に以下の擬似コード(数2という)によって翻訳される。
【0043】
【数2】
立上げ時間動作は、種々の規則が、特にセキュリティアプリケーションにおいて、特に攻撃を受けやすい処理のための方針を特化するために、追従可能であることを除いて、通常動作と同じである。更に、特化された立上げ時間規則は、立上げ時間オペレーティングシステム環境が高度に制御されるので、極めて簡単であり、しかもきっちりと書くことができる。
【0044】
種々の時間に種々の規則セットを提供するために、コンパイルされた規則バイトコード208が、この分野で知られているように、活動規則セットと非活動規則セット間の選択をソフトウェアスイッチを使って可能にするデータ構造の中に格納される。従って、このシステムは、混合規則ではなく、一度に一つの規則セットだけを確実に実行している。更に、規則がロードされるとき、規則チェックなどの種々の処理が実行可能である。この仕組みは特に、他の時間よりも立上げ時間の間に動作する種々の規則セットを有するのに有利である。規則は立上げ時にすべて格納されロードされる必要はないので、スペースと時間を節約できる。立上げ時間規則は、ウインドウズ対応システムに格納でき、ウインドウズ対応システムからロード可能である。後ほど、立上げが行われるときに使用される規則が、ネットワーク資源かファイルからロード可能である。一般に、規則バイトコード208はダウンロード可能なプログラムであり、規則インタプリタ206は仮想機械である。従って、規則は、オペレーティングシステムを停止するか再起動することなしに、いつでも変更することができる。別の仕組みにおいては、コンパイルされた規則バイトコード208は、状態参照モニタ104を停止するか、オペレーティングシステムを再立上げすることなしに、容易に上書きできる一定場所に、格納することができる。
【0045】
上記に示したように、種々の種類の事象パターンが、検知と行為のために、規則バイトコードの中にプログラム可能である。簡単な組み合わせであるX−Y−Zが先に一例として与えられている。しかしながら、規則はまた、以前に見られなかったどんなパターンも、禁止されたパターンとして識別することができる。この種の規則は、システムが最初に「プロファイル」可能な環境、すなわち、活動の通常の組み合わせとパターンが状態データベースに格納されている状態収集モードで動作可能な環境、において有益である。そのようなシステムはその後、予めプログラム化されたパターンと異常パターンの両方が検知され作用を受ける、「閉じ込め」モードに置かれる。この種のプロファイリングは、作用の真の範囲を捕らえるようにシステムが動作される環境において行われるのが好ましい。規則は、ユーザコンソール107において、適切なプログラムインタフェースを介して、バイトコード208のユーザ操作によって、動的に厳しくまたは緩くされることも可能である。
【0046】
方針メッセージと、ユーザコンソールとの通信とに加えて、状態参照モニタは、少なくともそのいくつかはユーザにいかがわしい行為を許すべきかどうかを選択させる種々のレベルの警告と警報を生成することができる。この特徴は一般に有益であるが、上述したようにプロファイルされた、システムの中の特定の用途を持っている。一度閉じ込めモードに入ると、見られていないが通常は安全な作用が依然として存在するが、ユーザはそれについての判断を省略することができる、状態参照モニタ104は、その条件に関してユーザに警報を出し、その作用がバイトコード208内に定義された規則に基づいて許可できるか否かを記録することができる。
【0047】
本発明の一実施態様を、悪意のあるユーザとソフトウェアに対してコンピュータシステムを安全にすることに関して説明する。
コンピュータシステムのセキュリティは、新しい決定をする場合、保存された状態の使用を可能にする、以前のアクセス制御を含む、状態参照モニタを使うことによって強化可能である。説明のための状態参照モニタは、ファイル、システム構成情報、ネットワークアクセス、システム呼出、ローカルまたは遠隔のオブジェクト呼出などの数多くの種々の資源のためのアクセス要求を統合し関連付ける。動作環境へのこの包括的な展望は、状態参照モニタ104に、従来の単一資源型無状態参照モニタよりも優れたアクセス制御決定をさせることができる。
【0048】
状態参照モニタは異常作用を検知し、更なるアクセスを防ぐ。例えば、電子商取引サーバが一度壊れると、その後異なる作用をし、このことは正常状態からの逸脱として検知可能である。
【0049】
状態参照モニタ104は、状態データベース207を用いてある期間情報を保持し、この情報を用いてその決定の質を改善する。
上述したように、状態参照モニタ104は、要求経路に挿入されたインタセプタ101を用いてアクセス要求を阻止する。このインタセプタ101は、資源型とオペレーティングシステムとに基づく種々の機構を用いて実現される。例えば、ウインドウズNTのもとでは、
・ファイル要求は、マイクロソフトが提供するファイルシステムフィルタAPIを用いて阻止される。インタセプタ101は全ての要求の経路にある。それは、入手可能な情報からファイル名を抽出し、それを状態参照モニタ104に送信する前にその要求を正規化する。状態参照モニタ104応答は、その要求を先へ進めるかどうか、または、誤りコードをオペレーティングシステムに返すかどうかを判定する。
・レジストリ要求は、レジストリシステム呼出機能を、関連情報を抽出したのち状態参照モニタ104を呼び出す機能と置き換えることによって、阻止される。状態参照モニタ104応答は、その要求を元のシステム呼出機能へ渡すかどうか、または、誤りコードをユーザアプリケーションへ返すかどうかを判定する。
・ネットワーク要求は二つの場所の中で阻止される。一つは、アプリケーションと、トランスポートデータインタフェースとの間にあり、マイクロソフトが提供するAPIを使用する。もう一つの阻止は、ネットワークデバイス層内の置き換え機能によって行われる。後者の場合、状態参照モニタ104が行為を否定することを望む場合、知らせるべきアプリケーションがないので、パケットは放棄される。
・一般的なシステム呼出は、オペレーティングシステムカーネルへの入口点での置き換え機能によって阻止される。引き数がチェックされ、それから状態参照モニタ104が呼び出される。状態参照モニタ104応答は、要求を元の機能へ進めさせるかどうか、または、誤りコードをアプリケーションへ返すかどうかを判定する。阻止されるシステム呼出の例には、他の処理におけるキーボードフッキングとメモリ変更が含まれる。
・COMオブジェクト呼出は、ユーザアプリケーションの中で用いられる標準DLLの中の置き換え機能によって阻止される。要求が受信されたとき、状態参照モニタ104が呼び出される。状態参照モニタ104応答は、要求を元の機能に渡すかどうか、または、誤りコードを返すかどうかを判定する。
【0050】
他のオペレーティングシステムについては、保護を必要とする他の資源があるかも知れず、上記の例のいくつかは適用できないかも知れない。しかしながら、オペレーティングシステムが提供する阻止APIを使用するか、機能ポインタを代わりの阻止コードと置き換えるか、のいずれかの一般的な方法を用いることができる。例えば、実際の機能コードをパッチングして発呼を作る方法を含む他の方法が使用可能である。
【0051】
状態参照モニタ104は、オペレーティングシステム内の既存のどの無状態参照モニタよりもなおその上の更なる処理ステップとして作用する。従って、それは、標準の無状態参照モニタだったらアクセスを否定したであろうとき、アクセスを許可することはできない。
【0052】
状態参照モニタ104の作用を制御する規則は、変更可能であり、即時効果を現す。記憶領域の内容は、この処理の一部として変更可能である。
状態参照モニタ104は、限界状態が発生したときにユーザを促すことができる。これは、価値ある追加情報を提供して正しい決定を行う。
【0053】
他の事象は、制御サーバ、ローカルオペレーティングシステムログ、アプリケーションログ、アプリケーションモニタ、および他のシステムモニタを含む、ローカル源および遠隔源から受信可能である。これらの事象は更に状態データベース207の内容を変更することができる。このことは、将来のアクセス制御決定を場合によっては変更する効果がある。
【0054】
状態データベース207は以下のような項目についての情報を保持するために使用可能である。
・アプリケーション作用:例えば、アプリケーションが資源をアクセスする場合、この事実が思い出され、将来のアクセス決定を変更するために使用可能である。
・ユーザ入力:例えば、ユーザは具体的な情報を提供するよう促されることができ、この情報は将来のアクセス決定を変更するために使用可能である。
・外部:例えば、他のシステムは、状態参照モニタ104に送信可能なメッセージを生成することができ、このメッセージ情報は、このシステムまたは他のシステムについての将来のアクセス決定を変更するために保存および使用可能である。
・時間:保存された情報の各項目は、個々に指定された時間後に消去されるように設定可能である。
・アプリケーションの継承:一つのアプリケーションが別のアプリケーションを起動するとき、親に関する属性が子に伝送可能である。
【0055】
記憶領域内の場所は、以下のものを含む種々の異なる種類のオブジェクトを保持できる。
・整数―事象が発生したかどうかを示すための標識としてしばしば使用される。
・ストリング―アプリケーション名称、ファイル名称などを保持するために使用される。・整数またはストリングによって索引付け可能な整数またはストリングの配列―これらは資源名称が索引として使用されるときに、資源についてのフラグを格納するのに役立つ。・範囲ツリー−これは、「範囲リストにデータ項目はあるか?」、例えば、「10.0.0.0〜10.255.255.255または192.168.0.0〜192.168.255.255の範囲にIPアドレスはあるか?」といったことを含む問題を扱うときに役立つデータ構造である。
いま述べられたセキュリティ実施態様の状態参照モニタは以下に述べるように動作する。
【0056】
状態参照モニタ104は、例えば、インタセプタ、ユーザ督促応答、正規タイマ、ユーザ空間デーモン、または中央サーバといった資源の一つから要求を受信する。
この要求はフィールドに分類され、各フィールドは状態データベース207内の別々の場所にコピーされる。更に、要求の種類が書き留められる。
【0057】
状態参照モニタはそれからセキュリティ方針の実行を開始する。一つの実施態様はバイトコードインタプリタを用いてセキュリティ方針の実行に踏み出す。バイトコードは、記憶領域内の場所を調べて算術計算を行うなどの簡単な行為、または、事象をフォーマットして別の構成要素に送るなどの複雑な行為を行うことができる。セキュリティ方針を表現する他の言語と方法は可能である。
【0058】
最適化とは、バイトコードプログラムを、それぞれが特定の要求部分集合を取り扱う数多くの小さく簡単なバイトコードプログラムに分割することである。例えば、各プログラムが特定の資源型のための要求を取り扱うことがありうる。このことは、各要求のために検査される必要のあるバイトコード命令の数を減少させる。
【0059】
もう一つの実施態様は機械レベル命令の直接実行を含むが、そのような方法の性能はバイトコードを用いるよりも良くなるであろうけれども、複雑であるという欠点と機械コードを攻撃から適切に守る困難性とが直接比較を困難にしている。
【0060】
バイトコードは記憶領域内の場所を変更して、その後の要求による使用のために一時的にまたは永続的に結果を記録することができる。結果は、ある期間記録された後に消去される。このことは、一連の行為が特定の期間内に起こるときを検出しようとするときに役立つ。
【0061】
バイトコードは、要求が許可されるべきか、否定されるべきか、待ち行列に入れられるべきかを示すことができる。
バイトコードが完成し、要求が許可されるべきか拒否されるべきかであると、状態参照モニタはインタセプタに応答し、アクセス決定を返す。
【0062】
要求が待ち行列に入れられるべきならば、それはその後の分析のために待ち行列に入れられる。このことは、ユーザが何らかの情報のために督促される必要があるか、動作が要求の最終結果が決定可能である前にユーザデーモンによって実施される必要があるときに起こりうる。これらの場合に、状態参照モニタは、ユーザ応答によるか、追加情報を有するユーザデーモンによって、再び作動させられる。バイトコードが呼び出され、そして、それはこの要求が以前に待ち行列に入れられた要求と関連していることを検知する。要求の一部として受信された情報は記憶領域に保存される。
【0063】
以前に待ち行列に入れられた要求はその後呼び出され、状態参照モニタのバイトコード部に再送信される。バイトコードは元の要求を処理するが、それはいまユーザ応答からの記憶領域内の保存された情報を有している。このことは、それに要求の処理を終了させ、許可応答か拒否応答を返させる。
【0064】
状態参照モニタは、確実に、要求が順序付けられるようにする、すなわち、要求が別の要求の前か後に起こるようにする。また、要求は、次の要求が開始可能な前に、完全に、すなわち、許可/拒否/行列入れ応答が見つかるまで、バイトコードを介して実行される。このことは、状態参照モニタとセキュリティ方針の両方の実行を簡単にする。
【0065】
セキュリティ方針は、バイトコードにコンパイルされ、状態参照モニタにロードされるC様言語で書くことができる。他の実施態様は、別の原始言語を使用することもでき、あるいは、機械コードを含む種々のコード形式にコンパイルされることもできる。
【0066】
セキュリティ方針は、保護される必要のある、資源名称、例えば、ファイル名称、ネットワークポート、オブジェクト名称などについてのデータを含む。あるいは、「プログラム」から「データ」を分けて取り出し、それらを別々にロードする。埋め込みデータ方法を有する単一プログラムは更に簡単である。
【0067】
セキュリティ方針プログラムは、それが受信できる全ての可能な事象のためのハンドラを含む。これらのハンドラのいくつかは単に許可応答または拒否応答を返し、他のハンドラは単に記憶領域が更新されるようにし、いくつかはその混合機能を有する。
【0068】
セキュリティ方針プログラムは、システムが動作している間は再ロード可能である。このことは記憶領域を変更させず、従って、方針プログラムが再ロードされる前に保存された情報は有効であり続ける。特別な要求が再ロード後の最初の要求として作動させられ、この要求は、必要とされる全ての領域の整頓または変更を行うことができる。
【0069】
セキュリティ方針プログラムは以下の三つの主要なセクションを含んでいる。
・標準環境命令。この命令は、現在のアプリケーション名称を判定する行為、情報の捕捉を維持する行為、およびファイルがどのファイル群に属するかを判定する行為などの行為を行う。これは許可/拒否の状態を判定しないが、要求される情報が入手できないならば要求を待ち行列に入れることができる。例えば、ウインドウズNTのもとでは、ファイル名称は、MS/DOSから持ち越された8.3表記法で表されるか、完全なファイル名称として表されることができる。アクセス制御のためには単一形式が望ましく、従って8.3形式は完全形式に変換されなければならない。8.3ファイル名称が例えば「statef〜1.doc」であるとすると、完全名称は例えば「stateful reference monitor.doc」となる。
・単一要求アクセス制御チェック。この命令は単一要求のためのアクセス制御チェックを行う。このチェックのために使用される情報は、要求からのデータ、例えば、ファイルに対しては、ファイル名称、ファイル拡張子、ディスクの種類(フロッピー、ハードディスク、ネットワークドライブ)、ディレクトリ、動作(読み/書き/作成/消去)などと、システムアドミニストレータによって構成されたデータとである。追加の制限が、多分中央サーバからの先に受信したメッセージの結果として設定された記憶領域内の情報から生じることがあり得る。
・多重要求ヒューリスティック。この命令は、多分制限時間中ずっと一連の行為を追跡し、その後の要求を許可または拒否できる。あるいは、一度その一連の行為が認識されると、メッセージが更なる処理のために中央サーバへ送信可能である。一般に、この一連の行為は、悪意のある作用を検知したのち、その検知を利用して、アプリケーションが行うことができる行為を制限するために使用される。いくつかの場合においては、その検知は悪意のある作用のものではなく特定の正常な作用のもので有り得る。例えば、TCPポート110またはTCPポート25へのネットワーク接続を行うアプリケーションが電子メールアプリケーションとして分類されることも有り得る。この事実は従ってその後のアクセス制御チェックまたは多重要求ヒューリスティックにおいて使用可能である。
説明のための実施態様の状態参照モニタは、時間がかかるか、カーネル空間の中で行うには困難な種々のサービスを、ユーザデーモンにして貰う。このサービスは、ユーザデーモンにメッセージを送り、要求を待ち行列に入れる状態参照モニタによって呼び出される。ユーザデーモンはそのメッセージを処理し、要求されたサービスを実行し、メッセージを状態参照モニタに送信する。状態参照モニタはその結果を保存し、元の要求を立ち上げる。
【0070】
このサービスは以下のものを含む。
・特定の処理の中で実行されているアプリケーション名称を判定すること。
・ダイアログボックスを位置付け、ユーザ入力を要求すること。
・ファイルに診断データを書き込む。
・実行可能なファイルのバージョン番号を判定すること。
・8.3形式のファイル名称を完全ファイル名称に変換すること。
【0071】
説明のための状態参照モニタの動作の一例を以下に示す。
状態参照モニタは、入力電子メールメッセージが自動的にそのコピーを送り出すのを防止する一組の規則と共にロード可能である。このことは、ネットワークアクセスを監視することによって検知される電子メールクライアントが、ファイルアクセスを監視することによって検知されるファイルを書き上げたときを書き留めることによって可能である。一方、ファイルが、ファイルアクセスを監視することによって検知されたスプリクティングプログラムによって読み込まれる。このファイルアクセスはそれからオブジェクト呼出または他の手段によって検知された電子メール送信者を呼び出す。このオブジェクト呼出または他の手段はそれから、ファイルアクセスによって検知されと元のファイルの中のデータを読む。この時、ユーザが問い合わされることが可能であり、行為が許可されるか拒否される。この事象の連鎖を検知するために、著しい量の状態の保守が必要とされる。
【0072】
しかしながら、この例は、電子メール内に埋め込まれたスクリプトがホストコンピュータに対して損害を生じるのを防ぐことはない。損害を防ぐために、もう一つのステップが実行される。上記最終段階において、メッセージが管理サーバに送られ、この管理サーバは、このスクリプトがアクセスから妨害されるべきことを他の状態参照モニタに知らせることができる。事実上各状態参照モニタにあるセキュリティ方針プログラムが告知メッセージをどのように取り扱うべきかを決定する。例えば、それは、一つの処理が、限定されたファイルへ書き込みを行おうとするやいなや、ファイルへの全ての更なる書き込みを防止することができる。
【0073】
上述された変形と側面に加えて、本発明の側面の実施態様は以下のことを含むこともできる。
複数の状態参照モニタが、単一システムについて例示することができ、それぞれ、記憶領域と、情報の交換を直接または別の構成要素を介して可能にする通信機構とを有している。この状態参照モニタは、資源型に基づいて、あるいは、ユーザ空間に対するカーネル空間に基づいて区分けされる。
【0074】
ある状態参照モニタはインタセプタに構成情報を送って、送られる要求の数と種類を増加または減少させることができる。例えば、この状態参照は、ウインドウズNTのもとでの「クリエイトプロセス(Create Process)」システム呼出が阻止されるべきかどうかと、このシステムサービスへの要求がこの状態参照モニタに送られるかどうかとを動的に変更することができる。
【0075】
ある状態参照モニタは、比較的安定した方針プログラムと頻繁に更新される状態データベースとを有するよりもむしろ、新しい動的規則を取り入れるために頻繁に更新されるそのセキュリティ方針プログラムを有することができる。
【0076】
ある状態参照モニタは、オペレーティングシステムによって供給される既存の無状態参照モニタに取って代わるか、それを包含することができる。
ある参照モニタは、オペレーティングシステムの必須部分であることができる。
【0077】
図3に示すコンピュータシステム300は、それによって、上述の実施態様の種々の要素が、個々にあるいは組み合わされて実行可能であり、一般的に少なくとも一つのメインユニットを備え、このメインツニットは、一つ以上のユーザまたは機械に情報を格納し、情報を送信し、あるいは情報を表示する一つ以上の出力装置301と、一つ以上のユーザまたは機械から入力を受信する一つ以上の入力装置302との両方に接続されている。このメインユニットは一つ以上のプロセッサを備え、このプロセッサはバスまたはスイッチなどの一つ以上の相互接続機構305を介してメモリシステム304に接続されている。入力装置302と出力装置301はまた、相互接続機構305を介してプロセッサ303とメモリシステム304に接続されている。コンピュータシステム300は更に記憶システム306を備え、この記憶システム306の中には不揮発性媒体の上または中に情報が保持されている。この媒体は記憶システム内に固定してもよく、取り外し可能であってもよい。
【0078】
コンピュータシステム300は、コンピュータプログラム言語を用いてプログラム可能な汎用コンピュータシステムであることができる。そのようなシステムを実行するのに適したコンピュータプログラム言語には、手続き型プログラム言語、オブジェクト指向プログラム言語、この二つの組み合わせ、または他の言語がある。このコンピュータシステムはまた、専用にプログラムされてもよく、専用ハードウェア、または、特定用途向け集積回路(ASIC)であってもよい。
【0079】
汎用コンピュータシステムにおいては、プロセッサは、オペレーティングシステムと呼ばれるプログラムを実行する、市場で入手可能なプロセッサであり、このオペレーティングシステムは、他のコンピュータプログラムの実行を制御し、スケジューリング、デバッギング、入出力制御、課金処理、コンパイル、記憶割当、データ管理とメモリ管理、および通信制御と関連サービスを行う。前記プロセッサとオペレーティングシステムは、他のコンピュータプログラム言語のアプリケーションプログラムがそのために書かれているコンピュータプラットフォームを規定する。本発明はいずれの特定のプロセッサ、オペレーティングシステム、またはプログラム言語に限定されるものではない。
【0080】
図4に詳しく示された記憶システム306は一般に、コンピュータ読み出し書き込み可能な不揮発性記録媒体401を備えており、その媒体の中には、プロセッサによって実行されるプログラム、またはプログラムによって処理される、媒体401の上または中に格納された情報、を定義する信号が格納されている。この媒体は、例えば、ディスクメモリまたはフラッシュメモリとすることができる。一般に、動作においては、プロセッサは、データを、不揮発性記録媒体401から、プロセッサによる情報へのアクセスを媒体402よりも速くさせる別のメモリ402に読み込む。このメモリ402は一般に、ダイナミック・ランダム・アクセス・メモリ(DRAM)またはスタティックメモリ(SRAM)などの揮発性ランダムアクセスメモリである。それは図示されるように記憶システム306内に置かれるか、図示されていないが、メモリシステム304内に置かれる。プロセッサ303は一般に、集積回路メモリ304、402内でデータを操作し、処理が完了した後にデータを媒体401にコピーする。媒体401と集積回路メモリ要素304、402との間のデータ移動を管理するための種々の機構が知られているが、本発明はそれらに限定されるものではない。本発明は特定のメモリシステム304または記憶システム306に限定されない。
【0081】
本発明の実施態様の側面は、ソフトウェア、ハードウェア、ファームウェア、またはそのいずれかの組み合わせにおいて実現可能である。実施態様の種々の要素は、個々にあるいは組み合わせて、命令がプロセッサによるアクセスと実行のために格納されているコンピュータ読み出し可能媒体を含むコンピュータプログラム製品として実現可能である。コンピュータによって実行されるとき、その命令はコンピュータに種々の段階の処理を行うよう命令する。
【0082】
本発明はその数多くの具体的な実施態様と関連付けて説明された。しかしながら、本発明の範囲内に入ると思われる数多くの変更は、当業者にとって明らかである。従って、本発明の範囲はここに添付された特許請求の範囲によってのみ限定されるものである。
【図面の簡単な説明】
【0083】
【図1】本発明を具体化したソフトウェアシステムの機能ブロック図である。
【図2】図1のソフトウェアシステムの詳細機能ブロック図である。
【図3】図1と図2のソフトウェアシステムを実行することができるハードウェアシステムの機能ブロック図である。
【図4】図3の記憶システム構成要素の機能ブロック図である。
Claims (18)
- 一連の命令を機械読み取り可能媒体上に備えたリアルタイム参照モニタソフトウェア製品であって、前記一連の命令が、
リアルタイム状態情報が格納され、該状態情報がそこから復旧される記憶領域と、
活動のパターンに基づいて許容可能な活動を規定する複数の規則と、
前記活動を前記活動への規則の適用に基づいて識別し管理する複数のインタセプタと、
を規定することを特徴とするソフトウェア製品。 - 前記状態情報を前記複数のインタセプタのうちの種々のインタセプタに亙って関連付ける処理を更に備えたことを特徴とする請求項1に記載のソフトウェア製品。
- 前記複数のインタセプタの少なくとも一つが従来のコンピュータオペレーティングシステムの既存の要素であることを特徴とする請求項2に記載のソフトウェア製品。
- 前記状態情報を関連付ける処理が、
許容される資源基準を、前記インタセプタと前記状態情報とによって識別される活動を考慮して規定する規則と、
前記識別された活動と前記状態情報とに前記規則を適用する規則インタプリタと、
を更に備えたことを特徴とする請求項2に記載のソフトウェア製品。 - 前記規則が、前記リアルタイム参照モニタを再起動せずに変更可能であることを特徴とする請求項4に記載のソフトウェア製品。
- 前記記憶領域が、前記規則が変更されたときに保存される内容を有することを特徴とする請求項5に記載のソフトウェア製品。
- 前記複数の参照インタセプタが二つ以上の資源型と対応でき、前記記憶領域が単一記憶領域であることを特徴とする請求項1に記載のソフトウェア製品。
- 同じシステム上のアプリケーションプログラムにメッセージを送ることができるアプリケーションプログラムインタフェースを更に備えたことを特徴とする請求項1に記載のソフトウェア製品。
- 他のシステム上のアプリケーションプログラムにメッセージを送ることができるアプリケーションプログラムインタフェースを更に備えたことを特徴とする請求項8に記載のソフトウェア製品。
- 前記複数の参照インタセプタが、ファイルアクセス、レジストリアクセス、ネットワークアクセス、オブジェクトアクセス、システム呼出アクセス、キーボードアクセス、外部入力、およびユーザ入力の内の二つ以上を監視することを特徴とする請求項1に記載のソフトウェア製品。
- 複数の規定された事象を検知し事象メッセージを生成する、コンピュータ上で実行される監視処理と、
前記監視処理によって生成された事象メッセージに関する情報が格納された、前記コンピュータ上の記憶装置と、
前記コンピュータの動作を変更することによって、事象メッセージの特性と、前記記憶装置に格納された情報と、一組の規則とに対応する、コンピュータ上で実行する規則翻訳処理と、
を備えたことを特徴とするコンピュータ実行型参照モニタ。 - 前記一組の規則が、前記記憶装置に格納された情報に応じて変更可能であることを特徴とする請求項11に記載のコンピュータ実行型参照モニタ。
- 前記一組の規則が、変更され、前記記憶装置に格納された情報が、前記一組の規則が変更されたときに保存されることを特徴とする請求項12に記載のコンピュータ実行型参照モニタ。
- 別のコンピュータ上で実行される外部事象メッセージ生成処理を更に備え、前記外部事象メッセージ生成処理が事象メッセージを前記規則翻訳処理に伝達することを特徴とする請求項11に記載のコンピュータ実行型参照モニタ。
- それぞれが複数の規定された事象型のうちの一つを有する第1事象と第2事象を検知するステップと、
それぞれが前記第1事象と第2事象のうちの対応する一つについての情報を含む第1事象メッセージと第2事象メッセージを生成するステップと、
前記第1事象についての情報を記憶するステップと、
前記第1事象についての前記記憶された情報と前記第2事象についての情報とに応じた処理方針を実施するステップと、
を備えたことを特徴とする、コンピュータ上で処理方針を実行する方法。 - 一組の規則のうちの一つを前記第1事象についての前記記憶された情報と前記第2事象についての情報とに適用して前記方針を実施する内容を判定するステップを更に備えたことを特徴とする請求項15に記載の方法。
- 前記コンピュータ上でオペレーティングシステムを実行するステップと、
前記オペレーティングシステムを再起動することなく、かつ、前記記憶された情報を失うことなく、前記一組の規則を変更するステップと、
を更に備えたことを特徴とする請求項16に記載の方法。 - 前記検知、生成、記憶、および実施を妨害することなく前記一組の規則を変更するステップを更に備えたことを特徴とする請求項17に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US29859001P | 2001-06-14 | 2001-06-14 | |
US10/071,328 US7290266B2 (en) | 2001-06-14 | 2002-02-08 | 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 |
PCT/US2002/019070 WO2002103498A2 (en) | 2001-06-14 | 2002-06-14 | Stateful reference monitor |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004537105A true JP2004537105A (ja) | 2004-12-09 |
JP4629332B2 JP4629332B2 (ja) | 2011-02-09 |
Family
ID=26752102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003505751A Expired - Fee Related JP4629332B2 (ja) | 2001-06-14 | 2002-06-14 | 状態参照モニタ |
Country Status (6)
Country | Link |
---|---|
US (3) | US7290266B2 (ja) |
EP (1) | EP1435030B1 (ja) |
JP (1) | JP4629332B2 (ja) |
AT (1) | ATE398311T1 (ja) |
DE (1) | DE60227087D1 (ja) |
WO (1) | WO2002103498A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006065835A (ja) * | 2004-07-28 | 2006-03-09 | Ntt Data Corp | 不正アクセス対策制御装置および不正アクセス対策制御プログラム |
Families Citing this family (140)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9038193B2 (en) | 1998-08-14 | 2015-05-19 | Azos Al, Llc | System and method of data cognition incorporating autonomous security protection |
US6549918B1 (en) * | 1998-09-21 | 2003-04-15 | Microsoft Corporation | Dynamic information format conversion |
US6990666B2 (en) * | 2002-03-18 | 2006-01-24 | Surgient Inc. | Near on-line server |
US20040133441A1 (en) * | 2002-09-04 | 2004-07-08 | Jeffrey Brady | Method and program for transferring information from an application |
WO2004040890A1 (ja) * | 2002-11-01 | 2004-05-13 | Fujitsu Limited | アクセス要求制御方法、通信デバイス用ドライバプログラムおよび通信デバイス |
US7219131B2 (en) | 2003-01-16 | 2007-05-15 | Ironport Systems, Inc. | Electronic message delivery using an alternate source approach |
GB2398134A (en) * | 2003-01-27 | 2004-08-11 | Hewlett Packard Co | Applying a data handing policy to predetermined system calls |
US20040187029A1 (en) | 2003-03-21 | 2004-09-23 | Ting David M. T. | System and method for data and request filtering |
US20040268139A1 (en) * | 2003-06-25 | 2004-12-30 | Microsoft Corporation | Systems and methods for declarative client input security screening |
US20060253905A1 (en) * | 2003-07-14 | 2006-11-09 | Futuresoft, Inc. | System and method for surveilling a computer network |
US8539063B1 (en) | 2003-08-29 | 2013-09-17 | Mcafee, Inc. | Method and system for containment of networked application client software by explicit human input |
US7769004B2 (en) * | 2003-09-26 | 2010-08-03 | Surgient, Inc. | Network abstraction and isolation layer for masquerading machine identity of a computer |
US7668093B1 (en) * | 2004-08-05 | 2010-02-23 | Convergys Information Management Group, Inc. | Architecture for balancing workload |
JP4729844B2 (ja) * | 2003-10-16 | 2011-07-20 | 富士ゼロックス株式会社 | サーバ装置、情報の提供方法、及びプログラム |
US20050091658A1 (en) * | 2003-10-24 | 2005-04-28 | Microsoft Corporation | Operating system resource protection |
US20050091535A1 (en) * | 2003-10-24 | 2005-04-28 | Microsoft Corporation | Application identity for software products |
US7581249B2 (en) * | 2003-11-14 | 2009-08-25 | Enterasys Networks, Inc. | Distributed intrusion response system |
US7840968B1 (en) | 2003-12-17 | 2010-11-23 | Mcafee, Inc. | Method and system for containment of usage of language interfaces |
US7783735B1 (en) * | 2004-03-22 | 2010-08-24 | Mcafee, Inc. | Containment of network communication |
US8108937B1 (en) * | 2004-04-26 | 2012-01-31 | Symantec Corporation | Robustly regulating access to executable class registry entries |
US7624383B2 (en) * | 2004-04-30 | 2009-11-24 | Cornell University | System for and method of improving discrete event simulation using virtual machines |
JP2006053788A (ja) * | 2004-08-12 | 2006-02-23 | Ntt Docomo Inc | ソフトウェア動作監視装置及びソフトウェア動作監視方法 |
US7587594B1 (en) | 2004-08-30 | 2009-09-08 | Microsoft Corporation | Dynamic out-of-process software components isolation for trustworthiness execution |
US7873955B1 (en) | 2004-09-07 | 2011-01-18 | Mcafee, Inc. | Solidifying the executable software set of a computer |
US7650640B1 (en) * | 2004-10-18 | 2010-01-19 | Symantec Corporation | Method and system for detecting IA32 targeted buffer overflow attacks |
US7409482B2 (en) * | 2004-10-26 | 2008-08-05 | Lenovo (Singapore) Pte, Ltd. | Computer and method for on-demand network access control |
US8521570B2 (en) * | 2004-12-28 | 2013-08-27 | Sap Aktiengesellschaft | Integration of distributed business process models |
US7979889B2 (en) * | 2005-01-07 | 2011-07-12 | Cisco Technology, Inc. | Methods and apparatus providing security to computer systems and networks |
US7917955B1 (en) | 2005-01-14 | 2011-03-29 | Mcafee, Inc. | System, method and computer program product for context-driven behavioral heuristics |
US7665098B2 (en) * | 2005-04-29 | 2010-02-16 | Microsoft Corporation | System and method for monitoring interactions between application programs and data stores |
US7603552B1 (en) | 2005-05-04 | 2009-10-13 | Mcafee, Inc. | Piracy prevention using unique module translation |
US8078740B2 (en) * | 2005-06-03 | 2011-12-13 | Microsoft Corporation | Running internet applications with low rights |
US20060282830A1 (en) * | 2005-06-13 | 2006-12-14 | Microsoft Corporation | Analysis of the impact of application programs on resources stored in data stores |
US20060294596A1 (en) * | 2005-06-27 | 2006-12-28 | Priya Govindarajan | Methods, systems, and apparatus to detect unauthorized resource accesses |
US7856661B1 (en) | 2005-07-14 | 2010-12-21 | Mcafee, Inc. | Classification of software on networked systems |
US8045958B2 (en) | 2005-11-21 | 2011-10-25 | Research In Motion Limited | System and method for application program operation on a wireless device |
EP1788505A1 (en) * | 2005-11-21 | 2007-05-23 | Research In Motion Limited | System and method for application program operation on a wireless device |
GB2432687B (en) * | 2005-11-25 | 2011-06-01 | Mcafee Inc | Product for preventing spyware/malware from installing in a registry |
US8413245B2 (en) | 2005-12-16 | 2013-04-02 | Cisco Technology, Inc. | Methods and apparatus providing computer and network security for polymorphic attacks |
US9286469B2 (en) | 2005-12-16 | 2016-03-15 | Cisco Technology, Inc. | Methods and apparatus providing computer and network security utilizing probabilistic signature generation |
US7882560B2 (en) | 2005-12-16 | 2011-02-01 | Cisco Technology, Inc. | Methods and apparatus providing computer and network security utilizing probabilistic policy reposturing |
US8495743B2 (en) | 2005-12-16 | 2013-07-23 | Cisco Technology, Inc. | Methods and apparatus providing automatic signature generation and enforcement |
US8078990B2 (en) | 2006-02-01 | 2011-12-13 | Research In Motion Limited | Secure device sharing |
EP2154622B1 (en) | 2006-02-01 | 2013-01-23 | Research In Motion Limited | Secure device sharing |
US7757269B1 (en) | 2006-02-02 | 2010-07-13 | Mcafee, Inc. | Enforcing alignment of approved changes and deployed changes in the software change life-cycle |
EP1826944B1 (en) * | 2006-02-27 | 2009-05-13 | Research In Motion Limited | Method of customizing a standardized IT policy |
US7895573B1 (en) | 2006-03-27 | 2011-02-22 | Mcafee, Inc. | Execution environment file inventory |
US8078728B1 (en) | 2006-03-31 | 2011-12-13 | Quest Software, Inc. | Capacity pooling for application reservation and delivery |
US7870387B1 (en) | 2006-04-07 | 2011-01-11 | Mcafee, Inc. | Program-based authorization |
US8352930B1 (en) | 2006-04-24 | 2013-01-08 | Mcafee, Inc. | Software modification by group to minimize breakage |
US8555404B1 (en) | 2006-05-18 | 2013-10-08 | Mcafee, Inc. | Connectivity-based authorization |
US8185737B2 (en) | 2006-06-23 | 2012-05-22 | Microsoft Corporation | Communication across domains |
JP2008027306A (ja) | 2006-07-24 | 2008-02-07 | Aplix Corp | ユーザ空間仮想化システム |
DE102006035275A1 (de) * | 2006-07-27 | 2008-01-31 | Sia Syncrosoft | Verfahren zur Verwaltung von Ressourcen |
US9860274B2 (en) | 2006-09-13 | 2018-01-02 | Sophos Limited | Policy management |
US8332929B1 (en) | 2007-01-10 | 2012-12-11 | Mcafee, Inc. | Method and apparatus for process enforced configuration management |
US9424154B2 (en) | 2007-01-10 | 2016-08-23 | Mcafee, Inc. | Method of and system for computer system state checks |
US20080184332A1 (en) * | 2007-01-31 | 2008-07-31 | Motorola, Inc. | Method and device for dual authentication of a networking device and a supplicant device |
ATE482551T1 (de) | 2007-02-01 | 2010-10-15 | Ericsson Telefon Ab L M | Erweiterte mediensteuerung |
US20080209535A1 (en) * | 2007-02-28 | 2008-08-28 | Tresys Technology, Llc | Configuration of mandatory access control security policies |
US20080307486A1 (en) * | 2007-06-11 | 2008-12-11 | Microsoft Corporation | Entity based access management |
US10019570B2 (en) | 2007-06-14 | 2018-07-10 | Microsoft Technology Licensing, Llc | Protection and communication abstractions for web browsers |
US8468579B2 (en) | 2007-06-15 | 2013-06-18 | Microsoft Corporation | Transformation of sequential access control lists utilizing certificates |
US7743157B2 (en) * | 2007-06-26 | 2010-06-22 | Sap Ag | System and method for switching between stateful and stateless communication modes |
US7840501B1 (en) | 2007-07-12 | 2010-11-23 | Mcafee, Inc. | Behavioral analysis apparatus and associated method that utilizes a system selected based on a level of data |
US8195931B1 (en) | 2007-10-31 | 2012-06-05 | Mcafee, Inc. | Application change control |
US8365276B1 (en) | 2007-12-10 | 2013-01-29 | Mcafee, Inc. | System, method and computer program product for sending unwanted activity information to a central system |
US8194674B1 (en) | 2007-12-20 | 2012-06-05 | Quest Software, Inc. | System and method for aggregating communications and for translating between overlapping internal network addresses and unique external network addresses |
US8438636B2 (en) * | 2008-01-11 | 2013-05-07 | Microsoft Corporation | Secure and extensible policy-driven application platform |
US8515075B1 (en) | 2008-01-31 | 2013-08-20 | Mcafee, Inc. | Method of and system for malicious software detection using critical address space protection |
GB2458568B (en) * | 2008-03-27 | 2012-09-19 | Covertix Ltd | System and method for dynamically enforcing security policies on electronic files |
US8615502B2 (en) | 2008-04-18 | 2013-12-24 | Mcafee, Inc. | Method of and system for reverse mapping vnode pointers |
US9262357B2 (en) | 2008-09-29 | 2016-02-16 | International Business Machines Corporation | Associating process priority with I/O queuing |
US8631468B2 (en) * | 2008-11-10 | 2014-01-14 | Samsung Electronics Co., Ltd. | Active access monitoring for safer computing environments and systems |
US20100128866A1 (en) * | 2008-11-26 | 2010-05-27 | Microsoft Corporation | Modification of system call behavior |
US8544003B1 (en) | 2008-12-11 | 2013-09-24 | Mcafee, Inc. | System and method for managing virtual machine configurations |
US9288210B2 (en) * | 2009-01-26 | 2016-03-15 | Microsoft Technology Licensing, Llc | Revocable object access |
US8381284B2 (en) | 2009-08-21 | 2013-02-19 | Mcafee, Inc. | System and method for enforcing security policies in a virtual environment |
US8341627B2 (en) | 2009-08-21 | 2012-12-25 | Mcafee, Inc. | Method and system for providing user space address protection from writable memory area in a virtual environment |
US8495730B2 (en) | 2009-10-12 | 2013-07-23 | International Business Machines Corporation | Dynamically constructed capability for enforcing object access order |
US8402553B2 (en) * | 2009-10-30 | 2013-03-19 | International Business Machines Corporation | Updating an operating system of a computer system |
US9552497B2 (en) | 2009-11-10 | 2017-01-24 | Mcafee, Inc. | System and method for preventing data loss using virtual machine wrapped applications |
US8677508B2 (en) * | 2010-01-13 | 2014-03-18 | Nec Corporation | Confidential information leakage prevention system, confidential information leakage prevention method and confidential information leakage prevention program |
US9390128B1 (en) * | 2010-03-25 | 2016-07-12 | Symantec Corporation | Datastore for storing file access event data |
US9098333B1 (en) | 2010-05-07 | 2015-08-04 | Ziften Technologies, Inc. | Monitoring computer process resource usage |
US8925101B2 (en) | 2010-07-28 | 2014-12-30 | Mcafee, Inc. | System and method for local protection against malicious software |
US8938800B2 (en) | 2010-07-28 | 2015-01-20 | Mcafee, Inc. | System and method for network level protection against malicious software |
US9147180B2 (en) * | 2010-08-24 | 2015-09-29 | Varonis Systems, Inc. | Data governance for email systems |
US8549003B1 (en) | 2010-09-12 | 2013-10-01 | Mcafee, Inc. | System and method for clustering host inventories |
US8773981B2 (en) * | 2010-12-06 | 2014-07-08 | Genbrand US LLC | Systems and methods for dynamic congestion management in communications networks |
US9075993B2 (en) | 2011-01-24 | 2015-07-07 | Mcafee, Inc. | System and method for selectively grouping and managing program files |
RU2517409C2 (ru) * | 2011-02-17 | 2014-05-27 | Федеральное государственное военное образовательное учреждение высшего профессионального образования "Военный авиационный инженерный университет" (г. Воронеж) Министерства обороны Российской Федерации | Способ оценки эффективности управления и устройство для его осуществления |
US9112830B2 (en) | 2011-02-23 | 2015-08-18 | Mcafee, Inc. | System and method for interlocking a host and a gateway |
US20120239541A1 (en) * | 2011-03-18 | 2012-09-20 | Clairmail, Inc. | Actionable alerting |
US10216553B2 (en) * | 2011-06-30 | 2019-02-26 | International Business Machines Corporation | Message oriented middleware with integrated rules engine |
KR101380966B1 (ko) | 2011-08-24 | 2014-05-02 | 주식회사 팬택 | 휴대 단말 시스템에서의 보안 장치 |
KR101295709B1 (ko) * | 2011-08-24 | 2013-09-16 | 주식회사 팬택 | 백그라운드 프로세스에 대한 보안 정보 제공 장치 및 방법 |
US9594881B2 (en) | 2011-09-09 | 2017-03-14 | Mcafee, Inc. | System and method for passive threat detection using virtual memory inspection |
US8694738B2 (en) | 2011-10-11 | 2014-04-08 | Mcafee, Inc. | System and method for critical address space protection in a hypervisor environment |
US9069586B2 (en) | 2011-10-13 | 2015-06-30 | Mcafee, Inc. | System and method for kernel rootkit protection in a hypervisor environment |
US8973144B2 (en) | 2011-10-13 | 2015-03-03 | Mcafee, Inc. | System and method for kernel rootkit protection in a hypervisor environment |
US8800024B2 (en) | 2011-10-17 | 2014-08-05 | Mcafee, Inc. | System and method for host-initiated firewall discovery in a network environment |
US8713668B2 (en) | 2011-10-17 | 2014-04-29 | Mcafee, Inc. | System and method for redirected firewall discovery in a network environment |
US8739272B1 (en) | 2012-04-02 | 2014-05-27 | Mcafee, Inc. | System and method for interlocking a host and a gateway |
US9384349B2 (en) * | 2012-05-21 | 2016-07-05 | Mcafee, Inc. | Negative light-weight rules |
US10409980B2 (en) | 2012-12-27 | 2019-09-10 | Crowdstrike, Inc. | Real-time representation of security-relevant system state |
US8973146B2 (en) | 2012-12-27 | 2015-03-03 | Mcafee, Inc. | Herd based scan avoidance system in a network environment |
US9779237B2 (en) * | 2013-03-15 | 2017-10-03 | Netiq Corporation | Detection of non-volatile changes to a resource |
US20140359694A1 (en) * | 2013-06-03 | 2014-12-04 | eSentire, Inc. | System and method for computer system security |
EP3028155B1 (en) * | 2013-07-30 | 2019-08-21 | FSLogix Inc. | Managing configurations of computing terminals |
US9607146B2 (en) * | 2013-09-18 | 2017-03-28 | Qualcomm Incorporated | Data flow based behavioral analysis on mobile devices |
EP3061030A4 (en) | 2013-10-24 | 2017-04-19 | McAfee, Inc. | Agent assisted malicious application blocking in a network environment |
US9684787B2 (en) * | 2014-04-08 | 2017-06-20 | Qualcomm Incorporated | Method and system for inferring application states by performing behavioral analysis operations in a mobile device |
EP3113066B1 (en) * | 2015-06-30 | 2020-11-04 | AO Kaspersky Lab | Computer security architecture and related computing method |
RU2714726C2 (ru) | 2015-06-30 | 2020-02-20 | Закрытое акционерное общество "Лаборатория Касперского" | Архитектура безопасности автоматизированных систем |
US10200387B2 (en) | 2015-11-30 | 2019-02-05 | International Business Machines Corporation | User state tracking and anomaly detection in software-as-a-service environments |
US10291648B2 (en) | 2015-12-22 | 2019-05-14 | At&T Intellectual Property I, L.P. | System for distributing virtual entity behavior profiling in cloud deployments |
EP3408784A1 (en) * | 2016-01-29 | 2018-12-05 | British Telecommunications public limited company | Secure data storage |
CN105912930B (zh) * | 2016-04-11 | 2019-02-01 | 北京奇虎科技有限公司 | 移动终端及其系统资源安全控制方法 |
US10002241B2 (en) * | 2016-05-25 | 2018-06-19 | International Business Machines Corporation | Managing data to diminish cross-context analysis |
US11314546B2 (en) * | 2016-11-18 | 2022-04-26 | Data Accelerator Ltd | Method and system for executing a containerized stateful application on a stateless computing platform using machine learning |
GB2552717B (en) | 2016-08-05 | 2018-09-05 | Arm Ip Ltd | Management of control parameters in electronic systems |
US10212023B2 (en) * | 2016-10-05 | 2019-02-19 | Vmware, Inc. | Methods and systems to identify and respond to low-priority event messages |
US10841337B2 (en) | 2016-11-28 | 2020-11-17 | Secureworks Corp. | Computer implemented system and method, and computer program product for reversibly remediating a security risk |
US10885211B2 (en) | 2017-09-12 | 2021-01-05 | Sophos Limited | Securing interprocess communications |
CN109558739B (zh) * | 2017-09-26 | 2022-04-15 | 腾讯科技(深圳)有限公司 | 程序运行方法、装置、终端及可读介质 |
US10735470B2 (en) | 2017-11-06 | 2020-08-04 | Secureworks Corp. | Systems and methods for sharing, distributing, or accessing security data and/or security applications, models, or analytics |
US10594713B2 (en) | 2017-11-10 | 2020-03-17 | Secureworks Corp. | Systems and methods for secure propagation of statistical models within threat intelligence communities |
US10785238B2 (en) | 2018-06-12 | 2020-09-22 | Secureworks Corp. | Systems and methods for threat discovery across distinct organizations |
US11003718B2 (en) | 2018-06-12 | 2021-05-11 | Secureworks Corp. | Systems and methods for enabling a global aggregated search, while allowing configurable client anonymity |
US11310268B2 (en) | 2019-05-06 | 2022-04-19 | Secureworks Corp. | Systems and methods using computer vision and machine learning for detection of malicious actions |
US11418524B2 (en) | 2019-05-07 | 2022-08-16 | SecureworksCorp. | Systems and methods of hierarchical behavior activity modeling and detection for systems-level security |
EP3798868A1 (en) * | 2019-09-25 | 2021-03-31 | CI Cloud Item GmbH | Method of providing resources to a terminal, server for providing resources to a terminal, and corresponding program |
US11381589B2 (en) | 2019-10-11 | 2022-07-05 | Secureworks Corp. | Systems and methods for distributed extended common vulnerabilities and exposures data management |
US11522877B2 (en) | 2019-12-16 | 2022-12-06 | Secureworks Corp. | Systems and methods for identifying malicious actors or activities |
US11588834B2 (en) | 2020-09-03 | 2023-02-21 | Secureworks Corp. | Systems and methods for identifying attack patterns or suspicious activity in client networks |
JP7391802B2 (ja) * | 2020-09-11 | 2023-12-05 | 株式会社東芝 | 情報処理装置、情報処理方法及びコンピュータプログラム |
US11528294B2 (en) | 2021-02-18 | 2022-12-13 | SecureworksCorp. | Systems and methods for automated threat detection |
US11909764B1 (en) * | 2021-07-01 | 2024-02-20 | Rapid7, Inc. | Man-in-the-middle interceptor for application security testing |
US12015623B2 (en) | 2022-06-24 | 2024-06-18 | Secureworks Corp. | Systems and methods for consensus driven threat intelligence |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5925126A (en) * | 1997-03-18 | 1999-07-20 | Memco Software, Ltd. | Method for security shield implementation in computer system's software |
WO2000045256A1 (en) * | 1999-01-29 | 2000-08-03 | Iona Technologies, Inc. | Method and system for dynamic configuration of interceptors in a client-server environment |
WO2000056027A1 (en) * | 1999-03-15 | 2000-09-21 | Texar Software Corp. | Computer security system |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6119103A (en) * | 1997-05-27 | 2000-09-12 | Visa International Service Association | Financial risk prediction systems and methods therefor |
EP0935192A1 (en) * | 1998-02-09 | 1999-08-11 | Sony Europa B.V. | Method and system for communication between application programs and a network |
US6141686A (en) * | 1998-03-13 | 2000-10-31 | Deterministic Networks, Inc. | Client-side application-classifier gathering network-traffic statistics and application and user names using extensible-service provider plugin for policy-based network control |
US6275942B1 (en) * | 1998-05-20 | 2001-08-14 | Network Associates, Inc. | System, method and computer program product for automatic response to computer system misuse using active response modules |
US6317786B1 (en) * | 1998-05-29 | 2001-11-13 | Webspective Software, Inc. | Web service |
US20010044904A1 (en) * | 1999-09-29 | 2001-11-22 | Berg Ryan J. | Secure remote kernel communication |
US6880087B1 (en) * | 1999-10-08 | 2005-04-12 | Cisco Technology, Inc. | Binary state machine system and method for REGEX processing of a data stream in an intrusion detection system |
US6671811B1 (en) | 1999-10-25 | 2003-12-30 | Visa Internation Service Association | Features generation for use in computer network intrusion detection |
US6678734B1 (en) * | 1999-11-13 | 2004-01-13 | Ssh Communications Security Ltd. | Method for intercepting network packets in a computing device |
US20020099738A1 (en) * | 2000-11-22 | 2002-07-25 | Grant Hugh Alexander | Automated web access for back-end enterprise systems |
US7089592B2 (en) * | 2001-03-15 | 2006-08-08 | Brighterion, Inc. | Systems and methods for dynamic detection and prevention of electronic fraud |
US7320141B2 (en) * | 2001-03-21 | 2008-01-15 | International Business Machines Corporation | Method and system for server support for pluggable authorization systems |
WO2002103960A2 (en) | 2001-06-14 | 2002-12-27 | Okena, Inc. | Stateful distributed event processing and adaptive security |
-
2002
- 2002-02-08 US US10/071,328 patent/US7290266B2/en not_active Expired - Lifetime
- 2002-06-14 WO PCT/US2002/019070 patent/WO2002103498A2/en active Application Filing
- 2002-06-14 EP EP02756206A patent/EP1435030B1/en not_active Expired - Lifetime
- 2002-06-14 JP JP2003505751A patent/JP4629332B2/ja not_active Expired - Fee Related
- 2002-06-14 DE DE60227087T patent/DE60227087D1/de not_active Expired - Lifetime
- 2002-06-14 AT AT02756206T patent/ATE398311T1/de not_active IP Right Cessation
-
2007
- 2007-10-01 US US11/865,344 patent/US8595170B2/en active Active
-
2013
- 2013-11-25 US US14/089,109 patent/US9141812B2/en not_active Expired - Lifetime
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5925126A (en) * | 1997-03-18 | 1999-07-20 | Memco Software, Ltd. | Method for security shield implementation in computer system's software |
WO2000045256A1 (en) * | 1999-01-29 | 2000-08-03 | Iona Technologies, Inc. | Method and system for dynamic configuration of interceptors in a client-server environment |
WO2000056027A1 (en) * | 1999-03-15 | 2000-09-21 | Texar Software Corp. | Computer security system |
Non-Patent Citations (2)
Title |
---|
DORIN MILLER: "UNIXとMVSのセキュリティ", UNIX MAGAZINE UNIX MAGAZINE, vol. 第12巻, JPN6008054485, 1 April 1997 (1997-04-01), JP, pages 115 - 119, ISSN: 0001767178 * |
PING LIU: ""The design and implementation of a reference monitor for 2k operating system"", INTERNET,'ONLINE!, JPN5005000328, 1999, ISSN: 0001167093 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006065835A (ja) * | 2004-07-28 | 2006-03-09 | Ntt Data Corp | 不正アクセス対策制御装置および不正アクセス対策制御プログラム |
JP4624181B2 (ja) * | 2004-07-28 | 2011-02-02 | 株式会社エヌ・ティ・ティ・データ | 不正アクセス対策制御装置および不正アクセス対策制御プログラム |
Also Published As
Publication number | Publication date |
---|---|
US20080022359A1 (en) | 2008-01-24 |
WO2002103498A2 (en) | 2002-12-27 |
US20140082692A1 (en) | 2014-03-20 |
WO2002103498A3 (en) | 2004-04-15 |
EP1435030B1 (en) | 2008-06-11 |
EP1435030A2 (en) | 2004-07-07 |
US7290266B2 (en) | 2007-10-30 |
JP4629332B2 (ja) | 2011-02-09 |
DE60227087D1 (de) | 2008-07-24 |
US9141812B2 (en) | 2015-09-22 |
ATE398311T1 (de) | 2008-07-15 |
US20030023774A1 (en) | 2003-01-30 |
US8595170B2 (en) | 2013-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4629332B2 (ja) | 状態参照モニタ | |
US10528726B1 (en) | Microvisor-based malware detection appliance architecture | |
US7430760B2 (en) | Security-related programming interface | |
US20240012907A1 (en) | Cloud based just in time memory analysis for malware detection | |
US7673137B2 (en) | System and method for the managed security control of processes on a computer system | |
US7665139B1 (en) | Method and apparatus to detect and prevent malicious changes to tokens | |
EP2745229B1 (en) | System and method for indirect interface monitoring and plumb-lining | |
US7533413B2 (en) | Method and system for processing events | |
KR20190035686A (ko) | 컴퓨터 애플리케이션에서 메모리 손상을 교정하기 위한 시스템 및 방법 | |
KR20180097527A (ko) | 다수의 네트워크 종점들을 보호하기 위한 듀얼 메모리 인트로스펙션 | |
US8566585B2 (en) | System and a method for processing system calls in a computerized system that implements a kernel | |
US11683329B2 (en) | Detecting malicious activity on an endpoint based on real-time system events | |
RU2514137C1 (ru) | Способ автоматической настройки средства безопасности | |
US8533833B2 (en) | System, a method, and a data-structure for processing system calls in a computerized system that implements a kernel | |
EP1944676B1 (en) | Stateful reference monitor | |
US12041070B2 (en) | Detecting malicious activity on an endpoint based on real-time system events | |
US20240086558A1 (en) | Computer-implemented system and method for performing in-kernel instrumentation of kernel-level events | |
RU2673407C1 (ru) | Система и способ определения вредоносного файла | |
ÇELİKTAŞ | ISTANBUL TECHNICAL UNIVERSITY★ INFORMATICS INSTITUTE | |
SMITHERS | CROSS REFERENCE TO RELATED APPLICATIONS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050530 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081028 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090128 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090204 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090227 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090306 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090327 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090403 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090428 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20090428 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20090428 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090623 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090924 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20091001 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20091023 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20091030 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20091120 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20091130 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091224 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100608 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101008 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20101015 |
|
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: 20101102 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131119 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4629332 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |