JP4652736B2 - 脆弱性のあるファイルの自動的な検出およびパッチ - Google Patents

脆弱性のあるファイルの自動的な検出およびパッチ Download PDF

Info

Publication number
JP4652736B2
JP4652736B2 JP2004207744A JP2004207744A JP4652736B2 JP 4652736 B2 JP4652736 B2 JP 4652736B2 JP 2004207744 A JP2004207744 A JP 2004207744A JP 2004207744 A JP2004207744 A JP 2004207744A JP 4652736 B2 JP4652736 B2 JP 4652736B2
Authority
JP
Japan
Prior art keywords
binary
security
server
bit pattern
signature
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
JP2004207744A
Other languages
English (en)
Other versions
JP2005038428A5 (ja
JP2005038428A (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 JP2005038428A publication Critical patent/JP2005038428A/ja
Publication of JP2005038428A5 publication Critical patent/JP2005038428A5/ja
Application granted granted Critical
Publication of JP4652736B2 publication Critical patent/JP4652736B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Electrotherapy Devices (AREA)
  • Television Systems (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本開示は、一般的には、ファイルのパッチに関し、より詳細には、分散した異種のコンピューティング環境において脆弱性のあるバイナリプログラムファイルのセキュリティパッチを提供する、自動的、包括的、確実な、および回帰をしない(regression-free)方法に関する。
ソフトウェア開発は、継続的なプロセスであり、これにより、公衆に最初に発売されたソフトウェア製品を、ソフトウェア開発者/ベンダからの改訂を通じて継続的に更新することができる。ソフトウェアの改訂は、典型的には、ユーザのコンピュータにインストールするためにベンダからダウンロードされる、またはベンダから注文される、いわゆる「サービスパック」としてソフトウェアベンダから分配される。サービスパックは、典型的には、製品が最初に発売されて以降、または前回のサービスパックの発売以降に、プログラムコードに発見された問題(すなわち「バグ」)を修復するプログラムの修正(例えば、オペレーティングシステム、アプリケーションプログラムなどの)を含む。
プログラムバグの修正を含む他に、サービスパックは、プログラムファイルに発見された脆弱性を修復するために開発されたセキュリティパッチも含むことができる。ソフトウェア製品の発売後に発見されたプログラムの脆弱性は、ハッカーあるいはウィルスによる攻撃という重大なセキュリティ上の脅威を、世界規模で呈する恐れがある。従って、脆弱性が発見されると、脆弱性のあるソフトウェアを有するコンピュータにセキュリティバッチを迅速かつ広範に配布し、インストールすることが最重要事項となる。理論的には、そのような迅速で広範なセキュリティパッチの配布を実現するためにサービスパックを使用することは、効果的である。例えば、ソフトウェアベンダが脆弱性を発見し、セキュリティパッチを開発する場合は、パッチを、ベンダのウェブサイトの最新のサービスパックに掲載して、ユーザが直ちにダウンロードし、インストールできるようにすることができる。このパッチをインストールすれば、発見された脆弱性を利用しようとする大半のハッカーとウィルスを妨げることができる。しかし、システム管理者とその他のソフトウェア製品ユーザは、現在、セキュリティパッチにアクセスし、インストールすることに関して、いくつかの欠点および/または問題に直面している。これら問題は、典型的には、パッチを開発したベンダが意図するよりも、パッチの配布が大幅に低下する結果となる。その結果、世界中の多くのコンピュータの脆弱性は、パッチで修復されないままになり、このようなコンピュータが大きな危険性にさらされる。
セキュリティパッチにアクセスし、インストールすることに伴う問題点の1つは、コンピュータが既知の脆弱性を有するソフトウェアを実行しているかどうかを検出する現在の方法は、そのコンピュータがアクティブに使用され、およびそのコンピュータの関与を必要とする。例えば、現在利用できる方法は、コンピュータ上の特定バージョンのソフトウェア製品を(例えば、セキュリティパッチを用いて)、更新する必要があるかどうかを判定することができる。しかし、この判定には、コンピュータでアクティブに実行されているソフトウェア製品のみが含まれる。コンピュータでアクティブに実行されていない補助的なオペレーティングシステムおよびアプリケーションは考慮されず、従って、認識されず、修復されないままになるセキュリティ上の脆弱性を有する可能性がある。コンピュータでアクティブに実行されている製品について、ユーザは、利用可能な更新のリストを調べ、インストールする更新を選択することができる。更新の中には、既知のセキュリティ上の脆弱性からコンピュータを保護するために設計された極めて重要な更新もある。各種の更新は、ユーザがコンピュータを再起動しなければインストールが完了しない。加えて、ユーザが更新をアクティブに選択し、インストールしなければならない。こうした理由およびその他の理由のため、セキュリティパッチにアクセスし、インストールするための現在の方法は、効果的であるとは言えない。
セキュリティパッチにアクセスし、インストールする際の別の問題点は、セキュリティパッチがコンピュータで必要であるか否かを知ることである。時には、ユーザが、自身のコンピュータが脆弱なソフトウェアを実行していることを知ることが難しい場合がある。さらに、コンピュータが既知の脆弱性を持つソフトウェアを実行しているどうかを検出する現在の方法は、脆弱性があることが知られているソフトウェア製品の特定の構成を検出できない場合がある。例えば、一部のソフトウェア製品の共用バージョンは、他の製品の一部として配布される場合がある。従って、ある製品の共用バージョンは、その製品の完全バージョンと同じ脆弱性を含む可能性があるにも関わらず、共用バージョンは、セキュリティパッチによる更新を必要としない製品として認識されない場合がある。従って、セキュリティ上の脆弱性があることが分かっているソフトウェア製品の共用バージョンは、しばしば修正されないままになる。
セキュリティパッチにアクセスし、インストールすることに伴う他の問題は、このようなパッチを配信する従来の「サービスパック」方法に関する。サービスパックをダウンロードし、インストールすることは、時間を要し、多くのシステム管理者が単にそれを行う時間を持たない手動で行われるプロセスである。従って、管理者がセキュリティパッチをインストールする意思があるとき、セキュリティパッチの発売から、所与のシステムにインストールされるまで、数週間、数ヶ月または数年かかる。従って、セキュリティ上の脆弱性を通じた攻撃の危険性は、このようなシステムにおいて、ソフトウェアベンダがセキュリティパッチを発行してから長時間が経過するまで緩和されない可能性がある。
さらに、システム管理者は、しばしば、関連するセキュリティの危険性を理解していても、セキュリティパッチを含むサービスパックをダウンロードおよびインストールしないことを選択することがある。この理由は、サービスパックをインストールすること自体が、システムの振る舞いに望まない変化を導入しうるシステム回帰の危険性を伴うためである。管理者はしばしば、システムが要求通り機能するようにシステムをデバッグすることに多大な時間と労力を注ぐ。しかし、先に述べたように、サービスパックは、以前のバージョンのソフトウェア製品の進化の結果であり、製品のコードベースに対する最新の更新を含む(すなわち、変更の範囲は、セキュリティパッチだけに限定されない)。サービスパック中の最近のコード更新は、意図しない新たな振る舞いをシステムに導入することに加えて、システムに予期しない振る舞いを行わせる未知のバグをシステムに導入する可能性があり、バグは、システム管理者にとって重大な問題を起こす可能性がある。従って、管理者が回帰の危険を望まないために、システムは、しばしば脆弱性のあるプログラムファイルを修復するための重要なセキュリティパッチで更新されないことがある。
このため、自動的、包括的、確実な、および回帰をしない方法で、プログラムファイルのセキュリティの脆弱性のパッチを実施する方法が必要とされる。
自動的、包括的、確実な、および回帰をしないプログラムファイルのセキュリティパッチを記載する。
一実施によれば、脆弱性のバイナリ署名とセキュリティパッチとを受信する。脆弱性のあるバイナリファイルを、脆弱性のバイナリ署名に基づいてコンピュータ上で識別する。コンピュータの脆弱性のあるバイナリファイルを、セキュリティパッチで更新する。
別の実施によれば、バイナリファイル中のセキュリティ上の脆弱性を識別するバイナリ署名を受信する。セキュリティの脆弱性を修正するように構成されたセキュリティパッチも受信する。バイナリ署名とセキュリティパッチを、複数のサーバに配布する。
別の実施によれば、バイナリ署名をサーバから受信し、バイナリ署名を使用してバイナリファイルを検索する。バイナリファイル中にバイナリ署名が見つかった場合には、セキュリティパッチの要求をサーバに送信する。次に、バイナリファイルをセキュリティパッチで更新する。
図面中では同様の構成要素および機能は同じ参照符号を使用して参照する。
(概要)
以下の説明は、バイナリファイル中のセキュリティの脆弱性のパッチを可能にするシステムおよび方法を対象とする。脆弱性のあるバイナリファイルの検出とパッチは、自動的、確実な、回帰をしない、制限のない規模のネットワークにわたり包括的に行われる。これらの利点は、例えば、インターネット上に広く展開されている現在のウィルス対抗基盤を活用することを含む様々な方法で実現することができる。従来のサービスパックとのセキュリティパッチの相違により、バイナリファイル中のセキュリティの脆弱性に対する、回帰をしない修正を生成する能力を提供する。
脆弱性のあるバイナリファイル(例えば、オペレーティングシステム、アプリケーションプログラムなどにおいて)の確実な発見は、セキュリティの脆弱性に関連付けられたバイナリ署名の使用を通じて達成される。バイナリファイル中のセキュリティの脆弱性に関連付けられたバイナリ署名は、このようなセキュリティの脆弱性を修正するために開発されたセキュリティパッチとともに、中央の配布サーバにアップロードされる。配布サーバは、インターネットなど各種のネットワークを通じて広範にバイナリ署名とセキュリティパッチを配布するように構成される。中央の配布サーバを使用して(例えば、インターネットを通じて)ネットワークサーバを更新することにより、制限のない規模の包括的で自動的なパッチの適用が提供される。このような更新を受け取るネットワークサーバは、下位ネットワーク内のクライアントコンピュータをスキャンして、バイナリ署名に従って脆弱性のあるファイルを見つけ、セキュリティの脆弱性があるファイルを有することが判明したコンピュータを、脆弱性のあるファイルを修正する対応するセキュリティパッチを使用して更新する。ネットワークサーバは、クライアントコンピュータと通信して、バイナリ署名とセキュリティパッチをクライアントコンピュータに転送して、スキャンと更新をコンピュータ自体で行うこともできる。複数の入り組んだレベルの下位ネットワークが存在することもできる。
(例示的環境)
図1に、バイナリファイル中のセキュリティの脆弱性の自動的な検出とパッチを実施するのに適した例示的ネットワーク環境100を示す。例示的ネットワーク環境100において、中央の配布サーバ102は、ネットワーク106(a)を介して複数のスキャン/パッチサーバ104に結合される。スキャン/パッチサーバ104は、典型的には、ネットワーク106(b)を通じて複数のクライアントコンピュータ108(1)〜108(n)に結合される。ネットワーク106は、様々な従来のネットワークプロトコル(公衆プロトコルおよび/または独自プロトコルを含む)を使用する、様々な従来のネットワークトポロジおよび種類(光ネットワーク、有線および/または無線ネットワークを含む)を表すものとする。ネットワーク106は、例えば、インターネットと、1または複数のローカルエリアネットワーク(LAN)および/またはワイドエリアネットワーク(WAN)の少なくとも一部分を含むことができる。ネットワーク106(a)および106(b)は、インターネットなど同一のネットワークであっても、インターネットと社内LANなど互いと分離したネットワークであってもよい。
配布サーバ102およびスキャン/パッチサーバ104は、典型的には、標準的なウェブサーバとして実装され、それぞれ、デスクトップPC、ノート型または携帯型コンピュータ、ワークステーション、メインフレームコンピュータ、インターネット機器、それらの組合せなどを含む各種の従来型のコンピューティング装置とすることができる。サーバ102および104の1または複数は、同じ種類の装置であっても、または異なる種類の装置であってもよい。配布サーバ102およびスキャン/パッチサーバ104を実施する例示的コンピューティング環境については、図7を参照して以下により詳細に説明する。
クライアントコンピュータ108は、サーバ104と典型的なクライアント/サーバ関係で機能し、複数のクライアント108は、要求を受け付けるサーバ104に対して要求を行う。クライアントコンピュータ108は、デスクトップPC、ノート型または携帯型コンピュータ、ワークステーション、メインフレームコンピュータ、ゲーム機、ハンドヘルドPC、携帯電話または他の無線通信機器、携帯情報端末(PDA)、これらの組合せなどを含む、様々な従来のコンピューティング装置とすることができる。クライアントコンピュータ108の1または複数は、同じ種類の装置であっても、あるいは異なる種類の装置であってもよい。クライアントコンピュータ108を実施するための例示的コンピューティング環境については、図7を参照して以下により詳細に説明する。
一般に、クライアントコンピュータ108の脆弱性のあるバイナリファイルの自動的で包括的な検出とパッチは、脆弱性のあるバイナリファイルを識別するバイナリ署名と、脆弱性のあるファイルを修復するように構成されたセキュリティパッチとを含む、配布サーバ102を通じて行われる更新を通じて達成される。以下の例示的実施形態との関係で以下により詳細に述べるように、バイナリ署名とセキュリティパッチは、スキャン/パッチサーバ104に配布され、スキャン/パッチサーバ104は、クライアントコンピュータ108に脆弱性のあるバイナリファイルがあるかをアクティブにスキャンして更新するか、または、クライアントコンピュータ108が脆弱性のあるバイナリファイルのスキャンとパッチを行えるように、クライアントコンピュータ108にバイナリ署名とセキュリティパッチをプッシュする。
(例示的実施形態)
図2に、バイナリファイル中のセキュリティの脆弱性の自動的な検出とパッチを実施するのに適した配布サーバ102、スキャン/パッチサーバ104、およびクライアントコンピュータ108の例示的実施形態を示す。配布サーバ102は、配布モジュール200と、バイナリ署名およびセキュリティパッチを受け取り、保持するデータベース202とを含む。データベース202を、例えば、携帯型の記憶媒体(図示しないが、図7を参照)を通じて、または、サーバ102に結合され、バイナリ署名およびセキュリティパッチをデータベース202にアップロードするように構成されたコンピュータ装置(図示せず)を通じるなど、様々な方法によりバイナリ署名およびセキュリティパッチで更新することができる。
データベース202が更新される可能性がある典型的なシナリオは、ソフトウェア製品の開発者によって開始されるソフトウェア製品(例えば、オペレーティングシステム、アプリケーションプログラムなど)の調査から開始する。例えば、開発者は、セキュリティのコンサルタント会社を雇って、新しく発売されたソフトウェア製品中のセキュリティの脆弱性を見つけることを試みることができる。セキュリティの脆弱性が、ハッキングあるいはその他の手段を通じてソフトウェア製品中に発見された場合には、製品中の脆弱性のある関数の正確なビットパターンを識別することができる。ビットパターンは、ソフトウェア製品の1コンポーネントである、バイナリファイル中の脆弱性のある部分のバイナリ署名に相当する。
セキュリティ上の脆弱性が発見され、分析されると、その脆弱性を除去する修正を開発することができる。このような修正は、セキュリティパッチと呼ばれ、バイナリの実行ファイルにコンパイルされる改訂後のコードモジュールに相当する。セキュリティパッチを、セキュリティ上の脆弱性があるソフトウェアを実行しているとバイナリ署名を通じて識別されたコンピュータにインストールすることができる。セキュリティパッチをインストールすると、セキュリティ上の脆弱性が修正される。配布サーバ102は、ソフトウェア製品ベンダおよびその他が、脆弱性のあるバイナリファイルを修正するように設計されたセキュリティパッチとともに、脆弱性のあるバイナリファイルのバイナリ署名を、データベース202に配布のためにアップロードすることができる。
配布モジュール200は、データベース202からネットワーク106を介して様々なスキャン/パッチサーバ104にバイナリ署名とセキュリティパッチを配布するように構成される。配布モジュール200は、典型的には、データベース202が追加的な署名およびパッチで更新されると、データベース202のバイナリ署名とセキュリティパッチを配布するように自動的に機能する。自動的な配布は、例えば、配布モジュール200からスキャン/パッチサーバ104への通信を通じて、更新されたバイナリ署名とセキュリティパッチが入手できる状態であることを通知し、バイナリ署名およびセキュリティパッチの送信を求める要求を待機する、または、更新されたバイナリ署名とセキュリティパッチを、更新を受け付けるように構成されたスキャン/パッチサーバ104に自動的に転送することを含む様々な方法で達成することができる。
図2の実施形態では、スキャン/パッチサーバ104は、スキャン/パッチモジュール204と、バイナリ署名およびセキュリティパッチを受け取り、保持するデータベース206とを含む。データベース206は、典型的には、スキャン/パッチモジュール204と配布サーバ102の配布モジュール200との通信を通じてバイナリ署名およびセキュリティパッチで自動的に更新される。バイナリ署名およびセキュリティパッチでデータベース206を更新するのに加えて、スキャン/パッチモジュール204は、クライアントコンピュータ108にアクセスし、バイナリ署名のためにバイナリファイル208をスキャンするように構成される。バイナリファイル208のスキャンは、クライアントコンピュータ108上に存在する、あるいはクライアントコンピュータ108がアクセスできる任意形態の媒体に存在するバイナリファイル中のバイナリ署名を探索することを含むことができる。バイナリファイル208は、典型的には、オペレーティングシステムやアプリケーションプログラムファイルなどのコンパイル済みのコンピュータ/プロセッサ読取り可能コードを含む。ただし、バイナリファイル208は、クライアントコンピュータ108のコンピュータ/プロセッサ読取り可能命令、データ構造、プログラムモジュール、および他のデータを含む任意形態のバイナリ情報であってよいことに留意されたい。
図7の例示的コンピュータ環境を参照する以下の説明で述べるように、クライアントコンピュータ108上の媒体は、揮発性および不揮発性の媒体、ならびに取り外し可能および取り外し不能の媒体など、クライアントコンピュータ108によるアクセスが可能な任意の利用可能媒体を含むことができる。このようなコンピュータ/プロセッサ読取り可能媒体は、ランダムアクセスメモリ(RAM)などの揮発性メモリ、および/または読み取り専用メモリ(ROM)などの不揮発性メモリを含むことができる。コンピュータ/プロセッサ読取り可能媒体は、例えば、取り外し不能、不揮発性の磁気媒体の読み書きを行うハードディスクドライブ、取り外し可能、不揮発性の磁気ディスク(例えば、「フロッピー(登録商標)ディスク」)の読み書きを行う磁気ディスクドライブ、CD−ROM、DVD−ROM、またはその他の光学媒体などの取り外し可能、不揮発性の光ディスクの読み書きを行う光ディスクドライブ、その他の磁気記憶装置、フラッシュメモリカード、電気的に消去可能なプログラム可能読み取り専用メモリ(EEPROM)、ネットワーク接続ストレージなど、他の取り外し可能/取り外し不能、揮発性/不揮発性のコンピュータ記憶媒体も含むことができる。クライアントコンピュータ108のコンピュータ/プロセッサ読取り可能命令、データ構造、プログラムモジュール、およびその他のデータを含む任意形態のバイナリファイル208の揮発性および不揮発性の記憶を提供する、このようなコンピュータ/プロセッサ読取り可能媒体はすべて、スキャン/パッチモジュール204を介したスキャン/パッチサーバ104によるスキャンのためにアクセスすることができる。
従って、スキャン/パッチモジュール204は、クライアントコンピュータ108のバイナリファイル208を検索して、セキュリティ上の脆弱性を識別するバイナリ署名がクライアントコンピュータ108に置かれたバイナリ情報中にあるかどうかを判定する。バイナリファイル208にバイナリ署名のビットパターンが見つかった場合、スキャン/パッチモジュール204は、対応するセキュリティパッチをクライアントコンピュータ108にインストールすることにより、バイナリファイル208中のセキュリティ上の脆弱性を修正するように動作する。クライアントコンピュータ108にセキュリティパッチをインストールすることにより、セキュリティ上の脆弱性を含むバイナリファイルまたはバイナリファイルの一部分が上書きされるか、その他の形で除去される。
図3に、バイナリファイル中のセキュリティの脆弱性のパッチを実施するのに適した配布サーバ102、スキャン/パッチサーバ104、およびクライアントコンピュータ108の別の例示的実施形態を示す。概して、図3の実施形態では、サーバ104からクライアントコンピュータ108にバイナリ署名およびセキュリティパッチがプッシュされる、すなわち再配布され、セキュリティに脆弱性のあるファイルを求めるスキャンと脆弱性のあるファイルのパッチとは、スキャン/パッチサーバ104ではなくクライアントコンピュータ108によって行われる。
図3の実施形態では、配布サーバ102は、図2の実施形態に関して上述した方法と同様に構成される。従って、データベース202を、バイナリファイル中のセキュリティ上の脆弱性を識別する新たに発見されたバイナリ署名を含むように更新することができる。データベース202を、このようなセキュリティ上の脆弱性を修正するために開発された対応するセキュリティパッチで更新することもできる。
図3のスキャン/パッチサーバ102は、図2に関して上述した方法と幾分似た方法で構成される。従って、図3のスキャン/パッチサーバ102は、バイナリ署名とセキュリティパッチを受け取り、保持するデータベース206を含む。データベース206は、典型的には、スキャン/パッチサーバ104と配布サーバ102間の通信を通じて自動的に新しいバイナリ署名とセキュリティパッチで更新される。ただし、スキャン/パッチサーバ104と配布サーバ102間の通信は、図2の実施形態に関して上述したようにスキャン/パッチモジュール204ではなく再配布モジュール300を通じて行われる。
再配布モジュール300は、バイナリ署名とセキュリティパッチでデータベース206を更新するのに加えて、クライアントコンピュータ108のスキャン/パッチモジュール302と通信し、バイナリ署名をクライアントコンピュータ108に転送するように構成される。スキャン/パッチモジュール302は、バイナリ署名を受け取り、バイナリファイル208をスキャンして、クライアントコンピュータ108に配置されたバイナリ情報にそのバイナリ署名が存在するかどうかを判定するように構成される。従って、図3のスキャン/パッチモジュール302は、図2を参照して上述したスキャン/パッチモジュール204と同様に機能する。
バイナリ署名のビットパターンがクライアントコンピュータ108のバイナリファイル208に見つかった場合には、スキャン/パッチモジュール302は、サーバ102の再配布モジュール300に要求を送信する。この要求は、バイナリ署名に一致するセキュリティパッチを再配布モジュール300からクライアントコンピュータ108に送信させる。再配布モジュール300は、該当するセキュリティパッチをクライアントコンピュータ108に送信することにより要求に応答する。スキャン/パッチモジュール302は、セキュリティパッチを受け取り、セキュリティパッチをクライアントコンピュータ108にインストールすることによりバイナリファイル208中のセキュリティ上の脆弱性を修正するように動作する。図2の実施形態と同様に、クライアントコンピュータ108にセキュリティパッチをインストールすることにより、発見されたセキュリティ上の脆弱性を含むバイナリファイル、またはバイナリファイルの一部分が上書きされるか、その他の形で除去される。
(例示的方法)
次に、バイナリファイル中のセキュリティの脆弱性の自動的な検出およびパッチを実施する例示的方法について、図4〜6の流れ図を参照して説明する。この方法は、図1〜3に関して説明した上記の例示的実施形態に概ね当てはまる。ここに説明する方法の要素は、例えばASICのハードウェアロジックブロック、またはプロセッサ読取り可能媒体上に定義されたプロセッサ読取り可能命令の実行によるなど、任意の適切な手段によって実行することができる。
本発明で使用する「プロセッサ読取り可能媒体」とは、プロセッサによる使用または実行のために、命令を保持、記憶、通信、伝播、あるいは移送することができる任意の手段である。プロセッサ読取り可能媒体は、これらに限定しないが、電子、磁気、光学、電磁気、赤外線、または半導体によるシステム、装置、デバイス、または伝播媒体などである。プロセッサ読取り可能媒体のより具体的な例には、特に、1または複数の電線を有する電気接続(電気)、携帯型のコンピュータディスケット(磁気)、ランダムアクセスメモリ(RAM)(磁気)、読み取り専用メモリ(ROM)(磁気)、消去可能なプログラム可能読み取り専用メモリ(EPROM、あるいはフラッシュメモリ)、光ファイバ(光学)、書き換え型コンパクトディスク(CD−RW)(光学)、および携帯型コンパクトディスク読み取り専用メモリ(CD−ROM)(光学)が含まれる。
図4に、バイナリファイル中のセキュリティの脆弱性の自動的な検出およびパッチを実施する例示的方法400を示す。バイナリファイルは、典型的には、サーバコンピュータによってサービスされるクライアントコンピュータに配置または記憶されるが、サーバコンピュータ自体、あるいはサーバコンピュータからアクセス可能な他のコンピューティング装置に配置してもよい。方法400のブロック402で、バイナリ署名を受信する。バイナリ署名は、実行可能なアプリケーションプログラム、クライアントコンピュータで実行中のオペレーティングシステムなど特定のバイナリファイル中のセキュリティ上の脆弱性に関連付けられたビットパターンである。バイナリ署名は、中央の配布サーバ102から下位サーバ104により受信される。
ブロック404において、セキュリティパッチを受信する。セキュリティパッチは、典型的には、特定のバイナリファイルのセキュリティの脆弱性の修正として開発されたコンパイル済みの実行可能コードである。セキュリティパッチも、中央の配布サーバ102から下位サーバ104により受信される。ブロック406において、バイナリ署名に基づいて、脆弱性のあるバイナリファイルを識別する。脆弱性のあるバイナリファイルの識別は、典型的には、クライアントコンピュータ108などのコンピュータの各種媒体に記憶されたバイナリ情報をスキャンし、バイナリ署名中のパターンを媒体で見つかったバイナリ情報と比較することによって達成される。この識別は、例えば、サーバ104がクライアントコンピュータにあるすべてのバイナリ情報をスキャンし、比較するなど、様々な方法で行うことができる。脆弱性のあるバイナリファイルの識別は、サーバ104からクライアントコンピュータにバイナリ署名をプッシュさせることによって、クライアントコンピュータがスキャンと比較を行えるように達成される。
方法400のブロック408において、セキュリティパッチを使用して脆弱性のあるバイナリファイルを更新する。この更新は、例えば、サーバ104がセキュリティパッチをクライアントコンピュータ108にインストールすることを含む様々な方法で達成することができる。クライアントコンピュータ108がスキャンを行い、脆弱性のあるバイナリファイルを識別した場合には、クライアントコンピュータ108は、サーバ104からコンピュータ108にセキュリティパッチを送信するように要求することができ、この場合はコンピュータ108がセキュリティパッチをインストールして脆弱性のあるバイナリファイルを修正することができる。
図5に、バイナリファイル中のセキュリティの脆弱性の自動的な検出とパッチを実施する別の例示的方法500を示す。方法500は、概して、セキュリティ上の脆弱性に対応するバイナリ署名と、セキュリティ上の脆弱性を修正するために開発されたセキュリティパッチの配布について説明する。方法500のブロック502において、バイナリファイル中のセキュリティの脆弱性を識別するバイナリ署名を受信する。バイナリ署名は、典型的には、インターネットなどのネットワーク上にある多数のコンピュータに広く配布されている可能性のあるソフトウェア製品のバイナリファイル中にある脆弱性を識別する、新たに発見されたビットパターンとして配布サーバ102にアップロードされる。アップロードは、典型的には、配布サーバ102に結合されたコンピュータから、または配布サーバ102に挿入された携帯型記憶媒体から行われる。ブロック504において、セキュリティの脆弱性を修正するように構成されたセキュリティパッチは、バイナリ署名と同じように配布サーバ102によって受信される。
ブロック506において、バイナリ署名およびセキュリティパッチを、配布サーバ102から複数の下位サーバ104に配布する。この配布は自動的に行うことができ、様々な方法で実現することができる。例えば、配布サーバ102は、アップロードされたバイナリ署名とセキュリティパッチを受け取ると、更新されたバイナリ署名とセキュリティパッチを受信するように構成されたすべての下位サーバ104に、ネットワークを介してバイナリ署名とセキュリティパッチを自動的に送信することができる。配布サーバ102は、通知をサーバ104に送信して、セキュリティ上の脆弱性が発見されたことと、脆弱性を修正するセキュリティパッチを入手できることを通知することもできる。次に、下位サーバ104は、そのセキュリティの脆弱性を識別するバイナリ署名とセキュリティパッチを送信するように配布サーバ102に要求することができる。要求を受信すると、配布サーバ102は、バイナリ署名とセキュリティパッチを要求元のサーバ102に転送することができる。
図6に、バイナリファイル中のセキュリティの脆弱性の自動的な検出とパッチを実施する別の例示的方法600を示す。方法600のブロック602において、クライアントコンピュータ108は、サーバ104からバイナリ署名を受信する。このバイナリ署名は、クライアントコンピュータ108に存在する可能性があるバイナリファイル中のセキュリティ上の脆弱性に関連付けられている。ブロック604において、クライアントコンピュータ108は、現在コンピュータ108が入手できるすべてのバイナリ情報をスキャンし、バイナリ署名中のパターンをそれらのバイナリ情報と比較する。クライアントコンピュータ108によってスキャンされるバイナリ情報は、典型的には、コンピュータ/プロセッサ読取り可能命令および/または実行可能命令、データ構造、プログラムモジュール、およびクライアントコンピュータ108にとって有用なその他のデータの形態であり、各種タイプの揮発性および不揮発性両方の記憶媒体に存在することができる。
ブロック606において、クライアントコンピュータ108がバイナリ署名を含むバイナリファイルを見つけた場合には、クライアントコンピュータ108は、サーバ104に要求を送信してセキュリティパッチを転送させる。ブロック608において、クライアントコンピュータ108は、セキュリティパッチを受け取り、ブロック610において、クライアントコンピュータ108は、バイナリ署名中のパターンに一致するバイナリ情報を含むバイナリファイル中のセキュリティ上の脆弱性を修正するためにセキュリティパッチをインストールする。
流れ図と、それら流れ図のブロックに関連する文章により1または複数の方法を説明したが、このブロックは必ずしも説明した順序で行う必要はなく、これに代わる順序で同様の利点が得られることを理解されたい。さらに、これらの方法は排他的ではなく、単独で、または互いと組み合わせて行うことができる。
(例示的コンピュータ)
図7に、図1〜3を参照して上述した配布サーバ102、スキャン/パッチサーバ104、およびクライアントコンピュータ108を実施するのに適した例示的コンピューティング環境を示す。図7には特定の1つの構成を示すが、配布サーバ102、スキャン/パッチサーバ104、およびクライアントコンピュータ108は、この他のコンピューティング構成としても実施することができる。
コンピューティング環境700は、コンピュータ702の形態の汎用コンピューティングシステムを含む。コンピュータ702の構成要素は、これらに限定しないが、1または複数のプロセッサまたは処理装置704、システムメモリ706、およびプロセッサ704を含む各種のシステム構成要素をシステムメモリ706に結合するシステムバス708を含むことができる。
システムバス708は、各種のバスアーキテクチャの任意のものを使用したメモリバスまたはメモリコントローラ、ペリフェラルバス、アクセラレーテッドグラフィックポート、プロセッサバスまたはローカルバスを含む数種のバス構造の1または複数を表す。システムバス708の一例は、メザニンバスとも称するPCI(Peripheral Component Interconnects)バスである。
コンピュータ702は、典型的には、各種のコンピュータ読取り可能媒体を含む。そのような媒体は、コンピュータ702によるアクセスが可能な任意の利用可能媒体でよく、揮発性および不揮発性、取り外し可能および取り外し不能の媒体が含まれる。システムメモリ706は、ランダムアクセスメモリ(RAM)710などの揮発性メモリ、および/または読み取り専用メモリ(ROM)712などの不揮発性メモリの形態のコンピュータ読取り可能媒体を含む。起動時などにコンピュータ702内の要素間の情報転送を助ける基本ルーチンを含んだ基本入出力システム(BIOS)714は、ROM712に記憶される。RAM710は典型的には、処理装置704から即座にアクセスできる、および/または処理装置704によって現在操作されているデータおよび/またはプログラムモジュールを保持する。
コンピュータ720は、この他の取り外し可能/取り外し不能、揮発性/不揮発性のコンピュータ記憶媒体も含むことができる。例として、図7には、取り外し不能、不揮発性の磁気媒体(図示せず)の読み書きを行うハードディスクドライブ716、取り外し可能、不揮発性の磁気ディスク720(例えば「フロッピー(登録商標)ディスク」)の読み書きを行う磁気ディスクドライブ718、CD−ROM、DVD−ROM、あるいは他の光学媒体などの取り外し可能、不揮発性の光ディスク724の読み書きを行う光ディスクドライブ722を示す。ハードディスクドライブ716、磁気ディスクドライブ718、および光ディスクドライブ722はそれぞれ、1または複数のデータ媒体インタフェース726によってシステムバス708に接続される。あるいは、ハードディスクドライブ716、磁気ディスクドライブ718、および光ディスクドライブ722は、SCSIインタフェース(図示せず)でシステムバス708に接続することもできる。
これらのディスクドライブとそれに関連付けられたコンピュータ読取り可能媒体は、コンピュータ702のコンピュータ読取り可能命令、データ構造、プログラムモジュール、およびその他のデータの不揮発性の記憶を提供する。この例ではハードディスク716、取り外し可能磁気ディスク720、および取り外し可能光ディスク724を例として挙げるが、磁気カセットまたは他の磁気記憶装置、フラッシュメモリカード、CD−ROM、デジタル多用途ディスク(DVD)または他の光学ストレージ、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、電子的に消去可能なプログラム可能読み取り専用メモリ(EEPROM)など、コンピュータによるアクセスが可能なデータを記憶することができる他の種類のコンピュータ読取り可能媒体を利用して例示的コンピューティングシステムおよび環境を実施することもできることを理解されたい。
ハードディスク716、磁気ディスク720、光ディスク724、ROM712、および/またはRAM710には複数のプログラムモジュールを記憶することができ、これには例としてオペレーティングシステム726、1または複数のアプリケーションプログラム728、他のプログラムモジュール730、およびプログラムデータ732が含まれる。このようなオペレーティングシステム726、1または複数のアプリケーションプログラム728、他のプログラムモジュール730、およびプログラムデータ732(またはこれらの何らかの組合せ)は、それぞれ、ユーザのネットワークアクセス情報をキャッシュする方式の実施形態を含むことができる。
コンピュータ702は、通信媒体として識別される各種のコンピュータ/プロセッサ読取り可能媒体を含むことができる。通信媒体は典型的には、コンピュータ読取り可能命令、データ構造、プログラムモジュール、または他のデータを、搬送波などの変調データ信号またはその他のトランスポート機構として実施し、任意の情報伝達媒体を含む。用語「変調データ信号」とは、信号中に情報を符号化するような形でその特徴の1または複数を設定または変化させた信号を意味する。例として、これらに限定しないが、通信媒体には、有線ネットワークや直接配線接続などの有線媒体と、音響、RF、赤外線、およびその他の無線媒体などの無線媒体が含まれる。上記の媒体の組合せもコンピュータ読取り可能媒体の範囲に含まれる。
ユーザは、キーボード734およびポインティングデバイス736(「マウス」など)などの入力装置を介してコンピュータシステム702にコマンドと情報を入力することができる。この他の入力装置738(具体的には図示せず)としては、マイクロフォン、ジョイスティック、ゲームパッド、衛星受信アンテナ、シリアルポート、スキャナなどが可能である。これらおよびその他の入力装置は、システムバス708に結合された入出力インタフェース740を介して処理装置704に接続されるが、パラレルポート、ゲームポート、あるいはユニバーサルシリアルバス(USB)など他のインタフェースおよびバス構造で接続してもよい。
モニタ742あるいは他のタイプの表示装置も、ビデオアダプタ744などのインタフェースを介してシステムバス708に接続することができる。モニタ742に加えて、他の出力周辺装置は、スピーカ(図示せず)およびプリンタ746などのコンポーネントを含むことができ、それらは入出力インタフェース740を介してコンピュータ702に接続することができる。
コンピュータ702は、リモートコンピューティング装置748などの1または複数のリモートコンピュータとの論理接続を使用するネットワーク環境で動作することができる。例として、リモートコンピューティング装置748は、パーソナルコンピュータ、携帯型コンピュータ、サーバ、ルータ、ネットワークコンピュータ、ピアデバイス、またはその他の一般的なネットワークノードである。リモートコンピューティング装置748は、コンピュータシステム702との関係で本明細書に記載する要素および機能の多くまたはすべてを含むことができる携帯型コンピュータとして図示する。
図では、コンピュータ702とリモートコンピュータ748間の論理接続は、ローカルエリアネットワーク(LAN)750および一般的なワイドエリアネットワーク(WAN)752としている。このようなネットワーキング環境は、オフィス、企業内のコンピュータネットワーク、イントラネット、およびインターネットなどに一般的に見られる。LANネットワーキング環境で実施される場合、コンピュータ702は、ネットワークインタフェースあるいはアダプタ754を介してローカルネットワーク750に接続される。WANネットワーキング環境で実施される場合、コンピュータ702は典型的には、ワイドネットワーク752を通じて通信を確立するためのモデム756または他の手段を含む。モデム756は、コンピュータ702の内部にあっても外部にあってもよく、入出力インタフェース740または他の適切な機構を介してシステムバス708に接続することができる。図のネットワーク接続は例示的なものであり、コンピュータ702と748間に通信リンクを確立する他の手段を用いることができることは理解されよう。
コンピューティング環境700で例示するようなネットワーク環境では、コンピュータ702との関連で図示するプログラムモジュール、またはその一部は、遠隔のメモリ記憶装置に記憶することができる。例として、リモートアプリケーションプログラム758がリモートコンピュータ748のメモリ装置に存在する。例示のために、アプリケーションプログラムおよびオペレーティングシステムなどの他の実行可能プログラムコンポーネントは、ここでは別個のブロックとして示すが、これらのプログラムおよびコンポーネントは、様々な時にコンピュータシステム702の異なる記憶コンポーネントに存在し、コンピュータのデータプロセッサによって実行されることが認識される。
(結論)
本発明について構造的特徴および/または方法論的動作に固有の術語で説明したが、添付の特許請求の範囲に定義される本発明は必ずしもここに記載する特定の機能または動作に限定されないことを理解されたい。これら特定の特徴および動作は、特許権を請求する本発明を実施する例示的形態として開示される。
バイナリファイル中のセキュリティの脆弱性の自動的な検出とパッチを実施するのに適した例示的ネットワーク環境の図である。 バイナリファイル中のセキュリティの脆弱性の自動的な検出とパッチを実施するのに適した配布サーバ、スキャン/パッチサーバ、およびクライアントコンピュータの例示的実施形態の図である。 バイナリファイル中のセキュリティの脆弱性の自動的な検出とパッチを実施するのに適した配布サーバ、スキャン/パッチサーバ、およびクライアントコンピュータの別の例示的実施形態の図である。 バイナリファイル中のセキュリティの脆弱性の自動的な検出およびパッチを実施する例示的方法のブロック図である。 バイナリファイル中のセキュリティの脆弱性の自動的な検出およびパッチを実施する例示的方法のブロック図である。 バイナリファイル中のセキュリティの脆弱性の自動的な検出およびパッチを実施する例示的方法のブロック図である。 配布サーバ、スキャン/パッチサーバ、およびクライアントコンピュータを実施するのに適した例示的コンピューティング環境の図である。
符号の説明
100 例示的ネットワーク環境
102 配布サーバ
104 スキャン/パッチサーバ
106 ネットワーク
108 クライアント

Claims (23)

  1. プロセッサ読取り可能記憶媒体であって、
    サーバコンピューティング装置において、クライアントコンピューティング装置に位置するバイナリファイル中のセキュリティの脆弱性に関するビットパターンを含むバイナリ署名を受信し、
    前記サーバコンピューティング装置においてセキュリティパッチを受信し、
    前記サーバコンピューティング装置によって、前記バイナリ署名に基づいて前記サーバコンピューティング装置から遠隔にある前記クライアントコンピュータに位置する脆弱性のあるバイナリファイルを識別し、および、
    前記サーバコンピューティング装置から、前記セキュリティパッチで前記クライアントコンピューティング装置に位置する前記脆弱性のあるバイナリファイルを更新するように構成されたプロセッサ実行可能命令を備え
    前記脆弱性のあるバイナリファイルの識別は、前記バイナリ署名の前記ビットパターンを、前記クライアントコンピューティング装置に位置する複数のバイナリファイルの複数のビットパターンと比較することを含み、
    前記脆弱性のあるバイナリファイルの更新は、前記クライアントコンピューティング装置に位置する前記脆弱性のあるバイナリファイルのビットパターンが、前記バイナリ署名の前記ビットパターンに一致する場合に行うことを特徴とするプロセッサ読取り可能記憶媒体。
  2. 前記クライアントコンピューティング装置に位置する前記脆弱性のあるバイナリファイルを更新することは、前記サーバコンピューティング装置から前記クライアントコンピューティング装置に前記セキュリティパッチをインストールすることを含むことを特徴とする請求項1に記載のプロセッサ読取り可能記憶媒体。
  3. 前記受信は、脆弱性のあるファイルを識別するバイナリ署名と、前記脆弱性のあるファイルを修正するように構成されたセキュリティパッチとを前記クライアントコンピューティング装置に配布するように構成された配布サーバから、前記バイナリ署名と前記セキュリティパッチを受信することを含むことを特徴とする請求項1に記載のプロセッサ読取り可能記憶媒体。
  4. 請求項1に記載のプロセッサ読取り可能記憶媒体を備えることを特徴とするサーバ。
  5. プロセッサ読取り可能記憶媒体であって、
    バイナリファイル中のセキュリティの脆弱性を識別するバイナリ署名であって、1つまたは複数のクライアントコンピューティング装置に位置するバイナリファイル中のセキュリティの脆弱性に関するビットパターンを含むバイナリ署名を受信し、
    前記バイナリファイル中の前記セキュリティの脆弱性を修正するように構成されたセキュリティパッチを受信し、および、
    前記バイナリ署名および前記セキュリティパッチを複数のサーバに配布して、前記複数のサーバの各々が、
    前記バイナリ署名に基いて、各サーバから遠隔にある各クライアントコンピューティング装置に位置する脆弱性のあるバイナリファイルを識別し、
    前記セキュリティパッチで、前記各クライアントコンピューティング装置に位置する前記脆弱性のあるバイナリファイルを更新することを可能にするように構成されたプロセッサ実行可能命令を備え
    各サーバは、前記バイナリ署名の前記ビットパターンを、前記各クライアントコンピューティング装置に位置する複数のバイナリファイルの複数のビットパターンと比較することによって、前記各クライアントコンピューティング装置に位置する前記脆弱性のあるバイナリファイルを識別し、前記脆弱性のあるバイナリファイルのビットパターンが前記バイナリ署名の前記ビットパターンと一致する場合に前記脆弱性のあるバイナリファイルを更新することを特徴とするプロセッサ読取り可能記憶媒体。
  6. 前記配布は、
    前記セキュリティの脆弱性と前記利用可能なパッチとに関する通知を前記複数のサーバそれぞれに送信すること、
    前記バイナリ署名および前記セキュリティパッチの送信を求める要求を受信すること、および、
    前記要求に応答して前記バイナリ署名および前記セキュリティパッチを送信すること
    を含むことを特徴とする請求項に記載のプロセッサ読取り可能記憶媒体。
  7. 請求項に記載のプロセッサ読取り可能記憶媒体を備えることを特徴とする配布サーバ。
  8. プロセッサ読取り可能記憶媒体であって、
    サーバから、バイナリファイル中のセキュリティの脆弱性に関するビットパターンを含むバイナリ署名を受信し、
    前記バイナリ署名の前記ビットパターンを、クライアントコンピュータに位置する複数のバイナリファイルの複数のビットパターンと比較し、
    前記クライアントコンピュータに位置するバイナリファイルのビットパターンが、前記バイナリ署名の前記ビットパターンと一致する場合、セキュリティパッチを求める要求を前記クライアントコンピュータから前記サーバに送信し、
    前記サーバから前記セキュリティパッチを受信し、および、
    前記セキュリティパッチで前記バイナリファイルを、前記クライアントコンピュータ上で更新するように構成されたプロセッサ実行可能命令を備え
    ることを特徴とするプロセッサ読取り可能記憶媒体。
  9. 請求項に記載のプロセッサ読取り可能記憶媒体を備えることを特徴とするクライアントコンピュータ。
  10. サーバからクライアントコンピュータにおいて、バイナリファイル中のセキュリティの脆弱性に関するビットパターンを含むバイナリ署名を受信すること、
    前記バイナリ署名の前記ビットパターンを、前記クライアントコンピュータ上の複数のバイナリファイルの複数のビットパターンと比較して、脆弱性のあるバイナリファイルを前記クライアントコンピュータ上で探すこと、
    前記クライアントコンピュータ上のバイナリファイルのビットパターンが、前記バイナリ署名の前記ビットパターンと一致する場合に、前記サーバにセキュリティパッチを要求すること、
    前記クライアントコンピュータからの前記セキュリティパッチを求める前記要求に応答して、前記サーバから前記クライアントコンピュータにおいて前記セキュリティパッチを受信すること、および、
    前記サーバから受信した前記セキュリティパッチで前記脆弱性のあるバイナリファイルを修正すること
    を備えることを特徴とする方法。
  11. 前記修正することは、前記セキュリティパッチを前記クライアントコンピュータにインストールすることを含むことを特徴とする請求項10に記載の方法。
  12. 前記バイナリファイルは、
    オペレーティングシステム、
    アプリケーションプログラムファイル、および、
    データファイル
    からなるグループから選択されることを特徴とする請求項10に記載の方法。
  13. 前記クライアントコンピュータの記憶媒体は、
    ハードディスク、
    磁気フロッピー(登録商標)ディスク、
    光ディスク、
    フラッシュメモリカード、
    電気的に消去可能なプログラム可能読み取り専用メモリ、および、
    ネットワーク接続ストレージ
    からなるグループから選択されることを特徴とする請求項10に記載の方法。
  14. スキャン/パッチサーバが、配布サーバから、バイナリファイル中のセキュリティの脆弱性に関するビットパターンを含むバイナリ署名およびセキュリティパッチを受信すること、
    前記スキャン/パッチサーバが、前記バイナリ署名の前記ビットパターンを、クライアントコンピュータ上の複数のバイナリファイルの複数のビットパターンと比較して、脆弱性のあるバイナリファイルを前記クライアントコンピュータ上で探すこと、および
    前記クライアントコンピュータ上のバイナリファイルのビットパターンが、前記バイナリ署名の前記ビットパターンと一致する場合、前記スキャン/パッチサーバが、前記セキュリティパッチで前記クライアントコンピュータ上の前記脆弱性のあるバイナリファイルを修正すること
    を備えることを特徴とする方法。
  15. クライアントコンピュータにおいて、サーバから、バイナリファイル中のセキュリティの脆弱性に関するビットパターンを含むバイナリ署名を受信する手段と、
    前記バイナリ署名の前記ビットパターンを、前記クライアントコンピュータに位置する複数のバイナリファイルの複数のビットパターンと比較して、前記クライアントコンピュータに位置する脆弱性のあるバイナリファイルを探す手段と、
    前記クライアントコンピュータ上のバイナリファイルのビットパターンが、前記バイナリ署名の前記ビットパターンと一致する場合、前記サーバにセキュリティパッチを要求する手段と、
    前記セキュリティパッチを求める前記要求に応答して、前記サーバから前記セキュリティパッチを受信する手段と、
    前記サーバから受信した前記セキュリティパッチで前記脆弱性のあるバイナリファイルを修正する手段と
    を備えることを特徴とするクライアントコンピュータ。
  16. 配布サーバから、バイナリファイル中のセキュリティの脆弱性に関するビットパターンを含むバイナリ署名とセキュリティパッチを受信する手段と、
    クライアントコンピュータをスキャンして、前記バイナリ署名の前記ビットパターンを、前記クライアントコンピュータ上の複数のバイナリファイルの複数のビットパターンと比較する手段と、
    前記クライアントコンピュータ上のバイナリファイルのビットパターンが前記バイナリ署名の前記ビットパターンと一致する場合、前記セキュリティパッチで前記クライアントコンピュータ上の脆弱性のあるバイナリファイルを修正する手段と
    を備えることを特徴とするスキャン/パッチサーバ。
  17. コンピュータであって、
    複数のバイナリファイルを含むバイナリ情報を保持するように構成された記憶媒体と、
    サーバから、バイナリファイル中のセキュリティの脆弱性に関するビットパターンを含むバイナリ署名を受信し、前記記憶媒体に保持された前記バイナリ情報をスキャンして、前記バイナリ署名の前記ビットパターンを前記バイナリ情報の前記複数のバイナリファイルの複数のビットパターンと比較するように構成されたスキャンモジュールと、
    前記バイナリ情報の前記バイナリファイルのビットパターンが前記バイナリ署名のビットパターンと一致する場合、前記サーバにセキュリティパッチを要求し、前記サーバからの前記セキュリティパッチをインストールするように構成されたパッチモジュールと
    を備えることを特徴とするコンピュータ。
  18. 前記バイナリ情報は、
    オペレーティングシステム、
    アプリケーションプログラムファイル、および、
    データファイル
    からなるグループから選択されることを特徴とする請求項17に記載のコンピュータ。
  19. コンピュータであって、
    複数のバイナリファイルを保持するように構成された記憶媒体と、
    バイナリファイル中のセキュリティの脆弱性に関するビットパターンを含むバイナリ署名をサーバから受信し、前記記憶媒体に保持された前記複数のバイナリファイルをスキャンして、前記バイナリ署名の前記ビットパターンを前記複数のバイナリファイルの複数のビットパターンと比較するように構成されたセキュリティパッチモジュールとを備え、
    前記セキュリティパッチモジュールは、前記バイナリファイルのビットパターンが前記バイナリ署名の前記ビットパターンと一致する場合に、前記サーバにセキュリティパッチを要求し、前記セキュリティパッチを、前記バイナリ署名の前記ビットパターンと一致するビットパターンを含むバイナリファイルに適用するようにさらに構成されることを特徴とするコンピュータ。
  20. データベースと、
    バイナリファイル中のセキュリティの脆弱性に関するビットパターンを含むバイナリ署名とセキュリティパッチを受信し、前記バイナリ署名と前記セキュリティパッチを前記データベースに記憶し、前記バイナリ署名と前記セキュリティパッチを複数のサーバに配布するように構成された配布モジュールと
    を備え
    前記バイナリ署名の配布は、前記複数のサーバのそれぞれが、
    前記複数のサーバから遠隔にある各クライアントコンピュータ上に位置する脆弱性のあるバイナリファイルを前記バイナリ署名に基いて識別し、
    前記セキュリティパッチで、前記各クライアントコンピュータ上に位置する前記脆弱性のあるバイナリファイルを更新することを可能にし、
    前記複数のサーバのそれぞれは、前記バイナリ署名の前記ビットパターンを前記各クライアントコンピュータ上に位置する複数のバイナリファイルの複数のビットパターンと比較することによって前記脆弱性のあるバイナリファイルを識別し、前記脆弱性のあるバイナリファイルのビットパターンが前記バイナリ署名の前記ビットパターンと一致する場合に前記脆弱性のあるバイナリファイルを更新することを特徴とする配布サーバ。
  21. 前記配布モジュールは、前記バイナリ署名と前記セキュリティパッチを求める要求をサーバから受信し、前記要求に応答して前記バイナリ署名と前記セキュリティパッチを前記サーバに配布するように構成されることを特徴とする請求項20に記載の配布サーバ。
  22. サーバであって、
    バイナリファイル中のセキュリティ上の脆弱性に関連付けられたビットパターンを含むバイナリ署名と、
    前記バイナリファイル中の前記セキュリティ上の脆弱性を修正するように構成されたセキュリティパッチと、
    記憶媒体として実装され、前記バイナリ署名と前記セキュリティパッチを記憶するように構成されたデータベースと、
    前記サーバから遠隔にあるクライアントコンピュータ上の複数のバイナリファイルをスキャンし、前記バイナリ署名の前記ビットパターンを前記複数のバイナリファイルの複数のビットパターンをと比較して、前記バイナリファイルのビットパターンが前記バイナリ署名の前記ビットパターンと一致する場合に、前記セキュリティパッチで前記クライアントコンピュータ上の前記バイナリファイルを更新するように構成されたスキャンモジュールと
    を備えることを特徴とするサーバ。
  23. 前記スキャンモジュールは、配布サーバから前記バイナリ署名と前記セキュリティパッチを受信し、前記バイナリ署名と前記セキュリティパッチを前記データベースに記憶するように構成されることを特徴とする請求項22に記載のサーバ。
JP2004207744A 2003-07-16 2004-07-14 脆弱性のあるファイルの自動的な検出およびパッチ Expired - Fee Related JP4652736B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/621,148 US7424706B2 (en) 2003-07-16 2003-07-16 Automatic detection and patching of vulnerable files

Publications (3)

Publication Number Publication Date
JP2005038428A JP2005038428A (ja) 2005-02-10
JP2005038428A5 JP2005038428A5 (ja) 2007-08-30
JP4652736B2 true JP4652736B2 (ja) 2011-03-16

Family

ID=33552851

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004207744A Expired - Fee Related JP4652736B2 (ja) 2003-07-16 2004-07-14 脆弱性のあるファイルの自動的な検出およびパッチ

Country Status (18)

Country Link
US (1) US7424706B2 (ja)
EP (1) EP1505499A1 (ja)
JP (1) JP4652736B2 (ja)
KR (1) KR101231410B1 (ja)
CN (1) CN1577272B (ja)
AU (1) AU2004202974B2 (ja)
BR (1) BRPI0402767A (ja)
CA (1) CA2471998A1 (ja)
CO (1) CO5600216A1 (ja)
IL (1) IL162642A (ja)
MX (1) MXPA04006784A (ja)
MY (1) MY150114A (ja)
NO (1) NO337222B1 (ja)
NZ (1) NZ533661A (ja)
RU (1) RU2358313C2 (ja)
SG (1) SG139545A1 (ja)
TW (1) TWI354887B (ja)
ZA (1) ZA200405076B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101995285B1 (ko) * 2018-10-31 2019-07-02 한국인터넷진흥원 취약점이 존재하는 바이너리 패치 방법 및 그 장치

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8984644B2 (en) 2003-07-01 2015-03-17 Securityprofiling, Llc Anti-vulnerability system, method, and computer program product
US9118709B2 (en) 2003-07-01 2015-08-25 Securityprofiling, Llc Anti-vulnerability system, method, and computer program product
US9118710B2 (en) 2003-07-01 2015-08-25 Securityprofiling, Llc System, method, and computer program product for reporting an occurrence in different manners
US9118708B2 (en) 2003-07-01 2015-08-25 Securityprofiling, Llc Multi-path remediation
US20070113272A2 (en) 2003-07-01 2007-05-17 Securityprofiling, Inc. Real-time vulnerability monitoring
US9118711B2 (en) 2003-07-01 2015-08-25 Securityprofiling, Llc Anti-vulnerability system, method, and computer program product
US8266699B2 (en) * 2003-07-01 2012-09-11 SecurityProfiling Inc. Multiple-path remediation
US9100431B2 (en) 2003-07-01 2015-08-04 Securityprofiling, Llc Computer program product and apparatus for multi-path remediation
US9350752B2 (en) 2003-07-01 2016-05-24 Securityprofiling, Llc Anti-vulnerability system, method, and computer program product
US7424706B2 (en) 2003-07-16 2008-09-09 Microsoft Corporation Automatic detection and patching of vulnerable files
US7386883B2 (en) * 2003-07-22 2008-06-10 International Business Machines Corporation Systems, methods and computer program products for administration of computer security threat countermeasures to a computer system
US20050097199A1 (en) 2003-10-10 2005-05-05 Keith Woodard Method and system for scanning network devices
US8990366B2 (en) * 2003-12-23 2015-03-24 Intel Corporation Method and apparatus for remote modification of system configuration
US20050223292A1 (en) * 2004-02-17 2005-10-06 Lee Chee S Single instruction type based hardware patch controller
US8051483B2 (en) 2004-03-12 2011-11-01 Fortinet, Inc. Systems and methods for updating content detection devices and systems
US7761920B2 (en) * 2004-09-03 2010-07-20 Fortinet, Inc. Data structure for policy-based remediation selection
US7774848B2 (en) 2004-07-23 2010-08-10 Fortinet, Inc. Mapping remediation to plurality of vulnerabilities
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
US7703137B2 (en) * 2004-09-03 2010-04-20 Fortinet, Inc. Centralized data transformation
US7672948B2 (en) * 2004-09-03 2010-03-02 Fortinet, Inc. Centralized data transformation
US7707586B2 (en) * 2004-09-08 2010-04-27 Intel Corporation Operating system independent agent
US7343599B2 (en) * 2005-01-03 2008-03-11 Blue Lane Technologies Inc. Network-based patching machine
US20060185018A1 (en) * 2005-02-17 2006-08-17 Microsoft Corporation Systems and methods for shielding an identified vulnerability
DE102005030590B4 (de) * 2005-06-30 2011-03-24 Advanced Micro Devices, Inc., Sunnyvale Sicheres Patchsystem
JP4770306B2 (ja) * 2005-07-12 2011-09-14 日本電気株式会社 端末セキュリティチェックサービス提供方法及びそのシステム
US8984636B2 (en) * 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
US8272058B2 (en) * 2005-07-29 2012-09-18 Bit 9, Inc. Centralized timed analysis in a network security system
US7895651B2 (en) * 2005-07-29 2011-02-22 Bit 9, Inc. Content tracking in a network security system
US20070028291A1 (en) * 2005-07-29 2007-02-01 Bit 9, Inc. Parametric content control in a network security system
US8132164B1 (en) * 2005-08-01 2012-03-06 Mcafee, Inc. System, method and computer program product for virtual patching
US8245216B2 (en) * 2005-10-11 2012-08-14 Oracle International Corporation Patch management system
US8484725B1 (en) * 2005-10-26 2013-07-09 Mcafee, Inc. System, method and computer program product for utilizing a threat scanner for performing non-threat-related processing
US7784034B1 (en) 2005-12-21 2010-08-24 Mcafee, Inc. System, method and computer program product for hooking a COM interface
US8739288B2 (en) * 2007-07-31 2014-05-27 Hewlett-Packard Development Company, L.P. Automatic detection of vulnerability exploits
US8347277B2 (en) * 2007-08-17 2013-01-01 International Business Machines Corporation Verifying that binary object file has been generated from source files
US8181173B2 (en) * 2007-10-12 2012-05-15 International Business Machines Corporation Determining priority for installing a patch into multiple patch recipients of a network
US20090144828A1 (en) * 2007-12-04 2009-06-04 Microsoft Corporation Rapid signatures for protecting vulnerable browser configurations
US8689203B2 (en) * 2008-02-19 2014-04-01 Microsoft Corporation Software update techniques based on ascertained identities
US8990360B2 (en) 2008-02-22 2015-03-24 Sonos, Inc. System, method, and computer program for remotely managing a digital device
US20090248397A1 (en) * 2008-03-25 2009-10-01 Microsoft Corporation Service Initiation Techniques
US20100007489A1 (en) * 2008-07-10 2010-01-14 Janardan Misra Adaptive learning for enterprise threat managment
US20100153942A1 (en) * 2008-12-12 2010-06-17 Lazar Borissov Method and a system for delivering latest hotfixes with a support package stack
KR101052734B1 (ko) * 2009-02-03 2011-07-29 주식회사 안철수연구소 응용 프로그램 패치 장치 및 방법
CN101551773B (zh) * 2009-03-12 2012-04-25 南京大学 符号错误和赋值截断的二进制漏洞检测定位装置
CN101526984B (zh) * 2009-03-16 2012-05-30 腾讯科技(北京)有限公司 一种修复漏洞的方法及装置
RU2422877C1 (ru) * 2009-11-16 2011-06-27 Виталий Евгеньевич Пилкин Способ обозначения инфицированных электронных файлов
US8484753B2 (en) * 2009-12-02 2013-07-09 Mcafee, Inc. Hooking nonexported functions by the offset of the function
EP2362314A1 (en) * 2010-02-18 2011-08-31 Thomson Licensing Method and apparatus for verifying the integrity of software code during execution and apparatus for generating such software code
US9268945B2 (en) 2010-03-19 2016-02-23 Contrast Security, Llc Detection of vulnerabilities in computer systems
US8458798B2 (en) * 2010-03-19 2013-06-04 Aspect Security Inc. Detection of vulnerabilities in computer systems
US8479188B2 (en) 2010-07-08 2013-07-02 Microsoft Corporation Binary code change vulnerability prioritization
EP2413257B1 (en) * 2010-07-26 2017-04-26 Sony DADC Austria AG Method for replacing an illegitimate copy of a software program with legitimate copy and corresponding system
US8726388B2 (en) * 2011-05-16 2014-05-13 F-Secure Corporation Look ahead malware scanning
US8931102B2 (en) * 2011-06-01 2015-01-06 International Business Machines Corporation Testing web applications for file upload vulnerabilities
US20130104119A1 (en) * 2011-10-24 2013-04-25 Brian Matsuo Streaming packetized binary patching system and method
RU2586016C2 (ru) * 2011-11-15 2016-06-10 Японское Агентство По Науке И Технике Система предоставления услуги анализа/верификации программ, способ управления такой системой, машиночитаемая среда хранения, устройство для анализа/верификации программ, устройство для управления средством анализа/верификации программ
WO2013111532A1 (ja) * 2012-01-25 2013-08-01 日本電気株式会社 管理システム、管理方法およびプログラム
CN103049701A (zh) * 2012-11-30 2013-04-17 南京翰海源信息技术有限公司 基于内存搜索的shellcode的检测系统及方法
US8997082B1 (en) * 2013-07-16 2015-03-31 Amazon Technologies, Inc. Differential patch of content
RU2568295C2 (ru) * 2013-08-07 2015-11-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ временной защиты операционной системы программно-аппаратных устройств от приложений, содержащих уязвимости
WO2015048282A1 (en) * 2013-09-25 2015-04-02 Veracode, Inc. A system and method for automated remedying of security vulnerabilities
US9241355B2 (en) 2013-09-30 2016-01-19 Sonos, Inc. Media system access via cellular network
US10296884B2 (en) 2013-09-30 2019-05-21 Sonos, Inc. Personalized media playback at a discovered point-of-sale display
US8954583B1 (en) 2014-01-20 2015-02-10 Shape Security, Inc. Intercepting and supervising calls to transformed operations and objects
US9075990B1 (en) * 2014-07-01 2015-07-07 Shape Security, Inc. Reliable selection of security countermeasures
KR101695639B1 (ko) * 2014-08-13 2017-01-16 (주)잉카엔트웍스 클라우드 기반의 애플리케이션 보안 서비스 제공 방법 및 시스템
US9602543B2 (en) 2014-09-09 2017-03-21 Shape Security, Inc. Client/server polymorphism using polymorphic hooks
US9767290B2 (en) * 2015-03-05 2017-09-19 Fujitsu Limited Autonomous reasoning system for vulnerability analysis
US9749349B1 (en) 2016-09-23 2017-08-29 OPSWAT, Inc. Computer security vulnerability assessment
US11522901B2 (en) 2016-09-23 2022-12-06 OPSWAT, Inc. Computer security vulnerability assessment
TWI622894B (zh) 2016-12-13 2018-05-01 宏碁股份有限公司 電子裝置及偵測惡意檔案的方法
GB2563618B (en) * 2017-06-20 2020-09-16 Arm Ip Ltd Electronic system vulnerability assessment
US10540496B2 (en) * 2017-09-29 2020-01-21 International Business Machines Corporation Dynamic re-composition of patch groups using stream clustering
KR102424357B1 (ko) 2017-10-24 2022-07-25 삼성전자주식회사 부채널 공격으로부터 정보를 보호하는 방법 및 디바이스
US20190138293A1 (en) * 2017-11-09 2019-05-09 Venuetize LLC Pattern recognition platform
KR101955356B1 (ko) 2017-12-08 2019-03-07 한국인터넷진흥원 취약 함수 사용에 의한 취약점을 보완하기 위한 바이너리 패치 장치 및 그 방법
US10984110B2 (en) 2018-03-20 2021-04-20 ReFirm Labs, Inc. Evaluation of security of firmware
US10943015B2 (en) * 2018-03-22 2021-03-09 ReFirm Labs, Inc. Continuous monitoring for detecting firmware threats
US11860758B2 (en) 2018-05-07 2024-01-02 Google Llc System for adjusting application performance based on platform level benchmarking
US10846080B2 (en) 2018-09-06 2020-11-24 International Business Machines Corporation Cooperative updating of software
CN109828772B (zh) * 2019-02-19 2022-03-11 百度在线网络技术(北京)有限公司 热更新方法、操作系统、终端设备和存储介质
KR102070010B1 (ko) 2019-02-28 2020-01-29 한국인터넷진흥원 취약 함수 사용에 의한 취약점을 보완하기 위한 바이너리 패치 장치 및 그 방법
EP3745291B1 (en) 2019-05-29 2024-05-08 F. Hoffmann-La Roche AG Interface proxy device for cyber security
JP7250178B2 (ja) * 2019-06-12 2023-03-31 エヌイーシー ラボラトリーズ ヨーロッパ ゲーエムベーハー ブロックチェーンネットワークにおけるスマートコントラクトをサポートするための方法及びコントラクト書き換えフレームワークシステム
US11100233B2 (en) 2019-06-26 2021-08-24 International Business Machines Corporation Optimizing operating system vulnerability analysis
CN113672929A (zh) * 2020-05-14 2021-11-19 阿波罗智联(北京)科技有限公司 漏洞特征获取方法、装置及电子设备
US11777984B1 (en) * 2020-09-04 2023-10-03 Wells Fargo Bank, N.A. Automatic threat detection and remediation
US11556330B2 (en) 2020-11-24 2023-01-17 Kyndryl, Inc. Analysis and implementation of security updates
CN113852602B (zh) * 2021-08-11 2023-12-08 奇安信科技集团股份有限公司 文件重建方法、装置,传输设备,电子设备及介质
US20230315438A1 (en) * 2022-03-30 2023-10-05 Kyndryl, Inc. Contextually cognitive edge server manager

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002041147A1 (en) * 2000-11-17 2002-05-23 Biftone Corporation System and method for updating and distributing information

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5231668A (en) * 1991-07-26 1993-07-27 The United States Of America, As Represented By The Secretary Of Commerce Digital signature algorithm
US5675711A (en) * 1994-05-13 1997-10-07 International Business Machines Corporation Adaptive statistical regression and classification of data strings, with application to the generic detection of computer viruses
US5930504A (en) * 1996-07-22 1999-07-27 Intel Corporation Dynamic nonvolatile memory update in a computer system
US6016546A (en) * 1997-07-10 2000-01-18 International Business Machines Corporation Efficient detection of computer viruses and other data traits
GB2333864B (en) * 1998-01-28 2003-05-07 Ibm Distribution of software updates via a computer network
WO1999056196A1 (en) 1998-04-30 1999-11-04 Bindview Development Corporation Computer security
US6425126B1 (en) * 1999-05-19 2002-07-23 International Business Machines Corporation Apparatus and method for synchronizing software between computers
US6493871B1 (en) * 1999-09-16 2002-12-10 Microsoft Corporation Method and system for downloading updates for software installation
US6842861B1 (en) * 2000-03-24 2005-01-11 Networks Associates Technology, Inc. Method and system for detecting viruses on handheld computers
KR20030035142A (ko) * 2001-10-30 2003-05-09 주식회사 이글루시큐리티 통합보안관리 서비스 방법
GB2381721B (en) 2001-10-31 2005-02-23 Hewlett Packard Co System and method of defining unauthorized intrusions on a computer system
MXPA04006473A (es) * 2001-12-31 2004-10-04 Citadel Security Software Inc Sistema de resolucion automatizado para vulnerabilidad de computadora.
US7424706B2 (en) 2003-07-16 2008-09-09 Microsoft Corporation Automatic detection and patching of vulnerable files

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002041147A1 (en) * 2000-11-17 2002-05-23 Biftone Corporation System and method for updating and distributing information

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101995285B1 (ko) * 2018-10-31 2019-07-02 한국인터넷진흥원 취약점이 존재하는 바이너리 패치 방법 및 그 장치
US11238151B2 (en) 2018-10-31 2022-02-01 Korea Internet & Security Agency Method and apparatus for patching binary having vulnerability

Also Published As

Publication number Publication date
MY150114A (en) 2013-11-29
IL162642A0 (en) 2005-11-20
AU2004202974A1 (en) 2005-02-03
KR20050009198A (ko) 2005-01-24
NO337222B1 (no) 2016-02-15
AU2004202974B2 (en) 2009-12-03
SG139545A1 (en) 2008-02-29
EP1505499A1 (en) 2005-02-09
BRPI0402767A (pt) 2005-03-08
ZA200405076B (en) 2005-06-03
US7424706B2 (en) 2008-09-09
CN1577272B (zh) 2011-01-12
CN1577272A (zh) 2005-02-09
MXPA04006784A (es) 2005-03-23
RU2358313C2 (ru) 2009-06-10
TW200508849A (en) 2005-03-01
IL162642A (en) 2010-12-30
RU2004118827A (ru) 2006-01-10
JP2005038428A (ja) 2005-02-10
TWI354887B (en) 2011-12-21
KR101231410B1 (ko) 2013-02-07
NO20042970L (no) 2005-01-17
CO5600216A1 (es) 2006-01-31
US20050015760A1 (en) 2005-01-20
NZ533661A (en) 2005-05-27
CA2471998A1 (en) 2005-01-16

Similar Documents

Publication Publication Date Title
JP4652736B2 (ja) 脆弱性のあるファイルの自動的な検出およびパッチ
JP5058450B2 (ja) 効率的なパッチ当て
RU2568295C2 (ru) Система и способ временной защиты операционной системы программно-аппаратных устройств от приложений, содержащих уязвимости
JP4936294B2 (ja) マルウェアに対処する方法及び装置
US8037290B1 (en) Preboot security data update
US8505069B1 (en) System and method for updating authorized software
US9436827B2 (en) Attesting a component of a system during a boot process
EP2156356B1 (en) Trusted operating environment for malware detection
US8250569B1 (en) Systems and methods for selectively blocking application installation
US8255926B2 (en) Virus notification based on social groups
KR101098745B1 (ko) 소프트웨어 업데이트를 관리하고 통신하기 위한 시스템 및방법
US20070289019A1 (en) Methodology, system and computer readable medium for detecting and managing malware threats
US8640119B2 (en) Determining compatibility of a software package update using a version identifier
US8561180B1 (en) Systems and methods for aiding in the elimination of false-positive malware detections within enterprises
JP2005327276A (ja) 効率的なパッチ当て
US20130160126A1 (en) Malware remediation system and method for modern applications
JP2005327274A (ja) 効率的なパッチ当て
US8898778B2 (en) System, method, and computer program product for identifying vulnerabilities associated with data loaded in memory
US8656494B2 (en) System and method for optimization of antivirus processing of disk files
KR20080082623A (ko) 애플리케이션의 메타데이터 구동 배치
US9690944B2 (en) System and method updating disk encryption software and performing pre-boot compatibility verification
US7437721B2 (en) Isolating software deployment over a network from external malicious intrusion
EP2754079B1 (en) Malware risk scanner
US20080222043A1 (en) System and method for trans-vendor license registration and recovery
RU2583709C2 (ru) Система и способ устранения последствий заражения виртуальных машин

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070713

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100820

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101116

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4652736

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20131224

Year of fee payment: 3

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

LAPS Cancellation because of no payment of annual fees