JP2021026755A - 産業用コントローラのデータ完全性を保証するためのaiの使用 - Google Patents

産業用コントローラのデータ完全性を保証するためのaiの使用 Download PDF

Info

Publication number
JP2021026755A
JP2021026755A JP2020048946A JP2020048946A JP2021026755A JP 2021026755 A JP2021026755 A JP 2021026755A JP 2020048946 A JP2020048946 A JP 2020048946A JP 2020048946 A JP2020048946 A JP 2020048946A JP 2021026755 A JP2021026755 A JP 2021026755A
Authority
JP
Japan
Prior art keywords
streaming
value
plc
state
factory
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.)
Granted
Application number
JP2020048946A
Other languages
English (en)
Other versions
JP6961740B2 (ja
Inventor
アチャヤ ジョイディープ
Acharya Joydeep
アチャヤ ジョイディープ
ガウア スダンシュ
Gaur Sudhanshu
ガウア スダンシュ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of JP2021026755A publication Critical patent/JP2021026755A/ja
Application granted granted Critical
Publication of JP6961740B2 publication Critical patent/JP6961740B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/2832Specific tests of electronic circuits not provided for elsewhere
    • G01R31/2836Fault-finding or characterising
    • G01R31/2846Fault-finding or characterising using hard- or software simulation or using knowledge-based systems, e.g. expert systems, artificial intelligence or interactive algorithms
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/058Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4184Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by fault tolerance, reliability of production system
    • 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
    • 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
    • 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/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/84Arrangements for image or video recognition or understanding using pattern recognition or machine learning using probabilistic graphical models from image or video features, e.g. Markov models or Bayesian networks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/14Plc safety
    • G05B2219/14006Safety, monitoring in general
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/14Plc safety
    • G05B2219/14058Diagnostic, using expert, knowledge based system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/14Plc safety
    • G05B2219/14114Integrity, error detector, switch off controller, fail safe
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Virology (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Probability & Statistics with Applications (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • General Factory Administration (AREA)
  • Programmable Controllers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】産業用コントローラ内のデータ完全性を保証する人工知能(AI)の実装形態を提供すること。【解決手段】本明細書に記載された例示的な実装形態では、プログラマブルロジックコントローラ(PLC)データおよび外部センサデータの統計データを抽出するために、時系列機械学習の能力が使用される。時系列機械学習の正確性は、工場が入る可能性がある状態への時系列の製造コンテキスト依存のセグメント化によって改善される。本発明は、これらの時系列データ内の微妙な傾向を取り込むことができ、ICSセキュリティ攻撃から通常の例外および機械/センサ故障までのいくつかの結果にそれらを分類することができる。【選択図】図1

Description

本開示は、一般に、産業用コントローラに関し、より詳細には、産業用コントローラ内のデータ完全性を保証する人工知能(AI)の実装形態に関する。
産業用制御システム(ICS)を安全にすることは、それらが実行するミッションクリティカルな作業の安全性、信頼性、および可用性にとって非常に重要であり得る。これは、従来分離されていた操作技術(OT)とICSネットワークが情報技術(IT)ネットワークに収斂され、それによってセキュリティリスクが増大するときの、産業用モノのインターネット(IIoT)技術空間において重要であり得る。そのような攻撃の例は、イランの原子力発電所内のスタックスネット攻撃からウクライナの送電網に対する攻撃まで、ますます一般的になってきている。
これらの攻撃における一般的な方法は、プログラマブルロジックコントローラ(PLC)および/または監視制御データ取得(SCADA)システムのいずれかにおける脆弱性を活用することである。図1は、例示的な実装形態による、付加的なセンサを有するICSシステムの一例を示す。工場には、製造プロセスを実行する多数の機械101が存在する。各機械(または機械のグループ)の動作は、対応するコマンドを発行するPLC102によって制御される。そのような動作は、「ON」または「OFF」にすること、ベルトの直線速度、タービンの回転速度を上げること、ロボットアームのピックアンドプレース動作などであり得る。PLCはまた、温度、圧力、アセンブリラインに沿って移動する部品の数などの機械状態を表すセンサ情報を取り込む。これらのセンサは、PLCに取り付けられた内部センサであり、ICSネットワークの一部である。すべてのそのような値(センサおよびコマンド)は、PLC内部のレジスタ(それぞれ1021および1022)と呼ばれるメモリユニットに書き込まれる。1021からの機械コマンドは、1022の中のセンサ読取り値に影響を与えるはずである。たとえば、センサは、ONにするコマンドが適用された後に非ゼロのベルト速度を測定するはずである。
SCADAシステム104は、PLCをプログラムし(すなわち、PLCレジスタ1022に書き込まれるアクチュエータコマンド1032を発行し)、PLCが機械から得たデータを取得する(たとえば、PLCレジスタ1021からデータ1031を読み取る)ために使用することができる工場全体ソフトウェアシステムである。SCADAシステムは、(レジスタ1021および1022の内容に対応する)センサ/アクチュエータの値ペア105をそのヒューマンマシンインターフェース(HMI)106に渡し、そこで工場職員が可視化するために工場に関するすべての情報が表示される。たとえば、機械に何らかの機能不全が存在する場合、それは内部センサによって捕捉され、1021に書き込まれ、1031を経由してSCADAに伝達され、105を経由してHMIに表示されるはずであり、HMIは、次いで、工場職員が機能不全に気付き、次いで是正措置を取ることを可能にすることができる。
上記の状況は通常の作業モードを記載している。ICS攻撃またはセキュリティ侵害の間、悪意のある敵対者は、SCADAシステムおよびPLCシステムを危険にさらすことができる。悪意のある敵対者はシステムをハッキングすることができ、その結果、HMI106に表示された内容は、本当の機械状態(1021および1022)とは異なる。したがって、不正なコマンド1022によって引き起こされた何らかの機能不全が機械に存在する場合、その影響は1021によって捕捉されるはずであるが、いずれかの信号1031(またはより可能性が高い105)が破損し、したがって、HMIを見ている工場職員が問題について知ることにならないであろう。これにより、是正処置が遅延し、機能不全の機械が動作可能な状態を保ち、それにより、時間とともに、深刻な動作障害につながる可能性がある。そのような状況はスタックスネット攻撃において発生し、そこでは、不正なコマンド1022が通常よりも速く回転するように遠心分離機に指示したが、遠心分離機がより速く回転していることを示す正確なセンサ値1021がHMIに提供されなかった。
中核となる問題は、したがって、産業用コントローラのデータ完全性を保証すること、すなわち、SCADAのHMIに表示されたデータ(センサ、コマンド)が機械も観測しているデータであるかどうかを検出する方法である。上記の問題に対処する従来技術の多くのインスタンスが存在する。いくつかの従来技術の手法は、ITネットワークにおいて観測し、セキュリティ侵害の可能性がある異常な挙動を検出するために、冗長性、ネットワークトラフィック分析などの方法を導入しようと試みる。いくつかの従来技術の手法は、OT中心手法を取り、OTレイヤプロトコル、シグナリング、およびメッセージの深層検査によって攻撃シナリオを検出しようと試みる。しかしながら、いずれの手法も上述された侵害のタイプを完全に検出することができない。解決策の鍵は、すべてのソースがICS攻撃において危険にさらされているとは限らず、それらの合同分析が異常を見せる場合があるので、複数のデータソース(IT、OT、内部/外部センサ)を融合することである。
さらなる従来技術の手法は、位置データおよびネットワークデータなどのさらなるセンサ情報を使用するが、その使用事例は、多くが識別情報/アクセス管理および特定のタイプの悪意のある挙動に対してである。そのような従来技術の手法は、考えられる攻撃ベクトルを定義し、様々なシステムパラメータの潜在的な挙動を分析し、そのような挙動を検出しようと試みる。別の従来技術の手法は、PLCデータをICSシステムの一部ではない外部センサS101、S102、S103、S104、S105、およびS106と関連付ける。そのようなセンサの測定値は、不正な挙動および異常を示す可能性がある。たとえば、外部センサS102は、内部センサ値1021と同じデータ(または関連付けられたデータ)を測定している可能性がある。ICS侵害の場合、外部センサは影響を受けない。センサ値1021は、ICS侵害に起因してHMIに正しく反映(105)されない可能性があるが、次いで、105内の報告値とS102は異なるはずであり、それにより、異常な挙動が指摘される。
見込みはあるが、そのような従来技術の方法は以下の理由で包括的ではない。
1.工場システムの挙動は複雑であり、任意の瞬間(または時間期間)に生のセンサ値1021とS102を比較することによって異常を検出することは不可能である。異常は、複雑に、経時的に値の明らかなパターンなしに現れる可能性がある。
2.同じ量1021を正確に測定する外部センサS102が存在しない可能性が高い。最良のケースシナリオは、確率的な意味で強い相関関係を特定することを含む。そうである場合、生の値を比較することはもはや役に立たない。
3.センサ測定値は雑音が多く、かつ/またはセンサは故障する可能性があり、したがって、1021とS102の値がなぜ一致しないかに関して、他のセキュリティに関連しない理由が多く存在する可能性がある。
本開示では、例示的な実装形態はデータ完全性問題を解決する手法を含み、その手法は、上述された問題を扱うのに十分な能力があるツールである、人工知能(AI)および時系列機械学習の能力を活用する。そのような技法は従来技術において研究されているが、工場向けの実際的なICSセキュリティ解決策は依然欠けており、したがって、本明細書に記載される例示的な実装形態は上記の解決策の欠如に対処する。
本開示の態様は方法を含み、方法は、工場の現在の作業条件から特定された工場の状態について、工場のネットワーク上のプログラマブルロジックコントローラ(PLC)からのストリーミングPLC値、およびネットワークの外部に接続された工場内のセンサからのストリーミング外部センサ値を受信することと、工場の状態に関連付けられた履歴PLC値および履歴センサ値と比較してストリーミングPLC値およびストリーミング外部センサ値に対する確率分析を行うことと、ストリーミングPLC値が状態についての予想内にあり、ストリーミング外部センサ値が状態についての予想内にないことを確率分析が示す場合、セキュリティインシデントの指示を提供することとを含むことができる。
本開示の態様は、プロセスを実行するための命令を記憶する非一時的コンピュータ可読媒体をさらに含み、命令は、工場の現在の作業条件から特定された工場の状態について、工場のネットワーク上のプログラマブルロジックコントローラ(PLC)からのストリーミングPLC値、およびネットワークの外部に接続された工場内のセンサからのストリーミング外部センサ値を受信することと、工場の状態に関連付けられた履歴PLC値および履歴センサ値と比較してストリーミングPLC値およびストリーミング外部センサ値に対する確率分析を行うことと、ストリーミングPLC値が状態についての予想内にあり、ストリーミング外部センサ値が状態についての予想内にないことを確率分析が示す場合、セキュリティインシデントの指示を提供することとを含む。
本開示の態様は、工場のネットワーク上の複数のプログラマブルロジックコントローラ(PLC)、およびネットワークの外部の管理装置に接続された複数のセンサを管理するように構成された管理装置をさらに含み、管理装置は、工場の現在の作業条件から特定された工場の状態について、PLCからのストリーミングPLC値、およびネットワークの外部に接続された工場内の複数のセンサからのストリーミング外部センサ値を受信することと、工場の状態に関連付けられた履歴PLC値および履歴センサ値と比較してストリーミングPLC値およびストリーミング外部センサ値に対する確率分析を行うことと、ストリーミングPLC値が状態についての予想内にあり、ストリーミング外部センサ値が状態についての予想内にないことを確率分析が示す場合、セキュリティインシデントの指示を提供することとを行うように構成されたプロセッサを含む。
本開示の態様はシステムを含み、システムは、工場の現在の作業条件から特定された工場の状態について、工場のネットワーク上のプログラマブルロジックコントローラ(PLC)からのストリーミングPLC値、およびネットワークの外部に接続された工場内のセンサからのストリーミング外部センサ値を受信するための手段と、工場の状態に関連付けられた履歴PLC値および履歴センサ値と比較してストリーミングPLC値およびストリーミング外部センサ値に対する確率分析を行うための手段と、ストリーミングPLC値が状態についての予想内にあり、ストリーミング外部センサ値が状態についての予想内にないことを確率分析が示す場合、セキュリティインシデントの指示を提供するための手段とを含むことができる。
例示的な実装形態による、付加的なセンサを有するICSシステムの一例を示す図である。 例示的な実装形態による、ICSシステム向けのAI実装形態の例示的なシステム図である。 例示的な実装形態による、グローバル外部変数の空間の一例を示す図である。 例示的な実装形態による、工場状態特定モジュールのための例示的なフローを示す図である。 例示的な実装形態による、signal_stateが受信されたときの工場状態特定モジュールのための例示的なフローを示す図である。 例示的な実装形態による、セキュリティ分析モジュールの一例を示す図である。 例示的な実装形態による、セキュリティ分析モジュールの訓練モジュールのための例示的なフロー図である。 例示的な実装形態による、セキュリティ分析モジュールのテストモジュールのためのフロー図である。 例示的な実装形態による、工場内の検知システムおよび制御システムの例示的なシステムアーキテクチャを示す図である。 例示的な実装形態による、例示的な管理情報を示す図である。 例示的な実装形態による、例示的な管理情報を示す図である。 例示的な実装形態における使用に適した例示的なコンピュータデバイスを有する例示的なコンピューティング環境を示す図である。
以下の発明を実施するための形態は、本出願の図および例示的な実装形態のさらなる詳細を提供する。明確にするために、図の間の冗長要素の参照番号および説明は省略される。説明全体にわたって使用される用語は例として提供され、限定するものではない。たとえば、「自動的」という用語の使用は、本出願の実装形態を実践する当業者の所望の実装形態に応じて、実装形態のいくつかの態様に対するユーザまたは管理者の制御を伴う、全自動または半自動の実装形態を含んでよい。選択はユーザインターフェースもしくは他の入力手段を介してユーザによって行うことができるか、または所望のアルゴリズムを介して実施することができる。本明細書に記載される例示的な実装形態は、単独または組合せで利用することができ、例示的な実装形態の機能は、所望の実装形態による任意の手段を介して実施することができる。
図2は、例示的な実装形態による、ICSシステム向けのAI実装形態の例示的なシステム図を示す。明確にするために、本開示は工場状態またはクラスの概念を使用する。本開示の工場状態およびクラスの定義では、工場はいくつかの可能な高レベル状態のうちの1つに存在することができ、各状態では、作業条件、労働条件、ならびにPLC値およびセンサ値の統計データが異なる。例は以下の通りである。
1.状態はアセンブリラインにおいて製造されている製品によって定義される。製品が製品Aから製品Bに変化した場合、状態も変化する。たとえば、新しい製品Bは製品Aよりも速く組み立てられる必要があり得る(たとえば、1分当たり製造される目標が高い部品)、それは、機械がより速く動作し、より多くの作業者が必要とされ得ることを意味する。この違いは、それによって新しい状態に対応する。
2.工場内でシフトが変わる時間の間は新しい状態である。この状態では、古いシフトからの作業者が去り、新しい作業者が入る。この時間の間に作業における何らかの中断があり、したがって、それは新しい状態として資格を得る。
3.所与の朝、多くの作業者が姿を見せないことを想定する。いくつかの機械は電源を切られる可能性があり、一部の製造は停止するか、または異なる機械に切り替えられる可能性がある。この条件が持続する時間の間は、新しい状態としてラベル付けすることができる。
4.重要な機械が壊れ、メンテナンスのためにオフラインになる必要がある。一部の製造は停止するか、または異なる機械に切り替えられる。この条件が持続する時間の間は、新しい状態としてラベル付けすることができる。
通常、状態は、新しい状態に切り替わる前にある時間期間の間持続する。いくつかの状態は、通常、規則的に(上記の例1および例2)、または不規則に(上記の例3および例4)後で再び繰り返し起こる。
提案されたシステムのブロック図が図2に示される。図2のシステムは以下の構成要素を有し、それらの高レベルの説明が本明細書に記載される。
(PLCまたは外部センサなどの)機械情報に関係しない工場内のすべての既存のデータソース201からその入力を取得する工場状態特定モジュール202が存在する。そのような既存のデータソース201は、所望の実装形態による、調達遅延、販売および操業の計画内の変更を示すエンタープライズリソースプランニング(ERP)システム、製造、作業現場条件、作業員の流れおよびその中の重要な変化を追跡する作業現場内のビデオ解析結果を示す生産実行システム(MES)などを含むことができる。PLCおよび外部センサなどの機械情報とは異なり、これらのデータソースの値は短い時間の間に著しく変化することはない。工場状態特定モジュール202は工場状態を計算し、接続203を介してセキュリティ分析モジュール204にこの情報を渡す。セキュリティ分析モジュール204は、PLC値205を記憶し、外部センサ値206を記憶するストリーミングデータベースにアタッチし、セキュリティ分析モジュール204は、それらの両方からのデータにアクセスすることができる。セキュリティ分析モジュール204は、これら3つのタイプの情報に基づいてセキュリティ分析を実行し、工場状態特定モジュール202に結果を返す。この結果は、Signal_State207と呼ばれるデータ構造にカプセル化される。
図3は、例示的な実装形態による、グローバル外部変数の空間の一例を示す。具体的には、図3はすべての可能な状態の空間Eの概念図を示す。この空間Eは、201におけるデータソースのすべての可能な結果の空間でもある。特定の状態(たとえば、2011、2012、2013)はEのサブセットである。これらのいくつかの状態は重複する場合がある(たとえば、例3および例4において与えられた2つの状態は、機械の電源が切られるという共通点を有し、これらは同じ機械の可能性がある。これらは状態E1およびE3の可能性がある)。したがって、有限の数の状態でなくてもよく、新しい状態が定義される必要があり得る。したがって、状態を定義する厳密な方法は存在しない。本開示では、状態は、したがって、定性的な方法で記載される。
図4は、例示的な実装形態による、工場状態特定モジュールのための例示的なフローを示す。工場状態特定モジュール202のフローは以下の通りであり得る。
2021において、モジュールは状態またはクラスのセットE〜Eを初期化する。状態またはクラスのこのセットは、人間(工場職員)の入力に基づくか、またはそうでない場合所望の実装形態に応じることができる。モジュールは、将来の参照を容易にするために状態ごとに数字ラベルS〜Sを割り当てる。2022において、モジュールは機械情報に関係しない現在のデータソースの値を取得する。これをeと呼ぶ。2023において、モジュールは、この値がE〜Eの間の既知の状態に対応するかどうか、またはこれらの状態のうちの1つに非常に近いかどうかをチェックする。「チェック」のこの動作は、所望の実装形態による定性的な判定(たとえば、設定されたしきい値以内、標準偏差などの確率分析)に基づくことができる。
変数eが既存の状態Eに対応するように見える場合(はい)、2025に進み、この変数を既存の状態Eに加える。この動作を実行するために、1組のあらかじめ定義された規則を利用することができ、状態は、所望の実装形態に基づいて、新しい変数が入ってくるときに状態を照合することができる。変数eが既存の状態とは非常に異なる条件を示す場合(いいえ)、プロセスは2024に進んで、新しい状態EK+1を形成する。所望の実装形態に応じて、このプロセスは、新しい状態を組み込むように人間の入力および検証を促すために、ユーザインターフェースを生成することができる。
図5は、例示的な実装形態による、signal_stateが受信されたときの工場状態特定モジュールのための例示的なフローを示す。工場状態特定モジュール202はまた、セキュリティ分析モジュール204からのフィードバックSignal_State203に基づいて、様々な機能を実行する。図5のフローは以下の通りである。
2025において、モジュールは信号signal_state207を受信し、2026において信号を処理してそのタイプを特定する。処理は、所望の実装形態に従ってsignal_stateを処理するように構築されたアルゴリズムに基づいて行うことができるか、またはユーザインターフェースを介して人間の解釈のために提供することができる。値が「センサをチェック」または「通常の例外」である場合、これは、機械との何らかの通常の作業上の問題が存在する(「通常の例外」)か、または外部センサが機能不全になっている(「センサをチェック」)ことを示す。この場合、プロセスは2028に進んで、そのような問題に対処するように工場内の関連作業チームに通知する。そのようなプロセスは、イベントのタイプに基づいて事前設定された指示を送ることを含むことができる。「センサをチェック」および「通常の例外」の定義は、セキュリティ分析モジュール204の機能に関して記載される。
値が「新しい状態」である場合、PLCおよび外部センサの統計データの組合せが前に記録されていない新しい状態の存在を検出したことを示すので、プロセスは2029に進む。その場合、モジュールは機械情報に関係しないデータソースに関する情報を含む現在の変数eを新しい状態として記憶する。
値が「ICS攻撃」である場合、プロセスは2027に進んで、それに応じた措置を講じる。
図6は、例示的な実装形態による、セキュリティ分析モジュール204の一例を示す。図6に示されたように、セキュリティ分析モジュール204は、2つのサブモジュール:訓練モジュール2041およびテストモジュール2042を含む。各モジュールのさらなる詳細は、図7および図8に関して記載される。
図7は、例示的な実装形態による、セキュリティ分析モジュールの訓練モジュールのための例示的なフロー図を示す。訓練モジュール2041は以下のフローを実行することができる。
20411において、モジュールは現在のクラスおよびラベルに関する情報を記憶する。20412において、モジュールはすべてのPLC変数を観測し、時系列P(t)を形成する。20411におけるプロセス内でクラスが変化した場合、プロセスはそのクラスのための新しい時系列を形成する。20413において、モジュールはすべての外部センサ変数を観測し、時系列Z(t)を形成する。20411におけるプロセス内でクラスが変化した場合、モジュールはそのクラスのための新しい時系列を形成する。
20414において、モジュールは、P(t)に対して(たとえば、当業者に知られている任意の方法に従って)標準時系列分析などの確率分析を行って、その確率表現PSnを取得する。これは、複数の変数の数学関数であり得る。モジュールラベルは、現在のクラスのラベルを用いて確率表現をラベル付けする。(同じクラスに対して)新しい時系列値が受信されるにつれて、モジュールはPSnの特性を更新し改善する。
20415において、モジュールは、Z(t)に対して標準時系列分析などの確率分析を行って、その確率表現ZSnを取得する。これは、複数の変数の数学関数であり得る。モジュールラベルは、現在のクラスのラベルを用いて確率表現をラベル付けする。(同じクラスに対して)新しい時系列値が受信されるにつれて、モジュールはZSnの特性を更新し改善する。
図8は、例示的な実装形態による、セキュリティ分析モジュールのテストモジュールのためのフロー図を示す。テストモジュール2042は以下のようにフローを実行するように構成される。
20421において、モジュールは現在のクラスおよびラベルに関する情報を記憶する。20422において、モジュールはすべてのPLC変数を観測し、時系列Pcurrent(t)を形成する。この分析は、アルゴリズムがウィンドウにわたってイベント(異常または攻撃)を検出しようと試みるので、短い時間ウィンドウまたはサブシーケンスの間に行われる。20423において、モジュールはすべての外部センサ変数を観測し、時系列Zcurrent(t)を形成する。この分析は、アルゴリズムがウィンドウにわたってイベント(異常または攻撃)を検出しようと試みるので、短い時間ウィンドウまたはサブシーケンスの間に行われる。20424において、モジュールは、Pcurrent(t)に対して(たとえば、当業者に知られている任意の方法に従って)標準時系列分析などの確率分析を行って、その確率表現PSnCurrentを取得する。これは、複数の変数の数学関数であり得る。モジュールラベルは、現在のクラスのラベルを用いて確率表現をラベル付けする。
20425において、モジュールは、Zcurrent(t)に対して(たとえば、当業者に知られている任意の方法に従って)標準時系列分析などの確率分析を行って、その確率表現ZSnCurrentを取得する。これは、複数の変数の数学関数であり得る。モジュールラベルは、現在のクラスのラベルを用いて確率表現をラベル付けする。
20426において、モジュールは、20424におけるプロセスからのPSnCurrentと20414におけるプロセスからのPSnとの間の(たとえば、当技術分野で知られている任意の所望の実装形態による確率的な意味の)距離を計算する。変数Pを定義する。距離が大きい(たとえば、所望の実装形態に従って設定されたしきい値を満たす)場合、モジュールはP=1を割り当て、そうでない場合、モジュールはP=0を割り当てる。このプロセスは、工場がある特定のクラスにあることが事前に想定されているとき、PLC変数の挙動に著しい統計的な違いが存在することを示す。
20427において、20425におけるプロセスからのZSnCurrentと20415におけるプロセスからのZSnとの間の(たとえば、当技術分野で知られている任意の所望の実装形態による確率的な意味の)距離を計算する。変数Zを定義する。距離が大きい(たとえば、所望の実装形態に従って設定されたしきい値を満たす)場合、モジュールはZ=1を割り当て、そうでない場合、モジュールはZ=0を割り当てる。このプロセスは、工場がある特定のクラスにあることが事前に想定されているとき、外部センサ変数の挙動に著しい統計的な違いが存在することを示す。
20428において、プロセスは以下の動作を実行する。
a. P=0およびZ=0である場合、それは、PLCと外部センサの両方の予想される統計的な挙動が予想通りであることを意味する。これは通常のイベントである。モジュールは、それに応じて(たとえば、通常のイベントとして)signal_stateを割り当てる。
b. P=0およびZ=1である場合、それは、PLCの予想される統計的な挙動が予想通りであるが、外部センサの挙動は予想通りでないことを意味する。これは、PLC変数のデータ完全性に影響を与えるICS攻撃がSCADAに報告されていることを示す。モジュールは、それに応じて(たとえば、ICS攻撃として)signal_stateを割り当てる。
c. P=1およびZ=1である場合、それは、PLCと外部センサの両方の統計的な挙動が予想通りでないことを意味する。これは、(機械故障などの)通常の例外である可能性がある。システム状態の基本的な想定が正しくないことも考えられ、工場状態特定モジュール202において新しい状態が定義される必要がある。モジュールは、それに応じてsignal_state(たとえば、通常の例外またはヒューマンインターフェースを介したユーザ入力、もしくは所望の実装形態によるアルゴリズムプロセスによって決定された新しい状態)を割り当てる。
d. P=1およびZ=0である場合、それは、センサの予想される統計的な挙動が予想通りであるが、PLCセンサの挙動は予想通りでないことを意味する。前者によって捕捉されているべき機械イベントを後者が指し示し、したがって、外部センサにおける何らかの機能不全を意味することが最も可能性が高い。モジュールは、それに応じてsignal_state(たとえば、センサをチェック)を割り当てる。
本明細書に記載された例示的な実装形態は、それにより、工場が入ることができる様々な状態への時系列の製造コンテキスト依存のセグメント化を実現し、クラスごとに別個の数学的表現を見つけることができる。そのような例示的な実装形態は、このコンテキスト依存の知識が使用されなかったときのケースにわたって正確性を改善する。これは、確率関数を導出する(たとえば、当技術分野で知られている)時系列手法が、基本となる分布が静的である場合にうまくいくからであり、それは異なる状態の間のケースではない。さらに、例示的な実装形態は、PLCシーケンスおよび外部センサシーケンスを別々に使用して、20428におけるプロセスに示されたように、広範囲の結果を区別することを可能にする。
図9は、例示的な実装形態による、工場内の検知システムおよび制御システムの例示的なシステムアーキテクチャを示す。この例示的なシステムアーキテクチャでは、IoTゲートウェイ(GW)901は同期式に1つまたは複数のセンサ902からのデータ収集を制御し、サーバ900−2は、各々の対応する機械904−1、904−2、904−3と接続された1つまたは複数のPLC903を編成する。サーバ900−2は、各々の機械904−1、904−2、904−3の挙動を制御するだけでなく、同期式に各々の機械904−1、904−2、904−3の作業に関するPLC値を収集することもできる。したがって、図9に示された例示的なシステムでは、サーバ900−1は、センサ902およびPLC903から同期する値を取得する。そのような構成では、サーバ900−1は、IoT GW901およびPLC903を介してセンサを管理し、サーバ900−2を介して機械作業を管理するために、管理装置として動作する。
セキュリティを維持するために、工場自体のネットワークはサーバ900−2によって管理され、サーバ900−2は、基本となる機械904−1、904−2、904−3を制御するPLC903を管理する。サーバ900−2は、図10Aに示されたように工場ネットワークとは別個のネットワークを介してサーバ900−1からスケジュールを受信し、次いで、図10Aに記載されたスケジュールに従って作業を実行するように機械904−1、904−2、904−3を制御するようにPLC903に指示することができる。センサ902は機械904−1、904−2、904−3のうちの1つまたは複数と関連付けられ、セキュリティの理由で工場ネットワークとは別個であるネットワークに接続される。このネットワークはIoT GW901によって管理される。サーバ900−2は関連付けられたタイムスタンプを有するPLC値をサーバ900−1にストリーミングし、IoT GW901は関連付けられたタイムスタンプを有するセンサ値をサーバ900−1にストリーミングし、サーバ900−1はタイムスタンプに基づいてPLC値とセンサ値をそれに応じて同期する。
図10Aおよび図10Bは、例示的な実装形態による、例示的な管理情報を示す。具体的には、図10Aは、スケジュールされた時間期間、スケジュールされた時間期間の間に行われるべき作業、および行われるべき作業から導出される予想状態を含むことができる、工場の作業をスケジュールする一例を示す。図10Aの情報から、現在の作業条件は、それにより、現在時刻および現在時刻向けにスケジュールされた作業に基づいて、工場向けに決定することができる。図10Bは、履歴PLC値および履歴センサ値を用いて状態を管理する一例を示す。各々の前に測定された状態は、状態が検出されたときの工場に関与している作業とともに、対応する履歴PLC値および履歴センサ値と関連付けることができる。
図11は、図9のサーバ900−1または900−2などの、例示的な実装形態における使用に適した例示的なコンピュータデバイスを有する例示的なコンピューティング環境を示す。コンピューティング環境1100内のコンピュータデバイス1105は、1つもしくは複数の処理ユニット、コア、もしくはプロセッサ1110、メモリ1115(たとえば、RAM、ROM、など)、内部ストレージ1120(たとえば、磁気ストレージ、光ストレージ、半導体ストレージ、および/もしくは有機ストレージ)、ならびに/またはI/Oインターフェース1125を含むことができ、それらのうちのいずれも、情報を通信するための通信機構もしくはバス1130上で結合されるか、またはコンピュータデバイス1105に組み込むことができる。
コンピュータデバイス1105は、入力/ユーザインターフェース1135および出力デバイス/インターフェース1140に通信可能に結合することができる。入力/ユーザインターフェース1135および出力デバイス/インターフェース1140のうちのいずれか1つまたは両方は、有線またはワイヤレスのインターフェースであり得るし、着脱可能であり得る。入力/ユーザインターフェース1135は、物理または仮想の任意のデバイス、構成要素、センサ、またはインターフェースを含んでよく、それらは、入力(たとえば、ボタン、タッチスクリーンインターフェース、キーボード、ポインティング/カーソル制御、マイクロフォン、カメラ、点字、動きセンサ、光学リーダー、など)を提供するために使用することができる。出力デバイス/インターフェース1140は、ディスプレイ、テレビジョン、モニタ、プリンタ、スピーカ、点字などを含んでよい。いくつかの例示的な実装形態では、入力/ユーザインターフェース1135および出力デバイス/インターフェース1140は、コンピュータデバイス1105に組み込まれるか、または物理的に結合することができる。他の例示的な実装形態では、他のコンピュータデバイスが、コンピュータデバイス1105用の入力/ユーザインターフェース1135および出力デバイス/インターフェース1140として機能するか、またはそれらの機能を提供することができる。タッチスクリーンディスプレイ、テレビジョンディスプレイ、または任意の他の形態のディスプレイを含む例示的な実装形態では、ディスプレイはユーザインターフェースを提供するように構成される。
コンピュータデバイス1105の例には、限定はしないが、高度モバイルデバイス(たとえば、スマートフォン、車両および他の機械内のデバイス、人間および動物によって携行されるデバイスなど)、モバイルデバイス(たとえば、タブレット、ノートブック、ラップトップ、パーソナルコンピュータ、ポータブルテレビジョン、ラジオなど)、ならびに移動用に設計されていないデバイス(たとえば、デスクトップコンピュータ、他のコンピュータ、情報キオスク、1つもしくは複数のプロセッサが組み込まれており、かつ/または結合されているテレビジョン、ラジオなど)が含まれてよい。
コンピュータデバイス1105は、外部ストレージ1145、ならびに、任意の数のネットワーク化された構成要素、デバイス、および同じまたは異なる構成の1つまたは複数のコンピューティングデバイスを含むシステムと通信するためのネットワーク1150に、(たとえば、I/Oインターフェース1125を介して)通信可能に結合することができる。コンピュータデバイス1105または任意の接続されたコンピュータデバイスは、サーバ、クライアント、シンサーバ、汎用機械、専用機械、または別のラベルとして機能するか、それらのサービスを提供するか、またはそのように呼ぶことができる。
I/Oインターフェース1125には、限定はしないが、少なくともコンピューティング環境1100内のすべての接続された構成要素、デバイス、およびネットワークとの間で情報を通信するための、任意の通信またはI/Oのプロトコルまたは規格(たとえば、イーサネット(登録商標)、802.11x、ユニバーサルシステムバス、WiMAX、モデム、セルラーネットワークプロトコルなど)を使用する有線インターフェースおよび/またはワイヤレスインターフェースが含まれてよい。ネットワーク1150は、任意のネットワークまたはネットワークの組合せ(たとえば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、電話ネットワーク、セルラーネットワーク、衛星ネットワークなど)であり得る。
コンピュータデバイス1105は、一時的媒体および非一時的媒体を含む、コンピュータ使用可能媒体またはコンピュータ可読媒体を使用すること、および/または使用して通信することができる。一時的媒体には、伝送媒体(たとえば、メタルケーブル、光ファイバ)、信号、搬送波などが含まれる。非一時的媒体には、磁気媒体(たとえば、ディスクおよびテープ)、光学媒体(たとえば、CD ROM、デジタルビデオディスク、Blu−ray(登録商標)ディスク)、半導体媒体(たとえば、RAM、ROM、フラッシュメモリ、半導体ストレージ)、ならびに他の非一時的なストレージまたはメモリが含まれる。
コンピュータデバイス1105は、いくつかの例示的なコンピューティング環境において、技法、方法、アプリケーション、プロセス、またはコンピュータ実行可能命令を実装するために使用することができる。コンピュータ実行可能命令は、一時的媒体から取り出され、非一時的媒体に記憶され、非一時的媒体から取り出すことができる。実行可能命令は、任意のプログラミング言語、スクリプト言語、および機械語(たとえば、C、C++、C#、Java(登録商標)、Visual Basic、Python、Perl、JavaScript(登録商標)など)のうちの1つまたは複数に由来することができる。
プロセッサ1110は、ネイティブ環境または仮想環境において、任意のオペレーティングシステム(OS)(図示せず)の下で実行することができる。論理ユニット1160と、アプリケーションプログラミングインターフェース(API)ユニット1165と、入力ユニット1170と、出力ユニット1175と、様々なユニットが互いに、OSと、かつ他のアプリケーション(図示せず)と通信するためのユニット間通信機構1195とを含む、1つまたは複数のアプリケーションを配置することができる。記載されたユニットおよび要素は、設計、機能、構成、または実装において変更することができ、提供された説明に限定されない。プロセッサ1110は、メモリ1115からロードされた命令を実行するように構成された物理プロセッサまたは中央処理装置(CPU)の形態であり得る。
いくつかの例示的な実装形態では、情報または実行命令がAPIユニット1165によって受信されると、それは、1つまたは複数の他のユニット(たとえば、論理ユニット1160、入力ユニット1170、出力ユニット1175)に通信されてよい。場合によっては、論理ユニット1160は、上述されたいくつかの例示的な実装形態において、ユニットの間の情報フローを制御し、APIユニット1165、入力ユニット1170、出力ユニット1175によって提供されるサービスを指示するように構成されてよい。たとえば、1つまたは複数のプロセスまたは実装形態のフローは、論理ユニット1160単独により、またはAPIユニット1165と連携して制御されてよい。入力ユニット1170は、例示的な実装形態に記載された計算用の入力を取得するように構成されてよく、出力ユニット1175は、例示的な実装形態に記載された計算に基づいて出力を提供するように構成されてよい。
メモリ1115は、図10Aおよび図10Bに示された管理情報を記憶するように構成され、プロセッサ1110は、管理情報に基づいてサーバ900−1または900−2の機能を容易にするようにプロセスを実行するように構成される。たとえば、プロセッサ1110は、図10Aのスケジューリング情報をサーバ900−2に送信するか、または機械を制御してスケジュールに従って作業を行うように、PLC903に指示するように構成することができる。
プロセッサ1110は、図10Aの管理情報に基づいて工場の現在の作業条件から特定された工場の状態について、図7および図9に示されたように、PLCからのストリーミングPLC値、およびネットワークの外部に接続された工場内の複数のセンサからのストリーミング外部センサ値を受信することと、図7および図8に示されたように、工場の状態に関連付けられた履歴PLC値および履歴センサ値と比較してストリーミングPLC値およびストリーミング外部センサ値に対する確率分析を行うことと、ICS攻撃について図8の20428において示されたように、ストリーミングPLC値が状態についての予想内にあり、ストリーミング外部センサ値が状態についての予想内にないことを確率分析が示す場合、セキュリティインシデントの指示を提供することとを行うように構成することができる。指示を提供する例が図5の2027において示され、それは、警告を上げ、セキュリティインシデント応答用の事前設定された指示(たとえば、対応するPLCおよび機械の電源を切ることなど)を実行すること、ならびに所望の実装形態に従ってユーザインターフェース上で指示を提供することを含むことができる。そのような例示的な実装形態を通して、工場が正常に操業していることを取得されたPLC値が示すように見える場合でも、工場の現場に対するICS攻撃は管理装置によって検出することができる。
プロセッサ1110は、ストリーミングPLC値が状態についての予想内になく、ストリーミング外部センサ値が状態についての予想内にないことを確率分析が示す場合、新しい状態/通常の例外について図8の20428において示されたように、かつ図5の2026および2028において示されたように、新しい状態および工場イベントのうちの1つを検出するように構成することができる。
プロセッサ1110は、検出が新しい状態を示す場合、図5の2026および2029ならびに図10Bに示されたように、新しい状態についての履歴PLC値および履歴センサ値として、ストリーミングPLC値およびストリーミング外部センサ値を記憶するように構成することができる。
プロセッサ1110は、ストリーミングPLC値が状態についての予想内になく、ストリーミング外部センサ値が状態についての予想内にあることを確率分析が示す場合、図5の2026および2028において示されたように、かつセンサをチェックについて図8の20428において示されたように、センサ故障の指示を提供するように構成することができる。
プロセッサ1110は、図10Bに示された複数の状態から状態を選択するように構成することができ、各状態は対応する履歴センサ値および履歴PLC値と関連付けられ、図8に示された工場の動作と関連付けられる。
図9の例示的なシステムおよび図11に記載された例示的な実装形態を通して、管理装置は、工場の工場ネットワーク上のPLC/機械システムとは別個のネットワーク上のセンサシステムを管理し、ストリーミングPLC値およびセンサ値に基づいて工場で発生しているICS攻撃を検出することができ、それにより、工場の現場のためのセキュリティが改善される。
発明を実施するための形態のいくつかの部分は、コンピュータ内の演算のアルゴリズムおよびシンボル表現の観点から提示される。これらのアルゴリズム記述およびシンボル表現は、データ処理技術分野の当業者により、他の当業者に自分の新機軸の本質を伝達するために使用される手段である。アルゴリズムは、所望の最終状態または結果につながる一連の定義されたステップである。例示的な実装形態では、実行されるステップは、有形の結果を実現するための有形の量の物理操作を必要とする。
説明から明白であると別段に明記されていない限り、説明全体にわたって、「処理」、「計算」、「算出」、「決定」、「表示」などの用語を利用する説明は、コンピュータシステムのレジスタおよびメモリ内の物理(電子)量として表されるデータを操作し、コンピュータシステムのメモリもしくはレジスタ、または他の情報を記憶、送信、もしくは表示するデバイス内の物理量と同様に表される他のデータに変換する、コンピュータシステムまたは他の情報処理デバイスの動作およびプロセスを含むことができることが諒解される。
例示的な実装形態はまた、本明細書において動作を実行するための装置に関係する場合がある。この装置は、必要な目的のために特別に構築されてよいか、または1つもしくは複数のコンピュータプログラムによって、選択的にアクティブ化もしくは再構成された1つもしくは複数の汎用コンピュータを含んでよい。そのようなコンピュータプログラムは、コンピュータ可読記憶媒体またはコンピュータ可読信号媒体などのコンピュータ可読媒体に記憶されてよい。コンピュータ可読記憶媒体は、限定はしないが、光ディスク、磁気ディスク、読取り専用メモリ、ランダムアクセスメモリ、半導体デバイスおよびドライブ、または電子情報を記憶するのに適した任意の他のタイプの有形もしくは非一時的媒体などの有形媒体を含んでよい。コンピュータ可読信号媒体は、搬送波などの媒体を含んでよい。本明細書に提示されたアルゴリズムおよびディスプレイは、任意の特定のコンピュータまたは他の装置に本来関係しない。コンピュータプログラムは、所望の実装形態の動作を実行する命令を含む純粋なソフトウェア実装形態を含むことができる。
様々な汎用システムは、本明細書における例によるプログラムおよびモジュールとともに使用されてよいか、または所望の方法ステップを実行するためにより特化した装置を構築することが好都合であると証明することができる。加えて、例示的な実装形態は、いかなる特定のプログラミング言語も参照して記載されていない。本明細書に記載された例示的な実装形態の教示を実装するために、様々なプログラミング言語が使用されてよいことが諒解されよう。プログラミング言語の指示は、1つまたは複数の処理デバイス、たとえば、中央処理装置(CPU)、プロセッサ、またはコントローラによって実行されてよい。
当技術分野で知られているように、上述された動作は、ハードウェア、ソフトウェア、またはソフトウェアとハードウェアの何らかの組合せによって実行することができる。例示的な実装形態の様々な態様は、回路および論理デバイス(ハードウェア)を使用して実装されてよいが、他の態様は、機械可読媒体に記憶された命令(ソフトウェア)を使用して実装されてよく、命令は、プロセッサによって実行された場合、本出願の実装形態を実行するようにプロセッサに方法を実行させる。さらに、本出願のいくつかの例示的な実装形態は、ハードウェアにおいてのみ実行されてよいが、他の例示的な実装形態は、ソフトウェアにおいてのみ実行されてよい。その上、記載された様々な機能は、単一のユニットにおいて実行することができるか、または任意の数の方法でいくつかの構成要素にわたって分散することができる。ソフトウェアによって実行されるとき、方法は、コンピュータ可読媒体に記憶された命令に基づいて、汎用コンピュータなどのプロセッサによって実行されてよい。必要な場合、命令は、圧縮および/または暗号化されたフォーマットで媒体に記憶することができる。
その上、本出願の明細書の考察および教示の実践から、本出願の他の実装形態が当業者には明らかであろう。記載された例示的な実装形態の様々な態様および/または構成要素は、単独または任意の組合せで使用されてよい。明細書および例示的な実装形態は例にすぎないと見なされ、本出願の真の範囲および趣旨は、以下の特許請求の範囲によって示されることが意図されている。
101 機械
102 PLC
1021 レジスタ
1022 レジスタ
1031 センサ値
1032 アクチュエータコマンド
104 SCADAシステム
105 値ペア
106 ヒューマンマシンインターフェース(HMI)
201 データソース
202 工場状態特定モジュール
203 接続
204 セキュリティ分析モジュール
205 PLC値
206 外部センサ値
207 Signal_State
2011 状態
2012 状態
2013 状態
2041 訓練モジュール
2042 テストモジュール
900−1 サーバ
900−2 サーバ
901 IoT GW
902 センサ
903 PLC
904−1 機械
904−2 機械
904−3 機械
1100 コンピューティング環境
1105 コンピュータデバイス
1110 プロセッサ
1115 メモリ
1120 内部ストレージ
1125 I/Oインターフェース
1130 バス
1135 入力/ユーザインターフェース
1140 出力デバイス/インターフェース
1145 外部ストレージ
1150 ネットワーク
1160 論理ユニット
1165 アプリケーションプログラミングインターフェース(API)ユニット
1170 入力ユニット
1175 出力ユニット
1195 ユニット間通信機構

Claims (15)

  1. 工場の現在の作業条件から特定された前記工場の状態について、
    前記工場のネットワーク上のプログラマブルロジックコントローラ(PLC)からのストリーミングPLC値、および前記ネットワークの外部に接続された前記工場内のセンサからのストリーミング外部センサ値を受信するステップと、
    前記工場の前記状態に関連付けられた履歴PLC値および履歴センサ値と比較して前記ストリーミングPLC値およびストリーミング外部センサ値に対する確率分析を行うステップと、
    前記ストリーミングPLC値が前記状態についての予想内にあり、前記ストリーミング外部センサ値が前記状態についての予想内にないことを前記確率分析が示す場合、セキュリティインシデントの指示を提供するステップと
    を含む、方法。
  2. 前記ストリーミングPLC値が前記状態についての予想内になく、前記ストリーミング外部センサ値が前記状態についての予想内にないことを前記確率分析が示す場合、新しい状態および工場イベントのうちの1つを検出するステップをさらに含む、請求項1に記載の方法。
  3. 前記検出が前記新しい状態を示す場合、前記新しい状態についての前記履歴PLC値および前記履歴センサ値として、前記ストリーミングPLC値および前記ストリーミング外部センサ値を記憶するステップをさらに含む、請求項2に記載の方法。
  4. 前記ストリーミングPLC値が前記状態についての予想内になく、前記ストリーミング外部センサ値が前記状態についての予想内にあることを前記確率分析が示す場合、センサ故障の指示を提供するステップをさらに含む、請求項1乃至3のうちのいずれか1項に記載の方法。
  5. 前記状態が複数の状態から選択され、各状態が対応する履歴センサ値および履歴PLC値と関連付けられ、前記工場の作業と関連付けられる、請求項1乃至4のうちのいずれか1項に記載の方法。
  6. 工場の現在の作業条件から特定された前記工場の状態について、
    前記工場のネットワーク上のプログラマブルロジックコントローラ(PLC)からのストリーミングPLC値、および前記ネットワークの外部に接続された前記工場内のセンサからのストリーミング外部センサ値を受信することと、
    前記工場の前記状態に関連付けられた履歴PLC値および履歴センサ値と比較して前記ストリーミングPLC値およびストリーミング外部センサ値に対する確率分析を行うことと、
    前記ストリーミングPLC値が前記状態についての予想内にあり、前記ストリーミング外部センサ値が前記状態についての予想内にないことを前記確率分析が示す場合、セキュリティインシデントの指示を提供することと
    をコンピュータに実行させるコンピュータプログラム。
  7. 前記ストリーミングPLC値が前記状態についての予想内になく、前記ストリーミング外部センサ値が前記状態についての予想内にないことを前記確率分析が示す場合、新しい状態および工場イベントのうちの1つを検出することをさらにコンピュータに実行させる請求項6に記載のコンピュータプログラム。
  8. 前記検出が前記新しい状態を示す場合、前記新しい状態についての前記履歴PLC値および前記履歴センサ値として、前記ストリーミングPLC値および前記ストリーミング外部センサ値を記憶することをさらにコンピュータに実行させる請求項7に記載のコンピュータプログラム。
  9. 前記ストリーミングPLC値が前記状態についての予想内になく、前記ストリーミング外部センサ値が前記状態についての予想内にあることを前記確率分析が示す場合、センサ故障の指示を提供することをさらにコンピュータに実行させる請求項6乃至8のうちのいずれか1項に記載のコンピュータプログラム。
  10. 前記状態が複数の状態から選択され、各状態が対応する履歴センサ値および履歴PLC値と関連付けられ、前記工場の作業と関連付けられる、請求項6乃至8のうちのいずれか1項に記載のコンピュータプログラム。
  11. 工場のネットワーク上の複数のプログラマブルロジックコントローラ(PLC)、および前記ネットワークの外部の管理装置に接続された複数のセンサを管理するように構成された管理装置であって、
    工場の現在の作業条件から特定された前記工場の状態について、
    前記PLCからのストリーミングPLC値、および前記ネットワークの外部に接続された前記工場内の前記複数のセンサからのストリーミング外部センサ値を受信することと、
    前記工場の前記状態に関連付けられた履歴PLC値および履歴センサ値と比較して前記ストリーミングPLC値およびストリーミング外部センサ値に対する確率分析を行うことと、
    前記ストリーミングPLC値が前記状態についての予想内にあり、前記ストリーミング外部センサ値が前記状態についての予想内にないことを前記確率分析が示す場合、セキュリティインシデントの指示を提供することと
    を行うように構成されたプロセッサ
    を備える、装置。
  12. 前記プロセッサが、前記ストリーミングPLC値が前記状態についての予想内になく、前記ストリーミング外部センサ値が前記状態についての予想内にないことを前記確率分析が示す場合、新しい状態および工場イベントのうちの1つを検出するようにさらに構成される、請求項11に記載の装置。
  13. 前記プロセッサが、前記検出が前記新しい状態を示す場合、前記新しい状態についての前記履歴PLC値および前記履歴センサ値として、前記ストリーミングPLC値および前記ストリーミング外部センサ値を記憶するようにさらに構成される、請求項12に記載の装置。
  14. 前記プロセッサが、前記ストリーミングPLC値が前記状態についての予想内になく、前記ストリーミング外部センサ値が前記状態についての予想内にあることを前記確率分析が示す場合、センサ故障の指示を提供するようにさらに構成される、請求項11乃至13のうちのいずれか1項に記載の装置。
  15. 前記状態が複数の状態から選択され、各状態が対応する履歴センサ値および履歴PLC値と関連付けられ、前記工場の作業と関連付けられる、請求項11乃至14のうちのいずれか1項に記載の装置。
JP2020048946A 2019-08-02 2020-03-19 産業用コントローラのデータ完全性を保証するためのaiの使用 Active JP6961740B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/530,448 2019-08-02
US16/530,448 US20210034031A1 (en) 2019-08-02 2019-08-02 Using ai for ensuring data integrity of industrial controllers

Publications (2)

Publication Number Publication Date
JP2021026755A true JP2021026755A (ja) 2021-02-22
JP6961740B2 JP6961740B2 (ja) 2021-11-05

Family

ID=69784060

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020048946A Active JP6961740B2 (ja) 2019-08-02 2020-03-19 産業用コントローラのデータ完全性を保証するためのaiの使用

Country Status (3)

Country Link
US (1) US20210034031A1 (ja)
EP (1) EP3771951B1 (ja)
JP (1) JP6961740B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220144206A (ko) * 2021-04-19 2022-10-26 재단법인대구경북과학기술원 시스템 상태 추정 장치 및 방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11878432B2 (en) * 2019-10-21 2024-01-23 Silicon Laboratories Inc. Low-cost robotics for placement of integrated circuit and method therefor
US11529742B2 (en) 2019-10-21 2022-12-20 Silicon Laboratories Inc. Control of low-cost robotics and method therefor
US11425100B2 (en) * 2020-07-16 2022-08-23 Bank Of America Corporation Optimization of redundant usage patterns based on historical data and security constraints
CN112872823B (zh) * 2021-03-08 2022-04-01 潍坊科技学院 一种薄板开平定长裁断的工业施工电控系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040216000A1 (en) * 2001-07-20 2004-10-28 Thomas Koehler Reconfiguration method for a sensor system comprising at least one set of observers for failure compensation and guaranteeing measured value quality
US20130116973A1 (en) * 2011-11-08 2013-05-09 General Electric Corporation Hyperthreaded analytics
US20150112640A1 (en) * 2013-10-22 2015-04-23 Nidec Avtron Automation Corporation Machine diagnostic encoder
WO2019011539A1 (de) * 2017-07-10 2019-01-17 Siemens Aktiengesellschaft Integritätsüberwachung bei automatisierungssystemen
JP2019518264A (ja) * 2016-03-23 2019-06-27 フォグホーン システムズ, インコーポレイテッドFoghorn Systems, Inc. リアルタイムデータフロープログラミングにおけるパターン駆動型反応の合成

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10108168B2 (en) * 2014-06-01 2018-10-23 Si-Ga Data Security (2014) Ltd. Industrial control system smart hardware monitoring
WO2018048351A1 (en) * 2016-09-07 2018-03-15 Singapore University Of Technology And Design Defense system and method against cyber-physical attacks
KR101915236B1 (ko) * 2016-11-24 2019-01-14 주식회사 한컴엠디에스 스마트 팩토리를 위한 통합 보안 관리 시스템
US10908602B2 (en) * 2017-08-02 2021-02-02 Strong Force Iot Portfolio 2016, Llc Systems and methods for network-sensitive data collection
EP3462260A1 (de) * 2017-09-29 2019-04-03 Siemens Aktiengesellschaft Verfahren und anordnung zur überwachung des zustands einer produktionseinrichtung
CN108280332B (zh) * 2017-12-15 2021-08-03 创新先进技术有限公司 移动终端的生物特征认证识别检测方法、装置和设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040216000A1 (en) * 2001-07-20 2004-10-28 Thomas Koehler Reconfiguration method for a sensor system comprising at least one set of observers for failure compensation and guaranteeing measured value quality
US20130116973A1 (en) * 2011-11-08 2013-05-09 General Electric Corporation Hyperthreaded analytics
US20150112640A1 (en) * 2013-10-22 2015-04-23 Nidec Avtron Automation Corporation Machine diagnostic encoder
JP2019518264A (ja) * 2016-03-23 2019-06-27 フォグホーン システムズ, インコーポレイテッドFoghorn Systems, Inc. リアルタイムデータフロープログラミングにおけるパターン駆動型反応の合成
WO2019011539A1 (de) * 2017-07-10 2019-01-17 Siemens Aktiengesellschaft Integritätsüberwachung bei automatisierungssystemen

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220144206A (ko) * 2021-04-19 2022-10-26 재단법인대구경북과학기술원 시스템 상태 추정 장치 및 방법
KR102543488B1 (ko) 2021-04-19 2023-06-13 재단법인대구경북과학기술원 시스템 상태 추정 장치 및 방법

Also Published As

Publication number Publication date
JP6961740B2 (ja) 2021-11-05
EP3771951A1 (en) 2021-02-03
EP3771951B1 (en) 2021-12-22
US20210034031A1 (en) 2021-02-04

Similar Documents

Publication Publication Date Title
JP6961740B2 (ja) 産業用コントローラのデータ完全性を保証するためのaiの使用
US9733626B2 (en) Method of monitoring an industrial process
US9971344B2 (en) Systems and methods for assessing a quality of an industrial enterprise
CN107835964B (zh) 控制情境化以及关于控制的推理
US11175976B2 (en) System and method of generating data for monitoring of a cyber-physical system for early determination of anomalies
CN111260176B (zh) 用于排除技术设施中的故障状况的方法和系统
EP3125172A1 (en) Data reliability analysis
EP4022405B1 (en) Systems and methods for enhancing data provenance by logging kernel-level events
US11150640B2 (en) Systems and methods for managing alerts associated with devices of a process control system
US20180122133A1 (en) System and method for displaying industrial asset alarms in a virtual environment
US11561525B2 (en) Flexible condition monitoring of industrial machines
US10235447B2 (en) Method and system for co-operative intelligent HMIs for effective process operations
EP3674828B1 (en) System and method of generating data for monitoring of a cyber-physical system for early determination of anomalies
Lazarova-Molnar et al. Reliability analysis of cyber-physical systems
KR20140056952A (ko) 이상 예측 평가 방법 및 시스템
US10649879B2 (en) Integration of diagnostic instrumentation with machine protection system
US20190130734A1 (en) Unified status and alarm management for operations, monitoring, and maintenance of legacy and modern control systems from common user interface
Urban et al. Collaborative Operations Using Process Alarm Monitoring
US20240160720A1 (en) Anomalous event aggregation for analysis and system response
US20220234202A1 (en) Systems and methods for manipulating control panels using robotic arms based on control system data analytics
Chakravarthi et al. Industrial IoT (IIoT) Design Methodology

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210427

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210617

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: 20211012

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211013

R150 Certificate of patent or registration of utility model

Ref document number: 6961740

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150