以下、本開示の実施の形態について、図面を参照しながら詳細に説明する。なお、図中同一又は相当部分には同一符号を付す。
(実施の形態)
図1は、実施の形態に係る通信システム1000の構成を示す図である。図1に示すように、通信システム1000は、通信アダプタ100と、ビル管理システム200と、空調システム300とを備える。通信アダプタ100は、ビル管理システム200と空調システム300との通信を中継する装置である。具体的には、通信アダプタ100は、第1通信プロトコルに従って相互に通信する機器を備えるビル管理システム200と第1通信プロトコルとは異なる第2通信プロトコルに従って相互に通信する機器を備える空調システム300とを相互に接続する。
つまり、通信アダプタ100は、ビル管理システム200から空調システム300に向けて送信された第1通信プロトコルに従ったデータを、第2通信プロトコルに従ったデータに変換して空調システム300に転送する。また、通信アダプタ100は、空調システム300からビル管理システム200に向けて送信された第2通信プロトコルに従ったデータを、第1通信プロトコルに従ったデータに変換してビル管理システム200に転送する。ビル管理システム200は、第1システムの一例である。空調システム300は、第2システムの一例である。
通信アダプタ100は、通信システム1000がDoS攻撃を受けた場合においても、通信システム1000全体としてなるべく通常の動作が維持されるように動作する。本実施の形態では、通信アダプタ100は、ビル管理システム200がDoS攻撃を受けた場合においても、空調システム300が通常の動作を維持できるように、ビル管理システム200から空調システム300へのデータの転送を制限する。
DoS攻撃は、情報セキュリティにおける可用性を侵害する攻撃手法である。DoS攻撃は、ウェブサービスを稼働しているサーバ又はネットワークなどのリソースに意図的に過剰な負荷をかけたり脆弱性をついたりすることでサービスを妨害する攻撃手法である。DoS攻撃には、大量のマシンから1つのサービスに、一斉にDoS攻撃を仕掛けるDDoS攻撃(Distributed Denial of Service attack)という類型がある。DDoS攻撃は、複数のシステムを使用して、サーバ、ネットワークデバイス、又はトラフィックとリンクして、利用可能なリソースを圧倒し、正当なユーザに応答できないようにする攻撃である。DDoS攻撃の類型として、協調型Dos攻撃と呼ばれる第1の類型と、DRDoS攻撃(Distributed Reflective Denial of Service attack)と呼ばれる第2の類型とがある。
協調型Dos攻撃は、攻撃者が大量のマシンを不正に乗っ取った上で、これらのマシンから一斉にDos攻撃を仕掛けるDoS攻撃である。DRDoS攻撃は、攻撃者が攻撃対象のマシンになりすまして大量のマシンに何らかのリクエストを一斉に送信することにより、攻撃対象のマシンに高負荷をかけるDoS攻撃である。DRDoS攻撃では、リクエストを受け取ったマシンが攻撃対象のマシンに向かって一斉に返答を返すため、攻撃対象のマシンには大量の返答が集中する。
本実施の形態では、ビル管理システム200がDoS攻撃を受け、ビル管理システム200が備える機器が、空調システム300が備える機器に大量のコマンドを発行する場合を想定する。本実施の形態に係る通信アダプタ100は、この大量のコマンドの転送を制限する役割を果たす。図1に示すように、通信アダプタ100は、制御部11と、記憶部12と、表示部13と、操作受付部14と、ビル管理通信インターフェース15と、空調通信インターフェース16とを備える。
制御部11は、通信アダプタ100全体の動作を制御する。制御部11は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、RTC(Real Time Clock)等を備える。CPUは、中央処理装置、中央演算装置、プロセッサ、マイクロプロセッサ、マイクロコンピュータ、DSP(Digital Signal Processor)等とも呼び、通信アダプタ100の制御に係る処理及び演算を実行する中央演算処理部として機能する。制御部11において、CPUは、ROMに格納されているプログラム及びデータを読み出し、RAMをワークエリアとして用いて、通信アダプタ100を統括制御する。RTCは、例えば、計時機能を有する集積回路である。なお、CPUは、RTCから読み出される時刻情報から現在日時を特定可能である。
記憶部12は、フラッシュメモリ、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)等の不揮発性の半導体メモリを備えており、いわゆる二次記憶装置又は補助記憶装置としての役割を担う。記憶部12は、制御部11が各種処理を実行するために使用するプログラム及びデータを記憶する。また、記憶部12は、制御部11が各種処理を実行することにより生成又は取得するデータを記憶する。
表示部13は、制御部11による制御に従って、各種の画像を表示する。表示部13は、タッチスクリーン、液晶ディスプレイ等を備える。操作受付部14は、ユーザから各種の操作を受け付け、受け付けた操作の内容を示す情報を制御部11に供給する。操作受付部14は、タッチスクリーン、ボタン、レバー等を備える。
ビル管理通信インターフェース15は、ビル管理通信方式で通信するための通信インターフェースである。ビル管理通信方式は、ビル管理システム200で使用されている通信方式であり、第1通信プロトコルに従った通信方式である。ビル管理通信インターフェース15は、ビル管理システム200が備えるビル管理通信バス250に接続される。
空調通信インターフェース16は、空調通信方式で通信するための通信インターフェースである。空調通信方式は、空調システム300で使用されている通信方式であり、第2通信プロトコルに従った通信方式である。空調通信インターフェース16は、空調システム300が備える空調通信バス350に接続される。
ビル管理システム200は、ビルを管理するためのシステムである。ビル管理システム200は、ビル管理コントローラ201と、照明設備210と、昇降機設備220とを備える。ビル管理コントローラ201と照明設備210と昇降機設備220とは、ビル管理通信バス250を介して相互に接続される。ビル管理通信バス250は、ビル管理システム200が備える各機器を相互に接続するためのバスである。ビル管理通信バス250は、第1通信プロトコルに従って各機器が通信するためのバスである。第1通信プロトコルは、例えば、他者が利用しやすいオープンなプロトコルである。従って、ビル管理システム200は、DOS攻撃の対象になりやすい。
ビル管理コントローラ201は、ビル管理システム200全体の動作を制御する。例えば、ビル管理コントローラ201は、ビル管理通信バス250を介して照明設備210と昇降機設備220とを制御又は監視する。また、ビル管理コントローラ201は、ビル管理通信バス250に接続された通信アダプタ100を介して、空調システム300を制御又は監視する。ビル管理コントローラ201は、CPU、ROM、RAM、RTC等を備える制御部(図示せず)と、フラッシュメモリ、EPROM、EEPROM等を備える記憶部(図示せず)と、ビル管理通信インターフェース15と同様の通信インターフェース(図示せず)とを備える。
照明設備210は、ビルの内部又はビルの周辺を照明する設備である。照明設備210は、照明コントローラ211と、照明機器(図示せず)と、リモートコントローラ(図示せず)とを備える。照明コントローラ211は、ビル管理コントローラ201又はリモートコントローラによる制御に従って照明機器を制御する。照明コントローラ211は、ビル管理通信バス250を介して、通信アダプタ100とビル管理コントローラ201と昇降機コントローラ221とに接続される。照明コントローラ211は、CPU、ROM、RAM、RTC等を備える制御部(図示せず)と、フラッシュメモリ、EPROM、EEPROM等を備える記憶部(図示せず)と、ビル管理通信インターフェース15と同様の通信インターフェース(図示せず)とを備える。
昇降機設備220は、ビルに設けられた昇降機の設備である。昇降機設備220は、昇降機コントローラ221と、昇降機(図示せず)と、リモートコントローラ(図示せず)とを備える。昇降機コントローラ221は、ビル管理コントローラ201又はリモートコントローラによる制御に従って昇降機を制御する。昇降機コントローラ221は、ビル管理通信バス250を介して、通信アダプタ100とビル管理コントローラ201と照明コントローラ211とに接続される。昇降機コントローラ221は、CPU、ROM、RAM、RTC等を備える制御部(図示せず)と、フラッシュメモリ、EPROM、EEPROM等を備える記憶部(図示せず)と、ビル管理通信インターフェース15と同様の通信インターフェース(図示せず)とを備える。
空調システム300は、空調対象の部屋の空気を調和するシステムである。空調システム300は、リモートコントローラ301と、室外機302と、室内機303と、室内機304とを備える。通信アダプタ100とリモートコントローラ301と室外機302と室内機303と室内機304とは、空調通信バス350を介して相互に接続される。空調通信バス350は、空調システム300が備える各機器を相互に接続するためのバスである。空調通信バス350は、第2通信プロトコルに従って各機器が通信するためのバスである。第2通信プロトコルは、例えば、他者が利用しにくい独自のプロトコルである。従って、空調システム300は、DOS攻撃の対象になりにくい。
リモートコントローラ301は、空調システム300全体の動作を制御する。例えば、リモートコントローラ301は、ユーザ又はビル管理コントローラ201による指示に従って、室外機302と室内機303と室内機304とを制御又は監視する。なお、リモートコントローラ301は、空調通信バス350に接続された通信アダプタ100を介して、ビル管理コントローラ201に接続される。リモートコントローラ301は、CPU、ROM、RAM、RTC等を備える制御部(図示せず)と、フラッシュメモリ、EPROM、EEPROM等を備える記憶部(図示せず)と、空調通信インターフェース16と同様の通信インターフェース(図示せず)と、各種の情報を表示する表示部(図示せず)と、ユーザからの操作を受け付ける操作受付部(図示せず)とを備える。
室外機302は、リモートコントローラ301による制御に従って室内の空気を調和する設備機器のうち室外に設置される設備機器である。室内の空気を調和することは、室内の空気の温度、湿度、空気清浄度等を調整することである。室外機302は、リモートコントローラ301による制御に従って、冷媒を介して室内機303及び室内機304との間で熱エネルギーを授受する。室外機302は、CPU、ROM、RAM、RTC等を備える制御部(図示せず)と、フラッシュメモリ、EPROM、EEPROM等を備える記憶部(図示せず)と、空調通信インターフェース16と同様の通信インターフェース(図示せず)とを備える。
室内機303と室内機304とは、リモートコントローラ301による制御に従って室内の空気を調和する設備機器のうち室内に設置される設備機器である。室内機303と室内機304とは、リモートコントローラ301による制御に従って、冷媒を用いて生成した調和空気を室内に吹き出す。調和空気は、室内の空気を調和するための空気であり、基本的に、暖房空気又は冷房空気である。室内機303と室内機304とは、CPU、ROM、RAM、RTC等を備える制御部(図示せず)と、フラッシュメモリ、EPROM、EEPROM等を備える記憶部(図示せず)と、空調通信インターフェース16と同様の通信インターフェース(図示せず)とを備える。
次に、図2を参照して、通信アダプタ100の機能的な構成について説明する。通信アダプタ100は、機能的には、プロトコル変換部101と、転送部102と、閾値決定部103と、通知部104とを備える。これらの各機能は、ソフトウェア、ファームウェア、又は、ソフトウェアとファームウェアとの組み合わせによって実現される。ソフトウェア及びファームウェアは、プログラムとして記述され、ROM又は記憶部12に格納される。そして、CPUが、ROM又は記憶部12に記憶されたプログラムを実行することによって、これらの各機能を実現する。
プロトコル変換部101は、ビル管理システム200から受信した第1通信プロトコルに従ったデータを第2通信プロトコルに従ったデータに変換する。また、プロトコル変換部101は、空調システム300から受信した第2通信プロトコルに従ったデータを第1通信プロトコルに従ったデータに変換する。なお、通信アダプタ100が、ビル管理システム200が備える機器からデータを受信することを、適宜、通信アダプタ100が、ビル管理システム200からデータを受信するという。また、通信アダプタ100が、空調システム300が備える機器にデータを送信することを、適宜、通信アダプタ100が、空調システム300にデータを送信するという。
本実施の形態では、通信アダプタ100がビル管理システム200又は空調システム300から受信するデータはコマンドである。なお、通信アダプタ100は、ビル管理システム200が空調システム300に向けて送信したデータをビル管理システム200から受信し、空調システム300に転送する。また、通信アダプタ100は、空調システム300がビル管理システム200に向けて送信したデータを空調システム300から受信し、ビル管理システム200に転送する。コマンドとしては、制御を指示するための制御コマンド、データの送信を要求するための要求コマンド、送信元に対して応答するための応答コマンド等がある。プロトコル変換部101は、変換手段の一例である。
転送部102は、通信アダプタ100がビル管理システム200から受信し、プロトコル変換部101により変換されたデータを、空調システム300に転送する。つまり、転送部102は、ビル管理通信インターフェース15がビル管理システム200から受信した第1通信プロトコルに従ったデータをプロトコル変換部101に供給する。そして、転送部102は、プロトコル変換部101による変換により得られた第2通信プロトコルに従ったデータを、空調通信インターフェース16を介して空調システム300に供給する。
また、転送部102は、通信アダプタ100が空調システム300から受信し、プロトコル変換部101により変換されたデータを、ビル管理システム200に転送する。つまり、転送部102は、空調通信インターフェース16が空調システム300から受信した第2通信プロトコルに従ったデータをプロトコル変換部101に供給する。そして、転送部102は、プロトコル変換部101による変換により得られた第1通信プロトコルに従ったデータを、ビル管理通信インターフェース15を介してビル管理システム200に供給する。転送部102は、転送手段の一例である。
転送部102は、転送制限条件が満たされる場合、空調システム300へのデータの転送を制限する。転送制限条件は、直近の予め定められた期間におけるビル管理システム200からのデータの受信状況に関する条件である。転送制限条件は、データの転送を制限するか否かを判別するための条件である。言い換えれば、転送制限条件は、ビル管理システム200がDOS攻撃を受けている異常な状態であるか否かを判別するための条件である。転送制限条件は、適宜、調整することができる。また、空調システム300へのデータの転送を制限する手法は、適宜、調整することができる。
なお、空調システム300へのデータの転送を制限することは、通信アダプタ100がビル管理システム200から受信したデータのうち少なくとも一部のデータを空調システム300に転送しないことを意味する。データを転送しないことは、データを破棄することを意味する。転送部102は、転送手段の一例である。
転送制限条件としては、第1転送制限条件、第2転送制限条件、第3転送制限条件及び第4転送制限条件がある。第1転送制限条件は、第1受信頻度が第1閾値を超えるという条件である。第1受信頻度は、直近の第1期間において通信アダプタ100がビル管理システム200からデータを受信した頻度である。第1閾値は、第1受信頻度を判別するための閾値である。第1期間の長さと第1閾値とは、適宜、調整することができる。本実施の形態では、第1期間の長さは1分であり、第1閾値は100コマンド/分である。第1転送制限条件は、通信アダプタ100がビル管理システム200から短期間に多数のコマンドを受信したときに満たされる。
転送部102は、第1転送制限条件が満たされる場合、通信アダプタ100がビル管理システム200から受信したデータのうち少なくとも一部のデータを空調システム300に転送しない。データの転送を制限する手法は、適宜、調整することができる。例えば、転送部102は、通信アダプタ100がビル管理システム200から受信したデータのうち一部のデータを破棄してもよい。つまり、転送部102は、第1転送制限条件が満たされる場合、ビル管理システム200から受信したデータを間引き、間引かれなかったデータのみを空調システム300に転送してもよい。
例えば、転送部102は、データの種類毎の転送頻度がデータの種類毎に予め定められた転送頻度を超えないように、各種類のデータを転送してもよい。例えば、転送部102は、データの種類毎に定められた単位時間内で最新のデータのみを転送する。このように、転送部102は、短期間で急増した種類のデータについては、データを間引いて転送する。
なお、データを分類する手法は、適宜、調整することができる。例えば、データが空調システム300に対するコマンドである場合を想定する。冷房の開始を指示するコマンド、暖房の開始を指示するコマンド等の空調制御コマンドは、同じ種類のデータとして扱われてもよい。また、設定温度を20℃に設定するコマンド、設定温度を25℃に設定するコマンド等の温度設定コマンドは、同じ種類のデータとして扱われてもよい。また、設定温度の送信を要求するコマンド、設定湿度の送信を要求するコマンド等の設定取得コマンドは、同じ種類のデータとして扱われてもよい。一方、空調制御コマンドと温度設定コマンドと設定取得コマンドとは異なる種類のデータとして扱われてもよい。なお、データを分類する粒度は、上述した粒度よりも大きくてもよいし、上述した粒度よりも小さくてもよい。
閾値決定部103は、転送制限条件に関する各種の閾値を決定する。閾値決定部103は、第1閾値決定部1031と、第2閾値決定部1032と、第3閾値決定部1033と、第4閾値決定部1034とを備える。
第1閾値決定部1031は、第1履歴情報に基づいて、第1基準受信頻度を求め、第1基準受信頻度に基づいて第1閾値を決定する。第1履歴情報は、通信アダプタ100がビル管理システム200から受信したデータの受信時刻を示す情報である。第1履歴情報は、後述するコマンド履歴情報のうちコマンドの受信時刻を示す情報である。第1基準受信頻度は、第1期間よりも前の期間において通信アダプタ100がビル管理システム200からデータを受信した頻度である。本実施の形態では、第1期間よりも前の期間は、第1期間よりも前の1週間である。
第1閾値決定部1031は、第1受信頻度が第1基準受信頻度よりも大幅に高いときに第1転送制限条件が満たされるように第1閾値を決定する。つまり、第1閾値決定部1031は、第1基準受信頻度よりも大幅に高い頻度を第1閾値に決定する。例えば、第1閾値決定部1031は、第1基準受信頻度が10コマンド/分である場合、100コマンド/分を第1閾値に決定する。第1閾値決定部1031は、第1閾値決定手段の一例である。
図3に、記憶部12に記憶されるコマンド履歴情報を示す。コマンド履歴情報は、通信アダプタ100がビル管理システム200から受信したコマンドの履歴を示す情報である。コマンド履歴情報は、例えば、通信アダプタ100がビル管理システム200からコマンドを受信する毎に、転送部102により更新される。コマンド履歴情報は、コマンド毎に、コマンドの送信先と、コマンドの送信元と、コマンドの種類と、コマンドの受信時刻とを示す情報である。
コマンドの送信先は、空調システム300が備える機器のうち通信アダプタ100が転送したコマンドを受信する機器である。コマンドの送信先は、空調通信バス350に接続された機器であり、リモートコントローラ301、室外機302、室内機303、室内機304等である。コマンドの送信元は、ビル管理システム200が備える機器のうち通信アダプタ100が転送するコマンドを送信した機器である。コマンドの送信元は、ビル管理通信バス250に接続された機器であり、ビル管理コントローラ201、照明コントローラ211、昇降機コントローラ221等である。
コマンドの種類は、コマンドの分類結果であり、設定取得、空調制御、温度設定等である。コマンドの受信時刻は、通信アダプタ100がビル管理システム200からコマンドを受信した時刻である。転送部102は、通信アダプタ100がコマンドを受信する毎に、コマンドの送信先とコマンドの送信元とコマンドの種類とコマンドの受信時刻とを示すレコードをコマンド履歴情報に追加する。
第2転送制限条件は、第2受信頻度が第2閾値を超えるという条件である。第2受信頻度は、直近の第2期間において通信アダプタ100がビル管理システム200から第1種類のデータを受信した頻度である。第2閾値は、第2受信頻度を判別するための閾値である。第2期間の長さと第2閾値とは、適宜、調整することができる。本実施の形態では、第2期間の長さは10分であり、第2閾値は60コマンド/10分である。第2転送制限条件は、通信アダプタ100がビル管理システム200から短期間に多数の第1種類のコマンドを受信したときに満たされる。
本実施の形態では、全ての種類のコマンドのそれぞれが第1種類のコマンドであり、コマンドの種類毎に第2閾値が設定される。つまり、本実施の形態では、全ての種類のコマンドのそれぞれについて、第2受信頻度が第2閾値を超えるか否かが判定される。従って、本実施の形態では、第2転送制限条件は、通信アダプタ100がビル管理システム200から短期間に多数の同じ種類のコマンドを受信したときに満たされる。
転送部102は、第2転送制限条件が満たされる場合、通信アダプタ100がビル管理システム200から受信した第1種類のデータのうち少なくとも一部のデータを空調システム300に転送しない。データの転送を制限する手法は、適宜、調整することができる。例えば、転送部102は、単位時間内に転送する第1種類のデータの個数を1つに制限し、第1種類のデータについては、単位時間内で最新のデータのみを転送してもよい。つまり、転送部102は、短期間に大量に受信された第1種類のデータについては、データを間引いて転送してもよい。
例えば、温度設定コマンドについて、第2受信頻度が1コマンド/秒、つまり、600コマンド/10分であり、第2閾値が60コマンド/10分である場合を想定する。この場合、転送部102は、温度設定コマンドについては、例えば、データの転送頻度が、60コマンド/10分、つまり、1コマンド/10秒になるように、データの転送を制限する。例えば、転送部102は、温度設定コマンドについては、10秒毎に最新の温度設定コマンドのみを空調システム300に転送する。
第2閾値決定部1032は、第2履歴情報に基づいて第2基準受信頻度を求め、第2基準受信頻度に基づいて第2閾値を決定する。第2履歴情報は、通信アダプタ100がビル管理システム200から受信したデータの種類とデータの受信時刻とを示す情報である。第2履歴情報は、図3に示すコマンド履歴情報のうちコマンドの種類とコマンドの受信時刻とを示す情報である。第2基準受信頻度は、第2期間よりも前の期間において通信アダプタ100がビル管理システム200から第1種類のデータを受信した頻度である。本実施の形態では、第2期間よりも前の期間は、第2期間よりも前の1週間である。
第2閾値決定部1032は、コマンドの種類毎に、第2受信頻度が第2基準受信頻度よりも大幅に高いときに第2転送制限条件が満たされるように第2閾値を決定する。例えば、第2閾値決定部1032は、第1種類のコマンドについて、第2基準受信頻度が1コマンド/10分である場合、60コマンド/10分を第2閾値に決定する。第2閾値決定部1032は、第2閾値決定手段の一例である。
第3転送制限条件は、第3受信頻度が第3閾値を超えるという条件である。第3受信頻度は、直近の第3期間において通信アダプタ100がビル管理システム200内における第1送信元からデータを受信した頻度である。第3閾値は、第3受信頻度を判別するための閾値である。第3期間の長さと第3閾値とは、適宜、調整することができる。本実施の形態では、第3期間の長さは10分であり、第3閾値は60コマンド/10分である。第3転送制限条件は、通信アダプタ100が第1送信元から短期間に多数のコマンドを受信したときに満たされる。
本実施の形態では、ビル管理システム200が備える全ての送信元のそれぞれが第1送信元であり、送信元毎に第3閾値が設定される。つまり、本実施の形態では、全ての送信元のそれぞれについて、第3受信頻度が第3閾値を超えるか否かが判定される。従って、本実施の形態では、第3転送制限条件は、通信アダプタ100が同じ送信元から短期間に多数のコマンドを受信したときに満たされる。
転送部102は、第3転送制限条件が満たされる場合、通信アダプタ100が第1送信元から受信したデータを空調システム300に転送しない。例えば、ビル管理コントローラ201について、第3受信頻度が100コマンド/分、つまり、1000コマンド/10分であり、第3閾値が60コマンド/10分である場合を想定する。この場合、転送部102は、ビル管理コントローラ201から受信したデータを空調システム300に転送しない。
第3閾値決定部1033は、第3履歴情報に基づいて第3基準受信頻度を求め、第3基準受信頻度に基づいて第3閾値を決定する。第3履歴情報は、通信アダプタ100がビル管理システム200から受信したデータの送信元とデータの受信時刻とを示す情報である。第3履歴情報は、図3に示すコマンド履歴情報のうちコマンドの送信元とコマンドの受信時刻とを示す情報である。第3基準受信頻度は、第3期間よりも前の期間において通信アダプタ100が第1送信元からデータを受信した頻度である。本実施の形態では、第3期間よりも前の期間は、第3期間よりも前の1週間である。
第3閾値決定部1033は、全ての送信元について、第3受信頻度が第3基準受信頻度よりも大幅に高いときに第3転送制限条件が満たされるように第3閾値を決定する。例えば、第3閾値決定部1033は、第1送信元について、第3基準受信頻度が1コマンド/10分である場合、60コマンド/10分を第3閾値に決定する。第3閾値決定部1033は、第3閾値決定手段の一例である。
第4転送制限条件は、直近の第4期間において通信アダプタ100がビル管理システム200から受信したデータの送信元の個数が第4閾値を超えるという条件である。第4閾値は、データの送信元の個数を判別するための閾値である。第4期間の長さと第4閾値とは、適宜、調整することができる。本実施の形態では、第4期間の長さは10分であり、第4閾値は50個である。第4転送制限条件は、通信アダプタ100が多数の送信元から短期間にコマンドを受信したときに満たされる。
転送部102は、第4転送制限条件が満たされる場合、通信アダプタ100が第4閾値を超える個数の送信元のうち新たに追加された少なくとも1つの送信元から受信したデータを空調システム300に転送しない。つまり、転送部102は、データの送信元が短期間に急激に増加した場合、新たな送信元から受信したデータを破棄する。
例えば、第4期間よりも前の期間において通信アダプタ100が30個の送信元からコマンドを受信しており、第4閾値が50個に設定されている場合を想定する。この場合において、第4期間に通信アダプタ100が70個の送信元からコマンドを受信した場合、転送部102は、通信アダプタ100が新たに送信元として追加された40個の送信元から受信したデータを空調システム300に転送しない。
第4閾値決定部1034は、第3履歴情報に基づいて基準個数を求め、基準個数に基づいて第4閾値を決定する。基準個数は、第4期間よりも前の期間において通信アダプタ100からビル管理システム200から受信したデータの送信元の個数である。本実施の形態では、第4期間よりも前の期間は、第4期間よりも前の1週間である。
第4閾値決定部1034は、第4期間にコマンドの送信元の個数が大幅に増加したときに第4転送制限条件が満たされるように第4閾値を決定する。例えば、第4閾値決定部1034は、30個の基準個数よりも20個多い50個を第4閾値に決定する。この場合、転送部102は、平常時に30個程度である送信元の個数が第4期間に50個以上に増大した場合、通信アダプタ100が新たに追加された20個以上の送信元から受信したデータを破棄する。つまり、転送部102は、第4期間に検知された送信元の個数と基準個数との差分の個数分の新たな送信元からのデータを破棄する。
なお、転送部102は、送信元として追加された順序を第3履歴情報から特定することができる。例えば、転送部102は、第3履歴情報から送信元毎に最古の受信時刻を特定し、最古の受信時刻が新しい送信元ほど後に追加された送信元であると見做すことができる。第4閾値決定部1034は、第4閾値決定手段の一例である。
通知部104は、転送制限条件が満たされる場合、異常が発生したことをユーザに通知する。具体的には、通知部104は、第1転送制限条件と第2転送制限条件と第3転送制限条件と第4転送制限条件とのうち少なくとも1つの転送制限条件が満たされる場合、表示部13を介して異常が発生したことをユーザに通知する。例えば、通知部104は、異常が発生していることを通知する異常通知画面を表示部13に表示させる。異常通知画面は、適宜、調整することができる。
例えば、第1転送制限条件が満たされる場合、異常通知画面は、通信アダプタ100が短期間に多くの個数のコマンドをビル管理システム200から受信していることを示す画面であってもよい。第2転送制限条件が満たされる場合、異常通知画面は、短期間に多くの個数の特定の種類のコマンドをビル管理システム200から受信していることを示す画面であってもよい。第3転送制限条件が満たされる場合、異常通知画面は、通信アダプタ100が短期間に多くの個数のコマンドを特定の送信元から受信していることを示す画面であってもよい。第4転送制限条件が満たされる場合、異常通知画面は、通信アダプタ100が短期間に多くの送信元からデータを受信したことを示す画面であってもよい。
図4に、第2転送制限条件が満たされる場合に表示部13が表示する異常通知画面である画面410を示す。画面410は、異常の発生を報知するメッセージと、コマンドの受信状況と、異常の発生に伴って転送制限を開始することを報知するメッセージと、転送制限の内容とを提示する画面である。通知部104は、通知手段の一例である。
通知部104は、転送制限条件が満たされなくなった場合、異常が解消したことをユーザに通知する。例えば、通知部104は、異常が解消したことを通知する異常解消通知画面を表示部13に表示させる。転送部102は、上記通知に対するユーザからの応答に従って、データの転送の制限を解除する。例えば、転送部102は、ユーザからの応答が転送制限を解除する旨の応答である場合、データの転送の制限を解除する。転送部102は、ユーザからの応答が転送制限を解除しない旨の応答である場合、データの転送の制限を継続する。
図5に、第2転送制限条件が満たされなくなった場合に表示部13が表示する異常解消通知画面である画面420を示す。画面420は、異常の解消を報知するメッセージと、コマンドの受信状況と、異常の解消に伴い転送制限を解除するか否かを問い合わせるメッセージとを提示する画面である。また、画面420は、転送制限の解除を指示する操作を受け付けるボタン421と、転送制限の継続を指示する操作を受け付けるボタン422とを含む。
次に、図6のフローチャートを参照して、通信アダプタ100が実行する転送制御処理について説明する。通信アダプタ100は、例えば、電源が投入されたことに応答して、転送制御処理の実行を開始する。なお、通信アダプタ100が転送制御処理を実行することにより、本開示におけるデータ転送方法が実現される。
まず、通信アダプタ100が備える制御部11は、閾値決定処理を実行する(ステップS101)。閾値決定処理については、図7に示すフローチャートを参照して詳細に説明する。
閾値決定処理では、まず、制御部11は、閾値決定処理の開始トリガが発生したか否かを判別する(ステップS201)。開始トリガは、ユーザ操作、機器からの指示、時間の経過等により発生する。例えば、開始トリガは、操作受付部14が閾値決定処理の開始を指示するユーザ操作を受け付けたときに発生してもよい。又は、開始トリガは、通信アダプタ100がビル管理コントローラ201から閾値決定処理の開始を指示するコマンドを受信したときに発生してもよい。又は、開始トリガは、予め定められた期間が経過する毎に発生してもよい。例えば、開始トリガは、毎日、午前0時に発生してもよい。
制御部11は、閾値決定処理の開始トリガが発生したと判別すると(ステップS201:YES)、第1履歴情報に基づいて第1閾値を決定する(ステップS202)。制御部11は、通信アダプタ100がビル管理システム200から受信したコマンドの受信頻度が急激に増加したことを判別するための第1閾値を決定する。例えば、制御部11は、第1履歴情報に基づいて第1基準受信頻度を求め、第1基準受信頻度よりも高い第1閾値を決定する。
制御部11は、ステップS202の処理を完了すると、第2履歴情報に基づいて第2閾値を決定する(ステップS203)。制御部11は、通信アダプタ100がビル管理システム200から受信した第1種類のコマンドの受信頻度が急激に増加したことを判別するための第2閾値を決定する。例えば、制御部11は、全ての種類のコマンドについて、第2履歴情報に基づいて第2基準受信頻度を求め、第2基準受信頻度よりも高い第2閾値を決定する。
制御部11は、ステップS203の処理を完了すると、第3履歴情報に基づいて第3閾値を決定する(ステップS204)。制御部11は、通信アダプタ100が第1送信元から受信したコマンドの受信頻度が急激に増加したことを判別するための第3閾値を決定する。例えば、制御部11は、全ての送信元について、第3履歴情報に基づいて第3基準受信頻度を求め、第3基準受信頻度よりも高い第3閾値を決定する。
制御部11は、ステップS204の処理を完了すると、第3履歴情報に基づいて第4閾値を決定する(ステップS205)。制御部11は、通信アダプタ100が受信したコマンドの送信元の個数が急激に増加したことを判別するための第4閾値を決定する。例えば、制御部11は、第3履歴情報に基づいて基準個数を求め、基準個数よりも多い第4閾値を決定する。制御部11は、閾値決定処理の開始トリガが発生していないと判別した場合(ステップS201:NO)、又は、ステップS205の処理を完了した場合、閾値決定処理を完了する。
制御部11は、ステップS101の閾値決定処理を完了すると、第1転送制限制御処理を実行する(ステップS102)。第1転送制限制御処理については、図8に示すフローチャートを参照して詳細に説明する。
第1転送制限制御処理では、まず、制御部11は、第1転送制限条件が満たされるか否かを判別する(ステップS301)。具体的には、制御部11は、第1受信頻度が第1閾値を超えるか否かを判別する。制御部11は、第1転送制限条件が満たされると判別すると(ステップS301:YES)、第1転送制限処理が実行中であるか否かを判別する(ステップS302)。第1転送制限処理は、第1転送制限条件が成立したときに実行される処理である。
制御部11は、第1転送制限処理が実行中でないと判別すると(ステップS302:NO)、第1転送制限処理を開始する(ステップS303)。具体的には、制御部11は、各種類のコマンドの転送頻度が予め定められた転送頻度以下になるようにコマンドを間引き、間引かれていないコマンドのみを空調システム300に転送する第1転送制限処理を開始する。制御部11は、第1転送制限処理が実行中であると判別した場合(ステップS302:YES)、又は、ステップS303の処理を完了した場合、異常が発生していることをユーザに通知する(ステップS304)。例えば、制御部11は、異常通知画面を表示部13に表示させる。
制御部11は、第1転送制限条件が満たされないと判別すると(ステップS301:NO)、第1転送制限処理が実行中であるか否かを判別する(ステップS305)。制御部11は、第1転送制限処理が実行中であると判別すると(ステップS305:YES)、異常が解消したことをユーザに通知する(ステップS306)。具体的には、制御部11は、異常解消通知画面を表示部13に表示させる。
制御部11は、ステップS306の処理を完了すると、ユーザからの制限解除許可があるか否かを判別する(ステップS307)。例えば、制御部11は、操作受付部14が転送制限の解除の許可を指示する操作をユーザから受け付けたか否かを判別する。制御部11は、ユーザからの制限解除許可があると判別すると(ステップS307:YES)、第1転送制限処理を終了する(ステップS308)。制御部11は、ステップS304又はステップS308の処理を完了した場合、第1転送制限処理が実行中でないと判別した場合(ステップS305:NO)、又は、ユーザからの制限解除許可がないと判別した場合(ステップS307:NO)、第1転送制限制御処理を完了する。
制御部11は、ステップS102の第1転送制限制御処理を完了すると、第2転送制限制御処理を実行する(ステップS103)。第2転送制限制御処理については、図9に示すフローチャートを参照して詳細に説明する。
第2転送制限制御処理では、まず、制御部11は、第2転送制限条件が満たされるか否かを判別する(ステップS401)。具体的には、制御部11は、第2受信頻度が第2閾値を超えるか否かを判別する。制御部11は、第2転送制限条件が満たされると判別すると(ステップS401:YES)、第2転送制限処理が実行中であるか否かを判別する(ステップS402)。第2転送制限は、第2転送制限条件が成立したときに実行される転送制限である。
制御部11は、第2転送制限処理が実行中でないと判別すると(ステップS402:NO)、第2転送制限処理を開始する(ステップS403)。具体的には、制御部11は、第1種類のコマンドの転送頻度が予め定められた転送頻度以下になるようにコマンドを間引き、間引かれていないコマンドのみを空調システム300に転送する第2転送制限処理を開始する。制御部11は、第2転送制限処理が実行中であると判別した場合(ステップS402:YES)、又は、ステップS403の処理を完了した場合、異常が発生していることをユーザに通知する(ステップS404)。
制御部11は、第2転送制限条件が満たされないと判別すると(ステップS401:NO)、第2転送制限処理が実行中であるか否かを判別する(ステップS405)。制御部11は、第2転送制限処理が実行中であると判別すると(ステップS405:YES)、異常が解消したことをユーザに通知する(ステップS406)。
制御部11は、ステップS406の処理を完了すると、ユーザからの制限解除許可があるか否かを判別する(ステップS407)。制御部11は、ユーザからの制限解除許可があると判別すると(ステップS407:YES)、第2転送制限処理を終了する(ステップS408)。制御部11は、ステップS404又はステップS408の処理を完了した場合、第2転送制限処理が実行中でないと判別した場合(ステップS405:NO)、又は、ユーザからの制限解除許可がないと判別した場合(ステップS407:NO)、第2転送制限制御処理を完了する。
制御部11は、ステップS103の第2転送制限制御処理を完了すると、第3転送制限制御処理を実行する(ステップS104)。第3転送制限制御処理については、図10に示すフローチャートを参照して詳細に説明する。
第3転送制限制御処理では、まず、制御部11は、第3転送制限条件が満たされるか否かを判別する(ステップS501)。具体的には、制御部11は、第3受信頻度が第3閾値を超えるか否かを判別する。制御部11は、第3転送制限条件が満たされると判別すると(ステップS501:YES)、第3転送制限処理が実行中であるか否かを判別する(ステップS502)。第3転送制限処理は、第3転送制限条件が成立したときに実行される転送制限である。
制御部11は、第3転送制限処理が実行中でないと判別すると(ステップS502:NO)、第3転送制限処理を開始する(ステップS503)。具体的には、制御部11は、通信アダプタ100が第1送信元から受信したコマンドを破棄する第3転送制限処理を開始する。制御部11は、第3転送制限処理が実行中であると判別した場合(ステップS502:YES)、又は、ステップS503の処理を完了した場合、異常が発生していることをユーザに通知する(ステップS504)。
制御部11は、第3転送制限条件が満たされないと判別すると(ステップS501:NO)、第3転送制限処理が実行中であるか否かを判別する(ステップS505)。制御部11は、第3転送制限処理が実行中であると判別すると(ステップS505:YES)、異常が解消したことをユーザに通知する(ステップS506)。
制御部11は、ステップS506の処理を完了すると、ユーザからの制限解除許可があるか否かを判別する(ステップS507)。制御部11は、ユーザからの制限解除許可があると判別すると(ステップS507:YES)、第3転送制限処理を終了する(ステップS508)。制御部11は、ステップS504又はステップS508の処理を完了した場合、第3転送制限処理が実行中でないと判別した場合(ステップS505:NO)、又は、ユーザからの制限解除許可がないと判別した場合(ステップS507:NO)、第3転送制限制御処理を完了する。
制御部11は、ステップS104の第3転送制限制御処理を完了すると、第4転送制限制御処理を実行する(ステップS105)。第4転送制限制御処理については、図11に示すフローチャートを参照して詳細に説明する。
第4転送制限制御処理では、まず、制御部11は、第4転送制限条件が満たされるか否かを判別する(ステップS601)。具体的には、制御部11は、直近の第4期間において通信アダプタ100がビル管理システム200から受信したデータの送信元の個数が第4閾値を超えるか否かを判別する。制御部11は、第4転送制限条件が満たされると判別すると(ステップS601:YES)、第4転送制限処理が実行中であるか否かを判別する(ステップS602)。第4転送制限は、第4転送制限条件が成立したときに実行される転送制限である。
制御部11は、第4転送制限処理が実行中でないと判別すると(ステップS602:NO)、第4転送制限処理を開始する(ステップS603)。具体的には、制御部11は、通信アダプタ100が新たに追加された少なくとも1個の送信元から受信したコマンドを破棄する第4転送制限処理を開始する。制御部11は、第4転送制限処理が実行中であると判別した場合(ステップS602:YES)、又は、ステップS603の処理を完了した場合、異常が発生していることをユーザに通知する(ステップS604)。
制御部11は、第4転送制限条件が満たされないと判別すると(ステップS601:NO)、第4転送制限処理が実行中であるか否かを判別する(ステップS605)。制御部11は、第4転送制限処理が実行中であると判別すると(ステップS605:YES)、異常が解消したことをユーザに通知する(ステップS606)。
制御部11は、ステップS606の処理を完了すると、ユーザからの制限解除許可があるか否かを判別する(ステップS607)。制御部11は、ユーザからの制限解除許可があると判別すると(ステップS607:YES)、第4転送制限処理を終了する(ステップS608)。制御部11は、ステップS604又はステップS608の処理を完了した場合、第4転送制限処理が実行中でないと判別した場合(ステップS605:NO)、又は、ユーザからの制限解除許可がないと判別した場合(ステップS607:NO)、第4転送制限制御処理を完了する。
制御部11は、ステップS105の第4転送制限制御処理を完了すると、コマンド転送処理を実行する(ステップS106)。コマンド転送処理については、図12に示すフローチャートを参照して詳細に説明する。
コマンド転送処理では、まず、制御部11は、通信アダプタ100がビル管理システム200からコマンドを受信したか否かを判別する(ステップS701)。制御部11は、通信アダプタ100がビル管理システム200からコマンドを受信したと判別すると(ステップS701:YES)、受信されたコマンドのプロトコルを変換する(ステップS702)。
制御部11は、ステップS702の処理を完了すると、コマンド判定処理を実行する(ステップS703)。コマンド判定処理については、図13に示すフローチャートを参照して詳細に説明する。
コマンド判定処理では、まず、制御部11は、第1転送制限処理が実行中であるか否かを判別する(ステップS801)。制御部11は、第1転送制限処理が実行中であると判別すると(ステップS801:YES)、同じ種類のコマンドの送信直後であるか否かを判別する(ステップS802)。例えば、受信されたコマンドの種類が温度設定であり、第1転送制限処理において温度設定のコマンドの転送頻度が60コマンド/10分以下、つまり、1コマンド/10秒に制限されている場合を想定する。この場合、制御部11は、直近の10秒間に温度設定のコマンドが送信されたか否かを判別する。
制御部11は、第1転送制限処理が実行中でないと判別した場合(ステップS801:NO)、又は、同じ種類のコマンドの送信直後でないと判別した場合(ステップS802:NO)、第2転送制限処理が実行中であるか否かを判別する(ステップS803)。制御部11は、第2転送制限処理が実行中であると判別すると(ステップS803:YES)、受信されたコマンドが転送制限対象の種類のコマンドであるか否かを判別する(ステップS804)。制限対象の種類のコマンドは、短期間に多数受信された第1種類のコマンドであり、第2転送制限処理において転送頻度が制限された種類のコマンドである。
制御部11は、受信されたコマンドが転送制限対象の種類のコマンドであると判別すると(ステップS804:YES)、転送制限対象の種類のコマンドの送信直後であるか否かを判別する(ステップS805)。例えば、第2転送制限処理において転送制限対象の種類のコマンドの転送頻度が60コマンド/10分以下、つまり、1コマンド/10秒に制限されている場合を想定する。この場合、制御部11は、直近の10秒間に転送制限対象の種類のコマンドが送信されたか否かを判別する。
制御部11は、第2転送制限処理が実行中でないと判別した場合(ステップS803:NO)、受信されたコマンドが転送制限対象の種類のコマンドでないと判別した場合(ステップS804:NO)又は、転送制限対象の種類のコマンドの送信直後でないと判別した場合(ステップS805:NO)、第3転送制限処理が実行中であるか否かを判別する(ステップS806)。制御部11は、第3転送制限処理が実行中であると判別すると(ステップS806:YES)、受信されたコマンドが転送制限対象の送信元からのコマンドであるか否かを判別する(ステップS807)。転送制限対象の送信元は、短期間に多数のコマンドを通信アダプタ100に送信した第1送信元であり、第3転送制限処理においてコマンドの転送が禁止された送信元である。
制御部11は、第3転送制限処理が実行中でないと判別した場合(ステップS806:NO)、又は、受信されたコマンドが転送制限対象の送信元からのコマンドでないと判別した場合(ステップS807:NO)、第4転送制限処理が実行中であるか否かを判別する(ステップS808)。制御部11は、第4転送制限処理が実行中であると判別すると(ステップS808:YES)、受信されたコマンドが転送制限対象の送信元からのコマンドであるか否かを判別する(ステップS809)。転送制限対象の送信元は、新たに追加された少なくとも1つの送信元であり、第4転送制限処理においてコマンドの転送が禁止された送信元である。
制御部11は、同じ種類のコマンドの送信直後であると判別した場合(ステップS802:YES)、転送制限対象の種類のコマンドの送信直後であると判別した場合(ステップS805:YES)、受信されたコマンドが転送制限対象の送信元からのコマンドであると判別した場合(ステップS807:YES)、又は、受信されたコマンドが転送制限対象の送信元からのコマンドであると判別した場合(ステップS809:YES)、受信されたコマンドを破棄コマンドに設定する(ステップS810)。破棄コマンドは、空調システム300に転送されずに破棄されるコマンドである。
制御部11は、第4転送制限処理が実行中でないと判別した場合(ステップS808:NO)、受信されたコマンドが転送制限対象の送信元からのコマンドでないと判別した場合(ステップS809:NO)、又は、ステップS810の処理を完了した場合、コマンド判定処理を完了する。
制御部11は、ステップS703のコマンド判定処理を完了すると、受信されたコマンドが破棄コマンドであるか否かを判別する(ステップS704)。制御部11は、受信されたコマンドが破棄コマンドでないと判別すると(ステップS704:NO)、受信されたコマンドを空調システム300に転送する(ステップS705)。制御部11は、受信されたコマンドが破棄コマンドであると判別した場合(ステップS704:YES)、受信されたコマンドを破棄する(ステップS706)。制御部11は、ステップS705又はステップS706の処理を完了した場合、コマンド履歴情報を更新する(ステップS707)。
例えば、制御部11は、受信されたコマンドの送信先と、このコマンドの送信元と、このコマンドの種類と、このコマンドの受信時刻とを含むレコードを含むように、記憶部12に記憶されたコマンド履歴情報を更新する。制御部11は、通信アダプタ100がビル管理システム200からコマンドを受信していないと判別した場合(ステップS701:NO)、又は、ステップS707の処理を完了した場合、コマンド転送処理を完了する。制御部11は、ステップS106のコマンド転送処理を完了すると、ステップS101に処理を戻す。
本実施の形態では、転送制限条件が満たされる場合、第2システムへのデータの転送が制限される。従って、本実施の形態によれば、DoS攻撃により第1システムから第2システムに向けて大量のデータが送信された場合に、データの転送を適切に制限し、第2システム内のトラフィックの増大が抑制される。本実施の形態によれば、第1システムがDoS攻撃を受けた場合でも、第2システム内の機器間での通信が維持されるため、第2システムによるサービスが維持される。このように、本実施の形態によれば、ビル管理システム200がDoS攻撃を受けたときの空調システム300への影響が低減される。
本実施の形態では、通信アダプタ100が第1システムから短期間で大量のデータを受信した場合、通信アダプタ100が第1システムから受信したデータのうち少なくとも一部のデータが破棄される。従って、本実施の形態によれば、第1システムから第2システムに向けて送信されたデータの個数が多い場合に、第2システム内のトラフィックの増大が抑制される。
本実施の形態では、第1履歴情報に基づいて第1基準受信頻度が求められ、第1基準受信頻度に基づいて第1閾値が決定される。従って、本実施の形態によれば、通信アダプタ100が第1システムからデータを受信する頻度が増加したことが適切に検知される。
本実施の形態では、通信アダプタ100が第1システムから短期間で大量の第1種類のデータを受信した場合、通信アダプタ100が第1システムから受信した第1種類のデータのうち少なくとも一部のデータが破棄される。従って、本実施の形態によれば、DoS攻撃によって送信された可能性が高い無用なデータの転送が抑制され、第2システム内のトラフィックの増大が適切に抑制される。なお、第1システムがDoS攻撃を受けた場合、第1システムから第2システムに向けて同じ種類の大量のデータが送信される可能性が高いため、この同じ種類のデータの転送が抑制されることは有益である。
本実施の形態では、第2履歴情報に基づいて第2基準受信頻度が求められ、第2基準受信頻度に基づいて第2閾値が決定される。従って、本実施の形態によれば、通信アダプタ100が第1システムから第1種類のデータを受信する頻度が増加したことを適切に判別することができる。
本実施の形態では、通信アダプタ100が第1送信元から短期間で大量のデータを受信した場合、通信アダプタ100が第1送信元から受信したデータが破棄される。従って、本実施の形態によれば、DoS攻撃によって送信された可能性が高い無用なデータの転送が抑制され、第2システム内のトラフィックの増大が適切に抑制される。なお、第1システムがDoS攻撃を受けた場合、特定の送信元から第2システムに向けて大量のデータが送信される可能性が高いため、この特定の送信元からのデータの転送が抑制されることは有益である。
本実施の形態では、第3履歴情報に基づいて第3基準受信頻度が求められ、第3基準受信頻度に基づいて第3閾値が決定される。従って、本実施の形態によれば、通信アダプタ100が第1送信元からデータを受信する頻度が増加したことを適切に判別することができる。
本実施の形態では、通信アダプタ100にデータを送信する送信元の個数が増加した場合、通信アダプタ100が新たに追加された少なくとも1つの送信元から受信したデータが破棄される。従って、本実施の形態によれば、DoS攻撃によって送信された可能性が高い無用なデータの転送が抑制され、第2システム内のトラフィックの増大が適切に抑制される。なお、第1システムがDoS攻撃を受けた場合、新たな送信元から第2システムに向けてデータが送信される可能性が高いため、この新たな送信元からのデータの転送が抑制されることは有益である。
本実施の形態では、第3履歴情報に基づいて基準個数が求められ、基準個数に基づいて第4閾値が決定される。従って、本実施の形態によれば、通信アダプタ100にデータを送信する送信元の個数が増加したことを適切に判別することができる。
本実施の形態では、転送制限条件が満たされる場合、異常が発生したことがユーザに通知される。従って、本実施の形態によれば、DoS攻撃が開始された可能性があることをユーザに知らせることができる。
本実施の形態では、転送制限条件が満たされなくなった場合、異常が解消したことがユーザに通知され、通知に対するユーザからの応答に従って、データの転送の制限が解除される。従って、本実施の形態によれば、DoS攻撃が終了した可能性があることをユーザに知らせることができ、ユーザの判断に従って通常の転送処理を再開することができる。
以上、本開示の実施の形態を説明したが、本開示を実施するにあたっては、種々の形態による変形及び応用が可能である。本開示において、上記実施の形態において説明した構成、機能、動作のどの部分を採用するのかは任意である。また、本開示において、上述した構成、機能、動作のほか、更なる構成、機能、動作が採用されてもよい。また、上記実施の形態において説明した構成、機能、動作は、自由に組み合わせることができる。
(変形例1)
実施の形態では、空調システム300に通信アダプタ100が含まれない例について説明した。図14に示すように、通信システム1100がビル管理システム200と空調システム310とを備え、空調システム310に通信アダプタ100が含まれてもよい。この場合、空調システム310は、リモートコントローラ301と室外機302と室内機303と室内機304とに加え、通信アダプタ100を備える。通信アダプタ100は、他のシステムから受信したデータを空調機器に転送する。他のシステムは、空調システム310以外のシステムであり、例えば、ビル管理システム200である。空調機器は、空調システム310が備える機器であり、空気調和に関わる処理を実行する機器である。空調機器は、リモートコントローラ301、室外機302、室内機303、室内機304等である。
ここで、通信アダプタ100は、直近の予め定められた期間における他のシステムからのデータの受信状況に関する転送制限条件が満たされる場合、空調機器へのデータの転送を制限する。転送制限条件は、例えば、上記実施の形態で示した4つの転送制限条件である。なお、空調システム310の通信プロトコルと他のシステムの通信プロトコルとが異なる場合、通信アダプタ100は、他のシステムから受信したデータの通信プロトコルを変換した上で、このデータを空調機器に転送する。
(他の変形例)
実施の形態では、第1転送制限条件が満たされる場合、データの種類毎の転送頻度がデータの種類毎に予め定められた転送頻度を超えないように、各種類のデータが転送される例について説明した。転送を制限する手法は、この例に限定されない。例えば、第1転送制限条件が満たされる場合、通信アダプタ100がビル管理システム200から受信した全てのデータが破棄されてもよい。又は、第1転送制限条件が満たされる場合、予め定められた種類のデータのみが破棄されてもよい。又は、第1転送制限条件が満たされる場合、急激に増加した種類のデータのみが破棄されてもよい。又は、第1転送制限条件が満たされる場合、新たに追加された送信元からのデータのみが破棄されてもよい。
実施の形態では、第1履歴情報から第1閾値が決定され、第2履歴情報から第2閾値が決定され、第3履歴情報から第3閾値と第4閾値とが決定される例について説明した。第1閾値と第2閾値と第3閾値と第4閾値とは、予め定められていてもよい。
実施の形態では、通信アダプタ100が、異常通知画面と異常解消通知画面とを表示する表示部13と、転送制限の解除を指示する操作を受け付ける操作受付部14とを備える例について説明した。他の機器が、表示部13に対応する表示部(図示せず)と操作受付部14に対応する操作受付部(図示せず)とを備えていてもよい。例えば、リモートコントローラ301が表示部と操作受付部とを備えていてもよい。
この場合、通信アダプタ100が備える通知部104は、異常通知画面又は異常解消通知画面を表示することを指示するコマンドを、空調通信バス350を介してリモートコントローラ301に送信する。リモートコントローラ301は、このコマンドを受信したことに応答して、表示部に異常通知画面又は異常解消通知画面を表示する。また、リモートコントローラ301は、操作受付部がユーザから転送制限の解除を指示する操作を受け付けた場合、転送制限の解除を指示するコマンドを、空調通信バス350を介して通信アダプタ100に送信する。通信アダプタ100は、このコマンドを受信したことに応答して転送制限を解除する。
実施の形態では、転送制限条件が転送制限条件1と転送制限条件2と転送制限条件3と転送制限条件4との4つの条件である例について説明した。転送制限条件は、これらの4つの条件のうち3つ以下の条件であってもよいし、他の条件であってもよい。例えば、転送制限条件は、コマンドの送信元とコマンドの種類との対応関係に基づく条件であってもよい。空調システム300では、ビル管理コントローラ201とリモートコントローラ301とはコマンドAを送信するが、室外機302と室内機303とはコマンドAを送信しないと定められている場合がある。
このため、通信アダプタ100は、通信アダプタ100がビル管理システム200から受信したコマンドの送信元とこのコマンドの種類との対応関係が適切であるか否かを判別し、この対応関係が適切でない場合にこのコマンドを破棄してもよい。なお、通信アダプタ100は、記憶部12に予め記憶された対応関係情報に基づいて、上記対応関係が適切であるか否かを判別することができる。対応関係情報は、コマンドの送信元とコマンドの種類との適切な対応関係を示す情報である。又は、通信アダプタ100は、記憶部12に記憶されたコマンド履歴情報に基づいて、上記対応関係が適切であるか否かを判別してもよい。例えば、通信アダプタ100は、新たに受信したコマンドにおける対応関係が、過去に受信したコマンドにおける対応関係の何れとも一致しない場合、新たに受信したコマンドにおける対応関係が適切でないと判別することができる。
実施の形態では、第1システムがビル管理システム200であり、第2システムが空調システム300であり、通信アダプタ100がビル管理システム200から空調システム300へのデータの転送を制限する例について説明した。第1システムが空調システム300であり、第2システムがビル管理システム200であり、通信アダプタ100が空調システム300からビル管理システム200へのデータの転送を制限してもよい。この場合、空調システム300がDoS攻撃を受けたときのビル管理システム200への影響が低減される。
実施の形態では、ビル管理システム200がDos攻撃を受けたことに応答して空調システム300に向けて送信したデータの転送が制限される例について説明した。転送が制限されるデータは、Dos攻撃に起因したデータに限定されない。例えば、転送が制限されるデータは、ユーザの連続操作、ビル管理システム200が備える機器の動作プログラムのバグ等に起因したデータでもよい。
実施の形態では、転送制限条件が満たされて転送制限処理が実行されている間、空調システム300が通常動作を継続する例について説明した。転送制限処理が実行されている間、空調システム300が通常動作とは異なる異常対応動作を実行してもよい。例えば、通信アダプタ100は、4つの転送制限条件の何れかが満たされることを検知した場合、異常が発生したことを示すコマンドを、空調通信バス350を介して空調システム300が備える各機器に送信する。空調システム300が備える各機器は、このコマンドを受信した場合、通常動作を中断し、異常対応動作を開始する。空調システム300が備える各機器は、異常が解消したことを示すコマンドを通信アダプタ100から受信した場合、異常対応動作を終了し、通常動作を再開する。
異常対応動作の内容は、適宜、調整することができる。例えば、異常対応動作では、リモートコントローラ301はユーザ操作を受け付けず、各機器は予め定められた空調動作を実行してもよい。例えば、各機器は、冷房期間中は、27℃の設定温度で冷房運転を継続し、暖房期間中は、23℃の設定温度で暖房運転を継続してもよい。また、転送制限条件が満たされている間、通信アダプタ100は、空調システム300が備える機器のうちリモートコントローラ301以外の機器と通信しなくてもよい。
上記実施の形態では、制御部11において、CPUがROM又は記憶部12に記憶されたプログラムを実行することによって、図2に示した各部として機能した。しかしながら、本開示において、制御部11は、専用のハードウェアであってもよい。専用のハードウェアとは、例えば単一回路、複合回路、プログラム化されたプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、又は、これらの組み合わせ等である。制御部11が専用のハードウェアである場合、各部の機能それぞれを個別のハードウェアで実現してもよいし、各部の機能をまとめて単一のハードウェアで実現してもよい。
また、各部の機能のうち、一部を専用のハードウェアによって実現し、他の一部をソフトウェア又はファームウェアによって実現してもよい。このように、制御部11は、ハードウェア、ソフトウェア、ファームウェア、又は、これらの組み合わせによって、上述の各機能を実現することができる。
本開示に係る通信アダプタ100の動作を規定する動作プログラムを既存のパーソナルコンピュータ又は情報端末装置等のコンピュータに適用することで、当該コンピュータを、本開示に係る通信アダプタ100として機能させることも可能である。また、このようなプログラムの配布方法は任意であり、例えば、CD-ROM(Compact Disk ROM)、DVD(Digital Versatile Disk)、MO(Magneto Optical Disk)、又は、メモリカード等のコンピュータ読み取り可能な記録媒体に格納して配布してもよいし、インターネット等の通信ネットワークを介して配布してもよい。
本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この開示を説明するためのものであり、本開示の範囲を限定するものではない。すなわち、本開示の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして特許請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、この開示の範囲内とみなされる。