説明

通信ネットワーク内のメッセージのレイテンシを制御することによって重要システム内のサイバー攻撃を軽減するための知的なシステムおよび方法

【課題】デバイスのネットワークが潜在的な悪意のあるソフトウェアを検出して、それに応答することを可能にするために、メッセージのレイテンシを制御するためのシステムおよび方法を提供する。
【解決手段】デバイスにおいてメッセージを受信して、そのメッセージが潜在的な悪意のあるソフトウェアを表すかどうか、および潜在的な悪意のあるソフトウェアを検出して、それに応答する時間を見込むために遅延を必要とするかどうか判定するシステムおよび方法。メッセージに関連する遅延量が決定され、その遅延量に基づいて、そのメッセージは処理される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の典型的な実施例は、サイバー攻撃を軽減するための知的なシステムおよび方法に関する。
【背景技術】
【0002】
現代社会は、ほとんど常時適切に機能しなければならない公益事業によってサービス提供されている。適切に機能することは、通常、信頼性、可用性、説明責任、および証明性(certifiability)によって表現され、証明性は、公益事業のユーザがその公益事業の状態を積極的に照会し学習することができることを意味する。信頼性と効率とを提供しながら、増大する需要を満たすために、電気事業などの公益事業は、電力グリッドの「スマートグリッド」インフラストラクチャなど、知的なインフラストラクチャを生み出すための技術を開発および実装している。
【0003】
知的なインフラストラクチャを実現するためには、ネットワーク構造内の構成要素にアクセスし、それらを制御することができる埋め込み型またはオーバーレイ型の通信アーキテクチャが必要である。残念ながら、公益事業インフラストラクチャを損なうことを狙った悪意のあるサイバー活動が引き続き発生しており、実際、増大している。公益事業の計測機能および公益事業網内のその他の通信を妨害するために、例えば、トロイの木馬、ウイルス、およびコンピュータワームがしばしば展開され、改良されている。
【0004】
サイバーセキュリティ脅威の潜在的な被害を限定するために、潜在的な脅威イベント、ならびにその詳細および影響に気付くことを可能にし、予防的に、また事件に応答して、公益事業通信インフラストラクチャを強固にするための努力が進んでいる。偶然にまたは故意に悪意のあるソフトウェアを取り込ませることは日常的になった。悪意のあるデジタルソフトウェアの影響は様々であり、ネットワーク全体の健全性および効率範囲に対する影響は、迷惑から威嚇にまで及ぶ。サイバー犯罪者の意図の領域も単純なものから洗練されたハッキングへと拡大している。
【0005】
スマートグリッドシステムのアーキテクトおよび設計者は、サイバーセキュリティ脅威に対する近最適な強固策をシステムに与え始めている。残念ながら、システム設計が仕上がり、システムがその設計に従って発展した後も、サイバーセキュリティ脅威は増大し続けるであろう。何らかの攻撃を識別し無効にするための電子モジュールが開発されているが、多くの状況で、新しいサイバーハザードを診断し、それに対抗するために、人による監視、人の洞察、人の判断、および人のインタラクションが引き続き必要とされる。
【0006】
ヒューマンマシンインターフェイス(HMI)に対して重要、かつしばしば見過ごされる、または過小評価される考慮事項、すなわち、速度と効率のパラドックスがある。通信は、伝送速度をますます増大させ、レイテンシをより低くすることを引き続き余儀なくされている。HMIは、保護継電に必要とされる程度の可用性を必要とするメッセージまたは一連のメッセージの解析および制御に関与することができない。しかし、緊急性が減少するにつれて、その他のメッセージクラスに関して可用性要件は緩和される。実際、これらの要件は、ある種の長期データを収集するために、数日間/数週間/数ヶ月間へ8桁も増大する可能性がある。したがって、必要な場合、より少ない緊急性で転送できるいくつかのメッセージクラスが存在する。これらのメッセージクラスの場合、何もしないことと、ネットワーク伝搬を停止することとの間に代替案が存在することが最善であろう。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】米国特許第20100138066号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
これらの理由およびその他の理由で、本発明が求められている。
【課題を解決するための手段】
【0009】
デバイスのネットワークが潜在的な悪意のあるソフトウェアを検出して、それに応答することを可能にするために、メッセージのレイテンシを制御するためのシステムおよび方法が提供される。デバイスにおいてメッセージを受信して、そのメッセージが潜在的な悪意のあるソフトウェアを表すかどうか、および潜在的な悪意のあるソフトウェアを検出して、それに応答する時間を見込むための遅延を必要とするかどうか判定するシステムおよび方法。メッセージに関連する遅延量が決定され、その遅延量に基づいて、そのメッセージが処理される。
【0010】
本発明の実施形態の性質および様々な追加の特徴は、図に概略的に記載されている本発明の例示的な実施形態を検討したとき、より完全に理解されるであろう。類似の参照符号は対応する部分を表す。
【図面の簡単な説明】
【0011】
【図1】1つの例示的な実施形態による通信速度制御システムを例示する図である。
【図2】1つの例示的な実施形態による遅延データベースを例示する図である。
【図3】1つの別の実施形態によるネットワークセキュリティ維持システムを例示する図である。

【特許請求の範囲】
【請求項1】
デバイスにおいてメッセージを受信するステップと、
前記メッセージが潜在的な悪意のあるソフトウェアを表すかどうか、および潜在的な悪意のあるソフトウェアを検出して、それに応答する時間を見込むための遅延を必要とするかどうか判定するステップと、
前記メッセージに関連する前記遅延に関する遅延量を決定するステップと、
前記遅延量に基づいて、前記メッセージを処理するステップと
を含む方法。
【請求項2】
前記遅延量を決定するステップが、前記遅延量が無限であり、前記メッセージが阻止されていることを示すかどうか判定するステップを含む、請求項1記載の方法。
【請求項3】
前記メッセージに関連するメッセージタイプを決定するステップをさらに含み、
前記メッセージが遅延を必要とするかどうか判定するステップが、前記メッセージタイプが前記遅延を必要とするかどうか判定するステップを含む、
請求項1記載の方法。
【請求項4】
前記メッセージに関連する前記遅延に関する前記遅延量を決定するステップが、
前記メッセージの前記メッセージタイプに関連する前記遅延量を決定するステップを含む、請求項3記載の方法。
【請求項5】
前記メッセージタイプの受信を報告するステップをさらに含む、請求項3記載の方法。
【請求項6】
前記メッセージを処理するステップが、
前記遅延量を前記メッセージに適用するステップと、
前記メッセージを転送するステップと
を含む、請求項1記載の方法。
【請求項7】
前記メッセージを処理するステップが、
前記メッセージが遅延を必要とするとき、前記メッセージを格納するステップと、
潜在的な悪意のあるソフトウェアを求めて前記メッセージを解析するために、前記メッセージのコピーを解析システムに転送するステップと
を含む、請求項1記載の方法。
【請求項8】
前記遅延量を前記メッセージに適用するステップと、
前記メッセージを転送するステップと
をさらに含む、請求項7記載の方法。
【請求項9】
前記メッセージを前記解析することに基づいて、前記遅延量を更新するステップ
をさらに含む、請求項7記載の方法。
【請求項10】
前記メッセージを処理するステップが、
潜在的な悪意のあるソフトウェアを求めて前記メッセージを解析するために、前記メッセージを解析システムに転送するステップを含む、請求項1記載の方法。

【図3】もう1つの実施形態による通信速度制御システムを例示する図である。
【図4】もう1つの実施形態による通信速度制御システムを例示する図である。
【図5】1つの例示的な実施形態による情報の流れを例示する図である。
【図6】1つの例示的な実施形態によるユーザインターフェイス上の1つの例示的な視覚表現を示す図である。
【図7】本発明の1つの例示的な実施形態による通信速度制御プロセスの流れ図を例示する図である。
【図8】図7に示された、遅延を必要とするかどうか判定するステップに関する1つの例示的なプロセスを示す図である。
【図9】図7に示された、遅延を必要とするかどうか判定するステップのもう1つの例示的なプロセスを示す図である。
【図10】図7に示された、メッセージをさらに処理するステップの1つの例示的なプロセスを示す図である。
【図11】1つの例示的な実施形態による出力メッセージ処理方法を例示する図である。
【発明を実施するための形態】
【0012】
上で特定された図面は、代替の実施形態を記載するが、本考察において言及されるように、本発明のその他の実施形態も企図されている。あらゆる場合において、この開示は、限定ではなく、代表的なものとして、本発明の例示的な実施形態を表す。当業者なら、本発明の原理の範囲および趣旨に該当する様々なその他の修正形態および実施形態を考案することができる。
【0013】
本明細書で説明される実施形態は、電力グリッドデバイスのネットワークにおけるセキュリティ維持に関する。本発明の実施形態は、エネルギー事業網または電力事業網の関連で説明されるが、この方法およびこのシステムは、その他のタイプのネットワークにも同様に使用可能である点を当業者は理解するであろう。
【0014】
本明細書で使用される場合、「モジュール」という用語は、ソフトウェア、ハードウェア、もしくはファームウェア、またはこれらの任意の組合せ、あるいは任意のシステム、プロセス、または本明細書で説明されるプロセスを実行もしくは円滑にする機能性を指す。
【0015】
本明細書で開示される実施形態は、脅威が存在するかどうか判定して、潜在的な脅威を提示するメッセージに応答する時間を提供するためにメッセージレイテンシを制御する。これは、特にメッセージレイテンシを時折選択的に延長できる場合、HMIがサイバー脅威に対処するのに積極的かつ建設的に関与することを可能にすることになる。サイバー脅威の可能性に対処するために、本発明の実施形態は、人の反応/人の活動のより長い時定数に対処するために、少なくともいくつかのメッセージタイプもしくはメッセージクラスに関してネットワーク内の通信伝搬速度を一時的に減少させるか抑制することを実現する。このシステムおよびこの方法の実施形態は、実際の脅威が存在するかどうか判定し、発生しつつあるイベントに応答するための解析を実行する時間を見込むために、通信速度調整(communication rate throttling)を可能にする。
【0016】
どの大型システムにも、通常、人がコマンドループおよび制御ループに入るための装備がある。人は、電子解析エンジンからは利用可能でない洞察を提供することが可能であり、人は、アルゴリズムには理解できない活動のパターンを発見することが可能である。しかし、ヒューマンインザループ(human−in−the−loop)の欠点は多い。大部分の人の計算の速度は、電子計算回路を何桁も下回る。人が示すパフォーマンスには、多数の変数に応じて著しい変動があり、かなり多数のこれらの変数が環境的なものである。しかし、良好に作成されたHMIの場合、人はしばしば、自動解析器および自動コントローラのパフォーマンスをかなり拡大させることになる迅速かつ価値ある判断を行う立場に立つことができる。
【0017】
良好に作成されたHMIは、パラメータまたは計算結果の演算集約的に計算および推定し、それらのパラメータまたは計算結果をそのしきい値と演算集約的に比較するなど、人の判断を減速させるタスクを自動化することを含む認知設計技法(cognitive design technique)を提供する。良好なHMIはまた、操作者が最も容易に理解できるようにデータを構成し、削り、提示する。HMIは、テレメトリを介してシステム状態を認識すべきであるだけでなく、自動解析器および自動コントローラによって行われる判断または自動解析器および自動コントローラによって行われない判断も認識すべきである。最後に、HMIは、臨時の活動を開始または停止するようにネットワークに人が命令するためのコマンドポータルとして機能すべきである。
【0018】
本発明の実施形態は、特定のメッセージクラスの伝搬速度を低減または再確立するためのコマンドシーケンスに応答する通信速度制御モジュールを提供する。スマートグリッドネットワークは、ネットワークを通して分散された多くの通信速度制御モジュールをホストすることが可能である。これらのモジュールは、データライン内に単に挿入することが可能であるか、または、例えば、これらに限定されないが、ルータ、スイッチ、コンデンサバンク、メータ、およびリクローザ(recloser)など、様々な通信構成要素のフロントエンドに組み込むことも可能である。
【0019】
本発明の一実施形態による1つの例示的なネットワーク通信速度制御システムを図1に示す。システム100は、ネットワーク130を経由してデバイス120に結合された潜在的な悪意のあるソフトウェア発信源110を含む。ネットワーク130は、有線であってもよく、ZigBee、WiFi、WiMAX、HomePlugアーキテクチャなどの通信を使用する無線であってもよく、有線構成要素および無線構成要素を含むハイブリッドアーキテクチャであってもよい。デバイス120と、ホストデバイス132と、イベントロガー134と、調整器110との間の通信は、警告、警報、およびインフラストラクチャディレクティブ(infrastructure directive)を含む。
【0020】
いくつかの実施形態では、このシステムは、着信メッセージのさらなる解析を実行する解析システム135を含む。このシステムは、ネットワーク監視、イベントログ解析、およびHMI入力などの機構を使用して、ネットワークに関する情報を収集する。ネットワーク130は、ホストデバイス132とイベントロガー134とを含む。これらの実施形態の説明を円滑にするために、単一の悪意のあるソフトウェア発信源110と、少数のデバイス120と、ホストデバイス132と、イベントロガー134とを図1に示す。しかし、本発明の実施形態はこれらの数に限定されず、任意の数の悪意のあるソフトウェア発信源110、デバイス120、ホストデバイス132、およびイベントロガー134がネットワーク内に存在し得る点を理解されたい。もう1つの実施形態では、これらのデバイスの機能性は共存し得る。例えば、ホスト132、イベントロガー134、およびデバイス120は、単一のホスト上に存在する複数の機能であってもよい。
【0021】
例示的な実施形態では、デバイス120は、公益事業顧客に関連する需要計器(utility meter)である。その他の実施形態では、デバイス120は、変電所、リレー、分散型自動制御、リクローザ、ラインスイッチ、およびコンデンサバンクであってもよい。デバイス120は、1つまたは複数のハニーポットを含むことも可能である。デバイス120は、ネットワーク環境において見出される任意のデバイスであってもよい。
【0022】
いくつかの実施形態では、イベントロガー134は、デバイス120から情報を受信する。イベントロガー134は、それらのメッセージを格納すること、ならびに/またはそれらのメッセージを別のデバイス135および/または136に転送することが可能である。イベントロガー134は、ログイベントの収集物を保持することが可能であり、その他のプログラムが検出するため、相関するため、および警報通知するために、これらのイベントを検査することを可能にできる。結果はファイル内またはデータベース内に維持可能である。その他のプロセスは、これらのイベントを検査し、そのイベントを報告するデバイス名、タイムスタンプ、イベントメッセージ内のパターンなどに基づいて特定のイベントを探すことが可能である。いくつかのシステムは、複数のイベントロガーを有することが可能であり、その他のシステムは、クエリを可能にする集中型データベースを使用することが可能である。本発明の実施形態は、分散型のイベントロガーと集中型のイベントロガーとをサポートする。
【0023】
この実施形態では、デバイス120のそれぞれが通信速度制御モジュール140を含む。通信速度制御モジュール140は、それらのメッセージが潜在的なサイバー脅威を表すメッセージに対応するかどうか判定するために、メッセージを検査するメッセージ検査モジュール150を含む。この決定は、様々な方法で達成できる。例えば、それが何の種類のメッセージであるか判定し、次いで、その識別されたメッセージタイプが遅延を必要とするかどうか判定するために、着信パケットの一部を解析することによって、メッセージタイプを決定することが可能である。情報の復号を最適化および/または実行するための多くの知られている方法が存在する。本明細書では、着信メッセージを復号するために、任意の適切な方法を使用することが可能である。そのようなメッセージのいくつかの非限定的な例は、特定のポートおよび/もしくはIPアドレスに送信されたTCPパケットまたはUDPパケット、あるいは悪意のあるソフトウェアに関連するデータパターンを含むメッセージを含む。
【0024】
通信速度制御モジュール140は、メッセージおよび/または普通でないと思われるメッセージもしくはコマンドに関する対応する情報を格納するためのメッセージ情報ストア160も含む。プログラムデータベース142は、潜在的なサイバー脅威を表すメッセージを処理するためのプログラムを格納するために提供される。1つの非限定的な例示的な実施形態では、プログラムデータベース142は、例えば、イベント相関を可能にする、イベントを格納するように構成されたデータベースサーバとして実装可能である。別の非限定的な例は、伝送されることになるメッセージを格納するように設計された、メモリベースのバッファまたはディスクベースのバッファであってもよい、より小型で軽量の実装形態を含む。このデバイスは、パケット周波数、サイズ、コンテンツ、または分類など、使用のパターンを特徴付けて、識別する統計を維持することも可能である。タイプ別、宛先別、サイズ別、宛先ポート別などのパケット周波数の急増など、潜在的なサイバー脅威を検出したとき、ネットワークに対する警告を発行するために、メッセージ警告モジュール180も提供される。ネットワークおよびその他のデバイスと通信するために通信モジュール190が提供される。操作者のインタラクションを可能にするために、ユーザインターフェイス200も提供される。このシステムは、ネットワークを経由して、疑わしいメッセージを受信して、潜在的なサイバー脅威に関するより多くの情報を決定するための解析を実行する解析システム135を含むことも可能である。
【0025】
図1に示される例示的な実施形態は、それぞれのデバイス120が着信メッセージを検査して、それらの着信メッセージがサイバー脅威を表す識別されたメッセージのリストと一致するかどうか判定し、着信メッセージが遅延データベース141内のメッセージと一致するとき、適用する遅延を決定し、ネットワーク内のメッセージの伝搬を減速させるためにメッセージに遅延を適用するための通信速度制御モジュール140を含む分散型システムを例示する。データベースは多くの方法で実装可能である。1つの非限定的な例は、専用機械内のRAIDディスクシステム上で動作する商用データベースとしての実装形態を含む。もう1つの非限定的な実装形態は、メモリ内のバッファであってもよい。図10は、メモリベースのデータベースの1つの非限定的な例を示す。通信モジュール190は、ホスト132と通信して、受信されたメッセージが潜在的なサイバー脅威であり、メッセージに遅延が適用されていることを示すことが可能である。イベントロガー134はやはり、デバイスから情報を受信して、その情報を格納および/または別のデバイスに転送する。イベントロガー134は、ログイベントの収集物を保持して、他のプログラムがそれらのイベントを検査することを可能にできる。それらの結果は、ファイル内またはデータベース内に保持可能である。その他のプロセスは、それらのイベントを検査して、そのイベントを報告するデバイス名、タイムスタンプ、イベントメッセージのパターンなど、特定のイベントを探すことが可能である。いくつかのシステムは複数のイベントロガーを有することが可能であり、その他のシステムは、問い合わせを可能にする集中型データベースを使用することが可能である。本発明の実施形態は、分散型イベントロガーと集中型イベントロガーとをサポートする。
【0026】
パケットにいつ遅延を挿入するかに関して判断を行うことができる様々な方法が存在する。いくつかの非限定的な例を説明する。この判断は、(パケットを送信または転送しているデバイス上で)局所的に行うことが可能であり、またはパケットを送信しているデバイス以外のデバイス上で局所的に行うことも可能である。1つの非限定的な例では、判断はデバイス自体の上で行うことが可能であり、これは、IPアドレス10.1.2.3に対して、およびTCPポート80に対して送信されたすべてのパケットなど、規定に適合するパケットによって引き起こすことが可能である。もう1つのそのような規則は、例えば、「1分当たりのパケット数が20個を超える場合、同じ宛先IPアドレスに送信された遅延パケット」であってもよい。判断が遠隔デバイス上で行われる場合、イベント相関は、特定のデバイスに送信されたパケット数が1分当たり120個のパケットであることを示す。単一のデバイスはそのネットワークインターフェイスから進むパケットだけを理解するため、単一のデバイスはこのトラフィック量に気づかない場合がある。これらの規則は、遅延がパケット速度に比例し得るように、より洗練されたものであってもよい。すなわち、パケットを受信することが多ければ多いほど、より多くの遅延を導入する。例えば、単一の宛先に対して期待される最大パケット速度が1秒当たり10個のパケット受信である場合、測定された速度が毎秒11個のパケットである場合、遅延は1ミリ秒である。着信速度が20である場合、遅延は5ミリ秒である。着信速度が1秒当たり100個のパケットである場合、遅延は200ミリ秒になり得る。より多くのパケットが着信した場合、デバイスは「パケットをドロップして」、それらのパケットが決して送信されないことを確実にすることが可能である。
【0027】
図2は、メッセージ遅延データベース141の1つの例示的な実施形態を示す。メッセージ遅延データベース141は、主に、また単に場合によって、アーカイブユニットすなわちメモリ210と、検索エンジン論理を含む論理212と、二次的かつオプションで、通信発信ユニットすなわちインターフェイス214と、論理コントローラ216とを含む。メモリ210は、それぞれ、潜在的なサイバー脅威を表すとして識別されているメッセージに関する遅延量を受信して、格納する。メッセージ遅延DB141は、ディスクなどの記憶装置218、RAID(安価なディスクの冗長アレイ)などのディスクのアレイなどを含むことが可能である。論理212および論理コントローラ216は、必要に応じて、通信速度抑制を適用するための、メッセージに関する遅延量の取出しに関する要求に応答する。
【0028】
いくつかの実装形態では、デバイス120は、不適切なパケットを無視することが可能である。その他の実装形態は、不正な形態のパケットが受信された回数を追跡して、それらをイベントロガー134および/またはメッセージ情報ストア160に報告することが可能である。その他の実装形態または実施形態は、デバイス120に、メッセージ警告モジュール180を経由して、警告もしくは警報を生成させること、または通信モジュール190を経由して、パケットが検出されたときにイベントロガー134に送信される、不適切なメッセージを受信したという報告を生成させることが可能である。
【0029】
図3は、もう1つの例示的な実施形態を示す。システム300は、1つまたは複数のデバイス350と、通信速度制御モジュール140と、メッセージ遅延データベース141と、プログラムデータベース142とを有するサイト340を含む。この実施形態では、サイト340における複数のデバイス350は、1つまたは複数の通信速度制御モジュール140によって処理される。
【0030】
図4は、プログラムデータベース414とメッセージ遅延データベース412とを有する集中型通信速度制御モジュール410を含む、もう1つの例示的な実施形態を示す。通信速度制御モジュール410は、モジュール140と同じように実装される。通信速度制御モジュール410は、公益事業によって、または任意のその他の第三者によってホストされ得る。複数のデバイス420は、ネットワーク130を経由して、通信速度制御モジュール410と通信する。
【0031】
図5は、ネットワーク500内の通信の1つの例示的な論理の流れを示す。スマートグリッドの送電系統広域監視規制(Wide area situational awareness)データがポータル510から利用可能である。説明を円滑にするために、グリッド内でデバイスに送信された再プログラミングメッセージを報告する、以下の例示的かつ非限定的な例が説明される。再プログラミングメッセージは、例えば、限定としてではなく、リクローザ、メータ、ラインスイッチ、およびコンデンサバンクなど、多くのデバイスに送信可能である。再プログラミングメッセージは、例えば、限定としてではなく、ソフトウェアを更新するため、ソフトウェアの欠点を修理または解決するため、および選択可能なオプションを選択または削除するためなど、多くの正当な理由で送信可能である。再プログラミングメッセージは、スマートグリッドの機能をハッキングすること、動作不能にすること、損なうこと、またはそうでない場合、悪影響を及ぼすことを追求している者によって取り入れられる場合もある。
【0032】
図5は、メータに関する再プログラミングメッセージの分割と、それらのメッセージをHMI530およびイベントロガー550に報告することとを示す。イベントロガー550は、テスト結果および異常を格納すること、分類すること、要約すること、解析エンジン560に報告することを含めて、多くの機能を担当することが可能である。解析エンジン560も多くの機能を有することが可能である。即時の非限定的な例の場合、解析エンジン560は、1つまたは複数の再プログラミングメッセージの受信および同化に関連すると思われるメータの故障を判定して報告する。解析エンジン560は、コンピュータユーザの予防のための悪意のあるソフトウェア対策プログラム機能と大体同じように、脅威ライブラリと、脅威であると認識されるメッセージに応答するための規則のセットとを有することが可能である。解析エンジン560が知られている脅威である再プログラミングメッセージの存在を検出した場合、解析エンジン560は、ネットワークコマンドモジュール570に、認識された脅威メッセージを無効にするための適切なコマンドシーケンスをスマートグリッドネットワーク内で開始させることが可能である。しかし、特定の再プログラミングメッセージが脅威としてまだ分類されていない場合、そのメッセージは、引き続き、スマートグリッドネットワーク内で伝搬して衰弱させ、危害を増大させるのを許すことになる。
【0033】
解析エンジン560は、その解析を操作者540にサービス提供するHMI530にも報告する。操作者540は、拡散するメータ故障の特定の問題を検査することが可能である。図6は、送電系統広域監視規制データ510からの再プログラミングメッセージ520によって提供されたデータと、解析エンジン560によって生成された結果とを使用して、HMI530によって作成されたディスプレイの一例である。メータの初期のマップ610がメータの後のマップ620と共に表示され、操作者540は、問題の範囲、および問題の展開の特性のうちのいくつかを観察することができる。この非限定的な例では、操作者540は、メータ問題が外側に移動して、クラスタを形成しているように見えることを確認することができ、操作者540は、これまで知られていない、特徴付けされていない悪意のあるソフトウェアに感染したメータが当初存在している可能性があり、その感染が点検されずに拡散していることを決定することができる。この時点で、操作者540は、ネットワークコマンドモジュール570に、すべての通信の伝搬速度を減速させるか、またはメータ再プログラミングに関連する通信の伝搬速度だけを減速させるための適切なコマンドシーケンスをスマートグリッドネットワークのうちの一部またはすべての中で開始させることが可能である。メータ再プログラミングに関連する通信を減速させることは、操作者540など、人のネットワーク操作者が状況を解析して、悪意のあるソフトウェアを隔離し、脅威ライブラリと解析エンジン560の対応する規則とを更新することを可能にすることになる。問題が解決された後で、操作者540は、ネットワークコマンドモジュール570に、すべての通信、またはメータ再プログラミングに関連する通信だけをその通常の伝搬速度に戻すための適切なコマンドシーケンスをスマートグリッドネットワークの一部またはすべての中で開始させることが可能である。
【0034】
通信速度制御モジュール140のメッセージ検査モジュール150は、様々な実施形態に従って実装可能である。1つの例示的な実施形態によれば、潜在的なサイバー脅威を表すメッセージタイプおよび/またはメッセージクラスのリストは、メッセージ遅延データベース141内に格納することが可能である。メッセージ遅延データベース141は、潜在的なサイバー脅威を表すとして識別されているメッセージと、レイテンシを追加しメッセージの伝搬を遅延させるために適用する対応する遅延とを格納する。本発明の実施形態によれば、メッセージ検査モジュール150は、受信されたメッセージタイプがこれまで潜在的なサイバー脅威を経験し、潜在的なサイバー脅威として識別されているかどうかを確認するために、メッセージ遅延データベース141を検索する。メッセージタイプは、メッセージデータベース内に存在し、そのメッセージタイプに関連する遅延量は、遅延モジュール170によって取り出されて、適用される。追加のメッセージタイプまたはメッセージクラスが識別されるにつれて、メッセージ遅延データベース141は更新される。
【0035】
メッセージ検査モジュール150の処理のもう1つの非限定的な例は、逆処理を実行するステップを含む。より詳細には、モジュール150は、メッセージが遅延を必要としたことを決定し、次いで、メッセージタイプを決定することが可能である。非限定的な例として、例えば、特定のデバイス120またはデバイス120からのメッセージが遅延を必要とできることを命令するコマンドがデバイスにおいて受信されている可能性があり、したがって、この発信源またはデバイス120からのメッセージが受信された場合、メッセージ検査モジュール150は、メッセージタイプを決定するためにそのメッセージをさらに処理することが可能であり、この場合、その発信源からのいくつかのメッセージは受け入れ可能であり、一方、他のメッセージは受け入れ可能ではなく、遅延を必要とする。この例では、メッセージが(発信源デバイスに基づいて)遅延を必要とする可能性があるかどうかが決定され、次いで、遅延を適用すべきかどうかを識別して、遅延をどのくらいの期間適用すべきかを識別するためにメッセージタイプが決定される。したがって、本発明の実施形態は、メッセージが潜在的なサイバー脅威を表すかどうか判定して、そのメッセージが実際にサイバー脅威を表すかどうかについて決定を行う時間を見込むために、そのメッセージをさらに伝搬するための適切な遅延を識別するために、メッセージを処理するための様々な実装形態を企図する。
【0036】
考えられる脅威の1つの非限定的な例として、スラマーウイルスは非常に迅速に伝搬し、8.5秒ごとに倍になる。トラフィックを抑制する前に、デバイスのネットワークが人のインタラクションを待った場合、広がった感染を止めるにはあまりにも遅すぎる可能性がある。したがって、単一のデバイスに関して判断を行うことが可能であり、それが悪意のあるソフトウェアの伝搬を減速させることが可能である場合、これはデバイスのネットワークが運用可能な状態に維持されることになる機会を高めることになる。デバイスは、自動的に判断を行うことが可能であるため、本発明の実施形態を実装することは、少量の遅延を挿入することがネットワークを非機能的にせず、単に遅らせることになるというものである。パケット内に遅延を挿入しようと判断されたとき、遅延はわずかである可能性があり、その結果、単一のパケットが遅延した場合、その影響は非常に小さい。そのパケットは依然として送信され、したがって、情報は失われず、パケットはドロップされない。いくつかの異なるデバイスを通して遅延したパケットの総数が小さい場合、影響全体も小さくなる。しかし、ウイルスの発生によって、または汚染されたデバイスによって引き起こされ、そのデバイスによって送信されているパケットが規則をトリガさせる場合など、ネットワーク活動に急激な変化が存在する場合、汚染されたデバイスからのパケットを遅延させるすべてのデバイスはそのデバイスからのすべてのパケットを減速させる可能性がある。その結果は、汚染されたデバイスが他のデバイスにパケットを送信するとき、その汚染されたデバイスは抑制されることになり、これは、今度は、あらゆる感染または攻撃を減速させることになるというものである。これは、今度は、残りのネットワークを急激な活動の増大から保護する。
【0037】
通信速度制御モジュール140は、それぞれの個々のデバイス120において、またはトロール通信デバイス(troll communication device)のように動作するデバイスにおいて構成されること、例えば、命令を提供する他のデバイス同士の間で構成されることが可能である。これらの実施形態は、デバイス120のネットワークスタック内にある。例えば、モジュール140は、例えば、ルータ上またはゲートウェイ上にあってもよい。これらの構成では、通信速度制御モジュール140は、より大きなネットワークに対するポイントであるため、通信速度制御モジュール140はより大きな影響を伴う判断を行う。
【0038】
メッセージ検査モジュール150は、その着信メッセージが潜在的なサイバー脅威として識別されているため、着信メッセージが遅延を必要とするかどうか判定する。2010年2月25日に出願された「Method and System for Security Maintenance in a Network」という表題の係属米国特許出願第12/712,831号で開示される方法など、潜在的なサイバー脅威を識別するための多くの方法が存在する。本発明の実施形態は、メッセージまたは通信をサイバー脅威および/または潜在的なサイバー脅威として識別するための任意の方法に適用される。その決定は、例えば、ネットワークストリーム内および/または、解析システムなど、別の発信源からもたらされた解析論内に見出される任意のデータもしくはメタデータ、あるいは規則セットによって決められた事前に定義されたパターンに適合しない活動に基づくことが可能である。いくつかの実施形態では、メッセージ検査モジュール150は、解析活動および情報を着信ネットワークフローまたはデータストリームと相関させ、この場合、動的通信速度抑制はこの情報に基づく。別の非限定的な例は、ポリシ変更を含む。例えば、さらなる命令があるまで、何の更新も行わないようデバイスに命令するポリシ変更が存在し得る。これは、このタイプのメッセージの受け入れを中断するか、何の更新も行わないようデバイスに命令するグローバルポリシのようなものである。これは特定用途向け通信速度抑制(application specific communicate rate throttle)と見なすことができる。本質的に、この例では、通信速度制御モジュールは、伝搬速度をゼロに抑制する(すなわち、無限遅延)。適用される抑制量は、メッセージタイプに依存する。すべてのデータまたはメタデータに基づく多次元判断はパケットストリームもしくはメッセージストリームに関連する。本発明の実施形態は、攻撃を防止するために、ネットワーク上のトラフィックの通信フローパターンの動的な調整を知的な方法で提供する。
【0039】
抑制の代替案、メッセージ検査モジュール150はパケットを廃棄することができる。また、先に述べられたように、抑制自体は、分散ベースで発生することが可能であり、または集中ベースで発生することも可能である。例えば、よりメッシュであるスマートメータ環境では、異常が検出されるとき、ブロードキャストメッセージをすべてのメータに送信し、非限定的な例として、メッセージが特定の発信源から受信された場合、例えば、その通信を抑制するか、無限遅延を用いて、その通信を阻止するか、または廃棄するように、自衛モードに入るようにそれらのメータに命令することが可能である。いくつかの非限定的な例示的実施形態では、自衛モードは、デバッグであってもよく、または、診断トラフィックなど、時には、動作可能にされ、別の時には、特定のタイプのメッセージを拒否するために、動作不可能にされるテストモードであってもよい。または、例えば、診断トラフィックを除いて、すべてのトラフィックを抑制するように優先順位を変更することも可能である。
【0040】
その他の実施形態では、ハイブリッド手法を適用できる。例えば、メッセージが無限遅延に対応する状況では、通信速度制御モジュール140は、メッセージを廃棄するか、またはメッセージをバッファリングすることが可能である。本質的に、メッセージは、遅延が存在しないように、無視すること(例えば、廃棄すること)が可能であり、またはメッセージを法医学的解析のために、解析システム内に格納することおよび/または解析システムに転送することも可能である。前述のように、いくつかの実施形態では、通信速度制御モジュール140は、例えば、別のデバイス136にとって潜在的なサイバー脅威として識別されているメッセージを転送し、そのデバイス136は、ハニーポット、法医学的システム、ハニーネット、または法医学的目的もしくはその他の目的のための解析システム135を含めて、任意のその他のコレクタであってもよい。
【0041】
本明細書で開示される実施形態は、ネットワークが潜在的なサイバー脅威として識別されている通信にどのように対処することになるかを識別する。実施形態は、ネットワーク内の通信が検出されたとき、これらの通信速度を動的に抑制または制御することを実現する。実施形態は、メッセージまたはパケットを転送する前に遅延を注入するが、パケットをより低い優先順位の待ち行列内で送信する。これは、ネットワークトラフィックを完全に阻止することに対する代替案を提供する。これは、HMIに進み、サービスをすぐに妨害せずに、課題もしくは問題を決定または識別することを試みるために、より多くの時間を人に与えるために、伝搬速度の減少を可能にする。このようにして、影響を最小限に抑えるために、通信またはパケットは制御された形で転送される。人が関与しない場合、応答は自動的であってもよい。いくつかの実施形態では、人すなわち操作者が関与し、HMIに進み、何が発生しているかを理解するため時間を見込んで、潜在的な脅威が広く拡散するのを本質的に止めるためにさらに処理をどのように行うかについて判断を行う時間を見込むために、通信速度を抑制する。
【0042】
いくつかの実施形態では、通信速度制御モジュール140は、操作者に、かつ/またはイベントが発生したその他のデバイスに通知するために、メッセージ警告モジュール180を経由して警告を生成する。例えば、デバイス120自体が、潜在的なサイバー脅威を提示する通信を検出して、デバイス120自体が警告を送信する。
【0043】
メッセージ検査モジュール150が潜在的な脅威として識別されたメッセージを検出して、メッセージ情報ストア160内または何らかのバッファ(図示せず)内に格納する実施形態では、情報は、削除可能であり、かつ/またはコマンドを提供する人の介入に基づいて、または自動的に、解析システム135など、別のデバイスに転送可能である。いくつかの実施形態では、特定のメッセージに関連する遅延を変更することを決定することが可能であり、遅延データベース141は更新される。これは、遅延モジュール170がどのように反応するかという点で、遅延モジュール170により多くの複雑さと柔軟性を与える。
【0044】
本明細書で開示される実施形態は、ネットワークを減速させることによって、潜在的なサイバー脅威に対する自動的な保護を提供し、例えば、特定のメッセージが潜在的な脅威を表し、それらのタイプのメッセージのすべてがドロップされることを必要とすることを決定するが、他のメッセージのすべてが通過することを可能にすることによって、回復するための機構をネットワークに提供する。実施形態は、人の介入を必要とする実施形態、自動的な実施形態、またはこれらのいくつかの混成を含む。自動操作は、規則の何らかのセットに基づく。本発明の実施形態は、ネットワークの一般的な信頼性を維持する。
【0045】
図7は、1つの例示的な実施形態による、通信速度制御プロセスに関する流れ図を示す。プロセス700では、デバイスは、ステップ710において着信メッセージを受信する。ステップ712において、通信速度制御モジュール140のメッセージ検査モジュール150は、受信されたメッセージに関して遅延が必要とされるかどうか判定する。遅延が必要とされない場合、処理はステップ714に進み、メッセージは、遅延を伴わずに転送される。遅延が必要とされる場合、処理は、このメッセージに関して必要とされる遅延が遅延データベース141内に格納されているかどうかが決定されるステップ716に進む。必要とされる遅延がデータベース141内に見出された場合、処理は、メッセージの伝搬時間を抑制するか、またはメッセージの伝搬を減速させるために、その遅延がメッセージに適用されるステップ718に進む。ステップ716において、遅延データベース141内に遅延が見出されない場合、処理は、初期遅延がメッセージに適用されるステップ720に進む。初期遅延は、遅延モジュール170に対してプログラムされた所定の遅延であってもよく、もしくは適切な遅延を決定して、遅延モジュール170によって適用することも可能であり、または、いくつかのその他の適切な値を初期遅延として使用することも可能である。処理は、次いで、遅延がメッセージに適用されるステップ718に進む。ステップ722において、メッセージに関して必要とされる遅延は、必要に応じて、遅延データベース141内で更新される。ステップ724において、メッセージ検査モジュール150は、メッセージのさらなる処理が必要かどうか判定する。
【0046】
図8は、1つの例示的な実施形態に従って、図7に示されたステップ712において受信されたメッセージに関して遅延が必要とされるかどうか判定するための流れ図を例示する。プロセス800は、通信速度制御モジュール140のメッセージ検査モジュール140が着信メッセージのメッセージタイプを決定するステップ810を含む。例えば、メッセージタイプは、それが何のタイプのメッセージであるか判定し、次いで、その識別されたメッセージタイプが遅延を必要とするかどうか判定するために、着信パケットの一部を解析することによって決定可能である。情報の復号を最適化するためおよび/または実行するための多くの知られている方法が存在する。本明細書において、着信メッセージを復号するために、任意の適切な方法を使用することが可能である。例えば、パケットは、発信源アドレスおよび/もしくは宛先アドレス、発信源ポートおよび/もしくは宛先ポート、パケット内の特定の位置内に特定の値を含むメッセージ、またはあるパケットコンテンツなど、パケットの特性によって識別可能である。ステップ810において、メッセージタイプが決定されると、処理は、そのタイプのメッセージが遅延を必要とするかどうかが決定されるステップ812に進む。そのメッセージが遅延を必要としない場合、処理は、ステップ822に進み、メッセージは遅延を伴わずに転送される。ステップ812における応答が「はい」である場合、処理は、そのメッセージに関して必要とされる遅延が遅延データベース141から決定されるステップ814に進む。ステップ816において、遅延が無限であるかどうかが決定される。ステップ816における応答が「はい」である場合、処理は、ステップ818に進み、そのメッセージは転送されず、または阻止されない。ステップ816における応答が「いいえ」である場合、処理は、そのメッセージに関して必要とされる遅延が適用されるステップ820に進み、そのメッセージは、ステップ822において、通信モジュール190によって転送される。1つの非限定的な実装形態では、遅延パケットは、すべての発信メッセージを含む発信待ち行列内に配置されてもよいが、そのパケットをどの程度遅延すべきか判定するための値が含まれる。一実装形態は、現在の時刻および日付を示す値に遅延を追加することが可能である。この追加のフィールドは、待ち行列内に格納される。このシステムは、すべての発信メッセージに関して単一の待ち行列を有することが可能であり、または2つの待ち行列、すなわち、遅延を伴わないパケットに関して1つと、遅延を伴うパケットに関して1つとを有することも可能である。
【0047】
図9は、もう1つの例示的な実施形態に従って、図7で示されたステップ712において受信されたメッセージに関して遅延が必要とされるかどうか判定するための流れ図を例示する。プロセス900は、通信速度制御モジュール140のメッセージ検査モジュール150が着信メッセージに関して遅延が必要とされるかどうか判定するステップ910を含む。これは、例えば、そのメッセージを遅延データベース141内に格納されたメッセージと比較する前に、そのメッセージが経験したかどうか判定することによって決定可能である。ステップ910における応答が「いいで」である場合、処理は、ステップ922に進み、そのメッセージは遅延を伴わずに転送される。ステップ910における応答が「はい」である場合、処理は、メッセージ検査モジュール150がそのメッセージのタイプを検出して、ステップ914において、遅延データベース141から適切な遅延を決定するステップ912に進む。ステップ916において、要求される遅延が無限であるかどうかが決定される。ステップ916における応答が「はい」である場合、処理は、ステップ918に進み、そのメッセージは転送されず、または阻止されない。ステップ916における応答が「いいえ」である場合、処理は、遅延モジュール170がそのメッセージに関して必要とされる遅延を適用するステップ920に進み、そのメッセージは、ステップ922において通信モジュール190によって転送される。
【0048】
図10は、1つの例示的な実施形態に従って、図7に示されたステップ724においてメッセージをさらに処理するための流れ図を例示する。プロセス1000は、遅延を必要とするメッセージが受信されたとき、メッセージ警告モジュール180が警告を発行するステップ1010を含む。(1つまたは複数の)特定のタイプのメッセージが受信されたとき、遅延を必要とする特定数のメッセージが受信された後で、プログラムされたように、特定の遅延が必要とされるときなどに警告を発行することを含むが、これに限定されない、警告を発行するための様々な実施形態が企図される。ステップ1012において、メッセージ検査モジュール150は、メッセージのさらなる処理を必要とするかどうか判定する。ステップ1012における応答が「いいえ」である場合、ステップ1014において、メッセージは廃棄されてもよい。ステップ1012における応答が「はい」である場合、処理は、そのメッセージをメッセージ情報ストア160内に格納すべきかどうかが決定されるステップ1016に進む。ステップ1016における応答が「はい」である場合、処理は、メッセージ検査モジュール150がそのメッセージのコピーをさらなる解析のために別のデバイスに送信するかどうか判定するステップ1024に進む。ステップ1024における応答が「いいえ」である場合、処理はステップ1026で停止する。ステップ1016における応答が「いいえ」である場合、またはステップ1024における応答が「はい」である場合、処理は、そのメッセージが、さらなる解析および/もしくは処理のために、解析システム135または何らかの他のデバイス136など、別のデバイスに転送されるステップ1018に進む。ステップ1020において、通信速度制御モジュール140は、そのメッセージに関する遅延を変更すべきかどうか判定する。ステップ1020における応答が「いいえ」である場合、処理はステップ1028で停止する。ステップ1020における応答が「はい」である場合、処理はステップ1022に進み、遅延データベース141内の遅延は更新される。
【0049】
図11では、出力メッセージ処理ルーチンの形でもう1つの非限定的な実装形態が示される。この例では、システムは、送信すべきメッセージが存在するかどうか判定するために、このルーチンを呼び出した。この呼出は、明示的に行うことが可能であり、または(タイマベースのイベントなど)非同期的に行うことも可能である。このシステムは、ステップ1110において、発信メッセージバッファを検査することによって開始する。ステップ1120において、このシステムは、遅延を伴わずに送信すべき何らかのパケットが存在するかどうかを点検し、そのようなパケットが見出された場合、そのパケットはステップ1130で送信される。ソフトウェアの設計の知識が豊富な者は誰でも、遅延パケットに関してまず点検することも可能である。ステップ1120および1140は、異なる順序で実行されてもよい。次に、このシステムは、ステップ1140において、遅延を必要とするパケットに関して点検する。遅延を必要とするパケットがある場合、処理は、システムが送信すべきパケットを見出すステップ1150に進む。遅延を必要とするパケットがない場合、処理はステップ1180で停止する。ステップ1160において、パケットを送信する時間かどうかが決定される。ステップ1160における応答が「いいえ」である場合、処理はステップ1180で終了する。ステップ1160における応答が「はい」である場合、処理はステップ1170に進み、遅延パケットは送信される。
【0050】
1つの非限定的な実装形態では、それぞれのメッセージに関連するタイムスタンプを使用することが可能であり、現在の時間がそのタイムスタンプの値以上である場合、このシステムは、したがって、そのパケットを送信すべき時間が現在の時刻および日付に等しいかまたはそれに満たないと判断することが可能である。遅延メッセージの待ち行列は、タイムスタンプに基づいて分類可能であるか、またはそれが次に処理されるべきパケットであることを示す「最小」タイムスタンプを有するパケットを識別するために、いくつかの他の機構を使用することも可能である。次のパケットの値が現在の時刻および日付を超える場合、メッセージ送信イベントは、何のパケットも送信せずに終了できる。
【0051】
要約説明では、本発明の例示的な実施形態は、サイバー脅威を潜在的に表すメッセージをさらに解析するのを可能にするために、ネットワーク内でメッセージのレイテンシを制御するためのシステムおよび方法を提供する。
【0052】
本発明のいくつかの例示的な実施形態はスマートグリッドネットワークの関連で説明されているが、この方法およびこのシステムはいかなる通信ネットワークにも使用可能である点を当業者は理解するであろう。
【0053】
本発明のある種の特徴だけが本明細書において例示および説明されているが、当業者は多くの修正形態および変更形態を思いつくであろう。したがって、添付の特許請求の範囲は、本発明の真の趣旨に該当するすべてのそのような修正形態および変更形態を網羅することが意図される点を理解されたい。
【符号の説明】
【0054】
80 TCPポート
100 ネットワーク通信速度制御システム
110 悪意のあるソフトウェア発信源
120 デバイス
130 ネットワーク
132 ホスト
134 イベントロガー
135 解析システム
136 デバイス
140 通信速度制御モジュール
141 遅延データベース
142 プログラムデータベース
150 メッセージ検査モジュール
160 メッセージ情報ストア
170 遅延モジュール
180 メッセージ警告モジュール
190 通信モジュール
200 ユーザインターフェイス
210 メモリ
212 論理
214 インターフェイス
216 論理コントローラ
218 記憶装置
300 システム
340 サイト
350 デバイス
410 通信速度制御モジュール
412 遅延データベース
414 プログラムデータベース
420 デバイス
500 ネットワーク
510 送電系統広域監視規制
520 再プログラミングメッセージ
530 ヒューマンインターフェイス
540 操作者
550 イベントロガー
560 解析エンジン
570 ネットワークコマンド
610 メータの初期のマップ
620 メータの後のマップ
【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2012−129999(P2012−129999A)
【公開日】平成24年7月5日(2012.7.5)
【国際特許分類】
【出願番号】特願2011−267428(P2011−267428)
【出願日】平成23年12月7日(2011.12.7)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ZIGBEE
【出願人】(390041542)ゼネラル・エレクトリック・カンパニイ (6,332)
【Fターム(参考)】