(57)【要約】  セキュリティ保護されたネットワークサービスを有するコンピュータシステムが提示される。コンピュータシステムは、プロセッサと、メモリと、ネットワーク動作処理モジュールとを含む。ネットワーク動作処理モジュールは、コンピュータシステム上で実行している１つまたは複数のネットワークサービスからのネットワーク動作を処理する。コンピュータシステムは、少なくとも、ネットワーク動作処理モジュールと連動してネットワーク動作を実行しているネットワークサービスを実行するようにさらに設定される。ネットワーク動作処理モジュールは、ネットワークサービスからネットワーク動作を受信したときに、ネットワーク動作制御リストに従ってネットワーク動作が有効なネットワーク動作かどうかを判定する。ネットワーク動作が有効なネットワーク動作でないと判定されたならば、ネットワーク動作がブロックされる。あるいは、ネットワーク動作が有効なネットワーク動作であると判定されたならば、ネットワーク動作の完了が許可される。
2009501972.tif 000002
【特許請求の範囲】
【請求項１】
セキュリティ保護されたネットワークサービスを有するコンピュータシステムであって、
プロセッサと、
メモリと、
前記コンピュータシステム上で実行している１つまたは複数のネットワークサービスからのネットワーク動作を処理するネットワーク動作処理モジュールとを含み、
少なくとも、前記ネットワーク動作処理モジュールと連動してネットワーク動作を実行するネットワークサービスを実行するように構成され、
前記ネットワーク動作処理モジュールは、ネットワークサービスからネットワーク動作を受信したときに、
ネットワーク動作制御リストに従って前記ネットワーク動作が有効なネットワーク動作かどうかを判定し、
前回の判定の結果、前記ネットワーク動作が有効なネットワーク動作でないと判明したならば、前記ネットワーク動作をブロックし、
前回の判定の結果、前記ネットワーク動作が有効なネットワーク動作であると判明したならば、前記ネットワーク動作の完了を許可することを特徴とするコンピュータシステム。
【請求項２】
ネットワーク動作検証モジュールをさらに含み、前記ネットワーク動作処理モジュールはネットワーク動作制御リストに従って前記ネットワーク動作が有効なネットワーク動作かどうかを判定する請求項１に記載のコンピュータシステムであって、
ネットワーク動作制御リストに従って前記ネットワーク動作が有効なネットワーク動作かどうかを前記ネットワーク動作検証モジュールに照会するステップであって、前記ネットワーク検証モジュールは前記ネットワーク動作制御リストにアクセスするステップと、
前記ネットワーク動作が有効なネットワーク動作かどうかを示す応答を前記ネットワーク動作検証モジュールから受信するステップとを含むことを特徴とするコンピュータシステム。
【請求項３】
ネットワークサービスから前記ネットワーク動作を受信したときに、前記ネットワーク動作処理モジュールは、
前記ネットワーク動作が前記ネットワーク動作検証モジュールによって検証されるべき種類のネットワーク動作かどうかを判定し、
前記ネットワーク動作が前記ネットワーク動作検証モジュールによって検証されるべき種類のネットワーク動作である場合にのみ、前記ネットワーク動作が有効なネットワーク動作かどうかを前記ネットワーク動作検証モジュールに照会することを特徴とする請求項２に記載のコンピュータシステム。
【請求項４】
前記ネットワーク動作が前記ネットワーク動作検証モジュールによって検証されるべき種類のネットワーク動作かどうかを判定するステップは、前記ネットワーク動作がエンドポイント作成ネットワーク動作かどうかを判定するステップを含むことを特徴とする請求項３に記載のコンピュータシステム。
【請求項５】
前記ネットワーク動作検証モジュールは、前記ネットワーク動作を発行した前記ネットワークサービスに対応する前記ネットワーク動作制御リスト内のエントリと前記ネットワーク動作を比較することによって前記ネットワーク動作が有効なネットワーク動作かどうかを判定することを特徴とする請求項３に記載のコンピュータシステム。
【請求項６】
各ネットワーク動作は、前記ネットワーク動作を発行している前記ネットワークサービスを一意的に識別するネットワークサービス識別子に関連付けられ、
前記ネットワーク動作検証モジュールは、前記ネットワーク動作内の前記ネットワークサービス識別子に従って前記ネットワークサービスに対応する前記ネットワーク動作制御リスト内のエントリと前記ネットワーク動作を比較することによって前記ネットワーク動作が有効なネットワーク動作かどうかを判定することを特徴とする請求項５に記載のコンピュータシステム。
【請求項７】
前記ネットワーク動作検証モジュールは、前記ネットワークサービスへの許可を否定するエントリが前記ネットワーク動作制御リスト内に存在しないならば、前記ネットワーク動作を有効なネットワーク動作であると判定することを特徴する請求項６に記載のコンピュータシステム。
【請求項８】
前記ネットワーク動作検証モジュールは、前記ネットワーク動作および前記ネットワーク動作が有効なネットワーク動作かどうかに関する情報を監査ログにさらに記録することを特徴とする請求項５に記載のコンピュータシステム。
【請求項９】
前記ネットワーク動作制御リストは、ネットワークサービスに対応する少なくとも１つの動作マニフェストから生成され、前記動作マニフェストは、前記対応するネットワークサービスにとって有効なネットワーク動作を識別することを特徴とする請求項２に記載のコンピュータシステム。
【請求項１０】
前記ネットワーク動作処理モジュールは、前記コンピュータシステム上のＴＣＰ／ＩＰスタック処理モジュールであることを特徴とする請求項２に記載のコンピュータシステム。
【請求項１１】
ネットワーク接続されたコンピュータ上で実行された場合に、前記コンピュータ上のネットワークサービスをセキュリティ保護するための方法を実行するコンピュータ実行可能命令を含むコンピュータ可読媒体であって、前記方法は、
ネットワークサービスからネットワーク動作を受信するステップと、
前記ネットワーク動作が有効なネットワーク動作としてさらに検証されなければならないかどうかを判定するステップと、そうであるならば、
ネットワーク動作制御リストに従って、前記ネットワーク動作が前記ネットワークサービスにとって有効なネットワーク動作かどうかを判定するステップと、
前記ネットワーク動作制御リストに従って、前記ネットワーク動作が有効なネットワーク動作でないならば、前記ネットワーク動作をブロックするステップと、
前記ネットワーク動作制御リストに従って、前記ネットワーク動作が有効なネットワーク動作であるならば、前記ネットワーク動作の完了を許可するステップと
を含むことを特徴とするコンピュータ可読媒体。
【請求項１２】
前記ネットワーク動作が有効なネットワーク動作としてさらに検証されなければならないかどうかを判定するステップは、前記ネットワーク動作がエンドポイント作成ネットワーク動作であるならば、前記ネットワーク動作がさらに検証されなければならないように、前記ネットワーク動作がエンドポイント作成ネットワーク動作かどうかを判定するステップを含むことを特徴とする請求項１１に記載のコンピュータ可読媒体。
【請求項１３】
ネットワーク動作制御リストに従って前記ネットワーク動作が前記ネットワークサービスにとって有効なネットワーク動作かどうかを判定するステップは、前記ネットワークサービスに対応する前記ネットワーク動作制御リスト内のエントリと前記ネットワーク動作を比較するステップを含むことを特徴とする請求項１１に記載のコンピュータ可読媒体。
【請求項１４】
前記ネットワーク動作は、前記ネットワークサービスを一意的に識別するネットワークサービス識別子を含み、前記方法は、前記ネットワークサービス識別子によって識別された前記ネットワークサービスに対応する前記ネットワーク動作制御リスト内のエントリと前記ネットワーク動作を比較することを特徴とする請求項１３に記載のコンピュータ可読媒体。
【請求項１５】
前記ネットワークサービス識別子によって識別された前記ネットワークサービスに対応するエントリが前記ネットワーク動作制御リスト内に存在しないならば、前記ネットワーク動作が有効なネットワーク動作であると判定されることを特徴とする請求項１４に記載のコンピュータ可読媒体。
【請求項１６】
前記方法は、前記ネットワーク動作が前記ネットワークサービスにとって有効なネットワーク動作かどうかの判定結果を監査ログに書き込むステップをさらに含むことを特徴とする請求項１１に記載のコンピュータ可読媒体。
【請求項１７】
前記ネットワーク動作制御リストは、少なくとも１つのネットワークサービスに対応する少なくとも１つの動作マニフェストから生成されたエントリを含むことを特徴とする請求項１１に記載のコンピュータ可読媒体。
【請求項１８】
ネットワークに接続されたコンピュータデバイス上のネットワークサービスをセキュリティ保護するための方法であって、
前記コンピュータデバイス上で動作しているネットワークサービスからネットワーク動作を受信するステップと、
前記ネットワーク動作が有効なネットワーク動作として検証されなければならない種類のネットワーク動作かどうかを判定するステップと、そうであるならば、
前記ネットワークサービスを一意的に識別するネットワークサービス識別子を取得するステップと、
前記ネットワークサービス識別子によって識別された前記ネットワークサービスに対応するネットワーク動作制御リスト内の１つまたは複数のエントリに従って前記ネットワーク動作が前記ネットワークサービスにとって有効なネットワーク動作かどうかを判定するステップと、
前記ネットワーク動作制御リストに従って前記ネットワーク動作が有効なネットワーク動作でないならば、前記ネットワーク動作をブロックするステップと
を含むことを特徴とする方法。
【請求項１９】
前記ネットワーク動作が有効なネットワーク動作として検証されなければならない種類のネットワーク動作かどうかを判定するステップは、前記ネットワーク動作がエンドポイント作成ネットワーク動作かどうかを判定するステップを含み、前記ネットワーク動作がエンドポイント作成ネットワーク動作であるならば、前記ネットワーク動作がさらに検証されなければならないことを特徴とする請求項１８に記載の方法。
【請求項２０】
前記ネットワークサービス識別子によって識別された前記ネットワークサービスに対応するエントリが前記ネットワーク動作制御リスト内に存在しないならば、前記ネットワーク動作が有効なネットワーク動作であると判定されることを特徴とする請求項１８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークサービスを「正常な」ネットワーク動作に制限するコンピュータシステムに関する。
【背景技術】
【０００２】
ほとんどのコンピュータユーザが認識しているように、マルウェアはインターネットに接続されたすべてのコンピュータにとって常に存在する脅威である。マルウェア（「悪意のあるソフトウェア」の総称として認められた用語）は、害を及ぼすプログラムまたはファイルを意味する。したがって、マルウェアには、コンピュータウォーム、ウイルス、トロイの木馬、およびスパイウェアだけでなく、正常なコンピュータおよび／またはネットワークシステムの機能およびサービスを誤用または悪用するコンピュータシステムの攻撃も含まれる。
【０００３】
これまで、ほとんどのマルウェアの目的はコンピュータシステムの破壊または中断であるとされてきた。感染したコンピュータシステムの典型的な結末が、ハードドライブの消去または破損である。残念なことに、最近のバージョンのマルウェアの背後にある目的には、単純なコンピュータシステムの破壊または中断よりもはるかに邪悪な悪意が含まれている。より具体的には、最新のマルウェアは、個人情報を盗み出して、詐欺やなりすまし犯罪を行ったり、銀行口座などにアクセスしたりするために利用されている。今では、マルウェア感染の影響に気づくことがより難しくなっている。これは、以前のマルウェアの結末と違って、その目的が感染したコンピュータをシャットダウンさせることではなく、むしろ、コンピュータを実行させたまま、より多くの情報を不正に入手することだからである。
【０００４】
マルウェアに対抗するには、ネットワークに接続されたコンピュータでウイルス対策ソフトウェア（現在では、より適切に、マルウェア対策ソフトウェアと呼ばれている）を使用して感染から保護することが不可欠である。さらに、コンピュータユーザの多くが、コンピュータの保護をウイルス対策ソフトウェアと連動するハードウェアファイアウォールおよび／またはソフトウェアファイアウォールに依存している。残念なことに、ウイルス対策ソフトウェアやファイアウォールを盾にしても、一部のマルウェアの脅威、具体的には、新種のマルウェアによるコンピュータシステムの感染を防ぐことはできない。また、当該技術に精通した者には周知であるように、コンピュータシステムに感染したマルウェアは、感染したコンピュータシステムを利用して別のコンピュータシステムに感染する。
【０００５】
コンピュータシステムのネットワークサービス、つまり、外部のネットワークに対して通信チャネルを形成するプロセスは、マルウェアの主要なターゲットであり、特に攻撃を受ける可能性が高い。場合によって、マルウェアは、コンピュータシステムをさらに危険にさらすための別のプロセスを許可する動作の実行をネットワークサービスに強要することができる。例えば、保護されていないネットワークサービスは、特定の通信ポートを開くように指示され、第三者によるコンピュータシステムへのアクセスを可能にし、結果的に、コンピュータシステムの制御を渡してしまうことになる。感染した電子メールで配信された不正なアプリケーションは、ネットワークサービスに指示してセキュリティ保護されていないポートを開くことができる。残念なことに、一度、ネットワークサービスが危険にさらされると、コンピュータがマルウェアの悪意の標的になってしまう。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記のように、マルウェアの感染を常に防げるとは限らない。しかし、コンピュータシステムが感染した場合でも、コンピュータシステムを危険にさらす、または、さらに危険にさらすネットワークサービスのネットワーク動作の実行を阻止することによって、感染の封じ込めに有効であろう。実際に、ネットワークサービスを「正常な」ネットワーク動作に制限することができれば非常に有効であろう。
【課題を解決するための手段】
【０００７】
セキュリティ保護されたネットワークサービスを提供するコンピュータシステムが提示される。コンピュータシステムは、プロセッサと、メモリと、ネットワーク動作処理モジュールとを含む。ネットワーク動作処理モジュールは、コンピュータシステム上で実行している１つまたは複数のネットワークサービスからのネットワーク動作を処理する。コンピュータシステムは、ネットワーク動作処理モジュールと連動してネットワーク動作を実行する少なくとも１つのネットワークサービスを実行するようにさらに設定される。ネットワーク動作処理モジュールは、ネットワークサービスからネットワーク動作を受信したときに、ネットワーク動作制御リストに従ってネットワーク動作が有効なネットワーク動作かどうかを判定する。ネットワーク動作が有効なネットワーク動作でないと判定されたならば、ネットワーク動作がブロックされる。代わりに、ネットワーク動作が有効なネットワーク動作であると判定されたならば、ネットワーク動作の完了が許可される。
【０００８】
コンピュータ実行可能命令を含むコンピュータ可読媒体も提示される。コンピュータ実行可能命令は、ネットワーク接続されたコンピュータ上で実行された場合に、コンピュータ上のネットワークサービスをセキュリティ保護するための方法を実行する。本方法は、ネットワークサービスからネットワーク動作を受信するステップを含む。ネットワーク動作が有効なネットワーク動作としてさらに検証されなければならないかどうかの判定が下される。ネットワーク動作がさらに検証されなければならないならば、ネットワーク動作制御リストに従ってネットワーク動作がネットワークサービスにとって有効なネットワーク動作かどうかの判定が下される。ネットワーク動作制御リストに従ってネットワーク動作が有効なネットワーク動作でないならば、ネットワーク動作がブロックされる。ネットワーク動作制御リストに従ってネットワーク動作が有効なネットワーク動作であるならば、ネットワーク動作が許可される。
【０００９】
ネットワークに接続されたコンピュータデバイス上のネットワークサービスをセキュリティ保護するための方法がさらに提示される。本方法は、コンピュータデバイス上で動作しているネットワークサービスからネットワーク動作を受信するステップを含む。ネットワーク動作が有効なネットワーク動作として検証されるべき種類のネットワーク動作かどうかの判定が下される。ネットワーク動作が有効なネットワーク動作として検証されるべき種類のネットワーク動作であるならば、ネットワークサービス識別子が取得される。ネットワークサービス識別子は、ネットワークサービスを一意的に識別する。ネットワークサービス識別子によって識別されたネットワークサービスに対応するネットワーク動作制御リスト内の１つまたは複数のエントリに従ってネットワーク動作がネットワークサービスにとって有効なネットワーク動作かどうかの判定が下される。ネットワーク動作制御リストに従ってネットワーク動作が有効なネットワーク動作でないと判定されたならば、ネットワーク動作がブロックされる。
【００１０】
上記の本発明の態様と付随する長所の多くは、下記の詳細な説明を添付の図面と併せて参照することによって、より容易に理解されると同時により良く理解される。
【発明を実施するための最良の形態】
【００１１】
上述のように、図１は、セキュリティ保護されたネットワークサービスの実装に適したコンピュータシステム１００の典型的なハードウェアコンポーネントを示すブロック図である。コンピュータシステムは数多くのコンポーネントを含むが、典型的なコンピュータシステム１００はプロセッサ１０２、メモリ１０４、およびコンピュータシステム１００とネットワーク１０８をインタフェースするためのネットワークインタフェース１０６を含む。当該技術に精通した者には周知であるように、メモリ１０４はランダムアクセスメモリ１１０とリードオンリメモリ１１２を含む。
【００１２】
不揮発性記憶装置１１４も示されている。当該技術に精通した者には周知であるように、一部のハンドヘルドコンピュータデバイスを含むコンピュータデバイスは、排他的に、その不揮発性記憶媒体として不揮発性メモリを使用するが、代表的な不揮発性記憶媒体は磁気ハードディスクドライブである。実際の媒体が何であれ、一般的に、記憶装置１１４は、オペレーティングシステム１１６（オペレーティングシステムが提供するネットワークサービスを含む）とアプリケーション１１８などの１つまたは複数のアプリケーションを保存する。
【００１３】
典型的なコンピュータシステム１００は、ネットワークインタフェース１０６を含むようにも示されている。ネットワークインタフェース１０６は、ネットワーク１０８とインタフェースするコンピュータシステムのハードウェアである。一般的に、ネットワークインタフェースは、ネットワーク通信用に特別に設計されたハードウェアとして統合されるが、ネットワークインタフェース１０６は、シリアル通信、ユニバーサルシリアルバス（ＵＳＢ）接続、赤外線接続、ＩＥＥＥ １３９４接続などにすることができる。
【００１４】
上記観点から、セキュリティ保護されたネットワークサービスの提供に適したコンピュータシステムには、パーソナルコンピュータ、ラップトップコンピュータおよびノートブックコンピュータ、携帯情報端末（ＰＤＡ）、ハイブリッド型ＰＤＡ／携帯電話機器、ネットワークに接続可能な携帯電話、ミニコンピュータおよびメインフレームコンピュータなどが含まれるが、それらに限定されない。
【００１５】
図２は、コンピュータシステム２００とネットワーク１０８の間で有効なネットワーク動作２２６のみが許可されるようにセキュリティ保護されたネットワークサービスを提供する典型的なコンピュータシステムを示すブロック図である。典型的なコンピュータシステム２００には、３つのネットワークサービス２０２〜２０６が示されている。もちろん、３つのネットワークサービスの図は、単に提示と簡略化を目的としたものであり、本発明の限定と解釈されるべきではない。
【００１６】
ネットワークサービスは、通信ポートのオープン、通信ポートに関連付けられたメモリ位置に対する情報の読み出しおよび／または書き込み、コンピュータシステム２００を対象としたデータパケットのネットワーク上での聞き取りなどのネットワーク動作２０８〜２１２として示された、さまざまなネットワーク動作を実行することによってネットワーク１０８への／からの通信を提供する。各ネットワーク動作には、ソースアドレス（送信側コンピュータシステムのＩＰアドレス）、通信チャネルのソースエンドポートを示すソースポート、プロトコル、実行すべき動作を識別する情報およびその動作に関連したデータ、宛先ポート、宛先アドレスなどの動作の完了に必要な情報が含まれるが、それらに限定されない。また、本発明の態様に従って、ネットワーク動作には、ネットワークサービス識別子などの、送信側ネットワークサービスを一意的に識別する情報が含まれる。もちろん、当該技術に精通した者には周知されていることであるが、送信側ネットワークサービスを識別するために含まれる情報に関して、このような情報は、必ずしもネットワーク動作に含まれるわけではないが、ネットワーク動作に組み込まれたり、および／またはネットワーク動作が送信される方法から特定されたりすることができる。いずれにしても、ネットワーク動作を有効なネットワーク動作に制限するためには、ネットワーク動作の送信側ネットワークサービスを識別可能にしなければならない。したがって、ネットワーク動作への識別情報の包含は、一実施形態の例示と見なされるべきであって、本発明の限定と解釈されるべきではない。下記でさらに説明されるように、送信側ネットワークサービスのＩＤは、ネットワーク動作が有効なネットワーク動作かどうかの判定に使用される１つの要素である。
【００１７】
有効なネットワーク動作２２６のみがコンピュータシステム２００とネットワーク１０８の間を通過するためには、ネットワーク動作がネットワーク動作処理モジュール２１４を通過する必要がある。ネットワーク動作２０８〜２１２のようなネットワーク動作が受信されると、ネットワーク動作処理モジュール２１４は、各動作を簡単に検査して、動作が有効なネットワーク動作かどうかを判定するためにネットワーク動作検証モジュール２１６によって評価されるべきかどうかを判定する。
【００１８】
ネットワーク動作処理モジュール２１４が、ネットワーク動作検証モジュール２１６によって検証されるべきではないと判定したネットワーク動作は、完了が許可される。代わりに、ネットワーク動作がさらに検査されなければならないならば、ネットワーク動作処理モジュール２１４は、有効性クエリ２２２をネットワーク動作検証モジュール２１６に送信する。一般的に、有効性クエリ２２２は問題のネットワーク動作を含むが、代わりに、ネットワーク動作検証モジュール２１６が、ネットワーク動作が有効なネットワーク動作２２６かどうかを判定するために必要な情報のみを含むことができる。
【００１９】
有効性クエリ２２２に応答して、ネットワーク動作検証モジュール２１６は、ネットワーク動作が有効なネットワーク動作かどうかを示す有効性応答２２４を返す。有効性応答２２４が、ネットワーク動作が有効なネットワーク動作であることを示しているならば、ネットワーク動作処理モジュール２１４はそのネットワーク動作の完了を許可する。代わりに、有効性応答２２４が、ネットワーク動作が有効なネットワーク動作でないことを示しているならば、ネットワーク動作処理モジュール２１４はそのネットワーク動作を終了させる。つまり、そのネットワーク動作の完了を許可しない。
【００２０】
ネットワーク動作が有効なネットワーク動作かどうかを判定するときに、ネットワーク動作検証モジュール２１６は、ネットワーク動作のさまざまな様態をネットワーク動作制御リスト２１８と比較する。ネットワーク動作制御リスト２１８は、満たされたならば、ネットワーク動作を有効なまたは無効なネットワーク動作として識別する一連のルールまたは条件を含む。これらのルール／条件は、特定のネットワーク動作を無効なネットワーク動作として大まかにまたは明確に識別する「ブラックリスト」ルールだけでなく、特定のネットワーク動作を有効なネットワーク動作として大まかにまたは明確に識別する「ホワイトリスト」ルールを含むことができる。所与のネットワーク動作の有効性／無効性は、ソースまたは宛先ＩＰアドレス、ネットワーク動作を発生させているネットワークサービス（そのネットワークサービス識別子ごと）、動作の種類、使用されているプロトコル、ソースエンドポイントまたは宛先エンドポイントとして使用されているポートなどを含むがそれらに限定されないネットワーク動作からの１つの要素または複数の要素の組合せに基づくことができる。これらの要素は、まとめて処理されるときに、ネットワーク動作が機能する「ネットワークオブジェクト」と見なすことができる。「ネットワークオブジェクト」は、ネットワークアクセス制御リストの一部として利用することができる。
【００２１】
ネットワーク動作の有効化／無効化に加えて、ネットワーク動作検証モジュール２１６は、ネットワーク動作とそれらが有効なネットワーク動作かどうかを監査ログ２２０に記録することもできる。それによって、監査ログ２２０は、システム管理者によってコンピュータシステム２００がマルウェアに感染された可能性の識別を含む問題領域の識別に使用されることもできる。
【００２２】
上記のように、ネットワーク動作処理モジュール２１４は、各動作を簡単に検査して、ネットワーク動作が有効なネットワーク動作かどうかを判定するためにネットワーク動作検証モジュール２１６によって動作が評価されるべきかどうかを判定する。一実施形態によれば、この判定はネットワーク動作の種類に基づく。具体的には、ある実施形態では、「エンドポイント」作成を含むネットワーク動作のみが検証のためにネットワーク動作検証モジュール２１６に送信される。「エンドポイント」作成は、当該技術に精通した者には周知であるように、コンピュータシステム２００とネットワーク１０８の間の通信チャネルを作成するおよび／または開くネットワーク動作を含む。「エンドポイント」作成ネットワーク動作は、通信ポートのオープン、リモートエンティティへの接続の構築、接続のためのポートの聞き取りなどを含むことができるが、それらに限定されない。代わりに、ネットワーク動作処理モジュール２１４は、ネットワーク動作処理モジュール２１４を通過するすべてのネットワーク動作を評価することによっていわゆる「深い」評価を実施するように構成することができる。その他のレベルの検査も実施することができる。
【００２３】
ネットワーク動作処理モジュール２１４に関して、このモジュールは、他のオペレーティングシステムコンポーネント（具体的には、ネットワーク関連オペレーティングシステムコンポーネント）とは別のコンポーネントにすることができるが、上記機能は１つまたは複数の既存のコンポーネントに適切に統合されることができる。例えば、Ｍｉｃｒｏｓｏｆｔ ＣｏｒｐｏｒａｔｉｏｎのＷｉｎｄｏｗｓ（登録商標）オペレーティングシステムソフトウェア（および他のプロバイダからのオペレーティングシステム）は、すべてのＴＣＰ、ＵＤＰ、およびＩＰベースの動作／通信が処理されるＴＣＰ／ＩＰスタック処理コンポーネント（一般的にはＴＣＰ／ＩＰスタックと呼ばれることが多い）を含む。上記機能をＴＣＰ／ＩＰスタックに統合することによって、すべてのＴＣＰ、ＵＤＰ、およびＩＰ動作がＴＣＰ／ＩＰスタックを通過するため、ネットワークサービス２０２〜２０６は、無効なネットワーク動作の実行からそれらを保護するために変更される必要がない。同様に、一般的に、他の通信プロトコルは、上記機能を統合可能な中央処理モジュールを利用する。ただし、上記ネットワーク動作処理モジュール２１４の機能を１つまたは複数の既存のコンポーネントに統合することは有益であるが、本発明はそれに限定されると解釈されるべきではない。
【００２４】
ネットワーク動作制御リスト２１８を抽出する方法は数多く存在するが、一実施形態によれば、ネットワーク動作制御リストは、個別のネットワークサービスの開発者および／またはプロバイダによって提供される情報から生成される。図３は、ネットワーク動作制御リスト２１８を生成してネットワーク動作検証モジュール２１６に供給するプロセスを示すブロック図である。具体的には、ネットワークサービス２０２〜２０６のようなネットワークサービスが開発および／または展開されるときに、ネットワークサービスの開発者またはプロバイダは、動作マニフェスト３０２〜３０６のような対応する動作マニフェストも提示する。動作マニフェストは、対応するネットワークサービスの許容されるおよび／または意図されたネットワーク動作（上記ネットワークオブジェクトのような関連情報を伴う）を記述する。例えば、ネットワークサービス２０２の開発者および／またはプロバイダが、ネットワークサービスのみがポートの８８および１４４を開いてそれらを通して通信するように意図したならば、この情報が対応する動作マニフェスト３０２に書き込まれる。さらに、各動作マニフェストは、上記ネットワークサービス識別子のような対応するネットワークサービスを識別する情報を含まなければならない。
【００２５】
動作マニフェスト３０２〜３０６は、管理者が動作マニフェストによって提供された「推奨事項」を受け入れたり、セキュリティニーズに応じてそれらを変更したりすることができる管理および構成モジュール３０８によって処理される。さらに、管理および構成モジュール３０８を使用して、管理者は、関連するセキュリティポリシーまたは最も一般的なネットワーク条件に従って、１つまたは複数のネットワークサービスに関する新しいルールおよび／または条件を追加することができる。
【００２６】
これらの動作マニフェスト、追加の条件およびルール、管理者の構成および変更から、管理および構成モジュール３０８は、動作制御リストを生成して、ネットワーク動作制御リストストア３１０にそのリストを保存する。一実施形態によれば、ネットワーク動作制御リストストア３１０はコンピュータシステムのレジストリである。コンピュータシステムのレジストリを使用するメリットの１つは、レジストリの特定の領域が管理者以外の変更から保護されることである。このセキュリティ対策は、ネットワーク動作制御リストが、さらなる破壊および無効なネットワーク動作の許可および完了につながる可能性のあるマルウェア感染によって、破壊されるのを防ぐ。
【００２７】
当該技術に精通した者には周知であるように、管理および構成モジュール３０８は、オペレーティングシステムに関するユーザモードで動作する。ただし、一般的に、ネットワーク動作処理モジュール２１４（およびネットワークサービス２０２〜２０６）は、カーネルモード、つまり、メモリ、ファイル、および周辺機器を管理したり、アプリケーションを起動したり、システムリソースを割り当てたりするオペレーティングシステムの中核で動作する。したがって、ネットワーク動作制御リストをネットワーク動作制御リストストア３１０からネットワーク動作検証モジュール２１６（ネットワーク動作処理モジュール２１４とともにカーネルモードで動作する）に転送するために、ユーザモード／カーネルモードの通信チャネルを含む促進モジュール３１２がネットワーク動作制御リスト２１８をネットワーク動作検証モジュールに転送する。
【００２８】
図４は、セキュリティ保護されたネットワークサービスを提供するコンピュータシステム内のネットワーク動作を処理するための典型的なルーチン４００を示すフローチャートである。ブロック４０２から始まって、ネットワーク動作処理モジュール２１４はネットワーク動作を受信する。判定ブロック４０４で、ネットワーク動作が有効な種類のネットワーク動作かどうかの判定が下される。上記のように、一実施形態によれば、エンドポイントを作成するネットワーク動作のみが検証される種類のネットワーク動作である。
【００２９】
ネットワーク動作がさらに検証すべき種類のネットワーク動作でないならば、ルーチン４００は、有効なネットワーク動作であると推定されたネットワーク動作が処理される、つまり、完了が許可されるブロック４１４に進む。代わりに、ネットワーク動作がさらに検証すべき種類のネットワーク動作であるならば、ブロック４０６で、有効性クエリ２２２（図２）がネットワーク動作検証モジュール２１６に転送される。
【００３０】
ブロック４０８で、ネットワーク動作検証モジュール２１６は、ネットワーク動作制御リスト２１８に従って、有効性クエリ２２２のネットワーク動作が要求中のネットワークサービスにとって有効なネットワーク動作かどうかを判定する。ネットワーク動作制御リスト２１８に従った、ネットワーク動作が有効なネットワーク動作かどうかの判定が、図５Ａおよび図５Ｂにわたって記述されている。
【００３１】
図５Ａおよび図５Ｂは、ネットワーク動作制御リスト２１８に従ってネットワーク動作が有効なネットワーク動作かどうかを判定するための典型的なサブルーチン５００を示すフローチャートである。
【００３２】
ブロック５０２から始まって、ネットワーク動作検証モジュール２１６は、有効性クエリ２２２の対象であるネットワーク動作に対応するネットワークサービスを識別する。これは、さまざまな方法で実現され得るが、一実施形態によれば、ネットワークサービスのネットワークサービス識別子がネットワーク動作に関して取得される。一実施形態では、ネットワークサービス識別子が、ネットワークサービスをホストしているプロセスのプロセストークンから取得される。例えば、Ｍｉｃｒｏｓｏｆｔ Ｃｏｒｐｏｒａｔｉｏｎの一部のバーションのＷｉｎｄｏｗｓ（登録商標）オペレーティングシステムでは、プロセストークンが、オペレーティングシステムがプロセス内で実行しているプログラムに関するＩＤおよび特権情報を保存するためのプロセスと関連付けるコンテキストである。
【００３３】
判定ブロック５０４で、識別対象のネットワークサービスに対応する特定のエントリがネットワークアクセス制御リスト２１８内に存在するかどうかの判定が下される。ネットワークサービスに対応するエントリが見つからなかったならば、ブロック５１２（図５Ｂ）で、ネットワーク動作が有効なネットワーク動作であることを示す有効性応答２２４がネットワーク動作処理モジュール２１４に返され、サブルーチン５００が終了する。識別対象のネットワークサービスに対応するエントリが存在しない場合の有効性の推定をデフォルトに設定することによって、動作マニフェストが、ネットワークサービス用に生成されていなかった、または、ネットワーク動作制御リスト２１８に含まれていなかったことが推定される。いずれにしても、ネットワーク動作が無効であるという推定がなされたならば起こり得るそのネットワークリソースのすべての動作の中断ではなく、ネットワーク動作が許可される。明らかに、代替実施形態ではデフォルトが無効性のデフォルトになり得る。同様に、識別対象のネットワークサービスに対応するエントリがネットワーク動作制御リスト２１８内に全く存在しないならば、監査ログ２２０内に特別なエントリを生成して、管理者にネットワークサービスへの特別な注意を促すことができる。
【００３４】
判定ブロック５０４で、ネットワークサービスに対応するエントリがネットワーク動作制御リスト２１８内に見つかったならば、サブルーチン５００はブロック５０６に進む。ブロック５０６で、識別対象のネットワークサービスに対応するネットワーク動作制御リスト２１８内のすべてのエントリが識別される。ブロック５０８で、識別されたエントリの中で、ネットワーク動作に最も正確に対応するエントリ（つまり、有効性クエリ２２２の対象）が識別される。判定ブロック５１０で、ネットワーク動作制御リスト２１８内の最も正確に対応するエントリに従ってネットワーク動作が許可されるかどうかの判定が下される。上記判定に従ってネットワーク動作が許可されたならば、ブロック５１２で、ネットワーク動作が有効なネットワーク動作であることを示す有効性応答２２４がネットワーク動作処理モジュール２１４に返され、サブルーチン５００が終了する。代わりに、上記判定に従ってネットワーク動作が許可されなかったならば、ブロック５１４（図５Ｂ）で、ネットワーク動作が有効なネットワーク動作でないことを示す無効性応答２２４がネットワーク動作処理モジュール２１４に返される。
【００３５】
再度、図４に関して、ネットワーク動作検証モジュール２１６から有効性応答２２４が取得された後に、判定ブロック４１０で、ネットワーク動作が有効なネットワーク動作かどうかの判定が下される。ネットワーク動作が有効なネットワーク動作でないならば、ブロック４１２で、ネットワーク動作がブロックされる。代わりに、ネットワーク動作が有効なネットワーク動作であるならば、ブロック４１４で、ネットワーク動作が処理される（つまり、完了が許可される）。その後、ルーチン４００は、ブロック４０２に戻って新しいネットワーク動作を取得して処理する。
【００３６】
以上、さまざまな実施形態が例示および説明されたが、本発明の精神と範囲から逸脱することなくさまざまな変更がなされても良いことは明らかである。
【００３７】
独占的な財産または特権が主張される本発明の実施形態は特許請求の範囲で定義される。
【図面の簡単な説明】
【００３８】
【図１】セキュリティ保護されたネットワークサービスの実装に適したコンピュータシステムの典型的なハードウェアコンポーネントを示すブロック図である。
【図２】コンピュータシステムとネットワークの間で有効なネットワーク動作のみが許可されるようにセキュリティ保護されたネットワークサービスを提供するコンピュータシステムを示すブロック図である。
【図３】ネットワーク動作制御リストを生成してネットワーク動作検証モジュールにネットワーク動作制御リストを供給するプロセスを示すブロック図である。
【図４】セキュリティ保護されたネットワークサービスを提供するコンピュータシステム内のネットワーク動作を処理するための典型的なルーチンを示すフローチャートである。
【図５Ａ】ネットワーク動作制御リストに従ってネットワーク動作が有効なネットワーク動作かどうかを判定するための典型的なサブルーチンを示すフローチャートである。
【図５Ｂ】ネットワーク動作制御リストに従ってネットワーク動作が有効なネットワーク動作かどうかを判定するための典型的なサブルーチンを示すフローチャートである。
【図１】
2009501972.tif 000003
【図２】
2009501972.tif 000004
【図３】
2009501972.tif 000005
【図４】
2009501972.tif 000006
【図５Ａ】
2009501972.tif 000007
【図５Ｂ】
2009501972.tif 000008