(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-16
(45)【発行日】2022-02-25
(54)【発明の名称】冗長デバイス及びスマートコントラクトを使用して、サイバーフィジカルシステムへの攻撃を検出するための方法及びシステム
(51)【国際特許分類】
G06F 21/55 20130101AFI20220217BHJP
【FI】
G06F21/55
(21)【出願番号】P 2018160933
(22)【出願日】2018-08-30
【審査請求日】2021-08-27
(32)【優先日】2017-09-19
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】504407000
【氏名又は名称】パロ アルト リサーチ センター インコーポレイテッド
(74)【代理人】
【識別番号】100094569
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100088694
【氏名又は名称】弟子丸 健
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【氏名又は名称】西島 孝喜
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100109335
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【氏名又は名称】那須 威夫
(72)【発明者】
【氏名】シャンタヌ・レーン
【審査官】岸野 徹
(56)【参考文献】
【文献】米国特許出願公開第2015/0096026(US,A1)
【文献】米国特許出願公開第2012/0143981(US,A1)
【文献】特開2014-179074(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/55
(57)【特許請求の範囲】
【請求項1】
物理的入力及び出力との相互作用要素のサイバーフィジカルシステムにおける攻撃の検出を容易にするためのコンピュータ
によって実行される方法であって、前記方法が、
複数の
デバイスの第1の
デバイスによって、第1のネットワークを介して、前記サイバーフィジカルシステムの第1の一組のセンサから第1の指示値を受信することと、
前記第1の
デバイスによって、第2のネットワークを介して、前記サイバーフィジカルシステムの第2の一組のセンサから第2の指示値を受信することであって、
前記第1の指示値及び前記第2の指示値は、同じ物理的プロセスのパラメータを測定するものであり、
前記第2の一組のセンサは前記第1の一組のセンサと異なり、
前記第2のネットワークが、任意の外部
デバイス、または前記複数の
デバイスのうちのいずれかによるアクセスを阻止するセキュリティ対策を含み、
前記第1の指示値及び前記第2の指示値は、前記複数の
デバイスのうちの他の
デバイスによって受信される、第2の指示値を受信することと、
前記第1の指示値及び前記第2の指示値に基づいてスマートコントラクトである一組の命令を前記第1の
デバイス及び前記他の
デバイスによって実行することと、
第1の一組のセンサ及び第2の一組のセンサと関連付けられたデバイス設定、ファームウェア、またはソフトウェアの変更に基づいて、前記実行されたスマートコントラクトの結果が、予期される状態に一致するかどうかを前記第1の
デバイス及び前記他の
デバイスによって判定することと、
前記複数の
デバイスの多数決によって、前記実行されたスマートコントラクトの前記結果のコンセンサスを判定することに応答して、前記結果をブロックチェーンに書き込むことと、
少なくとも1つの
デバイスによって、前記実行されたスマートコントラクトの前記結果が前記予期される状態に一致しないと判定することに応答して、前記結果に基づいて是正措置を行うことと、を含む、方法。
【請求項2】
前記第1の一組のセンサが、前記第1のネットワーク上で動作しており、前記第2の一組のセンサが、前記第1の一組のセンサのための一組の冗長センサであり、前記第2の一組のセンサが、前記第1のネットワークのための冗長ネットワークである前記第2のネットワーク上で動作しており、
前記第1の指示値及び前記第2の指示値が、前記一組の命令を実行する際に前記第1の
デバイスによる入力として使用される物理的測定値を示し、
前記実行された命令の前記結果が、前記ブロックチェーンを修正するために使用される出力である、請求項1に記載の方法。
【請求項3】
前記複数の
デバイスのうちの各
デバイスが、前記ブロックチェーン上で動作を行う、請求項1に記載の方法。
【請求項4】
物理的入力及び出力との相互作用要素のサイバーフィジカルシステムにおける攻撃の検出を容易にするためのコンピュータシステムであって
、前記コンピュータシステムが、
プロセッサと、
前記プロセッサによって実行されたときに、前記プロセッサに方法を行わせる命令を記憶する記憶デバイスと、を備え、前記方法が、
複数の
デバイスの第1の
デバイスによって、第1のネットワークを介して、前記サイバーフィジカルシステムの第1の一組のセンサから第1の指示値を受信することと、
前記第1の
デバイスによって、第2のネットワークを介して、前記サイバーフィジカルシステムの第2の一組のセンサから第2の指示値を受信することであって、
前記第1の指示値及び前記第2の指示値は、同じ物理的プロセスのパラメータを測定するものであり、
前記第2の一組のセンサは前記第1の一組のセンサと異なり、
前記第2のネットワークが、任意の外部
デバイス、または前記複数の
デバイスのうちのいずれかによるアクセスを阻止するセキュリティ対策を含み、
前記第1の指示値及び前記第2の指示値は、前記複数の
デバイスのうちの他の
デバイスによって受信される、第2の指示値を受信することと、
前記第1の指示値及び前記第2の指示値に基づいてスマートコントラクトである一組の命令を前記第1の
デバイス及び前記他の
デバイスによって実行することと、
第1の一組のセンサ及び第2の一組のセンサと関連付けられたデバイス設定、ファームウェア、またはソフトウェアの変更に基づいて、前記実行されたスマートコントラクトの結果が、予期される状態に一致するかどうかを前記第1の
デバイス及び前記他の
デバイスによって判定することと、
前記複数の
デバイスの多数決によって、前記実行されたスマートコントラクトの前記結果のコンセンサスを判定することに応答して、前記結果をブロックチェーンに書き込むことと、
少なくとも1つの
デバイスによって、前記実行されたスマートコントラクトの前記結果が前記予期される状態に一致しないと判定することに応答して、前記結果に基づいて是正措置を行うことと、を含む、コンピュータシステム。
【請求項5】
前記第1の一組のセンサが、前記第1のネットワーク上で動作しており、前記第2の一組のセンサが、前記第1の一組のセンサのための一組の冗長センサであり、前記第2の一組のセンサが、前記第1のネットワークのための冗長ネットワークである前記第2のネットワーク上で動作しており、
前記第1の指示値及び前記第2の指示値が、前記一組の命令を実行する際に前記第1の
デバイスによる入力として使用される物理的測定値を示し、
前記実行された命令の前記結果が、前記ブロックチェーンを修正するために使用される出力である、請求項4に記載のコンピュータシステム。
【請求項6】
前記複数のデバイスのうちの各デバイスが、前記ブロックチェーン上で動作を行う、請求項4に記載のコンピュータシステム。
【請求項7】
コンピュータによって実行されたときに、前記コンピュータに、物理的入力及び出力との相互作用要素のサイバーフィジカルシステムにおける攻撃の検出を容易にする方法を行わせる命令を記憶する非一時的コンピュータ可読記憶媒体であって、前記方法が、
複数の
デバイスの第1の
デバイスによって、第1のネットワークを介して、前記サイバーフィジカルシステムの第1の一組のセンサから第1の指示値を受信することと、
前記第1の
デバイスによって、第2のネットワークを介して、前記サイバーフィジカルシステムの第2の一組のセンサから第2の指示値を受信することであって、
前記第1の指示値及び前記第2の指示値は、同じ物理的プロセスのパラメータを測定するものであり、
前記第2の一組のセンサは前記第1の一組のセンサと異なり、
前記第2のネットワークが、任意の外部
デバイス、または前記複数の
デバイスのうちのいずれかによるアクセスを阻止するセキュリティ対策を含み、
前記第1の指示値及び前記第2の指示値は、前記複数の
デバイスのうちの他の
デバイスによって受信される、第2の指示値を受信することと、
前記第1の指示値及び前記第2の指示値に基づいてスマートコントラクトである一組の命令を前記第1の
デバイス及び前記他の
デバイスによって実行することと、
第1の一組のセンサ及び第2の一組のセンサと関連付けられたデバイス設定、ファームウェア、またはソフトウェアの変更に基づいて、前記実行されたスマートコントラクトの結果が、予期される状態に一致するかどうかを前記第1の
デバイス及び前記他の
デバイスによって判定することと、
前記複数の
デバイスの多数決によって、前記実行されたスマートコントラクトの前記結果のコンセンサスを判定することに応答して、前記結果をブロックチェーンに書き込むことと、
少なくとも1つの
デバイスによって、前記実行されたスマートコントラクトの前記結果が前記予期される状態に一致しないと判定することに応答して、前記結果に基づいて是正措置を行うことと、を含む、非一時的コンピュータ可読記憶媒体。
【請求項8】
前記第1の一組のセンサが、前記第1のネットワーク上で動作しており、前記第2の一組のセンサが、前記第1の一組のセンサのための一組の冗長センサであり、前記第2の一組のセンサが、前記第1のネットワークのための冗長ネットワークである前記第2のネットワーク上で動作しており、
前記第1の指示値及び前記第2の指示値が、前記一組の命令を実行する際に前記第1の
デバイスによる入力として使用される物理的測定値を示し、
前記実行された命令の前記結果が、前記ブロックチェーンを修正するために使用される出力である、請求項7に記載の記憶媒体。
【請求項9】
前記複数の
デバイスのうちの各
デバイスが、ブロックチェーン上で動作を行う、請求項7に記載の記憶媒体。
【請求項10】
前記予期される状態が、
所定の時間間隔内で前記第1の指示値及び前記第2の指示値を受信すること、
前記第1の指示値及び前記第2の指示値が等しいかどうか、
前記第1の指示値及び前記第2の指示値が所定の範囲内にあるかどうか、
前記第1の指示値及び前記第2の指示値に基づいて行われた関数が所定の範囲内の結果を生じるかどうか、
前記第1の指示値及び前記第2の指示値が同じ物理量を示すかどうか、ならびに
前記第1の指示値及び前記第2の指示値が、異なる物理量を示すどうか、のうちの1つ以上に基づく、請求項7に記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
背景
本開示は、概して、サイバーフィジカルシステムへの攻撃の検出に関する。より具体的には、本開示は、冗長デバイス及びスマートコントラクトを使用して、サイバーフィジカルシステムへの攻撃を検出するための方法及びシステムに関する。
【背景技術】
【0002】
サイバーフィジカルシステムは、物理的及びソフトウェア/コンピュータ構成要素を、スタンドアロンのデバイスではなく、物理的入力及び出力との相互作用要素のネットワークに含む。サイバーフィジカルシステムとしては、例えば電力グリッド、水力発電所、建築環境管理システム、ロボット工学システム、及び航空機システムのための、制御システム及びインフラストラクチャを挙げることができる。サイバーフィジカルシステムへの攻撃は、物理的プロセスに関与するセンサ、アクチュエータ、及び制御モジュールの機能を修正することによって、物理的プロセスを標的にする場合がある。例えば、攻撃者は、特定のシリンダーにポンプ圧送されるガスの量を物理的に増加させることによって、発電所内のガス圧力ゲージをハッキングし、同時に、実際のゲージ指示値をごまかして、正常なレベルであると読み取らせる(「偽装する」)場合がある。この偽装アタッチは、プラントオペレータまたは監視システムが、実際の増加したガスの量を検出することを妨げ、これは、安全上の問題をもたらす場合がある。
【0003】
そのような攻撃を検出するための現在の手法は、例えばセンサから生じるテレメトリを調査し、制御ステーションに送信することに依存している。起こり得る攻撃の存在を示し得る、所定の許容範囲を外れたセンサ指示値が検出されたときには、制御ステーションのプラントオペレータに警報を出すことができる。しかしながら、上で説明したように、巧妙な攻撃者は、センサから現れるテレメトリが通常の挙動を模倣するように、センサの挙動を修正することができ、これは、プラントオペレータが、潜在的な安全上の問題を検出することを妨げることができる。
【0004】
そのような攻撃の検出問題に対処するための1つの手法は、冗長センサを使用することである。しかしながら、これらの冗長センサの多くは、依然として、同じネットワークを通じてプラントオペレータと通信しているので、ネットワークにハッキングする攻撃者は、依然として、冗長センサを偽装することができる。冗長ネットワークを使用する場合であっても、概して、プラントオペレータとの通信を伴う。したがって、このシステムは、依然として、プラントオペレータに対してハッキングされる場合がある。これは、サイバーフィジカルシステム及び制御環境全体に対して深刻な結果を招き得る。
【発明の概要】
【0005】
1つの実施形態は、物理的入力及び出力との相互作用要素のサイバーフィジカルシステムにおける攻撃の検出を容易にする。動作中に、システムは、複数のエンティティのうちの第1のエンティティによって、第1のネットワークを介して、サイバーフィジカルシステムの第1の一組のセンサから第1の指示値を受信する。システムは、第1のエンティティによって、第2のネットワークを介して、サイバーフィジカルシステムの第2の一組のセンサから第2の指示値を受信し、第2のネットワークは、任意の外部エンティティ、または複数のエンティティのうちのいずれかによるアクセスを阻止するセキュリティ対策を含む。システムは、第1の指示値及び第2の指示値に基づいて一組の命令を実行する。システムは、実行された命令の結果が、予期される状態に一致しないと判定する。システムは、結果に基づいて是正措置を行う。
【0006】
いくつかの実施形態において、第1の一組のセンサは、第1のネットワーク上で動作しており、第2の一組のセンサは、第1の一組のセンサのための一組の冗長センサであり、第2の一組のセンサは、第1のネットワークのための冗長ネットワークである第2のネットワーク上で動作している。第1の指示値及び第2の指示値は、一組の命令を実行する際に第1のエンティティによる入力として使用される物理的測定値を示し、実行された命令の結果は、ブロックチェーンを修正するために使用される出力である。
【0007】
いくつかの実施形態において、第1の指示値及び第2の指示値は、他のエンティティによって受信される。一組の命令は、スマートコントラクトであり、スマートコントラクトは、他のエンティティによって実行される。複数のエンティティのうちの各エンティティは、ブロックチェーン上で動作を行う。複数のエンティティのうちの多数決によって、実行されたスマートコントラクトの結果のコンセンサスを判定することに応答して、システムは、結果をブロックチェーンに書き込む。
【0008】
いくつかの実施形態において、システムは、実行されたスマートコントラクトの結果が、予期される状態に一致しないと判定する第1のエンティティまたは別のエンティティによって、予期しない状態の通知を生成する。是正措置は、第1のエンティティまたは他のエンティティによって行われる。
【0009】
いくつかの実施形態において、エンティティは、互いに通信する分散エンティティである。
【0010】
いくつかの実施形態において、一組の命令を実行することは、第1の指示値及び第2の指示値に基づいて、関数を計算することをさらに伴う。
【0011】
いくつかの実施形態において、複数のエンティティのうちの各エンティティは、エントリを有するデータ構造を維持し、該エントリは、それぞれのエンティティのための識別子、それぞれのエンティティによって実行された一組の命令の結果、命令を実行するそれぞれのエンティティと関連付けられたタイムスタンプ、及びそれぞれのエンティティによって実行された命令の結果が、予期される状態に一致するかどうかの指標、のうちの1つ以上を含む。
【0012】
いくつかの実施形態において、予期される状態は、所定の時間間隔の範囲内で第1の指示値及び第2の指示値を受信すること、第1の指示値及び第2の指示値が等しいかどうか、第1の指示値及び第2の指示値が所定の範囲内にあるかどうか、第1の指示値及び第2の指示値に基づいて行われた関数が所定の範囲内の結果を生じるかどうか、第1の指示値及び第2の指示値が同じ物理量を示すかどうか、第1の指示値及び第2の指示値が異なる物理量を示すかどうか、ならびに第1の一組のセンサ及び第2の一組のセンサと関連付けられたデバイス設定、ファームウェア、またはソフトウェアの変更、のうちの1つ以上に基づく。
【図面の簡単な説明】
【0013】
【
図1】本発明の一実施形態に従う、サイバーフィジカルシステムにおける攻撃の検出を容易にするための例示的な環境を例示する図である。
【
図2】先行技術における例示的な環境を例示する図である。
【
図3】本発明の一実施形態に従う、例示的な分散エンティティ及び例示的なデータ構造を提示する図である。
【
図4】本発明の一実施形態に従う、サイバーフィジカルシステムにおける攻撃の検出を容易にするための、分散エンティティによる方法を例示するフローチャートである。
【
図5】本発明の一実施形態に従う、サイバーフィジカルシステムにおける攻撃の検出を容易にするための、分散エンティティによる方法を例示するフローチャートである。
【
図6】本発明の一実施形態に従う、サイバーフィジカルシステムにおける攻撃の検出を容易にする例示的な分散コンピュータ及び通信システムを例示する図である。
【0014】
図面中、同じ参照番号は、同じ図面要素を指す。
【発明を実施するための形態】
【0015】
以下の説明は、任意の当業者が本実施形態を作製し、使用することを可能にするように提示され、また、特定の用途及び要件の文脈において提供される。開示された実施形態に対する種々の変更は、当業者には容易に明らかになるであろうし、また本明細書で定義された一般的な原理は、本開示の趣旨及び範囲から逸脱することなく、他の実施形態及び用途に適用され得る。したがって、本発明は、示される実施形態に限定されるのではなく、本明細書で開示される原理及び特徴と一致する最も広い範囲を与えられるべきである。
【0016】
概要
本発明の実施形態は、冗長ネットワーク上で動作する冗長センサを使用することによって、及びブロックチェーン技術に基づいて分散エンティティの間でスマートコントラクトを実行することによって、サイバーフィジカルシステムへの攻撃の検出に関与する課題に対処する。サイバーフィジカルシステムへの攻撃は、サイバーフィジカルシステムの相互作用要素の物理的プロセスを標的にする場合がある。この攻撃は、物理的プロセスに関与するセンサ、アクチュエータ、及び制御モジュールの機能を修正する場合がある。そのような攻撃を検出するための現在の手法は、センサから生じるテレメトリを調査し、制御ステーションに送信することに依存している。起こり得る攻撃の存在を示し得る、所定の許容範囲を外れたセンサ指示値が検出されたときには、制御ステーションのプラントオペレータに警報を出すことができる。しかしながら、巧みな攻撃者は、センサから現れるテレメトリが通常の挙動を模倣する(例えば、偽装する)ように、センサの挙動を修正する(例えば、ハッキングする)ことができ、これは、プラントオペレータが、潜在的な安全上の問題を検出することを妨げる。
【0017】
そのような攻撃の検出問題に対する1つの手法は、冗長センサを使用することである。しかしながら、これらの冗長センサの多くは、依然として、同じネットワークを通じてプラントオペレータと通信しているので、ネットワークにハッキングする攻撃者は、依然として、冗長センサを偽装することができる。冗長ネットワークを使用する場合であっても、概して、プラントオペレータとの通信を伴う。したがって、このシステムは、依然として、プラントオペレータに対してハッキングされる場合がある。これは、サイバーフィジカルシステム及び制御環境全体に関して深刻な結果を招き得る。
【0018】
本発明の実施形態は、第1のネットワーク上で動作する一組の一次センサ及び第2のネットワークで動作する一組の冗長センサを有するシステムを提供することによってこの問題に対処し、第2のネットワークは、外部のエンティティによるアクセスを阻止するセキュリティ対策を含む。一次及び冗長センサは、物理的プロセスの特定のパラメータを読み出し、測定し、そして、制御ステーションだけでなく、複数の利害関係者にもこれらの指示値を送信する。これらの利害関係者は、分散処理システムのエンティティであってもよく、エンティティは、他のエンティティと通信するためのいくつかの方法を有する。例えば、原子力発電所の事例において、利害関係者としては、プラントオペレータ、現地の当局者、連邦組織、及び政府または民間監視組織を挙げることができる。
【0019】
各利害関係者(または関連付けられたデバイス)は、許可型ブロックチェーン設定で動作するプロセッサを含むことができる。ブロックチェーンは、互いに信頼できないパーティの間で分散コンセンサスを達成するための技術的な手段であり得る。ブロックチェーンは、各利害関係者が、制御システム内のデバイス(例えば、発電所内のセンサ)から受信したデータを書き込むことを可能にする。ブロックチェーンはまた、利害関係者が、ブロックに署名し、データを書き込むことも可能にし、さらに、データを暗号化することができる。利害関係者によってブロックチェーンに書き込むことができるデータの例としては、一定の時間間隔での一次センサの指示値及びアクチュエータのアクション、一定の時間間隔での冗長センサの指示値、センサ、アクチュエータ、及びコントローラモジュールのファームウェアのアップグレード、ならびに観察されたシステムの挙動が、予期される挙動から逸脱するインスタンス、及び逸脱が生じる持続時間、を挙げることができる。
【0020】
さらに、各利害関係者は、同じスマートコントラクトのコピーを実行することができ、該コピーは、ブロックチェーン上で動作するプログラムまたは一組の命令である。高いレベルでは、各利害関係者は、2つの別々のネットワークを介して、一次センサからの第1の指示値を受信し、冗長センサから第2の指示値を受信することができる。各利害関係者は、第1の指示値及び第2の指示値を入力として使用することによって、スマートコントラクトを実行することができる。例えば、利害関係者は、第1の指示値及び第2の指示値の数学関数を評価することができる。各利害関係者は、次いで、実行されたスマートコントラクトの結果を、予期される状態と比較することができる。結果が、予期される状態に一致しない場合、利害関係者は、是正措置を行うことができる。この是正措置は、利害関係者の種類、時間間隔、所定の許容範囲、以前の類似する結果の履歴、その他を含む、多数の変数によって異なり得る。
【0021】
各利害関係者は、同じ方法で(すなわち、同じ入力に対して同じ一組の命令を実行することによって)同じスマートコントラクトを実行するので、任意の単一の利害関係者は、不一致を判定し、直ちに是正措置を行うことができる。加えて、利害関係者の多数決が、結果に関するコンセンサスに到達すると、エンティティのうちのいずれかによって、結果をブロックチェーンに書き込むことができる。
【0022】
したがって、本発明の実施形態は、サイバーフィジカルシステムへの攻撃の検出に関与する課題に対処するシステムを提供し、改善点は、根本的に技術的なものである。本システムは、サイバーフィジカルシステムへの攻撃を効率的に検出するといった技術的問題に対する技術的解決策(例えば、冗長ネットワーク上で動作する冗長センサを使用すること、及びブロックチェーンに基づいて分散エンティティの間でスマートコントラクトを使用すること)を提供する。
【0023】
より具体的には、ブロックチェーンに基づくコンセンサスは、任意の単一利害関係者が、攻撃を検出することを可能にする。例えば、プラントオペレータが適切な時間内に攻撃に気付くことができなかった場合には、またはプラントオペレータが攻撃によってある意味において危殆化される場合には、任意の他の利害関係者が、同じ入力を使用して同じスマートコントラクトを実行することによって、攻撃を検出することができる。さらに、冗長センサは、制御ステーションと通信していない冗長ネットワーク上で動作している。これは、産業用制御システム(例えば、SCADAシステム)の脆弱性に対する大部分の攻撃からシステムを保護することができる。最後に、冗長センサは、攻撃表面の直交ビューを提供し、よって、攻撃者が一次センサからのテレメトリを偽装し、制御ステーションを欺いて、システムが正常に機能していると信じさせてしまった場合であっても、攻撃を検出することができる。
【0024】
例示的なネットワーク及び通信
図1は、本発明の一実施形態に従う、サイバーフィジカルシステムにおける攻撃の検出を容易にするための例示的な環境100を例示する。環境100は、冷却塔122と、煙道ガススタック124と、原子炉格納建造物126と、を含む、発電所120等の工業プラントを含むことができる。建造物126は、第1のネットワーク102上で動作する一次センサ130.1~130.5によって、及び第2のネットワーク104上で動作する冗長センサ140.1~140.5によって測定される物理的装置を含むことができる。ネットワーク102は、例えばプラントオペレータによってアクセスすることができ、一方で、ネットワーク104は、任意の外部エンティティ、または分散エンティティ(プラントオペレータを含む)のうちのいずれかによるアクセスを阻止するセキュリティ対策を含むことができる。
【0025】
環境100はまた、複数の分散エンティティ、すなわち、ユーザ152と関連付けられたデバイス154、ユーザ162と関連付けられたデバイス164、ユーザ172と関連付けられたデバイス174、及びユーザ182と関連付けられたデバイス184も含むことができる。これらのエンティティは、発電所120の動作に関心がある複数の利害関係者を含むことができる。例えば、ユーザ152は、プラントオペレータを表すことができ、ユーザ162は、現地の機関を表すことができ、ユーザ172は、連邦組織を表すことができ、ユーザ182は、民間監視機関を表すことができる。各エンティティは、一組の命令、例えばスマートコントラクトを実行する、プロセッサを有することができる。すなわち、デバイス154は、スマートコントラクト156を実行することができ、デバイス164は、スマートコントラクト166を実行することができ、デバイス174は、スマートコントラクト176を実行することができ、デバイス184は、スマートコントラクト186を実行することができる。複数の分散エンティティは、直接的に、または別の分散エンティティを介して、互いに通信することができる。
【0026】
環境100はまた、物理的入力及び出力との相互作用要素のサイバーフィジカルシステムも例示する。例えば、原子炉格納建造物126内の装置は、一次及び冗長センサを介して、分散エンティティ(例えば、複数の利害関係者)と相互作用する。サイバーフィジカルシステムは、センサによって測定される指示値の物理的入力を使用し、分散エンティティによって実行されるスマートコントラクトの出力を生じる。
【0027】
動作中に、一次センサ130.1~130.5は、指示値を取得し、ネットワーク102を介して、指示値132を第1の入力134としてデバイス154等の分散エンティティに送信することができる。同時またはほぼ同時に、冗長センサ140.1~140.5は、冗長指示値(下でさらに詳細に論じられる)を取得し、ネットワーク104を介して、指示値142を第2の入力144としてデバイス154に送信することができる。第1及び第2の入力は、エンティティの各々に、またはエンティティの1つ以上に直接送信することができることに留意されたい。例えば、破線によって示されるように、第1の入力(「F/I」)135、136、及び137はまた、それぞれ、ネットワーク102を介して、デバイス164、174、及び184に送信することもでき、第2の入力(「S/I」)145、146、及び147はまた、それぞれ、ネットワーク104を介して、デバイス164、174、及び184に送信することもできる。したがって、第1及び第2の入力は、それぞれ、ネットワーク102及び104を介して、各エンティティに、またはエンティティの1つ以上に直接送信することができる。さらに、第1及び第2の入力は、第1の受信側エンティティまたは任意の他の分散エンティティを介して、エンティティに送信することができる。
【0028】
各エンティティは、次いで、第1及び第2の入力を使用して、そのスマートコントラクトのコピーを実行することができる。実行されたスマートコントラクトの結果が、予期される状態に一致しないと判定する任意のエンティティは、是正措置を行うことができる。例えば、デバイス154は、第1の入力134及び第2の入力144に基づいてそのスマートコントラクト156を実行し、実行されたスマートコントラクト156の結果が、予期される状態に一致しないと判定することができる。デバイス154(またはユーザ152)は、その後に、是正措置を行うことができる。これらの動作は、
図4及び5に関して下で説明される。
【0029】
さらに、任意のエンティティは、他のエンティティの多数決によって、実行されたスマートコントラクトの結果のコンセンサスを判定し、結果をブロックチェーンに書き込むことができる。データ構造を維持してコンセンサスを判定することは、
図3に関して下で説明され、結果をブロックチェーンに書き込むことは、
図5に関して下で説明される。
【0030】
要約すると、環境100は、冗長ネットワーク上で動作する冗長センサを含み、プラントオペレータは、冗長ネットワークと通信していない。さらに、環境100は、分散エンティティ(すなわち、複数の利害関係者)を含み、それぞれが、(別々のネットワーク上で動作している一次センサ及び冗長センサから)同じ入力を受信し、それぞれが、同じ受信した入力に対して同じスマートコントラクトを実行する。分散エンティティは、ブロックチェーン技術を使用して、コンセンサスに到達し、合意した結果をブロックチェーンに書き込むので、任意の単一エンティティは、予期しない状態を判定し、直ちに是正措置をとることができる。
【0031】
対照的に、
図2は、先行技術における例示的な環境200を例示する。環境100に類似して、環境200は、一次センサ230.1~230.5と、冗長センサ240.1~240.5と、を有する、原子炉格納建造物126を含む。しかしながら、環境100とは対照的に、これらのセンサは、同じネットワーク202上で動作しており、また、ネットワーク202を介して、プラントオペレータ242及び関連付けられたデバイス244と通信している。悪意のあるユーザ252は、デバイス254を介して、地点260においてデータを偽装することによる攻撃272、または地点262においてデータを偽装することによる攻撃270を開始することができ、地点260及び262は全て、プラントオペレータ242と通信している同じネットワークに属する。したがって、
図2の先行技術の環境200において、原子炉格納建造物126を含むサイバーフィジカルシステムは、
図1の環境100に関して上で説明した実施形態と異なり、攻撃に対して脆弱である。
【0032】
例示的な分散エンティティ及びデータ構造
図3は、本発明の一実施形態に従う、例示的な分散エンティティ300、ならびに例示的なデータ構造320及び340を提示する。例示的な分散エンティティ300は、デバイス184と、関連するユーザ182と、を含むことができる。デバイス184は、スマートコントラクト186と、スマートコントラクトの状態及び実行されたスマートコントラクトの結果に対するコンセンサスの状態を保持するデータ構造と、を含むことができる。例えば、例示的なデータ構造320は、エントリ321、322、323、及び324を含むことができ、各エントリは、それぞれのエンティティを識別するエンティティ識別子(「Entity_ID」)302、同じ入力(例えば、f(input1,input2)=「<result_expected>」または「<result_unexpected>」、ここで、「input1」は、一次センサからの指示値に対応し、「input2」は、冗長センサからの指示値に対応する)に対して同じスマートコントラクトを実行するそれぞれのエンティティの結果である、スマートコントラクトの結果304、それぞれのエンティティによって結果が得られた、または送信された時間を示すタイムスタンプ306、及びそれぞれのエンティティによって実行されるスマートコントラクトの結果が、予期される状態に一致するかどうかの状態指標308(例えば、状態が「予期される」ものであったか、「予期されない」ものであったかを示すフラグ)、を含む。いくつかの実施形態において、タイムスタンプ306は、有限の、または繰り返し持続時間、例えば09:06:00~09:08:59の3分間の時間ウインドウとすることができる。
【0033】
エントリ321、322、及び324は、それぞれのエンティティについて、対応するタイムスタンプと共に、スマートコントラクトを実行することによって、予期される結果が得られたことを示すことができる。エントリ323は、データを保留していること、すなわち、デバイス174がまだスマートコントラクトを実行していないことを示すように、ブランクとすることができる。データ構造320のエントリ321、322、及び324のデータに基づいて、関連するエンティティのいずれかが、エンティティの多数決(この事例では、4つのうちの3つ)によって結果のコンセンサスを判定し、結果をブロックチェーンに書き込むことができる。「多数決」は、加重多数決、エンティティの数の1/2を超える数、またはコンセンサスを判定するために使用することができる任意の方法として定義することができる。
【0034】
例示的なデータ構造340は、エントリ341、342、343、及び344を含むことができ、該エントリは、それぞれのエンティティについて、対応するタイムスタンプと共に、スマートコントラクトを実行することによって、予期されない結果が得られたことを示すことができる。エントリ342は、データを保留していること、すなわち、デバイス164がまだスマートコントラクトを実行していないことを示すように、ブランクとすることができる。データ構造320に関して上で説明したように、関連のあるエンティティのいずれかが、エンティティの多数決によって結果のコンセンサスを判定し、結果をブロックチェーンに書き込むことができる。さらに、任意のエンティティは、予期しない結果を得ると、他のエンティティのいずれかに対する通知を生成することを含む、是正措置を行うことができる。
【0035】
「是正措置」としては、センサ、センサと関連付けられた物理的オブジェクト、またはセンサに影響を及ぼし得る任意の物理的オブジェクトもしくは条件の修復、置換、または修正が挙げられる。是正措置としてはまた、サイバーフィジカルシステムへの将来の攻撃を阻止することができるアクション、または予期される条件を満たさない、実行されたスマートコントラクトの結果を調査することと関連付けられたアクションも含むことができる。各エンティティは、異なるパラメータに依存することができる固有の是正措置を行うことができる。
【0036】
例えば、環境監視者は、特定のガスゲージに関する一次センサと冗長センサとの間の不一致が、特定の期間内で特定の回数を超えて(例えば、12時間の期間に10回を超えて)所定の範囲から外れた場合にプラントに通知する(例えば、警告メッセージ、または、報告を送信する)、といった是正措置を行うことができる。対照的に、プラントオペレータは、環境監視者に関するパラメータと異なる、またはそれよりもより短い間隔で(例えば、2時間の期間に3回を超えて)類似する不一致を検出した場合に、同じ一次及び冗長センサ(ならびに対応する物理的及びネットワーク要素)を調査するといった是正措置を行うことができる。
【0037】
サイバーフィジカルシステムにおける攻撃の検出を容易にするための方法
図4は、本発明の一実施形態に従う、サイバーフィジカルシステムにおける攻撃の検出を容易にするための、分散エンティティによる方法を例示するフローチャート400である。動作中に、システムは、複数のエンティティのうちの第1のエンティティによって、第1のネットワークを介して、サイバーフィジカルシステムの第1の一組のセンサから第1の指示値を受信し、第1のセンサは、第1のネットワーク上で動作している(動作402)。システムは、第1のエンティティによって、第2のネットワークを介して、サイバーフィジカルシステムの第2の一組のセンサから第2の指示値を受信し、第2の一組は、第1のセンサのための一組の冗長センサであり、第2の一組のセンサは、第2のネットワーク上で動作しており、第2のネットワークは、任意の外部エンティティ、または複数のエンティティのうちのいずれかによってアクセスを阻止するセキュリティ対策を含む(動作404)。第2のネットワークは、第1のネットワークのための冗長ネットワークである。
【0038】
システムは、第1のエンティティによって、第1の指示値及び第2の指示値に基づいて一組の命令(例えば、スマートコントラクト)を実行する(動作406)。システムは、他のエンティティによって、第1の指示値及び第2の指示値を受信する(動作408)。システムは、他のエンティティによって、第1の指示値及び第2の指示値に基づいてスマートコントラクトを実行し(動作410)、動作は、
図5のラベルAにおいて説明されるように続く。
【0039】
図5は、本発明の一実施形態に従う、サイバーフィジカルシステムにおける攻撃の検出を容易にするための、分散エンティティによる方法を例示するフローチャート500である。動作中に、システムは、エンティティの多数決によって、実行されたスマートコントラクトの結果のコンセンサスを判定する(判定502)。システムがコンセンサスを判定していない場合、動作は、
図4の動作408で説明されるように続く。システムがコンセンサスを判定している場合、システムは、結果をブロックチェーンに書き込む(動作504)。結果は、
図3の例示的なデータ構造320及び340において(例えば、スマートコントラクト結果フィールド304において)、上で説明したように示すことができる。分散エンティティのうちのいずれかが、コンセンサスを判定し、結果をブロックチェーンに書き込むことができることに留意されたい。
【0040】
システムはまた、実行されたスマートコントラクトの結果が、予期される状態に一致するかどうかを判定することもできる(判定512)。予期される状態は、例えば、所定の間隔の範囲内で第1の指示値及び第2の指示値を受信すること、第1の指示値及び第2の指示値が等しいかどうか、第1の指示値及び第2の指示値が所定の範囲内にあるかどうか、第1の指示値及び第2の指示値に基づいて行われる関数が所定の範囲内の結果を生じるかどうか、第1の指示値及び第2の指示値が同じ物理量を示すかどうか、第1の指示値及び第2の指示値が異なる物理量を示すかどうか、ならびに第1のセンサ及び第2のセンサと関連付けられたデバイス設定、ファームウェア、またはソフトウェアの変更、に基づくことができる。
図3に関して上で説明したように、予期される条件が満たされるかどうかの指標は、状態指標フィールド308に含めることができる。
【0041】
結果が、予期される状態に一致する場合(判定512)、動作は、元に戻る。結果が、予期される状態に一致しない場合(判定512)、システムは、予期しない状態を判定する第1のエンティティまたは任意のエンティティによって、予期しない状態の通知を随意に生成することができる(動作514)。予期しない状態であると判定することは、実行されたスマートコントラクトの結果が、予期される状態に一致しないと判定することである。システムは、その後に、任意のエンティティによって、予期しない状態に基づいて是正措置を行うことができる(動作516)。
【0042】
例示的なコンピュータ及び通信システム
図6は、本発明の一実施形態に従う、サイバーフィジカルシステムにおける攻撃の検出を容易にする例示的な分散コンピュータ及び通信システム602を例示する。コンピュータシステム602は、プロセッサ604と、メモリ606と、記憶デバイス608と、を含む。メモリ606は、管理されたメモリとしての役割を果たす揮発性メモリ(例えば、RAM)を含むことができ、また、1つ以上のメモリプールを記憶するために使用することができる。さらに、コンピュータシステム602は、ディスプレイデバイス610、キーボード612、及びポインティングデバイス614に連結することができる。記憶デバイス608は、オペレーティングシステム616、コンテンツ処理システム618、及びデータ632を記憶することができる。
【0043】
コンテンツ処理システム618は、コンピュータシステム602によって実行されたときに、コンピュータシステム602に、本開示において説明される方法及び/またはプロセスを行わせることができる命令を含むことができる。具体的には、コンテンツ処理システム618は、コンピュータネットワークを通じて他のネットワークノードに対してデータパケットを送信及び/または受信するための命令を含むことができる(通信モジュール620)。データパケットは、サイバーフィジカルシステムのセンサ、アクチュエータ、またはコントローラモジュールからのデータ、暗号化されたデータ、及び指示値を示すメッセージを含むことができる。
【0044】
コンテンツ処理システム618は、複数のエンティティのうちの第1のエンティティによって、第1のネットワークを介して、サイバーフィジカルシステムの第1の一組のセンサから第1の指示値を受信するための命令を含むことができる(通信モジュール620)。コンテンツ処理システム618は、第1のエンティティによって、第2のネットワークを介して、サイバーフィジカルシステムの第2の一組のセンサから第2の指示値を受信するための命令を含むことができる(通信モジュール620)。コンテンツ処理システム618は、第1の指示値及び第2の指示値に基づいて一組の命令を実行するための命令を含むことができる(スマートコントラクト実行モジュール622)。コンテンツ処理システム618は、実行された命令の結果が、予期される状態に一致しないと判定するための命令を含むことができる(状態判定モジュール624)。コンテンツ処理システム618は、結果に基づいて是正措置を行うための命令を含むことができる(アクション実行モジュール630)。
【0045】
コンテンツ処理
システム618は、複数のエンティティの多数決によって、実行されたスマートコントラクトの結果のコンセンサスを判定することに応答して(コンセンサス判定モジュール626)、結果をブロックチェーンに書き込むための命令を含むことができる(ブロックチェーン管理モジュール628)。コンテンツ処理システム618は、第1の指示値及び第2の指示値に基づいて関数を計算するための命令を含むことができる(スマートコントラクト実行モジュール622)。
【0046】
データ632は、入力として必要とされる、または本開示において説明される方法及び/またはプロセスによって出力として生成される任意のデータを含むことができる。具体的には、データ632は、少なくとも、入力、指示値、フィジカル測定値またはフィジカル入力を示す指示値、出力、スマートコントラクト、一組の命令、実行されたスマートコントラクトの結果、一組の命令を実行した結果、ネットワークの指標、センサのための識別子または指標、ブロックチェーン、コンセンサスの指標、通知、予期される状態、是正措置の指標、関数、データ構造、データ構造におけるエントリ、それぞれのエンティティの識別子、それぞれのエンティティによって実行された一組の命令またはスマートコントラクトの結果、一組の命令またはスマートコントラクトを実行するそれぞれのエンティティと関連付けられたタイムスタンプ、実行された命令またはスマートコントラクトの結果が予期される状態に一致するかどうかの指標、所定の時間間隔、ネットワークのセキュリティ関連のパラメータ、所定の範囲、物理量、及び一組のセンサと関連付けられたデバイス設定、ファームウェア、またはソフトウェアの変更、を記憶することができる。
【0047】
この「発明を実施するための形態」において説明されるデータ構造及びコードは、典型的に、コンピュータ可読記憶媒体に記憶され、該コンピュータ可読記憶媒体は、コンピュータシステムによって使用するためのコード及び/またはデータを記憶することができる、任意のデバイスまたは媒体とすることができる。コンピュータ可読記憶媒体としては、揮発性メモリ、不揮発性メモリ、ディスクドライブ、磁気テープ、CD(コンパクトディスク)、DVD(デジタル多用途ディスクまたはデジタルビデオディスク)等の磁気及び光記憶デバイス、または現在知られている、または今後開発されるコンピュータ可読媒体を記憶することが可能な他の媒体が挙げられるが、これらに限定されない。
【0048】
「発明を実施するための形態」の節において説明される方法及びプロセスは、上で説明したようなコンピュータ可読記憶媒体に記憶することができるコード及び/またはデータとして具現化することができる。コンピュータシステムが、コンピュータ可読記憶媒体に記憶されたコード及び/またはデータを読み取り、実行したときに、コンピュータシステムは、データ構造及びコードとして具体化され、かつコンピュータ可読記憶媒体内に記憶された方法及びプロセスを実行する。
【0049】
さらに、上で説明した方法及びプロセスは、ハードウェアモジュールまたは装置に含めることができる。ハードウェアモジュールまたは装置としては、特定用途向け集積回路(ASIC)チップ、フィールドプログラマブルゲートアレイ(FPGA)、特定の時間に特定のソフトウェアモジュールまたはコードの一部を実行する専用または共有プロセッサ、及び現在知られている、または今後開発される他のプログラマブル論理デバイスを挙げることができるが、これらに限定されない。ハードウェアモジュールまたは装置を起動させると、それらの中に含まれる方法及びプロセスを実行する。
【0050】
本発明の実施形態の上述の説明は、例示及び説明のみを目的として提示されている。本記述は、網羅的であること、または本発明を開示された形態に限定することを意図したものではない。したがって、多くの修正及び変形が、当業者に明白になるであろう。加えて、上述の開示は、本発明を限定することを意図したものではない。本発明の範囲は、添付の特許請求の範囲によって定義される。