IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ナノトロニクス イメージング リミテッド ライアビリティ カンパニーの特許一覧

<>
  • 特表-高度な攻撃からの産業生産の保護 図1
  • 特表-高度な攻撃からの産業生産の保護 図2
  • 特表-高度な攻撃からの産業生産の保護 図3
  • 特表-高度な攻撃からの産業生産の保護 図4
  • 特表-高度な攻撃からの産業生産の保護 図5
  • 特表-高度な攻撃からの産業生産の保護 図6A
  • 特表-高度な攻撃からの産業生産の保護 図6B
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-01-24
(54)【発明の名称】高度な攻撃からの産業生産の保護
(51)【国際特許分類】
   G06F 21/55 20130101AFI20230117BHJP
   G05B 19/418 20060101ALI20230117BHJP
   G05B 23/02 20060101ALI20230117BHJP
【FI】
G06F21/55
G05B19/418 Z
G05B23/02 302Z
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022529027
(86)(22)【出願日】2020-11-20
(85)【翻訳文提出日】2022-06-24
(86)【国際出願番号】 US2020061434
(87)【国際公開番号】W WO2021102223
(87)【国際公開日】2021-05-27
(31)【優先権主張番号】62/938,158
(32)【優先日】2019-11-20
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】511289471
【氏名又は名称】ナノトロニクス イメージング インコーポレイテッド
【氏名又は名称原語表記】NANOTRONICS IMAGING,INC.
【住所又は居所原語表記】2251 FRONT STREET,SUITE 110,P.O.BOX 306,CUYAHOGA FALLS,OHIO 44223,U.S.A.
(74)【代理人】
【識別番号】110002321
【氏名又は名称】弁理士法人永井国際特許事務所
(72)【発明者】
【氏名】プットマン,マシュー シー
(72)【発明者】
【氏名】ピンスキー,バディム
(72)【発明者】
【氏名】リモージュ,ダマス
(72)【発明者】
【氏名】サンドストローム,アンドリュー
【テーマコード(参考)】
3C100
3C223
【Fターム(参考)】
3C100AA29
3C100AA56
3C100BB13
3C100BB17
3C100BB33
3C100BB34
3C100CC02
3C223AA11
3C223BA03
3C223BB09
3C223CC02
3C223DD03
3C223EB01
3C223EB02
3C223EB03
3C223FF26
3C223GG01
3C223HH02
3C223HH29
(57)【要約】
製造システムが本明細書に開示されている。製造システムには、1つまたは複数のステーション、監視プラットフォーム、および制御モジュールが含まれる。1つまたは複数のステーションの各ステーションは、構成要素の多工程製造プロセスにおいて少なくとも1つの工程を実行するように構成される。監視プラットフォームは、多工程製造プロセス全体で構成要素の進行を監視するように構成されている。制御モジュールは、製造システムへのサイバー攻撃を検出するように構成されている。制御モジュールは、動作を実行するように構成されている。動作には、1つまたは複数のステーションの第1のステーションの制御値を受信することが含まれる。動作には、1つまたは複数の機械学習アルゴリズムを使用して、第1のステーションの制御値に基づいてサイバー攻撃があるかどうかを決定することも含まれる。動作には、構成要素の処理を停止するためのアラートの生成がさらに含まれる。いくつかの実施形態では、動作は、サイバー攻撃によって引き起こされたエラーを修正することをさらに含む。
【特許請求の範囲】
【請求項1】
各ステーションが、構成要素の多工程製造プロセスで少なくとも1つの工程を実行するように構成されている、1つまたは複数のステーションと、
前記多工程製造プロセス全体で前記構成要素の進行を監視するように構成された監視プラットフォームと、
前記製造システムへのサイバー攻撃を検出するように構成された制御モジュールであって、
前記1つまたは複数のステーションの第1のステーションの制御値を受信することであって、前記制御値は、前記第1の処理ステーションの属性を含む、受信することと、
1つまたは複数の機械学習アルゴリズムを使用して、前記第1のステーションの前記制御値に基づいてサイバー攻撃があるかどうかを決定することと、
前記決定に基づいて、前記構成要素の処理を停止するためのアラートを生成することと、
を含む、動作を実行するように構成された制御モジュールと、を含む、製造システム。
【請求項2】
前記1つまたは複数の機械学習アルゴリズムは、カルマンフィルタを含む、請求項1に記載の製造システム。
【請求項3】
前記1つまたは複数の機械学習アルゴリズムを使用して前記第1のステーションの前記制御値に基づいてサイバー攻撃があるかどうかを決定することは、
前記カルマンフィルタを使用して、前記制御値に基づいて前記第1のステーションの異常スコアを生成することと、
前記異常スコアがサイバー攻撃を示す閾値を超えているかどうかを決定することと、を含む、請求項2に記載の製造システム。
【請求項4】
前記1つまたは複数の機械学習アルゴリズムは、オートエンコーダを含む、請求項1に記載の製造システム。
【請求項5】
前記1つまたは複数の機械学習アルゴリズムを使用して前記第1のステーションの前記制御値に基づいてサイバー攻撃があるかどうかを決定することは、
前記オートエンコーダを使用して、前記制御値に基づいて前記第1のステーションの異常スコアを生成することと、
前記異常スコアがサイバー攻撃を示す閾値を超えているかどうかを決定することと、を含む、請求項4に記載の製造システム。
【請求項6】
前記1つまたは複数の機械学習アルゴリズムは、深層学習アルゴリズムを含む、請求項1に記載の製造システム。
【請求項7】
前記1つまたは複数の機械学習アルゴリズムを使用して前記第1のステーションの前記制御値に基づいてサイバー攻撃があるかどうかを決定することは、
前記1つまたは複数の制御値に基づいて前記構成要素の予測品質基準を生成することと、
前記予測品質基準が許容値の範囲外であるかどうかを決定することと、を含む、請求項6に記載の製造システム。
【請求項8】
コンピューティングシステムによって、構成要素を処理するように構成された製造システムの1つまたは複数のステーションの第1のステーションの制御値を受信することであって、前記制御値は、前記第1のステーションの属性を含む、受信することと、
前記コンピューティングシステムによって、1つまたは複数の機械学習アルゴリズムを使用して前記第1のステーションの前記制御値に基づいてサイバー攻撃があるかどうかを決定することと、
前記決定に基づいて、前記コンピューティングシステムによって、前記構成要素の処理を停止するためのアラートを生成することと、
前記コンピューティングシステムによって、前記サイバー攻撃によって引き起こされたエラーを修正するためのアクションのセットを生成することであって、アクションの前記セットは、前記製造システムの下流ステーションに関連付けられている、生成することと、を含む、コンピュータ実装方法。
【請求項9】
前記1つまたは複数の機械学習アルゴリズムは、カルマンフィルタを含む、請求項8に記載のコンピュータ実装方法。
【請求項10】
前記1つまたは複数の機械学習アルゴリズムを使用して前記第1のステーションの前記制御値に基づいてサイバー攻撃があるかどうかを決定することは、
前記カルマンフィルタを使用して、前記制御値に基づいて前記第1のステーションの異常スコアを生成することと、
前記異常スコアがサイバー攻撃を示す閾値を超えているかどうかを決定することと、を含む、請求項9に記載のコンピュータ実装方法。
【請求項11】
前記1つまたは複数の機械学習アルゴリズムは、オートエンコーダを含む、請求項8に記載のコンピュータ実装方法。
【請求項12】
前記1つまたは複数の機械学習アルゴリズムを使用して前記第1のステーションの前記制御値に基づいてサイバー攻撃があるかどうかを決定することは、
前記オートエンコーダを使用して、前記制御値に基づいて前記第1のステーションの異常スコアを生成することと、
前記異常スコアがサイバー攻撃を示す閾値を超えているかどうかを決定することと、を含む、請求項11に記載のコンピュータ実装方法。
【請求項13】
前記1つまたは複数の機械学習アルゴリズムは、深層学習アルゴリズムを含む、請求項8に記載のコンピュータ実装方法。
【請求項14】
前記1つまたは複数の機械学習アルゴリズムを使用して前記第1のステーションの前記制御値に基づいてサイバー攻撃があるかどうかを決定することは、
前記1つまたは複数の制御値に基づいて前記構成要素の予測品質基準を生成することと、
前記予測品質基準が許容値の範囲外であるかどうかを決定することと、を含む、請求項13に記載のコンピュータ実装方法。
【請求項15】
各ステーションが、構成要素の多工程製造プロセスで少なくとも1つの工程を実行するように構成されている、1つまたは複数のステーションと、
前記多工程製造プロセス全体で前記構成要素の進行を監視するように構成された監視プラットフォームと、
前記製造システムへのサイバー攻撃を検出するように構成された制御モジュールであって、
前記1つまたは複数のステーションの第1のステーションの制御値を受信することであって、前記制御値は前記第1のステーションの属性を含む、受信することと、
1つまたは複数の機械学習アルゴリズムを使用して、前記第1のステーションの前記制御値に基づいてサイバー攻撃があるかどうかを決定することと、
前記決定に基づいて、前記構成要素の処理を停止するためのアラートを生成することと、
1つまたは複数の第2の機械学習アルゴリズムを使用して、前記サイバー攻撃によって引き起こされたエラーを修正するためのアクションのセットを生成することであって、アクションの前記セットは、前記製造システムの下流ステーションに関連付けられている、生成することと、を含む、動作を実行するように構成された制御モジュールと、を含む、製造システム。
【請求項16】
前記1つまたは複数の機械学習アルゴリズムは、カルマンフィルタを含み、前記1つまたは複数の第2の機械学習アルゴリズムは、深層学習アルゴリズムを含む、請求項15に記載の製造システム。
【請求項17】
前記1つまたは複数の機械学習アルゴリズムを使用して前記第1のステーションの前記制御値に基づいてサイバー攻撃があるかどうかを決定することは、
前記カルマンフィルタを使用して、前記制御値に基づいて前記第1のステーションの異常スコアを生成することと、
前記異常スコアがサイバー攻撃を示す閾値を超えているかどうかを決定することと、を含む、請求項16に記載の製造システム。
【請求項18】
前記1つまたは複数の機械学習アルゴリズムは、オートエンコーダを含む、請求項15に記載の製造システム。
【請求項19】
前記1つまたは複数の機械学習アルゴリズムを使用して前記第1のステーションの前記制御値に基づいてサイバー攻撃があるかどうかを決定することは、
前記オートエンコーダを使用して、前記制御値に基づいて前記第1のステーションの異常スコアを生成することと、
前記異常スコアがサイバー攻撃を示す閾値を超えているかどうかを決定することと、を含む、請求項18に記載の製造システム。
【請求項20】
前記1つまたは複数の機械学習アルゴリズムは、深層学習アルゴリズムを含む、請求項15に記載の製造システム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本願は、2019年10月20日に出願された米国仮出願第62/938,158号に優先権を主張し、これは参照によりその全体が本明細書に組み込まれる。
【0002】
本開示は、一般に、製造プロセスのためのシステム、方法、および媒体に関する。
【背景技術】
【0003】
過去数十年のサイバー攻撃は、驚くべき程度の拡散、適応、特異性、および高度化を目の当たりにしてきた。産業および軍事セキュリティは、情報の悪意のある挿入または削除を制限する、物理的およびデジタルの壁の研究である。高セキュリティの工場や軍事施設の場合、これは、グローバルコンピュータネットワークから切り離され、多くの場合、内部ネットワークから切り離されるシステムを作成することを意味する。
【発明の概要】
【発明が解決しようとする課題】
【0004】
【課題を解決するための手段】
【0005】
いくつかの実施形態では、製造システムが本明細書に開示されている。製造システムには、1つまたは複数のステーション、監視プラットフォーム、および制御モジュールが含まれる。1つまたは複数のステーションの各ステーションは、構成要素の多工程製造プロセスにおいて少なくとも1つの工程を実行するように構成される。監視プラットフォームは、多工程製造プロセス全体で構成要素の進行を監視するように構成されている。制御モジュールは、製造システムへのサイバー攻撃を検出するように構成されており、制御モジュールは動作を実行するように構成されている。動作には、1つまたは複数のステーションの第1のステーションの制御値の受信が含まれる。制御値には、第1の処理ステーションの属性が含まれる。動作には、1つまたは複数の機械学習アルゴリズムを使用して、第1のステーションの制御値に基づいてサイバー攻撃があるかどうかを決定することも含まれる。動作には、決定に基づいて、構成要素の処理を停止するためのアラートを生成することがさらに含まれる。
【0006】
いくつかの実施形態では、コンピュータ実装方法が本明細書に開示されている。コンピューティングシステムは、構成要素を処理するように構成された製造システムの1つまたは複数のステーションの第1のステーションの制御値を受信する。制御値には、第1のステーションの属性が含まれる。コンピューティングシステムは、1つまたは複数の機械学習アルゴリズムを使用して、第1のステーションの制御値に基づいてサイバー攻撃があるかどうかを決定する。コンピューティングシステムは、決定に基づいて、構成要素の処理を停止するためのアラートを生成する。コンピューティングシステムは、サイバー攻撃によって引き起こされたエラーを修正するためのアクションのセットを生成する。アクションのセットは、製造システムの下流ステーションに関連付けられている。
【0007】
いくつかの実施形態では、製造システムが本明細書に開示されている。製造システムには、1つまたは複数のステーション、監視プラットフォーム、および制御モジュールが含まれる。1つまたは複数のステーションの各ステーションは、構成要素の多工程製造プロセスにおいて少なくとも1つの工程を実行するように構成される。監視プラットフォームは、多工程製造プロセス全体で構成要素の進行を監視するように構成されている。制御モジュールは、製造システムへのサイバー攻撃を検出するように構成されており、制御モジュールは動作を実行するように構成されている。動作には、1つまたは複数のステーションの第1のステーションの制御値の受信が含まれる。制御値には、第1のステーションの属性が含まれる。動作には、1つまたは複数の機械学習アルゴリズムを使用して、第1のステーションの制御値に基づいてサイバー攻撃があるかどうかを決定することも含まれていた。動作はさらに、決定に基づいて、構成要素の処理を停止するためのアラートを生成することを含む。動作にはさらに、1つまたは複数の第2の機械学習アルゴリズムを使用して、サイバー攻撃によって引き起こされたエラーを修正するためのアクションのセットを生成することが含まれる。アクションのセットは、製造システムの下流ステーションに関連付けられている。
【0008】
本開示の上記の特徴を詳細に理解することができるように、上記で簡単に要約された本開示のより具体的な説明は、実施形態を参照することによって得ることができ、そのいくつかは、添付図面に示される。しかしながら、添付図面は、本開示の典型的な実施形態のみを示しており、したがって、その範囲を限定すると見なされるべきではないのは、本開示は、他の同等に有効な実施形態を認めることができるからであることに留意されたい。
【図面の簡単な説明】
【0009】
図1】例示的な実施形態による、製造環境を示すブロック図である。
【0010】
図2】例示的な実施形態による、カルマンフィルタを実装する単一入力、単一出力システムのアーキテクチャを示すブロック図である。
【0011】
図3】例示的な実施形態による、オートエンコーダを実装するシステムのアーキテクチャを示すブロック図である。
【0012】
図4】例示的な実施形態による、機械学習モジュールを使用して強化学習アプローチを実装するシステムのアーキテクチャを示すブロック図である。
【0013】
図5】例示的な実施形態による、製造プロセスへのサイバー攻撃を管理する方法を示す流れ図である。
【0014】
図6A】例示的な実施形態による、システムバスコンピューティングシステムアーキテクチャを示している。
【0015】
図6B】例示的な実施形態による、チップセットアーキテクチャを有するコンピュータシステムを示している。
【発明を実施するための形態】
【0016】
理解を容易にするために、可能な場合、図に共通する同一の要素を示すために同一の参照番号が使用されてきた。一実施形態で開示される要素は、特定の記述なしに他の実施形態で有益に利用され得ることが企図される。
【0017】
製造プロセスは複雑であり得、最終製品が製造されるまで異なるプロセスステーション(または「ステーション」)によって処理される原材料を含むことができる。いくつかの実施形態では、各プロセスステーションは、処理のための入力を受け取り、追加の処理のために次の(下流の)プロセスステーションに渡され得る中間出力を出力し得る。いくつかの実施形態では、最終プロセスステーションは、処理のための入力を受け取り、最終製品、またはより一般的には最終出力を出力することができる。
【0018】
いくつかの実施形態では、各ステーションは、一連のプロセス工程を実行することができる1つまたは複数のツール/機器を含むことができる。例示的なプロセスステーションは、以下に限定されないが、コンベヤベルト、射出成形プレス、切断機、ダイスタンピングマシン、押出機、コンピュータ数値制御(CNC)ミル、グラインダ、組立ステーション、3次元プリンタ、品質管理ステーション、検証ステーションなどを含み得る。
【0019】
いくつかの実施形態では、各プロセスステーションの動作は、1つまたは複数のプロセスコントローラによって制御され得る。いくつかの実施形態では、各プロセスステーションは、プロセスステーションの動作を制御するようにプログラムされ得る1つまたは複数のプロセスコントローラを含み得る。いくつかの実施形態では、オペレータまたは制御アルゴリズムは、各制御値について、所望の値または値の範囲を表すことができるステーションコントローラ設定値をステーションコントローラに提供することができる。いくつかの実施形態では、製造プロセスにおけるフィードバックまたはフィードフォワードに使用される値は、制御値と呼ばれることがある。例示的な制御値には、速度、温度、圧力、真空、回転、電流、電圧、電力、粘度、ステーションで使用される材料/資源、スループット率、停止時間、有害ガス、pH、光吸収、粒子密度、および幾何学的構造などが含まれ得るが、これらに限定されない。
【0020】
統計的プロセス制御(SPC)は、統計的方法を使用してプロセスを監視および制御する品質管理の方法である。一般に、SPCは、製造プロセスの各工程に対してプロセス標準を確立し、生産ライフサイクル全体にわたって監視することを求めている。SPCの目標は、ライフサイクルを通じてプロセスを継続的に改善することである。
【0021】
SPCの目的のために、各ノードが仕様の範囲内で動作している限り、最終製品も仕様の範囲内であると想定される。仕様は、対象分野の専門知識と過去の実績に基づいて設定できる。あるノードの次のノードまたは後続のノードへの信頼性と影響は、SPCでは直接調整されない。代わりに、各サブプロセスを独立したエンティティとして調べることができる。このアプローチにより、各ノードの動作条件のマージンが広くなり、システムが絶対的に最高の効率または安定性で動作することさえできなくなる。セキュリティの観点から、このマージンは高度なプロセスのサイバー攻撃の標的となる可能性がある。システム内の1つまたは複数のノードがそれらの仕様の上限(または下限)で動作を開始した場合、個々の警報はトリガされないが、プロセス全体の品質に影響する。これは特に、例えば、報告されたセンサー信号が悪意のあるコードによって偽造される中間者サイバー攻撃に当てはまる。ノードのライフサイクルも影響を受けるため、修復のためにダウンタイムを増やす必要がある。下流ノードのいくつかの層も影響を受け、時間の経過とともに、システムの継続的なドリフトはコンプライアンス違反になる傾向がある。その時点までに、システムを回復するために必要な修正は大規模で、法外な費用がかかる。
【0022】
本明細書で提供される1つまたは複数の技術は、疑わしい悪意のある活動をプロセス変動として扱い、システムの動作パラメータを能動的に調整することによってそれを修正することによる、産業セキュリティへの新しいアプローチに向けられている。産業システムへの脅威が増加し、高度化するにつれて、システム全体を強化するために、従来のセキュリティ方法をプロセス制御の進歩と重ね合わせる必要がある。
【0023】
図1は、例示的な実施形態による、製造環境100を示すブロック図である。製造環境100は、製造システム102、監視プラットフォーム104、および制御モジュール106を含み得る。製造システム102は、多工程製造システムを広く表すことができる。いくつかの実施形態では、製造システム102は、組立ラインシステムを表すことができ、各処理ステーションは、人間の労働者を表すことができる。いくつかの実施形態では、製造システム102は、積層造形で使用するための製造システム(例えば、3D印刷システム)を表すことができる。いくつかの実施形態では、製造システム102は、減算加工(subtractive manufacturing)(例えば、CNC機械加工)で使用するための製造システムを表すことができる。いくつかの実施形態では、製造システム102は、積層造形と減算加工の組み合わせで使用するための製造システムを表すことができる。より一般的には、いくつかの実施形態では、製造システム102は、一般的な製造プロセスで使用するための製造システムを表すことができる。
【0024】
製造システム102は、1つまたは複数のステーション1081~108n(一般に、「ステーション108」)を含み得る。各ステーション108は、多工程製造プロセスにおける工程および/またはステーションを表すことができる。例えば、各ステーション108は、3D印刷プロセスにおける層堆積動作を表すことができる(例えば、ステーション1081は、層1に対応し得、ステーション1082は、層2に対応し得る、等々)。別の例では、各ステーション108は、特定の処理ステーションに対応することができる。別の例では、各ステーション108は、組立ライン製造プロセスにおいて特定のタスクを実行する特定の人間のオペレータに対応することができる。
【0025】
各ステーション108は、プロセスコントローラ114および制御論理116を含み得る。各プロセスコントローラ1411~114nは、各々それぞれのステーション108の動作を制御するようにプログラムされ得る。いくつかの実施形態では、制御モジュール106は、各制御値について、所望の値または値の範囲を表すことができるステーションコントローラ設定値を各プロセスコントローラ114に提供することができる。制御論理116は、ステーション108のプロセス工程に関連する属性/パラメータを参照することができる。動作中、各ステーション108の制御論理116は、最終品質基準の現在の軌道に応じて、制御モジュール106によって製造プロセス全体を通して動的に更新され得る。
【0026】
監視プラットフォーム104は、製造システム102の各ステーション108を監視するように構成され得る。いくつかの実施形態では、監視プラットフォーム104は、製造システム102の構成要素であり得る。例えば、監視プラットフォーム104は、3D印刷システムの構成要素であり得る。いくつかの実施形態では、監視プラットフォーム104は、製造システム102から独立していてもよい。例えば、監視プラットフォーム104は、既存の製造システム102に後付けすることができる。いくつかの実施形態では、監視プラットフォーム104は、多工程プロセスの各工程で製品またはツーリング(例えば、労働者またはプロセスツール)の画像を捕捉するように構成された画像化デバイスを表すことができる。例えば、監視プラットフォーム104は、各ステーション108での構成要素の画像および/または各ステーション108で製品を開発している構成要素(例えば、ツール、人間など)の画像を捕捉するように構成され得る。一般に、監視プラットフォーム104は、製品(例えば、画像、電圧読み取り、速度読み取りなど)および/またはツール(例えば、手の位置、ツーリング位置など)の生産に関連する情報を捕捉し、その情報を入力として、評価のために制御モジュール106に提供するように構成され得る。
【0027】
制御モジュール106は、1つまたは複数の通信チャネルを介して製造システム102および監視プラットフォーム104と通信することができる。いくつかの実施形態では、1つまたは複数の通信チャネルは、セルラーネットワークまたはWi-Fiネットワークなどのインターネットを介した個々の接続を表すことができる。いくつかの実施形態では、1つまたは複数の通信チャネルは、直接接続を使用して端末、サービス、およびモバイルデバイスを接続することができ、例えば、無線周波数識別(RFID)、近距離無線通信(NFC)、ブルートゥース(商標)、低エネルギーブルートゥース(商標)(BLE)、Wi-Fi(商標)、ZigBee(商標)、後方散乱通信(ABC)プロトコル、USB、WAN、またはLANなどである。
【0028】
制御モジュール106は、製造システム102の各プロセスコントローラを制御するように構成され得る。例えば、監視プラットフォーム104によって取得された情報に基づいて、制御モジュール106は、特定のステーション108に関連するプロセス制御を調整するように構成され得る。いくつかの実施形態では、制御モジュール106は、予測される最終品質基準に基づいて特定のステーション108のプロセス制御を調整するように構成され得る。
【0029】
上記のように、プロセスを検出するための従来のアプローチは、様々なSPC技術を攻撃する。SPCは、プロセス制御に対する静的で非介入的なアプローチであり、明確に定義された統計特性が各ノードで合格または不合格になることが受動的に観測される。これらの従来のシステムが、製造された製品を保持するか廃棄するかを決定するのは、最後のノードの処理の後でのみである。
【0030】
従来のプロセスを改善するために、制御モジュール106は、エラー検出モジュール130を含む。エラー検出モジュール130は、所与のステーション108または製造システム102のノードでエラーを検出するように構成され得る。例えば、プロセス制御への動的な介入アプローチの一部として使用されるエラー検出モジュール130では、検出された損傷を引き起こしているノードに続く各ノードは、最適化問題(例えば、損傷回復問題)に織り込まれ、その解決策をインスタンス化するために能動的に制御される。いくつかの実施形態では、このプロセスは、所与のサイクルの終わりではなく、リアルタイムまたはほぼリアルタイムで、各サイクルが進行している間に行うことができる。
【0031】
エラー検出モジュール130によって実装される1つまたは複数の技術を理解するために、制御モジュール106が製造システム(例えば、製造システム102)をどのように定義するかを理解することが重要である。製造システムは、フィードバックやフィードフォワード構成など、様々なトポロジスキームを使用して定義できる。いくつかの実施形態では、製造システムFは、フィードフォワードリンクされたチェーンで接続された、1,...,Nとラベル付けされたn個のプロセスノード(またはステーション108)の線形シーケンスとして定義され得る。例えば:
F:→1→2→・・・→i→・・・→n
【0032】
同様に、いくつかの実施形態では、製造システムFは、1,...,Nとラベル付けされた、n個のプロセスノード(またはステーション108)の非線形シーケンスとして定義され得る。いくつかの実施形態では、各ノードiによって行われる処理は、2つの属性付き分布を有することができる。予測された分布Qi、観測された分布Pi。Qiは、
【数1】
および
【数2】
によって特徴付けられる。
【数3】
の場合、Qiは完全に特徴付けられる。Piは、
【数4】
および
【数5】
によって特徴付けられる。
【数6】
の場合、Piは完全に特徴付けられる。
【0033】
いくつかの実施形態では、ノードiによって引き起こされる損傷は、Qiに関するPiのカルバック・ライブラー発散として定義され得る。
【数7】
【0034】
いくつかの実施形態において、損傷は、累積的であり得るか、またはF全体にわたって付加的であり得る。例えば:
【数8】
【0035】
エラー検出モジュール130に戻って参照すると、エラー検出モジュール130は、製造システム102の所与のノードkでの損傷またはエラーを検出するように構成され得る。例えば、エラー検出モジュール130がノードkが損傷を引き起こしたことを検出した場合(つまり、損傷または歪んだ分布を生成した場合)、エラー検出モジュール130は、Pkからサンプリングし、そこから流れる後続のすべての結果の分布、Pk+1,...,PNを生成する制御戦略を採用できるため、残りの累積ダメージdk+1,...,dkを減らすか、最小化することができる。したがって、エラー検出モジュール130の損傷回復問題は、次のように定式化することができる。
【数9】
【0036】
いくつかの実施形態では、エラー検出モジュール130は、所与のノードで検出された損傷を識別または修正するための1つまたは複数の技術を実装することができる。いくつかの実施形態では、エラー検出モジュール130は、カルマンフィルタ132を使用して、所与の処理ノードでの損傷またはエラーを検出することができる。いくつかの実施形態では、エラー検出モジュール130は、所与の処理ノードでの損傷またはエラーを検出するためのオートエンコーダ134を含むことができる。いくつかの実施形態では、エラー検出モジュール130は、機械学習モジュール136の深層強化学習技術を使用して、所与の処理ノードでの損傷またはエラーを検出し、下流ノードまたはステーション108での損傷またはエラーによって引き起こされる検出された変動を修正することができる。いくつかの実施形態では、エラー検出モジュール130は、カルマンフィルタ132、オートエンコーダ134、または機械学習モジュール136のうちの1つまたは複数を使用することができ、所与の処理ノードでの損傷もしくはエラーを検出し、および/または下流ノードもしくはステーション108での損傷またはエラーによって引き起こされる検出された変動を修正する。
【0037】
いくつかの実施形態では、エラー検出モジュール130は、処理ノードでエラーを検出するためにカルマンフィルタ132を実装することができる。上からの分布記述、すなわちdiを一般化するために、単一入力、単一出力システムを状態空間形式で次のように確立することができる。
【数10】
システムの任意の状態として定義された
【数11】
、システムの出力として定義されたyについて、A、B、Cは、基礎となるダイナミクスの常微分方程式を定義するシステム行列であり得る。このシステムの入力uεは、次のように定義されるノイズの多い入力信号であり得、
ε,i=ui(t)+εt
ここで、εtは、εt~N(με,i,Ri)によって寄与される付加ノイズであり得る。いくつかの実施形態では、観測された出力yVは、以下のようなシステム出力の関数であり得る。
V,i=yi(t)+Vt
同様にノイズの多い信号測定の場合、
【数12】
を使用する。いくつかの実施形態では、この表記は、プロセスの特定のノードiに対してyVi~Qiを確立することによって調整できる。影響を受けていないシステムでは、ノイズの寄与の平均はゼロである可能性があり、με,i=μV,i=0となる。しかし、悪意のあるサイバー攻撃では、偏差はゼロ以外の平均入力ノイズとして現れる可能性がある。
【0038】
一般に、カルマンフィルタ132は、ゼロ平均ノイズに依存し得る。しかし、悪意のあるサイバー攻撃の場合、入力命令のオフセットは、ゼロ以外の平均付加ノイズとして現れる可能性がある。したがって、カルマンフィルタ132は、以下の推定される時不変システムについて解釈され得る。
【数13】
【0039】
いくつかの実施形態では、カルマンフィルタ132は、出力の測定値、ノードまたはプロセスのyV,i(t)、および正規の、手つかずの入力命令ui(t)を使用して構築され得る。プロセスが正しく較正されている場合、ステーション108またはノードの入力/出力センサー測定値は、ゼロ平均ノイズを有するはずである。しかし、悪意のあるサイバー攻撃の場合、ゼロ以外のバイアスが発生する。
【0040】
いくつかの実施形態では、カルマンフィルタ132は、以下のように解釈され得る。
【数14】
プロセスノードのk番目のサンプルiの場合、
【数15】
は測定更新表記であり得、Σi,kは状態予測の共分散、Riは入力ノイズεtの共分散、Ki,kはカルマンゲインであり得る。サンプルが十分に大きい場合、イノベーション分布
【数16】

【数17】
である必要がある。しかし、悪意のあるサイバー攻撃では、
【数18】
であるが、これは最小限のサンプル内で自然に発生する可能性がある。サンプル閾値がk>kminに達する場合、
【数19】
に対して警報が確立される。ここで、γiはプロセスノード用に調整される。イノベーションエラーがゼロ以外であり、閾値γiを超えている場合、エラー検出モジュール130は、悪意のあるサイバー攻撃が発生している可能性があるかどうかを決定し得る。
【0041】
図2は、例示的な実施形態による、カルマンフィルタ132を実装する単一入力、単一出力システム(以下、「システム200」)のアーキテクチャを示すブロック図である。
【0042】
示されるように、システム200は、コントローラ202(例えば、C(s))、プラント204(例えば、G(s))、測定部206(例えば、H(s))、攻撃208(例えば、A(s))、およびカルマンフィルタ132(例えば、KF)を含み得る。いくつかの実施形態では、システム200は、第2のコントローラ202を含み得る。いくつかの実施形態では、コントローラ202、プラント204、および測定部206は、ノード制御の基本的な構成を表すことができ、一方、カルマンフィルタ132は、イノベーションエラーを生成した。
【0043】
図2に示されるようないくつかの実施形態では、ツインコントローラは、カルマンフィルタ132の偏りのない基準として使用され得る。
【0044】
図1に戻って参照すると、いくつかの実施形態では、エラー検出モジュール130は、オートエンコーダ134を使用して、サイバー攻撃に対応する異常を検出することができる。測定された出力
【数20】
のシーケンスの場合、教師なしオートエンコーダトレーニングをインスタンス化して、出力観測のエントロピーを以下のようなパラメータセットθAEにマッピングできる。
【数21】
【0045】
いくつかの実施形態では、オートエンコーダ134のエラーは、以下のように定義され得る。
【数22】
また、
【数23】
の通常の動作では、ここで
【数24】
および
【数25】
は最尤法を使用した分布に適合する。続いて、シーケンスの異常スコアaiは、次のように定義できる。
【数26】
【0046】
カルマンフィルタ132と同様に、異常スコアai>γiの場合、エラー検出モジュール130は、オートエンコーダ134を使用して異常を検出することができる。
【0047】
図3は、いくつかの実施形態による、オートエンコーダ134を実装するシステム300のアーキテクチャを示すブロック図である。示されるように、システム300は、コントローラ302(例えば、C(s))、プラント304(例えば、G(s))、測定部306(例えば、H(s))、攻撃308(例えば、A(s))、オートエンコーダ134(例えば、AE)、および警報312(例えば、A)を含み得る。コントローラ302、プラント304、および測定部306は、ノード制御の基本的な構成を表すことができ、一方、オートエンコーダ344は、エラーを検出することができる。いくつかの実施形態では、エラー検出モジュール130は、十分な異常スコアに基づいて、警報312をトリガすることができる。
【0048】
図1に戻って参照すると、いくつかの実施形態では、エラー検出モジュール130は、1つまたは複数の深層強化学習技術を使用して、サイバー攻撃に対応する処理におけるエラーまたは異常を識別することができる。上記のように、損傷diの定義が与えられると、
【数27】
の損傷回復問題を、そのアクション
【数28】
(ただし、i=k+1,...,n、反復のあるセットj=1,...,mにわたる)を通じて解決するために一連の分布Pk+1,...,Pnを構築しようとする強化学習エージェントに対して遅延報酬関数を定式化できる:
【数29】
ただし、
【数30】
【0049】
いくつかの実施形態では、エラー検出モジュール130は、プロセスのi番目のノードのk番目のサンプルについて状態
【数31】
が与えられた場合に、1つのネットワークがアクションαi,kを生成することができるように、アクタークリティカルモダリティでエージェントをトレーニングすることができ、別のネットワークは、パラメータθQ,iで学習されたQ値
【数32】
の予測を生成し得、
【数33】
はパラメータθπ,iで学習したポリシーであり得る。いくつかの実施形態では、報酬は、以下のようなベルマン定式化を使用して計算することができる。
【数34】
【0050】
いくつかの実施形態では、強化学習技術に関連する更新法則は、以下であり得る。
【数35】
【0051】
いくつかの実施形態では、更新法則は、Q値を低減または最小化することができ、それによって損傷を最小化することができ、分布をその正規の形に戻すことを目的としたアクションに現れることができる。いくつかの実施形態において、アクションの1つの定式化は、以下であり得る。
【0052】
いくつかの実施形態において、アクションの定式化は、以下であり得る。
【数36】
ここで、ui,k
【数37】
および
【数38】
の入力になり得る。αi,kは命令修飾子であり、u* i,kはノードiの特定のサンプルkに対して読み取られた命令であり得る。この命令が破損していて、その破損が状態に現れた場合、ポリシーπi,kがそれを修正するように動作し得る。
【0053】
強化学習アプローチを利用することにより、エラー検出モジュール130は、プロセスベースの悪意のあるサイバー攻撃を名目上のプロセス変動にバンドルすることによってシステムセキュリティに対処する新しい方法を提供し得、それらの変動の直接制御および修正を提供する。アプローチは、単なる検出または受動的防止の方法ではない。むしろ、サイバー攻撃は、機械が標準から外れたり、原材料の在庫が厳密な仕様から外れたりするなど、日常的な(例えば、ありそうな)システムの変化として現れると想定され得る。
【0054】
図4は、いくつかの実施形態による、機械学習モジュール136を使用して強化学習アプローチを実装するシステム400のアーキテクチャを示すブロック図である。示されるように、システム400は、マルチノードシステム、i=0,…,Nを表すことができる。各ノードiに対して、コントローラ4020、4021、および402N(例えば、C0(s)、Ci(s),...CN(s))、プラント4040、404i、および404N(例えば、G0(s)、Gi(s)、GN(s))、および測定部4060、406i、および406N(例えば、H0(s)、Hi(s)、HN(s))が存在する場合がある。一緒に、ノードは、データストア408(例えば、Y)からサンプリングされた、時間k、Skでのシステム400の状態によって支配されるポリシー学習フィードバックループ、および現在の状態410を入力π(Sk)として取るポリシーに埋め込まれ得る。攻撃412は、単一のノードiについて、ブロックA(s)によって表され得る。
【0055】
いくつかの実施形態では、サイバー攻撃によって引き起こされるエラーを修正するために取るべきアクションのセットを識別するために、時間サンプルkの状態Skを非線形フィルタに入力することができ、その重みが、観測されたアーティファクトまたは構成要素が与えられた場合の、時間サンプルk+nのその後の損傷を最小化するように選択することができる。いくつかの実施形態では、フィルタの出力は、所定のプロセス設定値または制御値を変更するスカラーまたはベクトルであり得る。状態からアクションへの変換は、ポリシーと呼ばれる場合がある。
【0056】
図5は、例示的な実施形態による、製造プロセスへのサイバー攻撃を管理する方法500を示す流れ図である。方法500は、工程502として開始することができる。
【0057】
工程502において、制御モジュール106は、製造システム102のステーション108から制御値を受信することができる。いくつかの実施形態では、制御モジュール106は、所与のステーション108に関連付けられたプロセスコントローラから制御値を受信することができる。プロセスコントローラは、一般に、ステーション108の動作を制御するようにプログラムされ得る。例示的な制御値には、速度、温度、圧力、真空、回転、電流、電圧、電力、粘度、ステーションで使用される材料/資源、スループット率、停止時間、有害ガスなどが含まれ得るが、これらに限定されない。より一般的には、制御値は、ステーション108によって処理されている構成要素の属性ではなく、ステーション108の属性を指すことができる。
【0058】
工程504において、制御モジュール106は、ステーション108から受信した制御値に基づいて、サイバー攻撃が存在することを決定することができる。例えば、いくつかの実施形態では、エラー検出モジュール130は、カルマンフィルタ132を使用して、制御値が与えられた場合にステーション108の異常スコアを生成することができる。例えば、異常スコアが所定の閾値よりも大きい場合、制御モジュール106は、サイバー攻撃が現在進行中であるかどうかを決定することができる。別の例では、エラー検出モジュール130は、オートエンコーダ134を使用して、制御値が与えられた場合にステーション108の異常スコアを生成することができる。例えば、異常スコアが所定の閾値よりも大きい場合、制御モジュール106は、サイバー攻撃が現在進行中であるかどうかを決定することができる。別の例では、エラー検出モジュール130は、機械学習モジュール136を使用して、ステーション108に対応するQ値を予測することができる。例えば、Q値が許容値の範囲外である場合、制御モジュール106は、サイバー攻撃が現在進行中であるかどうかを決定することができる。
【0059】
いくつかの実施形態において、方法500は、工程506を含み得る。工程506で、サイバー攻撃が発生しているとの決定に応答して、制御モジュール106は、アラートまたは警報をトリガすることができる。いくつかの実施形態では、アラートまたは警報は、製造システム102を監督するユーザへの通知であり得る。いくつかの実施形態では、アラートまたは警報は、製造システム102の各ステーション1081~108nの処理をストップまたは停止する信号であり得る。
【0060】
いくつかの実施形態において、方法500は、工程508~510を含み得る。工程508で、サイバー攻撃が発生しているとの決定に応答して、制御モジュール106は、サイバー攻撃によって引き起こされた損傷を修正するための1つまたは複数のアクションを生成することができる。例えば、エラー検出モジュール130は、プロセスのi番目のノードのk番目のサンプルの状態
【数39】
が与えられた場合に、1つのネットワークがアクションαi,kを生成できるように、アクタークリティカルモダリティでエージェントをトレーニングでき、別のネットワークがQ値
【数40】
の予測を生成し得、パラメータθQ,iで学習する。ここで、
【数41】
はパラメータθπ,iで学習したポリシーであり得る。いくつかの実施形態では、報酬は、以下のようなベルマン定式化を使用して計算することができる。
【数42】
【0061】
いくつかの実施形態では、強化学習技術に関連する更新法則は、以下であり得る。
【数43】
【0062】
いくつかの実施形態では、更新法則は、Q値を低減または最小化し、それによって損傷を最小化し得、分布をその正規の形に戻すことを目的としたアクションに現れる可能性がある。いくつかの実施形態において、アクションの1つの定式化は、以下であり得る。
【0063】
いくつかの実施形態において、アクションの定式化は、以下であり得る。
【数44】
ここで、ui,k
【数45】
および
【数46】
の入力になり得る。αi,kは命令修飾子であり、u* i,kはノードiの特定のサンプルkに対して読み取られた命令であり得る。この命令が破損していて、その破損が状態に現れた場合、ポリシーπi,kがそれを修正するように動作する可能性がある。
【0064】
工程510において、制御モジュール106は、機械学習モジュール136によって生成された更新されたアクションを下流ステーション108に提供することができる。いくつかの実施形態では、制御モジュール106は、更新された命令を各下流ステーション108のプロセスコントローラに送信することができる。
【0065】
図6Aは、例示的な実施形態による、システムバスコンピューティングシステムアーキテクチャ600を示している。システム600の1つまたは複数の構成要素は、バス605を使用して互いに電気的に通信していてもよい。システム600は、プロセッサ(例えば、1つまたは複数のCPU、GPUまたは他のタイプのプロセッサ)610と、読み取り専用メモリ(ROM)620およびランダムアクセスメモリ(RAM)625などのシステムメモリ615を含む様々なシステム構成要素をプロセッサ610に結合するシステムバス605とを含み得る。システム600は、プロセッサ610に直接接続されているか、近接しているか、またはプロセッサ610の一部として統合されている高速メモリのキャッシュを含むことができる。システム600は、プロセッサ610による迅速なアクセスのために、メモリ615および/またはストレージデバイス630からキャッシュ612にデータをコピーすることができる。このようにして、キャッシュ612は、データを待機している間のプロセッサ610の遅延を回避する性能の向上を提供することができる。これらおよび他のモジュールは、プロセッサ610を制御するか、または制御して様々なアクションを実行するように構成することができる。他のシステムメモリ615も同様に使用可能であり得る。メモリ615は、異なる性能特性を備えた複数の異なるタイプのメモリを含み得る。プロセッサ610は、単一のプロセッサまたは複数のプロセッサを表すことができる。プロセッサ610は、プロセッサ610およびソフトウェア命令が実際のプロセッサ設計に組み込まれている専用プロセッサを制御するように構成された、ストレージデバイス630に記憶されたサービス1 632、サービス2 634、およびサービス3 636などの汎用プロセッサまたはハードウェアモジュールまたはソフトウェアモジュールのうちの1つまたは複数を含むことができる。プロセッサ610は、本質的に、複数のコアまたはプロセッサ、バス、メモリコントローラ、キャッシュなどを含む、完全に自己完結型のコンピューティングシステムであり得る。マルチコアプロセッサは、対称または非対称であり得る。
【0066】
コンピューティングデバイス600とのユーザ相互作用を可能にするために、入力デバイス645は、音声用のマイクロフォン、ジェスチャまたはグラフィック入力用のタッチセンシティブスクリーン、キーボード、マウス、モーション入力、音声などの任意の数の入力メカニズムであり得る。出力デバイス635はまた、当業者に知られているいくつかの出力機構のうちの1つまたは複数であり得る。場合によっては、マルチモーダルシステムは、ユーザがコンピューティングデバイス600と通信するために複数のタイプの入力を提供することを可能にすることができる。通信インターフェース640は、一般に、ユーザ入力およびシステム出力を運営および管理することができる。特定のハードウェア構成での動作に制限はない。したがって、ここでの基本機能は、開発時に改善されたハードウェアまたはファームウェア構成に簡単に置き換えることができる。
【0067】
ストレージデバイス630は、不揮発性メモリであり得るか、ハードディスクまたは、磁気カセット、フラッシュメモリカード、ソリッドステートメモリデバイス、デジタル多用途ディスク、カートリッジ、ランダムアクセスメモリ(RAM)625、読み取り専用メモリ(ROM)620、およびそれらのハイブリッドなどの、コンピュータによってアクセス可能なデータを記憶することができる他のタイプのコンピュータ可読媒体であり得る。
【0068】
ストレージデバイス630は、プロセッサ610を制御するためのサービス632、634、および636を含むことができる。他のハードウェアまたはソフトウェアモジュールが企図されている。ストレージデバイス630は、システムバス605に接続することができる。一態様では、特定の機能を実行するハードウェアモジュールは、機能を実行するために必要なハードウェア構成要素(プロセッサ610、バス605、ディスプレイ635など)に関連してコンピュータ可読媒体に記憶されたソフトウェア構成要素を含むことができる。
【0069】
図6Bは、例示的な実施形態による、チップセットアーキテクチャを有するコンピュータシステム650を示している。コンピュータシステム650は、開示された技術を実装するために使用することができるコンピュータハードウェア、ソフトウェア、およびファームウェアの一例であり得る。システム650は、識別された計算を実行するように構成されたソフトウェア、ファームウェア、およびハードウェアを実行することができる任意の数の物理的および/または論理的に異なるリソースを表す1つまたは複数のプロセッサ655を含むことができる。1つまたは複数のプロセッサ655は、1つまたは複数のプロセッサ655への入力および1つまたは複数のプロセッサ655からの出力を制御することができるチップセット660と通信することができる。この例では、チップセット660は、情報をディスプレイなどの出力665に出力し、例えば、磁気媒体および固体媒体を含むことができるストレージデバイス670に対して情報を読み書きすることができる。チップセット660は、RAM675との間でデータの読み取りと書き込みを行うこともできる。チップセット660とインターフェースするために、様々なユーザインターフェース構成要素685とインターフェースするためのブリッジ680を提供することができる。そのようなユーザインターフェース構成要素685は、キーボード、マイクロフォン、タッチ検出および処理回路、マウスなどのポインティングデバイスなどを含むことができる。一般に、システム650への入力は、機械によって生成された、および/または人間によって生成された、様々なソースのいずれかから来ることができる。
【0070】
チップセット660はまた、異なる物理的インターフェースを有することができる1つまたは複数の通信インターフェース690とインターフェースすることができる。このような通信インターフェースには、有線および無線のローカルエリアネットワーク、ブロードバンドワイヤレスネットワーク、およびパーソナルエリアネットワークのインターフェースを含めることができる。本明細書に開示されるGUIを生成、表示、および使用するための方法のいくつかの用途は、物理インターフェースを介して順序付けられたデータセットを受信することを含むことができ、またはストレージ670もしくは675に記憶されたデータを分析する1つもしくは複数のプロセッサ655によってマシン自体によって生成され得る。さらに、マシンは、ユーザインターフェース構成要素685を介してユーザから入力を受け取り、1つまたは複数のプロセッサ655を使用してこれらの入力を解釈することによってブラウジング機能などの適切な機能を実行することができる。
【0071】
例示的なシステム600および650は、複数のプロセッサ610を有することができるか、またはより大きな処理能力を提供するために一緒にネットワーク化されたコンピューティングデバイスのグループまたはクラスタの一部であり得ることが理解され得る。
【0072】
上記は本明細書に記載の実施形態に向けられているが、他のさらなる実施形態は、その基本的な範囲から逸脱することなく考案され得る。例えば、本開示の態様は、ハードウェアまたはソフトウェア、あるいはハードウェアとソフトウェアの組み合わせで実装され得る。本明細書で説明される一実施形態は、コンピュータシステムで使用するためのプログラム製品として実装され得る。プログラム製品のプログラムは、実施形態の機能(本明細書に記載の方法を含む)を定義し、様々なコンピュータ可読記憶媒体に含めることができる。例示的なコンピュータ可読記憶媒体には、以下が含まれるが、これらに限定されない。(i)情報が永続的に保存される書き込み不可能な記憶媒体(例えば、CD-ROMドライブによって読み取り可能なCD-ROMディスク、フラッシュメモリ、ROMチップ、または任意のタイプのソリッドステート不揮発性メモリなどのコンピュータ内の読み取り専用メモリ(ROM)デバイス)、(ii)変更可能な情報が記憶される書き込み可能な記憶媒体(例えば、ディスケットドライブもしくはハードディスクドライブ内のフロッピーディスク、または任意のタイプのソリッドステートランダムアクセスメモリ)。そのようなコンピュータ可読記憶媒体は、開示された実施形態の機能を指示するコンピュータ可読命令を運ぶ場合、本開示の実施形態である。
【0073】
前述の実施例は例示的なものであり、限定的ではないことが当業者には理解されよう。明細書を読み、図面を研究すると、それらに対するすべての順列、拡張、同等物、および改善が当業者に明らかであり、本開示の真の趣旨および範囲に含まれることが意図されている。したがって、以下の添付の特許請求の範囲には、これらの教示の真の趣旨と範囲に含まれるすべてのそのような修正、順列、および同等物が含まれることが意図されている。
図1
図2
図3
図4
図5
図6A
図6B
【国際調査報告】