(57)【要約】  製品の製造システム（１０）は、製品の製造データを保持する製造制御装置（２０）と、製造制御装置（２０）の製品の製造データに基づいて、シミュレーションにより製品の製造を仮想的に行う仮想製造装置（３０）と、製造制御装置（２０）の製造データに基づいて、製品の製造を実際に行う実製造装置（４０）と、仮想製造装置（３０）が仮想的に行った製品の製造における異常の有無を判定する異常判定部（３３）とを備える。そして、仮想的に行った製品の製造から異常が判定されなかった場合に、実製造装置（４０）は、製品の製造を実際に行う。
2018079424.tif 000002
【特許請求の範囲】
【請求項１】
製品の製造を行う製品の製造システムであって、
前記製品の製造データを保持する製造制御装置と、
前記製造制御装置の前記製品の前記製造データに基づいて、シミュレーションにより前記製品の製造を仮想的に行う仮想製造装置と、
前記製造制御装置の前記製造データに基づいて、前記製品の製造を実際に行う実製造装置と、
前記仮想製造装置が仮想的に行った前記製品の製造における異常の有無を判定する異常判定部とを備え、
仮想的に行った前記製品の製造から異常が判定されなかった場合に、前記実製造装置は、前記製品の製造を実際に行う
製品の製造システム。
【請求項２】
前記仮想製造装置は、
前記製造データに基づいて、前記製品の製造を仮想的に行う仮想製造部と、
前記製造データに基づいて、前記仮想製造部の動作を制御する仮想側制御部とを有し、
前記異常判定部は、前記仮想製造装置に設けられる
請求項１記載の製品の製造システム。
【請求項３】
前記仮想製造部は、仮想的に行った前記製品の製造に関する動作結果パラメータを生成し、
前記異常判定部は、前記動作結果パラメータから仮想的に行った前記製品の製造における異常の有無を判定する
請求項２記載の製品の製造システム。
【請求項４】
前記仮想製造部は、前記製品を製造する仮想の部品実装機であり、
前記動作結果パラメータは、前記部品実装機が基板に部品を実装する座標、前記部品実装機が前記基板に実装する部品の向き、前記部品実装機が実装する部品及び前記基板の種類、前記部品実装機の回転数、前記部品実装機の速度、前記部品実装機の電圧、前記部品実装機の電流及び前記部品実装機の温度の少なくとも一つである
請求項３記載の製品の製造システム。
【請求項５】
前記異常判定部は、前記仮想側制御部と前記仮想製造部との間の通信情報に基づいて、前記製品の製造における異常の有無を判定する
請求項２記載の製品の製造システム。
【請求項６】
前記異常判定部は、前記製造制御装置に設けられ、
前記異常判定部は、前記製造制御装置と前記仮想製造装置との間の通信情報に基づいて、前記異常の有無を判定する
請求項１記載の製品の製造システム。
【請求項７】
前記製造制御装置、前記仮想製造装置及び前記実製造装置は、この並び順で直列に接続されている
請求項１〜６のいずれか１項に記載の製品の製造システム。
【請求項８】
製品の前記実製造装置に不具合を生じさせるマルウェアを検知するマルウェア検知システムであって、
請求項１〜７のいずれか１項に記載の製品の製造システムと、
前記仮想製造装置及び前記製造制御装置の少なくとも一方をマルウェア候補に感染させた状態で、前記製造データに基づいて前記仮想製造装置で実行された仮想的な前記製品の製造から異常が検出された場合、前記マルウェア候補をマルウェアであると判定するマルウェア判定装置とを備える
マルウェア検知システム。
【請求項９】
前記仮想製造装置は、
前記製造データに基づいて、前記製品の製造を仮想的に行う仮想製造部と、
前記製造データに基づいて、前記仮想製造部の動作を制御する仮想側制御部とを有し、
前記異常判定部は、前記仮想製造装置に設けられる
請求項８記載のマルウェア検知システム。
【請求項１０】
前記仮想製造部は、仮想的に行った前記製品の製造に関する動作結果パラメータを生成し、
前記異常判定部は、前記動作結果パラメータから仮想的に行った前記製品の製造における異常の有無を判定する
請求項９記載のマルウェア検知システム。
【請求項１１】
前記仮想製造部は、前記製品を製造する仮想の部品実装機であり、
前記動作結果パラメータは、前記部品実装機が基板に部品を実装する座標、前記部品実装機が前記基板に実装する部品の向き、前記部品実装機が実装する部品及び前記基板の種類、前記部品実装機の回転数、前記部品実装機の速度、前記部品実装機の電圧、前記部品実装機の電流及び前記部品実装機の温度の少なくとも一つである
請求項１０記載のマルウェア検知システム。
【請求項１２】
前記異常判定部は、前記仮想側制御部と前記仮想製造部との間の通信情報に基づいて、前記製品の製造における異常の有無を判定する
請求項９〜１１のいずれか１項に記載のマルウェア検知システム。
【請求項１３】
前記異常判定部は、前記製造制御装置に設けられ、
前記異常判定部は、前記製造制御装置と前記仮想製造装置との間の通信情報に基づいて、前記異常の有無を判定する
請求項８記載のマルウェア検知システム。
【請求項１４】
前記製造制御装置、マルウェア判定装置、前記仮想製造装置及び前記実製造装置は、この並び順で直列に接続されている
請求項８〜１３のいずれか１項に記載のマルウェア検知システム。
【請求項１５】
製品の製造を行う製品の製造方法であって、
前記製品の製造データに基づいて、シミュレーションにより前記製品の製造を仮想的に行う仮想製造ステップと、
前記仮想製造ステップで仮想的に行った前記製品の製造における異常の有無を判定する異常判定ステップと、
前記異常判定ステップで仮想的に行った前記製品の製造から異常が判定されなかった場合に、前記製造データに基づいて前記製品の製造を実際に行う実製造ステップとを含む
製品の製造方法。
【請求項１６】
製品の実製造装置に不具合を生じさせるマルウェアを検知するマルウェア検知方法であって、
仮想製造装置が前記製品の製造データに基づいて、シミュレーションにより前記製品の製造を仮想的に行う仮想製造ステップと、
前記仮想製造装置、及び前記製造データを前記仮想製造装置に送信する製造制御装置の少なくとも一方をマルウェア候補に感染させた状態で、前記仮想製造ステップで仮想的な前記製品の製造から異常が検出された場合、前記マルウェア候補をマルウェアであると判定するマルウェア判定ステップとを含む
マルウェア検知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、製品の製造システム、マルウェア検知システム、製品の製造方法及びマルウェア検知方法に関する。
【背景技術】
【０００２】
近年では、インターネットなどの通信ネットワークを介して工場内外の物やサービスと連携することで、生産性が向上したり、新しい価値を生み出したり、新しいビジネスモデルを構築したりすることを目指した取り組みが活発に行われている。【０００３】
一方、インターネット空間では、ハッキングやマルウェアなどによるサイバー攻撃が活発化している。サイバー攻撃による不正侵入や情報漏えいなどの事例は、年々増加しており、工場においても、製造データが不正な操作などで改ざんされた場合に、不良品の製造、実際の生産設備における生産停止、設備破壊等の事例が報告されている。そのため、工場のセキュリティレベルを向上することが必要となる。【０００４】
ネットワーク内の異常を検知する特許文献として、例えば、特許文献１がある。特許文献１の異常検知システムは、制御システム（製造システムの一例）と、監視部と、管理部とを備える。【０００５】
制御システムは、ネットワークに接続され、それぞれ個別の保護領域内で稼働する。監視部は、制御システム毎に設けられ、当該制御システムと、監視する相手方の制御システムとの間で交換されるデータを検査し、相手方の制御システムに異常が疑われる場合に異常通知を発信する。管理部は、複数の制御システム各々の監視部から発信される異常通知を集計して、異常が疑われた制御システムのレピュテーションを評価し、評価結果から基準に照らして異常であると判定された場合に、異常が疑われた制御システムを稼働させている保護領域に対し、少なくとも保護領域内部からのアウトバウンドのトラフィックを制限させる。【０００６】
この異常検知システムでは、異常が疑われる制御システムを効率的に検知し、異常が確認された制御システムを隔離する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第５６８９３３３号公報
【特許文献２】特許第５８９８０２４号公報
【特許文献３】ＷＯ２０１６／０９２９６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、従来の異常検知システムを導入するためには、既存の製造システムを大幅に変更する必要がある。そこで、製造データが改ざんされないように製造システムの既存の構成要素を改変することが考えられる。しかし、一般的な工場の製造システムでは、長期間の使用を行うため、その間にセキュリティを担保している暗号技術の陳腐化及び暗号ビット長の不足などが発生してしまう。【０００９】
そこで、本開示は、このような課題を解決するためになされたものであり、既存の製造システムに大幅な改変を加えることなく製造データの異常を検知することができる製品の製造システム、マルウェア検知システム、製品の製造方法及びマルウェア検知方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本開示に係る製品の製造システムの一態様は、製品の製造を行う製品の製造システムであって、前記製品の製造データを保持する製造制御装置と、前記製造制御装置の前記製品の前記製造データに基づいて、シミュレーションにより前記製品の製造を仮想的に行う仮想製造装置と、前記製造制御装置の前記製造データに基づいて、前記製品の製造を実際に行う実製造装置と、前記仮想製造装置が仮想的に行った前記製品の製造における異常の有無を判定する異常判定部とを備え、仮想的に行った前記製品の製造から異常が判定されなかった場合に、前記実製造装置は、前記製品の製造を実際に行う。【００１１】
また、上記目的を達成するために、本開示に係るマルウェア検知システムの一態様は、製品の前記実製造装置に不具合を生じさせるマルウェアを検知するマルウェア検知システムであって、製品の製造システムと、前記仮想製造装置及び前記製造制御装置の少なくとも一方をマルウェア候補に感染させた状態で、前記製造データに基づいて前記仮想製造装置で実行された仮想的な前記製品の製造から異常が検出された場合、前記マルウェア候補をマルウェアであると判定するマルウェア判定装置とを備える。【００１２】
また、上記目的を達成するために、本開示に係る製品の製造方法の一態様は、製品の製造を行う製品の製造方法であって、前記製品の製造データに基づいて、シミュレーションにより前記製品の製造を仮想的に行う仮想製造ステップと、前記仮想製造ステップで仮想的に行った前記製品の製造における異常の有無を判定する異常判定ステップと、前記異常判定ステップで仮想的に行った前記製品の製造から異常が判定されなかった場合に、前記製造データに基づいて前記製品の製造を実際に行う実製造ステップとを含む。【００１３】
また、上記目的を達成するために、本開示に係るマルウェア検知方法の一態様は、製品の実製造装置に不具合を生じさせるマルウェアを検知するマルウェア検知方法であって、仮想製造装置が前記製品の製造データに基づいて、シミュレーションにより前記製品の製造を仮想的に行う仮想製造ステップと、前記仮想製造装置、及び前記製造データを前記仮想製造装置に送信する製造制御装置の少なくとも一方をマルウェア候補に感染させた状態で、前記仮想製造ステップで仮想的な前記製品の製造から異常が検出された場合、前記マルウェア候補をマルウェアであると判定するマルウェア判定ステップとを含む。
【発明の効果】
【００１４】
本開示によれば、既存の製造システムに大幅な改変を加えることなく製造データの異常を検知することができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、実施の形態１に係る製品の製造システムを備えた産業システムの模式図である。
【図２】図２は、実施の形態１に係る製品の製造システムのブロック図である。
【図３】図３は、実施の形態１に係る製品の製造システムにおける製造制御装置を示すフロー図である。
【図４】図４は、実施の形態１に係る製品の製造システムにおける仮想製造装置を示すフロー図である。
【図５】図５は、実施の形態１に係る製品の製造システムにおける実製造装置を示すフロー図である。
【図６】図６は、実施の形態１に係る製品の製造システムにおける製造データが正常な場合のシーケンス図である。
【図７】図７は、実施の形態１に係る製品の製造システムにおける製造データが異常な場合のシーケンス図である。
【図８】図８は、実施の形態１の変形例に係る製品の製造システムのブロック図である。
【図９】図９は、実施の形態２に係るマルウェア検知システムを備えた産業システムの模式図である。
【図１０】図１０は、実施の形態２に係るマルウェア検知システム及び実製造装置のブロック図である。
【図１１】図１１は、実施の形態２に係るマルウェア検知システムにおける製造制御装置を示すフロー図である。
【図１２】図１２は、実施の形態２に係るマルウェア検知システムにおける仮想製造装置を示すフロー図である。
【図１３】図１３は、実施の形態２に係るマルウェア検知システムにおけるマルウェア判定装置を示すフロー図である。
【図１４】図１４は、実施の形態２に係るマルウェア検知システムにおけるマルウェア候補がマルウェアでない場合のシーケンス図である。
【図１５】図１５は、実施の形態２に係るマルウェア検知システムにおけるマルウェア候補がマルウェアである場合のシーケンス図である。
【図１６】図１６は、実施の形態２の変形例に係るマルウェア検知システムのブロック図である。
【図１７】図１７は、変形例に係る製品の製造システムのブロック図である。
【図１８】図１８は、変形例に係るマルウェア検知システムのブロック図である。
【発明を実施するための形態】
【００１６】
以下、本開示の実施の形態について、図面を参照しながら説明する。以下に説明する実施の形態は、いずれも本開示の好ましい一具体例を示すものである。したがって、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態などは、一例であって本開示を限定する主旨ではない。よって、以下の実施の形態における構成要素のうち、本開示の最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【００１７】
また、「略＊＊」との記載は、「略同一」を例に挙げて説明すると、全く同一はもとより、実質的に同一と認められるものを含む意図である。
【００１８】
なお、各図は、模式図であり、必ずしも厳密に図示されたものではない。また、各図において、実質的に同一の構成に対しては同一の符号を付しており、重複する説明は省略又は簡略化する。
【００１９】
以下、本開示の実施の形態に係る製品の製造システム、マルウェア検知システム、製品の製造方法及びマルウェア検知方法について説明する。
【００２０】
（実施の形態１）
［構成］
まず、本実施の形態に係る製品の製造システム１０の構成について図１及び図２を用いて説明する。
【００２１】
図１は、実施の形態１に係る製品の製造システム１０を備えた産業システム１の模式図である。図２は、実施の形態１に係る製品の製造システム１０のブロック図である。以下、製品の製造システム１０を単に製造システム１０という。
【００２２】
図１に示すように、産業システム１は、外部のネットワーク２に接続されており、ファイアウォール３と、複数台の端末機４と、制御システム５とを備える。産業システム１は、例えば、電子機器の製造等に関する産業システムである。本実施の形態では、工場Ａ及び工場Ｂがファイアウォール３、複数台の端末機４等を有している。
【００２３】
ファイアウォール３は、外部のネットワーク２と端末機４との間に設けられ、外部のネットワーク２からの不正アクセス、ウィルス（マルウェア）の侵入を防止する。なお、外部のネットワーク２と端末機４との間に、外部の端末機４から端末証明書を受信し、認証後にネットワーク対応アプリケーションや暗号化方式テーブル等を外部の端末機４に送信するゲートウェイサーバを設けてもよい。ここで、マルウェアとは、不正かつ有害な動作を行うソフトウェアやコードの総称であり、悪意で作成されたソフトウェアやコードの他に、意図しないソフトウェアやコードをも含む。
【００２４】
端末機４は、例えば、工場、オフィス等に設けられたサーバ等であり、ネットワークを介して制御システム５と通信し、制御システム５からデータ収集を行う。このデータには、制御データ、動作結果パラメータ等が含まれていてもよい。
【００２５】
制御システム５は、産業システム１における用途に応じた機能を有し、生産ラインの監視、プロセス制御等を行ったり、端末機４に製造データ等の情報を送信したりする。制御システム５は、製造データに基づいて仮想的な製品の製造を行い、製造データが正常であれば、この製造データに基づいて実際の製品の製造を行う製造システム１０を有している。製造データとは、製品の製造を行う基となるデータであり、例えば、部品の配置に関わるデータ、基板上の部品の位置に関わるデータ及び画像認識に関わるデータ等であり、加工を行う際の機械の工具の軌道データ等、製造に使用される広義の意味のデータである。
【００２６】
製造システム１０は、複数の製造制御装置２０と、複数の仮想製造装置３０と、複数の実製造装置４０とを備える。製造制御装置２０、仮想製造装置３０及び実製造装置４０の各々は、それぞれがネットワークを介して相互に通信することが可能に接続されている。
【００２７】
［製造制御装置］
製造制御装置２０は、例えば、製造ラインを制御する製造ラインコントローラ等の装置であり、製造データを保持する。製造制御装置２０は、仮想製造装置３０及び実製造装置４０と通信可能であり、新たに入力された製品の製造データを仮想製造装置３０及び実製造装置４０に送信する。例えば、製造制御装置２０は、製造開始及び製造停止の制御情報を仮想製造装置３０及び実製造装置４０に送信したり、仮想製造装置３０及び実製造装置４０における動作結果パラメータ等を仮想製造装置３０及び実製造装置４０から受信したりする。動作結果パラメータとは、製造過程の情報であり、例えば、仮想製造装置３０が仮想の部品実装機である場合、部品実装機が部品を基板に実装する座標、部品実装機が基板に実装する部品の向き、部品実装機が基板に実装する部品及び基板の種類、部品実装機の回転数、部品実装機の速度、部品実装機の電圧、部品実装機の電流及び部品実装機の温度の少なくとも一つである。また、動作結果パラメータは、このような製造過程の情報だけでなく、仮想製造装置３０が仮想的に製造した製品に関する情報も含み、例えば、この製品の大きさ、形、模様、重さ、部品の配置位置等を示す情報である。実製造装置４０における動作結果パラメータにおいても同様である。なお、製造制御装置２０は、例えば、仮想製造装置３０及び実製造装置４０から受信した動作結果パラメータ等を、工場Ａの端末機４に送信してもよい。
【００２８】
製造制御装置２０は、制御部２１と、記憶部２４と、通信部２５と、入出力部２６とを備える。
【００２９】
制御部２１は、記憶部２４、通信部２５、及び入出力部２６等を管理する。制御部２１は、製造開始及び製造停止等の制御情報、製造データ等を、通信部２５を介して仮想製造装置３０及び実製造装置４０に送信する。制御部２１は、製造データ、仮想製造装置３０及び実製造装置４０から受信した動作結果パラメータ等を記憶部２４に格納する。制御部２１は、プロセッサ、又はマイクロコンピュータなど、又は専用回路によってこれらの動作を実現する。
【００３０】
制御部２１は、通信部２５を介して製造開始及び製造停止の制御情報を仮想製造装置３０及び実製造装置４０に送信するだけでなく、例えば、部品を基板に実装する動作を制御する制御信号を仮想製造装置３０及び実製造装置４０に逐次送信する。また、仮想製造装置３０は、実装する部品の位置などの情報を製造制御装置２０に逐次送信したりする。
【００３１】
記憶部２４は、正常な製造データ、新たに入力された製品の製造データ、動作結果パラメータ等が格納される記憶装置である。正常な製造データとは、実製造装置４０に入力をした場合、所定の動作で、所望の製品を製造することができるデータであり、実製造装置４０が不良品の製造、実際の生産設備における製造の停止、設備破壊等を発生させないデータである。正常な製造データには、動作結果パラメータに相当するデータも含まれる。記憶部２４には、正常な製造データが予め格納されていてもよい。記憶部２４は、例えば、半導体メモリによって実現される。
【００３２】
通信部２５は、仮想製造装置３０及び実製造装置４０と通信することが可能な通信インターフェイスである。本実施の形態では、例えば、通信部２５は、仮想製造装置３０等から動作結果パラメータ等を受信することが可能である。
【００３３】
入出力部２６は、製造データ等を入出力することが可能な装置である。入出力部２６は、例えば、コンピュータで読み取り可能な記録媒体からデータを入出力してもよい。記録媒体としては、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ（登録商標）Ｄｉｓｃ）、半導体メモリ等である。また、入出力部２６は、ネットワークを介して他のインターフェイスと接続していてもよい。
【００３４】
［仮想製造装置］
仮想製造装置３０は、製造制御装置２０から受信した製造データに基づき、シミュレーションにより製品の製造を仮想的に行う装置である。この際、仮想製造装置３０は、製造開始及び製造停止の制御情報を製造制御装置２０から受信したり、仮想製造装置３０の動作結果パラメータ等を製造制御装置２０に送信したりする。仮想製造装置３０は、例えば、パーソナルコンピュータ上で動作し、部品実装機、リフロー機、検査機、印刷機、又はその組み合わせ等のシミュレータ（後述する仮想製造装置３０）により実現する。なお、仮想製造装置３０では、仮想的に製造を行うだけであるため、仮想的に製造した際に異常な動作を行ったとしても、実際の生産設備における製造の停止、不良品の生産、設備破壊等には至らない。
【００３５】
仮想製造装置３０のシミュレータは、仮想化ソフトウェア（ＶＭＷａｒｅ（登録商標）、ＶｉｒｔｕａｌＢｏｘ（登録商標））上で動作してもよい。仮想化ソフトウェア上のシミュレータで実現することで、仮にシミュレータが異常な動作をしたとしても、仮想製造装置３０は、仮想化ソフトウェアが動作しているパーソナルコンピュータの故障などを防ぐ。
【００３６】
仮想製造装置３０は、仮想側制御部３１と、仮想製造部３２と、異常判定部３３と、記憶部３４と、通信部３５とを備える。
【００３７】
仮想側制御部３１は、仮想製造部３２、異常判定部３３、記憶部３４、及び通信部３５等を管理する。仮想側制御部３１は、製造データに基づく製品を仮想製造部３２に製造させるように制御する。仮想側制御部３１は、仮想製造部３２が生成した動作結果パラメータ、異常判定部３３が判定した判定結果に関する情報等を、通信部３５を介して製造制御装置２０に送信する。仮想側制御部３１は、製造制御装置２０から受信した製造データ、仮想製造部３２が生成した動作結果パラメータ等を記憶部３４に格納する。
【００３８】
仮想製造部３２は、製造データに基づいて、製品を仮想的に製造するシミュレータであり、例えば、製品を製造する仮想の部品実装機である。仮想製造部３２は、製造データに基づいて、仮想的に行った製品の製造に関する動作結果パラメータを生成する。具体的には、例えば、実製造装置４０が部品実装ラインの場合、仮想製造部３２は、シミュレートした部品実装機の動作結果パラメータを生成する。より具体的には、仮想製造部３２は、製造データに基づき、部品実装機が特定の場所から特定の部品を取得し、基板上の特定の位置に、特定の方向で、特定の部品を配置又は挿入するという一連の動作をシミュレートする。
【００３９】
ここで、製造データは、部品の配置に関わるデータ、基板上の部品の位置に関わるデータ及び画像認識に関わるデータなどを含む。
【００４０】
部品の配置に関わるデータは、部品実装機の何処に何の部品を置くかの情報を含む。基板上の部品の位置に関わるデータは、基板の何処に何の部品を載せるかの情報を含む。画像認識に関わるデータは、部品の寸法やリードの本数やピッチ等の情報を含む。
【００４１】
この際、例えば、製造データの部品の配置に関わるデータに異常があれば、部品実装機の特定の場所から特定の部品を取得することができないという異常が発生する。また、例えば、製造データの基板上の部品の位置に関わるデータに異常があれば、基板上の特定の位置に、特定の方向で、特定の部品を配置又は挿入するということができないという異常が発生する。このように、製造データに異常がある場合、シミュレートした部品実装機の動作結果パラメータは異常値を示す。言い換えれば、製造データの異常により、部品実装機において、部品を基板に実装する座標、部品実装機が基板に実装する部品の向き、部品実装機が基板に実装する部品及び基板の種類、部品を基板に実装するヘッドを駆動する駆動部等における回転数、ヘッドが移動する速度、部品実装機の電圧、部品実装機の電流、リフロー時の温度等といったパラメータが異常値を示したり、仮想側制御部３１の出力が規定とは異なる異常値を示したりする。一例を挙げると、ヘッドを備えたアームの移動範囲が部品実装機の許容を遥かに超えている等であり、部品実装機の能力値を決めるコンフィグレイション情報を超える場合に、部品実装機のパラメータが異常であると言える。
【００４２】
また、仮想的に製造した製品では、正常な製品に対し、特定の部品の配置又は挿入、特定の部品の向き、異なる部品が配置されている等の異常も発生する。
【００４３】
製造データの部品の配置に関わるデータ、基板上の部品の位置に関わるデータ及び画像認識に関わるデータ等が正常であれば、仮想製造部３２が仮想的に製造した製品（仮想製造部３２が生成した動作結果パラメータ）は、実製造装置４０が製造した製品と略同一の結果が得られる。
【００４４】
仮想製造部３２は、動作結果パラメータ等を生成し、動作結果パラメータ等を異常判定部３３に送信する。
【００４５】
また、仮想製造部３２は、製造データに基づいて仮想的に製品を製造する際に、動作結果パラメータの一部である製造過程に関する情報を逐次、製造制御装置２０に送信してもよい。
【００４６】
異常判定部３３は、仮想製造部３２から受信した動作結果パラメータの異常又は正常の判定を行う装置である。言い換えれば、異常判定部３３は、仮想側制御部３１と仮想製造部３２との間の通信情報に基づいて、動作結果パラメータから仮想的に行った製品の製造における異常の有無を判定する装置である。具体的には、異常判定部３３は、動作結果パラメータと記憶部３４に格納されている正常な製造データとを照合し、異常の有無を判定する。一例を挙げると、異常判定部３３は、部品実装機において、基板に部品を実装する座標、部品の材料、部品実装機が基板に実装する部品の向き、部品実装機が実装する部品及び基板の種類、部品を基板に実装するヘッドを駆動する駆動部等における回転数、ヘッドが移動する速度、部品実装機の電圧、部品実装機の電流、リフロー時の温度等といったパラメータが異常値であれば、異常があると判定し、判定結果が異常である異常情報（判定結果に関する情報）を生成する。つまり、異常判定部３３は、製造データに基づいて生成された動作結果パラメータに異常情報を対応づける。
【００４７】
一方、異常判定部３３は、動作結果パラメータと、記憶部３４に格納されている正常な製造データとが略同一であれば、判定結果が正常である正常情報（判定結果に関する情報）を生成する。異常判定部３３は、製造データに基づいて生成された動作結果パラメータに正常情報を対応づける。
【００４８】
異常判定部３３は、このような判定結果に関する情報を仮想側制御部３１に送信する。なお、正常な製造データは、上述の部品実装機におけるパラメータが誤差の範囲内のデータである。異常判定部３３は、この誤差の範囲内であれば、動作結果パラメータが正常な製造データと略同一と判定する。異常判定部３３は、生成した異常情報及び正常情報を、該当する動作結果パラメータと関連付けて記憶部３４に格納する。なお、異常判定部３３を製造制御装置２０に設けてもよい。
【００４９】
記憶部３４は、正常な製造データ、動作結果パラメータ、判定結果に関する情報等が格納される記憶装置である。記憶部３４は、例えば、半導体メモリによって実現される。
【００５０】
通信部３５は、製造制御装置２０及び実製造装置４０と通信することが可能な通信インターフェイスである。本実施の形態では、例えば、通信部３５は、異常判定部３３が判定した判定結果に関する情報を送信し、製造データ等のデータを受信することが可能である。
【００５１】
［実製造装置］
実製造装置４０は、製造制御装置２０から受信した製造データに基づき、製品の製造を実際に行う装置であり、例えば、工場等における製造ライン設備である。この際、実製造装置４０は、製造開始及び製造停止の制御情報を製造制御装置２０から受信したり、動作結果パラメータを製造制御装置２０に送信したりする。
【００５２】
実製造装置４０は、製造側制御部４１と、製造部４２と、記憶部４４と、通信部４５とを備える。
【００５３】
製造側制御部４１は、製造部４２、記憶部４４、及び通信部４５を管理する。製造側制御部４１は、製造制御装置２０から製造データを受信して記憶部４４に格納する。製造側制御部４１は、製造開始及び製造停止の制御情報を製造制御装置２０から受信し、製造データに基づいて製品を製造部４２に製造させたり、製品の製造を停止させたりする。製造側制御部４１は、実際の動作結果パラメータを、通信部４５を介して製造制御装置２０に送信する。
【００５４】
製造部４２は、製造データに基づいて、実際に製品を製造する産業設備である。具体的には、例えば、製造部４２が部品実装ラインの場合、例えば、部品実装機の動作を実施する。部品実装の場合は、製造データに基づき、部品実装機の特定の場所から特定の部品を取得し、基板上の特定の位置に、特定の方向で、特定の部品を配置又は挿入するという動作を行う。
【００５５】
また、製造部４２は、製造データに基づいて製品を実際に製造する際に、動作結果パラメータの一部である製造過程に関する情報を逐次、製造制御装置２０に送信する。この場合、製造制御装置２０の制御部２１は、製造過程に関する情報が正常な製造データに基づいているか否かを判定してもよい。製造過程に関する情報に異常があれば、製造制御装置２０は、製造データに異常があることを報知してもよい。このため、製造過程に関する情報を判定する異常判定部３３が製造制御装置２０に設けられていてもよい。なお、製造データが異常であれば、新たに製造データを生成してもよい。
【００５６】
記憶部４４は、製造データ、動作結果パラメータ等が格納される記憶装置である。記憶部４４は、例えば、半導体メモリによって実現される。
【００５７】
通信部４５は、製造制御装置２０及び仮想製造装置３０と通信することが可能な通信インターフェイスである。本実施の形態では、例えば、通信部４５は、動作結果パラメータを送信し、製造データ等のデータを受信することが可能である。
【００５８】
［製造システムの動作］
以下、上記製造システム１０の動作について、図３〜図５を用いて説明する。
【００５９】
図３は、実施の形態１に係る製品の製造システムにおける製造制御装置２０を示すフロー図である。図４は、実施の形態１に係る製品の製造システムにおける仮想製造装置３０を示すフロー図である。図５は、実施の形態１に係る製品の製造システムにおける実製造装置４０を示すフロー図である。
【００６０】
図３に示すように、まず、製造システム１０では、製造制御装置２０の入出力部２６に製造データが入力される（ステップＳ１）。製造制御装置２０に入力された製造データは、製造制御装置２０の記憶部２４に格納される。
【００６１】
次に、製造制御装置２０の制御部２１は、製造制御装置２０の通信部２５を介して製造データを仮想製造装置３０に送信する（ステップＳ２）。
【００６２】
次に、図４に示すように、仮想製造装置３０は、仮想製造装置３０の通信部３５を介して製造制御装置２０から製造データを受信する（ステップＳ１１）。仮想側制御部３１は、受信した製造データを記憶部３４に格納する。
【００６３】
次に、仮想側制御部３１は、製造データに基づいて、仮想製造部３２がシミュレーションにより仮想的に製品を製造させる。つまり、仮想側制御部３１は、仮想製造部３２に動作結果パラメータを生成させる（ステップＳ１２：仮想製造ステップの一例）。つまり、仮想製造ステップは、製品の製造データに基づいて、シミュレーションにより製品の製造を仮想的に行う。仮想側制御部３１は、生成された動作結果パラメータを記憶部３４に格納する。
【００６４】
次に、仮想製造部３２は、動作結果パラメータを仮想製造装置３０の異常判定部３３に送信する。そして、異常判定部３３は、この動作結果パラメータが異常な情報であるか否かを判定する（ステップＳ１３：異常判定ステップの一例）。つまり、異常判定ステップは、仮想製造ステップで仮想的に行った製品の製造における異常の有無を判定する。異常判定部３３は、動作結果パラメータが異常であると判定した場合（ステップＳ１３ではＹＥＳ）、動作結果パラメータと関連付けた判定結果に関する情報（異常情報）を生成する。仮想製造部３２は、通信部３５を介して動作結果パラメータが異常であるという異常情報を製造制御装置２０に送信する（ステップＳ１４）。そして、この仮想製造装置３０におけるフローを終了し、図３のステップＳ３に進む。
【００６５】
一方、異常判定部３３が動作結果パラメータを正常であると判定した場合（ステップＳ１３ではＮＯ）、動作結果パラメータと関連付けた判定結果に関する情報（正常情報）を生成する。仮想製造部３２は、通信部３５を介して動作結果パラメータが正常であるという正常情報を製造制御装置２０に送信する（ステップＳ１５）。そして、この仮想製造装置３０におけるフローを終了し、図３のステップＳ３に進む。なお、ステップＳ１４及びステップＳ１５において、仮想製造部３２が生成した動作結果パラメータを製造制御装置２０に送信してもよい。また、製造制御装置２０は、受信した動作結果パラメータを記憶部２４に格納してもよい。
【００６６】
次に、図３に示すように、製造制御装置２０の制御部２１は、仮想製造装置３０から受信した情報が異常情報、及び正常情報のいずれであるかを判定する（ステップＳ３）。仮想製造装置３０から受信した情報が正常情報であれば（ステップＳ３ではＹＥＳ）、製造制御装置２０の制御部２１は、製造制御装置２０の通信部２５を介して実製造装置４０に製造データを送信する（ステップＳ４）。
【００６７】
一方、仮想製造装置３０から受信した情報が異常情報であれば（ステップＳ３ではＮＯ）、製造制御装置２０の制御部２１は、製造データが異常情報であることを報知する（ステップＳ５）。そして、この製造制御装置２０におけるフローを終了し、図５の実製造装置４０のフローに進む。
【００６８】
次に、図５に示すように、実製造装置４０は、図３のステップＳ４での製造制御装置２０から製造データを受信する（ステップＳ２１）。そして、実製造装置４０の製造側制御部４１は、製造データを記憶部４４に格納する。
【００６９】
次に、製造側制御部４１は、製造データに基づく実際の製品を製造する指示を製造部４２に与える（ステップＳ２２：実製造ステップの一例）。つまり、実製造ステップは、異常判定ステップで仮想的に行った製品の製造から異常が判定されなかった場合に、製造データに基づいて製品の製造を実際に行う。
【００７０】
次に、製造部４２は、製造データに基づく製品の製造と、製造データに基づく動作結果パラメータの生成とを行う。製造側制御部４１は、製造部４２が生成した動作結果パラメータを記憶部４４に格納する。製造側制御部４１は、通信部４５を介して製造制御装置２０に動作結果パラメータを送信する（ステップＳ２３）。そして、この実製造装置４０におけるフローを終了し、図３のステップＳ３に進む。
【００７１】
次に、製造制御装置２０は、実製造装置４０から動作結果パラメータを受信し（ステップＳ６）、動作結果パラメータを製造制御装置２０の記憶部２４に格納する。こうして、製造システム１０における一連の動作が終了する。なお、図３〜図５におけるフローは、１回だけ実施されるわけではなく、１回目のフローが終了後に、新たなフローを行うことができる。
【００７２】
このように、実際に製品の製造を行う前に、仮想製造装置３０がシミュレーションにより製品の製造を仮想的に行う。仮想製造装置３０の動作結果パラメータが異常であれば、実製造装置４０に製造を行わせず、仮想製造装置３０の動作結果パラメータが正常であれば、実製造装置４０に製造を行わせる。なお、仮想製造装置３０の動作結果パラメータが異常であれば、異常情報を外部に報知する。例えば、アラーム等で警告を発したり、製造過程及び製造結果から、何処が異常であるかを表示画面に表示させたりしてもよい。仮想製造装置３０の動作結果パラメータが正常であれば、製造データに基づいて実製造装置４０が製品を製造するため、所望の製品を得ることができる。
【００７３】
次に、製造データが正常な場合の製造システム１０の動作例を、図６を用いて説明する。
【００７４】
図６は、実施の形態１に係る製品の製造システム１０における製造データが正常な場合のシーケンス図である。
【００７５】
まず、図６に示すように、製造制御装置２０には、製造データが入出力部２６から入力される（ステップＳ１０１）。製造制御装置２０に入力された製造データは、製造制御装置２０の記憶部２４に格納される。
【００７６】
次に、製造制御装置２０の制御部２１は、製造制御装置２０の通信部２５を介して製造データを仮想製造装置３０に送信する（ステップＳ１０２）。
【００７７】
次に、仮想製造装置３０は、製造制御装置２０から製造データを受信する（ステップＳ１１１）。製造制御装置２０の仮想側制御部３１は、受信した製造データを記憶部３４に格納する。
【００７８】
次に、仮想側制御部３１は、製造データに基づいて、仮想製造部３２に仮想的に製品を製造させる。つまり、仮想側制御部３１は、仮想製造部３２に動作結果パラメータを生成させる（ステップＳ１１２）。
【００７９】
次に、仮想製造部３２は、動作結果パラメータを仮想製造装置３０の異常判定部３３に送信する。異常判定部３３は、この動作結果パラメータが異常な情報であるか否かを判定する。図６では、製造データが正常な場合であるため、異常判定部３３は、動作結果パラメータが正常であると判定し（ステップＳ１１３）、製造データに基づいて生成された動作結果パラメータに対応した判定結果に関する情報（正常情報）を生成する。仮想側制御部３１は、通信部３５を介してこの正常情報を製造制御装置２０に送信する（ステップＳ１１４）。なお、ステップＳ１４及びステップＳ２２において、仮想製造部３２が生成した動作結果パラメータを製造制御装置２０に送信してもよい。また、製造制御装置２０は、受信した動作結果パラメータを記憶部２４に格納してもよい。
【００８０】
次に、製造制御装置２０の制御部２１は、通信部２５を介して仮想製造装置３０から正常情報を受信する（ステップＳ１０３）。制御部２１は、仮想製造装置３０がシミュレートした製造データと正常情報とを対応づけて記憶部２４に格納する。
【００８１】
製造制御装置２０の制御部２１は、製造制御装置２０の通信部２５を介して正常情報と判定された製造データを実製造装置４０に送信する（ステップＳ１０４）。
【００８２】
次に、実製造装置４０は、製造制御装置２０からこの製造データを受信する（ステップＳ１２１）。そして、実製造装置４０の製造側制御部４１は、この製造データを記憶部４４に格納する。
【００８３】
次に、製造側制御部４１は、この製造データに基づいて、実際の製品を製造部４２に製造させる（ステップＳ１２２）。なお、仮想製造装置３０は、製造制御装置２０に製造過程に関する情報を送信し、製造制御装置２０から制御情報を受信する。
【００８４】
次に、製造部４２は、実際に製造した製品の動作結果パラメータを生成し、この動作結果パラメータを製造制御装置２０に送信する（ステップＳ１２３）。製造制御装置２０の制御部２１は、通信部２５を介してこの動作結果パラメータを受信し、製造制御装置２０の記憶部２４に格納する。こうして、製造システム１０では、正常な製造データに基づいた製造を行うため、所望の製品を製造することができる。
【００８５】
次に、製造データが異常な場合の製造システム１０の動作例を、図７を用いて説明する。
【００８６】
図７は、実施の形態１に係る製品の製造システム１０における製造データが異常な場合のシーケンス図である。
【００８７】
図７に示すように、製造システム１０では、図６のステップＳ１０１、ステップＳ１０２、ステップＳ１１１、及びステップＳ１１２と同様の動作を行う。図７では、製造データが異常な場合であるため、異常判定部３３は、動作結果パラメータが異常であると判定し（ステップＳ２１３）、製造データに基づいて生成された動作結果パラメータに対応した判定結果に関する情報（異常情報）を生成する。仮想側制御部３１は、通信部３５を介してこの異常情報を製造制御装置２０に送信する（ステップＳ２１４）。なお、ステップＳ２１４において、仮想製造部３２が生成した動作結果パラメータを製造制御装置２０に送信してもよい。また、製造制御装置２０は、受信した動作結果パラメータを記憶部２４に格納してもよい。
【００８８】
次に、製造制御装置２０の制御部２１は、製造制御装置２０の通信部２５を介して仮想製造装置３０から異常情報を受信する（ステップＳ２０３）。製造制御装置２０の制御部２１は、仮想製造装置３０がシミュレートした製造データと異常情報とを対応づけて記憶部２４に格納する。
【００８９】
次に、製造制御装置２０の制御部２１は、製造データが異常情報であることを報知する。この場合、製造制御装置２０は、異常な製造データを実製造装置４０に送信しない。
【００９０】
［作用効果］
次に、本実施の形態おける製品の製造システム１０の作用効果について説明する。
【００９１】
上述したように、本実施の形態に係る製品の製造システム１０では、製品の製造を行う。また、製品の製造システム１０は、製品の製造データを保持する製造制御装置２０と、製造制御装置２０の製品の製造データに基づいて、シミュレーションにより製品の製造を仮想的に行う仮想製造装置３０と、製造制御装置２０の製造データに基づいて、製品の製造を実際に行う実製造装置４０と、仮想製造装置３０が仮想的に行った製品の製造における異常の有無を判定する異常判定部３３とを備える。そして、仮想的に行った製品の製造から異常が判定されなかった場合に、実製造装置４０は、製品の製造を実際に行う。
【００９２】
このような、製造システム１０では、製造データが製造制御装置２０内ですでに改ざんされて異常となっている場合や、製造データがネットワークを介して改ざんされて異常となる場合等がある。これによれば、製品の製造データに基づいて仮想製造装置３０がシミュレーションにより製品の製造を仮想的に行うため、製造データに異常があっても、仮想製造装置３０が仮想的に行った製品の製造における異常の有無を判定することができる。
【００９３】
したがって、この製造システム１０では、既存の製造システムに大幅な改変を加えることなく製造データの異常を検知することができる。このように、製造システム１０では、実際に製品の製造を行う前に製造データの異常を検知することができれば、異常な製造データに基づく不良品の製造、実際の生産設備における製造の停止、設備破壊等の実製造装置４０の不具合を未然に防止することができる。
【００９４】
また、本実施の形態に係る製品の製造方法では、製品の製造を行う。また、製品の製造データに基づいて、シミュレーションにより製品の製造を仮想的に行う仮想製造ステップと、仮想製造ステップで仮想的に行った製品の製造における異常の有無を判定する異常判定ステップと、異常判定ステップで仮想的に行った製品の製造から異常が判定されなかった場合に、製造データに基づいて製品の製造を実際に行う実製造ステップとを含む。
【００９５】
この製造方法においても、製品の製造システム１０と同様の作用効果を奏する。
【００９６】
また、本実施の形態に係る製品の製造システム１０において、仮想製造装置３０は、製造データに基づいて、製品の製造を仮想的に行う仮想製造部３２と、製造データに基づいて、仮想製造部３２の動作を制御する仮想側制御部３１とを有する。そして、異常判定部３３は、仮想製造装置３０に設けられる。
【００９７】
これによれば、仮想製造部３２が製品の製造を仮想的に行った後に、異常判定部３３が仮想製造部３２で仮想的に行われた製品の製造における異常の有無を判定する。このため、この製造システム１０でも同様に、異常な製造データに基づいて不良品の製造、実際の生産設備における製造の停止、設備破壊等の実製造装置４０の不具合を未然に防止することができる。
【００９８】
また、本実施の形態に係る製品の製造システム１０において、仮想製造部３２は、仮想的に行った製品の製造に関する動作結果パラメータを生成する。異常判定部３３は、動作結果パラメータから仮想的に行った製品の製造における異常の有無を判定する。
【００９９】
これによれば、仮想製造部３２から受信した動作結果パラメータに基づいて、異常判定部３３が異常の有無を判定するため、動作結果パラメータを解析すれば、仮想製造部３２が製品の製造を仮想的に行った製造データから異常な部分を特定し易くなる。
【０１００】
また、本実施の形態に係る製品の製造システム１０において、仮想製造部３２は、製品を製造する仮想の部品実装機である。そして、動作結果パラメータは、部品実装機が基板に部品を実装する座標、部品実装機が基板に実装する部品の向き、部品実装機が実装する部品及び基板の種類、部品実装機の回転数、部品実装機の速度、部品実装機の電圧、部品実装機の電流及び部品実装機の温度の少なくとも一つである。
【０１０１】
これによれば、具体化された動作結果パラメータに基づいて、異常判定部３３が異常の有無を判定するため、動作結果パラメータを解析すれば、仮想製造部３２が製品の製造を仮想的に行った製造データから異常な部分を特定することができる。
【０１０２】
また、本実施の形態に係る製品の製造システム１０において、異常判定部３３は、仮想側制御部３１と仮想製造部３２との間の通信情報に基づいて、製品の製造における異常の有無を判定する。
【０１０３】
これによれば、異常判定部３３は、仮想製造装置３０内の仮想側制御部３１と仮想製造部３２との間の通信情報から、仮想側制御部３１が仮想製造部３２へ送信する動作の制御を読み込むため、早期に動作結果パラメータに基づいた異常の有無を判定することができる。
【０１０４】
（実施の形態１の変形例）
以下、本変形例に係る製造システム１００について、図８を用いて説明する。
【０１０５】
図８は、実施の形態１の変形例に係る製品の製造システム１００のブロック図である。
【０１０６】
実施の形態１では、製造制御装置２０、仮想製造装置３０及び実製造装置４０のそれぞれが相互に通信することが可能に接続されているが、本変形例では、製造制御装置２０、仮想製造装置３０及び実製造装置４０がこの並び順で直列に接続されている点で相違する。
【０１０７】
本変形例における他の構成は、特に明記しない場合は、実施の形態１と同様であり、同一の構成については同一の符号を付して構成に関する詳細な説明を省略する。
【０１０８】
製造制御装置２０、仮想製造装置３０及び実製造装置４０は、並び順で直列に接続されている。仮想製造装置３０は製造制御装置２０と通信可能に接続され、実製造装置４０は仮想製造装置３０と通信可能に接続されている。つまり、製造制御装置２０と実製造装置４０とは直接通信を行うことができず、製造制御装置２０及び実製造装置４０は、仮想製造装置３０を介して通信することが可能に設けられている。
【０１０９】
また、本変形例に係る製品の製造システム１００において、製造制御装置２０、仮想製造装置３０及び実製造装置４０は、この並び順で直列に接続されている。
【０１１０】
製造制御装置２０、仮想製造装置３０及び実製造装置４０が相互に通信可能に接続されている場合では、例えば、製造制御装置２０の制御部２１が送信先を設定しなければならない。このため、制御部２１が製造データを仮想製造装置３０に送信する際に、何らかの不具合により実製造装置４０に異常な製造データが直接送信されてしまう恐れがある。
【０１１１】
しかし、これによれば、製造制御装置２０は、仮想製造装置３０を介して実製造装置４０に製造データが送信される。つまり、仮想製造装置３０が製造制御装置２０と実製造装置４０との通信を物理的に分断している。このため、不具合により実製造装置４０に異常な製造データが直接送信され難い。
【０１１２】
本変形例における他の作用効果についても、実施の形態１と同様の作用効果を奏する。
【０１１３】
（実施の形態２）
［構成］
まず、本実施の形態に係るマルウェア検知システム３００の構成について説明する。
【０１１４】
図９は、実施の形態２に係るマルウェア検知システム３００を備えた産業システム１の模式図である。図１０は、実施の形態２に係るマルウェア検知システム３００のブロック図である。
【０１１５】
本実施の形態２では、実施の形態１の製造システム１００がさらにマルウェア判定装置５０を備えるマルウェア検知システム３００である点で、実施の形態１と相違する。
【０１１６】
本実施の形態における他の構成は、特に明記しない場合は、実施の形態１と同様であり、同一の構成については同一の符号を付して構成に関する詳細な説明を省略する。
【０１１７】
図９及び図１０に示すように、制御システム５は、産業システム１における用途に応じた機能を有し、生産ラインの監視、プロセス制御等を行ったり、端末機４に製造データ等の情報を送信したりする。制御システム５は、製造データに基づいて仮想的な製品の製造を行い、製造データが正常であれば、この製造データに基づいて実際の製品の製造を行うマルウェア検知システム３００を有している。
【０１１８】
マルウェア検知システム３００は、製品の実製造装置４０に不具合を生じさせるマルウェアを検知する。マルウェア検知システム３００は、製造制御装置２０と、仮想製造装置３０と、実製造装置４０と、マルウェア判定装置５０とを備える。製造制御装置２０、仮想製造装置３０及びマルウェア判定装置５０は、それぞれがネットワークを介して相互に通信することが可能に接続されている。製造制御装置２０、仮想製造装置３０、及び、実製造装置４０は、製造システムに相当する。
【０１１９】
［製造制御装置］
製造制御装置２０は、仮想製造装置３０及びマルウェア判定装置５０と通信可能であり、新たに入力された製品の製造データを仮想製造装置３０及び実製造装置４０に送信する。
【０１２０】
記憶部２４は、正常な製造データ、新たに入力された製品の製造データ、動作結果パラメータ、マルウェア候補の結果に関する情報等が格納される記憶装置である。
【０１２１】
通信部２５は、仮想製造装置３０、実製造装置４０及びマルウェア判定装置５０と通信することが可能な通信インターフェイスである。
【０１２２】
［仮想製造装置］
異常判定部３３について一例を挙げると、部品実装機において、基板に部品を実装する座標、部品の材料、部品実装機が基板に実装する部品の向き、部品実装機が実装する部品及び基板の種類、部品実装機を駆動する駆動部、部品を基板に実装するヘッドを駆動する駆動部等における回転数、ヘッドが移動する速度、部品実装機の電圧、部品実装機の電流、リフロー時の温度等といったパラメータが異常値であれば、異常があると判定し、判定結果が異常である異常情報（判定結果に関する情報）を生成する。
【０１２３】
通信部３５は、製造制御装置２０、実製造装置４０及びマルウェア判定装置５０と通信することが可能な通信インターフェイスである。
【０１２４】
［実製造装置］
実製造装置４０は、製造制御装置２０から受信した製造データに基づき、実際に製造を行う産業設備であり、例えば、工場等における製造ライン設備である。具体的には、例えば、実製造装置が部品実装ラインの場合、例えば、部品実装機の動作を実施する。部品実装の場合は、製造データに基づき、部品実装機の特定の場所から特定の部品を取得し、基板上の特定の位置に、特定の方向で、特定の部品を配置又は挿入するという動作を行う。実製造装置４０は、製造開始及び製造停止の制御情報を製造制御装置２０から受信したり、動作結果パラメータを製造制御装置２０に送信したりする。
【０１２５】
実製造装置４０は、製造制御装置２０から製造データを受信して実製造装置４０の記憶部に格納する。実製造装置４０は、製造開始及び製造停止の制御情報を製造制御装置２０から受信し、製造データに基づく製品を製造部に製造させたり、製品の製造を停止させたりする。実製造装置４０は、実際の動作結果パラメータを、製造制御装置２０に送信してもよい。
【０１２６】
［マルウェア判定装置］
マルウェア判定装置５０は、製造制御装置２０及び仮想製造装置３０の少なくとも一方をマルウェア候補に感染させた状態で、製造データに基づいて仮想製造装置３０で実行された仮想的な製品の製造から異常が検出された場合、マルウェア候補をマルウェアであると判定する。また、マルウェア判定装置５０は、動作結果パラメータ、動作状況等からマルウェアか否かを判定してもよい。
【０１２７】
マルウェア検知システム３００では、製造データがマルウェアであるか否かの判定について、例えば、マルウェア判定装置５０が製造制御装置２０及び仮想製造装置３０にマルウェア候補を感染させる前に、正常な製造データに基づいて、仮想製造装置３０及び実製造装置４０が製品の製造を行う。具体的には、マルウェア判定装置５０は、仮想製造装置３０が正常な製造データに基づいて生成した動作結果パラメータと、マルウェア候補に仮想製造装置３０を感染させた後に、仮想製造装置３０が生成した動作結果パラメータとを比較して、製造データがマルウェアであるか否かについての判定を行う。
【０１２８】
マルウェア判定装置５０は、製造制御装置２０においても、製造制御装置２０を構成する制御部２１、記憶部２４、通信部２５及び入出力部２６の動作情報から異常が検出されているか否かを判定する。また、マルウェア判定装置５０は、例えば、製造制御装置２０が仮想製造装置３０及び実製造装置４０に正常な支持を行うことができるか否かを判定する。製造制御装置２０が実製造装置４０に製造させる場合、実製造装置４０が正常な製造データに基づいて生成した動作結果パラメータと、マルウェア候補に製造制御装置２０を感染させた後に、感染した製造制御装置２０の指示で実製造装置４０が生成した動作結果パラメータとを比較して、製造データがマルウェアであるか否かについての判定を行う。
【０１２９】
［マルウェア検知システムの動作］
以下、上記マルウェア検知システム３００の動作（マルウェア検知方法）について、図１１〜図１３を用いて説明する。マルウェア検知方法は、製品の実製造装置４０に不具合を生じさせるマルウェアを検知する。
【０１３０】
図１１は、実施の形態２に係るマルウェア検知システム３００における製造制御装置２０を示すフロー図である。図１２は、実施の形態２に係るマルウェア検知システム３００における仮想製造装置３０を示すフロー図である。図１３は、実施の形態２に係るマルウェア検知システム３００におけるマルウェア判定装置２０を示すフロー図である。
【０１３１】
まず、図１１に示すように、マルウェア検知システム３００では、製造制御装置２０及び仮想製造装置３０がマルウェアに感染していない正常な状態で、製造制御装置２０が仮想製造装置３０に製造データを送信する（ステップＳ３０１）。製造制御装置２０に入力された製造データは、製造制御装置２０の記憶部２４に格納される。なお、ステップＳ３０１では、製造データは、異常があるか否かが不明な製造データを想定している。
【０１３２】
次に、図１２に示すように、正常な状態の仮想製造装置３０は、仮想製造装置３０の通信部３５を介して正常な製造制御装置２０から製造データを受信する（ステップＳ３１１）。
【０１３３】
次に、この仮想製造装置３０は、この製造データに基づいて、仮想製造部３２に仮想的に製品を製造させる。つまり、仮想側制御部３１は、仮想製造部３２に動作結果パラメータを生成させる（ステップＳ３１２）。ステップＳ３１２は、後述するステップＳ３１６で、マルウェア候補を実行する前に、製造データが正常であるか否を判定するために行う。仮想側制御部３１は、生成された動作結果パラメータを記憶部３４に格納する。
【０１３４】
次に、仮想製造部３２は、動作結果パラメータを仮想製造装置３０の異常判定部３３に送信する。そして、異常判定部３３は、この動作結果パラメータが正常な情報であるか否かを判定する（ステップＳ３１３）。異常判定部３３は、動作結果パラメータが正常であると判定した場合（ステップＳ３１３ではＹＥＳ）、動作結果パラメータと関連付けた第１の判定結果に関する情報（正常情報）を生成する。仮想製造部３２は、通信部３５を介して第１の判定結果に関する情報（動作結果パラメータ）が正常であるという正常情報を製造制御装置２０に送信する（ステップＳ３１４）。第１の判定結果に関する情報は、判定結果に関する情報に含まれる。
【０１３５】
一方、異常判定部３３は、動作結果パラメータが異常であると判定した場合（ステップＳ３１３ではＮＯ）、動作結果パラメータと関連付けた第１の判定結果に関する情報（異常情報）を生成する。仮想製造部３２は、通信部３５を介して第１の判定結果に関する情報（動作結果パラメータ）が異常であるという異常情報を製造制御装置２０に送信する（ステップＳ３２１）。そして、この仮想製造装置３０におけるフローを終了し、図１１の製造制御装置２０のフローに進む。なお、ステップＳ３１４及びステップＳ３２１において、仮想製造部３２が生成した動作結果パラメータを製造制御装置２０に送信してもよい。また、製造制御装置２０は、受信した動作結果パラメータを記憶部２４に格納してもよい。
【０１３６】
次に、図１１に示すように、製造制御装置２０は、仮想製造装置３０から第１の判定結果に関する情報を受信する（ステップＳ３０２）。
【０１３７】
次に、製造制御装置２０は、仮想製造装置３０から受信した第１の判定結果に関する情報に正常であるか否かを判定する（ステップＳ３０３）。製造制御装置２０が仮想製造装置３０から正常情報を受信した場合（ステップＳ３０３ではＹＥＳ）、ステップＳ３０４に進む。
【０１３８】
一方、製造制御装置２０が仮想製造装置３０から異常情報を受信した場合（ステップＳ３０３ではＮＯ）、製造制御装置２０の制御部２１は、製造データが異常情報であることを報知する（ステップＳ３０９）。この場合、製造データを再度生成するか、マルウェアに感染されていると判定してもよい。そして、この製造制御装置２０におけるフローを終了する。
【０１３９】
次に、製造制御装置２０には、マルウェア候補が入出力部２６から入力される（ステップＳ３０４）。なお、マルウェア候補の入力は、入出力部２６からの入力に限定されず、ネットワークを介して入力してもよい。
【０１４０】
次に、製造制御装置２０の制御部２１は、製造制御装置２０の通信部２５を介してマルウェア候補を仮想製造装置３０に送信する（ステップＳ３０５）。
【０１４１】
次に、図１２に示すように、仮想製造装置３０は、製造制御装置２０からマルウェア候補を受信する（ステップＳ３１５）。
【０１４２】
次に、仮想側制御部３１は、マルウェア候補を実行する（ステップＳ３１６）。マルウェア候補の形式は、例えば、ｅｘｅファイル等である。マルウェア候補の実行とは、例えば、初期プログラムに対してパッチを適用することである。なお、本実施の形態では、仮製造装置３０に感染させるが、製造制御装置２０又は仮想製造装置３０の少なくとも一方に感染させればよい。
【０１４３】
また、図１１に示すように、製造制御装置２０では、製造データが入出力部２６から入力される（ステップＳ３０６）。
【０１４４】
次に、製造制御装置２０は、仮想製造装置３０に製造データを送信する（ステップＳ３０７）。
【０１４５】
次に、図１２に示すように、仮想製造装置３０は、製造データを受信する（ステップＳ３１７）。仮想製造装置３０の仮想側制御部３１は、製造データに基づいて、仮想製造部３２に仮想的に製品を製造させる。つまり、仮想側制御部３１は、仮想製造部３２に動作結果パラメータを生成させる（ステップＳ３１８：仮想製造ステップの一例）。つまり、仮想製造ステップは、仮想製造装置３０が製品の製造データに基づいて、シミュレーションにより製品の製造を仮想的に行う。仮想側制御部３１は、生成された動作結果パラメータを記憶部３４に格納する。なお、動作結果パラメータの一部である製造過程に関する情報を逐次送信してもよい。
【０１４６】
次に、仮想製造部３２は、動作結果パラメータを仮想製造装置３０の異常判定部３３に送信する。そして、異常判定部３３は、この動作結果パラメータが正常な情報であるか否かを判定する（ステップＳ３１９）。異常判定部３３は、動作結果パラメータが正常であると判定した場合（ステップＳ３１９ではＹＥＳ）、動作結果パラメータと関連付けた第２の判定結果に関する情報（正常情報）を生成する。仮想製造部３２は、通信部３５を介して第２の判定結果に関する情報が正常であるという正常情報をマルウェア判定装置５０に送信する（ステップＳ３２０）。そして、この仮想製造装置３０におけるフローを終了し、図１３のマルウェア判定装置５０のフローに進む。第２の判定結果に関する情報は、判定結果に関する情報に含まれ、第１の判定結果に関する情報と異なっている。
【０１４７】
一方、異常判定部３３が動作結果パラメータに異常が生じていると判定した場合（ステップＳ３１９ではＮＯ）、動作結果パラメータと関連付けた第２の判定結果に関する情報（異常情報）を生成する。仮想製造部３２は、通信部３５を介して第２の判定結果に関する情報が異常であるという異常情報をマルウェア判定装置５０に送信する（ステップＳ３２２）。そして、この仮想製造装置３０におけるフローを終了し、図１３のマルウェア判定装置５０のフローに進む。
【０１４８】
次に、図１３に示すように、マルウェア判定装置５０は、仮想製造装置３０から第２の判定結果に関する情報（正常情報又は異常情報）を受信したか否かを判定する（ステップＳ３３１）。
【０１４９】
マルウェア判定装置５０は、仮想製造装置３０から第２の判定結果に関する情報（正常情報又は異常情報）を受信していない場合、製造データに基づいた仮想的に製品を製造する過程で、ハングアップしてしまい、動作結果パラメータを生成することができない等の不具合が生じていると判定することができる。このため、マルウェア判定装置５０は、仮想製造装置３０から第２の判定結果に関する情報（正常情報又は異常情報）を受信していない場合（ステップＳ３３１ではＮＯ）、マルウェア候補をマルウェアと判定した、マルウェア候補の結果に関する情報を製造制御装置２０に送信する（ステップＳ３３４）。そして、このマルウェア判定装置５０におけるフローを終了する。
【０１５０】
一方、マルウェア判定装置５０は、仮想製造装置３０から第２の判定結果に関する情報（正常情報又は異常情報）を受信した場合（ステップＳ３３１ではＹＥＳ）、動作結果パラメータを生成されたと判定する。
【０１５１】
次に、マルウェア判定装置５０は、仮想製造装置３０から異常情報を受信したか否かを判定する（ステップＳ３３２：マルウェア判定ステップの一例）。マルウェア判定装置５０が仮想製造装置３０から異常情報を受信した場合（ステップＳ３３２ではＮＯ）、ステップＳ３３４に進む。なお、マルウェア判定ステップは、仮想製造装置３０、及び製造データを仮想製造装置３０に送信する製造制御装置２０の少なくとも一方をマルウェア候補に感染させた状態で、仮想製造ステップで仮想的な製品の製造から異常が検出された場合、マルウェア候補をマルウェアであると判定する。
【０１５２】
一方、マルウェア判定装置５０が仮想製造装置３０から異常情報を受信した場合（ステップＳ３３２ではＹＥＳ）、マルウェア候補をマルウェアではないと判定した、マルウェア候補の結果に関する情報を製造制御装置２０に送信する（ステップＳ３３３）。そして、このマルウェア判定装置５０におけるフローを終了する。
【０１５３】
そして、製造制御装置２０は、マルウェア候補の結果に関する情報をマルウェア判定装置５０から受信する（ステップＳ３０８）。こうして、製造制御装置２０におけるフローを終了する。
【０１５４】
なお、マルウェア候補がマルウェアでない場合、製造制御装置２０の制御部２１は、製造データを実製造装置４０に送信してもよい。そして、実製造装置４０の製造部は、製造データに基づく製品の製造と、製造データに基づく動作結果パラメータの生成とを行ってもよい。こうして、マルウェア検知システム３００における一連の動作が終了する。
【０１５５】
このように、マルウェア検知システム３００では、マルウェア判定装置５０がマルウェア候補をマルウェアであるか否かを判定することで、マルウェアを検知することができる。図１１〜図１３におけるフローは、１回だけ実施されるわけではなく、１回目のフローが終了後に、新たなフローを行うことができる。
【０１５６】
次に、製造データが正常な場合のマルウェア検知システム３００の動作例を、図１４を用いて説明する。
【０１５７】
図１４は、実施の形態２に係るマルウェア検知システム３００におけるマルウェア候補がマルウェアでない場合のシーケンス図である。
【０１５８】
まず、図１４に示すように、マルウェア検知システム３００では、製造制御装置２０及び仮想製造装置３０がマルウェアに感染していない正常な状態で、製造制御装置２０が仮想製造装置３０に製造データを送信する（ステップＳ４０１）。
【０１５９】
次に、正常な状態の仮想製造装置３０は、仮想製造装置３０の通信部３５を介して正常な製造制御装置２０から製造データを受信する（ステップＳ４１１）。なお、ステップＳ４１１では、製造データが正常である場合を想定している。
【０１６０】
次に、この仮想製造装置３０は、正常な製造データに基づいて、仮想製造部３２に動作結果パラメータを生成させる（ステップＳ４１２）。
【０１６１】
次に、異常判定部３３は、正常な製造データに基づくため、動作結果パラメータを正常であると判定し、動作結果パラメータと関連付けた第１の判定結果に関する情報（正常情報）を生成する（ステップＳ４１３）。仮想側制御部３１は、生成された正常な動作結果パラメータ及び正常情報を記憶部３４に格納する。そして、仮想製造部３２は、通信部３５を介して動作結果パラメータが正常であるという正常情報を製造制御装置２０に送信する（ステップＳ４１３）。なお、ステップＳ４１３において、仮想製造部３２が生成した動作結果パラメータを製造制御装置２０に送信してもよい。また、製造制御装置２０は、受信した動作結果パラメータを記憶部２４に格納してもよい。
【０１６２】
次に、製造制御装置２０は、仮想製造装置３０から第１の判定結果に関する情報（正常情報）を受信する（ステップＳ４０２）。
【０１６３】
次に、製造制御装置２０には、マルウェア候補が入出力部２６から入力される（ステップＳ４０３）。
【０１６４】
次に、製造制御装置２０の制御部２１は、製造制御装置２０の通信部２５を介してマルウェア候補を仮想製造装置３０に送信する（ステップＳ４０４）。
【０１６５】
次に、仮想製造装置３０は、製造制御装置２０からマルウェア候補を受信する（ステップＳ４１４）。
【０１６６】
次に、仮想側制御部３１は、マルウェア候補を実行する（ステップＳ４１５）。
【０１６７】
また、製造制御装置２０では、製造データが入出力部２６から入力される（ステップＳ４０５）。
【０１６８】
次に、製造制御装置２０は、仮想製造装置３０に製造データを送信する（ステップＳ４０６）。
【０１６９】
次に、仮想製造装置３０は、製造データからマルウェア候補を受信する（ステップＳ４１６）。
【０１７０】
次に、仮想製造装置３０の仮想側制御部３１は、製造データに基づいて、仮想製造部３２に動作結果パラメータを生成させる（ステップＳ４１７：仮想製造ステップの一例）。なお、仮想製造装置３０は、製造制御装置２０に製造過程に関する情報を送信し、製造制御装置２０から制御情報を受信する。仮想側制御部３１は、生成された動作結果パラメータを記憶部３４に格納する。
【０１７１】
次に、異常判定部３３は、この動作結果パラメータが正常な情報であると判定する（ステップＳ４１８）。異常判定部３３は、動作結果パラメータと関連付けた正常情報を生成する。仮想製造部３２は、通信部３５を介して動作結果パラメータが正常であるという正常情報をマルウェア判定装置５０に送信する（ステップＳ４１９）。
【０１７２】
次に、マルウェア判定装置５０は、仮想製造装置３０から第２の判定結果に関する情報（正常情報）を受信する（ステップＳ４２１）。
【０１７３】
次に、マルウェア判定装置５０は、仮想製造装置３０から第２の判定結果に関する情報が正常情報であるため、動作結果パラメータに異常がないと判定する（ステップＳ４２２）。
【０１７４】
次に、マルウェア判定装置５０は、マルウェア候補をマルウェアではないと判定した、マルウェア候補の結果に関する情報を製造制御装置２０に送信する（ステップＳ４２３）。
【０１７５】
そして、製造制御装置２０は、マルウェア候補の結果に関する情報をマルウェア判定装置５０から受信する（ステップＳ４０７）。そして、製造制御装置２０におけるフローを終了する。こうして、マルウェア検知システム３００では、マルウェアを検知することができる。
【０１７６】
次に、製造データが異常な場合のマルウェア検知システム３００の動作例を、図１５を用いて説明する。
【０１７７】
図１５は、実施の形態に係るマルウェア検知システム３００におけるマルウェア候補がマルウェアである場合のシーケンス図である。
【０１７８】
図１５に示すように、マルウェア検知システム３００では、図１４のステップＳ４０１〜ステップＳ４０６、ステップＳ４１１〜ステップＳ４１７と同様の動作を行う。図１５では、マルウェア候補がマルウェアであるため、異常判定部３３は、この動作結果パラメータが異常な情報であると判定する（ステップＳ５１８）。異常判定部３３は、動作結果パラメータと関連付けた異常情報を生成する。仮想製造部３２は、通信部３５を介して動作結果パラメータが異常であるという異常情報をマルウェア判定装置５０に送信する（ステップＳ５１９）。
【０１７９】
次に、図１４のステップＳ４２１と同様の動作を行い、マルウェア判定装置５０は、仮想製造装置３０から第２の判定結果に関する情報が異常情報であるため、動作結果パラメータに異常があると判定する（ステップＳ５２２）。
【０１８０】
図１４のステップＳ４２３、ステップＳ４０７と同様の動作を行う。そして、フローを終了する。この場合、例えば、製造制御装置２０の制御部２１は、マルウェア候補がマルウェアであることを報知してもよい。
【０１８１】
［作用効果］
次に、本実施の形態おけるマルウェア検知システム３００及びマルウェア検知方法の作用効果について説明する。
【０１８２】
上述したように、本実施の形態に係るマルウェア検知システム３００では、製品の実製造装置４０に不具合を生じさせるマルウェアを検知する。また、マルウェア検知システム３００は、製品の製造システムと、仮想製造装置３０及び製造制御装置２０の少なくとも一方をマルウェア候補に感染させた状態で、製造データに基づいて仮想製造装置３０で実行された仮想的な製品の製造から異常が検出された場合、マルウェア候補をマルウェアであると判定するマルウェア判定装置５０とを備える。
【０１８３】
これによれば、仮想製造装置３０及び製造制御装置２０の少なくとも一方をマルウェア候補に感染させた状態で、製造データに基づいて仮想的な製品の製造を仮想製造装置３０にさせる（仮想製造ステップ）ため、マルウェア候補がマルウェアであれば、マルウェア判定装置５０は、仮想製造装置３０が仮想的に製造した製品（動作結果パラメータ）から異常を検出することができる。
【０１８４】
したがって、このマルウェア検知システム３００では、製品の製造に影響を及ぼすマルウェアを精度良く検知することができる。
【０１８５】
また、本実施の形態に係るマルウェア検知方法では、製品の実製造装置４０に不具合を生じさせるマルウェアを検知する。また、マルウェア検知方法は、仮想製造装置３０が製品の製造データに基づいて、シミュレーションにより製品の製造を仮想的に行う仮想製造ステップと、仮想製造装置３０、及び製造データを仮想製造装置３０に送信する製造制御装置２０の少なくとも一方をマルウェア候補に感染させた状態で、仮想製造ステップで仮想的な製品の製造から異常が検出された場合、マルウェア候補をマルウェアであると判定するマルウェア判定ステップとを含む。
【０１８６】
このマルウェア検知方法においても、マルウェア検知システム３００と同様の作用効果を奏することができる。
【０１８７】
また、本実施の形態に係るマルウェア検知システム３００において、仮想製造装置３０は、製造データに基づいて、製品の製造を仮想的に行う仮想製造部３２と、製造データに基づいて、仮想製造部３２の動作を制御する仮想側制御部３１とを有する。そして、異常判定部３３は、仮想製造装置３０に設けられる。
【０１８８】
これによれば、仮想製造部３２が製品の製造を仮想的に行った後に、異常判定部３３が仮想製造部３２で仮想的に行われた製品の製造における異常の有無を判定する。このため、このマルウェア検知システム３００でも同様に、異常な製造データに基づいて不良品の製造、実際の生産設備における製造の停止、設備破壊等の実製造装置４０の不具合を未然に防止することができる。
【０１８９】
また、本実施の形態に係るマルウェア検知システム３００において、仮想製造部３２は、仮想的に行った製品の製造に関する動作結果パラメータを生成する。異常判定部３３は、動作結果パラメータから仮想的に行った製品の製造における異常の有無を判定する。
【０１９０】
これによれば、仮想製造部３２から受信した動作結果パラメータに基づいて、異常判定部３３が異常の有無を判定するため、動作結果パラメータを解析すれば、仮想製造部３２が製品の製造を仮想的に行った製造データから異常な部分を特定し易くなる。
【０１９１】
また、本実施の形態に係るマルウェア検知システム３００において、仮想製造部３２は、製品を製造する仮想の部品実装機である。そして、動作結果パラメータは、部品実装機が基板に部品を実装する座標、部品実装機が基板に実装する部品の向き、部品実装機が実装する部品及び基板の種類、部品実装機の回転数、部品実装機の速度、部品実装機の電圧、部品実装機の電流及び部品実装機の温度の少なくとも一つである。
【０１９２】
これによれば、具体化された動作結果パラメータに基づいて、異常判定部３３が異常の有無を判定するため、動作結果パラメータを解析すれば、仮想製造部３２が製品の製造を仮想的に行った製造データから異常な部分を特定することができる。
【０１９３】
また、本実施の形態に係るマルウェア検知システム３００において、異常判定部３３は、仮想側制御部３１と仮想製造部３２との間の通信情報に基づいて、製品の製造における異常の有無を判定する。
【０１９４】
これによれば、異常判定部３３は、仮想製造装置３０内の仮想側制御部３１と仮想製造部３２との間の通信情報から、仮想側制御部３１が仮想製造部３２へ送信する動作の制御を読み込むため、早期に動作結果パラメータに基づいた異常の有無を判定することができる。
【０１９５】
（実施の形態２の変形例）
以下、本変形例に係るマルウェア検知システム３００ａについて、図１６を用いて説明する。
【０１９６】
図１６は、実施の形態２の変形例に係るマルウェア検知システム３００ａのブロック図である。
【０１９７】
実施の形態２では、製造制御装置２０、仮想製造装置３０、実製造装置４０及びマルウェア判定装置５０のそれぞれが相互に通信することが可能に接続されているが、本変形例では、製造制御装置２０、マルウェア判定装置５０、仮想製造装置３０及び実製造装置４０が並び順で直列に接続されている点で相違する。
【０１９８】
本変形例における他の構成は、特に明記しない場合は、実施の形態と同様であり、同一の構成については同一の符号を付して構成に関する詳細な説明を省略する。
【０１９９】
製造制御装置２０、マルウェア判定装置５０、仮想製造装置３０及び実製造装置４０は、並び順で直列に接続されている。製造制御装置２０と実製造装置４０とは直接通信を行うことができず、製造制御装置２０及び実製造装置４０は、マルウェア判定装置５０及び仮想製造装置３０を介して通信することが可能に設けられている。
【０２００】
また、本変形例に係るマルウェア検知システム３００ａにおいて、製造制御装置２０、マルウェア判定装置５０、仮想製造装置３０及び実製造装置４０は、この並び順で直列に接続されている。
【０２０１】
製造制御装置２０、マルウェア判定装置５０、仮想製造装置３０及び実製造装置４０が相互に通信可能に接続されている場合では、例えば、製造制御装置２０の制御部２１が送信先を設定しなければならない。このため、制御部２１が製造データを仮想製造装置３０に送信する際に、何らかの不具合により実製造装置４０に異常な製造データが直接送信されてしまう恐れがある。
【０２０２】
これによれば、製造制御装置２０は、マルウェア判定装置５０及び仮想製造装置３０を介して実製造装置４０に製造データが送信される。つまり、マルウェア判定装置５０及び仮想製造装置３０が製造制御装置２０と実製造装置４０との通信を物理的に分断している。このため、不具合により実製造装置４０に異常な製造データが直接送信され難い。
【０２０３】
本変形例における他の作用効果についても、実施の形態２と同様の作用効果を奏する。
【０２０４】
（その他変形例等）
以上、本開示に係る製品の製造システム、マルウェア検知システム、製品の製造方法及びマルウェア検知方法について、実施の形態１、２及び実施の形態１、２の変形例に基づいて説明したが、本開示は、上記実施の形態１、２及び実施の形態１、２の変形例に限定されるものではない。
【０２０５】
例えば、上記実施の形態１、２及び実施の形態１、２の変形例において、図１７及び図１８に示すように、異常判定部２３３を製造制御装置２０に設けてもよい。また、図１７は変形例に係る製品の製造システム２００のブロック図であり、図１８は変形例に係るマルウェア検知システム３００ｂのブロック図である。つまり、異常判定部２３３は、製造制御装置２０に設けられる。そして、異常判定部２３３は、製造制御装置２０と仮想製造装置３０との間の通信情報に基づいて、異常の有無を判定する。この場合、異常判定部２３３が製造制御装置２０と仮想製造装置３０との間の通信情報から異常の有無を判定する。また、製造システム２００又はマルウェア検知システム３００ｂがマルウェアに感染した場合、マルウェアが製造データに異常を生じさせることが考えられる。このような場合に、いずれの装置がマルウェアに感染しているか否かを検知することができる。また、両者の通信情報における異常の有無も判定することができる。これらの異常を検知することができれば、異常な製造データに基づいて不良品の製造、実際の生産設備における製造の停止、設備破壊等の不具合を未然に防止することができる。
【０２０６】
また、上記実施の形態１、２及び実施の形態１、２の変形例において、異常判定部で利用する動作結果パラメータは仮想製造装置及び実製造装置が出力したものとしたが、動作結果パラメータと同等の情報が制御信号に含まれる場合は、必ずしも、仮想製造装置及び実製造装置が動作結果パラメータを出力したものではなくてもよく、仮想側制御部の出力に含まれる動作結果パラメータを異常判定部で用いてもよい。
【０２０７】
また、上記実施の形態１、２及び実施の形態１、２の変形例において、異常判定部は、製造制御装置及び仮想製造装置と独立した別装置として設けられていてもよい。
【０２０８】
また、上記実施の形態１、２及び実施の形態１、２の変形例において、仮想製造装置と実製造装置とが一体化された装置であってもよい。この場合、仮想製造装置が製造データに基づいて仮想的に製造を行い、製造データが正常である場合、その製造データを実製造装置に直接送信してもよい。
【０２０９】
また、上記実施の形態１、２及び実施の形態１、２の変形例において、製造制御装置又は仮想製造装置と一体化された装置であってもよい。
【０２１０】
また、上記実施の形態２及び実施の形態２の変形例において、マルウェア検知システムは、実製造装置を備えるが、実製造装置を備えていなくてもよい。
【０２１１】
また、上記実施の形態１、２及び実施の形態１、２の変形例において、製造制御装置、仮想製造装置、実製造装置及びマルウェア判定装置に設けられる各構成は、具体的に、マイクロプロセッサ、及びＲＡＭ，ＲＯＭ、ハードディスクなどから構成される。ＲＡＭ，ＲＯＭ、及びハードディスクはコンピュータプログラムが記憶されており、マイクロプロセッサがプログラムに従って動作することにより、製造制御装置、仮想製造装置、実製造装置及びマルウェア判定装置がこれらの機能を果たす。製造制御装置、仮想製造装置、実製造装置及びマルウェア判定装置に設けられる各構成は、典型的に、集積回路であるＬＳＩ（集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある）として実現される。これらは個別に１チップ化されてもよいし、１以上の手段、又は各手段の一部を含むように１チップ化されてもよい。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現しても良い。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。また、半導体技術の進歩又は派生する別技術により、ＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適用等が可能性としてあり得る。さらに、各機能ブロックは、ソフトウェアで実現されてもよいし、ＬＳＩとソフトウェアの組み合わせで実現されてもよい。また、ソフトウェアは耐タンパ化されていてもよい。
【０２１２】
以上、本開示の一つ又は複数の態様について、実施の形態１、２及び実施の形態１、２の変形例に基づいて説明したが、本開示は、この実施の形態に１、２及び実施の形態１、２の変形例限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態１、２及び実施の形態１、２の変形例に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本開示の一つ又は複数の態様の範囲内に含まれてもよい。
【産業上の利用可能性】
【０２１３】
本開示は、電子機器の製造等に関する産業システムに利用可能である。
【符号の説明】
【０２１４】
１０、１００、２００  製造システム
２０  製造制御装置
３０  仮想製造装置
３１  仮想側制御部
３２  仮想製造部
３３、２３３  異常判定部
４０  実製造装置
５０  マルウェア判定装置
３００、３００ａ、３００ｂ  マルウェア検知システム
Ｓ３１２  仮想製造ステップ
Ｓ３１３  異常判定ステップ
Ｓ３２２  実製造ステップ
【図１】
2018079424.tif 000003
【図２】
2018079424.tif 000004
【図３】
2018079424.tif 000005
【図４】
2018079424.tif 000006
【図５】
2018079424.tif 000007
【図６】
2018079424.tif 000008
【図７】
2018079424.tif 000009
【図８】
2018079424.tif 000010
【図９】
2018079424.tif 000011
【図１０】
2018079424.tif 000012
【図１１】
2018079424.tif 000013
【図１２】
2018079424.tif 000014
【図１３】
2018079424.tif 000015
【図１４】
2018079424.tif 000016
【図１５】
2018079424.tif 000017
【図１６】
2018079424.tif 000018
【図１７】
2018079424.tif 000019
【図１８】
2018079424.tif 000020
【手続補正書】
【提出日】平成30年3月13日(2018.3.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
（削除）
【請求項２】
製品の製造を行う製品の製造システムであって、
前記製品の製造データを保持する製造制御装置と、
前記製造制御装置の前記製品の前記製造データに基づいて、シミュレーションにより前記製品の製造を仮想的に行う仮想製造装置と、
前記製造制御装置の前記製造データに基づいて、前記製品の製造を実際に行う実製造装置と、
前記仮想製造装置が仮想的に行った前記製品の製造における異常の有無を判定する異常判定部とを備え、
仮想的に行った前記製品の製造から異常が判定されなかった場合に、前記実製造装置は、前記製品の製造を実際に行い、
前記仮想製造装置は、
前記製造データに基づいて、前記製品の製造を仮想的に行う仮想製造部と、
前記製造データに基づいて、前記仮想製造部の動作を制御する仮想側制御部とを有し、
前記異常判定部は、前記仮想製造装置に設けられる
製品の製造システム。
【請求項３】
前記仮想製造部は、仮想的に行った前記製品の製造に関する動作結果パラメータを生成し、
前記異常判定部は、前記動作結果パラメータから仮想的に行った前記製品の製造における異常の有無を判定する
請求項２記載の製品の製造システム。
【請求項４】
前記仮想製造部は、前記製品を製造する仮想の部品実装機であり、
前記動作結果パラメータは、前記部品実装機が基板に部品を実装する座標、前記部品実装機が前記基板に実装する部品の向き、前記部品実装機が実装する部品及び前記基板の種類、前記部品実装機の回転数、前記部品実装機の速度、前記部品実装機の電圧、前記部品実装機の電流及び前記部品実装機の温度の少なくとも一つである
請求項３記載の製品の製造システム。
【請求項５】
前記異常判定部は、前記仮想側制御部と前記仮想製造部との間の通信情報に基づいて、前記製品の製造における異常の有無を判定する
請求項２記載の製品の製造システム。
【請求項６】
前記異常判定部は、前記製造制御装置に設けられ、
前記異常判定部は、前記製造制御装置と前記仮想製造装置との間の通信情報に基づいて、前記異常の有無を判定する
請求項２記載の製品の製造システム。
【請求項７】
前記製造制御装置、前記仮想製造装置及び前記実製造装置は、この並び順で直列に接続されている
請求項２〜６のいずれか１項に記載の製品の製造システム。
【請求項８】
製品の前記実製造装置に不具合を生じさせるマルウェアを検知するマルウェア検知システムであって、
請求項２〜７のいずれか１項に記載の製品の製造システムと、
前記仮想製造装置及び前記製造制御装置の少なくとも一方をマルウェア候補に感染させた状態で、前記製造データに基づいて前記仮想製造装置で実行された仮想的な前記製品の製造から異常が検出された場合、前記マルウェア候補をマルウェアであると判定するマルウェア判定装置とを備える
マルウェア検知システム。
【請求項９】
前記仮想製造装置は、
前記製造データに基づいて、前記製品の製造を仮想的に行う仮想製造部と、
前記製造データに基づいて、前記仮想製造部の動作を制御する仮想側制御部とを有し、
前記異常判定部は、前記仮想製造装置に設けられる
請求項８記載のマルウェア検知システム。
【請求項１０】
前記仮想製造部は、仮想的に行った前記製品の製造に関する動作結果パラメータを生成し、
前記異常判定部は、前記動作結果パラメータから仮想的に行った前記製品の製造における異常の有無を判定する
請求項９記載のマルウェア検知システム。
【請求項１１】
前記仮想製造部は、前記製品を製造する仮想の部品実装機であり、
前記動作結果パラメータは、前記部品実装機が基板に部品を実装する座標、前記部品実装機が前記基板に実装する部品の向き、前記部品実装機が実装する部品及び前記基板の種類、前記部品実装機の回転数、前記部品実装機の速度、前記部品実装機の電圧、前記部品実装機の電流及び前記部品実装機の温度の少なくとも一つである
請求項１０記載のマルウェア検知システム。
【請求項１２】
前記異常判定部は、前記仮想側制御部と前記仮想製造部との間の通信情報に基づいて、前記製品の製造における異常の有無を判定する
請求項９〜１１のいずれか１項に記載のマルウェア検知システム。
【請求項１３】
前記異常判定部は、前記製造制御装置に設けられ、
前記異常判定部は、前記製造制御装置と前記仮想製造装置との間の通信情報に基づいて、前記異常の有無を判定する
請求項８記載のマルウェア検知システム。
【請求項１４】
前記製造制御装置、マルウェア判定装置、前記仮想製造装置及び前記実製造装置は、この並び順で直列に接続されている
請求項８〜１３のいずれか１項に記載のマルウェア検知システム。
【請求項１５】
製品の製造を行う製品の製造方法であって、
前記製品の製造データに基づいて、シミュレーションにより前記製品の製造を仮想的に行う仮想製造ステップと、
前記仮想製造ステップで仮想的に行った前記製品の製造における異常の有無を判定する異常判定ステップと、
前記異常判定ステップで仮想的に行った前記製品の製造から異常が判定されなかった場合に、前記製造データに基づいて前記製品の製造を実際に行う実製造ステップとを含む
製品の製造方法。
【請求項１６】
（削除）
【国際調査報告】
2018079424.tif 000021
2018079424.tif 000022
2018079424.tif 000023
2018079424.tif 000024