JP7041506B2 - Communication device protection program - Google Patents
Communication device protection program Download PDFInfo
- Publication number
- JP7041506B2 JP7041506B2 JP2017243763A JP2017243763A JP7041506B2 JP 7041506 B2 JP7041506 B2 JP 7041506B2 JP 2017243763 A JP2017243763 A JP 2017243763A JP 2017243763 A JP2017243763 A JP 2017243763A JP 7041506 B2 JP7041506 B2 JP 7041506B2
- Authority
- JP
- Japan
- Prior art keywords
- communication
- user system
- data
- unit
- security system
- 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
Description
本発明は、安全ではないネットワークに接続された通信装置を保護する通信装置保護プログラムに関する。 The present invention relates to a communication device protection program that protects communication devices connected to an insecure network.
情報通信技術の進展にともない、農場や工場、ホームなどのフィールドに設置されているセンサやアクチュエータなどのデバイスをネットワークに接続して監視し、制御するIoT(Internet of Things)が普及しようとしている。センサで取得した情報の収集やアクチュエータの制御は、クラウド上のフィールドシステムサーバがデバイスと通信して実行する。 With the progress of information and communication technology, IoT (Internet of Things), which connects devices such as sensors and actuators installed in fields such as farms, factories, and homes to a network to monitor and control them, is becoming widespread. The field system server on the cloud communicates with the device to collect the information acquired by the sensor and control the actuator.
デバイスとフィールドシステムサーバが直接に通信すると、通信遅延が発生したり、通信コストが増大したりするという問題が発生する場合がある。このような問題を解決するために、デバイスが設置されているフィールドにゲートウェイ(エッジサーバ)を設置し、ゲートウェイを介して、デバイスを管理するエッジコンピューティングという形態も注目されている。ゲートウェイは、デバイスの動作状況をフィールドシステムサーバに報告したり、センサが取得したデータを集計してフィールドシステムサーバに送信したり、フィールドシステムサーバからの指示を各アクチュエータの指示に翻訳して送信する。 When the device and the field system server communicate directly with each other, there may be a problem that communication delay occurs and communication cost increases. In order to solve such a problem, a form of edge computing in which a gateway (edge server) is installed in the field where the device is installed and the device is managed via the gateway is also attracting attention. The gateway reports the operating status of the device to the field system server, aggregates the data acquired by the sensor and sends it to the field system server, and translates the instructions from the field system server into the instructions of each actuator and sends them. ..
デバイスやゲートウェイという通信装置は、インターネットに接続されるため、DoS(Denial of Service)攻撃やウィルスに感染するなどのサイバー攻撃に遭う可能性がある。インターネットサーバやパソコンにおけるサイバー攻撃への対策としては、ファイアウォールやウィルス対策ソフトウェアが普及している(非特許文献1参照)。 Since communication devices such as devices and gateways are connected to the Internet, they may be subject to cyber attacks such as DoS (Denial of Service) attacks and virus infections. Firewalls and antivirus software are widely used as countermeasures against cyber attacks on Internet servers and personal computers (see Non-Patent Document 1).
通信装置はフィールドに設置されるために、電源や温度、粉塵などの動作環境が既存のサーバやパソコンとは大きく異なり、組み込み機器が採用されることが想定される。このために、CPU(Central Processing Unit)や記憶容量などのリソースについての制約が大きく、既存のサイバー攻撃への対策を導入することは困難である。
また、デバイスの種類は多種多様であるため、デバイスと通信するゲートウェイも多種多様となり、通信装置(通信装置のOS(Operating System)やアプリケーション(通信の仕様))ごとにセキュリティ対策を導入しようとすると、導入コストや導入期間が増大してしまうという問題が発生する。
Since communication devices are installed in the field, the operating environment such as power supply, temperature, and dust is significantly different from existing servers and personal computers, and it is expected that embedded devices will be adopted. For this reason, there are large restrictions on resources such as the CPU (Central Processing Unit) and storage capacity, and it is difficult to introduce countermeasures against existing cyber attacks.
In addition, since the types of devices are diverse, the gateways that communicate with the devices are also diverse, and when trying to introduce security measures for each communication device (OS (Operating System) and application (communication specifications) of the communication device). However, there is a problem that the introduction cost and the introduction period increase.
このような背景を鑑みて本発明がなされたのであり、本発明は、さまざまな通信装置に対応し、サイバー攻撃対策を可能とする通信装置保護プログラムを提供することを課題とする。 The present invention has been made in view of such a background, and it is an object of the present invention to provide a communication device protection program that supports various communication devices and enables countermeasures against cyber attacks.
前記した課題を解決するため、請求項1に記載の発明は、ネットワークとデータを送受信する物理通信コントローラを備えるコンピュータを、前記ネットワークに接続された外部装置と通信する第1の仮想マシンを動作させるハイパーバイザ、前記ハイパーバイザ上で動作する第2の仮想マシンとして機能させ、前記ハイパーバイザを、前記第1の仮想マシンから前記外部装置への通信データを前記第1の仮想マシンから前記第2の仮想マシンに中継し、前記外部装置から前記第1の仮想マシンへの通信データを前記第2の仮想マシンが受け取った後に前記第2の仮想マシンから前記第1の仮想マシンに中継する仮想スイッチとして機能させ、前記第2の仮想マシンを、前記仮想スイッチが中継した前記第1の仮想マシンから前記外部装置への通信データを、前記ハイパーバイザを介さず直接に前記物理通信コントローラに出力し、前記外部装置から前記第1の仮想マシンへの通信データを、前記ハイパーバイザを介さず直接に前記物理通信コントローラから受け取って前記仮想スイッチに出力する仮想ネットワーク制御部として機能させるための通信装置保護プログラムとした。 In order to solve the above-mentioned problems, the invention according to claim 1 operates a first virtual machine that communicates with a computer provided with a physical communication controller that transmits / receives data to / from a network with an external device connected to the network. The hypervisor functions as a second virtual machine operating on the hypervisor, and the hypervisor is used to transfer communication data from the first virtual machine to the external device from the first virtual machine to the second virtual machine. As a virtual switch that relays to a virtual machine and relays communication data from the external device to the first virtual machine from the second virtual machine to the first virtual machine after the second virtual machine receives the communication data. The second virtual machine is made to function, and the communication data from the first virtual machine relayed by the virtual switch to the external device is directly output to the physical communication controller without going through the hypervisor. A communication device protection program for functioning as a virtual network control unit that receives communication data from an external device to the first virtual machine directly from the physical communication controller without going through the hypervisor and outputs it to the virtual switch. did.
本発明によれば、さまざまな通信装置に対応し、サイバー攻撃対策を可能とする通信装置保護プログラムを提供することができる。 According to the present invention, it is possible to provide a communication device protection program that supports various communication devices and enables countermeasures against cyber attacks.
≪遠隔制御システムの全体構成≫
以下に本発明を実施するための形態(実施形態)におけるデバイスについて説明する。図1は、本実施形態に係るデバイス100を含む遠隔制御システムの全体構成を例示する図である。遠隔制御システムは、外部ネットワーク500により接続されたデバイス100と管理システム300とを含んで構成される。遠隔制御システムは、デバイス100上で仮想マシンとして動作するユーザシステム120に対する、外部ネットワーク500からのサイバー攻撃を防止するとともに、システム更新などの保守も行う。
≪Overall configuration of remote control system≫
Hereinafter, the device according to the embodiment (embodiment) for carrying out the present invention will be described. FIG. 1 is a diagram illustrating an overall configuration of a remote control system including the
管理システム300は、遠隔制御システム全体を管理するシステムであり、後記するユーザシステム(第1の仮想マシン)120やセキュリティシステム(第2の仮想マシン)140の動作状況を監視したり、システム更新(ファーム更新)を指示したりする。
デバイス100は、フィールドに設置され、ユーザシステム120を仮想マシンとして稼働させる。また、デバイス100は、管理システム300からの指示に従い、ユーザシステム120の起動や停止、動作状況の管理システム300への報告、システム更新などを実行して、ユーザシステム120を保守する。デバイス100は1つとは限らず、複数台がフィールドに設置される場合もある。
The
The
≪フィールドシステムの全体構成≫
フィールドシステムは、フィールドシステムサーバ350と、デバイス100で動作する仮想マシンのユーザシステム120とを含んで構成される。デバイス100が複数台あるならば、フィールドシステムは複数のユーザシステム120を含む。なお、フィールドシステムサーバ350を含め、ユーザシステム120と通信する装置を外部装置と記す。外部装置には、他のデバイスやフィールドシステムの管理者が意図しない装置を含む場合がある。フィールドシステムサーバ350とデバイス100とは、外部ネットワーク500により接続される。フィールドシステムサーバ350は、管理システム300と同一装置であってもよい。
≪Overall configuration of field system≫
The field system includes a
フィールドシステムサーバ350は、フィールドシステム全体を管理するサーバであり、ユーザシステム120を介して後記するセンサ150からデータを取得する。センサ150に替わりアクチュエータが接続されている場合には、フィールドシステムサーバ350は、ユーザシステム120を介してアクチュエータを制御する。
ユーザシステム120は、センサ150からデータを取得してフィールドシステムサーバ350に送信したり、取得したデータを集計して集計結果をフィールドシステムサーバ350に送信したり、フィールドシステムサーバ350から指示を受けてセンサ150を制御したりする。センサ150がアクチュエータであっても同様である。
The
The
≪デバイスの全体構成≫
ハードウェアとしてのデバイス100は、CPU112、センサ150、物理NIC(Network Interface Card)111、セキュアストレージ113、RTC(Real-Time Clock)119、RAM(Random Access Memory)(不図示)、ROM(Read Only Memory)(不図示)およびフラッシュメモリ(不図示)を含んで構成される。RAMとROMとフラッシュメモリとは、記憶部200を構成する。記憶部200は、セキュリティシステム140の記憶部にあたるセキュリティシステム仮想記憶部210とユーザシステム120の記憶部にあたるユーザシステム仮想記憶部270とを含む。
≪Overall configuration of device≫
The
センサ150はデバイス100に接続され、後記するユーザシステム120のセンサ制御部121により制御される。図1では、センサ150は、デバイス100に外付けされ、ケーブルで直結されているが、デバイス100に内蔵されてもよい。本実施形態では、センサ150がデバイス100に接続されているが、アクチュエータ他の装置であってもよい。
The
物理NIC(物理通信コントローラ)111は、後記するセキュリティシステム140から制御され、外部ネットワーク500と通信データの送受信を行う。通信先には、ユーザシステム120が通信するフィールドシステムサーバ350を含む外部装置と、セキュリティシステム140が通信する管理システム300とがある。
CPU112は、記憶部200にあるプログラムを実行することで、デバイス100を機能させる制御部である。図1では、CPUは1つであるが、複数であってもよい。
The physical NIC (physical communication controller) 111 is controlled by the
The
セキュアストレージ113は、ルート鍵114と署名検証鍵115と署名鍵116と復号鍵117と暗号鍵118とを格納していて、セキュリティシステム140からのみアクセス可能である。ルート鍵114は、署名検証鍵115、署名鍵116、復号鍵117および暗号鍵118の更新データを保護するための鍵であり、署名検証鍵と復号鍵とを含む。署名検証鍵115は、管理システム300からの通信データのデジタル署名を検証するための鍵である。署名鍵116は、管理システム300への通信データのデジタル署名を生成するための鍵である。復号鍵117は、管理システム300からの通信データを復号するための鍵である。暗号鍵118は、管理システム300への通信データを暗号化するための鍵である。
The
セキュアストレージ113は、セキュリティシステム140からのみアクセス可能であり、後記するユーザシステム120からは、セキュアストレージ113が格納する鍵にアクセスできない。このためにユーザシステム120に対してサイバー攻撃が発生したとしても、後記する遠隔保守処理(図11参照)や管理システム300への通知は安全に実行可能であり、偽の管理システムの指示による遠隔保守処理の実行や不正なシステム更新、不正な通知などは発生しない。
The
RTC119は、デバイス100が内蔵する時計であり、現在の日時(現在時刻)をミリ秒またはマイクロ秒単位で取得可能である。後記するハイパーバイザ130とセキュリティシステム140とは、RTC119から現在時刻を取得でき、さらに現在時刻を設定可能である。
一方、後記するユーザシステム120は、RTC119から現在時刻を取得可能であるが、現在時刻を設定することはできない。このためにユーザシステム120に対してサイバー攻撃が発生しても、RTC119の現在時刻の変更は不可能であり、ハイパーバイザ130とセキュリティシステム140とは、正確な現在時刻が取得可能である。
The RTC119 is a clock built in the
On the other hand, the
論理的にはデバイス100は、ユーザシステム120、セキュリティシステム140およびハイパーバイザ130を含んで構成される。通信装置保護プログラム(不図示)は、記憶部200に記憶され、セキュリティシステム140およびハイパーバイザ130を機能させる。
ハイパーバイザ130は、CPU112上で動作し、仮想マシンとしてのユーザシステム120とセキュリティシステム140とを機能させる。ハイパーバイザ130は、ユーザシステム120とセキュリティシステム140との通信を仲介する仮想スイッチ131を含んで構成される。
Logically, the
The
ユーザシステム(第1の仮想マシン)120は、ハイパーバイザ130上で稼働する仮想マシンであり、CPU112を仮想化した仮想CPU(不図示)、仮想NIC123、ユーザシステム仮想記憶部270(図1では、記憶部200の構成要素として記載)を含んで構成される。仮想NIC123は、仮想スイッチ131、セキュリティシステム140、物理NIC111を介してフィールドシステムサーバ350を含む外部装置と通信データを送受信する。ユーザシステム仮想記憶部270は、ユーザシステム120のデータやプログラムを記憶する。ユーザシステム120は、所定のタイミングでHB(Heart Beat)をセキュリティシステム140に送信するHB送信部122、および、センサ150を制御するセンサ制御部121をさらに含んで構成される。
The user system (first virtual machine) 120 is a virtual machine running on the
セキュリティシステム(第2の仮想マシン)140は、ハイパーバイザ130上で稼働する仮想マシンであり、CPU112を仮想化した仮想CPU(不図示)、物理NIC111、暗号通信部141、監視部142、状態管理部143、保守部144、時刻同期部145、仮想ネットワーク制御部146、仮想NIC147、およびセキュリティシステム仮想記憶部210(図1では、記憶部200の構成要素として記載)を含んで構成される。セキュリティシステム仮想記憶部210は、後記する外向き通信累計量テーブル220(図2参照)、外向き通信平均値テーブル230(図3参照)、内向き通信累計量テーブル240(図4参照)、内向き通信平均値テーブル250(図5参照)、ユーザシステム状態261、状態遷移時刻262、およびHB受信時刻テーブル263を含む。
The security system (second virtual machine) 140 is a virtual machine running on the
暗号通信部141は、管理システム300と通信データの送受信を行うとともに、署名検証鍵115と復号鍵117とを用いて受信データのデジタル署名の検証と復号を行い、署名鍵116と暗号鍵118を用いて送信データのデジタル署名生成と暗号化を行う。
監視部142は、ユーザシステム120のHB送信部122が送信したHBを受信し、HB受信時刻テーブル263に受信時刻を記録する。また、監視部142は、後記する内向き通信累計量テーブル240を参照して、DoS攻撃の有無を判断する。
The
The
状態管理部143は、外向き通信累計量テーブル220(後記する図2参照)を参照して外向き通信平均値テーブル230(後記する図3参照)を更新し、内向き通信累計量テーブル240(後記する図4参照)を参照して内向き通信平均値テーブル250(後記する図5参照)を更新する。さらに、状態管理部143は、外向き通信平均値テーブル230、内向き通信平均値テーブル250およびHB受信時刻テーブル263を参照して、ユーザシステム120の動作状況を監視し、停止、運用、準異常および異常からなる状態を遷移して管理する。現時点での状態はユーザシステム状態261に、状態が遷移した時刻は状態遷移時刻262に格納される。
The
保守部144は、管理システム300から受信した制御コマンドを実行する。制御コマンドは、管理システム300のデジタル署名が付与され暗号化されており、暗号通信部141が復号しデジタル署名を検証して、保守部144に出力する。
時刻同期部145は、管理システム300と時刻を含んだ通信データをやり取りし、RTC119の時刻を調整する時刻同期処理を実行する。通信データのやり取りの方法は、SNTP(Simple Network Time Protocol)と同様である。時刻同期処理は、セキュリティシステム140が起動したときや管理システム300から指示があったときの他に、所定のタイミングで実行される。
The
The
仮想ネットワーク制御部146は、ユーザシステム120とフィールドシステムサーバ350を含む外部装置間の通信データの送受信を中継する。詳しくは、仮想ネットワーク制御部146は、ユーザシステム120が仮想NIC123から送信した通信データを、仮想スイッチ131と仮想NIC147を経由して受け取り、物理NIC111に出力して、外部装置に送信する。また、仮想ネットワーク制御部146は、外部装置が送信し、物理NIC111で受信された通信データを受け取って、仮想NIC147に出力し、出力された通信データは、仮想スイッチ131と仮想NIC123を経由して、ユーザシステム120が受信する。
The virtual
図2は、本実施形態に係る外向き通信累計量テーブル220のデータ構成例を示す図である。外向き通信累計量テーブル220は、表形式のデータであって、1行(レコード)は、ユーザシステム120から1つのアドレスへの送信データの累計値を示し、送信先名称221、送信先アドレス222、開始時刻223、累計データ量224および累計フレーム数225の列(属性)を含む。
FIG. 2 is a diagram showing a data configuration example of the outward communication cumulative amount table 220 according to the present embodiment. The outward communication cumulative amount table 220 is tabular data, and one line (record) shows the cumulative value of the transmission data from the
送信先名称221は、送信先(外部装置)の名称である。送信先アドレス222は、送信先のアドレスである。なお、1つの送信先が複数のアドレスをもつ場合がある。開始時刻223は、累計値を取り始めた時刻である。累計データ量224は、開始時刻223以来の通信データサイズの累計量であり、累計フレーム数225は、開始時刻223以来の通信データ数である。
The
外向き通信累計量テーブル220のレコードは、送信先アドレス222ごと、所定の時間長(累計時間とも記す、図2は累計時間が2分の例)の累計期間ごとに分かれている。レコード228とレコード229は、送信先がフィールドシステムサーバ350(図2ではFSSと記載)であって、同じ送信先アドレス222(IP(Internet Protocol)アドレスが193.3.2.2で、ポート番号が343)をもつレコードであるが、レコード228が最新のレコード(2017年10月17日12時33分34秒に開始)であり、レコード229は、レコード228の1つ前(2017年10月17日12時31分34秒から2分間)のレコードである。
The records of the outgoing communication cumulative amount table 220 are divided for each destination address 222 and for each cumulative period of a predetermined time length (also referred to as cumulative time, FIG. 2 shows an example of cumulative time of 2 minutes). In
仮想ネットワーク制御部146は、ユーザシステム120から送信先への通信データを中継する際に、対応する送信先アドレス222の最新のレコードの累計データ量224を通信データサイズ分だけ加算し、累計フレーム数225を1加算する。なお、開始時刻223が累計時間より前の時刻ならば、新しいレコードが追加されて、更新される。
When relaying communication data from the
図3は、本実施形態に係る外向き通信平均値テーブル230のデータ構成例を示す図である。外向き通信平均値テーブル230は、表形式のデータであって、1行(レコード)は、ユーザシステム120から1つのアドレスへの所定の時間長(図3は10分の例)である期間内の送信データの平均値を示し、送信先名称231、送信先アドレス232、開始時刻233、平均データ量234、平均間隔235およびフレーム総数236の列(属性)を含む。
FIG. 3 is a diagram showing a data configuration example of the outward communication average value table 230 according to the present embodiment. The outward communication average value table 230 is tabular data, and one row (record) is within a period of a predetermined time length from the
送信先名称231は、送信先の名称であり、送信先アドレス232は、送信先のアドレスであって、それぞれ外向き通信累計量テーブル220の送信先名称221、送信先アドレス222に対応する。開始時刻233は、レコードが示す期間の開始時刻である。平均データ量234は、レコードが示す期間における通信データサイズの平均値であり、平均間隔235は、通信間隔の平均値であって、フレーム総数236は通信データ数である。
The
外向き通信平均値テーブル230のレコードは、送信先アドレス232ごと、所定の時間長の期間ごとに分かれている。レコード238とレコード239は、送信先がフィールドシステムサーバ350(図3ではFSSと記載)であって、同じ送信先アドレス232をもつレコードであるが、レコード238が最新のレコード(2017年10月17日12時23分34秒から10分間)であり、レコード239は、レコード238の1つ前(2017年10月17日12時13分34秒から10分間)のレコードである。
The records in the outward communication average value table 230 are divided for each
状態管理部143は、所定のタイミング(本実施形態では10分間隔)で、外向き通信累計量テーブル220を参照して、外向き通信平均値テーブル230を更新する。詳しくは、状態管理部143は、送信先アドレス222ごとに外向き通信累計量テーブル220のレコードのなかで新しい方から5つのレコードを集計して、平均データ量234、平均間隔235、フレーム総数236を算出する。続いて、状態管理部143は、外向き通信平均値テーブル230にレコードを追加して、算出した結果を格納する。ここで5つのレコードを集計するのは、外向き通信累計量テーブル220の1レコードは、2分間の累計量であり、外向き通信平均値テーブル230のレコードは10分間の平均値であるからである。
The
図4は、本実施形態に係る内向き通信累計量テーブル240のデータ構成例を示す図である。図5は、本実施形態に係る内向き通信平均値テーブル250のデータ構成例を示す図である。送信先が送信元に替わったことを除いて、内向き通信累計量テーブル240は、外向き通信累計量テーブル220と同様の構成であり、内向き通信平均値テーブル250は、外向き通信平均値テーブル230と同様の構成であって、送信元(外部装置)からユーザシステム120への通信量が格納される。
FIG. 4 is a diagram showing a data configuration example of the inward communication cumulative amount table 240 according to the present embodiment. FIG. 5 is a diagram showing a data configuration example of the inward communication average value table 250 according to the present embodiment. The inbound communication cumulative amount table 240 has the same configuration as the outward communication accumulated amount table 220, except that the destination is changed to the source, and the inbound communication average value table 250 has the outward communication average value. It has the same configuration as the table 230, and stores the amount of communication from the source (external device) to the
≪ユーザシステムからフィールドシステムサーバへのデータ送信≫
図6は、本実施形態に係るユーザシステム120からフィールドシステムサーバ350(図6ではFSSと記載)へ通信データが送信されるときの処理を示すシーケンス図である。図6を参照しながら、ユーザシステム120から送信された通信データが、ハイパーバイザ130、セキュリティシステム140、および外部ネットワーク500を経由して、フィールドシステムサーバ350に送信される処理を説明する。
≪Data transmission from user system to field system server≫
FIG. 6 is a sequence diagram showing a process when communication data is transmitted from the
ステップS101において、ユーザシステム120のセンサ制御部121が、センサ150からデータを取得する。
ステップS102において、ユーザシステム120が、フィールドシステムサーバ350向けの通信データ(ステップS101で取得したデータ)を、仮想NIC123を経由して、ハイパーバイザ130の仮想スイッチ131に出力する。
ステップS103において、ハイパーバイザ130の仮想スイッチ131が、通信データをセキュリティシステム140の仮想NIC147に出力する。
In step S101, the
In step S102, the
In step S103, the
ステップS104において、セキュリティシステム140の仮想NIC147が通信データを仮想ネットワーク制御部146に出力し、続いて、仮想ネットワーク制御部146が、外向き通信累計量テーブル220を更新する。詳しくは、仮想ネットワーク制御部146は、外向き通信累計量テーブル220のレコードであって、開始時刻223が最新であり、送信先アドレス222が通信データの送信先アドレスに一致するレコードを検索する。次に、仮想ネットワーク制御部146は、検索結果のレコードの累計データ量224に通信データのサイズ分を加算し、累計フレーム数225に1を加算する。
In step S104, the
なお、検索結果のレコードの開始時刻223がRTC119から取得した現在時刻と比較して累計時間より前の時刻ならば、仮想ネットワーク制御部146は、外向き通信累計量テーブル220に新しいレコードを追加して、累計データ量224に通信データのサイズ分を、累計フレーム数225に1を格納する。また、送信先アドレス222が通信データの送信先アドレスに一致するレコードがなかった場合にも、仮想ネットワーク制御部146は、外向き通信累計量テーブル220に新しいレコードを追加して、累計データ量224に通信データのサイズ分を、累計フレーム数225に1を格納する。
ステップS105において、セキュリティシステム140の仮想ネットワーク制御部146は、通信データを物理NIC111に出力することで、外部ネットワーク500に出力する。外部ネットワーク500に出力された通信データは、送信先のフィールドシステムサーバ350に送信される。
If the
In step S105, the virtual
≪フィールドシステムサーバからユーザシステムへのデータ送信≫
図7は、本実施形態に係るフィールドシステムサーバ350(図7ではFSSと記載)からユーザシステム120へ通信データが送信されるときの処理を示すシーケンス図である。図7を参照しながら、フィールドシステムサーバ350から送信された通信データが、外部ネットワーク500、セキュリティシステム140、およびハイパーバイザ130を経由して、ユーザシステム120まで送信される処理を説明する。
≪Data transmission from the field system server to the user system≫
FIG. 7 is a sequence diagram showing a process when communication data is transmitted from the field system server 350 (described as FSS in FIG. 7) according to the present embodiment to the
ステップS111において、セキュリティシステム140の仮想ネットワーク制御部146は、フィールドシステムサーバ350が送信したユーザシステム120向けの通信データ(センサ150の制御コマンド)を物理NIC111から受け取る。
ステップS112において、仮想ネットワーク制御部146が、内向き通信累計量テーブル240を更新する。更新の内容は、送信先が送信元に替わったことを除いて、ステップS104と同様である。
In step S111, the virtual
In step S112, the virtual
ステップS113において、仮想ネットワーク制御部146が、ユーザシステム120向けの通信データを、仮想NIC147を経由して、ハイパーバイザ130の仮想スイッチ131に出力する。
ステップS114において、ハイパーバイザ130の仮想スイッチ131が、通信データをユーザシステム120の仮想NIC123に出力する。
ステップS115において、ユーザシステム120のセンサ制御部121が、受信した通信データに含まれる指示に基づいてセンサ150を制御する。
In step S113, the virtual
In step S114, the
In step S115, the
≪ユーザシステムとフィールドシステムサーバ間のデータ通信の特徴≫
ユーザシステム120と、フィールドシステムサーバ350とが通信するときには、セキュリティシステム140が通信データを中継する。セキュリティシステム140の仮想ネットワーク制御部146は、データ量と通信間隔と通信回数とを監視するために、通信データを中継するときに通信データのサイズと個数の累計量を外向き通信累計量テーブル220と内向き通信累計量テーブル240とに格納する。この累計量は、後記するDoS攻撃の有無の判定やユーザシステム120の状態判定をするために参照される。なお、図6と図7で示した通信データの送信(中継)処理は、フィールドシステムサーバ350以外の外部装置との通信である場合でも同様である。
≪Characteristics of data communication between user system and field system server≫
When the
既存のハイパーバイザにおいては、通信データ送信時の仮想マシンのNICへの出力は、仮想NICへの出力となり、ハイパーバイザを介して物理NICへ出力される。通信データ受信時の仮想マシンのNICからの受け取りについても同様であり、ハイパーバイザを介している。 In the existing hypervisor, the output of the virtual machine to the NIC at the time of communication data transmission becomes the output to the virtual NIC, and is output to the physical NIC via the hypervisor. The same applies to the reception of communication data from the NIC of the virtual machine, via the hypervisor.
一方、仮想マシンであるセキュリティシステム140は、外部ネットワーク500へ通信データを送信するときには、直接に物理NIC(物理通信コントローラ)111に出力する。また、外部ネットワーク500から通信データを受信するときには、直接に物理NIC111から受け取る。セキュリティシステム140は、ハイパーバイザ130を介することなく物理NIC111と直接に通信データをやり取りすることで、デバイス100全体の負荷を削減して、効率的に通信することができるという効果が得られる。デバイス100が、組み込み機器のようなリソースが制限されるハードウェアから構成される場合には、特に効果が大きくなる。
On the other hand, when the
デバイス100が受信した通信データのなかで、送信先がユーザシステム120である通信データだけが、ユーザシステム120に中継される。このため、物理NIC111が受信した通信データであってもデータの形式や送信先アドレスなどが不正である場合には、ユーザシステム120には中継されず、ユーザシステム120は、サイバー攻撃から保護される。
Among the communication data received by the
≪DoS攻撃対応処理≫
図8は、本実施形態に係る監視部142が実行するDoS攻撃対応処理のフローチャートである。図8を参照しながら、DoS攻撃を検知したときのネットワーク切断と再開の処理を説明する。
ステップS201において、監視部142は、所定時間、待機する。
≪DoS attack response processing≫
FIG. 8 is a flowchart of the DoS attack response process executed by the
In step S201, the
ステップS202において、監視部142は、DoS攻撃が発生しているか否かを判断し、発生している場合は(S202→Y)ステップS203に進み、発生していない場合は(S202→N)ステップS201に戻る。監視部142は、DoS攻撃発生の有無を内向き通信累計量テーブル240を参照して判断する。詳しくは、監視部142は、各送信元アドレス242の最新のレコードを検索し、累計データ量244や累計フレーム数245の合計が、所定の標準値(第1標準値)と比較して所定の閾値(第1閾値)より大きいときにはDoS攻撃が発生していると判断する。また、監視部142は、最新のレコードを検索し、検索結果のレコード件数(即ち送信元アドレスの数)が、所定の標準値(第1標準値)と比較して所定の閾値(第1閾値)より大きいときには、DoS攻撃が発生していると判断してもよい。なお、データ量やフレーム数、送信元アドレス数、送信先アドレス数などを総称して通信量とも記す。
In step S202, the
ステップS203において、監視部142は、DoS攻撃の発生を管理システム300に通知する。通知するメッセージは、暗号通信部141により、署名鍵116でデジタル署名が付与され、暗号鍵118で暗号化されて、物理NIC111へ出力され、外部ネットワーク500を経由して管理システム300に送信される。
ステップS204において、監視部142は、物理NIC111を外部ネットワーク500から切断する。詳しくは、監視部142は、物理NIC111に送受信処理の停止要求を出力する。さらに、監視部142は、ユーザシステム120にネットワーク切断を通知して、フィールドシステムサーバ350を含む外部装置への送信停止を指示する。
In step S203, the
In step S204, the
ステップS205において、監視部142は、所定時間、待機する。
ステップS206において、監視部142は、物理NIC111を外部ネットワーク500に接続する。詳しくは、監視部142は、物理NIC111に送受信処理の開始要求を出力する。さらに、監視部142は、ユーザシステム120にネットワーク再開を通知して、外部装置との通信再開を指示する。
ステップS207において、監視部142は、所定時間、待機する。
ステップS208において、監視部142は、DoS攻撃が発生しているか否かをステップS202と同様に判断して、発生している場合は(S208→Y)ステップS203に戻り、発生していない場合は(S208→N)ステップS201に戻る。監視部142は、ステップS201に戻る際に、管理システム300にDoS攻撃が停止したことを通知するようにしてもよい。
In step S205, the
In step S206, the
In step S207, the
In step S208, the
≪DoS攻撃対応処理の特徴≫
ステップS201~S202のループにおいて、監視部142は、所定の時間間隔(ステップS201の待機時間)ごとにDoS攻撃の有無を判定する。監視部142は、DoS攻撃があると判定すると、管理システム300に通知してネットワークを停止する。その後、監視部142は、所定の時間(ステップS205の待機時間)経過後に、ネットワークを再開して、再びDoS攻撃の有無を判定する。DoS攻撃が継続しているならば、監視部142は、管理システム300への通知以降の処理を繰り返し、DoS攻撃が停止したならば、通常の状態であるステップS201~S202の繰り返し状態に戻る。
≪Characteristics of DoS attack response processing≫
In the loop of steps S201 to S202, the
DoS攻撃を検知した場合には、ネットワークを停止することで、不要な通信処理を実行することがなく、デバイス100全体の負荷を削減することができる。また、所定の時間経過後にネットワークを再開することで、DoS攻撃が終了したときには、ユーザシステム120は、外部装置との通信を再開することができる。
When a DoS attack is detected, by stopping the network, it is possible to reduce the load on the
≪ユーザシステム監視処理≫
図9は、本実施形態に係る状態管理部143が実行するユーザシステム監視処理のフローチャートである。ユーザシステム監視処理は、所定のタイミング(例えば、所定の時間間隔)で実行され、ユーザシステム120の状況に応じて、停止と運用と準異常と異常とを含む状態に遷移する。異常状態に遷移するときには、ユーザシステム120が強制終了され、管理システム300に通知される。
≪User system monitoring process≫
FIG. 9 is a flowchart of the user system monitoring process executed by the
ステップS301において、状態管理部143は、外向き通信平均値テーブル230(図3参照)と内向き通信平均値テーブル250(図5参照)とを更新する。詳しくは、状態管理部143は、送信先アドレス222ごとに、前回のユーザシステム監視処理以降の累計量を含む外向き通信累計量テーブル220(図2参照)のレコードを参照して、平均値を求め、外向き通信平均値テーブル230にレコードを追加する。例えば、外向き通信累計量テーブル220の累計時間が2分であり、前回のユーザシステム監視処理からの経過時間(以下、前回処理からの経過時間とも記す)が10分であるならば、外向き通信累計量テーブル220の5つのレコードから平均値を求められる。
In step S301, the
外向き通信平均値テーブル230に追加されるレコードの送信先名称231は外向き通信累計量テーブル220の外向き通信累計量テーブル220の送信先名称221であり、送信先アドレス232は送信先アドレス222である。開始時刻233は、参照する外向き通信累計量テーブル220のレコードのなかで一番古い開始時刻223である。平均データ量234は、参照する外向き通信累計量テーブル220のレコードにある累計データ量224の合計を前回処理からの経過時間で割った商である。平均間隔235は、前回処理からの経過時間を後記するフレーム総数236で割った商である。フレーム総数236は、参照する外向き通信累計量テーブル220のレコードにある累計フレーム数225の合計である。
内向き通信平均値テーブル250についても、外向き通信平均値テーブル230と同様に、内向き通信累計量テーブル240を参照して更新される。
The
The inward communication average value table 250 is also updated with reference to the inward communication cumulative amount table 240, as in the outward communication average value table 230.
ステップS302において、状態管理部143は、ユーザシステム120の状態を示しているユーザシステム状態261が運用ならば(S302→運用)ステップS303に進み、異常または停止ならば(S302→異常または停止)ユーザシステム監視処理を終了し、準異常ならば(S302→準異常)ステップS308に進む。なお、DoS攻撃が検知されてネットワークが停止状態であるならば、ユーザシステム120は停止状態とみなして、ユーザシステム監視処理を終了する。
In step S302, the
ステップS303において、状態管理部143は、ネットワークとHBの状態を判定する。詳しくは、状態管理部143は、ステップS301で外向き通信平均値テーブル230と内向き通信平均値テーブル250とに追加したレコードの平均データ量(234、254)、平均間隔(235、255)およびフレーム総数(236、256)と、それぞれの所定の標準値(第2標準値)との差を算出する。さらに、状態管理部143は、HB受信時刻テーブル263を参照して、前回のユーザシステム監視処理から現在までのHBの各受信間隔と所定の標準値(第2標準値)との差を求め、その平均値を算出する。
In step S303, the
状態管理部143は、以上の7つの算出した値が、それぞれの正常閾値(第3閾値)未満であれば正常と判定し、何れかの差が準異常閾値(第2閾値)以上ならば異常と判定して、正常でも異常でもなければ準異常と判定する。なお、差とは絶対値としての差であり、正数である。
ステップS304において、状態管理部143は、ステップS303において異常と判定したならば(S304→異常)ステップS305に進み、正常と判定したならば(S304→正常)ユーザシステム監視処理を終了し、準異常と判定したならば(S304→準異常)ステップS306に進む。
The
In step S304, if the
ステップS305において、状態管理部143は、後記する異常状態遷移処理(図10参照)を実行する。
ステップS306において、状態管理部143は、管理システム300にユーザシステム120が準異常状態であることを通知する。詳しくは、状態管理部143は、ステップS303において準異常と判定した根拠となる値とRTC119から取得した現在時刻とを含めた通知を作成し、管理システム300に送信する。通知は、ステップS203と同様にしてデジタル署名が付与され暗号化される。
In step S305, the
In step S306, the
ステップS307において、状態管理部143は、ユーザシステム状態261を準異常に変更して、状態遷移時刻262にRTC119から取得した現在時刻を格納する。
ステップS308は、ステップS303と同様の処理である。
ステップS309において、状態管理部143は、ステップS308において異常と判定したならば(S309→異常)ステップS310に進み、準異常と判定したならば(S309→準異常)ステップS311に進み、正常と判定したならば(S309→正常)ステップS314に進む。
In step S307, the
Step S308 is the same process as step S303.
In step S309, the
ステップS310において、状態管理部143は、後記する異常状態遷移処理(図10)を実行する。
ステップS311において、状態管理部143は、状態遷移時刻262と現在時刻との差を求めて、準異常状態の継続時間を算出する。
ステップS312において、状態管理部143は、ステップS311で算出した準異常状態の継続時間が所定の閾値以上ならば(S312→Y)ステップS313に進み、閾値未満ならば(S313→N)ユーザシステム監視処理を終了する。
In step S310, the
In step S311, the
In step S312, the
ステップS313において、状態管理部143は、後記する異常状態遷移処理(図10)を実行する。
ステップS314において、状態管理部143は、管理システム300にユーザシステム120が運用状態であることを通知する。通知には現在時刻が含まれ、ステップS203と同様にして、デジタル署名が付与され暗号化される。
ステップS315において、状態管理部143は、ユーザシステム状態261を運用に変更して、状態遷移時刻262に現在時刻を格納する。
In step S313, the
In step S314, the
In step S315, the
続いて、ステップS305、S310、S313の異常状態遷移処理の詳細を説明する。図10は、本実施形態に係るユーザシステム120が異常状態へ遷移するときの処理を示すシーケンス図である。
ステップS331において、セキュリティシステム140の状態管理部143は、ハイパーバイザ130にユーザシステム120の強制停止命令を出力する。強制停止命令を出力する方法の1つとして、ハイパーバイザコールの呼び出しがある。
ステップS332において、ハイパーバイザ130は、ユーザシステム120を強制的に停止する(電源OFF状態にする)。
Subsequently, the details of the abnormal state transition processing in steps S305, S310, and S313 will be described. FIG. 10 is a sequence diagram showing a process when the
In step S331, the
In step S332, the
ステップS333において、ハイパーバイザ130は、ユーザシステム120を強制停止したことをセキュリティシステム140に通知する。通知の方法として、割り込みやハイパーバイザコールの返り値がある。
ステップS334において、セキュリティシステム140の状態管理部143は、ユーザシステム状態261を異常に変更して、状態遷移時刻262に現在時刻を格納する。
In step S333, the
In step S334, the
ステップS335において、状態管理部143は、管理システム300にユーザシステム120が異常状態であり、強制停止したことを通知する。詳しくは、状態管理部143は、ステップS303、S308またはS312において異常または閾値以上と判定した根拠となる値と現在時刻とを含めた通知を作成し、管理システム300に送信する。通知は、デジタル署名が付与され暗号化される。
In step S335, the
≪ユーザシステム監視処理の特徴≫
以上に説明したように、ユーザシステム120が送受信する通信データのデータ量や通信データ数、HBの受信間隔について、標準値(第2標準値)との差の何れかが、準異常閾値(第2閾値)以上であれば異常と判定され、正常閾値(第3閾値)以上であれば準異常と判定される。異常と判定される、または、準異常が所定の期間継続した場合には、ユーザシステム120は強制停止されて異常状態に遷移する。準異常状態であっても所定の期間内に正常と判定されれば、運用状態に戻る。
≪Characteristics of user system monitoring process≫
As described above, any of the differences between the amount of communication data transmitted and received by the
このように、通信データのデータ量や通信データ数、HBの受信間隔を用いてユーザシステム120を監視して、異常な状況であれば強制停止することで、外部装置との異常な通信、フィールドシステムサーバ350でも他のデバイスでもない装置との不正通信、デバイス100のリソースの不正利用などを未然に防ぐことができるようになる。
In this way, the
≪遠隔保守処理≫
図11は、本実施形態に係る暗号通信部141と保守部144と時刻同期部145とが実行する管理システム300からの指示による遠隔保守処理のフローチャートである。図11を参照しながら、管理システム300が送信して、セキュリティシステム140が受信した制御コマンドによる遠隔保守処理を説明する。なお、遠隔保守処理の一部の詳細は、図12~図16を参照して説明する。
ステップS401において、暗号通信部141は、受信した制御コマンドを、復号鍵117を用いて復号し、署名検証鍵115を用いて付与されているデジタル署名を検証して、保守部144に出力する。復号ないしは署名の検証に失敗した場合には、暗号通信部141は、不正な制御コマンドと判断して、管理システム300に通知する。
≪Remote maintenance process≫
FIG. 11 is a flowchart of a remote maintenance process according to an instruction from the
In step S401, the
ステップS402において、保守部144は、制御コマンドの種別が、ユーザシステム起動ならば(S402→ユーザシステム起動)ステップS403に、ユーザシステム停止ならば(S402→ユーザシステム停止)ステップS404に、ユーザシステム強制停止ならば(S402→ユーザシステム強制停止)ステップS405に、システム情報収集ならば(S402→システム情報収集)ステップS406に、ユーザシステム更新ならば(S402→ユーザシステム更新)ステップS407に、セキュリティシステム更新ならば(S402→セキュリティシステム更新)ステップS408に、鍵更新ならば(S402→鍵更新)ステップS409に、時刻同期ならば(S402→時刻同期)ステップS410に進む。
In step S402, the
ステップS403において、保守部144は、後記するユーザシステム起動処理(図12参照)を実行する。
ステップS404において、保守部144は、後記するユーザシステム停止処理(図13参照)を実行する。
ステップS405は、異常状態遷移処理(図10参照)と同様の処理であり、状態管理部143の替わりに保守部144が実行する。
In step S403, the
In step S404, the
Step S405 is the same process as the abnormal state transition process (see FIG. 10), and is executed by the
ステップS406において、保守部144は、後記するシステム情報収集処理(図14参照)を実行する。
ステップS407において、保守部144は、後記するユーザシステム更新処理(図15参照)を実行する。
ステップS408において、保守部144は、後記するセキュリティシステム更新処理(図16参照)を実行する。
In step S406, the
In step S407, the
In step S408, the
ステップS409において、保守部144は、鍵更新処理を実行する。詳しくは、保守部144は、制御コマンドに含まれるデータをルート鍵114に含まれる復号鍵で復号し、ルート鍵114に含まれる署名検証鍵で付与されたデジタル署名を検証して、復号または検証が失敗した場合には、管理システム300に通知する。復号も検証も成功ならば、保守部144は、セキュアストレージ113に格納されている署名検証鍵115と署名鍵116と復号鍵117と暗号鍵118とを、復号と署名の検証の結果得られた署名検証鍵と署名鍵と復号鍵と暗号鍵とで、それぞれ置き換える
In step S409, the
ステップS410において、保守部144は、時刻同期処理を実行するように時刻同期部145に指示する。時刻同期部145は、管理システム300を時刻サーバとするSNTPと同様の処理を実行して現在時刻を取得し、RTC119の時刻とのずれを修正する。一度の修正で取得した現在時刻とRTC119の時刻のずれがなくなるようにしてもよいし、ずれが所定の値より大きい場合には、所定の間隔で複数回修正して、徐々にずれをなくすようにしてもよい。
続いて、ステップS403~S408の各処理の内容を説明する。
In step S410, the
Subsequently, the contents of each process of steps S403 to S408 will be described.
≪遠隔保守処理:ユーザシステム起動≫
図12は、本実施形態に係るユーザシステム起動処理を示すシーケンス図である。図12を参照して、ステップS403の処理内容を説明する。
ステップS421において、セキュリティシステム140の保守部144は、ハイパーバイザ130にユーザシステム120の起動命令を出力する。
≪Remote maintenance process: User system startup≫
FIG. 12 is a sequence diagram showing a user system activation process according to the present embodiment. The processing content of step S403 will be described with reference to FIG.
In step S421, the
ステップS422において、ハイパーバイザ130は、ユーザシステム120を起動する(電源ON状態にする)。
ステップS423において、ハイパーバイザ130は、ユーザシステム120を起動したことをセキュリティシステム140に通知する。
ステップS424において、ユーザシステム120が、起動処理を実行する。
In step S422, the
In step S423, the
In step S424, the
ステップS425において、ユーザシステム120のHB送信部122が、HBをセキュリティシステム140に送信する。送信方法の1つとして、ハイパーバイザコールを用いてハイパーバイザ130にHBを送信するように指示し、ハイパーバイザ130がセキュリティシステム140に割り込みを発生させる方法がある。
ステップS426において、セキュリティシステム140の保守部144は、HBの受信を確認した後にユーザシステム状態261を運用に変更して、状態遷移時刻262に現在時刻を格納する。
ステップS427において、保守部144は、管理システム300にユーザシステム120が運用状態に遷移したことを通知する。通知は、デジタル署名が付与され、暗号化されて、管理システム300に送信される。
In step S425, the
In step S426, the
In step S427, the
≪遠隔保守処理:ユーザシステム停止≫
図13は、本実施形態に係るユーザシステム停止処理を示すシーケンス図である。図13を参照して、ステップS404の処理内容を説明する。
ステップS431において、セキュリティシステム140の保守部144は、ハイパーバイザ130にユーザシステム120の停止命令を出力する。
ステップS432において、ハイパーバイザ130は、ユーザシステム120にシャットダウン割り込みを発生させる。
≪Remote maintenance process: Stop user system≫
FIG. 13 is a sequence diagram showing a user system stop process according to the present embodiment. The processing content of step S404 will be described with reference to FIG.
In step S431, the
In step S432, the
ステップS433において、ユーザシステム120が、割り込みを受け取り、シャットダウン処理を実行する。
ステップS434において、ユーザシステム120が、シャットダウン処理の最後に電源OFFのハイパーバイザ―コールを呼び出す。
ステップS435において、ハイパーバイザ130は、ユーザシステム120を停止したことをセキュリティシステム140に通知する。
In step S433, the
In step S434, the
In step S435, the
ステップS436において、セキュリティシステム140の保守部144は、ユーザシステム状態261を停止に変更して、状態遷移時刻262に現在時刻を格納する。
ステップS437において、保守部144は、管理システム300にユーザシステム120が停止状態に遷移したことを通知する。通知は、デジタル署名が付与され、暗号化されて、管理システム300に送信される。
In step S436, the
In step S437, the
≪遠隔保守処理:システム情報収集≫
図14は、本実施形態に係るシステム情報収集処理を示すシーケンス図である。図14を参照して、ステップS406の処理内容を説明する。
ステップS441において、セキュリティシステム140の保守部144は、ハイパーバイザ130にシステム情報取得命令を出力する。命令には、システム情報を格納する仮想メモリ(不図示)のアドレスが付与される。
ステップS442において、ハイパーバイザ130は、ステップS441で指定されたアドレスの仮想メモリの領域にシステム情報を格納する。システム情報としては、ユーザシステム120とセキュリティシステム140の仮想CPUの使用状況が含まれる。
≪Remote maintenance processing: System information collection≫
FIG. 14 is a sequence diagram showing the system information collection process according to the present embodiment. The processing content of step S406 will be described with reference to FIG.
In step S441, the
In step S442, the
ステップS443において、保守部144が、外向き通信平均値テーブル230と内向き通信平均値テーブル250とから、ユーザシステム120の通信状況を集計する。
ステップS444において、保守部144は、管理システム300にステップS442で取得したシステム情報とステップS443で集計した通信状況を報告する。報告は、デジタル署名が付与され、暗号化されて、管理システム300に送信される。
In step S443, the
In step S444, the
≪遠隔保守処理:ユーザシステム更新≫
図15は、本実施形態に係るユーザシステム更新処理を示すシーケンス図である。図15を参照して、ステップS407の処理内容を説明する。なお、ユーザシステム更新処理が実行されるときには、ユーザシステム120は停止状態または異常状態にある。
≪Remote maintenance process: User system update≫
FIG. 15 is a sequence diagram showing a user system update process according to the present embodiment. The processing content of step S407 will be described with reference to FIG. When the user system update process is executed, the
ステップS451において、セキュリティシステム140の保守部144は、ハイパーバイザ130にユーザシステム120の更新命令を出力する。命令には、更新ファイル(更新データ)が格納された領域のセキュリティシステム仮想記憶部210(図1参照)上のアドレスとサイズとが含まれる。
In step S451, the
ステップS452において、ハイパーバイザ130は、ステップS451で指定された更新ファイルを用いて、ユーザシステム120の記憶部であるユーザシステム仮想記憶部270(図1参照)を更新(ファーム更新)する。
ステップS453において、ハイパーバイザ130は、ユーザシステム120を更新したことをセキュリティシステム140に通知する。
ステップS454において、保守部144は、管理システム300にユーザシステム120の更新が完了したことを通知する。通知は、デジタル署名が付与され、暗号化されて、管理システム300に送信される。
In step S452, the
In step S453, the
In step S454, the
≪遠隔保守処理:セキュリティシステム更新≫
図16は、本実施形態に係るセキュリティシステム更新処理を示すシーケンス図である。図16を参照して、ステップS408の処理内容を説明する。
ステップS461において、セキュリティシステム140の保守部144は、ハイパーバイザ130にセキュリティシステム140の更新ファイル(更新データ)が格納された領域のセキュリティシステム仮想記憶部210上のアドレスとサイズとを通知する。
≪Remote maintenance process: Security system update≫
FIG. 16 is a sequence diagram showing a security system update process according to the present embodiment. The processing content of step S408 will be described with reference to FIG.
In step S461, the
ステップS462において、セキュリティシステム140が、シャットダウン処理を実行する。
ステップS463において、セキュリティシステム140が、シャットダウン処理の最後に電源OFFのハイパーバイザコールを呼び出す。
ステップS464において、ハイパーバイザ130は、ステップS461で指定された更新ファイルを用いて、セキュリティシステム140の記憶部であるセキュリティシステム仮想記憶部210(図1参照)を更新(ファーム更新)する。
In step S462, the
In step S463, the
In step S464, the
ステップS465において、ハイパーバイザ130は、セキュリティシステム140を起動する(電源ON状態にする)。
ステップS466において、セキュリティシステム140が、起動処理を実行する。
ステップS467において、保守部144は、管理システム300にセキュリティシステム140の更新が完了したことを通知する。通知は、デジタル署名が付与され、暗号化されて、管理システム300に送信される。
In step S465, the
In step S466, the
In step S467, the
≪遠隔保守処理の特徴≫
制御コマンドを用いて、セキュリティシステム140に指示を出すことにより、管理システム300は、ユーザシステム120やセキュリティシステム140の遠隔からのシステム更新(ファーム更新)などが可能となる。これにより、デバイス100が設置されているフィールドに出向かなくても、新しい機能の追加や不具合の修正ができるようになる。
また、ユーザシステム120は、ハイパーバイザ130上で動作すればよく、そのOSや通信仕様によらず、さまざまなユーザシステム120に対して遠隔保守が可能である。これは、DoS攻撃対応処理(図8参照)、ユーザシステム監視処理(図9参照)についても同様である。
≪Characteristics of remote maintenance processing≫
By issuing an instruction to the
Further, the
≪変形例:ネットワーク状態判定≫
ステップS303とS308(図9参照)のユーザシステム120のネットワーク状態を判定する際に、状態管理部143は、データ量や通信間隔、通信回数を参照していた。この他に、送信先アドレス232(図3参照)や送信元アドレス252(図5参照)を参照して、本来の通信相手であるフィールドシステムサーバ350と他のデバイス以外のアドレスが含まれていた場合には、異常と判定するようにしてもよい。また、通信アドレスはIPを想定しているが、イーサネット(登録商標)アドレス他のアドレスでもよい。
<< Modification example: Network status judgment >>
When determining the network status of the
≪変形例:DoS攻撃判定≫
また、ステップS202、S208のDoS攻撃の判定においても、本来の通信相手以外の通信データが所定の数以上含まれていた場合にはDoS攻撃と判定してもよい。さらに、ユーザシステム120向けの通信データのデータ量や通信間隔の他に、セキュリティシステム140向けまたはデバイス100向けの通信データのデータ量やフレーム数、TCP(Transmission Control Protocol)のSYNパケットなどDoS攻撃に用いられる通信データの数(フレーム数)を参照してDoS攻撃の有無を判定してもよい。この場合には、内向き通信累計量テーブル240と同様に、セキュリティシステム140またはデバイス100向けの通信データの通信累計量を記録しておいて判定する。
<< Modification example: DoS attack judgment >>
Further, in the determination of the DoS attack in steps S202 and S208, if the communication data other than the original communication partner is included in a predetermined number or more, it may be determined as a DoS attack. Furthermore, in addition to the amount of communication data and communication interval for the
≪変形例:ユーザシステムと外部装置間の通信データ中継処理≫
ステップS104(図6参照)の外向き通信累計量テーブル220(図2参照)の更新において、最新のレコード(開始時刻223が現在時刻と比較して累計時間以内のレコード)の数が所定の標準値(第4標準値)と比較して所定の閾値(第4閾値)より大きいならば、仮想ネットワーク制御部146は、異常な状態と判断して状態管理部143に通知し、状態管理部143が異常状態遷移処理(図10参照)を実行するようにしてもよい。この場合、状態管理部143は管理システム300に、レコード数が異常に増加したことや最新のレコードに含まれる送信先アドレス222を通知するようにしてもよい。
<< Modification example: Communication data relay processing between the user system and an external device >>
In updating the outward communication cumulative amount table 220 (see FIG. 2) in step S104 (see FIG. 6), the number of the latest records (records whose
また、ステップS104で更新したレコードにおいて、累計データ量224または累計フレーム数225が所定の標準値(第4標準値)と比較して所定の閾値(第4閾値)より大きいならば、仮想ネットワーク制御部146は、異常な状態と判断して状態管理部143に通知し、状態管理部143が異常状態遷移処理を実行するようにしてもよい。この場合、状態管理部143は管理システム300に、当該レコードの送信先アドレス222、累計データ量224および累計フレーム数225を通知するようにしてもよい。
Further, in the record updated in step S104, if the cumulative data amount 224 or the cumulative number of
仮想ネットワーク制御部146は、ステップS112(図7参照)の内向き通信累計量テーブル240の更新においても、上記に説明したステップS104の外向き通信累計量テーブル220の更新と同様に、最新のレコード数、累計データ量244および累計フレーム数245の何れかが所定の標準値(第4標準値)と比較して所定の閾値(第4閾値)より大きいならば状態管理部143に通知し、状態管理部143が異常状態遷移処理を実行するようにしてもよい。
In the update of the inward communication cumulative amount table 240 in step S112 (see FIG. 7), the virtual
このように仮想ネットワーク制御部146が異常状態を検知することにより、DoS攻撃対応処理(図8参照)の待機中(S201参照)やユーザシステム監視処理(図9参照)の実行の合間であっても、即座に異常な状態に対応できるようになる。例えば、DoS攻撃が発生したり、ユーザシステム120がウィルスに感染してサイバー攻撃を開始したり、センサ150またはユーザシステム120に異常が発生して暴走したりした場合に、即座に対応できるという効果がある。
By detecting the abnormal state in this way, the virtual
≪変形例:その他≫
ステップS104~S105(図6参照)とS112~S113(図7参照)の通信データの送信(中継)処理において、仮想ネットワーク制御部146は、通信データのサイズを参照して、外向き通信累計量テーブル220と内向き通信累計量テーブル240とを更新していた。本来の通信相手であるフィールドシステムサーバ350と他のデバイス以外との通信を防ぐために、通信データの送信先や送信元を参照してフィルタリングしてもよい。また、通信データの内容を検査し、不正なデータであればフィルタリングしてもよい。フィルタリングされた通信データであっても、外向き通信累計量テーブル220と内向き通信累計量テーブル240とは更新され、DoS攻撃対応処理やユーザシステム監視処理においてDoS攻撃の有無やネットワーク状態の判定の際に参照される。
≪Variation example: Others≫
In the transmission (relay) processing of the communication data in steps S104 to S105 (see FIG. 6) and S112 to S113 (see FIG. 7), the virtual
システム情報収集処理(図14参照)で収集される情報として仮想CPUの使用状況があるが、他の情報を含めてもよい。例えば、ユーザシステム仮想記憶部270に含まれる情報(ユーザシステム120のファイルやRAMの情報)であってもよい。また、制御コマンドがファイル名やアドレスを含んでおり、収集対象の情報を指定できるようにしてもよい。
本実施形態では、フィールドシステムのデバイスをサイバー攻撃からの保護対象としていたが、ゲートウェイとしての機能をユーザシステムが有するようにしてゲートウェイも保護対象としてもよい。また、フィールドシステムの装置に限る必要はなく、仮想マシンとして動作可能な通信ノードであれば保護対象とすることができる。
The information collected in the system information collection process (see FIG. 14) includes the usage status of the virtual CPU, but other information may be included. For example, it may be information included in the user system virtual storage unit 270 (information on a file or RAM of the user system 120). Further, the control command may include a file name and an address so that the information to be collected can be specified.
In the present embodiment, the device of the field system is protected from cyber attacks, but the gateway may also be protected so that the user system has a function as a gateway. Further, it is not limited to the device of the field system, and any communication node that can operate as a virtual machine can be protected.
100 デバイス(通信装置)
111 物理NIC(物理通信コントローラ)
120 ユーザシステム(通信装置、第1の仮想マシン)
122 HB(Heart Beat)送信部
123 仮想NIC
130 ハイパーバイザ
131 仮想スイッチ
140 セキュリティシステム(第2の仮想マシン)
141 暗号通信部
142 監視部
143 状態管理部
144 保守部
145 時刻同期部
146 仮想ネットワーク制御部
147 仮想NIC
200 記憶部
210 セキュリティシステム仮想記憶部
220 外向き通信累計量テーブル
230 外向き通信平均値テーブル
240 内向き通信累計量テーブル
250 内向き通信平均値テーブル
270 ユーザシステム仮想記憶部
300 管理システム
350 フィールドシステムサーバ(外部装置)
100 devices (communication equipment)
111 Physical NIC (Physical Communication Controller)
120 User system (communication device, first virtual machine)
122 HB (Heart Beat)
141
200
Claims (4)
第1の仮想マシンとして前記ネットワークに接続された外部装置と通信する機能を含むユーザーシステムを稼働させ、第2の仮想マシンとしてセキュリティシステムを稼働させるハイパーバイザとして機能させるための通信保護プログラムであって、
前記ハイパーバイザは、
前記ユーザーシステムから前記外部装置への通信データを前記ユーザーシステムから前記セキュリティシステムに中継し、前記外部装置から前記ユーザーシステムへの通信データを前記セキュリティシステムが受け取った後に前記セキュリティシステムから前記ユーザーシステムに中継する仮想スイッチとしての機能を含み、
前記セキュリティシステムは、前記物理通信コントローラと、
前記仮想スイッチが中継した前記ユーザーシステムから前記物理通信コントローラを介した前記外部装置への通信データを、前記ハイパーバイザを介さず直接に前記物理通信コントローラに出力し、前記外部装置から前記物理通信コントローラを介した前記ユーザーシステムへの通信データを、前記ハイパーバイザを介さず直接に前記物理通信コントローラから受け取って前記仮想スイッチに出力する仮想ネットワーク制御部とを含む、
通信装置保護プログラム。 A computer equipped with a physical communication controller that sends and receives data to and from the network
A communication protection program for operating a user system including a function of communicating with an external device connected to the network as a first virtual machine and functioning as a hypervisor for operating a security system as a second virtual machine. ,
The hypervisor is
Communication data from the user system to the external device is relayed from the user system to the security system , and communication data from the external device to the user system is received by the security system and then from the security system to the user system . Including the function as a relay virtual switch
The security system includes the physical communication controller and
Communication data from the user system relayed by the virtual switch to the external device via the physical communication controller is directly output to the physical communication controller without going through the hypervisor, and the physical communication controller is output from the external device. A virtual network control unit that receives communication data to the user system via the user system directly from the physical communication controller without going through the hypervisor and outputs the communication data to the virtual switch.
Communication device protection program.
前記セキュリティシステムは、前記ユーザーシステム、前記セキュリティシステム、および前記コンピュータの何れかが受信する通信データの通信量を監視して、前記通信量が所定の第1標準値より大きく、前記通信量と前記第1標準値との差が所定の第1閾値より大きい場合には、前記物理通信コントローラを制御して前記コンピュータを前記ネットワークから切断する監視部を含む、
通信装置保護プログラム。 In claim 1,
The security system monitors the communication amount of communication data received by any of the user system, the security system , and the computer, and the communication amount is larger than a predetermined first standard value, and the communication amount and the communication amount are described. When the difference from the first standard value is larger than a predetermined first threshold value, a monitoring unit that controls the physical communication controller to disconnect the computer from the network is included.
Communication device protection program.
前記セキュリティシステムは、前記ユーザーシステムが送受信する通信データの通信量を示すユーザーシステム通信量を監視して、前記ユーザーシステム通信量と所定の第2標準値との差が所定の第2閾値より大きい場合、または、前記ユーザーシステム通信量と前記第2標準値との差が所定の第3閾値より大きい状態が所定の時間継続した場合には、前記ユーザーシステムを強制停止させる状態管理部を含む、
通信装置保護プログラム。 In claim 1,
The security system monitors the user system communication amount indicating the communication amount of the communication data transmitted and received by the user system, and the difference between the user system communication amount and the predetermined second standard value is larger than the predetermined second threshold value. In this case, or when the state in which the difference between the user system communication volume and the second standard value is larger than the predetermined third threshold value continues for a predetermined time, the state management unit for forcibly stopping the user system is included.
Communication device protection program.
前記セキュリティシステムは、前記ネットワークに接続された管理システムからの制御コマンドに応じて、
前記ユーザーシステムの起動処理、停止処理、強制停止処理、システム更新処理、
前記セキュリティシステムのシステム更新処理、
前記コンピュータの情報収集処理、および前記管理システムとの時刻同期処理のうち何れかの処理を実行する保守部を含む、
通信装置保護プログラム。 In any one of claims 1 to 3,
The security system responds to a control command from a management system connected to the network.
The user system start process, stop process, forced stop process, system update process,
The system update process of the security system ,
A maintenance unit that executes any of the information collection processing of the computer and the time synchronization processing with the management system.
Communication device protection program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017243763A JP7041506B2 (en) | 2017-12-20 | 2017-12-20 | Communication device protection program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017243763A JP7041506B2 (en) | 2017-12-20 | 2017-12-20 | Communication device protection program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019109828A JP2019109828A (en) | 2019-07-04 |
JP7041506B2 true JP7041506B2 (en) | 2022-03-24 |
Family
ID=67179874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017243763A Active JP7041506B2 (en) | 2017-12-20 | 2017-12-20 | Communication device protection program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7041506B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7172909B2 (en) * | 2019-08-01 | 2022-11-16 | 株式会社デンソー | electronic controller |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006277204A (en) | 2005-03-29 | 2006-10-12 | Nec Corp | Portable communication terminal device |
JP2013061994A (en) | 2013-01-07 | 2013-04-04 | Fujitsu Ltd | Virus detection program, virus detection method, monitoring program, monitoring method, and computer |
JP2015536003A (en) | 2012-10-21 | 2015-12-17 | マカフィー, インコーポレイテッド | Provision of virtual security appliance architecture for virtual cloud infrastructure |
JP2016004432A (en) | 2014-06-17 | 2016-01-12 | 富士通株式会社 | Virtual machine migration program, virtual machine migration system and virtual machine migration method |
US20160366130A1 (en) | 2015-02-10 | 2016-12-15 | Electronics And Telecommunications Research Institute | Apparatus and method for providing security service based on virtualization |
JP2017073763A (en) | 2015-10-09 | 2017-04-13 | ニューソフト コーポレーションNeusoft Corporation | Physical network security device and method for controlling the same |
-
2017
- 2017-12-20 JP JP2017243763A patent/JP7041506B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006277204A (en) | 2005-03-29 | 2006-10-12 | Nec Corp | Portable communication terminal device |
JP2015536003A (en) | 2012-10-21 | 2015-12-17 | マカフィー, インコーポレイテッド | Provision of virtual security appliance architecture for virtual cloud infrastructure |
JP2013061994A (en) | 2013-01-07 | 2013-04-04 | Fujitsu Ltd | Virus detection program, virus detection method, monitoring program, monitoring method, and computer |
JP2016004432A (en) | 2014-06-17 | 2016-01-12 | 富士通株式会社 | Virtual machine migration program, virtual machine migration system and virtual machine migration method |
US20160366130A1 (en) | 2015-02-10 | 2016-12-15 | Electronics And Telecommunications Research Institute | Apparatus and method for providing security service based on virtualization |
JP2017073763A (en) | 2015-10-09 | 2017-04-13 | ニューソフト コーポレーションNeusoft Corporation | Physical network security device and method for controlling the same |
Non-Patent Citations (1)
Title |
---|
IoT&ENTERPRISE FORUM 2015 WINTER REVIEW ~先進事例とIoTビジネスの可能性を探る1日~,日経コンピュータ,日本,日経BP社,2016年01月19日,no.904,p.64-65 |
Also Published As
Publication number | Publication date |
---|---|
JP2019109828A (en) | 2019-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3533197B1 (en) | Apparatus and methods for increasing security at edge nodes | |
US20070006307A1 (en) | Systems, apparatuses and methods for a host software presence check from an isolated partition | |
US20100332212A1 (en) | Method and apparatus for sleep and wake of computer devices | |
US9894080B1 (en) | Sequence hopping algorithm for securing goose messages | |
JP2011030145A (en) | Information processing apparatus | |
US20140196105A1 (en) | Cloud system with attack protection mechanism and protection method using for the same | |
JP2009100238A (en) | Communication apparatus, communication system, key re-exchange system used for the same, and program therefor | |
WO2019102811A1 (en) | Control device and control system | |
US11397806B2 (en) | Security monitoring device | |
CN104168126B (en) | A kind of unattended intelligent device self-maintenance management system and method | |
CN102571488B (en) | Failure processing method, device and system for encryption card | |
JP7041506B2 (en) | Communication device protection program | |
US20110213893A1 (en) | Methods, systems, and computer program products for detecting an idle tcp connection | |
CN105791027A (en) | Detection method of industrial network abnormal interruption | |
CA2909898C (en) | Device monitoring using multiple servers optimized for different types of communications | |
US9329624B2 (en) | System and method for acquiring and correction lifetime information within SA information when transitioning between power modes | |
JP2006228140A (en) | Information processor | |
CN103475465B (en) | MACsec key update method and device in ISSU process | |
CN113169865B (en) | Control device, industrial control system, and encryption key lifetime extension method | |
CN106453358A (en) | MAC protocol realization method and device for adjusting working cycles based on energy states | |
US10742480B2 (en) | Network management as a service (MaaS) using reverse session-origination (RSO) tunnel | |
JP6978358B2 (en) | Relay device switching system | |
KR101062396B1 (en) | Method for managing pc on network, and web-server used therein | |
JP2010233153A (en) | Communication management device, communication management method, communication management program, and the like | |
JP2010198397A (en) | Information processing device and error log data sending method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20190416 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201120 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210825 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210909 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211105 |
|
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: 20220228 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220311 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7041506 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |