(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-06-11
(45)【発行日】2025-06-19
(54)【発明の名称】セキュリティ機能実行デバイス
(51)【国際特許分類】
G06F 21/57 20130101AFI20250612BHJP
H04W 12/08 20210101ALI20250612BHJP
【FI】
G06F21/57
H04W12/08
(21)【出願番号】P 2024111611
(22)【出願日】2024-07-11
【審査請求日】2024-07-11
(32)【優先日】2023-07-19
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110002365
【氏名又は名称】弁理士法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】藤田 淳也
(72)【発明者】
【氏名】松本 典剛
【審査官】石坂 知樹
(56)【参考文献】
【文献】特開2009-086802(JP,A)
【文献】米国特許出願公開第2005/0190758(US,A1)
【文献】中国特許第105376156(CN,B)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/57
H04W 12/08
(57)【特許請求の範囲】
【請求項1】
ネットワークと通信するセキュリティ機能実行デバイスであって、
プロセッサを備え、前記プロセッサが、
前記ネットワークと通信している複数のノードの属性を識別し、
前記属性に基づいて、前記複数のノードのうち各ノードのクリティカリティを判定し、
前記複数のノードのうち非クリティカルであると判定されたノード間の通信
のみを仲介し、仲介された前記通信に対してセキュリティ機能を実行する
ように構成された、デバイス。
【請求項2】
前記属性に基づいて前記複数のノードのうち各ノードのクリティカリティを判定することが、
前記複数のノードのうち外部ネットワークに接続されているノードに関して、前記ノードのクリティカリティを非クリティカルと判定することと、
前記複数のノードのうちフィールド制御のアプリケーションを有するノードに関して、前記ノードのクリティカリティをクリティカルと判定することと、
前記複数のノードのうちフィールド制御以外のアプリケーションを有するノードに関して、前記ノードのクリティカリティを非クリティカルと判定することと
を含む、請求項1に記載のデバイス。
【請求項3】
前記複数のノードのうちクリティカルであると判定されたノードに関して、前記ノードを通信仲介から除外することをさらに含む、請求項2に記載のデバイス。
【請求項4】
前記属性に基づいて前記複数のノードのうち各ノードのクリティカリティを判定することが、
前記複数のノードのうちビジネスオペレーションのクリティカルプロセスと関連付けられたノードに関して、前記ノードのクリティカリティをクリティカルと判定し、
前記複数のノードのうちリソース閾値未満のコンピューティングリソースを有するものとして判定されたノードに関して、前記ノードのクリティカリティをクリティカルと判定し、
前記複数のノードのうちビジネスオペレーションのクリティカルプロセスと関連付けられないノードに関して、前記ノードのクリティカリティを非クリティカルと判定し、
前記複数のノードのうち前記リソース閾値以上のコンピューティングリソースを有するものとして判定されたノードに関して、前記ノードのクリティカリティを非クリティカルと判定することと
を含む、請求項1に記載のデバイス。
【請求項5】
前記ネットワークと通信している前記複数のノードの属性を識別することが、前記複数のノードの前記属性を前記ネットワークから自動的に取り出すことを含む、請求項1に記載のデバイス。
【請求項6】
前記複数のノードが、ソフトウェア構成要素、ハードウェア構成要素、またはソフトウェアおよびハードウェア構成要素の組み合わせを含み、
ソフトウェア構成要素が、監視制御およびデータ収集(SCADA)システム、製造実行システム(MES)、製造オペレーション管理(MOM)システム、ならびにエンタープライズリソースプランニング(ERP)システムを含み、
ハードウェア構成要素が、フィールドデバイス、コントローラ、およびサーバを含む、
請求項1に記載のデバイス。
【請求項7】
前記属性が、前記複数のノードと関連付けられたネットワーク構造、デバイスタイプ、アプリケーション、リソース、および処理状態を含む、請求項1に記載のデバイス。
【請求項8】
前記ネットワークが無線ネットワークであり、前記複数のノードが、前記無線ネットワークを管理するアクセスポイントを通して前記無線ネットワークと通信し、
前記ネットワークと通信している前記複数のノードの属性を識別することが、前記アクセスポイントをスキャンすることによって、前記複数のノードの前記属性を識別することを含む、
請求項1に記載のデバイス。
【請求項9】
プロセッサによって、ネットワークと通信している複数のノードの属性を識別することと、
前記プロセッサによって、前記属性に基づいて、前記複数のノードのうち各ノードのクリティカリティを判定することと、
前記プロセッサによって、前記複数のノードのうち非クリティカルであると判定されたノード間の通信
のみを仲介し、仲介された前記通信に対してセキュリティ機能を実行することと
を含む、セキュリティ機能実行のための方法。
【請求項10】
前記属性に基づいて前記複数のノードのうち各ノードのクリティカリティを判定することが、
前記複数のノードのうち外部ネットワークに接続されているノードに関して、前記ノードのクリティカリティを非クリティカルと判定することと、
前記複数のノードのうちフィールド制御のアプリケーションを有するノードに関して、前記ノードのクリティカリティをクリティカルと判定することと、
前記複数のノードのうちフィールド制御以外のアプリケーションを有するノードに関して、前記ノードのクリティカリティを非クリティカルと判定することと
を含む、請求項9に記載の方法。
【請求項11】
前記複数のノードのうちクリティカルであると判定されたノードに関して、前記ノードを通信仲介から除外すること
をさらに含む、請求項10に記載の方法。
【請求項12】
前記属性に基づいて前記複数のノードのうち各ノードのクリティカリティを判定することが、
前記複数のノードのうちビジネスオペレーションのクリティカルプロセスと関連付けられたノードに関して、前記ノードのクリティカリティをクリティカルと判定することと、
前記複数のノードのうちリソース閾値未満のコンピューティングリソースを有するものとして判定されたノードに関して、前記ノードのクリティカリティをクリティカルと判定することと、
前記複数のノードのうちビジネスオペレーションのクリティカルプロセスと関連付けられないノードに関して、前記ノードのクリティカリティを非クリティカルと判定することと、
前記複数のノードのうち前記リソース閾値以上のコンピューティングリソースを有するものとして判定されたノードに関して、前記ノードのクリティカリティを非クリティカルと判定することと
を含む、請求項9に記載の方法。
【請求項13】
前記ネットワークと通信している前記複数のノードの属性を識別することが、前記複数のノードの前記属性を前記ネットワークから自動的に取り出すことを含む、請求項9に記載の方法。
【請求項14】
前記複数のノードが、ソフトウェア構成要素、ハードウェア構成要素、またはソフトウェアおよびハードウェア構成要素の組み合わせを含み、
ソフトウェア構成要素が、監視制御およびデータ収集(SCADA)システム、製造実行システム(MES)、製造オペレーション管理(MOM)システム、ならびにエンタープライズリソースプランニング(ERP)システムを含み、
ハードウェア構成要素が、フィールドデバイス、コントローラ、およびサーバを含む、
請求項9に記載の方法。
【請求項15】
前記属性が、前記複数のノードと関連付けられたネットワーク構造、デバイスタイプ、アプリケーション、リソース、および処理状態を含む、請求項9に記載の方法。
【請求項16】
前記ネットワークが無線ネットワークであり、前記複数のノードが、前記無線ネットワークを管理するアクセスポイントを通して前記無線ネットワークと通信し、
前記ネットワークと通信している前記複数のノードの属性を識別することが、前記アクセスポイントをスキャンすることによって、前記複数のノードの前記属性を識別することを含む、
請求項9に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、全体として、セキュリティ機能実行のための方法およびデバイスを対象とする。
【背景技術】
【0002】
ファクトリーオートメーション(FA)およびプロセスオートメーション(PA)などのレガシーなオペレーショナルテクノロジー(OT)システムでセキュリティ対策を可能にするのは、システム更新および/または部分的交換が必要なことにより、特に厄介である。ほとんどの場合、エンジニアリング費用が高価なため、セキュリティの問題に対処するだけのために、すべてのOTシステムを更新するのは困難である。サイバーセキュリティを強化するためには、OTシステムユーザに対する一時的なセキュリティ対策を可能にすることを含む、サイバーセキュリティリスクの評価およびコスト効率が良い対抗策の計画が、焦点となる分野である。
【0003】
ネットワーク仲介(中間者(MitM))は、レガシーなネットワークに関して2つのノード間の通信を安全にするのに有用である。しかしながら、インターネットプロトコルベース(IPベース)のネットワーク(Ethernetなどの有線ネットワークまたはWiFiなどの無線ネットワーク)上でMitMを使用することにより、通信遅延およびリソース枯渇が生じる場合がある。結果として生じる制御の喪失は、レガシーなOTシステムに重大な影響を及ぼす可能性がある。したがって、MitM方式をOTシステムにおけるレガシーなIPベースのネットワークシステムに適用するのは困難である。
【0004】
関連技術では、プロキシサーバを使用する、セキュリティ機能を可能にする方法が開示されている。プロキシサーバは、ノード間の通信を仲介することによって、セキュリティ機能実行を実施する。しかしながら、通信の仲介は、ネットワーク上の任意の2つのノード間におけるすべての通信に対して実施される。これは、通信遅延を引き起こし、リソース利用可能性を低減させる。通信遅延の結果として生産中止およびセーフティフィーチャの損失が生じることがあるので、影響はレガシーなOTシステムを利用するビジネスにとって特に重大である。
【0005】
加えて、脆弱性はすべてのノードにわたって同じではない。例えば、2つのノードが1つのネットワーク(ネットワークA)に接続され、第1のノードは、エンタープライズシステムに接続されたWindows(登録商標)パーソナルコンピュータ(PC)であり、他方は、ネットワークAを通して他のネットワークに接続された組込みシステムであると仮定する。その場合、Windows PCノードは、組込みシステムノードよりも比較的脆弱性が高い。敵対者は、クリティカルノードよりも脆弱性が高いノードを介してクリティカルノードを攻撃することがある。関連技術は、有効なセキュリティに対する取組みを得るのに、通信を絞り込むための規則を何ら説明していない。
【0006】
システム構成の変更および追加の更新を伴わずに、レガシーなOTシステムにおいてセキュリティ対策を可能にする必要性がある。
【発明の概要】
【0007】
本開示の態様は、セキュリティ機能実行のための革新的な方法を含む。方法は、プロセッサによって、ネットワークと通信している複数のノードの属性を識別することと、プロセッサによって、属性に基づいて、複数のノードのうち各ノードのクリティカリティを判定することと、プロセッサによって、複数のノードのうち非クリティカルであると判定されたノード間の通信を仲介し、仲介された通信に対してセキュリティ機能を実行することと、を含んでもよい。
【0008】
本開示の態様は、セキュリティ機能実行のための命令を格納する、革新的な非一時的コンピュータ可読媒体を含む。命令は、ネットワークと通信している複数のノードの属性を識別することと、属性に基づいて、複数のノードのうち各ノードのクリティカリティを判定することと、複数のノードのうち非クリティカルであると判定されたノード間の通信を仲介し、仲介された通信に対してセキュリティ機能を実行することと、を含んでもよい。
【0009】
本開示の態様は、セキュリティ機能を実施するための、ネットワークと通信する革新的なデバイスを含む。デバイスはプロセッサを含んでもよく、プロセッサは、ネットワークと通信している複数のノードの属性を識別し、属性に基づいて、複数のノードのうち各ノードのクリティカリティを判定し、複数のノードのうち非クリティカルであると判定されたノード間の通信を仲介し、仲介された通信に対してセキュリティ機能を実行するように構成される。
【0010】
本開示の態様は、セキュリティ機能実行のための革新的なシステムを含む。システムは、ネットワークと通信している複数のノードの属性を識別する手段と、属性に基づいて、複数のノードのうち各ノードのクリティカリティを判定する手段と、複数のノードのうち非クリティカルであると判定されたノード間の通信を仲介し、仲介された通信に対してセキュリティ機能を実行する手段と、を含んでもよい。
【0011】
以下、本開示の様々な特徴を実現する一般的なアーキテクチャについて、図面を参照して記載する。図面および関連する記載は、本開示の例示的実現例を例証するために提供されるものであって、本開示の範囲を限定するものではない。図面全体を通して、参照される要素間の対応を示すため、参照番号が再使用される。
【図面の簡単な説明】
【0012】
【
図1】例示的な一実現例による、一例の通信システム20を示す図である。
【
図2】例示的な一実現例による、通信に対するセキュリティ機能の適用を示す一例の図である。
【
図3】例示的な一実現例による、デバイス100の一例のシステム300を示す図である。
【
図4】例示的な一実現例による、デバイス100のハードウェアアーキテクチャ例を示す図である。
【
図5】例示的な一実現例による、クリティカリティを判定するためのビジネスカテゴリモデル例を示す図である。
【
図6】例示的な一実現例による、特徴量決定木を使用した一例のクリティカリティ判定フロー600を示す図である。
【
図7】例示的な一実現例による、通信仲介を実施する一例のプロセスフロー700を示す図である。
【
図8】例示的な一実現例による、一例の通信システム800を示す図である。
【
図9】いくつかの例示的実現例で使用するのに適したコンピュータデバイス例を有するコンピューティング環境例を示す図である。
【発明を実施するための形態】
【0013】
以下の詳細な記載は、本出願の図面および例示的実現例の詳細を提供する。図面間で重複する要素の参照番号および記載は、明瞭にするために省略する。記載全体を通して使用される用語は、例として提供されるものであり、限定的であることを意図しない。例えば、「自動」という用語の使用は、本出願の実現例を実践する当業者における所望の実現例に応じて、完全自動の実現例、あるいは実現例の特定の態様に対するユーザまたは管理者の制御を要する半自動の実現例を含むことがある。選択は、ユーザがユーザインターフェースまたは他の入力手段を通して実施することができ、あるいは所望のアルゴリズムを通して実現することができる。本明細書に記載するような例示的実現例は、単独でまたは組み合わせて利用することができ、例示的実現例の機能性は、所望の実現例による任意の手段を通して実現することができる。
【0014】
本発明の例示的実現例は、フラグ付きノード間の通信を傍受するためのセキュリティ機能実行方法およびシステムに関する。フラグは、ネットワークに接続された各ノードのクリティカリティに基づいて定義される。クリティカリティは、ノードのシステムアーキテクチャの役割および処理状態に基づいて定義される。セキュリティ機能は、クリティカリティが低いノードに対する通信仲介を制限しながら実行される。ネットワークデータ収集は、任意の自動または手動方法を通して標的システムのネットワーク上で、またはネットワークに加入するノード上で実施することができる。同時に、各ノードの役割および状態に基づいて、クリティカリティに関する属性も判定することができる。例示的実現例はまた、詳細なパケット異常分析、パケットフィルタリング、認証機能などのセキュリティ機能を可能にする。
【0015】
図1は、例示的な一実現例による、一例の通信システム20を示している。
図1に示されるように、通信システム20は、デバイス100、ネットワークスイッチ(SW)110、ネットワークゲートウェイ(GW)120、ヒューマンマシンインターフェース(HMI)130、複数のプログラマブルロジックコントローラ(PLC)(例えば、PLC 140およびPLC 150)、エンタープライズネットワーク160などであるがそれらに限定されない、構成要素を含んでもよい。
【0016】
デバイス100は、任意のIPベースのネットワークに加入する能力を有する。イーサネットベースのネットワークに関して、デバイス100は、ネットワークスイッチ110のフリーポートを介してネットワークに加入する能力を有する。デバイス100は、ネットワークに対する自身のインターネットプロトコル(IP)アドレスを、手動または自動で取得することができる(DHCP、ネットワークキャプチャ、自己IP割当てなど)。自身のIPアドレスを取得する際、デバイス100はネットワークに関する情報を収集する。デバイス100は、ネットワークおよびポートスキャニング方式を使用するか、またはネットワークスイッチ110から取得することができるパケットキャプチャ(PCAP)ファイルをロードして、ネットワークをスキャンしようとする。デバイス100はまた、グラフィカルユーザインターフェース(GUI)またはコマンドラインインターフェース(CLI)を介してユーザが手動で入力する、情報をロードする能力を有する。
【0017】
デバイス100は、デバイス100のコンピューティングフィーチャで処理されるアルゴリズムによって、ネットワーク内でデバイス100が識別する各ノードのクリティカリティを判定する。クリティカリティは、属性のセット、または各ノードに対するレベルなどの数値として表される。数値はそれらの属性から計算することができる。
図1に示されるような表T1は、通信システム20の様々なノードと関連付けられたクリティカリティを示している。例えば、「非クリティカル」のクリティカリティはネットワークGW 120と関連付けられる。
【0018】
同じネットワークに加入した任意の2つのノード間の通信仲介は、デバイス100によって実施される。具体的には、デバイス100は、各ノードと関連付けられたクリティカリティを使用して、仲介すべき通信を選択する。通信仲介は、非クリティカルと判定されたノードの間で実施され、クリティカルであるノード間の通信は通信仲介から除外される。
図1の表T1を例として、ネットワークGW 120およびHMI 130との通信は、「非クリティカル」のクリティカリティを有するため、仲介するように選択される。
図2は、例示的な一実現例による、通信に対するセキュリティ機能の適用を示す一例の図を示している。非クリティカル資産と判定されたノード(例えば、ノード202およびノード204)の場合、デバイス100のセキュリティ機能208をかかるノード間の通信に適用して、通信セキュリティを確保することができる。
【0019】
図1を再び参照すると、デバイス100は、PLC 140とPLC 150との間の通信は仲介しない。ほとんどの場合、PLC間の通信は、システム制御プロセスにとってクリティカルであり必須である制御データを含む。PLC間の通信が仲介された場合、これは、データ通信の損失につながり、制御動作における問題が生じる可能性がある。
図2に示されるように、ノード206(例えば、PLC)との通信は、デバイス100による通信仲介から除外され、したがってセキュリティ機能208は適用されない。したがって、デバイス100は、仲介されるべき通信を制限しながら、レガシーなシステムに対する有効なセキュリティ対策を可能にする。
【0020】
現在のエンタープライズOSを利用するデバイスは、利用しないものよりも脆弱性が高い傾向がある。例えば、ネットワークGW 120がエンタープライズネットワーク160に接続された場合、ネットワークGW 120は、同じネットワーク上の他のノードよりも脆弱性が高くなる。敵対者は、ネットワークGW 120を介してPLC(例えば、PLC 140、PLC 150など)を攻撃することがある。したがって、ネットワークGW 120とPLCとの間の通信を、PLC間の通信よりも優先的に保護する必要がある。
【0021】
図3は、例示的な一実現例による、デバイス100の一例のシステム300を示している。
図3に示されるように、システム300は、セキュリティ機能実行管理ユニット302、インターフェースユニット304、ユーザインターフェース(UI)ユニット306、ノード管理ユニット308、MitMユニット310、ならびに資産スキャンおよび管理ユニット312などの構成要素を含んでもよい。インターフェースユニット304は、デバイス100を、ネットワークスイッチ110によって制御されるネットワークに加入させる。UIユニット306は、グラフィック画像表示および/またはコマンドライン入力を通して、ユーザとの通信をサポートする。
【0022】
ノード管理ユニット308は、ノード特性管理を通してデバイス100によって検出されたノードを管理し、それにはノードアドレスおよび属性の識別および個体群を含んでもよい。MitMユニット310は、ネットワークに加入したノード間の通信仲介を実施する。資産スキャンおよび管理ユニット312は、ネットワークに加入したノードのノードスキャンおよび分析を実施する。加えて、資産スキャンおよび管理ユニット312は、デバイス100の二次メモリ上のデータベースに接続し、データベースを参照して、各ノードと関連付けられた属性を取り出して追加の処理を行うことができる。
【0023】
セキュリティ機能実行および管理ユニット302は、デバイス100が仲介する通信に対する詳細なパケット異常分析、パケットフィルタリング、および認証など、セキュリティ機能実行を実施する。各セキュリティ機能は、セキュリティ機能実行および管理ユニット302の異なるセキュリティモジュールによって実施されてもよい(例えば、詳細なパケット異常分析はセキュリティモジュール314によって実施されてもよく、パケットフィルタリングはセキュリティモジュール316によって実施されてもよく、認証はセキュリティモジュール318によって実施されてもよい、など)。
【0024】
いくつかの例示的実現例では、様々なユニットを、OSネイティブ機能を含むソフトウェアライブラリによって実現することができ、ソフトウェアデータはデバイス100の二次メモリに格納される。いくつかの例示的実現例では、各ユニットの一部またはすべての機能がハードウェアロジックとして実現されることがある。
【0025】
図4は、例示的な一実現例による、デバイス100のハードウェアアーキテクチャ例を示している。ハードウェアアーキテクチャは、中央処理装置(CPU)402、ランダムアクセスメモリ(RAM)404、ユーザインターフェース(UI)406、ネットワークインターフェース(IF)408、および二次メモリ410などの構成要素を含んでもよい。いくつかの例示的実現例では、二次メモリ410は不揮発性記憶デバイスである。二次メモリ410は、デバイス100の機能を実施するための命令などのプログラムデータ/プログラム414、ならびにネットワークスキャン、UIアプリケーション、データベース管理、および他のサポートアプリケーションなどの任意のツールを格納する。二次メモリ410はまた、各ノードと関連付けられたクリティカリティを参照するためのデータベース416を含んでもよい。様々な構成要素はバス412を通して互いに通信する。
【0026】
ノードのクリティカリティとは、ノードによって処理されるビジネス機能にセキュリティ機能実行デバイスがどの程度まで影響しないものであるべきかを意味する。クリティカリティは、「クリティカル」または「非クリティカル」などの表現で表すことができる。各ノードのクリティカリティは、ノードのシステムアーキテクチャの役割および処理状態に基づいて定義される。
【0027】
以下の条件が満たされる場合、ノードはクリティカルである。(a)ノードがビジネスオペレーションのクリティカルプロセスを扱う、および(b)ノードが十分なコンピューティングリソースを有さず、リソースの意図しない消費がそのビジネス機能に影響することがある。いくつかの例示的実現例では、コンピューティングリソースの充足度は、コンピューティングリソースがリソース閾値以上であるか否かを判定することによって判定される。コンピューティングリソースがリソース閾値未満であり、ノードがビジネスオペレーションのクリティカルなプロセスを扱うのに使用される場合、ノードはクリティカルと判定される。以下の条件が満たされる場合、ノードは非クリティカルである。(a)ノードがビジネスオペレーションのクリティカルプロセスを扱わない、および(b)ノードが十分なコンピューティングリソースを有し、リソースの意図しない消費がある程度まで許容可能である。例えば、コンピューティングリソースがリソース閾値以上であり、ノードがビジネスオペレーションのクリティカルプロセスを扱わない場合、ノードは非クリティカルと判定される。
【0028】
いくつかの例示的実現例では、クリティカリティは、システムアーキテクチャおよび/または処理状態から判定することができる。システムアーキテクチャは、ネットワーク構造(外部ネットワークに接続されるか否か)、デバイスのタイプ(例えば、エンタープライズOS、埋込みデバイスなど)、およびアプリケーションタイプ(例えば、サーバ、データロギング、フィールド制御、制御の視覚化など)を含んでもよい。処理状態は、各ノードに対して定義されるリソース(例えば、CPU、メモリなど)および処理状態(例えば、「停止」、「実行中」など)を含んでもよい。
【0029】
いくつかの例示的実現例では、クリティカリティは、判定アルゴリズムを使用することによって判定することができる。かかるアルゴリズムは、規則ベースのアルゴリズム(例えば、決定木、決定マトリックスなど)を含んでもよい。加えて、クリティカリティはまた、所定のビジネスカテゴリモデルまたは資産状態モデルに基づいて判定することができる。
【0030】
図5は、例示的な一実現例による、クリティカリティを判定するためのビジネスカテゴリモデル例を示している。Purdue(登録商標)エンタープライズリファレンスアーキテクチャ(PERA、ISA-95)が
図5に示されている。PERAは、産業自動化および制御システムに一般的に使用されるアーキテクチャリファレンスモデルである。
【0031】
ソフトウェア構成要素およびハードウェア構成要素を含む、6つのレベルのビジネス機能がPERAを使用して定義される。Lv.0は、フィールドデバイスレイヤに対応し、センサ、アクチュエータ、信号などを含んでもよい。Lv.1は、コントローラレイヤに対応し、基本制御を含んでもよい。Lv.2は、監視制御およびデータ収集(SCADA)レイヤに対応し、監視制御を含んでもよい。Lv.3は、製造オペレーション管理(MOM)/製造実行システム(MES)レイヤに対応し、製造オペレーションなどを含んでもよい。Lv.4は、エンタープライズリソースプランニング(ERP)システムおよびビジネス戦略レイヤに対応し、ビジネス管理オペレーションを含んでもよい。最後に、Lv.5は、外部サービスをリンクする、インターネットおよびクラウドレイヤに対応する。
図5に示されるように、クリティカリティはLv.5が最も低く、Lv.0が最も高い。
【0032】
資産状態モデルは、資産状態とクリティカリティとの間の関係モデルである。ハードウェア、オペレーティングシステムなどのプラットフォームソフトウェア、ネットワーク接続性またはコンピューティング、およびデータ処理性能などの資産状態を、資産のクリティカリティを判定するのに使用することができる。ノードが、コンピューティングリソースが限定された埋込みデバイス、または通信応答性能が非常に低いデバイスである場合、ノードのクリティカリティは「高」である。
【0033】
いくつかの例示的実現例では、ノードがエンタープライズOS(例えば、Windows(登録商標)、Linux(登録商標)など)を有するデバイス、通信応答性能が高いデバイス、またはインターネットなどの外部ネットワークに接続されたデバイスの場合、ノードのクリティカリティは「低」に設定される。かかるノードは、高いデータ処理性能および高いセキュリティリスクを有することが知られている。
【0034】
いくつかの例示的実現例では、ノードのクリティカリティは、ノードと関連付けられた特徴量によって判定することができる。特徴量は、ノードおよびノードが加入するネットワーク、システム設計書、またはユーザによる情報入力から得られる、情報またはデータから得ることができる。
【0035】
図6は、例示的な一実現例による、特徴量決定木を使用した一例のクリティカリティ判定フロー600を示している。
図6に示されるように、ノードが、「任意の外部ネットワークに接続」という特徴量を有する場合、ノードは非クリティカルと判定される。ノードが、「いずれの外部ネットワークにも接続されない」という特徴量を有する場合、アプリケーションタイプに対する追加の特徴量判定が行われる。具体的には、ノードが「フィールド制御」という特徴量を有する場合、ノードはクリティカルと判定される。他方で、アプリケーションと関連付けられる特徴量がフィールド制御以外のものである場合、ノードは非クリティカルと判定される。
【0036】
図7は、例示的な一実現例による、通信仲介を実施する一例のプロセスフロー700を示している。プロセスフロー700は、デバイス100のネットワーク加入時に、またはユーザによって決定される任意の時に開始されてもよい。プロセスはステップS702で始まり、デバイス100は自身のネットワークアドレスを決定する。ステップS704で、デバイス100は、ネットワークを分析してネットワークに対するデータ/情報を取得する。ステップS706で、デバイス100は各ノードの属性を決定する。いくつかの例示的実現例では、各ノードの属性は、ユーザによってUIユニット306を介して手動で入力することができる。
【0037】
次に、デバイス100は、ステップS708で、受信した属性に基づいて各ノードのクリティカリティを判定する。各ノードのクリティカリティは、デバイスタイプ(例えば、ホストデバイス、埋込みデバイスなど)、オペレーティングシステム(OS)(例えば、Microsoft Windows(登録商標)、Linux(登録商標)、非エンタープライズOSなど)、および他のアプリケーションソフトウェアまたはミドルウェアなどのソフトウェア、ノードが接続するネットワーク、ならびにシステムにおける役割(例えば、制御機器、データ収集、エンジニアリング、監視データ管理、ウェブアプリケーション、ネットワーキングなど)などの属性によって判定される。いくつかの例示的実現例では、デバイス100はまた、属性を使用して人間または自動方法によって生成されるリスク評価結果から、クリティカリティを判定することができる。
【0038】
プロセスは次にステップS710に進み、デバイス100は、IPまたは媒体アクセス制御(MAC)アドレスなどのノード情報を含む、データを生成する。ノードデータは、JSON、YAML、SQL、およびデータベース管理システムによってサポートされる他の任意のデータフォーマットなど、再使用可能なフォーマットで生成される。デバイス100で稼働する任意のプログラム/ソフトウェア、またはデバイス100の外部で稼働するがノードデータにアクセスする権限が与えられる他のアプリケーションは、必要に応じて任意の時にそれらのデータを取り出すことができる。
【0039】
ステップS712で、デバイス100は仲介すべき通信を決定する。最後に、ステップS714で、デバイス100は、可能なセキュリティ対策を決定し、選択された通信間でそれらを実行する。
【0040】
デバイス100はまた、IPベースの無線ネットワークに加入する能力を有する。
図8は、例示的な一実現例による、一例の通信システム800を示している。デバイス100は、アクセスポイント(AP)802によって制御される、IPベースの無線ネットワーク804に加入する能力を有する。デバイスはまた、任意の無線ベースの中間者方法を使用して、デバイス100によって成りすますことができる、AP210に成りすます能力を有する。AP210によって管理される無線ネットワーク内の任意の2つのノード間の通信は、デバイス100を使用して仲介することができる。
【0041】
上述の例示的実現例には、様々な利益および利点があり得る。例えば、詳細なパケット異常分析、パケットフィルタリング、認証などのセキュリティ対策をレガシーなシステムにおいて可能にし、システムの通信遅延およびリソース枯渇を最小限に抑えることができる。加えて、脆弱ノードを介する攻撃からクリティカル資産を保護する、有効なセキュリティ対策が可能となる。
【0042】
図9は、いくつかの例示的実現例で使用するのに適したコンピュータデバイス例を有するコンピューティング環境例を示している。コンピューティング環境900のコンピュータデバイス905は、1つもしくは複数の処理装置、コア、またはプロセッサ910、メモリ915(例えば、RAM、ROM、および/もしくはその他)、内部ストレージ920(例えば、磁気、光学、固体ストレージ、および/もしくは有機)、ならびに/あるいはIOインターフェース925を含むことができ、それらはいずれも、情報を通信する通信メカニズムまたはバス930で結合するか、あるいはコンピュータデバイス905に埋め込むことができる。IOインターフェース925はまた、所望の実現例に応じて、画像をカメラから受信するか、画像をプロジェクタまたはディスプレイに提供するように構成される。
【0043】
コンピュータデバイス905は、入力/ユーザインターフェース935および出力デバイス/インターフェース940に通信可能に結合することができる。入力/ユーザインターフェース935および出力デバイス/インターフェース940のどちらか一方または両方は、有線もしくは無線インターフェースであることができ、取外し可能であることができる。入力/ユーザインターフェース935は、入力を提供するのに使用することができる、物理的または仮想の、任意のデバイス、構成要素、センサ、またはインターフェース(例えば、ボタン、タッチスクリーンインターフェース、キーボード、ポインティング/カーソル制御、マイクロフォン、カメラ、点字、モーションセンサ、加速度計、光学リーダ、および/もしくはその他)を含んでもよい。出力デバイス/インターフェース940は、ディスプレイ、テレビ、モニタ、プリンタ、スピーカー、点字などを含んでもよい。いくつかの例示的実現例では、入力/ユーザインターフェース935および出力デバイス/インターフェース940は、コンピュータデバイス905を埋め込むか、またはそれに物理的に結合することができる。他の例示的実現例では、他のコンピュータデバイスが、コンピュータデバイス905の入力/ユーザインターフェース935および出力デバイス/インターフェース940として機能するか、またはその機能を提供してもよい。
【0044】
コンピュータデバイス905の例としては、高度モバイルデバイス(例えば、スマートフォン、自動車および他の機械のデバイス、人および動物が携帯するデバイスなど)、モバイルデバイス(例えば、タブレット、ノートブック、ラップトップ、パーソナルコンピュータ、ポータブルテレビ、ラジオなど)、ならびに移動用に設計されていないデバイス(例えば、デスクトップコンピュータ、他のコンピュータ、情報キオスク、1つまたは複数のプロセッサが埋め込まれたテレビおよび/またはそれらが結合されたテレビ、ラジオなど)を含んでもよいが、それらに限定されない。
【0045】
コンピュータデバイス905は、同じまたは異なる構成の1つもしくは複数のコンピュータデバイスを含む、任意の数のネットワーク化された構成要素、デバイス、およびシステムと通信するため、(例えば、IOインターフェース925を介して)外部ストレージ945およびネットワーク950に通信可能に結合することができる。コンピュータデバイス905、または任意の接続されたコンピュータデバイスは、サーバ、クライアント、シンサーバ、汎用機械、専用機械、または別のラベルとして機能するか、そのサービスを提供するか、あるいはその名称で呼ぶことができる。
【0046】
IOインターフェース925は、コンピューティング環境900の少なくともすべての接続された構成要素、デバイス、およびネットワークとの間で情報を通信するため、任意の通信もしくはIOプロトコルまたは規格(例えば、Ethernet、802.11x、Universal System Bus(USB)、WiMAX、モデム、セルラーネットワークプロトコルなど)を使用する、有線および/または無線インターフェースを含むことができるが、それらに限定されない。ネットワーク950は、任意のネットワークまたはネットワークの組み合わせ(例えば、インターネット、ローカルエリアネットワーク、広域ネットワーク、電話ネットワーク、セルラーネットワーク、衛星ネットワークなど)であることができる。
【0047】
コンピュータデバイス905は、一時的媒体および非一時的媒体を含む、コンピュータ使用可能またはコンピュータ可読媒体を使用することができ、ならびに/あるいはそれらを使用して通信することができる。一時的媒体は、伝送媒体(例えば、金属ケーブル、光ファイバー)、信号、搬送波などを含む。非一時的媒体は、磁気媒体(例えば、ディスクおよびテープ)、光学媒体(例えば、CD ROM、デジタルビデオディスク、ブルーレイディスク)、固体媒体(例えば、RAM、ROM、フラッシュメモリ、固体ストレージ)、ならびに他の不揮発性ストレージまたはメモリを含む。
【0048】
コンピュータデバイス905は、技術、方法、アプリケーション、プロセス、またはコンピュータ実行可能命令を、いくつかのコンピューティング環境例において実現するのに使用することができる。コンピュータ実行可能命令は、一時的媒体から取り出すことができ、また非一時的媒体に格納し、そこから取り出すことができる。実行可能命令は、任意のプログラミング、スクリプト、および機械言語(例えば、C、C++、C#、Java、Visual Basic、Python、Perl、JavaScriptなど)の1つまたは複数によるものであることができる。
【0049】
プロセッサ910は、ネイティブまたは仮想環境において、任意のオペレーティングシステム(OS)(図示なし)下で実行することができる。ロジックユニット960、アプリケーションプログラミングインターフェース(API)ユニット965、入力ユニット970、出力ユニット975、ならびに異なるユニットが互いと、OSと、および他のアプリケーション(図示なし)と通信するための、ユニット間通信メカニズム995を含む、1つまたは複数のアプリケーションを配備することができる。記載したユニットおよび要素は、設計、機能、構成、または実装が様々であることができ、提供する説明に限定されない。プロセッサ910は、中央処理装置(CPU)などのハードウェアプロセッサの形態、またはハードウェアおよびソフトウェアユニットの組み合わせであることができる。
【0050】
いくつかの例示的実現例では、情報または実行命令がAPIユニット965によって受信されると、1つまたは複数の他のユニット(例えば、ロジックユニット960、入力ユニット970、出力ユニット975)に通信されてもよい。いくつかの例では、ロジックユニット960は、ユニット間の情報フローを制御し、上述したいくつかの例示的実現例では、APIユニット965、入力ユニット970、出力ユニット975によって提供されるサービスを指示するように構成されてもよい。例えば、1つもしくは複数のプロセスまたは実装のフローは、ロジックユニット960のみによって、またはAPIユニット965との組み合わせで制御されてもよい。入力ユニット970は、例示的実現例に記載される計算のための入力を得るように構成されてもよく、出力ユニット975は、例示的実現例に記載される計算に基づいて出力を提供するように構成されてもよい。
【0051】
プロセッサ910は、
図2および
図6~
図7に示されるようなネットワークとの通信において、複数のノードの属性を識別するように構成することができる。プロセッサ910はまた、
図2および
図6~
図7に示されるように、属性に基づいて、複数のノードのうち各ノードのクリティカリティを判定するように構成されてもよい。プロセッサ910はまた、
図2および
図6~
図7に示されるように、複数のノードのうち非クリティカルであると判定されたノード間の通信を仲介し、仲介された通信に対してセキュリティ機能を実行するように構成されてもよい。
【0052】
詳細な説明のいくつかの部分は、コンピュータ内の動作のアルゴリズムおよび記号的表現に関して提示される。これらのアルゴリズム的説明および記号的表現は、データ処理分野の当業者が技術革新の本質を他の当業者に伝達するのに使用される手段である。アルゴリズムは、所望の最終状態または結果につながる一連の規定されたステップである。例示的実現例では、実施されたステップは、有形の結果を達成するために有形の量を物理的に操作することを要する。
【0053】
別段の具体的な提示がない限り、考察から明らかなように、説明全体を通して、「処理」、「コンピューティング」、「計算」、「決定」、「表示」などの用語を利用した考察は、コンピュータシステムのレジスタおよびメモリ内の物理的(電子的)量として提示されるデータを操作し、コンピュータシステムのメモリもしくはレジスタまたは他の情報記憶デバイス、送信デバイス、もしくは表示デバイス内の物理的量として同様に提示される他のデータに変換する、コンピュータシステムまたは他の情報処理デバイスの動作およびプロセスを含むことができるものと認識される。
【0054】
例示的実現例はまた、本明細書の動作を実施するための装置に関連してもよい。この装置は、必要な目的のために特別に構築されてもよく、あるいは1つもしくは複数のコンピュータプログラムによって選択的に活性化または再構成される、1つもしくは複数の汎用コンピュータを含んでもよい。かかるコンピュータプログラムは、コンピュータ可読記憶媒体またはコンピュータ可読信号媒体など、コンピュータ可読媒体に格納されてもよい。コンピュータ可読記憶媒体は、光学ディスク、磁気ディスク、読出し専用メモリ、ランダムアクセスメモリ、固体デバイス、およびドライブ、または電子情報を格納するのに適した他の任意のタイプの有形もしくは非一時的媒体など、に限定されない有形媒体を含んでもよい。コンピュータ可読信号媒体は、搬送波などの媒体を含んでもよい。本明細書で提示されるアルゴリズムおよびディスプレイは、任意の特定のコンピュータまたは他の装置に本質的に関連しない。コンピュータプログラムは、所望の実現例の動作を実施する命令を含む、純粋なソフトウェア実現例を含むことができる。
【0055】
様々な汎用システムが、本明細書の例によるプログラムおよびモジュールとともに使用されてもよく、または所望の方法ステップを実施する、より専門的な装置を構築するのに便利であると判明することがある。加えて、例示的実現例は、任意の特定のプログラミング言語を参照して記載されない。本明細書に記載されるような例示的実現例の教示を実現するのに、様々なプログラミング言語が使用されてもよいことが認識されるであろう。プログラミング言語の命令は、1つもしくは複数の処理デバイス、例えば中央処理装置(CPU)、プロセッサ、またはコントローラによって実行されてもよい。
【0056】
当該分野では知られているように、上述の動作は、ハードウェア、ソフトウェア、またはソフトウェアとハードウェアの何らかの組み合わせによって実施することができる。例示的実現例の様々な態様が、回路およびロジックデバイス(ハードウェア)を使用して実現されてもよく、他の態様は、プロセッサによって実行された場合、本出願の実現例を実施する方法をプロセッサに実施させる、機械可読媒体(ソフトウェア)に格納された命令を使用して実現されてもよい。さらに、本出願のいくつかの例示的実現例は、ハードウェアのみで実施されてもよく、他の例示的実現例はソフトウェアのみで実施されてもよい。さらに、記載した様々な機能は、単一のユニットで実施することができ、または様々な手法で多数の構成要素に拡散させることができる。ソフトウェアによって実施される場合、方法は、機械可読媒体に格納された命令に基づいて、汎用コンピュータなどのプロセッサによって実行されてもよい。所望の場合、命令は、圧縮および/または暗号化された形式で媒体に格納することができる。
【0057】
さらに、本出願の他の実現例が、本明細書を考慮し本出願の教示を実践することによって、当業者には明白となるであろう。記載した例示的実現例の様々な態様および/または構成要素は、単独でまたは任意の組み合わせで使用されてもよい。本明細書および例示的実現例は単なる例として見なされ、本出願の真の範囲および趣旨は以下の特許請求の範囲によって示されるものとする。