JP2020031342A - 通信中継装置 - Google Patents
通信中継装置 Download PDFInfo
- Publication number
- JP2020031342A JP2020031342A JP2018156014A JP2018156014A JP2020031342A JP 2020031342 A JP2020031342 A JP 2020031342A JP 2018156014 A JP2018156014 A JP 2018156014A JP 2018156014 A JP2018156014 A JP 2018156014A JP 2020031342 A JP2020031342 A JP 2020031342A
- Authority
- JP
- Japan
- Prior art keywords
- communication
- unit
- elements
- buffer
- bit width
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】種種の不正な通信に対応しつつ、消費電力を低減する。【解決手段】本発明の一態様の通信中継装置は、第1通信装置より送信される通信フレーム内の複数の要素を順次記憶及び出力する、動作単位の要素数と動作速度の組み合わせが異なる複数のバッファ部と、バッファ部ごとに設けられ、バッファ部の要素数に対応する要素と当該バッファ部の通過条件とを比較する複数の比較部と、複数の要素を順に伝送し、いずれかの比較部において要素数に対応する要素が上記通過条件を満たさない場合、通信フレーム内の第1領域に対応する要素を変更する変更部と、その変更部から伝送される複数の要素を順に第2通信装置へ送信する送信部と、を備える。【選択図】図2
Description
本発明は、通信中継装置に関する。
プラントや組み立て装置等の設備を制御する制御システムは、安全かつ安定な動作を維持する必要がある。一方、制御装置に対してその動作を阻害したり誤った動作を行わせる意図で、制御システムネットワークを介して不正な内容のデータが送られる場合がある。対策として、このような不正な通信を遮断する能力を具備したファイアウォールやIPS(Intrusion Protection System)等を介して防御対象の装置を制御システムネットワークに接続する方法が知られている。
特許文献1には、「受信した通信フレームの特徴を示す特徴値を決定し、特徴値が条件を満たすか否かを判定する判定部と、受信される複数の要素を順に伝達し、特徴値が条件を満たさないと判定された場合、伝達される複数の要素の一部を変更する変更部」を備える通信中継装置が開示されている。この通信中継装置は、バッファを用いて不正な通信を検出する構成を有し、不正な通信を受信した場合に通信フレームの複数の要素の一部を変更して順に外部装置へ送信することで、少ない遅延時間で不正な通信の検出を実現する。
しかしながら、特許文献1に記載の通信中継装置は、通信フレームの中継による遅延を抑えることができる一方で、その内部のバッファは入力される通信フレームの通信速度(例えば100Mbpsのネットワークであれば100MHz)で動作するように作られている。そのため、後述するように中継処理の消費電力等に関しては必ずしも最適化された構成ではなかった。
上記の状況から、種種の不正な通信に対応しつつ、消費電力を低減できる通信中継装置が要望されていた。
本発明の一態様の通信中継装置は、第1通信装置より送信される通信フレーム内の複数の要素を順に受信する受信部と、その受信部が受信した通信フレーム内の複数の要素を順次記憶及び出力する、動作単位の要素数と動作速度の組み合わせが異なる複数のバッファ部と、バッファ部ごとに設けられ、バッファ部の要素数に対応する要素と当該バッファ部の通過条件とを比較する複数の比較部と、を備える。また、通信中継装置は、複数の要素を順に伝送し、いずれかの比較部において要素数に対応する要素が上記通過条件を満たさない場合、通信フレーム内の第1領域に対応する要素を変更する変更部と、その変更部から伝送される複数の要素を順に第2通信装置へ送信する送信部と、を備える。
本発明の少なくとも一態様によれば、種種の不正な通信に対応しつつ、消費電力を低減することができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
以下、本発明を実施するための形態の例について、添付図面を参照して説明する。本明細書及び添付図面において実質的に同一の機能又は構成を有する構成要素については、同一の符号を付して重複する説明を省略する。
<第1の実施形態>
[制御システム全体の構成]
まず、第1の実施形態に係る通信中継装置を含む制御システム全体の構成について説明する。図1は、第1の実施形態に係る通信中継装置1を含む制御システム全体の構成例を示す図である。
[制御システム全体の構成]
まず、第1の実施形態に係る通信中継装置を含む制御システム全体の構成について説明する。図1は、第1の実施形態に係る通信中継装置1を含む制御システム全体の構成例を示す図である。
図1に示すように、制御システムは一例として、ファイアウォール21と、端末装置22と、生産管理サーバ23と、HMI(Human Machine Interface)装置24と、監視制御サーバ25と、通信中継装置1と、制御装置26及び制御対象設備27から構成される。これらは相互に通信可能に接続されて階層状のネットワークを形成している。
制御対象設備27は、制御装置26に接続されている。制御装置26は更に、通信中継装置1に接続されている。通信中継装置1は更に、制御システムネットワーク3を介して、監視制御サーバ25に接続されている。監視制御サーバ25は更に、制御系情報ネットワーク33を介して、HMI装置24及び生産管理サーバ23に接続されている。生産管理サーバ23は更に、情報系ネットワーク32を介して、端末装置22及びファイアウォール21に接続されている。ファイアウォール21は更に、インターネットなどの外部ネットワーク31に接続されている。
ファイアウォール21は、情報系ネットワーク32と外部ネットワーク31との間の通信を中継すると共に、外部ネットワーク31から情報系ネットワーク32への不正アクセスを防ぐ。
生産管理サーバ23は、プラントの生産目標や生産個数指示などの計画値を決定し、計画値を監視制御サーバ25へ送信する。端末装置22は、情報系ネットワーク32を介して生産管理サーバ23にアクセスすることにより、生産管理サーバ23へ計画値に関する情報を入力し、生産管理サーバ23から出力される実績などの情報を表示する。これにより、端末装置22の管理者は、制御システムの実績を監視することができる。
監視制御サーバ25は、生産管理サーバ23から受信した計画値に基づいて、制御対象設備27の指令値を決定し、制御システムネットワーク3及び通信中継装置1を介して、制御装置26へ指令値を送信する。HMI装置24は、制御系情報ネットワーク33を介して監視制御サーバ25にアクセスすることにより、監視制御サーバ25へ指令値に関する情報を入力し、監視制御サーバ25から出力される状態などの情報を表示する。これにより、HMI装置24の管理者は、制御対象設備27の状態を監視することができる。
制御装置26は、監視制御サーバ25から受信した指令値に基づいて、制御対象設備27を制御する。制御対象設備27は、スイッチ、バルブ、及びセンサなどである。指令値は例えば、スイッチやバルブの開閉や開度などである。状態は例えば、センサにより計測される圧力、温度、回転数などである。
[不正な通信の種別と検出方法の違い]
通信中継装置1は、単なる通信の中継の機能を持つのみではなく、制御システムネットワーク3から送信される不正な通信を検出及び遮断する能力を持つ。不正な通信の種別は多岐にわたるが、その適切な検出方法の観点から、通信内容は大きく分けて2種類に分けられる。一つ目は、通信の宛先アドレスやポート番号等、オクテット(8ビット)単位等の決まったビット長毎で区切られた領域に特徴的なパターンを有するものである。二つ目は、マルウェアを含む通信など、バイナリ形式であるため決まったビット列の区切りを持たず、任意の位置のビット列に特徴的なパターンを有するものである。前者と後者は、前者を検出するためには例えば8ビットずつのパターンの照合をかければ十分であるのに対し、後者を検出するためには通信フレームの内容に対して1ビットずつパターンの照合を行う必要があるという違いがある。
通信中継装置1は、単なる通信の中継の機能を持つのみではなく、制御システムネットワーク3から送信される不正な通信を検出及び遮断する能力を持つ。不正な通信の種別は多岐にわたるが、その適切な検出方法の観点から、通信内容は大きく分けて2種類に分けられる。一つ目は、通信の宛先アドレスやポート番号等、オクテット(8ビット)単位等の決まったビット長毎で区切られた領域に特徴的なパターンを有するものである。二つ目は、マルウェアを含む通信など、バイナリ形式であるため決まったビット列の区切りを持たず、任意の位置のビット列に特徴的なパターンを有するものである。前者と後者は、前者を検出するためには例えば8ビットずつのパターンの照合をかければ十分であるのに対し、後者を検出するためには通信フレームの内容に対して1ビットずつパターンの照合を行う必要があるという違いがある。
[通信中継装置の構成]
次に、通信中継装置1の詳細について述べる。図2は、通信中継装置1の内部構成例を示すブロック図である。
次に、通信中継装置1の詳細について述べる。図2は、通信中継装置1の内部構成例を示すブロック図である。
通信中継装置1は、制御システムネットワーク3を通じて第1通信装置2に接続されている上流通信ポート11と、保護対象の第2通信装置4に接続されている下流通信ポート16とを具備する。通信中継装置1が下流通信ポート16を複数個具備し、通信中継装置1に複数の第2通信装置4を接続できるようにしてもよい。第1通信装置2は、例えば監視制御サーバ25である。第2通信装置4は、例えば制御装置26である。通信中継装置1はさらに、多ビット幅バッファ121と、多ビット幅特徴値比較部131と、単ビット幅バッファ122と、単ビット幅特徴値比較部132と、置換部15と、特徴値設定インターフェース17、及び特徴値定義部18から構成される。
上流通信ポート11(受信部の一例)は、制御システムネットワーク3を介して第1通信装置2から入力された通信フレームを示す信号を受信し、受信した信号をデータ列(中継データ列)に変換して順次出力するように構成されている。このデータ列は、連続する複数の要素を含む。要素は例えばビットである。データ列は、2種類のバッファ、すなわち多ビット幅バッファ121と単ビット幅バッファ122にそれぞれ入力される。
本実施形態では、制御システムネットワーク3上の通信フレームや上流通信ポート11から出力されるデータ列はIEEE802.3形式に基づいているが、これらは他の任意の通信規格に基づくものであってもよい。制御システムネットワーク3の伝送媒体は、電気に加えて光、電波、あるいはそれらの任意の組み合わせであってもよい。上流通信ポート11は、NIC(Network Interface Card)であってもよい。
多ビット幅バッファ121(バッファ部の一例)は、上流通信ポート11が受信した通信フレーム内の複数のビットを順次記憶及び出力する。例えば、多ビット幅バッファ121は、要素数として8ビットのビット幅(シフト動作単位のビット数)と有限の長さ(図2ではシフト段数が3段)を持つシフトレジスタから構成される。ビット幅は、シフトレジスタのシフト動作単位のビット数である。8ビット幅かつ3段のシフトレジスタは、入力端から連続して入力されるデータ列を1段あたり8ビット格納し、駆動クロック信号に従って8ビット単位で次段(図中右)にシフトさせ、入力された順に出力端から置換部15へ出力する動作を行う。このような多ビット幅バッファ121を備えることにより、データ列内の各ビットは、通信中継装置1で受信されてから一定時間で送信される。後述するように、この多ビット幅バッファ121を利用し、通信フレームに対して8ビットずつマッチングパターンの照合が行われる。
単ビット幅バッファ122(バッファ部の一例)も同様に、上流通信ポート11が受信した通信フレーム内の複数のビットを順次記憶及び出力する。例えば、単ビット幅バッファ122は、要素数として1ビットのビット幅と有限の長さ(図2ではシフト段数が12段)を持つシフトレジスタから構成される。1ビット幅かつ12段のシフトレジスタは、入力端から連続して入力されるデータ列を1段あたり1ビット格納し、駆動クロック信号に従って1ビット単位で次段(図中右)にシフトさせ、入力された順に出力端から出力(破棄)する動作を行う。後述するように、この単ビット幅バッファ122を利用し、通信フレームに対して1ビットずつマッチングパターンの照合が行われる。
これらの動作により、各バッファが受信したデータ列は、各バッファの動作単位のビット数(ビット幅)と動作速度(動作周波数)の積に比例した一定期間、各バッファに保持されることになる。つまり、多ビット幅バッファ121と単ビット幅バッファ122は、ビット幅と動作速度の組み合わせが異なるが、各々のビット幅と動作速度の積は同一又は実質的に同一となるように構成される。
例えば、上流通信ポート11に入力される信号の帯域(通信速度)が100Mbps(Mega bit per second)であるとき、8ビット幅の多ビット幅バッファ121におけるシフト動作の速度は12.5MHz、単ビット幅バッファ122におけるシフト動作の速度は100MHzとなる。このシフト動作の速度の違いが、後述する消費電力の違いを生み出す。なお、これらのバッファはシフトレジスタのほか、デュアルポートメモリやFIFOバッファなどの技術を用いて構成されていてもよい。
[特徴値比較部]
次に、多ビット幅特徴値比較部131と単ビット幅特徴値比較部132の動作について説明する。多ビット幅特徴値比較部131と単ビット幅特徴値比較部132は、バッファごとに設けられ、それぞれバッファのビット幅に対応するビット列と各バッファ部の通過条件とを比較する処理を行う。
次に、多ビット幅特徴値比較部131と単ビット幅特徴値比較部132の動作について説明する。多ビット幅特徴値比較部131と単ビット幅特徴値比較部132は、バッファごとに設けられ、それぞれバッファのビット幅に対応するビット列と各バッファ部の通過条件とを比較する処理を行う。
多ビット幅特徴値比較部131は内部に、多ビット幅マッチングパターン141を記憶する素子を有する。また、単ビット幅特徴値比較部132は内部に、単ビット幅マッチングパターン142を記憶する素子を有する。
多ビット幅特徴値比較部131は、例えば多ビット幅バッファ121の2段目に保持されたデータ列を多ビット幅マッチングパターン141と照合し、両者が合致する場合には置換部15に対して合致信号を出力する。多ビット幅特徴値比較部131は、8ビットずつデータ列をシフトさせる多ビット幅バッファ121を利用し、通信フレームに対して8ビットずつマッチングパターンの照合を行う。
同様に、単ビット幅特徴値比較部132は、例えば単ビット幅バッファ122の3段目から10段目に保持されたデータ列を単ビット幅マッチングパターン142と照合し、両者が合致する場合には置換部15に対して合致信号を出力する。単ビット幅特徴値比較部132は、1ビットずつデータ列をシフトさせる単ビット幅バッファ122を利用し、通信フレームに対して1ビットずつマッチングパターンの照合を行う。
置換部15(変更部の一例)は、多ビット幅バッファ121から出力されるデータ列を受信し、下流通信ポート16へ伝送するとともに、各特徴値比較部131,132の比較結果に応じて、伝送するデータ列の一部の要素を指示された値に書き換える。置換部15の動作の詳細については後述する。
下流通信ポート16(送信部の一例)は、置換部15から伝送されるデータ列を、再び外部装置への通信又はネットワークに適する信号に変換し、第2通信装置4へ送信する。本実施形態では、上流通信ポート11と同様に、伝送されるデータ列や上流通信ポート11から出力されるデータ列はIEEE802.3形式に基づくとするが、任意の通信規格を用いてもよい。下流通信ポート16は、NICであってもよい。
[通信フレームの詳細と置換部の動作]
本実施形態において、制御システムネットワーク3上の通信フレームはIEEE802.3形式に基づくものを例としている。ここで、IEEE802.3形式に基づく通信フレームについて、図3を用いて説明する。
本実施形態において、制御システムネットワーク3上の通信フレームはIEEE802.3形式に基づくものを例としている。ここで、IEEE802.3形式に基づく通信フレームについて、図3を用いて説明する。
(通信フレーム)
図3は、通信フレームのフォーマットの例を示す。IEEE802.3形式に基づく通信フレームは、プリアンブル部と、ヘッダ部と、ペイロード部、及びFCS(Frame Check Sequence)部の各フィールド(領域)を含む。プリアンブル部の末尾はSFD(Start Frame Delimiter)であり、ヘッダの開始を示す。上流通信ポート11は、受信した信号からSFDを検出したとき、受信タイミングを示すフレーム開始信号を出力する。フレーム開始信号は、置換部15が通信フレーム内のFCS部の情報を変更するタイミング(通信フレーム内の位置)の基準となる。上流通信ポート11は、フレーム開始信号を置換部15に直接供給してもよいし、各特徴値比較部131,132を介して置換部15に供給してもよい。
図3は、通信フレームのフォーマットの例を示す。IEEE802.3形式に基づく通信フレームは、プリアンブル部と、ヘッダ部と、ペイロード部、及びFCS(Frame Check Sequence)部の各フィールド(領域)を含む。プリアンブル部の末尾はSFD(Start Frame Delimiter)であり、ヘッダの開始を示す。上流通信ポート11は、受信した信号からSFDを検出したとき、受信タイミングを示すフレーム開始信号を出力する。フレーム開始信号は、置換部15が通信フレーム内のFCS部の情報を変更するタイミング(通信フレーム内の位置)の基準となる。上流通信ポート11は、フレーム開始信号を置換部15に直接供給してもよいし、各特徴値比較部131,132を介して置換部15に供給してもよい。
ヘッダ部は、宛先アドレス、送信元アドレス及びタイプ/長さのサブフィールドを含み、パケットを正しく宛先に送り届けるために用いられる。ペイロード部は、送信されるデータの中身(本体)である。FCS部(第1領域の一例)は、IEEE802.3フレームに伝送誤りがあるかどうかを受信装置にて検査するための誤り検査符号が格納される、誤り検出のための領域である。FCS値は、ヘッダ部及びペイロード部の内容からCRC(Cycric Redundancy Check)演算により算出され、例えば32ビットである。
上流通信ポート11は、通信フレームからSFDを検出することによりヘッダの開始タイミングを認識する。置換部15は、タイプ/長さを検出することにより、ペイロードの長さを認識し、FCS部のタイミング(通信フレーム内の位置)を認識する。なお、上流通信ポート11又は各特徴値比較部131,132が、タイプ/長さを検出する処理を行ってもよい。
上記通信フレームを受け取った装置は、その通信フレームに含まれるFCS値を検算し、期待される値と合致しない場合は当該通信フレームを破棄する。この仕組みにより、不正な通信やノイズ等により通信フレームの内容が変化した場合に、その正しくない値を制御等に用いてしまうことを防ぐことができる。
[置換部]
上記内容を踏まえて、置換部15の動作を説明する。置換部15は、多ビット幅バッファ121から出力される8ビットのデータ列を順に受信し、通常時にはそれをそのまま下流通信ポート16へ順に伝送する。ただし、いずれかの特徴値比較部131,132において所定ビット幅のデータ列が通過条件を満たさない場合には、置換部15は、通信フレーム内のFCS部の情報を変更する。すなわち、置換部15は、多ビット幅特徴値比較部131と単ビット幅特徴値比較部132のいずれかから合致信号を受信した場合(以下、「特徴値合致時」と記す)、当該通信フレームにおけるFCS部の値を反転させたり無効な値に書き換えたりする。無効な値とは、例えば0である。FCS部以外のフィールドについては、入力された値をそのまま出力する。
上記内容を踏まえて、置換部15の動作を説明する。置換部15は、多ビット幅バッファ121から出力される8ビットのデータ列を順に受信し、通常時にはそれをそのまま下流通信ポート16へ順に伝送する。ただし、いずれかの特徴値比較部131,132において所定ビット幅のデータ列が通過条件を満たさない場合には、置換部15は、通信フレーム内のFCS部の情報を変更する。すなわち、置換部15は、多ビット幅特徴値比較部131と単ビット幅特徴値比較部132のいずれかから合致信号を受信した場合(以下、「特徴値合致時」と記す)、当該通信フレームにおけるFCS部の値を反転させたり無効な値に書き換えたりする。無効な値とは、例えば0である。FCS部以外のフィールドについては、入力された値をそのまま出力する。
第2通信装置4では、通信中継装置1の下流通信ポート16を通じて当該通信フレームを受信し、ヘッダ部及びペイロード部の内容からFCSを検算する。このとき、特徴値合致時においては、FCS部の値が無効な値に書き換えられているため、受信したFCS値と検算したFCS値が異なり通信フレームは破棄される。この動作により、第2通信装置4が制御装置26であった場合、不正な通信フレームにより制御装置26がマルウェアに感染したり不正なポート経由での通信により異常な動作を起こしたりするような影響を防ぐことができる。したがって、通信フレームが制御装置26にとって有害なものであった場合でも、制御装置26の制御能力を損なうことを防止できる。
通信フレームにおいて、置換部15による書き換え対象は、ペイロード部内の特定の領域のデータ等、FCS部以外の部分であってもよい。なお、通信フレームの形式がIEEE802.3以外である場合も、当該通信フレームの誤り検出用符号が保持されたフィールドや、当該通信フレームの形式上特定の値が設定されることを期待されているフィールドなどを、書き換え対象とすることで、FCSと同様の効果が期待できる。
通信フレームにおいて、書き換え対象のビット列は、マッチングパターンとの照合が行われるビット列より後に位置することが好ましい。これにより、照合対象のビット列が各バッファを通過した後に、書き換え対象のビット列を書き換えることができる。なお、FCS部の情報を変更する方法として、置換部15が所定の加算値を出力し、FCS部にその加算値を加えてもよい。
[特徴値の設定及び更新]
次に、特徴値設定インターフェース17及び特徴値定義部18の動作について説明する。
特徴値設定インターフェース17は、パーソナルコンピューターなどの外部装置からの通信により遮断すべき通信内容に関する特徴値の情報を受け取り、その特徴値の情報を特徴値定義部18へ書き込むように構成されている。
次に、特徴値設定インターフェース17及び特徴値定義部18の動作について説明する。
特徴値設定インターフェース17は、パーソナルコンピューターなどの外部装置からの通信により遮断すべき通信内容に関する特徴値の情報を受け取り、その特徴値の情報を特徴値定義部18へ書き込むように構成されている。
特徴値定義部18は、RAM等の記憶素子から構成され、その特徴値の情報を多ビット幅マッチングパターン141及び単ビット幅マッチングパターン142へ転写する機能を持つ。この動作により、通信中継装置1で遮断すべき通信内容についての設定(マッチングパターン)を更新することができ、最新の脅威に対応させることができる。
なお、特徴値設定インターフェース17の具体的な実装はシリアルポート等の独立した形式でもよいし、上流通信ポート11と一体化され、制御システムネットワーク3を経由して特徴値を更新する構成であってもよい。
[第1の実施形態の効果]
このように構成された第1の実施形態は、単一のビット幅のみでバッファ及び特徴値比較部を構成した場合と比べ、マッチングパターンの粒度(比較処理の単位)に応じて各バッファ及び特徴値比較部の動作速度(動作周波数)を最適化することができる。例えば、バイナリ形式のシグネチャ(マルウェアに特徴的なパターン)検知では1ビットごとの照合が必要である。これに対し、ポート番号等の多ビット単位で通信フレーム上の出現位置が特定できるパターン(例えばワード)の検知においては、当該多ビット単位での照合でよく、不正な通信を検出するための好適な実装形式が異なる。それゆえ、第1の実施形態は、種種の不正な通信に対応しつつ、消費電力を低減することができる。
このように構成された第1の実施形態は、単一のビット幅のみでバッファ及び特徴値比較部を構成した場合と比べ、マッチングパターンの粒度(比較処理の単位)に応じて各バッファ及び特徴値比較部の動作速度(動作周波数)を最適化することができる。例えば、バイナリ形式のシグネチャ(マルウェアに特徴的なパターン)検知では1ビットごとの照合が必要である。これに対し、ポート番号等の多ビット単位で通信フレーム上の出現位置が特定できるパターン(例えばワード)の検知においては、当該多ビット単位での照合でよく、不正な通信を検出するための好適な実装形式が異なる。それゆえ、第1の実施形態は、種種の不正な通信に対応しつつ、消費電力を低減することができる。
例えば、入力される信号が100Mbpsであるとき、従来の方式ではすべてのバッファ及び特徴値比較部を100MHzで動かす必要がある。これに対し、本実施形態の通信中継装置1では、前述したように、単ビット幅バッファ122及び単ビット幅特徴値比較部132に対しては100MHzで動作させる必要があるが、8ビット幅に対応した多ビット幅バッファ121及び多ビット幅特徴値比較部131は、その1/8の12.5MHzの動作周波数で済む。例えば、通信フレームの照合ビット位置が4や8の倍数である場合は、多ビット幅バッファ121及び多ビット幅特徴値比較部131で照合する。
一般的に回路の消費電力は動作周波数に比例することから、1/8の動作周波数の回路を含む場合、すべての回路を100MHzで動作させるのに比べて消費電力を低減することができる。消費電力の低減は、放熱構造の簡易化などにつながるため、通信中継装置1の低コスト化にも寄与する。すなわち、多ビット幅バッファ121を設けることで、単ビット幅バッファ122よりも動作周波数を落とせるため、消費電力が小さく、また回路規模が小さい低コストの通信中継装置を実現できる。
ある通信フレームに対し判定すべきマッチングパターンが10パターンあり、そのうち8ビット幅マッチングパターンが5パターン、1ビット幅マッチングパターンが5パターンであるとする。従来は、8ビット幅と1ビット幅を含む10パターンの判定を、単ビット幅バッファ122及び単ビット幅特徴値比較部132で全て行うため、消費電力が増大していた。しかし、本実施形態では、8ビット幅対応の多ビット幅バッファ121及び多ビット幅特徴値比較部131で5個の8ビット幅マッチングパターンの比較処理を行い、1ビット幅対応の単ビット幅バッファ122及び単ビット幅特徴値比較部132で残りの5個の1ビット幅マッチングパターンの比較処理を行う。このように、判定すべきマッチングパターンのビット幅に応じて、比較処理を行うバッファ及び特徴値比較部を最適化することで、消費電力を大幅に削減することが可能になる。
また、本実施形態では、単ビット幅バッファ122側は、比較結果を単ビット幅特徴値比較部132から置換部15に通知するのみであり、多ビット幅バッファ121が上流通信ポート11から入力された通信フレーム内のデータ列を順に置換部15に出力する。このように、通信フレームのビット列の中継にビット幅のより大きい多ビット幅バッファ121を用いることで、単ビット幅バッファ122を用いる場合と比較して、ビット列の中継に掛かる消費電力を低減できる。
また、本実施形態によれば、既存の制御システムに後付けで、少なくとも消費電力が小さいセキュリティ対策能力を付与することが可能である。それゆえ、既存プラントの延命や改良に伴うセキュリティ対策の需要に応えることができる。
第2通信装置4が制御装置26である場合、通信フレームの特徴値を算出して判定する機能を、制御装置26に追加して、制御装置26の限られた処理能力を用いて実現することは困難である。本実施形態の通信中継装置1を制御装置26の外部に追加することにより、制御装置26を変更することなく、また制御装置26の負荷を増加させることなく、制御装置26への攻撃を防ぐことができる。
制御装置26への攻撃を意図する者は、攻撃対象の制御装置26における設計上ないし実装上の不備(脆弱性)を継続的に探し、それらを悪用した新たな攻撃手法を適用してくる恐れがある。長期にわたり稼働することが求められるインフラなどの制御システムでは、その稼働期間内において、新たな攻撃手法への防御策を継続して追加できることが望ましい。制御システムの稼働中に制御装置26を停止させることは困難であるため、制御装置26のプログラムの改修や、パッチ(修正プログラム)の適用などは困難である。本実施形態によれば、通信中継装置1に特徴値抽出ルールおよび通過条件を設定することにより、制御システムの動作を停止させることなく、新たな攻撃手法に対応することができる。
ところで、ストアアンドフォワード方式を用いる中継装置は、通信フレームのすべてを受信して格納し、通信フレームを通過させるか廃棄するかを判定し、通過させると判定された通信フレームのみを送信する。すなわち、この中継装置は、判定が完了するまで、通信フレームの送信を開始しない。したがって、通信フレームの長さなどによって中継の遅延時間は変動する。
一方、通信中継装置1は、通信フレームの各ビットを受信して各バッファに入力し、各バッファを通過させ、通過中の部分データにより通信フレームが正常か否かを判定し、異常であれば通信フレームの一部のビットを書き換え、受信した順に各ビットを送信する。すなわち、通信中継装置1は、連続して受信する複数の通信フレームを、通信フレームの長さや通信フレームの判定結果に関わらず、一定の遅延時間で第2通信装置4へ中継する。制御システムにおいては、短い周期で通信フレームが送信されるため、中継の遅延時間が一定であることが好ましい。
更に通信フレームが各バッファを通過する間にデータ列の一部を算出し、所定の通過条件と比較することで当該通信フレームの中継の有効/無効を判定することができる。判定の結果、当該通信フレームの中継が無効と判定された場合には、下流通信ポート16により当該通信フレームの先頭の送出が開始されていても、当該通信フレームの末尾のFCS部を書き換えることで、第2通信装置4にて当該通信フレームの受信を無効とし、破棄することができる。これにより、中継の遅延時間を増大させることなく通信フレームを遮断することができる。
<第1の実施形態の変形例>
第1の実施形態では記述を簡略にするために、適用される特徴値(ビット列のパターン)が多ビット幅及び単ビット幅でそれぞれ1つずつの場合を示したが、これらは複数の異なる特徴量をそれぞれのビット幅で適用できるようにしてもよい。一般的に、遮断すべき不正なパターンは多様化の一途をたどっており、多様なパターンに対応できるようにしておく必要がある。
第1の実施形態では記述を簡略にするために、適用される特徴値(ビット列のパターン)が多ビット幅及び単ビット幅でそれぞれ1つずつの場合を示したが、これらは複数の異なる特徴量をそれぞれのビット幅で適用できるようにしてもよい。一般的に、遮断すべき不正なパターンは多様化の一途をたどっており、多様なパターンに対応できるようにしておく必要がある。
また、本実施形態では、多ビット幅バッファと多ビット幅特徴値比較部を1組、並びに、単ビット幅バッファ及び単ビット幅特徴値比較部を1組設けた場合を示したが、この例に限らない。多ビット幅対応の回路と単ビット幅対応の回路をそれぞれ複数組備えてもよい。本発明では、複数組のバッファ及び特徴値比較部のうち、少なくとも1組のバッファ及び特徴値比較部のビット幅が1であり、かつ、少なくとも1組のバッファ及び特徴値比較部のビット幅が2以上であればよい。例えば、多ビット幅バッファ121に4ビット幅バッファを利用した場合、単ビット幅バッファと比較して消費電力が約1/4に低減するとともに、4ビット幅の標準のMII(media-independent interface)インターフェースと互換性を有するので変換回路が不要になる。4ビット幅対応の構成の場合は、動作周波数は25MHzとなる。
また、本実施形態では、保持している特徴値のいずれかに合致したときに当該特徴値を含む通信フレームを遮断する、いわゆるブラックリスト方式について説明したが、この例に限らない。通信中継装置1は、いわゆるホワイトリスト方式、すなわち、保持している特徴値のすべてに合致した場合にのみ当該特徴値を含む通信フレームを通過させ、それ以外はすべて遮断する方式で実装されていてもよい。
ブラックリスト方式の場合、通過条件は、複数の要素から構成された不正な通信を表すマッチングパターン(第1のパターン)に合致しないことである。特徴値比較部は、通信パターン内に第1のパターンと合致するデータ列が存在した場合に、合致信号を出力する。そして、置換部15は、いずれかの特徴値比較部から合致信号を受信すると、通信フレーム内のFCS部の値を書き換える。このような構成とした場合、ブラックリスト方式で照合するのが適当な通信フレームに対して良好な照合を行うことができる。
ホワイトリスト方式の場合、通過条件は、複数の要素から構成された不正な通信ではないことを表すマッチングパターン(第2のパターン)に合致することである。特徴値比較部は、通信パターン内の照合対象のすべてのデータ列が第2のパターンと合致するかいなかを判定し、判定結果を置換部15に通知する。そして、置換部15は、いずれかの特徴値比較部において、第2のパターンと合致しないデータ列が存在したと判定された場合には、置換部15は、通信フレーム内のFCS部の値を書き換える。このような構成とした場合、ホワイトリスト方式で照合するのが適当な通信フレームに対して良好な照合を行うことができる。
なお、制御システムネットワーク3においては、同じ形式や同じ長さの通信フレームが一定周期で送信されるという特徴がある。このような場合の通信フレームは、例えば、ペイロード中の固定長の値だけが変わるものや、スイッチのONまたはOFFを示すものである。このような場合、通過条件は通信フレームの受信時刻を用いてもよい。連続する二つの通信フレームのフレーム受信時刻の差であるフレーム受信間隔を特徴値とした場合、通過条件は、フレーム受信間隔が所定の時間範囲内にあることである。上述した各変形例は、第2の実施形態にも適用可能である。
<第2の実施形態>
第1の実施形態では、制御システムネットワーク3から到来する不正な通信から第2通信装置4を保護することができる。しかし、実際には、第2通信装置4が制御システムネットワーク3以外の経路でマルウェア感染等の攻撃を受け、第2通信装置4から制御システムネットワーク3に向かって不正な通信を送出するケースも考えられる。例えば、制御システムネットワーク3の内部からの不正な通信として、制御装置26に装着されたUSBメモリを介して制御システムネットワーク3に不正な通信が送信されることも考えられる。このような場合への対策として、通信の伝送方向を双方向に拡張し、第1の実施形態と逆向きに不正な通信が伝搬することを防止することが求められる。第2の実施形態では、第1の実施形態とは逆向きに不正な通信が伝搬することを防止する通信中継装置について説明する。
第1の実施形態では、制御システムネットワーク3から到来する不正な通信から第2通信装置4を保護することができる。しかし、実際には、第2通信装置4が制御システムネットワーク3以外の経路でマルウェア感染等の攻撃を受け、第2通信装置4から制御システムネットワーク3に向かって不正な通信を送出するケースも考えられる。例えば、制御システムネットワーク3の内部からの不正な通信として、制御装置26に装着されたUSBメモリを介して制御システムネットワーク3に不正な通信が送信されることも考えられる。このような場合への対策として、通信の伝送方向を双方向に拡張し、第1の実施形態と逆向きに不正な通信が伝搬することを防止することが求められる。第2の実施形態では、第1の実施形態とは逆向きに不正な通信が伝搬することを防止する通信中継装置について説明する。
図4は、第2の実施形態に係る通信中継装置1Aの概略構成例を示すブロック図である。通信中継装置1Aは、第1中継部40a及び第2中継部40bの2つの中継部を含む。制御システムネットワーク3から第2通信装置4へ伝送される通信フレームの経路(便宜的に「下り」という)と、逆に第2通信装置4から制御システムネットワーク3へ伝送される通信フレームの経路(便宜的に「上り」という)とに、それぞれ第1中継部40a及び第2中継部40bが挿入されている。第1中継部40aは下り方向の通信フレームを中継し、第2中継部40bは上り方向の通信フレームを中継する。第1中継部40a及び第2中継部40bのそれぞれは、第1の実施形態で述べた通信中継装置1と同様の構成を有する。
第1実施形態と同様、第1通信装置2から下り方向に伝送される通信フレームのうち、第1中継部40aによりFCSフィールドの値を無効値に置換された通信フレームは、第2通信装置4により廃棄される。同様に、第2通信装置4から上り方向に伝送される通信フレームのうち、第2中継部40bによりFCSフィールドの値を無効値に置換された通信フレームは、例えば宛先が第1通信装置2であった場合、第1通信装置2により廃棄される。これにより、下り方向、すなわち制御システムネットワーク3から到来する不正な通信から第2通信装置4を保護する機能に加え、上り方向、すなわち第2通信装置4から送出される不正な通信から制御システムネットワーク3に接続された機器を保護する機能を実現することができる。
このとき、第1中継部40a及び第2中継部40bは、それぞれに異なるマッチングパターンを設定することができる。すなわち、多ビット幅マッチングパターン141を、第1中継部40aと第2中継部40bで異なるパターンにしてもよい。同様に、単ビット幅マッチングパターン142を、第1中継部40aと第2中継部40bで異なるパターンにしてもよい。これにより、上り経路と下り経路で異なるマッチングパターン(通過条件)を定義することができる。この場合、上り経路と下り経路のそれぞれにおける脅威の傾向に応じて柔軟な対策を講じることができる。
なお、第1中継部40a内の上流通信ポート11と第2中継部40b内の下流通信ポート16とが一つの通信ポートであってもよく、第2中継部40b内の上流通信ポート11と第1中継部40a内の下流通信ポート16とが一つの通信ポートであってもよい。また、第1中継部40aと第2中継部40bが互いに異なる筺体に設けられていてもよい。
また、第1中継部40aと第2中継部40bで、特徴値設定インターフェース17及び特徴値定義部18(それぞれ図2参照)を共通としてもよい。すなわち、第1中継部40aと第2中継部40bは、特徴値設定インターフェース17及び特徴値定義部18を備えない。管理者は、通信中継装置1Aの特徴値設定インターフェース17及び特徴値定義部18を介して特徴値(多ビット幅マッチングパターン、単ビット幅マッチングパターン)を、第1中継部40aと第2中継部40bに個別に又は一斉に設定する。通信中継装置1Aにおいて、下り経路と上り経路とに共通の特徴値を用いることにより、下り経路と上り経路とに異なる特徴値を用いる場合に比べて、特徴値の設定の工数を削減できる。
上述した第1及び第2の実施形態に係る通信中継装置1,1Aの動作は、ハードウェアによって行われてもよく、ソフトウェアによって行われてもよい。図5は、ソフトウェアによって行われる場合に、通信中継装置1,1Aが備えるコンピューター50のハードウェア構成例のブロック図を示す。通信中継装置1Aの第1中継部40a及び第2中継部40bのコンピューター50のハードウェア構成は、通信中継装置1と同様の構成とすることができる。
コンピューター50は、CPU(Central Processing Unit)51、ROM(Read Only Memory)52、RAM(Random Access Memory)53、不揮発性ストレージ55、第1通信インターフェース56、及び第2通信インターフェース57を備える。通信中継装置1内の各部は、システムバス54を介して相互にデータの送受信が可能に接続されている。
CPU51、ROM52、及びRAM53は制御部を構成する。この制御部は、通信中継装置1全体又は通信中継装置1A内の各部の動作を制御する。CPU51は、上述した各実施形態に係る各機能を実現するソフトウェアのプログラムコードをROM52から読み出して実行し、各部の制御や各種の演算を行う。なお、CPU51に代えて、MPU(Micro Processing Unit)等の他の演算処理装置を用いてもよい。
ROM52は、不揮発性メモリ(記録媒体)の一例として用いられ、ROM52にはCPU51が動作するために必要なプログラムやデータ等が記憶される。RAM53は、揮発性メモリの一例として用いられ、RAM53にはCPU51による演算処理の途中に発生した変数やパラメータ等が一時的に記憶される。
不揮発性ストレージ55は、記録媒体の一例であり、CPU51が実行するプログラムやOS(Operating System)等のプログラム、テーブル、ファイル等の情報を記憶することが可能である。不揮発性ストレージ55には、例えば半導体メモリやハードディスク、SSD(Solid State Drive)等の記録装置、又は磁気や光を利用することができる。なお、プログラムは、ローカルエリアネットワーク(LAN)、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供されてもよい。
第1通信インターフェース56には、例えばNICやモデム等が用いられ、端子が接続されたLAN等のネットワーク又は専用線等を介して、外部装置との間で各種のデータを送受信することが可能に構成されている。例えば、第1通信インターフェース56は、上流通信ポート11に相当する。
第2通信インターフェース57には、例えばNICやモデム等が用いられ、端子が接続されたLAN等のネットワーク又は専用線等を介して、外部装置との間で各種のデータを送受信することが可能に構成されている。例えば、第2通信インターフェース57は、下流通信ポート16に相当する。
なお、コンピューター50に、表示部及び操作部を設け、監視員が表示部に表示された内容を確認して操作部を通じて必要な情報を入力できるように構成してもよい。表示部は、例えば液晶ディスプレイモニタであり、GUI画面やCPU51で行われた処理の結果等を表示する。操作部には、例えば、マウスやタッチパネル等のポインティングデバイス、キーボードなどが用いられる。監視員は、操作部に所定の操作を行い、指示を入力することが可能である。操作部は、監視員の操作に応じた入力信号を生成してCPU51へ供給する。
さらに、本発明は上述した各実施形態例に限られるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、その他種々の応用例、変形例を取り得ることは勿論である。
例えば、上述した実施形態例は本発明を分かりやすく説明するために通信中継装置の構成を詳細かつ具体的に説明したものであり、必ずしも説明した全ての構成要素を備えるものに限定されない。また、ある実施形態例の構成の一部を他の実施形態例の構成要素に置き換えることは可能である。また、ある実施形態例の構成に他の実施形態例の構成要素を加えることも可能である。また、各実施形態例の構成の一部について、他の構成要素の追加、削除、置換をすることも可能である。
また、上記の各構成、機能、処理部等は、それらの一部又は全部を、例えば集積回路で設計するなどによりハードウェアで実現してもよい。また、ある処理部により実施される処理が、1つのハードウェアにより実現されてもよいし、複数のハードウェアによる分散処理により実現されてもよい。
また、上述した実施形態において、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成要素が相互に接続されていると考えてもよい。
1,1A…通信中継装置、 2…第1通信装置、 3…制御システムネットワーク、 4…第2通信装置、 11…上流通信ポート、 15…置換部、 16…下流通信ポート、 18…特徴値定義部、 40a…第1中継部、 40b…第2中継部、 121…多ビット幅バッファ、 122…単ビット幅バッファ、 131…多ビット幅特徴値比較部、 132…単ビット幅特徴値比較部、 141…多ビット幅マッチングパターン、 142…単ビット幅マッチングパターン
Claims (7)
- 第1通信装置より送信される通信フレーム内の複数の要素を順に受信する受信部と、
前記受信部が受信した前記通信フレーム内の複数の要素を順次記憶及び出力する、動作単位の要素数と動作速度の組み合わせが異なる複数のバッファ部と、
前記バッファ部ごとに設けられ、前記バッファ部の要素数に対応する要素と前記バッファ部の通過条件とを比較する複数の比較部と、
前記複数の要素を順に伝送し、いずれかの前記比較部において前記要素数に対応する要素が前記通過条件を満たさない場合、前記通信フレーム内の第1領域に対応する要素を変更する変更部と、
前記変更部から伝送される前記複数の要素を順に第2通信装置へ送信する送信部と、を備える
通信中継装置。 - 前記複数のバッファ部における各々の前記動作単位の要素数と前記動作速度の積が同一又は実質的に同一の値である
請求項1に記載の通信中継装置。 - 複数の前記バッファ部のうち、少なくとも1つのバッファ部の前記要素数が1であり、かつ、少なくとも1つのバッファ部の前記要素数が2以上である
請求項2に記載の通信中継装置。 - 複数の前記バッファ部のうち前記要素数のより大きいバッファ部が、前記受信部から入力された前記通信フレーム内の複数の要素を順に前記変更部に出力する
請求項2に記載の通信中継装置。 - 前記バッファ部の各々は、シフトレジスタで構成される
請求項2に記載の通信中継装置。 - 前記通信フレーム内の前記第1領域に対応する要素は、誤り検査符号である
請求項2に記載の通信中継装置。 - 前記通過条件は、複数の要素から構成された不正な通信ではないことを表す第2のパターンに合致することであり、いずれかの前記比較部において、前記要素数に対応する要素が前記第2のパターンと合致しない場合には、前記変更部は、前記通信フレーム内の前記第1領域に対応する要素を変更する
請求項1乃至6のいずれか一項に記載の通信中継装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018156014A JP2020031342A (ja) | 2018-08-23 | 2018-08-23 | 通信中継装置 |
PCT/JP2019/023219 WO2020039705A1 (ja) | 2018-08-23 | 2019-06-12 | 通信中継装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018156014A JP2020031342A (ja) | 2018-08-23 | 2018-08-23 | 通信中継装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020031342A true JP2020031342A (ja) | 2020-02-27 |
Family
ID=69592579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018156014A Pending JP2020031342A (ja) | 2018-08-23 | 2018-08-23 | 通信中継装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2020031342A (ja) |
WO (1) | WO2020039705A1 (ja) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5730793B2 (ja) * | 2012-01-17 | 2015-06-10 | アラクサラネットワークス株式会社 | ネットワーク中継装置およびその制御方法 |
JP6234804B2 (ja) * | 2013-12-19 | 2017-11-22 | 株式会社日立製作所 | 通信中継装置 |
-
2018
- 2018-08-23 JP JP2018156014A patent/JP2020031342A/ja active Pending
-
2019
- 2019-06-12 WO PCT/JP2019/023219 patent/WO2020039705A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2020039705A1 (ja) | 2020-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210312043A1 (en) | Vehicle communications bus data security | |
US8683224B2 (en) | Processor-implemented method for ensuring software integrity | |
US20200380121A1 (en) | Snooping invalidation and snooping detection device and method | |
CN111444519B (zh) | 保护日志数据的完整性 | |
Yu et al. | Exploiting error control approaches for hardware trojans on network-on-chip links | |
KR20170143006A (ko) | 네트워크 환경에서의 악성 스크립트 언어 코드의 검출 | |
EP3544262A1 (en) | Method of improving security in a factory automation network | |
US9160539B1 (en) | Methods and apparatus for secure, stealthy and reliable transmission of alert messages from a security alerting system | |
US11714474B2 (en) | Clock control to increase robustness of a serial bus interface | |
US8438641B2 (en) | Security protocol processing for anti-replay protection | |
Olufowobi et al. | Controller area network intrusion prevention system leveraging fault recovery | |
JP6234804B2 (ja) | 通信中継装置 | |
WO2020039705A1 (ja) | 通信中継装置 | |
US10956356B1 (en) | Clock control to increase robustness of a serial bus interface | |
JP2019125914A (ja) | 通信装置及びプログラム | |
Nasser et al. | Exploiting AUTOSAR safety mechanisms to launch security attacks | |
US20240169098A1 (en) | Secure Chip-Wide Transmission | |
US20230146633A1 (en) | Systems and methods for secure communication between computing devices over an unsecured network | |
US20230418936A1 (en) | Security subsystem for execution verification | |
US20230418985A1 (en) | Security subsystem for remote attestation | |
US10331887B2 (en) | Embedded system | |
CN117492515A (zh) | 时钟频率检测单元、方法、处理单元和计算系统 | |
Doroski | Integrity Verification for SCADA Devices Using Bloom Filters and Deep Packet Inspection | |
JP2023519910A (ja) | 特に自動車におけるデータの異常を処理するための方法 | |
CN117786699A (zh) | 芯片初始化方法、装置、模块、电子设备和存储介质 |