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

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

▶ ミツビシ・エレクトリック・アールアンドディー・センター・ヨーロッパ・ビーヴィの特許一覧

特許7038849メッセージを処理するネットワークプローブ及び方法
<>
  • 特許-メッセージを処理するネットワークプローブ及び方法 図1
  • 特許-メッセージを処理するネットワークプローブ及び方法 図2
  • 特許-メッセージを処理するネットワークプローブ及び方法 図3
  • 特許-メッセージを処理するネットワークプローブ及び方法 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-10
(45)【発行日】2022-03-18
(54)【発明の名称】メッセージを処理するネットワークプローブ及び方法
(51)【国際特許分類】
   H04L 43/12 20220101AFI20220311BHJP
   G06F 21/44 20130101ALI20220311BHJP
   G06F 21/55 20130101ALI20220311BHJP
   H04L 12/22 20060101ALI20220311BHJP
   H04L 12/66 20060101ALI20220311BHJP
   H04L 67/2871 20220101ALI20220311BHJP
【FI】
H04L43/12
G06F21/44
G06F21/55 340
H04L12/22
H04L12/66
H04L67/2871
【請求項の数】 16
(21)【出願番号】P 2020552501
(86)(22)【出願日】2019-01-31
(65)【公表番号】
(43)【公表日】2021-02-22
(86)【国際出願番号】 JP2019004319
(87)【国際公開番号】W WO2019181258
(87)【国際公開日】2019-09-26
【審査請求日】2020-06-17
(31)【優先権主張番号】18305324.8
(32)【優先日】2018-03-22
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】503163527
【氏名又は名称】ミツビシ・エレクトリック・アールアンドディー・センター・ヨーロッパ・ビーヴィ
【氏名又は名称原語表記】MITSUBISHI ELECTRIC R&D CENTRE EUROPE B.V.
【住所又は居所原語表記】Capronilaan 46, 1119 NS Schiphol Rijk, The Netherlands
(74)【代理人】
【識別番号】100110423
【弁理士】
【氏名又は名称】曾我 道治
(74)【代理人】
【識別番号】100111648
【弁理士】
【氏名又は名称】梶並 順
(74)【代理人】
【識別番号】100122437
【弁理士】
【氏名又は名称】大宅 一宏
(74)【代理人】
【識別番号】100147566
【弁理士】
【氏名又は名称】上田 俊一
(74)【代理人】
【識別番号】100161171
【弁理士】
【氏名又は名称】吉田 潤一郎
(72)【発明者】
【氏名】ロレ、ロマン
【審査官】平井 嗣人
(56)【参考文献】
【文献】米国特許出願公開第2013/0031037(US,A1)
【文献】特表2017-502625(JP,A)
【文献】特開2011-100443(JP,A)
【文献】特開2004-140524(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/44
G06F 21/55
H04L 12/22
H04L 12/46
H04L 12/66
H04L 43/12
H04L 67/2871
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのデバイスを備えるファクトリーオートメーション(FA)ネットワークと、外部ネットワークとを備えるFAアーキテクチャにおいてメッセージを処理する方法であって、該方法は、ネットワークプローブによって実施され、
前記外部ネットワークから発行されるとともに、前記FAネットワークの少なくとも1つのデバイスのうちの1デバイスに宛てられたメッセージをインターセプトすることと、
前記メッセージが宛てられた前記デバイスに少なくとも基づいてカテゴリの事前定義されたセット中で前記メッセージを分類することと、
前記メッセージが分類された前記カテゴリに少なくとも基づいてアラートを発行することを判断することと、
を含み、
m個のカテゴリが事前定義され、0~m-1を付番され、0は、最も安全のカテゴリであり、少なくとも1つの限界値n が事前定義され、iには、0~m-1が含まれ、前記アラートは、i以上であるカテゴリに分類されたメッセージの数の合計がn 以上である場合、発行される、方法。
【請求項2】
前記ネットワークプローブは、前記事前定義されたセットの少なくともカテゴリを、前記FAネットワークの前記デバイスの識別子にマッピングする分類表を記憶する、請求項1に記載の方法。
【請求項3】
前記メッセージは、前記メッセージのタイプに更に基づいて分類される、請求項1又は2に記載の方法。
【請求項4】
前記メッセージは、前記メッセージのタイプに更に基づいて分類され、
前記分類表は、前記事前定義されたセットのカテゴリを、前記FAネットワークの前記デバイスの識別子、かつメッセージタイプにマッピングする、
請求項2に記載の方法。
【請求項5】
前記メッセージのタイプは、
読み出しアクセスと、
書き込みアクセスと、
遠隔制御と、
マネジメントと、
デバイスロックと、
のうちの1つである、請求項3又は4に記載の方法。
【請求項6】
前記メッセージをパースして、前記メッセージがシグネチャを含むか否かを判断することと、前記メッセージがシグネチャを含む場合、該シグネチャを検証することとを更に含み、
前記メッセージは、前記メッセージがシグネチャを含むか否か、及び、前記シグネチャの前記検証に基づいて更に分類される、請求項1~5のいずれか1項に記載の方法。
【請求項7】
前記メッセージは、TCPを介してトランスポートされ、前記シグネチャは、前記メッセージに対応するTCPコネクションの初期TCPシーケンス番号に依存する、請求項6に記載の方法。
【請求項8】
少なくとも1つのデバイスを備えるファクトリーオートメーション(FA)ネットワークと、外部ネットワークとを備えるFAアーキテクチャにおいてメッセージを処理する方法であって、該方法は、ネットワークプローブによって実施され、
前記外部ネットワークから発行されるとともに、前記FAネットワークの少なくとも1つのデバイスのうちの1デバイスに宛てられたメッセージをインターセプトすることと、
前記メッセージが宛てられた前記デバイスに少なくとも基づいてカテゴリの事前定義されたセット中で前記メッセージを分類することと、
前記メッセージが分類された前記カテゴリに少なくとも基づいてアラートを発行することを判断することと、
を含み、
前記メッセージをパースして、前記メッセージがシグネチャを含むか否かを判断することと、前記メッセージがシグネチャを含む場合、該シグネチャを検証することとを更に含み、
前記メッセージは、前記メッセージがシグネチャを含むか否か、及び、前記シグネチャの前記検証に基づいて更に分類され、
前記メッセージの前記シグネチャが肯定的に検証された場合、前記メッセージは、最も安全のカテゴリに分類され、
それ以外の場合、前記メッセージは、前記メッセージが宛てられたデバイスに少なくとも基づいて分類される、方法。
【請求項9】
少なくとも1つのデバイスを備えるファクトリーオートメーション(FA)ネットワークと、外部ネットワークとを備えるFAアーキテクチャにおいてメッセージを処理する方法であって、該方法は、ネットワークプローブによって実施され、
前記外部ネットワークから発行されるとともに、前記FAネットワークの少なくとも1つのデバイスのうちの1デバイスに宛てられたメッセージをインターセプトすることと、
前記メッセージが宛てられた前記デバイスに少なくとも基づいてカテゴリの事前定義されたセット中で前記メッセージを分類することと、
前記メッセージが分類された前記カテゴリに少なくとも基づいてアラートを発行することを判断することと、
を含み、
前記ネットワークプローブは、前記事前定義されたセットの少なくともカテゴリを、前記FAネットワークの前記デバイスの識別子にマッピングする分類表を記憶し、
前記メッセージは、前記外部ネットワークのアプリケーションによって発行され、前記アプリケーションは、前記ネットワークプローブを用いて認証され、前記認証された前記アプリケーションからメッセージが受信されると、該メッセージは、デバイスのモジュールのリソースに宛てられ、前記分類表内の、該メッセージが宛てられた、前記リソース、前記モジュール又は前記デバイスにマッピングされるカテゴリは、事前定義されたカテゴリに設定される、方法。
【請求項10】
前記事前定義されたカテゴリは、前記アプリケーションから受信された前記メッセージのタイプに依存する、請求項に記載の方法。
【請求項11】
前記事前定義されたカテゴリに設定される前記カテゴリは、第1の値から、前記事前定義されたカテゴリに対応する第2の値に変更され、タイマーの満了後、前記第1の値に再度設定される、請求項又は10に記載の方法。
【請求項12】
コンピューティングデバイスにロード可能であるとともに、該コンピューティングデバイスによってロードされて実行されると、該コンピューティングデバイスに、請求項1~11のいずれか1項に記載の方法のステップを実行させるように適合される、コンピュータープログラム
【請求項13】
少なくとも1つのデバイスを備えるファクトリーオートメーション(FA)ネットワークと、外部ネットワークとを備えるFAアーキテクチャにおいてメッセージを処理するネットワークプローブであって、
前記外部ネットワークから発行されるとともに、前記FAネットワークの少なくとも1つのデバイスのうちの1デバイスに宛てられたメッセージをインターセプトするネットワークインターフェースと、
プロセッサであって、
前記メッセージが宛てられた前記デバイスに少なくとも基づいてカテゴリの事前定義されたセットの中で前記メッセージを分類することと、
前記メッセージが分類された前記カテゴリに少なくとも基づいてアラートを発行することを判断することと、
を行うように構成された、プロセッサと、
を備え、
m個のカテゴリが事前定義され、0~m-1付番され、0は、最も安全のカテゴリであり、少なくとも1つの限界値n事前定義され、iには、0~m-1が含まれ、
前記プロセッサは、i以上であるカテゴリに分類されたメッセージの数の合計がn以上である場合、前記アラートを発行する、ネットワークプローブ。
【請求項14】
少なくとも1つのデバイスを備えるファクトリーオートメーション(FA)ネットワークと、外部ネットワークとを備えるFAアーキテクチャにおいてメッセージを処理するネットワークプローブであって、
前記外部ネットワークから発行されるとともに、前記FAネットワークの少なくとも1つのデバイスのうちの1デバイスに宛てられたメッセージをインターセプトするネットワークインターフェースと、
プロセッサであって、
前記メッセージが宛てられた前記デバイスに少なくとも基づいてカテゴリの事前定義されたセットの中で前記メッセージを分類することと、
前記メッセージが分類された前記カテゴリに少なくとも基づいてアラートを発行することを判断することと、
を行うように構成された、プロセッサと、
を備え、
前記プロセッサは、
前記メッセージをパースして、前記メッセージがシグネチャを含むか否かを判断し、前記メッセージがシグネチャを含む場合、該シグネチャを検証し、
前記メッセージがシグネチャを含むか否か、及び、前記シグネチャの前記検証に基づいて前記メッセージを更に分類し、
前記メッセージの前記シグネチャが肯定的に検証された場合、前記メッセージを、最も安全のカテゴリに分類し、
それ以外の場合、前記メッセージを、前記メッセージが宛てられたデバイスに少なくとも基づいて分類する、ネットワークプローブ。
【請求項15】
少なくとも1つのデバイスを備えるファクトリーオートメーション(FA)ネットワークと、外部ネットワークとを備えるFAアーキテクチャにおいてメッセージを処理するネットワークプローブであって、
前記外部ネットワークから発行されるとともに、前記FAネットワークの少なくとも1つのデバイスのうちの1デバイスに宛てられたメッセージをインターセプトするネットワークインターフェースと、
プロセッサであって、
前記メッセージが宛てられた前記デバイスに少なくとも基づいてカテゴリの事前定義されたセットの中で前記メッセージを分類することと、
前記メッセージが分類された前記カテゴリに少なくとも基づいてアラートを発行することを判断することと、
を行うように構成された、プロセッサと、
を備え、
前記ネットワークプローブは、前記事前定義されたセットの少なくともカテゴリを、前記FAネットワークの前記デバイスの識別子にマッピングする分類表を記憶し、
前記メッセージは、前記外部ネットワークのアプリケーションによって発行され、前記アプリケーションは、前記ネットワークプローブを用いて認証され、前記認証された前記アプリケーションからメッセージが受信されると、該メッセージは、デバイスのモジュールのリソースに宛てられ、前記分類表内の、該メッセージが宛てられた、前記リソース、前記モジュール又は前記デバイスにマッピングされるカテゴリは、事前定義されたカテゴリに設定される、ネットワークプローブ。
【請求項16】
請求項13から15のいずれか1項に記載のネットワークプローブと、ファクトリーオートメーション(FA)ネットワークとを備えるシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、包括的には、攻撃検出方法に関し、詳細には、ファクトリーオートメーションの状況における攻撃検出方法に関する。
【背景技術】
【0002】
本節において説明される手法を追求することはできるが、これらの手法は、必ずしも以前に想起又は追求されている手法ではない。したがって、本明細書において別段に示されない限り、本節において説明される手法は、本出願における特許請求の範囲に対する従来技術ではなく、本節において含まれることによって従来技術であることを認めるものではない。
【0003】
シームレスメッセージプロトコル(SLMP:Seamless Message Protocol)は、本来、本出願人によってプログラマブルロジックコントローラー(PLC:Programmable Logic Controllers)との使用のために開発されたシリアル通信プロトコルである。その使用、フォーマット及び機能の記述は、オンラインで公的に入手可能である三菱電機株式会社によって公開されたSLMPリファレンスマニュアルにおいて説明されている。
【0004】
このプロトコルは、類似の使用、機能及び展開を有するModBUSプロトコルに類似している。
【0005】
これらのプロトコルにより、マネジメント及び制御のための、同じネットワークに接続された多くの産業デバイス間の通信が可能になる。
【0006】
例えば、産業システムは、温度及び湿度を測定することができるとともに、コンピューターにそれらの結果を通信することができ、SLMP及びModBUSは、EIA/TIA-232、EIA/TIA-485又はEthernet+TCP/IP等の複数の基本ネットワークレイヤを介してトランスポートすることができる。
【0007】
それらの産業マネジメントプロトコルは、最大メッセージサイズを有するシンプルな要求/応答方式に基づいている。
【0008】
プロトコル機能は、離散入力/コイル(ビットサイズエンティティ)又はレジスター(16ビットワードエンティティ)から値を読み出すことと、コイル及びレジスターに値を書き込むことと、サーバーに診断を実行することと、実行中のソフトウェアを管理することとを含む。サーバーがクライアントからの要求を受信して処理した後、サーバーは、対応する応答をクライアントに返送する。応答は、通常応答又はエラー(例外)応答のいずれかとすることができる。
【0009】
クライアントは、新たな要求を送信する前に、応答を待機する。
【0010】
データモデル又は記述は、シリアルテーブルの非常にシンプルなセットであり、テーブルの全てが異なる特徴を有する。データモデル又は記述は、離散入力及びコイル(すなわち、リレー)等の、PLC内に位置する異なるデバイスに対するシンプルなビットアクセス、又は入力及び内部レジスターに対する16ビットワードアクセスを可能にする。
【0011】
異なるデバイスにアクセスするのに用いられるアドレッシングモデルも非常にシンプルであり、一般に、異なるシリアルテーブルにアクセスするための固定範囲のアドレスにその本質がある。
【0012】
しかしながら、これらのプロトコルは、初期的には、サイバーセキュリティ問題を考慮して設計されていなかった。したがって、これらのプロトコルは、既知の情報セキュリティ脅威を回避するセキュリティメカニズムを欠いている。例えば、これらのプロトコルは、トラフィックを暗号化する方法、メッセージの完全性をチェックする方法並びにクライアント及びサーバーを認証する方法を含まない。
【0013】
産業システムの新世代(インダストリー4.0構想)は、より多くのファクトリーオートメーション(FA)ネットワークを外部の情報技術(IT)ネットワーク及びクラウドサーバーに接続することを要求することになり、サイバー攻撃のリスクが強いられる。実際には、攻撃者は、FAネットワークの制御及びフィールドバスレベルに侵入して、秘匿情報を取得すること、ファクトリープロセスにおける中断を引き起こすこと、一部のデータを操作者が利用することができないようにすること、何らかの偽情報を操作者に返すこと等を試みる場合がある。
【0014】
本来導入されたように、FAマネジメント及び制御に用いられる通信は、TCP又はUDPを介して直接変動する場合がある非セキュアプロトコルに依拠する。
【0015】
したがって、攻撃者は、以下のものを損なわせる傾向がある:
-トラフィックがネットワークにわたってクリアになるので、秘匿性;
-元のメッセージが通信リンクを通じて変化したか否かを知得するのは現在不可能であるので、完全性;及び/又は
-攻撃者が、作成したパケットを使用するか、又は、正当なパケットを再使用して、ネットワークリソース、クライアントリソース又はサーバーリソースを消費する(例えば、TCPコネクションを再設定する、フラッド攻撃を実行する等)可能性に起因して、可用性。
【0016】
シンプルなFAネットワークアーキテクチャは、ITプロトコル(Ethernet、TCP/IP)とFAネットワークプロトコルとの間のインターフェースとして機能する中継局を介してFAネットワーク(制御レベル及びフィールドバスにおいて)に接続されたIT-Ethernetベースネットワークを含むことができる。
【0017】
時として、PLCデバイスは、中継局を通じて中継することを伴わないITデバイスとの直接通信のために、Ethernet標準規格を直接統合することができる。
【0018】
このようなアーキテクチャでは、攻撃者は、ITネットワークに接続されたFAネットワークの1つの局を損なわせる場合があり、FAネットワークに配置された何らかのPLCに悪意のあるコマンドの送信を試みる場合があり、フィールドバスに接続されるとともに攻撃されたPLCによって制御されるロボットに損傷が与えられる。
【0019】
上記で説明されたように、FAネットワークのマネジメント及び制御に用いられるSLMP及びModBUS等のアプリケーションプロトコルは、セキュリティメカニズムを含まない。
【0020】
FAネットワークトポロジーの発展が理由で、FAネットワークトポロジーは、今や、TCP又はUDP及びEthernet等の標準的な通信レイヤを介して集中的に用いられており、FAネットワークに相互接続されたIT通信ネットワークを介して益々用いられている。
【0021】
一部の攻撃者は、FAネットワークを損なわせる能力があり、その結果、FA設備及び生産ラインにおける何らかの大規模な中断が起こり得る。
【0022】
したがって、何らかの損なわれたITデバイスによって、(Ethernet)ITネットワークを介してFAネットワークに向けて発信された悪意のあるメッセージを検出することができる効率的な攻撃検出方法が必要とされている。
【0023】
従来技術によるいくつかの方法は、FAネットワーク内で一時的にある潜在的な侵入を検出するために開発されたものである。
【0024】
これらの方法のうちのいくつかは、侵入を検出するのにモデルベース手法を用いることにその本質がある。基本的な概念は、FAネットワークアーキテクチャの異なる通信エンティティの期待される/許容可能な挙動を特徴付けるモデルを構築することである。この手法は、システムに、構築されたモデルの範囲外の挙動を行わせる攻撃を検出し、FAマネジメントプロトコル、オペレーティングシステム(OS)プラットフォーム及びネットワーク接続インフラストラクチャに対する攻撃に適用可能である。
【0025】
シグネチャベース手法と異なり、モデルベース手法の利点は、未知の攻撃を検出する可能性があることである。モデルベース手法は、FAネットワークに特に良好に適応する。なぜならば、既知となっている攻撃の例がごく少数であるためである。
【0026】
フラッドベースのサービス拒否(DoS:Denial-of-Service)攻撃等の異常なアクティビティには、一般的に、アノマリーを示すパラメーター(例えば、受信要求率)の統計的特性の変化が伴う。
【0027】
それゆえ、このような異常なアクティビティを検出する問題は、観測されるパラメーターの変化を、最小遅延かつ最小偽検出率で検出するという目標を有する変化検出問題とみなすことができる。
【0028】
急激な変化を検出するために、異なる方法、すなわち、移動平均、累積和、スペクトル解析等が提案され、多くの場合に用いられている。
【0029】
シグネチャ検出方法は、既知の攻撃を検出するのに用いられるが、これらの方法は、攻撃の実例を事前に知るとともに、それらの対応するトラフィックトレース又は特徴を知ることが必要とされる。これらの方法は、実行中のソフトウェアにおける脆弱性を利用することを目標とするバイトシーケンスを検出することができる。これらの方法は、ITシステムにおいて展開される対ウィルスソフトウェアにおいて広く用いられる。
【0030】
一代替形態として、これらの方法は、正当なトラフィックを効率的に検出するのにも用いることができる。産業マネジメントプロトコルに適用される場合、シグネチャ検出方法は、いくつかの特定のリソースへの読み出し又は書き込み要求アクセスを検出し、これらの要求アクセスが通常ではない又は信頼性がない局から発行されるとアラームをトリガーすることが可能であり得る。
【0031】
しかしながら、効率的かつ適用可能な検出方法は、シグネチャ攻撃検出方法にのみ頼ることはできない。なぜならば、知られているFA攻撃の例がごく少数であるとともに、ネットワークトラフィックトレース及び特徴が入手可能ではないためである。
【0032】
加えて、攻撃は、いくつかの特定のFA展開及び特定のネットワークアーキテクチャに向けて設計される。すなわち、FAアプリケーション及びネットワークトポロジーの多様性を考慮して、関連するシグネチャデータベースを構築することは、非常に困難なタスクであり、最新版を維持することは非常に難しい。
【発明の概要】
【発明が解決しようとする課題】
【0033】
それゆえ、上述の短所のうちの少なくとも一部を克服するセキュリティポリシーを実施する必要がある。
【課題を解決するための手段】
【0034】
これらの必要性のうちの少なくともいくつかに対処するために、本発明の第1の態様は、少なくとも1つのデバイスを備えるファクトリーオートメーション(FA)ネットワークと、外部ネットワークとを備えるFAアーキテクチャにおいてメッセージを処理する方法であって、この方法は、ネットワークプローブによって実施され、
-外部ネットワークから発行されるとともに、FAネットワークの少なくとも1つのデバイスのうちの1デバイスに意図されたメッセージをインターセプトすることと、
-メッセージが意図されたデバイスに少なくとも基づいて事前定義されたカテゴリのセット中でメッセージを分類することと、
-メッセージが分類されたカテゴリに少なくとも基づいてアラートを発行することを判断することと、
を含む、方法に関する。
【0035】
したがって、セキュリティポリシーは、単に、外部ネットワークから発行されるとともに、FAネットワークデバイスに意図されたメッセージ(コマンド)をモニタリングすることによって、FAネットワークを変更する必要なく定義することができる。実際には、FAデバイスは、ハードウェア制約及び生産環境が理由で更新するのが困難である。これらのデバイスを、より良好な性能を有する新たなモデルに容易に交換することはできない。このような方法は、シグネチャベースではないので、複数のタイプの攻撃を検出することも可能にする。
【0036】
メッセージは、任意のタイプのコマンド等の任意のFAマネジメントメッセージを指定することができる。
【0037】
いくつかの実施形態によれば、ネットワークプローブは、事前定義されたセットの少なくともカテゴリを、FAネットワークデバイスの識別子にマッピングする分類表を記憶する。
【0038】
したがって、所与のセキュリティポリシーを、事前に定義することもできるし、連続的に更新することもでき、かつ、分類表を用いて実施することができ、これにより、ネットワークプローブが、メッセージを分類するのに迅速な判断を行うことが可能になる。
【0039】
補足として、デバイスの識別子は、以下を識別することができる。
-FAネットワーク;
-FAネットワークのデバイス;
-デバイスのモジュール。当該モジュールは、デバイスの所与の機能に専用である;及び/又は
-モジュール内のリソース。
【0040】
したがって、セキュリティポリシーを定義するときに、異なるレベルの粒度を用いることができる。
【0041】
いくつかの実施形態によれば、メッセージは、メッセージのタイプに基づいて分類することもできる。
【0042】
これにより、セキュリティポリシーにおいてより良好な精度を有することが可能になる。
【0043】
補足として、分類表は、事前定義されたセットのカテゴリを、FAネットワークのデバイスの識別子、かつメッセージタイプにマッピングすることができる。
【0044】
これにより、ネットワークプローブが、メッセージを分類するとき及びアラートを発行するときに迅速な判断を行うことが可能になる。
【0045】
また、補足として、メッセージは、SLMPプロトコルによるものとすることができ、メッセージのタイプは、以下のうちの1つとすることができる。
-読み出しアクセス;
-書き込みアクセス;
-遠隔制御;
-マネジメント;及び
-デバイスロック。
【0046】
したがって、方法は、SLMP FAネットワークの状況において用いることができる。しかしながら、同じ原則を、ModBUS FAネットワークに用いることができる。
【0047】
いくつかの実施形態によれば、方法は、メッセージをパースして、メッセージがシグネチャを含むか否かを判断することと、メッセージがシグネチャを含む場合、このシグネチャを検証することとを更に含むことができ、メッセージは、メッセージがシグネチャを含むか否か、及び、シグネチャの検証に基づいて更に分類することができる。
【0048】
シグネチャを用いることにより、最も安全のカテゴリにメッセージを安全に分類することが可能になる。
【0049】
補足として、メッセージは、TCPを介してトランスポートすることができ、シグネチャは、メッセージに対応するTCPコネクションの初期TCPシーケンス番号に依存することができる。
【0050】
新たなTCPコネクションごとに一意かつランダムに生成される、TCP SYN-ACKメッセージに含まれるTCPシーケンス番号等の初期TCPシーケンス番号を用いることにより、攻撃者からの反射攻撃を回避することが可能になる。
【0051】
また補足として、メッセージのシグネチャが肯定的に検証された場合、メッセージは、最も安全のカテゴリに分類することができ、それ以外の場合、メッセージは、メッセージが意図されたデバイスに少なくとも基づいて分類することができる。
【0052】
これにより、より効率的にメッセージを分類することが可能になる。
【0053】
いくつかの実施形態によれば、m個のカテゴリを事前定義することができ、0~m-1に付番され、0は、最も安全のカテゴリであり、少なくとも1つの限界値nがプレフィックスとして付され、iには、0~m-1が含まれ、アラートは、i以上である、1カテゴリに分類されたメッセージの数がn以上である場合、発行することができる。
【0054】
これにより、FAネットワークのセキュリティポリシーを柔軟に定義することが可能になる。
【0055】
いくつかの実施形態によれば、メッセージは、外部ネットワークのアプリケーションによって発行することができ、アプリケーションは、ネットワークプローブを用いて認証することができ、アプリケーションからメッセージが受信されると、このメッセージは、デバイスのモジュールのリソースに宛てられ、分類表内の、リソース、モジュール又はデバイスにマッピングされるカテゴリを、(初期カテゴリよりも安全である)事前定義されたカテゴリに設定することができる。
【0056】
これにより、分類表の少なくとも一部を自動的に埋めることが可能になる。その場合、同じリソース/モジュール又はデバイスに意図された後続のメッセージを分類するのに、事前定義されたカテゴリが用いられる。いくつかの実施形態によれば、事前定義されたカテゴリは、アプリケーションから受信されたメッセージのタイプに依存することができる。
【0057】
その場合、事前定義されたカテゴリは、メッセージタイプごとに区別される。例えば、書き込みメッセージの事前定義されたカテゴリは、読み出しメッセージの事前定義されたカテゴリ(重要度が低い)よりも上位にある(したがって、より高い危険レベルに対応する)。
【0058】
補足として、カテゴリは、第1の値から、事前定義されたカテゴリに対応する第2の値に変更され、タイマーの満了後、第1の値に再度設定される。
【0059】
これにより、信頼されたアプリケーションによってもはや要求されないリソースにアラートを発行することが可能になる。
【0060】
本発明の別の態様は、コンピューティングデバイスにロード可能であるとともに、このコンピューティングデバイスによってロードされて実行されると、このコンピューティングデバイスに、本発明の第1の態様による方法のステップを実行させるように適合される、コンピュータープログラム命令が記憶されたコンピューター可読媒体を備えるコンピュータープログラム製品に関する。
【0061】
本発明の第3の態様は、少なくとも1つのデバイスを備えるファクトリーオートメーション(FA)ネットワークと、外部ネットワークとを備えるFAアーキテクチャにおいてメッセージを処理するネットワークプローブであって、
-外部ネットワークから発行されるとともに、FAネットワークの少なくとも1つのデバイスのうちの1デバイスに意図されたメッセージをインターセプトするネットワークインターフェースと、
-プロセッサであって、
-メッセージが意図されたデバイスに少なくとも基づいて事前定義されたカテゴリのセットの中でメッセージを分類することと、
-メッセージが分類されたカテゴリに少なくとも基づいてアラートを発行することを判断することと、
を行うように構成された、プロセッサと、
を備える、ネットワークプローブに関する。
【0062】
本発明の第4の態様は、第3の態様によるネットワークプローブと、ファクトリーオートメーション(FA)ネットワークとを備えるシステムに関する。
【0063】
本発明は、添付図面の図に、限定としてではなく例として示される。添付図面において、同様の参照符号は同様の要素を参照する。
【図面の簡単な説明】
【0064】
図1】本発明のいくつかの実施形態によるシステムFAネットワークアーキテクチャを表す図である。
図2】本発明のいくつかの実施形態による方法のステップを示す図である。
図3】本発明のいくつかの実施形態によるネットワークプローブの構造を示す図である。
図4】読み出し/書き込みメッセージのSLMPフォーマットを示す図である。
【発明を実施するための形態】
【0065】
図1は、本発明の一実施形態による、少なくとも1つのデバイスを備えるFAネットワーク102と、外部ネットワーク103とを備えるファクトリーオートメーション(FA)アーキテクチャを示している。
【0066】
図1について、FAネットワーク102は、3つのデバイス104.1、104.2及び104.3を備え、これらのデバイスは、例えば、プログラマブルロジックコントローラー(PLC)である。
【0067】
各デバイスは、1つ又はいくつかのモジュールに関連付けることができ、各モジュールは、所与の機能に専用のものである。例えば、所与のデバイスの第1のモジュールは、第1の機械を制御するのに専用とすることができ、一方、所与のデバイスの第2のモジュールは、第2の機械又はセンサーを制御するのに専用とすることができる。
【0068】
図1上で示される例について、デバイスの各々が2つのモジュールを含む。しかしながら、1つのデバイスが1つ又はいくつかのモジュールを含むことができること、及び、デバイス同士が同じ数のモジュールを有しない場合があることを理解することができる。
【0069】
第1のデバイス104.1は、第1のモジュール105.1及び第2のモジュール105.2を含み、第2のデバイス104.2は、第3のモジュール105.3及び第4のモジュール105.4を含み、第3のデバイス104.3は、第5のモジュール105.5及び第6のモジュール105.6を含む。
【0070】
アーキテクチャは、外部ネットワーク103とFAネットワーク102との間のインターフェースとして機能することができる中継局101(RELAY101)も備える。実際には、FAネットワークにおいて、SLMP又はModBUS等のFAマネジメントプロトコルを用いて、デバイス104を制御することができる。以下の記載では、単に例示の目的で、SLMPの例が検討される。
【0071】
外部ネットワークは、Ethernetネットワーク等のITネットワークとすることができる。その事例において、中継局101は、Ethernetを介して搬送されたTCPフレーム又はUDPフレーム内に含まれるSLMPメッセージを抽出するように構成されたEthernetアダプターとすることができる。前述で説明されたように、SLMP及びModBUSは、EIA/TIA-232、EIA/TIA-485又はEthernet+TCP/IP(又はUDP)等の複数の基本レイヤを介してトランスポートすることができる。
【0072】
以下の記載では、単に例示の目的で、Ethernet+TCP又はUDPの特定の例が検討される。
【0073】
本発明によるネットワークプローブ100は、外部ネットワークとFAネットワークとの間、又は、ネットワークプローブ100が、外部ネットワーク103のアプリケーションから発行されるとともに、デバイス104のうちの1つに意図される任意のEthernetフレームをインターセプトすることができる任意のロケーションに位置することができる。
【0074】
例えば、ネットワークプローブ100は、ファイヤーウォール内に挿入することができる。
【0075】
以降で説明するように、ネットワークプローブ100は、任意のEthernetフレームをモニタリング及び検査するように構成され、特に、TCP又はUDPネットワークレイヤを介してトランスポートされるFAマネジメントプロトコル(例えばSLMP)要求及び応答メッセージを解析するように構成される。また、メッセージは、少なくともメッセージのタイプ及びメッセージの宛先を含むいくつかの基準に従って分類することができる。分類は、アクセス頻度、アクセスされるリソースのタイプ及びメッセージの送信元も考慮に入れることができる。以降で説明するように、ネットワークプローブ100は、外部ネットワーク103内の実行中クライアントアプリケーションをネットワークプローブ100が完全に信頼することができるように、FAマネジメントメッセージ内に挿入されるシグネチャをチェックするようにも構成される。
【0076】
クライアントアプリケーションは、外部ネットワーク103上の異なるエンティティに対応することができ、エンティティのうちのいくつかが例示の目的で図1上に示されている。例えば、クライアントアプリケーションは、信頼されたセーフティコントローラー106(SAF106)、信頼された監視コントローラー107(SUPER VISOR107)、又は信頼されていない局108(UNTRUST108)に対応することができる。
【0077】
「信頼された(Trusted)」は、アプリケーションがネットワークプローブ100によって既知であるか又は認証されていることを意味する。例えば、これは、アプリケーションによって送信されたメッセージのシグネチャが、ネットワークプローブ100によって以前に検証されており、妥当性があるとみなされていることを意味する。
【0078】
図2は、本発明のいくつかの実施形態による方法のステップを示すフローチャートである。方法は、ネットワークプローブ100によって実施される。
【0079】
ステップ201において、ネットワークプローブ100は、外部ネットワーク103の1つのアプリケーションから発行されるとともに、FAネットワーク102のデバイス104のうちの1つに意図されるメッセージをインターセプトする。
【0080】
ステップ202において、ネットワークプローブ100は、メッセージが意図される宛先のデバイス(デバイスの識別子)に少なくとも基づいて、事前定義されたカテゴリのセットの中でメッセージを分類する。分類規則を決定するために、種々のセキュリティポリシーを定義及び適用することができる。第1の実施形態によれば、認証されていないアプリケーションによる、クリティカルとみなされるデバイスへのアクセスは、最も危険のカテゴリに分類され、一方、認証されたアプリケーションによるアクセスは、最も信頼された又は最も安全のカテゴリに分類することができる。
【0081】
別の実施形態によれば、ネットワーク100がファイヤーウォールに結合されて、クリティカルデバイスに意図された信頼されていないトラフィックがブロックされる。例えば、ネットワークプローブ100は、信頼されたアプリケーションのみに対して、クリティカルデバイスへのアクセスを許可する(ファイヤーウォールへのアラートを発行しないようにする)ことができる。アプリケーションを実行する外部ネットワーク103のエンティティが感染した場合でも、攻撃者が、クリティカルデバイスにアクセスするためにいくつかのFAマネジメントメッセージを偽造することが可能ではなくなる。なぜならば、攻撃者は、(署名を行うためのクレデンシャルを有しないので)自身の悪意のあるメッセージに署名することができないためである。例えば、信頼されていないアプリケーションは、非クリティカルデバイスへのみアクセスすることができるが、クリティカルデバイスへのアクセスは、ファイヤーウォールによってブロックされる。
【0082】
クリティカルデバイスは、機能のうちの1つがクリティカルであるとみなされるデバイスとみなすことができる。例えば、火災センサーの機能は、所与の工場のためのセキュリティの観点でクリティカルとみなすことができ、一方、温度又は湿度センサーの機能は、非クリティカルとみなすことができる。
【0083】
したがって、これらの2つの実施形態によれば、メッセージを分類するために考慮に入れられる基準は、メッセージが意図される宛先のデバイス、及びメッセージが発行されるアプリケーション(信頼されているか、又は信頼されていない)である。
【0084】
基準の他の組み合わせを用いるステップ202の他の実施形態は、以下の記載で説明されることになる。
【0085】
ステップ203において、ネットワークプローブ100は、メッセージが分類されるカテゴリに少なくとも基づいてアラートを発行することを判断する。アラートは、メッセージをブロックするためにファイヤーウォールに送信することができる。代替的に、アラートは、信頼されたセーフティコントローラー106に送信することができる。いくつかの実施形態によれば、かつ、以降で更に詳述されるように、いくつかの分類済みメッセージのカテゴリを、アラートが発行されるべきか否かを判断するときに考慮に入れることができる。
【0086】
以下の記載では、FAマネジメントメッセージを認証するためにシグネチャを導入することが提案される。その場合、シグネチャは、メッセージを分類するために、ネットワークプローブ100がパースするとともに考慮に入れることができる。既に説明されたように、SLMPプロトコルの例が、単に例示の目的で検討される。
【0087】
SLMPは、セキュリティを念頭に置いて設計されていない。本発明のいくつかの実施形態は、SLMPパケットフォーマットを変更することなく、SLMPメッセージを認証するシグネチャを導入することを提案する。実際には、全ての互換性を有するSLMPデバイス及びアプリケーションが、いずれのSLMPメッセージも復号することが可能であり続けるべきである。
【0088】
本発明によれば、SLMPメッセージは、TCPプロトコルを介してトランスポートされる場合、SLMPクライアントアプリケーションごとに(例えば図1上に示すエンティティ106~108の各々について)異なるとともに、ネットワークプローブ100によって既知であるコネクションシグネチャ鍵(CSK:Connection Signature Key)を用いて署名することができる。
【0089】
CSKは、全ての信頼されたアプリケーション及びネットワークプローブ100によって既知である暗号化ルート(ER:Encryption Root)値から計算することができる。この値は、例えば、セキュアなチャネルを介して共有することができる。
【0090】
SLMPがTCPを介してトランスポートされる事例において、TCPコネクションiについて、CSKは、以下のように求めることができる。
CSK=df(ER,IV)、ここで、dfは、ダイバーシティ関数であり、IVは、コネクションiについて用いられる初期化ベクトルである。例えば、TCP SYN-ACKパケット内の、SLMPサーバー(デバイス104のうちの1つ)として機能するエンティティによって返されるTCPシーケンス番号は、IVとして用いることができる。実際には、この値は、有利には、新たなTCPコネクションごとにランダムに生成される。
【0091】
【数1】
ここで、SNSYNACK,iは、コネクションiについての返されたTCPシーケンス番号であり、IPsrcは、送信元のIPアドレスであり、IPdstは、宛先のIPアドレスであり、LSBは、最下位ビット(Least Significant Bit)を指定する。
【0092】
その場合、CSKは、TCPペイロードとしてトランスポートされるSLMPメッセージを署名するのに用いられる。署名は、好ましくはSHA256アルゴリズムを用いる、鍵付きハッシュメッセージ認証コード(HMAC:Keyed-Hash message Authentication Code)によって実行することができる。結果として得られるメッセージ認証コード(MAC:Message Authentication Code)は、以下のように定義することができる。
【0093】
MAC=HMAC(CSKi,M)、ここで、CSKiは、TCPコネクションiについてのCSKであり、Mは、SLMPメッセージと32ビットメッセージカウンターとの連結である。
【数2】
「||」は、連結演算を指定するものである。
【0094】
SLMPメッセージフォーマットでは本来メッセージカウンターはないので、32ビットメッセージカウンターは、エミッター及び受信機の双方において内在的に維持されることになる。
【0095】
このメッセージカウンターにより、2つの類似のSLMP要求を区別することが可能になり、これにより、攻撃者が、反射攻撃(同じ許可済みメッセージを複数回送信すること)を実行することが防止される。
【0096】
32ビットメッセージカウンターのこの例は、例示のために与えられる。しかしながら、この実施形態は、任意のメッセージカウンターに拡張することができる。
【0097】
いくつかの実施形態によれば、SLMPメッセージ認証コード(MAC)又はシグネチャは、ヘッダー(サブヘッダー、要求宛先ネットワーク等)及び要求/応答データを含むSLMPメッセージ全体に基づくものとすることができる。SLMPシグネチャを計算する前に、予約フィールドは、0に設定することができる。
【0098】
デバイス104のうちの1つに意図されたSLMPメッセージ内に挿入されたSLMPシグネチャは、その後、メッセージを分類するときにネットワークプローブ100によってチェックすることができる。例えば、SLMPシグネチャは、他の目的では用いられないSLMPメッセージのフィールド内に挿入することができる。
【0099】
図3は、いくつかの実施形態によるネットワークプローブ100の詳細な構造を示している。
【0100】
ネットワークプローブ100は、ネットワークインターフェース301、例えば、例として外部ネットワーク103からEthernetフレームを受信するEthernetインターフェースを備える。
【0101】
その場合、Ethernetフレームは、TCPコネクション/UDPセッションマネージャ302を備えるプロセッサ311によって処理することができる。マネージャ302は、TCPコネクション及びUDPデータストリームをモニタリングするように構成される。このようなモニタリングは、4つ組[送信元IPアドレス;送信元TCP/UDPポート;宛先IPアドレス;宛先TCP/UDPポート]によって識別される特定の情報コンテキストを維持することにその本質がある場合がある。このコンテキストを用いて、TCPコネクション/UDPデータストリームに関する情報が記憶されるとともに、これが更新される。
【0102】
TCPの場合、SYN/SYN-ACK/ACK TCPパケットシーケンスが受信されると、新たなコンテキストがオープンされる。
【0103】
いくつかの実施形態によれば、ネットワークプローブ100は、全てのEthernetトラフィックを解析してしまわないように、いずれのSLMPメッセージも抽出することなく、到来パケットをフィルタリングすることができる。例えば、いくつかのフィルターは、所与の範囲に含まれる宛先TCP/UDPポートを有するトラフィックのみを解析するように定義することができる。いくつかの他の実施形態によれば、パターンマッチングアルゴリズムを適用して、いくつかの所定のFAマネジメントプロトコルを検出することができる。これらのプロトコルが検出されない場合、Ethernetトラフィックは、単に宛先に転送される。
【0104】
TCPセグメントを搬送するEthernetフレームの事例において、連続データストリームがSLMP検出器304に渡されるようにするために、TCPデータは、抽出されて、TCPリアセンブリバッファ303内でリアセンブリされ得る。
【0105】
UDPセグメントの事例において、UDPセグメントは、SLMP検出器に直接転送される。
【0106】
SLMP検出器304は、TCPコネクション又はUDPパケットが正しいSLMPデータを伝達するか否かをチェックするように構成される。これを達成するために、SLMPメッセージ(要求又は応答)のサブヘッダーSLMP値がチェックされることで、ASCIIコードのバイナリの形式で、SLMP仕様に従ってサブヘッダーSLMP値が特定の値を含むか否かがチェックされる。SLMP検出器304は、要求されるデータ長が遵守されているか否か(実データ長がデータ長フィールドにおいて示されるデータ長に対応するか否か)をチェックするように構成することもできる。補足として、SLMP検出器304は、メッセージデータ長がメッセージのタイプと整合しているか否かをチェックするように構成することができる。
【0107】
SLMPによれば、以下の5つの異なるタイプのメッセージがある。
-デバイスの異なるリソースに対する読み出しアクセス
-(レジスター、I/O、リレー、タイマー、カウンター等);
-デバイスの異なるリソースに対する書き込みアクセス;
-遠隔制御、特に、デバイスを遠隔で停止させるための遠隔制御;
-マネジメント(セルフテスト;エラー、読み出しタイプ名のクリア;グローバル信号)
-パスワードを規定することによってデバイスをセキュア化するのに用いられるデバイスロック。
【0108】
メッセージが正しいSLMPデータを伝達しない場合、メッセージは、キャンセルし、及び/又は、宛先デバイスに転送しないものとすることができる。
【0109】
SLMPメッセージが正しい場合、かつ、このメッセージが署名されている場合、これは、SLMPセキュリティユニット305に転送される。SLMPメッセージが正しい場合、かつ、このメッセージが署名されていない場合、これは、SLMPメッセージプロセッサ306に直接転送される。SLMPメッセージが署名されているか否かは、メッセージがシグネチャを含むか否かを示すフィールドを検出することによってチェックすることができる。例えば、予約された16ビットフィールドの第1の最上位ビット(MSB)が、シグネチャが導入されているか否かを示す。例えば、このMSBが1に設定されている場合、これは、SLMPメッセージが署名されていることを示す。
【0110】
加えて、TCPを介して搬送される(そして署名される)SLMPメッセージのみを、SLMPセキュリティユニット305に送信することができ、UDPを介して搬送されるSLMPメッセージは、SLMPメッセージプロセッサ306に直接転送される。
【0111】
SLMPセキュリティユニット305は、SLMPメッセージに含まれるシグネチャをチェックするように構成される。これを達成するために、MAC値が(例えば、TCPシーケンス番号に基づいて)上記で計算された値に対応するか否かがチェックされる。
【0112】
シグネチャが正しい場合、SLMPセキュリティユニット305は、TCPコネクションを信頼されたものとマーク付けするように構成される。したがって、信頼されたTCPコネクションに属するSLMPメッセージを更にチェックする際、これらのSLMPメッセージのうちの1つがシグネチャを含まないか又は誤ったシグネチャを含む場合、これは、SLMPメッセージプロセッサ306によって最も危険のカテゴリに分類することができる。
【0113】
最後に、SLMPメッセージプロセッサ306は、SLMPメッセージを処理する。SLMP分類構築器307が、SLMPメッセージから関連情報(例えば、以下の情報、すなわち、シグネチャの有無、宛先、送信元、メッセージタイプ等のうちの1つ又は任意の組み合わせ)を抽出する。
【0114】
その後、抽出された情報は、データベース308に記憶された分類表を有するSLMP分類器ユニット309によって用いられて、SLMPメッセージが、事前定義されたカテゴリのセットのうちの1カテゴリに分類される。
【0115】
例えば、カテゴリのセットは、少なくとも2つのカテゴリ(正当/安全及び危険/クリティカル)を含むことができる。いくつかの好ましい実施形態によれば、カテゴリのセットは、3つ以上のカテゴリを含むことができる。例えば、カテゴリは、0(正当/安全)~4(クリティカル/危険)を付番することができる。セキュリティポリシーに従って、最後の分類されたSMTPメッセージのカテゴリに少なくとも基づいて、ステップ203においてアラートを発行することができる。アラートは、出力インターフェース310によって発行されるアラームとするとともに、例えばファイヤーウォールに送信することができる。
【0116】
プロセッサ311によって実施される全ての動作は、図2上に示された分類ステップ202のサブステップとみなすことができる。
【0117】
所与のセキュリティポリシーに従って、iよりも高い分類レベルを有するn個のSMTPメッセージの受信の後に、アラートを発行することができる。例えば、値n=3が記憶された場合、かつ、カテゴリ4の1つのSLMPメッセージ及びカテゴリ3の2つのSLMPメッセージが受信された場合、アラートが発行される。nの単数又は複数の値は、アドミニストレーターによって規定することができ、これらの値は、発行されたアラートの数とグローバルセキュリティとの間のトレードオフに依存することができる。
【0118】
コネクションが信頼されているか否かは、以降で説明されるように、分類表を更新するのに用いることができる。
【0119】
上記で説明されたように、SLMPメッセージをカテゴリのうちの1つに分類するのに、いくつかの基準を考慮に入れることができる。
【0120】
メッセージタイプを考慮に入れることができる。メッセージタイプは、SLMPメッセージのコマンドフィールドにおいて示される。
【0121】
いくつかの実施形態によれば、SLMPメッセージが正しく署名されている場合、メッセージは、正当であるとみなすことができ、カテゴリ0を有効にすることができる。また、SLMPメッセージが署名されていない場合、分類レベルは、宛先デバイス、又はより正確には宛先モジュール、及びメッセージタイプに依存することができる。
【0122】
加えて、読み出しタイプ及び書き込みタイプ等のデバイスアクセスについて、分類レベルは、以降の表2において記載されるように、SLMPフレームフォーマットにおいて示される、アクセスされるリソースのタイプ及びそれらのアドレスに依存することもできる。
【0123】
物理SLMPアドレス可能モジュール105.1~105.6ごとに、表1は、SLMPメッセージ分類器309によって署名なしSLMPメッセージにカテゴリを配分することができる方法の例を与える。
【0124】
【表1】
【0125】
この例では、Net#0は、FAネットワーク102を識別する。実際には、ネットワークプローブ100は、いくつかのFAネットワークを担当することができ、その事例では、宛先FAネットワークは、識別される必要がある。
【0126】
表1では、カテゴリは、モジュールごとに区別される。いくつかの実施形態によれば、カテゴリは、デバイスごとにのみ区別することができる。
【0127】
読み出しメッセージタイプ及び書き込みメッセージタイプの場合、アドレス可能デバイスごとに、又はアドレス可能モジュールごとに、2つの専用分類表を定義することができる。このような分類表において、所与のアドレス可能モジュール又はデバイスについて、カテゴリは、リソースのタイプ、及びリソースのアドレス範囲に従って区別することができる。
【0128】
この例では、3つ組(0,1,0)によって識別されるモジュールは、モジュール105.3を指定する(最初の「0」によってネットワーク0が参照され、「1」によってデバイス104.2が参照される)。3つ組の値は、ネットワークの数並びに各ネットワークにおいてアドレス可能なデバイス及びモジュールの数に依存して1つ又はいくつかのビットを用いてコード化することができることに留意されたい。
【0129】
【表2】
【0130】
表2において記載される例では、リレーリソースタイプは、例えばモーターを制御する(オフ又はオンに切り替える)ためのリソースを指定することができる。データレジスターリソースが、モーター速度を格納することができる。
【0131】
一般に、リソースのタイプは、いくつかの専用フィールドによってメッセージ内で示される。例えば、SLMPについて、プロトコルメッセージの構造が図4上に示される。図4は、読み出し/書き込みメッセージ(要求及び応答)の場合のSLMPフォーマットを示している。詳細には、これらのメッセージは、メッセージのタイプを識別する「コマンド」フィールド及び「サブコマンド」フィールドを含む。
【0132】
注目することができるように、フィールドは、宛先ネットワーク、局及びモジュールに専用である。また、SLMPは、連続したビット又は単語のセットを読み出す/書き込むようにバッチコマンドを構築する可能性を提供する。
【0133】
分類表の定義は、期待されるセキュリティレベル及び特定のFAネットワークの特徴に依存するタスクである。これは、全てのモジュール又はデバイスの全てリソースが、ネットワークアドミニストレーターによって分類表内で宣言及び参照されなくてはならない場合があるので、長く厄介なタスクである。
【0134】
本発明のいくつかの実施形態は、分類表を埋めることを少なくとも部分的に可能にする自動学習方法を提供することによって、これらの短所に対処することを可能にする。
【0135】
これらの実施形態によれば、分類表、特に読み出し/書き込みメッセージタイプに対応する分類表を埋めるのに、信頼されたコネクションに対応するメッセージを用いることができる。
【0136】
これは、以下の仮定に依拠する。すなわち、正当なアプリケーションが特定のデバイス、モジュール又はリソースにアクセスした場合、同じデバイス/モジュール/リソースに、リスクを伴うことなく他のアプリケーションもアクセスすることができるとみなすことができる。
【0137】
この規則は、信頼されたアプリケーションがモジュール/リソースに対するアクセスを発行するときに設定される読み出しアクセス及び書き込みアクセスのカテゴリを事前定義することによって緩和することができる。例えば、特定のモジュールのための読み出しアクセスの事前定義されたカテゴリは1に設定されるとともに、書き込みアクセスの事前定義されたカテゴリは2に設定されることを想定する。事前定義されるカテゴリに対して制限は付されない。
【0138】
リソースに対する書き込み/読み出しアクセスのデフォルトのカテゴリが、信頼されたアプリケーションがこれらのリソースに対する読み出し/書き込みアクセスを行うまで、適用される。
【0139】
例えば、信頼された監視コントローラー107等の正当なアプリケーション(例えば認証されたアプリケーション)がモジュール105.3のリレー#10~13に宛てた読み出しアクセスメッセージを発行した場合、ネットワークプローブは、これらのリソースに対する読み出しアクセスタイプメッセージに関連付けられたカテゴリを、1に等しい事前定義されたカテゴリに設定する。後続する読み出しアクセスタイプメッセージは、信頼されていないアプリケーションから発行されるとともに、これらのリソースに意図されている場合であっても、カテゴリ1に分類されることになる。
【0140】
しかしながら、信頼されていないアプリケーションから発行された、これらの同じリソースのための後続する書き込みアクセスタイプメッセージは、正当なアプリケーションが以前にこれらのリソースのために書き込みアクセスタイプメッセージを送信していないので、カテゴリ4に分類されることになる。このように、カテゴリ4は、信頼されたアプリケーションがこれらのリソースに対して書き込み/読み出しアクセスを行うまで、リソースに対する書き込み/読み出しアクセスのデフォルトのカテゴリとみなすことができる。
【0141】
これを用いて、信頼されていないアプリケーションがクリティカルモジュール上のいくつかのリソースに対するアクセスを要求したときにアラートを発行することができる。
【0142】
(リソースのみではなく)モジュール又はデバイスに同じ規則を汎用化することができる。例えば、正当なアプリケーションが所与のモジュールにアクセスした場合、モジュール全体について分類表を更新することができる。
【0143】
補足的な実施形態では、ネットワークプローブ100は、例えば読み出しアクセスタイプ等の、或る特定のタイプのメッセージについてのみ信頼されたアプリケーションのメッセージに基づいて分類表を更新することができる。その事例では、書き込みアクセスタイプについての分類表は、アドミニストレーターが埋めることができる。
【0144】
より一般的には、分類表の或る部分は、アドミニストレーターが埋めることができ、一方、他の部分は、信頼されたアプリケーションから発行されたメッセージの解析に基づいて埋めることができる。
【0145】
いくつかの実施形態によれば、信頼されたアプリケーションからメッセージが受信されて分類表内の或るエントリが更新される度に、タイマーを作動させることができる。タイマーが満了になると、更新されたエントリを除去して、デフォルト値に置き換えることができる。タイマーの値は、アドミニストレーターが事前定義することができる。
【0146】
これにより、もはや信頼されたアプリケーションによってアクセスされないリソース/モジュール/デバイスに意図されたメッセージに対するアラートを発行することが可能になる。
【0147】
これらの学習ステップにより、FAネットワーク102の発展に迅速に適応することが可能になる。例えば、FAネットワーク102内に新たなモジュールが追加されるとともに、外部ネットワーク103のアプリケーションが更新される場合、分類表は、少なくとも部分的に自動で更新される。
【0148】
本発明によれば、多くの攻撃、特に、未知のFAネットワークの種々のデバイス及びモジュールを発見及び理解する第1のステップとして攻撃者によって用いられるネットワーク及びリソースのスキャン攻撃を検出することができる。
【0149】
本発明はコンピュータープログラム製品に組み込むこともでき、そのコンピュータープログラム製品は、本明細書において説明される方法を実施できるようにする全ての機構を含み、情報処理システムにロードされるときに、情報処理システムを生成する。この文脈におけるコンピュータープログラム手段又はコンピュータープログラムは、情報処理能力を有するシステムが直接、又は別の言語への変換後に特定の機能を実行するように意図される一組の命令に関する、任意の言語、コード又は表記における任意の表現を意味する。そのようなコンピュータープログラムは、データ、命令、メッセージ又はメッセージパケット及び他の機械可読情報を媒体から読み出すことができるようにする、コンピューター可読媒体又は機械可読媒体上に記憶することができる。コンピューター可読媒体又は機械可読媒体は、ROM、フラッシュメモリ、ディスクドライブメモリ、CD-ROM及び他の永久記憶装置のような不揮発性メモリを含むことができる。さらに、コンピューター可読媒体又は機械可読媒体は、例えば、RAM、バッファー、キャッシュメモリ、及びネットワーク回線のような揮発性記憶装置を含む場合がある。さらに、コンピューター可読媒体又は機械可読媒体は、有線ネットワーク又は無線ネットワークを含む、ネットワークリンク及び/又はネットワークインターフェースのような一時的状態の媒体内にあるコンピューター可読情報又は機械可読情報を含むことができ、デバイスがそのようなコンピューター可読情報又は機械可読情報を読み出すことができるようになる。
【0150】
「備える」、「含む」、「組み込む」、「収容する」、「である」、及び「有する」のような表現は、説明及び関連する特許請求の範囲を解釈する際に非排他的に解釈されるべきであり、すなわち、同様に存在していると明示的には規定されない他の項目又は構成要素を考慮に入れるように解釈されるべきである。単数形への参照は複数形への参照であるとも解釈されるべきであり、その逆も同様である。
【0151】
現時点で本発明の好ましい実施形態であるとみなされるものが図示及び説明されてきたが、本発明の真の範囲から逸脱することなく、種々の他の変更を加えることができること、及び代わりに均等物を用いることができることは当業者には理解されよう。さらに、本明細書において記述される中心的な発明の概念から逸脱することなく、特定の状況を本発明の教示に適合させるように数多くの変更を加えることができる。さらに、本発明の一実施形態は、上記の特徴の全てを含むとは限らない場合がある。それゆえ、本発明は開示される特定の実施形態に限定されるのではなく、上記で広く定義されたように本発明の範囲内に入る全ての実施形態を含むことを意図している。
【0152】
本明細書において開示される種々のパラメーターを変更できること、及び本発明の範囲から逸脱することなく、開示及び/又は特許請求される種々の実施形態を組み合わせることができることは当業者には容易に理解されよう。
図1
図2
図3
図4