【文献】
渥美清隆,アクセス制御とSPAMフィルタを組み合わせた動的SPAM拒否システム,情報処理学会研究報告,日本,社団法人情報処理学会,2004年5月14日,Vol.2004,No.46,p.23−p.28
(58)【調査した分野】(Int.Cl.,DB名)
各ポリシーは、前記ポリシーオプションのひとつを指示する単一の構成パラメータを有し、前記伝達された値は複数のポリシーのそれぞれに対しての前記ポリシーオプションを選択する、請求項1に記載の方法。
少なくともいくつかの前記ポリシーおよびポリシーオプションは、ファイルの名前および/またはコンテンツに基づき動作を指示する、請求項1から5のいずれかに記載の方法。
前記サーバは、前記ホストにアクセス可能な方法で新しい値を通知することにより前記値を変更し、前記ホストは前記新しい値をアクセスし、前記新しい値を前記ホストが保持している前記値と比較し、そして前記値を前記新しい値に変更する、請求項1から6のいずれかに記載の方法。
前記ホストは複数のホストグループに編成され、前記サーバは1以上ではあるが全てではない前記ホストグループに前記値の変更を伝達する、請求項8または9に記載のシステム。
前記マスタセットはポリシーおよびポリシーオプションのリストを含み、前記サーバは前記リストのひとつを指示する値を含む情報を提供する、請求項8から11に記載のシステム。
前記サーバは前記情報が存在するアクセス可能な場所を前記ホストに通知し、前記ホストは前記情報にアクセスして前記ホストの値を更新する、請求項8から12に記載のシステム。
【発明を実施するための形態】
【0024】
図1を参照すると、デジタル抗体(アンチボディ)システム(DAS)10とも呼ばれるシステムは、管理者がコンピュータの大型ネットワーク上にインストールされたファイルを監視、理解、および制御することを可能にし、知られているおよび知られていないウィルス、ワーム、スパイウェア、ハッカ、およびソーシャルエンジニアリング攻撃、ならびに非承認ソフトウェア(例えば、ビジネス用途でないファイル共有ソフトウェア)からの防御を可能にする。システムは、そのうちの1つが、本明細書でサーバ14(装置)として示される、1つまたは複数のサーバを含む。このサーバは、集中ポリシー管理と、イベント監視と、エージェント調整と、コンテンツ分析(例えば、スパイウェアおよびウィルスの走査)とを提供する。単一のサーバは、多くのホスト12(例えば、数百または数千のホスト)をサポートすることができる。サーバはまた、ファイルとプログラムとに関して、走査履歴および承認状態など、分析に関連するメタデータのデータベースを維持する。このメタデータは、ファイルおよびプログラムの各々のための「抗体」と呼ばれる。
【0025】
保護された各ホスト12は、ソフトウェアとして実施されることが好ましいホストエージェント16を有する。ホストエージェント16は、ファイルシステム動作を分析して、サーバ上に構成されたポリシーに基づいて処置を取る。以下により詳細に説明されるこれらのポリシーは、ファイルアクセスおよび実行可能の実施などの動作をブロック、記録、許可、または隔離するか否かを識別する。各ホストエージェント16は、ファイルに関連するメタ情報のキャッシュである局所「抗体」記憶装置16と、サーバ14からポリシーを実施するためのパラメータ・ポリシー・エンジン20とを有する。
【0026】
サーバ14は、いくつかの機能とインターフェースとを有する。インターフェースは、ホストと通信するためのホスト通信インターフェース22と、ウェブブラウザ管理コンソール26と通信するためのウェブベースのグラフィカル・ユーザ・インターフェース(GUI)と、企業管理システム28に対するインターフェースとしての機能を果たす報告インターフェース26と、コンテンツ分析サービス32(例えば、ウィルススキャナおよびスパイウェアスキャナ)と通信するための遠隔分析インターフェース30とを含む。サーバ14は、分析ブロック34および抗体分析サービス38と通信して、関連するホストに関して抗体のマスタリストを記憶するマスタ抗体記憶装置36も有する。サービス38は、抗体に関連する追加の情報(例えば、Microsoft Officeなどのある製品パッケージのメンバーとしての抗体の分類)を有するオフサイト証明権限を含んでよい。
【0027】
図2は、システムおよび、サーバ14と、ユーザ位置とカーネル位置とを含むホスト12と、その他のネットワークおよびウェブサーバ40とを含むその構成要素の拡張図を示す。本明細書で示されるように、サーバは、ネットワーク上に出現した最近のファイルの複写を含む新ファイル処理およびファイル・プール・ブロック42と、分析されることになるファイルおよびハッシュを識別するためのスケジュールされた分析エンジン46と、MD5およびSHA−1などのアルゴリズムを使用してコンテンツの暗号ハッシュを作成するためのコンテンツ署名者46と、マスタ抗体記憶装置36と、構成管理50と、追跡記録および報告52とを含む。サーバは、ネットワークおよび、分析54と、AV(またはその他のコンテンツ)スキャナ56と、管理サービス57とを含むウェブサービス40と相互に作用する。
【0028】
ホスト12のユーザ部分60は、名前とデータの両方によってデータベース34からの更新を保持するための抗体キャッシュ64と、ファイルおよびイベント処理66と、分析エンジン68と、パッケージ内の当該コンテンツと個々のコンテンツの関連するグループとを抽出するためのコンテンツエキストラクタ70と、コンテンツの暗号ハッシュを作成するためのコンテンツ署名者72と、抗体に関して抗体キャッシュ64を検査して、抗体に関してサーバを検査するためのサーバのメタ情報(MI)状態リゾルバ74と、サーバへのコンテンツのアップロードの進展を検査して、アップロードの証明書に関してサーバを検査するためのファイル状態リゾルバ76とを有する。
【0029】
ホスト12のカーネル部分80は、ファイル名によって編成された抗体を保存するためのキャッシュ82と、最近のファイル動作およびファイル情報のキャッシュ84とを有する。カーネルはまたは、ファイル動作要求を受信および傍受して、これらの要求を、初めに最近のファイル動作のキャッシュ84を検査するステートフル(stateful)フィルタ88に提供する傍受/ブロック機能86も有する。一致が存在しない場合、カーネルは、セキュリティポリシーを維持するトリガおよび動作ブロック90を検査する。このブロック90は、システム用のセキュリティ水準を表示する値を有する「デフコン」ブロック92と、実施、ファイル読取り、ファイル書込み、およびその他の動作を含めて、様々なファイル動作を制御するためにブロック82、90、および92を支配するポリシーエンジン94とに結合される。トリガおよび動作ブロック90は、その名前に基づいてファイルに関するメタ情報を探す抗体キャッシュ82と通信する。ポリシーエンジン94はまた、ブロック、報告、またはファイル動作の許可、およびユーザへの報告などの動作を制御する。
【0030】
システムは、このセキュリティシステムを使用するための多数の方法と態様とを含み、その多くは、単独でまたはその他のシステムと組み合わせて使用されることが可能である。これらの方法および態様は、以下により詳細に説明される。
【0031】
一態様は、文書または実行可能を検査して、そのデータが予め検査されているかどうかを表示するハッシュを維持するための集中的走査の使用である。ハッシュ値は、データベース内に記憶され、やはり局所ホスト内にキャッシュされることも可能である。
【0032】
もう1つの態様は、ホストのポリシーを制御する、「D」または「デフコン」と示される、中央設定されたパラメータの使用にある。この集中的なポリシーとパラメータとは、すべてのホストに、またはホストの選択されたグループに適用されることが可能である。パラメータは、オペレータによって手動で設定されてよく、または、一般に、何らかのイベントに応答して、人間の介入なしにシステムによって調整されてもよい。ポリシーは、ある種の動作をブロックまたは許可することを含んでよく、または、動作を追跡記録などのさらなる監視を条件に許可するペンディングにすることも可能である。ペンディング状態は、システム内の待ち時間を考慮に入れること、ならびに伝統的なバイナリ承認/禁止モデルに適合しないポリシーを実施することを含めて、複数の利点を有する。これらの待ち時間は、有害な符号が識別される前の時間、システム内の機能不全の間、またはホストがネットワークから切り離されている時間を含む。
【0033】
さらにもう1つの態様では、中央サーバはメタ情報の問合せを特定して、その問合せをホストのすべてグループまたは選択されたグループに配信することができる。これらのホストは、メタ情報の局所記憶装置から問合せを実行し、サーバにパラメータを調整させることができる結果をサーバに戻す。
【0034】
さらにもう1つの態様では、システムは、その他の文書内に埋め込まれることが可能なマクロウィルスの拡散を防ぐための方法を含む。この機能性は、ビジュアルベーシックマクロを用いて使用され得るが、この方法は、ビジュアルベーシック以外のその他のマクロ言語に適用することが可能である。
【0035】
もう1つの態様では、新ファイルのすべての複写は、サーバ42内の特別なディレクトリ内に維持される。さらなる分析はタイマに基づいて実行されてよく、ファイルが初めて参照されてから何日も経過した後で実行されてもよい。30日など、ファイルの初めての出現からある期間の後、ファイルは、ウィルス、スパイウェア、またはその他の問題に関して再度走査されることが可能であり、システムはその結果に応じて処置を講じることができる。例えば、ウィルスがファイル内に含まれていることを示す分析は、次いで、禁止状態を含むためにこのファイルに対して対応する抗体・データベース36の入力を引き起こす。その他の抗体・データベース変更と共に、この変更は、ホストに伝播されることになる。
中央設定されたパラメータおよびパラメータ・コンテンツ・ポリシー
システム内のセキュリティは、各サーバ内で定義されるポリシーに基づき、プッシュおよび/またはプル技術を介して関連するホストまたはホストのグループに伝播される。これらのポリシーは、読取り、実施、および書込みなど、実行可能およびファイルにより行われることができるもの、それらがホストによって作成また変更された場合に何をするか、走査がどのように実行されるか、追跡記録がどのように行われるか、および多くのその他の機能に関連し、各ポリシー(例えば、新たに決定された実行可能により何の動作が行われ得るか)に関して、(禁止、許可、または許可および記録など)いくつかのポリシーオプションが存在してよい。ポリシーは、ファイル内のコンテンツ(データ)もしくはファイルの名前、またはそれらの組合せに基づいてよい。コンテンツは、1つまたは複数の暗号ハッシュなど、署名によって定義されてよい。サンプルポリシーの非排他的リストは以下を含む。
【0036】
1.新実行可能および切離しスクリプト(例えば、
*.exeまたは
*.bat)の実
施をブロック/記録する
2.新しい埋込みコンテンツ(例えば、
*.doc内のマクロ)の読取り/実施をブロ
ック/記録する
3.ウェブコンテンツ(
*.htmlまたは
*.cgiファイル内のコンテンツの変更
)のインストール/修正をブロック/記録する
4.上の(3)などのポリシーに関して更新を許可する
5.2つのウィルス走査を通過したファイルを自動承認する(例えば、対応するファ
イル状態を承認に設定する)
6.管理者によって具体的に禁止されたファイルのインストール/実施をブロック/
記録する
7.感染したファイルをデータで隔離/削除/記録する
8.感染したファイルを名前で隔離/記録する
9.管理上「クラス」と定義された新ファイルの実施をブロック/記録する(例えば
管理者はスクリーンセーバ(
*.scr)をブロックすることを望むが、実行可能
(
*.exe、
*.dll、
*.sysなど)のクラス全体をブロックすることは望
まない場合がある)
10.特定されたファイルが取り外し可能媒体に結合された場合、記録する
11.一定のディレクトリを除いて、新の実行可能、スクリプト、および埋込みコン
テンツの実施をブロック/記録する(すなわち、ユーザが特別なディレクトリ内
で新のスクリプトまたは実行可能を作成することを可能にするが、その他のファ
イルシステムは保護する)
12.オフライン、遠隔で接続されるまたは局所的に接続される場合、ホストに関し
て異なるポリシー
13.特定のファイルを含むホスト/経路を日付でまたは名前で列挙する
14.ブロックされた実行可能、スクリプト、および埋込みスクリプトを有するホス
トを列挙する
15.感染したまたは禁止されたファイルを有するホスト/経路を列挙する
16.定義された更新サービスからのファイルを自動承認する(例えば、信頼された
ソースからである場合)
17.特定のホストグループに関して管理者によって具体的に禁止されたファイルの
実行をブロック/記録する(すなわち、1つ以上のグループが存在する)
18.性能の理由および試験のためにホストシステムを完全に非動作化する
19.ある期間後にファイルを自動承認する(ユーザ構成可能)
20.新ファイルが最高でx回までインストール/実施されることを可能にする(ユ
ーザ構成)。承認されるまで、それ以上のインストールおよび/または実施はロ
ックする。
21.書き込まれるとき新ファイルを局所承認する
22.書き込まれるとき新ファイルを中央承認する
サーバは、各ホストグループに関して1つまたは複数のポリシーを維持することができ、各ポリシーは中央設定され、ポリシー用に関してオプションを表示するパラメータに従って可変的に実施される。これらのポリシーとオプションとは、パラメータが、事実上、1つの次元に沿って移動して様々なポリシーに関してオプションを選択する2次元アレイとして論理的に編成されることが可能である。このパラメータは、本明細書でD値と呼ばれる。すべてのホストは、Dに関して1つの値を有してよく、またはホストの論理サブグループは独自のD値を有する。例えば、営業部のホストにはD=1が割り当てられてよく、マーケティング部のホストには同時にD=2が割り当てられてよい。一実施形態では、ホストはサーバを検査(調査)して、Dの値が変更されたかどうかを決定する。各ホストは、Dが変更されたことを探索すると、各々、新しいD値に「移動」し始める。この移動は段階的に行われてよい。これらの調査は、ホストからサーバへのネットワークメッセージとして提供され得る。D値はポリシー動作を制御する。所与のポリシー(例えば、「新実行可能拒否」または「新スクリプト拒否」)に関して、D=2は動作を侵害するポリシー(この場合、「新実行可能」の実施)をブロックする。D=4は警告(サーバに対するサイレント警告)するが許可し、D=6は許可して警告はまったくしない。D=2、4、または6であるかにかかわらず、ホストは、新実行可能が書き込まれると、新実行可能を引き続き通知および記録することが好ましい。本明細書での例は、Dに関して数値を使用するが、Dは文字、言葉、または文字と数字の任意の組合せで表現される「値」を有してよい。
【0037】
D値はまたポリシー動作化を制御する。所与のポリシー(例えば、「新実行可能拒否」または「新スクリプト拒否」)に関して、D=1は「書込み保護」ポリシーを可能にし、したがって、新実行可能はまったく書き込まれることができず、一方、D=8はすべてのポリシーを完全に動作不能にし、D=2、4、および6の事例は上で提示されたようであり得る。この場合、D=8は、新実行可能がファイルシステムに書き込まれる場合、通知のポリシーさえ動作不能にすることができる。
【0038】
Dの値はサーバ内で中央設定されることが可能であるが、ホスト上では局所的に実施される。この値は、サーバに接続されたブラウザを使用することによって、または簡易ネットワーク管理プロトコル(SNMP)を経由して、管理コンソール上のグラフィカル・ユーザ・インターフェース(GUI)を介して管理者によって設定されてよい。D値は「目標」値とみなされる。ホストは可能な限りこの値に近づくことを試み、これは数秒または数分かかる可能性がある。場合によっては、ホストは、サーバによって特定された目標値から局所的にそれることが可能である。コマンド・ライン・プログラムがホスト上で呼び出されることが可能であり、またはユーザは一定のD値について促されることが可能であり、Dの目標値は取り消されることが可能である。この特徴は、例えば、個人の機械をセキュリティ動作不能(D=8)にする必要があり、サーバとのネットワーク接続性が存在しない場合に有用である。許可されたプログラムからの更新(例えば、アンチウィルス更新)の検出など、ある種の動作はホスト上のDの値を自動的に変更する可能性がある。
【0039】
ポリシーは、セキュリティと使いやすさの間のトレードオフを反映する。上の例では、D=8は、最大限に有用であり、最小限に安全である。すなわち、何のポリシーも動作化されず、ホストエージェントはブロックおよび追跡から効果的に動作不能にされる。Dが最大セキュリティ(D=1)に近づくと、ますます多くの規制ポリシーが動作化され、ポリシーが侵害された場合に実行される動作は、ますます厳しいものになる。順序付けされた状態は可視化および試験が容易であるという点で、所望される(一般に、D=1およびD=8など、試験される必要のある終端だけを試験することができる)。順序付けされた状態により、ファイルおよびユーザの数は、値が増加または減少するにつれて、連続的によりアクセス可能またはより制限的になる。これらの順序付けされた状態は、当然、セキュリティと使いやすさの間のトレードオフを反映する。
【0040】
Dがライブシステム上で変更されると、競争状態が発生する可能性がある。基本的な問題は、プログラムをインストールする間にDの値が8から1に変更されたとした場合、複数のファイルのインストールは「半分ブロック」または「半分インストール」になる可能性があることである。結果として、一定のD遷移は、ファイルの抗体状態の再分析と、ファイルの抗体バルク状態変換をトリガする可能性がある。
【0041】
局所的なD変更は、時々、局所的なポリシートリガによって引き起こされる場合がある。通常、Dは、サーバ上で中央設定される。しかし時々、局所ホストポリシーがトリガされ、このポリシーは、次いで、局所ホストD値を変える。これは、例えば、ロックされたシステム(D=2)上でインストールを完了するために有用である。この例を続けると、D=2でプリンタドライバをインストールすることは、パックが解かれた新インストールファイルのいくつかはインストールを完了するために実施される必要があるため、通常なら問題をまねく可能性がある。さらに、異なるホスト機械は、インストールを完了するために異なるプログラムのパックを解いて、実施する必要がある場合がある(例えば、Windows2000およびWindowsXP)。この場合、ある種の抗体ファイルタイプ(承認されたプログラム「printer_setup.exe」)の実施は、そのホストの局所Dを2から、それらの新しいインストールファイルとその子孫だけを自動的かつ局所的に承認するわずかに弱い3に移動させる。
【0042】
D値は、(配線式LAN上の)局所であるか、電話モデムもしくは仮想私設ネットワーク(VPN)を介してなど遠隔であるか、または完全に切断されているか、接続性のタイプに応じて変更されてよい。ホストエージェントは、したがって、これらのタイプの接続性に関して特定されたD値のセットを記憶し、次いで、例えば、ユーザがLANからホストを切断した場合、変更に応答して、そのセットから自動的に選択することになる。また、異なるD値は、結果として、詳細の報告、追跡記録、および追跡に際して減少または増加をもたらすことが可能である。
【0043】
ポリシーはまた、多くのサーバを制御できる、「スーパサーバ」と呼ばれることがある中央サーバから設定されてもよい。各サーバが2,000個のホストを制御し、1,000個のスーパサーバが存在すると想定すると、D=1を設定するためのスーパサーバコマンドが2,000,000個のホストすべてに適切になることはありそうもない。代わりに、スーパサーバは、局所的に許可される限り強いDを有するようにすべてのサーバとホストとに命令することができる。したがって、いくつかのサーバと、それらの接続されたホストとは、例えば、D=2の限界まで進むことになる。その他のサーバは、D=1に進むことが可能であるが、その場合、それらのホストグループのいくつかは、D=4に制限されることになり、したがって、それらのホストはD=4まで強くなるが、D=4より強くはならないことになる。同じ制限は、スペクトルのもう1つの端についても当てはまる。スーパサーバがD=8を命令する場合、いくつかのサーバとホストとは、代わりにD=6にだけ進む可能性がある。Dは順序付けされた状態であるため、これらの制限は単なる整数範囲(最大および最低)である。
【0044】
Dの値は、ファイルの広がりなど、ある種のイベントの検出に基づいて変更できる。新ファイルの多すぎる複写がサーバのホスト間で伝播される場合、サーバは、広がりを止めるためにDをオプションで増加する(例えば、D=2に進む)ことができる。このイベントは、ある種の名前が多すぎる(例えば、名前による上位10のリスト)または独自のコンテンツで多すぎる(例えば、データのハッシュによる上位10のリスト)として特定されてよい。
【0045】
値はまた、新しい着信ファイルまたは潜在的なウィルス攻撃など、サーバによって認められた新しいイベントに応答してサーバ要求により変更されることも可能である。ほとんどの場合、計画されたユーザ動作に続いて、またはある種のファイルイベントの観測に基づいてDの変更を開始するのは管理者(人物)である。Dは、例えば、動作のプロセスの間に自動的に変更されることが可能であり、その場合、ホスト/サーバは、動作が終了した後でDの値をその元の水準に戻すことになる。SNMPなどの外部トリガはDの値を変更できる。
【0046】
もう1つの対応は、サーバが一定の閾値数のホストより少ないホスト上でコンテンツを自動的に承認するが、ホスト数がその数を超えた場合、コンテンツへのアクセスを禁止することである。かかるポリシーは、ネットワーク内の任意のコンテンツまたは任意のファイルの複写数を制限するために使用されることが可能である。また、かかるポリシーは、一定のホスト数を超えるコンテンツだけを報告するために使用されることも可能である。
【0047】
サーバは、営業ホスト、マーケティングホスト、およびエンジニアリングホストなど、ホストの各論理グループに関してポリシーセットを個々に維持することができる。ポリシーセットは、抗体のバージョン番号に類似する独自の識別番号を有してよい。違いは、配備されると、ポリシーセットはポリシーセットを用いて後の問題を照合調整して問題配備を取り消すために「読取り専用」になることである。これは、Unixユーティリティ「差異(diff)」および「パッチ(patch)」に類似した技術を使用して、異なる構成およびその他の更新に対して行われることも可能である。ホストはそのグループ用の現在のポリシーセットID番号に関してサーバに問い合わせることができ、不一致が存在する場合、ホストはサーバに「ポリシーセット取得(GetPolicySet)」問合せを送信することができる。
【0048】
ポリシーセットは、「新実行可能」ポリシーおよび「新スクリプト」ポリシーなど、複数のポリシーを含んでよい。各ポリシーは、動作状態(オン)、非動作状態(オフ)、または(ブロックが許可されるが、「ブロックされたであろう」メッセージがサーバに送信される)試験モードであってよい。各ポリシーは、各規則が基本的な「トリガと動作」モデルを有する複数の規則を有してよい。トリガは試験されるパターンである。パターンが一致する場合、結果として生じる動作が実行される。例えば、「D=2で新実行可能の実施をブロックする」は以下のように特定され得る:
トリガ=(D=2 & ファイル動作=実行 & 状態=ペンディング & ファイル実行クラス=実行可能クラス ここで、実行可能クラス=(*.exe |*.sys |*.dll | ...)
動作=(ブロック&報告&通知(P))であり、「ブロック」は動作を停止し、「報告」はサーバに通知を送り、「通知」はパラメータセットPを用いてユーザに警告する。
【0049】
この構造により、カーネル抗体キャッシュ更新、D更新、およびポリシーセット更新の場合を除いて、カーネルは、ユーザ領域との相互作用なしに、すべてのポリシーを実施することができる。ポリシーセットは、1つの場所の中だけに記憶される必要があり、この実施に際してだけカーネル内で解釈される必要がある。ポリシーセットは、1つの安全なコンテンツ(カーネル)内で認証および記憶され、結果として、不正変更に対してより多くのセキュリティをもたらすことができる。
【0050】
Dは異なる規則を異なるトリガと一致することを可能にするため、ポリシーおよび動作はDによってパラメータ化される。ある状態を有するファイルは、ある動作をブロックされる場合がある。これらの状態は名前プロパティとデータプロパティの組合せであってよい。これらの状態は、ユーザ領域内で決定され、カーネル領域内でミラー化され、最終的に、これらの状態はサーバによって決定される。1つの有用なポリシーは、禁止されたファイルをブロックし、いくつかのD値で、ペンディング(新)ファイルのファイル実施をブロックすることである。
【0051】
ポリシーは、アクセス可能性とセキュリティの間のトレードオフにより範囲全体にわたってポリシーのリストのセットとして提供され得る。サーバは、次いで、ホストにリストのうちの1つを選択させるために情報を提供することができる。リストをホストに提示させて、ホストが「プル」手法を使用してポリシーを更新することを可能にすることによって、ホストはサーバの制御のもとでセキュリティポリシーを好都合に更新することができる。
【0052】
以下の表は、D値がマスタポリシーセット内の様々なポリシーにどのように影響を及ぼすことが可能であるかの例を示す。行はマスタセット内のポリシーであり、列は動作であり、セルは動作を表示するためのDの数値範囲を有する。表内に特定された動作とその他の詳細とは下で要約される。
【0054】
(1)許可。動作を許可し、そうでない場合はサイレント
(2)ブロック。動作をブロックし、そうでない場合はサイレント。
(3)追跡。動作と(コンテンツがペンディングまたは禁止である場合)結果として生じるコンテンツを追跡し、そうでない場合はサイレント。承認されたコンテンツは一般に追跡されない
(4)報告。サーバに通知を送信する
(5)通知。動作がなぜブロック/割り込みされたのかをホストの終端ユーザに知らせる
(6)自動的な局所承認。局所ホスト状態=ペンディングを有する新ホストファイルおよび/または新コンテンツは、ファイル/コンテンツが作成/変更されると、局所ホスト上だけでホスト状態=承認または状態=局所承認に局所的に設定される。
(7)自動的かつ世界的な承認。局所状態=ペンディングを有する新ホストファイルおよび/または新コンテンツは、ファイル/コンテンツが作成/変更されると、サーバ上でサーバ状態=承認に世界的に設定される。
抗体の導入、ファイルのメタ情報
具体的に
図2を参照すると、許可される動作に関して、システム内のサーバは、ファイルの走査履歴と各ファイルに関する承認状態とを追跡するために主に使用される抗体データベース36を含む。抗体は、以下のフィールドの一部またはすべてを含む可能性がある、ファイルに関するデータ(すなわち、メタデータまたはメタ情報)のブロックである。
・初めて参照された時間。ファイルまたはハッシュがホストによって初めて参照され、サーバに報告されたとき。
・ファイルID。MD5、SHA−1、およびOMACなど、コンテンツの1つまたは複数のハッシュを含めて、ファイルに関する独自の識別子。
・ファイルタイプ。ファイルクラス(例えば、実行可能、スクリプト、オフィス文書、アーカイブなど)。これは、初めて参照されたファイル名から、かつファイルコンテンツの分析から導出される。
・状況/状態。承認、ペンディング、または禁止を含めて、現在のファイル状況。
・方法。サーバがファイルについて学習する方法(自動、手動など)。
・ファイル名。初めて参照されて、サーバに報告されたファイルの名前。これはファイルの現在の名前ではなく、ネットワーク上で参照された初めての事例の正に名前である可能性がある。
・ファイル経路。初めて参照されて、サーバに報告されたファイルの経路。
・初めて参照/報告されたときのホストファイル名/経路/拡張子。
・最後に参照/報告されたときのホストファイル名/経路/拡張子。
・初めて参照/報告されたときのホストIPアドレス。
・初めて参照されたホスト。その上でファイルまたはハッシュが初めて参照および報告されたホストの名前。
・分析結果。最後の走査またはその他の分析の結果。
・最初の分析。ファイルの最初の走査/分析の時間。
・最後の分析。ファイルが最後に走査/分析された時間。
・最後の更新。ファイル状態が最後に変更された時間。
・親コンテナ。ファイルに関連したその他のファイルへのリンク。
・親コンテナ属性。ファイル名、初めに決定された時間、初めに決定されたホスト、ファイル経路、製品分類、および1つの関連するコンテナファイルの状態。
・ルートコンテナ。ファイルに関連したその他のファイルへのリンク。ルートコンテナは、もう1つのコンテナ内に含まれないコンテナである。
・ルートコンテナ属性。ファイル名、初めに決定された時間、初めに決定されたホスト、ファイル経路、製品分類、および1つの関連するルートコンテナファイルの状態。
・知られている場合、基準親ファイルコンテナ。これらは、「ハッシュ=xのアーカイブファイル内部でこのハッシュ=yのファイルが観測された」など、包括する関連性を維持するために使用される。
・実行可能、スクリプトファイル、埋込みマクロなど、(コンテンツ分析によって決定される)ファイルコンテンツタイプ。
【0055】
サーバは、システムに関してシステムの完全な抗体セットを有する。各ホストは、ユーザキャッシュ64内とカーネルキャッシュ82内とに抗体の局所サブセットを含むことができ、一方、サーバは一定の状態に設定および変更するための権限である。例えば、サーバは、ペンディングから承認または禁止(これらの3つの状態はコンテンツハッシュに関連付けられることが好ましい)の状態遷移を含めて、変更を中央で開始して、(ホストに)伝達する権限であり、一方、ホストは、局所的に承認されるように状態を設定できる唯一の権限である。データベース36内の各入力は、永続的であり、好ましくは、ファイルデータハッシュ索引により簡単にアクセス可能である。管理者が容易に抗体データベースをブラウズできるように、データベースは、ファイル名、初めて参照された日、状態、分析結果、ホストID、またはホストカウントなど、その他の鍵によって任意選択で索引付けされてよい。
【0056】
抗体を有するデータベースはサーバ内またはサーバ上にあるものとして説明されるが、これはデータベースがサーバに関連することを意味する点を理解されたい。抗体を有するデータベースは、同じボックス内およびサーバの処理機能性内に物理的に存在することが可能であり、または異なるボックス内または遠隔位置内にさえ存在することができる。遠隔の場合、データを取得するために適切な有線接続または無線接続が存在すべきである。
抗体(AB)追跡の導入
新ファイルが作成されると、または既存のファイルが変更されると、追跡ポリシーがトリガされることが可能であり、それにより、ファイルおよび抗体の分析イベントのチェーンを始める。まず、ホストは一連のステップを実行して、すでに分析されたコンテンツに対応し、それに関して抗体がホストキャッシュ内にすでに記憶されているコンテンツに重要な変更が存在するか否かを決定する。コンテンツの抗体がホストキャッシュ内にない場合、サーバは問合せされて、サーバがすでにそのコンテンツを分析したか否かを決定する。サーバが対応する抗体を有さない場合、コンテンツはさらなる分析のためにサーバにアップロードされる。サーバが状態を確定的に決定できるまで、コンテンツに関連する状態はペンディングに設定される、すなわちまだ決定されない。ペンディングのコンテンツに対するその後のアクセスは限定され得る。サーバは、コンテンツがサーバ上で初めに参照されてからの時間に基づいてコンテンツに関する分析を実行する。分析またはその他の外部決定に基づいて、サーバは状態の変更を確定的に決定することができる。これらの変更は、後の取り出しのためにホストによって表示されることが可能であり、したがって、ホストは変更された状態を用いてその抗体キャッシュを更新することができる。
ホスト抗体追跡
図3を参照すると、ホストは、実施、読取り、名前変更、または書込みを含めて、ファイル動作を傍受して(501)、ステートフルファイル動作フィルタ(502)に動作を提供する(502)。ファイル名がカーネルキャッシュ内になく、カーネルキャッシュの間違いが存在し(510)、可能なファイル修正またはコンテンツ修正が存在する場合(511)、状態は無効にされる。次いで、ファイルは、以下により詳細に説明されるように、縮小ファイルを作成するために動作状態の当該コンテンツを抽出するコンテンツエキストラクタに進み(503)、コンテンツ署名者に縮小ファイルを提供する(504)。コンテンツ署名者は、MD5などの暗号ハッシュを縮小ファイルに応用する。このハッシュはファイルとファイル名とに関連付けられる。ハッシュおよびその他の分析(キャッシュの間違え解決)が完了する間、ファイル動作は遅延/機能停止されてよい。
【0057】
ホストはまた、ハッシュコンテンツに基づいてを行い、状態を取得しようと試みる(505)。コンテンツと状態とが探索されない場合、状態はペンディングに送られる。これは、ファイル動作は進むことが許可されることを意味するが、追跡記録など、さらなる監視が発生してもよい。コンテンツが探索された場合、名前と、コンテンツと、コンテナ(動作状態のコンテンツを含むファイル)と、状態とはすべて共に関連付けられる(507)。そうでなければ、ホストはサーバがそのメモリ内のコンテンツを調査する(506)ことを要求する。そこで探索された場合、名前と、コンテンツと、コンテナ(動作状態のコンテンツを含むファイル)と、状態とはすべて共に関連付けられる(507)。コンテンツと状態とが探索されない場合、状態はペンディングに設定され、コンテンツはサーバにアップロードされ(508)、サーバはアップロードを確認する(509)。サーバはまた、いくつかのサーバに関連する「スーパサーバ」に注意を向けることもできる。コンテナ関係は記憶されて、ファイルおよびその他のコンテナと関連付けられる。コンテナ情報はまた、サーバおよびホストに送られると同様に分析のために送られる。「ルートコンテナ」は、もう1つのコンテナによって含まれないコンテナである。コンテナはその関連するファイルによって、ならびに暗号ハッシュによって識別される。
【0058】
一般に、抗体状態は、ファイルコンテンツの「動作状態の」部分またはファイルコンテンツの全体のハッシュまたは署名に関連付けられる。したがって、一般に、ハッシュ(ファイルデータ/コンテンツ)は状態である。これはデータを状態にマップする。状態(S)は、「承認」(ホワイトリスト)もしくは「禁止」(ブラックリスト)または「ペンディング」(まだ完全に分析されていない新たに決定されたファイルなどの「グレイリスト」)など、情報の多くの断片を含む。
【0059】
このシステムの利点は、名前状態とコンテンツ状態との組合せである。例えば、サーバは、
*msblast.exeなど、複数の名前禁止を特定および記憶することができる。サーバは、正規表現および関連するメタ情報のリストとして名前状態ポリシーを記憶する。正規表現に一致する任意のファイルドライブ/経路/名前/拡張子(ext)は、次いで、名前のメタ情報を引き継ぐ。この情報は、ファイル名が変更されるときまたは名前のメタ情報仕様が変更するときはいつでも更新される。名前状態とポリシーとは、サーバからホストに伝播される。例えば、
*msblast.exeを名前禁止に追加することによって、サーバは新ポリシー/状態を検出することになり、その仕様をホストに伝播することになる。ホストは、次いで、
*msblast.exeとの一致に関してそれらの名前のメタ情報キャッシュを調べ、一致するファイルは名前禁止状態を引き継ぐことになる。ホストファイル状態は、名前状態およびデータ状態の重ね合わせである。例えば、temp_msblast.exeがコンテンツ状態=ペンディングを有する場合、名前禁止はペンディングより優位であるため、その組み合わされた状態は禁止される。名前承認状態は、同様の形で処理される。
【0060】
抗体は、データベース内で階層的に処理される。上に示されたように抗体に関して4つの主な記憶場所が存在する。ホストエージェントで、カーネル抗体キャッシュ82は、ファイル名を抗体状態にマップする。例えば、名前=c:\windows\bar.exe→状態=承認。要するに、このマッピングは名前→状態である。カーネルは、ファイルコンテンツへのアクセスの必要なしに、状態に基づいてポリシーを実施することができ、これを行う。ファイルはカーネル内で暗号化されることが可能であるが、より高い非暗号化の形態で可視的であるため、これは有用である。カーネルは名前に対して直接的なアクセスを有するが、ハッシュに対してはアクセスを有さない。長い待ち時間(数秒、数分、数時間、数日)が存在する可能性があるという点で、カーネルキャッシュは、その他のキャッシュ、および最終的にはサーバと弱く一貫する可能性がある。
【0061】
ホストエージェントは、ユーザ抗体の名前キャッシュ(UN)と、ユーザ抗体のデータキャッシュ(UD)60とを有する。UNは、ファイル名をファイルコンテンツ(データ)のハッシュにマップする。すなわち、UNはNをデータにマップする。同様に、UNは、データを状態にマップする(データ→S)。一般に、N→データのマッピングは、多対1であり、UNは局所ファイルシステムの構造をミラー化する。MD5など、使用されることが好ましい強いハッシュの場合、ハッシュ衝突は稀であるため、データ→Sのマッピングは、一般に、1対1である。UNキャッシュおよびUDキャッシュもサーバと弱く一貫するが、カーネルキャッシュがそうであるように、UNとUDは両方とも局所ホストファイルシステムと強く一貫する。UNとUDとは、以下のように組み合わされることができる。N→データ→S=N→S。
【0062】
サーバは、そのホストのいずれかによってこれまで報告された、一般にすべての独自のハッシュの抗体・データベース34を有し、(1個存在する場合)スーパサーバは、そのサーバのいずれかの上で決定された、一般にすべての独自のハッシュの抗体・データベースを有する。独自のハッシュに限定することは、記憶と処理とを限定するが、記憶および処理におけるさらなる改善により、より多くが記憶され得る。また、独自のハッシュに限定することは、結果として、より効果的な分析とより低いネットワークトラフィックとをもたらす。
【0063】
一般に、新ファイルは、「新ファイル」イベントまたは「汚染ファイル」イベントに応答して、ホストからサーバ、スーパサーバに伝播し、新たに計算された抗体状態は、抗体更新の形で、スーパサーバから、サーバ、ホストユーザ、ホストカーネルに逆に伝播する。このように、抗体は、中央で制御、管理、および検証される。サーバは抗体を「所有」および証明し、サーバは、抗体が変更または偽造されていないという認証を提供する。ホストは、一般にサーバ上の抗体に対応するが、必ずしもそうであるとは限らない独自の抗体を維持する。したがって、汚染されたホストまたは機能不全のホストは、サーバまたはスーパサーバの抗体収集物を劣化することはできず、汚染されたホストは、その他のホストの抗体を劣化することもできない。
【0064】
抗体がハッシュ/データと関連付けられず、むしろ名前によって関連付けられるように、ホスト上で抗体状態が記憶されることが好ましい。カーネルは、ポリシーを解析、解釈、および実施し、ファイルの状態は名前で調べられる。好ましい実施形態は、カーネル内でポリシーを実施するが、その他の実施形態はユーザ領域でポリシーを実施できる点を理解されたい。ユーザ領域内またはカーネル内で状態を調べる場合、それは、実際には、結果として生じる状態を決定する混合物である。例えば、foo.exeのデータの抗体はペンディングであるが、名前の抗体がその名前に基づいて禁止される場合、AB状態取得(GetABState)(foo.exe)は、「名前で禁止」の結果を戻す。抗体状態=名前禁止を有するファイルの実施をブロックするための個々のポリシーが存在する。そのポリシーに関する動作は、上記のようにDの値によってパラメータ化される。1つの差異は、「名前で禁止」をブロックするポリシーは、より低いDセキュリティ設定で動作状態にある点である。例えば、D=4で、「ペンディング」ファイルは、(サイレント警告により)実施することになるが、禁止されたファイルは実施されないことになる。
【0065】
名前禁止は、正規表現のリストとして表され、サーバ上にワイルドカード(
*)(例えば、「
*oo.exe」または「
*msblast.exe」)を含んでよい。これらのリストは、バージョン番号を有する。ホストが調査するとき、ホストはそれらのバージョン番号を検査する。ホストが不一致を検出する場合、ホストは、次いで、名前禁止取得(GetNameBans)問合せをサーバから送信する(すなわち、ホストはサーバから新禁止データをプルする)。次いで、これらの正規表現は、名前の抗体に対して再評価される。名前禁止は状態の属性であり、名前禁止リストが変更する場合またはファイル名が変更する場合のみ再度計算されなければならない。ワイルドカードリストは、すべてのファイル動作に関して比較されなくてよい。したがって、データの抗体および名前の抗体の二重性が有用である。また、数百または数千の名前の正規表現は、法外に費用がかかる可能性がある、各ファイル動作に関してカーネル内で数千の正規表現の一致計算を要求せずに、同時に実施されることが可能である。
ファイルコンテンツの追跡
図2に戻ると、傍受/ブロック機能86は、ファイルアクセス要求を傍受して、読み取ることができる。この機能は、ポリシー情報を取得する間に要求を一時停止し、カーネル内のポリシーに基づいて要求をブロックし、ブロックされた要求に関して適切な誤りコードを戻すことができる。機能86は、ファイルアクセス要求から、要求プロセス名と、要求の局所システム時間と、(全経路を含む)要求されたファイルと、要求された動作(例えば、読取り、書込み、または実施)を読み取る。一実施形態では、機能86は、すべてのファイルアクセス要求を「ステートフルフィルタ」88に供給し、フィルタ88が動作はブロックまたは許可されたことを表示するフラグを戻すまで、すべての動作はブロックされる。
【0066】
フィルタ88は、ファイルアクセス要求を機能86から傍受して、ほとんどのファイルアクセス要求に対して「ブロック」または「許可」の動作を戻す。すでに承認されているファイルアクセス要求に関連付けられることができない任意のファイルアクセス要求は、カーネルトリガおよび動作モジュール90に転送され、カーネルトリガおよび動作モジュール90は、「ブロック」または「許可」の動作を戻す。この動作は、フィルタ88によって記憶されて、好ましくは、任意のその後の関連する類似ファイルアクセス要求のために機能86に戻される。
【0067】
フィルタ88は、(全カーネルの独自の識別子(例えば、WindowsNT内のカーネルファイルハンドル)によって索引付けられた)すでに開かれたファイルのキャッシュ84を維持する。各キャッシュ入力は、ファイル識別子(カーネルファイルハンドル)と、読取り、書込み、もしくは実施に関してブロックまたは許可の許可とを含む。
【0068】
複数のプロセスが同じファイルにアクセスする場合、各々は、その独自のキャッシュ入力を有することになる。所与のプロセスが新ファイルアクセスを試みる場合、ステートフルフィルタは、そのファイルに関してキャッシュの失敗を経験することになり、これはステートフルフィルタにファイルアクセス要求をトリガおよび動作モジュールに提出させることになる。モジュール90がそれを許可する場合、要求された動作(読取り、書込み、または実施)用のフラグは、「許可」に設定されるべきである。そうでなければ、「ブロック」に設定されるべきである。1種類の許可(例えば、読取り)だけを取得したプロセスが、次いで、もう1つの種類のアクセス(例えば、書込み)を試みる場合、モジュール90は、再度、接触されることになる。
【0069】
その年齢が一定の値(例えば、60秒)を超えるキャッシュ入力は削除されることが可能である。これは、何らかの理由で、除去されない入力を取り除くことを可能にする。これはまた、モジュール90によってファイルの周期再検査も可能にする。
【0070】
この例では、ファイル書込み動作は、ファイル「foo.exe」に関して、ブロックシム86内のカーネル内でホスト・エージェント・カーネル・プログラム(HK)によって捕らえられる。D=4の値で、ファイル動作、この場合、ファイル書込み動作は、動作化された「汚染追跡」ポリシーによって捕らえられ、これは、ホスト・カーネル・プログラムからホスト・エージェント・ユーザ領域プログラム(HU)に「汚染」イベントを開始させる。このイベントは、ファイル名と汚染動作とを特定する。汚染追跡ポリシーはそのフィールドを無効にしたため、カーネルキャッシュ82は、この動作に関して調査されない。
【0071】
HUは、次いで、ファイル内ならびにイベント処理66内および分析エンジン68内でfoo.exeに関して様々な局所分析動作を実行する。まず、foo.exeは、それが存在するか、それが読取り可能であるか、それが実際に実施可能であるかを決定するために検査される。フィルタ88内の「当該データ」の抽出など、その他の動作が実行され得る。例えば、ファイルがfoo.batであった場合、スクリプト注釈は除去されることができる。foo.exeの抽出データは、次いで、暗号的にハッシュされ、このハッシュはHU抗体キャッシュ60内の調査を試みるために使用される。名前とデータとがすでに存在する場合、その他には何も行われない。名前は新しいが、データが知られている場合、新しい名前の抗体がUNキャッシュ内で作成される。このプロセスはすべて、「段階1分析待ち行列」と呼ばれるものの一部である。多くのファイルは、ホスト上の段階1待ち行列内でハッシュされるのを待って列に並べられることができる。データはまだ知られていないまたはまだ分析されていないため、段階1待ち行列は、名前の抗体とメタ情報とだけを有する。
【0072】
ホストがこのファイルデータとハッシュとを決定した場合、そのハッシュに関して対応する、知られているメタ情報は、そのファイルに関するホストファイルのメタ情報に関連付けられ、UD局所メモリまたは局所ディスク記憶装置から取り出される(この順序で行われる)。ホストがこのデータを決定していない場合、UDキャッシュは「失敗する」。ハッシュは、段階2分析待ち行列に入れられる。現実には、データの抗体、すなわち、「承認される」、「禁止される」、または「ペンディング」など、論理的にデータを追跡する状態が存在し、名前の抗体(例えば、「名前で禁止」)も存在する。例えば、サーバが「
*oo.exe」を禁じる場合、foo.exe用の名前の抗体は「名前禁止」を表示することになり、名前禁止ポリシーはそれに基づいてブロックすることができる。したがって、キャッシュが、foo.exeが(名前で)すでに禁止されていることを知っている可能性があるとしても、汚染追跡解決は依然として継続する。名前とデータの抗体のこの区別は、個々のホストに対する範囲において局所的であるが、(下で説明される)ファイル探索機能およびポリシー実施にとって重要になる。データの抗体は、それにより、段階2待ち行列に入れられる。
【0073】
段階2分析は、まずメモリキャッシュから、次いで、局所ディスクベースの記憶装置から、次いで、サーバから局所状態情報を解決することを試みることになる。サーバが接続される場合、メタ情報は解決されるため、段階2待ち行列は空になる。foo.exeがこの待ち行列から除去されると、サーバは、このデータハッシュを決定したか否か、そのハッシュが局所的に探索されていないかどうかをたずねられる。答えが「いいえ」である場合、foo.exeとそのハッシュとその他のメタ情報とは、サーバにアップロードするために段階3待ち行列に入れられる。加えて、サーバが前にそのハッシュを決定していない場合、またはサーバ分析がその他の状態を決定するためにまだ十分完了されていない場合、サーバは、「ペンディング」規定の抗体状態をホストに送ることになる。サーバがすでに有効な抗体と状態とを計算した場合、サーバはこの抗体のメタ情報を戻す。サーバがfoo.exeに関してこのデータを決定したことがない場合、サーバの経験においてすべての機械はこのファイルを決定していないという意味で、それは新しい。
【0074】
foo.exeが段階3待ち行列から除去される場合、foo.exeは暗号化された一方向転送を使用して、サーバにアップロードされる。すなわち、FTPS(セキュアファイル転送プロトコル)と書込み専用サーバディレクトリとを使用して、ファイルはサーバにアップロードされることが可能であるが、ダウンロードされることはできない。アップロードが首尾よく完了すると、ホストはfoo.exeが転送されたことをサーバに通知する。情報漏れを最低限に抑えるため、および追加のセキュリティのために、この転送はハッシュに参照される。
【0075】
サーバが、foo.exeがアップロードされたことを学ぶと、サーバは、ホストが行うように、いくつかの段階を通じてファイルを分析することで開始する。この場合、サーバがその初めての出現にタイムスタンプを押すためにその同期化された検証クロックを使用することにより、新抗体が作成される。また抽出およびハッシュが実行され、それらの結果はホストの結果に取って代わる。
【0076】
サーバ分析は、サーバ上で特定および記憶されるスケジュールに従う。このスケジュールは、サーバ上でのファイルまたはそのハッシュの初めての出現時間に関連する。例えば、ファイルが正午に到着し、スケジュールが「+0でハッシュ調査、および+0でAV走査、ならびに+2時間でAV走査」である場合、正午に、ファイルハッシュは、外部ハッシュ調査サービスを使用して計算および調査されることになる。次いで、AV走査が実行される。2時間後の午後2時に、そのファイルのもう1つのAV走査が実行される。スケジュールを説明するためのもう1つの方法は、スケジュールを「サーバ上のファイル年齢」と関連付けることである。
【0077】
抗体がサーバ上の状態を変更する場合、増分カウンタ値が抗体に書き込まれる。このカウンタは、任意の特定のホストまたはスーパサーバがチェックインされてから変更された抗体の範囲だけを選択するために使用される。例えば、先の抗体変更が、ペンディングから承認へのglorp.bat変換であり、世界的な抗体バージョンのカウンタが277であった場合、glorp.batのハッシュに対応するサーバの抗体は、バージョン番号277を取得することになり、カウンタは278になる。したがって、抗体foo.exeに対応するバージョン番号は278であり、カウンタは279である。
【0078】
ホストが周期的に調査する場合、ホストはその最後の抗体のバージョン番号を提供し、サーバは、最後の調査から変更されたすべての抗体を送ることになる。サーバは現在の番号を送り、ホストが不一致に気づいた場合、ホストは抗体更新をサーバに要求し、データの抗体リストが戻ることが好ましい。それらの抗体は、次いで、ホストの抗体に併合され、変更はカーネルにも送られる。ホストは、いまだかつて決定されていないデータに関していくつかの抗体を取得および記憶することができるが、一般に、既存のホストファイルに対応する抗体だけが併合される。その他は、通常、破棄される。サーバは、更新の最後の数分をキャッシュして、すべての更新を各ホストに対して特別に調整することの影響を最低限に抑える。この場合も、ホストは、一般に、必要とするより多くの抗体を取得するため、そして新抗体は稀であるため、このトラフィックは限定される。抗体更新は、その他のメッセージの大部分と同様、小さい。
【0079】
抗体は、類似の形で依然としてスーパサーバと同期化されることが可能である。ここで、スーパサーバは、サーバを調査して、抗体更新リストを取得することができる。スーパサーバは、これらを併合して、各サーバに関して特別に調整した更新を送る。これらの更新はすべて、数分または数日だけ遅れる可能性があるという点で弱く一貫するが、更新内の「穴(hole)」を回避するために連動および保護が存在しなければならない。
【0080】
抗体の併合に関してその他の態様および特徴が存在する。例えば、いくつかのサーバは、スーパサーバからある種の抗体更新を受け入れない場合がある。また、ホストは、ある種の局所状態をある種のサーバ特定された状態に変更することを許可しないことになる。
【0081】
1つの課題は、キャッシュの初期状態と初期ポリシーとを含む。サーバキャッシュは、知られている良いハッシュ抗体と不良ハッシュ抗体により事前ロードされることが可能であり、またはサーバキャッシュは空である可能性があり、すべて正しい。しかし、ホストは、時折「細流充電」しなければならない。例えば、ホストが初めてあるサーバに接続する場合、この事実は検出され、ホストファイルシステム上のすべての当該ファイルが段階1待ち行列に挿入されるときはいつでも、ホストは細流充電を実行することになる。このプロセスの間、中間キャッシュが問題を引き起こさないことを確実にするために、Dの特別値が使用される。抗体は、一般に、すべて状態「ペンディング」で開始し、サーバとゆっくり同期化する。また、ホストのすべて抗体と、待ち行列情報と、関連する大域とは、周期的にかつ再ブートを経て維持される。
カーネルキャッシュの一貫性
ホストエージェントのブート時またはその他の初期化時に、カーネルは、有効なメタ情報を有するすべての知られている既存のホストファイルに関して、ユーザ領域から知られているすべての有効な抗体によりロードされる。いくつかの抗体更新は、サーバから、またはユーザ領域内の分析待ち行列から受信されるとカーネルに送られる。しかし、いくつかの更新は、カーネルキャッシュの失敗の結果である。ポリシーが動作状態であると決定され、抗体状態が必要であり、その状態が利用不可能である場合、カーネルは、しばらくの間、動作を全体的に停止して、カーネルの失敗イベントをユーザ領域に送る。いくつかのイベントは、抗体がすぐに必要でないとしても停止される可能性がある。これは、ポリシーが、ホストユーザがユーザインターフェース(メッセージボックスの出現)と相互作用すること(例えば、ブロックされたペンディング動作を取り消すため、およびしばらくの間、ブロックすることなしに、その後の制限された動作を続けるために「はい」をクリックすること)によって抑制状態(ペンディング)を取り消すことを許可する場合である。
【0082】
一例では、インストールプログラムは、inst.exeと呼ばれる新プログラムのパックを解いて、次いで、名前を変更して、それを実施する。カーネルは、解析が実行される間、名前変更を展開して、実施を展開することによって一時的な不一致を回避することになる。結果として生じる抗体は、ユーザ領域から非同期的に送り出され、次いで、非同期的更新が完了するとすぐに、ペンディング動作はブロックが取り除かれて、ポリシーが要求される状態情報を用いて評価される。
【0083】
カーネルキャッシュは、初期化時にファイルシステム内のほとんどすべてのファイルに関して抗体を含む。カーネルキャッシュ内に穴またはその他の不一致を残す可能性のある動作は、短い時間であっても、遅延およびインターロックされ、その結果、一貫性が維持される。ユーザ領域キャッシュは、非常に低い待ち時間を用いてカーネルの失敗を解決するために最適化される。カーネルキャッシュとユーザ領域キャッシュとは、サーバ側の待ち時間に極めて敏感ではなく、一方、カーネルキャッシュはインターロックと適切な永続性に敏感である。
ファイル探索
UNキャッシュとUDキャッシュとは低い待ち時間調査のために最適化されることが好ましいため、これらのキャッシュは、何のホストに何のファイルがあるかの一覧を作成するために、本明細書で「ファイル探索」と呼ばれる、サーバから配信された抗体問合せの一部として使用されることが可能である。ファイル探索要求は、サーバまたはスーパサーバ上でウェブインターフェースを経由してウェブブラウザ書式を提供することによって管理者によって特定されることが可能である。例えば、以下のクオリファイヤ(修飾子)が一緒に特定され得る。
【0084】
(1)ファイル名のための正規表現パターン仕様、
(2)ファイル経路のための正規表現パターン仕様、
(3)ファイルの当該コンテンツのハッシュ、
(4)ファイルに関連するコンテナのハッシュまたはその他のID、
(5)ファイルまたはファイルのハッシュがホストによって初めて参照されたときの時間範囲、
(6)ホストの名前、
(7)ホストのIPアドレス、
(8)ファイルのタイプ、
(9)少なくとも3つの状態、すなわち、承認、禁止、ペンディングの分析のセットからのファイルに関連する1つまたは複数のホストファイル状態。例えば、AI禁止=(名前禁止、ハッシュで禁止)のセット。
【0085】
(10)ある種のファイル動作がそのファイルに関してホストによって実行されているかどうか、そして
(11)ホストグループ。
【0086】
図4を参照すると、サーバは特定されたホストによる後の取出しのために要求を送るという点で、完全なファイル探索要求は電子メールに類似する。ホストがチェックインすると、ホストは、ホストを待つ、サーバからのファイル探索メッセージが存在するか否かを知る。ホストが未処理のファイル探索要求を有することを知ると、
図4で線(1)として示されるように、ホストはファイル探索要求取得(GetFindFileRequests)を使用して要求を取り出す。すなわち、要求はサーバからの「プル」として達成されることが好ましい。これは、リスニング・ホスト・ソケットを必要とせずに、より安全な実施を可能にする。
【0087】
接続されたホストは、各々、その抗体キャッシュから、適用可能なデータにアクセスすることによって、そのファイル探索要求を処理して、戻された各ファイルに関して、以下の情報の一部またはすべてを含めて、ファイル探索結果通知(PostFindFileResults)として示される結果のリストを結果データベースに書き込む(
図4の線(2))。
【0088】
(1)ファイル名、
(2)ファイル経路、
(3)ファイルの当該コンテンツのハッシュ、
(4)ファイルまたはファイルのハッシュがホストによって初めて参照されたときの時間範囲、
(5)ホストの名前、
(6)ホストのIPアドレス、
(7)ファイルのタイプ、
(8)ファイル向けのコンテナ情報、
(9)少なくとも3つの状態、すなわち、承認、禁止、ペンディングの分析のセットからのファイルに関連する1つまたは複数のホストファイル状態、
(10)ある種のファイル動作がそのファイルに関してホストによって実行されているかどうか、そして
(11)ホストグループ。
【0089】
一実施形態では、(ファイル探索だけでなく)ホストとサーバの間のすべての通信は、ホストが初めにサーバに接続して、1つまたは複数のネットワークメッセージを送信し、切断前に、そのホストメッセージに関してサーバ応答を受信することによって達成される。この場合も、リスニング・ホスト・ソケットが必要でないという点で、これはより安全であるという利点を有する。ホストのアドレス指定、経路を維持して、かかるホスト情報の探索の必要性を削減するのではなく、サーバのアドレス指定および経路だけが維持される必要があるという点で、追加の利点が存在する。
【0090】
サーバは、ホストからのファイル探索結果リストのマスタリストを併合および蓄積する。これらのリストの結合は、完全なファイル探索要求応答であり、経時的に蓄積し、通常、1分未満で完了する。局所ホスト処理は抗体キャッシュだけにアクセスし、ホストファイルシステムにはアクセスしないため、これらの問合せは高速であり得る。名前とデータの抗体との関連性の二重システムとキャッシュとが、これを可能にする。サーバは、次いで、例えば、ウェブインターフェースを介して、結果を管理者に送出する。また、一定のファイル探索結果は、SNMP、シスログ、警告、およびその他の通知システムに影響を及ぼし、これらをトリガすることができる。
【0091】
スーパサーバはまた、類似の形でサーバによってアクセスされるように要求を送ることもでき、またはスーパサーバは、ファイル探索要求をサーバに直接的に提出することが可能である。次いで、サーバは、併合された結果をスーパサーバに戻すことができ、スーパサーバは、次いで、これらの結果をより大きなマスタ結果に併合することが可能である。これは、ファイル探索要求を処理する場合のサーバとホストの間の関係に類似する。
タイマトリガされた中央分析
図5を参照すると、サーバは、イベントに基づいて分析(例えば、ホストがコンテンツを更新するたびに分析)を行うことができ、またはシステムは、時間に基づいてこれらの分析を行うことができる。上で示されたように、新コンテンツは、サーバにアップロードされることが可能であり、データベース内に記憶されるメタデータまたはメタ情報を作成するために、分析は外部および/または内部の分析エージェントにより実行される。システムは、次いで、例えば、新コンテンツが更新された場合、ファイルの第1の考察に関連して一定時間後に、さらなるスケジュールされた分析に関して検査することができる。サーバとスーパサーバとは、多くのタイプのさらなる時間ベースの分析を実行することが可能である。
【0092】
図6を参照すると、ファイルが初めて参照されて、その抗体がサーバのデータベースに加えられると、効果は、タイマが各ファイルに関して開始される場合と同様である。したがって、例えば、時間間隔は(第1の目撃またはサーバへの報告後、t=0=即時、t=12時間後、t=2日後、およびt=30日後)である可能性があり、サーバのクロックに基づく可能性がある。1回だけの時間設定された動作に加えて、周期的な動作が特定され得る。本明細書で示されるように、アンチウィルス(AV)スキャンおよびアンチスパイウェア(AS)スキャンは、異なる時間に実行されることが可能であり、その他の分析が実行されることが可能である。後の期間の場合、これは、ファイルを考察した可能性があるその他のサーバに対する比較であってよい。一般に、後の分析は、ある期間内に初めて参照されたすべてのファイルに基づくことになる。例えば、1時間以内に初めて参照されたすべてのファイルは、その期間内の最後のファイルから12時間後に12時間の分析を得ることになる。
【0093】
図7を参照すると、システムは分析のためにファイルを選択して、特定された分析を実行するためにそのファイルを送信する。各時間間隔に関して、異なる動作が特定されてよい。ファイルはサーバ上にしばらく維持されるため、これらの時間動作化された分析は、元のホストが依然として接続されているか否かにかかわらず続行することが可能である。実行され得る中央時間設定されたサーバ分析の例は以下を含む。
【0094】
(1)(例えば、MD5アルゴリズムまたはSHA1アルゴリズムを使用して)交互に並ぶハッシュを計算し、報告されたハッシュを検証して、ハッシュのすべてを記憶する。
(2)サーバ資格証明またはその他の第三者資格証明を用いてコンテンツを認証または署名する。
【0095】
(3)局所的にまたはもう1つのサーバの問合せを経由して、知られている不良データベース(ブラックリスト)に対してハッシュを調査する。
(4)局所的にまたはもう1つのサーバの問合せを経由して、知られている良いデータベース(ホワイトリスト)に対してハッシュを調査する。
【0096】
(5) 知られている製品分類データベースに対してハッシュを調査して、ファイルのハッシュに対応する製品(およびその他の情報)を識別する。
(6)(例えば、MIME添付ファイルとして、FTPまたはSMTPによる)ウィルス走査のためにファイルを送信する、または局所的に実行する。
【0097】
(7)(4)のようにスパイウェア走査のためにファイルを送信する、または局所的に実行する。
(8)(4)のようにサイト特定のカスタム分析のためにファイルを送信する、または局所的に実行する。
【0098】
(9)ネットワークファイルサーバ(例えば、認証サンバまたはFTPS)上の特別な限定ネットワーク・アクセス・サブディレクトリにファイルを送出する。
(10)新ファイルが分析を必要とするというSNMPトラップを送信して、それらの位置を特定する。
【0099】
(11)新ファイルが分析を必要とするというシスログメッセージまたは電子メールメッセージを送信して、それらの位置を特定する。
(12)もう1つのシステムがファイルを承認したかまたは非承認したかを決定するためにいくつかのディレクトリを検査する。
【0100】
(13)サーバ上でカスタム分析を実行する。
(14)第1の分析の結果に基づいて調整された第2の分析を自動的に実行する。
(15)外部分析システムからの分析結果を含む認証ネットワークメッセージを受信する。
【0101】
上の分析の結果はサーバ上で要約され、サーバは、メタ情報記憶装置(124)内の状態、特に、ホストに対するブロードキャストに関して状態を更新する。サーバは、ファイルが承認されるべきか、または禁止されるべきかについて勧告する。情報は要約されて、その結果、管理者は、1つのウェブブラウザ動作によりファイルのグループを承認または禁止することができる。任意選択で、上の分析からの結果は、ある抗体によりファイルを自動的に承認または禁止するために使用されてよい。サーバは、報告、警告、または別の情報を提供することができ、ホストのすべてまたは1つもしくは複数のグループに関してパラメータのD値を変更できる。サーバは、好ましくは、ホストがサーバから更新をプルする方法で、更新を通じて後の配信に関して状態変更を警告する(130)。
抗体分析/承認サービス
システムは、新ファイルに焦点を当てるため、外部委託されたファイル分析サービスは実際的かつ有用にされ得る。これらのサービスは、(例えば、SOAP/ウェブサービス呼出しにより)自動化されてよく、または手動(サービスプロバイダのサーバへの認証リンクに従う)であってもよい。局所的にまたは遠隔サーバを使用してオフサイトで実行されることが可能なこれらのサービスは以下を含んでよい。
【0102】
(1)ハッシュを手動で入力して、または事前計算されたウェブリンクに従って、知られている良いデータベースおよび不良データベースの調査の問合せ結果を取得する。企業などの実体は、世界的なホワイトリストまたはブラックリストを維持することを所望する可能性がある。後者はあまりにも多いため、ハッシュに関して役に立たないことになる。様々な企業は、「良い」プログラムに資格を与える、異なるポリシーを有するため、前者は役に立たないことになる。これらのサービスは、下で示されるように、ホワイト/ブラック/グレイリストと投票とを処理する。
【0103】
(2)特定の抗体に関する抗体(例えば、同じアプリケーションまたは類似のアプリケーションに関連するファイルのグループ)を探索する。
(3)ハッシュに関連するサプライヤとアプリケーションとを識別する。
【0104】
(4)どれだけ多くの企業とコンピュータとが、どれだけ長い間そのファイルを持っているかを見つけ出す。これらの企業は、名前であると識別されるのではなく、単にカウントされることになる。サービスプロバイダは、このサービスの一環として内密にこの情報を収集することになる。サービスプロバイダは、結果とサービスの二重のブラインド(blind)データベースを作成する。
【0105】
(5)どれだけ多くの企業がそのファイルを禁止または承認したか、それらの企業がそれに沿ってどのファイルを承認したかを見つけ出す。この場合も、エンドユーザの観点から、これらはすべてブラインドであり、ハッシュによって行われる。サービスプロバイダは、ファイル名またはファイルデータを収集または記憶する必要はなく、抗体の形でメタ情報を収集するだけである。実際に、ファイル名、および当然、ファイル自体は専有情報とみなされるべきである。
【0106】
(6)上の問合せの結果に基づく、ならびにサーバ側の分析にも基づく自動化されたサーバ側の承認。
コンテンツエキストラクタ(CE)
コンテンツは、通常、コンテンツのグループまたはパッケージを形成する。この例は、実施可能なプログラムおよびジップファイル内のウィルス、またはMicrosoft Office文書内のマクロ(例えば、Word、Excel、およびPowerpointのファイル)もしくはMicrosoft .msiファイルなど、インストールパッケージ内のファイルを含む。
図8を参照すると、ファイルが受信されて、コンテンツエキストラクタは埋め込まれたコンテンツタイプ(例えば、Office文書内のマクロ)を探す。コンテンツのかかる「動作」タイプだけが抽出されることが好ましい。
【0107】
可能なファイルまたは知られていない状態の修正検出(600)後に、エキストラクタは、(1つまたは複数の)抽出された部分を取り出し、それらを有効なコンテンツファイルタイプ(例えば、テキストまたは図が伴わないWord(.doc)ファイル)に変換して、これらを再パッケージ化する。このプロセスは、ステップ600〜605として例示される。結果として生じる再パッケージ化されたファイルは、一般に、元のファイル(「コンテナ」)よりもずっと小さく、「縮小」と呼ばれる。縮小のハッシュが計算されて(603)、縮小ハッシュはコンテナハッシュと関連付けられる(604)。コンテナは入れ子型であってよく、その上、それらの関連性が追跡される。後でコンテンツがアップロードされる必要がある場合、縮小だけがアップロードされる。任意選択で、コンテナファイルとそのメタ情報とは、抽出の分析の結果に基づいてアップロードされることが可能である。ルートコンテナとそれらのメタ情報とは、抽出の分析の結果に基づいてアップロードされ得る。例えば、ファイルsetup.exeはファイルmain.cabを含み、ファイルmain.cabは、ファイルinstall.exeを含む。install.exeに関連して、main.cabはinstall.exe用の親コンテナであり、setup.exeは、install.exe用のルートコンテナならびに、main.cab用の親コンテナである。これらの関連性はすべて記憶され、好ましくは、個々のファイルのハッシュ間の関係として保存される。
【0108】
このプロセスは、ネットワークトラフィックと、分析段階のフットプリントとを削減し、その他のファイルに関連するマクロ(例えば、継承された文書テンプレート)ではなく、埋込みコンテンツだけの追跡を可能にする。これは、マクロらのローディング時にマクロを傍受する方法には当てはまらない。エキストラクタは、場所に依存しない埋込みマクロ検出と追跡とを可能にする。
【0109】
その他の有効なファイルタイプとしての縮小の再パッケージ化は、第三者分析システムと互換性があるという利点を有する。例えば、小さいWord文書として再パッケージ化されたマクロは、電子メールの添付ファイルとしてウィルス走査電子メールゲートウェイに送られることが可能である。もう1つの例は、そのうちの1つだけが動作状態(foo.exe)である5つのファイルを含むジップファイル、temp.zipである。temp.zipの縮小は、その中にfoo.exeだけがあるジップファイルfoo.zipであってよく、または縮小は、foo.exe自体であってもよい。foo.zipの署名またはfoo.exeの署名は、temp.zipに対応する署名として関連付けられることが好ましい。縮小は、この場合も、AS走査電子メールゲートウェイに電子メールで送られることが可能である。いくつかのコンテナは、動作状態のコンテンツを欠いており、したがって、追跡されることができない。縮小の追跡には効率の利点が存在するが、新コンテンツだけを検出および分析するための利点も存在する。このように、より正確な統計、警告、および分析が生み出されことが可能である。ペンディング状態ファイルなどの分類されていないコンテンツの自動的かつ特定の早期検出は、強力なポリシーとコンテンツ管理とを可能にする。
サーバ・ユーザ・インターフェース
サーバのためのユーザインターフェースは、その各々がシステムの異なる態様の構成と管理とを可能にするいくつかの「パネル」を提供する。このセクションでは、用語「ユーザ」は、サーバ・ユーザ・インターフェースへのアクセスを有する管理者を示すために使用される。ユーザインターフェースは、SSL暗号化接続を経由して、標準ウェブブラウザを通じてアクセス可能であってよい。サーバの完全性を維持して、特定のユーザの特権水準を決定するために、認証とアクセス制御とが提供される。
【0110】
ユーザが初めてシステムにアクセスする場合、ユーザは認証され、この認証に基づいて特権水準を割り当てられる。この特権水準は、ユーザが無制限のアクセスを許可されるか、または読取り専用アクセスを許可されるかを決定する。アクセスのより細かい粒度も提供され得る。ユーザ動作は、ユーザ名と時間とによって追跡および記録される。サーバ上にインストールされた証明書は、ユーザインターフェースへのアクセスの制御および暗号化の両方を行うため、ならびにホストに対する署名およびホストに戻される情報の可能な暗号化を提供するために使用されことが可能である。これらの証明書は、保守パネル内でインストールおよび更新され得る。インターフェースへのすべての入力は、サーバがその構成内で正確な情報をホストに供給していることを確実にするために、適切に確認されるべきである。
【0111】
ネットワーク状態インターフェースは、名前および独自の識別子の両方によって識別された、独自のファイル識別子、イベントタイムスタンプ、イベントタイプ、イベント優先順位、ファイルタイプとファイル名、およびホストシステムを含めて、最近のイベントと関連情報とを含む、実行システムの概要を提供する。インターフェースはまた、一定の期間(例えば、最後の1時間、前日)の間のシステムの状態に関する要約情報も提供する。より詳細な情報は、統計パネル内で利用可能である。ここで表示される情報は、検出された多数の新実行可能と、検出された新スクリプトと、新埋込みコンテンツと、非承認ファイルと、感染ファイルとを含む。
【0112】
統計パネルは、システムによって収集されたより詳細な統計を表示する。この情報は、様々な期間(例えば、最後の1時間、最後の24時間、先週)の以下のイベントの数を含む。この情報は、例えば、ネットワーク上で決定された多数の新実行可能と、新スクリプトと、新埋込みコンテンツを有するファイルと、新ウェブファイル(HTML、ASPなど)と、手動でまたは走査によってまだ承認されていないファイルと、走査プロセスによって承認されたファイルと、手動でまたは自動承認を経由して承認されたファイルと、走査に失敗したファイルと、ブロックされている、感染していることが知られているファイルと、禁止されてブロックされた実行可能と、初めてインストールされてからサーバによって処理されたイベント全体と、最後の再始動以来のイベントとを含む。
【0113】
各範疇に関する統計と共に、ユーザは、サーバによって管理されたすべてのホストを通して各々の最も頻繁に決定されたイベントを浮き彫りにする、項目の「上位10のリスト」を閲覧することができる。上位10のリストの例は、いくつのホストがそのファイルの少なくとも1つの複写を有するかのカウントによって並べられた最近探索されたファイルの上位10を含み、このリストの変形は、独自のハッシュによるカウントと、独自のファイル名によるカウントと、ハッシュによって禁じられたカウントと、名前によって禁じられたカウントと、最近禁じられたカウントと、最近更新/修正されたカウントと、独自のグループ/コンテナ/ルートコンテナ/製品とを含む。上位10のリストは、SNMPを経由して更新および送出される。構成パネルは、上位10のカウントとその他の更新された変数に基づいて、警告と自動応答とを構成するために使用され得る。警告は、ログ報告と、SNMPトラップと、シスログメッセージと、電子メール通知と、その他のネットワークメッセージとを含む。応答は、ファイルの禁止と、ファイルの承認と、1つまたは複数のホストグループ向けのパラメータDの変更と、1つまたは複数のホストグループ向けのポリシーの変更と、1つまたは複数のホストのホストグループ割当ての変更と、ファイルの分析とを含む。
【0114】
統計パネルは、このサーバによってサービス提供されたホストの総数と、動作状態および非動作状態による内訳(非動作状態のホストは、最近サーバに接触していないホストである)と、サーバデータベース内の抗体の総数と、動作可能時間(すなわち、最後の再起動からどれだけ長い間システムが作動しているか)とを含めて、システムに関する全体的な情報も含む。
【0115】
このパネル上に表示される統計情報は、ネットワーク管理システムとの統合を可能にして、サーバに対するSNMP(簡易ネットワーク管理プロトコル)問合せを経由して利用可能でもある。
【0116】
プロットパネルは、ユーザが最近の動作のグラフおよびチャートをプロットおよび印刷することを可能にする。このパネルは、統計パネルと組み合わされてよい。プロット情報は、外部アプリケーション内での表示のためにXML形式で利用可能であってもよい。プロットされ得るグラフの例は、最近の期間(分単位で1時間、時間単位で1週間など)に対する動作、または「上位10のリスト」のグラフ表示を含む。
【0117】
サーバによって維持される統計情報に関する制約により、利用可能な様々なプロットに関して何らかの制限が存在する場合がある。管理者がSNMP管理システムを使用している場合、そのシステムも組織内ですでに使用中の形で統計プロットを提供することが可能な場合がある。
【0118】
抗体データベースパネルは、ユーザがサーバ上に記憶された抗体データベースと直接的に相互作用することを可能にする。データベースのコンテンツが表示されて、ユーザは異なる基準によって表示を選択もしくは分類することができ、またはフィルタパターンを選択することによって表示を制限することができる。ユーザは、抗体自体と相互作用することも可能である。これらの動作は下で説明される。
【0119】
サーバは、メイン抗体データベース内で要求されないフィールドを含む、補助的情報データベースを使用することも可能である。このデータベース内のフィールドの例は、決定された第1のファイル名または初期ファイルクラスであってよい。
【0120】
各ファイルに関して、以下の情報がこのパネル上に表示される。
・初めて参照された時間。ファイルまたはハッシュがホストによって初めて参照され、サーバに報告されたとき。
・ファイルID。MD5、SHA−1、およびOMACなど、コンテンツの1つまたは複数のハッシュを含めて、ファイルに関する独自の識別子。
・ファイルタイプ。ファイルクラス(例えば、実行可能、スクリプト、オフィス文書、アーカイブなど)。これは、初めて参照されたファイル名から、およびファイルコンテンツの分析から導出される。
・状況/状態。承認、ペンディング、または禁止を含めて、現在のファイル状況。
・方法。サーバがファイルについて学ぶ方法(自動、手動など)。
・ファイル名。初めて参照されて、サーバに報告されたファイルの名前。これはファイルの現在の名前でなく、ネットワーク上で決定された初めての事例の正に名前である可能性がある。
・ファイル経路。初めて参照されて、サーバに報告されたファイルの経路。
・初めて参照されたホスト。その上でファイルまたはハッシュが初めて参照および報告されたホストの名前。
・分析結果。最後の走査またはその他の分析の結果。
・最初の分析。ファイルの最初の走査/分析の時間。
・最後の分析。ファイルが最後に走査/分析された時間。
・最後の更新。ファイル状態が最後に変更された時間。
・親コンテナ。ファイルに関連したその他のファイルへのリンク。
・親コンテナ属性。ファイル名、初めに決定された時間、初めに決定されたホスト、ファイル経路、製品分類、および1つの関連するコンテナファイルの状態。
・ルートコンテナ。ファイルに関連したその他のファイルへのリンク。ルートコンテナは、もう1つのコンテナ内に含まれないコンテナである。
・ルートコンテナ属性。ファイル名、初めに決定された時間、初めに決定されたホスト、ファイル経路、製品分類、および1つの関連するルートコンテナファイルの状態。
以下の動作は、リストから選択されたファイルに関して実行され得る。
・ファイル詳細。これは、ファイルを承認または禁じたインターフェースユーザと、どこでファイルが初めて参照されたかと、ユーザによって加えられた任意の注釈とを含めて、抗体・データベースからファイルに関する追加の情報を提供する。
・承認。現在選択されたファイルを明示的に承認する。このオプションは、すべてのホストを通してファイルを承認することになるため、このオプションはユーザに十分な警告を提供すべきである。
・非承認。好ましくは、状態をペンディングに遷移して、すでに承認されているファイルを明示的に非承認する
・禁止。ファイルを明示的に禁止する。これはすべてのホスト上でファイルを禁止させる。
・分析/ウィルス走査。選択されたファイルに関して分析/走査のスケジューリングを強要する。
・削除。このファイルに関する情報を除去する。これは次に決定されたときに、サーバに新しいものとしてファイルを扱わせることになる。
・ホスト上のファイルの探索。この動作は、ファイルファインダに連結し、入力されると、選択されたファイル名を提供する。
・コンテナの探索。ファイルに関する可能なコンテナと、それらのコンテナに関する情報とを調査する。
・ルートコンテナの探索。ファイルに関する可能なルートコンテナと、それらのコンテナに関する情報とを調査する。
・ウェブサービス情報の探索。ファイルおよび/またはそのコンテナ/製品に関する追加の情報を見つけ出すために様々なその他のネットワークサーバに問い合わせる。
【0121】
ファイル・ファインダ・パネルは、ユーザが管理されたすべてのホスト上の特定のファイルの位置を探索する最善努力式のプロセスを開始することを可能にする。このプロセスは、時間がかかる可能性があるため、ユーザは新しい探索を開始する前に通知されることになる。ファイルファインダは、製品のすべてのバージョンで実施されなくてもよい。ファイル探索の進度は、問合せの部分完成の間に報告されてよい。
【0122】
プロセスは、特定の1つまたは複数のファイルを選択することによって抗体データベースパネル(セクション0を参照)から開始されてもよく、次いで、適切な情報を自動的に記入することにより、ユーザをファイル・ファインダ・パネルに導く。
【0123】
このプロセスは、サーバと通信しているすべてのホストが非同期的に状態を戻すことを要求し、したがって、パネルは結果が受信されるとその結果を動的に表示するために新しいビューを開くことになる。ユーザがもう1つの探索を開始する場合、現在の探索は終了されることになる。複数のファイル探索は、将来のバージョンで可能にされ得る。
【0124】
ホストグループパネルは、サーバによって知られているホストが特定の論理グループと関連付けられることを可能にする。全面的なグループ機能性は、インターフェースの初期バージョンで利用可能でない可能性があり、その場合、このスクリーンはこのサーバによってサポートされる単一のグループに関する情報を表示することになる。
【0125】
パネルは、以下を含めて、グループメンバーシップを操作することをサポートする。
・新しいグループの追加。
・既存のグループの除去。グループが除去される場合、ホストはサーバのデータベースから除去されないが、規定のグループに再度割り当てられる。
・ホストを1つのグループからもう1つのグループに移動する。
【0126】
各ホストに関して、以下の情報がこのパネル上で表示される。
・ホスト。ホストのDNS名。
・独自のID。ホストの独自の識別子。
・IPアドレス。このホストの最後の知られているIPアドレス。
・状態。ホストのオンライン状態。
・最後に参照されたとき。最後にホストがサーバにチェックインしたとき。
・オペレーティングシステム。ホストのオペレーティングシステムのバージョン。
・バージョン。ホスト上のオペレーティングシステムのバージョン。
【0127】
ファイル・クラス・パネルは、各クラスにマップされるファイル拡張子の閲覧および編集を可能にする。下記のように、いくつかのクラスは、拡張子によって定義される。その他のクラスは、コンテンツの分析によって決定される。いくつかのクラスは、拡張子および分析の両方によって決定される。これらの拡張子は、読取り専用である。
【0128】
いくつかの事前定義された拡張子クラスは、
・実行可能。exe、com、dll、pif、scr、drv、およびocxを含む拡張子。
・スクリプト。vbs、bat、およびcmdを含む拡張子。
・埋込みマクロコンテンツ。doc、dot、xls、xla、xlt、xlw、ppt、pps、およびpotを含む拡張子。
・ウェブコンテンツ。htm、html、asp、およびcgiを含む拡張子。
【0129】
ポリシーパネルは、サーバの構成の中心である。ユーザは、ホストグループによってグループ化された、すべての管理ホスト上で強要されるポリシーを表示および編集することができる。このパネルは、現在選択されたグループに関して現在の世界的なD設定も表示する。
【0130】
この選択は、ユーザが現在選択されたグループに関して世界的なD水準を定義することを可能にする。新しいD水準が選択される場合、変更は速やかに適用されないが、明示的に選択されなければならない。提案された新しいD水準を選択することは、ポリシー情報および動作の表示を変更し、この新しい水準に関してポリシー情報と動作とを示す。パネルから離れて移動することは、それらの変更を適用しないことになる。
【0131】
ポリシーリストは、特定のファイルクラス(例えば、実行可能、スクリプトなど)に関して特定のD水準の様々な動作と効果を表示する。ポリシーは、動作可能にされることも動作不可能にされることも可能であるが、編集されることはできない。以下のポリシーがリスト上に含まれる。
・新実行可能
・新独立型スクリプト
・新埋込みスクリプト
・新ウェブコンテンツ
・非承認ファイル
・更新エージェントを無視(一定の更新ソース/プロセス/位置からの新コンテンツを自動的に承認)
・ウィルス/スパイウェア感染ファイル
ポリシーが動作不能にされるときはいつでも、そのクラスのファイルの追跡は依然として続くが、影響を受けたホストシステムによって何の処置も取られない。
【0132】
各ポリシーに関して、動作グリッドが表示される。グリッドは、どのポリシー設定が現在選択されたD水準で適用されるかを表示する。
・動作
・実施ブロック。このファイルクラスの実施はブロックされることになるか。
・書込みブロック。このファイルクラスのファイルへの書込みはブロックされることになるか。この設定は、ウェブコンテンツおよび非承認ファイルだけに使用される。この設定は、厳重に制御されたシステムだけに使用され、通常の動作には使用されない。
・隔離。このクラスのファイルは隔離されるか。ファイルは、個々のディレクトリに移すのではなく、読取りをブロックすることによって隔離されることが可能である。ウィルス感染ファイルの場合、これらは書き込まれてよいが、後に削除される。しかし、この機能性は、当初実施されなくてもよい。
・記録。このクラスのファイルへのアクセスは記録されることになるか。
・承認
・暗黙的な承認。ファイルはこのD水準で暗黙的に承認されることになるか。暗黙的な承認は、適切な走査および待ち時間の後にファイルの承認状態を変更する。
・明示的な承認。ファイルはこのD水準で明示的に承認されることになるか。
【0133】
上で例示されたものに類似した動作グリッドは、ユーザに、予め作られたポリシーと組み合わせて特定D水準の効果の表現を示す。下の表は、様々なD水準(ゼロから7)で動作と予め作られたポリシーの組合せの例を示す。
通知パラメータ
コンテンツアクセスがブロックされる場合、ホストユーザは通知される。リスト上の各ポリシーに関して、および各ホストグループに関して、以下の設定が利用可能である。
・表示されたメッセージ。ユーザ・インターフェース・ダイアログ上に表示されたテキスト。複数のメッセージがリストボックス内に挙げられる。
・ボタンテキスト。ユーザ・インターフェース・ダイアログ上の単一ボタン上に表示されるテキスト。
・タイムアウト。ダイアログはどのくらい長くユーザに表示されることになるか。ユーザによって受け入れられるまで、ゼロのタイムアウトは示し、ダイアログは無期限に表示し続ける。
・任意選択で、Dの一定値に関して、一時期、コンテンツ制限を取り消すためのボタン。
・ポリシーに関してより多くの情報を有するURLリンク。
【0134】
通知パラメータは、通知メッセージと共にホストで表示される画像を定義する世界的な設定も含む。これらの設定は、予め作られた個々のポリシーの各々に関して構成可能である。通知パラメータは、サーバ管理インターフェース内で編集される。それらのパラメータは、ポリシーと関連付けられ、ポリシーはホストグループに割り当てられて、ポリシーが変更するとホストに伝播される。
年齢走査パラメータ
このセクションは、ユーザが、ファイルが初めて参照されて承認(自動承認走査)される時間と、第2の(承認)走査が実行される時間および第3の(繰返し)走査が発生する時間の間の時間を構成することを可能にする。より多い走査と時間とは、
図7で特定されることができる。
保守
保守セクションは、ユーザがサーバ自体に関して世界的な設定を構成することを可能にする。
・システム構成。局所ネットワークおよびホストシステムとのサーバの相互作用に関する設定。
・IPアドレスおよびサブネットマスク。サブネットマスクは、ホストの遠隔タイプと局所タイプへの分類を可能にする。遠隔ホストは、帯域幅を保存するためにより制限された通信を有する。ホストグループは、各接続タイプ、すなわち、遠隔、局所、または切断に関して特定される、異なるポリシーセットとDパラメータ設定とを有する可能性ある。遠隔ホストは、より少ないネットワークトラフィック(例えば、より少ないサーバ報告書)を生成することになる。また遠隔ホストは、サーバに新コンテンツのハッシュを報告するが、コンテンツをアップロードしないことが好ましい。
【0135】
・IP経路指定情報。
・パスワード。サーバインターフェースへのアクセスのための設定パスワードまたは再設定パスワード。
【0136】
・証明書。リムーバブル媒体(および、任意選択で、ネットワーク)から証明書をインストールする。これらは、サーバの識別性を検証するため、およびサーバに対するSSLインターフェースのためにユーザによって使用される。
【0137】
・SNMP。トラップを受信して、サーバの構成を問い合わせることが可能にされるようにSMMPサーバのリストを設定する。
・SNMPトラップ選択。どのイベントタイプが、どのトラップを引き起こすか、どのSNMPサーバに対してトラップが送られることになるか(および優先順位が重要、高い、中間、低い、情報など)を選択する。
【0138】
・シスログ。様々なイベントタイプと優先順位に関してシスログを経由して記録情報を受信するためにサーバのリストを設定する。
・NTP時間同期化サーバ。時間同期化に関してサーバのリストを設定する。サーバ上の時間は、起動時にその内部クロックから取得され、次いで、この外部NTP時間ソースにより同期化される。サーバ時間からのホスト偏差は、サーバによって追跡されることになる。
・システム状態(サーバ)
・動作可能時間。最後のシステム再起動からの時間を表示する。
【0139】
・ソフトウェアバージョン。サーバソフトウェアに関するバージョン情報を表示する。
・ディスク領域。サーバに関してローカルディスクと記憶統計とを表示する。
・ウィルス/スパイウェア署名更新
・最後の署名の更新。最後の署名更新の時間。
【0140】
・サービス構成の更新。ダウンロード場所とスケジュールとを含めて、インストールされたアンチウィルスソフトウェア向けの更新サービスを構成する。
・スキャナの更新。ウィルス・スキャナ・ソフトウェアを更新する。
【0141】
・署名更新。ウィルス署名の更新を強要する。
・サーバソフトウェア更新
・現在のバージョン。現在のサーバソフトウェアバージョンを表示する。
【0142】
・再起動。現在インストールされている画像を使用してサーバを再起動する。
・新画像のロード。リムーバブル媒体またはネットワーク(例えば、FTP)から新ソフトウェア画像をサーバにロードする。
【0143】
・先のバージョンへの復帰。予め使用されたソフトウェア画像に復帰する。
・外部サービス構成
・コンテンツ走査システム向けのネットワークアドレス、サービスタイプ、および承認権限。
【0144】
・メタ情報共有サービス向けのネットワークアドレス、サービスタイプ、および承認権限。
・外部コンテンツ転送向けおよびユーザ定義された分析向けの外部ファイルサーバアドレス、プロトコル、ログイン、およびディレクトリ。
【0145】
・SNMP、シスログ、電子メール、および新コンテンツのSOAP通知のための外部コンテンツ通知サービス構成。
・バックアップ。リムーバブル媒体への(およびネットワークへの)構成のバックアップおよび回復。
【0146】
・構成とデータベースの保存。(例えば、XMLを経由して)構成と抗体・データベースとを保存する。
・構成とデータベースのロード。(例えば、XMLで)構成と抗体・データベースとをロードする。
【0147】
サーバは、プログラム式マイクロプロセッサ、デジタル信号処理装置(DSP)、または特定用途向け処理およびメモリなどの処理能力を含む。ホストは、パーソナルコンピュータもしくは類似コンピュータ、またはハンドヘルド、PDA、もしくはネットワーク上のその他のデバイスを含めて、その他の処理デバイスを含んでよい。
【0148】
本明細書で発明の実施形態を説明することにより、主張される本発明の範囲から逸脱せずに、修正形態が行われ得ることが明らかであろう。