(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-30
(45)【発行日】2024-10-08
(54)【発明の名称】制御装置及び制御方法
(51)【国際特許分類】
G06F 21/55 20130101AFI20241001BHJP
G05B 23/02 20060101ALI20241001BHJP
G05B 19/05 20060101ALI20241001BHJP
【FI】
G06F21/55 320
G05B23/02 Z
G05B19/05 D
(21)【出願番号】P 2023562058
(86)(22)【出願日】2021-11-19
(86)【国際出願番号】 JP2021042642
(87)【国際公開番号】W WO2023089782
(87)【国際公開日】2023-05-25
【審査請求日】2024-06-13
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】五嶋 数哉
【審査官】田中 啓介
(56)【参考文献】
【文献】米国特許出願公開第2008/0276111(US,A1)
【文献】国際公開第2015/001594(WO,A1)
【文献】国際公開第2016/143072(WO,A1)
【文献】中国特許出願公開第112050782(CN,A)
【文献】国際公開第2021/187334(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05B9/00-9/05
G05B19/00-19/416
G05B19/42-19/46
G05B23/00-24/04
G06F11/07、11/28-11/36
G06F12/14、21/00-21/88
G06T7/00
G06V40/00-40/19
G06V40/30-40/70
G09C1/00-5/00
H04K1/00-3/00
H04L9/00-12/28
H04L12/44-12/66
H04L45/00-49/9057
(57)【特許請求の範囲】
【請求項1】
産業機械を制御し外部機器と接続可能な制御装置であって、
少なくとも1つの電子部品の物理状態を測定周期で測定するとともに、予め設定された代表箇所の温度を測定する測定部と、
正常状態において任意の動作プログラムが実行された期間及び/又は待機中の前記電子部品の物理状態を前記測定周期で対応付けてモデル波形として記録するとともに、前記モデル波形の記録時に測定された前記代表箇所の前記温度を基準温度として記録する記録部と、
前記任意の動作プログラムが実行された期間又は前記待機中において、前記記録部に記録された前記電子部品の前記モデル波形を、前記測定部により測定された前記代表箇所の温度と前記基準温度とに基づいて補正する補正部と、
前記測定部により前記測定周期に対応付けて測定された前記電子部品の物理状態と、前記補正部により補正された前記モデル波形のうち当該物理状態が測定された測定周期に対応する物理状態との差分の絶対値を、前記任意の動作プログラムの実行期間又は前記待機中の一定期間毎に加算し、リソースに過剰な負荷をかけて前記制御装置やネットワークの稼働を妨害する不正アクセスに対する予め定められた判定閾値を加算した値が超過したか否かを判定する検知部と、
を備える制御装置。
【請求項2】
前記物理状態は、前記電子部品の消費電流である、請求項1に記載の制御装置。
【請求項3】
前記物理状態は、前記電子部品の消費電力である、請求項1に記載の制御装置。
【請求項4】
前記物理状態は、前記電子部品のジャンクション温度である、請求項1に記載の制御装置。
【請求項5】
前記電子部品は、プロセッサを含む、請求項1から請求項4のいずれか1項に記載の制御装置。
【請求項6】
前記検知部が前記不正アクセスと判定した場合、少なくとも前記制御装置をネットワークから遮断し、前記動作プログラムを停止し、前記不正アクセスを検知したというログを前記記録部に記録する動作制御部をさらに備える、請求項1から請求項5のいずれか1項に記載の制御装置。
【請求項7】
外部機器と接続可能な制御装置による産業機械の制御方法であって、
少なくとも1つの電子部品の物理状態を測定周期で測定するとともに、予め設定された代表箇所の温度を測定する測定ステップと、
正常状態において任意の動作プログラムが実行された期間及び/又は待機中の前記電子部品の物理状態を前記測定周期に対応付けてモデル波形として記録するとともに、前記モデル波形の記録時に測定された前記代表箇所の前記温度を基準温度として記録する記録ステップと、
前記任意の動作プログラムが実行された期間又は前記待機中において、記録された前記電子部品の前記モデル波形を、測定された前記代表箇所の温度と前記基準温度とに基づいて補正する補正ステップと、
前記測定周期に対応付けて測定された前記電子部品の物理状態と、補正された前記モデル波形のうち当該物理状態が測定された測定周期に対応する物理状態との差分の絶対値を、前記任意の動作プログラムの実行期間又は前記待機中の一定期間毎に加算し、リソースに過剰な負荷をかけて前記制御装置やネットワークの稼働を妨害する不正アクセスに対する予め定められた判定閾値を加算した値が超過したか否かを判定する検知ステップと、
を備える制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置及び制御方法に関する。
【背景技術】
【0002】
近年、IoT(Internet of Things)の普及により、ネットワーク機器の適用範囲が拡大している。それに伴い、セキュリティの脆弱性による不正アクセスの事例も急増している。
当該不正アクセスを防ぐために、発見されたセキュリティの脆弱性に対する最新パッチを適用することで、セキュリティを確保している。
この点、受信したPDFネットワークコンテンツに悪意あるネットワークコンテンツを示す少なくとも1つの不審性が含まれているかを判断すべく、当該PDFネットワークコンテンツを検査し、少なくとも1つの不審性を含むと判断されたPDFネットワークコンテンツを、少なくとも1つの仮想マシンに提供し、少なくとも1つの不審性を含むと判断されたPDFネットワークコンテンツが悪意あるネットワークコンテンツを含むかを検証すべく、当該少なくとも1つの仮想マシンより受信した応答を分析する技術が知られている。例えば、特許文献1参照。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
不正アクセスの手段は常に新しいものが出現するため、認知されていない脆弱性に対してセキュリティが確保できない状態が存在する。
また、工場の制御装置等は長期にわたって使用されるものが多く、導入時に適用したセキュリティ対策が、時間の経過とともに不十分な状態になったまま使い続けられてしまうことがある。
そのため、未知の脆弱性や、不十分なセキュリティ対策の脆弱性を利用し、例えばDoS攻撃のようにリソースに過剰な負荷をかけて制御装置やネットワークの稼働を妨害されると、制御装置やシステムの安定稼働が妨げられてしまう場合がある。
【0005】
そこで、DoS攻撃等のリソースに過剰な負荷をかけて制御装置やネットワークの稼働を妨害する不正アクセスを容易に検知することが望まれている。
【課題を解決するための手段】
【0006】
本開示の制御装置の一態様は、産業機械を制御し外部機器と接続可能な制御装置であって、少なくとも1つの電子部品の物理状態を測定周期で測定するとともに、予め設定された代表箇所の温度を測定する測定部と、正常状態において任意の動作プログラムが実行された期間及び/又は待機中の前記電子部品の物理状態を前記測定周期で対応付けてモデル波形として記録するとともに、前記モデル波形の記録時に測定された前記代表箇所の前記温度を基準温度として記録する記録部と、前記任意の動作プログラムが実行された期間又は前記待機中において、前記記録部に記録された前記電子部品の前記モデル波形を、前記測定部により測定された前記代表箇所の温度と前記基準温度とに基づいて補正する補正部と、前記測定部により前記測定周期に対応付けて測定された前記電子部品の物理状態と、前記補正部により補正された前記モデル波形のうち当該物理状態が測定された測定周期に対応する物理状態との差分の絶対値を、前記任意の動作プログラムの実行期間又は前記待機中の一定期間毎に加算し、リソースに過剰な負荷をかけて前記制御装置やネットワークの稼働を妨害する不正アクセスに対する予め定められた判定閾値を加算した値が超過したか否かを判定する検知部と、を備える。
【0007】
本開示の制御方法の一態様は、外部機器と接続可能な制御装置による産業機械の制御方法であって、少なくとも1つの電子部品の物理状態を測定周期で測定するとともに、予め設定された代表箇所の温度を測定する測定ステップと、正常状態において任意の動作プログラムが実行された期間及び/又は待機中の前記電子部品の物理状態を前記測定周期に対応付けてモデル波形として記録するとともに、前記モデル波形の記録時に測定された前記代表箇所の前記温度を基準温度として記録する記録ステップと、前記任意の動作プログラムが実行された期間又は前記待機中において、記録された前記電子部品の前記モデル波形を、測定された前記代表箇所の温度と前記基準温度とに基づいて補正する補正ステップと、前記測定周期に対応付けて測定された前記電子部品の物理状態と、補正された前記モデル波形のうち当該物理状態が測定された測定周期に対応する物理状態との差分の絶対値を、前記任意の動作プログラムの実行期間又は前記待機中の一定期間毎に加算し、リソースに過剰な負荷をかけて前記制御装置やネットワークの稼働を妨害する不正アクセスに対する予め定められた判定閾値を加算した値が超過したか否かを判定する検知ステップと、を備える。
【発明の効果】
【0008】
一態様によれば、DoS攻撃等のリソースに過剰な負荷をかけて制御装置やネットワークの稼働を妨害する不正アクセスを容易に検知することができる。
【図面の簡単な説明】
【0009】
【
図1】一実施形態に係る制御システムの機能的構成例を示す図である。
【
図3】加工プログラムが実行された期間におけるCPUの消費電流と温度との関係の一例を示す図である。
【
図4】加工プログラムが実行された期間においてDoS攻撃等の不正アクセスを受けている場合のCPUの消費電流の一例を示す図である。
【
図5】数値制御装置の検知処理について説明するフローチャートである。
【発明を実施するための形態】
【0010】
<一実施形態>
図1は、一実施形態に係る制御システムの機能的構成例を示す図である。ここでは、産業機械として工作機械を、また制御装置として数値制御装置を例示する。なお、本発明は、工作機械及び数値制御装置に限定されず、例えば射出成形機や産業用ロボット、サービス用ロボット等の産業機械、及び産業用ロボット等を制御するロボット制御装置に対しても適用可能である。
また、本実施形態では、動作プログラムとして数値制御装置が工作機械を動作させる加工プログラムを例示して説明するが、ロボット制御装置が産業用ロボット等を動作させるロボットプログラム等の場合も同様である。
図1に示すように、制御システム1は、数値制御装置10、及びネットワーク20を含む。
数値制御装置10は、LAN(Local Area Network)やインターネット等のネットワーク20に接続される。この場合、数値制御装置10は、かかる接続によってネットワーク20との通信を行うための後述する外部I/F(Interface)11を備えている。
【0011】
<数値制御装置10>
数値制御装置10は、当業者にとって公知の数値制御装置であり、例えば、図示しないCAD/CAM装置等から予め取得した加工プログラムに基づいて指令を生成し、生成した指令を図示しない工作機械に出力する。これにより、数値制御装置10は、図示しない工作機械の動作を制御する。なお、図示しない工作機械がロボット等の場合、数値制御装置10は、ロボット制御装置等でもよい。
図1に示すように、数値制御装置10は、外部I/F11、メモリ12、CPU(Central Processing Unit)13、ASIC(Application Specific Integrated Circuit)14、及び電源21~24を含む。
【0012】
外部I/F11は、例えば、公知のネットワークインタフェースであり、図示しない工作機械の動作状態やアラーム/警告等のデータ収集等の非同期通信をネットワーク20との間で行う。
【0013】
メモリ12は、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)等の記憶部である。メモリ12には、後述するCPU13が実行するオペレーティングシステム及びアプリケーションプログラムや、加工プログラム等が記憶される。
また、メモリ12には、記録部として、DoS攻撃等のリソースに過剰な負荷をかけて数値制御装置10やネットワーク20の稼働を妨害する不正アクセスを受けていない正常状態において任意の加工プログラムが実行された期間及び/又は待機中に、後述する測定部130により測定された後述するCPU13等の少なくとも1つの電子部品の物理状態(例えば、消費電流等)が測定部130の測定周期(以下、「サンプリング周期」ともいう)に対応付けてモデル波形として予め記録される。なお、以下、特に断らない限り、「DoS攻撃等のリソースに過剰な負荷をかけて数値制御装置10やネットワーク20の稼働を妨害する不正アクセス」を、「DoS攻撃等の不正アクセス」と略称する。
また、メモリ12には、電子部品の物理状態のモデル波形の記録時に測定部130により測定された、予め設定された数値制御装置10の代表箇所の温度を基準温度として記録するようにしてもよい。なお、代表箇所は、例えば、後述するCPU13等の電子部品、又は当該電子部品が配置された基板でもよい。あるいは、代表箇所は、後述する電源21~24のON/OFF時のシーケンス制御IC、電圧監視回路、AD/DA変換等のアナログ回路、初期設定のみが記憶されている不揮発性メモリ等、DoS攻撃等の不正アクセスの影響を受けない箇所でもよい。
【0014】
CPU13は、公知のプロセッサであり、数値制御装置10を全体的に制御するプロセッサである。CPU13は、メモリ12に格納されたシステムプログラム及びアプリケーションプログラムを、バスを介して読み出し、システムプログラム及びアプリケーションプログラムに従って数値制御装置10全体を制御する。これにより、
図2に示すように、CPU13が、測定部130、補正部131、検知部132、及び動作制御部133の機能を実現するように構成される。
【0015】
測定部130は、少なくとも1つの電子部品の物理状態をサンプリング周期で測定するとともに、予め設定された数値制御装置10の代表箇所の温度を測定する。
以下では、電子部品としてCPU13を、電子部品の物理状態としてCPU13の消費電流を例示して説明する。なお、後述するように、外部I/F11、メモリ12、ASIC14等の電子部品、及び消費電力やジャンクション温度の電子部品の物理状態についても、CPU13の消費電流の場合と同様に適用することができる。
具体的には、測定部130は、例えば、後述する電源23に配置された図示しない電流計を用いてCPU13の消費電流をCPU13の物理状態としてサンプリング周期で測定する。測定部130は、測定したCPU13の消費電流を後述する検知部132に出力する。なお、測定部130は、後述する電源21、22、24それぞれに配置された図示しない電流計を用いて外部I/F11、メモリ12、及び後述するASIC14の消費電流を測定してもよい。
また、測定部130は、予め設定された数値制御装置10の代表箇所に配置された温度センサ(図示しない)等を用いて、数値制御装置10の代表箇所の温度を測定する。そして、測定部130は、CPU13の消費電流のモデル波形の記録時に測定した数値制御装置10の代表箇所の温度を基準温度としてメモリ12に記録する。
【0016】
補正部131は、任意の加工プログラムが実行された期間又は待機中において、メモリ12に記録されたCPU13のモデル波形を、測定部130により測定された数値制御装置10の代表箇所の温度とメモリ12に記録された基準温度とに基づいて補正する。
図3は、加工プログラムが実行された期間におけるCPU13の消費電流と温度との関係の一例を示す図である。
図3では、基準温度における正常状態のCPU13の消費電流のモデル波形を実線で示し、温度上昇時の正常状態のCPU13の消費電流のモデル波形を破線で示し、温度低下時のCPU13の消費電流のモデル波形を一点鎖線で示す。
図3に示すように、正常状態の場合、数値制御装置10は、図示しない工作機械に対して同じ部品加工の加工プログラムを繰り返して実行するため、数値制御装置10のCPU13の消費電流は、同様の時間変動を繰り返す。
しかしながら、
図3に示すように、基準温度に対して数値制御装置10の代表箇所の温度が上昇する場合、CPU13の消費電流のモデル波形も全体的に上昇する。また、基準温度に対して数値制御装置10の代表箇所の温度が減少する場合、CPU13の消費電流のモデル波形も全体的に減少する。すなわち、温度変化により基準温度における正常状態のCPU13の消費電流のモデル波形とのずれが大きくなると、DoS攻撃等の不正アクセスによるCPU13の消費電流の増減と区別がつかなくなる。このような場合、後述する検知部132は、正常状態であるにもかかわらず、DoS攻撃等の不正アクセスと誤検知してしまう。
そこで、補正部131は、測定部130により測定された数値制御装置10の代表箇所の温度とメモリ12に記録された基準温度とに基づいて、基準温度における正常状態のCPU13の消費電流のモデル波形を、測定された数値制御装置10の代表箇所の温度における正常状態のCPU13の消費電流のモデル波形に補正する。なお、補正部131によるモデル波形の補正は、公知の手法を用いることができ、詳細な説明は省略する。
そうすることで、後述する検知部132による誤判定を防ぐことができる。
【0017】
検知部132は、加工プログラムが実行された期間又は待機中において測定部130によりサンプリング周期に対応付けて測定された電子部品の物理状態と、補正部131により補正されたモデル波形のうち当該物理状態が測定されたサンプリング周期に対応する物理状態との差分の絶対値を、加工プログラムの実行期間又は待機中の一定期間毎に加算し、DoS攻撃等の不正アクセスに対する予め定められた判定閾値を加算した値が超過したか否かを判定する。
【0018】
図4は、加工プログラムの実行期間においてDoS攻撃等の不正アクセスを受けている場合のCPU13の消費電流の一例を示す図である。
図4の上段は、サンプリング周期に対応付けて測定されたCPU13の消費電流を示す。
図4の上段では、補正された正常状態のCPU13の消費電流のモデル波形を破線で示し、正常状態のCPU13の消費電流を一点鎖線で示し、DoS攻撃等の不正アクセスを受けている場合のCPU13の消費電流を実線で示す。また、
図4の上段では、縦軸はCPU13の消費電流を示し、横軸は時刻を示す。
一方、
図4の下段では、
図4の上段に示す測定されたCPU13の消費電流と補正されたモデル波形の消費電流との差分の絶対値を加工プログラムの実行期間の一定期間毎に加算した加算値を示す。また、
図4の下段では、正常状態のCPU13の消費電流と補正された消費電流のモデル波形との差分の絶対値の加算値を破線で示し、DoS攻撃等の不正アクセスを受けている場合のCPU13の消費電流と補正されたモデル波形の消費電流との差分の絶対値の加算値を実線で示す。
なお、
図4では、中央の加工プログラムの実行時間(加工時間)に、DoS攻撃等の不正アクセスを受けている場合を示す。
【0019】
図4の下段に示すように、検知部132は、加工プログラムが実行されている期間において、測定部130によりサンプリング周期に対応付けて測定されたCPU13の消費電流と、補正部131により補正されたCPU13の消費電流のモデル波形のうち当該消費電流が測定された測定周期に対応する消費電流と、の差分の絶対値を、加工プログラムの実行時間(加工時間)の一定期間T毎に加算する。すなわち、数値制御装置10がDoS攻撃のような不正アクセスを受けている場合、CPU13の処理負荷が増大してCPU13の消費電流が変化するとともに、数値制御装置10の代表箇所の温度も変化する。そこで、検知部132は、CPU13のハードウェアの負荷変動を利用してDoS攻撃等の不正アクセスを検知するために、補正したモデル波形(正常状態)のCPU13の消費電流と測定されたCPU13の消費電流との差分の絶対値の加算値を算出する。
なお、検知部132は、一定期間Tとなる度に加算時間及び加算値を「0」にリセットする。
そうすることで、検知部132は、微小な誤差の加算による誤判定を防ぐことができる。
【0020】
そして、検知部132は、DoS攻撃等の不正アクセスに対する予め定められた判定閾値αを加算値が超過したか否かを判定する。検知部132は、加算値が判定閾値αを超過した場合、数値制御装置10がDoS攻撃等の不正アクセスを受けていると判定する。
例えば、
図4に示す中央の加工プログラムの実行時間(加工時間)において、数値制御装置10が過剰アクセス等を受けている場合、CPU13の処理負荷が増大し、CPU13の消費電流が増大することにより、加算値が判定閾値αを超過する。これにより、検知部132は、数値制御装置10がDoS攻撃等の不正アクセスを受けていると判定することができる。
また、数値制御装置10が実行時間(加工時間)に過剰アクセス等を受けることで、CPU13に過剰な処理負荷がかかった場合、例えば、メモリ12の空き容量不足に起因してCPU13の処理が遅くなり、CPU13の消費電流が減少するとともに、数値制御装置10の代表箇所の温度も減少する。この場合でもCPU13の加算値が判定閾値αを超過すると、検知部132は、数値制御装置10がDoS攻撃等の不正アクセスを受けていると判定することができる。
また、数値制御装置10が実行時間(加工時間)より短い期間の過剰アクセス等を受けたとしても、CPU13の処理の負荷が増大し、CPU13の消費電流が1次的に増大(又は減少)するため、CPU13の加算値が判定閾値αを超過すると、検知部132は、数値制御装置10がDoS攻撃等の不正アクセスを受けていると判定することができる。
【0021】
なお、判定閾値α及び一定期間Tの値は、加工プログラムの実行中において、検知部132が正常な非同期通信等をDoS攻撃等の不正アクセスと判定しないように、決められることが好ましい。
【0022】
動作制御部133は、例えば、加工プログラムに基づいて指令を生成し、生成した指令を図示しない工作機械に出力するとともに、検知部132がDoS攻撃等の不正アクセスと判定した場合、数値制御装置10をネットワーク20から遮断する。そして、動作制御部133は、加工プログラムを停止し、DoS攻撃等の不正アクセスを検知したというログをメモリ12に記録するようにしてもよい。また、動作制御部133は、数値制御装置10又は工作機械(図示しない)に含まれる液晶ディスプレイ等の表示部に当該不正アクセスを検知したというメッセージ等を表示(通知)するようにしてもよい。
【0023】
ASIC14は、特定用途向け集積回路であり、例えば、数値制御装置10における特定の処理を行う。
【0024】
電源21~24は、外部I/F11、メモリ12、CPU13、及びASIC14それぞれに電力を供給する。なお、電源21~24は、消費電流を測定する図示しない電流計を含んでもよく、測定された消費電流を測定部130に出力してもよい。
【0025】
<数値制御装置10の検知処理>
次に、
図5を参照しながら、数値制御装置10の検知処理の流れを説明する。
図5は、数値制御装置10の検知処理について説明するフローチャートである。ここで示すフローは、加工プログラムが実行される度に繰り返し実行される。
【0026】
ステップS1において、測定部130は、電源23に配置された図示しない電流計を用いてCPU13の消費電流をサンプリング周期で測定する。
【0027】
ステップS2において、測定部130は、予め設定された数値制御装置10の代表箇所に配置された温度センサ(図示しない)等を用いて、数値制御装置10の代表箇所の温度を測定する。
【0028】
ステップS3において、補正部131は、ステップS2で測定された温度とメモリ12に記録された基準温度とに基づいて、CPU13の消費電流のモデル波形を補正する。
【0029】
ステップS4において、検知部132は、ステップS1においてサンプリング周期に対応付けて測定されたCPU13の消費電流と、ステップS3で補正されたモデル波形のうちステップS1で消費電流が測定されたサンプリング周期に対応する消費電流との差分の絶対値を加算する。
【0030】
ステップS5において、検知部132は、ステップS4で加算した加算値が判定閾値αを超過したか否かを判定する。加算値が判定閾値αを超過した場合、処理はステップS9に進む。一方、加算値が判定閾値α以下の場合、処理はステップS6に進む。
【0031】
ステップS6において、検知部132は、DoS攻撃等の不正アクセスなしと判定する。
【0032】
ステップS7において、検知部132は、加算時間が一定期間T以上か否かを判定し、加算時間が一定期間T以上の場合、加算時間及び加算値を「0」にリセットする。
【0033】
ステップS8において、検知部132は、加工プログラムの実行が終了したか否かを判定する。加工プログラムの実行が終了した場合、数値制御装置10は検知処理を終了する。一方、加工プログラムの実行が終了していない場合、処理はステップS1に戻る。
【0034】
ステップS9において、検知部132は、DoS攻撃等の不正アクセスありと判定する。
【0035】
ステップS10において、動作制御部133は、数値制御装置10をネットワーク20から遮断する。そして、動作制御部133は、加工プログラムを停止し、DoS攻撃等の不正アクセスを検知したというログをメモリ12に記録する。また、動作制御部133は、数値制御装置10又は工作機械(図示しない)の表示部に当該不正アクセスを検知したというメッセージ等を表示(通知)する。そして、数値制御装置10は検知処理を終了する。
【0036】
以上により、一実施形態に係る数値制御装置10は、実際に動作するCPU13の消費電流が変化することを利用することにより、認知されていない未知の脆弱性を利用したDoS攻撃等のリソースに過剰な負荷をかけて数値制御装置10やネットワーク20の稼働を妨害する不正アクセスを容易に検知することができる。
また、数値制御装置10は、温度変化による電子部品の物理状態の変化が生じても、測定された数値制御装置10の代表箇所の温度と基準温度とに基づいて当該物理状態のモデル波形を補正することにより、不正アクセスの誤判定を防ぐことができる。
【0037】
以上、一実施形態について説明したが、数値制御装置10は、上述の実施形態に限定されるものではなく、目的を達成できる範囲での変形、改良等を含む。
【0038】
<変形例1>
一実施形態では、測定部130は、CPU13の消費電流をサンプリング周期で測定したが、これに限定されない。例えば、測定部130は、CPU13の消費電力やCPU13のジャンクション温度をサンプリング周期で測定してもよい。
例えば、消費電力の場合、CPU13に電力を供給する電源23は一般的に定電圧電源であり電圧Vは一定であることから、消費電力Pは、P=V×Iの関係から消費電流Iと同様の変化を示す。これにより、検知部132は、消費電流の場合と同様に、測定部130により測定されたCPU13の消費電力を用いて、DoS攻撃等の不正アクセスを検知することができる。
また、ジャンクション温度の場合、CPU13を含む電子部品で消費された電力によって電子部品が発熱するため、ジャンクション温度Tjは、Tj=P×RJA+Taの関係から消費電力P(すなわち消費電流I)と同様の変化を示す。なお、RJAは電子部品の熱抵抗を示し、Taは周囲温度を示す。これにより、検知部132は、消費電流の場合と同様に、測定部130により測定されたCPU13のジャンクション温度を用いて、DoS攻撃等の不正アクセスを検知することができる。
【0039】
<変形例2>
また例えば、上述の実施形態では、検知部132は、加工プログラムが実行されている期間において測定部130によりサンプリング周期に対応付けて測定されたCPU13の消費電流と、補正部131により補正されたモデル波形のうち当該消費電流が測定されたサンプリング周期に対応する消費電流との差分の絶対値を加工プログラムの実行期間の一定期間T毎に加算したが、これに限定されない。例えば、検知部132は、待機中において測定部130によりサンプリング周期に対応付けて測定されたCPU13の消費電流と、補正部131により補正された待機中における正常状態のCPU13の消費電流のモデル波形のうち当該消費電流が測定されたサンプリング周期に対応する消費電流との差分の絶対値を待機中の一定期間T毎に加算して、加算値が判定閾値αを超過したか否かを判定することにより、DoS攻撃等の不正アクセスを検知してもよい。
すなわち、例えば、加工対象のワークの交換や、加工プログラムの変更等の待機中(未加工)であっても、数値制御装置10(CPU13)はオペレーティング等のベースとなるプログラムを実行していることから、測定部130は、待機中のCPU13の消費電流と、予め設定された数値制御装置10の代表箇所の温度とを測定でき、補正部131は、測定部130により測定された数値制御装置10の代表箇所の温度とメモリ12に記録された基準温度とに基づいて待機中のCPU13の消費電流のモデル波形を補正できる。
図6は、待機中のモデル波形の一例を示す図である。
これにより、検知部132は、加工プログラムが実行された期間の場合と同様に、待機中に測定部130によりサンプリング周期に対応付けて測定されたCPU13の消費電流と、補正部131により補正された待機中における正常状態のCPU13の消費電流のモデル波形とを用いて、DoS攻撃等の不正アクセスを検知することができる。
【0040】
<変形例3>
また例えば、上述の実施形態では、検知部132は、CPU13の消費電流に基づいてDoS攻撃等の不正アクセスを検知したが、これに限定されない。例えば、検知部132は、少なくとも1つの外部I/F11、メモリ12、CPU13、ASIC14等の電子部品の消費電流、消費電力、又はジャンクション温度に基づいて、DoS攻撃等の不正アクセスを検知してもよい。
【0041】
なお、一実施形態における数値制御装置10に含まれる各機能は、ハードウェア、ソフトウェア又はこれらの組み合わせによりそれぞれ実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【0042】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(Non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(Tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(Transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は、無線通信路を介して、プログラムをコンピュータに供給できる。
【0043】
なお、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0044】
以上を換言すると、本開示の制御装置及び制御方法は、次のような構成を有する各種各様の実施形態を取ることができる。
【0045】
(1)本開示の数値制御装置10は、産業機械を制御し外部機器と接続可能な制御装置であって、少なくとも1つの電子部品の物理状態を測定周期で測定するとともに、予め設定された代表箇所の温度を測定する測定部130と、正常状態において任意の動作プログラムが実行された期間及び/又は待機中の電子部品の物理状態を測定周期で対応付けてモデル波形として記録するとともに、モデル波形の記録時に測定された代表箇所の温度を基準温度として記録するメモリ12と、任意の動作プログラムが実行された期間又は待機中において、メモリ12に記録された電子部品のモデル波形を、測定部130により測定された代表箇所の温度と基準温度とに基づいて補正する補正部131と、測定部130により測定周期に対応付けて測定された電子部品の物理状態と、補正部131により補正されたモデル波形のうち当該物理状態が測定された測定周期に対応する物理状態との差分の絶対値を、任意の動作プログラムの実行期間又は前記待機中の一定期間毎に加算し、リソースに過剰な負荷をかけて数値制御装置10やネットワーク20の稼働を妨害する不正アクセスに対する予め定められた判定閾値を加算した値が超過したか否かを判定する検知部132と、を備える。
この数値制御装置10によれば、DoS攻撃等のリソースに過剰な負荷をかけて数値制御装置10やネットワーク20の稼働を妨害する不正アクセスを容易に検知することができる。
【0046】
(2) (1)に記載の数値制御装置10において、物理状態は、電子部品の消費電流であってもよい。
そうすることで、数値制御装置10は、精度良くDoS攻撃等の不正アクセスを検知することができる。
【0047】
(3) (1)に記載の数値制御装置10において、物理状態は、電子部品の消費電力であってもよい。
そうすることで、数値制御装置10は、(2)と同様の効果を奏することができる。
【0048】
(4) (1)に記載の数値制御装置10において、物理状態は、電子部品のジャンクション温度であってもよい。
そうすることで、数値制御装置10は、(2)と同様の効果を奏することができる。
【0049】
(5) (1)から(4)のいずれかに記載の数値制御装置10において、電子部品は、CPU13を含んでもよい。
そうすることで、数値制御装置10は、DoS攻撃等の不正アクセスを迅速に検知することができる。
【0050】
(6) (1)から(5)のいずれかに記載の数値制御装置10において、検知部132が不正アクセスと判定した場合、少なくとも数値制御装置10をネットワーク20から遮断し、動作プログラムを停止し、不正プロセスを検知したというログをメモリ12に記録する動作制御部133をさらに備えてもよい。
そうすることで、数値制御装置10は、DoS攻撃等の不正アクセスによる影響を回避することができる。
【0051】
(7)本開示の制御方法は、外部機器と接続可能な制御装置による産業機械の制御方法であって、少なくとも1つの電子部品の物理状態を測定周期で測定するとともに、予め設定された代表箇所の温度を測定する測定ステップと、正常状態において任意の動作プログラムが実行された期間及び/又は待機中の電子部品の物理状態を測定周期に対応付けてモデル波形として記録するとともに、モデル波形の記録時に測定された代表箇所の温度を基準温度として記録する記録ステップと、任意の動作プログラムが実行された期間又は待機中において、記録された電子部品のモデル波形を、測定された代表箇所の温度と基準温度とに基づいて補正する補正ステップと、測定周期に対応付けて測定された電子部品の物理状態と、補正されたモデル波形のうち当該物理状態が測定された測定周期に対応する物理状態との差分の絶対値を、任意の動作プログラムの実行期間又は待機中の一定期間毎に加算し、リソースに過剰な負荷をかけて数値制御装置10やネットワーク20の稼働を妨害する不正アクセスに対する予め定められた判定閾値を加算した値が超過したか否かを判定する検知ステップと、を備える。
この制御方法によれば、(1)と同様の効果を奏することができる。
【符号の説明】
【0052】
1 制御システム
10 数値制御装置
11 外部I/F
12 メモリ
13 CPU
130 測定部
131 補正部
132 検知部
133 動作制御部
14 ASIC
20 ネットワーク
21~24 電源