(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023162405
(43)【公開日】2023-11-08
(54)【発明の名称】最小特権ベースのプロセス制御ソフトウェアセキュリティアーキテクチャ、コンピュータデバイス
(51)【国際特許分類】
G06F 21/50 20130101AFI20231031BHJP
【FI】
G06F21/50
【審査請求】有
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023143614
(22)【出願日】2023-09-05
(62)【分割の表示】P 2021078643の分割
【原出願日】2015-07-22
(31)【優先権主張番号】14/340,838
(32)【優先日】2014-07-25
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.WINDOWS
(71)【出願人】
【識別番号】512132022
【氏名又は名称】フィッシャー-ローズマウント システムズ,インコーポレイテッド
(74)【代理人】
【識別番号】100084995
【弁理士】
【氏名又は名称】加藤 和詳
(72)【発明者】
【氏名】リー アレン ネイツル
(72)【発明者】
【氏名】ダン ハルバー ウシン
(57)【要約】
【課題】コンピュータデバイス内でアプリケーション及びサービス動作を稼働するときに最小特権の使用を実装する、プロセス制御システムソフトウェアセキュリティアーキテクチャを提供する。
【解決手段】最小特権ベースのアーキテクチャは、ソフトウェアシステムのグローバル名前空間を、サービス空間及びログオンユーザ名前空間に区分すること及びこれらの異なる名前空間におけるアプリケーション及びサービス間の通信を、プロセス間通信を使用して厳しく制御することによって、「サービス」プロセスを、ログオンユーザのために稼働するデスクトップアプリケーションから分離する。それぞれのサービスプロセスが、呼び出しているアプリケーションまたはユーザに関連付けられる特権に関係なく、その機能を実装するために必要とされる特権の最小の組を有することを保証するために、カスタムアカウントを使用する。
【選択図】なし
【特許請求の範囲】
【請求項1】
コンピュータデバイスであって、
プロセッサと、
外部メディアポートと、
ローカルメモリ記憶装置ユニットと、
サービスプロセスを実装するための構成データに従って、アプリケーションにサービスを提供するために前記プロセッサ上で実行するオペレーティングシステムと、を含み、前記サービスプロセスは、(i)前記外部メディアポートを介して取り外し可能メモリデバイスと通信可能である第1サービスプロセス、および(ii)前記ローカルメモリ記憶装置ユニットと通信可能である第2のサービスプロセスを含み、前記外部メディアポートを介して取り外し可能メモリデバイスと通信可能である前記第1サービスプロセスが、前記ローカルメモリ記憶装置ユニットに書き込む特権を有さず、前記サービスプロセスのオペレーティングシステム特権は1つ以上のユーザアカウントの特権から分離して画定され、前記サービスプロセスは前記1つ以上のユーザアカウントを介して稼働され、前記サービスプロセスの前記オペレーティングシステム特権は前記アプリケーションの特権から分離して画定される、コンピュータデバイス。
【請求項2】
ユーザインターフェースを含むデスクトップをさらに含み、前記オペレーティングシステムが、前記サービスプロセスのいかなるものも前記デスクトップに直接アクセスすることを防止する規則を実装する、請求項1に記載のコンピュータデバイス。
【請求項3】
デスクトップ環境をさらに含み、前記オペレーティングシステムが、デスクトップ名前空間とは別個のサービス名前空間を強化するために実行し、前記サービス名前空間内の前記サービスプロセス及び前記デスクトップ名前空間内の前記アプリケーションを実行するために動作する、請求項1又は請求項2に記載のコンピュータデバイス。
【請求項4】
前記アプリケーションに、前記アプリケーションを開始するユーザアカウントに関連付けられるオペレーティングシステム特権の組とは分離して設定される、オペレーティングシステム特権の組が割り当てられ、前記アプリケーションが割り当てられるオペレーティ
ングシステム特権の前記組が、管理者オペレーティングシステム特権を含まない、請求項3に記載のコンピュータデバイス。
【請求項5】
前記オペレーティングシステムが、前記アプリケーションがオペレーティングシステム特権において昇格され得ないという規則を実装する、請求項3又は請求項4に記載のコンピュータデバイス。
【請求項6】
コンピュータデバイスであって、
プロセッサと、
外部メディアポートと、
通信ポートと、
サービスプロセスを実装するための構成データに従って、アプリケーションにサービスを提供するために前記プロセッサ上で実行するオペレーティングシステムと、を含み、前記サービスプロセスは、(i)前記外部メディアポートを介して取り外し可能メモリデバイスと通信可能である第1サービスプロセス、および(ii)前記通信ポートにアクセスする特権を有する第2のサービスプロセスを含み、前記外部メディアポートを介して取り外し可能メモリデバイスと通信可能である前記第1サービスプロセスが、前記通信ポートにアクセスする特権を有さず、前記サービスプロセスのオペレーティングシステム特権は1つ以上のユーザアカウントの特権から分離して画定され、前記サービスプロセスは前記1つ以上のユーザアカウントを介して稼働され、前記サービスプロセスの前記オペレーティングシステム特権は前記アプリケーションの特権から分離して画定される、コンピュータデバイス。
【請求項7】
前記外部メディアポートを介して取り外し可能メモリデバイスと通信可能である前記サービスプロセスが、前記通信ポートにアクセスすることができる別のサービスに直接アクセスする前記特権を有しない、請求項6に記載のコンピュータデバイス。
【請求項8】
デスクトップ環境をさらに含み、前記オペレーティングシステムが、デスクトップ名前空間とは別個のサービス名前空間を強化するために実行し、前記サービス名前空間内の前記サービスプロセス及び前記デスクトップ名前空間内の前記アプリケーションを実行するために動作する、請求項6又は請求項7に記載のコンピュータデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、概して、プロセスプラントコンピュータシステムに、ならびにより具体的には、プロセスまたはプラント環境における、コンピュータデバイス等のデバイス内にソフトウェアプロセスの動作を安全にするための方法及び装置に関する。
【背景技術】
【0002】
発電、化学、石油、または他のプロセスにおいて使用されるもののような、分散または拡張性プロセス制御システム等の、プロセス制御システムは、互いに、プロセス制御ネットワークを介して少なくとも1つのホストまたはオペレータワークステーションに、及びアナログ、デジタル、または組み合わせられるアナログ/デジタルバスを介して1つ以上のフィールドデバイスに、通信可能に連結される1つ以上のコントローラを、典型的に含む。例えば、弁、弁ポジショナー、スイッチ、及びトランスミッタ(例えば、温度、圧力、及び流量センサ)であり得る、フィールドデバイスは、プロセスまたはプラント内で、弁を開けることまたは閉めること、デバイスの入切を切り替えること、及びプロセスパラメータを測定すること等の機能を行う。コントローラは、フィールドデバイスによって作られたプロセスもしくはプラント測定、及び/またはフィールドデバイスに関連付けられる他の情報、を示す信号を受信し、コントロールルーチンを実装するためにこの情報を使用し、その後、プロセスまたはプラントの動作を制御するためにバスを介してフィールドデバイスに送信される制御信号を生成する。フィールドデバイス及びコントローラからの情報は、典型的に、オペレータが、プラントの現在の状況を確認すること、プラントの動作を修正すること等の、プロセスまたはプラントに関する任意の所望の機能を行うことができるようにするために、オペレータワークステーションによって実行される1つ以上のアプリケーションに使用可能にされる。
【0003】
プロセスコントローラは、典型的にプロセスプラント環境内に位置付けられるが、フィールドデバイスによって作られるもしくはそれに関連付けられるプロセス測定もしくはプロセス変数、及び/またはフィールドデバイスに関する他の情報を示す信号を受信し、この情報を使用してコントローラアプリケーションを実行する。コントローラアプリケーションは、例えば、プロセス制御決定を行う異なる制御モジュールを実装し、受信される情報に基づいて制御信号を生成し、HART(登録商標)及びFOUNDATION(登録商標)フィールドバスフィールドデバイス等の、フィールドデバイス内の制御モジュールまたはブロックと協調する。プロセスコントローラ内の制御モジュールは、通信ラインまたは他の信号経路を介してフィールドデバイスに制御信号を送信し、それによってプロセスの動作を制御する。
【0004】
フィールドデバイス及びプロセスコントローラからの情報は、プロセス制御ネットワークを介して、例えばオペレータワークステーション、保全ワークステーション、サーバ、パーソナルコンピュータ、携帯デバイス、データヒストリアン、レポート生成装置、集中データベース等の、1つ以上のハードウェアデバイスにもまた使用可能にされる。ネットワークを介して通信される情報は、オペレータまたは保全員が、プロセスに関する所望の機能を行うこと、及び/またはプラントの動作を確認することができるようにする。例えば、この情報は、オペレータがプロセス制御ルーチンの設定を変更できるようにし、プロセスコントローラまたはスマートフィールドデバイス内の制御モジュールの動作を修正し、プロセスの現在状況またはプロセスプラント内の特定のデバイスのステータスを確認し、フィールドデバイス及びプロセスコントローラによって生成される警告を確認し、人材育成またはプロセス制御ソフトウェアの試験の目的のためにプロセスの動作を模擬し、プロセスプラント内の問題またはハードウェア障害を診断する。
【0005】
フィールドデバイスはたいてい、例えばイーサネット構成LANであり得る、プロセス制御ネットワークを介して他のハードウェアデバイスと通信する。ネットワークは、プロセスパラメータ、ネットワーク情報、及び他のプロセス制御データを、様々なネットワークデバイスを通して、プロセス制御システム内の様々なエントリに中継する。典型的なネットワークデバイスには、ネットワークインターフェースカード、ネットワークスイッチ、ルーター、サーバ、ファイヤウォール、コントローラ、及びオペレータワークステーションが挙げられる。ネットワークデバイスは、典型的に、そのルーティング、フレームレート、タイムアウト、及び他のネットワークパラメータを制御することによって、ネットワークを通るデータの流れを容易にするが、プロセスデータ自体を変更することはない。プロセス制御ネットワークが大きさ及び複雑性において成長するに伴い、ネットワークデバイスの数及び種類が対応して増加する。システム及びネットワークの成長の結果として、セキュリティ及び管理が徐々に難しくなってくることがある。例えば、それぞれのネットワークデバイスは、アクセスポイント、またはプロセス制御システム構成要素及び他のネットワークデバイスを、ネットワークを介して互いに物理的に相互接続するためのポートを提供する、1つ以上の通信ポートを含み得る。しかしながら、これらのポートまたは接続のうちのいくつかは、制御デバイスを、インターネット等の公的にアクセス可能なネットワークに接続するために、及び携帯用メモリデバイスを制御システムデバイスに接続するために、使用され得る。したがって、デバイス上のオープンポートは、他のデバイスを追加することによりネットワーク拡張のためのアクセスポイントとなり得、あるいは、悪意もしくはそうでない実体が、ネットワークにアクセスし、望ましくなく潜在的に有害なネットワークトラフィックを始動させること、または、プラント制御システム内で深刻な問題を引き起こし得るマルウェア(例えば悪意のプログラム、スパイもしくはデータ収集プログラム、アドウェア、または他の所望でない及び潜在的に危険なソフトウェア)を導入することを可能にし得る。複雑なプロセス制御システムに亘る通信を制御するネットワーク内のデバイス上の全てのポートへのアクセスを効果的に監視または制御することは、ネットワークデバイス及び関連付けられるアクセスポイントの数が増加するに伴い、急速に非実用的になる。
【0006】
同様に、典型的な産業制御システムでは、ワークステーション/サーバは、プラントネットワークと、制御及びデータ取得機能を行う埋め込みデバイス(例えばコントローラ、PLC、RTU)との間に、戦略的に配置され、よってこれらのワークステーション/サーバの主要なセキュリティ目的は、マルウェアが制御システムに入り埋め込みデバイスに有害に影響を与えることを防止すること、ならびに、マルウェアがプラントデータベース内に格納される構成及び履歴データを変更することを防止することである。「ウイルス対策」ソフトウェア及び「ホワイトリスティング」等の、多数のセキュリティ特徴が、この目的に取り組むために使用され得るが、これらのセキュリティ特徴は、典型的に十分ではない。例えば、ウイルス対策ソフトウェアは、「ゼロデイ」ウイルスに対して保護することができず、ホワイトリスティングは非認可アプリケーションが稼働することを防止するだけである。さらに、これらのセキュリティ特徴はプラントオペレータの活動を妨げる潜在性を有するため、これらの特徴のうちのいくつかは、プロセス制御システムにおいて動作的に実用的になるには侵入性が高すぎる。
【0007】
一般的には、ゼロデイ攻撃の中心にあるもの等のマルウェアは、典型的に、特定のデバイスにおける制御システムに、外部メモリデバイス(取り外し可能フラッシュドライブ等)を介して、またはこれらのメモリデバイス、ネットワークポート、もしくは直接データリンクにアクセスする特権もしくは認可を有する、アプリケーションもしくはサービスの動作によって通信接続を介して導入される。(本特許の目的のために、通信接続は、通信ネットワーク接続を介して、またはモデム接続等の直接データリンクを介して行われる接続を含む。)その後、マルウェアは、他のデバイスに伝播される(例えば通信または携帯用メモリデバイスを介して)こと、及び/またはマルウェアに感染するアプリケーションもしくはサービスのセキュリティ特権を使用してデバイス内で実行されること、ができる。さらに、マルウェアはローカルに再起動の後に自身が再び実行されることができるようにし続けることがある。いくつかの場合では、マルウェアは、その下でアプリケーションまたはサービスが実行されているアカウントの特権を使用して、ホスト、例えば感染したアプリケーションまたはサービス、の特権を拡大させ得、そうすることで、マルウェアは、プロセス制御デバイスまたはシステム内で、より高い特権を必要とし、したがって典型的に制御システム動作により有害である、行動または動作を行うことができ得る。任意の事象では、すでに稼働しているアプリケーションに感染するゼロデイ攻撃は、これらの種類の攻撃を防止するための良好な技術が無いため、プロセス制御システムにおいて主要な問題を提供する。しかしながら、これらの攻撃は、これらの攻撃がプラント制御システムの進行中の動作を混乱させる場合、プロセスプラント内で深刻でかつ潜在的に破壊的またはさらには致命的な効果を有し得る。
【発明の概要】
【0008】
プロセス制御システムは、ゼロデイまたは他の種類のマルウェア攻撃を防止することにより効果的な、セキュリティ特徴の新しい組またはソフトウェアセキュリティアーキテクチャを使用する。一般的に言うと、その新しいセキュリティ特徴またはアーキテクチャは、ワークステーション、サーバ、または他のデバイスに感染し得るマルウェアの衝撃を低減させるために、例えばワークステーション、サーバ、データベース、コントローラ、フィールドデバイス内等の、任意の特定の制御システムデバイス内で、アプリケーション及びサービスの稼働を実行するときに、本明細書で「最小特権」と称されるものの使用を実装する。本明細書における「特権」という用語は、オペレーティングシステム特権/権利及びアクセス制御許可の両方を含む。例えば、ユーザは遠隔でログオンするまたは別のユーザに扮する権利(特権)を認められ得、かつ特定のファイルを読み取る/書き込む/実行するためのアクセス(許可)もまた認められ得る。
【0009】
一般的には、最小特権ベースのセキュリティ特徴またはアーキテクチャは、例えばデバイス(例えばコントローラ、ワークステーション、サーバ等)のグローバル名前空間を、サービス名前空間に、及びもし存在すれば(例えばデスクトップアプリケーション内等)ログオンユーザの名前空間に、区分することによって、「サービス」プロセスを、ログオンユーザ(ローカルまたは遠隔)のために稼働するデスクトップアプリケーションから分離する。その後アーキテクチャは、感染したサービスまたはアプリケーションが、他のサービスまたはアプリケーションに直接感染するまたはそれらを崩壊させることができるようになることを防止するために、プロセス間通信を使用して、これらの異なる名前空間内のプロセス(例えばアプリケーション及びサービス)間の通信を厳しく制御する。具体的には、新しいセキュリティアーキテクチャは、この名前空間区分を、デスクトップアプリケーションがサービス名前空間内の対象に直接アクセスすること及びその逆を防止するために使用する。
【0010】
なおもさらには、新しいセキュリティアーキテクチャは、サービス及びデスクトップアプリケーションに認められる特権を、感染したサービスまたはアプリケーションの能力が他のサービスまたはアプリケーションに有害に影響を与えるまたは感染することができることを限定または低減する様式で、制限する。一般的には、セキュリティアーキテクチャは、サービスまたはアプリケーションまたは他のプロセスのオペレーティングシステム特権を、その下でサービスまたはアプリケーションまたは他のプロセスが、稼働するまたは生成される、アカウントに与えられる特権の指定のサブセットに限定し、ログオンユーザによって開始されるアプリケーションの特権をそのユーザに関連付けられる特権のサブセットに制限し、デスクトップアプリケーション(ログオンユーザの下で稼働している)を介して特権昇格を行うことを防止する。ある場合では、ソフトウェアセキュリティシステムは、通信ポートまたは外部メディアポートへの(例えば、USBポート等の外部メディアポートを介して接続される取り外し可能記憶装置デバイスへの)全てのアクセスが、制限された特権を有するサービスを通して(かつ絶対にデスクトップアプリケーションによってではなく)行われなければならないという制限を強化し、ここにおいて、制限されたサービスの特権は、サービスが、ローカルデータ記憶装置(例えばディスク)に書き込むこと、他の通信ネットワークポートもしくは取り外し可能メディアポートを介して通信すること、または管理特権を用いて作用すること、を防止する。感染が、ローカルディスクまたは他のメモリ上に自身を格納することができない、管理機能を行うことができない、デスクトップにアクセスすることができない、感染が外部メディアポートを介して取り外し可能記憶装置デバイスから入来した場合に通信ネットワークを介して伝播されることができない、ならびに感染が通信ポートを介して通信接続から入来した場合に、外部メディアポートを介して取り外し可能記憶装置デバイス上に格納されること、または別の通信接続に伝播されることができないため、この様式においてサービスが感染した場合、感染は良性となる。
【0011】
したがって、新しいセキュリティアーキテクチャは、どのユーザアカウント及びどのプロセス(サービスまたはデスクトップ)が、オペレーティングシステム及びそのサブシステムへの呼び出しを通してセキュリティ可能物体にアクセスすることを認可されるかを強化する、アクセス制御を使用し、より低い特権プロセスがより高い特権プロセスにコードを注入することを防止する機構を含む。そうすることによって、セキュリティアーキテクチャは、一般的に「グループ」と呼ばれる、ユーザアカウント及びサービスアカウントが、他のグループアカウントからの引継ぎに属することを可能にするアカウントを、含むまたは使用する。
【0012】
これらのセキュリティ特徴は、単独でまたは組み合わせで、マルウェアが、ネットワーク接続または取り外し可能/携帯用記憶装置媒体接続(USBポート等)にアクセスしているデスクトップアプリケーションの動作を通して、システムへインポートされることを、不可能でない場合は困難にするため、これらのセキュリティ特徴のうちの1つ以上の組み合わせは、ゼロデイウイルス攻撃等のウイルス攻撃及び他のマルウェアへの感受性がより低い、プロセス制御システムまたはプロセスプラント内の、より安全なソフトウェア環境をもたらす。これらのセキュリティ特徴は、マルウェアがネットワークまたは外部デバイスを介して内部データ記憶装置デバイスにインポートされ、マルウェアが、サービスが、そのサービスを必要としているアプリケーションに必要とされない、デバイス、記憶装置媒体、またはプロセスにアクセスすることを可能にするために、サービスの特権を拡大させる能力、等を限定もまたする。
【0013】
したがって、これらの特徴を使用して、新しいソフトウェアアーキテクチャ設計は、プロセス制御自動化システムワークステーションにおいて、及びサーバにおいて、稼働するサービス及びデスクトップアプリケーションを、それらのマルウェア攻撃プロファイルまたは表面を低減させる目的のために、区分する(単離させる)。さらに、サービスまたはサービスによって生成された別のプロセスが感染した場合は、それは、まだしていないあらゆることをするために必要な特権を有さなくなり、かつそれはそれが直接必要としていないアクセスリソースへの許可を有さなくなる。さらに、デスクトップアプリケーションが感染した場合、デスクトップアプリケーションはオペレーティングシステムの特権機能に直接アクセスすることができなくなり、ネットワークまたは外部メディアポートを介して接続される取り外し可能記憶装置デバイスに直接書き込むこともできなくなる。代わりに、デスクトップアプリケーションは、自身のために、サービス及びそれが生成したプロセスによって、特権機能及びリソースへのアクセス制御の追加のレベルを有効にし、提供するように設計される行動が行われることを要求しなければならなくなる。
【図面の簡単な説明】
【0014】
【
図1】1つ以上のオペレータ及び保全ワークステーションと、サーバと、コントローラと、フィールドデバイスと、最小特権ベースのソフトウェアセキュリティアーキテクチャ及び本明細書に記載される機能を実装するように構成される他のネットワークデバイスと、を含む、分散プロセス制御システム及びプロセス自動化ネットワークを有する、プロセスプラントの例示的なブロック図である。
【
図2】アプリケーション、サービス、及びプロセス制御ソフトウェアアーキテクチャ内で行われる他のプロセスに関して、改良したセキュリティ機能を実装するために実装される、様々な名前空間及びセキュリティ制限を例示する、プロセス制御プラント内のワークステーション/サーバ/コントローラデバイスの例示的なブロック図である。
【
図3】本明細書に記載される最小特権ソフトウェアセキュリティアーキテクチャに従う、様々な異なるアプリケーション及びサービスに関連付けられる特権の組を画定する、グループアカウント及びカスタムアカウントを含むアカウントの図を例示する。
【
図4】
図3のアカウントを使用した様々なサービス及びアプリケーション間の通信接続を例示する、
図2のシステムのワークステーションのうちの1つのソフトウェア及びハードウェア構成要素を例示する、例示的なアーキテクチャ図である。
【発明を実施するための形態】
【0015】
図1は、例えば、プロセスプラント内に配設されるプロセス制御システムまたはプロセス自動化システム100の模式図であり、ここにおいて、様々なコンピュータデバイスが、ソフトウェアセキュリティを増強させるため、ならびにコンピュータ/ネットワーク管理及び保全を容易にするために、様々なソフトウェアセキュリティ特徴を受け得る。より具体的には、プロセス制御システム100は、プロセス制御通信ネットワーク130を介して、1つ以上のホストワークステーションまたはコンピュータ120~122(任意の種類のパーソナルコンピュータ、ワークステーション、サーバ等であり得る)に通信可能に接続される、1つ以上のプロセスコントローラ110と、1つ以上のプロセスプラントデータベース112(データヒストリアン等)と、を含む。コントローラ110及びデータベース112は、1つ以上のネットワークインターフェースカード132を介して、通信ネットワークまたはバス130(例えばイーサネット通信ネットワークであり得る)に接続し得る。なおもさらには、コントローラ110は、入力/出力(I/O)カード142を介して、プロセスプラントまたは制御システム内のフィールドデバイス140、143、及び154に接続され得る。データベース112は、任意の所望の種類のメモリと、データを格納するための任意の所望のまたは既知のソフトウェア、ハードウェア、またはファームウェアと、を有する、任意の所望の種類のデータ収集ユニットまたはメモリデバイスであり得る、1つ以上のデータヒストリアンを含み得る。さらに、データベース112は、ワークステーションまたはサーバ120~122のうちの1つ以上から分離しているか、またはその一部であり得る。例えば、Fisher Rosemount Systems Inc.によって販売されるDeltaV(商標)コントローラであり得る、コントローラ110は、例えばイーサネット接続130または任意の他の所望の通信ネットワークを介して、1つ以上のネットワークカードまたはデバイス132によって、ホストコンピュータ120~122に通信可能に接続される。ネットワークデバイス132は、ネットワークインターフェースカード、ネットワークスイッチ、ルーター、ファイヤウォール、または基礎的データを変更せずにネットワーク130を介するデータ送信を容易にする任意の他のデバイス、のうちの1つ以上を含み得る。
【0016】
図1に例示するように、サーバ122は、通信またはプロセス制御ネットワークの任意の部分に、かつプロセスプラントの任意の部分内に物理的に位置付けられ得る、様々なネットワークデバイスに接続され、本明細書に記載されるセキュリティ機能の任意の部分を含み得る。この実施例では、通信ネットワーク130は、典型的に、制御システム内に含まれるデバイスのみが接続される閉鎖ローカルエリアネットワーク(LAN)であり、配線または無線技術を使用して実装され得る。さらに、コントローラ110は、例えば標準4~20mAデバイスプロトコル、イーサネットプロトコル、及び/または例えばFOUNDATION(登録商標)フィールドバスプロトコル(フィールドバス)、HART(登録商標)プロトコル、WirelessHART(登録商標)プロトコル、Profibusプロトコル、CANプロトコル等の、任意のスマート通信プロトコルに関連付けられる、任意の所望のハードウェア及びソフトウェアを使用して、フィールドデバイス140に通信可能に接続される。
【0017】
フィールドデバイス140、143、及び154は、例えばセンサ、弁、トランスミッタ、ポジショナー等の任意の種類のデバイスであり得、一方で、I/Oカード142は、任意の所望の通信またはコントローラプロトコルに従う任意の種類のI/Oデバイスであり得る。
図1に例示される実施形態では、フィールドデバイス140は、モデムまたはI/Oカード142を用いて、標準HARTまたはアナログ4~20mAライン141を介して通信する、HARTまたは4~20mAデバイスであり、一方で、フィールドデバイス143は、デジタルバス145またはI/Oカード142を伴うI/Oネットワークを介して、フィールドバスプロトコル通信を使用して、通信する、FOUNDATION(登録商標)フィールドバスフィールドデバイス等のスマートデバイスである。当然のことながら、フィールドデバイス140及び143は、将来に開発される任意の標準またはプロトコルを含む、任意の他の所望の標準(複数可)またはプロトコルに従い得る。さらに、フィールドデバイス140及び143は、WirelessHART(登録商標)プロトコル等の、任意の所望の無線通信プロトコルを介して、コントローラ110に、無線接続され得る。
【0018】
さらに、フィールドデバイス154のうちの1つ以上は、例えばゲートウェイ153のような専用ネットワークデバイスを介して、デジタルバス145に接続され得る。例えば、フィールドデバイス154は、HARTコマンドを理解するのみであり得、I/Oネットワーク145がPROFIBUSプロトコルを実装し得る。この端に、ゲートウェイ153は双方向性PROFIBUS/HART翻訳を提供し得る。
【0019】
コントローラ110は、その内部に1つ以上のプロセッサを有するプラント内の多数の分散コントローラのうちの1つ以上であり得るが、1つ以上のプロセス制御ルーチンを実装または監督する。このルーチンは、コントローラ110内に格納されるまたはそれに関連付けられる、1つ以上の制御ループを含み得る。コントローラ110は、デバイス140、143、及び154と、ならびにネットワーク130を通してホストコンピュータ及びサーバ120~122及びデータヒストリアンまたは他のデータベース112及び任意の所望の様式でプロセスを制御する関連付けられるネットワークデバイス132と、通信もまたする。本明細書に記載される、任意の制御ルーチンまたは要素は、所望の場合、異なるコントローラまたは他のデバイスによって実装または実行される部位を有し得るということに留意するべきである。同様に、プロセス制御システム100内に実装されるものとして本明細書に記載される制御ルーチンまたはエレメントは、ソフトウェア、ファームウェア、ハードウェア等を含む、任意の形態をとり得る。この説明の目的のために、プロセス制御要素は、例えば、任意のコンピュータ可読媒体上に格納されるルーチン、ブロック、またはモジュールを含む、プロセス制御システムの任意の部位または部分であり得る。制御ルーチンは、モジュール、またはサブルーチン、サブルーチンの部位(コードのライン等)等の制御手順の任意の部位であり得るが、任意の所望のソフトウェア形式で、例えばラダー論理、シーケンシャルファンクションチャート、機能ブロック図、対象配向プログラミング、または任意の他のソフトウェアプログラミング言語または設計パラダイムを使用して、実装され得る。同様に、制御ルーチンは、例えば1つ以上のEPROM、EEPROM、特定用途向け集積回路(ASIC)、または任意の他のハードウェアまたはファームウェア要素にハードコードされ得る。なおもさらには、制御ルーチンは、グラフィック設計ツール、または任意の他の種類のソフトウェア/ハードウェア/ファームウェアプログラミングもしくは設計ツールを含む、任意の設計ツールを使用して設計され得る。したがって、コントローラ110は、任意の所望の様式で制御戦略または制御ルーチンを実装するように構成され得る。
【0020】
なおもさらには、
図1に例示されるように、プロセス制御システムサーバ122ならびにワークステーション120及び121が、プラント情報技術システムに、ビジネスシステムに、またはプラント内の他のネットワークシステムに、接続することを可能にするために、さらなる通信ネットワーク160は、サーバ122ならびにワークステーション120及び121に接続される。
【0021】
一般的に言うと、ワークステーション及びサーバ120~122ならびに
図1のネットワーク内の他のデバイスは、(1)ワークステーション、サーバ、データベース、コントローラ等の
図1の様々なコンピューティングデバイス内で実行される、サービス及び他のより低いレベルのプロセスを、デスクトップアプリケーションから、様々な様式で単離または分離させるために動作する、ならびに(2)サービス及びデスクトップアプリケーションの特権を、これらの機能を実装するためにこれらのプロセスによって必要とされるものにのみ制限する、本明細書において最小特権ベースのセキュリティアーキテクチャと称されるものを、実装する。この最小特権ベースのセキュリティアーキテクチャは、マルウェアが、プロセス制御システムデバイスへとインポートされ、その内部でインスタンス化または実行されることができるようになることを、防止することに役立つ。一般的には、任意のコンピューティングデバイス内のデスクトップアプリケーション及びサービスまたは他のプロセスは、プロセス制御システムのそれぞれのコンピュータデバイスのグローバル名前空間を、1つ以上のサービス名前空間及び1つ以上のユーザ(デスクトップアプリケーション)名前空間に区分することによって、単離され得る。この区分は、デスクトップアプリケーションが、サービスによって使用される名前空間内に画定される対象(例えばミューテックス)に直接アクセスすることができるようになることを防止し、サービスが、デスクトップアプリケーションによって使用されるデスクトップ名前空間のために画定される対象(例えばデスクトップ環境内)に直接アクセスすることができるようになることを防止する。代わりに、オペレーティングシステムによって実装される様々なデスクトップアプリケーション及びサービス間の全ての通信は、通信が実装される、デバイス/ワークステーション/サーバへの通信を制限し、よって、あるアプリケーションまたはサービスが崩壊する、感染する、または他のアプリケーション及びサービスの動作(例えばメモリ空間)に干渉することを、防止するまたはその能力を低減させる、信頼性のあるメッセージベース通信構造を提供する、公知でかつ信頼性のあるプロセス間通信(IPC)を介して通信しなければならない。この様式で、デスクトップアプリケーションを介して導入されるマルウェアは、サービスまたは他のより低いレベルのプロセスへ容易にインポートされ得ず、逆もまた同じである。
【0022】
なおもさらには、本明細書に記載されるセキュリティベースアーキテクチャは、それぞれのサービス及びデスクトップアプリケーションに認められる特権を、その下でサービスまたはアプリケーションが稼働されるまたは呼び出しされるログオンユーザアカウントに与えられる特権のサブセット等の、特権の指定のサブセットに限定することによって、システムへ導入されるまたはその中で拡張することから、マルウェアの能力を制限/限定する。例えば、通常管理者アカウントの下で稼働されるサービスが、典型的に、管理者の特権の全てを有する場合、新しく安全にされるソフトウェアアーキテクチャは、サービスのうちのいくつかまたは全てを、それが行うように設計される機能を行うためにそのサービスによって必要とされる特定の特権のみを用いて、全ての管理者特権を用いずに、生成または稼働させる。なおもさらには、通信ネットワークアクセス(通信ネットワークポートを介する)、または取り外し可能メモリポート(例えばUSBポート)を介する取り外し可能データ記憶装置へのアクセスを伴うサービスは、非常に限定される特権を伴うアカウントの下で稼働され、ここにおいて、これらのサービスは、管理特権を有せず、ローカルディスク(すなわちローカルメモリ)記憶装置(書き込み)特権を有せず、通信ネットワークポートまたは取り外し可能メモリポートのうちの他方を介して直接通信することができない。この特徴は、マルウェアがより高い特権によりユーザによって呼び出されるサービスを使用すること、そのサービス自体によって必要とされないデバイスまたは機能へのアクセスを有することができるようになることを防止する、または少なくともその能力を低減させ、よって、マルウェアが他のデバイスに感染する、またはその下でサービスが実行されるまたは呼び出されるログオンユーザアカウントのみを原因としてより高い特権コマンドもしくはサービスを実行する能力を限定する。
【0023】
同様に、このセキュリティ特徴は、特権昇格を防止するために、ログオンユーザによって開始されるデスクトップアプリケーション等の、アプリケーションのための特権を自動的に制限し得る。いくつかの場合では、セキュリティアーキテクチャは、ユーザへの昇格特権の要求がそのアプリケーションが感染したことを示すようにするために、任意の及び全てのデスクトップアプリケーションが、特権において昇格されることができるようになることを防止する。一般的には、デスクトップアプリケーション(ログオンユーザアカウントの下で稼働される)による特権昇格は、昇格を必要とする動作を行うために、現在、典型的に認可ユーザの承認を必要とする。より新しいオペレーティングシステムは、典型的に、管理者を含むログオンユーザによって開始されるアプリケーションに、標準ユーザ特権のみ(昇格/管理者特権はなし)を認めること、及び、ユーザによって特異的に認可されるために特権における昇格を必要とすることによって、この特徴を強化する。新しいアーキテクチャは、あらゆる事象においてデスクトップアプリケーション特権昇格を防止することができ、それによって、マルウェアがシステム内で自動的に特権を昇格し、さらなるプロセスまたはデバイスに感染するためにこの昇格を使用する能力を防止する、別のレベルのセキュリティを提供する。
【0024】
同様に、本明細書に記載される、安全にされるアーキテクチャは、オペレーティングシステム及びそのサブシステム(例えばファイル、ミューテックス、事象)への呼び出しを通して、セキュリティ可能対象にアクセスするために、どのユーザアカウント及びどのプロセス(サービスまたはデスクトップ)が認可されるかを強化する、アクセス制御を使用することもまたあり、より低い特権プロセスがより高い特権プロセスへとコードを注入することを防止する機構を使用し得、特権/許可引継ぎを可能にするために、一般的に「グループ」と呼ばれるグループベースのアカウントを使用し得る。例えば、ユーザAは、グループCに属するグループBに属し得る。したがってユーザAはB及びCの両方から特権及び許可を引継ぎする。しかしながら、これらの特権がログオンユーザアカウント側で共有されるまたは携帯用である一方で、これらの特権は、これらのアカウントの下でのアプリケーション稼働からメッセージを受信する、サービスまたはプロセスに伝播されず、これは、サービス及びプロセス(これらのアプリケーションから受信されるメッセージに応答してオペレーティングシステムによってインスタンス化されるもの等)が、昇格特権を有することができるようになることを防止する。したがって、一般的には、より高い特権を伴うアカウントの下でのサービス及びプロセス(ならびに多くの場合はアプリケーション)の稼働は、サービスまたはアプリケーションまたは他のプロセスの意図される動作に必要な特権のサブセット、すなわち最小特権に限定されるように、オペレーティングシステムによって生成または実行されるサービス及びプロセスのための特権は、ログオンユーザアカウントのために画定される特権とは分離して画定される。
【0025】
一般的に、
図2を参照すると、本明細書に記載されるセキュリティ特徴及び安全にされるアーキテクチャは、
図1のデバイスのうちの任意のもの等の、サーバまたはワークステーションまたはコントローラにおいて実装されるとして例示される。しかしながら、本明細書に記載されるセキュリティの概念は、同じまたは同様の様式で、例えばワークステーション、データベースサーバ等の、他の種類のコンピュータデバイスまたは機械において実装され得るということが理解されるであろう。より具体的には、
図2は、そのうちの1つが例えば
図1のネットワーク130であり得る、0個以上のネットワーク/データリンク230に接続される、ワークステーション/サーバ/コントローラ220を例示する。さらには、この場合、サーバ/ワークステーション220は、
図2においてワークステーション/サーバ/コントローラ220の内部にあるまたはこれに直接接続されるとして例示される、1つ以上のローカルデータメモリ235に接続される。さらに、ワークステーション/サーバ/コントローラ220は、ユーザインターフェースまたはディスプレイデバイス237を含むかまたはそれに接続され得、かつ、0個以上の取り外し可能メディアポート239を含む。それを通して外部または取り外し可能メモリデバイスがデバイス220に接続され得る、取り外し可能メディアポート(複数可)239は、USBポート、CDまたはDVDドライブへの標準または占有接続、外部ハードドライブ、フラッシュまたは固相メモリドライブ、磁気ドライブ等を含む、任意の種類のメモリアクセスポート(複数可)を含むかまたはそれであり得る。
図2に例示されるように、データ、プログラム等は、例えばUSBフラッシュドライブ240、DVDまたはCD241等の、取り外し可能または携帯用メモリデバイスを介して、ポート239のうちの1つを介して、ワークステーション/サーバ/コントローラ220に、提供され得るかまたはそこからエキスポートされ得る。
【0026】
さらに、ワークステーション/サーバ/コントローラ220は、0個以上の通信ポート245を含み、これらのそれぞれは、例えばイーサネットネットワーク、Wifiネットワーク、インターネットプロトコルネットワーク、または任意の他のローカルエリアもしくはワイドエリアネットワークもしくはデータリンク等の有線または無線接続ネットワークであり得る、通信ネットワーク/データリンクまたは通信インターフェースに接続する。
【0027】
図2においてさらに例示されるように、ワークステーション/サーバ/コントローラ220は、サービス名前空間250及び0個以上のログオンユーザ名前空間(
図2において単一のログオンユーザ名前空間252として例示される)を含む、2種類の名前空間に区分される。当然のことながら、ワークステーション/サーバ/コントローラ220にログインする複数のユーザのそれぞれの異なる1人のために、異なるログオンユーザ名前空間(本明細書においてユーザ名前空間とも称される)があり得、サーバ等のいくつかのデバイスはログオンユーザ名前空間を有しないことがある。
図2においてさらに描写されるように、デスクトップアプリケーション258の組が、ユーザ名前空間252内に存在しその内部で稼働する一方で、サービス260はサービス名前空間250内に存在しその内部で実行する。一般的に言って、デスクトップアプリケーション258は、ユーザ名前空間内で実行されるプロセスであり、一方で、本明細書では単にサービスと称されるサービスプロセスは、ログオンユーザとは独立して稼働し、典型的に構成設定、オペレーティングシステムへの呼び出し、またはそれらに送信される要求メッセージ(例えばWindows COM/DCOMメッセージ)への応答で、オペレーティングシステム(またはWindows Service Control Manager等のそのエージェントのうちの1つ)によって生成または稼働されるプロセスである。分離されたプロセスは、それらを開始させるプロセス(例えばサービスプロセスまたはデスクトップアプリケーションプロセス)と同じ名前空間内で実行される独立プロセスである。例えば、分離されたプロセスは、サービス名前空間内で開始され得、USBまたは他のローカルデータ記憶装置デバイス読み取りまたは通信ネットワークとのそのインターフェースを、本明細書に記載される様式で実装するプロセスであり得る。サービス260が典型的に自動的に開始される一方で、これらのプロセスは、ユーザプロセスまたは別のサービスによって送信される要求メッセージへの応答で開始され得る。しかしながら、本明細書でより詳細に記載されるように、サービス260は常に、それらを開始させるプロセスのユーザアカウントから独立し、かつそれらが開始された方法から独立して、指定のアカウントの下で稼働し、一方で、分離されたプロセスは、それらを開始させるプロセス(例えばサービスまたはデスクトップアプリケーション)のアカウントの下で稼働または実行する。特に、
図2のサービス260は、ネットワークアクセス262を伴う(通信ポート245のうちの1つを介して)0個以上のサービス名前空間プロセスと、外部メディアポート239を介した取り外し可能記憶装置デバイス264へのアクセスを伴うサービス名前空間プロセスと、携帯用もしくはローカルメモリアクセスまたは通信ネットワークアクセスのいずれも有しない、他のサービス名前空間プロセス266と、を含み得る。なおもさらには、ローカルデータ記憶装置デバイスまたはメモリ235は、サービス名前空間プロセス260によって作成及び使用される、サービスファイルまたはフォルダ270、ならびに、ログオンユーザ名前空間プロセスによって、例えばデスクトップアプリケーション258によって、作成及び使用されるデスクトップファイルまたはフォルダ272、を含む様々な種類のファイルまたはフォルダを含む。
【0028】
図2から理解され得るように、ワークステーション/サーバ/コントローラコンピューティング環境は、このように、ログオンユーザ(またはユーザのグループ)のそれぞれのための別個の名前空間に関連付けられる異なる名前空間規則を伴う複数のサブ空間に、ならびにこれらの規則がオペレーティングシステム及びその構成データによって強化されることで、サービス(サービスによって生成される分離されたプロセス)に、分離される。グローバルコンピューティング環境名前空間の、サービス及びログオンユーザ(デスクトップアプリケーション)名前空間への区分は、デスクトップアプリケーションがサービス名前空間内で画定される対象(例えばミューテックス)に直接アクセスすることを防止し、かつサービス名前空間プロセスが、ログオンユーザ名前空間(デスクトップアプリケーションによって使用される)のために画定される対象(例えばデスクトップ)に直接アクセスすることを防止する。この様式では、サービス及びデスクトップアプリケーションは、これらの異なる名前空間のうちのそれぞれにおいて作成される対象に到達するために、互いに、または互いを通して通信しなければならない(つまり通信することを強制される)。この特徴は、ある環境におけるサービス内またはデスクトップアプリケーション内に存在し得るマルウェアが、他方の名前空間内のそれぞれのサービスまたはアプリケーションを通過せずに、名前空間の他方において対象を作成または使用することを防止し、これは概して、マルウェアが他のサービスまたはアプリケーションを崩壊させることができるようになることを限定し得る。この特徴は、例えば、マルウェアが他の環境内で対象を作成するまたはそれに感染する能力を限定し、これは、マルウェアがコントロールシステム内で設定される、及び例えば通信ネットワーク230を介してそれに伝播する能力を限定する。
【0029】
上記に記載される安全にされたソフトウェアアーキテクチャは、プラントまたは他の産業自動化システム内で使用されるワークステーション/サーバ/コントローラ220の全体的セキュリティを増加させるために、様々な様式で動作する。第三者によって開発されたプロセス/アプリケーション(ならびに制御システム業者によって開発及び提供されるプロセス/アプリケーション)を実行する機械を含む制御システム内の、全てのコンピュータデバイスまたは機械に概して適用される、このセキュリティ機構は、多数の規則または特徴を実装するように構造される。
【0030】
本明細書に記載され、ワークステーション/サーバ/コントローラ220のオペレーティングシステムの構成によって強化される、規則のうちのいくつかは、昇格特権、ネットワークアクセス、ローカルディスク書き込みアクセスを必要とするか、または、携帯用もしくは取り外し可能メモリデバイス(例えばUSBメモリデバイス、スマートフォン、CD/DVDドライブ)へのアクセスを有する、全てのプロセスに適用する。これらのプロセスは、例えば
図2のプロセス262及び264を含む。具体的に、これらのプロセスは、(1)サービスとして実行されるかまたはサービスによって生成される、(2)カスタムグループ/ロールに属するカスタム(標準/初期設定でない)アカウントの下で実行される、(3)必要とされるリソースのみへのアクセスを認められる、(4)明白に必要とされないリソースへのアクセスを明白に否定される、(5)それらが動作するために必要とする特権のみを認められる、(6)アカウントをこのカスタムアカウントに変更するために、別のアカウントの下で稼働するプロセスを可能にする、扮装特権を有しない、及び(7)このカスタムアカウントの下で稼働するために、別の稼働しているプロセスに権限を認める、委任特権を有しない。さらに、これらのプロセスがネットワークアクセス、または携帯用もしくは取り外し可能メモリデバイスへのアクセスを有する場合、これらのプロセスは、昇格特権を有せず、またはローカルメモリ記憶装置(例えばディスク)へ書き込む能力も有しない。
【0031】
同様に、これらのプロセスは、信頼性のあるローカルプロセス間通信(例えばWCF名前付きパイプ、COM等)を介して互いと通信するが、ネットワークアクセスを必要とするプロセスは、携帯用または取り外し可能メモリデバイスへのアクセスを有するプロセスと直接通信すること、及びその逆が許可されないという例外を伴う。
図2においてライン290によって例示される、この例外は、携帯用メモリデバイスから通信ネットワークへのマルウェア読み取りの転送に対して、ならびに通信ネットワークから携帯用または取り外し可能メモリデバイスに受信されるマルウェアの格納に対して、保護するために実装される。
【0032】
さらに、
図2において点線291によって例示されるように、プロセス260(例えばプロセス262、264、266)のうちのどれもが、デスクトップ名前空間252またはデスクトップ名前空間252内の対象への直接アクセスを有しない。結果として、これらのプロセスは、デスクトップアプリケーション258に、
図2においてサービス260及びデスクトップアプリケーション258間を行くラインによって例示される、信頼性のあるローカルプロセス間通信292のみを介して、サービス(及び特に特権サービス)を提供する。
【0033】
さらに、ネットワークアクセスを必要とする、または携帯用もしくは取り外し可能メモリデバイスへのアクセスを有する、全てのプロセス(例えば
図2のプロセス262及び264)は、(1)コマンドシェルアクセスを有しない、(2)ワークステーション/サーバ/コントローラ220のセキュリティ構成(ポリシー設定及びアカウント)を変更するプログラムへのアクセスを有しない、(3)この特徴は
図2の点線294によって例示されるが、ファイルシステム書き込みを行うことを制限される、アカウントの下で実行または稼働する。結果として、ネットワークアクセス(例えばポート245を介して)または携帯用もしくは取り外し可能メモリアクセス(例えばポート239を介して)を有しないサービス266のみが、データベース235内のデータファイル270へのファイルシステム書き込みを行うことができる。
【0034】
なおもさらには、デスクトップ環境252内に実装される様々なセキュリティ特徴がある。具体的には、双方向アプリケーション/プロセスとも称される、全てのデスクトップアプリケーションは、どのユーザまたはログオンアカウントが、これらのアプリケーションまたはプロセスを開始させるまたは呼び出すために使用されたかに関わらず、昇格特権を伴わずに、稼働または実行する。したがって、管理特権を伴うユーザがデスクトップアプリケーションを開始する場合では、このデスクトップアプリケーションは、なおも、起動させるユーザの特権から独立した、標準ユーザと同等の、制限されたオペレーティングシステム特権を伴って実行される。なおもさらには、上記のように、デスクトップアプリケーション258は、通信ネットワーク230に直接アクセスすることができないが、その代わりにプロセス間通信を介して、通信ネットワークアクセスを提供する、サービス名前空間250内のサービス262と通信しなければならない。同様に、デスクトップアプリケーション258は、携帯用メモリデバイス240、241に直接アクセスすることができないが、その代わりに、これらのデバイスへのアクセスを提供するサービス264と(プロセス間通信を介して)通信しなければならない。さらに、デスクトップアプリケーション258は、システムによって所有されるディレクトリ及びファイルへアクセスすることを制限され、さもないと、感染した場合にシステムの性能/動作を危険に曝し得る。したがって、
図2のライン296によって例示されるように、デスクトップアプリケーション258は、デスクトップフォルダ及びファイル272に書き込むことができるが、サービスフォルダ及びファイル270には書き込むことができない。さらには、デスクトップアプリケーション258は、起動するユーザ特権から独立して、昇格特権を決して必要としないように、かつ昇格され得ないように設計される。同様に、デスクトップアプリケーション258は、別のユーザに決して扮し得ず、信頼性のあるローカルプロセス間通信を介して互いと通信しなければならない。
【0035】
なおもさらには、全てのユーザIDは、サービス及びプロセス260と、デスクトップアプリケーション258との間を、デジタル署名されたID請求を介して渡され、かかるID請求は、通信に追従するかそれと共に流れ、様々なプロセス及びネットワークデバイスを通して、プロセス制御システム許可の立証を可能にする。例えば、プロセス制御システムオペレータは、コントローラ等のプロセス制御デバイス内にパラメータ(例えば設定点)を書き込む等のために、(デスクトップアプリケーションを介して)要求を行うことがある。この要求は、通信ネットワークを介して、この要求を、その書き込みを実装することになるプロセス制御デバイスに送信するプロセスの間に、様々なサービスが呼び出されるまたは生成されることを必要とし得る。変更を実装するプロセス制御デバイスが、その要求が、その変更をするための適切な許可を伴うユーザからであるということを立証することができ、よって書き込み動作が行われるプロセスに近い変更を点検及びログすることができるように、ユーザID請求は、要求と共に、プロセス制御ネットワーク内の様々な機械を介して、要求を作成及び転送するために使用される様々なプロセスを通って流れる。この特徴は、動作を行っている人間ユーザが、扮装及び/または委任の使用を伴わずに、精密かつ正確に特定されるということを保証する。さらに、この特徴は、プロセス制御アプリケーション等の、デスクトップアプリケーションまたはデスクトップアプリケーションによって開始されるプロセスが、ログオンユーザの文脈において開始されること、及び、シフト変更はログオンユーザがログオフすることを必要としないため、別のユーザによって再開される必要を伴わずにシフト変更を通して動作し続けること、を可能にする。その代わりに、新しいシフトオペレータは、オペレーティングシステムにログオンする必要なく、プロセス制御システムに自分自身を特定する。この様式では、全てのデスクトップアプリケーションがログオンユーザの特権で稼働し得、よって、適切なID請求がプロセス動作要求と共に流れることができるようにするためにそのアプリケーションを使用するときに、新しいオペレータが自身を特定する限り、どのオペレータがデスクトップアプリケーションを開始させるかは関係ない。さらには、この機構なしでは、サービス/プロセス/アプリケーションは、その下でそれが稼働させるまたはそれがそこから呼び出される、アカウントを伴うユーザを特定することができるだけであり得る。オペレータコンソールの現在のユーザが、ログオンしたユーザではないことがあるため、この特徴は制御システムにおいてもまた重要である。この制限は、制御システムリソース(例えばパラメータ及び警告)へのアクセスを提供するために使用される、アクセス制御許可を決定するために使用されることから、オペレーティングシステム特権及びアクセス制御許可の決定において使用される、盗難ログオンユーザのIDを有する危険を取り除く。
【0036】
図2に関して上記のセキュリティ特徴を実装する方法の1つは、標準の開放アーキテクチャオペレーティングシステムベースの制御システム内で、様々なアプリケーション及びサービスに認められる特権及び許可を画定する、より制限的な方法を使用することである。特に、現在は、何人かのユーザが他のユーザよりも多くの特権及び許可を有するように、特権及び許可は典型的にユーザ単位基準でユーザのために画定される。このアーキテクチャでは、アプリケーション(例えばデスクトップアプリケーション及びそれらによって開始されるプロセス)には、概して、それからこれらのアプリケーションまたはプロセスが開始されるまたは呼び出される、ログオンユーザアカウントの特権及び許可が認められる。一方では、多くのサービス(例えば、それらを開始するためのもしくは入来するメッセージを処理するための、構成設定に基づいて、または、オペレーティングシステムへの、アプリケーションからの呼び出しもしくはユーザからの要求に応答して、生成されるプロセス)が、その下でこれらが稼働するように構成されるオペレーティングシステムアカウントの特権を認められる。結果として、全ての特権及び許可またはサービスは、これらのシステム内のアカウントによって制御される。より具体的には、デスクトップアプリケーションは、常にログオンユーザのアカウントの下で開始され、一方で、サービス及びプロセスは、常にそれらのために構成されたアカウントの下で開始され、他のプロセスによって開始されるプロセスは、常に、その下でそれらを開始するプロセスが稼働しているアカウントを使用して、開始される。したがって、多くの場合は、このサービスは、標準OSサービスアカウントの下またはユーザアカウントの下で、稼働される。
【0037】
対照的に、
図2の、安全にされるアーキテクチャは、ログオンユーザアカウントのために画定される特権及び許可とは分離して、サービスのための特権及び許可を画定し、よってサービスが、双方向ログオン特権を有するユーザアカウントの下で稼働することができないようにする。つまり、サービスは、常に、双方向ログオン特権を有しない特定のサービスアカウントの下で稼働し得る。具体的には、
図2の安全にされるアーキテクチャは、特権及び許可の異なるまたは限定される組を有する、本明細書でカスタムサービスアカウントと称されるものを画定し得、
図2のサービス260のそれぞれは、これらのサービスに特権及び許可を割り当てる目的のために、これらのカスタムサービスアカウントのうちの1つ以上に割り当てられ得る。それぞれのサービスは、そのサービスが必要とする特権の最小の組を有するカスタムサービスアカウントに割り当てられる。サービスは、そのサービスの動作のために必要とされるよりも多くの特権を有するカスタムサービスアカウントに割り当てられるべきではない。しかしながら、カスタムサービスアカウントの急増を低減させるために、カスタムアカウントから引継ぎされる特権を、それが必要とするもののみに制限する、制限されるサービスの組で構成される場合にのみ、サービスは、それが必要とするよりも多くの特権を有するカスタムサービスアカウントの下で稼働することができる。通信ポートまたは外部メディアポートにアクセスするサービスを伴う等の、いくつかの場合では、サービスは、これらのサービスはローカルデータ記憶装置(ディスク)に書き込むことができないというさらなる制限を伴って、最小特権アカウントに割り当てられ得る。一方で、デスクトップアプリケーションは、起動させるユーザの特権を伴って稼働するが、常に制限される標準ユーザ特権を伴って開始されるべきであり、それらが昇格を必要とするときにのみ、かつユーザの承認を伴ってのみ、昇格されるべきである。ユーザが必要な特権を有しない場合、これらの特権を伴うユーザには、昇格を承認することが必要とされるべきである。この様式で、サービス及びアプリケーションは、マルウェアがこのアーキテクチャを使用する制御システムに感染する能力を限定する、限定された特権の組を有し得る。
【0038】
一般的に言うと、カスタムサービスアカウント(及びこれらのアカウントの特権)は、画定され、その後サービスに割り当てられ得、これは、サービスが、サービスがそのために設計された業務または機能を行うために必要とする特権または許可のみを有するように、カスタムアカウント特権をさらに制限し得る。
【0039】
図3は、ユーザログオン及びカスタムサービスアカウント310を許可する、ユーザアカウント306の相互関係または関連の例のブロック
図300を例示し、このアカウントは、オペレーティングシステム特権及び許可を、サービス312及びデスクトップアプリケーション314、ならびにユーザログオンアカウントのために画定されるプロセス制御システム許可に関連付けられる許可及び特権とは離れたまたは別個の他のプロセスに、構成または提供するために使用され得る。
【0040】
図3に例示されるように、ユーザアカウント306の組が確定され、ユーザアカウント306とグループアカウント302との間の点線によって示されるように、それぞれのユーザアカウント306は、グループアカウント302のうちの1つ以上に属し得る。この様式で、それぞれのユーザアカウント306は、それが関連付けられるまたはそれが属する任意のグループアカウント302のオペレーティングシステム特権及び許可を引継ぎし得、関連付けられるログオンユーザによって開始されたときに、これらの特権/許可をデスクトップアプリケーションに渡す。
図3にも例示されているように、ユーザアカウント306は、複数のグループアカウント302に属し得したがってその特権及び許可を引継ぎし得るが、これは他のグループアカウント302にもまた属し得そこから引継ぎし得る。同様に、
図3に例示されるように、行動を起こすためにオペレーティングシステム内でそれぞれが様々な異なるオペレーティングシステム特権及び許可(アクセス許可を含む)、例えば通信特権、読み取り/書き込み特権、アクセス特権等を有する、カスタムサービスアカウント310の組もまた確立される。それぞれのカスタムサービスアカウント310は1つ以上のグループアカウント302に属し得したがってその特権を引継ぎし得る。コンピュータデバイス内でそれらによって開始される様々なサービス312及びプロセスのそれぞれは、カスタムサービスアカウント310のうちの1つ(または可能性は2つ以上)に割り当てられ、これらのサービス312が属するカスタムサービスアカウント(複数可)310のオペレーティングシステム特権を、引継ぎするまたは有する。一般的には、それぞれのカスタムサービスアカウント310に提供されるオペレーティングシステム特権及び許可は、ユーザアカウント306とは分離してかつ離して画定される。具体的には、カスタムアカウント310の特権及び許可は、それらが開始させるサービス312及びプロセス(例えば分離されたプロセス、従属プロセス)のために特別に仕立てられる(制限される)べきであり、そのサービス/プロセスが、カスタムサービスアカウントから引継ぎされる特権をさらに制限するように構成されていない限り、それがその意図する機能を行うために動作させ始めるサービス312及びプロセスのために必要なオペレーティングシステム特権及び許可のみを有するべきである。
【0041】
ユーザアカウント306及びカスタムサービスアカウント310の使用を伴って、サービス名前空間プロセス312(すなわち、その内部でサービス及びそれらが開始させるプロセスが稼働している、動作している名前空間)及びデスクトップ名前空間プロセス314(すなわち、その内部でデスクトップアプリケーション及びそれらが開始させるプロセスが稼働している、動作している名前空間)は、デスクトップアプリケーションによって呼び出されるサービスが、デスクトップアプリケーションの呼び出しとは異なる特権を有して実行し得るように、異なるカスタムアカウント310またはユーザアカウント306と関連付けられ得る。「デスクトップアプリケーションによって呼び出される」という句は、デスクトップアプリケーションによって送信されたサービスによる、遠隔手順呼び出しメッセージの受信を指す。
【0042】
さらには、
図3に例示されるように、オペレーティングシステム特権及び許可(アクセス許可を含む)の特定の組を画定するために、より高いレベルにて、グループアカウント302の組が確立され得る。グループアカウントは、コンピュータデバイス内、またはプロセス制御プラントもしくはシステム全体内(例えばアクティブディレクトリを使用して)で、0個以上のカスタムサービスまたはユーザアカウントに関連し得る。それぞれのグループアカウント302は、他のグループアカウントによって引継ぎされ得る、オペレーティングシステム特権及び許可(アクセス許可を含む)の特定の組、カスタムサービスアカウント、及び/または、グループアカウント306のメンバであるユーザアカウントを含み得る。引継ぎは、グループアカウントのこれらのアカウントメンバを作ることによって達成される。したがって、カスタムアカウント312及びユーザアカウント306は、同じグループ302に属し得、したがって同じオペレーティングシステム特権及び許可を引継ぎする。グループアカウント302は、したがって、プロセス制御(オペレーティングシステムとは対照的に)特権及び許可を画定するために、プロセス制御システムにおいて典型的に使用されるロールとは異なる。プロセス制御ロールは(オペレーティングシステムグループとは対照的に)プラントの特定の部位または機能に責任がある個人(オペレータ、構成技師、技術者等)のグループを含む傾向がある。かかる異なるロールが、これらの人のために異なるプロセス制御システム特権及び許可を画定し得る一方で、異なるロールに割り当てられた人々は、多くの場合、同じユーザログオンアカウントの下で稼働し、オペレーティングシステム特権及び許可の同じ組だが、異なるプロセス制御システム特権及び許可を有する。理解され得るように、任意の事象において、グループアカウント302は、それらのログオンユーザによって開始される、サービス名前空間プロセス及び/またはユーザアカウント306及びデスクトップ名前空間プロセスを稼働させるために使用される、カスタムサービスアカウント312によって引継ぎされ得る、オペレーティングシステム特権及び許可を画定する。
【0043】
したがって、
図3は、様々なアカウント302、306、及び310の下での、様々なサービス312及びアプリケーション314のグループ化を例示し、これはサービス及びアプリケーションにオペレーティングシステム特権を割り当てるために使用される。
図3に例示されるカスタムサービスアカウント310は、サービスプロセス312及びサービス名前空間内の他のプロセスのためにのみ使用され、ユーザアカウント306はデスクトップ名前空間内のプロセス(例えばアプリケーション314)のためにのみ使用される。一般的には、デスクトップ名前空間内のプロセス(例えばデスクトップアプリケーション314)の全ては、管理者特権を含まない「標準ユーザ」アカウント306A(最小特権アカウント)の特権を用いて開始する。さらには、カスタムアカウント310は、それらが必要とする追加の特権のみを伴って画定される。しかしながら、
図3に例示されるように、2つ以上のサービス312が同じカスタムサービスアカウント310の下で稼働し得、サービス312が全てのカスタムサービスアカウント特権を必要としない場合は、その特権のうちのいくつかを個々に否定され得る。しかしながら、通信ポートまたは外部メディアポート(例えばUSBポート)アクセスを伴うサービスについては、サービスは、昇格(例えば管理者)特権を伴わず、かつ、これらのサービスがローカル(内部)データ記憶装置またはディスクに書き込むことができないというさらなる制限を伴う、カスタムサービスアカウントの下で稼働される。ここで、ローカルまたは内部データ記憶装置は、コンピュータデバイス内に比較的に永久様式で接続されるデータ記憶装置を意味することが意図され、本質的に携帯用または容易に取り外し可能でなく、したがって外部メディアアクセスポートを介して接続されないことを意図するということが理解される。ローカルメモリまたはデータ記憶装置は、概して、内部ディスクドライブまたは内部ランダムアクセスメモリを含み得る。
【0044】
したがって、上記に提供される説明から理解され得るように、アクセス許可を含むオペレーティングシステム特権は、プロセス制御システム対象(例えば設定点、温度及び圧力測定、ならびに警告限界)へのユーザアクセスを認める/否定するために使用されるアクセス制御から完全に独立して、プロセス(例えばサービスまたはデスクトップアプリケーション)に認められる。プロセス制御対象へのアクセスは、別個のユーザIDが、プロセス制御デバイスがプロセス制御システム許可を立証することを可能にするための要求を伴って渡されることを必要とし、これは、アクセス許可及びオペレーティングシステム特権を強化するオペレーティングシステムが、制御システム対象について何も知らないためである。既知の通り、制御システムは、一般的に、それぞれの制御システムユーザが制御システム内の何にアクセスすることができるかを画定する、別個のユーザマネージャを有し、ユーザID請求は、この別個のユーザマネージャが適切に動作することを可能にするために提供される。
【0045】
任意の事象において、このアーキテクチャを使用して、プロセス制御対象にアクセスするため、プロセスプラント内で行動を行うため等で、ユーザが有する許可及び特権は、カスタムサービスアカウントまたはユーザログオンアカウントの下で稼働するサービス及びアプリケーションの特権及び許可に、関連しない。この特徴は、感染したプロセスが、その下でプロセス制御対象の実行にアクセスまたはそれを中断させるために感染したプロセスが稼働している、カスタムサービスアカウントまたはユーザアカウントから引継ぎされたオペレーティングシステム特権及び許可を使用することができる能力を、軽減または削除する。
【0046】
図3にさらに例示されるように、その上でプロセス(例えば、サービスまたはアプリケーションまたはサービスもしくはアプリケーションによって開始されるプロセス)が実行されるべきコンピュータの、実行エンジン320(例えばオペレーティングシステム実行エンジン)は、サービス312またはアプリケーション314または次の規則を使用してそれらが開始するプロセスのための特権を認める。ログオンユーザによって直接開始されるプロセスは、ユーザが昇格特権を有する(すなわち管理者である)場合でさえ、標準ユーザアカウントに関連付けられるユーザ特権及び許可の標準の組を得る。オペレーティングシステムによって開始されるサービスは、サービスのために構成される任意の制限によって低減された、それらが属するカスタムサービスアカウントの特権及び許可を得る。あるプロセスによって開始されるプロセスは、開始させるプロセスの特権及び許可の現在の組を得る。この組織は、それぞれのプロセス(例えばそれぞれのサービス312またはアプリケーション314またはそれらによって開始されるプロセス)が、プロセスの特定の機能を行うために必要とされる特権の最小の組を伴って、稼働または実行することを可能にする。この機能は、したがって、サービス312またはアプリケーション314またはそれらによって開始されるプロセスに感染するマルウェアが、サービス312またはアプリケーション314がその通常の動作のためには必要としない行動を起こすことができるようになる(例えばオペレーティングシステム特権または許可を有する)能力を限定し、よってマルウェアがコンピュータデバイス内で動作するまたはプロセス制御システムネットワーク内で他のプロセス制御システムデバイスまたは他のコンピュータデバイスに伝播する能力を限定する。なおもさらには、実行エンジン320は、マルウェアがこのオペレーティングシステム特権構造を打破することができるようになることを防止するために、デスクトップアプリケーション314またはサービス312内での特権拡大を許可し得ないまたは防止し得る。
【0047】
図4は、マルウェアの拡大またはそれにより起こり得る感染を限定するために、コンピュータデバイスまたはプラントネットワークのセキュリティを増加させることに関して、上記に記載される規則または構成特徴を実装し得る、コンピュータシステム400の模式図を例示する。具体的には、
図4に例示されるように、コンピュータシステム
図400は、様々なハードウェア構成要素を有するハードウェアシステム402(実線403の下)及び様々なソフトウェア/ファームウェア構成要素を有するソフトウェアシステム404(実線403の上)に分割される。ソフトウェアシステム404のソフトウェア/ファームウェア構成要素は、コンピュータシステムまたはデバイス400に関連付けられる、1つ以上のコンピュータプロセッサ及びメモリデバイス(
図4では表示せず)において実装されるということが理解されるであろう。
【0048】
図4に例示されるように、ハードウェアシステム402は、例えばデータベース、内部ローカルメモリ、ハードドライブ、フラッシュドライブ、RAM、ROM等の、1つ以上のメモリデバイス405を含み得る。これらのメモリ405は、
図2のローカルデータメモリ235ならびにデータファイル270及び272を含み得る。ハードウェアシステム402は、
図2のネットワークポート245等のネットワークポートを介して、ソフトウェアシステム404を1つ以上の外部通信ネットワークに接続し得る、1つ以上のネットワークカードまたはポート406もまた含み得る。同様に、ハードウェアシステム402は、例えばユーザインターフェース(例えば
図2のユーザインターフェース237)、プリンタ、キーボード、マウスデバイス、外部メモリドライブ(例えば
図2の外部メモリポート239を介して接続される)等の、1つ以上の周辺デバイス407を含み得る。当然のことながら、任意の他の周辺デバイスまたはデバイスポートまたは接続が、本明細書に具体的に記載されるものの代わりにまたはそれに加えて、ハードウェアシステム402内に含まれ得る。なおもさらには、ハードウェアシステム402は、その上で本明細書に記載されるオペレーティングシステム及びプロセスが実行される、1つ以上のプロセッサ408を含み得る。
【0049】
図4に例示されるように、ソフトウェアシステム404は、オペレーティングシステム(OS)構成要素410と、サービスまたは他のプロセス414と、本明細書に記載される様式でソフトウェアシステム404の動作を構成するために使用され得る構成情報または構成データ416(例えばWindowsレジストリ等)の組と、を含む。この場合、本明細書において単にサービス414と称される、サービスプロセス414は、ログオンユーザとは独立して稼働するプロセスであり、概してOS410への呼び出しもしくはコマンド、またはOS410によってサービスプロセス414に運ばれるメッセージに、応答して稼働される。つまり、サービス414は、概して、OS410またはOS410のエージェント(例えばWindows Service Control Manager)の制御の下で生成または稼働される。これらのプロセスが典型的に自動的に開始される一方で、これらは、デスクトップアプリケーションによって送信される要求メッセージに応答して開始されることがある。しかしながら、両方の場合において、上記で示したように、誰または何のプロセスがこれらのサービスが開始することを引き起こしたかとは独立して、これらのサービスは常に指定のカスタムサービスアカウントの下で稼働する。さらに、
図4のソフトウェアシステム404は、様々なデスクトップアプリケーション420を含む。理解され得るように、アプリケーションは典型的に、様々なログオンユーザによって開始され、彼らに使用可能であり、これらのユーザのアカウント425(
図4において点線で例示される)の下で稼働する。したがって、常に同じカスタムサービスアカウントの下で稼働するサービスとは異なり、アプリケーションは、上記で示したものとは異なるユーザアカウント(現在ログオンしたユーザアカウント)の下で稼働する。当然のことながら、アプリケーション420は、
図2のデスクトップアプリケーション258であり得、ユーザアカウント425は典型とは異なる特権及び権利を有し得るか、または全てが、概してオペレーティングシステム特権及び許可の最も低いレベルまたは組を有し得る、標準ユーザに関連付けられるまたはそのために画定されるもの等の、同じオペレーティングシステム特権及び許可を有し得る。重要なことに、構成情報416は、上記に記載される様式で動作するために、または
図2に関して上記に記載される規則を実装するために、レジストリ及びOS410の構成を画定する他の構成情報を含み得る。この場合では、構成情報416は、特権を含むアカウント情報を画定し得、アカウントをOSリソースと関連付けそのアカウントのアクセス許可を画定するアクセス制御リストを画定し得、引継ぎされるアカウント特権を稼働時間に制限することを可能にする情報を画定し得る。この後者の場合、サービス/アプリケーションは、構成情報によって指定されるために、低減されるアカウント特権の組を伴って開始される。しかしながら、この種類の構成情報は、アカウントから引継ぎされるものに特権を加えず、これらの特権を低減させるのみである。ユーザアカウント、グループアカウント、及びカスタムサービスアカウントを介して、どのオペレーティングシステム特権が、サービス414及びアプリケーション420のそれぞれに関連付けられて提供される(例えば必要とされる)かを指定するために、構成情報があらかじめ設定され得るように、構成情報は、制御システム供給者または構成技師によって提供される構成活動の一部として、作成及び/または提供され得る。同様に、管理者等の特定のユーザは、新しいアカウントを加える、新しい特権を画定する等のために、構成情報416を変更させ得る。さらには、同様の構成情報がデスクトップアプリケーションのために作成され得、構成技師によって構成プロセスの間に、またはアプリケーションプロバイダ(例えばデスクトップアプリケーションの第三者プロバイダ)によって提供され得る、または初期設定によって特権の最小レベルに設定され得る、または管理者によって設定され得る。
【0050】
図4に例示されるように、OS410は、オペレーティングシステム特権、及びしたがって様々なアプリケーション420(API412を介してまたは直接OS410と通信し得る)の許可及び能力、を制御するために、構成情報416を使用し、上記に記載される最小特権のセキュリティ特徴を強化するためにサービス414を使用する。したがって、OS410は、構成情報(概してアカウントマネジメント情報は、例えば、アクティブディレクトリ、Workgroup構成ファイル、exe特異的構成ファイル等の、データベースまたはファイル内に格納される)を使用し、アプリケーション420がIPCのみを介して互いに通信するという要求(
図4のライン430によって例示)と、アプリケーション420がIPCのみを介してサービス414と通信するという要求(
図4のライン431によって例示)と、サービス414が他のサービス414とIPCのみを介して通信するという要求(
図4のライン432によって例示)と、を強化するために、区分された名前空間を使用する。同様に、OS410(または本明細書で記載される様式でのアプリケーション/サービスの実行)は、特定のサービスが他のサービスと通信することを防止するため(例えばネットワークアクセスを伴うサービスが外部メディアアクセスを伴うサービスと通信することを防止するため)、アプリケーション420がローカルまたは内部記憶装置デバイス(例えば
図2のファイル270)上に格納されるサービスファイル及びフォルダに書き込むことを防止するため、任意のサービスがデスクトップフォルダ(例えば
図2のファイル272)に書き込むことまたは任意の他の様式でデスクトップにアクセスすることを防止するため、ならびにネットワークまたは外部メディアアクセスを伴う任意のサービスがサービスファイルまたはフォルダ(例えば
図2のファイル270)に書き込むことを防止するために、構成情報416を使用し得る。理解され得るように、OS410がこれらの規則を強化する1つの様式は、様々なアカウントのオペレーティングシステム許可または特権、ならびに構成モジュール416の構成ファイル内の様々なアカウントに関連付けられるサービス及びアプリケーションを、きつく制御することによる。
【0051】
理解され得るように、
図2~4に例示されるこの設計全体の目的は、感染がそれ自体で持続することを防ぐために感染を単離させる目的のために、感染が昇格特権を獲得できないようにすることによって、ならびに通信インターフェースサービス及び外部または外部メディアポートハンドラープロセスの特権を制限することによって、伝播する能力を低減させるために、感染が行い得る損傷を低減させるために、再起動の際に感染が消滅するように、例えばプロセス制御ネットワークの、自動化システムワークステーション及びサーバまたは他のコンピュータデバイス内で稼働する、サービス、アプリケーション、及び他のプロセスを区分する(単離させる)ことである。これらの規則を使用して、サービスまたはサービスによって生成される他のプロセスが感染した場合は、(1)サービスまたはプロセスは制限された特権を伴って稼働しているため、感染したサービスまたはプロセスは昇格特権を有し得ない、(2)感染したサービスまたはプロセスは、それが直接必要としないリソースにアクセスする許可を有し得ない、ならびに(3)感染したサービスまたはプロセスは再起動を通してそれ自体で持続することができなくなる。具体的には、通信ネットワークアクセス及び外部メディアポート(例えばUSBポート)アクセスを有するサービスは、それらができることに制限を有し、これらのサービスが、感染が機械に入り得る唯一の手段であるため、これらの具体的なサービスができることを制限すること(例えば、昇格特権を稼働することができるようにするために、これらのサービスがローカルメモリ記憶装置またはディスクに書き込むこと、デスクトップに直接アクセスすること、携帯用/外部メディアと通信ネットワーク/データリンクとの間で感染が伝播することを、防止すること)は、感染した場合に、コンピュータデバイスまたはネットワーク内で感染が拡大することを防止する。結果として、感染は自動的に検疫され、サービスを再起動することで感染が取り除かれる。アクセスされるときにのみ実行するサービス(例えばCOM/DCOMサービス)については、呼び出しプロセスは、それぞれの新しい呼び出しにてサービスのクリーンコピーを得、それによってサービス内のあらゆる感染を一掃する。
【0052】
同様に、これらの規則を使用して、デスクトップアプリケーションが感染した場合、アプリケーションはオペレーティングシステム(OS)の特権機能に直接アクセスすることができなくなり、アプリケーションはネットワークまたは携帯用メモリデバイスに書き込むこともできなくなる。その代わりに、アプリケーションは、自身のために、サービス及びそれらのプロセスによって、特権機能及びリソースへのアクセス制御の追加のレベルを有効にし、提供するように設計される行動が行われることを要求しなければならなくなる(IPCを介して)。
【0053】
結果として、このアーキテクチャから実現される主要な利益のいくつかは、ネットワークまたは携帯用メモリデバイスアクセスを伴うプロセスからの保護、これらのプロセスがマルウェアに感染した場合は、システムを攻撃するために管理特権を使用することができるようになることからの保護、一般的に使用される/標準アカウントに使用可能なリソースへのアクセスを有することからの保護、ファイルシステムに書き込むことからの保護、ならびにマルウェアを携帯用メモリデバイスからネットワークへ及びその逆で伝播することからの保護を含む。このアーキテクチャは、デスクトップアプリケーションを、信頼性のあるまたは制限されるリソース(例えばローカルデータファイル)に直接アクセスさせることからの保護、または昇格特権を使用することからの保護もまた提供し、したがって、デスクトップアプリケーションがマルウェアに感染した場合、システムのマルウェアへの曝露を限定する。さらに、このアーキテクチャは、制御システムのプロセスが、それらが必要とするオペレーティングシステム/ファイルシステム特権及び許可のみを有するオペレーティングシステムアカウントの下で稼働することを可能にし、一方で、それらがユーザID請求を使用して制御システムリソースにアクセスすることを可能にする。
【0054】
明細書に記載されるセキュリティ技術が、フィールドバス及び標準4~20mAデバイスを使用する、ネットワーク化されたプロセス制御デバイス及びシステムと合わせて使用されるとして記載されてきた一方で、それらは、当然のことながら、任意の他のプロセス制御通信プロトコルまたはプログラミング環境を使用して、任意の種類の制御デバイス内で実装され得、任意の他の種類のデバイス、機能ブロック、またはコントローラと共に使用され得る。さらには、本明細書に記載されるセキュリティ技術は、プロセス制御システムの一部ではないコンピュータデバイスを含む、任意の他の種類のコンピュータデバイス内で実装され得る。本明細書に記載されるソフトウェアセキュリティアーキテクチャは、好ましくはソフトウェア内に実装されるものの、これらはハードウェア、ファームウェア等において実装され得、コンピュータデバイスに関連付けられる任意の他のプロセッサによって実行され得る。したがって、本明細書に記載される方法は、標準多目的CPU内で、または、所望であれば、例えばASIC等の、特異的に設計されるハードウェアもしくはファームウェア上で、実装され得る。ソフトウェア内で実装される場合、そのソフトウェアは、コンピュータまたはプロセッサ等のRAMまたはROMにおいて、磁気ディスク、レーザーディスク、光学ディスク、または他の記憶装置媒体上等の、任意のコンピュータ可読メモリ内に格納され得る。同様に、このソフトウェアは、例えば、コンピュータ可読ディスクもしくは他の輸送可能コンピュータ記憶装置機構上を含む、任意の既知のもしくは所望の送達方法を介して、ユーザへまたはプロセス制御システムへ送達され得、または、電話線、インターネット等の通信チャネルを介して、変調され得る。
【0055】
したがって、本発明が具体的な実施例を参照して記載されてきた一方で、これは単に例示的であり、発明の限定ではないことが意図され、当業者には、本発明の精神及び範囲から逸脱することなく、開示される実施形態に変更、追加、または削除がなされ得るということが明らかになるであろう。
【0056】
(付記1)
コンピュータデバイスであって、
プロセッサと、
サービスプロセスを実装するために構成データに従って前記プロセッサ上で実行する、オペレーティングシステムと、を含み、前記構成データが、前記サービスプロセスのそれぞれを、それぞれがそれに関連付けられるオペレーティングシステム特権のあらかじめ設定された組を有する、複数のカスタムサービスアカウントのうちの1つに割り当てさせ、それぞれの前記複数のカスタムサービスアカウントのためのオペレーティングシステム特権の前記あらかじめ設定された組が、前記カスタムサービスアカウントに割り当てられるサービスによって必要とされる前記オペレーティングシステム特権に基づいて定義され、カスタムサービスアカウントは双方向ログオン特権を有しない、コンピュータデバイス。
(付記2)
前記コンピュータデバイスが、1つ以上の通信ポートと、ローカルメモリ記憶装置ユニットと、をさらに含み、通信ポートと通信可能である前記サービスプロセスのそれぞれが、前記ローカルメモリ記憶装置ユニットに書き込む特権を有しない、付記1に記載のコンピュータデバイス。
(付記3)
前記コンピュータデバイスが外部メディアポートをさらに含み、通信ポートと通信可能である前記サービスプロセスのうちの1つ以上が、前記外部メディアポートを介して取り外し可能記憶装置ユニットと通信する特権を有しない、付記2に記載のコンピュータデバイス。
(付記4)
前記コンピュータデバイスが外部メディアポートをさらに含み、前記通信ポートと通信可能である前記サービスプロセスのうちの1つ以上が、前記外部メディアポートを介して取り外し可能記憶装置ユニットと通信する特権を有するさらなるサービスプロセスと直接通信する特権を有しない、付記2に記載のコンピュータデバイス。
(付記5)
前記コンピュータデバイスが、外部メディアポートと、ローカルメモリ記憶装置ユニットと、をさらに含み、前記外部メディアポートを介して取り外し可能記憶装置ユニットと通信可能である前記サービスプロセスのうちの1つが、前記ローカルメモリ記憶装置ユニットに書き込む特権を有しない、付記4に記載のコンピュータデバイス。
(付記6)
前記コンピュータデバイスが通信ポートをさらに含み、前記外部メディアポートを介して取り外し可能記憶装置ユニットと通信可能である前記サービスプロセスのうちの1つ以上が、前記通信ポートを介して通信する特権を有するさらなるサービスプロセスと直接通信する特権を有しない、付記5に記載のコンピュータデバイス。
(付記7)
デスクトップ環境をさらに含み、前記オペレーティングシステムが、デスクトップ名前空間とは別個のサービス名前空間を強化するために実行し、前記サービス名前空間内の前記サービスプロセス及び前記デスクトップ名前空間内の1つ以上のデスクトップアプリケーションを実行するために動作する、付記1に記載のコンピュータデバイス。
(付記8)
前記オペレーティングシステムが、前記デスクトップ名前空間内で稼働しているプロセスが、プロセス間通信を介して、前記サービス名前空間内で稼働しているプロセスと通信しなければならないという要求を強化する、付記7に記載のコンピュータデバイス。
(付記9)
前記オペレーティングシステムが、デスクトッププロセスを実装するために構成データを実装するための構成データに従って前記プロセッサ上で実行し、前記構成データが、前記デスクトッププロセスのそれぞれを、それぞれがそれに関連付けられるオペレーティングシステム特権のあらかじめ設定された組を有する、複数のユーザアカウントのうちの1つに割り当てさせ、それぞれの前記複数のユーザアカウントのためのオペレーティングシステム特権の前記あらかじめ設定された組が、双方向ログオン特権を含む、付記7に記載のコンピュータデバイス。
(付記10)
標準ユーザアカウントに割り当てられるオペレーティングシステム特権の前記組が、昇格または管理オペレーティングシステム特権を含まない、付記9に記載のコンピュータデバイス。
(付記11)
デスクトップアプリケーションが開始される際にそれらに割り当てられる、オペレーティングシステム特権の前記組が、その下で前記デスクトップアプリケーションが開始される前記ユーザアカウントが、昇格オペレーティングシステム特権を有する場合でさえ、標準ユーザ特権に制限され、前記デスクトップ名前空間内で稼働しているプロセスによって開始されるプロセスが、開始プロセスの特権を引継ぎする、付記9に記載のコンピュータデバイス。
(付記12)
前記オペレーティングシステムが、前記デスクトップ名前空間内で稼働しているプロセスが、そのアカウントが昇格特権を有する認証ユーザの明示的な認可なしでは、オペレーティングシステム特権において昇格され得ないという規則を強化する、付記9に記載のコンピュータデバイス。
(付記13)
前記オペレーティングシステムが、前記サービス名前空間内で稼働している全てのプロセスが、プロセス間通信を介して前記サービス名前空間内で稼働している他のプロセスと通信しなければならないという要求を強化する、付記7に記載のコンピュータデバイス。
(付記14)
前記コンピュータデバイスが、サービスファイルまたはサービスフォルダを格納するローカルメモリ記憶装置ユニットをさらに含み、前記オペレーティングシステムが、前記デスクトップ名前空間内で稼働しているプロセスが、前記ローカルメモリ記憶装置ユニット内に格納されるサービスファイルまたはサービスフォルダに書き込むことを防止する規則を強化する、付記7に記載のコンピュータデバイス。
(付記15)
前記デスクトップ名前空間内にユーザインターフェースを含むデスクトップをさらに含み、前記オペレーティングシステムが、前記サービスプロセスのいかなるものも前記デスクトップに直接アクセスすることを防止する規則を強化する、付記7に記載のコンピュータデバイス。
(付記16)
デスクトップアプリケーションに由来するメッセージが、デスクトップアプリケーションのユーザを特定するユーザID情報を含み、前記ユーザID情報が、通信リンクを介してメッセージを送信するために通信ポートにアクセスするサービスプロセスを通ることを含めて、複数のプロセスを通してそれらの最終目的地までメッセージに追従する、付記7に記載のコンピュータデバイス。
(付記17)
前記ユーザID情報が、前記メッセージをメッセージ受信者に転送するために使用される1つ以上のプロセスに関連付けられる、オペレーティングシステム特権及び/またはアクセス許可を制御せず、前記ユーザID情報が制御対象を処理するためにアクセス許可を制御する、付記16に記載のコンピュータデバイス。
(付記18)
コンピュータデバイスであって、
プロセッサと、
通信ポートと、
ローカルメモリ記憶装置ユニットと、
前記通信ポートと通信可能であるサービスプロセスを含む、サービスプロセスを実装するための構成データに従って、前記プロセッサ上で実行するオペレーティングシステムと、を備え、前記通信ポートと通信可能である前記サービスプロセスが、前記ローカルメモリ記憶装置ユニットに書き込む特権を有しない、コンピュータデバイス。
(付記19)
前記ローカルメモリ記憶装置ユニットが、サービスプロセスファイルまたはサービスプロセスフォルダを格納する、付記18に記載のコンピュータデバイス。
(付記20)
前記ローカルメモリ記憶装置ユニットが、デスクトップアプリケーションファイルをさらに格納する、付記19に記載のコンピュータデバイス。
(付記21)
前記コンピュータデバイスが外部メディアポートをさらに含み、前記通信ポートと通信可能である前記サービスプロセスのうちの1つが、前記外部メディアポートを介して取り外し可能記憶装置ユニットと通信する特権を有しない、付記18に記載のコンピュータデバイス。
(付記22)
前記コンピュータデバイスが外部メディアポートをさらに含み、前記通信ポートと通信可能である前記サービスプロセスのうちの1つが、前記外部メディアポートを介して取り外し可能記憶装置ユニットと通信する特権を有する、さらなるサービスプロセスと直接通信する特権を有しない、付記18に記載のコンピュータデバイス。
(付記23)
前記外部メディアポートを介して取り外し可能記憶装置ユニットと通信可能である前記さらなるサービスプロセスが、前記ローカルメモリ記憶装置ユニットに書き込む特権を有しない、付記22に記載のコンピュータデバイス。
(付記24)
デスクトップ環境をさらに含み、前記オペレーティングシステムが、デスクトップ名前空間とは別個のサービス名前空間を強化するために実行し、前記サービス名前空間内の前記サービスプロセス及び前記デスクトップ名前空間内の1つ以上のデスクトップアプリケーションを実行するために動作する、付記18に記載のコンピュータデバイス。
(付記25)
前記オペレーティングシステムが、前記デスクトップ名前空間内で稼働しているプロセスが、プロセス間通信を介して前記サービス名前空間内で稼働しているプロセスと通信しなければならないという要求を強化する、付記24に記載のコンピュータデバイス。
(付記26)
デスクトップアプリケーションに、前記デスクトップアプリケーションを開始するユーザアカウントに関連付けられるオペレーティングシステム特権の組とは分離して設定される、オペレーティングシステム特権の組が割り当てられ、前記デスクトップアプリケーションが割り当てられるオペレーティングシステム特権の前記組が、管理者オペレーティングシステム特権を含まない、付記25に記載のコンピュータデバイス。
(付記27)
前記オペレーティングシステムが、前記デスクトップアプリケーションがオペレーティングシステム特権において昇格され得ないという規則を強化する、付記25に記載のコンピュータデバイス。
(付記28)
前記オペレーティングシステムが、前記デスクトップアプリケーションがローカルメモリ記憶装置ユニット内に格納されるサービスファイルまたはサービスフォルダに書き込むことを防止する規則を強化する、付記25に記載のコンピュータデバイス。
(付記29)
デスクトップアプリケーションに由来するメッセージが前記デスクトップアプリケーションのユーザを特定するユーザID情報を含み、前記ユーザID情報が、通信ネットワークを介して前記メッセージを送信するために通信ネットワークポートにアクセスする前記サービスプロセスを通して前記メッセージに追従する、付記24に記載のコンピュータデバイス。
(付記30)
ユーザインターフェースを含むデスクトップをさらに含み、前記オペレーティングシステムが、前記サービスプロセスのいかなるものも前記デスクトップに直接アクセスすることを防止する規則を強化する、付記18に記載のコンピュータデバイス。
(付記31)
コンピュータデバイスであって、
プロセッサと、
外部メディアポートと、
ローカルメモリ記憶装置ユニットと、
前記外部メディアポートを介して取り外し可能メモリデバイスと通信可能であるサービスプロセスを含むサービスプロセスを実装するための構成データに従って、前記プロセッサ上で実行するオペレーティングシステムと、を含み、前記外部メディアポートを介して取り外し可能メモリデバイスと通信可能である前記サービスプロセスが、前記ローカルメモリ記憶装置ユニットに書き込む特権を有しない、コンピュータデバイス。
(付記32)
前記ローカルメモリ記憶装置ユニットが、サービスプロセスファイルまたはサービスプロセスフォルダを格納する、付記31に記載のコンピュータデバイス。
(付記33)
前記ローカルメモリ記憶装置ユニットが、デスクトップアプリケーションファイルをさらに格納する、付記32に記載のコンピュータデバイス。
(付記34)
前記コンピュータデバイスが通信ポートをさらに含み、前記外部メディアポートを介して取り外し可能メモリと通信可能である前記サービスプロセスのうちの1つが、前記通信ポートを介して通信する特権を有するさらなるサービスプロセスと直接通信する特権を有しない、付記31に記載のコンピュータデバイス。
(付記35)
デスクトップ環境をさらに含み、前記オペレーティングシステムが、デスクトップ名前空間とは別個のサービス名前空間を強化するために実行し、前記サービス名前空間内の前記サービスプロセス及び前記デスクトップ名前空間内の1つ以上のデスクトップアプリケーションを実行するために動作する、付記31に記載のコンピュータデバイス。
(付記36)
前記オペレーティングシステムが、前記デスクトップ名前空間内で稼働しているプロセスが、プロセス間通信を介して前記サービス名前空間内で稼働しているプロセスと通信しなければならないという要求を強化する、付記35に記載のコンピュータデバイス。
(付記37)
デスクトップアプリケーションに、前記デスクトップアプリケーションを開始するユーザアカウントに関連付けられるオペレーティングシステム特権の組とは分離して設定される、オペレーティングシステム特権の組が割り当てられ、前記デスクトップアプリケーションが割り当てられるオペレーティングシステム特権の前記組が、管理者オペレーティングシステム特権を含まない、付記36に記載のコンピュータデバイス。
(付記38)
前記オペレーティングシステムが、前記デスクトップアプリケーションがオペレーティングシステム特権において昇格され得ないという規則を強化する、付記37に記載のコンピュータデバイス。
(付記39)
ユーザインターフェースを含むデスクトップをさらに含み、前記オペレーティングシステムが、前記サービスプロセスのいかなるものも前記デスクトップに直接アクセスすることを防止する規則を強化する、付記31に記載のコンピュータデバイス。
(付記40)
コンピュータデバイスであって、
プロセッサと、
外部メディアポートと、
通信ポートと、
前記外部メディアポートを介して取り外し可能メモリデバイスと通信可能であるサービスプロセスを含むサービスプロセスを実装するための構成データに従って、前記プロセッサ上で実行するオペレーティングシステムと、を含み、前記外部メディアポートを介して取り外し可能メモリデバイスと通信可能である前記サービスプロセスが、前記通信ポートにアクセスする特権を有しない、コンピュータデバイス。
(付記41)
前記外部メディアポートを介して取り外し可能メモリデバイスと通信可能である前記サービスプロセスが、前記通信ポートにアクセスすることができる別のサービスに直接アクセスする前記特権を有しない、付記40に記載のコンピュータデバイス。
(付記42)
デスクトップ環境をさらに含み、前記オペレーティングシステムが、デスクトップ名前空間とは別個のサービス名前空間を強化するために実行し、前記サービス名前空間内の前記サービスプロセス及び前記デスクトップ名前空間内の1つ以上のデスクトップアプリケーションを実行するために動作する、付記40に記載のコンピュータデバイス。
(付記43)
前記オペレーティングシステムが、前記デスクトップ名前空間内で稼働しているプロセスが、プロセス間通信を介して前記サービス名前空間内で稼働しているプロセスと通信しなければならないという要求を強化する、付記42に記載のコンピュータデバイス。
(付記44)
前記オペレーティングシステムが、サービスがプロセス間通信を介して他のサービスと通信しなければならないという要求を強化する、付記40に記載のコンピュータデバイス。
(付記45)
コンピュータデバイスであって、
プロセッサと、
サービスプロセス及び1つ以上のデスクトッププロセスを実装するための構成データに従って、前記プロセッサ上で実行するオペレーティングシステムと、を含み、
前記オペレーティングシステムが、デスクトップ名前空間とは別個のサービス名前空間を強化するために実行し、サービス名前空間内の前記サービスプロセス及び前記サービス名前空間とは別個のデスクトップ名前空間内の前記1つ以上のデスクトップアプリケーションを実行するために動作し、前記サービス名前空間内で実装される全てのプロセスが、プロセス間通信を介して前記デスクトップ名前空間内のプロセスと通信しなければならない、コンピュータデバイス。
(付記46)
前記1つ以上のデスクトップアプリケーションに、前記デスクトップアプリケーションを開始するユーザアカウントに関連付けられるオペレーティングシステム特権の組とは分離して設定される、オペレーティングシステム特権の組が割り当てられる、付記45に記載のコンピュータデバイス。
(付記47)
前記1つ以上のデスクトップアプリケーションに、前記デスクトップアプリケーションを開始するユーザアカウントに関連付けられるオペレーティングシステム特権に依存しない、前記オペレーティングシステム特権の同じ組が割り当てられる、付記45に記載のコンピュータデバイス。
(付記48)
前記デスクトップアプリケーションが割り当てられるオペレーティングシステム特権の前記組が、管理者オペレーティングシステム特権を含まない、付記47に記載のコンピュータデバイス。
(付記49)
前記デスクトップアプリケーションが割り当てられるオペレーティングシステム特権の前記組が、一般ユーザに関連付けられるオペレーティングシステム特権である、付記48に記載のコンピュータデバイス。
(付記50)
前記オペレーティングシステムが、デスクトップアプリケーションがオペレーティングシステム特権において昇格され得ないという規則を強化する、付記47に記載のコンピュータデバイス。
(付記51)
前記コンピュータデバイスがローカルメモリ記憶装置ユニットを含み、前記オペレーティングシステムが、デスクトップアプリケーションが前記ローカルメモリ記憶装置ユニット内に格納されるサービスファイルまたはサービスフォルダに書き込むことを防止する規則を強化する、付記45に記載のコンピュータデバイス。
(付記52)
ユーザインターフェースを含むデスクトップをさらに含み、前記オペレーティングシステムが、前記サービスプロセスのいかなるものも前記デスクトップにアクセスすることを防止する規則を強化する、付記45に記載のコンピュータデバイス。
(付記53)
デスクトップアプリケーションに由来するメッセージが、デスクトップアプリケーションのユーザを特定するユーザID情報を含み、前記ユーザID情報が、前記メッセージを送信することに関連付けられる複数のプロセスを通してメッセージに追従する、付記45に記載のコンピュータデバイス。
(付記54)
前記ユーザID情報が、前記メッセージをメッセージ受信者に転送するために使用される1つ以上のプロセスに関連付けられるオペレーティングシステム特権を制御しない、付記53に記載のコンピュータデバイス。
(付記55)
前記コンピュータデバイスが、通信ポートとローカルメモリ記憶装置ユニットとをさらに含み、前記通信ポートと通信可能である前記サービスプロセスのうちの1つが、前記ローカルメモリ記憶装置ユニットに書き込む特権を有しない、付記45に記載のコンピュータデバイス。
(付記56)
前記コンピュータデバイスが外部メディアポートをさらに含み、通信ポートと通信可能である前記サービスプロセスのうちの前記1つが、前記外部メディアポートを介して取り外し可能記憶装置ユニットと通信する特権を有しない、付記45に記載のコンピュータデバイス。
(付記57)
前記コンピュータデバイスが、通信ポートと、ローカルメモリ記憶装置ユニットと、外部メディアポートと、をさらに含み、通信ネットワークポートと通信可能である前記サービスプロセスのうちの1つが、前記ローカルメモリ記憶装置ユニットに書き込む特権または前記外部メディアポートを介して取り外し可能記憶装置ユニットと通信する特権を有せず、前記外部メディアポートを介して取り外し可能記憶装置ユニットと通信可能である前記サービスプロセスの1つが、前記ローカルメモリ記憶装置ユニットに書き込む特権を有せずかつ前記通信ポートと通信する特権を有せず、前記通信ポートと通信可能である前記サービスプロセスのうちの前記1つが、前記外部メディアポートを介して取り外し可能記憶装置ユニットと通信可能である前記サービスプロセスのうちの前記1つと直接通信する特権を有しない、付記45に記載のコンピュータデバイス。
(付記58)
コンピュータデバイスであって、
プロセッサと、
サービスプロセス及び1つ以上のデスクトッププロセスを実装するための構成データに従って、前記プロセッサ上で実行するオペレーティングシステムと、を含み、
前記オペレーティングシステムが、前記サービスプロセスを呼び出すプロセスに関係なく、それぞれのサービスプロセスが割り当てられるカスタムサービスアカウントに基づいて、前記サービスプロセスのためのオペレーティングシステム特権を強化し、前記オペレーティングシステムが、どのユーザアカウントの組がデスクトップアプリケーションを呼び出すかに関わらず、前記デスクトップアプリケーションのために使用される、前記デスクトップアプリケーションのために定義されるオペレーティングシステム特権の標準の組を使用して、前記1つ以上のデスクトップアプリケーションのそれぞれのためのオペレーティングシステム特権を強化し、メッセージが前記デスクトップアプリケーションのユーザを特定するユーザIDを含むように、デスクトップアプリケーションを送信することが、受信者プロセスに前記メッセージを送信し、前記メッセージが前記デスクトップアプリケーションから受信プロセスに中継されるにつれて、前記メッセージが多数の異なるサービスプロセスのそれぞれによって処理される際に、前記ユーザIDが前記メッセージと共に流れる、コンピュータデバイス。
(付記59)
前記ユーザIDのユーザID情報が、通信リンクを介して前記メッセージを送信するために、通信ポートにアクセスするサービスプロセスを通すことを含めて、それらの最終目的地までの複数のプロセスを通してメッセージに追従する、付記58に記載のコンピュータデバイス。
(付記60)
前記ユーザID情報が、前記メッセージをメッセージ受信者に転送するために使用される1つ以上のプロセスに関連付けられる、前記オペレーティングシステム特権及び/またはアクセス許可を制御しない、付記59に記載のコンピュータデバイス。
(付記61)
前記ユーザID情報が、プロセス制御ネットワークにおいて制御対象を処理するためにアクセス許可を制御する、付記60に記載のコンピュータデバイス。
(付記62)
前記デスクトップアプリケーションのために定義されるオペレーティングシステム特権の前記標準の組が、管理者オペレーティングシステム特権を含まない、付記58に記載のコンピュータデバイス。
(付記63)
前記オペレーティングシステムが、デスクトップアプリケーションがオペレーティングシステム特権において昇格され得ないという規則を強化する、付記62に記載のコンピュータデバイス。
(付記64)
前記コンピュータデバイスがローカルメモリ記憶装置ユニットを含み、前記オペレーティングシステムが、デスクトップアプリケーションが前記ローカルメモリ記憶装置ユニット内に格納されるサービスファイルまたはサービスフォルダに書き込むことを防止する規則を強化する、付記58に記載のコンピュータデバイス。
(付記65)
ユーザインターフェースを含むデスクトップをさらに含み、前記オペレーティングシステムが、前記サービスプロセスのいかなるものも前記デスクトップにアクセスすることを防止する規則を強化する、付記58に記載のコンピュータデバイス。
(付記66)
前記ユーザIDの情報が、前記メッセージを前記受信プロセスに転送するために使用される、1つ以上のプロセスに関連付けられる前記オペレーティングシステム特権に影響を与えない、付記58に記載のコンピュータデバイス。
(付記67)
前記コンピュータデバイスが、通信ポートとローカルメモリ記憶装置ユニットとをさらに含み、前記通信ポートと通信可能である前記サービスプロセスのうちの1つが、前記ローカルメモリ記憶装置ユニットに書き込む特権を有しない、付記58に記載のコンピュータデバイス。
(付記68)
前記コンピュータデバイスが、外部メディアポートをさらに含み、通信ポートと通信可能である前記サービスプロセスのうちの前記1つが、前記外部メディアポートを介して取り外し可能記憶装置ユニットと通信する特権を有しない、付記58に記載のコンピュータデバイス。
(付記69)
前記コンピュータデバイスが、通信ポートと、ローカルメモリ記憶装置ユニットと、外部メディアポートと、をさらに含み、前記通信ポートと通信可能である前記サービスプロセスのうちの1つが、前記ローカルメモリ記憶装置ユニットに書き込む特権を有せず、前記外部メディアポートを介して取り外し可能記憶装置ユニットと通信可能である前記サービスプロセスのうちの1つが、前記ローカルメモリ記憶装置ユニットに書き込む特権を有せず、前記通信ポートと通信可能である前記サービスプロセスのうちの前記1つが、前記外部メディアポートを介して取り外し可能記憶装置ユニットと通信可能である前記サービスプロセスのうちの前記1つと直接通信する特権を有しない、付記58に記載のコンピュータデバイス。
(付記70)
前記オペレーティングシステムが、デスクトップ名前空間とは別個のサービス名前空間を強化するために実行し、サービス名前空間内の前記サービスプロセス及び前記サービス名前空間とは別個のデスクトップ名前空間内の前記1つ以上のデスクトップアプリケーションを実行するために動作し、前記サービス名前空間内に実装される全てのプロセスが、プロセス間通信を介して前記デスクトップ名前空間内のプロセスと通信しなければならない、付記58に記載のコンピュータデバイス。