JP7132184B2 - プロセス制御システムの整合性低下を識別する方法及び装置、有形的マシン可読媒体 - Google Patents

プロセス制御システムの整合性低下を識別する方法及び装置、有形的マシン可読媒体 Download PDF

Info

Publication number
JP7132184B2
JP7132184B2 JP2019125011A JP2019125011A JP7132184B2 JP 7132184 B2 JP7132184 B2 JP 7132184B2 JP 2019125011 A JP2019125011 A JP 2019125011A JP 2019125011 A JP2019125011 A JP 2019125011A JP 7132184 B2 JP7132184 B2 JP 7132184B2
Authority
JP
Japan
Prior art keywords
process control
file
control system
profile
integrity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019125011A
Other languages
English (en)
Other versions
JP2019194905A (ja
Inventor
シー. ジョーンズ アーロン
ビー. ハブコスト ロバート
Original Assignee
フィッシャー-ローズマウント システムズ,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by フィッシャー-ローズマウント システムズ,インコーポレイテッド filed Critical フィッシャー-ローズマウント システムズ,インコーポレイテッド
Publication of JP2019194905A publication Critical patent/JP2019194905A/ja
Priority to JP2022133876A priority Critical patent/JP7509503B2/ja
Application granted granted Critical
Publication of JP7132184B2 publication Critical patent/JP7132184B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/565Static detection by checking file integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computing Systems (AREA)
  • Virology (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Safety Devices In Control Systems (AREA)

Description

本開示は、一般に、プロセス制御システムに関し、より詳細には、プロセス制御システムの整合性低下を識別する方法及び装置に関する。
セキュリティ違反は、プロセス制御システム(例えば、発電所、石油精製所、化学工場など)などのコンピューティングシステムに対する絶え間ない脅威である。プロセス制御システムのセキュリティ違反は、破滅的影響を及ぼし得る。かかるセキュリティ違反を防ぐため、プロセス制御システムは、意図的に外部通信から分離される。プロセス制御システムは、通常、システムの日常業務を実行するために必要な全てのコンポーネントを含み、外部システムと通信しない。
しかし、例えば、警告、エラーメッセージ、注意メッセージなど、プロセス制御システムに関連するか、かつ/またはプロセス制御システムによって生成されるいくつかの情報は、プロセス制御システムの外部と共有する必要があり得る。プロセス制御システムの外部と情報を共有するための一般的な技術は、例えば、インターネットなどの、電子通信システムを伴う。しかし、かかる電子通信システムを経由した通信は、プロセス制御システム内のセキュリティの脆弱性を引き起こし得る。
プロセス制御システムの整合性の低下を識別する方法例は、プロセス制御システムのファイルシステム上のファイルを識別することを含む。次いで、そのファイルがシステムプロファイル内で識別されるか否かが判断される。システムプロファイルは、ファイルシステム上に存在するはずのファイルを識別する。ファイルがシステムプロファイル内で識別されない場合に、プロセス制御システムの整合性の低下が識別される。
プロセス制御システムの整合性の低下を識別するための装置例は、プロセス制御ノードのファイルシステム上に格納されているファイルのプロパティと第1の格納されたプロパティとの間の差を整合性の低下として識別するためのファイルシステム検証ツール(file system verifier)を含む。システム例は、プロセス制御ノードによって実行されるアクティブプロセスのプロパティと第2の格納されたプロパティとの間の差を整合性の低下として識別するためのアクティブプロセス検証ツールをさらに含む。
プロセス制御ノードを含むプロセス制御システム例のブロック図である。 整合性ガード(integrity guard)を含む、図1のプロセス制御ノードの実施例のブロック図である。 図1および図2のプロセス制御ノード例の整合性ガードの実施例のブロック図である。 図1のプロセス制御システムの整合性における変化を検出するために実行され得る方法例を表す流れ図である。 ファイルシステムの整合性検証を実行し得る方法例を表す流れ図である。 ネットワークトラフィックの整合性検証を実行し得る方法例を表す流れ図である。 アクティブプロセスの整合性検証を実行し得る方法例を表す流れ図である。 図1および/もしくは図2のプロセス制御ノード例、ならびに/または図2および/もしくは図3の整合性ガード例を実施するために、図4~図7の方法例を実行可能なプロセッサプラットフォーム例のブロック図である。
プロセス制御システムのセキュリティ違反は、プロセス制御システムの顧客(例えば、プロセス制御システムのオペレータ)に向けて、および/または製作者(例えば、プロセス制御システムの提供者)に向けて、悪意のある変更をプロセス制御システムに対して可能にし得る。顧客に影響を及ぼす変更には、プロセス制御システムを支配すること、機密情報および/またはプロセス制御システムの設定にアクセスすること、プロセス制御システムを無効にすることなどを含み得る。プロセス制御システムの製作者に影響を及ぼす変更には、プロセス制御システムの製作者に影響を及ぼさなければ顧客がそれに対して支払う必要があり得る機能にアクセスすることなどを含み得る。
セキュリティ違反に対処するため、本明細書に記載する方法および装置例は、プロセス制御システム内にある1つまたは複数のプロセス制御ノード内の整合性ガードを含む。整合性ガード例は、プロセス制御ノードの整合性、およびそれによって、プロセス制御システムの整合性を監視および検証する。プロセス制御ノードの整合性は、いくつかの方法で監視される。例えば、整合性ガードは、プロセス制御ノードのファイルシステムを監視および検証し、整合性ガードは、プロセス制御ノードのネットワーク通信を監視および検証し、かつ/または整合性ガードは、プロセス制御ノードのアクティブプロセスを監視および検証する。
消費者システム(例えば、パーソナルコンピュータ)では、システム問題を検出するためにアンチウイルスシステムが使用される。アンチウイルスシステムは、例えば、既知の悪意のあるアプリケーションのシグネチャ(signature)および/または定義など、既知の問題の定義を使用する。アンチウイルスシステムは、次いで、システム上のアプリケーションおよび/またはファイルを定義と肯定的に照合することにより、問題を識別する。すなわち、定義と一致するものは何でも問題と見なされる。対照的に、以下で説明する例の整合性ガードは、ファイルシステムの不規則性、ネットワーク通信の不規則性、および/またはアクティブプロセスの不規則性を否定的に識別することにより、プロセス制御ノードおよび/またはプロセス制御システムの整合性における低下を識別する。すなわち、定義と一致しないものは不規則性および/または問題と考えられる。
本明細書に記載する例では、シグネチャは、整合性ガードが、ファイル、アプリケーション、プロセスなどを識別できるようする、ファイル、アプリケーション、プロセスなどの1つまたは複数の識別特徴(例えば、サイズ、更新日、その内容など)を含む。
プロセス制御システムの整合性の低下を検出すると、整合性ガードは、プロセス制御システムの管理者および/またはプロセス制御システムのプロバイダに警告を送信し得る。本明細書で説明するように、管理者は、プロセス制御システムに関連するか、かつ/または別なふうに関係する人および/もしくはグループであり得る。例えば、プロセス制御システムの管理者は、そのプロセス制御システムに関連した情報を受信すべきオペレータ、インストーラ、マネージャ、ユーザー、所有者、または任意の他の人および/もしくはグループであり得る。かかる警告は、プロセス制御システムの管理者が予防措置を講じることを可能にし得る。警告は、プロセス制御システムのプロバイダが、顧客が、例えば、有料の機能にアクセスするために、プロセス制御システムをいつ変更しようとしたかを識別できるようにし得る。警告の送信の追加および/または代替として、整合性ガードは、管理者に警告を表示すること、違法なプロセスを終了すること、システムまたはサービスをシャットダウンすること、セキュリティ検証等を実行することなどを行い得る。
図1は、1つまたは複数のプロセス制御ノード115を含む、プロセス制御システム例110のブロック図100である。いくつかの例では、プロセス制御システム110は、発電所、石油精製所、化学工場などで稼働する。
図1のプロセス制御システム110のようなプロセス制御システム例は、通常、アナログバス、デジタルバスまたはアナログ/デジタル結合バスを経由して、プロセス制御ノード115に通信的に結合されたフィールド装置を有する、1つまたは複数のプロセス制御ノード115を含む。フィールド装置は、例えば、バルブ、バルブポジショナ、スイッチおよび送信機(例えば、温度センサー、圧力センサーおよび流量センサー)であり得、バルブの開閉およびプロセス制御パラメータの測定など、プロセス制御システム110内のプロセス制御機能を実行する。プロセス制御ノード115は、フィールド装置によって行われたプロセス測定値を示す信号を受信し、制御ルーチンを実装するためにこの情報を処理し、プロセスの動作を制御するためにプロセス制御システム110内で送信される制御信号を生成する。このように、プロセス制御ノード115は、フィールド装置を通信的に結合するバスおよび/または他の通信リンクを経由してフィールド装置を使用して、制御方式を実行および調整し得る。いくつかの例では、プロセス制御ノード115は、例えば、警告および/または注意を提供するため、プロセス制御システム110内で使用されるパラメータを取得するため、など、プロセス制御システム110の外部の資源と通信する。
図示した例のプロセス制御システム110は、プロセス制御システムプロバイダ120によってプロセス制御システム110のオペレータに提供される。プロセス制御システムプロバイダ120は、例えば、警告を受信するため、プロセス制御システム110に更新情報を提供するため、適切な使用許可を確実にするためなど、プロセス制御システム110と通信する。図示した例では、プロセス制御システムプロバイダ120は、インターネット125を経由して、プロセス制御システム110と通信する。しかし、例えば、仮想プライベートネットワーク(VPN)、ダイヤルアップ接続など、任意の他のタイプの通信媒体が、追加または代替として使用され得る。
図示した例では、プロセス制御システム110は、プロセス制御システム管理者130によって管理される。本明細書で説明するように、プロセス制御システム管理者130は、プロセス制御システム110に関連するか、かつ/または別なふうに関係する任意の人および/もしくはグループであり得る。例えば、プロセス制御システム管理者130は、プロセス制御システム110に関連した情報を受信すべきオペレータ、インストーラ、マネージャ、ユーザー、所有者、または任意の他の人および/もしくはグループであり得る。図示した例のプロセス制御システム管理者130は、プロセス制御システム110を運用および/または保守する。いくつかの例では、プロセス制御システム管理者130は、プロセス制御システム110を配備および/または構成する。プロセス制御システム管理者130は、プロセス制御システム110の構成に関与するので、プロセス制御システム管理者130は、プロセス制御システム110の構成に関与しなければそれに対して支払われる機能性を不注意にまたは別なふうに起動および/またはインストールし得る。いくつかの例では、プロセス制御システム110は、購入されていない機能が動作中である場合、プロセス制御システム管理者130に警告する。反対に、プロセス制御システム110は、購入されている機能がインストールされていないか、構成されていないか、かつ/または適切に動作していない場合、プロセス制御システム管理者130に警告し得る。
図2は、図1のプロセス制御ノード115の実施例のブロック図である。ノード例115は、プロセス制御コンポーネント210、ファイルシステム220、ネットワークコミュニケータ230、プロセッサ240および整合性ガード250を含む。
図2の図示した例のプロセス制御コンポーネント例210は、例えば、バルブ、ポンプ、ファン、加熱器、冷却器、および/または他の装置を介してプロセスを制御するために、入力を受信可能な入力装置を含む。プロセス制御コンポーネント例210は、例えば、温度計、圧力計、流量計、および/または他の装置などの、出力を生成可能な出力装置も含む。いくつかの例では、プロセス制御コンポーネント210は、コントローラ(例えば、Delta(登録商標)コントローラ)と通信的に結合され、それは、出力装置によって出力された情報を収集し、プロセスを変更するために、命令を入力装置に送信する。プロセス制御コンポーネント210によって使用される情報には、例えば、プロセス情報、環境情報、およびプロセス変数(例えば、反応炉入り口圧力などの測定されたプロセス変数)の値を含む。
図2の図示例のファイルシステム例220は、プロセス制御コンポーネント210および/または、より一般的には、プロセス制御ノード115を操作するための情報を格納する。図示した例では、ファイルシステム220は、ハードディスクライブで実施される。しかし、ファイルシステム220は、例えば、フラッシュメモリ、磁気媒体など、データを格納するための任意の装置であり得る。さらに、ファイルシステム220に格納されるデータは、例えば、ニューテクノロジファイルシステム(NTFS)、ファイルアロケーションテーブル(FAT)など、任意のデータフォーマットであり得る。
図2の図示例のネットワークコミュニケータ例230は、イーサネット(登録商標)インタフェースである。図示した例では、ネットワークコミュニケータ230は、ネットワーク通信(例えば、HTTP要求など)を、プロセス制御システム110内の他のプロセス制御ノード115および/またはプロセス制御システム110の外部の他の装置(例えば、インターネット125上の装置など)から受信するか、かつ/またはネットワーク通信をそれらに送信する。図示した例では、ネットワークコミュニケータ230はイーサネット(登録商標)インタフェースであるが、任意の他のタイプのインタフェースが追加または代替として使用され得る。例えば、ネットワークコミュニケータ230は、ブルートゥース(登録商標)インタフェース、WiFiインタフェース、デジタル加入者回線(DSL)インタフェース、T1インタフェースなどのうちの1つまたは複数を含み得る。図示した例では、単一のネットワークコミュニケータ230が示されているが、任意の数および/またはタイプのネットワークコミュニケータが追加または代替として使用され得る。例えば、2つのネットワークコミュニケータ(例えば、イーサネット(登録商標)インタフェース)が使用され得る。
図2の図示例のプロセッサ例240は、プロセス制御ノード115を操作するために情報を処理する。図2のプロセッサ例240は、命令を実行するプロセッサによって実施されるが、代替として、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、または他の回路機構によって実施され得る。図示した例は、プロセッサ240は、ファイルシステム220に格納されたマシン可読命令に基づいて、情報を処理する。しかし、命令は、例えば、メモリ、インターネット資源など、任意の他の場所に格納され得る。プロセス制御ノード115の整合性の低下(例えば、セキュリティ違反など)の場合には、命令が変更されている可能性があり、プロセッサ240がその命令を実行する際に、プロセス制御ノード115が意図した通りに機能しない可能性がある。
図2の図示例の整合性ガード例250はプロセス制御ノード115の整合性、およびそれによって、プロセス制御システム110の整合性を監視および検証する。プロセス制御ノード115の整合性は、例えば、プロセス制御ノード115のファイルシステム220の監視および検証、プロセス制御ノード115のネットワークコミュニケータ230との間のネットワーク通信の監視および検証、ならびに/またはプロセス制御ノード115のプロセッサ240によって実行されているアクティブプロセスの監視および検証を含む、いくつかの方法で監視される。
図3は、図1および図2のプロセス制御ノード例115の整合性ガード250の実施例のブロック図である。整合性ガード例250は、ファイルシステム検証ツール310、ネットワーク通信検証ツール320、アクティブプロセス検証ツール330、プロファイルストア(profile store)340、および警告装置(alerter)350を含む。プロファイルストア例340は、ファイルシステムプロファイル311、ネットワーク通信プロファイル321、およびアクティブプロセスプロファイル331を含む。図示した例では、ファイルシステムプロファイル311、ネットワーク通信プロファイル321、およびアクティブプロセスプロファイル331は、別個のプロファイルとして示されているが、ファイルシステムプロファイル311、ネットワーク通信プロファイル321、およびアクティブプロセスプロファイル331は、単一のプロファイル(例えば、システムプロファイル)に結合および/または配置され得る。
ファイルシステム検証ツール例310は、命令を実行するプロセッサによって実施されるが、代替として、ASIC、DSP、FPGA、または他の回路機構によって実施され得る。図示した例では、ファイルシステム検証ツール310は、ファイルシステム220の整合性を監視および/または検証する。図示した例では、ファイルシステム検証ツール310は、ファイルシステム220上のファイルをプロファイルストア340内に格納されたファイルシステムプロファイル311と照合することにより、ファイルシステム220の整合性を検証する。いくつかの例では、ファイルシステム検証ツール310は、ファイルシステム220上のファイルのハッシュ値を計算し、計算されたハッシュ値が、ファイルシステムプロファイル311に格納されているファイルの以前に計算されたハッシュ値と一致するか否かを判断する。図示した例では、ハッシュ値は、ハッシング法(例えば、セキュアハッシュアルゴリズム1(SHA-1)、メッセージダイジェスト5(MD5)など)を用いて計算される。計算されたハッシュ値が以前に計算されたハッシュ値と一致すれば、そのファイルは変更されていない。しかし、計算されたハッシュ値が以前に計算されたハッシュ値と一致しなければ、そのファイルは変更されている。プロセス制御システムの特定のファイルに対する変更は、プロセス制御ノード115の整合性の低下を示し得る。
いくつかの例では、ファイルシステムプロファイル311は、あるファイルおよび/またはファイルのディレクトリに対する例外を含む。例えば、ファイルシステムプロファイル311は、ログアクティビティがプロセス制御ノード115の整合性における低下として識別されないように、ログファイルおよび/またはログファイルディレクトリ(例えば、1つまたは複数のログファイルが格納され得る場所)に対する例外を含み得る。ファイルシステム検証ツール310が、プロセス制御ノード115のファイルシステム220の整合性における低下を識別すると、ファイルシステム検証ツール310は、警告装置350を介して、プロセス制御システム管理者130および/またはプロセス制御システムプロバイダ120に警告する。いくつかの例では、ファイルシステム検証ツール310は、プロセス制御ノード115の整合性の低下という結果となっているファイルを除去(例えば、削除、隔離など)するための措置を講じる。
図示した例のファイルシステム検証ツール310は、既知のシステムのプロファイルと一致しない項目(例えば、ファイル、ファイルのディレクトリなど)を識別することにより、プロセス制御ノード115の整合性における低下を識別する。逆に、既知のアンチウイルスシステムは、既知の問題の定義と照合することにより、悪意のあるファイルを識別する。例えば、アンチウイルスシステムは、特定のウイルスに関連したファイルが存在するか否かを識別するためにファイルシステムをスキャンし得るが、他方、ファイルシステム検証ツール例310は、ファイルシステムプロファイル内に含まれていない任意のファイルが存在する場合を識別する。
ネットワーク通信検証ツール例320は、命令を実行するプロセッサによって実施されるが、代替として、ASIC、DSP、FPGA、または他の回路機構によって実施され得る。図示した例では、ネットワーク通信検証ツール320は、ネットワーク通信のプロパティを識別することにより、ネットワークコミュニケータ230との間のネットワーク通信を監視および/または検証する。図示した例では、有効な通信の1つまたは複数のプロパティが、ネットワーク通信プロファイル321に格納される。図示した例のネットワーク通信プロファイル321は、プロファイルストア340に格納される。
図示した例では、ネットワーク通信プロファイル321は、プロセス制御ノード115によって標準的に使用されるポート番号を識別するプロパティを含む。プロセス制御ノード115によって標準的に使用されないポートを使用しようとする試みが検出されると、ネットワーク通信検証ツール例320は、この試みをプロセス制御ノード115の整合性の低下として識別する。追加または代替として、ネットワーク通信プロファイル321は、シグネチャの一部として他のパラメータを含み得る。例えば、シグネチャは、プロセス制御ノード115によって使用される宛先アドレス(例えば、インターネットプロトコル(IP)アドレス、ドメイン名、電子メールアドレスなど)、プロセス制御ノード115によって使用されるメッセージフォーマットなどを含み得る。
いくつかの例では、ネットワーク通信検証ツール320は、ネットワーク通信プロファイル321に含まれていない宛先に向けられたネットワーク通信が送信されると、ネットワーク通信が整合性の低下を示しているか否かを判断する。いくつかの例では、ネットワーク通信検証ツール320は、ネットワーク通信を送信するプロセス制御ノード115のプロセスについて問い合わせを行うために、チャレンジレスポンス機構を使用する。
ネットワーク通信検証ツール320が、プロセス制御ノード115の整合性の低下を検出すると、ネットワーク通信検証ツール320は、警告装置350を介して、プロセス制御システム管理者130および/またはプロセス制御システムプロバイダ120に警告する。いくつかの例では、ネットワーク通信検証ツール320は、ネットワーク通信を遮断する、ネットワーク通信のログを取る、などを行う。
アクティブプロセス検証ツール例330は、命令を実行するプロセッサによって実施されるが、代替として、ASIC、DSP、FPGA、または他の回路機構によって実施され得る。図示した例では、アクティブプロセス検証ツール330は、プロセッサ240によって実行されているアクティブプロセスを監視および/または検証する。図示した例では、プロセスは、アクティブプロセスプロファイル331に基づいて監視および/または検証される。しかし、プロセスを識別する任意の他の方法が追加または代替として使用され得る。
図示した例では、アクティブプロセスプロファイル331は、プロセス制御ノード115によって標準的に使用されるプロセスを識別するシグネチャ(例えば、プロセス名、プロセスによって使用されるDynamically Linked Libraries(DLL)など)を含む。図示した例では、アクティブプロセス検証ツール330がプロセス制御ノード115のオペレーティングシステムとやりとりする際に、アクティブプロセスが識別される。いくつかの例では、アクティブプロセスは、ロードされた1つまたは複数のDLLを有するとして識別される。アクティブプロセス検証ツール330は、プロセス制御ノード115のオペレーティングシステムによって識別される各プロセスを、アクティブプロセスプロファイル331と対照して検証する。プロセスは、例えば、それらがファイルシステム220上の特定の位置からロードされているか、特定のDLLがプロセスによってロードされているか、ファイル(例えば、実行可能ファイル、DLL、構成ファイル)が、アクティブプロセスプロファイル331に格納されているハッシュ値に一致する計算されたハッシュ値を有するか、などを判断するためにチェックされる。プロセスが、既知のプロセスのシグネチャに一致しないことが分かると、アクティブプロセス検証ツール330は、例えば、プロセスを終了すること、プロセス制御ノード115をシャットダウンすること、プロセスの終了をログに取ること、警告装置350を介して、プロセス制御システム管理者130および/またはプロセス制御システムプロバイダ120に警告することなどの動作を実行する。
図示例のプロファイルストア340は、ファイルシステムの検証された構成、検証されたネットワーク通信、検証されたアクティブプロセス、および/または以前の検証の結果を格納する。プロファイルストア340は、例えば、フラッシュメモリ、磁気媒体、光媒体など、データを格納するための任意の装置であり得る。さらに、プロファイルストア340に格納されたデータは、例えば、バイナリデータ、カンマ区切りデータ、タブ区切りデータ、構造化照会言語(SQL)構造などの、任意のデータフォーマットであり得る。図示した例では、プロファイルストア340は、単一のデータベースとして示されているが、プロファイルストア340は、任意の数および/またはタイプのデータベースによって実施され得る。
いくつかのプロセス制御システムでは、所与のプロファイル(例えば、ファイルシステムプロファイル311、ネットワーク通信プロファイル321、アクティブプロセスプロファイル331など)が存在しない可能性がある。従って、それらのシステムでは、プロファイルは、作成されるか、かつ/または初期化される必要がある。プロファイルを初期化するために、整合性ガードは、プロセス制御ノード115のファイルシステム上のファイルを識別し、それらに対するハッシュ値を計算する。もちろん、プロファイルを初期化する他の方法、例えば、プロセス制御ノード115によって実行されているアクティブプロセスを識別すること、プロセス制御ノード115のネットワーク通信を監視することなどが、追加または代替として使用され得る。図示した例では、かかるプロファイルの初期化は、プロセス制御ノード115のインストール時に行われる。従って、プロファイルは、プロファイルの初期化時における、プロセス制御ノード115のスナップショットを表す。しかし、いくつかの例では、プロファイルの初期化は、例えば、構成変更後、サードパーティアプリケーションのインストール後など、後で起こる。初期化されたプロファイルは、次いで、整合性ガード250によって将来使用するために、プロファイルストア340に格納される。
いくつかの例では、プロファイルストア340および/またはそこに格納されているプロファイルは、リモートプロファイル(例えば、リモートプロファイルサーバーに格納されているプロファイル)と同期化される。図示した例では、リモートプロファイルサーバー(図示せず)は、プロセス制御システム110内のサーバーである。しかし、いくつかの例では、リモートプロファイルサーバーは、プロセス制御システムプロバイダ120によって(例えば、インターネット125を経由して)ホストに接続される。例えば、あらゆるプロセス制御ノード上でプロファイルを初期化することは実行可能でないことがある。いくつかの例では、プロファイル(例えば、ファイルシステムプロファイル311、ネットワーク通信プロファイル321、アクティブプロセスプロファイル331など)が、別のプロセス制御ノード115から取得される。従って、プロセス制御システム管理者130および/またはプロセス制御システムプロバイダ120は、更新されたプロファイルを作成し、そのプロファイルを複数のプロセス制御ノード上で使用し得る。いくつかの例では、プロファイルは、自動的に更新され、プロセス制御ノードを更新するために、適切なノード(例えば、同様の機能性を実行するプロセス制御ノード)にプッシュ型配信される。
いくつかの例では、サードパーティアプリケーションをプロセス制御ノード115上にインストールする必要があり得るが、インストール時に、プロファイルに対して適切な変更が行われていない可能性がある。その結果、アプリケーションに関連したファイル、ネットワーク通信、および/またはプロセスが、整合性の低下として認識される可能性があるだろう。いくつかの例では、安全な(benign)サードパーティアプリケーションに対するログエントリの監査を可能にするために、新しくインストールされたアプリケーションに関連した識別子が、整合性の低下に対応するログエントリに追加される。図示した例では、ログは、テキストベースのファイルとして、プロセス制御ノード115上にローカルに格納される。しかし、例えば、バイナリファイル、データベース、ロギングシステム(例えば、Windows(登録商標) Event Logなど)など、かかる情報を格納する任意の他の方法が、追加または代替として使用され得る。さらに、ログエントリは、それらが、例えば、syslogシステム、簡易ネットワーク管理プロトコル(SNMP)などの、リモートロギングプロトコルおよび/またはシステムを介して生じると、システムに送信され得る。かかるログは、プロセス制御システムプロバイダ120に送信され得、それらは、次いで、サードパーティアプリケーションが、それが整合性の低下であるかどうかに関して適切に識別されるように、プロファイルを更新し得る。
警告装置例350は、命令を実行するプロセッサによって実施されるが、代替として、ASIC、DSP、FPGA、または他の回路機構によって実施され得る。図示した例では、警告装置350は、プロセス制御ノード115および、より一般的には、プロセス制御システム110の整合性の低下を、プロセス制御システム管理者130および/またはプロセス制御システムプロバイダ120に警告する。図示した例では、警告装置例350は、警告メッセージを表示すること(例えば、コンピュータディスプレイ上にダイアログボックスを表示すること)により、プロセス制御システム管理者130および/またはプロセス制御システムプロバイダ120に警告する。追加または代替として、警告装置350は、例えば、電子メール(eメール)メッセージ、ショートメッセージサービス(SMS)メッセージ、システムアラームなど、任意の他の方法で、プロセス制御システム管理者130および/またはプロセス制御システムプロバイダ120に警告し得る。
図2の整合性ガード250の実施方法例が図3に示されているが、図3に示す1つまたは複数の要素、プロセス、および/または装置は、任意の他の方法で、結合、分割、再配置、省略、および/または実施され得る。さらに、ファイルシステム検証ツール例310、ネットワーク通信検証ツール例320、アクティブプロセス検証ツール例330、プロファイルストア例340、警告装置例350、および/またはより一般的に、図3の整合性ガード例250は、ハードウェア、ソフトウェア、ファームウェア、ならびに/またはハードウェア、ソフトウェア、および/もしくはファームウェアの任意の組合せによって実施され得る。従って、例えば、ファイルシステム検証ツール例310、ネットワーク通信検証ツール例320、アクティブプロセス検証ツール例330、プロファイルストア例340、警告装置例350、および/またはより一般的に、図3の整合性ガード例250のいずれも、1つまたは複数の回路、プログラマブルプロセッサ、特定用途向け集積回路(ASIC)、プログラム可能論理回路(PLD)および/またはフィールドプログラム可能論理回路(FPLD)などによって実施され得る。本特許の装置クレームが、純粋にソフトウェアおよび/またはファームウェア実施をカバーすると解釈される場合、ファイルシステム検証ツール例310、ネットワーク通信検証ツール例320、アクティブプロセス検証ツール例330、プロファイルストア例340、および/または警告装置例350の少なくとも1つは、本明細書により、ソフトウェアおよび/またはファームウェアを格納するメモリ、DVD、CD、ブルーレイなどの、有形的コンピュータ可読媒体を含むように明示的に定義される。さらになお、図2および/もしくは図3の整合性ガード例250は、1つもしくは複数の要素、プロセスおよび/もしくは装置を、図3に示すものに加えて、または図3に示すものの代わりに含み得、かつ/または図示した要素、プロセスおよび装置の一部もしくは全部のうちの2つ以上を含み得る。
図2および/または図3の整合性ガード250を実施するための方法またはプロセス例を表す流れ図を図4~図7に示す。これらの例では、プロセスは、図8に関連して以下で説明するプロセッサプラットフォーム800に示すプロセッサ812などのプロセッサによって実行するためのプログラムを含み得る。プログラムは、CD-ROM、フロッピィディスク、ハードドライブ、デジタル多用途ディスク(DVD)、ブルーレイディスク、またはプロセッサ812に関連したメモリなどの有形的コンピュータ可読媒体上に格納されたソフトウェアで実施され得るが、プログラム全体および/またはその部分は、プロセッサ812以外の装置によって代わりに実行され得るか、かつ/またはファームウェアもしくは専用ハードウェアで実施され得る。さらに、プログラム例は、図4~図7に示す流れ図に関連して説明されるが、整合性ガード例250を実施する他の多くの方法が、代わりに使用され得る。例えば、ブロックの実行順序が変更され得るか、かつ/または説明されるブロックのいくつかが、変更、除外、もしくは結合され得る。
前述したように、図4~図7のプロセス例は、ハードディスクドライブ、フラッシュメモリ、読取り専用メモリ(ROM)、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、キャッシュ、ランダムアクセスメモリ(RAM)および/または任意の期間(例えば、長期間、永久的、短期間、情報の一時的なバッファリング、および/またはキャッシングのため)情報が格納される任意の他の記憶媒体などの、有形的コンピュータ可読媒体上に格納されたコード化命令(例えば、コンピュータ可読命令)を使用して実施され得る。本明細書では、有形的コンピュータ可読媒体という用語は、任意のタイプのコンピュータ可読ストレージを含み、かつ伝搬信号を除外するように明示的に定義される。
追加または代替として、図4~図7のプロセス例は、ハードディスクドライブ、フラッシュメモリ、読取り専用メモリ、コンパクトディスク、デジタル多用途ディスク、キャッシュ、ランダムアクセスメモリおよび/または任意の期間(例えば、長期間、永久的、短期間、情報の一時的なバッファリング、および/またはキャッシングのため)情報が格納される任意の他の記憶媒体などの、持続的コンピュータ可読媒体上に格納されたコード化命令(例えば、コンピュータ可読命令)を使用して実施され得る。本明細書では、持続的コンピュータ可読媒体という用語は、任意のタイプのコンピュータ可読媒体を含み、かつ伝搬信号を除外するように明示的に定義される。本明細書では、「少なくとも(at least)」という句は、クレームの従来技術部分において遷移用語(transition term)として使用される場合、用語「含む(comprising)」が無制限であるのと同様に、無制限である。従って、「少なくとも」をその従来技術部分において遷移用語として使用するクレームは、クレーム内で明示的に詳述されるものに加えて、要素を含み得る。
図4は、図1のプロセス制御システム110の整合性における変化を検出するために実行され得る方法例を表す流れ図400である。図4のブロック410、420、および430は、サブプロセスを表し、プロセス制御システム110の整合性における変化を検出するために並行して実行される。
ブロック410では、整合性ガード250のファイルシステム検証ツール例310は、プロセス制御ノード115のファイルシステム220を監視および/または検証する。ファイルシステム検証ツール310の動作は、図5に関連してさらに説明される。ブロック420では、整合性ガード250のネットワーク通信検証ツール例320は、プロセス制御ノード115のネットワークコミュニケータ230のネットワーク通信を監視および/または検証する。ネットワーク通信検証ツール320の動作は、図6に関連してさらに説明される。ブロック430では、整合性ガード250のアクティブプロセス検証ツール例330は、プロセス制御ノード115のプロセッサ240によって実行されるアクティブプロセスを監視および/または検証する。アクティブプロセス検証ツール330の動作は、図7に関連してさらに説明される。
前述したように、ブロック410、420、および430は、サブプロセスを表し、互いに並行して実行される。図示した例では、ブロック410、420、および430は、連続的に実行される。しかし、これらのサブプロセスを実行する任意の他の方法が、追加または代替として使用され得る。例えば、ブロック410、420、および430は、利用されるシステム資源の量を削減するために定期的に実行され得る(例えば、監視および/または検証プロセスが、5分ごと、1時間に一度、一日に一度など、実行される)。追加または代替として、これらのサブプロセスが、連続的実行および定期的実行の組合せを使用して、実行され得る。例えば、ファイルシステム検証ツール310は、ファイルシステム220を1時間に一度、監視し得(ブロック410)、ネットワーク通信検証ツール320は、ネットワークコミュニケータ230のネットワーク通信を連続的に監視し得(ブロック420)、また、アクティブプロセス検証ツール330は、プロセッサ240によって実行されるアクティブプロセスを5分ごとに監視および/または検証し得る(ブロック430)。しかし、定期的実行および/または連続的実行の任意の他の組合せが、追加または代替として使用され得る。
図示した例では、通知が警告装置350に伝送される。通知は、プロセスの監視および/または検証プロセスの状態に関して、警告装置350に通知し得る。通知は、整合性の低下の検出を識別するために使用され得る。通知は、例えば、ネットワーク通信、プロセス間通信、通知のファイルへの書込み、プロセスの終了(例えば、ブロック410、420、および/または430)など、任意の方法で送信され得る。通知を受信すると、警告装置350は、整合性の低下が検出されているか否かを判断する(ブロック440)。整合性の低下がなければ、制御は終了へ進む。前述したように、図4で説明するプロセスは、定期的に繰り返され得るか、かつ/または連続的に実行され得る。
整合性の低下がある場合、制御は、警告装置350がプロセス制御システム管理者130に整合性の低下を警告するブロック450に進む。図示した例では、警告装置350は、警告メッセージを表示する(例えば、コンピュータディスプレイ上にダイアログボックスを表示する)ことにより、プロセス制御システム管理者130に警告する(ブロック450)。図示した例では、警告装置350は、警告メッセージを表示する(例えば、コンピュータディスプレイ上にダイアログボックスを表示する)ことにより、プロセス制御システムプロバイダ120に警告する(ブロック460)。しかし、プロセス制御システム管理者130および/またはプロセス制御システムプロバイダ120に警告する任意の他の方法が、追加または代替として使用され得る。例えば、警告装置350は、例えば、電子メール(eメール)メッセージの送信、ショートメッセージサービス(SMS)メッセージの送信、システムアラームのトリガー、プロセス制御システム110の無効化などにより、プロセス制御システム管理者130および/またはプロセス制御システムプロバイダ120に警告し得る。
図5は、ファイルシステムの整合性検証を実行し得る方法例を表す流れ図500である。
図5の方法例は、図4のブロック410で説明するサブプロセスを表す。ファイルシステム検証ツール310がファイルシステムプロファイル311をプロファイルストア40からロードすると、実行を開始する(ブロック510)。ファイルシステム検証ツール310は、ファイルシステム220上に格納されている個々のファイルを識別する(ブロック520)。ファイルは、例えば、プロセス制御ノード115のオペレーティングシステムとやりとりすることにより、識別され得る。
ファイルシステム検証ツール310は、識別されたファイルが、ファイルシステムプロファイル311内で例外として識別されるか否かを判断する(ブロック530)。例えば、ファイルが特定のディレクトリ内にある、ファイルが特定のサイズである、ファイルが特定のファイル拡張子(例えば、画像(.jpg)、テキスト文書(.txt)など)を有する場合、そのファイルは例外であり得る。ファイルがファイルシステムプロファイル31内で例外として識別される場合、制御は、さらなるファイルが存在するか否かが判断されるブロック580に進む。ブロック530で、ファイルが例外として識別されなければ、制御はブロック540に進む。ファイルシステム検証ツール310は、次いで、そのファイルがプロファイル311内に含まれているか否かを判断する(ブロック540)。ファイルがプロファイル311内に含まれていなければ、ファイルシステム検証ツール310は、整合性低下の検出のログを取る(ブロック570)。プロファイルに含まれておらず、かつ、例外に含まれていないファイルの検出は、新しいファイルがファイルシステム上に存在する場合に、ファイルシステム検証ツール310が、整合性の低下を検出できるようにする。
ブロック540で、識別されたファイルがプロファイルに含まれる場合、ファイルシステム検証ツール310は、識別されたファイルのハッシュ値を決定(例えば、計算)する(ブロック550)。ファイルシステム検証ツール310は、次いで、識別されたファイルの計算されたハッシュ値が、プロファイル内のファイルに対応する格納されたハッシュ値と一致するか否かを判断する(ブロック560)。例えば、ファイルが変更されていれば、計算されたハッシュ値は、格納されたハッシュ値と一致しない可能性がある。ハッシュ値の比較は、ファイルシステム検証ツール310が、ファイルが変更されているか否かを検出できるようにする。計算されたハッシュ値が、格納されたハッシュ値と一致しない場合、ファイルシステム検証ツール310は、整合性低下の検出のログを取る(ブロック570)。図示した例では、ファイルシステム検証ツール310は、プロセス制御ノード115にローカルなログ内にログエントリを格納することにより、整合性低下の検出のログを取る。しかし、いくつかの例では、ファイルシステム検証ツール310は、ログエントリをロギング場所(例えば、プロセス制御システム110にローカルなロギングサーバー、例えば、プロセス制御システムプロバイダ、サードパーティなどにおけるプロセス制御システムにリモートなロギングサーバー)に送信することにより、整合性低下の検出のログを取る。いくつかの例では、ログエントリは、例えば、syslogロギングシステム、簡易ネットワーク管理プロトコル(SNMP)などの、リモートロギングプロトコルおよび/またはシステムを使用して送信される。計算されたハッシュ値が、格納されたハッシュ値と一致する場合、ファイルシステム検証ツール310は、検証すべきさらなるファイルがあるか否かの判断へと進む(ブロック580)。図示した例では、検証すべきさらなるファイルがなければ、制御は、図5の方法の終了へと進む。警告装置350は、次いで、サブプロセスが完了したという通知を受信する。いくつかの例では、図5の動作は、ファイルシステム220が再検証されるように、繰り返される。
図6は、ネットワーク通信検証を実行するための方法例を表す流れ図600である。図6の方法例は、図4のブロック420で説明するサブプロセスを表す。
図6の方法例は、ネットワーク通信検証ツール320がネットワーク通信プロファイル321をプロファイルストア340からロードすると、実行を開始する(ブロック610)。ネットワーク通信検証ツール320は、ネットワークコミュニケータ230のネットワーク通信を識別する(ブロック620)。ネットワーク通信検証ツール320は、次いで、識別されたネットワーク通信がネットワーク通信プロファイル321に含まれているか否かを判断する(ブロック630)。図示した例では、ネットワーク通信プロファイル321は、プロセス制御ノード115によって標準的に使用されるポート番号(例えば、伝送制御プロトコル(TCP)ポート番号など)を含む。プロセス制御ノード115によって標準的に使用されないポートを使用しようとする試みが検出されると、ネットワーク通信検証ツール例320はこの試みをプロセス制御ノード115の整合性の低下として識別する。プロセス制御ノード115の整合性の低下が検出されると、制御は、ネットワーク通信検証ツール320が整合性低下の検出のログを取るブロック640に進む。図示した例では、ネットワーク通信検証ツール320は、プロセス制御ノード115にローカルなログ内にログエントリを格納することにより、整合性低下の検出のログを取る。しかし、いくつかの例では、ネットワーク通信検証ツール320は、ログエントリをロギング場所(例えば、プロセス制御システム110にローカルなロギングサーバー、例えば、プロセス制御システムプロバイダ、サードパーティなどにおけるプロセス制御システムにリモートなロギングサーバー)に送信することにより、整合性低下の検出のログを取る。いくつかの例では、ログエントリは、例えば、syslogロギングシステム、簡易ネットワーク管理プロトコル(SNMP)などの、リモートロギングプロトコルおよび/またはシステムを使用して送信される。
いくつかの例では、ネットワーク通信検証ツール320は、例えば、送信元アドレスおよび/または宛先アドレス(例えば、インターネットプロトコル(IP)アドレス、ドメイン名、電子メールアドレスなど)、プロセス制御ノード115によって使用されるメッセージフォーマット、ネットワーク通信の内容など、他のパラメータに基づいて、ネットワーク通信を検証し得る。ネットワーク通信検証ツール320が、プロセス制御ノード115によって使用されると期待されるネットワーク通信と一致するネットワーク通信を検出すると、制御は、ネットワーク通信検証ツール320が、ネットワークコミュニケータ230のネットワーク通信の監視および検証を継続するブロック620に進む。前述したように、図6の動作は、定期的および/または連続的に実行され得る。図示した例では、図6の方法は、連続的に実行される。
図7は、アクティブプロセスの整合性検証を実行するための方法例を表す流れ図700である。図7の方法例は、図4のブロック430で説明するサブプロセスを表す。
図7の方法例は、アクティブプロセス検証ツール330がアクティブプロセスプロファイル331をプロファイルストア40からロードすると、実行を開始する(ブロック710)。アクティブプロセス検証ツール330は、次いで、プロセッサ240によって実行されるアクティブプロセスを識別する(ブロック720)。アクティブプロセスは、例えば、プロセス制御ノード115のオペレーティングシステムとやりとりすることにより識別され得る。アクティブプロセス検証ツール330は、次いで、識別されたプロセスが、アクティブプロセスプロファイル331内で例外として識別されるか否かを判断する(ブロック730)。例えば、プロセスが特定のディレクトリからロードされた場合、プロセスが特定サイズのメモリフットプリントを有する場合など、そのプロセスは例外であり得る。プロセスがアクティブプロセスプロファイル331内で例外として識別される場合、制御は、さらなるアクティブプロセスが存在するか否かが判断されるブロック780に進む。プロセスが例外として識別されなければ、制御はブロック740に進む。アクティブプロセス検証ツール330は、次いで、そのプロセスがアクティブプロセスプロファイル331内に含まれているか否かを判断する(ブロック740)。プロセスがアクティブプロセスプロファイル331内に含まれていない場合、アクティブプロセス検証ツール330は、整合性低下の検出のログを取る(ブロック770)。図示した例では、アクティブプロセス検証ツール330は、プロセス制御ノード115にローカルなログ内にログエントリを格納することにより、整合性低下の検出のログを取る。しかし、いくつかの例では、アクティブプロセス検証ツール330は、ログエントリをロギング場所(例えば、プロセス制御システム110にローカルなロギングサーバー、例えば、プロセス制御システムプロバイダ、サードパーティなどにおけるプロセス制御システムにリモートなロギングサーバー)に送信することにより、整合性低下の検出のログを取る。いくつかの例では、ログエントリは、例えば、syslogロギングシステム、簡易ネットワーク管理プロトコル(SNMP)などの、リモートロギングプロトコルおよび/またはシステムを使用して送信される。プロファイルに含まれておらず、かつ、例外に含まれていないプロセスの検出は、新しいプロセス(例えば、未知のプロセス、不正(rogue)プロセス、サードパーティプロセスなど)が実行されている場合に、アクティブプロセス検証ツール330が、整合性の低下を検出できるようにする。識別されたプロセスがプロファイルに含まれる場合、アクティブプロセス検証ツール330は、プロセスに関連するファイル(例えば、実行可能ファイル、DLL、構成ファイルなど)のハッシュ値を決定(例えば、計算)する(ブロック750)。
アクティブプロセス検証ツール330は、識別されたファイルの計算されたハッシュ値が、プロファイル内の識別されたファイルに対応する格納されたハッシュ値と一致するか否かを判断する(ブロック760)。例えば、プロセスに関連するファイルが変更されている場合、計算されたハッシュ値は、格納されたハッシュ値と一致しない可能性がある。ハッシュ値の比較は、アクティブプロセス検証ツール330が、プロセスが変更されているか否かを検出できるようにする。計算されたハッシュ値が、格納されたハッシュ値と一致しなければ、アクティブプロセス検証ツール330は、整合性低下の検出のログを取る(ブロック770)。図示した例では、アクティブプロセス検証ツール330は、プロセス制御ノード115にローカルなログ内にログエントリを格納することにより、整合性低下の検出のログを取る。しかし、いくつかの例では、アクティブプロセス検証ツール30は、ログエントリをロギング場所(例えば、プロセス制御システム110にローカルなロギングサーバー、例えば、プロセス制御システムプロバイダ、サードパーティなどにおけるプロセス制御システムにリモートなロギングサーバー)に送信することにより、整合性低下の検出のログを取る。いくつかの例では、ログエントリは、例えば、syslogロギングシステム、簡易ネットワーク管理プロトコル(SNMP)などの、リモートロギングプロトコルおよび/またはシステムを使用して送信される。計算されたハッシュ値が、格納されたハッシュ値と一致すれば、アクティブプロセス検証ツール330は、検証すべきさらなるプロセスがあるか否かの判断に進む(ブロック780)。図示した例では、検証すべきさらなるプロセスがなければ、制御は、図7のアクティブプロセスの整合性検証の終了に進む。警告装置350は、次いで、サブプロセスが完了したという通知を受信する。いくつかの例では、図7のアクティブプロセスの整合性検証は、アクティブプロセスが再検証されるように、繰り返される。
図8は、図1および/もしくは図2のプロセス制御ノード例、ならびに/または図2および/もしくは図3の整合性ガード例を実施するために、図4~図7の方法例を実行可能なプロセッサプラットフォーム例800のブロック図である。プロセッサプラットフォーム例800は、例えば、サーバー、パーソナルコンピュータ、携帯電話(例えば、セル方式の携帯無線電話)、携帯情報端末(PDA)、インターネット家電、または任意の他のタイプのコンピューティング装置であり得る。
本例のシステム800は、プロセッサ812を含む。例えば、プロセッサ812は、製造業者からの1つまたは複数のマイクロプロセッサもしくはコントローラによって実施できる。
プロセッサ812は、ローカルメモリ813(例えば、キャッシュ)を含み、ランダムアクセスメモリ814および読取り専用メモリ816を含むメインメモリと、バス818を経由して通信する。ランダムアクセスメモリ814は、シンクロナスダイナミックランダムアクセスメモリ(SDRAM)、ダイナミックランダムアクセスメモリ(DRAM)、RAMBUSダイナミックランダムアクセスメモリ(RDRAM)および/または任意の他のタイプのランダムアクセスメモリデバイスによって実施され得る。読取り専用メモリ816は、フラッシュメモリおよび/または任意の他の所望のタイプのメモリデバイスによって実施され得る。ランダムアクセスメモリ814、読取り専用メモリ816へのアクセスは、メモリコントローラによって制御される。
プロセッサプラットフォーム800は、インタフェース回路820も含む。インタフェース回路820は、イーサネット(登録商標)インタフェース、ユニバーサルシリアルバス(USB)、および/またはPCI Expressインタフェースなど、任意のタイプのインタフェース規格によって実施され得る。
1つまたは複数の入力装置822がインタフェース回路820に接続される。入力装置822は、ユーザーがデータおよびコマンドをプロセッサ812に入力できるようにする。入力装置は、例えば、キーボード、マウス、タッチスクリーン、トラックパッド、トラックボール、アイソポイント(isopoint)および/または音声認識システムによって実施できる。
1つまたは複数の出力装置824もインタフェース回路820に接続される。出力装置824は、例えば、表示装置(例えば、液晶ディスプレイ、ブラウン管ディスプレイ(CRT)、プリンタおよび/またはスピーカ)によって実施できる。インタフェース回路820は、従って、通常、グラフィックスドライバカードを含む。
インタフェース回路820は、ネットワーク826(例えば、イーサネット(登録商標)接続、デジタル加入者回線(DSL)、電話回線、同軸ケーブル、携帯電話システムなど)を介して、外部コンピュータとのデータ交換を容易にするモデムまたはネットワークインタフェースカードなどの通信装置(例えば、ネットワークコミュニケータ230)も含む。
プロセッサプラットフォーム800は、ソフトウェアおよびデータを格納するための1つまたは複数の大容量記憶装置828も含む。かかる大容量記憶装置828の例には、フロッピィディスクドライブ、ハードドライブディスク、コンパクトディスクドライブおよびデジタル多用途ディスク(DVD)ドライブを含む。大容量記憶装置828は、ファイルシステム220および/またはプロファイルストアを実施し得る。
図4~図7の方法を実施するためのコード化命令832は、大容量記憶装置828内、ローカルメモリ813内、揮発性メモリ814内、不揮発性メモリ816内、および/またはCDもしくはDVDなどの取り外し可能記憶媒体上に格納され得る。
前記から、前述の開示した方法、装置および製品は、プロセス制御システムの整合性における変化(例えば、低下)を検出する能力を提供することが理解されるであろう。
ある方法例、装置および製品が本明細書で説明されているが、本特許がカバーする範囲はそれらに限定されない。逆に、本特許は、本特許の特許請求の範囲に適正に含まれる全ての方法、装置および製品をカバーする。

Claims (16)

  1. プロセス制御システムの整合性の低下を識別するための方法であって、
    前記プロセス制御システムのファイルシステム上のファイルを識別することと、
    前記ファイルシステム上に存在するはずのファイルを格納するシステムプロファイル内で、前記ファイルシステム上の前記ファイルが識別されるか否かを判断することと、
    前記ファイルが前記システムプロファイル内で識別されない場合及び前記プロセス制御システムを変更する試みが、そうでなければそれに対して支払われる機能性の起動、そうでなければそれに対して支払われる機能性のインストール、購入されている機能がインストールされていないこと、購入されている機能が構成されていないこと、購入されている機能が適切に動作していないこと、購入されている機能性がインストールされていないこと、購入されている機能性が構成されていないこと、または購入されている機能性が適切に動作していないことのうちの少なくとも1つを含む場合に、前記プロセス制御システムの整合性の低下を識別することと、
    を含む方法。
  2. 前記ファイルが前記システムプロファイル内に含まれる場合に、前記ファイルのハッシュ値を計算し、前記ファイルの前記計算されたハッシュ値を前記システムプロファイル内の前記ファイルに関連する値と比較して、前記ファイルが前記値と一致するか否かを判断することと、
    前記ファイルが前記システムプロファイル内に含まれる場合、かつ前記ファイルが前記値と一致しない場合に、前記プロセス制御システムの前記整合性の前記低下を識別することと、
    をさらに含む、請求項1に記載の方法。
  3. 前記整合性の前記低下が識別されると、プロセス制御システムプロバイダ又はプロセス制御システムの管理者の少なくとも一方に警告することをさらに含む、請求項1又は2に記載の方法。
  4. 前記ファイルが前記システムプロファイルの例外として識別される場合、前記整合性の前記低下が識別されない、請求項1~3のいずれか一項に記載の方法。
  5. 前記システムプロファイル内の前記ファイルに関連した値が、以前に計算されたハッシュ値である、
    請求項1~4のいずれか一項に記載の方法。
  6. 前記システムプロファイルを初期化することをさらに含み、
    前記システムプロファイルを初期化することが
    前記ファイルシステム上の前記ファイルを識別することと、
    前記ファイルに関連した値を計算することと、
    前記システムプロファイル内に前記値を格納することと
    を含む、請求項1~5のいずれか一項に記載の方法。
  7. 前記システムプロファイルをリモートプロファイルサーバーから取得することをさらに含む、請求項1~6のいずれか一項に記載の方法。
  8. 前記プロセス制御システムのプロセッサによって実行されているプロセスを識別することをさらに含み、
    前記ファイルシステム上で識別された前記ファイルが、前記プロセッサによって実行されている前記プロセスに関連している、
    請求項1~7のいずれか一項に記載の方法。
  9. 前記プロセス制御システムのネットワークコミュニケータのネットワーク通信を識別することと、
    前記ネットワーク通信のプロパティを前記システムプロファイルの格納されたプロパティと比較することと、
    前記ネットワーク通信の前記プロパティが前記システムプロファイルの前記格納されたプロパティに一致しない場合に、前記プロセス制御システムの前記整合性の前記低下を識別することと、
    をさらに含む、請求項1~8のいずれか一項に記載の方法。
  10. プロセス制御システムの整合性の低下を識別するための装置であって、
    プロセス制御ノードのファイルシステム上に格納されたファイルのハッシュ値を計算し、前記ファイルの前記計算されたハッシュ値と、第1の格納された値との間の差を、整合性の低下として識別するための、ファイルシステム検証ツールと、
    前記プロセス制御システムを変更する試みが、そうでなければそれに対して支払われる機能性の起動、そうでなければそれに対して支払われる機能性のインストール、購入されている機能がインストールされていないこと、購入されている機能が構成されていないこと、購入されている機能が適切に動作していないこと、購入されている機能性がインストールされていないこと、購入されている機能性が構成されていないこと、または購入されている機能性が適切に動作していないことのうちの少なくとも1つを含む場合に、前記プロセス制御ノードによって実行されるアクティブプロセスのプロパティと、第2の格納されたプロパティとの間の差を、前記整合性の前記低下として識別するための、アクティブプロセス検証ツールと、
    を含む装置。
  11. 前記整合性の低下が識別されると、プロセス制御システムプロバイダ又はプロセス制御システムの管理者の少なくとも一方に警告するための、警告装置をさらに含む、請求項10に記載の装置。
  12. 前記第1の格納された値がハッシュ値であり、前記ファイルの前記プロパティが計算されたハッシュ値である、請求項10又は11に記載の装置。
  13. 前記アクティブプロセスの前記プロパティが、前記アクティブプロセスに関連したファイルの計算されたハッシュ値である、請求項10~12のいずれか一項に記載の装置。
  14. 前記警告装置が、電子メールメッセージを送信することにより、前記プロセス制御システムプロバイダまたは前記プロセス制御システムの管理者のうちの少なくとも一方に警告する、請求項11、請求項11に従属する請求項12、および請求項11と請求項11に従属する請求項12とに従属する請求項13のいずれか一項に記載の装置。
  15. 前記プロセス制御ノードのネットワークコミュニケータの監視されたネットワーク通信のプロパティと第3の格納されたプロパティとの間の差を、前記低下として検出するための、ネットワーク通信検証ツールをさらに備える、請求項10~14のいずれか一項に記載の装置。
  16. 実行されると、請求項1~9のいずれか一項に記載の方法をマシンに行わせる、命令を格納する、有形的マシン可読媒体。
JP2019125011A 2012-05-16 2019-07-04 プロセス制御システムの整合性低下を識別する方法及び装置、有形的マシン可読媒体 Active JP7132184B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022133876A JP7509503B2 (ja) 2012-05-16 2022-08-25 プロセス制御システムの整合性低下を識別する方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/472,916 2012-05-16
US13/472,916 US9349011B2 (en) 2012-05-16 2012-05-16 Methods and apparatus to identify a degradation of integrity of a process control system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2013102709A Division JP2013239176A (ja) 2012-05-16 2013-05-15 プロセス制御システムの整合性低下を識別する方法及び装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022133876A Division JP7509503B2 (ja) 2012-05-16 2022-08-25 プロセス制御システムの整合性低下を識別する方法

Publications (2)

Publication Number Publication Date
JP2019194905A JP2019194905A (ja) 2019-11-07
JP7132184B2 true JP7132184B2 (ja) 2022-09-06

Family

ID=48672149

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2013102709A Pending JP2013239176A (ja) 2012-05-16 2013-05-15 プロセス制御システムの整合性低下を識別する方法及び装置
JP2019125011A Active JP7132184B2 (ja) 2012-05-16 2019-07-04 プロセス制御システムの整合性低下を識別する方法及び装置、有形的マシン可読媒体
JP2022133876A Active JP7509503B2 (ja) 2012-05-16 2022-08-25 プロセス制御システムの整合性低下を識別する方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2013102709A Pending JP2013239176A (ja) 2012-05-16 2013-05-15 プロセス制御システムの整合性低下を識別する方法及び装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2022133876A Active JP7509503B2 (ja) 2012-05-16 2022-08-25 プロセス制御システムの整合性低下を識別する方法

Country Status (5)

Country Link
US (1) US9349011B2 (ja)
JP (3) JP2013239176A (ja)
CN (2) CN108804951B (ja)
DE (1) DE102013104988A1 (ja)
GB (1) GB2503788B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9715589B2 (en) 2015-01-23 2017-07-25 Red Hat, Inc. Operating system consistency and malware protection
WO2021014595A1 (ja) * 2019-07-23 2021-01-28 日本電信電話株式会社 検証情報作成システム、検証情報作成方法、および、検証情報作成プログラム
US20230006833A1 (en) * 2021-07-01 2023-01-05 Lenovo (Singapore) Pte. Ltd. Ranked hash validation for new software update file

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009528726A (ja) 2006-02-23 2009-08-06 クゥアルコム・インコーポレイテッド 電気通信デバイス間のプロファイルデータ共有

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5987611A (en) 1996-12-31 1999-11-16 Zone Labs, Inc. System and methodology for managing internet access on a per application basis for client computers connected to the internet
US6694434B1 (en) 1998-12-23 2004-02-17 Entrust Technologies Limited Method and apparatus for controlling program execution and program distribution
US8044793B2 (en) * 2001-03-01 2011-10-25 Fisher-Rosemount Systems, Inc. Integrated device alerts in a process control system
US6697948B1 (en) * 1999-05-05 2004-02-24 Michael O. Rabin Methods and apparatus for protecting information
US20040039921A1 (en) * 2000-10-17 2004-02-26 Shyne-Song Chuang Method and system for detecting rogue software
US20020116637A1 (en) * 2000-12-21 2002-08-22 General Electric Company Gateway for securely connecting arbitrary devices and service providers
JP4184613B2 (ja) * 2001-01-10 2008-11-19 株式会社東芝 劣化診断方法
US7065644B2 (en) 2001-01-12 2006-06-20 Hewlett-Packard Development Company, L.P. System and method for protecting a security profile of a computer system
US7133807B2 (en) 2001-01-22 2006-11-07 Tokyo Electron Limited Apparatus productivity improving system and its method
US7003672B2 (en) 2001-09-25 2006-02-21 Hewlett-Packard Development Company, L.P. Authentication and verification for use of software
JP2005531826A (ja) * 2002-03-01 2005-10-20 フィッシャー−ローズマウント システムズ, インコーポレイテッド プロセス・プラントにおける統合警告発生方法
WO2004055634A2 (en) * 2002-12-12 2004-07-01 Finite State Machine Labs, Inc. Systems and methods for detecting a security breach in a computer system
CN1969524B (zh) * 2003-12-24 2012-08-15 赛门铁克公司 识别网络中的文件内容的方法和系统
EP1549012A1 (en) * 2003-12-24 2005-06-29 DataCenterTechnologies N.V. Method and system for identifying the content of files in a network
US8488476B2 (en) * 2004-04-05 2013-07-16 Verizon Business Global Llc Providing applets to remote devices in a communications network
US20060004737A1 (en) * 2004-07-02 2006-01-05 Grzonka Michael T Computer virus protection for automated pharmaceutical processes
US7627898B2 (en) 2004-07-23 2009-12-01 Microsoft Corporation Method and system for detecting infection of an operating system
EP1828902A4 (en) 2004-10-26 2009-07-01 Rudra Technologies Pte Ltd SYSTEM AND METHOD FOR IDENTIFYING AND REMOVING MALWARE ON A COMPUTER SYSTEM
US7490352B2 (en) * 2005-04-07 2009-02-10 Microsoft Corporation Systems and methods for verifying trust of executable files
CN100437502C (zh) * 2005-12-30 2008-11-26 联想(北京)有限公司 基于安全芯片的防病毒方法
US7415489B2 (en) * 2006-01-10 2008-08-19 International Business Machines Corporation Managing an archived file system
US7950056B1 (en) 2006-06-30 2011-05-24 Symantec Corporation Behavior based processing of a new version or variant of a previously characterized program
CN101131718B (zh) * 2006-08-22 2012-05-23 华为技术有限公司 一种受保护内容完整性验证的方法、设备及系统
JP4288292B2 (ja) * 2006-10-31 2009-07-01 株式会社エヌ・ティ・ティ・ドコモ オペレーティングシステム監視設定情報生成装置及びオペレーティングシステム監視装置
US8453206B2 (en) * 2006-11-09 2013-05-28 Panasonic Corporation Detecting unauthorized tampering of a program
WO2009128905A1 (en) * 2008-04-17 2009-10-22 Siemens Energy, Inc. Method and system for cyber security management of industrial control systems
CN101515933A (zh) * 2009-03-16 2009-08-26 中兴通讯股份有限公司 一种网络设备的软硬件完整性检测方法及系统
CN101593259B (zh) * 2009-06-29 2011-03-23 北京航空航天大学 软件完整性验证方法及系统
US9003387B2 (en) 2009-09-25 2015-04-07 Fisher-Rosemount Systems, Inc. Automated deployment of computer-specific software updates
JP5472708B2 (ja) * 2009-10-19 2014-04-16 横河電機株式会社 検証装置とこれを用いたフィールド機器ソフトウェア更新システム
JP2011221751A (ja) * 2010-04-08 2011-11-04 Hitachi Ltd 情報処理装置および情報処理方法
US8925101B2 (en) 2010-07-28 2014-12-30 Mcafee, Inc. System and method for local protection against malicious software
JP5088403B2 (ja) * 2010-08-02 2012-12-05 横河電機株式会社 不正通信検出システム
CN103370716B (zh) * 2010-11-03 2016-10-19 维吉尼亚技术知识产权公司 使用电力指纹监控基于计算机系统的完整性的方法和系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009528726A (ja) 2006-02-23 2009-08-06 クゥアルコム・インコーポレイテッド 電気通信デバイス間のプロファイルデータ共有

Also Published As

Publication number Publication date
DE102013104988A1 (de) 2013-11-21
GB2503788B (en) 2020-10-07
CN103425118B (zh) 2018-07-03
JP2013239176A (ja) 2013-11-28
JP2022177006A (ja) 2022-11-30
US9349011B2 (en) 2016-05-24
GB2503788A (en) 2014-01-08
CN103425118A (zh) 2013-12-04
JP7509503B2 (ja) 2024-07-02
CN108804951B (zh) 2022-07-08
US20130307690A1 (en) 2013-11-21
GB201308469D0 (en) 2013-06-19
CN108804951A (zh) 2018-11-13
JP2019194905A (ja) 2019-11-07

Similar Documents

Publication Publication Date Title
JP7509503B2 (ja) プロセス制御システムの整合性低下を識別する方法
JP7520913B2 (ja) 車載ネットワークに接続された構成要素の悪用を検出するシステムおよび方法
US20220345480A1 (en) Systems and methods for managing cyber vulnerabilities
JP6334069B2 (ja) 悪意のあるコードの検出の精度保証のためのシステムおよび方法
EP2951955B1 (en) Method and system for protecting web applications against web attacks
US8595845B2 (en) Calculating quantitative asset risk
US20120102568A1 (en) System and method for malware alerting based on analysis of historical network and process activity
US9479528B2 (en) Signature rule processing method, server, and intrusion prevention system
US20070050777A1 (en) Duration of alerts and scanning of large data stores
US8078909B1 (en) Detecting file system layout discrepancies
US10061921B1 (en) Methods and systems for detecting computer security threats
CN112039894B (zh) 一种网络准入控制方法、装置、存储介质和电子设备
US11706237B2 (en) Threat detection and security for edge devices
CN106716953A (zh) 控制系统中的网络安全风险的动态量化
WO2021139308A1 (zh) 云服务器监控方法、装置、设备及存储介质
CN112242991B (zh) 用于关联事件来检测信息安全事故的系统和方法
US11599638B2 (en) Game engine-based computer security
US9075991B1 (en) Looting detection and remediation
Wang et al. A framework for security quantification of networked machines
US20210266240A1 (en) Embedded intrusion detection system on a chipset or device for use in connected hardware
US20240283818A1 (en) Using cross workloads signals to remediate password spraying attacks
US20240256669A1 (en) System and method for decontaminating and certifying external storage devices
Borges Hink et al. Supply Chain Management in Cyber Grid Guard Framework

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190704

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200915

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20201215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220608

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220726

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220825

R150 Certificate of patent or registration of utility model

Ref document number: 7132184

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150