説明

ネットワーク動作制御リストを使用したネットワークサービスのセキュリティ保護

セキュリティ保護されたネットワークサービスを有するコンピュータシステムが提示される。コンピュータシステムは、プロセッサと、メモリと、ネットワーク動作処理モジュールとを含む。ネットワーク動作処理モジュールは、コンピュータシステム上で実行している1つまたは複数のネットワークサービスからのネットワーク動作を処理する。コンピュータシステムは、少なくとも、ネットワーク動作処理モジュールと連動してネットワーク動作を実行しているネットワークサービスを実行するようにさらに設定される。ネットワーク動作処理モジュールは、ネットワークサービスからネットワーク動作を受信したときに、ネットワーク動作制御リストに従ってネットワーク動作が有効なネットワーク動作かどうかを判定する。ネットワーク動作が有効なネットワーク動作でないと判定されたならば、ネットワーク動作がブロックされる。あるいは、ネットワーク動作が有効なネットワーク動作であると判定されたならば、ネットワーク動作の完了が許可される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークサービスを「正常な」ネットワーク動作に制限するコンピュータシステムに関する。
【背景技術】
【0002】
ほとんどのコンピュータユーザが認識しているように、マルウェアはインターネットに接続されたすべてのコンピュータにとって常に存在する脅威である。マルウェア(「悪意のあるソフトウェア」の総称として認められた用語)は、害を及ぼすプログラムまたはファイルを意味する。したがって、マルウェアには、コンピュータウォーム、ウイルス、トロイの木馬、およびスパイウェアだけでなく、正常なコンピュータおよび/またはネットワークシステムの機能およびサービスを誤用または悪用するコンピュータシステムの攻撃も含まれる。
【0003】
これまで、ほとんどのマルウェアの目的はコンピュータシステムの破壊または中断であるとされてきた。感染したコンピュータシステムの典型的な結末が、ハードドライブの消去または破損である。残念なことに、最近のバージョンのマルウェアの背後にある目的には、単純なコンピュータシステムの破壊または中断よりもはるかに邪悪な悪意が含まれている。より具体的には、最新のマルウェアは、個人情報を盗み出して、詐欺やなりすまし犯罪を行ったり、銀行口座などにアクセスしたりするために利用されている。今では、マルウェア感染の影響に気づくことがより難しくなっている。これは、以前のマルウェアの結末と違って、その目的が感染したコンピュータをシャットダウンさせることではなく、むしろ、コンピュータを実行させたまま、より多くの情報を不正に入手することだからである。
【0004】
マルウェアに対抗するには、ネットワークに接続されたコンピュータでウイルス対策ソフトウェア(現在では、より適切に、マルウェア対策ソフトウェアと呼ばれている)を使用して感染から保護することが不可欠である。さらに、コンピュータユーザの多くが、コンピュータの保護をウイルス対策ソフトウェアと連動するハードウェアファイアウォールおよび/またはソフトウェアファイアウォールに依存している。残念なことに、ウイルス対策ソフトウェアやファイアウォールを盾にしても、一部のマルウェアの脅威、具体的には、新種のマルウェアによるコンピュータシステムの感染を防ぐことはできない。また、当該技術に精通した者には周知であるように、コンピュータシステムに感染したマルウェアは、感染したコンピュータシステムを利用して別のコンピュータシステムに感染する。
【0005】
コンピュータシステムのネットワークサービス、つまり、外部のネットワークに対して通信チャネルを形成するプロセスは、マルウェアの主要なターゲットであり、特に攻撃を受ける可能性が高い。場合によって、マルウェアは、コンピュータシステムをさらに危険にさらすための別のプロセスを許可する動作の実行をネットワークサービスに強要することができる。例えば、保護されていないネットワークサービスは、特定の通信ポートを開くように指示され、第三者によるコンピュータシステムへのアクセスを可能にし、結果的に、コンピュータシステムの制御を渡してしまうことになる。感染した電子メールで配信された不正なアプリケーションは、ネットワークサービスに指示してセキュリティ保護されていないポートを開くことができる。残念なことに、一度、ネットワークサービスが危険にさらされると、コンピュータがマルウェアの悪意の標的になってしまう。
【発明の開示】
【発明が解決しようとする課題】
【0006】
上記のように、マルウェアの感染を常に防げるとは限らない。しかし、コンピュータシステムが感染した場合でも、コンピュータシステムを危険にさらす、または、さらに危険にさらすネットワークサービスのネットワーク動作の実行を阻止することによって、感染の封じ込めに有効であろう。実際に、ネットワークサービスを「正常な」ネットワーク動作に制限することができれば非常に有効であろう。
【課題を解決するための手段】
【0007】
セキュリティ保護されたネットワークサービスを提供するコンピュータシステムが提示される。コンピュータシステムは、プロセッサと、メモリと、ネットワーク動作処理モジュールとを含む。ネットワーク動作処理モジュールは、コンピュータシステム上で実行している1つまたは複数のネットワークサービスからのネットワーク動作を処理する。コンピュータシステムは、ネットワーク動作処理モジュールと連動してネットワーク動作を実行する少なくとも1つのネットワークサービスを実行するようにさらに設定される。ネットワーク動作処理モジュールは、ネットワークサービスからネットワーク動作を受信したときに、ネットワーク動作制御リストに従ってネットワーク動作が有効なネットワーク動作かどうかを判定する。ネットワーク動作が有効なネットワーク動作でないと判定されたならば、ネットワーク動作がブロックされる。代わりに、ネットワーク動作が有効なネットワーク動作であると判定されたならば、ネットワーク動作の完了が許可される。
【0008】
コンピュータ実行可能命令を含むコンピュータ可読媒体も提示される。コンピュータ実行可能命令は、ネットワーク接続されたコンピュータ上で実行された場合に、コンピュータ上のネットワークサービスをセキュリティ保護するための方法を実行する。本方法は、ネットワークサービスからネットワーク動作を受信するステップを含む。ネットワーク動作が有効なネットワーク動作としてさらに検証されなければならないかどうかの判定が下される。ネットワーク動作がさらに検証されなければならないならば、ネットワーク動作制御リストに従ってネットワーク動作がネットワークサービスにとって有効なネットワーク動作かどうかの判定が下される。ネットワーク動作制御リストに従ってネットワーク動作が有効なネットワーク動作でないならば、ネットワーク動作がブロックされる。ネットワーク動作制御リストに従ってネットワーク動作が有効なネットワーク動作であるならば、ネットワーク動作が許可される。
【0009】
ネットワークに接続されたコンピュータデバイス上のネットワークサービスをセキュリティ保護するための方法がさらに提示される。本方法は、コンピュータデバイス上で動作しているネットワークサービスからネットワーク動作を受信するステップを含む。ネットワーク動作が有効なネットワーク動作として検証されるべき種類のネットワーク動作かどうかの判定が下される。ネットワーク動作が有効なネットワーク動作として検証されるべき種類のネットワーク動作であるならば、ネットワークサービス識別子が取得される。ネットワークサービス識別子は、ネットワークサービスを一意的に識別する。ネットワークサービス識別子によって識別されたネットワークサービスに対応するネットワーク動作制御リスト内の1つまたは複数のエントリに従ってネットワーク動作がネットワークサービスにとって有効なネットワーク動作かどうかの判定が下される。ネットワーク動作制御リストに従ってネットワーク動作が有効なネットワーク動作でないと判定されたならば、ネットワーク動作がブロックされる。
【0010】
上記の本発明の態様と付随する長所の多くは、下記の詳細な説明を添付の図面と併せて参照することによって、より容易に理解されると同時により良く理解される。
【発明を実施するための最良の形態】
【0011】
上述のように、図1は、セキュリティ保護されたネットワークサービスの実装に適したコンピュータシステム100の典型的なハードウェアコンポーネントを示すブロック図である。コンピュータシステムは数多くのコンポーネントを含むが、典型的なコンピュータシステム100はプロセッサ102、メモリ104、およびコンピュータシステム100とネットワーク108をインタフェースするためのネットワークインタフェース106を含む。当該技術に精通した者には周知であるように、メモリ104はランダムアクセスメモリ110とリードオンリメモリ112を含む。
【0012】
不揮発性記憶装置114も示されている。当該技術に精通した者には周知であるように、一部のハンドヘルドコンピュータデバイスを含むコンピュータデバイスは、排他的に、その不揮発性記憶媒体として不揮発性メモリを使用するが、代表的な不揮発性記憶媒体は磁気ハードディスクドライブである。実際の媒体が何であれ、一般的に、記憶装置114は、オペレーティングシステム116(オペレーティングシステムが提供するネットワークサービスを含む)とアプリケーション118などの1つまたは複数のアプリケーションを保存する。
【0013】
典型的なコンピュータシステム100は、ネットワークインタフェース106を含むようにも示されている。ネットワークインタフェース106は、ネットワーク108とインタフェースするコンピュータシステムのハードウェアである。一般的に、ネットワークインタフェースは、ネットワーク通信用に特別に設計されたハードウェアとして統合されるが、ネットワークインタフェース106は、シリアル通信、ユニバーサルシリアルバス(USB)接続、赤外線接続、IEEE 1394接続などにすることができる。
【0014】
上記観点から、セキュリティ保護されたネットワークサービスの提供に適したコンピュータシステムには、パーソナルコンピュータ、ラップトップコンピュータおよびノートブックコンピュータ、携帯情報端末(PDA)、ハイブリッド型PDA/携帯電話機器、ネットワークに接続可能な携帯電話、ミニコンピュータおよびメインフレームコンピュータなどが含まれるが、それらに限定されない。
【0015】
図2は、コンピュータシステム200とネットワーク108の間で有効なネットワーク動作226のみが許可されるようにセキュリティ保護されたネットワークサービスを提供する典型的なコンピュータシステムを示すブロック図である。典型的なコンピュータシステム200には、3つのネットワークサービス202〜206が示されている。もちろん、3つのネットワークサービスの図は、単に提示と簡略化を目的としたものであり、本発明の限定と解釈されるべきではない。
【0016】
ネットワークサービスは、通信ポートのオープン、通信ポートに関連付けられたメモリ位置に対する情報の読み出しおよび/または書き込み、コンピュータシステム200を対象としたデータパケットのネットワーク上での聞き取りなどのネットワーク動作208〜212として示された、さまざまなネットワーク動作を実行することによってネットワーク108への/からの通信を提供する。各ネットワーク動作には、ソースアドレス(送信側コンピュータシステムのIPアドレス)、通信チャネルのソースエンドポートを示すソースポート、プロトコル、実行すべき動作を識別する情報およびその動作に関連したデータ、宛先ポート、宛先アドレスなどの動作の完了に必要な情報が含まれるが、それらに限定されない。また、本発明の態様に従って、ネットワーク動作には、ネットワークサービス識別子などの、送信側ネットワークサービスを一意的に識別する情報が含まれる。もちろん、当該技術に精通した者には周知されていることであるが、送信側ネットワークサービスを識別するために含まれる情報に関して、このような情報は、必ずしもネットワーク動作に含まれるわけではないが、ネットワーク動作に組み込まれたり、および/またはネットワーク動作が送信される方法から特定されたりすることができる。いずれにしても、ネットワーク動作を有効なネットワーク動作に制限するためには、ネットワーク動作の送信側ネットワークサービスを識別可能にしなければならない。したがって、ネットワーク動作への識別情報の包含は、一実施形態の例示と見なされるべきであって、本発明の限定と解釈されるべきではない。下記でさらに説明されるように、送信側ネットワークサービスのIDは、ネットワーク動作が有効なネットワーク動作かどうかの判定に使用される1つの要素である。
【0017】
有効なネットワーク動作226のみがコンピュータシステム200とネットワーク108の間を通過するためには、ネットワーク動作がネットワーク動作処理モジュール214を通過する必要がある。ネットワーク動作208〜212のようなネットワーク動作が受信されると、ネットワーク動作処理モジュール214は、各動作を簡単に検査して、動作が有効なネットワーク動作かどうかを判定するためにネットワーク動作検証モジュール216によって評価されるべきかどうかを判定する。
【0018】
ネットワーク動作処理モジュール214が、ネットワーク動作検証モジュール216によって検証されるべきではないと判定したネットワーク動作は、完了が許可される。代わりに、ネットワーク動作がさらに検査されなければならないならば、ネットワーク動作処理モジュール214は、有効性クエリ222をネットワーク動作検証モジュール216に送信する。一般的に、有効性クエリ222は問題のネットワーク動作を含むが、代わりに、ネットワーク動作検証モジュール216が、ネットワーク動作が有効なネットワーク動作226かどうかを判定するために必要な情報のみを含むことができる。
【0019】
有効性クエリ222に応答して、ネットワーク動作検証モジュール216は、ネットワーク動作が有効なネットワーク動作かどうかを示す有効性応答224を返す。有効性応答224が、ネットワーク動作が有効なネットワーク動作であることを示しているならば、ネットワーク動作処理モジュール214はそのネットワーク動作の完了を許可する。代わりに、有効性応答224が、ネットワーク動作が有効なネットワーク動作でないことを示しているならば、ネットワーク動作処理モジュール214はそのネットワーク動作を終了させる。つまり、そのネットワーク動作の完了を許可しない。
【0020】
ネットワーク動作が有効なネットワーク動作かどうかを判定するときに、ネットワーク動作検証モジュール216は、ネットワーク動作のさまざまな様態をネットワーク動作制御リスト218と比較する。ネットワーク動作制御リスト218は、満たされたならば、ネットワーク動作を有効なまたは無効なネットワーク動作として識別する一連のルールまたは条件を含む。これらのルール/条件は、特定のネットワーク動作を無効なネットワーク動作として大まかにまたは明確に識別する「ブラックリスト」ルールだけでなく、特定のネットワーク動作を有効なネットワーク動作として大まかにまたは明確に識別する「ホワイトリスト」ルールを含むことができる。所与のネットワーク動作の有効性/無効性は、ソースまたは宛先IPアドレス、ネットワーク動作を発生させているネットワークサービス(そのネットワークサービス識別子ごと)、動作の種類、使用されているプロトコル、ソースエンドポイントまたは宛先エンドポイントとして使用されているポートなどを含むがそれらに限定されないネットワーク動作からの1つの要素または複数の要素の組合せに基づくことができる。これらの要素は、まとめて処理されるときに、ネットワーク動作が機能する「ネットワークオブジェクト」と見なすことができる。「ネットワークオブジェクト」は、ネットワークアクセス制御リストの一部として利用することができる。
【0021】
ネットワーク動作の有効化/無効化に加えて、ネットワーク動作検証モジュール216は、ネットワーク動作とそれらが有効なネットワーク動作かどうかを監査ログ220に記録することもできる。それによって、監査ログ220は、システム管理者によってコンピュータシステム200がマルウェアに感染された可能性の識別を含む問題領域の識別に使用されることもできる。
【0022】
上記のように、ネットワーク動作処理モジュール214は、各動作を簡単に検査して、ネットワーク動作が有効なネットワーク動作かどうかを判定するためにネットワーク動作検証モジュール216によって動作が評価されるべきかどうかを判定する。一実施形態によれば、この判定はネットワーク動作の種類に基づく。具体的には、ある実施形態では、「エンドポイント」作成を含むネットワーク動作のみが検証のためにネットワーク動作検証モジュール216に送信される。「エンドポイント」作成は、当該技術に精通した者には周知であるように、コンピュータシステム200とネットワーク108の間の通信チャネルを作成するおよび/または開くネットワーク動作を含む。「エンドポイント」作成ネットワーク動作は、通信ポートのオープン、リモートエンティティへの接続の構築、接続のためのポートの聞き取りなどを含むことができるが、それらに限定されない。代わりに、ネットワーク動作処理モジュール214は、ネットワーク動作処理モジュール214を通過するすべてのネットワーク動作を評価することによっていわゆる「深い」評価を実施するように構成することができる。その他のレベルの検査も実施することができる。
【0023】
ネットワーク動作処理モジュール214に関して、このモジュールは、他のオペレーティングシステムコンポーネント(具体的には、ネットワーク関連オペレーティングシステムコンポーネント)とは別のコンポーネントにすることができるが、上記機能は1つまたは複数の既存のコンポーネントに適切に統合されることができる。例えば、Microsoft CorporationのWindows(登録商標)オペレーティングシステムソフトウェア(および他のプロバイダからのオペレーティングシステム)は、すべてのTCP、UDP、およびIPベースの動作/通信が処理されるTCP/IPスタック処理コンポーネント(一般的にはTCP/IPスタックと呼ばれることが多い)を含む。上記機能をTCP/IPスタックに統合することによって、すべてのTCP、UDP、およびIP動作がTCP/IPスタックを通過するため、ネットワークサービス202〜206は、無効なネットワーク動作の実行からそれらを保護するために変更される必要がない。同様に、一般的に、他の通信プロトコルは、上記機能を統合可能な中央処理モジュールを利用する。ただし、上記ネットワーク動作処理モジュール214の機能を1つまたは複数の既存のコンポーネントに統合することは有益であるが、本発明はそれに限定されると解釈されるべきではない。
【0024】
ネットワーク動作制御リスト218を抽出する方法は数多く存在するが、一実施形態によれば、ネットワーク動作制御リストは、個別のネットワークサービスの開発者および/またはプロバイダによって提供される情報から生成される。図3は、ネットワーク動作制御リスト218を生成してネットワーク動作検証モジュール216に供給するプロセスを示すブロック図である。具体的には、ネットワークサービス202〜206のようなネットワークサービスが開発および/または展開されるときに、ネットワークサービスの開発者またはプロバイダは、動作マニフェスト302〜306のような対応する動作マニフェストも提示する。動作マニフェストは、対応するネットワークサービスの許容されるおよび/または意図されたネットワーク動作(上記ネットワークオブジェクトのような関連情報を伴う)を記述する。例えば、ネットワークサービス202の開発者および/またはプロバイダが、ネットワークサービスのみがポートの88および144を開いてそれらを通して通信するように意図したならば、この情報が対応する動作マニフェスト302に書き込まれる。さらに、各動作マニフェストは、上記ネットワークサービス識別子のような対応するネットワークサービスを識別する情報を含まなければならない。
【0025】
動作マニフェスト302〜306は、管理者が動作マニフェストによって提供された「推奨事項」を受け入れたり、セキュリティニーズに応じてそれらを変更したりすることができる管理および構成モジュール308によって処理される。さらに、管理および構成モジュール308を使用して、管理者は、関連するセキュリティポリシーまたは最も一般的なネットワーク条件に従って、1つまたは複数のネットワークサービスに関する新しいルールおよび/または条件を追加することができる。
【0026】
これらの動作マニフェスト、追加の条件およびルール、管理者の構成および変更から、管理および構成モジュール308は、動作制御リストを生成して、ネットワーク動作制御リストストア310にそのリストを保存する。一実施形態によれば、ネットワーク動作制御リストストア310はコンピュータシステムのレジストリである。コンピュータシステムのレジストリを使用するメリットの1つは、レジストリの特定の領域が管理者以外の変更から保護されることである。このセキュリティ対策は、ネットワーク動作制御リストが、さらなる破壊および無効なネットワーク動作の許可および完了につながる可能性のあるマルウェア感染によって、破壊されるのを防ぐ。
【0027】
当該技術に精通した者には周知であるように、管理および構成モジュール308は、オペレーティングシステムに関するユーザモードで動作する。ただし、一般的に、ネットワーク動作処理モジュール214(およびネットワークサービス202〜206)は、カーネルモード、つまり、メモリ、ファイル、および周辺機器を管理したり、アプリケーションを起動したり、システムリソースを割り当てたりするオペレーティングシステムの中核で動作する。したがって、ネットワーク動作制御リストをネットワーク動作制御リストストア310からネットワーク動作検証モジュール216(ネットワーク動作処理モジュール214とともにカーネルモードで動作する)に転送するために、ユーザモード/カーネルモードの通信チャネルを含む促進モジュール312がネットワーク動作制御リスト218をネットワーク動作検証モジュールに転送する。
【0028】
図4は、セキュリティ保護されたネットワークサービスを提供するコンピュータシステム内のネットワーク動作を処理するための典型的なルーチン400を示すフローチャートである。ブロック402から始まって、ネットワーク動作処理モジュール214はネットワーク動作を受信する。判定ブロック404で、ネットワーク動作が有効な種類のネットワーク動作かどうかの判定が下される。上記のように、一実施形態によれば、エンドポイントを作成するネットワーク動作のみが検証される種類のネットワーク動作である。
【0029】
ネットワーク動作がさらに検証すべき種類のネットワーク動作でないならば、ルーチン400は、有効なネットワーク動作であると推定されたネットワーク動作が処理される、つまり、完了が許可されるブロック414に進む。代わりに、ネットワーク動作がさらに検証すべき種類のネットワーク動作であるならば、ブロック406で、有効性クエリ222(図2)がネットワーク動作検証モジュール216に転送される。
【0030】
ブロック408で、ネットワーク動作検証モジュール216は、ネットワーク動作制御リスト218に従って、有効性クエリ222のネットワーク動作が要求中のネットワークサービスにとって有効なネットワーク動作かどうかを判定する。ネットワーク動作制御リスト218に従った、ネットワーク動作が有効なネットワーク動作かどうかの判定が、図5Aおよび図5Bにわたって記述されている。
【0031】
図5Aおよび図5Bは、ネットワーク動作制御リスト218に従ってネットワーク動作が有効なネットワーク動作かどうかを判定するための典型的なサブルーチン500を示すフローチャートである。
【0032】
ブロック502から始まって、ネットワーク動作検証モジュール216は、有効性クエリ222の対象であるネットワーク動作に対応するネットワークサービスを識別する。これは、さまざまな方法で実現され得るが、一実施形態によれば、ネットワークサービスのネットワークサービス識別子がネットワーク動作に関して取得される。一実施形態では、ネットワークサービス識別子が、ネットワークサービスをホストしているプロセスのプロセストークンから取得される。例えば、Microsoft Corporationの一部のバーションのWindows(登録商標)オペレーティングシステムでは、プロセストークンが、オペレーティングシステムがプロセス内で実行しているプログラムに関するIDおよび特権情報を保存するためのプロセスと関連付けるコンテキストである。
【0033】
判定ブロック504で、識別対象のネットワークサービスに対応する特定のエントリがネットワークアクセス制御リスト218内に存在するかどうかの判定が下される。ネットワークサービスに対応するエントリが見つからなかったならば、ブロック512(図5B)で、ネットワーク動作が有効なネットワーク動作であることを示す有効性応答224がネットワーク動作処理モジュール214に返され、サブルーチン500が終了する。識別対象のネットワークサービスに対応するエントリが存在しない場合の有効性の推定をデフォルトに設定することによって、動作マニフェストが、ネットワークサービス用に生成されていなかった、または、ネットワーク動作制御リスト218に含まれていなかったことが推定される。いずれにしても、ネットワーク動作が無効であるという推定がなされたならば起こり得るそのネットワークリソースのすべての動作の中断ではなく、ネットワーク動作が許可される。明らかに、代替実施形態ではデフォルトが無効性のデフォルトになり得る。同様に、識別対象のネットワークサービスに対応するエントリがネットワーク動作制御リスト218内に全く存在しないならば、監査ログ220内に特別なエントリを生成して、管理者にネットワークサービスへの特別な注意を促すことができる。
【0034】
判定ブロック504で、ネットワークサービスに対応するエントリがネットワーク動作制御リスト218内に見つかったならば、サブルーチン500はブロック506に進む。ブロック506で、識別対象のネットワークサービスに対応するネットワーク動作制御リスト218内のすべてのエントリが識別される。ブロック508で、識別されたエントリの中で、ネットワーク動作に最も正確に対応するエントリ(つまり、有効性クエリ222の対象)が識別される。判定ブロック510で、ネットワーク動作制御リスト218内の最も正確に対応するエントリに従ってネットワーク動作が許可されるかどうかの判定が下される。上記判定に従ってネットワーク動作が許可されたならば、ブロック512で、ネットワーク動作が有効なネットワーク動作であることを示す有効性応答224がネットワーク動作処理モジュール214に返され、サブルーチン500が終了する。代わりに、上記判定に従ってネットワーク動作が許可されなかったならば、ブロック514(図5B)で、ネットワーク動作が有効なネットワーク動作でないことを示す無効性応答224がネットワーク動作処理モジュール214に返される。
【0035】
再度、図4に関して、ネットワーク動作検証モジュール216から有効性応答224が取得された後に、判定ブロック410で、ネットワーク動作が有効なネットワーク動作かどうかの判定が下される。ネットワーク動作が有効なネットワーク動作でないならば、ブロック412で、ネットワーク動作がブロックされる。代わりに、ネットワーク動作が有効なネットワーク動作であるならば、ブロック414で、ネットワーク動作が処理される(つまり、完了が許可される)。その後、ルーチン400は、ブロック402に戻って新しいネットワーク動作を取得して処理する。
【0036】
以上、さまざまな実施形態が例示および説明されたが、本発明の精神と範囲から逸脱することなくさまざまな変更がなされても良いことは明らかである。
【0037】
独占的な財産または特権が主張される本発明の実施形態は特許請求の範囲で定義される。
【図面の簡単な説明】
【0038】
【図1】セキュリティ保護されたネットワークサービスの実装に適したコンピュータシステムの典型的なハードウェアコンポーネントを示すブロック図である。
【図2】コンピュータシステムとネットワークの間で有効なネットワーク動作のみが許可されるようにセキュリティ保護されたネットワークサービスを提供するコンピュータシステムを示すブロック図である。
【図3】ネットワーク動作制御リストを生成してネットワーク動作検証モジュールにネットワーク動作制御リストを供給するプロセスを示すブロック図である。
【図4】セキュリティ保護されたネットワークサービスを提供するコンピュータシステム内のネットワーク動作を処理するための典型的なルーチンを示すフローチャートである。
【図5A】ネットワーク動作制御リストに従ってネットワーク動作が有効なネットワーク動作かどうかを判定するための典型的なサブルーチンを示すフローチャートである。
【図5B】ネットワーク動作制御リストに従ってネットワーク動作が有効なネットワーク動作かどうかを判定するための典型的なサブルーチンを示すフローチャートである。

【特許請求の範囲】
【請求項1】
セキュリティ保護されたネットワークサービスを有するコンピュータシステムであって、
プロセッサと、
メモリと、
前記コンピュータシステム上で実行している1つまたは複数のネットワークサービスからのネットワーク動作を処理するネットワーク動作処理モジュールとを含み、
少なくとも、前記ネットワーク動作処理モジュールと連動してネットワーク動作を実行するネットワークサービスを実行するように構成され、
前記ネットワーク動作処理モジュールは、ネットワークサービスからネットワーク動作を受信したときに、
ネットワーク動作制御リストに従って前記ネットワーク動作が有効なネットワーク動作かどうかを判定し、
前回の判定の結果、前記ネットワーク動作が有効なネットワーク動作でないと判明したならば、前記ネットワーク動作をブロックし、
前回の判定の結果、前記ネットワーク動作が有効なネットワーク動作であると判明したならば、前記ネットワーク動作の完了を許可することを特徴とするコンピュータシステム。
【請求項2】
ネットワーク動作検証モジュールをさらに含み、前記ネットワーク動作処理モジュールはネットワーク動作制御リストに従って前記ネットワーク動作が有効なネットワーク動作かどうかを判定する請求項1に記載のコンピュータシステムであって、
ネットワーク動作制御リストに従って前記ネットワーク動作が有効なネットワーク動作かどうかを前記ネットワーク動作検証モジュールに照会するステップであって、前記ネットワーク検証モジュールは前記ネットワーク動作制御リストにアクセスするステップと、
前記ネットワーク動作が有効なネットワーク動作かどうかを示す応答を前記ネットワーク動作検証モジュールから受信するステップとを含むことを特徴とするコンピュータシステム。
【請求項3】
ネットワークサービスから前記ネットワーク動作を受信したときに、前記ネットワーク動作処理モジュールは、
前記ネットワーク動作が前記ネットワーク動作検証モジュールによって検証されるべき種類のネットワーク動作かどうかを判定し、
前記ネットワーク動作が前記ネットワーク動作検証モジュールによって検証されるべき種類のネットワーク動作である場合にのみ、前記ネットワーク動作が有効なネットワーク動作かどうかを前記ネットワーク動作検証モジュールに照会することを特徴とする請求項2に記載のコンピュータシステム。
【請求項4】
前記ネットワーク動作が前記ネットワーク動作検証モジュールによって検証されるべき種類のネットワーク動作かどうかを判定するステップは、前記ネットワーク動作がエンドポイント作成ネットワーク動作かどうかを判定するステップを含むことを特徴とする請求項3に記載のコンピュータシステム。
【請求項5】
前記ネットワーク動作検証モジュールは、前記ネットワーク動作を発行した前記ネットワークサービスに対応する前記ネットワーク動作制御リスト内のエントリと前記ネットワーク動作を比較することによって前記ネットワーク動作が有効なネットワーク動作かどうかを判定することを特徴とする請求項3に記載のコンピュータシステム。
【請求項6】
各ネットワーク動作は、前記ネットワーク動作を発行している前記ネットワークサービスを一意的に識別するネットワークサービス識別子に関連付けられ、
前記ネットワーク動作検証モジュールは、前記ネットワーク動作内の前記ネットワークサービス識別子に従って前記ネットワークサービスに対応する前記ネットワーク動作制御リスト内のエントリと前記ネットワーク動作を比較することによって前記ネットワーク動作が有効なネットワーク動作かどうかを判定することを特徴とする請求項5に記載のコンピュータシステム。
【請求項7】
前記ネットワーク動作検証モジュールは、前記ネットワークサービスへの許可を否定するエントリが前記ネットワーク動作制御リスト内に存在しないならば、前記ネットワーク動作を有効なネットワーク動作であると判定することを特徴する請求項6に記載のコンピュータシステム。
【請求項8】
前記ネットワーク動作検証モジュールは、前記ネットワーク動作および前記ネットワーク動作が有効なネットワーク動作かどうかに関する情報を監査ログにさらに記録することを特徴とする請求項5に記載のコンピュータシステム。
【請求項9】
前記ネットワーク動作制御リストは、ネットワークサービスに対応する少なくとも1つの動作マニフェストから生成され、前記動作マニフェストは、前記対応するネットワークサービスにとって有効なネットワーク動作を識別することを特徴とする請求項2に記載のコンピュータシステム。
【請求項10】
前記ネットワーク動作処理モジュールは、前記コンピュータシステム上のTCP/IPスタック処理モジュールであることを特徴とする請求項2に記載のコンピュータシステム。
【請求項11】
ネットワーク接続されたコンピュータ上で実行された場合に、前記コンピュータ上のネットワークサービスをセキュリティ保護するための方法を実行するコンピュータ実行可能命令を含むコンピュータ可読媒体であって、前記方法は、
ネットワークサービスからネットワーク動作を受信するステップと、
前記ネットワーク動作が有効なネットワーク動作としてさらに検証されなければならないかどうかを判定するステップと、そうであるならば、
ネットワーク動作制御リストに従って、前記ネットワーク動作が前記ネットワークサービスにとって有効なネットワーク動作かどうかを判定するステップと、
前記ネットワーク動作制御リストに従って、前記ネットワーク動作が有効なネットワーク動作でないならば、前記ネットワーク動作をブロックするステップと、
前記ネットワーク動作制御リストに従って、前記ネットワーク動作が有効なネットワーク動作であるならば、前記ネットワーク動作の完了を許可するステップと
を含むことを特徴とするコンピュータ可読媒体。
【請求項12】
前記ネットワーク動作が有効なネットワーク動作としてさらに検証されなければならないかどうかを判定するステップは、前記ネットワーク動作がエンドポイント作成ネットワーク動作であるならば、前記ネットワーク動作がさらに検証されなければならないように、前記ネットワーク動作がエンドポイント作成ネットワーク動作かどうかを判定するステップを含むことを特徴とする請求項11に記載のコンピュータ可読媒体。
【請求項13】
ネットワーク動作制御リストに従って前記ネットワーク動作が前記ネットワークサービスにとって有効なネットワーク動作かどうかを判定するステップは、前記ネットワークサービスに対応する前記ネットワーク動作制御リスト内のエントリと前記ネットワーク動作を比較するステップを含むことを特徴とする請求項11に記載のコンピュータ可読媒体。
【請求項14】
前記ネットワーク動作は、前記ネットワークサービスを一意的に識別するネットワークサービス識別子を含み、前記方法は、前記ネットワークサービス識別子によって識別された前記ネットワークサービスに対応する前記ネットワーク動作制御リスト内のエントリと前記ネットワーク動作を比較することを特徴とする請求項13に記載のコンピュータ可読媒体。
【請求項15】
前記ネットワークサービス識別子によって識別された前記ネットワークサービスに対応するエントリが前記ネットワーク動作制御リスト内に存在しないならば、前記ネットワーク動作が有効なネットワーク動作であると判定されることを特徴とする請求項14に記載のコンピュータ可読媒体。
【請求項16】
前記方法は、前記ネットワーク動作が前記ネットワークサービスにとって有効なネットワーク動作かどうかの判定結果を監査ログに書き込むステップをさらに含むことを特徴とする請求項11に記載のコンピュータ可読媒体。
【請求項17】
前記ネットワーク動作制御リストは、少なくとも1つのネットワークサービスに対応する少なくとも1つの動作マニフェストから生成されたエントリを含むことを特徴とする請求項11に記載のコンピュータ可読媒体。
【請求項18】
ネットワークに接続されたコンピュータデバイス上のネットワークサービスをセキュリティ保護するための方法であって、
前記コンピュータデバイス上で動作しているネットワークサービスからネットワーク動作を受信するステップと、
前記ネットワーク動作が有効なネットワーク動作として検証されなければならない種類のネットワーク動作かどうかを判定するステップと、そうであるならば、
前記ネットワークサービスを一意的に識別するネットワークサービス識別子を取得するステップと、
前記ネットワークサービス識別子によって識別された前記ネットワークサービスに対応するネットワーク動作制御リスト内の1つまたは複数のエントリに従って前記ネットワーク動作が前記ネットワークサービスにとって有効なネットワーク動作かどうかを判定するステップと、
前記ネットワーク動作制御リストに従って前記ネットワーク動作が有効なネットワーク動作でないならば、前記ネットワーク動作をブロックするステップと
を含むことを特徴とする方法。
【請求項19】
前記ネットワーク動作が有効なネットワーク動作として検証されなければならない種類のネットワーク動作かどうかを判定するステップは、前記ネットワーク動作がエンドポイント作成ネットワーク動作かどうかを判定するステップを含み、前記ネットワーク動作がエンドポイント作成ネットワーク動作であるならば、前記ネットワーク動作がさらに検証されなければならないことを特徴とする請求項18に記載の方法。
【請求項20】
前記ネットワークサービス識別子によって識別された前記ネットワークサービスに対応するエントリが前記ネットワーク動作制御リスト内に存在しないならば、前記ネットワーク動作が有効なネットワーク動作であると判定されることを特徴とする請求項18に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5A】
image rotate

【図5B】
image rotate


【公表番号】特表2009−501972(P2009−501972A)
【公表日】平成21年1月22日(2009.1.22)
【国際特許分類】
【出願番号】特願2008−521600(P2008−521600)
【出願日】平成18年7月12日(2006.7.12)
【国際出願番号】PCT/US2006/027176
【国際公開番号】WO2007/009031
【国際公開日】平成19年1月18日(2007.1.18)
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】