(57)【要約】本発明は、少なくとも１つのデバイスを備えるファクトリーオートメーション（ＦＡ）ネットワークと、外部ネットワークとを備えるＦＡアーキテクチャにおいてメッセージを処理する方法に関し、当該方法は、ネットワークプローブによって実施され、外部ネットワークから発行されるとともに、ＦＡネットワークの少なくとも１つのデバイスのうちの１デバイスに意図されたメッセージをインターセプトすること（２０１）と、メッセージが意図されたデバイスに少なくとも基づいて事前定義されたカテゴリのセットの中でメッセージを分類すること（２０２）と、メッセージが分類されたカテゴリに少なくとも基づいてアラートを発行することを判断すること（２０３）とを含む。
2021507652.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのデバイスを備えるファクトリーオートメーション（ＦＡ）ネットワークと、外部ネットワークとを備えるＦＡアーキテクチャにおいてメッセージを処理する方法であって、該方法は、ネットワークプローブによって実施され、
前記外部ネットワークから発行されるとともに、前記ＦＡネットワークの少なくとも１つのデバイスのうちの１デバイスに宛てられたメッセージをインターセプトすることと、
前記メッセージが宛てられた前記デバイスに少なくとも基づいて事前定義されたカテゴリのセット中で前記メッセージを分類することと、
前記メッセージが分類された前記カテゴリに少なくとも基づいてアラートを発行することを判断することと、
を含む、方法。
【請求項２】
前記ネットワークプローブは、前記事前定義されたセットの少なくともカテゴリを、前記ＦＡネットワークの前記デバイスの識別子にマッピングする分類表を記憶する、請求項１に記載の方法。
【請求項３】
前記メッセージは、前記メッセージのタイプに更に基づいて分類される、請求項１又は２に記載の方法。
【請求項４】
前記分類表は、前記事前定義されたセットのカテゴリを、前記ＦＡネットワークの前記デバイスの識別子、かつメッセージタイプにマッピングする、請求項２及び３に記載の方法。
【請求項５】
前記メッセージのタイプは、
読み出しアクセスと、
書き込みアクセスと、
遠隔制御と、
マネジメントと、
デバイスロックと、
のうちの１つである、請求項３又は４に記載の方法。
【請求項６】
前記メッセージをパースして、前記メッセージがシグネチャを含むか否かを判断することと、前記メッセージがシグネチャを含む場合、該シグネチャを検証することとを更に含み、
前記メッセージは、前記メッセージがシグネチャを含むか否か、及び、前記シグネチャの前記検証に基づいて更に分類される、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
前記メッセージは、ＴＣＰを介してトランスポートされ、前記シグネチャは、前記メッセージに対応するＴＣＰコネクションの初期ＴＣＰシーケンス番号に依存する、請求項６に記載の方法。
【請求項８】
前記メッセージの前記シグネチャが肯定的に検証された場合、前記メッセージは、最も安全のカテゴリに分類され、
それ以外の場合、前記メッセージは、前記メッセージが意図されたデバイスに少なくとも基づいて分類される、請求項６又は７に記載の方法。
【請求項９】
ｍ個のカテゴリが事前定義され、０〜ｍ−１に付番され、０は、最も安全のカテゴリであり、少なくとも１つの限界値ｎｉがプレフィックスとして付され、ｉには、０〜ｍ−１が含まれ、前記アラートは、ｉ以上である、１カテゴリに分類されたメッセージの数がｎｉ以上である場合、発行される、請求項１〜８のいずれか１項に記載の方法。
【請求項１０】
前記メッセージは、前記外部ネットワークのアプリケーションによって発行され、前記アプリケーションは、前記ネットワークプローブを用いて認証され、前記アプリケーションからメッセージが受信されると、該メッセージは、デバイスのモジュールのリソースに宛てられ、前記分類表内の、前記リソース、前記モジュール又は前記デバイスにマッピングされるカテゴリは、事前定義されたカテゴリに設定される、請求項２及び請求項１〜９のいずれか１項に記載の方法。
【請求項１１】
前記事前定義されたカテゴリは、前記アプリケーションから受信された前記メッセージのタイプに依存する、請求項１０に記載の方法。
【請求項１２】
前記カテゴリは、第１の値から、前記事前定義されたカテゴリに対応する第２の値に変更され、タイマーの満了後、前記第１の値に再度設定される、請求項１０又は１１に記載の方法。
【請求項１３】
コンピューティングデバイスにロード可能であるとともに、該コンピューティングデバイスによってロードされて実行されると、該コンピューティングデバイスに、請求項１〜１２のいずれか１項に記載の方法のステップを実行させるように適合される、コンピュータープログラム命令が記憶されたコンピューター可読媒体を備えるコンピュータープログラム製品。
【請求項１４】
少なくとも１つのデバイスを備えるファクトリーオートメーション（ＦＡ）ネットワークと、外部ネットワークとを備えるＦＡアーキテクチャにおいてメッセージを処理するネットワークプローブであって、
前記外部ネットワークから発行されるとともに、前記ＦＡネットワークの少なくとも１つのデバイスのうちの１デバイスに意図されたメッセージをインターセプトするネットワークインターフェースと、
プロセッサであって、
前記メッセージが意図された前記デバイスに少なくとも基づいて事前定義されたカテゴリのセットの中で前記メッセージを分類することと、
前記メッセージが分類された前記カテゴリに少なくとも基づいてアラートを発行することを判断することと、
を行うように構成された、プロセッサと、
を備える、ネットワークプローブ。
【請求項１５】
請求項１４に記載のネットワークプローブと、ファクトリーオートメーション（ＦＡ）ネットワークとを備えるシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、包括的には、攻撃検出方法に関し、詳細には、ファクトリーオートメーションの状況における攻撃検出方法に関する。
【背景技術】
【０００２】
本節において説明される手法を追求することはできるが、これらの手法は、必ずしも以前に想起又は追求されている手法ではない。したがって、本明細書において別段に示されない限り、本節において説明される手法は、本出願における特許請求の範囲に対する従来技術ではなく、本節において含まれることによって従来技術であることを認めるものではない。
【０００３】
シームレスメッセージプロトコル（ＳＬＭＰ：Seamless Message Protocol）は、本来、本出願人によってプログラマブルロジックコントローラー（ＰＬＣ：Programmable Logic Controllers）との使用のために開発されたシリアル通信プロトコルである。その使用、フォーマット及び機能の記述は、オンラインで公的に入手可能である三菱電機株式会社によって公開されたＳＬＭＰリファレンスマニュアルにおいて説明されている。
【０００４】
このプロトコルは、類似の使用、機能及び展開を有するＭｏｄＢＵＳプロトコルに類似している。
【０００５】
これらのプロトコルにより、マネジメント及び制御のための、同じネットワークに接続された多くの産業デバイス間の通信が可能になる。
【０００６】
例えば、産業システムは、温度及び湿度を測定することができるとともに、コンピューターにそれらの結果を通信することができ、ＳＬＭＰ及びＭｏｄＢＵＳは、ＥＩＡ／ＴＩＡ−２３２、ＥＩＡ／ＴＩＡ−４８５又はＥｔｈｅｒｎｅｔ＋ＴＣＰ／ＩＰ等の複数の基本ネットワークレイヤを介してトランスポートすることができる。
【０００７】
それらの産業マネジメントプロトコルは、最大メッセージサイズを有するシンプルな要求／応答方式に基づいている。
【０００８】
プロトコル機能は、離散入力／コイル（ビットサイズエンティティ）又はレジスター（１６ビットワードエンティティ）から値を読み出すことと、コイル及びレジスターに値を書き込むことと、サーバーに診断を実行することと、実行中のソフトウェアを管理することとを含む。サーバーがクライアントからの要求を受信して処理した後、サーバーは、対応する応答をクライアントに返送する。応答は、通常応答又はエラー（例外）応答のいずれかとすることができる。
【０００９】
クライアントは、新たな要求を送信する前に、応答を待機する。
【００１０】
データモデル又は記述は、シリアルテーブルの非常にシンプルなセットであり、テーブルの全てが異なる特徴を有する。データモデル又は記述は、離散入力及びコイル（すなわち、リレー）等の、ＰＬＣ内に位置する異なるデバイスに対するシンプルなビットアクセス、又は入力及び内部レジスターに対する１６ビットワードアクセスを可能にする。
【００１１】
異なるデバイスにアクセスするのに用いられるアドレッシングモデルも非常にシンプルであり、一般に、異なるシリアルテーブルにアクセスするための固定範囲のアドレスにその本質がある。
【００１２】
しかしながら、これらのプロトコルは、初期的には、サイバーセキュリティ問題を考慮して設計されていなかった。したがって、これらのプロトコルは、既知の情報セキュリティ脅威を回避するセキュリティメカニズムを欠いている。例えば、これらのプロトコルは、トラフィックを暗号化する方法、メッセージの完全性をチェックする方法並びにクライアント及びサーバーを認証する方法を含まない。
【００１３】
産業システムの新世代（インダストリー４．０構想）は、より多くのファクトリーオートメーション（ＦＡ）ネットワークを外部の情報技術（ＩＴ）ネットワーク及びクラウドサーバーに接続することを要求することになり、サイバー攻撃のリスクが強いられる。実際には、攻撃者は、ＦＡネットワークの制御及びフィールドバスレベルに侵入して、秘匿情報を取得すること、ファクトリープロセスにおける中断を引き起こすこと、一部のデータを操作者が利用することができないようにすること、何らかの偽情報を操作者に返すこと等を試みる場合がある。
【００１４】
本来導入されたように、ＦＡマネジメント及び制御に用いられる通信は、ＴＣＰ又はＵＤＰを介して直接変動する場合がある非セキュアプロトコルに依拠する。
【００１５】
したがって、攻撃者は、以下のものを損なわせる傾向がある：
−トラフィックがネットワークにわたってクリアになるので、秘匿性；
−元のメッセージが通信リンクを通じて変化したか否かを知得するのは現在不可能であるので、完全性；及び／又は
−攻撃者が、作成したパケットを使用するか、又は、正当なパケットを再使用して、ネットワークリソース、クライアントリソース又はサーバーリソースを消費する（例えば、ＴＣＰコネクションを再設定する、フラッド攻撃を実行する等）可能性に起因して、可用性。
【００１６】
シンプルなＦＡネットワークアーキテクチャは、ＩＴプロトコル（Ｅｔｈｅｒｎｅｔ、ＴＣＰ／ＩＰ）とＦＡネットワークプロトコルとの間のインターフェースとして機能する中継局を介してＦＡネットワーク（制御レベル及びフィールドバスにおいて）に接続されたＩＴ−Ｅｔｈｅｒｎｅｔベースネットワークを含むことができる。
【００１７】
時として、ＰＬＣデバイスは、中継局を通じて中継することを伴わないＩＴデバイスとの直接通信のために、Ｅｔｈｅｒｎｅｔ標準規格を直接統合することができる。
【００１８】
このようなアーキテクチャでは、攻撃者は、ＩＴネットワークに接続されたＦＡネットワークの１つの局を損なわせる場合があり、ＦＡネットワークに配置された何らかのＰＬＣに悪意のあるコマンドの送信を試みる場合があり、フィールドバスに接続されるとともに攻撃されたＰＬＣによって制御されるロボットに損傷が与えられる。
【００１９】
上記で説明されたように、ＦＡネットワークのマネジメント及び制御に用いられるＳＬＭＰ及びＭｏｄＢＵＳ等のアプリケーションプロトコルは、セキュリティメカニズムを含まない。
【００２０】
ＦＡネットワークトポロジーの発展が理由で、ＦＡネットワークトポロジーは、今や、ＴＣＰ又はＵＤＰ及びＥｔｈｅｒｎｅｔ等の標準的な通信レイヤを介して集中的に用いられており、ＦＡネットワークに相互接続されたＩＴ通信ネットワークを介して益々用いられている。
【００２１】
一部の攻撃者は、ＦＡネットワークを損なわせる能力があり、その結果、ＦＡ設備及び生産ラインにおける何らかの大規模な中断が起こり得る。
【００２２】
したがって、何らかの損なわれたＩＴデバイスによって、（Ｅｔｈｅｒｎｅｔ）ＩＴネットワークを介してＦＡネットワークに向けて発信された悪意のあるメッセージを検出することができる効率的な攻撃検出方法が必要とされている。
【００２３】
従来技術によるいくつかの方法は、ＦＡネットワーク内で一時的にある潜在的な侵入を検出するために開発されたものである。
【００２４】
これらの方法のうちのいくつかは、侵入を検出するのにモデルベース手法を用いることにその本質がある。基本的な概念は、ＦＡネットワークアーキテクチャの異なる通信エンティティの期待される／許容可能な挙動を特徴付けるモデルを構築することである。この手法は、システムに、構築されたモデルの範囲外の挙動を行わせる攻撃を検出し、ＦＡマネジメントプロトコル、オペレーティングシステム（ＯＳ）プラットフォーム及びネットワーク接続インフラストラクチャに対する攻撃に適用可能である。
【００２５】
シグネチャベース手法と異なり、モデルベース手法の利点は、未知の攻撃を検出する可能性があることである。モデルベース手法は、ＦＡネットワークに特に良好に適応する。なぜならば、既知となっている攻撃の例がごく少数であるためである。
【００２６】
フラッドベースのサービス拒否（ＤｏＳ：Denial-of-Service）攻撃等の異常なアクティビティには、一般的に、アノマリーを示すパラメーター（例えば、受信要求率）の統計的特性の変化が伴う。
【００２７】
それゆえ、このような異常なアクティビティを検出する問題は、観測されるパラメーターの変化を、最小遅延かつ最小偽検出率で検出するという目標を有する変化検出問題とみなすことができる。
【００２８】
急激な変化を検出するために、異なる方法、すなわち、移動平均、累積和、スペクトル解析等が提案され、多くの場合に用いられている。
【００２９】
シグネチャ検出方法は、既知の攻撃を検出するのに用いられるが、これらの方法は、攻撃の実例を事前に知るとともに、それらの対応するトラフィックトレース又は特徴を知ることが必要とされる。これらの方法は、実行中のソフトウェアにおける脆弱性を利用することを目標とするバイトシーケンスを検出することができる。これらの方法は、ＩＴシステムにおいて展開される対ウィルスソフトウェアにおいて広く用いられる。
【００３０】
一代替形態として、これらの方法は、正当なトラフィックを効率的に検出するのにも用いることができる。産業マネジメントプロトコルに適用される場合、シグネチャ検出方法は、いくつかの特定のリソースへの読み出し又は書き込み要求アクセスを検出し、これらの要求アクセスが通常ではない又は信頼性がない局から発行されるとアラームをトリガーすることが可能であり得る。
【００３１】
しかしながら、効率的かつ適用可能な検出方法は、シグネチャ攻撃検出方法にのみ頼ることはできない。なぜならば、知られているＦＡ攻撃の例がごく少数であるとともに、ネットワークトラフィックトレース及び特徴が入手可能ではないためである。
【００３２】
加えて、攻撃は、いくつかの特定のＦＡ展開及び特定のネットワークアーキテクチャに向けて設計される。すなわち、ＦＡアプリケーション及びネットワークトポロジーの多様性を考慮して、関連するシグネチャデータベースを構築することは、非常に困難なタスクであり、最新版を維持することは非常に難しい。
【発明の概要】
【発明が解決しようとする課題】
【００３３】
それゆえ、上述の短所のうちの少なくとも一部を克服するセキュリティポリシーを実施する必要がある。
【課題を解決するための手段】
【００３４】
これらの必要性のうちの少なくともいくつかに対処するために、本発明の第１の態様は、少なくとも１つのデバイスを備えるファクトリーオートメーション（ＦＡ）ネットワークと、外部ネットワークとを備えるＦＡアーキテクチャにおいてメッセージを処理する方法であって、この方法は、ネットワークプローブによって実施され、
−外部ネットワークから発行されるとともに、ＦＡネットワークの少なくとも１つのデバイスのうちの１デバイスに意図されたメッセージをインターセプトすることと、
−メッセージが意図されたデバイスに少なくとも基づいて事前定義されたカテゴリのセット中でメッセージを分類することと、
−メッセージが分類されたカテゴリに少なくとも基づいてアラートを発行することを判断することと、
を含む、方法に関する。
【００３５】
したがって、セキュリティポリシーは、単に、外部ネットワークから発行されるとともに、ＦＡネットワークデバイスに意図されたメッセージ（コマンド）をモニタリングすることによって、ＦＡネットワークを変更する必要なく定義することができる。実際には、ＦＡデバイスは、ハードウェア制約及び生産環境が理由で更新するのが困難である。これらのデバイスを、より良好な性能を有する新たなモデルに容易に交換することはできない。このような方法は、シグネチャベースではないので、複数のタイプの攻撃を検出することも可能にする。
【００３６】
メッセージは、任意のタイプのコマンド等の任意のＦＡマネジメントメッセージを指定することができる。
【００３７】
いくつかの実施形態によれば、ネットワークプローブは、事前定義されたセットの少なくともカテゴリを、ＦＡネットワークデバイスの識別子にマッピングする分類表を記憶する。
【００３８】
したがって、所与のセキュリティポリシーを、事前に定義することもできるし、連続的に更新することもでき、かつ、分類表を用いて実施することができ、これにより、ネットワークプローブが、メッセージを分類するのに迅速な判断を行うことが可能になる。
【００３９】
補足として、デバイスの識別子は、以下を識別することができる。
−ＦＡネットワーク；
−ＦＡネットワークのデバイス；
−デバイスのモジュール。当該モジュールは、デバイスの所与の機能に専用である；及び／又は
−モジュール内のリソース。
【００４０】
したがって、セキュリティポリシーを定義するときに、異なるレベルの粒度を用いることができる。
【００４１】
いくつかの実施形態によれば、メッセージは、メッセージのタイプに基づいて分類することもできる。
【００４２】
これにより、セキュリティポリシーにおいてより良好な精度を有することが可能になる。
【００４３】
補足として、分類表は、事前定義されたセットのカテゴリを、ＦＡネットワークのデバイスの識別子、かつメッセージタイプにマッピングすることができる。
【００４４】
これにより、ネットワークプローブが、メッセージを分類するとき及びアラートを発行するときに迅速な判断を行うことが可能になる。
【００４５】
また、補足として、メッセージは、ＳＬＭＰプロトコルによるものとすることができ、メッセージのタイプは、以下のうちの１つとすることができる。
−読み出しアクセス；
−書き込みアクセス；
−遠隔制御；
−マネジメント；及び
−デバイスロック。
【００４６】
したがって、方法は、ＳＬＭＰ  ＦＡネットワークの状況において用いることができる。しかしながら、同じ原則を、ＭｏｄＢＵＳ  ＦＡネットワークに用いることができる。
【００４７】
いくつかの実施形態によれば、方法は、メッセージをパースして、メッセージがシグネチャを含むか否かを判断することと、メッセージがシグネチャを含む場合、このシグネチャを検証することとを更に含むことができ、メッセージは、メッセージがシグネチャを含むか否か、及び、シグネチャの検証に基づいて更に分類することができる。
【００４８】
シグネチャを用いることにより、最も安全のカテゴリにメッセージを安全に分類することが可能になる。
【００４９】
補足として、メッセージは、ＴＣＰを介してトランスポートすることができ、シグネチャは、メッセージに対応するＴＣＰコネクションの初期ＴＣＰシーケンス番号に依存することができる。
【００５０】
新たなＴＣＰコネクションごとに一意かつランダムに生成される、ＴＣＰ  ＳＹＮ−ＡＣＫメッセージに含まれるＴＣＰシーケンス番号等の初期ＴＣＰシーケンス番号を用いることにより、攻撃者からの反射攻撃を回避することが可能になる。
【００５１】
また補足として、メッセージのシグネチャが肯定的に検証された場合、メッセージは、最も安全のカテゴリに分類することができ、それ以外の場合、メッセージは、メッセージが意図されたデバイスに少なくとも基づいて分類することができる。
【００５２】
これにより、より効率的にメッセージを分類することが可能になる。
【００５３】
いくつかの実施形態によれば、ｍ個のカテゴリを事前定義することができ、０〜ｍ−１に付番され、０は、最も安全のカテゴリであり、少なくとも１つの限界値ｎｉがプレフィックスとして付され、ｉには、０〜ｍ−１が含まれ、アラートは、ｉ以上である、１カテゴリに分類されたメッセージの数がｎｉ以上である場合、発行することができる。
【００５４】
これにより、ＦＡネットワークのセキュリティポリシーを柔軟に定義することが可能になる。
【００５５】
いくつかの実施形態によれば、メッセージは、外部ネットワークのアプリケーションによって発行することができ、アプリケーションは、ネットワークプローブを用いて認証することができ、アプリケーションからメッセージが受信されると、このメッセージは、デバイスのモジュールのリソースに宛てられ、分類表内の、リソース、モジュール又はデバイスにマッピングされるカテゴリを、（初期カテゴリよりも安全である）事前定義されたカテゴリに設定することができる。
【００５６】
これにより、分類表の少なくとも一部を自動的に埋めることが可能になる。その場合、同じリソース／モジュール又はデバイスに意図された後続のメッセージを分類するのに、事前定義されたカテゴリが用いられる。いくつかの実施形態によれば、事前定義されたカテゴリは、アプリケーションから受信されたメッセージのタイプに依存することができる。
【００５７】
その場合、事前定義されたカテゴリは、メッセージタイプごとに区別される。例えば、書き込みメッセージの事前定義されたカテゴリは、読み出しメッセージの事前定義されたカテゴリ（重要度が低い）よりも上位にある（したがって、より高い危険レベルに対応する）。
【００５８】
補足として、カテゴリは、第１の値から、事前定義されたカテゴリに対応する第２の値に変更され、タイマーの満了後、第１の値に再度設定される。
【００５９】
これにより、信頼されたアプリケーションによってもはや要求されないリソースにアラートを発行することが可能になる。
【００６０】
本発明の別の態様は、コンピューティングデバイスにロード可能であるとともに、このコンピューティングデバイスによってロードされて実行されると、このコンピューティングデバイスに、本発明の第１の態様による方法のステップを実行させるように適合される、コンピュータープログラム命令が記憶されたコンピューター可読媒体を備えるコンピュータープログラム製品に関する。
【００６１】
本発明の第３の態様は、少なくとも１つのデバイスを備えるファクトリーオートメーション（ＦＡ）ネットワークと、外部ネットワークとを備えるＦＡアーキテクチャにおいてメッセージを処理するネットワークプローブであって、
−外部ネットワークから発行されるとともに、ＦＡネットワークの少なくとも１つのデバイスのうちの１デバイスに意図されたメッセージをインターセプトするネットワークインターフェースと、
−プロセッサであって、
−メッセージが意図されたデバイスに少なくとも基づいて事前定義されたカテゴリのセットの中でメッセージを分類することと、
−メッセージが分類されたカテゴリに少なくとも基づいてアラートを発行することを判断することと、
を行うように構成された、プロセッサと、
を備える、ネットワークプローブに関する。
【００６２】
本発明の第４の態様は、第３の態様によるネットワークプローブと、ファクトリーオートメーション（ＦＡ）ネットワークとを備えるシステムに関する。
【００６３】
本発明は、添付図面の図に、限定としてではなく例として示される。添付図面において、同様の参照符号は同様の要素を参照する。
【図面の簡単な説明】
【００６４】
【図１】本発明のいくつかの実施形態によるシステムＦＡネットワークアーキテクチャを表す図である。
【図２】本発明のいくつかの実施形態による方法のステップを示す図である。
【図３】本発明のいくつかの実施形態によるネットワークプローブの構造を示す図である。
【図４】読み出し／書き込みメッセージのＳＬＭＰフォーマットを示す図である。
【発明を実施するための形態】
【００６５】
図１は、本発明の一実施形態による、少なくとも１つのデバイスを備えるＦＡネットワーク１０２と、外部ネットワーク１０３とを備えるファクトリーオートメーション（ＦＡ）アーキテクチャを示している。
【００６６】
図１について、ＦＡネットワーク１０２は、３つのデバイス１０４．１、１０４．２及び１０４．３を備え、これらのデバイスは、例えば、プログラマブルロジックコントローラー（ＰＬＣ）である。
【００６７】
各デバイスは、１つ又はいくつかのモジュールに関連付けることができ、各モジュールは、所与の機能に専用のものである。例えば、所与のデバイスの第１のモジュールは、第１の機械を制御するのに専用とすることができ、一方、所与のデバイスの第２のモジュールは、第２の機械又はセンサーを制御するのに専用とすることができる。
【００６８】
図１上で示される例について、デバイスの各々が２つのモジュールを含む。しかしながら、１つのデバイスが１つ又はいくつかのモジュールを含むことができること、及び、デバイス同士が同じ数のモジュールを有しない場合があることを理解することができる。
【００６９】
第１のデバイス１０４．１は、第１のモジュール１０５．１及び第２のモジュール１０５．２を含み、第２のデバイス１０４．２は、第３のモジュール１０５．３及び第４のモジュール１０５．４を含み、第３のデバイス１０４．３は、第５のモジュール１０５．５及び第６のモジュール１０５．６を含む。
【００７０】
アーキテクチャは、外部ネットワーク１０３とＦＡネットワーク１０２との間のインターフェースとして機能することができる中継局１０１（ＲＥＬＡＹ１０１）も備える。実際には、ＦＡネットワークにおいて、ＳＬＭＰ又はＭｏｄＢＵＳ等のＦＡマネジメントプロトコルを用いて、デバイス１０４を制御することができる。以下の記載では、単に例示の目的で、ＳＬＭＰの例が検討される。
【００７１】
外部ネットワークは、Ｅｔｈｅｒｎｅｔネットワーク等のＩＴネットワークとすることができる。その事例において、中継局１０１は、Ｅｔｈｅｒｎｅｔを介して搬送されたＴＣＰフレーム又はＵＤＰフレーム内に含まれるＳＬＭＰメッセージを抽出するように構成されたＥｔｈｅｒｎｅｔアダプターとすることができる。前述で説明されたように、ＳＬＭＰ及びＭｏｄＢＵＳは、ＥＩＡ／ＴＩＡ−２３２、ＥＩＡ／ＴＩＡ−４８５又はＥｔｈｅｒｎｅｔ＋ＴＣＰ／ＩＰ（又はＵＤＰ）等の複数の基本レイヤを介してトランスポートすることができる。
【００７２】
以下の記載では、単に例示の目的で、Ｅｔｈｅｒｎｅｔ＋ＴＣＰ又はＵＤＰの特定の例が検討される。
【００７３】
本発明によるネットワークプローブ１００は、外部ネットワークとＦＡネットワークとの間、又は、ネットワークプローブ１００が、外部ネットワーク１０３のアプリケーションから発行されるとともに、デバイス１０４のうちの１つに意図される任意のＥｔｈｅｒｎｅｔフレームをインターセプトすることができる任意のロケーションに位置することができる。
【００７４】
例えば、ネットワークプローブ１００は、ファイヤーウォール内に挿入することができる。
【００７５】
以降で説明するように、ネットワークプローブ１００は、任意のＥｔｈｅｒｎｅｔフレームをモニタリング及び検査するように構成され、特に、ＴＣＰ又はＵＤＰネットワークレイヤを介してトランスポートされるＦＡマネジメントプロトコル（例えばＳＬＭＰ）要求及び応答メッセージを解析するように構成される。また、メッセージは、少なくともメッセージのタイプ及びメッセージの宛先を含むいくつかの基準に従って分類することができる。分類は、アクセス頻度、アクセスされるリソースのタイプ及びメッセージの送信元も考慮に入れることができる。以降で説明するように、ネットワークプローブ１００は、外部ネットワーク１０３内の実行中クライアントアプリケーションをネットワークプローブ１００が完全に信頼することができるように、ＦＡマネジメントメッセージ内に挿入されるシグネチャをチェックするようにも構成される。
【００７６】
クライアントアプリケーションは、外部ネットワーク１０３上の異なるエンティティに対応することができ、エンティティのうちのいくつかが例示の目的で図１上に示されている。例えば、クライアントアプリケーションは、信頼されたセーフティコントローラー１０６（ＳＡＦ１０６）、信頼された監視コントローラー１０７（ＳＵＰＥＲ  ＶＩＳＯＲ１０７）、又は信頼されていない局１０８（ＵＮＴＲＵＳＴ１０８）に対応することができる。
【００７７】
「信頼された（Trusted）」は、アプリケーションがネットワークプローブ１００によって既知であるか又は認証されていることを意味する。例えば、これは、アプリケーションによって送信されたメッセージのシグネチャが、ネットワークプローブ１００によって以前に検証されており、妥当性があるとみなされていることを意味する。
【００７８】
図２は、本発明のいくつかの実施形態による方法のステップを示すフローチャートである。方法は、ネットワークプローブ１００によって実施される。
【００７９】
ステップ２０１において、ネットワークプローブ１００は、外部ネットワーク１０３の１つのアプリケーションから発行されるとともに、ＦＡネットワーク１０２のデバイス１０４のうちの１つに意図されるメッセージをインターセプトする。
【００８０】
ステップ２０２において、ネットワークプローブ１００は、メッセージが意図される宛先のデバイス（デバイスの識別子）に少なくとも基づいて、事前定義されたカテゴリのセットの中でメッセージを分類する。分類規則を決定するために、種々のセキュリティポリシーを定義及び適用することができる。第１の実施形態によれば、認証されていないアプリケーションによる、クリティカルとみなされるデバイスへのアクセスは、最も危険のカテゴリに分類され、一方、認証されたアプリケーションによるアクセスは、最も信頼された又は最も安全のカテゴリに分類することができる。
【００８１】
別の実施形態によれば、ネットワーク１００がファイヤーウォールに結合されて、クリティカルデバイスに意図された信頼されていないトラフィックがブロックされる。例えば、ネットワークプローブ１００は、信頼されたアプリケーションのみに対して、クリティカルデバイスへのアクセスを許可する（ファイヤーウォールへのアラートを発行しないようにする）ことができる。アプリケーションを実行する外部ネットワーク１０３のエンティティが感染した場合でも、攻撃者が、クリティカルデバイスにアクセスするためにいくつかのＦＡマネジメントメッセージを偽造することが可能ではなくなる。なぜならば、攻撃者は、（署名を行うためのクレデンシャルを有しないので）自身の悪意のあるメッセージに署名することができないためである。例えば、信頼されていないアプリケーションは、非クリティカルデバイスへのみアクセスすることができるが、クリティカルデバイスへのアクセスは、ファイヤーウォールによってブロックされる。
【００８２】
クリティカルデバイスは、機能のうちの１つがクリティカルであるとみなされるデバイスとみなすことができる。例えば、火災センサーの機能は、所与の工場のためのセキュリティの観点でクリティカルとみなすことができ、一方、温度又は湿度センサーの機能は、非クリティカルとみなすことができる。
【００８３】
したがって、これらの２つの実施形態によれば、メッセージを分類するために考慮に入れられる基準は、メッセージが意図される宛先のデバイス、及びメッセージが発行されるアプリケーション（信頼されているか、又は信頼されていない）である。
【００８４】
基準の他の組み合わせを用いるステップ２０２の他の実施形態は、以下の記載で説明されることになる。
【００８５】
ステップ２０３において、ネットワークプローブ１００は、メッセージが分類されるカテゴリに少なくとも基づいてアラートを発行することを判断する。アラートは、メッセージをブロックするためにファイヤーウォールに送信することができる。代替的に、アラートは、信頼されたセーフティコントローラー１０６に送信することができる。いくつかの実施形態によれば、かつ、以降で更に詳述されるように、いくつかの分類済みメッセージのカテゴリを、アラートが発行されるべきか否かを判断するときに考慮に入れることができる。
【００８６】
以下の記載では、ＦＡマネジメントメッセージを認証するためにシグネチャを導入することが提案される。その場合、シグネチャは、メッセージを分類するために、ネットワークプローブ１００がパースするとともに考慮に入れることができる。既に説明されたように、ＳＬＭＰプロトコルの例が、単に例示の目的で検討される。
【００８７】
ＳＬＭＰは、セキュリティを念頭に置いて設計されていない。本発明のいくつかの実施形態は、ＳＬＭＰパケットフォーマットを変更することなく、ＳＬＭＰメッセージを認証するシグネチャを導入することを提案する。実際には、全ての互換性を有するＳＬＭＰデバイス及びアプリケーションが、いずれのＳＬＭＰメッセージも復号することが可能であり続けるべきである。
【００８８】
本発明によれば、ＳＬＭＰメッセージは、ＴＣＰプロトコルを介してトランスポートされる場合、ＳＬＭＰクライアントアプリケーションごとに（例えば図１上に示すエンティティ１０６〜１０８の各々について）異なるとともに、ネットワークプローブ１００によって既知であるコネクションシグネチャ鍵（ＣＳＫ：Connection Signature Key）を用いて署名することができる。
【００８９】
ＣＳＫは、全ての信頼されたアプリケーション及びネットワークプローブ１００によって既知である暗号化ルート（ＥＲ：Encryption Root）値から計算することができる。この値は、例えば、セキュアなチャネルを介して共有することができる。
【００９０】
ＳＬＭＰがＴＣＰを介してトランスポートされる事例において、ＴＣＰコネクションｉについて、ＣＳＫは、以下のように求めることができる。
ＣＳＫｉ＝ｄｆ（ＥＲ，ＩＶｉ）、ここで、ｄｆは、ダイバーシティ関数であり、ＩＶｉは、コネクションｉについて用いられる初期化ベクトルである。例えば、ＴＣＰ  ＳＹＮ−ＡＣＫパケット内の、ＳＬＭＰサーバー（デバイス１０４のうちの１つ）として機能するエンティティによって返されるＴＣＰシーケンス番号は、ＩＶｉとして用いることができる。実際には、この値は、有利には、新たなＴＣＰコネクションごとにランダムに生成される。
【００９１】
【数１】
2021507652.tif 000003
ここで、ＳＮＳＹＮＡＣＫ，ｉは、コネクションｉについての返されたＴＣＰシーケンス番号であり、ＩＰｓｒｃは、送信元のＩＰアドレスであり、ＩＰｄｓｔは、宛先のＩＰアドレスであり、ＬＳＢは、最下位ビット（Least Significant Bit）を指定する。
【００９２】
その場合、ＣＳＫは、ＴＣＰペイロードとしてトランスポートされるＳＬＭＰメッセージを署名するのに用いられる。署名は、好ましくはＳＨＡ２５６アルゴリズムを用いる、鍵付きハッシュメッセージ認証コード（ＨＭＡＣ：Keyed-Hash message Authentication Code）によって実行することができる。結果として得られるメッセージ認証コード（ＭＡＣ：Message Authentication Code）は、以下のように定義することができる。
【００９３】
ＭＡＣ＝ＨＭＡＣ（ＣＳＫｉ，Ｍ）、ここで、ＣＳＫｉは、ＴＣＰコネクションｉについてのＣＳＫであり、Ｍは、ＳＬＭＰメッセージと３２ビットメッセージカウンターとの連結である。
【数２】
2021507652.tif 000004
「｜｜」は、連結演算を指定するものである。
【００９４】
ＳＬＭＰメッセージフォーマットでは本来メッセージカウンターはないので、３２ビットメッセージカウンターは、エミッター及び受信機の双方において内在的に維持されることになる。
【００９５】
このメッセージカウンターにより、２つの類似のＳＬＭＰ要求を区別することが可能になり、これにより、攻撃者が、反射攻撃（同じ許可済みメッセージを複数回送信すること）を実行することが防止される。
【００９６】
３２ビットメッセージカウンターのこの例は、例示のために与えられる。しかしながら、この実施形態は、任意のメッセージカウンターに拡張することができる。
【００９７】
いくつかの実施形態によれば、ＳＬＭＰメッセージ認証コード（ＭＡＣ）又はシグネチャは、ヘッダー（サブヘッダー、要求宛先ネットワーク等）及び要求／応答データを含むＳＬＭＰメッセージ全体に基づくものとすることができる。ＳＬＭＰシグネチャを計算する前に、予約フィールドは、０に設定することができる。
【００９８】
デバイス１０４のうちの１つに意図されたＳＬＭＰメッセージ内に挿入されたＳＬＭＰシグネチャは、その後、メッセージを分類するときにネットワークプローブ１００によってチェックすることができる。例えば、ＳＬＭＰシグネチャは、他の目的では用いられないＳＬＭＰメッセージのフィールド内に挿入することができる。
【００９９】
図３は、いくつかの実施形態によるネットワークプローブ１００の詳細な構造を示している。
【０１００】
ネットワークプローブ１００は、ネットワークインターフェース３０１、例えば、例として外部ネットワーク１０３からＥｔｈｅｒｎｅｔフレームを受信するＥｔｈｅｒｎｅｔインターフェースを備える。
【０１０１】
その場合、Ｅｔｈｅｒｎｅｔフレームは、ＴＣＰコネクション／ＵＤＰセッションマネージャ３０２を備えるプロセッサ３１１によって処理することができる。マネージャ３０２は、ＴＣＰコネクション及びＵＤＰデータストリームをモニタリングするように構成される。このようなモニタリングは、４つ組［送信元ＩＰアドレス；送信元ＴＣＰ／ＵＤＰポート；宛先ＩＰアドレス；宛先ＴＣＰ／ＵＤＰポート］によって識別される特定の情報コンテキストを維持することにその本質がある場合がある。このコンテキストを用いて、ＴＣＰコネクション／ＵＤＰデータストリームに関する情報が記憶されるとともに、これが更新される。
【０１０２】
ＴＣＰの場合、ＳＹＮ／ＳＹＮ−ＡＣＫ／ＡＣＫ  ＴＣＰパケットシーケンスが受信されると、新たなコンテキストがオープンされる。
【０１０３】
いくつかの実施形態によれば、ネットワークプローブ１００は、全てのＥｔｈｅｒｎｅｔトラフィックを解析してしまわないように、いずれのＳＬＭＰメッセージも抽出することなく、到来パケットをフィルタリングすることができる。例えば、いくつかのフィルターは、所与の範囲に含まれる宛先ＴＣＰ／ＵＤＰポートを有するトラフィックのみを解析するように定義することができる。いくつかの他の実施形態によれば、パターンマッチングアルゴリズムを適用して、いくつかの所定のＦＡマネジメントプロトコルを検出することができる。これらのプロトコルが検出されない場合、Ｅｔｈｅｒｎｅｔトラフィックは、単に宛先に転送される。
【０１０４】
ＴＣＰセグメントを搬送するＥｔｈｅｒｎｅｔフレームの事例において、連続データストリームがＳＬＭＰ検出器３０４に渡されるようにするために、ＴＣＰデータは、抽出されて、ＴＣＰリアセンブリバッファ３０３内でリアセンブリされ得る。
【０１０５】
ＵＤＰセグメントの事例において、ＵＤＰセグメントは、ＳＬＭＰ検出器に直接転送される。
【０１０６】
ＳＬＭＰ検出器３０４は、ＴＣＰコネクション又はＵＤＰパケットが正しいＳＬＭＰデータを伝達するか否かをチェックするように構成される。これを達成するために、ＳＬＭＰメッセージ（要求又は応答）のサブヘッダーＳＬＭＰ値がチェックされることで、ＡＳＣＩＩコードのバイナリの形式で、ＳＬＭＰ仕様に従ってサブヘッダーＳＬＭＰ値が特定の値を含むか否かがチェックされる。ＳＬＭＰ検出器３０４は、要求されるデータ長が遵守されているか否か（実データ長がデータ長フィールドにおいて示されるデータ長に対応するか否か）をチェックするように構成することもできる。補足として、ＳＬＭＰ検出器３０４は、メッセージデータ長がメッセージのタイプと整合しているか否かをチェックするように構成することができる。
【０１０７】
ＳＬＭＰによれば、以下の５つの異なるタイプのメッセージがある。
−デバイスの異なるリソースに対する読み出しアクセス
−（レジスター、Ｉ／Ｏ、リレー、タイマー、カウンター等）；
−デバイスの異なるリソースに対する書き込みアクセス；
−遠隔制御、特に、デバイスを遠隔で停止させるための遠隔制御；
−マネジメント（セルフテスト；エラー、読み出しタイプ名のクリア；グローバル信号）
−パスワードを規定することによってデバイスをセキュア化するのに用いられるデバイスロック。
【０１０８】
メッセージが正しいＳＬＭＰデータを伝達しない場合、メッセージは、キャンセルし、及び／又は、宛先デバイスに転送しないものとすることができる。
【０１０９】
ＳＬＭＰメッセージが正しい場合、かつ、このメッセージが署名されている場合、これは、ＳＬＭＰセキュリティユニット３０５に転送される。ＳＬＭＰメッセージが正しい場合、かつ、このメッセージが署名されていない場合、これは、ＳＬＭＰメッセージプロセッサ３０６に直接転送される。ＳＬＭＰメッセージが署名されているか否かは、メッセージがシグネチャを含むか否かを示すフィールドを検出することによってチェックすることができる。例えば、予約された１６ビットフィールドの第１の最上位ビット（ＭＳＢ）が、シグネチャが導入されているか否かを示す。例えば、このＭＳＢが１に設定されている場合、これは、ＳＬＭＰメッセージが署名されていることを示す。
【０１１０】
加えて、ＴＣＰを介して搬送される（そして署名される）ＳＬＭＰメッセージのみを、ＳＬＭＰセキュリティユニット３０５に送信することができ、ＵＤＰを介して搬送されるＳＬＭＰメッセージは、ＳＬＭＰメッセージプロセッサ３０６に直接転送される。
【０１１１】
ＳＬＭＰセキュリティユニット３０５は、ＳＬＭＰメッセージに含まれるシグネチャをチェックするように構成される。これを達成するために、ＭＡＣ値が（例えば、ＴＣＰシーケンス番号に基づいて）上記で計算された値に対応するか否かがチェックされる。
【０１１２】
シグネチャが正しい場合、ＳＬＭＰセキュリティユニット３０５は、ＴＣＰコネクションを信頼されたものとマーク付けするように構成される。したがって、信頼されたＴＣＰコネクションに属するＳＬＭＰメッセージを更にチェックする際、これらのＳＬＭＰメッセージのうちの１つがシグネチャを含まないか又は誤ったシグネチャを含む場合、これは、ＳＬＭＰメッセージプロセッサ３０６によって最も危険のカテゴリに分類することができる。
【０１１３】
最後に、ＳＬＭＰメッセージプロセッサ３０６は、ＳＬＭＰメッセージを処理する。ＳＬＭＰ分類構築器３０７が、ＳＬＭＰメッセージから関連情報（例えば、以下の情報、すなわち、シグネチャの有無、宛先、送信元、メッセージタイプ等のうちの１つ又は任意の組み合わせ）を抽出する。
【０１１４】
その後、抽出された情報は、データベース３０８に記憶された分類表を有するＳＬＭＰ分類器ユニット３０９によって用いられて、ＳＬＭＰメッセージが、事前定義されたカテゴリのセットのうちの１カテゴリに分類される。
【０１１５】
例えば、カテゴリのセットは、少なくとも２つのカテゴリ（正当／安全及び危険／クリティカル）を含むことができる。いくつかの好ましい実施形態によれば、カテゴリのセットは、３つ以上のカテゴリを含むことができる。例えば、カテゴリは、０（正当／安全）〜４（クリティカル／危険）を付番することができる。セキュリティポリシーに従って、最後の分類されたＳＭＴＰメッセージのカテゴリに少なくとも基づいて、ステップ２０３においてアラートを発行することができる。アラートは、出力インターフェース３１０によって発行されるアラームとするとともに、例えばファイヤーウォールに送信することができる。
【０１１６】
プロセッサ３１１によって実施される全ての動作は、図２上に示された分類ステップ２０２のサブステップとみなすことができる。
【０１１７】
所与のセキュリティポリシーに従って、ｉよりも高い分類レベルを有するｎｉ個のＳＭＴＰメッセージの受信の後に、アラートを発行することができる。例えば、値ｎ３＝３が記憶された場合、かつ、カテゴリ４の１つのＳＬＭＰメッセージ及びカテゴリ３の２つのＳＬＭＰメッセージが受信された場合、アラートが発行される。ｎｉの単数又は複数の値は、アドミニストレーターによって規定することができ、これらの値は、発行されたアラートの数とグローバルセキュリティとの間のトレードオフに依存することができる。
【０１１８】
コネクションが信頼されているか否かは、以降で説明されるように、分類表を更新するのに用いることができる。
【０１１９】
上記で説明されたように、ＳＬＭＰメッセージをカテゴリのうちの１つに分類するのに、いくつかの基準を考慮に入れることができる。
【０１２０】
メッセージタイプを考慮に入れることができる。メッセージタイプは、ＳＬＭＰメッセージのコマンドフィールドにおいて示される。
【０１２１】
いくつかの実施形態によれば、ＳＬＭＰメッセージが正しく署名されている場合、メッセージは、正当であるとみなすことができ、カテゴリ０を有効にすることができる。また、ＳＬＭＰメッセージが署名されていない場合、分類レベルは、宛先デバイス、又はより正確には宛先モジュール、及びメッセージタイプに依存することができる。
【０１２２】
加えて、読み出しタイプ及び書き込みタイプ等のデバイスアクセスについて、分類レベルは、以降の表２において記載されるように、ＳＬＭＰフレームフォーマットにおいて示される、アクセスされるリソースのタイプ及びそれらのアドレスに依存することもできる。
【０１２３】
物理ＳＬＭＰアドレス可能モジュール１０５．１〜１０５．６ごとに、表１は、ＳＬＭＰメッセージ分類器３０９によって署名なしＳＬＭＰメッセージにカテゴリを配分することができる方法の例を与える。
【０１２４】
【表１】
2021507652.tif 000005
【０１２５】
この例では、Ｎｅｔ＃０は、ＦＡネットワーク１０２を識別する。実際には、ネットワークプローブ１００は、いくつかのＦＡネットワークを担当することができ、その事例では、宛先ＦＡネットワークは、識別される必要がある。
【０１２６】
表１では、カテゴリは、モジュールごとに区別される。いくつかの実施形態によれば、カテゴリは、デバイスごとにのみ区別することができる。
【０１２７】
読み出しメッセージタイプ及び書き込みメッセージタイプの場合、アドレス可能デバイスごとに、又はアドレス可能モジュールごとに、２つの専用分類表を定義することができる。このような分類表において、所与のアドレス可能モジュール又はデバイスについて、カテゴリは、リソースのタイプ、及びリソースのアドレス範囲に従って区別することができる。
【０１２８】
この例では、３つ組（０，１，０）によって識別されるモジュールは、モジュール１０５．３を指定する（最初の「０」によってネットワーク０が参照され、「１」によってデバイス１０４．２が参照される）。３つ組の値は、ネットワークの数並びに各ネットワークにおいてアドレス可能なデバイス及びモジュールの数に依存して１つ又はいくつかのビットを用いてコード化することができることに留意されたい。
【０１２９】
【表２】
2021507652.tif 000006
【０１３０】
表２において記載される例では、リレーリソースタイプは、例えばモーターを制御する（オフ又はオンに切り替える）ためのリソースを指定することができる。データレジスターリソースが、モーター速度を格納することができる。
【０１３１】
一般に、リソースのタイプは、いくつかの専用フィールドによってメッセージ内で示される。例えば、ＳＬＭＰについて、プロトコルメッセージの構造が図４上に示される。図４は、読み出し／書き込みメッセージ（要求及び応答）の場合のＳＬＭＰフォーマットを示している。詳細には、これらのメッセージは、メッセージのタイプを識別する「コマンド」フィールド及び「サブコマンド」フィールドを含む。
【０１３２】
注目することができるように、フィールドは、宛先ネットワーク、局及びモジュールに専用である。また、ＳＬＭＰは、連続したビット又は単語のセットを読み出す／書き込むようにバッチコマンドを構築する可能性を提供する。
【０１３３】
分類表の定義は、期待されるセキュリティレベル及び特定のＦＡネットワークの特徴に依存するタスクである。これは、全てのモジュール又はデバイスの全てリソースが、ネットワークアドミニストレーターによって分類表内で宣言及び参照されなくてはならない場合があるので、長く厄介なタスクである。
【０１３４】
本発明のいくつかの実施形態は、分類表を埋めることを少なくとも部分的に可能にする自動学習方法を提供することによって、これらの短所に対処することを可能にする。
【０１３５】
これらの実施形態によれば、分類表、特に読み出し／書き込みメッセージタイプに対応する分類表を埋めるのに、信頼されたコネクションに対応するメッセージを用いることができる。
【０１３６】
これは、以下の仮定に依拠する。すなわち、正当なアプリケーションが特定のデバイス、モジュール又はリソースにアクセスした場合、同じデバイス／モジュール／リソースに、リスクを伴うことなく他のアプリケーションもアクセスすることができるとみなすことができる。
【０１３７】
この規則は、信頼されたアプリケーションがモジュール／リソースに対するアクセスを発行するときに設定される読み出しアクセス及び書き込みアクセスのカテゴリを事前定義することによって緩和することができる。例えば、特定のモジュールのための読み出しアクセスの事前定義されたカテゴリは１に設定されるとともに、書き込みアクセスの事前定義されたカテゴリは２に設定されることを想定する。事前定義されるカテゴリに対して制限は付されない。
【０１３８】
リソースに対する書き込み／読み出しアクセスのデフォルトのカテゴリが、信頼されたアプリケーションがこれらのリソースに対する読み出し／書き込みアクセスを行うまで、適用される。
【０１３９】
例えば、信頼された監視コントローラー１０７等の正当なアプリケーション（例えば認証されたアプリケーション）がモジュール１０５．３のリレー＃１０〜１３に宛てた読み出しアクセスメッセージを発行した場合、ネットワークプローブは、これらのリソースに対する読み出しアクセスタイプメッセージに関連付けられたカテゴリを、１に等しい事前定義されたカテゴリに設定する。後続する読み出しアクセスタイプメッセージは、信頼されていないアプリケーションから発行されるとともに、これらのリソースに意図されている場合であっても、カテゴリ１に分類されることになる。
【０１４０】
しかしながら、信頼されていないアプリケーションから発行された、これらの同じリソースのための後続する書き込みアクセスタイプメッセージは、正当なアプリケーションが以前にこれらのリソースのために書き込みアクセスタイプメッセージを送信していないので、カテゴリ４に分類されることになる。このように、カテゴリ４は、信頼されたアプリケーションがこれらのリソースに対して書き込み／読み出しアクセスを行うまで、リソースに対する書き込み／読み出しアクセスのデフォルトのカテゴリとみなすことができる。
【０１４１】
これを用いて、信頼されていないアプリケーションがクリティカルモジュール上のいくつかのリソースに対するアクセスを要求したときにアラートを発行することができる。
【０１４２】
（リソースのみではなく）モジュール又はデバイスに同じ規則を汎用化することができる。例えば、正当なアプリケーションが所与のモジュールにアクセスした場合、モジュール全体について分類表を更新することができる。
【０１４３】
補足的な実施形態では、ネットワークプローブ１００は、例えば読み出しアクセスタイプ等の、或る特定のタイプのメッセージについてのみ信頼されたアプリケーションのメッセージに基づいて分類表を更新することができる。その事例では、書き込みアクセスタイプについての分類表は、アドミニストレーターが埋めることができる。
【０１４４】
より一般的には、分類表の或る部分は、アドミニストレーターが埋めることができ、一方、他の部分は、信頼されたアプリケーションから発行されたメッセージの解析に基づいて埋めることができる。
【０１４５】
いくつかの実施形態によれば、信頼されたアプリケーションからメッセージが受信されて分類表内の或るエントリが更新される度に、タイマーを作動させることができる。タイマーが満了になると、更新されたエントリを除去して、デフォルト値に置き換えることができる。タイマーの値は、アドミニストレーターが事前定義することができる。
【０１４６】
これにより、もはや信頼されたアプリケーションによってアクセスされないリソース／モジュール／デバイスに意図されたメッセージに対するアラートを発行することが可能になる。
【０１４７】
これらの学習ステップにより、ＦＡネットワーク１０２の発展に迅速に適応することが可能になる。例えば、ＦＡネットワーク１０２内に新たなモジュールが追加されるとともに、外部ネットワーク１０３のアプリケーションが更新される場合、分類表は、少なくとも部分的に自動で更新される。
【０１４８】
本発明によれば、多くの攻撃、特に、未知のＦＡネットワークの種々のデバイス及びモジュールを発見及び理解する第１のステップとして攻撃者によって用いられるネットワーク及びリソースのスキャン攻撃を検出することができる。
【０１４９】
本発明はコンピュータープログラム製品に組み込むこともでき、そのコンピュータープログラム製品は、本明細書において説明される方法を実施できるようにする全ての機構を含み、情報処理システムにロードされるときに、情報処理システムを生成する。この文脈におけるコンピュータープログラム手段又はコンピュータープログラムは、情報処理能力を有するシステムが直接、又は別の言語への変換後に特定の機能を実行するように意図される一組の命令に関する、任意の言語、コード又は表記における任意の表現を意味する。そのようなコンピュータープログラムは、データ、命令、メッセージ又はメッセージパケット及び他の機械可読情報を媒体から読み出すことができるようにする、コンピューター可読媒体又は機械可読媒体上に記憶することができる。コンピューター可読媒体又は機械可読媒体は、ＲＯＭ、フラッシュメモリ、ディスクドライブメモリ、ＣＤ−ＲＯＭ及び他の永久記憶装置のような不揮発性メモリを含むことができる。さらに、コンピューター可読媒体又は機械可読媒体は、例えば、ＲＡＭ、バッファー、キャッシュメモリ、及びネットワーク回線のような揮発性記憶装置を含む場合がある。さらに、コンピューター可読媒体又は機械可読媒体は、有線ネットワーク又は無線ネットワークを含む、ネットワークリンク及び／又はネットワークインターフェースのような一時的状態の媒体内にあるコンピューター可読情報又は機械可読情報を含むことができ、デバイスがそのようなコンピューター可読情報又は機械可読情報を読み出すことができるようになる。
【０１５０】
「備える」、「含む」、「組み込む」、「収容する」、「である」、及び「有する」のような表現は、説明及び関連する特許請求の範囲を解釈する際に非排他的に解釈されるべきであり、すなわち、同様に存在していると明示的には規定されない他の項目又は構成要素を考慮に入れるように解釈されるべきである。単数形への参照は複数形への参照であるとも解釈されるべきであり、その逆も同様である。
【０１５１】
現時点で本発明の好ましい実施形態であるとみなされるものが図示及び説明されてきたが、本発明の真の範囲から逸脱することなく、種々の他の変更を加えることができること、及び代わりに均等物を用いることができることは当業者には理解されよう。さらに、本明細書において記述される中心的な発明の概念から逸脱することなく、特定の状況を本発明の教示に適合させるように数多くの変更を加えることができる。さらに、本発明の一実施形態は、上記の特徴の全てを含むとは限らない場合がある。それゆえ、本発明は開示される特定の実施形態に限定されるのではなく、上記で広く定義されたように本発明の範囲内に入る全ての実施形態を含むことを意図している。
【０１５２】
本明細書において開示される種々のパラメーターを変更できること、及び本発明の範囲から逸脱することなく、開示及び／又は特許請求される種々の実施形態を組み合わせることができることは当業者には容易に理解されよう。
【図１】
2021507652.tif 000007
【図２】
2021507652.tif 000008
【図３】
2021507652.tif 000009
【図４】
2021507652.tif 000010
【手続補正書】
【提出日】令和2年6月17日(2020.6.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
少なくとも１つのデバイスを備えるファクトリーオートメーション（ＦＡ）ネットワークと、外部ネットワークとを備えるＦＡアーキテクチャにおいてメッセージを処理する方法であって、該方法は、ネットワークプローブによって実施され、
前記外部ネットワークから発行されるとともに、前記ＦＡネットワークの少なくとも１つのデバイスのうちの１デバイスに宛てられたメッセージをインターセプトすることと、
前記メッセージが宛てられた前記デバイスに少なくとも基づいて事前定義されたカテゴリのセット中で前記メッセージを分類することと、
前記メッセージが分類された前記カテゴリに少なくとも基づいてアラートを発行することを判断することと、
を含む、方法。
【請求項２】
前記ネットワークプローブは、前記事前定義されたセットの少なくともカテゴリを、前記ＦＡネットワークの前記デバイスの識別子にマッピングする分類表を記憶する、請求項１に記載の方法。
【請求項３】
前記メッセージは、前記メッセージのタイプに更に基づいて分類される、請求項１又は２に記載の方法。
【請求項４】
前記メッセージは、前記メッセージのタイプに更に基づいて分類され、
前記分類表は、前記事前定義されたセットのカテゴリを、前記ＦＡネットワークの前記デバイスの識別子、かつメッセージタイプにマッピングする、
請求項２に記載の方法。
【請求項５】
前記メッセージのタイプは、
読み出しアクセスと、
書き込みアクセスと、
遠隔制御と、
マネジメントと、
デバイスロックと、
のうちの１つである、請求項３又は４に記載の方法。
【請求項６】
前記メッセージをパースして、前記メッセージがシグネチャを含むか否かを判断することと、前記メッセージがシグネチャを含む場合、該シグネチャを検証することとを更に含み、
前記メッセージは、前記メッセージがシグネチャを含むか否か、及び、前記シグネチャの前記検証に基づいて更に分類される、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
前記メッセージは、ＴＣＰを介してトランスポートされ、前記シグネチャは、前記メッセージに対応するＴＣＰコネクションの初期ＴＣＰシーケンス番号に依存する、請求項６に記載の方法。
【請求項８】
前記メッセージの前記シグネチャが肯定的に検証された場合、前記メッセージは、最も安全のカテゴリに分類され、
それ以外の場合、前記メッセージは、前記メッセージが意図されたデバイスに少なくとも基づいて分類される、請求項６又は７に記載の方法。
【請求項９】
ｍ個のカテゴリが事前定義され、０〜ｍ−１に付番され、０は、最も安全のカテゴリであり、少なくとも１つの限界値ｎｉがプレフィックスとして付され、ｉには、０〜ｍ−１が含まれ、前記アラートは、ｉ以上である、１カテゴリに分類されたメッセージの数がｎｉ以上である場合、発行される、請求項１〜８のいずれか１項に記載の方法。
【請求項１０】
前記メッセージは、前記外部ネットワークのアプリケーションによって発行され、前記アプリケーションは、前記ネットワークプローブを用いて認証され、前記アプリケーションからメッセージが受信されると、該メッセージは、デバイスのモジュールのリソースに宛てられ、前記分類表内の、前記リソース、前記モジュール又は前記デバイスにマッピングされるカテゴリは、事前定義されたカテゴリに設定される、請求項２に記載の方法。
【請求項１１】
前記事前定義されたカテゴリは、前記アプリケーションから受信された前記メッセージのタイプに依存する、請求項１０に記載の方法。
【請求項１２】
前記カテゴリは、第１の値から、前記事前定義されたカテゴリに対応する第２の値に変更され、タイマーの満了後、前記第１の値に再度設定される、請求項１０又は１１に記載の方法。
【請求項１３】
コンピューティングデバイスにロード可能であるとともに、該コンピューティングデバイスによってロードされて実行されると、該コンピューティングデバイスに、請求項１〜１２のいずれか１項に記載の方法のステップを実行させるように適合される、コンピュータープログラム命令が記憶されたコンピューター可読媒体を備えるコンピュータープログラム製品。
【請求項１４】
少なくとも１つのデバイスを備えるファクトリーオートメーション（ＦＡ）ネットワークと、外部ネットワークとを備えるＦＡアーキテクチャにおいてメッセージを処理するネットワークプローブであって、
前記外部ネットワークから発行されるとともに、前記ＦＡネットワークの少なくとも１つのデバイスのうちの１デバイスに意図されたメッセージをインターセプトするネットワークインターフェースと、
プロセッサであって、
前記メッセージが意図された前記デバイスに少なくとも基づいて事前定義されたカテゴリのセットの中で前記メッセージを分類することと、
前記メッセージが分類された前記カテゴリに少なくとも基づいてアラートを発行することを判断することと、
を行うように構成された、プロセッサと、
を備える、ネットワークプローブ。
【請求項１５】
請求項１４に記載のネットワークプローブと、ファクトリーオートメーション（ＦＡ）ネットワークとを備えるシステム。
【国際調査報告】
2021507652.tif 000011
2021507652.tif 000012