JP5756412B2 - 監視方法および監視システム - Google Patents
監視方法および監視システム Download PDFInfo
- Publication number
- JP5756412B2 JP5756412B2 JP2012003931A JP2012003931A JP5756412B2 JP 5756412 B2 JP5756412 B2 JP 5756412B2 JP 2012003931 A JP2012003931 A JP 2012003931A JP 2012003931 A JP2012003931 A JP 2012003931A JP 5756412 B2 JP5756412 B2 JP 5756412B2
- Authority
- JP
- Japan
- Prior art keywords
- control
- plc
- program
- control device
- user program
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2105—Dual mode as a secondary aspect
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Programmable Controllers (AREA)
- Testing And Monitoring For Control Systems (AREA)
Description
また、特許文献2にはデータを所定のデータ量に分割し、分割されたそれぞれのデータから認証データを生成し、この認証データに対して2項演算を行い、演算結果と期待値が一致するか否かで認証を行う電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラムが開示されている。
そして、特許文献4には、ユーザプログラムの命令のN周期前から現在までのすべての入力値データおよび出力値データを用いて、制御プログラムの命令実行結果データの表示を行うプロセス制御コントローラの故障解析支援システムが開示されている。
その他の解決手段は、実施形態中で適宜説明する。
(構成)
図1は、第1実施形態に係るPLC監視システムの構成図である。
制御装置監視システムであるPLC監視システム10は、制御装置であるPLC1(1a,1b)、管理装置である開発用PC(以下、単にPC2と称する)、HUB(機器)3、PI/O(Process Input/Output:機器)4、制御対象5を有している。
PLC1およびPC2については、詳細を後記する。
PLC監視システム10では、2重化構成となっているPLC1a,1bが、フィールドネットワーク7を介して、HUB3に接続している。ここで、後記するように、HUB3は、フィルタリングやネットワークの中継などを行う。ここでのフィルタリングは、後記するスレーブのPLC1から送信されたフレームはPI/O4へ通過させないが、後記するマスタのPLC1から送信されたフレームはPI/O4へ通過させるといった機能を指す。また、ネットワークの中継とはHUB3が一方のPLC1から受信した制御命令を、PI/O4へ送信するとともに、他方のPLC1にも送信する機能を指す。
PI/O4には機能の異なる複数デバイス(機器)が搭載されており、それぞれのデバイスは固有の機器番号によって管理されているものとする。PLC1は機器番号が指定されることでどのデバイスにもアクセスが可能である。
また、各PLC1には、ソフトウェアの更新やリモート制御を行うためのPC2がフィールドネットワーク6を介して接続されている。
前記の構成は制御システムとしては一般的な構成である。
図2は、第1実施形態に係るPLCのハードウェア構成例を示す図である。
PLC1は、メインメモリ110、CPU(Central Processing Unit)120、入力装置130、出力装置140、記憶装置150を有している。
メインメモリ110には、制御プログラム111、ユーザプログラム112、PI/Oドライバ113、マスタ権制御プログラム114、データ生成プログラム115、検証プログラム116などが展開され、CPU120によって実行されている。
制御プログラム111は、各プログラム112〜116を統括制御したり、監視プログラムテーブル151の更新を行ったりする。つまり、各プログラム112〜116は制御プログラム111上で実行されるプログラムである。制御プログラム111は、例えばOS(Operating System)などである。
PI/Oドライバ113は、PI/O4を制御するためのドライバである。PI/Oドライバ113はPI/O4宛の送信フレームを生成して送信する処理と、PI/O4からのフレームを受信する処理を行う。二重化構成のPLC1では、PI/O4からPLC1宛の送信フレームだけでなく、相手系PLC1が送信したPI/O4宛の送信フレーム、相手系PLC1から自系PLC1宛の送信フレームを処理できるようになっている。
マスタ権制御プログラム114は、マスタ権の切り替えを行う。なお、PC2がマスタ権の制御を行ったり、ユーザによる手動でのマスタ権の切り替えが行われる場合、PLC1におけるマスタ権制御プログラム114は省略可能である。
検証プログラム116は、データ生成プログラム115で生成された検証用データ251などを基に、PLC1がウィルスに感染しているか否かを検証するプログラムである。なお、検証がPC2で行われる場合、検証プログラム116は省略可能である。
また、記憶装置150には、後記する監視プログラムテーブル151が格納されている。
検証がPLC1で行われる場合、図3の検証用データ251が生成され、記憶装置150に保存されることがある。
なお、本ハードウェア構成はメインメモリ110と記憶装置150とを明示的に分離しているが、記憶装置150に格納される情報がメインメモリ上に存在しているような構成でも本実施形態は実現可能である。
図3は、第1実施形態に係るPCのハードウェア構成例を示す図である。
PC2は、メインメモリ210、CPU220、入力装置230、表示装置240、記憶装置250を有している。
メインメモリ210には、制御プログラム211、ダウンロードプログラム212、検証プログラム213などが展開され、CPU220によって実行されている。
制御プログラム211は、各プログラム212,213を統括制御する。つまり、各プログラム212,213は制御プログラム211上で実行されるプログラムである。制御プログラム211は、例えばOSなどである。
ダウンロードプログラム212は、記憶装置250に格納されているユーザプログラム112をPLC1へダウンロードする。
検証プログラム213は、PLC1から送られてきた検証用データ251などを基に、PLC1がウィルスに感染しているか否かを検証するプログラムである。なお、検証がPLC1で行われる場合、検証プログラム213は省略可能である。
また、記憶装置250には、ユーザによって開発されたユーザプログラム112と、PLC1から送信された検証用データ251などが格納されている。
検証用データ251はウィルス感染の疑いのあるユーザプログラム112に関する挙動を記録したデータである。詳細は後記するが、検証用データ251はPLC1にてユーザプログラム112の挙動を監視した結果である監視プログラムテーブル151から、PI/O4への出力値などの特定の情報を抽出したものである。検証用データ251の具体例は図10で後記する。
図4は、第1実施形態に係るPLC監視システムにおける情報の流れを示す図である。
ここで、PC2で格納されているユーザプログラム112がウィルスに感染しているものとする。なお、図4において、ウィルスに感染している機器をハッチングで示すこととする。
まず、ユーザプログラム112のダウンロード開始前に、PLC1aが一時停止し、各PLC1a,1bの制御プログラム111で実行されているマスタ権制御プログラム114が、マスタ権をPLC1aからPLC1bへ移す。
マスタ権の移動後、自身のソフトウェアの更新のため、PLC1の制御プログラム111は、PC2のダウンロードプログラム212と連携してPC2からPLC1aへユーザプログラム112のダウンロードを行う(S101)。このとき、ウィルスに感染しているユーザプログラム112がPLC1aにダウンロードされ、PLC1aがウィルスに感染する。
また、HUB3は各PLC1から送信されたフレームを別のPLC1へ転送する(S105、S106)。この動作は受信したフレームのマスタ識別子に関係なく、PLC1aからの受信フレームをPLC1bへ、PLC1bからの受信フレームをPLC1aへ送信する。
なお、HUB3は前記したようなフィルタリング機能やネットワーク中継機能を有する装置であれば代用可能である。例えば、PLC1自身がマスタかスレーブかを判定して、マスタならばPI/O4と相手系PLC1に送信し、スレーブならば相手系PLC1にのみ転送するようにするようにしてもよい。あるいは、PLC1をHUB3に置き換えて、PLC1がフィルタリングやネットワーク中継をするプログラムを動作させてもよい。
そして、PC2は、PLC1aへユーザプログラム112を送信し(S201)、PLC1aは送信されたユーザプログラム112を受信する(S202)。このとき、PC2からPLC1aへウィルスが感染したとする。一方、PLC1bはダウンロードを行っていないため、ウィルスには感染していない。以降、PLC1aを「感染PLC」、PLC1bを「正常PLC」と適宜称することがある。
PC2からのダウンロード終了後、PLC1aが再起動されるが、ウィルスの検証処理が終了するまで、PLC1bがマスタ、PLC1aがスレーブのままとなるよう設定されている。
ウィルスがPLC1に感染した場合、PLC1内部のメモリやストレージの破壊、他の制御装置への感染なども脅威となるが、最も脅威となる挙動は、制御対象5(図1)への不正な操作である。PLC1が制御する制御対象5は、発電プラントなどの、誤動作による影響が大きいものが含まれるため、制御対象5の不正な操作は最優先で防止すべきである。
PLC1が制御対象5の操作を行うには、PI/O4を操作する必要がある。そのため、本実施形態の構成においては、ウィルスに感染したPLC1aが不正な制御命令をPI/O4に発行して、そのPI/O4がその制御命令を実行して不正な出力を制御対象5に発することを防止する必要がある。
一方、PLC1bはマスタとなっているので、PLC1bのユーザプログラム112がHUB3を経由してPI/O4へ制御対象5を制御するための制御命令Aをフレームとして送信する(S203)。
HUB3は、送信された制御命令AをPI/O4とPLC1aへ転送する(S204)。
PI/O4は、HUB3から送信された制御命令Aを実行して(S205)、制御対象5(図1)を制御する。
なお、検証処理の結果、PLC1aによって、PLC1bがウィルスに感染している疑いがあると判定された場合のみ、PLC1aは、PLC1bがウィルスに感染している疑いがある旨の警告をPC2へ送信するようにしてもよい。
このとき、HUB3は、そのフレームがスレーブからのフレーム送信であることを判別し、PI/O4には送信しない。
一方、HUB3は、PLC1aから受信したフレームをPLC1bへ転送する(S211)。
(1)スレーブが自分自身をスレーブとして認識して、スレーブのソフトウェアが制御命令をPI/O4に発行しないようにする。
(2)PI/O4がマスタ・スレーブの両方から制御命令を受信しても、マスタからの制御命令のみを実行するようにする。
(3)制御命令などが含まれているフレームが、送信元がマスタであることを示すマスタ識別子を有しており、HUB3は、このマスタ識別子を有するフレームのみをPI/O4へ送信する、などである。
また、マスタ識別の方法についても、マスタ識別子による方法に限定されない。HUB3やPI/O4にアドレスやノード番号を記憶する機能と、フレーム受信時に送信元の装置をチェックする機能を持たせることで、HUB3やPI/O4がフレームの送信元の装置を判定して、マスタからの受信フレームのみを送信・実行するようにすることもできる。マスタとスレーブの切り替え時には、PLC1がマスタ・スレーブ切替を通知する専用のフレームを送信して、HUB3やPI/O4に記憶されているマスタのアドレスやノード番号を変更するようにすればよい。
なお、検証処理の結果、PLC1bによって、PLC1aがウィルスに感染している疑いがあると判定された場合のみ、PLC1bは、PLC1aがウィルスに感染している疑いがある旨の警告をPC2へ送信するようにしてもよい。
こうすることで、制御対象5への、ウィルスの不正操作による影響を小さくすることができる。
図6におけるステップS301〜S306の処理は、図5のステップS201〜S206と同様であるため、説明を省略する。
HUB3経由で制御命令A(送信元:PLC1b)を受信したPLC1aは、受信した制御命令Aを基に、検証用データ251を作成する(S307)。この検証用データ251は、ユーザが視認して、異常の判別を行うためのデータである。
そして、PLC1aは検証用データ251をPC2へ送信し(S308)、PC2は、表示装置240に検証用データ251を表示する(S309)。ユーザは、検証用データ251がグラフ化されて表示装置204に表示されたものを目視して、PLC1bがウィルスに感染しているか否かを判別する。
HUB3から制御命令B(送信元:PLC1a)を受信したPLC1bは、受信した制御命令Bを基に、検証用データ251を作成する(S313)。
そして、PLC1bは検証用データ251をPC2へ送信し(S314)、PC2は、表示装置240に検証用データ251を表示する(S315)。ユーザは、検証用データ251がグラフ化されて表示装置204に表示されたものを目視して、PLC1aがウィルスに感染しているか否かを判別する。
図7は、第1実施形態に係るPLC監視システムに用いられるフレームのフォーマット例を示す図である。
フレームは、以下の構成を有している。
フレーム開始フラグはフレーム内の他の部分に現れないユニークなパターンを使用し、フレームの開始であることを示している。宛先アドレスはフレームの宛先となる物理アドレスを示す。送信元アドレスはフレームの送信元の物理アドレスを示す。マスタ識別子は、該当するフレームの送信元であるPLC1がマスタであるか否かを示し、マスタからのフレームであればHUB3がPI/O4にフレームを送信する。フレーム長はフレーム全体の長さを示す。送信データ本体は制御命令などの情報を格納している。フレームチェックシーケンスはフレーム開始フラグから送信データの終了までの間でビットの反転などの予期しない変異が発生したかどうかをチェックする誤り検出コードである。
フレーム発行時刻はフレームが生成・発行された時刻を示しており、フレームの到達時間の計算に使用される。機器番号はフレームの送信先であるPI/O4の番号を示す。図1などでは簡略化のためにPI/O4は1つしか図示していないが、PI/O4が複数存在する場合や、PI/O4以外の機器が接続されている場合は、各機器ごとに固有の機器番号をつけて管理する。コマンドはPI/O4を操作するためのコマンドである。たとえば入力データの読み込み、出力データの書み込みなどである。データサイズは、その後に続く制御データの全体のサイズである。制御データはコマンドで使用されるデータである。制御データは、出力命令をPI/O4に発行したときにPI/O4から制御対象5へ出力させる値などを格納する。一方、入力命令において、PLC1からPI/O4へ送信するとき、制御データは空になるが、PI/O4が制御対象5から得た入力値をPLC1へ返送するときに入力値が格納される。プログラムフラグは、後に続くプログラム情報が存在するか否かを示している。プログラム情報が、その後につづく場合はプログラムフラグを「有効」にする。プログラム情報は、このフレームの発行元であるユーザプログラム112に関する情報を格納する。
プログラム番号は、ユーザプログラム112それぞれに一意に決められた番号が格納される。ユーザプログラム112にはその実行単位ごとに管理できるように固有のプログラム番号が付与される。プログラム更新時刻はユーザプログラム112を更新した時刻が格納される。プログラムサイズはユーザプログラム112の全体サイズが格納される。プログラム情報としては他にも、プログラムのオブジェクトを原文としたメッセージダイジェスト値(ハッシュ値)なども考えられる。プログラムが更新されると、プログラム更新時刻、プログラムサイズ、メッセージダイジェスト値等も異なる値に更新される。
図8は、第1実施形態に係るPLCにおけるフレーム送信処理の詳細な手順を示すフローチャートである。この処理は、図5のステップS203、S210、図6におけるステップS303,S310のタイミングで行われる。
フィールドネットワーク7に送信されるフレームは、ユーザプログラム112がPI/O4を操作する制御命令を発行するときに作成・送信される。PI/O4を操作する制御命令を、PLC1に搭載されたソフトウェア(制御プログラム111)のシステムコールとして用意しておくことで、後記するように、ユーザプログラム112が制御命令をコールすると、ユーザプログラム112自身がコンテキストとして記憶装置150に退避された状態となる。この状態から、PLC1に搭載されたソフトウェア(制御プログラム111)は退避されたコンテキストの情報を取得することができる。PLC1上にて、制御命令を実行するPI/Oドライバ113を起動すると同時に、退避されたコンテキストから取得した情報から、呼び出し元のユーザプログラム112に関する情報(プログラム情報)をPI/Oドライバ113に渡してやれば、PI/Oドライバ113はそのプログラム情報をフレームに載せて送信することが可能である。そのフレームを受信した相手系のPLC1は受信したフレームのプログラム情報から、どのユーザプログラム112が発行した制御命令であるかが判別可能である。これにより、フレーム情報からユーザプログラム112を特定し、相手系のPLC1をユーザプログラム112単位で監視することができる。
次に、PLC1上の制御プログラム111が、それまで実行したいたユーザプログラム112の情報をコンテキストとして記憶装置150に退避させる(S352)。
そして、PLC1上の制御プログラム111が、退避されたコンテキストから情報を取得し(S353)、プログラム情報を作成する(S354)。
コンテキストとして退避される情報としては、ユーザプログラム112が実行していたメモリアドレスなどが含まれるので、制御プログラム111はコンテキストとして退避される情報から、例えば、ユーザプログラム112が実行していたメモリアドレスなどをユーザプログラム112の固有の番号(プログラム番号)とすることで、プログラム番号を決定することができる。同時に、ユーザプログラム112がPC2からPLC1にダウンロードされたときの時刻やサイズなどの情報が別のメインメモリ領域に保存してあれば、制御プログラム111はプログラム番号を検索することで、これらの情報を取得することができる。
そして、PLC1上のPI/Oドライバ113は、渡されたプログラム情報、および、実行された制御命令を取得して、取得したプログラム情報および制御命令を基にフレームを作成し(S357)、作成したフレームを送信する(S358)。このようにしてユーザプログラム112の情報を相手系のPLC1へ送信することができる。
そして、ユーザプログラム112は、制御処理を継続する(S361)。
図9は、第1実施形態に係るPLCにおけるフレーム受信後処理の手順を示すフローチャートである。この処理は、図5のステップS206,S207,S212,S213、図6のステップS306,S307,S312,S313のタイミングで行われる。
まず、PI/Oドライバ113が相手系のPLC1からのフレームを受信する(S401)。
すると、PLC1の制御プログラム111が監視プログラムテーブル151の更新処理を開始し(S402)、ユーザプログラム112に対して割込みを行い、実行中の処理を中断させる(S403)。
次に、PLC1の制御プログラム111はフレームのプログラム情報を取得し(S404)、取得したプログラム情報などを使用して監視プログラムテーブル151を更新する(S405)。ステップS405の詳細は図11で後記する。
監視プログラムテーブル151の更新が完了すると、制御プログラム111は更新処理を終了し(S406)、ユーザプログラム112の実行を再開させる(S407)。
そして、制御プログラム111は監視プログラムテーブル151のレコードを参照し(S410)、データ生成プログラム115が参照したレコードに格納されているデータを基に、監視対象となっているユーザプログラムの検証用データ251を作成し(S411)、検証プログラム116が、その検証データ251を基に検証を行う(S412)。このとき、図6に示すようにPC2で検証を行う場合、検証プログラム116は検証処理を行わずに、ステップS411の検証データ251の作成にとどめておき、その検証データ251をPC2へ送信するようにしてもよい。
そして、ステップS412の検証処理が完了すると、制御プログラム111は検証結果をPC2へ送信し、制御プログラム111は検証処理を終了し(S413)、ユーザプログラム112の実行を再開させる(S414)。
なお、ステップS408〜S414の処理は、一定時間間隔毎に周期的に行われる。
PLC1は、このようにして監視プログラムテーブル151を更新・参照して検証の処理を実施する。
検証用データ251の詳細を以下説明する。
検証の方法として、PLC1にあらかじめ検証パターンを設定してPLC1内部で検証する方法と、PC2にユーザプログラムの挙動をグラフ化するアプリケーションを用意してユーザプログラムの妥当性をユーザ自身が判断する方法とが考えられる。
検証用データ251は後記する監視プログラムテーブル151から、特定のユーザプログラム112が特定のアクションを行ったときのパラメータを格納したものである。図10の例は、監視プログラムテーブル151に記録されたユーザプログラム112が特定のPI/O4へ発行した出力値を、データ生成プログラム115が検証用データ251を数字の羅列(CSVファイルなど)として抽出して、PC2の表示装置240にグラフ化して表示した例を示している。
なお、図10において、縦軸がユーザプログラム112の出力値、横軸はユーザプログラム112におけるコマンドの実行回数を示している。
図11は、第1実施形態に係る監視プログラムテーブル更新処理の手順を示すフローチャートである。この処理は、図9のステップS405のタイミングで行われる。
監視プログラムテーブル151の作成・更新は以下のように行われる。相手系PLC1からの受信フレームから得た相手系のユーザプログラム112の情報と、自系のユーザプログラム112の情報とを比較する。相手系には存在するが自系には存在しない、あるいは相手系と自系とで同一プログラム番号でもユーザプログラム112の情報に相違がある場合は、そのプログラムの情報を監視プログラムテーブル151に登録する。一度監視プログラムテーブルに登録されたユーザプログラム112は、以後相手系から情報を受信するたびに監視プログラムテーブルへ情報を追加・更新する。このようにして、ユーザプログラム112は変更が行われたユーザプログラム112の挙動を監視プログラムテーブル151へ記録し続ける。
PLC1上の制御プログラム111は、相手系のPLC1からフレームを受信すると(S501)、受信したフレームの内容を取得し、フレームに格納されているプログラム番号と同じものを監視プログラムテーブル151の中から検索する(S502)。
ステップS503の結果、フレームに格納されているプログラム番号が監視プログラムテーブル151に、すでに登録されている場合(S503→Yes)、制御プログラム111はステップS510へ処理を進める。
ステップS503の結果、フレームに格納されているプログラム番号が監視プログラムテーブル151に登録されていない場合(S503→No)、制御プログラム111は、処理対象となっているプログラム番号と同一のプログラム番号が自PLC1において存在するか(ダウンロード済みか)否かを検索する(S504)。
制御プログラム111は、ステップS504における検索の結果、処理対象となっているプログラム番号に該当するユーザプログラム112が自PLC1にあるか否かを判定する(S505)。
ステップS505の結果、処理対象となっているプログラム番号に該当するユーザプログラム112が自PLC1にある場合(S505→Yes)、制御プログラム111は、ユーザプログラム112が変更されているかを検査するため、フレームの中からプログラム更新時刻(相手系のPLC1における更新時刻)とプログラムサイズを取得する(S506)。
続いて、制御プログラム111は取得した更新時刻およびプログラムサイズと、ステップS504で検索した自PLC1のユーザプログラム112における更新時刻およびプログラムサイズとを比較する(S507)。
ステップS508の結果、更新時刻およびプログラムサイズの少なくとも一方が異なる場合(S508→No)、ユーザプログラム112は変更されているとみなし、制御プログラム111はフレームに格納されているプログラム番号を監視プログラムテーブル151の新しいレコードとして追加する(S509)。
一方、ステップS508の結果、更新時刻およびプログラムサイズの双方が同じである場合(S508→Yes)、ユーザプログラム112は変更されていないとみなし、制御プログラム111は監視プログラムテーブル更新処理を終了する。
次に、制御プログラム111は、フレームに格納されているコマンドを取得して(S510)、そのコマンドが制御対象5に対して出力を実行するコマンド(出力コマンド)であるか否かを判定する(S511)。
ステップS511の結果、出力コマンドである場合(S511→Yes)、制御プログラム111は処理対象となっているコマンド、コマンドを発行したPI/O4の番号、そのコマンドを発行したときの制御データを監視プログラムテーブル151の該当するプログラム番号のレコードに追加登録する処理を行う(ステップS512)。
本実施形態では、出力コマンドのみが監視プログラムテーブル151に登録されている。なぜなら、ウィルスが制御対象5に対して望ましくない動作を行うことができるのは、出力コマンドに限られるためである。それ以外のコマンドでは制御対象5を操作するようなことはできないので、本実施形態では、監視プログラムテーブル151に登録していないが、出力コマンド以外のコマンドが監視プログラムテーブル151に登録されるようにしてもよい。例えば、PLC1のマスタ・スレーブの切替命令や、稼動中のPI/O4のデバイス停止・リセット命令、停止中のPI/O4デバイスの起動命令、PI/O4の設定変更命令などもPI/O4への操作になるので、これらの情報が監視プログラムテーブル151に登録されるようにするとよい。
図12は、第1実施形態に係る監視プログラムテーブルの構成例を示す図である。
PLC1あるいはPC2は、検証のため、ユーザプログラム112の挙動を監視するので、監視対象となるユーザプログラム112を監視プログラムテーブル151で管理する。図12に示すように、監視プログラムテーブル151には、監視するユーザプログラム112のプログラム番号、プログラム更新時刻、プログラムサイズ、コマンド、機器番号、制御データが格納されている。
監視プログラムテーブル151が作成されたら、ユーザの要求あるいは一定周期のタイマなどをトリガにして、データ生成プログラム115が検証用データ251を生成する。データ生成プログラム115が抽出するデータはユーザによって自由にカスタマイズすることが可能である。例えば、図10の例では、特定のユーザプログラム112が特定のPI/O4に出力命令を発行したときの出力値(制御データ)を抽出している。
第1実施形態によれば、二重化構成の一方のPLC1が検証を行ったり、検証用データ251を作成したりすることで、ウィルスに感染している疑いのある他方のPLC1をチェックすることができる。
このように、本実施形態によれば、多重化構成のPLC1のうちの1つにウィルスが潜伏していても、それを多重化構成の他のPLC1が検出することができるので、PLC1のセキュリティを向上させることができる。また、ダウンロードされたユーザプログラム112にウィルスが感染している可能性があるという、PLC1におけるウィルスの特性に着目し、ダウンロードしたユーザプログラム112と、ダウンロードを行っていないユーザプログラム112の挙動を検証する手法をとっているため、ウィルス対策パッチなどの場当たり的な対策よりも根本的な対策が可能となる。
ただし、ウィルスに感染しているユーザプログラム112が動作しない限り、相手系PLC1はそのユーザプログラム112の情報を取得できない。これにより、前記のマスタ・スレーブ切り替えの時点までウィルスに感染したユーザプログラム112が動作しないと、ウィルスが潜伏したPLC1がマスタとなり、ウィルスに感染したマスタが制御対象5を制御できてしまう恐れがある。そのような事態を避けるため、ダウンロード実行後には登録されたユーザプログラム112をすべて強制的に実行させるようにしておくことで、すべてのユーザプログラム112に対して検証処理を行うことが可能である。
ウィルスが潜伏しているときの挙動としては、ユーザプログラム112の更新時刻が他のユーザプログラム112の更新時刻と明らかに異なっている場合や、制御データ値が異常に大きいあるいは小さい場合、異常な周期で特定のデータを書き込んでいる場合、無効なコマンドを発行している場合などが考えられる。制御対象5によって正常な場合の挙動が異なり、正常な場合とウィルスが潜伏している場合の区別は難しいので、使用環境やそのときの状況に応じてユーザが、検証機能をカスタマイズできることが望ましい。
これまで第1実施形態では、ソフトウェア更新中にスレーブがウィルスに感染している場合を前提にしてきたが、次に稼動中にマスタがウィルスに感染した場合について説明する。
第1実施形態ではソフトウェアの更新中のスレーブに限定していたが、PLC1が稼動中にPC2とPLC1が通信を行う手段が存在していれば、ソフトウェア更新中以外でもPC2を経由して、マスタ・スレーブ両系のPLC1がウィルスに感染する可能性がある。
第1実施形態で説明したように、マスタ・スレーブともに相手系のプログラムの動作を検証する手段を備えているので、相手系が持っているユーザプログラム112の中で自系と異なっているものが存在していれば、PLC監視システム1は、異常を検出することが可能である。
そこで、第2実施形態では、スレーブがマスタから受信する同期化データの妥当性を検証し、妥当であれば同期化データを受け入れ、妥当ではない場合は警告をPC2に発行するようにする。
PLC1がマスタとスレーブでデータを同期化するタイミングは、PLC1が制御演算を実行し、その演算結果をデータ領域に格納するタイミングである。この制御演算のトリガとなるのは、PLC1が制御対象5から物理情報を取得するために、PI/O4へ入力要求を発行したときである。
入力要求Aを受信したHUB3は、その入力要求AをPI/O4およびPLC1b(スレーブ)へ転送し(S602)、PLC1bは入力要求Aを受信する(S603)。
PI/O4は入力要求Aを受信すると、その入力要求Aに従って制御対象5の制御を実行し(S604)、その応答である入力応答AをHUB3へ送信する(S605)。
一方、PLC1aは、PI/O4から入力応答Aを受信すると(S609)、ユーザプログラム112を用いて、PLC1bへ送信するための同期化データを作成する(S610)。
HUB3は、送信された同期化データをPLC1bへ転送する(S612)。
PLC1bは、PLC1aから送信された同期化データと、ステップS608で作成しておいた比較用データを比較する比較処理を行う(S613)。
そして、PLC1bは比較処理の結果(比較結果)をPC2へ送信し(S614)、比較結果を受信したPC2は、受信した比較結果を表示装置240に表示する(S615)。
また、図13では、スレーブが比較処理を行っているが、ウィルスに感染しているマスタで比較処理が行われてもよい。また、図13に示す処理は一定時間毎に行われる処理である。
なお、1つのユーザプログラム112の中で複数の入力要求を発行することも考えられる。その場合には、ユーザプログラム112内のどの命令に対応するかを特定できるように、入力要求を発行するごとにユーザプログラム112が分割されるか、入力要求ごとに枝番号が付与されて、入力要求が管理されてもよい。
第2実施形態によれば、マスタがウィルスに感染した状態で、制御対象5を制御する状態になっても、マスタがスレーブに送信する同期化データを利用することで、ウィルスの感染を検証することができる。また、ウィルス対策パッチなどの特別な対策が不要となる。
ここまで、PLC1が2つの2重系で、HUB3が接続されている場合について説明してきたが、それ以外の場合でもPLC1で検証を行うことが可能である。
図14は、第3実施形態に係るPLC監視システムにおける情報の流れを示す図である。
図14のPLC監視システム10aはPLC1(1A,1B,1C)が3つの3重系で、HUB3がなくPI/O4とPLC1(1A,1B,1C)のそれぞれが直接接続して通信を行う場合におけるPLC監視システム10aの構成例である。なお、図14において、図1と同様の構成要素については同一の符号を付して説明を省略する。
第1実施形態と同様に、PC2がウィルスに感染し、PLC1Aにウィルスがダウンロードされてしまった状態を例に説明する(ウィルスに感染した機器をハッチングで示す)。
制御命令が有効なものであるとき、PI/O4が制御対象5に出力を行う判断方法は、主に以下の2通りが考えられる。
(a)前記した実施形態と同様に、PLC1A〜1Cのうち、マスタ権を持っているPLC1の制御命令や、入力要求のみを有効な制御命令として認識する。
(b)3つ(あるいは複数)のPLC1A〜1Cからの制御命令や、入力要求をPI/O4がすべて受信し、3つのPLC1A〜1Cからの制御命令や、入力要求のうち2つ以上が同じ命令であれば、その制御命令や、入力要求を有効なものとして認識し、制御対象5へ出力する。つまり、PLC監視システム10aが多数決に従って有効な制御命令を判別する。そして、他の2つと異なる命令を発行したPLC1があればそれは何らかの原因(例えば、ウィルスに感染している)が考えられるので、ユーザは、そのPLC1を停止させるなどの対策を行う。なお、3つのPLC1A〜1Cから送信される制御命令や、入力要求は、同一種のユーザプログラムによる制御命令や、入力要求である。
同様に、PLC1B,1Cは、ステップS702,S703でPI/O4へ制御命令を送信し、PI/O4は、この制御命令を他のPLC1A〜1Cにも送信する点は同じである(S711,S712,S721,S722,S723)。
ここで、PLC1A,1B,1Cは受信した制御命令とそこに付与されたプログラム情報を基に、図3や、図4や、図7などで示した手順により検証を行ってもよい。
第3実施形態によれば、多重系PLCのうち1つがウィルスに感染していても他の健全なPLC1が検証を行うことができる。
特に、多数決を用いることで、ウィルスに対する迅速な対応が可能となる。
2 PC(管理装置)
3 HUB(機器)
4 PI/O(機器)
5 制御対象
6,7,8 フィールドネットワーク
10 PLC監視システム(制御装置監視システム)
110 PLCのメインメモリ
111 PLCの制御プログラム
112 ユーザプログラム(プログラム)
113 PI/Oドライバ
114 マスタ権制御プログラム
115 データ生成プログラム
116 PLCの検証プログラム
120 PLCのCPU
130 PLCの入力装置
140 出力装置
150 PLCの記憶装置
151 監視プログラムテーブル
210 PCのメインメモリ
211 PCの制御プログラム
212 ダウンロードプログラム
213 PCの検証プログラム
220 PCのCPU
230 PCの入力装置
240 表示装置
250 PCの記憶装置
251 検証用データ(動作検証用のデータ)
Claims (11)
- 制御対象を制御する制御装置の動作状態を監視する前記制御装置の監視方法であって、
複数の前記制御装置が設置されることで、前記制御装置は多重化されており、
各制御装置は、中継装置を介して、互いに接続されており、
前記中継装置は、一の制御装置から受信した制御情報を、他の制御装置へ転送し、
前記制御情報には、前記制御対象の制御に用いる制御データと、当該制御データの生成元となっているユーザプログラムの属性情報とが含まれており、
前記制御装置は、
前記中継装置を介して、自身とは別の制御装置から送信された前記制御情報に含まれる前記ユーザプログラムの属性情報を用いて、ウィルス検証に関する検証処理を行う
ことを特徴とする監視方法。 - 制御対象を制御する制御装置の動作状態を監視する前記制御装置の監視方法であって、
複数の前記制御装置が設置されることで、前記制御装置は多重化されており、
各制御装置は、中継装置を介して、互いに接続されているとともに、前記制御装置の管理を行う管理装置が各制御装置に接続されており、
前記中継装置は、一の制御装置から受信した制御情報を、他の制御装置へ転送し、
前記制御情報には、前記制御対象の制御に用いる制御データと、当該制御データの生成元となっているユーザプログラムの属性情報とが含まれており、
前記管理装置は、
各制御装置から送信された前記制御情報に含まれるユーザプログラムの属性情報を用いて、ウィルス検証に関する検証処理を行う
ことを特徴とする監視方法。 - 前記制御装置が、
前記検証処理の結果を、管理装置へ送信し、
前記管理装置が、
受信した前記検証処理の結果を表示装置に表示する
ことを特徴とする請求項1に記載の監視方法。 - 前記制御情報には、前記ユーザプログラムの出力値が含まれており、
前記制御装置は、
前記出力値を基に、前記検証処理を行う
ことを特徴とする請求項1から請求項3のいずれか一項に記載の監視方法。 - 前記制御装置は、
前記制御装置から前記制御対象へ送信される情報を、前記プログラム単位毎に格納し、
前記プログラム単位毎に格納されている情報を基に、前記検証処理を行う
ことを特徴とする請求項1から請求項4のいずれか一項に記載の監視方法。 - 制御対象を制御する制御装置の動作状態を監視する前記制御装置の監視方法であって、
複数の前記制御装置が設置されることで、前記制御装置は多重化されており、
前記多重化された制御装置は、少なくとも第1の制御装置および第2の制御装置を有しており、
各制御装置は、中継装置を介して、互いに接続されており、
前記第1の制御装置は、
前記第1の制御装置で実行されているユーザプログラムの属性情報を含み、前記第2の制御装置へ送信するための同期化データを作成し、
前記作成した同期化データを、前記中継装置へ送信し、
前記中継装置は、
前記同期化データを、前記第1の制御装置から前記第2の制御装置へ転送し、
前記第2の制御装置は、
前記第2の制御装置で実行されている前記ユーザプログラムと同様のユーザプログラムの属性情報を含む比較用データを作成し、
前記中継装置を介して、前記第1の制御装置から送信された同期化データに含まれているユーザプログラムの属性情報と、前記比較用データに含まれているユーザプログラムの属性情報とを比較することによって、前記第1の制御装置におけるウィルス検証に関する検証処理を行う
ことを特徴とする監視方法。 - 制御対象を制御する制御装置の動作状態を監視する前記制御装置の監視方法であって、
3つ以上の前記制御装置が設置されることで、前記制御装置は多重化されており、
各制御装置は、中継装置を介して、互いに接続されており、
前記中継装置は、一の制御装置から受信した制御情報を、他の制御装置へ転送し、
前記制御情報には、前記制御対象の制御に用いる制御データと、当該制御データの生成元となっているユーザプログラムの属性情報とが含まれており、
前記中継装置は、
それぞれの前記制御装置から、同一種のプログラムを用いた制御情報を取得すると、
前記取得した制御情報が一致していない場合、多数決に従って、多数の方の制御情報を正しい制御情報と判定し、
前記制御装置が、
前記中継装置を介して、自身とは別の制御装置から送信された前記制御情報に含まれる前記ユーザプログラムの属性情報を用いて、ウィルス検証に関する検証処理を行う
ことを特徴とする監視方法。 - 制御対象を制御する制御装置の動作状態を監視する前記制御装置の監視方法であって、
複数の前記制御装置が設置されることで、前記制御装置は多重化されており、
各制御装置は、中継装置を介して、互いに接続されており、
前記中継装置は、一の制御装置から受信した制御情報を、他の制御装置へ転送し、
前記制御情報には、前記制御対象の制御に用いる制御データと、当該制御データの生成元となっているユーザプログラムの属性情報とが含まれており、
前記中継装置は、
それぞれの前記制御装置が、前記制御対象へ、それぞれ有効な異なる制御を試みようとしていることを検知し、
前記それぞれの制御装置が、1つの制御対象へ、それぞれ有効な異なる制御を試みようとしていることを、前記それぞれの制御装置へ通知し、
前記制御装置は、
前記中継装置を介して、自身とは別の制御装置から送信された前記制御情報に含まれる前記ユーザプログラムの属性情報を用いて、ウィルス検証に関する検証処理を行う
ことを特徴とする監視方法。 - 制御対象を制御する制御装置の動作状態を監視する監視システムであって、
前記監視システムは、前記制御装置と、前記中継装置とを有しており、
複数の前記制御装置が設置されることで、前記制御装置は多重化されており、
各制御装置は、中継装置を介して、互いに接続されており、
前記中継装置は、一の制御装置から受信した制御情報を、他の制御装置へ転送し、
前記制御情報には、前記制御対象の制御に用いる制御データと、当該制御データの生成元となっているユーザプログラムの属性情報とが含まれており、
前記制御装置は、
前記中継装置を介して、自身とは別の制御装置から送信された前記制御情報に含まれる前記ユーザプログラムの属性情報を用いて、ウィルス検証に関する検証処理を行う
ことを特徴とする監視システム。 - 制御対象を制御する制御装置の動作状態を監視する監視システムであって、
前記監視システムは、前記制御装置と、前記中継装置とを有しており、
複数の前記制御装置が設置されることで、前記制御装置は多重化されており、
前記多重化された制御装置は、少なくとも第1の制御装置および第2の制御装置を有しており、
各制御装置は、中継装置を介して、互いに接続されており、
前記第1の制御装置は、
前記第1の制御装置で実行されているユーザプログラムの属性情報を含み、前記第2の制御装置へ送信するための同期化データを作成し、
前記作成した同期化データを、前記中継装置へ送信し、
前記中継装置は、
前記同期化データを、前記第1の制御装置から前記第2の制御装置へ転送し、
前記第2の制御装置は、
前記第1の制御装置で実行されている前記ユーザプログラムと同様のユーザプログラムの属性情報を含む比較用データを作成し、
前記中継装置を介して、前記第1の制御装置から送信された同期化データに含まれているユーザプログラムの属性情報と、前記比較用データに含まれているユーザプログラムの属性情報とを比較することによって、前記第1の制御装置におけるウィルス検証に関する検証処理を行う
ことを特徴とする監視システム。 - 制御対象を制御する制御装置の動作状態を監視する監視システムであって、
前記監視システムは、前記制御装置と、前記中継装置とを有しており、
3つ以上の前記制御装置が設置されることで、前記制御装置は多重化されており、
各制御装置は、中継装置を介して、互いに接続されており、
前記中継装置は、一の制御装置から受信した制御情報を、他の制御装置へ転送し、
前記制御情報には、前記制御対象の制御に用いる制御データと、当該制御データの生成元となっているユーザプログラムの属性情報とが含まれており、
前記中継装置は、
それぞれの前記制御装置から、同一種のプログラムを用いた制御情報を取得すると、
前記取得した制御情報が一致していない場合、多数決に従って、多数の方の制御情報を正しい制御情報と判定し、
前記制御装置が、
前記中継装置を介して、自身とは別の制御装置から送信された前記制御情報に含まれる前記ユーザプログラムの属性情報を用いて、ウィルス検証に関する検証処理を行う
ことを特徴とする監視システム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012003931A JP5756412B2 (ja) | 2012-01-12 | 2012-01-12 | 監視方法および監視システム |
CN201380005269.2A CN104054087A (zh) | 2012-01-12 | 2013-01-08 | 控制装置监控系统以及控制装置的监控方法 |
PCT/JP2013/050130 WO2013105554A1 (ja) | 2012-01-12 | 2013-01-08 | 制御装置監視システムおよび制御装置の監視方法 |
IN5825DEN2014 IN2014DN05825A (ja) | 2012-01-12 | 2013-01-08 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012003931A JP5756412B2 (ja) | 2012-01-12 | 2012-01-12 | 監視方法および監視システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013143077A JP2013143077A (ja) | 2013-07-22 |
JP5756412B2 true JP5756412B2 (ja) | 2015-07-29 |
Family
ID=48781501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012003931A Active JP5756412B2 (ja) | 2012-01-12 | 2012-01-12 | 監視方法および監視システム |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP5756412B2 (ja) |
CN (1) | CN104054087A (ja) |
IN (1) | IN2014DN05825A (ja) |
WO (1) | WO2013105554A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101705504B1 (ko) * | 2014-01-23 | 2017-02-09 | 미쓰비시덴키 가부시키가이샤 | 프로그래머블 컨트롤러 및 프로그래머블 컨트롤러 시스템 |
JP7028543B2 (ja) * | 2016-03-11 | 2022-03-02 | Necプラットフォームズ株式会社 | 通信システム |
EP3460946A4 (en) | 2016-05-16 | 2020-01-22 | Kabushiki Kaisha Toshiba | BATTERY CONTROL DEVICE, FAILURE DETECTION METHOD, AND PROGRAM |
JP2018133037A (ja) * | 2017-02-17 | 2018-08-23 | オムロン株式会社 | 制御装置 |
JP7030429B2 (ja) * | 2017-06-09 | 2022-03-07 | 三菱電機株式会社 | サーバ装置、監視システム、データ処理方法、およびデータ処理プログラム |
WO2019034971A1 (en) * | 2017-08-13 | 2019-02-21 | Si-Ga Data Security (2014) Ltd. | THREAT DETECTION SYSTEM FOR INDUSTRIAL CONTROL DEVICES |
JP7078889B2 (ja) * | 2018-01-22 | 2022-06-01 | オムロン株式会社 | 制御装置、制御方法、および制御プログラム |
JP7282195B2 (ja) * | 2019-03-05 | 2023-05-26 | シーメンス インダストリー ソフトウェア インコーポレイテッド | 組み込みソフトウェアアプリケーションのための機械学習ベースの異常検出 |
CN112560023A (zh) * | 2020-12-07 | 2021-03-26 | 广东电力通信科技有限公司 | 交互式数据采集方法、机器人、系统及计算机设备 |
CN112738224B (zh) | 2020-12-29 | 2022-06-10 | 浙江中控技术股份有限公司 | 一种支持触发式通信的数据处理系统和方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1063313A (ja) * | 1996-08-26 | 1998-03-06 | Meidensha Corp | プロセス制御相互監視方式 |
JPH10340103A (ja) * | 1997-06-09 | 1998-12-22 | East Japan Railway Co | フェールセーフ出力装置 |
JP2003091302A (ja) * | 2001-09-17 | 2003-03-28 | Toyoda Mach Works Ltd | 工作機械の制御システムにおける異常検出装置 |
JP4349011B2 (ja) * | 2003-06-27 | 2009-10-21 | 株式会社安川電機 | ベルトコンベアトラッキングデータ自動補正方法および装置 |
JP4668596B2 (ja) * | 2004-12-02 | 2011-04-13 | 株式会社エヌ・ティ・ティ・ドコモ | 通信端末、サーバ装置及び監視システム |
JP2006344086A (ja) * | 2005-06-10 | 2006-12-21 | Hitachi Ltd | データ照合装置,データ照合方法,データ制御装置及びデータ制御方法 |
US7873430B1 (en) * | 2006-06-14 | 2011-01-18 | Rockwell Automation Technologies, Inc. | System that can schedule operations that are performed on industrial control devices |
JP5261088B2 (ja) * | 2008-09-09 | 2013-08-14 | 富士通株式会社 | 不正操作検知回路、不正操作検知回路を備えた装置、及び不正操作検知方法 |
CN101697188A (zh) * | 2009-06-04 | 2010-04-21 | 中冶赛迪工程技术股份有限公司 | 一种plc程序保护方法、访问方法及其装置 |
JP5404463B2 (ja) * | 2010-02-12 | 2014-01-29 | 三菱電機株式会社 | 制御装置及び管理装置 |
-
2012
- 2012-01-12 JP JP2012003931A patent/JP5756412B2/ja active Active
-
2013
- 2013-01-08 IN IN5825DEN2014 patent/IN2014DN05825A/en unknown
- 2013-01-08 WO PCT/JP2013/050130 patent/WO2013105554A1/ja active Application Filing
- 2013-01-08 CN CN201380005269.2A patent/CN104054087A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2013143077A (ja) | 2013-07-22 |
CN104054087A (zh) | 2014-09-17 |
IN2014DN05825A (ja) | 2015-05-15 |
WO2013105554A1 (ja) | 2013-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5756412B2 (ja) | 監視方法および監視システム | |
JP6903529B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
CN109164780B (zh) | 一种基于边缘计算的工业现场设备控制方法、装置及系统 | |
US11995182B2 (en) | Baseboard management controller to perform security action based on digital signature comparison in response to trigger | |
CN108073816B (zh) | 信息处理装置 | |
KR100543268B1 (ko) | 컴퓨터 시스템의 보안성을 향상시키는 보안용 코프로세서 | |
KR101799366B1 (ko) | 다이나믹 보안모듈 서버장치 및 그 구동방법 | |
JP2008158899A (ja) | デバイス制御装置 | |
TWI678615B (zh) | 在資料處理裝置中進行除錯 | |
US11436324B2 (en) | Monitoring parameters of controllers for unauthorized modification | |
JP2004355450A (ja) | 端末状態監視システムおよびその方法 | |
JP2008084275A (ja) | ソフトウェアの改ざん監視装置および改ざん監視方法 | |
US11392693B2 (en) | Validity confirmation equipment | |
RU2647684C2 (ru) | Устройство и способ обнаружения несанкционированных манипуляций системным состоянием блока управления и регулирования ядерной установки | |
JP6541177B2 (ja) | コンピュータ端末及びそのプログラム、コンピュータシステム | |
US10686812B2 (en) | Device and method for detecting manipulation of a program code | |
JP6814659B2 (ja) | 情報処理システム及び情報処理方法 | |
KR20210132545A (ko) | 이상행위 탐지 장치, 방법 및 이를 포함하는 시스템 | |
CN113157543B (zh) | 一种可信度量方法及装置、服务器、计算机可读存储介质 | |
JP2020107237A (ja) | 情報処理装置 | |
JP2010238168A (ja) | 実行制御プログラムおよび情報処理システム | |
US10089200B2 (en) | Computer apparatus and computer mechanism | |
JP6041727B2 (ja) | 管理装置、管理方法及び管理プログラム | |
JP2017228887A (ja) | 制御システム、ネットワーク装置、及び制御装置の制御方法 | |
CN110874323A (zh) | 信息处理装置、嵌入式系统以及调试控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140131 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141007 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141205 |
|
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: 20150526 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150529 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5756412 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |