JP2005327239A - セキュリティ関連プログラミング・インターフェース - Google Patents
セキュリティ関連プログラミング・インターフェース Download PDFInfo
- Publication number
- JP2005327239A JP2005327239A JP2004322692A JP2004322692A JP2005327239A JP 2005327239 A JP2005327239 A JP 2005327239A JP 2004322692 A JP2004322692 A JP 2004322692A JP 2004322692 A JP2004322692 A JP 2004322692A JP 2005327239 A JP2005327239 A JP 2005327239A
- Authority
- JP
- Japan
- Prior art keywords
- security
- engines
- new
- policy
- security engine
- 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
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
- Exchange Systems With Centralized Control (AREA)
- Air Bags (AREA)
Abstract
【解決手段】 プログラミング・インターフェースは、新しいセキュリティ・ポリシーを複数のセキュリティ・エンジンに伝達することに関連付けられた第1の機能グループを含む。複数のセキュリティ・エンジンのそれぞれは、既存のセキュリティ・ポリシーをその新しいセキュリティ・ポリシーに置き換えるように構成される。さらに、このプログラミング・インターフェースは、各セキュリティ・エンジンが新しいセキュリティ・ポリシーを実装する準備が整ったことを示すインジケーションを伝達することに関連付けられた第2の機能グループを含む。
【選択図】 図7
Description
図1は、種々のイベントが生成および処理される環境100の一例を示している。イベントの例としては、コンピュータ・ウィルスの検出、機密データへのアクセス試行の検出、コンピュータ・ウィルスを破壊したことの通知、特定のアプリケーション・プログラムが停止していることや実行を妨げられていることの通知、システム状態情報の変更、などがある。ホスト・コンピュータ102は、ネットワーク108を経由して複数のサーバー104および106に接続される。ホスト・コンピュータ102とサーバー104および106には、図9を参照して後述する装置など、任意のタイプのコンピューティング装置を使用できる。ネットワーク108には、ローカル・エリア・ネットワーク(LAN)、ワイドエリア・ネット・ワーク(WAN)、インターネットなど、任意のタイプのデータ通信ネットワークを使用できる。図1は2台のサーバー104および106に接続されたホスト・コンピュータ102を示しているが、ホスト・コンピュータ102は、ホスト・コンピュータとの通信が可能な任意の数のサーバーや他の装置に接続できる。
前述のとおり、セキュリティ・ポリシーを使用して、たとえばセキュリティ・エンジンやセキュリティ・プロバイダによって適用されるルールを記述することができる。セキュリティ・ポリシーに変更が加えられると、更新されたルールが各種セキュリティ・エンジンに供給され、これらの各種セキュリティ・エンジンはほぼ同時に、更新されたルールの使用を開始するように切り替わる。
図1を参照して前述したAPI124などのAPIは、ホスト・コンピュータ内の各種コンポーネントおよびプログラム(たとえば、セキュリティ・エンジン)の間でセキュリティ・ポリシーやイベント情報を伝達し合うことを可能にする。一実施形態では、APIは、COM(コンポーネント・オブジェクト・モデル)を使用して定義される。APIは、セキュリティ・エンジンをロードおよびアンロードしたり、セキュリティ・ポリシーをセキュリティ・エンジンに送付したり、セキュリティ・ポリシー・データの変更内容を当該セキュリティ・エンジンに伝達したり、ポリシーで指定される特定の動作を許可または拒否する意志決定時にホスト・ユーザーがセキュリティ・エンジンと対話することを可能にしたり、セキュリティ・エンジンの集中構成管理を行ったり、するメソッドをサポートする。
・Initialize
・Shutdown
・PreparePolicy
・CommitPolicy
・RollbackPolicy
・WriteData
・WriteConfig
これら7つの関数呼出しを「ISecurityEngineインターフェース」と呼ぶ。
セキュリティ・エンジンからエージェントへの関数呼出し(Security Engine-to-Agent Function Calls)
・ReadAndRegisterNotifyData
・WriteSEData
・UnRegisterNotifyData
・GetDataAttribute
・ReadAndRegisterNotifyConfig
・UnRegisterNotifyConfig
・QueryUser
・Complete
上記の最初の7つの関数呼出しを「ISecurityAgentインターフェース」と呼び、最後の関数呼出し(Complete)を「IAgentCallbackインターフェース」と呼ぶ。
このメソッドは、エージェントに知られているセキュリティ・エンジンごとに1回ずつ呼び出される。このメソッドは、エージェントの起動中に呼び出される。Initialize関数呼出しは、セキュリティ・エンジンをロードし、そのセキュリティ・エンジンが初期化動作を実行することを可能にする。
このメソッドは次のように定義される。
HRESULT Initialize(
[in] ISecurityAgent *pAgent,
[in] IAgentCallback *pCallback);
pAgentは、セキュリティ・エンジンがエージェントにコール・バックするために使用できるCOMインターフェースである。
pCallbackは、後で定義するコール・バック・オブジェクトである。
Initialize関数呼出しが失敗したか、所定時間内に戻らなかった場合は、Shutdownが呼び出されることになる。予想される競合条件のために、セキュリティ・エンジンは、Initializeが戻る前にShutdown処理を行う。
このメソッドは、エージェントによって初期化(Initialize)するために呼び出されたセキュリティ・エンジンごとに1回ずつ呼び出される。このメソッドは、セキュリティ・エンジンが自らのシャット・ダウン処理を開始するのを可能にする。Initializeが失敗した場合でも、エージェントはShutdownを呼び出して、セキュリティ・エンジンが、割り当てられていたすべてのリソースを閉じることを可能にする。たとえば、このメソッドは、DLL_PROCESS_DETACH処理中には実行できない複雑なシャット・ダウンをセキュリティ・エンジンが実行することを可能にする。
typedef enum tagSHUTDOWN_TYPE
{
SHUTDOWN_NORMAL=0,
SHUTDOWN_SYSTEM
} SHUTDOWN_TYPE;
HRESULT Shutdown(
[in] SHUTDOWN_TYPE eType,
[in] IAgentCallback *pCallback);
eTypeは、SHUTDOWN_NORMALまたはSHUTDOWN_SYSTEMの列挙型である。
pCallbackは、後で定義するコール・バック・オブジェクトである。
DLL Unloadは、Shutdownコール・バックが行われた後(またはタイム・アウトが発生した後)に発生することになる。コール・バックは非同期に行うことができるので、エージェントは、セキュリティ・エンジンDLLのアンロードに進む前に、コール・バックを行ったスレッドが終了するまで、待機せざるを得ない場合がある。これにより、コール・バック・スタック・フレームは、アンロードされることになるDLLの外側のポイントまでアンワインド(unwind)でき、プロセス内の例外を回避できる。コール・バックがShutdown呼出し中に行われた場合は、セキュリティ・エンジン・スレッドがシャット・ダウンされると見なされるので、この余分なステップは不要になる。
エラーは動作中のイベントとしてログ記録されるが、エラー以外は無視される。これは、エージェント(Agent)がまさにクローズ・ダウンされかかっているためである。
このメソッドは、エージェントが更新されたポリシーを受け取ったときに、エージェントによって呼び出される。その結果としてポリシーがマージされ、各RuleSetが作成されて正しいセキュリティ・エンジンに渡される。XMLデータはIStreamオブジェクトとして渡される。IStreamオブジェクトは、MSXML(Microsoft XML)(DOM(Document Object Model)またはSAX(Simple API for XML))がXMLデータを読み取るために使用できる。このメソッドは次のように定義される。
HRESULT PreparePolicy(
[in] IStream *pstreamRuleset,
[in] IAgentCallback *pCallback);
pstreamRulesetは、XML Rule Setの読み取りを可能にするStreamオブジェクトに対するCOMインターフェースである。このIStreamは、マシンに対してローカルであり、ネットワークを介してアクセスするデータではない、と見なすことができる。
pCallbackは、後で定義するコール・バック・オブジェクトである。
この呼出しがエラーを返した場合、セキュリティ・エンジンは、前に適用したポリシー(ブート時のポリシーの可能性がある)の実行を続けると見なされる。エージェントは、PreparePolicyが成功しているすべてのセキュリティ・エンジンに対してRollbackPolicyを呼び出すが、失敗しているセキュリティ・エンジンに対しては呼び出さない。このプロセスは、いずれかのセキュリティ・エンジンがエラーを返すと、ただちに開始される。さらに、PreparePolicyコール・バックが所定時間内に到達しない場合、エージェントはこれをそのセキュリティ・エンジンの一部の障害として扱う。したがって、セキュリティ・エンジンは、PreparePolicy呼出しが返される前にエージェントがRollbackPolicyを呼び出す可能性があることを想定している。
このメソッドは、PreparePolicy呼出しに対してすべてのセキュリティ・エンジンが成功を返したときに、エージェントによって呼び出される。この呼出しにより、セキュリティ・エンジンは新しいポリシーに切り替わる。このメソッドは次のように定義される。
HRESULT CommitPolicy(void);
この呼出しは同期的であり、エージェントは、1つの呼出しが完了してから次の呼出しを行う。一実施形態では、ポリシーの更新に失敗する可能性のある操作はすべてPreparePolicy呼出しで実行されるており、CommitPolicy呼出しは古いポリシーデータ構造から新しいポリシーデータ構造への単純な切替えである、との前提条件がある。
このメソッドは、セキュリティ・エンジンがそのPreparePolicy呼出しに対してエラーを返した場合に、エージェントによって呼び出される。この呼出しは、エージェントが、更新を中止して、実施中のポリシーに復帰するように他のすべてのセキュリティ・エンジンに対して指示することを引き起こす。このメソッドは次のように定義される。
HRESULT RollbackPolicy(void);
この呼出しは、セキュリティ・エンジンでの予想されるロール・バック処理が、大量であり、PreparePolicyの処理のほぼミラーリングであるという理由で、非同期である。セキュリティ・エンジンは、この呼出しの処理を完了すると、Completeを呼び出して、ロール・バックのステータスを知らせる。
このメソッドは、セキュリティ・エンジンが以前にReadAndRegisterNotifyDataを呼び出した対象のデータの一片が変化したときに、エージェントによって呼び出される。パラメータは、メモリの所有権がエージェントに属することを除き、ReadAndRegisterNotifyData呼出しとほぼ同じであるので、セキュリティ・エンジンは、いったん処理されたアイテムを削除してはならない。
#define DF_DYNAMIC 0x1
#define DF_COLLECTION 0x2
#define DF_BOOLEAN 0x4
#define DF PERSISTED 0x8
HRESULT WriteData(
[in] REFGUID guidDataID,
[in] DWORD dwFlags,
[in] DWORD dwDataSize,
[in] VARIANT varData,
[in] DWORD dwKeySize,
[in] byte *pbKeyValue);
キー(Key)を渡すためのパラメータ(dwKeySize、pbKeyValue)は、前のクエリに関連付けられたコンテクストをセキュリティ・エンジンに戻すときに使用される。セキュリティ・エンジンは、このコンテクストを使用して、クエリの結果と、エージェントに対して発行した、前のQueryUser呼出しとを相互に関連付ける。この追加データが必要なのは、同じルール内の異なるコンテクストに対して特定のクエリが複合的に発生する場合があるからである(たとえば、アプリケーションXがレジストリ値の変更を許容するかどうかをユーザーに尋ねた後、アプリケーションYについて同じ質問をする場合がある)。
このメソッドは、エージェントが構成データを当該セキュリティ・エンジンに配布することを可能にする。セキュリティ・エンジンがReadAndRegisterNotifyConfigメソッドを使用して構成データを読み取ると、このメソッドを呼び出しているエージェントがそのデータに対する変更をセキュリティ・エンジンに知らせる。このメソッドは次のように定義される。
HRESULT WriteConfig(
[in] WCHAR *wszDataName,
[in] VARIANT varData);
wszDataNameは、書き込まれる構成データ・アイテムのテキスト(Text)名であり、このデータのレジストリで使用される名前である。
varDataは、その名前で表される単一データ・アイテムを格納するバリアント構造である。このデータは、レジストリにあるそのデータの型に応じて、様々なデータ型になる。エージェントではデータ型をチェックしないが、セキュリティ・エンジンでは、データ型が必要なので、コンテクストに従ってデータ型をチェックすることが求められる。
このメソッドは、セキュリティ・エンジンが、ルールの処理で使用するために、ダイナミック・ルール・データ・サブシステムからデータを読み取ることを可能にする。いったんセキュリティ・エンジンがそのデータを読み取ると、そのデータに対する変更は、エージェントが、ISecurityEngineインターフェースのWriteDataメソッドを呼び出して、セキュリティ・エンジンに通知する。このメソッドは次のように定義される。
HRESULT ReadAndRegisterNotifyData(
[in] REFGUID guidDataID,
[out] DWORD *pdwFlags,
[out] DWORD *pdwDataSize,
[out] VARIANT *pvarData);
guidDataIDは、取得するデータ・アイテムのGUIDである。
pdwFlagsは、データ・アイテムを説明するフラグ・セットである。値の例として、DYNAMICまたはSTATIC、ならびにCOLLECTIONまたはBOOLEANなどがある。
pdwDataSizeは、バリアント・データで返される配列にあるデータ・アイテム(Data Items)の全体サイズである。
pvarDataは、データ・アイテムの配列への参照か、Booleanデータ型のデータ・アイテム値、を格納するバリアント構造である。バリアントは入力では空である。
このメソッドは、(存続のため、または他のセキュリティ・エンジンが使用するために)セキュリティ・エンジンが所有し、公開しているデータの一片が変化したときに、セキュリティ・エンジンによって呼び出される。パラメータは、メモリの所有権がセキュリティ・エンジンに属することを除き、WriteData呼出しとほぼ同じであるので、エージェントは、いったん処理されたアイテムを削除してはならない。このメソッドは次のように定義される。
HRESULT WriteSEData(
[in] REFGUID guidDataID,
[in] DWORD dwDataSize,
[in] VARIANT varData);
このメソッドは、いずれかのスレッドで別のWriteSEData呼出しが未処理のままである間も含めて、いつでも呼び出すことができる。必要に応じてシリアル化(serialization)を保証するのはエージェントの役割である。
このメソッドは、セキュリティ・エンジンが、関係のなくなったデータ・アイテムに関するWriteData通知の受取を中止することを可能にする。このメソッドは次のように定義される。
HRESULT UnRegisterNotifyData(
[in] REFGUID guidDataID);
guidDataIDは、セキュリティ・エンジンにとって関係がなくなった変更通知の対象であるデータ・アイテムを識別するGUIDである。セキュリティ・エンジンは、ヌルGUID{00000000−0000−0000−000000000000}を渡すことによって、現在の通知をすべて登録解除する意志を示すことができる。
エージェントはあらゆるエラーをOperational Eventとしてログ記録する。これには、データがエージェントに認識されていないケースが含まれ、ポリシー管理のトラブルの診断に役立つ。
このメソッドは、セキュリティ・エンジンが、データ・アイテムに関連付けられた特定の属性を取得することを可能にする。属性名は、テキストの場合も含め、Policy XMLにある名前と同じである。属性値は、ポリシーが変更された場合のみ変更される可能性があるので、このデータについては、通知システムは不要である。このメソッドは次のように定義される。
HRESULT GetDataAttribute(
[in] REFGUID guidDataID,
[in] WCHAR *wszAttributeName,
[out] VARIANT *pvarAttributeValue);
このメソッドはいつでも呼び出すことができる。
guidDataIDは、属性を取得するデータ・アイテムを識別するGUIDである。
wszAttributeNameは、属性の名前であり、ポリシー・ドキュメント内にあるとおりである。
pvarAttributeValueは、バリアント(Variant)としての属性値である。通常の出力パラメータ割当てルールが適用される。エージェントは、新しいバリアント(Variant)に情報を割り当てる。これを後で解放するのは呼出し側の役割である。
このメソッドは、セキュリティ・エンジンがエージェントから構成データを読み取るのを可能にする。いったんセキュリティ・エンジンが構成データを読み取ると、そのデータに対する変更は、エージェントが、ISecurityEngineインターフェースのWriteConfigメソッドを呼び出して、セキュリティ・エンジンに通知する。
HRESULT ReadAndRegisterNotifyConfig(
[in] WCHAR *wszDataName,
[out] VARIANT *pvarData);
wszDataNameは、取得する構成データ・アイテムのテキスト(Text)名であり、このデータのレジストリで使用される名前である。これは、共通エージェント・ルートを基準として個々のアイテムを識別する。先頭の「\」文字は不要である。この値の大文字と小文字は区別されないが、空白文字には意味がある。
pvarDataは、その名前で表される単一データ・アイテムを格納するバリアント構造である。このデータは、レジストリにあるそのデータの型に応じて、様々なデータ型になる。エージェントではデータ型をチェックしないが、セキュリティ・エンジンでは、データ型が必要なので、コンテクストに従ってデータ型をチェックすることが求められる。
このメソッドは、セキュリティ・エンジンが、関係のなくなったデータ・アイテムに関するWriteConfig通知の受取を中止することを可能にする。このメソッドは次のように定義される。
HRESULT UnRegisterNotifyConfig(
[in] WCHAR *wszDataName);
wszDataNameは、セキュリティ・エンジンにとって関係がなくなった変更通知の対象である構成データ・アイテムを識別するテキスト(Text)名である。
このメソッドは、セキュリティ・エンジンがエージェントに要求して、特定のメッセージをユーザーに向けて表示させ、ユーザーが選択した答えを返させることを可能にする。エージェントはさらにこの答えをキャッシュすることが可能であり、エージェントが再起動してもその値を保持することができる。ユーザーに提示された質問には、そのユーザーにこの質問が向けられた理由に関する具体的な情報を含めることができる。この情報はセキュリティ・エンジンによって提供され、このメソッドが呼び出されるたびに異なるものにすることができる。この質問が以前に尋ねられたものかどうか、およびその答えは何かについて、エージェントがどのように結論付けるかは、セキュリティ・エンジンが提供するキー情報(Key Information)によって決まる。
HRESULT QueryUser(
[in] REFGUID guidQueryItem,
[in] DWORD dwKeySize,
[in] byte *pbKeyValue,
[in] SAFEARRAY(VARIANT) pvarQueryParams);
guidQueryItemは、ユーザーに質問をし、その質問に対する可能な答えを提示することに使用される基本文字列を格納するデータ・アイテムのGUIDである。
dwKeySizeは、キー値(Key Value)の長さ(バイト単位)である。
pbKeyValueは、このクエリの一意のキーを定義するバイト・セットである。
このメソッドは、先の、エージェントからセキュリティ・エンジンへの非同期呼出しに関連付けられた処理をそのセキュリティ・エンジンが完了したことを、エージェントに通知する。特定のセキュリティ・エンジンが、エージェントからの複数の非同期呼出しを未処理のままにしておくことが、潜在的に可能だが、エージェントは各セキュリティ・エンジンの内部状態を、特定のCompleteコール・バックのコンテクストがあいまいであるように管理する。このメソッドは次のように定義される。
HRESULT Complete(
[in] HRESULT hrCompletionCode);
hrCompletionCodeは、エージェントが以前にこのセキュリティ・エンジンに対して行った非同期呼出しのリターン・コードである。
ここでは、これらのAPIを使用して1つまたは複数のセキュリティ・エンジンと対話する方法に関する制約の例について説明する。
・初期化
・エージェントからのポリシー更新
・シャット・ダウン
1.各セキュリティ・エンジンのPreparePolicyが呼び出される。
2.各セキュリティ・エンジンがComplete(成功)またはComplete(失敗)を呼び出すのを、エージェントが待つ。
3.いずれかのセキュリティ・エンジンが失敗を報告した場合、他のすべてのセキュリティ・エンジンに対してRollbackPolicyメソッドが呼び出されることになる。
4.失敗を報告するセキュリティ・エンジンがない場合は、各セキュリティ・エンジンに対してCommitPolicyメソッドが呼び出される。
5.さらに失敗が見つかった場合、またはCommitPolicyメソッドが呼び出される前にShutdownが必要になった場合は、各セキュリティ・エンジンに対してRollbackPolicyメソッドが呼び出される。
各アイテムに対して渡されるデータ:
Filename(ファイル名)−文字列
実装:
BSTR
DirectorySet
各アイテムに対して渡されるデータ:
Directory Name(ディレクトリ名)−文字列
Recursive(再帰)−フラグ
実装:
パッキングされたBSTR −“再帰フラグ:文字列”
再帰フラグは単一文字−
「R」−再帰
「F」−フラット
RegistrySet
各アイテムに対して渡されるデータ:
Registry Key Name(レジストリキー名)−文字列
実装:
パッキングされたBSTR −“再帰フラグ:文字列”
再帰フラグは単一文字−
「R」−再帰
「F」−フラット
Protocol
各アイテムに対して渡されるデータ:
Primary / Secondary(プライマリまたはセカンダリ)−文字列または列挙
IP Type(IPタイプ)−文字列または列挙
Direction(方向)−文字列または列挙
Port(ポート)またはPort Range(ポート範囲)−1つまたは2つの整数(16ビットの符号なし整数)
実装:
パッキングされたLONGLONG:
1バイト−プライマリ/セカンダリ
1バイト−IPタイプ(TCP/UDP)
1バイト−方向(入力/出力/入出力)
1バイト−未使用
2バイト−ポート範囲の終了(またはゼロ)
2バイト−ポート範囲の開始(またはポート)
ProcessSet
各アイテムに対して渡されるデータ:
Process Name(プロセス名)またはPath(パス)−文字列
実装:
BSTR
NetworkPortSet
各アイテムに対して渡されるデータ:
Port(ポート)またはPort Range(ポート範囲)−1つまたは2つの整数(16ビットの符号なし整数)
実装:
パッキングされたLONG: 開始=下位ワード、終了=上位ワード。
ポート範囲でない場合、上位ワードはゼロ。
NetworkIPv4AddressSet
各アイテムに対して渡されるデータ:
以下のいずれか:
IPv4 Address(IPv4アドレス)−文字列(ワイルドカードを含むことができる)
IPv4 Address Range(IPv4アドレス範囲)−2つの文字列
FQDN−文字列
Hostname(ホスト名)−文字列
実装:
パッキングされたBSTR:“T:文字列1:文字列2”
T−タイプ(アドレス、アドレス範囲、ホスト名またはFQDNを表す1文字)
文字列1−アドレス、開始アドレス、ホスト名またはFQDN
文字列2−アドレス範囲の終了アドレス
UserSet
各アイテムに対して渡されるデータ:
User Account Name(ユーザー・アカウント名)−文字列
実装:
BSTR
UserGroupSet
各アイテムに対して渡されるデータ :
User Group Name(ユーザー・グループ名)−文字列
実装:
BSTR
FileOpSet
各アイテムに対して渡されるデータ:
File Operation(ファイル操作)−文字列(または列挙)
実装:
BSTR
DirOpSet
各アイテムに対して渡されるデータ:
Directory Operation(ディレクトリ操作)−文字列(または列挙)
実装:
BSTR
ProcessOpSet
各アイテムに対して渡されるデータ:
Process Operation(プロセス操作)−文字列(または列挙)
実装:
BSTR
RegKeyOpSet
各アイテムに対して渡されるデータ:
Registry Key Operation(レジストリキー操作)−文字列(または列挙)
実装:
BSTR
RegValueOpSet
各アイテムに対して渡されるデータ:
Registry Value Operation(レジストリ値操作)−文字列(または列挙)
実装:
BSTR
UserOpSet
各アイテムに対して渡されるデータ:
User Account Operation(ユーザー・アカウント操作)−文字列(または列挙)
実装:
BSTR
UserGroupOpSet
各アイテムに対して渡されるデータ:
User Group Operation(ユーザー・グループ操作)−文字列(または列挙)
実装:
BSTR
JobOpSet
各アイテムに対して渡されるデータ:
Job Operation(ジョブ操作)−文字列(または列挙)
実装:
BSTR
Generic
各アイテムに対して渡されるデータ:
Value(値)−文字列
実装:
BSTR
QuerySet
QuerySetは、セキュリティ・エンジンに対しては、ユーザーへのクエリの結果を格納する単一アイテム・コレクションとして動作する。関連するコンテクストが、別個のパラメータとしてセキュリティ・エンジンに渡される。セキュリティ・エンジンにとっては、必要なのはコンテクストとクエリ結果だけであり、QuerySetの内部構造は通常、必要とされない。
Boolean(boolDefine)
単一アイテムに対して渡されるデータ:
Boolean(ブーリアン、ブール型、論理型)−真または偽
実装:
LONG −偽=0、真=1
あるコード・セグメントから別のコード・セグメントへの通信は、その通信を複数の別々の通信に分割することによって間接的に達成できる。これを図12および13で概略的に示す。図に示すように、複数のインターフェースを、分割可能な機能セットの項目(terms of divisible sets of functionality)で表すことができる。そこで、図10および11のインターフェース機能は、ちょうど、数学的に、24を、あるいは2×2×3×2を提供するように、同じ結果を達成するために、要素に分解することができる。したがって、図12に示すように、インターフェースInterface1で実現される機能を細分して、そのインターフェースの通信を複数のインターフェースInterface1A、Interface1B、Interface1Cなどに変換し、同じ機能を達成することができる。また、図13に示すように、インターフェースI1で実現される機能を、複数のインターフェースI1a、I1b、I1cなどに細分して、同じ結果を達成することができる。同様に、第1のコード・セグメントから情報を受け取る第2のコード・セグメントのインターフェースI2を、複数のインターフェースI2a、I2b、I2cなどに、ファクタリングできる。ファクタリングを行う場合、第1のコード・セグメントに含まれるインターフェースの数と、第2のコード・セグメントに含まれるインターフェースの数は同じである必要はない。図12、図13のいずれの場合でも、インターフェースInterface1およびI1の機能的意味(functional spirit)は、それぞれ図10および11の場合と同じままである。インターフェースのファクタリングはさらに、結合(associative)、交換(commutative)、その他の数学的特性に従うことができ、それによって、そのファクタリングをわかりにくくすることができる。たとえば、操作の順序が重要でない場合があり、その場合は、インターフェースで実行されるある機能を、そのインターフェースに到達するかなり前に実行したり、別のコードまたはインターフェースの一部で実行したり、そのシステムの別のコンポーネントで実行したりできる。さらに、プログラミング分野の当業者であれば、同じ結果を達成する、異なる関数呼出しを作成する方法が多岐にわたっていることを理解されよう。
場合によっては、意図した結果を達成しながら、プログラミング・インターフェースの特定の態様(たとえば、パラメータ)を無視、追加または再定義することができる。これを図14および15に示す。たとえば、図10のインターフェースInterface1が、3つのパラメータinput、precisionおよびoutputを含む関数呼出しSquare(input、precision、output)を含み、この呼出しが第1のコード・セグメントから第2のコード・セグメントに発行される、と仮定する。ある特定の条件下で中間のパラメータprecisionが、図14に示すように、無用な場合は、このパラメータを無視したほうが好都合で有る場合があり、あるいは(この状況では)meaninglessパラメータに置き換えることもできる。さらに、関係のないadditionalパラメータを追加することもできる。いずれの場合も、第2のコード・セグメントによって入力が2乗(square)された後に出力が返される限り、2乗の機能は達成できる。precisionは、コンピューティング・システムのある程度下流や他の部分で十分意味を持つパラメータである場合があるが、2乗を計算するという狭い用途でいったん不要と認識されると、置き換えられるか無視される可能性がある。たとえば、有効なprecision値を渡す代わりに、誕生日などの無意味な値を渡しても結果に悪影響を及ぼさないと考えられる。同様に、図15に示すように、インターフェースI1はインターフェースI1’に置き換えられ、パラメータを無視するか、そのインターフェースにパラメータを追加するよう再定義される。インターフェースI2は同様にインターフェースI2’として再定義され、不要なパラメータや他の場所で処理される可能性のあるパラメータを無視するよう再定義される。ここでのポイントは、プログラミング・インターフェースが特定の用途には不要である可能性がある、パラメータなどの、アスペクトを含む場合があるケースでは、したがって、それらを無視したり、再定義したり、他の用途のために別の場所で処理したりできる、ということである。
さらに、別々の2つのコード・モジュールのある機能またはすべての機能を結合して、それらの間の「インターフェース」の形態を変えることが便利である場合がある。たとえば、図10および11の機能を、それぞれ図16および17の機能に変換できる。図16では、図10にあった第1および第2のコード・セグメントが、その両方を含む1つのモジュールにマージされている。この場合、それらのコード・セグメントは引き続き互いに通信しているが、そのインターフェースは、単一モジュールにとってより適した形態に変更することができる。したがって、たとえば、形式的なCall文とReturn文は不要になっても、インターフェースInterface1に準拠する同様の処理や応答が引き続き有効になる場合がある。同様に、図17に示すように、図11のインターフェースI2の一部(またはすべて)をインターフェースI1とインラインでコーディングして、インターフェースI1”を形成することができる。図に示すように、インターフェースI2はI2aとI2bに分割され、インターフェース部分I2aはインターフェースI1とインラインでコーディングされて、インターフェースI1”が形成されている。具体例として、図11のインターフェースI1が関数呼出しsquare(input,output)を実行し、これをインターフェースI2が受取、その後、(2乗すべき)inputとして渡された値が第2のコード・セグメントによって処理され、2乗した結果がoutputとして戻されるとする。このような場合、第2のコード・セグメントで実行される処理(inputの2乗)は、インターフェースを呼び出すことなく、第1のコード・セグメントで実行できる。
あるコード・セグメントから別のコード・セグメントへの通信は、その通信を複数の別々の通信に分割する(breaking)ことによって間接的に達成できる。これを図18および19で概略的に示す。図18に示すように、第1のインターフェースInterface1上の通信を、異なるインターフェース(ここではインターフェースInterface2A、Interface2BおよびInterface2C)に準拠するよう変換するために、1つまたは複数個のミドルウェア(機能および/またはインターフェース機能をオリジナルのインターフェースから完全に分離するので、「ディボース(divorce)インターフェース」、)が提供される。こうしたことを行うのは、たとえば、Interface1プロトコルに従って、たとえばオペレーティング・システムと通信するよう設計された、複数のアプリケーションのインストールされたベースがある場合であり、しかしこの場合、オペレーティング・システムは、別のインターフェース(ここではインターフェースInterface2A、Interface2BおよびInterface2C)を使用するように変更される。このポイントは、第2のコード・セグメントで使用しているオリジナルのインターフェースを、第1のコード・セグメントで使用しているインターフェースと互換性のないものに変換することであり、そのために、媒介手段を用いて古いインターフェースと新しいインターフェースの互換をとることである。同様に、図19に示すように、第3のコード・セグメントを導入し、インターフェースI1からの通信を完全分離インターフェースDI1で受取、完全分離インターフェースDI2から、たとえば、DI2と動作するよう再設計されたインターフェースI2aおよびI2bにインターフェース機能を伝達して、機能的に同じ結果を実現することができる。同様に、DI1およびDI2は、連係動作により、図11のインターフェースI1およびI2の機能を新しいオペレーティング・システム向けに変換し、かつ、機能的に同一もしくは同等の結果を実現することができる。
さらにまた別の可能な変種(variant)として、コードを動的にリライト(rewrite)して、インターフェース機能を別の何かに置き換え、全体としては同じ結果を達成することができる。たとえば、中間言語(たとえば、Microsoft IL,Java(登録商標) ByteCodeなど)で表されたコード・セグメントを、実行環境(たとえば、.Netフレームワーク、Java(登録商標)ランタイム環境、または他の同様なランタイム・タイプの環境で提供される実行環境)でJIT(Just-in-Time)コンパイラまたはインタープリタにかけるシステムが考えられる。JITコンパイラは、第1のコード・セグメントから第2のコード・セグメントへの通信を動的に変換するように書くことができる、つまり、通信を、第2のコード・セグメント(オリジナルの第2のコード・セグメントか、別の第2のコード・セグメント)で要求される可能性のある異なるインターフェースに準拠させるように書くことができる。これを図20および21に示す。図20からわかるように、この方式は、前述したディボース方式(Divorce scenario)とよく似ている。これは、たとえば、複数のアプリケーションがインストールされたベースが、Interface1プロトコルに従ってオペレーティング・システムと通信するよう設計されている場合であり、そのために、オペレーティング・システムが、別のインターフェースを使用するよう変更される場合である。JITコンパイラは、インストールされたベース・アプリケーションからの通信を、オペレーティング・システムの新しいインターフェースに、直ちに(on the fly)準拠させることができる。図21に示すように、この、インターフェースを動的にリライティングする方式は、インターフェースの動的なファクタリング(factoring)やその他の動的な変換にも同様に適用できる。
102 ホスト・コンピュータ
104 サーバー
106 サーバー
108 ネットワーク
110 セキュリティ・モジュール
112 イベント・マネージャ
114 セキュリティ・エンジン
116 セキュリティ・エンジン
118 セキュリティ・エンジン
120 システム状態情報
122 システム構成情報
124 アプリケーション・プログラム・インターフェース(API)
200 セキュリティ・ポリシー
202 データ
204 ルール
300 セキュリティ・モジュールによって保持されるテーブル
302 データ要素
304 セキュリティ・エンジン
900 一般的なコンピュータ環境
902 コンピュータ
904 処理ユニット
906 システム・メモリ
908 システム・バス
910 RAM(ランダム・アクセス・メモリ)
912 ROM(読み出し専用メモリ)
914 BIOS(基本入出力システム)
916 ハードディスク・ドライブ
918 磁気ディスク・ドライブ
920 リムーバブルで不揮発性の磁気ディスク
922 光ディスク・ドライブ
924 リムーバブルで不揮発性の光ディスク
925 データ・メディア・インターフェース
926 オペレーティング・システム
928 アプリケーション・プログラム
930 他のプログラム・モジュール
932 プログラム・データ
934 キーボード
936 マウス
938 他の装置
940 入出力インターフェース
942 モニタ
944 ビデオ・アダプタ
946 プリンタ
948 リモート・コンピューティング装置
950 LAN(ローカル・エリア・ネットワーク)
952 インターネット
954 ネットワーク・アダプタ
956 モデム
958 リモート・アプリケーション・プログラム
Claims (32)
- コンピュータでの読み取りが可能な1つまたは複数のメディアに関して実施されるプログラミング・インターフェースであって、
既存のセキュリティ・ポリシーを新しいセキュリティ・ポリシーに置き換えるよう構成されている複数のセキュリティ・エンジンに、新しいセキュリティ・ポリシーを伝達することに関連付けられる第1の機能グループ、および
前記新しいセキュリティ・ポリシーを実装する準備ができていることのインジケーションで、各セキュリティ・エンジンについてのインジケーションを伝達することに関連付けられた第2の機能グループ
を備えることを特徴とするプログラミング・インターフェース。 - 前記第1の機能グループは、前記複数のセキュリティ・エンジンのそれぞれに前記新しいセキュリティ・ポリシーを削除するように指示するメソッドを含むことを特徴とする請求項1に記載のプログラミング・インターフェース。
- 前記第1の機能グループは、特定のセキュリティ・エンジンを初期化するメソッドを含むことを特徴とする請求項1に記載のプログラミング・インターフェース。
- 前記第1の機能グループは、前記複数のセキュリティ・エンジンのそれぞれに前記新しいセキュリティ・ポリシーを実装するように指示するメソッドを含むことを特徴とする請求項1に記載のプログラミング・インターフェース。
- 前記第1の機能グループは、既存のセキュリティ・ポリシーに関連付けられた新しいデータを前記複数のセキュリティ・エンジンの少なくとも1つに伝達するメソッドをさらに備えることを特徴とする請求項1に記載のプログラミング・インターフェース。
- 前記第1の機能グループは、構成情報を前記複数のセキュリティ・エンジンの少なくとも1つに伝達するメソッドをさらに備えることを特徴とする請求項1に記載のプログラミング・インターフェース。
- 前記第2の機能グループは、特定のセキュリティ・エンジンが前記新しいセキュリティ・ポリシーを実装したかどうかを示すメソッドを含むことを特徴とする請求項1に記載のプログラミング・インターフェース。
- 前記第2の機能グループは、特定のセキュリティ・ポリシーに関連付けられた更新されるデータを取得するメソッドをさらに含むことを特徴とする請求項1に記載のプログラミング・インターフェース。
- 前記第2の機能グループは、前記複数のセキュリティ・エンジンの1つが識別した新しいデータをセキュリティ・エージェントに伝達するメソッドをさらに備えることを特徴とする請求項1に記載のプログラミング・インターフェース。
- 前記第2の機能グループは、前記複数のセキュリティ・エンジンの1つが前記複数のセキュリティ・エンジンを含むシステムのユーザーに問い合わせを行うことを可能にするメソッドをさらに備えることを特徴とする請求項1に記載のプログラミング・インターフェース。
- 前記複数のセキュリティ・エンジンの少なくとも1つがアンチウィルス・サービスを実装することを特徴とする請求項1に記載のプログラミング・インターフェース。
- 前記複数のセキュリティ・エンジンの少なくとも1つがファイアウォール・アプリケーションを実装することを特徴とする請求項1に記載のプログラミング・インターフェース。
- すべてのセキュリティ・エンジンが前記新しいセキュリティ・ポリシーを実装する準備を整えたことを示した後に、前記複数のセキュリティ・エンジンが前記新しいセキュリティ・ポリシーを実装することを特徴とする請求項1に記載のプログラミング・インターフェース。
- 1つまたは複数のマイクロ・プロセッサと1つまたは複数のソフトウェア・プログラムを含むコンピュータ・システムであって、前記1つまたは複数のソフトウェア・プログラムはアプリケーション・プログラム・インターフェースを利用して複数のセキュリティ・エンジンにセキュリティ・ポリシーを実装し、前記アプリケーション・プログラム・インターフェースは、
新しいセキュリティ・ポリシーを前記複数のセキュリティ・エンジンに伝達する第1の機能、
前記複数のセキュリティ・エンジンのそれぞれが前記新しいセキュリティ・ポリシーを適用する準備を整えたかどうかを識別する第2の機能、および
すべてのセキュリティ・エンジンが前記新しいセキュリティ・ポリシーを適用する準備を整えたことを確認した後に、前記複数のセキュリティ・エンジンのそれぞれに前記新しいセキュリティ・ポリシーを実装するよう指示する第3の機能
を備えることを特徴とするコンピュータ・システム。 - 前記複数のセキュリティ・エンジンの少なくとも1つが前記新しいセキュリティ・ポリシーを適用できない場合に、前記複数のセキュリティ・エンジンのそれぞれに、前記新しいセキュリティ・ポリシーを削除させる第4の機能をさらに備えることを特徴とする請求項14に記載のコンピュータ・システム。
- 第1のセキュリティ・エンジンが識別したイベント情報をその他のセキュリティ・エンジンに伝達することに関連付けられた第4の機能をさらに備えることを特徴とする請求項14に記載のコンピュータ・システム。
- 第1のセキュリティ・エンジンが識別したセキュリティ関連情報をイベント・マネージャに伝達することに関連付けられた第4の機能をさらに備えることを特徴とする請求項14に記載のコンピュータ・システム。
- 前記イベント・マネージャは前記セキュリティ関連情報を前記複数のセキュリティ・エンジンの少なくとも1つに伝達することを特徴とする請求項17に記載のコンピュータ・システム。
- 前記複数のセキュリティ・エンジンの少なくとも1つが第1のタイプのセキュリティ攻撃に関連付けられていることを特徴とする請求項14に記載のコンピュータ・システム。
- 前記複数のセキュリティ・エンジンの少なくとも1つが第2のタイプのセキュリティ攻撃に関連付けられていることを特徴とする請求項19に記載のコンピュータ・システム。
- セキュリティ・ポリシーを第1のセキュリティ・エンジンに伝達することを容易にするために、1つまたは複数の第1の機能を呼び出すこと、
前記第1のセキュリティ・エンジンが前記セキュリティ・ポリシーを適用したかどうかの決定を容易するために、1つまたは複数の第2の機能を呼び出すこと、および
セキュリティ関連情報を前記第1のセキュリティ・エンジンから第2のセキュリティ・エンジンに伝達することを容易にするために、1つまたは複数の第3の機能を呼び出すこと
を備えることを特徴とする方法。 - 前記セキュリティ関連情報はセキュリティ攻撃のタイプを識別することを特徴とする請求項21に記載の方法。
- 前記第1のセキュリティ・エンジンを含むシステムのユーザーと対話することを容易にするために、1つまたは複数の第4の機能を呼び出すことをさらに備えることを特徴とする請求項21に記載の方法。
- 構成情報を前記第1のセキュリティ・エンジンに伝達することを容易にするために、1つまたは複数の第4の機能を呼び出すことをさらに備えることを特徴とする請求項21に記載の方法。
- 前記第1のセキュリティ・エンジンと前記第2のセキュリティ・エンジンとに前記セキュリティ・ポリシーを実装することを指示することを容易にするために、1つまたは複数の第4の機能を呼び出すことをさらに備えることを特徴とする請求項21に記載の方法。
- 改訂したセキュリティ・ポリシーを前記第1のセキュリティ・エンジンに伝達することを容易にするために、1つまたは複数の第4の機能を呼び出すことをさらに備えることを特徴とする請求項21に記載の方法。
- セキュリティ関連イベントをイベント・マネージャに伝達する第1の機能を公開する手段、
前記セキュリティ関連イベントに関連付けられた複数のセキュリティ・エンジンを識別する第2の機能を公開する手段、および
前記セキュリティ関連イベントを前記識別されたセキュリティ・エンジンに伝達する第3の機能を公開する手段
を備えることを特徴とするシステム。 - 新しいセキュリティ・ポリシーを前記複数のセキュリティ・エンジンに伝達する第4の機能を公開する手段、および
既存のセキュリティ・ポリシーを前記新しいセキュリティ・ポリシーに置き換えることを前記複数のセキュリティ・エンジンに指示する第5の機能を公開する手段
をさらに備えることを特徴とする請求項27に記載のシステム。 - 前記複数のセキュリティ・エンジンの少なくとも1つが前記新しいセキュリティ・ポリシーを実装できない場合に、前記新しいセキュリティ・ポリシーを削除することを、前記複数のセキュリティ・エンジンに指示する第6の機能を公開する手段をさらに備えることを特徴とする請求項28に記載のシステム。
- 前記セキュリティ関連イベントがウィルスの検出であることを特徴とする請求項27に記載のシステム。
- 前記セキュリティ関連イベントがストレージ装置に対する不正なアクセス試行であることを特徴とする請求項27に記載のシステム。
- 特定のセキュリティ・エンジンが別の関数呼出しの処理を完了したことを前記イベント・マネージャに通知する第4の機能を公開する手段をさらに備えることを特徴とする請求項27に記載のシステム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/729,823 US7430760B2 (en) | 2003-12-05 | 2003-12-05 | Security-related programming interface |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005327239A true JP2005327239A (ja) | 2005-11-24 |
JP4676744B2 JP4676744B2 (ja) | 2011-04-27 |
Family
ID=34523006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004322692A Expired - Fee Related JP4676744B2 (ja) | 2003-12-05 | 2004-11-05 | セキュリティ関連プログラミング・インターフェース |
Country Status (10)
Country | Link |
---|---|
US (1) | US7430760B2 (ja) |
EP (1) | EP1542426B1 (ja) |
JP (1) | JP4676744B2 (ja) |
KR (1) | KR101122787B1 (ja) |
CN (1) | CN1624657B (ja) |
AU (1) | AU2004218703B2 (ja) |
BR (1) | BRPI0403523A (ja) |
CA (1) | CA2485062A1 (ja) |
MX (1) | MXPA04011271A (ja) |
RU (1) | RU2377639C2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5482783B2 (ja) * | 2009-03-05 | 2014-05-07 | 日本電気株式会社 | セキュリティ管理装置、方法、及びプログラム、並びにセキュリティ分散システム |
JP2014089741A (ja) * | 2010-07-21 | 2014-05-15 | Samsung Sds Co Ltd | システムオンチップ基盤のアンチマルウェアサービスを提供できるデバイス及びその方法 |
JP2016053979A (ja) * | 2010-07-28 | 2016-04-14 | マカフィー, インコーポレイテッド | 悪意のあるソフトウェアに対するローカル保護をするシステム及び方法 |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8910241B2 (en) | 2002-04-25 | 2014-12-09 | Citrix Systems, Inc. | Computer security system |
US7533416B2 (en) * | 2004-04-29 | 2009-05-12 | Microsoft Corporation | Framework for protection level monitoring, reporting, and notification |
JP4341517B2 (ja) * | 2004-06-21 | 2009-10-07 | 日本電気株式会社 | セキュリティポリシー管理システム、セキュリティポリシー管理方法およびプログラム |
US8561126B2 (en) * | 2004-12-29 | 2013-10-15 | International Business Machines Corporation | Automatic enforcement of obligations according to a data-handling policy |
US9606795B1 (en) * | 2005-05-05 | 2017-03-28 | Alcatel-Lucent Usa Inc. | Providing intelligent components access to an external interface |
US7832006B2 (en) * | 2005-08-09 | 2010-11-09 | At&T Intellectual Property I, L.P. | System and method for providing network security |
US20070174910A1 (en) * | 2005-12-13 | 2007-07-26 | Zachman Frederick J | Computer memory security platform |
US9172629B1 (en) * | 2005-12-29 | 2015-10-27 | Alcatel Lucent | Classifying packets |
US8190868B2 (en) * | 2006-08-07 | 2012-05-29 | Webroot Inc. | Malware management through kernel detection |
US8230505B1 (en) * | 2006-08-11 | 2012-07-24 | Avaya Inc. | Method for cooperative intrusion prevention through collaborative inference |
US8352998B1 (en) * | 2006-08-17 | 2013-01-08 | Juniper Networks, Inc. | Policy evaluation in controlled environment |
KR100791279B1 (ko) * | 2007-02-05 | 2008-01-04 | 비앤비쏠루션주식회사 | 보조기억매체의 관리방법 |
KR100791278B1 (ko) * | 2007-02-05 | 2008-01-04 | 비앤비쏠루션주식회사 | 보조기억매체의 관리방법 |
US8392981B2 (en) * | 2007-05-09 | 2013-03-05 | Microsoft Corporation | Software firewall control |
US8341723B2 (en) | 2007-06-28 | 2012-12-25 | Microsoft Corporation | Filtering kernel-mode network communications |
US8613084B2 (en) | 2007-09-18 | 2013-12-17 | Mcafee, Inc. | System, method, and computer program product for detecting at least potentially unwanted activity based on execution profile monitoring |
US8516539B2 (en) | 2007-11-09 | 2013-08-20 | Citrix Systems, Inc | System and method for inferring access policies from access event records |
US8990910B2 (en) | 2007-11-13 | 2015-03-24 | Citrix Systems, Inc. | System and method using globally unique identities |
US8739189B2 (en) | 2008-01-24 | 2014-05-27 | Mcafee, Inc. | System, method, and computer program product for invoking an application program interface within an interception of another application program interface |
US20090222292A1 (en) * | 2008-02-28 | 2009-09-03 | Maor Goldberg | Method and system for multiple sub-systems meta security policy |
US9240945B2 (en) | 2008-03-19 | 2016-01-19 | Citrix Systems, Inc. | Access, priority and bandwidth management based on application identity |
US8943575B2 (en) | 2008-04-30 | 2015-01-27 | Citrix Systems, Inc. | Method and system for policy simulation |
FR2933510B1 (fr) * | 2008-07-04 | 2010-10-15 | Oberthur Technologies | Dispositif electronique portable comprenant une application portable et un module securise pouvant communiquer entre eux, et procede de communication associe |
CN101727345B (zh) * | 2008-10-29 | 2013-09-04 | 国际商业机器公司 | 控制动态链接库dll加载状态的方法和系统 |
US8990573B2 (en) | 2008-11-10 | 2015-03-24 | Citrix Systems, Inc. | System and method for using variable security tag location in network communications |
US8321938B2 (en) * | 2009-02-12 | 2012-11-27 | Raytheon Bbn Technologies Corp. | Multi-tiered scalable network monitoring |
US8613108B1 (en) * | 2009-03-26 | 2013-12-17 | Adobe Systems Incorporated | Method and apparatus for location-based digital rights management |
US11489857B2 (en) | 2009-04-21 | 2022-11-01 | Webroot Inc. | System and method for developing a risk profile for an internet resource |
US8397293B2 (en) * | 2009-12-31 | 2013-03-12 | International Business Machines Corporation | Suspicious node detection and recovery in mapreduce computing |
US8402106B2 (en) * | 2010-04-14 | 2013-03-19 | Red Hat, Inc. | Asynchronous future based API |
RU2449360C1 (ru) * | 2011-03-28 | 2012-04-27 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ формирования антивирусных баз в соответствии с параметрами персонального компьютера |
AU2012272509A1 (en) * | 2011-06-21 | 2014-02-06 | Jajoza Connected Solutions Pty Ltd | A system and method for providing safety policies for communications and interaction |
US8707434B2 (en) | 2011-08-17 | 2014-04-22 | Mcafee, Inc. | System and method for indirect interface monitoring and plumb-lining |
CN103428344A (zh) * | 2012-05-17 | 2013-12-04 | 上海闻泰电子科技有限公司 | 一种在功能手机动态加载程序中实现待机运行的方法 |
RU2495487C1 (ru) * | 2012-08-10 | 2013-10-10 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ для определения доверия при обновлении разрешенного программного обеспечения |
JP6066750B2 (ja) | 2013-01-31 | 2017-01-25 | キヤノン株式会社 | 画像形成装置及びその制御方法、並びにプログラム |
JP6066751B2 (ja) | 2013-01-31 | 2017-01-25 | キヤノン株式会社 | 情報処理システム及びその制御方法、並びにプログラム |
US9172604B1 (en) | 2013-02-25 | 2015-10-27 | Google Inc. | Target mapping and implementation of abstract device model |
US9166912B2 (en) * | 2013-02-25 | 2015-10-20 | Google Inc. | Translating network forwarding plane models into target implementation using sub models and hints |
US10127379B2 (en) * | 2013-03-13 | 2018-11-13 | Mcafee, Llc | Profiling code execution |
US9258315B2 (en) * | 2014-01-13 | 2016-02-09 | Cisco Technology, Inc. | Dynamic filtering for SDN API calls across a security boundary |
CN106161373B (zh) * | 2015-04-10 | 2020-11-06 | 腾讯科技(深圳)有限公司 | 一种安全防护信息提示方法、安全监控装置以及系统 |
US10599662B2 (en) * | 2015-06-26 | 2020-03-24 | Mcafee, Llc | Query engine for remote endpoint information retrieval |
WO2017122353A1 (ja) * | 2016-01-15 | 2017-07-20 | 株式会社日立製作所 | 計算機システム及びその制御方法 |
CN105550030A (zh) * | 2016-01-28 | 2016-05-04 | 浪潮电子信息产业股份有限公司 | 一种安全能力聚合系统 |
US10530812B2 (en) * | 2016-03-31 | 2020-01-07 | Hyland Software, Inc. | Methods and apparatuses for providing configurable security models |
CN106254346B (zh) * | 2016-08-03 | 2019-04-19 | 广州品唯软件有限公司 | 安全策略更新方法及系统 |
CN106911462B (zh) * | 2017-01-18 | 2020-03-24 | 南宁师范大学 | 基于基因表达式编程的无线路由器密码分析方法 |
US10033750B1 (en) | 2017-12-05 | 2018-07-24 | Redberry Systems, Inc. | Real-time regular expression search engine |
US9967272B1 (en) | 2017-12-05 | 2018-05-08 | Redberry Systems, Inc. | Real-time regular expression search engine |
CN108108210A (zh) * | 2018-01-11 | 2018-06-01 | 上海有云信息技术有限公司 | 安全产品的管理方法、装置、服务器及存储介质 |
CN108549595B (zh) * | 2018-04-18 | 2021-06-08 | 江苏物联网研究发展中心 | 一种计算系统状态信息动态采集方法及系统 |
US11212322B2 (en) * | 2018-10-10 | 2021-12-28 | Rockwelll Automation Technologies, Inc. | Automated discovery of security policy from design data |
US11671433B2 (en) * | 2020-04-21 | 2023-06-06 | Zscaler, Inc. | Data loss prevention incident forwarding |
CN112131014B (zh) * | 2020-09-02 | 2024-01-26 | 广州市双照电子科技有限公司 | 决策引擎系统及其业务处理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003085139A (ja) * | 2001-09-10 | 2003-03-20 | Mitsubishi Electric Corp | 侵入検知管理システム |
JP2003203011A (ja) * | 2001-10-16 | 2003-07-18 | Microsoft Corp | 仮想分散セキュリティシステム |
WO2003096168A2 (en) * | 2002-05-09 | 2003-11-20 | Kavado Inc. | Method for the automatic setting and updating of a security policy |
JP2004220120A (ja) * | 2003-01-09 | 2004-08-05 | Nippon Telegr & Teleph Corp <Ntt> | ネットワークセキュリティシステム、アクセス制御方法、認証機構、ファイアウォール機構、認証機構プログラム、ファイアウォール機構プログラム及びその記録媒体 |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4104721A (en) | 1976-12-30 | 1978-08-01 | International Business Machines Corporation | Hierarchical security mechanism for dynamically assigning security levels to object programs |
US4970504A (en) | 1987-05-26 | 1990-11-13 | Chen Hai C | Security system |
US6006328A (en) | 1995-07-14 | 1999-12-21 | Christopher N. Drake | Computer software authentication, protection, and security system |
US6119236A (en) | 1996-10-07 | 2000-09-12 | Shipley; Peter M. | Intelligent network security device and method |
US6178173B1 (en) | 1996-12-30 | 2001-01-23 | Paradyne Corporation | System and method for communicating pre-connect information in a digital communication system |
US6173404B1 (en) | 1998-02-24 | 2001-01-09 | Microsoft Corporation | Software object security mechanism |
US6408391B1 (en) | 1998-05-06 | 2002-06-18 | Prc Inc. | Dynamic system defense for information warfare |
US7673323B1 (en) * | 1998-10-28 | 2010-03-02 | Bea Systems, Inc. | System and method for maintaining security in a distributed computer network |
US6158010A (en) * | 1998-10-28 | 2000-12-05 | Crosslogix, Inc. | System and method for maintaining security in a distributed computer network |
US6530024B1 (en) | 1998-11-20 | 2003-03-04 | Centrax Corporation | Adaptive feedback security system and method |
CA2287689C (en) * | 1998-12-03 | 2003-09-30 | P. Krishnan | Adaptive re-ordering of data packet filter rules |
US6301668B1 (en) | 1998-12-29 | 2001-10-09 | Cisco Technology, Inc. | Method and system for adaptive network security using network vulnerability assessment |
US20040139004A1 (en) | 1999-04-08 | 2004-07-15 | Aceinc Pty Ltd. | Secure online commerce transactions |
ATE326801T1 (de) | 1999-06-10 | 2006-06-15 | Alcatel Internetworking Inc | Virtuelles privates netzwerk mit automatischer aktualisierung von benutzererreichbarkeitsinformation |
US6910135B1 (en) | 1999-07-07 | 2005-06-21 | Verizon Corporate Services Group Inc. | Method and apparatus for an intruder detection reporting and response system |
US6789202B1 (en) * | 1999-10-15 | 2004-09-07 | Networks Associates Technology, Inc. | Method and apparatus for providing a policy-driven intrusion detection system |
US6684244B1 (en) | 2000-01-07 | 2004-01-27 | Hewlett-Packard Development Company, Lp. | Aggregated policy deployment and status propagation in network management systems |
DE60141695D1 (de) * | 2000-04-07 | 2010-05-12 | Network Appliance Inc | Verfahren und gerät zur sicheren und skalierbaren übertragung von datendateien in verteilten netzwerken |
US6884244B1 (en) * | 2000-06-06 | 2005-04-26 | Roger P. Jackson | Removable medical implant closure for open headed implants |
US20040003266A1 (en) | 2000-09-22 | 2004-01-01 | Patchlink Corporation | Non-invasive automatic offsite patch fingerprinting and updating system and method |
US6513721B1 (en) | 2000-11-27 | 2003-02-04 | Microsoft Corporation | Methods and arrangements for configuring portable security token features and contents |
US7010807B1 (en) | 2001-04-13 | 2006-03-07 | Sonicwall, Inc. | System and method for network virus protection |
KR20030003593A (ko) * | 2001-07-03 | 2003-01-10 | (주) 해커스랩 | 제한조건 동안 특정 보안정책을 적용할 수 있는 네트워크보안장치 및 네트워크 보안방법 |
KR20030016500A (ko) * | 2001-08-20 | 2003-03-03 | 한국전자통신연구원 | 정책기반 네트워크 보안 시스템과 그를 이용한 보안 및보안정책 결정 방법 |
US20030065942A1 (en) | 2001-09-28 | 2003-04-03 | Lineman David J. | Method and apparatus for actively managing security policies for users and computers in a network |
US8776230B1 (en) * | 2001-10-02 | 2014-07-08 | Mcafee, Inc. | Master security policy server |
MXPA04006473A (es) | 2001-12-31 | 2004-10-04 | Citadel Security Software Inc | Sistema de resolucion automatizado para vulnerabilidad de computadora. |
US7093292B1 (en) * | 2002-02-08 | 2006-08-15 | Mcafee, Inc. | System, method and computer program product for monitoring hacker activities |
US7359962B2 (en) | 2002-04-30 | 2008-04-15 | 3Com Corporation | Network security system integration |
KR100456622B1 (ko) * | 2002-05-27 | 2004-11-10 | 한국전자통신연구원 | 정책기반의 네트워크 보안 관리 시스템에 있어서 시스템함수를 이용한 정책 제공 및 실행방법 |
US20030236994A1 (en) | 2002-06-21 | 2003-12-25 | Microsoft Corporation | System and method of verifying security best practices |
US20040015719A1 (en) | 2002-07-16 | 2004-01-22 | Dae-Hyung Lee | Intelligent security engine and intelligent and integrated security system using the same |
US20040064731A1 (en) | 2002-09-26 | 2004-04-01 | Nguyen Timothy Thien-Kiem | Integrated security administrator |
US7712133B2 (en) | 2003-06-20 | 2010-05-04 | Hewlett-Packard Development Company, L.P. | Integrated intrusion detection system and method |
US7346922B2 (en) | 2003-07-25 | 2008-03-18 | Netclarity, Inc. | Proactive network security system to protect against hackers |
US20050262362A1 (en) | 2003-10-10 | 2005-11-24 | Bea Systems, Inc. | Distributed security system policies |
US7661123B2 (en) | 2003-12-05 | 2010-02-09 | Microsoft Corporation | Security policy update supporting at least one security service provider |
US7657923B2 (en) * | 2004-07-23 | 2010-02-02 | Microsoft Corporation | Framework for a security system |
-
2003
- 2003-12-05 US US10/729,823 patent/US7430760B2/en not_active Expired - Fee Related
-
2004
- 2004-08-11 EP EP04019093.6A patent/EP1542426B1/en not_active Expired - Lifetime
- 2004-08-25 BR BR0403523-2A patent/BRPI0403523A/pt not_active IP Right Cessation
- 2004-09-28 CN CN2004100831035A patent/CN1624657B/zh not_active Expired - Fee Related
- 2004-10-08 AU AU2004218703A patent/AU2004218703B2/en not_active Ceased
- 2004-10-18 CA CA002485062A patent/CA2485062A1/en not_active Abandoned
- 2004-11-04 KR KR1020040089198A patent/KR101122787B1/ko active IP Right Grant
- 2004-11-05 JP JP2004322692A patent/JP4676744B2/ja not_active Expired - Fee Related
- 2004-11-12 MX MXPA04011271A patent/MXPA04011271A/es active IP Right Grant
- 2004-12-03 RU RU2004135454/09A patent/RU2377639C2/ru active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003085139A (ja) * | 2001-09-10 | 2003-03-20 | Mitsubishi Electric Corp | 侵入検知管理システム |
JP2003203011A (ja) * | 2001-10-16 | 2003-07-18 | Microsoft Corp | 仮想分散セキュリティシステム |
WO2003096168A2 (en) * | 2002-05-09 | 2003-11-20 | Kavado Inc. | Method for the automatic setting and updating of a security policy |
JP2005530223A (ja) * | 2002-05-09 | 2005-10-06 | カバドゥ・インク | セキュリティポリシーの自動設定および更新のための方法 |
JP2004220120A (ja) * | 2003-01-09 | 2004-08-05 | Nippon Telegr & Teleph Corp <Ntt> | ネットワークセキュリティシステム、アクセス制御方法、認証機構、ファイアウォール機構、認証機構プログラム、ファイアウォール機構プログラム及びその記録媒体 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5482783B2 (ja) * | 2009-03-05 | 2014-05-07 | 日本電気株式会社 | セキュリティ管理装置、方法、及びプログラム、並びにセキュリティ分散システム |
JP2014089741A (ja) * | 2010-07-21 | 2014-05-15 | Samsung Sds Co Ltd | システムオンチップ基盤のアンチマルウェアサービスを提供できるデバイス及びその方法 |
JP2016053979A (ja) * | 2010-07-28 | 2016-04-14 | マカフィー, インコーポレイテッド | 悪意のあるソフトウェアに対するローカル保護をするシステム及び方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1542426A3 (en) | 2011-12-14 |
EP1542426B1 (en) | 2014-12-03 |
CA2485062A1 (en) | 2005-06-05 |
KR20050054818A (ko) | 2005-06-10 |
BRPI0403523A (pt) | 2005-08-23 |
EP1542426A2 (en) | 2005-06-15 |
US7430760B2 (en) | 2008-09-30 |
KR101122787B1 (ko) | 2012-03-21 |
US20050125687A1 (en) | 2005-06-09 |
CN1624657A (zh) | 2005-06-08 |
RU2377639C2 (ru) | 2009-12-27 |
CN1624657B (zh) | 2011-06-08 |
AU2004218703A1 (en) | 2005-06-23 |
JP4676744B2 (ja) | 2011-04-27 |
RU2004135454A (ru) | 2006-05-10 |
MXPA04011271A (es) | 2005-06-09 |
AU2004218703B2 (en) | 2010-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4676744B2 (ja) | セキュリティ関連プログラミング・インターフェース | |
KR102419574B1 (ko) | 컴퓨터 애플리케이션에서 메모리 손상을 교정하기 위한 시스템 및 방법 | |
US10242186B2 (en) | System and method for detecting malicious code in address space of a process | |
US7836504B2 (en) | On-access scan of memory for malware | |
US8595170B2 (en) | Stateful reference monitor | |
US7509493B2 (en) | Method and system for distributing security policies | |
US7739720B2 (en) | Method and system for merging security policies | |
US9111089B1 (en) | Systems and methods for safely executing programs | |
US20050125694A1 (en) | Security policy update supporting at least one security service provider | |
EP1622062A2 (en) | Framework for a security system | |
US20110191453A1 (en) | Applicability detection using third party target state | |
RU2724790C1 (ru) | Система и способ формирования журнала при исполнении файла с уязвимостями в виртуальной машине | |
US20220108004A1 (en) | Trusted execution environment (tee) detection of systemic malware in a computing system that hosts the tee | |
WO2022246437A1 (en) | Automated interpreted application control for workloads | |
US8201253B1 (en) | Performing security functions when a process is created | |
CN115362433A (zh) | 用于动态代码的影子堆栈强制范围 | |
JP2010205186A (ja) | 情報処理装置と方法とプログラム | |
EP1944676A1 (en) | Stateful reference monitor | |
US10997285B2 (en) | Selectively blocking the loading of a privileged application | |
JP7255681B2 (ja) | 実行制御システム、実行制御方法、及びプログラム | |
US11709937B2 (en) | Inactivating basic blocks of program code to prevent code reuse attacks | |
US20240265084A1 (en) | Selectively validating and enabling resource enablers of a secure workspace | |
RU2583709C2 (ru) | Система и способ устранения последствий заражения виртуальных машин |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071030 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101005 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110105 |
|
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: 20110125 |
|
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: 20110128 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140204 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4676744 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 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |