(57)【要約】      （修正有）【課題】コンピュータデバイス内でアプリケーション及びサービス動作を稼働するときに「最小特権」の使用を実装する、プロセス制御システムソフトウェアセキュリティアーキテクチャを提供する。【解決手段】最小特権ベースのアーキテクチャは、ソフトウェアシステムのグローバル名前空間を、サービス空間及びログオンユーザ名前空間に区分することによって、及びこれらの異なる名前空間におけるアプリケーション及びサービス間の通信を、プロセス間通信を使用して厳しく制御することによって、「サービス」プロセスを、ログオンユーザのために稼働するデスクトップアプリケーションから分離する。それぞれのサービスプロセスが、呼び出しているアプリケーションまたはユーザに関連付けられる特権に関係なく、その機能を実装するために必要とされる特権の最小の組を有することを保証するために、カスタムアカウントを使用する。【選択図】なし【特許請求の範囲】
【請求項１】
コンピュータデバイスであって、
プロセッサと、
通信ポートと、
ローカルメモリ記憶装置ユニットと、
前記通信ポートと通信可能であるサービスプロセスを含む、サービスプロセスを実装するための構成データに従って、前記プロセッサ上で実行するオペレーティングシステムと、を備え、前記通信ポートと通信可能である前記サービスプロセスが、前記ローカルメモリ記憶装置ユニットに書き込む特権を有しない、コンピュータデバイス。
【請求項２】
ユーザインターフェースを含むデスクトップをさらに含み、前記オペレーティングシステムが、前記サービスプロセスのいかなるものも前記デスクトップに直接アクセスすることを防止する規則を強化する、請求項１に記載のコンピュータデバイス。
【請求項３】
デスクトップ環境をさらに含み、前記オペレーティングシステムが、デスクトップ名前空間とは別個のサービス名前空間を強化するために実行し、前記サービス名前空間内の前記サービスプロセス及び前記デスクトップ名前空間内の１つ以上のデスクトップアプリケーションを実行するために動作する、請求項１又は請求項２に記載のコンピュータデバイス。
【請求項４】
前記コンピュータデバイスが外部メディアポートをさらに含み、前記通信ポートと通信可能である前記サービスプロセスのうちの１つが、前記外部メディアポートを介して取り外し可能記憶装置ユニットと通信する特権を有しない、請求項１〜請求項３の何れか１項に記載のコンピュータデバイス。
【請求項５】
前記コンピュータデバイスが外部メディアポートをさらに含み、前記通信ポートと通信可能である前記サービスプロセスのうちの１つが、前記外部メディアポートを介して取り外し可能記憶装置ユニットと通信する特権を有する、さらなるサービスプロセスと直接通信する特権を有しない、請求項１〜請求項３の何れか１項に記載のコンピュータデバイス。
【請求項６】
コンピュータデバイスであって、
プロセッサと、
外部メディアポートと、
ローカルメモリ記憶装置ユニットと、
前記外部メディアポートを介して取り外し可能メモリデバイスと通信可能であるサービスプロセスを含むサービスプロセスを実装するための構成データに従って、前記プロセッサ上で実行するオペレーティングシステムと、を含み、前記外部メディアポートを介して取り外し可能メモリデバイスと通信可能である前記サービスプロセスが、前記ローカルメモリ記憶装置ユニットに書き込む特権を有しない、コンピュータデバイス。
【請求項７】
ユーザインターフェースを含むデスクトップをさらに含み、前記オペレーティングシステムが、前記サービスプロセスのいかなるものも前記デスクトップに直接アクセスすることを防止する規則を強化する、請求項６に記載のコンピュータデバイス。
【請求項８】
デスクトップ環境をさらに含み、前記オペレーティングシステムが、デスクトップ名前空間とは別個のサービス名前空間を強化するために実行し、前記サービス名前空間内の前記サービスプロセス及び前記デスクトップ名前空間内の１つ以上のデスクトップアプリケーションを実行するために動作する、請求項６又は請求項７に記載のコンピュータデバイス。
【請求項９】
デスクトップアプリケーションに、前記デスクトップアプリケーションを開始するユーザアカウントに関連付けられるオペレーティングシステム特権の組とは分離して設定される、オペレーティングシステム特権の組が割り当てられ、前記デスクトップアプリケーションが割り当てられるオペレーティングシステム特権の前記組が、管理者オペレーティングシステム特権を含まない、請求項８に記載のコンピュータデバイス。
【請求項１０】
前記オペレーティングシステムが、前記デスクトップアプリケーションがオペレーティングシステム特権において昇格され得ないという規則を強化する、請求項８又は請求項９に記載のコンピュータデバイス。
【請求項１１】
コンピュータデバイスであって、
プロセッサと、
外部メディアポートと、
通信ポートと、
前記外部メディアポートを介して取り外し可能メモリデバイスと通信可能であるサービスプロセスを含むサービスプロセスを実装するための構成データに従って、前記プロセッサ上で実行するオペレーティングシステムと、を含み、前記外部メディアポートを介して取り外し可能メモリデバイスと通信可能である前記サービスプロセスが、前記通信ポートにアクセスする特権を有しない、コンピュータデバイス。
【請求項１２】
前記外部メディアポートを介して取り外し可能メモリデバイスと通信可能である前記サービスプロセスが、前記通信ポートにアクセスすることができる別のサービスに直接アクセスする前記特権を有しない、請求項１１に記載のコンピュータデバイス。
【請求項１３】
デスクトップ環境をさらに含み、前記オペレーティングシステムが、デスクトップ名前空間とは別個のサービス名前空間を強化するために実行し、前記サービス名前空間内の前記サービスプロセス及び前記デスクトップ名前空間内の１つ以上のデスクトップアプリケーションを実行するために動作する、請求項１１又は請求項１２に記載のコンピュータデバイス。
【請求項１４】
コンピュータデバイスであって、
プロセッサと、
サービスプロセス及び１つ以上のデスクトッププロセスを実装するための構成データに従って、前記プロセッサ上で実行するオペレーティングシステムと、を含み、
前記オペレーティングシステムが、デスクトップ名前空間とは別個のサービス名前空間を強化するために実行し、サービス名前空間内の前記サービスプロセス及び前記サービス名前空間とは別個のデスクトップ名前空間内の前記１つ以上のデスクトップアプリケーションを実行するために動作し、前記サービス名前空間内で実装される全てのプロセスが、プロセス間通信を介して前記デスクトップ名前空間内のプロセスと通信しなければならない、コンピュータデバイス。
【請求項１５】
前記１つ以上のデスクトップアプリケーションに、前記デスクトップアプリケーションを開始するユーザアカウントに関連付けられるオペレーティングシステム特権の組とは分離して設定される、オペレーティングシステム特権の組が割り当てられる、請求項１４に記載のコンピュータデバイス。
【請求項１６】
ユーザインターフェースを含むデスクトップをさらに含み、前記オペレーティングシステムが、前記サービスプロセスのいかなるものも前記デスクトップにアクセスすることを防止する規則を強化する、請求項１４又は請求項１５に記載のコンピュータデバイス。
【請求項１７】
前記１つ以上のデスクトップアプリケーションに、前記デスクトップアプリケーションを開始するユーザアカウントに関連付けられるオペレーティングシステム特権に依存しない、前記オペレーティングシステム特権の同じ組が割り当てられる、請求項１４〜請求項１６の何れか１項に記載のコンピュータデバイス。
【請求項１８】
前記コンピュータデバイスがローカルメモリ記憶装置ユニットを含み、前記オペレーティングシステムが、デスクトップアプリケーションが前記ローカルメモリ記憶装置ユニット内に格納されるサービスファイルまたはサービスフォルダに書き込むことを防止する規則を強化する、請求項１４〜請求項１７の何れか１項に記載のコンピュータデバイス。
【請求項１９】
コンピュータデバイスであって、
プロセッサと、
サービスプロセス及び１つ以上のデスクトッププロセスを実装するための構成データに従って、前記プロセッサ上で実行するオペレーティングシステムと、を含み、
前記オペレーティングシステムが、前記サービスプロセスを呼び出すプロセスに関係なく、それぞれのサービスプロセスが割り当てられるカスタムサービスアカウントに基づいて、前記サービスプロセスのためのオペレーティングシステム特権を強化し、前記オペレーティングシステムが、どのユーザアカウントの組がデスクトップアプリケーションを呼び出すかに関わらず、前記デスクトップアプリケーションのために使用される、前記デスクトップアプリケーションのために定義されるオペレーティングシステム特権の標準の組を使用して、前記１つ以上のデスクトップアプリケーションのそれぞれのためのオペレーティングシステム特権を強化し、メッセージが前記デスクトップアプリケーションのユーザを特定するユーザＩＤを含むように、デスクトップアプリケーションを送信することが、受信者プロセスに前記メッセージを送信し、前記メッセージが前記デスクトップアプリケーションから受信プロセスに中継されるにつれて、前記メッセージが多数の異なるサービスプロセスのそれぞれによって処理される際に、前記ユーザＩＤが前記メッセージと共に流れる、コンピュータデバイス。
【請求項２０】
前記ユーザＩＤのユーザＩＤ情報が、通信リンクを介して前記メッセージを送信するために、通信ポートにアクセスするサービスプロセスを通すことを含めて、それらの最終目的地までの複数のプロセスを通してメッセージに追従する、請求項１９に記載のコンピュータデバイス。
【請求項２１】
前記ユーザＩＤのユーザＩＤ情報が、前記メッセージをメッセージ受信者に転送するために使用される１つ以上のプロセスに関連付けられる、前記オペレーティングシステム特権及び／またはアクセス許可を制御しない、請求項１９又は請求項２０に記載のコンピュータデバイス。
【請求項２２】
前記ユーザＩＤの情報が、前記メッセージを前記受信プロセスに転送するために使用される、１つ以上のプロセスに関連付けられる前記オペレーティングシステム特権に影響を与えない、請求項１９〜請求項２１の何れか１項に記載のコンピュータデバイス。
【請求項２３】
前記オペレーティングシステムが、デスクトップアプリケーションがオペレーティングシステム特権において昇格され得ないという規則を強化する、請求項１９〜請求項２２の何れか１項に記載のコンピュータデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、概して、プロセスプラントコンピュータシステムに、ならびにより具体的には、プロセスまたはプラント環境における、コンピュータデバイス等のデバイス内にソフトウェアプロセスの動作を安全にするための方法及び装置に関する。
【背景技術】
【０００２】
発電、化学、石油、または他のプロセスにおいて使用されるもののような、分散または拡張性プロセス制御システム等の、プロセス制御システムは、互いに、プロセス制御ネットワークを介して少なくとも１つのホストまたはオペレータワークステーションに、及びアナログ、デジタル、または組み合わせられるアナログ／デジタルバスを介して１つ以上のフィールドデバイスに、通信可能に連結される１つ以上のコントローラを、典型的に含む。例えば、弁、弁ポジショナー、スイッチ、及びトランスミッタ（例えば、温度、圧力、及び流量センサ）であり得る、フィールドデバイスは、プロセスまたはプラント内で、弁を開けることまたは閉めること、デバイスの入切を切り替えること、及びプロセスパラメータを測定すること等の機能を行う。コントローラは、フィールドデバイスによって作られたプロセスもしくはプラント測定、及び／またはフィールドデバイスに関連付けられる他の情報、を示す信号を受信し、コントロールルーチンを実装するためにこの情報を使用し、その後、プロセスまたはプラントの動作を制御するためにバスを介してフィールドデバイスに送信される制御信号を生成する。フィールドデバイス及びコントローラからの情報は、典型的に、オペレータが、プラントの現在の状況を確認すること、プラントの動作を修正すること等の、プロセスまたはプラントに関する任意の所望の機能を行うことができるようにするために、オペレータワークステーションによって実行される１つ以上のアプリケーションに使用可能にされる。
【０００３】
プロセスコントローラは、典型的にプロセスプラント環境内に位置付けられるが、フィールドデバイスによって作られるもしくはそれに関連付けられるプロセス測定もしくはプロセス変数、及び／またはフィールドデバイスに関する他の情報を示す信号を受信し、この情報を使用してコントローラアプリケーションを実行する。コントローラアプリケーションは、例えば、プロセス制御決定を行う異なる制御モジュールを実装し、受信される情報に基づいて制御信号を生成し、ＨＡＲＴ（登録商標）及びＦＯＵＮＤＡＴＩＯＮ（登録商標）フィールドバスフィールドデバイス等の、フィールドデバイス内の制御モジュールまたはブロックと協調する。プロセスコントローラ内の制御モジュールは、通信ラインまたは他の信号経路を介してフィールドデバイスに制御信号を送信し、それによってプロセスの動作を制御する。
【０００４】
フィールドデバイス及びプロセスコントローラからの情報は、プロセス制御ネットワークを介して、例えばオペレータワークステーション、保全ワークステーション、サーバ、パーソナルコンピュータ、携帯デバイス、データヒストリアン、レポート生成装置、集中データベース等の、１つ以上のハードウェアデバイスにもまた使用可能にされる。ネットワークを介して通信される情報は、オペレータまたは保全員が、プロセスに関する所望の機能を行うこと、及び／またはプラントの動作を確認することができるようにする。例えば、この情報は、オペレータがプロセス制御ルーチンの設定を変更できるようにし、プロセスコントローラまたはスマートフィールドデバイス内の制御モジュールの動作を修正し、プロセスの現在状況またはプロセスプラント内の特定のデバイスのステータスを確認し、フィールドデバイス及びプロセスコントローラによって生成される警告を確認し、人材育成またはプロセス制御ソフトウェアの試験の目的のためにプロセスの動作を模擬し、プロセスプラント内の問題またはハードウェア障害を診断する。
【０００５】
フィールドデバイスはたいてい、例えばイーサネット構成ＬＡＮであり得る、プロセス制御ネットワークを介して他のハードウェアデバイスと通信する。ネットワークは、プロセスパラメータ、ネットワーク情報、及び他のプロセス制御データを、様々なネットワークデバイスを通して、プロセス制御システム内の様々なエントリに中継する。典型的なネットワークデバイスには、ネットワークインターフェースカード、ネットワークスイッチ、ルーター、サーバ、ファイヤウォール、コントローラ、及びオペレータワークステーションが挙げられる。ネットワークデバイスは、典型的に、そのルーティング、フレームレート、タイムアウト、及び他のネットワークパラメータを制御することによって、ネットワークを通るデータの流れを容易にするが、プロセスデータ自体を変更することはない。プロセス制御ネットワークが大きさ及び複雑性において成長するに伴い、ネットワークデバイスの数及び種類が対応して増加する。システム及びネットワークの成長の結果として、セキュリティ及び管理が徐々に難しくなってくることがある。例えば、それぞれのネットワークデバイスは、アクセスポイント、またはプロセス制御システム構成要素及び他のネットワークデバイスを、ネットワークを介して互いに物理的に相互接続するためのポートを提供する、１つ以上の通信ポートを含み得る。しかしながら、これらのポートまたは接続のうちのいくつかは、制御デバイスを、インターネット等の公的にアクセス可能なネットワークに接続するために、及び携帯用メモリデバイスを制御システムデバイスに接続するために、使用され得る。したがって、デバイス上のオープンポートは、他のデバイスを追加することによりネットワーク拡張のためのアクセスポイントとなり得、あるいは、悪意もしくはそうでない実体が、ネットワークにアクセスし、望ましくなく潜在的に有害なネットワークトラフィックを始動させること、または、プラント制御システム内で深刻な問題を引き起こし得るマルウェア（例えば悪意のプログラム、スパイもしくはデータ収集プログラム、アドウェア、または他の所望でない及び潜在的に危険なソフトウェア）を導入することを可能にし得る。複雑なプロセス制御システムに亘る通信を制御するネットワーク内のデバイス上の全てのポートへのアクセスを効果的に監視または制御することは、ネットワークデバイス及び関連付けられるアクセスポイントの数が増加するに伴い、急速に非実用的になる。
【０００６】
同様に、典型的な産業制御システムでは、ワークステーション／サーバは、プラントネットワークと、制御及びデータ取得機能を行う埋め込みデバイス（例えばコントローラ、ＰＬＣ、ＲＴＵ）との間に、戦略的に配置され、よってこれらのワークステーション／サーバの主要なセキュリティ目的は、マルウェアが制御システムに入り埋め込みデバイスに有害に影響を与えることを防止すること、ならびに、マルウェアがプラントデータベース内に格納される構成及び履歴データを変更することを防止することである。「ウイルス対策」ソフトウェア及び「ホワイトリスティング」等の、多数のセキュリティ特徴が、この目的に取り組むために使用され得るが、これらのセキュリティ特徴は、典型的に十分ではない。例えば、ウイルス対策ソフトウェアは、「ゼロデイ」ウイルスに対して保護することができず、ホワイトリスティングは非認可アプリケーションが稼働することを防止するだけである。さらに、これらのセキュリティ特徴はプラントオペレータの活動を妨げる潜在性を有するため、これらの特徴のうちのいくつかは、プロセス制御システムにおいて動作的に実用的になるには侵入性が高すぎる。
【０００７】
一般的には、ゼロデイ攻撃の中心にあるもの等のマルウェアは、典型的に、特定のデバイスにおける制御システムに、外部メモリデバイス（取り外し可能フラッシュドライブ等）を介して、またはこれらのメモリデバイス、ネットワークポート、もしくは直接データリンクにアクセスする特権もしくは認可を有する、アプリケーションもしくはサービスの動作によって通信接続を介して導入される。（本特許の目的のために、通信接続は、通信ネットワーク接続を介して、またはモデム接続等の直接データリンクを介して行われる接続を含む。）その後、マルウェアは、他のデバイスに伝播される（例えば通信または携帯用メモリデバイスを介して）こと、及び／またはマルウェアに感染するアプリケーションもしくはサービスのセキュリティ特権を使用してデバイス内で実行されること、ができる。さらに、マルウェアはローカルに再起動の後に自身が再び実行されることができるようにし続けることがある。いくつかの場合では、マルウェアは、その下でアプリケーションまたはサービスが実行されているアカウントの特権を使用して、ホスト、例えば感染したアプリケーションまたはサービス、の特権を拡大させ得、そうすることで、マルウェアは、プロセス制御デバイスまたはシステム内で、より高い特権を必要とし、したがって典型的に制御システム動作により有害である、行動または動作を行うことができ得る。任意の事象では、すでに稼働しているアプリケーションに感染するゼロデイ攻撃は、これらの種類の攻撃を防止するための良好な技術が無いため、プロセス制御システムにおいて主要な問題を提供する。しかしながら、これらの攻撃は、これらの攻撃がプラント制御システムの進行中の動作を混乱させる場合、プロセスプラント内で深刻でかつ潜在的に破壊的またはさらには致命的な効果を有し得る。
【発明の概要】
【０００８】
プロセス制御システムは、ゼロデイまたは他の種類のマルウェア攻撃を防止することにより効果的な、セキュリティ特徴の新しい組またはソフトウェアセキュリティアーキテクチャを使用する。一般的に言うと、その新しいセキュリティ特徴またはアーキテクチャは、ワークステーション、サーバ、または他のデバイスに感染し得るマルウェアの衝撃を低減させるために、例えばワークステーション、サーバ、データベース、コントローラ、フィールドデバイス内等の、任意の特定の制御システムデバイス内で、アプリケーション及びサービスの稼働を実行するときに、本明細書で「最小特権」と称されるものの使用を実装する。本明細書における「特権」という用語は、オペレーティングシステム特権／権利及びアクセス制御許可の両方を含む。例えば、ユーザは遠隔でログオンするまたは別のユーザに扮する権利（特権）を認められ得、かつ特定のファイルを読み取る／書き込む／実行するためのアクセス（許可）もまた認められ得る。
【０００９】
一般的には、最小特権ベースのセキュリティ特徴またはアーキテクチャは、例えばデバイス（例えばコントローラ、ワークステーション、サーバ等）のグローバル名前空間を、サービス名前空間に、及びもし存在すれば（例えばデスクトップアプリケーション内等）ログオンユーザの名前空間に、区分することによって、「サービス」プロセスを、ログオンユーザ（ローカルまたは遠隔）のために稼働するデスクトップアプリケーションから分離する。その後アーキテクチャは、感染したサービスまたはアプリケーションが、他のサービスまたはアプリケーションに直接感染するまたはそれらを崩壊させることができるようになることを防止するために、プロセス間通信を使用して、これらの異なる名前空間内のプロセス（例えばアプリケーション及びサービス）間の通信を厳しく制御する。具体的には、新しいセキュリティアーキテクチャは、この名前空間区分を、デスクトップアプリケーションがサービス名前空間内の対象に直接アクセスすること及びその逆を防止するために使用する。
【００１０】
なおもさらには、新しいセキュリティアーキテクチャは、サービス及びデスクトップアプリケーションに認められる特権を、感染したサービスまたはアプリケーションの能力が他のサービスまたはアプリケーションに有害に影響を与えるまたは感染することができることを限定または低減する様式で、制限する。一般的には、セキュリティアーキテクチャは、サービスまたはアプリケーションまたは他のプロセスのオペレーティングシステム特権を、その下でサービスまたはアプリケーションまたは他のプロセスが、稼働するまたは生成される、アカウントに与えられる特権の指定のサブセットに限定し、ログオンユーザによって開始されるアプリケーションの特権をそのユーザに関連付けられる特権のサブセットに制限し、デスクトップアプリケーション（ログオンユーザの下で稼働している）を介して特権昇格を行うことを防止する。ある場合では、ソフトウェアセキュリティシステムは、通信ポートまたは外部メディアポートへの（例えば、ＵＳＢポート等の外部メディアポートを介して接続される取り外し可能記憶装置デバイスへの）全てのアクセスが、制限された特権を有するサービスを通して（かつ絶対にデスクトップアプリケーションによってではなく）行われなければならないという制限を強化し、ここにおいて、制限されたサービスの特権は、サービスが、ローカルデータ記憶装置（例えばディスク）に書き込むこと、他の通信ネットワークポートもしくは取り外し可能メディアポートを介して通信すること、または管理特権を用いて作用すること、を防止する。感染が、ローカルディスクまたは他のメモリ上に自身を格納することができない、管理機能を行うことができない、デスクトップにアクセスすることができない、感染が外部メディアポートを介して取り外し可能記憶装置デバイスから入来した場合に通信ネットワークを介して伝播されることができない、ならびに感染が通信ポートを介して通信接続から入来した場合に、外部メディアポートを介して取り外し可能記憶装置デバイス上に格納されること、または別の通信接続に伝播されることができないため、この様式においてサービスが感染した場合、感染は良性となる。
【００１１】
したがって、新しいセキュリティアーキテクチャは、どのユーザアカウント及びどのプロセス（サービスまたはデスクトップ）が、オペレーティングシステム及びそのサブシステムへの呼び出しを通してセキュリティ可能物体にアクセスすることを認可されるかを強化する、アクセス制御を使用し、より低い特権プロセスがより高い特権プロセスにコードを注入することを防止する機構を含む。そうすることによって、セキュリティアーキテクチャは、一般的に「グループ」と呼ばれる、ユーザアカウント及びサービスアカウントが、他のグループアカウントからの引継ぎに属することを可能にするアカウントを、含むまたは使用する。
【００１２】
これらのセキュリティ特徴は、単独でまたは組み合わせで、マルウェアが、ネットワーク接続または取り外し可能／携帯用記憶装置媒体接続（ＵＳＢポート等）にアクセスしているデスクトップアプリケーションの動作を通して、システムへインポートされることを、不可能でない場合は困難にするため、これらのセキュリティ特徴のうちの１つ以上の組み合わせは、ゼロデイウイルス攻撃等のウイルス攻撃及び他のマルウェアへの感受性がより低い、プロセス制御システムまたはプロセスプラント内の、より安全なソフトウェア環境をもたらす。これらのセキュリティ特徴は、マルウェアがネットワークまたは外部デバイスを介して内部データ記憶装置デバイスにインポートされ、マルウェアが、サービスが、そのサービスを必要としているアプリケーションに必要とされない、デバイス、記憶装置媒体、またはプロセスにアクセスすることを可能にするために、サービスの特権を拡大させる能力、等を限定もまたする。
【００１３】
したがって、これらの特徴を使用して、新しいソフトウェアアーキテクチャ設計は、プロセス制御自動化システムワークステーションにおいて、及びサーバにおいて、稼働するサービス及びデスクトップアプリケーションを、それらのマルウェア攻撃プロファイルまたは表面を低減させる目的のために、区分する（単離させる）。さらに、サービスまたはサービスによって生成された別のプロセスが感染した場合は、それは、まだしていないあらゆることをするために必要な特権を有さなくなり、かつそれはそれが直接必要としていないアクセスリソースへの許可を有さなくなる。さらに、デスクトップアプリケーションが感染した場合、デスクトップアプリケーションはオペレーティングシステムの特権機能に直接アクセスすることができなくなり、ネットワークまたは外部メディアポートを介して接続される取り外し可能記憶装置デバイスに直接書き込むこともできなくなる。代わりに、デスクトップアプリケーションは、自身のために、サービス及びそれが生成したプロセスによって、特権機能及びリソースへのアクセス制御の追加のレベルを有効にし、提供するように設計される行動が行われることを要求しなければならなくなる。
【図面の簡単な説明】
【００１４】
【図１】１つ以上のオペレータ及び保全ワークステーションと、サーバと、コントローラと、フィールドデバイスと、最小特権ベースのソフトウェアセキュリティアーキテクチャ及び本明細書に記載される機能を実装するように構成される他のネットワークデバイスと、を含む、分散プロセス制御システム及びプロセス自動化ネットワークを有する、プロセスプラントの例示的なブロック図である。
【図２】アプリケーション、サービス、及びプロセス制御ソフトウェアアーキテクチャ内で行われる他のプロセスに関して、改良したセキュリティ機能を実装するために実装される、様々な名前空間及びセキュリティ制限を例示する、プロセス制御プラント内のワークステーション／サーバ／コントローラデバイスの例示的なブロック図である。
【図３】本明細書に記載される最小特権ソフトウェアセキュリティアーキテクチャに従う、様々な異なるアプリケーション及びサービスに関連付けられる特権の組を画定する、グループアカウント及びカスタムアカウントを含むアカウントの図を例示する。
【図４】図３のアカウントを使用した様々なサービス及びアプリケーション間の通信接続を例示する、図２のシステムのワークステーションのうちの１つのソフトウェア及びハードウェア構成要素を例示する、例示的なアーキテクチャ図である。
【発明を実施するための形態】
【００１５】
図１は、例えば、プロセスプラント内に配設されるプロセス制御システムまたはプロセス自動化システム１００の模式図であり、ここにおいて、様々なコンピュータデバイスが、ソフトウェアセキュリティを増強させるため、ならびにコンピュータ／ネットワーク管理及び保全を容易にするために、様々なソフトウェアセキュリティ特徴を受け得る。より具体的には、プロセス制御システム１００は、プロセス制御通信ネットワーク１３０を介して、１つ以上のホストワークステーションまたはコンピュータ１２０〜１２２（任意の種類のパーソナルコンピュータ、ワークステーション、サーバ等であり得る）に通信可能に接続される、１つ以上のプロセスコントローラ１１０と、１つ以上のプロセスプラントデータベース１１２（データヒストリアン等）と、を含む。コントローラ１１０及びデータベース１１２は、１つ以上のネットワークインターフェースカード１３２を介して、通信ネットワークまたはバス１３０（例えばイーサネット通信ネットワークであり得る）に接続し得る。なおもさらには、コントローラ１１０は、入力／出力（Ｉ／Ｏ）カード１４２を介して、プロセスプラントまたは制御システム内のフィールドデバイス１４０、１４３、及び１５４に接続され得る。データベース１１２は、任意の所望の種類のメモリと、データを格納するための任意の所望のまたは既知のソフトウェア、ハードウェア、またはファームウェアと、を有する、任意の所望の種類のデータ収集ユニットまたはメモリデバイスであり得る、１つ以上のデータヒストリアンを含み得る。さらに、データベース１１２は、ワークステーションまたはサーバ１２０〜１２２のうちの１つ以上から分離しているか、またはその一部であり得る。例えば、Ｆｉｓｈｅｒ  Ｒｏｓｅｍｏｕｎｔ  Ｓｙｓｔｅｍｓ  Ｉｎｃ．によって販売されるＤｅｌｔａＶ（商標）コントローラであり得る、コントローラ１１０は、例えばイーサネット接続１３０または任意の他の所望の通信ネットワークを介して、１つ以上のネットワークカードまたはデバイス１３２によって、ホストコンピュータ１２０〜１２２に通信可能に接続される。ネットワークデバイス１３２は、ネットワークインターフェースカード、ネットワークスイッチ、ルーター、ファイヤウォール、または基礎的データを変更せずにネットワーク１３０を介するデータ送信を容易にする任意の他のデバイス、のうちの１つ以上を含み得る。
【００１６】
図１に例示するように、サーバ１２２は、通信またはプロセス制御ネットワークの任意の部分に、かつプロセスプラントの任意の部分内に物理的に位置付けられ得る、様々なネットワークデバイスに接続され、本明細書に記載されるセキュリティ機能の任意の部分を含み得る。この実施例では、通信ネットワーク１３０は、典型的に、制御システム内に含まれるデバイスのみが接続される閉鎖ローカルエリアネットワーク（ＬＡＮ）であり、配線または無線技術を使用して実装され得る。さらに、コントローラ１１０は、例えば標準４〜２０ｍＡデバイスプロトコル、イーサネットプロトコル、及び／または例えばＦＯＵＮＤＡＴＩＯＮ（登録商標）フィールドバスプロトコル（フィールドバス）、ＨＡＲＴ（登録商標）プロトコル、ＷｉｒｅｌｅｓｓＨＡＲＴ（登録商標）プロトコル、Ｐｒｏｆｉｂｕｓプロトコル、ＣＡＮプロトコル等の、任意のスマート通信プロトコルに関連付けられる、任意の所望のハードウェア及びソフトウェアを使用して、フィールドデバイス１４０に通信可能に接続される。
【００１７】
フィールドデバイス１４０、１４３、及び１５４は、例えばセンサ、弁、トランスミッタ、ポジショナー等の任意の種類のデバイスであり得、一方で、Ｉ／Ｏカード１４２は、任意の所望の通信またはコントローラプロトコルに従う任意の種類のＩ／Ｏデバイスであり得る。図１に例示される実施形態では、フィールドデバイス１４０は、モデムまたはＩ／Ｏカード１４２を用いて、標準ＨＡＲＴまたはアナログ４〜２０ｍＡライン１４１を介して通信する、ＨＡＲＴまたは４〜２０ｍＡデバイスであり、一方で、フィールドデバイス１４３は、デジタルバス１４５またはＩ／Ｏカード１４２を伴うＩ／Ｏネットワークを介して、フィールドバスプロトコル通信を使用して、通信する、ＦＯＵＮＤＡＴＩＯＮ（登録商標）フィールドバスフィールドデバイス等のスマートデバイスである。当然のことながら、フィールドデバイス１４０及び１４３は、将来に開発される任意の標準またはプロトコルを含む、任意の他の所望の標準（複数可）またはプロトコルに従い得る。さらに、フィールドデバイス１４０及び１４３は、ＷｉｒｅｌｅｓｓＨＡＲＴ（登録商標）プロトコル等の、任意の所望の無線通信プロトコルを介して、コントローラ１１０に、無線接続され得る。
【００１８】
さらに、フィールドデバイス１５４のうちの１つ以上は、例えばゲートウェイ１５３のような専用ネットワークデバイスを介して、デジタルバス１４５に接続され得る。例えば、フィールドデバイス１５４は、ＨＡＲＴコマンドを理解するのみであり得、Ｉ／Ｏネットワーク１４５がＰＲＯＦＩＢＵＳプロトコルを実装し得る。この端に、ゲートウェイ１５３は双方向性ＰＲＯＦＩＢＵＳ／ＨＡＲＴ翻訳を提供し得る。
【００１９】
コントローラ１１０は、その内部に１つ以上のプロセッサを有するプラント内の多数の分散コントローラのうちの１つ以上であり得るが、１つ以上のプロセス制御ルーチンを実装または監督する。このルーチンは、コントローラ１１０内に格納されるまたはそれに関連付けられる、１つ以上の制御ループを含み得る。コントローラ１１０は、デバイス１４０、１４３、及び１５４と、ならびにネットワーク１３０を通してホストコンピュータ及びサーバ１２０〜１２２及びデータヒストリアンまたは他のデータベース１１２及び任意の所望の様式でプロセスを制御する関連付けられるネットワークデバイス１３２と、通信もまたする。本明細書に記載される、任意の制御ルーチンまたは要素は、所望の場合、異なるコントローラまたは他のデバイスによって実装または実行される部位を有し得るということに留意するべきである。同様に、プロセス制御システム１００内に実装されるものとして本明細書に記載される制御ルーチンまたはエレメントは、ソフトウェア、ファームウェア、ハードウェア等を含む、任意の形態をとり得る。この説明の目的のために、プロセス制御要素は、例えば、任意のコンピュータ可読媒体上に格納されるルーチン、ブロック、またはモジュールを含む、プロセス制御システムの任意の部位または部分であり得る。制御ルーチンは、モジュール、またはサブルーチン、サブルーチンの部位（コードのライン等）等の制御手順の任意の部位であり得るが、任意の所望のソフトウェア形式で、例えばラダー論理、シーケンシャルファンクションチャート、機能ブロック図、対象配向プログラミング、または任意の他のソフトウェアプログラミング言語または設計パラダイムを使用して、実装され得る。同様に、制御ルーチンは、例えば１つ以上のＥＰＲＯＭ、ＥＥＰＲＯＭ、特定用途向け集積回路（ＡＳＩＣ）、または任意の他のハードウェアまたはファームウェア要素にハードコードされ得る。なおもさらには、制御ルーチンは、グラフィック設計ツール、または任意の他の種類のソフトウェア／ハードウェア／ファームウェアプログラミングもしくは設計ツールを含む、任意の設計ツールを使用して設計され得る。したがって、コントローラ１１０は、任意の所望の様式で制御戦略または制御ルーチンを実装するように構成され得る。
【００２０】
なおもさらには、図１に例示されるように、プロセス制御システムサーバ１２２ならびにワークステーション１２０及び１２１が、プラント情報技術システムに、ビジネスシステムに、またはプラント内の他のネットワークシステムに、接続することを可能にするために、さらなる通信ネットワーク１６０は、サーバ１２２ならびにワークステーション１２０及び１２１に接続される。
【００２１】
一般的に言うと、ワークステーション及びサーバ１２０〜１２２ならびに図１のネットワーク内の他のデバイスは、（１）ワークステーション、サーバ、データベース、コントローラ等の図１の様々なコンピューティングデバイス内で実行される、サービス及び他のより低いレベルのプロセスを、デスクトップアプリケーションから、様々な様式で単離または分離させるために動作する、ならびに（２）サービス及びデスクトップアプリケーションの特権を、これらの機能を実装するためにこれらのプロセスによって必要とされるものにのみ制限する、本明細書において最小特権ベースのセキュリティアーキテクチャと称されるものを、実装する。この最小特権ベースのセキュリティアーキテクチャは、マルウェアが、プロセス制御システムデバイスへとインポートされ、その内部でインスタンス化または実行されることができるようになることを、防止することに役立つ。一般的には、任意のコンピューティングデバイス内のデスクトップアプリケーション及びサービスまたは他のプロセスは、プロセス制御システムのそれぞれのコンピュータデバイスのグローバル名前空間を、１つ以上のサービス名前空間及び１つ以上のユーザ（デスクトップアプリケーション）名前空間に区分することによって、単離され得る。この区分は、デスクトップアプリケーションが、サービスによって使用される名前空間内に画定される対象（例えばミューテックス）に直接アクセスすることができるようになることを防止し、サービスが、デスクトップアプリケーションによって使用されるデスクトップ名前空間のために画定される対象（例えばデスクトップ環境内）に直接アクセスすることができるようになることを防止する。代わりに、オペレーティングシステムによって実装される様々なデスクトップアプリケーション及びサービス間の全ての通信は、通信が実装される、デバイス／ワークステーション／サーバへの通信を制限し、よって、あるアプリケーションまたはサービスが崩壊する、感染する、または他のアプリケーション及びサービスの動作（例えばメモリ空間）に干渉することを、防止するまたはその能力を低減させる、信頼性のあるメッセージベース通信構造を提供する、公知でかつ信頼性のあるプロセス間通信（ＩＰＣ）を介して通信しなければならない。この様式で、デスクトップアプリケーションを介して導入されるマルウェアは、サービスまたは他のより低いレベルのプロセスへ容易にインポートされ得ず、逆もまた同じである。
【００２２】
なおもさらには、本明細書に記載されるセキュリティベースアーキテクチャは、それぞれのサービス及びデスクトップアプリケーションに認められる特権を、その下でサービスまたはアプリケーションが稼働されるまたは呼び出しされるログオンユーザアカウントに与えられる特権のサブセット等の、特権の指定のサブセットに限定することによって、システムへ導入されるまたはその中で拡張することから、マルウェアの能力を制限／限定する。例えば、通常管理者アカウントの下で稼働されるサービスが、典型的に、管理者の特権の全てを有する場合、新しく安全にされるソフトウェアアーキテクチャは、サービスのうちのいくつかまたは全てを、それが行うように設計される機能を行うためにそのサービスによって必要とされる特定の特権のみを用いて、全ての管理者特権を用いずに、生成または稼働させる。なおもさらには、通信ネットワークアクセス（通信ネットワークポートを介する）、または取り外し可能メモリポート（例えばＵＳＢポート）を介する取り外し可能データ記憶装置へのアクセスを伴うサービスは、非常に限定される特権を伴うアカウントの下で稼働され、ここにおいて、これらのサービスは、管理特権を有せず、ローカルディスク（すなわちローカルメモリ）記憶装置（書き込み）特権を有せず、通信ネットワークポートまたは取り外し可能メモリポートのうちの他方を介して直接通信することができない。この特徴は、マルウェアがより高い特権によりユーザによって呼び出されるサービスを使用すること、そのサービス自体によって必要とされないデバイスまたは機能へのアクセスを有することができるようになることを防止する、または少なくともその能力を低減させ、よって、マルウェアが他のデバイスに感染する、またはその下でサービスが実行されるまたは呼び出されるログオンユーザアカウントのみを原因としてより高い特権コマンドもしくはサービスを実行する能力を限定する。
【００２３】
同様に、このセキュリティ特徴は、特権昇格を防止するために、ログオンユーザによって開始されるデスクトップアプリケーション等の、アプリケーションのための特権を自動的に制限し得る。いくつかの場合では、セキュリティアーキテクチャは、ユーザへの昇格特権の要求がそのアプリケーションが感染したことを示すようにするために、任意の及び全てのデスクトップアプリケーションが、特権において昇格されることができるようになることを防止する。一般的には、デスクトップアプリケーション（ログオンユーザアカウントの下で稼働される）による特権昇格は、昇格を必要とする動作を行うために、現在、典型的に認可ユーザの承認を必要とする。より新しいオペレーティングシステムは、典型的に、管理者を含むログオンユーザによって開始されるアプリケーションに、標準ユーザ特権のみ（昇格／管理者特権はなし）を認めること、及び、ユーザによって特異的に認可されるために特権における昇格を必要とすることによって、この特徴を強化する。新しいアーキテクチャは、あらゆる事象においてデスクトップアプリケーション特権昇格を防止することができ、それによって、マルウェアがシステム内で自動的に特権を昇格し、さらなるプロセスまたはデバイスに感染するためにこの昇格を使用する能力を防止する、別のレベルのセキュリティを提供する。
【００２４】
同様に、本明細書に記載される、安全にされるアーキテクチャは、オペレーティングシステム及びそのサブシステム（例えばファイル、ミューテックス、事象）への呼び出しを通して、セキュリティ可能対象にアクセスするために、どのユーザアカウント及びどのプロセス（サービスまたはデスクトップ）が認可されるかを強化する、アクセス制御を使用することもまたあり、より低い特権プロセスがより高い特権プロセスへとコードを注入することを防止する機構を使用し得、特権／許可引継ぎを可能にするために、一般的に「グループ」と呼ばれるグループベースのアカウントを使用し得る。例えば、ユーザＡは、グループＣに属するグループＢに属し得る。したがってユーザＡはＢ及びＣの両方から特権及び許可を引継ぎする。しかしながら、これらの特権がログオンユーザアカウント側で共有されるまたは携帯用である一方で、これらの特権は、これらのアカウントの下でのアプリケーション稼働からメッセージを受信する、サービスまたはプロセスに伝播されず、これは、サービス及びプロセス（これらのアプリケーションから受信されるメッセージに応答してオペレーティングシステムによってインスタンス化されるもの等）が、昇格特権を有することができるようになることを防止する。したがって、一般的には、より高い特権を伴うアカウントの下でのサービス及びプロセス（ならびに多くの場合はアプリケーション）の稼働は、サービスまたはアプリケーションまたは他のプロセスの意図される動作に必要な特権のサブセット、すなわち最小特権に限定されるように、オペレーティングシステムによって生成または実行されるサービス及びプロセスのための特権は、ログオンユーザアカウントのために画定される特権とは分離して画定される。
【００２５】
一般的に、図２を参照すると、本明細書に記載されるセキュリティ特徴及び安全にされるアーキテクチャは、図１のデバイスのうちの任意のもの等の、サーバまたはワークステーションまたはコントローラにおいて実装されるとして例示される。しかしながら、本明細書に記載されるセキュリティの概念は、同じまたは同様の様式で、例えばワークステーション、データベースサーバ等の、他の種類のコンピュータデバイスまたは機械において実装され得るということが理解されるであろう。より具体的には、図２は、そのうちの１つが例えば図１のネットワーク１３０であり得る、０個以上のネットワーク／データリンク２３０に接続される、ワークステーション／サーバ／コントローラ２２０を例示する。さらには、この場合、サーバ／ワークステーション２２０は、図２においてワークステーション／サーバ／コントローラ２２０の内部にあるまたはこれに直接接続されるとして例示される、１つ以上のローカルデータメモリ２３５に接続される。さらに、ワークステーション／サーバ／コントローラ２２０は、ユーザインターフェースまたはディスプレイデバイス２３７を含むかまたはそれに接続され得、かつ、０個以上の取り外し可能メディアポート２３９を含む。それを通して外部または取り外し可能メモリデバイスがデバイス２２０に接続され得る、取り外し可能メディアポート（複数可）２３９は、ＵＳＢポート、ＣＤまたはＤＶＤドライブへの標準または占有接続、外部ハードドライブ、フラッシュまたは固相メモリドライブ、磁気ドライブ等を含む、任意の種類のメモリアクセスポート（複数可）を含むかまたはそれであり得る。図２に例示されるように、データ、プログラム等は、例えばＵＳＢフラッシュドライブ２４０、ＤＶＤまたはＣＤ２４１等の、取り外し可能または携帯用メモリデバイスを介して、ポート２３９のうちの１つを介して、ワークステーション／サーバ／コントローラ２２０に、提供され得るかまたはそこからエキスポートされ得る。
【００２６】
さらに、ワークステーション／サーバ／コントローラ２２０は、０個以上の通信ポート２４５を含み、これらのそれぞれは、例えばイーサネットネットワーク、Ｗｉｆｉネットワーク、インターネットプロトコルネットワーク、または任意の他のローカルエリアもしくはワイドエリアネットワークもしくはデータリンク等の有線または無線接続ネットワークであり得る、通信ネットワーク／データリンクまたは通信インターフェースに接続する。
【００２７】
図２においてさらに例示されるように、ワークステーション／サーバ／コントローラ２２０は、サービス名前空間２５０及び０個以上のログオンユーザ名前空間（図２において単一のログオンユーザ名前空間２５２として例示される）を含む、２種類の名前空間に区分される。当然のことながら、ワークステーション／サーバ／コントローラ２２０にログインする複数のユーザのそれぞれの異なる１人のために、異なるログオンユーザ名前空間（本明細書においてユーザ名前空間とも称される）があり得、サーバ等のいくつかのデバイスはログオンユーザ名前空間を有しないことがある。図２においてさらに描写されるように、デスクトップアプリケーション２５８の組が、ユーザ名前空間２５２内に存在しその内部で稼働する一方で、サービス２６０はサービス名前空間２５０内に存在しその内部で実行する。一般的に言って、デスクトップアプリケーション２５８は、ユーザ名前空間内で実行されるプロセスであり、一方で、本明細書では単にサービスと称されるサービスプロセスは、ログオンユーザとは独立して稼働し、典型的に構成設定、オペレーティングシステムへの呼び出し、またはそれらに送信される要求メッセージ（例えばＷｉｎｄｏｗｓ  ＣＯＭ／ＤＣＯＭメッセージ）への応答で、オペレーティングシステム（またはＷｉｎｄｏｗｓ  Ｓｅｒｖｉｃｅ  Ｃｏｎｔｒｏｌ  Ｍａｎａｇｅｒ等のそのエージェントのうちの１つ）によって生成または稼働されるプロセスである。分離されたプロセスは、それらを開始させるプロセス（例えばサービスプロセスまたはデスクトップアプリケーションプロセス）と同じ名前空間内で実行される独立プロセスである。例えば、分離されたプロセスは、サービス名前空間内で開始され得、ＵＳＢまたは他のローカルデータ記憶装置デバイス読み取りまたは通信ネットワークとのそのインターフェースを、本明細書に記載される様式で実装するプロセスであり得る。サービス２６０が典型的に自動的に開始される一方で、これらのプロセスは、ユーザプロセスまたは別のサービスによって送信される要求メッセージへの応答で開始され得る。しかしながら、本明細書でより詳細に記載されるように、サービス２６０は常に、それらを開始させるプロセスのユーザアカウントから独立し、かつそれらが開始された方法から独立して、指定のアカウントの下で稼働し、一方で、分離されたプロセスは、それらを開始させるプロセス（例えばサービスまたはデスクトップアプリケーション）のアカウントの下で稼働または実行する。特に、図２のサービス２６０は、ネットワークアクセス２６２を伴う（通信ポート２４５のうちの１つを介して）０個以上のサービス名前空間プロセスと、外部メディアポート２３９を介した取り外し可能記憶装置デバイス２６４へのアクセスを伴うサービス名前空間プロセスと、携帯用もしくはローカルメモリアクセスまたは通信ネットワークアクセスのいずれも有しない、他のサービス名前空間プロセス２６６と、を含み得る。なおもさらには、ローカルデータ記憶装置デバイスまたはメモリ２３５は、サービス名前空間プロセス２６０によって作成及び使用される、サービスファイルまたはフォルダ２７０、ならびに、ログオンユーザ名前空間プロセ���によって、例えばデスクトップアプリケーション２５８によって、作成及び使用されるデスクトップファイルまたはフォルダ２７２、を含む様々な種類のファイルまたはフォルダを含む。
【００２８】
図２から理解され得るように、ワークステーション／サーバ／コントローラコンピューティング環境は、このように、ログオンユーザ（またはユーザのグループ）のそれぞれのための別個の名前空間に関連付けられる異なる名前空間規則を伴う複数のサブ空間に、ならびにこれらの規則がオペレーティングシステム及びその構成データによって強化されることで、サービス（サービスによって生成される分離されたプロセス）に、分離される。グローバルコンピューティング環境名前空間の、サービス及びログオンユーザ（デスクトップアプリケーション）名前空間への区分は、デスクトップアプリケーションがサービス名前空間内で画定される対象（例えばミューテックス）に直接アクセスすることを防止し、かつサービス名前空間プロセスが、ログオンユーザ名前空間（デスクトップアプリケーションによって使用される）のために画定される対象（例えばデスクトップ）に直接アクセスすることを防止する。この様式では、サービス及びデスクトップアプリケーションは、これらの異なる名前空間のうちのそれぞれにおいて作成される対象に到達するために、互いに、または互いを通して通信しなければならない（つまり通信することを強制される）。この特徴は、ある環境におけるサービス内またはデスクトップアプリケーション内に存在し得るマルウェアが、他方の名前空間内のそれぞれのサービスまたはアプリケーションを通過せずに、名前空間の他方において対象を作成または使用することを防止し、これは概して、マルウェアが他のサービスまたはアプリケーションを崩壊させることができるようになることを限定し得る。この特徴は、例えば、マルウェアが他の環境内で対象を作成するまたはそれに感染する能力を限定し、これは、マルウェアがコントロールシステム内で設定される、及び例えば通信ネットワーク２３０を介してそれに伝播する能力を限定する。
【００２９】
上記に記載される安全にされたソフトウェアアーキテクチャは、プラントまたは他の産業自動化システム内で使用されるワークステーション／サーバ／コントローラ２２０の全体的セキュリティを増加させるために、様々な様式で動作する。第三者によって開発されたプロセス／アプリケーション（ならびに制御システム業者によって開発及び提供されるプロセス／アプリケーション）を実行する機械を含む制御システム内の、全てのコンピュータデバイスまたは機械に概して適用される、このセキュリティ機構は、多数の規則または特徴を実装するように構造される。
【００３０】
本明細書に記載され、ワークステーション／サーバ／コントローラ２２０のオペレーティングシステムの構成によって強化される、規則のうちのいくつかは、昇格特権、ネットワークアクセス、ローカルディスク書き込みアクセスを必要とするか、または、携帯用もしくは取り外し可能メモリデバイス（例えばＵＳＢメモリデバイス、スマートフォン、ＣＤ／ＤＶＤドライブ）へのアクセスを有する、全てのプロセスに適用する。これらのプロセスは、例えば図２のプロセス２６２及び２６４を含む。具体的に、これらのプロセスは、（１）サービスとして実行されるかまたはサービスによって生成される、（２）カスタムグループ／ロールに属するカスタム（標準／初期設定でない）アカウントの下で実行される、（３）必要とされるリソースのみへのアクセスを認められる、（４）明白に必要とされないリソースへのアクセスを明白に否定される、（５）それらが動作するために必要とする特権のみを認められる、（６）アカウントをこのカスタムアカウントに変更するために、別のアカウントの下で稼働するプロセスを可能にする、扮装特権を有しない、及び（７）このカスタムアカウントの下で稼働するために、別の稼働しているプロセスに権限を認める、委任特権を有しない。さらに、これらのプロセスがネットワークアクセス、または携帯用もしくは取り外し可能メモリデバイスへのアクセスを有する場合、これらのプロセスは、昇格特権を有せず、またはローカルメモリ記憶装置（例えばディスク）へ書き込む能力も有しない。
【００３１】
同様に、これらのプロセスは、信頼性のあるローカルプロセス間通信（例えばＷＣＦ名前付きパイプ、ＣＯＭ等）を介して互いと通信するが、ネットワークアクセスを必要とするプロセスは、携帯用または取り外し可能メモリデバイスへのアクセスを有するプロセスと直接通信すること、及びその逆が許可されないという例外を伴う。図２においてライン２９０によって例示される、この例外は、携帯用メモリデバイスから通信ネットワークへのマルウェア読み取りの転送に対して、ならびに通信ネットワークから携帯用または取り外し可能メモリデバイスに受信されるマルウェアの格納に対して、保護するために実装される。
【００３２】
さらに、図２において点線２９１によって例示されるように、プロセス２６０（例えばプロセス２６２、２６４、２６６）のうちのどれもが、デスクトップ名前空間２５２またはデスクトップ名前空間２５２内の対象への直接アクセスを有しない。結果として、これらのプロセスは、デスクトップアプリケーション２５８に、図２においてサービス２６０及びデスクトップアプリケーション２５８間を行くラインによって例示される、信頼性のあるローカルプロセス間通信２９２のみを介して、サービス（及び特に特権サービス）を提供する。
【００３３】
さらに、ネットワークアクセスを必要とする、または携帯用もしくは取り外し可能メモリデバイスへのアクセスを有する、全てのプロセス（例えば図２のプロセス２６２及び２６４）は、（１）コマンドシェルアクセスを有しない、（２）ワークステーション／サーバ／コントローラ２２０のセキュリティ構成（ポリシー設定及びアカウント）を変更するプログラムへのアクセスを有しない、（３）この特徴は図２の点線２９４によって例示されるが、ファイルシステム書き込みを行うことを制限される、アカウントの下で実行または稼働する。結果として、ネットワークアクセス（例えばポート２４５を介して）または携帯用もしくは取り外し可能メモリアクセス（例えばポート２３９を介して）を有しないサービス２６６のみが、データベース２３５内のデータファイル２７０へのファイルシステム書き込みを行うことができる。
【００３４】
なおもさらには、デスクトップ環境２５２内に実装される様々なセキュリティ特徴がある。具体的には、双方向アプリケーション／プロセスとも称される、全てのデスクトップアプリケーションは、どのユーザまたはログオンアカウントが、これらのアプリケーションまたはプロセスを開始させるまたは呼び出すために使用されたかに関わらず、昇格特権を伴わずに、稼働または実行する。したがって、管理特権を伴うユーザがデスクトップアプリケーションを開始する場合では、このデスクトップアプリケーションは、なおも、起動させるユーザの特権から独立した、標準ユーザと同等の、制限されたオペレーティングシステム特権を伴って実行される。なおもさらには、上記のように、デスクトップアプリケーション２５８は、通信ネットワーク２３０に直接アクセスすることができないが、その代わりにプロセス間通信を介して、通信ネットワークアクセスを提供する、サービス名前空間２５０内のサービス２６２と通信しなければならない。同様に、デスクトップアプリケーション２５８は、携帯用メモリデバイス２４０、２４１に直接アクセスすることができないが、その代わりに、これらのデバイスへのアクセスを提供するサービス２６４と（プロセス間通信を介して）通信しなければならない。さらに、デスクトップアプリケーション２５８は、システムによって所有されるディレクトリ及びファイルへアクセスすることを制限され、さもないと、感染した場合にシステムの性能／動作を危険に曝し得る。したがって、図２のライン２９６によって例示されるように、デスクトップアプリケーション２５８は、デスクトップフォルダ及びファイル２７２に書き込むことができるが、サービスフォルダ及びファイル２７０には書き込むことができない。さらには、デスクトップアプリケーション２５８は、起動するユーザ特権から独立して、昇格特権を決して必要としないように、かつ昇格され得ないように設計される。同様に、デスクトップアプリケーション２５８は、別のユーザに決して扮し得ず、信頼性のあるローカルプロセス間通信を介して互いと通信しなければならない。
【００３５】
なおもさらには、全てのユーザＩＤは、サービス及びプロセス２６０と、デスクトップアプリケーション２５８との間を、デジタル署名されたＩＤ請求を介して渡され、かかるＩＤ請求は、通信に追従するかそれと共に流れ、様々なプロセス及びネットワークデバイスを通して、プロセス制御システム許可の立証を可能にする。例えば、プロセス制御システムオペレータは、コントローラ等のプロセス制御デバイス内にパラメータ（例えば設定点）を書き込む等のために、（デスクトップアプリケーションを介して）要求を行うことがある。この要求は、通信ネットワークを介して、この要求を、その書き込みを実装することになるプロセス制御デバイスに送信するプロセスの間に、様々なサービスが呼び出されるまたは生成されることを必要とし得る。変更を実装するプロセス制御デバイスが、その要求が、その変更をするための適切な許可を伴うユーザからであるということを立証することができ、よって書き込み動作が行われるプロセスに近い変更を点検及びログすることができるように、ユーザＩＤ請求は、要求と共に、プロセス制御ネットワーク内の様々な機械を介して、要求を作成及び転送するために使用される様々なプロセスを通って流れる。この特徴は、動作を行っている人間ユーザが、扮装及び／または委任の使用を伴わずに、精密かつ正確に特定されるということを保証する。さらに、この特徴は、プロセス制御アプリケーション等の、デスクトップアプリケーションまたはデスクトップアプリケーションによって開始されるプロセスが、ログオンユーザの文脈において開始されること、及び、シフト変更はログオンユーザがログオフすることを必要としないため、別のユーザによって再開される必要を伴わずにシフト変更を通して動作し続けること、を可能にする。その代わりに、新しいシフトオペレータは、オペレーティングシステムにログオンする必要なく、プロセス制御システムに自分自身を特定する。この様式では、全てのデスクトップアプリケーションがログオンユーザの特権で稼働し得、よって、適切なＩＤ請求がプロセス動作要求と共に流れることができるようにするためにそのアプリケーションを使用するときに、新しいオペレータが自身を特定する限り、どのオペレータがデスクトップアプリケーションを開始させるかは関係ない。さらには、この機構なしでは、サービス／プロセス／アプリケーションは、その下でそれが稼働させるまたはそれがそこから呼び出される、アカウントを伴うユーザを特定することができるだけであり得る。オペレータコンソールの現在のユーザが、ログオンしたユーザではないことがあるため、この特徴は制御システムにおいてもまた重要である。この制限は、制御システムリソース（例えばパラメータ及び警告）へのアクセスを提供するために使用される、アクセス制御許可を決定するために使用されることから、オペレーティングシステム特権及びアクセス制御許可の決定において使用される、盗難ログオンユーザのＩＤを有する危険を取り除く。
【００３６】
図２に関して上記のセキュリティ特徴を実装する方法の１つは、標準の開放アーキテクチャオペレーティングシステムベースの制御システム内で、様々なアプリケーション及びサービスに認められる特権及び許可を画定する、より制限的な方法を使用することである。特に、現在は、何人かのユーザが他のユーザよりも多くの特権及び許可を有するように、特権及び許可は典型的にユーザ単位基準でユーザのために画定される。このアーキテクチャでは、アプリケーション（例えばデスクトップアプリケーション及びそれらによって開始されるプロセス）には、概して、それからこれらのアプリケーションまたはプロセスが開始されるまたは呼び出される、ログオンユーザアカウントの特権及び許可が認められる。一方では、多くのサービス（例えば、それらを開始するためのもしくは入来するメッセージを処理するための、構成設定に基づいて、または、オペレーティングシステムへの、アプリケーションからの呼び出しもしくはユーザからの要求に応答して、生成されるプロセス）が、その下でこれらが稼働するように構成されるオペレーティングシステムアカウントの特権を認められる。結果として、全ての特権及び許可またはサービスは、これらのシステム内のアカウントによって制御される。より具体的には、デスクトップアプリケーションは、常にログオンユーザのアカウントの下で開始され、一方で、サービス及びプロセスは、常にそれらのために構成されたアカウントの下で開始され、他のプロセスによって開始されるプロセスは、常に、その下でそれらを開始するプロセスが稼働しているアカウントを使用して、開始される。したがって、多くの場合は、このサービスは、標準ＯＳサービスアカウントの下またはユーザアカウントの下で、稼働される。
【００３７】
対照的に、図２の、安全にされるアーキテクチャは、ログオンユーザアカウントのために画定される特権及び許可とは分離して、サービスのための特権及び許可を画定し、よってサービスが、双方向ログオン特権を有するユーザアカウントの下で稼働することができないようにする。つまり、サービスは、常に、双方向ログオン特権を有しない特定のサービスアカウントの下で稼働し得る。具体的には、図２の安全にされるアーキテクチャは、特権及び許可の異なるまたは限定される組を有する、本明細書でカスタムサービスアカウントと称されるものを画定し得、図２のサービス２６０のそれぞれは、これらのサービスに特権及び許可を割り当てる目的のために、これらのカスタムサービスアカウントのうちの１つ以上に割り当てられ得る。それぞれのサービスは、そのサービスが必要とする特権の最小の組を有するカスタムサービスアカウントに割り当てられる。サービスは、そのサービスの動作のために必要とされるよりも多くの特権を有するカスタムサービスアカウントに割り当てられるべきではない。しかしながら、カスタムサービスアカウントの急増を低減させるために、カスタムアカウントから引継ぎされる特権を、それが必要とするもののみに制限する、制限されるサービスの組で構成される場合にのみ、サービスは、それが必要とするよりも多くの特権を有するカスタムサービスアカウントの下で稼働することができる。通信ポートまたは外部メディアポートにアクセスするサービスを伴う等の、いくつかの場合では、サービスは、これらのサービスはローカルデータ記憶装置（ディスク）に書き込むことができないというさらなる制限を伴って、最小特権アカウントに割り当てられ得る。一方で、デスクトップアプリケーションは、起動させるユーザの特権を伴って稼働するが、常に制限される標準ユーザ特権を伴って開始されるべきであり、それらが昇格を必要とするときにのみ、かつユーザの承認を伴ってのみ、昇格されるべきである。ユーザが必要な特権を有しない場合、これらの特権を伴うユーザには、昇格を承認することが必要とされるべきである。この様式で、サービス及びアプリケーションは、マルウェアがこのアーキテクチャを使用する制御システムに感染する能力を限定する、限定された特権の組を有し得る。
【００３８】
一般的に言うと、カスタムサービスアカウント（及びこれらのアカウントの特権）は、画定され、その後サービスに割り当てられ得、これは、サービスが、サービスがそのために設計された業務または機能を行うために必要とする特権または許可のみを有するように、カスタムアカウント特権をさらに制限し得る。
【００３９】
図３は、ユーザログオン及びカスタムサービスアカウント３１０を許可する、ユーザアカウント３０６の相互関係または関連の例のブロック図３００を例示し、このアカウントは、オペレーティングシステム特権及び許可を、サービス３１２及びデスクトップアプリケーション３１４、ならびにユーザログオンアカウントのために画定されるプロセス制御システム許可に関連付けられる許可及び特権とは離れたまたは別個の他のプロセスに、構成または提供するために使用され得る。
【００４０】
図３に例示されるように、ユーザアカウント３０６の組が確定され、ユーザアカウント３０６とグループアカウント３０２との間の点線によって示されるように、それぞれのユーザアカウント３０６は、グループアカウント３０２のうちの１つ以上に属し得る。この様式で、それぞれのユーザアカウント３０６は、それが関連付けられるまたはそれが属する任意のグループアカウント３０２のオペレーティングシステム特権及び許可を引継ぎし得、関連付けられるログオンユーザによって開始されたときに、これらの特権／許可をデスクトップアプリケーションに渡す。図３にも例示されているように、ユーザアカウント３０６は、複数のグループアカウント３０２に属し得したがってその特権及び許可を引継ぎし得るが、これは他のグループアカウント３０２にもまた属し得そこから引継ぎし得る。同様に、図３に例示されるように、行動を起こすためにオペレーティングシステム内でそれぞれが様々な異なるオペレーティングシステム特権及び許可（アクセス許可を含む）、例えば通信特権、読み取り／書き込み特権、アクセス特権等を有する、カスタムサービスアカウント３１０の組もまた確立される。それぞれのカスタムサービスアカウント３１０は１つ以上のグループアカウント３０２に属し得したがってその特権を引継ぎし得る。コンピュータデバイス内でそれらによって開始される様々なサービス３１２及びプロセスのそれぞれは、カスタムサービスアカウント３１０のうちの１つ（または可能性は２つ以上）に割り当てられ、これらのサービス３１２が属するカスタムサービスアカウント（複数可）３１０のオペレーティングシステム特権を、引継ぎするまたは有する。一般的には、それぞれのカスタムサービスアカウント３１０に提供されるオペレーティングシステム特権及び許可は、ユーザアカウント３０６とは分離してかつ離して画定される。具体的には、カスタムアカウント３１０の特権及び許可は、それらが開始させるサービス３１２及びプロセス（例えば分離されたプロセス、従属プロセス）のために特別に仕立てられる（制限される）べきであり、そのサービス／プロセスが、カスタムサービスアカウントから引継ぎされる特権をさらに制限するように構成されていない限り、それがその意図する機能を行うために動作させ始めるサービス３１２及びプロセスのために必要なオペレーティングシステム特権及び許可のみを有するべきである。
【００４１】
ユーザアカウント３０６及びカスタムサービスアカウント３１０の使用を伴って、サービス名前空間プロセス３１２（すなわち、その内部でサービス及びそれらが開始させるプロセスが稼働している、動作している名前空間）及びデスクトップ名前空間プロセス３１４（すなわち、その内部でデスクトップアプリケーション及びそれらが開始させるプロセスが稼働している、動作している名前空間）は、デスクトップアプリケーションによって呼び出されるサービスが、デスクトップアプリケーションの呼び出しとは異なる特権を有して実行し得るように、異なるカスタムアカウント３１０またはユーザアカウント３０６と関連付けられ得る。「デスクトップアプリケーションによって呼び出される」という句は、デスクトップアプリケーションによって送信されたサービスによる、遠隔手順呼び出しメッセージの受信を指す。
【００４２】
さらには、図３に例示されるように、オペレーティングシステム特権及び許可（アクセス許可を含む）の特定の組を画定するために、より高いレベルにて、グループアカウント３０２の組が確立され得る。グループアカウントは、コンピュータデバイス内、またはプロセス制御プラントもしくはシステム全体内（例えばアクティブディレクトリを使用して）で、０個以上のカスタムサービスまたはユーザアカウントに関連し得る。それぞれのグループアカウント３０２は、他のグループアカウントによって引継ぎされ得る、オペレーティングシステム特権及び許可（アクセス許可を含む）の特定の組、カスタムサービスアカウント、及び／または、グループアカウント３０６のメンバであるユーザアカウントを含み得る。引継ぎは、グループアカウントのこれらのアカウントメンバを作ることによって達成される。したがって、カスタムアカウント３１２及びユーザアカウント３０６は、同じグループ３０２に属し得、したがって同じオペレーティングシステム特権及び許可を引継ぎする。グループアカウント３０２は、したがって、プロセス制御（オペレーティングシステムとは対照的に）特権及び許可を画定するために、プロセス制御システムにおいて典型的に使用されるロールとは異なる。プロセス制御ロールは（オペレーティングシステムグループとは対照的に）プラントの特定の部位または機能に責任がある個人（オペレータ、構成技師、技術者等）のグループを含む傾向がある。かかる異なるロールが、これらの人のために異なるプロセス制御システム特権及び許可を画定し得る一方で、異なるロールに割り当てられた人々は、多くの場合、同じユーザログオンアカウントの下で稼働し、オペレーティングシステム特権及び許可の同じ組だが、異なるプロセス制御システム特権及び許可を有する。理解され得るように、任意の事象において、グループアカウント３０２は、それらのログオンユーザによって開始される、サービス名前空間プロセス及び／またはユーザアカウント３０６及びデスクトップ名前空間プロセスを稼働させるために使用される、カスタムサービスアカウント３１２によって引継ぎされ得る、オペレーティングシステム特権及び許可を画定する。
【００４３】
したがって、図３は、様々なアカウント３０２、３０６、及び３１０の下での、様々なサービス３１２及びアプリケーション３１４のグループ化を例示し、これはサービス及びアプリケーションにオペレーティングシステム特権を割り当てるために使用される。図３に例示されるカスタムサービスアカウント３１０は、サービスプロセス３１２及びサービス名前空間内の他のプロセスのためにのみ使用され、ユーザアカウント３０６はデスクトップ名前空間内のプロセス（例えばアプリケーション３１４）のためにのみ使用される。一般的には、デスクトップ名前空間内のプロセス（例えばデスクトップアプリケーション３１４）の全ては、管理者特権を含まない「標準ユーザ」アカウント３０６Ａ（最小特権アカウント）の特権を用いて開始する。さらには、カスタムアカウント３１０は、それらが必要とする追加の特権のみを伴って画定される。しかしながら、図３に例示されるように、２つ以上のサービス３１２が同じカスタムサービスアカウント３１０の下で稼働し得、サービス３１２が全てのカスタムサービスアカウント特権を必要としない場合は、その特権のうちのいくつかを個々に否定され得る。しかしながら、通信ポートまたは外部メディアポート（例えばＵＳＢポート）アクセスを伴うサービスについては、サービスは、昇格（例えば管理者）特権を伴わず、かつ、これらのサービスがローカル（内部）データ記憶装置またはディスクに書き込むことができないというさらなる制限を伴う、カスタムサービスアカウントの下で稼働される。ここで、ローカルまたは内部データ記憶装置は、コンピュータデバイス内に比較的に永久様式で接続されるデータ記憶装置を意味することが意図され、本質的に携帯用または容易に取り外し可能でなく、したがって外部メディアアクセスポートを介して接続されないことを意図するということが理解される。ローカルメモリまたはデータ記憶装置は、概して、内部ディスクドライブまたは内部ランダムアクセスメモリを含み得る。
【００４４】
したがって、上記に提供される説明から理解され得るように、アクセス許可を含むオペレーティングシステム特権は、プロセス制御システム対象（例えば設定点、温度及び圧力測定、ならびに警告限界）へのユーザアクセスを認める／否定するために使用されるアクセス制御から完全に独立して、プロセス（例えばサービスまたはデスクトップアプリケーション）に認められる。プロセス制御対象へのアクセスは、別個のユーザＩＤが、プロセス制御デバイスがプロセス制御システム許可を立証することを可能にするための要求を伴って渡されることを必要とし、これは、アクセス許可及びオペレーティングシステム特権を強化するオペレーティングシステムが、制御システム対象について何も知らないためである。既知の通り、制御システムは、一般的に、それぞれの制御システムユーザが制御システム内の何にアクセスすることができるかを画定する、別個のユーザマネージャを有し、ユーザＩＤ請求は、この別個のユーザマネージャが適切に動作することを可能にするために提供される。
【００４５】
任意の事象において、このアーキテクチャを使用して、プロセス制御対象にアクセスするため、プロセスプラント内で行動を行うため等で、ユーザが有する許可及び特権は、カスタムサービスアカウントまたはユーザログオンアカウントの下で稼働するサービス及びアプリケーションの特権及び許可に、関連しない。この特徴は、感染したプロセスが、その下でプロセス制御対象の実行にアクセスまたはそれを中断させるために感染したプロセスが稼働している、カスタムサービスアカウントまたはユーザアカウントから引継ぎされたオペレーティングシステム特権及び許可を使用することができる能力を、軽減または削除する。
【００４６】
図３にさらに例示されるように、その上でプロセス（例えば、サービスまたはアプリケーションまたはサービスもしくはアプリケーションによって開始されるプロセス）が実行されるべきコンピュータの、実行エンジン３２０（例えばオペレーティングシステム実行エンジン）は、サービス３１２またはアプリケーション３１４または次の規則を使用してそれらが開始するプロセスのための特権を認める。ログオンユーザによって直接開始されるプロセスは、ユーザが昇格特権を有する（すなわち管理者である）場合でさえ、標準ユーザアカウントに関連付けられるユーザ特権及び許可の標準の組を得る。オペレーティングシステムによって開始されるサービスは、サービスのために構成される任意の制限によって低減された、それらが属するカスタムサービスアカウントの特権及び許可を得る。あるプロセスによって開始されるプロセスは、開始させるプロセスの特権及び許可の現在の組を得る。この組織は、それぞれのプロセス（例えばそれぞれのサービス３１２またはアプリケーション３１４またはそれらによって開始されるプロセス）が、プロセスの特定の機能を行うために必要とされる特権の最小の組を伴って、稼働または実行することを可能にする。この機能は、したがって、サービス３１２またはアプリケーション３１４またはそれらによって開始されるプロセスに感染するマルウェアが、サービス３１２またはアプリケーション３１４がその通常の動作のためには必要としない行動を起こすことができるようになる（例えばオペレーティングシステム特権または許可を有する）能力を限定し、よってマルウェアがコンピュータデバイス内で動作するまたはプロセス制御システムネットワーク内で他のプロセス制御システムデバイスまたは他のコンピュータデバイスに伝播する能力を限定する。なおもさらには、実行エンジン３２０は、マルウェアがこのオペレーティングシステム特権構造を打破することができるようになることを防止するために、デスクトップアプリケーション３１４またはサービス３１２内での特権拡大を許可し得ないまたは防止し得る。
【００４７】
図４は、マルウェアの拡大またはそれにより起こり得る感染を限定するために、コンピュータデバイスまたはプラントネットワークのセキュリティを増加させることに関して、上記に記載される規則または構成特徴を実装し得る、コンピュータシステム４００の模式図を例示する。具体的には、図４に例示されるように、コンピュータシステム図４００は、様々なハードウェア構成要素を有するハードウェアシステム４０２（実線４０３の下）及び様々なソフトウェア／ファームウェア構成要素を有するソフトウェアシステム４０４（実線４０３の上）に分割される。ソフトウェアシステム４０４のソフトウェア／ファームウェア構成要素は、コンピュータシステムまたはデバイス４００に関連付けられる、１つ以上のコンピュータプロセッサ及びメモリデバイス（図４では表示せず）において実装されるということが理解されるであろう。
【００４８】
図４に例示されるように、ハードウェアシステム４０２は、例えばデータベース、内部ローカルメモリ、ハードドライブ、フラッシュドライブ、ＲＡＭ、ＲＯＭ等の、１つ以上のメモリデバイス４０５を含み得る。これらのメモリ４０５は、図２のローカルデータメモリ２３５ならびにデータファイル２７０及び２７２を含み得る。ハードウェアシステム４０２は、図２のネットワークポート２４５等のネットワークポートを介して、ソフトウェアシステム４０４を１つ以上の外部通信ネットワークに接続し得る、１つ以上のネットワークカードまたはポート４０６もまた含み得る。同様に、ハードウェアシステム４０２は、例えばユーザインターフェース（例えば図２のユーザインターフェース２３７）、プリンタ、キーボード、マウスデバイス、外部メモリドライブ（例えば図２の外部メモリポート２３９を介して接続される）等の、１つ以上の周辺デバイス４０７を含み得る。当然のことながら、任意の他の周辺デバイスまたはデバイスポートまたは接続が、本明細書に具体的に記載されるものの代わりにまたはそれに加えて、ハードウェアシステム４０２内に含まれ得る。なおもさらには、ハードウェアシステム４０２は、その上で本明細書に記載されるオペレーティングシステム及びプロセスが実行される、１つ以上のプロセッサ４０８を含み得る。
【００４９】
図４に例示されるように、ソフトウェアシステム４０４は、オペレーティングシステム（ＯＳ）構成要素４１０と、サービスまたは他のプロセス４１４と、本明細書に記載される様式でソフトウェアシステム４０４の動作を構成するために使用され得る構成情報または構成データ４１６（例えばＷｉｎｄｏｗｓレジストリ等）の組と、を含む。この場合、本明細書において単にサービス４１４と称される、サービスプロセス４１４は、ログオンユーザとは独立して稼働するプロセスであり、概してＯＳ４１０への呼び出しもしくはコマンド、またはＯＳ４１０によってサービスプロセス４１４に運ばれるメッセージに、応答して稼働される。つまり、サービス４１４は、概して、ＯＳ４１０またはＯＳ４１０のエージェント（例えばＷｉｎｄｏｗｓ  Ｓｅｒｖｉｃｅ  Ｃｏｎｔｒｏｌ  Ｍａｎａｇｅｒ）の制御の下で生成または稼働される。これらのプロセスが典型的に自動的に開始される一方で、これらは、デスクトップアプリケーションによって送信される要求メッセージに応答して開始されることがある。しかしながら、両方の場合において、上記で示したように、誰または何のプロセスがこれらのサービスが開始することを引き起こしたかとは独立して、これらのサービスは常に指定のカスタムサービスアカウントの下で稼働する。さらに、図４のソフトウェアシステム４０４は、様々なデスクトップアプリケーション４２０を含む。理解され得るように、アプリケーションは典型的に、様々なログオンユーザによって開始され、彼らに使用可能であり、これらのユーザのアカウント４２５（図４において点線で例示される）の下で稼働する。したがって、常に同じカスタムサービスアカウントの下で稼働するサービスとは異なり、アプリケーションは、上記で示したものとは異なるユーザアカウント（現在ログオンしたユーザアカウント）の下で稼働する。当然のことながら、アプリケーション４２０は、図２のデスクトップアプリケーション２５８であり得、ユーザアカウント４２５は典型とは異なる特権及び権利を有し得るか、または全てが、概してオペレーティングシステム特権及び許可の最も低いレベルまたは組を有し得る、標準ユーザに関連付けられるまたはそのために画定されるもの等の、同じオペレーティングシステム特権及び許可を有し得る。重要なことに、構成情報４１６は、上記に記載される様式で動作するために、または図２に関して上記に記載される規則を実装するために、レジストリ及びＯＳ４１０の構成を画定する他の構成情報を含み得る。この場合では、構成情報４１６は、特権を含むアカウント情報を画定し得、アカウントをＯＳリソースと関連付けそのアカウントのアクセス許可を画定するアクセス制御リストを画定し得、引継ぎされるアカウント特権を稼働時間に制限することを可能にする情報を画定し得る。この後者の場合、サービス／アプリケーションは、構成情報によって指定されるために、低減されるアカウント特権の組を伴って開始される。しかしながら、この種類の構成情報は、アカウントから引継ぎされるものに特権を加えず、これらの特権を低減させるのみである。ユーザアカウント、グループアカウント、及びカスタムサービスアカウントを介して、どのオペレーティングシステム特権が、サービス４１４及びアプリケーション４２０のそれぞれに関連付けられて提供される（例えば必要とされる）かを指定するために、構成情報があらかじめ設定され得るように、構成情報は、制御システム供給者または構成技師によって提供される構成活動の一部として、作成及び／または提供され得る。同様に、管理者等の特定のユーザは、新しいアカウントを加える、新しい特権を画定する等のために、構成情報４１６を変更させ得る。さらには、同様の構成情報がデスクトップアプリケーションのために作成され得、構成技師によって構成プロセスの間に、またはアプリケーションプロバイダ（例えばデスクトップアプリケーションの第三者プロバイダ）によって提供され得る、または初期設定によって特権の最小レベルに設定され得る、または管理者によって設定され得る。
【００５０】
図４に例示されるように、ＯＳ４１０は、オペレーティングシステム特権、及びしたがって様々なアプリケーション４２０（ＡＰＩ４１２を介してまたは直接ＯＳ４１０と通信し得る）の許可及び能力、を制御するために、構成情報４１６を使用し、上記に記載される最小特権のセキュリティ特徴を強化するためにサービス４１４を使用する。したがって、ＯＳ４１０は、構成情報（概してアカウントマネジメント情報は、例えば、アクティブディレクトリ、Ｗｏｒｋｇｒｏｕｐ構成ファイル、ｅｘｅ特異的構成ファイル等の、データベースまたはファイル内に格納される）を使用し、アプリケーション４２０がＩＰＣのみを介して互いに通信するという要求（図４のライン４３０によって例示）と、アプリケーション４２０がＩＰＣのみを介してサービス４１４と通信するという要求（図４のライン４３１によって例示）と、サービス４１４が他のサービス４１４とＩＰＣのみを介して通信するという要求（図４のライン４３２によって例示）と、を強化するために、区分された名前空間を使用する。同様に、ＯＳ４１０（または本明細書で記載される様式でのアプリケーション／サービスの実行）は、特定のサービスが他のサービスと通信することを防止するため（例えばネットワークアクセスを伴うサービスが外部メディアアクセスを伴うサービスと通信することを防止するため）、アプリケーション４２０がローカルまたは内部記憶装置デバイス（例えば図２のファイル２７０）上に格納されるサービスファイル及びフォルダに書き込むことを防止するため、任意のサービスがデスクトップフォルダ（例えば図２のファイル２７２）に書き込むことまたは任意の他の様式でデスクトップにアクセスすることを防止するため、ならびにネットワークまたは外部メディアアクセスを伴う任意のサービスがサービスファイルまたはフォルダ（例えば図２のファイル２７０）に書き込むことを防止するために、構成情報４１６を使用し得る。理解され得るように、ＯＳ４１０がこれらの規則を強化する１つの様式は、様々なアカウントのオペレーティングシステム許可または特権、ならびに構成モジュール４１６の構成ファイル内の様々なアカウントに関連付けられるサービス及びアプリケーションを、きつく制御することによる。
【００５１】
理解され得るように、図２〜４に例示されるこの設計全体の目的は、感染がそれ自体で持続することを防ぐために感染を単離させる目的のために、感染が昇格特権を獲得できないようにすることによって、ならびに通信インターフェースサービス及び外部または外部メディアポートハンドラープロセスの特権を制限することによって、伝播する能力を低減させるために、感染が行い得る損傷を低減させるために、再起動の際に感染が消滅するように、例えばプロセス制御ネットワークの、自動化システムワークステーション及びサーバまたは他のコンピュータデバイス内で稼働する、サービス、アプリケーション、及び他のプロセスを区分する（単離させる）ことである。これらの規則を使用して、サービスまたはサービスによって生成される他のプロセスが感染した場合は、（１）サービスまたはプロセスは制限された特権を伴って稼働しているため、感染したサービスまたはプロセスは昇格特権を有し得ない、（２）感染したサービスまたはプロセスは、それが直接必要としないリソースにアクセスする許可を有し得ない、ならびに（３）感染したサービスまたはプロセスは再起動を通してそれ自体で持続することができなくなる。具体的には、通信ネットワークアクセス及び外部メディアポート（例えばＵＳＢポート）アクセスを有するサービスは、それらができることに制限を有し、これらのサービスが、感染が機械に入り得る唯一の手段であるため、これらの具体的なサービスができることを制限すること（例えば、昇格特権を稼働することができるようにするために、これらのサービスがローカルメモリ記憶装置またはディスクに書き込むこと、デスクトップに直接アクセスすること、携帯用／外部メディアと通信ネットワーク／データリンクとの間で感染が伝播することを、防止すること）は、感染した場合に、コンピュータデバイスまたはネットワーク内で感染が拡大することを防止する。結果として、感染は自動的に検疫され、サービスを再起動することで感染が取り除かれる。アクセスされるときにのみ実行するサービス（例えばＣＯＭ／ＤＣＯＭサービス）については、呼び出しプロセスは、それぞれの新しい呼び出しにてサービスのクリーンコピーを得、それによってサービス内のあらゆる感染を一掃する。
【００５２】
同様に、これらの規則を使用して、デスクトップアプリケーションが感染した場合、アプリケーションはオペレーティングシステム（ＯＳ）の特権機能に直接アクセスすることができなくなり、アプリケーションはネットワークまたは携帯用メモリデバイスに書き込むこともできなくなる。その代わりに、アプリケーションは、自身のために、サービス及びそれらのプロセスによって、特権機能及びリソースへのアクセス制御の追加のレベルを有効にし、提供するように設計される行動が行われることを要求しなければならなくなる（ＩＰＣを介して）。
【００５３】
結果として、このアーキテクチャから実現される主要な利益のいくつかは、ネットワークまたは携帯用メモリデバイスアクセスを伴うプロセスからの保護、これらのプロセスがマルウェアに感染した場合は、システムを攻撃するために管理特権を使用することができるようになることからの保護、一般的に使用される／標準アカウントに使用可能なリソースへのアクセスを有することからの保護、ファイルシステムに書き込むことからの保護、ならびにマルウェアを携帯用メモリデバイスからネットワークへ及びその逆で伝播することからの保護を含む。このアーキテクチャは、デスクトップアプリケーションを、信頼性のあるまたは制限されるリソース（例えばローカルデータファイル）に直接アクセスさせることからの保護、または昇格特権を使用することからの保護もまた提供し、したがって、デスクトップアプリケーションがマルウェアに感染した場合、システムのマルウェアへの曝露を限定する。さらに、このアーキテクチャは、制御システムのプロセスが、それらが必要とするオペレーティングシステム／ファイルシステム特権及び許可のみを有するオペレーティングシステムアカウントの下で稼働することを可能にし、一方で、それらがユーザＩＤ請求を使用して制御システムリソースにアクセスすることを可能にする。
【００５４】
明細書に記載されるセキュリティ技術が、フィールドバス及び標準４〜２０ｍＡデバイスを使用する、ネットワーク化されたプロセス制御デバイス及びシステムと合わせて使用されるとして記載されてきた一方で、それらは、当然のことながら、任意の他のプロセス制御通信プロトコルまたはプログラミング環境を使用して、任意の種類の制御デバイス内で実装され得、任意の他の種類のデバイス、機能ブロック、またはコントローラと共に使用され得る。さらには、本明細書に記載されるセキュリティ技術は、プロセス制御システムの一部ではないコンピュータデバイスを含む、任意の他の種類のコンピュータデバイス内で実装され得る。本明細書に記載されるソフトウェアセキュリティアーキテクチャは、好ましくはソフトウェア内に実装されるものの、これらはハードウェア、ファームウェア等において実装され得、コンピュータデバイスに関連付けられる任意の他のプロセッサによって実行され得る。したがって、本明細書に記載される方法は、標準多目的ＣＰＵ内で、または、所望であれば、例えばＡＳＩＣ等の、特異的に設計されるハードウェアもしくはファームウェア上で、実装され得る。ソフトウェア内で実装される場合、そのソフトウェアは、コンピュータまたはプロセッサ等のＲＡＭまたはＲＯＭにおいて、磁気ディスク、レーザーディスク、光学ディスク、または他の記憶装置媒体上等の、任意のコンピュータ可読メモリ内に格納され得る。同様に、このソフトウェアは、例えば、コンピュータ可読ディスクもしくは他の輸送可能コンピュータ記憶装置機構上を含む、任意の既知のもしくは所望の送達方法を介して、ユーザへまたはプロセス制御システムへ送達され得、または、電話線、インターネット等の通信チャネルを介して、変調され得る。
【００５５】
したがって、本発明が具体的な実施例を参照して記載されてきた一方で、これは単に例示的であり、発明の限定ではないことが意図され、当業者には、本発明の精神及び範囲から逸脱することなく、開示される実施形態に変更、追加、または削除がなされ得るということが明らかになるであろう。
【００５６】
（付記１）
コンピュータデバイスであって、
プロセッサと、
サービスプロセスを実装するために構成データに従って前記プロセッサ上で実行する、オペレーティングシステムと、を含み、前記構成データが、前記サービスプロセスのそれぞれを、それぞれがそれに関連付けられるオペレーティングシステム特権のあらかじめ設定された組を有する、複数のカスタムサービスアカウントのうちの１つに割り当てさせ、それぞれの前記複数のカスタムサービスアカウントのためのオペレーティングシステム特権の前記あらかじめ設定された組が、前記カスタムサービスアカウントに割り当てられるサービスによって必要とされる前記オペレーティングシステム特権に基づいて定義され、カスタムサービスアカウントは双方向ログオン特権を有しない、コンピュータデバイス。
（付記２）
前記コンピュータデバイスが、１つ以上の通信ポートと、ローカルメモリ記憶装置ユニットと、をさらに含み、通信ポートと通信可能である前記サービスプロセスのそれぞれが、前記ローカルメモリ記憶装置ユニットに書き込む特権を有しない、付記１に記載のコンピュータデバイス。
（付記３）
前記コンピュータデバイスが外部メディアポートをさらに含み、通信ポートと通信可能である前記サービスプロセスのうちの１つ以上が、前記外部メディアポートを介して取り外し可能記憶装置ユニットと通信する特権を有しない、付記２に記載のコンピュータデバイス。
（付記４）
前記コンピュータデバイスが外部メディアポートをさらに含み、前記通信ポートと通信可能である前記サービスプロセスのうちの１つ以上が、前記外部メディアポートを介して取り外し可能記憶装置ユニットと通信する特権を有するさらなるサービスプロセスと直接通信する特権を有しない、付記２に記載のコンピュータデバイス。
（付記５）
前記コンピュータデバイスが、外部メディアポートと、ローカルメモリ記憶装置ユニットと、をさらに含み、前記外部メディアポートを介して取り外し可能記憶装置ユニットと通信可能である前記サービスプロセスのうちの１つが、前記ローカルメモリ記憶装置ユニットに書き込む特権を有しない、付記４に記載のコンピュータデバイス。
（付記６）
前記コンピュータデバイスが通信ポートをさらに含み、前記外部メディアポートを介して取り外し可能記憶装置ユニットと通信可能である前記サービスプロセスのうちの１つ以上が、前記通信ポートを介して通信する特権を有するさらなるサービスプロセスと直接通信する特権を有しない、付記５に記載のコンピュータデバイス。
（付記７）
デスクトップ環境をさらに含み、前記オペレーティングシステムが、デスクトップ名前空間とは別個のサービス名前空間を強化するために実行し、前記サービス名前空間内の前記サービスプロセス及び前記デスクトップ名前空間内の１つ以上のデスクトップアプリケーションを実行するために動作する、付記１に記載のコンピュータデバイス。
（付記８）
前記オペレーティングシステムが、前記デスクトップ名前空間内で稼働しているプロセスが、プロセス間通信を介して、前記サービス名前空間内で稼働しているプロセスと通信しなければならないという要求を強化する、付記７に記載のコンピュータデバイス。
（付記９）
前記オペレーティングシステムが、デスクトッププロセスを実装するために構成データを実装するための構成データに従って前記プロセッサ上で実行し、前記構成データが、前記デスクトッププロセスのそれぞれを、それぞれがそれに関連付けられるオペレーティングシステム特権のあらかじめ設定された組を有する、複数のユーザアカウントのうちの１つに割り当てさせ、それぞれの前記複数のユーザアカウントのためのオペレーティングシステム特権の前記あらかじめ設定された組が、双方向ログオン特権を含む、付記７に記載のコンピュータデバイス。
（付記１０）
標準ユーザアカウントに割り当てられるオペレーティングシステム特権の前記組が、昇格または管理オペレーティングシステム特権を含まない、付記９に記載のコンピュータデバイス。
（付記１１）
デスクトップアプリケーションが開始される際にそれらに割り当てられる、オペレーティングシステム特権の前記組が、その下で前記デスクトップアプリケーションが開始される前記ユーザアカウントが、昇格オペレーティングシステム特権を有する場合でさえ、標準ユーザ特権に制限され、前記デスクトップ名前空間内で稼働しているプロセスによって開始されるプロセスが、開始プロセスの特権を引継ぎする、付記９に記載のコンピュータデバイス。
（付記１２）
前記オペレーティングシステムが、前記デスクトップ名前空間内で稼働しているプロセスが、そのアカウントが昇格特権を有する認証ユーザの明示的な認可なしでは、オペレーティングシステム特権において昇格され得ないという規則を強化する、付記９に記載のコンピュータデバイス。
（付記１３）
前記オペレーティングシステムが、前記サービス名前空間内で稼働している全てのプロセスが、プロセス間通信を介して前記サービス名前空間内で稼働している他のプロセスと通信しなければならないという要求を強化する、付記７に記載のコンピュータデバイス。
（付記１４）
前記コンピュータデバイスが、サービスファイルまたはサービスフォルダを格納するローカルメモリ記憶装置ユニットをさらに含み、前記オペレーティングシステムが、前記デスクトップ名前空間内で稼働しているプロセスが、前記ローカルメモリ記憶装置ユニット内に格納されるサービスファイルまたはサービスフォルダに書き込むことを防止する規則を強化する、付記７に記載のコンピュータデバイス。
（付記１５）
前記デスクトップ名前空間内にユーザインターフェースを含むデスクトップをさらに含み、前記オペレーティングシステムが、前記サービスプロセスのいかなるものも前記デスクトップに直接アクセスすることを防止する規則を強化する、付記７に記載のコンピュータデバイス。
（付記１６）
デスクトップアプリケーションに由来するメッセージが、デスクトップアプリケーションのユーザを特定するユーザＩＤ情報を含み、前記ユーザＩＤ情報が、通信リンクを介してメッセージを送信するために通信ポートにアクセスするサービスプロセスを通ることを含めて、複数のプロセスを通してそれらの最終目的地までメッセージに追従する、付記７に記載のコンピュータデバイス。
（付記１７）
前記ユーザＩＤ情報が、前記メッセージをメッセージ受信者に転送するために使用される１つ以上のプロセスに関連付けられる、オペレーティングシステム特権及び／またはアクセス許可を制御せず、前記ユーザＩＤ情報が制御対象を処理するためにアクセス許可を制御する、付記１６に記載のコンピュータデバイス。
（付記１８）
コンピュータデバイスであって、
プロセッサと、
通信ポートと、
ローカルメモリ記憶装置ユニットと、
前記通信ポートと通信可能であるサービスプロセスを含む、サービスプロセスを実装するための構成データに従って、前記プロセッサ上で実行するオペレーティングシステムと、を備え、前記通信ポートと通信可能である前記サービスプロセスが、前記ローカルメモリ記憶装置ユニットに書き込む特権を有しない、コンピュータデバイス。
（付記１９）
前記ローカルメモリ記憶装置ユニットが、サービスプロセスファイルまたはサービスプロセスフォルダを格納する、付記１８に記載のコンピュータデバイス。
（付記２０）
前記ローカルメモリ記憶装置ユニットが、デスクトップアプリケーションファイルをさらに格納する、付記１９に記載のコンピュータデバイス。
（付記２１）
前記コンピュータデバイスが外部メディアポートをさらに含み、前記通信ポートと通信可能である前記サービスプロセスのうちの１つが、前記外部メディアポートを介して取り外し可能記憶装置ユニットと通信する特権を有しない、付記１８に記載のコンピュータデバイス。
（付記２２）
前記コンピュータデバイスが外部メディアポートをさらに含み、前記通信ポートと通信可能である前記サービスプロセスのうちの１つが、前記外部メディアポートを介して取り外し可能記憶装置ユニットと通信する特権を有する、さらなるサービスプロセスと直接通信する特権を有しない、付記１８に記載のコンピュータデバイス。
（付記２３）
前記外部メディアポートを介して取り外し可能記憶装置ユニットと通信可能である前記さらなるサービスプロセスが、前記ローカルメモリ記憶装置ユニットに書き込む特権を有しない、付記２２に記載のコンピュータデバイス。
（付記２４）
デスクトップ環境をさらに含み、前記オペレーティングシステムが、デスクトップ名前空間とは別個のサービス名前空間を強化するために実行し、前記サービス名前空間内の前記サービスプロセス及び前記デスクトップ名前空間内の１つ以上のデスクトップアプリケーションを実行するために動作する、付記１８に記載のコンピュータデバイス。
（付記２５）
前記オペレーティングシステムが、前記デスクトップ名前空間内で稼働しているプロセスが、プロセス間通信を介して前記サービス名前空間内で稼働しているプロセスと通信しなければならないという要求を強化する、付記２４に記載のコンピュータデバイス。
（付記２６）
デスクトップアプリケーションに、前記デスクトップアプリケーションを開始するユーザアカウントに関連付けられるオペレーティングシステム特権の組とは分離して設定される、オペレーティングシステム特権の組が割り当てられ、前記デスクトップアプリケーションが割り当てられるオペレーティングシステム特権の前記組が、管理者オペレーティングシステム特権を含まない、付記２５に記載のコンピュータデバイス。
（付記２７）
前記オペレーティングシステムが、前記デスクトップアプリケーションがオペレーティングシステム特権において昇格され得ないという規則を強化する、付記２５に記載のコンピュータデバイス。
（付記２８）
前記オペレーティングシステムが、前記デスクトップアプリケーションがローカルメモリ記憶装置ユニット内に格納されるサービスファイルまたはサービスフォルダに書き込むことを防止する規則を強化する、付記２５に記載のコンピュータデバイス。
（付記２９）
デスクトップアプリケーションに由来するメッセージが前記デスクトップアプリケーションのユーザを特定するユーザＩＤ情報を含み、前記ユーザＩＤ情報が、通信ネットワークを介して前記メッセージを送信するために通信ネットワークポートにアクセスする前記サービスプロセスを通して前記メッセージに追従する、付記２４に記載のコンピュータデバイス。
（付記３０）
ユーザインターフェースを含むデスクトップをさらに含み、前記オペレーティングシステムが、前記サービスプロセスのいかなるものも前記デスクトップに直接アクセスすることを防止する規則を強化する、付記１８に記載のコンピュータデバイス。
（付記３１）
コンピュータデバイスであって、
プロセッサと、
外部メディアポートと、
ローカルメモリ記憶装置ユニットと、
前記外部メディアポートを介して取り外し可能メモリデバイスと通信可能であるサービスプロセスを含むサービスプロセスを実装するための構成データに従って、前記プロセッサ上で実行するオペレーティングシステムと、を含み、前記外部メディアポートを介して取り外し可能メモリデバイスと通信可能である前記サービスプロセスが、前記ローカルメモリ記憶装置ユニットに書き込む特権を有しない、コンピュータデバイス。
（付記３２）
前記ローカルメモリ記憶装置ユニットが、サービスプロセスファイルまたはサービスプロセスフォルダを格納する、付記３１に記載のコンピュータデバイス。
（付記３３）
前記ローカルメモリ記憶装置ユニットが、デスクトップアプリケーションファイルをさらに格納する、付記３２に記載のコンピュータデバイス。
（付記３４）
前記コンピュータデバイスが通信ポートをさらに含み、前記外部メディアポートを介して取り外し可能メモリと通信可能である前記サービスプロセスのうちの１つが、前記通信ポートを介して通信する特権を有するさらなるサービスプロセスと直接通信する特権を有しない、付記３１に記載のコンピュータデバイス。
（付記３５）
デスクトップ環境をさらに含み、前記オペレーティングシステムが、デスクトップ名前空間とは別個のサービス名前空間を強化するために実行し、前記サービス名前空間内の前記サービスプロセス及び前記デスクトップ名前空間内の１つ以上のデスクトップアプリケーションを実行するために動作する、付記３１に記載のコンピュータデバイス。
（付記３６）
前記オペレーティングシステムが、前記デスクトップ名前空間内で稼働しているプロセスが、プロセス間通信を介して前記サービス名前空間内で稼働しているプロセスと通信しなければならないという要求を強化する、付記３５に記載のコンピュータデバイス。
（付記３７）
デスクトップアプリケーションに、前記デスクトップアプリケーションを開始するユーザアカウントに関連付けられるオペレーティングシステム特権の組とは分離して設定される、オペレーティングシステム特権の組が割り当てられ、前記デスクトップアプリケーションが割り当てられるオペレーティングシステム特権の前記組が、管理者オペレーティングシステム特権を含まない、付記３６に記載のコンピュータデバイス。
（付記３８）
前記オペレーティングシステムが、前記デスクトップアプリケーションがオペレーティングシステム特権において昇格され得ないという規則を強化する、付記３７に記載のコンピュータデバイス。
（付記３９）
ユーザインターフェースを含むデスクトップをさらに含み、前記オペレーティングシステムが、前記サービスプロセスのいかなるものも前記デスクトップに直接アクセスすることを防止する規則を強化する、付記３１に記載のコンピュータデバイス。
（付記４０）
コンピュータデバイスであって、
プロセッサと、
外部メディアポートと、
通信ポートと、
前記外部メディアポートを介して取り外し可能メモリデバイスと通信可能であるサービスプロセスを含むサービスプロセスを実装するための構成データに従って、前記プロセッサ上で実行するオペレーティングシステムと、を含み、前記外部メディアポートを介して取り外し可能メモリデバイスと通信可能である前記サービスプロセスが、前記通信ポートにアクセスする特権を有しない、コンピュータデバイス。
（付記４１）
前記外部メディアポートを介して取り外し可能メモリデバイスと通信可能である前記サービスプロセスが、前記通信ポートにアクセスすることができる別のサービスに直接アクセスする前記特権を有しない、付記４０に記載のコンピュータデバイス。
（付記４２）
デスクトップ環境をさらに含み、前記オペレーティングシステムが、デスクトップ名前空間とは別個のサービス名前空間を強化するために実行し、前記サービス名前空間内の前記サービスプロセス及び前記デスクトップ名前空間内の１つ以上のデスクトップアプリケーションを実行するために動作する、付記４０に記載のコンピュータデバイス。
（付記４３）
前記オペレーティングシステムが、前記デスクトップ名前空間内で稼働しているプロセスが、プロセス間通信を介して前記サービス名前空間内で稼働しているプロセスと通信しなければならないという要求を強化する、付記４２に記載のコンピュータデバイス。
（付記４４）
前記オペレーティングシステムが、サービスがプロセス間通信を介して他のサービスと通信しなければならないという要求を強化する、付記４０に記載のコンピュータデバイス。
（付記４５）
コンピュータデバイスであって、
プロセッサと、
サービスプロセス及び１つ以上のデスクトッププロセスを実装するための構成データに従って、前記プロセッサ上で実行するオペレーティングシステムと、を含み、
前記オペレーティングシステムが、デスクトップ名前空間とは別個のサービス名前空間を強化するために実行し、サービス名前空間内の前記サービスプロセス及び前記サービス名前空間とは別個のデスクトップ名前空間内の前記１つ以上のデスクトップアプリケーションを実行するために動作し、前記サービス名前空間内で実装される全てのプロセスが、プロセス間通信を介して前記デスクトップ名前空間内のプロセスと通信しなければならない、コンピュータデバイス。
（付記４６）
前記１つ以上のデスクトップアプリケーションに、前記デスクトップアプリケーションを開始するユーザアカウントに関連付けられるオペレーティングシステム特権の組とは分離して設定される、オペレーティングシステム特権の組が割り当てられる、付記４５に記載のコンピュータデバイス。
（付記４７）
前記１つ以上のデスクトップアプリケーションに、前記デスクトップアプリケーションを開始するユーザアカウントに関連付けられるオペレーティングシステム特権に依存しない、前記オペレーティングシステム特権の同じ組が割り当てられる、付記４５に記載のコンピュータデバイス。
（付記４８）
前記デスクトップアプリケーションが割り当てられるオペレーティングシステム特権の前記組が、管理者オペレーティングシステム特権を含まない、付記４７に記載のコンピュータデバイス。
（付記４９）
前記デスクトップアプリケーションが割り当てられるオペレーティングシステム特権の前記組が、一般ユーザに関連付けられるオペレーティングシステム特権である、付記４８に記載のコンピュータデバイス。
（付記５０）
前記オペレーティングシステムが、デスクトップアプリケーションがオペレーティングシステム特権において昇格され得ないという規則を強化する、付記４７に記載のコンピュータデバイス。
（付記５１）
前記コンピュータデバイスがローカルメモリ記憶装置ユニットを含み、前記オペレーティングシステムが、デスクトップアプリケーションが前記ローカルメモリ記憶装置ユニット内に格納されるサービスファイルまたはサービスフォルダに書き込むことを防止する規則を強化する、付記４５に記載のコンピュータデバイス。
（付記５２）
ユーザインターフェースを含むデスクトップをさらに含み、前記オペレーティングシステムが、前記サービスプロセスのいかなるものも前記デスクトップにアクセスすることを防止する規則を強化する、付記４５に記載のコンピュータデバイス。
（付記５３）
デスクトップアプリケーションに由来するメッセージが、デスクトップアプリケーションのユーザを特定するユーザＩＤ情報を含み、前記ユーザＩＤ情報が、前記メッセージを送信することに関連付けられる複数のプロセスを通してメッセージに追従する、付記４５に記載のコンピュータデバイス。
（付記５４）
前記ユーザＩＤ情報が、前記メッセージをメッセージ受信者に転送するために使用される１つ以上のプロセスに関連付けられるオペレーティングシステム特権を制御しない、付記５３に記載のコンピュータデバイス。
（付記５５）
前記コンピュータデバイスが、通信ポートとローカルメモリ記憶装置ユニットとをさらに含み、前記通信ポートと通信可能である前記サービスプロセスのうちの１つが、前記ローカルメモリ記憶装置ユニットに書き込む特権を有しない、付記４５に記載のコンピュータデバイス。
（付記５６）
前記コンピュータデバイスが外部メディアポートをさらに含み、通信ポートと通信可能である前記サービスプロセスのうちの前記１つが、前記外部メディアポートを介して取り外し可能記憶装置ユニットと通信する特権を有しない、付記４５に記載のコンピュータデバイス。
（付記５７）
前記コンピュータデバイスが、通信ポートと、ローカルメモリ記憶装置ユニットと、外部メディアポートと、をさらに含み、通信ネットワークポートと通信可能である前記サービスプロセスのうちの１つが、前記ローカルメモリ記憶装置ユニットに書き込む特権または前記外部メディアポートを介して取り外し可能記憶装置ユニットと通信する特権を有せず、前記外部メディアポートを介して取り外し可能記憶装置ユニットと通信可能である前記サービスプロセスの１つが、前記ローカルメモリ記憶装置ユニットに書き込む特権を有せずかつ前記通信ポートと通信する特権を有せず、前記通信ポートと通信可能である前記サービスプロセスのうちの前記１つが、前記外部メディアポートを介して取り外し可能記憶装置ユニットと通信可能である前記サービスプロセスのうちの前記１つと直接通信する特権を有しない、付記４５に記載のコンピュータデバイス。
（付記５８）
コンピュータデバイスであって、
プロセッサと、
サービスプロセス及び１つ以上のデスクトッププロセスを実装するための構成データに従って、前記プロセッサ上で実行するオペレーティングシステムと、を含み、
前記オペレーティングシステムが、前記サービスプロセスを呼び出すプロセスに関係なく、それぞれのサービスプロセスが割り当てられるカスタムサービスアカウントに基づいて、前記サービスプロセスのためのオペレーティングシステム特権を強化し、前記オペレーティングシステムが、どのユーザアカウントの組がデスクトップアプリケーションを呼び出すかに関わらず、前記デスクトップアプリケーションのために使用される、前記デスクトップアプリケーションのために定義されるオペレーティングシステム特権の標準の組を使用して、前記１つ以上のデスクトップアプリケーションのそれぞれのためのオペレーティングシステム特権を強化し、メッセージが前記デスクトップアプリケーションのユーザを特定するユーザＩＤを含むように、デスクトップアプリケーションを送信することが、受信者プロセスに前記メッセージを送信し、前記メッセージが前記デスクトップアプリケーションから受信プロセスに中継されるにつれて、前記メッセージが多数の異なるサービスプロセスのそれぞれによって処理される際に、前記ユーザＩＤが前記メッセージと共に流れる、コンピュータデバイス。
（付記５９）
前記ユーザＩＤのユーザＩＤ情報が、通信リンクを介して前記メッセージを送信するために、通信ポートにアクセスするサービスプロセスを通すことを含めて、それらの最終目的地までの複数のプロセスを通してメッセージに追従する、付記５８に記載のコンピュータデバイス。
（付記６０）
前記ユーザＩＤ情報が、前記メッセージをメッセージ受信者に転送するために使用される１つ以上のプロセスに関連付けられる、前記オペレーティングシステム特権及び／またはアクセス許可を制御しない、付記５９に記載のコンピュータデバイス。
（付記６１）
前記ユーザＩＤ情報が、プロセス制御ネットワークにおいて制御対象を処理するためにアクセス許可を制御する、付記６０に記載のコンピュータデバイス。
（付記６２）
前記デスクトップアプリケーションのために定義されるオペレーティングシステム特権の前記標準の組が、管理者オペレーティングシステム特権を含まない、付記５８に記載のコンピュータデバイス。
（付記６３）
前記オペレーティングシステムが、デスクトップアプリケーションがオペレーティングシステム特権において昇格され得ないという規則を強化する、付記６２に記載のコンピュータデバイス。
（付記６４）
前記コンピュータデバイスがローカルメモリ記憶装置ユニットを含み、前記オペレーティングシステムが、デスクトップアプリケーションが前記ローカルメモリ記憶装置ユニット内に格納されるサービスファイルまたはサービスフォルダに書き込むことを防止する規則を強化する、付記５８に記載のコンピュータデバイス。
（付記６５）
ユーザインターフェースを含むデスクトップをさらに含み、前記オペレーティングシステムが、前記サービスプロセスのいかなるものも前記デスクトップにアクセスすることを防止する規則を強化する、付記５８に記載のコンピュータデバイス。
（付記６６）
前記ユーザＩＤの情報が、前記メッセージを前記受信プロセスに転送するために使用される、１つ以上のプロセスに関連付けられる前記オペレーティングシステム特権に影響を与えない、付記５８に記載のコンピュータデバイス。
（付記６７）
前記コンピュータデバイスが、通信ポートとローカルメモリ記憶装置ユニットとをさらに含み、前記通信ポートと通信可能である前記サービスプロセスのうちの１つが、前記ローカルメモリ記憶装置ユニットに書き込む特権を有しない、付記５８に記載のコンピュータデバイス。
（付記６８）
前記コンピュータデバイスが、外部メディアポートをさらに含み、通信ポートと通信可能である前記サービスプロセスのうちの前記１つが、前記外部メディアポートを介して取り外し可能記憶装置ユニットと通信する特権を有しない、付記５８に記載のコンピュータデバイス。
（付記６９）
前記コンピュータデバイスが、通信ポートと、ローカルメモリ記憶装置ユニットと、外部メディアポートと、をさらに含み、前記通信ポートと通信可能である前記サービスプロセスのうちの１つが、前記ローカルメモリ記憶装置ユニットに書き込む特権を有せず、前記外部メディアポートを介して取り外し可能記憶装置ユニットと通信可能である前記サービスプロセスのうちの１つが、前記ローカルメモリ記憶装置ユニットに書き込む特権を有せず、前記通信ポートと通信可能である前記サービスプロセスのうちの前記１つが、前記外部メディアポートを介して取り外し可能記憶装置ユニットと通信可能である前記サービスプロセスのうちの前記１つと直接通信する特権を有しない、付記５８に記載のコンピュータデバイス。
（付記７０）
前記オペレーティングシステムが、デスクトップ名前空間とは別個のサービス名前空間を強化するために実行し、サービス名前空間内の前記サービスプロセス及び前記サービス名前空間とは別個のデスクトップ名前空間内の前記１つ以上のデスクトップアプリケーションを実行するために動作し、前記サービス名前空間内に実装される全てのプロセスが、プロセス間通信を介して前記デスクトップ名前空間内のプロセスと通信しなければならない、付記５８に記載のコンピュータデバイス。
【図１】
2019215901.tif 000002
【図２】
2019215901.tif 000003
【図３】
2019215901.tif 000004
【図４】
2019215901.tif 000005