IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 三菱電機株式会社の特許一覧

<>
  • 特許-異常判定装置 図1
  • 特許-異常判定装置 図2
  • 特許-異常判定装置 図3
  • 特許-異常判定装置 図4
  • 特許-異常判定装置 図5
  • 特許-異常判定装置 図6
  • 特許-異常判定装置 図7
  • 特許-異常判定装置 図8
  • 特許-異常判定装置 図9
  • 特許-異常判定装置 図10
  • 特許-異常判定装置 図11
  • 特許-異常判定装置 図12
  • 特許-異常判定装置 図13
  • 特許-異常判定装置 図14
  • 特許-異常判定装置 図15
  • 特許-異常判定装置 図16
  • 特許-異常判定装置 図17
  • 特許-異常判定装置 図18
  • 特許-異常判定装置 図19
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-05
(45)【発行日】2024-12-13
(54)【発明の名称】異常判定装置
(51)【国際特許分類】
   G06F 11/07 20060101AFI20241206BHJP
【FI】
G06F11/07 160
G06F11/07 140A
【請求項の数】 6
(21)【出願番号】P 2023523789
(86)(22)【出願日】2021-05-26
(86)【国際出願番号】 JP2021019946
(87)【国際公開番号】W WO2022249315
(87)【国際公開日】2022-12-01
【審査請求日】2023-06-29
(73)【特許権者】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】100088672
【弁理士】
【氏名又は名称】吉竹 英俊
(74)【代理人】
【識別番号】100088845
【弁理士】
【氏名又は名称】有田 貴弘
(72)【発明者】
【氏名】市川 幸宏
【審査官】渡辺 順哉
(56)【参考文献】
【文献】特開2021-063742(JP,A)
【文献】特開2021-051698(JP,A)
【文献】国際公開第2020/194534(WO,A1)
【文献】米国特許出願公開第2020/0379454(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 23/00
G06F 11/07
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
検査装置による試験の対象となる試験対象装置の異常判定装置であって、
前記検査装置から出力される試験情報群および要求情報群に対して、前記試験対象装置が出力する応答情報群に基づいて、前記検査装置の複数の監視機能により出力される分類前情報群を受け、前記分類前情報群の異常分類処理および異常検出処理を行って検出結果を出力し、
前記異常分類処理は、機械学習のアルゴリズムにより前記分類前情報群の情報を正常と異常に分類し、異常に分類された前記情報を異常情報群とし、
前記異常検出処理は、
前記異常情報群のそれぞれの異常情報と前記検査装置の前記複数の監視機能との関係を特定して、特定した監視機能に重み付けして異常識別値とし、前記異常識別値と予め定めたしきい値との比較を行い、前記しきい値以上であれば異常と判定し、前記特定した監視機能が作動している際の前記試験で使用されている前記試験情報群を前記検出結果として出力する、異常判定装置。
【請求項2】
前記機械学習のアルゴリズムは、1クラスサポートベクターマシンまたはk平均法である、請求項1記載の異常判定装置。
【請求項3】
前記試験は通信の異常に関する試験を含み、
前記応答情報群は、
前記通信に関連する情報および前記通信には関連しない情報を含む、請求項1記載の異常判定装置。
【請求項4】
前記特定した監視機能への前記重み付けは、
前記通信には関連しない情報ほど重みの値を高くし、前記通信に関連する情報ほど重みの値を低くする、請求項記載の異常判定装置。
【請求項5】
前記異常分類処理は、
前記分類前情報群の情報を正常と異常に分類する際に、特定の異常については前記機械学習のアルゴリズムにおいて正常に分類されるように、前記機械学習のアルゴリズムで使用されるパラメータの値を変更する変更処理を含む、請求項記載の異常判定装置。
【請求項6】
前記変更処理は、
前記検査装置の前記複数の監視機能にそれぞれ対応した複数のテンプレート情報を前記機械学習のアルゴリズムにより分類した際に、前記複数のテンプレート情報が正常と分類されるように前記パラメータの値を変更し、
変更後の前記パラメータの値を用いて前記機械学習のアルゴリズムにより前記分類前情報群の情報を分類する、請求項記載の異常判定装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は機器の異常判定装置に関し、ブラックボックス型のセキュリティ試験の対象となる機器の異常判定装置に関する。
【背景技術】
【0002】
従来の機器の異常判定装置として、例えば特許文献1には、工作機械の工具を対象に異常を検知する装置が開示されており、正常状態を学習して、その値から外れた場合に異常と判定する技術が開示されている。
【0003】
また、特許文献2には、機器の異常状態の計測データを学習し、ニューラルネットワークを用いて正常時と異常時の値を比較し、異常を判定する技術が開示されている。
【0004】
また、特許文献3には、機器の異常状態の計測データを機械学習し、正常時と異常時の値を比較し、異常を判定する技術が開示されている。
【0005】
また、特許文献4には、伝送路異常の原因を特別な回路を必要とせずに特定する技術が開示されており、例えば、断線とショート、ノイズによる不具合を区別できる。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2018-24055号公報
【文献】特開平10-198420号公報
【文献】特開2019-124984号公報
【文献】特開2016-20185号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1では、正常状態と異常状態をOCSVM(One Class Support Vector Machine)などの機械学習で分類し、分類した異常状態をさらに多クラスSVMで分類している。最終的に出力される分類に対して、異常状態を割り付ける方式となっており、機械学習で出力された情報に追加で実施する方式については明記されていない。
【0008】
特許文献2および特許文献3では、異常状態の計測値を学習する部分と正常状態を学習する部分があり、それぞれ学習することで重みが算出できる。その重みを用いて、原因とベクトル(ノード)を関連させる。ただし、原因とベクトルの関連付けは手動または、予め作成された表を用いるとされ、その作成方法については明記されていない。
【0009】
特許文献4では、CAN(Controller Area Network)で標準機能としているエラーカウントを用いて、受信カウントおよび送信カウントの値から異常の原因を判断するが、通信プロトコル機能以外のエラーについての分類は明記されていない。
【0010】
このように従来の機器の異常判定装置は、用途および機能が限定的であり、昨今の制御システムの堅牢性をテストする、ブラックボックス型のセキュリティ試験には対応していなかった。
【0011】
本開示は上記のような問題点を解決するためになされたもので、ブラックボックス型のセキュリティ試験の対象となる機器の異常判定が可能な異常判定装置を提供することを目的とする。
【課題を解決するための手段】
【0012】
本開示に係る異常判定装置は、検査装置による試験の対象となる試験対象装置の異常判定装置であって、前記検査装置から出力される試験情報群および要求情報群に対して、前記試験対象装置が出力する応答情報群に基づいて、前記検査装置の複数の監視機能により出力される分類前情報群を受け、前記分類前情報群の異常分類処理および異常検出処理を行って検出結果を出力し、前記異常分類処理は、機械学習のアルゴリズムにより前記分類前情報群の情報を正常と異常に分類し、異常に分類された前記情報を異常情報群とし、前記異常検出処理は、前記異常情報群のそれぞれの異常情報と前記検査装置の前記複数の監視機能との関係を特定して、特定した監視機能に重み付けして異常識別値とし、前記異常識別値と予め定めたしきい値との比較を行い、前記しきい値以上であれば異常と判定し、前記特定した監視機能が作動している際の前記試験で使用されている前記試験情報群を前記検出結果として出力する。
【発明の効果】
【0013】
本開示に係る異常判定装置によれば、検査装置の複数の監視機能により出力される分類前情報群から、検査装置による試験によって試験対象装置が珍しい応答をする試験情報群を特定し、さらにその中から特定した監視機能に重み付けして異常識別値とすることで、ブラックボックス型のセキュリティ試験のように膨大な試験情報群から異常の可能性のある試験情報群を絞りこむことができるので、試験対象装置の異常判定を効率的に行うことができる。
【図面の簡単な説明】
【0014】
図1】実施の形態1に係る異常判定装置を用いて試験対象装置の異常を判定するシステムの構成を示すブロック図である。
図2】分類前情報群の一例を示す図である。
図3】分類前情報群の一例を示す図である。
図4】分類前情報群の一例を示す図である。
図5】分類前情報群の一例を示す図である。
図6】実施の形態1に係る異常判定装置における異常分類処理を説明するフローチャートである。
図7】実施の形態1に係る異常判定装置における試験項目分類処理を説明するフローチャートである。
図8】試験対象装置にランプが設けられた構成を示す図である。
図9】正常時のランプの点滅を示す波形図である。
図10】異常時のランプの点滅を示す波形図である。
図11】実施の形態1に係る異常判定装置の重みテーブルの一例を示す図である。
図12】実施の形態1に係る異常判定装置における異常判定処理を説明するフローチャートである。
図13】実施の形態2に係る異常判定装置を用いて試験対象装置の異常を判定するシステムの構成を示すブロック図である。
図14】実施の形態2に係る異常判定装置における異常分類の訓練を説明するフローチャートである。
図15】実施の形態2に係る異常判定装置の判定テーブルに格納されたテンプレート情報の一例を示す図である。
図16】実施の形態2に係る異常判定装置の判定テーブルに格納されたテンプレート情報の一例を示す図である。
図17】実施の形態2に係る異常判定装置の判定テーブルに格納されたテンプレート情報の一例を示す図である。
図18】実施の形態1および2に係る異常判定装置を実現するハードウェア構成を示す図である。
図19】実施の形態1および2に係る異常判定装置を実現するハードウェア構成を示す図である。
【発明を実施するための形態】
【0015】
<実施の形態1>
図1は本開示の実施の形態1に係る異常判定装置100を用いて試験対象装置202の異常を判定するシステムの構成を示すブロック図である。
【0016】
図1に示す試験対象装置202は、セキュリティ検査装置201によるブラックボックス型のセキュリティ試験の対象となる機器であり、セキュリティ検査装置201から試験情報群211および要求情報群212が入力される。
【0017】
試験情報群211としては、例えばイーサネット(登録商標)などの通信プロトコルの文法的に誤った情報またはイーサネットなどの通信プロトコルの正常情報を短い間隔で送るような情報が挙げられる。その他には、TCP(Transmission Control Protocol)などの通信プロトコルの情報およびプログラム、または関数の引数に代表されるソフトウェアの入力情報などが挙げられる。ここでは上記情報の1つを単一試験情報tとし、単一試験情報の集合を単一試験情報群として{t、t、・・・、t}と表現する。そして、単一試験情報群をTと表現した場合、単一試験情報群の集合は{T、T、・・・、T}と表現する。
【0018】
セキュリティ検査装置201は、上述した単一試験情報群の集合を予め保有または機械的に作成し、試験情報群211として試験対象装置202に入力する。
【0019】
セキュリティ検査装置201としては、例えばAchilles Test Platform(登録商標)およびDefensics(登録商標)が挙げられ、大量の試験情報群を有している。Achilles Test Platformは、ファジングによる堅牢性の検証を制御デバイスに特化して行うツールであり、Defensicsはソフトウェアのセキュリティ上の脆弱性を検出するブラックボックス型のツールである。
【0020】
なお、試験情報群を機械的に作成する方法としては、例えば、イーサネットの通信パケットのIEEE802.3フレームでは「長さ」のフィールドが設けられているが、この「長さ」を大きくして、実際に大きな通信パケットの試験パケットとするような方法が挙げられる。なお、このような試験パケットは、上述したツールで準備されている。
【0021】
要求情報群212としては、例えばARP(Address Resolution Protocol)リクエストおよびICMP(Internet Control Message Protocol)リクエストなどの要求情報が挙げられる。その他には、他の通信プロトコルの要求などが挙げられ、要求に対して応答を返すような要求情報である。パーソナルコンピュータ(PC)を例に採れば、要求情報群212はPINGが挙げられ、PCが起動していれば、PINGに返答するため、正常と仮定し、PINGへの返答がなければ異常と判定する。要求情報群212は、PCに送るPINGであり、PCから返すPINGが応答情報群213となる。
【0022】
試験対象装置202としては、例えばDCS(Distributed Control System)およびPLC(Programmable Logic Controller)などのコントローラー間ネットワークに接続される組み込み機器、PCおよびアプリケーションソフトウェアを実行する機器などが挙げられるが、これらに限定されるものではなく、単独で、または連結して動作する機器も含んでいる。
【0023】
試験対象装置202は、入力された試験情報群211および要求情報群212に対して応答情報群213を出力し、出力した応答情報群213はセキュリティ検査装置201に入力される。より詳細には、応答情報群213は、試験情報群211を試験対象装置202に入力し、さらに追加で要求情報群212を入力した場合に試験対象装置202が出力する情報群、または、要求情報群212が入力されない場合に試験対象装置202が出力する情報群である。応答情報群213としては、例えばARPおよびICMPの応答情報、アナログ出力およびデジタル出力などの出力情報が挙げられる。
【0024】
セキュリティ検査装置201は、入力された応答情報群213に基づいて分類前情報群214を出力する。ここで、分類前情報群214は、セキュリティ検査装置201が要求情報群212を試験対象装置202に入力して応答情報群213が出力されるまでの遅延などを計測した計測値である。試験対象装置202の負荷が増えることで、主に応答情報群213の出力が遅れ、遅延が生じる。または、試験対象装置202の負荷が増えることで要求情報群212の受信ができず、遅延が生じる。
【0025】
セキュリティ検査装置201は、この遅延などを計測する監視機能f、f、・・・・fを有している。監視機能としては、例えばARP監視機能、ICMP監視機能、物理LINK監視機能、アナログ出力監視機能およびデジタル出力監視機能、ランプのON/OFF監視機能などが挙げられる。それぞれの監視機能による分類前情報群214の一例を図2図5に示す。また、これら分類前情報群214には、試験情報群211を構成する単一試験情報群T{t1、t2、・・・、tn}の情報が結果として付与される。
【0026】
図2は、ARP監視機能およびICMP監視機能による分類前情報群214の一例であり、2次元情報であるX軸に時刻t、Y軸に要求から応答までかかった応答時間(遅延時間)を示している。図2においては、ARPリクエストおよびICMPリクエストに対する応答には時間が経過するにつれて応答時間が増えること示されており、機器に負荷がかかっていることが推測される。
【0027】
図3は、デジタル出力監視機能による分類前情報群214の一例であり、2次元情報であるX軸に時刻t、Y軸にデジタル出力情報を示している。図3においては、所定のデジタル波形を示しているが、負荷の増加またはバグが入りこむことで、波形がなまったり、欠けたりすることがある。
【0028】
図4は、アナログ出力監視機能による分類前情報群214の一例であり、2次元情報であるX軸に時刻t、Y軸にアナログ出力情報を示している。図4においては、所定のアナログ波形を示しているが、負荷の増加またはバグが入りこむことで、波形がなまったり、欠けたりすることがある。
【0029】
アナログ出力情報およびデジタル出力情報については、本来は1秒間で変化するアナログ出力およびデジタル出力が固定されている場合、試験情報群211の影響を受けて、これらの出力が変化する場合がある。その変化が大きいか小さいかで試験情報群211の影響の度合いを監視することもできる。
【0030】
図5は、物理LINK監視機能による分類前情報群214の一例であり、2次元情報であるX軸に時刻t、Y軸にリンクがONした場合の情報すなわち1と、OFFした場合の情報すなわち0の2値情報を示している。図5においては機器がネットワークの物理層、厳密にはデータリンク層に接続されていることを示すONと、接続されていないことを示すOFFを繰り返していることを表している。なお、図5は、ランプのON/OFF監視機能による分類前情報群214の例も表している。
【0031】
ここで、図1の説明に戻り異常判定装置100の構成について説明する。異常判定装置100は、処理情報取得部101、異常分類部102、試験項目分類部103、異常検出部104、判定テーブル111、重みテーブル112およびしきい値テーブル113を備え、セキュリティ検査装置201が出力する分類前情報群214を入力として、分類前情報群214の異常分類処理および異常検出処理を行って、異常を呈する単一試験情報群Tを単一試験情報群217として出力する。
【0032】
処理情報取得部101は、分類前情報群214を受け付けて分類前情報群214を出力する。この受け付けた分類前情報群214は、例えばセキュリティ検査装置201の監視機能fで得られた情報であり、図2図5を用いて説明したようにX軸とY軸の2次元情報となる。すなわち、試験情報群211による試験が全て完了する中で、セキュリティ検査装置201で機能をONにした監視機能f、f、・・・・f(n=ONにした機能の個数)ごとに、X軸とY軸の2次元情報を取得できる。その際、X軸は時間軸であるため、試験の開始から試験の終了までの時間となる。
【0033】
異常分類部102は、分類前情報群214の2次元情報群、すなわち時刻と遅延時間(レイテンシ)で表される情報群{(Time、latency)、(Time、latency)、・・・(Time、latency)}(N=t)について異常分類処理を行う。この異常分類処理について図6を用いて説明する。
【0034】
図6は異常分類部102における異常分類処理を説明するフローチャートである。異常分類部102は、まず、入力された2次元情報群の情報を受け付ける(ステップS1)。
【0035】
次に、判定テーブル111に格納されたパラメータの値を取得する(ステップS2)。具体的には、異常分類処理に1クラスサポートベクターマシン(OCSVM:0ne Class Support Vector Machine)のような機械学習アルゴリズムを利用する場合、判定テーブル111に格納されたkernel、degree、gamma、coef0、tol、nuなどのパラメータの値を取得する。OCSVMは公知の技術であり、教師なし学習によりデータのパターンを学習し、パターンから外れたデータを異常として検出する。なお、異常の分類はOCSVMに限定されるものではなく、他のアルゴリズム、例えば、クラスタリングのアルゴリズムであるk平均法(k-means clustering)を用いることもできる。クラスタリングは公知の技術であり、しきい値を決め、その値に基づいて分類する方法である。判定テーブル111には、使用するアルゴリズムに適したパラメータの値を格納しておく。
【0036】
異常分類部102は、取得したパラメータの値で分類前情報群214を分類する(ステップS3)。例えば、OCSVMを利用する場合、nu=0.05、kernel=rbf、gamma=scaleとすることで、OCSVMのアルゴリズムが実行され分類前情報群214が分類される。分類結果の中で異常と判定している情報を異常情報群215とし、分類結果として出力する(ステップS4)。例えば、OCSVMの分類結果として、正常を1、異常を-1として出力する。
【0037】
以上の説明では、異常の分類に言及したが、訓練については言及していない。本開示における異常の分類は、ファジングテストのように正常と異常を分類することではなく、ファジングテストにより異常に分類された中で、さらに珍しい異常値を特定することにある。すなわち、正確な訓練による正確な分類ということではなく、大まかに分類した上で、その中で発生することが少ない異常を呈する試験項目を特定することを目的としている。
【0038】
異常分類部102から出力される異常情報群215は試験項目分類部103(図1)に入力され、異常情報群215とセキュリティ検査装置201の監視機能との関係を特定した上で、試験項目を分類する。この試験項目分類処理について図7を用いて説明する。
【0039】
図7は試験項目分類部103における試験項目分類処理を説明するフローチャートである。試験項目分類部103は、まず、入力された異常情報群215の情報を受け付ける(ステップS11)。
【0040】
次に、異常情報群215とセキュリティ検査装置201の監視機能との関係を特定する(ステップS12)。すなわち、異常情報群215がどの監視機能による情報であるのかを、監視機能f、f、・・・fのような記号、またはARP監視機能、ICMP監視機能などの機能名で表す。図5に示した物理LINK監視機能による情報を例に採ると、異常情報群215は、ONとOFFを繰り返しているデータであるので物理LINK監視機能による情報であるものと特定する。なお、特定される監視機能は1つに限られず、複数が特定される場合もある。
【0041】
また、試験対象装置202に付与された機器の状態を表現するランプ情報も監視情報として利用できる。図8には試験対象装置202にランプAおよびランプBが設けられた構成を示している。ランプAおよびランプBは点滅状態による機器の状態を表すランプであり、試験対象装置202が正常動作している場合(正常時)と、異常動作している場合(異常時)を、点滅状態で外部に知らせることができる。図9および図10は、それぞれ正常時および異常時のランプの挙動をランプに入力される信号の波形図で示しており、何れも横軸に時間(t)、縦軸に出力を示している。
【0042】
図9の左図および右図にそれぞれ示されるように、正常時にはランプAおよびランプBは、互いに異なる周期でON、OFFを繰り返すが、図10の左図および右図にそれぞれに示されるように、異常時にはランプAは正常時とは異なった周期でON、OFFし、ランプBはONせず、消灯している。このように、正常時には見られないランプの挙動を本監視機能として利用することができる。なお、ランプのON状態およびOFF状態については別途に設けた映像装置を用いて映像情報として取得することもできる。
【0043】
次に、ステップS12で特定された監視機能に対して、重みテーブル112(図1)を用いて重み付けし、異常値を算出する(ステップS13)。
【0044】
重みテーブル112の一例を図11に示す。図11に示す重みテーブル112では、アナログ出力監視機能およびデジタル出力監視(アナログ・デジタル出力監視)機能fには重み「3」、ランプのON/OFF監視機能fには重み「3」、LINKのON/OFF監視機能fには重み「3」、ARP監視機能fには重み「2」、ICMP監視機能fには重み「1」、TCP Port監視機能fには重み「1」が設定されている。
【0045】
例えば、ステップS12で特定された監視機能がLINKのON/OFF監視機能fであれば、重みテーブル112より重み「3」であるので、異常値は3となる。また、ステップS12で特定された監視機能がARP監視機能fとICMP監視機能fであれば、重みテーブル112より、それぞれ重み「1」と「2」であるので、異常値は両者を掛け合わせて1×2=2とする。このように特定された監視機能に対して重みテーブル112を用いて重み付けした値を異常値とし、特定された監視機能が複数である場合は、重みを掛け合わせた総積値を異常値とする。
【0046】
次に、ステップS13で求めた異常値を異常識別値216として出力する(ステップS14)。
【0047】
ここで、図11の重みテーブル112に記載した例では、アナログ・デジタル出力などの物理情報でファジングテストのための情報など通信に干渉し難い情報の場合、すなわち通信には直接関連しない情報は重みの値を高くしている。またARP通信などの通信においても低レイヤの情報の場合は、高レイヤの情報と比較して重みの値を高くしている。最も重みの値が低いのは、ICMPおよびTCP Portなど高レイヤの情報、すなわち通信に直接関連する情報の場合である。このように、試験項目分類部103では、通信エラーと直接関係し難い監視機能で得られた情報、すなわちOCSVMなどでは通常は異常と分類されない情報を異常と判定するように重み付けすることでファジングテストなどにおいて有用な情報分類が可能となる。
【0048】
多くのファジングテストの結果において、高レイヤでエラーと判定されたものは、DoS(Denial of Service)などの負荷現象に起因するものが多く、その現象の性質からブラックボックス試験のみで分類することが難しい。そのため、結果的に試験対象機器の障害原因を追究することが難しく、有用な情報にならないことが多いが、本開示の方式は、それらの情報も効率的に発見することができる。
【0049】
試験項目分類部103から出力される異常識別値216は異常検出部104(図1)に入力され、異常判定を行う。この異常判定処理について図12を用いて説明する。
【0050】
図12は異常検出部104における異常判定処理を説明するフローチャートである。異常検出部104は、まず、入力された異常識別値216の情報を受け付ける(ステップS21)。
【0051】
次に、異常識別値216としきい値テーブル113(図1)とを比較し、しきい値テーブル113に格納されたしきい値以上であれば、異常と判定し(ステップS22)、異常識別値216の算出元となった監視機能が作動している際の試験で使用されている試験情報群211を構成する単一試験情報群Tを単一試験情報群217として出力する(ステップS23)。
【0052】
例えば、しきい値テーブル113のしきい値を3以上とした場合、通信の高レイヤの情報は異常と認めず、通信の低レイヤの情報は異常と定義することになる。また、通信に関していない情報を異常と認めない場合は、しきい値を5以上に設定する。なお、試験項目分類処理と異常判定処理とを合わせて異常検出処理と呼称する。
【0053】
以上説明したように、実施の形態1の異常判定装置100は、セキュリティ検査装置201で監視している異常の分類前情報群からセキュリティ試験によって試験対象装置202が珍しい応答をする試験情報群を特定し、さらにその中から物理情報および通信情報などに重みをつけることで、大量にある試験情報群から異常の可能性のある単一試験情報群を絞りこむことができる。
【0054】
<実施の形態2>
図13は本開示の実施の形態2に係る異常判定装置100Aを用いて試験対象装置202の異常を判定するシステムの構成を示すブロック図である。なお、図13においては、図1に示した実施の形態1のシステムと同一の構成については同一の符号を付し、重複する説明は省略する。
【0055】
異常判定装置100Aは、セキュリティ検査装置201が出力する分類前情報群214を入力として、単一試験情報群217を出力する点では図1に示した異常判定装置100と同様であるが、処理情報取得部101から出力される分類前情報群214を入力として、判定テーブル111に異常分類処理のためのパラメータの値と共に格納されたサンプルテンプレート情報を用いて異常分類部102における異常分類の訓練を行う異常訓練部105を備えている。異常訓練部105を備えることで、異常と正常の分類精度を向上させる。なお、異常訓練部105以外は図1に示した異常判定装置100の構成と同様であり、同一の構成については同一の符号を付し、重複する説明は省略する。
【0056】
処理情報取得部101は、分類前情報群214を受け付け、異常訓練部105に対して分類前情報群214を出力する。この分類前情報群214は、例えばセキュリティ検査装置201の監視機能fで得られた情報であり、図2図5を用いて説明したようにX軸とY軸の2次元情報となる。すなわち、試験情報群211による試験が全て完了する中で、セキュリティ検査装置201で機能をONにした監視機能f、f、・・・・f(n=ONにした機能の個数)ごとに、X軸とY軸の2次元情報を取得できる。その際、X軸は時間軸であるため、試験の開始から試験の終了までの時間となる。
【0057】
異常訓練部105は、分類前情報群214を入力として、判定テーブル111に格納されたサンプルテンプレート情報を用いて異常分類部102における異常分類の訓練を行う。この異常分類の訓練について図14を用いて説明する。
【0058】
図14は異常訓練部105における異常分類の訓練を説明するフローチャートである。異常訓練部105は、まず、入力された分類前情報群214の2次元情報群を受け付ける(ステップS31)。受け付けた分類前情報群214の2次元情報群は異常分類部102に入力する。
【0059】
次に、異常訓練部105は、判定テーブル111に格納されたテンプレート情報を取得する(ステップS32)。このテンプレート情報の一例を図15図17に示す。
【0060】
図15は、物理LINK監視機能fに対応するテンプレート情報の一例であり、2次元情報であるX軸に時刻t、Y軸にLINKに接続できている場合をONとして表現し、LINKに接続できていない場合をOFFとして表現する情報群である。図15の例では、LINKに物理的に接続できていることが判る。
【0061】
図16は、ICMP監視機能fに対応するテンプレート情報の一例であり、2次元情報であるX軸に時刻t、Y軸にセキュリティ検査装置201からICMP要求を試験対象装置202に送ってから試験対象装置202がICMP応答を返答するまでの遅延を0%から100%の数値で表現している。遅延は、予め決められた時間で規定され、当該時間が1秒であれば、1秒以上遅れた場合は100%となる。図16の例では、時刻tにおいて100%遅延していることが判る。
【0062】
図17は、ARP監視機能fに対応するテンプレート情報の一例であり、2次元情報であるX軸に時刻t、Y軸にセキュリティ検査装置201からARP要求を試験対象装置202に送ってから試験対象装置202がARP応答を返答するまでの遅延を0%から100%の数値で表現している。遅延は、予め決められた時間で規定され、当該時間が1秒であれば、1秒以上遅れた場合は100%となる。図17の例では、30%~50%程度の遅延を繰り返していることが判る。
【0063】
図15図17に示すようなテンプレートを使う目的について説明する。監視機能f~fを利用して判定できる内容は、図15より試験対象装置202は電源が切れるような事象は発生していないものの、図16図17よりIP(Internet Protocol)以上の階層で通信異常が発生しており、さらにその異常は図16より試験によって時間に比例していることが判る。これは、図16において時刻tから時刻tまでの間で、遅延が時間に比例して増加していることから判る。例えば、Y軸の数値が50%を越えれば異常、そうでなければ異常ではないと判定する場合、ICMPとして負荷がかかっていないのであれば、このような比例関係にはならず、図17のように50%程度を最大値として時間と共に値が遷移するような関係となる。図16のように遅延が100%になるということは、ICMP要求に対して全くICMP応答がなく、異常と判断できる。
【0064】
これらの現象は、セキュリティ検査装置201上では異常と判定されるが、本異常は、特定の通信パケットでエラーが発生している可能性が低く、ブラックボックス試験のみでは、これ以上明確な判定ができない可能性が高い。そのため、このような試験は、試験対象装置202の不具合を修正する上で、原因を追究する試験項目として適当でないため、異常分類部102においては正常と判定させたい。
【0065】
そこで、異常訓練部105において、判定テーブル111に格納されたパラメータの値を変更し、異常分類部102において正常に分類されるようにする。このように、パラメータの値を変更して、異常分類部102において異常を正常と分類するように矯正することを、本開示では「変更処理」または「訓練」と呼称する。
【0066】
具体的には、異常分類処理にOCSVMを利用する場合、判定テーブル111に格納されたkernel、degree、gamma、coef0、tol、nuなどのパラメータの値を、図15図17に示すようなテンプレート情報が正常に分類されるような値に変更し、判定テーブル111に設定する(ステップS33)。なお、異常の分類にOCSVM以外の他のアルゴリズム、例えば、k平均法(k-means clustering)を用いる場合は、判定テーブル111には、使用するアルゴリズムに適したパラメータの値を格納しておき、同様に格納されたパラメータの値を変更して正常に分類されるように訓練する。なお、テンプレート情報は図15図17に示すような情報に限定されず、異常分類部102においては正常と判定させたい現象に合わせて判定テーブル111に格納しておけば良い。
【0067】
異常分類部102は、判定テーブル111に格納された変更されたパラメータの値を取得し、取得したパラメータの値でテンプレート情報を分類する(ステップS34)。例えば、OCSVMを利用する場合、nu=0.05、kernel=rbf、gamma=scaleとすることでOCSVMのアルゴリズムが実行されるが、degree、coef0、tolなどのパラメータの値をステップS33で変更しておくことで、テンプレート情報を正常と判定させる。変更したパラメータの値でも異常と判定される場合は、ステップS33に戻り、異常訓練部105において判定テーブル111に格納されたパラメータの値を再度変更する。変更後、再度パラメータの値を判定テーブル111に設定し、ステップS34を繰り返す。
【0068】
一方、ステップS34でテンプレートが正常に分類された場合、異常分類部102は、判定テーブル111に格納されたパラメータの値を取得する(ステップS35)。具体的には、異常分類処理にOCSVMを利用する場合、判定テーブル111に格納されたkernel、degree、gamma、coef0、tol、nuなどのパラメータの値を取得する。このパラメータの値には、ステップS33で変更されたパラメータの値を含んでいる。
【0069】
次に、異常分類部102は、異常訓練部105から入力された分類前情報群214の2次元情報群を分類する(ステップS36)。例えば、OCSVMを利用する場合、nu=0.05、kernel=rbf、gamma=scaleとすることでOCSVMのアルゴリズムが実行され分類前情報群214が分類され、分類結果の中で異常と判定している情報を異常情報群215とし、分類結果として出力する(ステップS37)。例えば、OCSVMの分類結果として、正常を1、異常を-1として出力する。
【0070】
ここで、分類前情報群214に図15図17に示したテンプレート情報と同様の情報が含まれていた場合は、当該情報はステップS33で変更されたパラメータの値によって正常に分類されることとなる。以降の異常情報群215に対する処理は実施の形態1と同様である。
【0071】
以上のように、実施の形態2の異常判定装置100Aは、実施の形態1の異常判定装置100と同様の効果に加え、セキュリティ検査装置201の監視機能による分類前情報群214のうち、異常分類部102で異常と判定させたくない特定の異常については、予め準備したテンプレート情報を用いて異常分類部102を訓練するので、分類前情報群214にテンプレート情報と同様の情報が含まれていた場合は当該情報に起因する異常は正常に分類される。このため、特定の異常は検出されず、目的の情報を効率的に取得することができる。
【0072】
<ハードウェア構成>
なお、以上説明した実施の形態1および2の異常判定装置100および100Aの各構成要素は、コンピュータを用いて構成することができ、コンピュータがプログラムを実行することで実現される。すなわち、異常判定装置100および100Aは、例えば図18に示す処理回路50により実現される。処理回路50には、CPU(Central Processing Unit)、DSP(Digital Signal Processor)などのプロセッサが適用され、記憶装置に格納されるプログラムを実行することで各部の機能が実現される。
【0073】
なお、処理回路50には、専用のハードウェアが適用されても良い。処理回路50が専用のハードウェアである場合、処理回路50は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、またはこれらを組み合わせたもの等が該当する。
【0074】
異常判定装置100および100Aは、構成要素の各々の機能が個別の処理回路で実現されても良いし、それらの機能がまとめて1つの処理回路で実現されても良い。
【0075】
また、図19には、処理回路50がプロセッサを用いて構成されている場合におけるハードウェア構成を示している。この場合、異常判定装置100および100Aの各部の機能は、ソフトウェア等(ソフトウェア、ファームウェア、またはソフトウェアとファームウェア)との組み合わせにより実現される。ソフトウェア等はプログラムとして記述され、メモリ52に格納される。処理回路50として機能するプロセッサ51は、メモリ52(記憶装置)に記憶されたプログラムを読み出して実行することにより、各部の機能を実現する。すなわち、このプログラムは、異常判定装置100および100Aの構成要素の動作の手順および方法をコンピュータに実行させるものであると言える。
【0076】
ここで、メモリ52は、例えば、RAM、ROM、フラッシュメモリー、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)等の、不揮発性または揮発性の半導体メモリ、HDD(Hard Disk Drive)、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD(Digital Versatile Disc)およびそのドライブ装置等、または、今後使用されるあらゆる記憶媒体であっても良い。
【0077】
以上、異常判定装置100および100Aの各構成要素の機能が、ハードウェアおよびソフトウェア等の何れか一方で実現される構成について説明した。しかしこれに限ったものではなく、異常判定装置100および100Aの一部の構成要素を専用のハードウェアで実現し、別の一部の構成要素をソフトウェア等で実現する構成であっても良い。例えば、一部の構成要素については専用のハードウェアとしての処理回路50でその機能を実現し、他の一部の構成要素についてはプロセッサ51としての処理回路50がメモリ52に格納されたプログラムを読み出して実行することによってその機能を実現することが可能である。
【0078】
以上のように、異常判定装置100および100Aは、ハードウェア、ソフトウェア等、またはこれらの組み合わせによって、上述の各機能を実現することができる。
【0079】
本開示は詳細に説明されたが、上記した説明は、全ての局面において、例示であって、本開示がそれに限定されるものではない。例示されていない無数の変形例が、本開示の範囲から外れることなく想定され得るものと解される。
【0080】
なお、本開示は、その開示の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略することが可能である。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19