(57)【要約】  製造物を製造する製造システムの不正通信を検知する不正通信検知装置（１００）は、製造システムの動作情報を取得する取得部（１１０）と、製造物の製造に関わる複数の要素のうちの１以上の対象要素を示す要素情報（例えば、通信ホワイトリスト（１２２））を記憶する記憶部（１２０）と、製造システム内で行われた複数の通信の各々に対応する要素を動作情報に基づいて特定する特定部（１３０）と、複数の通信のうち、特定部（１３０）によって特定された要素が、要素情報が示す１以上の対象要素に含まれることを満たす１以上の通信の各々の異常度を算出する算出部（１４０）と、算出部（１４０）によって算出された異常度が閾値より大きい場合に、当該異常度に対応する通信を不正通信であると判定する判定部（１５０）とを備える。
2019240020.tif 000002
【特許請求の範囲】
【請求項１】
製造物を製造する製造システムの不正通信を検知する不正通信検知装置であって、
前記製造システムの動作情報を取得する取得部と、
前記製造物の製造に関わる複数の要素のうちの１以上の対象要素を示す要素情報を記憶する記憶部と、
前記製造システム内で行われた複数の通信の各々に対応する要素を前記動作情報に基づいて特定する特定部と、
前記複数の通信のうち、前記特定部によって特定された要素が、前記要素情報が示す１以上の対象要素に含まれることを満たす１以上の通信の各々の異常度を算出する算出部と、
前記算出部によって算出された異常度が閾値より大きい場合に、当該異常度に対応する通信を不正通信であると判定する判定部とを備える
不正通信検知装置。
【請求項２】
前記要素情報は、許可された１以上の通信を前記１以上の対象要素として示す許可通信情報を含み、
前記特定部は、前記動作情報に基づいて、前記複数の通信の各々を前記要素として特定し、
前記算出部は、前記複数の通信のうち、前記特定部によって特定された通信が、前記許可通信情報が示す１以上の通信に含まれることを満たす１以上の通信の各々の異常度を算出する
請求項１に記載の不正通信検知装置。
【請求項３】
前記判定部は、さらに、前記複数の通信のうち、前記特定部によって特定された通信が、前記許可通信情報が示す１以上の通信に含まれないことを満たす１以上の通信を不正通信であると判定する
請求項２に記載の不正通信検知装置。
【請求項４】
前記要素情報は、さらに、前記製造システムが取りうる複数の設備状態のうちの１以上の設備状態を前記１以上の対象要素として示す設備状態情報を含み、
前記特定部は、さらに、前記動作情報に基づいて、前記複数の通信の各々が行われた際の設備状態を前記要素として特定し、
前記算出部は、前記複数の通信のうち、前記特定部によって特定された設備状態が、前記設備状態情報が示す１以上の設備状態に含まれることをさらに満たす１以上の通信の各々の異常度を算出する
請求項２又は３に記載の不正通信検知装置。
【請求項５】
前記製造システムは、種類の異なる複数の製造物を製造し、
前記要素情報は、さらに、前記複数の製造物の１以上の種類を前記１以上の対象要素として示す種類情報を含み、
前記特定部は、さらに、前記動作情報に基づいて、前記複数の通信の各々が行われた際に製造された製造物の種類を前記要素として特定し、
前記算出部は、前記複数の通信のうち、前記特定部によって特定された種類が、前記種類情報が示す１以上の種類に含まれることをさらに満たす１以上の通信の各々の異常度を算出する
請求項２〜４のいずれか１項に記載の不正通信検知装置。
【請求項６】
前記要素情報は、さらに、前記製造システムの複数の設備構成のうちの１以上の設備構成を前記１以上の対象要素として示す構成情報を含み、
前記特定部は、さらに、前記動作情報に基づいて、前記複数の通信の各々が行われた際の設備構成を前記要素として特定し、
前記算出部は、前記複数の通信のうち、前記特定部によって特定された設備構成が、前記構成情報が示す１以上の設備構成に含まれることをさらに満たす１以上の通信の各々の異常度を算出する
請求項２〜５のいずれか１項に記載の不正通信検知装置。
【請求項７】
前記算出部は、前記製造システムで行われる通信の正常モデルからの外れ値を、前記異常度として算出する
請求項１〜６のいずれか１項に記載の不正通信検知装置。
【請求項８】
さらに、予め取得された動作情報を用いた機械学習を行うことで、前記正常モデルを作成する学習部と、
前記機械学習の対象となった動作情報に含まれる複数の通信の各々に対応する１以上の要素を前記１以上の対象要素として示す情報を、前記要素情報として生成する情報生成部とを備える
請求項７に記載の不正通信検知装置。
【請求項９】
前記要素情報は、前記製造システムが取りうる複数の設備状態のうちの１以上の設備状態を前記１以上の対象要素として示す設備状態情報を含み、
前記特定部は、前記動作情報に基づいて、前記複数の通信の各々が行われた際の設備状態を前記要素として特定し、
前記算出部は、前記複数の通信のうち、前記特定部によって特定された設備状態が、前記設備状態情報が示す１以上の設備状態に含まれることを満たす１以上の通信の各々の異常度を算出する
請求項１に記載の不正通信検知装置。
【請求項１０】
前記製造システムは、種類の異なる複数の製造物を製造し、
前記要素情報は、前記複数の製造物の１以上の種類を前記１以上の対象要素として示す種類情報を含み、
前記特定部は、前記動作情報に基づいて、前記複数の通信の各々が行われた際に製造された製造物の種類を前記要素として特定し、
前記算出部は、前記複数の通信のうち、前記特定部によって特定された種類が、前記種類情報が示す１以上の種類に含まれることを満たす１以上の通信の各々の異常度を算出する
請求項１に記載の不正通信検知装置。
【請求項１１】
前記要素情報は、前記製造システムの複数の設備構成のうちの１以上の設備構成を前記１以上の対象要素として示す構成情報を含み、
前記特定部は、前記動作情報に基づいて、前記複数の通信の各々が行われた際の設備構成を前記要素として特定し、
前記算出部は、前記複数の通信のうち、前記特定部によって特定された設備構成が、前記構成情報が示す１以上の設備構成に含まれることを満たす１以上の通信の各々の異常度を算出する
請求項１に記載の不正通信検知装置。
【請求項１２】
製造物を製造する製造システムであって、
請求項１〜１１のいずれか１項に記載の不正通信検知装置を備える
製造システム。
【請求項１３】
製造物を製造する製造システムの不正通信を検知する不正通信検知方法であって、
前記製造システムの動作情報を取得し、
前記製造物の製造に関わる複数の要素のうちの１以上の対象要素を示す要素情報を記憶部から読み出し、
前記製造システム内で行われた複数の通信の各々に対応する要素を前記動作情報に基づいて特定し、
前記複数の通信のうち、特定された要素が、前記要素情報が示す１以上の対象要素に含まれることを満たす１以上の通信の各々の異常度を算出し、
算出された異常度が閾値を超えている場合に、当該異常度に対応する通信を不正通信であると判定する
不正通信検知方法。
【請求項１４】
請求項１３に記載の不正通信検知方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、不正通信検知装置、不正通信検知方法及び製造システムに関する。
【背景技術】
【０００２】
近年、工場などの製造現場において、複数の製造装置間での通信が行われている。このため、通信のセキュリティを高めることが求められている。【０００３】
例えば、特許文献１には、通信のセッション成立の成否を判定し、セッション不成立のパケットのトラフィックパターンを示すトラフィックパターン情報をトラフィックパターンホワイトリストと比較することで、不正な通信を検出する不正通信検出システムが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−３４２７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の不正通信検出システムでは、不正通信を精度良く検出する事ができない場合がある。例えば、上記従来の不正通信検出システムでは、セッションが成立した通信が不正の場合に検出することができない。【０００６】
そこで、本開示は、製造システムの不正通信を精度良く検知することができる不正通信検知装置、不正通信検知方法及び製造システムを提供する。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本開示の一態様に係る不正通信検知装置は、製造物を製造する製造システムの不正通信を検知する不正通信検知装置であって、前記製造システムの動作情報を取得する取得部と、前記製造物の製造に関わる複数の要素のうちの１以上の対象要素を示す要素情報を記憶する記憶部と、前記製造システム内で行われた複数の通信の各々に対応する要素を前記動作情報に基づいて特定する特定部と、前記複数の通信のうち、前記特定部によって特定された要素が、前記要素情報が示す１以上の対象要素に含まれることを満たす１以上の通信の各々の異常度を算出する算出部と、前記算出部によって算出された異常度が閾値より大きい場合に、当該異常度に対応する通信を不正通信であると判定する判定部とを備える。【０００８】
また、本開示の一態様に係る製造システムは、製造物を製造する製造システムであって、上記不正通信検知装置を備える。【０００９】
また、本開示の一態様に係る不正通信検知方法は、製造物を製造する製造システムの不正通信を検知する不正通信検知方法であって、前記製造システムの動作情報を取得し、前記製造物の製造に関わる複数の要素のうちの１以上の対象要素を示す要素情報を記憶部から読み出し、前記製造システム内で行われた複数の通信の各々に対応する要素を前記動作情報に基づいて特定し、前記複数の通信のうち、特定された要素が、前記要素情報が示す１以上の対象要素に含まれることを満たす１以上の通信の各々の異常度を算出し、算出された異常度が閾値を超えている場合に、当該異常度に対応する通信を不正通信であると判定する。【００１０】
また、本開示の一態様は、上記不正通信検知方法をコンピュータに実行させるプログラムとして実現することができる。あるいは、当該プログラムを格納したコンピュータ読み取り可能な記録媒体として実現することもできる。
【発明の効果】
【００１１】
本開示によれば、製造システムの不正通信を精度良く検知することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施の形態１に係る製造システムの構成を示すブロック図である。
【図２】図２は、実施の形態１に係る不正通信検知装置の構成を示すブロック図である。
【図３】図３は、複数の通信情報と通信ホワイトリストに対する照合結果とを示す図である。
【図４】図４は、実施の形態１に係る不正通信検知装置による振る舞い検知の対象となる通信情報を示す図である。
【図５】図５は、実施の形態１に係る不正通信検知装置の動作を示すフローチャートである。
【図６】図６は、実施の形態１に係る不正通信検知装置の動作のうち、通信ホワイトリストとの照合処理を示すフローチャートである。
【図７】図７は、実施の形態１に係る不正通信検知装置の動作のうち、不正通信の判定処理を示すフローチャートである。
【図８】図８は、実施の形態２に係る不正通信検知装置の構成を示すブロック図である。
【図９】図９は、設備状態毎の設備状態ホワイトリストに対する照合結果の一例を示す図である。
【図１０】図１０は、実施の形態３に係る不正通信検知装置の構成を示すブロック図である。
【図１１】図１１は、製造物毎の種類ホワイトリストに対する照合結果の一例を示す図である。
【図１２】図１２は、実施の形態４に係る不正通信検知装置の構成を示すブロック図である。
【図１３】図１３は、設備構成毎の構成ホワイトリストに対する照合結果の一例を示す図である。
【図１４】図１４は、設備状態ホワイトリストと種類ホワイトリストとの各々に対する照合結果の一例を示す図である。
【発明を実施するための形態】
【００１３】
（本開示の概要）
上述したように、工場などの製造現場において、複数の製造装置が互いに通信を行うことで、互いに協働して製造物を製造している。このため、当該通信に対して外部から悪意のある攻撃などを受けた場合には、各製造装置への負荷の増加、又は、製造装置の故障などが起こり得るので、製造物の生産性が低下する恐れがある。したがって、製造システムの内部ネットワークを介した通信のセキュリティを高めることが求められる。例えば、内部ネットワークに対する不正アクセスの防止などの対策を行うことが求められる。
【００１４】
具体的には、内部ネットワークへの入り口にファイヤーウォールを導入する対策が考えられる。これにより、外部からの悪意のある接続を抑制することができる。しかしながら、例えばファイヤーウォールにセキュリティ上の脅威、すなわち、脆弱性が発見された場合に、当該脆弱性への対応を行う前の攻撃（いわゆる、ゼロデイ攻撃）に対して対応することができない。
【００１５】
また、ファイヤーウォールが正常に機能している場合であっても、製造装置の操作者又は管理者などの人的要因による内部からの不正な操作を防ぐことができない。例えば、ウイルスに感染済みのコンピュータ機器又はメモリデバイスが内部ネットワークに接続された場合には、操作者の悪意の有無によらず、各製造装置に感染が拡大する。
【００１６】
このように、内部ネットワークへの入り口での不正アクセスへの対処は、万全ではない。
【００１７】
また、複数の製造装置の各々に対してセキュリティソフトを導入することにより、製造装置毎に不正な処理を検知する対策が考えられる。しかしながら、製造装置は多種多様であるので、必ずしも全ての製造装置に対してセキュリティソフトを導入することができるとは限らない。１台でも対策が行われていない製造装置が存在する場合には、当該製造装置を介した不正アクセスなどが行われる可能性がある。
【００１８】
そこで、上記課題を解決するために、本開示の一態様に係る不正通信検知装置は、製造物を製造する製造システムの不正通信を検知する不正通信検知装置であって、前記製造システムの動作情報を取得する取得部と、前記製造物の製造に関わる複数の要素のうちの１以上の対象要素を示す要素情報を記憶する記憶部と、前記製造システム内で行われた複数の通信の各々に対応する要素を前記動作情報に基づいて特定する特定部と、前記複数の通信のうち、前記特定部によって特定された要素が、前記要素情報が示す１以上の対象要素に含まれることを満たす１以上の通信の各々の異常度を算出する算出部と、前記算出部によって算出された異常度が閾値より大きい場合に、当該異常度に対応する通信を不正通信であると判定する判定部とを備える。
【００１９】
これにより、記憶部には要素情報として、例えば製造システムの正常動作時の要素を対象要素として示す情報を記憶させておいた場合に、要素情報が示す対象要素に含まれない要素に対応する通信は不正通信であると判定することができる。また、要素情報が示す対象要素に対応する通信であっても当該通信の異常度が算出されるので、当該通信が不正通信であるか否かを判定することができる。このように、要素情報による判定と異常度に基づく判定とを用いた２段階の判定を行うことができるので、製造システムの不正通信を精度良く検知することができる。
【００２０】
また、例えば、前記要素情報は、許可された１以上の通信を前記１以上の対象要素として示す許可通信情報を含み、前記特定部は、前記動作情報に基づいて、前記複数の通信の各々を前記要素として特定し、前記算出部は、前記複数の通信のうち、前記特定部によって特定された通信が、前記許可通信情報が示す１以上の通信に含まれることを満たす１以上の通信の各々の異常度を算出してもよい。
【００２１】
これにより、許可された通信であっても異常度が高い通信を不正な通信として検知することができる。例えば、製造システムの内部に侵入したウイルスなどによって行われた不正な通信を検知することができる。
【００２２】
また、例えば、前記判定部は、さらに、前記複数の通信のうち、前記特定部によって特定された通信が、前記許可通信情報が示す１以上の通信に含まれないことを満たす１以上の通信を不正通信であると判定してもよい。
【００２３】
これにより、許可されていない通信だけでなく、許可された通信であっても異常度が高い通信を検知することができる。
【００２４】
また、例えば、前記要素情報は、さらに、前記製造システムが取りうる複数の設備状態のうちの１以上の設備状態を前記１以上の対象要素として示す設備状態情報を含み、前記特定部は、さらに、前記動作情報に基づいて、前記複数の通信の各々が行われた際の設備状態を前記要素として特定し、前記算出部は、前記複数の通信のうち、前記特定部によって特定された設備状態が、前記設備状態情報が示す１以上の設備状態に含まれることをさらに満たす１以上の通信の各々の異常度を算出してもよい。
【００２５】
これにより、製造システムの状態が、設備状態情報が示す設備状態である際に行われた通信が不正通信であるか否かを判定することができる。例えば、設備状態情報が、製造物を製造するのに通常取りうる設備状態を示す場合に、通常発生しない設備状態で行われた通信を不正通信の検知対象から除外することができる。このため、不正通信の誤判定を抑制することができ、不正通信の判定精度を高めることができる。
【００２６】
また、例えば、前記製造システムは、種類の異なる複数の製造物を製造し、前記要素情報は、さらに、前記複数の製造物の１以上の種類を前記１以上の対象要素として示す種類情報を含み、前記特定部は、さらに、前記動作情報に基づいて、前記複数の通信の各々が行われた際に製造された製造物の種類を前記要素として特定し、前記算出部は、前記複数の通信のうち、前記特定部によって特定された種類が、前記種類情報が示す１以上の種類に含まれることをさらに満たす１以上の通信の各々の異常度を算出してもよい。
【００２７】
これにより、種類情報が示す種類の製造物を製造する際に行われた通信が不正通信であるか否かを判定することができる。例えば、種類情報が、製造する予定の製造物の種類を示す場合に、当該製造物以外の製造物を製造する際に発生する通信を不正通信の検知対象から除外することができる。このため、不正通信の誤判定を抑制することができ、不正通信の判定精度を高めることができる。
【００２８】
また、例えば、前記要素情報は、さらに、前記製造システムの複数の設備構成のうちの１以上の設備構成を前記１以上の対象要素として示す構成情報を含み、前記特定部は、さらに、前記動作情報に基づいて、前記複数の通信の各々が行われた際の設備構成を前記要素として特定し、前記算出部は、前記複数の通信のうち、前記特定部によって特定された設備構成が、前記構成情報が示す１以上の設備構成に含まれることをさらに満たす１以上の通信の各々の異常度を算出してもよい。
【００２９】
これにより、構成情報が示す設備構成で製造物を製造する際に行われた通信が不正通信であるか否かを判定することができる。例えば、構成情報が、予定された設備構成を示す場合に、当該設備構成以外の設備構成で製造物が製造される際に発生する通信を不正通信の検知対象から除外することができる。このため、不正通信の誤判定を抑制することができ、不正通信の判定精度を高めることができる。
【００３０】
また、例えば、前記算出部は、前記製造システムで行われる通信の正常モデルからの外れ値を、前記異常度として算出してもよい。
【００３１】
これにより、例えば統計処理に基づいて生成された正常モデルを利用することで、算出される異常度の信頼性が高くなるので、不正通信の検知精度を高めることができる。
【００３２】
また、例えば、本開示の一態様に係る不正通信検知装置は、さらに、予め取得された動作情報を用いた機械学習を行うことで、前記正常モデルを作成する学習部と、前記機械学習の対象となった動作情報に含まれる複数の通信の各々に対応する１以上の要素を前記１以上の対象要素として示す情報を、前記要素情報として生成する情報生成部とを備えてもよい。
【００３３】
これにより、機械学習の対象となった動作情報に含まれる通信に対応する要素を要素情報に含めることができるので、機械学習の対象とならなかった要素に対応する通信を、異常度の算出対象（すなわち、不正通信の検知対象）から除外することができる。
【００３４】
例えば、機械学習の対象となった通信に対応する設備状態とは異なる設備状態であるときの通信を対象に異常度の算出を行った場合、当該通信が不正通信ではないときであっても、不正通信であると誤判定される可能性が高くなる。製造システムが取りうる全ての設備状態を網羅的に機械学習の対象とすることで、誤判定を抑制することはできる。しかしながら、製造システムでは、想定外の設備状態（イベント）を含む様々な設備状態が起こりうるので、全ての設備状態を網羅的に機械学習の対象とすることは困難である。これに対して、本態様によれば、機械学習の対象とならなかった要素を不正通信の検知対象から除外することができるので、誤判定を抑制することができ、不正通信の判定精度を高めることができる。
【００３５】
また、例えば、前記要素情報は、前記製造システムが取りうる複数の設備状態のうちの１以上の設備状態を前記１以上の対象要素として示す設備状態情報を含み、前記特定部は、前記動作情報に基づいて、前記複数の通信の各々が行われた際の設備状態を前記要素として特定し、前記算出部は、前記複数の通信のうち、前記特定部によって特定された設備状態が、前記設備状態情報が示す１以上の設備状態に含まれることを満たす１以上の通信の各々の異常度を算出してもよい。
【００３６】
これにより、製造システムの状態が、設備状態情報が示す設備状態である際に行われた通信が不正通信であるか否かを判定することができる。例えば、設備状態情報が、製造物を製造するのに通常取りうる設備状態を示す場合に、通常発生しない設備状態で行われた通信を不正通信の検知対象から除外することができる。このため、不正通信の誤判定を抑制することができ、不正通信の判定精度を高めることができる。
【００３７】
また、例えば、前記製造システムは、種類の異なる複数の製造物を製造し、前記要素情報は、前記複数の製造物の１以上の種類を前記１以上の対象要素として示す種類情報を含み、前記特定部は、前記動作情報に基づいて、前記複数の通信の各々が行われた際に製造された製造物の種類を前記要素として特定し、前記算出部は、前記複数の通信のうち、前記特定部によって特定された種類が、前記種類情報が示す１以上の種類に含まれることを満たす１以上の通信の各々の異常度を算出してもよい。
【００３８】
これにより、種類情報が示す種類の製造物を製造する際に行われた通信が不正通信であるか否かを判定することができる。例えば、種類情報が、製造する予定の製造物の種類を示す場合に、当該製造物以外の製造物を製造する際に発生する通信を不正通信の検知対象から除外することができる。このため、不正通信の誤判定を抑制することができ、不正通信の判定精度を高めることができる。
【００３９】
また、例えば、前記要素情報は、前記製造システムの複数の設備構成のうちの１以上の設備構成を前記１以上の対象要素として示す構成情報を含み、前記特定部は、前記動作情報に基づいて、前記複数の通信の各々が行われた際の設備構成を前記要素として特定し、前記算出部は、前記複数の通信のうち、前記特定部によって特定された設備構成が、前記構成情報が示す１以上の設備構成に含まれることを満たす１以上の通信の各々の異常度を算出してもよい。
【００４０】
これにより、構成情報が示す設備構成で製造物を製造する際に行われた通信が不正通信であるか否かを判定することができる。例えば、構成情報が、予定された設備構成を示す場合に、当該設備構成以外の設備構成で製造物が製造される際に発生する通信を不正通信の検知対象から除外することができる。このため、不正通信の誤判定を抑制することができ、不正通信の判定精度を高めることができる。
【００４１】
また、例えば、本開示の一態様に係る製造システムは、製造物を製造する製造システムであって、上記不正通信検知装置を備える。
【００４２】
これにより、上記不正通信検知装置と同様に、不正通信を精度良く検知することができるので、検知された不正通信に対する対処を速やかに行うことができる。したがって、生産性の高い製造システムを実現することができる。
【００４３】
また、例えば、本開示の一態様に係る不正通信検知方法は、製造物を製造する製造システムの不正通信を検知する不正通信検知方法であって、前記製造システムの動作情報を取得し、前記製造物の製造に関わる複数の要素のうちの１以上の対象要素を示す要素情報を記憶部から読み出し、前記製造システム内で行われた複数の通信の各々に対応する要素を前記動作情報に基づいて特定し、前記複数の通信のうち、特定された要素が、前記要素情報が示す１以上の対象要素に含まれることを満たす１以上の通信の各々の異常度を算出し、算出された異常度が閾値を超えている場合に、当該異常度に対応する通信を不正通信であると判定する。
【００４４】
これにより、上記不正通信検知装置と同様に、製造システムの不正通信を精度良く検知することができる。
【００４５】
以下では、実施の形態について、図面を参照しながら具体的に説明する。
【００４６】
なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【００４７】
また、各図は、模式図であり、必ずしも厳密に図示されたものではない。したがって、例えば、各図において縮尺などは必ずしも一致しない。また、各図において、実質的に同一の構成については同一の符号を付しており、重複する説明は省略又は簡略化する。
【００４８】
（実施の形態１）
まず、実施の形態１に係る製造システムの概要について、図１を用いて説明する。図１は、本実施の形態に係る製造システム１０の構成を示すブロック図である。
【００４９】
図１に示されるように、製造システム１０は、製造物を製造するシステムであり、制御装置２０と、製造装置３０、３２及び３４と、不正通信検知装置１００とを備える。制御装置２０と、製造装置３０、３２及び３４の各々とは、ネットワークを介して通信可能に接続されている。
【００５０】
制御装置２０は、製造装置３０、３２及び３４を制御する。制御装置２０は、例えば、コンピュータ機器などで実現される。制御装置２０は、プログラムが格納された不揮発性メモリ、プログラムを実行するための一時的な記憶領域である揮発性メモリ、入出力ポート、プログラムを実行するプロセッサなどで実現される。制御装置２０が有する各機能はそれぞれ、プロセッサによって実行されるソフトウェアで実現されてもよく、複数の回路素子を含む電子回路などのハードウェアで実現されてもよい。
【００５１】
製造装置３０、３２及び３４は、製造物を製造する。例えば、製造装置３０、３２及び３４は、製造ラインに沿って並んで配置されている。製造装置３０、３２及び３４は、例えば１つの製造物を製造するための互いに異なる工程を実行する。製造装置３０、３２及び３４はそれぞれ、例えば部品実装機である。あるいは、製造装置３０、３２及び３４の少なくとも１つは、基板搬送装置又は部品供給装置などであってもよい。
【００５２】
なお、製造システム１０の構成は、図１に示した例に限らない。例えば、製造システム１０が備える製造装置の個数が３台である例を図１では示しているが、１台のみでもよく、２台でもよく、４台以上であってもよい。また、製造システム１０は、制御装置２０を備えていなくてもよく、複数の製造装置３０、３２及び３４が互いに通信することで、協働して製造物を製造してもよい。
【００５３】
不正通信検知装置１００は、製造システム１０の異常を検知する異常検知装置の一例である。不正通信検知装置１００は、製造システム１０の不正通信を検知する。不正通信検知装置１００は、例えば、コンピュータ機器などで実現される。不正通信検知装置１００は、プログラムが格納された不揮発性メモリ、プログラムを実行するための一時的な記憶領域である揮発性メモリ、入出力ポート、プログラムを実行するプロセッサなどで実現される。不正通信検知装置１００が有する各機能はそれぞれ、プロセッサによって実行されるソフトウェアで実現されてもよく、複数の回路素子を含む電子回路などのハードウェアで実現されてもよい。
【００５４】
図２は、本実施の形態に係る不正通信検知装置１００の構成を示すブロック図である。図２に示されるように、不正通信検知装置１００は、取得部１１０と、記憶部１２０と、特定部１３０と、算出部１４０と、判定部１５０と、出力部１６０とを備える。
【００５５】
取得部１１０は、製造システム１０の動作情報を取得する。具体的には、取得部１１０は、複数の通信情報を取得する。複数の通信情報は、動作情報に含まれ、製造システム１０内で行われた通信に関する情報である。
【００５６】
図３は、複数の通信情報と通信ホワイトリストに対する照合結果とを示す図である。図３に示されるように、複数の通信情報はそれぞれ、例えば、１つの通信の送信元と送信先とを含んでいる。送信元及び送信先はそれぞれ、ＩＰアドレスなどで示される。また、複数の通信情報にはそれぞれ、通信に関する特徴量を含んでいる。通信に関する特徴量は、不正通信が発生した場合に正常時とは異なる値になる物理量である。特徴量は、例えば、当該通信のパケット数、パケットの最大サイズ、及び、パケットの到着間隔の最大値又は平均値の少なくとも１つである。特徴量は、異常度の算出のための統計処理に用いられる。取得部１１０は、例えば各装置間の通信をミラーリングさせて受信することで、パケット数などの特徴量を含む通信情報を取得する。
【００５７】
記憶部１２０は、製造物に関わる複数の要素のうちの１以上の対象要素を示す要素情報を記憶するためのメモリである。記憶部１２０は、例えばＨＤＤ（Hard Disk Drive）又は半導体メモリなどの不揮発性記憶素子で実現される。
【００５８】
要素情報は、製造物の製造に関わる複数の要素のうち、許可された要素を示すホワイトリストに相当する。本実施の形態では、要素は、装置間の通信である。記憶部１２０は、要素情報の一例である通信ホワイトリスト１２２を記憶している。通信ホワイトリスト１２２は、許可された１以上の通信を１以上の対象要素として示す許可通信情報の一例である。通信ホワイトリスト１２２は、製造システム１０の管理者などによって、許可された通信を登録させることで生成されて記憶部１２０に記憶される。なお、通信ホワイトリスト１２２は、実施の形態２などで後述するように機械学習の結果に基づいて生成されてもよい。
【００５９】
特定部１３０は、製造システム１０内で行われた複数の通信の各々に対応する要素を動作情報に基づいて特定する。本実施の形態では、特定部１３０は、取得部１１０によって取得された動作情報に基づいて、複数の通信の各々を要素として特定する。つまり、本実施の形態では、通信に対応する要素は、通信そのものである。具体的には、特定部１３０は、通信毎に、通信情報に含まれる送信元及び送信先を抽出することで、通信を特定する。
【００６０】
算出部１４０は、製造システム１０内で行われた複数の通信のうち、特定部１３０によって特定された要素が、記憶部１２０に記憶された要素情報が示す１以上の対象要素に含まれることを満たす１以上の通信の各々の異常度を算出する。本実施の形態では、算出部１４０は、特定部１３０によって特定された通信が、記憶部１２０に記憶された通信ホワイトリスト１２２が示す１以上の通信に含まれることを満たす１以上の通信の各々の異常度を算出する。
【００６１】
例えば、図３に示される例では、製造システム１０内で通信１〜８が行われたことを示している。通信１〜８のうち、通信１、通信２、通信５及び通信６が、通信ホワイトリスト１２２が示す通信に含まれていると判定されている。このため、図４に示されるように、算出部１４０は、通信１、通信２、通信５及び通信６に対応する４つの通信の異常度を算出する。具体的には、算出部１４０は、通信１、通信２、通信５及び通信６を対象として振る舞い検知を行う。なお、図４は、本実施の形態に係る不正通信検知装置１００による振る舞い検知の対象となる通信情報を示す図である。
【００６２】
具体的には、算出部１４０は、記憶部１２０から通信ホワイトリスト１２２を読み出し、特定部１３０によって特定された通信を、通信ホワイトリスト１２２に対して照合することで、特定された通信が通信ホワイトリスト１２２に含まれるか否かを判定する。算出部１４０は、対象となる１以上の通信に対して振る舞い検知を行うことにより、各通信の異常度を算出する。異常度は、製造システム１０で行われる通信の正常モデル、すなわち、正常な振る舞いからの外れ値である。なお、異常度の算出のアルゴリズムは、振る舞い検知に限らず、局所外れ値因子（ＬＯＦ：Local Outlier Factor）法、サポートベクターマシン（ＳＶＭ：Support Vector Machine）法、又は、ｋ近傍（ｋＮＮ：k-Nearest Neighbor）法などであってもよい。
【００６３】
判定部１５０は、算出部１４０によって算出された異常度が閾値より大きい場合に、閾値より大きい異常度に対応する通信を不正通信であると判定する。閾値は、例えば、正常な振る舞い（正常モデル）の作成の際に決定された固定値である。
【００６４】
本実施の形態では、判定部１５０は、さらに、製造システム１０内で行われた複数の通信のうち、特定部１３０によって特定された通信が、通信ホワイトリスト１２２が示す１以上の通信に含まれないことを満たす１以上の通信を不正通信であると判定する。例えば、図３に示される例では、通信１〜８のうち、通信３、通信４、通信７及び通信８が、通信ホワイトリスト１２２が示す通信に含まれていないと判定されている。このため、判定部１５０は、通信３、通信４、通信７及び通信８の４つの通信を不正通信であると判定する。
【００６５】
出力部１６０は、不正通信を特定するための情報を出力する。出力部１６０は、例えば、画像を表示する表示部、音声を出力する音声出力部、及び、データを出力するデータ出力部の少なくとも１つを含む。表示部は、例えば液晶表示装置などで実現される。音声出力部は、例えばスピーカーなどで実現される。データ出力部は、例えば無線通信を行うことで、製造システム１０の管理者又はメンテナンスを行う者の管理サーバなどの外部のサーバ装置に、不正通信を特定するための情報を出力する。
【００６６】
不正通信を特定するための情報は、例えば、不正通信を行っている２つの装置の名称又は設置位置などである。不正通信を特定するための情報は、不正通信を行っている２つの装置のＩＰアドレスであってもよい。
【００６７】
続いて、本実施の形態に係る不正通信検知装置１００による不正通信の検知処理について、図５〜図７を用いて説明する。
【００６８】
図５は、本実施の形態に係る不正通信検知装置１００の動作を示すフローチャートである。図５に示される不正通信の検知処理は、例えば、所定の製造単位毎に実行される。製造単位は、例えば、ロット、又は、１時間若しくは１日などの時間である。あるいは、不正通信の検知処理は、製造システム１０の製造動作に合わせて実質的にリアルタイムで実行されてもよい。
【００６９】
図５に示されるように、まず、取得部１１０が動作情報を取得する（Ｓ１０）。具体的には、取得部１１０は、所定の製造単位内で行われた全ての通信に関する通信情報を取得する。取得部１１０によって取得された複数の通信情報は、例えば記憶部１２０に一時的に記憶される。
【００７０】
次に、特定部１３０は、取得部１１０によって取得された動作情報に基づいて、複数の通信の各々の要素を特定する（Ｓ２０）。具体的には、特定部１３０は、複数の通信の各々を要素として特定する。より具体的には、特定部１３０は、複数の通信の各々の送信元と送信先とを特定する。
【００７１】
次に、算出部１４０は、ホワイトリストとの照合処理を行う（Ｓ３０）。図６は、本実施の形態に係る不正通信検知装置１００の動作のうち、通信ホワイトリスト１２２との照合処理（Ｓ３０）を示すフローチャートである。図６に示されるように、照合処理は、通信毎に行われる。
【００７２】
具体的には、算出部１４０は、取得部１１０によって取得された複数の通信情報から１つの通信情報を選択し、選択した通信情報が示す通信が通信ホワイトリスト１２２に含まれるか否かを判定する（Ｓ３２）。選択された通信が通信ホワイトリスト１２２に含まれない場合（Ｓ３２でＮｏ）、算出部１４０は、当該通信を削除対象で、かつ、不正通信と判定する（Ｓ３４）。選択された通信が通信ホワイトリスト１２２に含まれる場合（Ｓ３２でＹｅｓ）、ステップＳ３２に戻り、未選択の通信情報から１つの通信情報を選択し、選択した通信情報が示す通信を対象として通信ホワイトリスト１２２との照合が繰り返される。
【００７３】
これにより、取得部１１０によって取得された動作情報に基づいて、対象となる全ての通信の中から削除対象となる通信が決定される。また、削除対象となる通信は、不正通信であると判定される。
【００７４】
図５に示されるように、照合処理（Ｓ３０）が行われた後、算出部１４０は、取得部１１０によって取得された動作情報に含まれる全ての通信から、ホワイトリスト（具体的には、通信ホワイトリスト１２２）に含まれない通信を削除する（Ｓ４０）。つまり、算出部１４０は、ステップＳ３４において削除対象とされた通信を削除する。
【００７５】
次に、算出部１４０は、削除されなかった残りの通信、すなわち、ホワイトリストに含まれていた通信の異常度を算出する（Ｓ５０）。例えば、算出部１４０は、通信ホワイトリスト１２２に含まれていた通信の特徴量に基づいて、通信毎に振る舞い検知を行う。これにより、算出部１４０は、正常な振る舞いからの外れ値を異常度として算出する。
【００７６】
次に、判定部１５０は、算出された異常度に基づいて不正通信の判定処理を行う（Ｓ６０）。図７は、本実施の形態に係る不正通信検知装置１００の動作のうち、不正通信の判定処理を示すフローチャートである。図７に示されるように、不正処理の判定処理は、通信毎に行われる。
【００７７】
具体的には、判定部１５０は、算出された異常度と閾値とを比較する（Ｓ６２）。異常度が閾値以下である場合（Ｓ６２でＮｏ）、判定部１５０は、当該異常度に対応する通信を正常な通信であると判定する（Ｓ６４）。異常度が閾値より大きい場合（Ｓ６２でＹｅｓ）、判定部１５０は、当該異常度に対応する通信を不正通信であると判定する（Ｓ６６）。
【００７８】
以上の処理により、通信ホワイトリスト１２２に含まれる通信であっても、振る舞い検知などの統計処理によって不正通信を判定することができる。このため、不正通信検知装置１００によれば、許可された通信であっても、ウイルスによる感染、乗っ取り、悪意のある不正な操作などに基づく不正な通信を検出することができる。また、通信ホワイトリスト１２２に含まれない通信は、通信ホワイトリスト１２２との照合によって不正通信と判定することができる。
【００７９】
（実施の形態２）
続いて、実施の形態２について説明する。以下の説明では、実施の形態１との相違点を中心に説明し、共通点の説明を省略又は簡略化する。
【００８０】
図８は、本実施の形態に係る不正通信検知装置２００の構成を示すブロック図である。図８に示されるように、不正通信検知装置２００は、実施の形態１に係る不正通信検知装置１００と比較して、特定部１３０及び算出部１４０の代わりに、特定部２３０及び算出部２４０を備える。また、不正通信検知装置２００は、さらに、学習部２７０と、リスト生成部２８０とを備える。記憶部１２０には、さらに、設備状態ホワイトリスト２２４が記憶されている。
【００８１】
設備状態ホワイトリスト２２４は、製造システム１０が取りうる複数の設備状態のうちの１以上の設備状態を１以上の対象要素として示す設備状態情報の一例である。本実施の形態では、設備状態ホワイトリスト２２４は、リスト生成部２８０によって生成される。あるいは、設備状態ホワイトリスト２２４は、製造システム１０の管理者などによって、不正通信の対象となる１以上の設備状態を登録させることによって生成されてもよい。
【００８２】
複数の設備状態は、製造システム１０が備える製造装置３０などで行われる製造の各工程に相当する。複数の設備状態は、例えば、図９に示されるように、一枚生産開始、基板搬入、基板搬出、一枚生産終了、段取り替え開始、段取り替え終了などである。なお、図９は、設備状態毎の設備状態ホワイトリストに対する照合結果の一例を示す図である。
【００８３】
特定部２３０は、特定部１３０の動作に加えて、取得部１１０によって取得された動作情報に基づいて、複数の通信の各々が行われた際の設備状態を要素として特定する。例えば、特定部２３０は、通信のパケットのペイロードに含まれる動作コマンドを解析することによって、当該通信に対応する設備状態を特定する。動作コマンドは、例えば、制御装置２０から製造装置３０、３２若しくは３４に送信されるコマンド、又は、製造装置３０、３２及び３４の少なくとも２つの装置間で送信されるコマンドである。
【００８４】
算出部２４０は、記憶部１２０から通信ホワイトリスト１２２及び設備状態ホワイトリスト２２４を読み出す。算出部２４０は、製造システム１０内で行われた複数の通信のうち、特定部２３０によって特定された通信が、通信ホワイトリスト１２２が示す１以上の通信に含まれ、かつ、特定部２３０によって特定された設備状態が、設備状態ホワイトリスト２２４が示す１以上の設備状態に含まれることを満たす１以上の通信の各々の異常度を算出する。つまり、異常度の算出対象となる１以上の通信は、通信ホワイトリスト１２２に含まれる通信であり、かつ、製造システム１０が、設備状態ホワイトリスト２２４が示す設備状態になっている期間に行われた通信である。算出部２４０による異常度の具体的な算出方法は、実施の形態１と同様である。本実施の形態では、算出部２４０は、学習部２７０によって作成された正常モデルからの外れ値を異常度として算出する。
【００８５】
図９に示される例では、一枚生産開始、基板搬入、基板搬出及び一枚生産終了の４つの設備状態が設備状態ホワイトリスト２２４に含まれる。このため、製造システム１０が、これらの４つの設備状態になっている期間に行われた通信を対象に異常度の算出、及び、不正通信の判定が行われる。また、段取り替え開始及び段取り替え終了の２つの設備状態が設備状態ホワイトリスト２２４に含まれない。このため、製造システム１０が、これらの２つの設備状態になっている期間に行われた通信に対して、異常度の算出が行われない。
【００８６】
学習部２７０は、予め取得された動作情報を用いた機械学習を行うことで、異常度の算出に用いられる正常モデルを作成する。機械学習の手法は、特に限定されない。例えば、学習部２７０は、製造システム１０を実際に動作させたときの動作情報、又は、製造システム１０を模したシミュレーションに基づく動作情報を用いて機械学習を行う。これにより、学習部２７０は、製造システム１０の正常モデルを作成する。
【００８７】
機械学習の対象となった動作情報に含まれる複数の通信には、例えば、不正通信が含まれていない。つまり、学習部２７０は、不正通信が起きていないことを確認できた期間の動作情報を用いて機械学習を行う。
【００８８】
リスト生成部２８０は、機械学習の対象となった動作情報に含まれる複数の通信の各々に対応する１以上の要素を１以上の対象要素として示す情報を、要素情報として生成する情報生成部の一例である。具体的には、リスト生成部２８０は、学習部２７０による機械学習の対象となった動作情報に含まれる複数の通信の各々が行われた際の１以上の設備状態を特定し、特定した１以上の設備状態をリスト化することで設備状態ホワイトリスト２２４を生成する。あるいは、リスト生成部２８０は、学習部２７０による機械学習の対象となった動作情報に含まれる複数の通信が行われた際の１以上の設備状態と、その時に発生した１以上のイベントとを特定してもよい。リスト生成部２８０は、特定した１以上の設備状態と、イベントの発生に伴って遷移した後の１以上の設備状態とをリスト化することで、設備状態ホワイトリスト２２４を生成してもよい。リスト生成部２８０は、生成した設備状態ホワイトリスト２２４を記憶部１２０に保存する。また、リスト生成部２８０は、学習部２７０による機械学習の対象となった動作情報に含まれる複数の通信をリスト化することで、通信ホワイトリスト１２２を生成してもよい。
【００８９】
このように、本実施の形態に係る不正通信検知装置２００では、機械学習の結果に基づいて設備状態ホワイトリスト２２４が生成される。つまり、機械学習の対象とならなかった設備状態を不正通信の検知対象から除外することができるので、誤判定を抑制することができ、不正通信の判定精度を高めることができる。
【００９０】
なお、記憶部１２０には、通信ホワイトリスト１２２が記憶されていなくてもよい。この場合、特定部２３０は、取得部１１０によって取得された動作情報に基づいて、複数の通信の各々が行われた際の設備状態のみを要素として特定し、通信を特定しなくてもよい。算出部２４０は、製造システム１０内で行われた複数の通信のうち、特定部２３０によって特定された設備状態が、設備状態ホワイトリスト２２４が示す１以上の設備状態に含まれることを満たす１以上の通信の各々の異常度を算出してもよい。つまり、算出部２４０は、設備状態ホワイトリスト２２４に対する照合のみを行ってもよい。
【００９１】
（実施の形態３）
続いて、実施の形態３について説明する。以下の説明では、実施の形態２との相違点を中心に説明し、共通点の説明を省略又は簡略化する。
【００９２】
図１０は、本実施の形態に係る不正通信検知装置３００の構成を示すブロック図である。図１０に示されるように、不正通信検知装置３００は、実施の形態２に係る不正通信検知装置２００と比較して、特定部２３０、算出部２４０及びリスト生成部２８０の代わりに、特定部３３０、算出部３４０及びリスト生成部３８０を備える。記憶部１２０には、設備状態ホワイトリスト２２４の代わりに、種類ホワイトリスト３２６が記憶されている。なお、本実施の形態に係る製造システム１０は、種類の異なる複数の製造物を製造する。
【００９３】
種類ホワイトリスト３２６は、複数の製造物の１以上の種類を１以上の対象要素として示す種類情報の一例である。本実施の形態では、種類ホワイトリスト３２６は、リスト生成部３８０によって生成される。あるいは、種類ホワイトリスト３２６は、製造システム１０の管理者などによって、不正通信の検知対象となる１以上の種類を登録させることによって生成されてもよい。
【００９４】
製造物の種類は、例えば、製造物の型番又は名称などに相当する。例えば、図１１に示される例では、製造物の種類は、製造物Ａ及び製造物Ｂなどの名称で示される。なお、図１１は、種類毎の種類ホワイトリストに対する照合結果の一例を示す図である。
【００９５】
特定部３３０は、実施の形態１に係る特定部１３０の動作に加えて、取得部１１０によって取得された動作情報に基づいて、複数の通信の各々が行われた際に製造された製造物の種類を要素として特定する。例えば、特定部３３０は、通信のパケットの送信時刻又は受信時刻を通信時刻として取得し、取得した通信時刻を含む期間中に製造された製造物の種類を特定する。
【００９６】
算出部３４０は、記憶部１２０から通信ホワイトリスト１２２及び種類ホワイトリスト３２６を読み出す。算出部３４０は、製造システム１０内で行われた複数の通信のうち、特定部３３０によって特定された通信が、通信ホワイトリスト１２２が示す１以上の通信に含まれ、かつ、特定部３３０によって特定された種類が、種類ホワイトリスト３２６が示す１以上の種類に含まれることを満たす１以上の通信の各々の異常度を算出する。つまり、異常度の算出対象となる１以上の通信は、通信ホワイトリスト１２２に含まれる通信であり、かつ、種類ホワイトリスト３２６が示す種類の製造物が製造された期間に行われた通信である。算出部３４０による異常度の具体的な算出方法は、実施の形態１と同様である。本実施の形態では、算出部３４０は、学習部２７０によって生成された正常モデルからの外れ値を異常度として算出する。
【００９７】
図１１に示される例では、製造物Ａが種類ホワイトリスト３２６に含まれる。このため、製造物Ａの製造期間に行われた通信を対象に異常度の算出、及び、不正通信の判定が行われる。また、製造物Ｂは、種類ホワイトリスト３２６に含まれない。このため、製造物Ｂの製造期間に行われた通信に対して、異常度の算出が行われない。
【００９８】
リスト生成部３８０は、機械学習の対象となった動作情報に含まれる複数の通信の各々に対応する１以上の要素を１以上の対象要素として示す情報を、要素情報として生成する情報生成部の一例である。具体的には、リスト生成部３８０は、学習部２７０による機械学習の対象となった動作情報に含まれる複数の通信の各々が行われた際に製造された製造物の１以上の種類を特定し、特定した１以上の種類をリスト化することで種類ホワイトリスト３２６を生成する。リスト生成部３８０は、生成した種類ホワイトリスト３２６を記憶部１２０に保存する。また、リスト生成部３８０は、学習部２７０による機械学習の対象となった動作情報に含まれる複数の通信をリスト化することで、通信ホワイトリスト１２２を生成してもよい。
【００９９】
このように、本実施の形態に係る不正通信検知装置３００では、機械学習の結果に基づいて種類ホワイトリスト３２６が生成される。つまり、機械学習の対象とならなかった種類の製造物を製造した際に行われた通信を不正通信の検知対象から除外することができるので、誤判定を抑制することができ、不正通信の判定精度を高めることができる。
【０１００】
なお、記憶部１２０には、通信ホワイトリスト１２２が記憶されていなくてもよい。この場合、特定部３３０は、取得部１１０によって取得された動作情報に基づいて、複数の通信の各々が行われた際に製造された製造物の種類のみを要素として特定し、通信を特定しなくてもよい。算出部３４０は、製造システム１０内で行われた複数の通信のうち、特定部３３０によって特定された種類が、種類ホワイトリスト３２６が示す１以上の種類に含まれることを満たす１以上の通信の各々の異常度を算出してもよい。つまり、算出部３４０は、種類ホワイトリスト３２６に対する照合のみを行ってもよい。
【０１０１】
（実施の形態４）
続いて、実施の形態４について説明する。以下の説明では、実施の形態２との相違点を中心に説明し、共通点の説明を省略又は簡略化する。
【０１０２】
図１２は、本実施の形態に係る不正通信検知装置４００の構成を示すブロック図である。図１２に示されるように、不正通信検知装置４００は、実施の形態２に係る不正通信検知装置２００と比較して、特定部２３０、算出部２４０及びリスト生成部２８０の代わりに、特定部４３０、算出部４４０及びリスト生成部４８０を備える。記憶部１２０には、設備状態ホワイトリスト２２４の代わりに、構成ホワイトリスト４２８が記憶されている。
【０１０３】
構成ホワイトリスト４２８は、製造システム１０の複数の設備構成のうちの１以上の設備構成を１以上の対象要素として示す構成情報の一例である。本実施の形態では、構成ホワイトリスト４２８は、リスト生成部４８０によって生成される。あるいは、構成ホワイトリスト４２８は、製造システム１０の管理者などによって、不正通信の検知対象となる１以上の設備構成を登録させることによって生成されてもよい。
【０１０４】
製造システム１０の設備構成は、例えば、製造システム１０を構成する複数の製造装置の種類及び配置位置の組み合わせで表される。例えば、図１３に示されるように、製造システム１０の設備構成Ａと設備構成Ｂとでは、製造装置の種類又は配置が互いに異なっている。なお、図１３は、設備構成毎の構成ホワイトリストに対する照合結果の一例を示す図である。
【０１０５】
本実施の形態では、製造システム１０が複数の設備構成を取りうる。例えば、製造システム１０に含まれる製造装置３０、３２及び３４の少なくとも１つが異なる種類の製造装置に置換されうる。あるいは、製造ライン内での製造装置３０、３２及び３４の配置を変更可能である。
【０１０６】
特定部４３０は、実施の形態１に係る特定部１３０の動作に加えて、取得部１１０によって取得された動作情報に基づいて、複数の通信が行われた際の設備構成を要素として特定する。例えば、特定部４３０は、通信のパケットの送信時刻又は受信時刻を通信時刻として取得し、取得した通信時刻を含む期間中の製造システム１０の設備構成を特定する。
【０１０７】
算出部４４０は、記憶部１２０から通信ホワイトリスト１２２及び構成ホワイトリスト４２８を読み出す。算出部４４０は、製造システム１０内で行われた複数の通信のうち、特定部４３０によって特定された通信が、通信ホワイトリスト１２２が示す１以上の通信に含まれ、かつ、特定部４３０によって特定された設備構成が、構成ホワイトリスト４２８が示す１以上の設備構成に含まれることを満たす１以上の通信の各々の異常度を算出する。つまり、異常度の算出対象となる１以上の通信は、通信ホワイトリスト１２２に含まれる通信であり、かつ、構成ホワイトリスト４２８が示す設備構成で製造物が製造された際に行われた通信である。算出部４４０による異常度の具体的な算出方法は、実施の形態１と同様である。本実施の形態では、算出部４４０は、学習部２７０によって生成された正常モデルからの外れ値を異常度として算出する。
【０１０８】
図１４に示される例では、設備構成Ａが構成ホワイトリスト４２８に含まれる。このため、製造システム１０が設備構成Ａで動作中に行われた通信を対象に異常度の算出、及び、不正通信の判定が行われる。また、設備構成Ｂは、構成ホワイトリスト４２８に含まれない。このため、製造システム１０が設備構成Ｂで動作中に行われた通信に対して、異常度の算出が行われない。
【０１０９】
リスト生成部４８０は、機械学習の対象となった動作情報に含まれる複数の通信の各々に対応する１以上の要素を１以上の対象要素として示す情報を、要素情報として生成する情報生成部の一例である。具体的には、リスト生成部４８０は、学習部２７０による機械学習の対象となった動作情報に含まれる複数の通信の各々が行われた際の１以上の設備構成を特定し、特定した１以上の設備構成をリスト化することで構成ホワイトリスト４２８を生成する。リスト生成部４８０は、生成した構成ホワイトリスト４２８を記憶部１２０に保存する。また、リスト生成部４８０は、学習部２７０による機械学習の対象となった動作情報に含まれる複数の通信をリスト化することで、通信ホワイトリスト１２２を生成してもよい。
【０１１０】
このように、本実施の形態に係る不正通信検知装置４００では、機械学習の結果に基づいて構成ホワイトリスト４２８が生成される。つまり、機械学習の対象とならなかった設備構成で製造システム１０が動作中に行われた通信を不正通信の検知対象から除外することができるので、誤判定を抑制することができ、不正通信の判定精度を高めることができる。
【０１１１】
なお、記憶部１２０には、通信ホワイトリスト１２２が記憶されていなくてもよい。この場合、特定部４３０は、取得部１１０によって取得された動作情報に基づいて、複数の通信の各々が行われた際の設備構成のみを要素として特定し、通信を特定しなくてもよい。算出部４４０は、製造システム１０内で行われた複数の通信のうち、特定部４３０によって特定された設備構成が、構成ホワイトリスト４２８が示す１以上の設備構成に含まれることを満たす１以上の通信の各々の異常度を算出してもよい。つまり、算出部４４０は、構成ホワイトリスト４２８に対する照合のみを行ってもよい。
【０１１２】
（変形例）
ここで、上述した実施の形態の変形例について説明する。
【０１１３】
実施の形態２〜４では、記憶部１２０に、通信ホワイトリスト１２２と、設備状態ホワイトリスト２２４、種類ホワイトリスト３２６及び構成ホワイトリスト４２８のいずれか１つとの２つのホワイトリストが記憶されている例を示したが、これに限らない。例えば、記憶部１２０には、通信ホワイトリスト１２２と、設備状態ホワイトリスト２２４と、種類ホワイトリスト３２６と、構成ホワイトリスト４２８とから選択された３つ又は４つ（全て）が記憶されていてもよい。
【０１１４】
この場合、特定部２３０は、記憶部１２０に記憶されたホワイトリストが示す対象要素に対応する要素を特定する。算出部２４０は、複数の通信のうち、特定部２３０によって特定された要素が、記憶部１２０に記憶された全てのホワイトリストが示す対象要素に含まれることを満たす１以上の通信の各々の異常度を算出する。
【０１１５】
例えば、記憶部１２０に通信ホワイトリスト１２２と、設備状態ホワイトリスト２２４と、種類ホワイトリスト３２６とが記憶されている場合、特定部２３０は、取得部１１０によって取得された動作情報に基づいて、複数の通信の各々と、当該通信が行われた際の設備状態と、当該通信が行われた際に製造している製造物の種類とを要素として特定する。
【０１１６】
図１４は、設備状態ホワイトリスト２２４と種類ホワイトリスト３２６との各々に対する照合結果の一例を示す図である。図１４に示されるように、設備状態ホワイトリスト２２４に含まれる設備状態であり、かつ、種類ホワイトリスト３２６に含まれる種類の製造物が製造されている期間の通信のみを対象として、算出部２４０は、異常度の算出を行う。具体的には、算出部２４０は、種類ホワイトリスト３２６に含まれる製造物Ａの製造期間内において、設備状態ホワイトリスト２２４に含まれる一枚生産開始、基板搬入、基板搬出及び一枚生産終了の設備状態である期間の通信の異常度を算出する。製造物Ａの製造期間内であっても、設備状態ホワイトリスト２２４に含まれない段取り替え開始及び段取り替え終了の設備状態である期間の通信は、異常度の算出及び不正通信の検知の対象とならない。また、設備状態ホワイトリスト２２４に含まれる一枚生産開始、基板搬入、基板搬出及び一枚生産終了の設備状態である期間の通信であっても、種類ホワイトリスト３２６に含まれない製造物Ｂの製造期間中の通信は、異常度の算出及び不正通信の検知の対象とならない。
【０１１７】
（他の実施の形態）
以上、１つ又は複数の態様に係る不正通信検知装置、不正通信検知方法及び製造システムなどについて、実施の形態に基づいて説明したが、本開示は、これらの実施の形態に限定されるものではない。本開示の主旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したもの、及び、異なる実施の形態における構成要素を組み合わせて構築される形態も、本開示の範囲内に含まれる。
【０１１８】
例えば、上記の実施の形態では、製造システムの異常の一例である不正通信を検知する例を示したが、これに限らない。例えば、本開示は、製造システムの異常を検知する異常検知装置、異常検知方法、又は、異常検知装置を備える製造システムなどとして実現されてもよい。
【０１１９】
例えば、算出部は、製造物の製造に関わる複数の要素のうち、特定部によって特定された要素が、要素情報が示す１以上の対象要素に含まれることを満たす１以上の要素の異常度を算出する。例えば、算出部は、異常度の算出の対象となる１以上の要素の特徴量を動作情報から抽出する。特徴量は、例えば製造装置のエラーの発生回数、１つの製造物を製造するのに要する時間、１つの製造物を製造するのに要する消費電力などである。算出部は、これらの特徴量を統計処理することにより、要素毎の異常度を算出してもよい。例えば、算出部は、設備状態毎の異常度、製造物の種類毎の異常度、及び、設備構成毎の異常度を算出してもよい。判定部は、算出部によって算出された異常度と閾値とを比較することで、異常度が閾値より大きい場合に、当該異常度に対応する要素が異常であると判定する。
【０１２０】
また、例えば、上記実施の形態で説明した装置間の通信方法については特に限定されるものではない。装置間で無線通信が行われる場合、無線通信の方式（通信規格）は、例えば、ＺｉｇＢｅｅ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、又は、無線ＬＡＮ（Local Area Network）などの近距離無線通信である。あるいは、無線通信の方式（通信規格）は、インターネットなどの広域通信ネットワークを介した通信でもよい。また、装置間においては、無線通信に代えて、有線通信が行われてもよい。有線通信は、具体的には、電力線搬送通信（ＰＬＣ：Power Line Communication）又は有線ＬＡＮを用いた通信などである。
【０１２１】
また、上記実施の形態において、特定の処理部が実行する処理を別の処理部が実行してもよい。また、複数の処理の順序が変更されてもよく、あるいは、複数の処理が並行して実行されてもよい。また、製造システムが備える構成要素の複数の装置への振り分けは、一例である。例えば、一の装置が備える構成要素を他の装置が備えてもよい。また、製造システムは、単一の装置として実現されてもよい。
【０１２２】
例えば、上記実施の形態において説明した処理は、単一の装置（システム）を用いて集中処理することによって実現してもよく、又は、複数の装置を用いて分散処理することによって実現してもよい。また、上記プログラムを実行するプロセッサは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、又は分散処理を行ってもよい。
【０１２３】
また、上記実施の形態において、制御部などの構成要素の全部又は一部は、専用のハードウェアで構成されてもよく、あるいは、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵ（Central Processing Unit）又はプロセッサなどのプログラム実行部が、ＨＤＤ（Hard Disk Drive）又は半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【０１２４】
また、制御部などの構成要素は、１つ又は複数の電子回路で構成されてもよい。１つ又は複数の電子回路は、それぞれ、汎用的な回路でもよいし、専用の回路でもよい。
【０１２５】
１つ又は複数の電子回路には、例えば、半導体装置、ＩＣ（Integrated Circuit）又はＬＳＩ（Large Scale Integration）などが含まれてもよい。ＩＣ又はＬＳＩは、１つのチップに集積されてもよく、複数のチップに集積されてもよい。ここでは、ＩＣ又はＬＳＩと呼んでいるが、集積の度合いによって呼び方が変わり、システムＬＳＩ、ＶＬＳＩ（Very Large Scale Integration）、又は、ＵＬＳＩ（Ultra Large Scale Integration）と呼ばれるかもしれない。また、ＬＳＩの製造後にプログラムされるＦＰＧＡ（Field Programmable Gate Array）も同じ目的で使うことができる。
【０１２６】
また、本開示の全般的又は具体的な態様は、システム、装置、方法、集積回路又はコンピュータプログラムで実現されてもよい。あるいは、当該コンピュータプログラムが記憶された光学ディスク、ＨＤＤ若しくは半導体メモリなどのコンピュータ読み取り可能な非一時的記録媒体で実現されてもよい。また、システム、装置、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【０１２７】
また、上記の各実施の形態は、請求の範囲又はその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。
【産業上の利用可能性】
【０１２８】
本開示は、製造システムの不正通信を精度良く検知することができる不正通信検知装置などとして利用でき、例えば、製造システムの管理装置などに利用することができる。
【符号の説明】
【０１２９】
１０  製造システム
２０  制御装置
３０、３２、３４  製造装置
１００、２００、３００、４００  不正通信検知装置
１１０  取得部
１２０  記憶部
１２２  通信ホワイトリスト
２２４  設備状態ホワイトリスト
１３０、２３０、３３０、４３０  特定部
１４０、２４０、３４０、４４０  算出部
１５０  判定部
１６０  出力部
２７０  学習部
２８０、３８０、４８０  リスト生成部
３２６  種類ホワイトリスト
４２８  構成ホワイトリスト
【図１】
2019240020.tif 000003
【図２】
2019240020.tif 000004
【図３】
2019240020.tif 000005
【図４】
2019240020.tif 000006
【図５】
2019240020.tif 000007
【図６】
2019240020.tif 000008
【図７】
2019240020.tif 000009
【図８】
2019240020.tif 000010
【図９】
2019240020.tif 000011
【図１０】
2019240020.tif 000012
【図１１】
2019240020.tif 000013
【図１２】
2019240020.tif 000014
【図１３】
2019240020.tif 000015
【図１４】
2019240020.tif 000016
【国際調査報告】
2019240020.tif 000017
2019240020.tif 000018
2019240020.tif 000019
2019240020.tif 000020