[go: up one dir, main page]

JP4856970B2 - 識別された脆弱性を遮蔽するためのシステムおよび方法 - Google Patents

識別された脆弱性を遮蔽するためのシステムおよび方法 Download PDF

Info

Publication number
JP4856970B2
JP4856970B2 JP2006026308A JP2006026308A JP4856970B2 JP 4856970 B2 JP4856970 B2 JP 4856970B2 JP 2006026308 A JP2006026308 A JP 2006026308A JP 2006026308 A JP2006026308 A JP 2006026308A JP 4856970 B2 JP4856970 B2 JP 4856970B2
Authority
JP
Japan
Prior art keywords
function
application
client
module
vulnerability
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.)
Expired - Fee Related
Application number
JP2006026308A
Other languages
English (en)
Other versions
JP2006228206A5 (ja
JP2006228206A (ja
Inventor
ジョン サレット チェザーレ
イー.リガス レオニダス
エム.パラダイス ポール
エス.バッド ランジブ
ビー.レイダー ウォルター
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2006228206A publication Critical patent/JP2006228206A/ja
Publication of JP2006228206A5 publication Critical patent/JP2006228206A5/ja
Application granted granted Critical
Publication of JP4856970B2 publication Critical patent/JP4856970B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/22Arrangements for preventing the taking of data from a data transmission channel without authorisation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)

Description

本発明は一般に、アプリケーションの脆弱性に関し、具体的には、1つまたは複数の機能を使用不可にすることによりアプリケーションの脆弱性を遮蔽することに関する。
ユーザは、日常、幅広い機能を提供するためにさまざまなアプリケーションに依存している。たとえば、ユーザは、文書を生成するためにワード処理アプリケーションを、描画を作成するために描画プログラムを、インターネットをナビゲートするためにブラウザを使用することができる。しかし、アプリケーションは、悪意あるものからの攻撃を受けやすい。そのような攻撃は、アプリケーションおよびアプリケーションを実行するコンピューティング装置上の他のアプリケーションとのユーザの対話を妨げる。
悪意あるものは、たとえば、コンピュータウィルスの使用を通じてなど、アプリケーションの脆弱性を悪用してアプリケーションを制御することができる。1つのアプリケーションの制御が達成されると、悪意あるものの制御は、コンピュータウィルスの蔓延を通じて、他のコンピューティング装置によって実行される他のアプリケーションに伝搬することがある。たとえば、コンピュータウィルスは、コンピュータ上のアプリケーションを制御し、コンピュータ上にあるアドレス帳を調べて、アドレス帳に掲載されている各アドレスにこのウィルス自身を送信することができる。このようにして、コンピュータウィルスは、短時間のうちに多数のコンピュータにすばやく蔓延することができる。
したがって、悪意あるものの攻撃からアプリケーションを守るための改良された技法が継続的に求められている。
1つまたは複数の機能を使用不可にすることを通じてアプリケーションの脆弱性を遮蔽するためのシステムおよび方法が説明される。1つの実施例において、方法は、アプリケーションモジュールの複数の機能のうちの少なくとも1つにおいて脆弱性を識別するステップを含んでいる。識別された脆弱性からアプリケーションモジュールの実行を保護するために、複数のクライアントが受信するように通信が形成される。通信は、少なくとも1つの機能が、アプリケーションモジュールと連動した実行から使用不可にされるべきであることを記述する。
もう1つの実施例において、方法は、特定バージョンのアプリケーションモジュールの複数の機能のうちの少なくとも1つにおいて脆弱性が存在することを判定するステップを含んでいる。特定バージョンのアプリケーションモジュールを有する複数のクライアントの各々にネットワークを介して転送するように通信が形成される。通信は、脆弱性からアプリケーションモジュールの実行を保護するように、使用不可にされるべき機能を記述する。
さらにもう1つの実施例において、方法は、識別された脆弱性により、アプリケーションモジュールと連動した実行から使用不可にされるべきである複数の機能のうちの少なくとも1つを識別する通信をネットワークを介してクライアントにおいて受信するステップを含んでいる。通信に応答してクライアントが使用すべき相対適合度(relative degrees of compliance)を記述するポリシーが調べられる。
説明の中の例において、類似した構造およびコンポーネントを参照するために、同じ参照番号が使用される。
概要
機能管理技法について説明する。前述のように、アプリケーションは、さまざまな方法で悪意あるものからの攻撃を受けやすい場合がある。たとえば、悪意あるものは、コンピュータウィルスの使用を通じてなど、アプリケーションの1つまたは複数の脆弱性を悪用してアプリケーションを制御することができる。アプリケーションの制御が達成されると、悪意あるもの(具体的には、コンピュータウィルス)が、他のコンピューティング装置によって実行される他のアプリケーションにすばやく伝搬することがある。
脆弱性は、さまざまな形でアプリケーションに生じることがある。たとえば、アプリケーションは、不備を含むサードパーティ製「プラグイン」を使用することがあり、そのためアプリケーションの脆弱性が攻撃を受けることになる。プラグインは、通常、プラグインを使用するアプリケーションに特定の機能(たとえばサービス)を追加するモジュールである。たとえば、プラグインは、新しい技術(たとえば新しいビデオフォーマットなど)をアプリケーションが使用できるようにサポートするために提供される。しかし、悪意あるものが首尾よくプラグインの脆弱性を突き止めた場合、悪意あるものは脆弱性を利用してアプリケーション、アプリケーションを実行するコンピュータ、および/またはコンピュータ上またはネットワークを介してアクセス可能な他のコンピュータ上にある他のアプリケーションを破壊することができる。このようにして、脆弱性はすばやく悪用され、広がって、多数のコンピューティング装置およびアプリケーションに影響を与えるが、その結果アプリケーションを使用するユーザ(たとえば、個人、企業など)に甚大な損失をもたらす場合もある。
1つの実施例において、機能管理機関が説明されるが、これはアプリケーションモジュールの機能を管理するように構成される。したがって、機能に脆弱性が識別された場合、その機能は、その機能を備えるアプリケーションの機能管理機関によって中央で使用不可にすることができる。たとえば、クライアントは、機能管理機関によって使用不可および/または使用可能にされるように構成された複数の機能を備えるアプリケーションモジュールを含むことができる。クライアントは、クライアントの機能を既知の脆弱性のリストと照合する機能管理機関と定期的に通信することができる。機能が既知の脆弱性を有する場合、機能管理機関は、アプリケーションモジュールを脆弱性から保護するために、アプリケーションモジュールと連動したクライアントによる実行からアプリケーションのどの機能が使用不可にされるべきか指定する通信を形成する。したがって、アプリケーションモジュールは、脆弱性に対する解決策が見つかるまで脆弱性から保護するためにすばやく「盾を構える」ことができ、そのため悪意あるものによる脆弱性の悪用を制限することができる。いったん発見されると、(たとえばパッチを介するなどの)解決策はクライアントに伝達されて、脆弱性を取り除き、アプリケーションモジュールを脆弱性の危険にさらすことなく機能を実行できるようにすることができる。このように、機能を使用不可にすることで、コンピュータウィルスの蔓延およびコンピュータウィルスの蔓延の原因となることからアプリケーションモジュールを保護することができる。アプリケーションモジュールに関して機能を使用不可にすることは、アプリケーションモジュール自体の一部として以下で説明されるが、機能はまた、アプリケーションモジュールの実行に影響を与える他のソフトウェアまたはハードウェア、およびハードウェアまたはソフトウェア自体の機能に含めることもできる。
クライアントは、さまざまな方法で機能を使用不可にするように構成された通信に適合することができる。たとえば、アプリケーションモジュールは、通信に適合する「方法」、つまり提案される機能の使用不可化、を指示するポリシーを調べるように構成することができる。たとえば、ポリシーは、(たとえば、クライアントとアプリケーションプロバイダ間のライセンス契約により)クライアントが通信に自動的に適合し、そのため通信を受け取り次第機能を自動的に使用不可にすることを指示することができる。もう1つの例において、ポリシーは、通信に適合して機能を使用不可にする前にネットワーク管理者による許可を必要とするように、(たとえば、管理対象企業ネットワークなどの)ネットワーク管理者によって構成することができる。さらにもう1つの例において、ポリシーは、ユーザが見るために出力され、たとえば機能を使用不可にするなど、通信によって指定されたアクションを実施するかどうかを決定するように、ユーザが指定することができる。たとえば、通信は、出力時に、脆弱性および脆弱性に対して保護するために使用不可にされる機能について記述することができる。したがって、ユーザは、機能を使用不可にするか、あるいは機能を使用可能にしておきながら脆弱性の、可能な悪用を「監視」するかどうか、十分な情報に基づいて決定することができる。その他さまざまな技法も、通信を用いて相対的な適合度(relative degrees of compliance)を指定するポリシーを使用するために利用することができるが、それらについては図6に関連してさらに詳しく説明される。以下の説明では、例示的な環境は最初に、機能管理技法を採用するように動作可能な図1および図2に関して説明されている。次に例示的な手順は、説明されている例示的な環境および他の環境において動作可能な図3から図7に関して説明される。
例示的な環境
図1は、機能管理技法を使用するように動作可能な例示的な実施例における環境100を示す図である。例示されている環境100は、機能管理機関102、およびネットワーク106を介して相互に通信できるように結合された複数のクライアント104(1)、104(2)、...、104(N)を含んでいる。クライアント104(1)〜104(N)は、さまざまな方法で構成することができる。たとえば、クライアント104は、表示装置、無線電話、ゲームコンソールなどと通信できるように結合されたデスクトップコンピュータ、モバイルステーション、エンタテイメント用電気機器、セットトップボックスなど、ネットワーク106を介して通信することができるコンピューティング装置として構成することができる。したがって、クライアント104(1)〜104(N)は、十分なメモリおよびプロセッサリソースを備えるフルリソースの装置(たとえば、パーソナルコンピュータ、ゲームコンソールなど)から、限られたメモリおよび/または処理リソースを備えるローリソース(たとえば、従来のセットトップボックス、携帯用ゲームコンソールなど)まで多岐にわたる。クライアント104(1)〜104(N)はまた、クライアントを操作するものおよび/またはエンティティに関連することもある。つまり、クライアント104(1)〜104(N)は、ユーザ、ソフトウェアおよび/または装置を含む論理クライアントを表すことができる。
ネットワーク106はインターネットとして示されているが、ネットワークは多種多様な構成を想定することができる。たとえば、ネットワーク106は、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、無線ネットワーク、公衆電話網、インターネットなどを含むことができる。さらに、単一のネットワーク106が示されているが、ネットワーク106は複数のネットワークを含むように構成することができる。たとえば、クライアント104(1)〜104(N)は、企業イントラネットを介して相互に通信できるように結合され、さらに企業ネットワークゲートウェイ経由でインターネットを介して機能管理機関102に通信できるように結合される。さまざまな他の例も検討される。
各クライアント104(1)〜104(N)は、それぞれ複数のアプリケーションモジュール108(1)〜108(N)のうちの1つを含むように示されている。アプリケーションモジュール108(1)〜108(N)は、さまざまな機能を提供するようにさまざまな方法で構成することができる。たとえば、1つまたは複数のアプリケーションモジュール108(1)〜108(N)は、オペレーティングシステム、ワードプロセッサ、ブラウザ、インスタントメッセージモジュール、スプレッドシートアプリケーション、メモアプリケーション、写真操作アプリケーション、ゲーム、プレゼンテーションアプリケーションなどとして構成することができる。
アプリケーションモジュール108(1)〜108(N)は、さまざまな機能を提供することができる。たとえば、アプリケーションモジュール108(1)は、複数の機能110(f)を含むように示されている。ここで「f」は1から「F」までの任意の整数をとることができる。機能110(f)は、さまざまな方法で提供することができる。たとえば、複数の機能110(f)のうちの1つまたは複数の機能は、最初に書かれる場合、アプリケーションモジュール108(1)の一部として作成することができる。さらに、複数の機能110(f)のうちの1つまたは複数の機能は、すでに作成されて複数のクライアント104(1)〜104(N)が使用するように配信された後、アプリケーションモジュール108(1)と共に使用するために「プラグイン」モジュールとして構成することもできる。たとえば、サードパーティ開発者は、新しい写真フォーマットをサポートするように構成された新しい写真ビューアなど、アプリケーションモジュール108(1)と共に使用するための新しい機能(たとえば機能110(f))を作成することができる。この新しい機能(たとえば機能110(f))をアプリケーションモジュール108(1)に提供するため、サードパーティ開発者は、アプリケーションモジュール108(1)が新しい機能を利用できるように、アプリケーションモジュール108(1)と連動して実行するためのプラグインモジュールを作成することができる。しかし、プラグインモジュール(たとえば機能110(f))は、悪意あるものによって悪用される脆弱性を備えている場合もある。同様の機能は、それぞれ他のクライアント104(2)〜104(N)で実行可能な他のアプリケーションモジュール108(2)〜108(N)によって採用することができる。したがって、各々のアプリケーション108(1)〜108(N)は、環境100の動作に全体として影響を与えるおそれのある、悪意あるものによって悪用されうる1つまたは複数の脆弱性を備えている場合もある。
図1の環境100における機能管理機関102は、アプリケーションモジュール108(1)の機能110(f)および他のアプリケーションモジュール108(2)〜108(N)の機能を管理するための中央システムとして示されている。たとえば、機能管理機関102は、機能リスト114を保持するために実行可能な機能管理モジュール112を含むことができる。機能リスト114は、例として、識別された脆弱性の説明、および識別された脆弱性をもたらした1つまたは複数の対応する機能を含むように構成することができる。この機能リスト114を使用して、機能管理モジュール112は、アプリケーションモジュール108(1)の複数の機能110(f)のうちのどの機能が、もし悪用可能な脆弱性があったとすれば、これを含むかを判定することができる。
悪用可能な脆弱性が複数の機能110(f)の1つまたは複数に見つかった場合、機能管理モジュール112は複数の通信116(k)のうちの少なくとも1つを取得することができる。ここで「k」は1から「k」までの任意の整数をとることができ、通信は機能管理機関102によってアクセス可能なデータベース118に格納されるものとして示されている。複数の通信116(k)は、さまざまな方法で取得することができる。たとえば、機能管理機関102は、アプリケーションモジュール108(1)に含まれている複数の機能110(f)を識別するクライアント104(1)によって送信された通信に応答して通信116(k)を生成することができる。もう1つの例において、通信116(k)は、識別された場合、機能管理モジュール112が後で選択するために、脆弱性に対応するよう事前構成される。さまざまな他の例も検討される。
複数の通信116(k)は、クライアント104(1)との通信のためにさまざまな方法で構成することができる。たとえば、通信116(k)は、複数の機能参照120(f)および対応する複数の機能状態指示122(f)を備えるものとして示されている。この例における各機能参照120(f)は、脆弱性を引き起こす複数の機能110(f)のそれぞれ1つに対応している。各機能参照120(f)はさらに、機能を参照したどの「状態」が脆弱性からアプリケーションモジュール108(1)の実行を保護するために配置されるのかを示す、対応する機能状態指示122(f)も含んでいる。たとえば、機能参照120(f)は、「接続」機能(たとえば機能110(f))を参照することができ、対応する機能状態指示122(f)は接続機能(たとえば機能110(f))が使用不可にされることを示すことができる。もう1つの例において、通信116(k)は、使用不可にされる機能110(f)だけの機能参照を含み、このため機能状態指示を含まない。さまざまな他の例も検討される。たとえば、「機能状態」はバイナリ状態に限定されることはなく、「親」機能のサブ機能を使用可能または使用不可にする、完全には使用不可にされない変容状態で動作するよう機能に命令するなど、追加の細分性(granularity)のための仕様を提供することができる。
通信116(k)はさらに、脆弱性記述124(k)を含むこともできる。たとえば、脆弱性記述124(k)は、機能110(f)が使用不可にされる「理由」に関してユーザが情報を得るように、各クライアント104(1)〜104(N)によって通信116(k)が受け取られるときに出力される。したがって、脆弱性記述124(k)は、通信116(k)に適合するかどうかに関してクライアント104(1)〜104(N)が「自ら判断する」ことができるようにするが、これについては図5〜図7に関連して詳しく説明される。
相対適合度もまた、複数のポリシー126(1)〜126(N)の使用を通じて指定することができる。たとえば、クライアント104(1)は、機能管理機関102からの任意の通信116(k)が自動的に実装されるように指定するポリシー126(1)を備えることができる。ポリシー126(1)は、たとえば、クライアント104(1)とアプリケーションモジュール108(1)のプロバイダとの間のライセンス契約の一部として指定することができる。もう1つの例において、ポリシーはクライアント104(1)に適宜組み込むことができ、ライセンス契約には含まれない。さらにもう1つの例において、クライアントグループ化128における各クライアント104(2)〜104(N)は、クライアント管理モジュール130の使用を通じて指定されるポリシー126(2)〜126(N)をそれぞれ備えることができる。たとえば、クライアントグループ化128は、ネットワーク管理者によって管理される企業エンティティの一部として形成することもできる。ネットワーク管理者は、クライアント管理モジュール130と情報をやり取りして、クライアント104(2)〜104(N)のそれぞれにポリシー126(2)〜126(N)を設定することができる。ポリシー126(2)〜126(N)は、通信116(k)が機能管理機関102から受け取られたときに、ネットワーク管理者が、参照された機能を使用不可にするかどうか、およびいつ使用不可にするかを判定できるように設定することができる。したがって、ポリシー126(2)〜126(N)は、ネットワーク管理者によるアプリケーションモジュール108(2)〜108(N)の制御をサポートすることができる。さまざまな他の例も検討され、それらについては図4に関連してさらに詳しく説明される。
一般に、本明細書に説明されている機能はいずれも、ソフトウェア、ファームウェア(たとえば固定式論理回路など)、手動処理、またはこれらの実装の組み合わせを使用して実装することができる。本明細書に使用される「モジュール」および「ロジック」という用語は、一般にソフトウェア、ファームウェア、またはソフトウェアとファームウェアの組み合わせを表す。ソフトウェア実装の場合、モジュールまたはロジックは、プロセッサ(たとえば単一または複数のCPU)で実行される場合に特定のタスクを実行するプログラムコードを表す。プログラムコードは、1つ又は複数のコンピュータ可読メモリ装置に格納することができるが、これについては図2に関連して詳細に説明される。以下に説明される機能管理技法はプラットフォームに依存しない、つまりこの技法はさまざまなプロセッサを備える多種多様な市販のコンピューティングプラットフォーム上で実装できるということを意味する。
図2は、機能管理機関102および図1の複数のクライアント104(1)〜104(N)のうちの1つをさらに詳細に示す例示的な実施例におけるシステム200を示す図である。図2において、クライアント104(n)は、複数のクライアント104(1)〜104(N)のうちの1つを代表し、単一のクライアント(たとえば「クライアント104(n)」)および複数のクライアント(たとえば「クライアント104(n))の両方に関連して参照される。図2のシステム200は、複数のコンピューティング装置の使用を通じて機能管理機関102および複数のクライアント104(n)を実装するように示されている。たとえば、機能管理機関102は機能管理サーバ202を含むように示され、クライアント104(n)はクライアント装置として示されている。各々の機能管理サーバおよびクライアント104(m)は、それぞれプロセッサ204、206(n)およびメモリ208、210(n)を含んでいる。
プロセッサは、形成されている材質または採用されている処理メカニズムによって限定されることはない。たとえば、プロセッサは、半導体および/またはトランジスタ(たとえば電子集積回路(IC))を備えることができる。そのような状況において、プロセッサ実行可能命令は、電子的に実行可能な命令とすることができる。代替として、プロセッサの、またはプロセッサ用のメカニズム、ひいてはコンピューティング装置の、またはコンピュータ装置用のメカニズムは、量子コンピューティング、光コンピューティング、クロスバーラッチ、機械式コンピューティング(たとえば、ナノ技術を使用)などを含むことができるが、これらに限定されない。さらに、機能管理サーバ202およびクライアント104(n)に対してそれぞれ単一のメモリ208、210(n)が示されているが、ランダムアクセスメモリ(RAM)、ハードディスクメモリ、取り外し可能媒体メモリなど、メモリの多種多様なタイプおよび組み合わせを採用することができる。さらに、機能管理機関に対して単一の機能管理サーバ202が示されているが、機能管理サーバ202は、サーバクラスタなどの複数のサーバを表すこともできる。
機能管理サーバ202は、プロセッサ204上で機能管理モジュール112を実行するように示されているが、機能管理モジュールもメモリ208に格納可能である。機能管理モジュール112は、複数のアプリケーションモジュール108(n)の複数の機能110(f)を管理するように実行可能である。たとえば、機能管理モジュール112は、どの機能110(f)がアプリケーションモジュール108(n)と連動した実行に対して「使用可能」または「使用不可」にされるかを制御するために実行することができる。前述のように、たとえば、機能管理モジュール112は、ネットワーク106を介してクライアント104(n)に転送するための通信116(k)を取得することができる。通信116(k)は、「<attachment feature><enabled>」のように、機能参照120(f)ごとに機能状態指示122(f)を含んでいる。
機能管理モジュール112はさらに、機能脆弱性識別子モジュール212を含むように示されている。機能脆弱性識別子モジュール212は、複数の機能110(f)のうちのどの機能が攻撃を受けやすいかを判定するために実行可能な機能管理モジュール112の機能を代表している。この判定は、さまざまな方法で実行することができる。たとえば、機能脆弱性識別子モジュール212は、どの機能が対応する脆弱性を有するかを説明する図1の機能リスト114を使用することができる。図1の機能リスト114は、たとえば、コンピュータウィルスの分析に基づいてユーザが入力することができる。もう1つの例において、機能脆弱性識別子モジュール212は、図1の機能リスト114を自動的に、しかもユーザの介入なしに生成するために実行することができる。たとえば、機能脆弱性識別子モジュール212は、コンピュータウィルスを調べ、アプリケーションモジュール108(n)の複数の機能110(f)のうちのどの機能がコンピュータウィルスの攻撃対象となるかを判定するために実行することができる。さまざまな他の例も検討される。
機能脆弱性識別子モジュール212はさらに、バージョンモジュール214を含むように示されている。バージョンモジュール214は、アプリケーションモジュール108(n)のうちのどのバージョンが識別された脆弱性を有しているかを判定するために実行可能な機能を代表している。たとえば、アプリケーションモジュール108(n)は、異なるバージョンのアプリケーションモジュール108(n)が異なる機能を有するように継続的に開発することができる。機能(どの機能が含まれるかおよび/またはどのように機能が実装されているかなど)はバージョンごとに異なるので、あるバージョンのアプリケーションモジュール108(n)が、他のバージョンのアプリケーションモジュールでは悪用されない識別された脆弱性を有する場合もある。したがって、バージョンモジュール214は、アプリケーションモジュール108(n)のどのバージョンが脆弱性を含んでいるかを判定するために実行することができる。このようにして、機能管理モジュールは、アプリケーションモジュール108(n)のうちのどのバージョン216(n)がクライアント104(n)で使用可能であるか、およびその特定のバージョンが識別された脆弱性を有しているかどうかを判定することができる。バージョンおよび脆弱性については、図4に関連してさらに詳しく説明される。
クライアント104(N)は、メモリ210(n)に格納されるポリシー126(n)を含むように示されている。前述のように、ポリシー126(n)は、アプリケーションモジュール108(n)に対応する複数のアプリケーションライセンス218(p)のそれぞれに基づくなど、さまざまな方法で構成することができる。ここで「p」は1から「P」までの任意の整数をとることができる。たとえば、機能管理モジュール112は、クライアント104(n)のアプリケーションモジュール108(n)に対応するデータベース220内のアプリケーションライセンス218(p)を見つけることができる。アプリケーションライセンス218(p)は、アプリケーションモジュール108(n)を使用するためにクライアント104(n)によって入力された契約関係を記述している。アプリケーションライセンス218(p)は、たとえば、機能管理機関102から受け取った通信116(k)を自動的に実施することをクライアント104(n)が合意していることを示すことができる。したがって、ポリシー126(n)は、アプリケーションライセンス218(p)を反映するように形成することができるが、これについては図5に関連してさらに詳しく説明される。
ポリシー126(n)はさらに、通信116(k)への応答時にクライアント104(n)が採用すべき相対適合度を記述するように構成することもできる。たとえば、ポリシー126(n)は、クライアント104(n)によって実行されるさまざまな相対適合度の複数の例を含む相対コンプライアンス階層(relative compliance hierarchy)222を有するように示される。
相対コンプライアンス階層222は、図2において、通信116(k)の「可用性を通知」224(1)から「実装前に通知」224(a)、「自動的に実装」224(A)まで多岐にわたるように示されている。たとえば、ポリシー126(n)が「自動的に実装」224(A)に設定されている場合は、クライアント104(n)(たとえば、アプリケーションモジュール108(n))は、「<attachment features<disable>」などの機能参照120(f)の機能状態指示122(f)に従ってアプリケーションモジュール108(n)の複数の機能110(f)の各々を自動的に構成する。ポリシー126(n)が「実装前に通知」224(a)に設定されている場合、アプリケーションモジュール108(n)は、機能参照120(f)(たとえば「接続機能」)および機能状態指示122(f)(たとえば「使用不可」)を記述する通信116(k)の脆弱性記述124(k)を出力することができる。したがって、クライアント104(n)のユーザは、たとえば接続機能を使用不可にするなど、通信116(k)に適合するかどうかに関して十分な情報に基づいて決定することができる。同様に、ポリシー126(n)が「可用性を通知」224(1)に設定されている場合、アプリケーションモジュール108(n)は、通信116(k)がダウンロードのために使用可能であるが、通信116(k)をまだ取得していないことを示すメッセージを出力することができる。何であれクライアントが通信に適合していないことを指示するポリシーなどのポリシー126(n)によって、さまざまな他の相対適合度を指定することができる。相対適合度については、図5から図7に関連してさらに詳しく説明される。
例示的な手順
以下で、前述のシステムおよび装置を使用して実装できる脆弱性保護技術について説明する。各手順の態様は、ハードウェア、ファームウェア、またはソフトウェア、あるいはこれらの組み合わせであってもよい。手順は、1つまたは複数の装置によって実行される操作を指定する一連のブロックとして示され、それぞれのブロックによる操作を実行するために示されている順序に必ずしも限定されることはない。以下の説明の一部において、図1の環境100および図2のシステム200に対して参照が行われる。
図3は、アプリケーションモジュールの機能に脆弱性が識別され、その脆弱性を遮蔽するためにその機能が使用不可にされ、後でアプリケーションモジュールがその機能を使用して実行できるようにする解決策が提供される例示的な実施例における手順300を示す流れ図である。脆弱性は、アプリケーションモジュールの複数の機能のうちの少なくとも1つにおいて識別される(ブロック302)。たとえば、機能管理モジュール112は、機能脆弱性識別モジュール212を実行させて、アプリケーションモジュール108(n)の複数の機能110(f)のうちの1つまたは複数の機能が、機能リスト114の検査、コンピュータウィルス自体の検査を通じてなど、脆弱性を露呈することを識別させることができる。たとえば、どの機能がウィルスの攻撃対象であるかを判別するために、コンピュータウィルスを調べることができる。
次に、少なくとも1つの機能がアプリケーションモジュールと連動した実行から使用不可にされるべきであることを指示する通信が形成される(ブロック304)。たとえば、機能管理モジュール112は、アプリケーションモジュール108(n)の脆弱性を露呈するサードパーティ製プラグインによって提供される機能110(f)を識別することができる。したがって、通信は、サードパーティ製プラグイン(たとえば機能参照120(f))、および使用不可などのプラグインが置かれる状態(たとえば機能状態指示122(f))を識別することができる。
通信は次に、アプリケーションモジュールを備える複数のクライアントの各々に転送される(ブロック306)。たとえば、機能管理機関102は、ネットワーク106を介して通信116(k)をクライアント104(1)、104(n)、104(N)に転送して、各クライアント104(1)〜104(N)の機能を管理するための中央情報源としての役割を果たすことができる。次に、各クライアントは通信を適用することができるが、これについては図5に関連してさらに詳しく説明される。
次に、少なくとも1つの機能の脆弱性に対して解決策が識別される(ブロック308)。たとえば、ソフトウェアエンジニアのチームはコンピュータウィルスを調べて、コンピュータウィルスにより悪用される脆弱性を取り除く「パッチ」を作成することができる。次に、解決策を実装して前に使用不可にされたアプリケーションモジュールと連動して実行する機能を使用可能にするためにもう1つの通信が形成される(ブロック310)。たとえば、通信は「解決策」を提供するためのパッチを含むことができる。もう1つの通信は次に、アプリケーションモジュールを備える複数のクライアントの各々に転送される(ブロック312)。このようにして、機能に脆弱性が識別された場合、この例示的な手順300において機能は、解決策が提供されるまで識別された脆弱性から遮蔽(つまり保護)するために使用不可にされる。したがって、この「遮蔽」は、アプリケーションモジュール自体を保護するだけでなく、このアプリケーションモジュールの悪用により攻撃を受けるおそれのある他のアプリケーションモジュールも保護することができる。
たとえば、コンピュータウィルスは、アプリケーションの特定の機能を悪用するために作成することができる。ウィルスに対する解決策が見つかるまで待って解決策を適用するのではなく、解決策を見つけるのにかかる時間の間アプリケーションモジュールを遮蔽することができる。したがって、アプリケーションモジュールは、解決策を見つけるのにかかる時間の間は攻撃を受けやすくなっていないため、ウィルスから保護される。そのような複数のクライアントで機能を使用不可にすることで、ウィルスの蔓延は制限され、防止することもできる。
図4は、ある機能におけるバージョン固有の脆弱性が識別され、特定バージョンのアプリケーションモジュールの悪用を遮蔽するために使用不可にされる例示的な実施例における手順400を示す流れ図である。特定バージョンのアプリケーションモジュールの複数の機能のうちの少なくとも1つにおいて脆弱性が存在することが判定される(ブロック402)。たとえば、アプリケーションモジュールは、追加の機能を含めて、識別された脆弱性を取り除くように、アプリケーションプロバイダが継続的に開発することができる。したがって、異なるバージョンのアプリケーションモジュールは、同じ機能の実装が異なっている場合もあり、そのため、生じる可能性のある脆弱性も異なっている。それゆえ、この例において、特定バージョンのアプリケーションモジュールの特定の機能が悪用される脆弱性を備えているものとして識別される。
通信は次に、特定バージョンのアプリケーションモジュールを備える複数のクライアントの各々に対して形成される(ブロック404)。たとえば、機能管理モジュール112は、他の複数の通信と共にデータベース118内に格納するための通信116(k)を形成することができる。
次にクライアントは、アプリケーションモジュールに対応するアプリケーションプロバイダにアクセスする(ブロック406)。たとえば、アプリケーションモジュールは、インスタントメッセージサービスにログオンして、たとえばクライアント104(2)など別のクライアントとインスタントメッセージセッションを開始することができる。
アクセスが達成されると、どのバージョンのアプリケーションモジュール108(1)がクライアント104(1)で使用可能であるかについて判定を行うことができる(ブロック408)。たとえば、クライアント104(1)は、ログオンプロセス中にバージョン情報を伝達することができる。次に、通信は選択され、バージョン情報に基づいてネットワークを介してクライアントに転送される(ブロック410)。たとえば、機能管理モジュール112は、アプリケーションモジュールのバージョンに対応する複数の通信116(k)の1つを選択することができる。次に、クライアントは通信に適合することができるが(ブロック412)、これについては以下の図に関連してさらに詳しく説明される。
この例示的な手順400において、どの通信が特定のクライアントに送信されるべきかについて判定が行われる。もう1つの実施例において、各通信は、形成されると各クライアントに伝達されて、クライアントは通信が関連するかどうかを判定することができる。たとえば、脆弱性がアプリケーションモジュールで識別されると、機能管理機関102は複数のクライアント104(1)〜104(N)の各々に通信を送信することができる。クライアント104(1)〜104(N)は(たとえば、それぞれアプリケーションモジュール108(1)〜108(N)の実行を通じて)、通信がクライアントに関連するかどうかを判定することができる。たとえば、通信は、特定バージョンのアプリケーションモジュールに脆弱性が識別されたことを指示することができる。したがって、クライアントに含まれているアプリケーションモジュールがその特定バージョンと一致しない場合、クライアントは通信が関連しないと判定することができる。さまざまな他の例も検討される。
図5は、アプリケーションモジュールの脆弱性を識別する通信に応答してクライアントが使用すべき相対適合度を決定するためにポリシーが使用される例示的な実施例における手順500を示す流れ図である。識別された脆弱性により、アプリケーションモジュールと連動した実行から使用不可にされる複数の機能のうちの少なくとも1つを識別する通信がクライアントにおいて受信される(ブロック502)。たとえば、前述のように、通信116(k)は、機能参照120(f)(たとえば接続機能)および使用不可などの機能状態指示122(f)を含むことができる。
通信を受信すると、通信に応答してクライアントが使用すべき相対適合度を記述するポリシーが調べられる(ブロック504)。たとえば、アプリケーションモジュール108(n)は、クライアント104(n)上でローカルに使用可能なポリシー126(n)を調べるように実行することができる。もう1つの例において、アプリケーションモジュール108(n)は、企業ネットワークのネットワーク管理者によって指定されているポリシーなど、クライアント管理モジュール130によって提供されるポリシーを調べる。ポリシー126(n)は、通信116(k)の受信時にクライアント104(n)が採用すべき多種多様な相対適合度を記述することができる。
たとえば、ポリシーは、クライアントが通信に自動的に適合するよう指示することができる(ブロック506)。たとえば、アプリケーションモジュール108(n)は、アプリケーションモジュール108(n)が機能管理機関102から伝達される任意の通信に適合するよう命じるアプリケーションライセンス218(p)に従うことができる。したがって、クライアント104(n)は、この例において自動的に、通信116(k)で指定されている少なくとも1つの機能がアプリケーションモジュール108(n)と連動した実行から使用不可にする(ブロック508)。たとえば、アプリケーションモジュール108(n)は、機能110(f)が、他のアプリケーションモジュールとの実行からではなく、アプリケーションモジュール108(n)との実行から使用不可にされるよう指定することができる。プラグインモジュールは、たとえば、クライアント104(n)上でローカルに使用可能な複数のアプリケーションモジュールによって使用することができる。したがって、通信は、そのアプリケーションモジュール108(n)のみ用の機能110(f)の実行を使用不可にするために使用することができる。もう1つの例において、機能110(f)の使用不可は、機能110(f)を備えるクライアント上のすべてのアプリケーションモジュールに対して採用される。さまざまな他の例も検討される。
もう1つの例において、ポリシーは、クライアントがユーザによる検証のために通信を出力するよう指示することができる(ブロック510)。たとえば、クライアント104(n)は、通信116(k)の受信時に、前述の例(ブロック512)で説明されているように、機能110(f)を自動的に使用不可にすることができる。しかし、この例において、クライアント104(n)は、脆弱性の記述124(k)および少なくとも1つの機能を含む通信を出力する(ブロック514)。次にクライアント104(n)のユーザは、出力通信と情報をやり取りして、使用不可にされている機能を再び使用可能にさせる(ブロック516)。通信は、クライアントが使用不可の機能を最初に使用しようとした時点で表示、通信の受信時に即座に表示など、さまざまな方法で出力することができる。
図6は、通信はユーザが見るために出力され、通信を受信したときに使用不可にされた機能を再度使用可能にするように構成されている例示的な実施例600を示す図である。ユーザインターフェース602は、図5の(ブロック514)においてクライアント104(n)によって受信される通信604の出力を有することが示されている。通信604は、脆弱性および脆弱性によって影響を受ける機能の記述を含んでいる。記述は以下のように示される。
このアプリケーションの接続機能に脆弱性が識別され、使用不可にされました。
脆弱性を取り除くためのパッチが提供されるまでこの機能を使用不可のままにする場合は「同意する」を選択するか、またはこの機能を使用可能にするには「同意しない」を選択してください。
警告:同意しないを選択するとアプリケーションは攻撃を受けやすくなります。
したがってユーザは、「同意する」606ボタンを選択して通信116(k)に適合するか、または「同意しない」608ボタンを選択して拒否することができる。このように、この例において、通信116(k)は機能110(f)を自動的に使用不可にするが、機能を使用可能にするという代替手段をユーザに提供する。このようにして、ユーザは、アプリケーションモジュール108(n)のユーザの意図された使用に基づき、機能110(f)を使用不可にすべきかどうかに関して十分な情報に基づいて決定することができる。
アプリケーションモジュール108(n)は、たとえば、電子メールを送受信するように実行可能な電子メールアプリケーションとして構成することができる。ユーザは、なお電子メール添付ファイルの受信を望み、そのため「同意しない」608ボタンを選択することもできる。しかし、ユーザは、接続機能に脆弱性の可能性があることを引き続き警告され、このため、信頼できる情報源からの添付ファイルを持つ電子メールのみを受け入れるなど、接続機能の使用においてより入念になりうる。さまざまな他の例も検討される。
再び図5に戻ると、さらにもう1つの例において、ポリシーは、クライアントがユーザによる選択のために通信を出力するよう指示することができる(ブロック518)。次にクライアントは、脆弱性の記述および少なくとも1つの機能を含む通信を出力する(ブロック520)。次にユーザは、通信と情報をやり取りして、機能を再び使用不可にさせる(ブロック522)。したがって、この例において、機能はユーザによる同意がない限り使用不可にされることはない。
図7は、通信が、ユーザが見るために出力され、ユーザにより選択されたときに機能を使用不可にするよう構成される例示的な実施例700を示す図である。ユーザインターフェース702は、図5のブロック520と併せて説明されているように、クライアント104(n)による通信704の出力を有することが示されている。図6と同様に、通信704は、脆弱性および脆弱性によって影響を受ける機能の記述を含んでいる。記述は以下のように示される。
このアプリケーションの接続機能に脆弱性が識別されました。
脆弱性を取り除くためのパッチが提供されるまでこの機能を使用不可にする場合は「使用不可」を選択してください。
警告:キャンセルを選択するとアプリケーションは攻撃を受けやすくなります。
したがってユーザは、「使用不可」706ボタンを選択して通信116(k)に適合するか、または「キャンセル」708ボタンを選択して拒否することができる。このように、この例において、通信116(k)は機能110(f)を自動的に使用不可にするのではなく、使用不可が望ましいかどうかユーザが選択するのを待つ。これまでのように、ユーザは、アプリケーションモジュール108(n)のユーザの意図された使用に基づき、機能110(f)を使用不可にすべきかどうかに関して十分な情報に基づいて決定することができる。
したがって、この手順500において、通信に応答するためのクライアント104(n)による実装について、自動的に通信に適合から、通信に適合して適合が望ましいことを確認、通信に適合する前に適合が望ましいことを確認までの3つの相対適合度が説明される。発明の精神および範囲を逸脱することなく、さまざまな他の相対適合度も検討される。
結論
本発明について構造的特徴および/または方法論的動作に特有の言葉で説明してきたが、添付の請求の範囲に定義されている本発明が、説明されている特定の機能または動作に必ずしも限定されないことを理解されたい。むしろ、特定の機能および動作は、特許請求された本発明を実施する例示的な形態として開示されている。
機能管理技法を採用するように動作可能な例示的な実施例における環境を示す図である。 機能管理機関および図1の複数のクライアントのうちの1つをさらに詳細に示す例示的な実施例におけるシステムを示す図である。 アプリケーションモジュールの機能に脆弱性が識別され、脆弱性を遮蔽するために機能が使用不可にされ、後にアプリケーションが機能を使用して実行できるようにする解決策が提供される例示的な実施例における手順を示す流れ図である。 機能におけるバージョン固有の脆弱性が識別され、特定バージョンのアプリケーションモジュールの攻撃を遮蔽するために使用不可にされる例示的な実施例における手順を示す流れ図である。 アプリケーションモジュールの脆弱性を識別する通信に応答してクライアントが使用すべき相対適合度を決定するためにポリシーが使用される例示的な実施例における手順を示す流れ図である。 通信はユーザが表示できるように出力され、通信の受信時に使用不可にされた機能を再度使用可能にするように構成されている例示的な実施例を示す図である。 通信はユーザが表示できるように出力され、ユーザに選択されたときに機能を使用不可にするよう構成される例示的な実施例を示す図である。
符号の説明
102 機能管理機関
104 クライアント
106 ネットワーク
108 アプリケーションモジュール
110(f) 機能
112 機能管理モジュール
114 機能リスト
116(k) 通信
120(f) 機能参照
122(f) 機能状態指示
124(k) 脆弱性記述
126 ポリシー
128 クライアントグループ化
130 クライアント管理モジュール
202 機能管理サーバ
204 プロセッサ
206 プロセッサ
208 メモリ
210 メモリ
212 機能脆弱性識別子モジュール
214 バージョンモジュール
216 バージョン
218 アプリケーションライセンス
222 相対コンプライアンス階層
224 可用性を通知
224 実装前に通知
224 自動的に実装

Claims (3)

  1. アプリケーションモジュールを、悪意あるものによる攻撃をうける脆弱性から保護するための方法であって、
    機能管理機関の機能脆弱性識別モジュールでアプリケーションモジュールの特定のバージョンについての複数の機能のうちの少なくとも1つにおける脆弱性を識別することと、
    機能管理機関の機能管理モジュールによって、複数のクライアントによって受信される第1の通信内容を形成し、複数のクライアントは、アプリケーションモジュールの特定のバージョンを有し、識別された脆弱性からアプリケーションの実行をシールドするコンピュータデバイスであり、前記第1の通信内容は、少なくとも1つの機能がアプリケーションモジュールとともに実行から使用不可にされるべきことを記述する、ことと、
    複数のクライアントのうちの1つのクライアントによってアプリケーションモジュールに対応するアプリケーションプロバイダへアクセスすると、クライアントによって使用されているアプリケーションモジュールのバージョンが決定され、
    クライアントのアプリケーションモジュールがアプリケーションモジュールの特定のバージョンを有する場合に、ネットワークを経由してクライアントに前記第1の通信内容を転送し、
    前記クライアントが、前記第1の通信内容を受信したことに応答して、1)クライアントが当該通信内容によって自動的に動作し、それによって通信内容を受け取り次第機能を自動的に使用不可にすることと、2)通信内容に適合して機能を使用不可にする前にネットワーク管理者による許可を必要とすることと、3)ユーザが見るために出力され、通信内容によって指定されたアクションを実行するかどうかを決定することのいずれかを指定したポリシー情報に基づいて、前記クライアントが選択的に適当な動作を実行し、
    少なくとも1つの機能において、前記識別された脆弱性について修正が識別されると、ネットワークを経由して転送する、第2の通信内容を形成し、第2の通信内容は識別された脆弱性を修正し、以前使用不可にされた少なくとも1つの機能を使用可能にするためのパッチを含むことを特徴とする方法。
  2. 前記アプリケーションモジュールは、
    オペレーティングシステムと、
    ワードプロセッサと、
    ブラウザと、
    インスタントメッセージモジュールと、
    スプレッドシートアプリケーションと、
    メモアプリケーションと、
    写真操作アプリケーションと、
    ゲームと、
    プレゼンテーションアプリケーションとのうちの少なくとも1つであることを特徴とする請求項に記載の方法。
  3. 前記第1の通信内容は、
    少なくとも1つの前記クライアントに自動的にユーザの介入なしに前記機能を使用不可にさせ、少なくとも1つの前記クライアントによって出力される通知を含んでおり、
    前記脆弱性を記述し、
    前記機能が自動的に使用不可にされた後に前記機能を使用可能にするための機能を提供する、
    ことを特徴とする請求項に記載の方法。
JP2006026308A 2005-02-17 2006-02-02 識別された脆弱性を遮蔽するためのシステムおよび方法 Expired - Fee Related JP4856970B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/060,211 2005-02-17
US11/060,211 US20060185018A1 (en) 2005-02-17 2005-02-17 Systems and methods for shielding an identified vulnerability

Publications (3)

Publication Number Publication Date
JP2006228206A JP2006228206A (ja) 2006-08-31
JP2006228206A5 JP2006228206A5 (ja) 2009-04-16
JP4856970B2 true JP4856970B2 (ja) 2012-01-18

Family

ID=36593126

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006026308A Expired - Fee Related JP4856970B2 (ja) 2005-02-17 2006-02-02 識別された脆弱性を遮蔽するためのシステムおよび方法

Country Status (7)

Country Link
US (1) US20060185018A1 (ja)
EP (1) EP1693775A1 (ja)
JP (1) JP4856970B2 (ja)
KR (1) KR20060092043A (ja)
CN (1) CN1821975A (ja)
BR (1) BRPI0600112A (ja)
CA (1) CA2532751A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100791290B1 (ko) * 2006-02-10 2008-01-04 삼성전자주식회사 디바이스 간에 악성 어플리케이션의 행위 정보를 사용하는장치 및 방법
US8539581B2 (en) * 2006-04-27 2013-09-17 The Invention Science Fund I, Llc Efficient distribution of a malware countermeasure
US9258327B2 (en) 2006-04-27 2016-02-09 Invention Science Fund I, Llc Multi-network virus immunization
US8613095B2 (en) * 2006-06-30 2013-12-17 The Invention Science Fund I, Llc Smart distribution of a malware countermeasure
US8966630B2 (en) * 2006-04-27 2015-02-24 The Invention Science Fund I, Llc Generating and distributing a malware countermeasure
US20080059123A1 (en) * 2006-08-29 2008-03-06 Microsoft Corporation Management of host compliance evaluation
US8453245B2 (en) * 2006-12-29 2013-05-28 Microsoft Corporation Automatic vulnerability detection and response
US8959647B2 (en) * 2007-02-27 2015-02-17 Microsoft Corporation Runtime security and exception handler protection
JP5263151B2 (ja) * 2007-03-19 2013-08-14 富士通株式会社 データ処理装置、そのデータ監視方法、そのデータ監視プログラム、及びそのデータ監視プログラムを格納した記録媒体
US8239836B1 (en) * 2008-03-07 2012-08-07 The Regents Of The University Of California Multi-variant parallel program execution to detect malicious code injection
US9195808B1 (en) * 2009-07-27 2015-11-24 Exelis Inc. Systems and methods for proactive document scanning
US8650637B2 (en) * 2011-08-24 2014-02-11 Hewlett-Packard Development Company, L.P. Network security risk assessment
KR20150070105A (ko) * 2012-08-18 2015-06-24 루미날, 인크. 안전한 컴퓨터 환경을 제공하는 시스템 및 방법
CN103699844B (zh) * 2012-09-28 2016-10-26 腾讯科技(深圳)有限公司 安全保护系统及方法
US10019569B2 (en) * 2014-06-27 2018-07-10 Qualcomm Incorporated Dynamic patching for diversity-based software security
US10333973B1 (en) * 2016-05-25 2019-06-25 Wells Fargo Bank, N.A. Managing unpatched users
US20210050998A1 (en) * 2018-03-15 2021-02-18 Nec Corporation Secret key updating system, secret key updating method, and secret key updating program
WO2020014787A1 (en) * 2018-07-17 2020-01-23 Mergebase Software Inc. Systems and methods for managing and securing computer systems

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5956481A (en) * 1997-02-06 1999-09-21 Microsoft Corporation Method and apparatus for protecting data files on a computer from virus infection
US6205551B1 (en) * 1998-01-29 2001-03-20 Lucent Technologies Inc. Computer security using virus probing
US6185689B1 (en) * 1998-06-24 2001-02-06 Richard S. Carson & Assoc., Inc. Method for network self security assessment
US7073198B1 (en) * 1999-08-26 2006-07-04 Ncircle Network Security, Inc. Method and system for detecting a vulnerability in a network
US6871284B2 (en) * 2000-01-07 2005-03-22 Securify, Inc. Credential/condition assertion verification optimization
IL151455A0 (en) * 2000-03-03 2003-04-10 Sanctum Ltd System for determining web application vulnerabilities
GB2366640B (en) * 2000-03-30 2004-12-29 Ibm Distribution of activation information
EP1381928B1 (en) * 2001-01-10 2008-12-31 Cisco Technology, Inc. Computer security and management system
US20020178375A1 (en) * 2001-01-31 2002-11-28 Harris Corporation Method and system for protecting against malicious mobile code
US20020162026A1 (en) * 2001-02-06 2002-10-31 Michael Neuman Apparatus and method for providing secure network communication
US7313822B2 (en) * 2001-03-16 2007-12-25 Protegrity Corporation Application-layer security method and system
DE60128785T2 (de) * 2001-04-02 2008-01-31 Motorola, Inc., Schaumburg Aktivieren und Deaktivieren von Softwarefunktionen
JP2002318707A (ja) * 2001-04-23 2002-10-31 Nec Soft Ltd プログラムの修正・セキュリティ情報の提供システムと提供方法、情報管理システム及びそのプログラム
BR0211915A (pt) * 2001-08-15 2004-09-28 Qualcomm Inc Execução de aplicação habilitada para teste
JP2003067210A (ja) * 2001-08-22 2003-03-07 Just Syst Corp プログラム実行防止装置、プログラム実行防止方法、その方法をコンピュータに実行させるプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
US6944772B2 (en) * 2001-12-26 2005-09-13 D'mitri Dozortsev System and method of enforcing executable code identity verification over the network
WO2003058457A1 (en) * 2001-12-31 2003-07-17 Citadel Security Software Inc. Automated computer vulnerability resolution system
US7353539B2 (en) * 2002-11-04 2008-04-01 Hewlett-Packard Development Company, L.P. Signal level propagation mechanism for distribution of a payload to vulnerable systems
US20040088176A1 (en) * 2002-11-04 2004-05-06 Balaji Rajamani System and method of automated licensing of an appliance or an application
US7418730B2 (en) * 2002-12-17 2008-08-26 International Business Machines Corporation Automatic client responses to worm or hacker attacks
US7627891B2 (en) * 2003-02-14 2009-12-01 Preventsys, Inc. Network audit and policy assurance system
US7624422B2 (en) * 2003-02-14 2009-11-24 Preventsys, Inc. System and method for security information normalization
JP2004258777A (ja) * 2003-02-24 2004-09-16 Fujitsu Ltd セキュリティ管理装置、セキュリティ管理システム、セキュリティ管理方法、セキュリティ管理プログラム
US7451488B2 (en) * 2003-04-29 2008-11-11 Securify, Inc. Policy-based vulnerability assessment
US20070256132A2 (en) * 2003-07-01 2007-11-01 Securityprofiling, Inc. Vulnerability and remediation database
US20070113265A2 (en) * 2003-07-01 2007-05-17 Securityprofiling, Inc. Automated staged patch and policy management
US20070113272A2 (en) * 2003-07-01 2007-05-17 Securityprofiling, Inc. Real-time vulnerability monitoring
US8266699B2 (en) * 2003-07-01 2012-09-11 SecurityProfiling Inc. Multiple-path remediation
US20070112941A2 (en) * 2003-07-01 2007-05-17 Securityprofiling, Inc. Client capture of vulnerability data
US7424706B2 (en) * 2003-07-16 2008-09-09 Microsoft Corporation Automatic detection and patching of vulnerable files
US7346922B2 (en) * 2003-07-25 2008-03-18 Netclarity, Inc. Proactive network security system to protect against hackers
US7523308B2 (en) * 2004-02-23 2009-04-21 Microsoft Corporation Method and system for dynamic system protection
US7761920B2 (en) * 2004-09-03 2010-07-20 Fortinet, Inc. Data structure for policy-based remediation selection
US7665119B2 (en) * 2004-09-03 2010-02-16 Secure Elements, Inc. Policy-based selection of remediation
US8171555B2 (en) * 2004-07-23 2012-05-01 Fortinet, Inc. Determining technology-appropriate remediation for vulnerability
US20060101517A1 (en) * 2004-10-28 2006-05-11 Banzhof Carl E Inventory management-based computer vulnerability resolution system

Also Published As

Publication number Publication date
CN1821975A (zh) 2006-08-23
KR20060092043A (ko) 2006-08-22
BRPI0600112A (pt) 2007-07-17
EP1693775A1 (en) 2006-08-23
CA2532751A1 (en) 2006-08-17
US20060185018A1 (en) 2006-08-17
JP2006228206A (ja) 2006-08-31

Similar Documents

Publication Publication Date Title
JP4856970B2 (ja) 識別された脆弱性を遮蔽するためのシステムおよび方法
US11218445B2 (en) System and method for implementing a web application firewall as a customized service
Hussain et al. Multilevel classification of security concerns in cloud computing
CN110651269B (zh) 隔离的容器事件监视
US8595491B2 (en) Combining a mobile device and computer to create a secure personalized environment
CA3006003C (en) Dual memory introspection for securing multiple network endpoints
US7523308B2 (en) Method and system for dynamic system protection
CN102301373B (zh) 对网络资源的基于健康状况的访问
US20130097659A1 (en) System and method for whitelisting applications in a mobile network environment
US20120137364A1 (en) Remote attestation of a mobile device
JP2005327239A (ja) セキュリティ関連プログラミング・インターフェース
EP2769327A1 (en) System and method for whitelisting applications in a mobile network environment
KR20140068935A (ko) 프로세스별 네트워킹 기능 관리 기법
US8234711B2 (en) Apparatus and method for checking PC security
US12242616B2 (en) Method and system for software security vulnerability diagnostic assessment
US20250088512A1 (en) Di chip, communication device, system, and operating method
EP3042331A1 (en) Software revocation infrastructure
JP2010278852A (ja) 通信処理装置、通信処理方法、及びプログラム
US12346436B2 (en) DI chip, communication device, system, and operating method
US20140137196A1 (en) Method for internet transactions
MXPA06000649A (en) Systems and methods for shielding an identified vulnerability
WO2022128143A1 (en) Protection of a computer system and its software from installing and running software applications on incompatible platforms
King RIM security
HK1254985B (zh) 用於保护多个网络端点的双重存储器内省

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110621

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110921

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

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

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141104

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

LAPS Cancellation because of no payment of annual fees