JP2021527873A - プロトコルに依存しない異常検出 - Google Patents

プロトコルに依存しない異常検出 Download PDF

Info

Publication number
JP2021527873A
JP2021527873A JP2020568753A JP2020568753A JP2021527873A JP 2021527873 A JP2021527873 A JP 2021527873A JP 2020568753 A JP2020568753 A JP 2020568753A JP 2020568753 A JP2020568753 A JP 2020568753A JP 2021527873 A JP2021527873 A JP 2021527873A
Authority
JP
Japan
Prior art keywords
horizontal
detection
byte
model
network packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020568753A
Other languages
English (en)
Other versions
JP7086230B2 (ja
Inventor
ジュンワン リー、
ルーアン タン、
ジェンジャン チェン、
チャン キム、
ジチュン リ、
ジンキァオ ズオウ、
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Laboratories America Inc
Original Assignee
NEC Laboratories America Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Laboratories America Inc filed Critical NEC Laboratories America Inc
Publication of JP2021527873A publication Critical patent/JP2021527873A/ja
Application granted granted Critical
Publication of JP7086230B2 publication Critical patent/JP7086230B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • G05B19/4186Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication by protocol, e.g. MAP, TOP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33244Packet information exchange
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

産業制御システム(ICS)内でプロトコルに依存しない異常検出を実施するコンピュータ実施方法であり、検出段階を実施すること(1400)は、ICS(1430)と関連した少なくとも1つの新しいネットワークパケットに基づくバイトフィルタリングモデルを使用してバイトフィルタリングを実行し、少なくとも1つの新しいネットワークパケットの異なるバイトにわたる制約を分析することを含む水平検出を実行しバイトフィルタリングと水平モデルに基いて少なくとも1つのネットワークパケットに水平制約異常が存在するかを決定し(1440)、水平検出に基づいてメッセージクラスタリングを実行し第1のクラスタ情報を生成し(1450)、少なくとも1つの新しいネットワークパケットの各バイトの時間的なパターンを分析することを含む垂直検出を実行し第1のクラスタ情報と垂直モデルに基いて垂直異常が存在するかを決定すること(1460)を含む。

Description

(関連出願情報)
本出願は2018年8月17日に出願された仮出願番号62/719,238および2019年8月8日に出願された米国特許出願番号16/535,521に対する優先権を主張するものであり、その全体が夫々参照により本明細書に組み込まれる。
(技術分野)
本発明は、コンピュータセキュリティアーキテクチャに関し、より詳細には、プロトコルに依存しない異常検出に関する。
(関連技術の説明)
制御コンピュータシステムは成長し、セキュリティ攻撃からますます注目を集めている。このようなセキュリティ攻撃の例として、例えば、Stuxnet、VPNフィルタ、およびMiraiがある。いくつかの制御コンピュータシステムにおいて、装置の高い要求と安定性のため、ホストレベルのセキュリティソリューションを配備するのが困難な場合がある。
本原理の一態様によれば、産業制御システム(ICS)内でプロトコルに依存しない異常な検出を実施するための方法が提供される。前記方法は、検出段階を実施することを含む。検出段階を実施することは、ICSと関連した少なくとも1つの新しいネットワークパケットに基づくバイトフィルタリングモデルを使用してバイトフィルタリングを実行すること、および水平検出を実行し、前記バイトフィルタリングと水平モデルに基づいて前記少なくとも1つのネットワークパケットに水平制約異常が存在するかどうかを決定することを含む。水平検出を実行することは、前記少なくとも1つの新しいネットワークパケットの異なるバイトにわたる制約を分析することを含む。検出段階を実施することは、前記水平検出に基づいてメッセージクラスタリングを実行し、第1のクラスタ情報を生成すること、および垂直検出を実行し、前記第1のクラスタ情報と垂直モデルに基づいて垂直異常が存在するかどうかを決定することを含む。垂直検出を実行することは、前記少なくとも1つの新しいネットワークパケットの各バイトの時間的なパターンを分析することを含む。
本原理の他の態様によれば、産業制御システム(ICS)内でプロトコルに依存しない異常な検出を実施するためのシステムが提供される。前記システムは、プログラムコードを記憶するための記憶装置と、記憶装置に動作可能に結合された少なくとも1つのプロセッサ装置とを含む。前記少なくとも1つのプロセッサ装置は、検出段階を実施するために前記記憶装置に記憶されたプログラムコードを実行するように構成される。前記少なくとも1つのプロセッサ装置は、前記ICSと関連した少なくとも1つの新しいネットワークパケットに基づくバイトフィルタリングモデルを使用してバイトフィルタリングを実行すること、および水平検出を実行し、前記バイトフィルタリングと水平モデルに基づいて前記少なくとも1つのネットワークパケットに水平制約異常が存在するかどうかを決定することにより前記検出段階を実施するように構成される。前記水平検出を実行することは、水平モデルに基づいて前記少なくとも1つの新しいネットワークパケットの異なるバイトにわたる制約を分析することを含む。前記少なくとも1つのプロセッサ装置は、さらに、前記水平検出に基づいてメッセージクラスタリングを実行し、前記第1のクラスタ情報を生成すること、および垂直検出を実行し、前記第1のクラスタ情報と垂直モデルに基づいて垂直異常が存在するかどうかを決定することにより前記検出段階を実施するように構成される。前記垂直検出を実行することは、前記少なくとも1つの新しいネットワークパケットの各バイトの時間的なパターンを分析することを含む。
これらおよび他の特徴および利点は添付の図面に関連して読まれるべき、その例示的な実施形態の以下の詳細な説明から明らかになるであろう。
本開示は、以下の図面を参照して、好ましい実施形態の以下の説明において詳細を提供する。
本発明の一実施形態による、産業制御システム(ICS)の高レベルの概要を示すブロック/フロー図である。 本発明の一実施形態による、プロトコルに依存しない異常な検出を実施するためのアーキテクチャの高レベルの概要を示すブロック/フロー図である。 本発明の一実施形態による、プロトコルに依存しない異常な検出を実施するための例示的なアーキテクチャを示すブロック/フロー図である。 本発明の一実施形態による、図3のアーキテクチャによって実施される例示的なバイトフィルタリング方法を示す図である。 本発明の一実施形態による、図3のアーキテクチャによって実施される例示的な水平学習方法を示す図である。 本発明の一実施形態による、図3のアーキテクチャによって実施される検出のためのバイトレベルの異常閾値を生成するための例示的な方法を示す図である。 本発明の一実施形態による、図3のアーキテクチャによって実施される検出のためのメッセージレベルの水平異常閾値を生成する例示的な方法を示す図である。 本発明の一実施形態による、図3のアーキテクチャによって実施される例示的な違反カウント方法を示す図である。 本発明の一実施形態による、図3のアーキテクチャによって実施される例示的なメッセージクラスタリング方法を示す図である。 本発明の一実施形態による、図3のアーキテクチャによって実施される例示的な垂直方向の学習方法を示す図である。 本発明の一実施形態による、図3のアーキテクチャによって実施される例示的な水平検出方法を示す図である。 本発明の一実施形態による、図3のアーキテクチャによって実施される例示的な垂直検出方法を示す図である。 本発明の一実施形態による、プロトコルに依存しない異常な検出の学習段階を実施するためのシステム/方法を示すブロック/フロー図である。 本発明の一実施形態による、プロトコルに依存しない異常な検出の検出段階を実施するためのシステム/方法を示すブロック/フロー図である。 本発明の一実施形態によるコンピュータシステムを示すブロック/フロー図である。
本明細書で説明される実施形態はプロトコルの事前知識を必要とせずに、制御コンピュータシステムの異常な検出を提供し、本明細書では、プロトコルに依存しない、またはプロトコルにとらわれない異常な検出と呼ばれる。例示的に、本明細書で説明される実施形態は、産業制御システム(ICS)の異常な検出を提供することができる。例えば、異常な検出はオペレーショナルテクノロジ(OT)ネットワークまたはシステムプロトコルの事前の知識を必要とせずに、OTネットワークまたはシステムトラフィックのために提供され得る。したがって、本明細書で説明される実施形態は手動分析なしにICSセキュリティソリューションを提供することができ、それによって、リバースエンジニアリングが困難であり得る、専有のまたは未知のネットワークプロトコルおよび拡張を有するICSシステムに適用可能性を提供する。したがって、本明細書で説明される実施形態は、制御コンピュータシステムのためのセキュリティソリューションを設計する際の時間およびリソースの消費を低減することができる。
本明細書に記載する実施形態は完全にハードウェアであってもよく、完全にソフトウェアであってもよく、またはハードウェアおよびソフトウェア要素の両方を含むものであってもよい。好ましい実施形態では、本発明がファームウェア、常駐ソフトウェア、マイクロコードなどを含むがこれらに限定されないソフトウェアで実施される。
実施形態は、コンピュータまたは任意の命令実行システムによって、またはそれに関連して使用するプログラムコードを提供する、コンピュータ使用可能またはコンピュータ読み取り可能媒体からアクセス可能なコンピュータプログラム製品を含むことができる。コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによって、またはそれに関連して使用するためのプログラムを格納、通信、伝搬、または伝達する任意の装置を含むことができる。媒体は、磁気、光学、電子、電磁気、赤外線、または半導体システム(または装置またはデバイス)、または伝達媒体とすることができる。媒体は、半導体またはソリッドステートメモリ、磁気テープ、リムーバブルコンピュータディスケット、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、リジッド磁気ディスクおよび光ディスクなどのコンピュータ読み取り可能な記憶媒体を含むことができる。
各コンピュータプログラムは本明細書に記載する手順を実行するために、記憶媒体または装置がコンピュータによって読み取られるとき、コンピュータの操作を構成し制御するために、汎用または特殊目的のプログラム可能コンピュータによって読み取り可能な、機械読み取り可能な記憶媒体または装置(例えば、プログラムメモリまたは磁気ディスク)に実体的に記憶することができる。本発明のシステムはまた、コンピュータプログラムで構成された、コンピュータ読み取り可能な記憶媒体で実施されるものと考えることができ、その場合、構成された記憶媒体は、コンピュータを特定の所定の予め決められた方法で動作させて、本明細書に記載する機能を実行させる。
プログラムコードを記憶および/または実行するのに適したデータ処理システムは、システムバスを介してメモリ要素に直接的または間接的に結合された少なくとも1つのプロセッサを含んでもよい。メモリ要素は、プログラムコードの実際の実行中に採用されるローカルメモリ、バルク記憶、および実行中にバルク記憶からコードが検索される回数を減らすために少なくとも何らかのプログラムコードの一時記憶を提供するキャッシュメモリを含むことができる。入力/出力またはI/O装置(キーボード、ディスプレイ、ポインティング装置などを含むが、これらに限定されない)は直接または経由するI/Oコントローラを介してシステムに結合され得る。
介在する専用ネットワークまたは公衆ネットワークを介して、データ処理システムを他のデータ処理システムあるいは遠隔プリンタまたは記憶装置に結合できるようにするために、ネットワークアダプタをシステムに結合することもできる。モデム、ケーブルモデム、およびイーサネットカードは、現在利用可能なネットワークアダプタのタイプのほんの一部である。
ここで、図を詳細に参照すると、同様の数字は同一または類似の要素を示し、最初は図1に示されており、システム100の高レベルの概要が例示的に示されている。図示のように、システム100は、ネットワーク102に接続された産業制御システム(ICS)110および工場120を含むことができる。例えば、ICS110は、オペレーショナルテクノロジ(OT)ネットワークまたはシステムを含むことができる。ICS110は、工場120の構成要素を制御することができる。ICS110は、本明細書に記載の実施形態にしたがって任意の適切な環境を制御するように構成することができることを理解され、認識されたい。ICS110は工場120の外部にあるものとして示されているが、他の実施形態ではICS110は工場120内に配置することができる。
敵がネットワーク100にアクセスする場合、敵は悪意のあるパケットをICS110に送信して、悪意のある目的のためにICS110を構成し、制御することができる。ICS110に対するこのような攻撃と戦うために、システム100は、ネットワーク102に接続された少なくとも1つのプロセッサ装置130をさらに含むことができる。少なくとも1つのプロセッサ装置130は独立した構成要素として示されているが、他の実施形態では少なくとも1つのプロセッサ装置130がICS110の構成要素および/または工場120内に配置された構成要素とすることができる。
少なくとも1つのプロセッサ装置130はネットワーク100(例えば、パッシブ監視)内で交換されているネットワークトラフィックを監視するように構成することができる。以下にさらに詳細に説明するように、少なくとも1つのプロセッサ装置130は構成要素102、110および/または120に対する攻撃を検出し、それによってネットワークセキュリティを提供するために、プロトコルに依存しない異常な検出を実装することができる。例えば、少なくとも1つのプロセッサ装置130は通常の使用におけるネットワークトラフィックパターンを監視し、通常の使用に基づいて通常の使用モデルを構築することができる。後に、攻撃者が悪意のあるトラフィックを送信すると、少なくとも1つのプロセッサ装置130は悪意のあるトラフィックが通常の使用モデルと比較して異常であることを検出することができ、これは悪意のあるトラフィックが実際に立ち向かう必要がある攻撃であること知らせることができる。
ここで図2を参照すると、本原理の一実施形態による、プロトコルに依存しない異常な検出のためのシステム/方法200の高レベルの概要を示すブロック/フロー図が例示的に示されている。例えば、システム/方法200は、プロトコルに依存しないディープラーニングベースの異常な検出を使用することができる。システム/方法200はICS(例えば、OTネットワーク)のコンテキスト内で異常な検出を実行するよう実装することができる。より具体的には、システム/方法200がそれらのプロトコル構造を知らなくてもICSネットワークパケットの異常な検出を実行するように実装することができる。例えば、システム/方法200は、図1の少なくとも1つのプロセッサ装置130によって実施することができる。
インストール段階中に進行中の攻撃がないと仮定すると、トレーニング段階は、トレーニングネットワークトラフィックを捕捉することによってトレーニングトラフィック210を生成することを含むことができる。前処理構成要素220はトレーニングトラフィック210を前処理し、これは、同じ送信元および宛先を有するトラフィックを分類することを含むことができる。次いで、トレーニング構成要素230は、前処理されたトラフィックに機械学習プロセスを適用することによって、機械学習モデルを生成することができる。閾値決定構成要素240は、イベントが異常であるかどうかを決定するための閾値を自動的に決定することができる。トレーニング段階は、ネットワークトラフィックパターンを要約する機械学習モデルであるモデル250を生成する。
実際の使用では、試験段階は、試験ネットワークトラフィックを捕捉することによって試験トラフィック260を生成することを含むことができる。テストネットワークトラフィックは、無害なトラフィックおよび/または悪意のあるトラフィックを含む可能性がある。次いで、検出構成要素270は、モデル250をテストトラフィック260と比較して、決定された閾値に基づいて、テストトラフィック260がモデル250と異なるかどうかを決定することができる。テストトラフィック260がモデル250と異なると決定されると、セキュリティ異常が報告される。さもなければ、セキュリティ異常は報告されない。検出結果280は、テストされたトラフィックが無害であるか悪意のあるものであるかを示す。
システム/方法200に関するさらなる詳細を、図3を参照して以下に説明する。
図3を参照すると、プロトコルに依存しない異常の検出のためのアーキテクチャ300を示すブロック/フロー図が提供されている。例えば、アーキテクチャ300は、プロトコルに依存しないディープラーニングに基づく異常な検出を使用することができる。アーキテクチャ300は、ICS(例えば、OTネットワーク)のコンテキスト内で異常な検出を実行するよう実装することができる。より具体的には、アーキテクチャ300は、そのプロトコル構造を知らなくてもICSネットワークパケットの異常な検出を実行するよう実装することができる。例えば、アーキテクチャ300は、図1の少なくとも1つのプロセッサ装置130によって実施することができる。
より具体的には、アーキテクチャ300が学習段階302および検出段階304を含むことができる。高レベルの概要として、検出メカニズムは、水平モデル(または水平制約)および垂直モデル(または垂直制約)を含む少なくとも2つのタイプのモデルに基づくことができる。水平モデルは同じパケットの異なるバイトオフセット間の関係を参照し、異なるプロトコル分野と値の範囲にわたる依存性を捕捉することができる。垂直モデルは異なるネットワークパケットにわたる同じバイトオフセットの時間的関係を参照し、値のシーケンスや値の異常ジャンプのような、パケットの特定のバイトオフセットの時系列の時間的特性を捕捉する。以下にさらに詳細に説明するように、ディープラーニング技術は、水平および垂直モデルを生成するために使用することができる。
学習段階302の間に、ネットワークトラフィックパターンが分析され、学習される。ディープラーニング技術は、時間と共に異なる分野や複数のパケットにわたる制約を発見するために使用することができる。
例えば、学習構成要素310のパケット監視はネットワーク(例えば、ICSネットワーク)のネットワークインタフェースを監視し、学習のネットワークパケットを記録することができる。記録されたネットワークパケットは、ファイルまたはメモリの何れかに格納される。
前処理構成要素312は、ネットワークパケットをグループ化することによって、ネットワークパケットを処理することができる。ネットワークパケットは、送信元インターネットプロトコル(IP)アドレス、送信元ポート番号、宛先IPアドレス、宛先ポート番号、および/またはプロトコル番号(例えば、5タプル)によってグループ化することができる。ネットワーク5タプルに基づく各グループは「セッション」と呼ぶことができ、学習と検出は各セッションで実行される。学習されたパケットからの可能なパターンは、前処理モデル314に格納することができる。
バイトフィルタリング構成要素316は、学習または検出に適さない各パケットのバイトのリストを分析することができる。例えば、不変量のバイトとシーケンス番号は明白なパターンを有することができ、これは明示的な学習なしに取り扱うことができる。バイトフィルタリング構成要素316の出力は、バイトフィルタリングモデル318に格納することができる。
例えば、バイトフィルタリング構成要素316は、入力として、水平分析に使用されるオフセットのリストを含む、通常状態のネットワークパケットのデータセット、セットS、および出力水平変量を受信することができる。より具体的には、バイトフィルタリング構成要素316は、様々な長さ(例えば、1、2、および4)の複数の時間ウィンドウを試して、異なる長さの値(例えば、短い整数、整数、長い整数)を捕捉することができる。Sのすべてのパケットに対するバイトオフセットkに対して、オフセットk,Ekから始まる時間ウィンドウのエントロピーを計算することができる。Ek=0の場合、それは定数値である。この制約は明確な制約であるため、記録して直接チェックすることができる。Ekの高い値はシリアル番号と同様に、非常に多様なパターンに対応する(例えば、各パケットは固有の値を有する)。したがって、ゼロ値エントロピーおよび高値エントロピーの両方は学習から除外することができる。バイトフィルタリング構成要素316(「アルゴリズム1:メッセージエントロピー分類:バイト()の分類」)によって実施することができる方法の例を、図4の図400を参照して示す。
図3に戻って参照すると、異常の検出のため、水平学習構成要素320は、パケットの異なるバイトにわたって制約を学習することができる。水平学習構成要素320の出力は、水平モデルを含むことができる。
例えば、水平学習構成要素320は、入力として、正常状態のネットワークパケットのデータセット、セットS、バイトレベル異常偽陽性閾値α、およびメッセージレベル異常偽陽性閾値β、ここで、α、∈[0,1)を受信することができる。入力に基づいて、水平学習構成要素320は、水平モデルM、バイトBのための水平フィルタ、検出αのための内部バイトレベル水平異常閾値、および検出ηのための内部メッセージレベル異常閾値を含む出力を生成することができる。
より具体的にはセットBは、バイトフィルタリング構成要素316の出力に基づいて生成することができ、ここで、nはBのサイズである。次に、セットSはトレーニングデータセットStrain、検証データセットSval、およびテストデータセットStestに分割することができる。各バイトオフセットk=1,2,...,n−1に対して、ディープラーニングモデルは、入力およびラベルに基づいて訓練を受ける。より具体的には、入力がオフセット0からk−1までのフィルタリングされたバイトを含むことができ、ラベルはオフセットkでフィルタリングされたバイトを含むことができる。一実施形態では、ディープラーニングモデルは、長期短期記憶(LSTM)のディープラーニングモデルを含む。水平学習(「アルゴリズム2:水平学習」)を実行するために水平学習構成要素320によって実施することができる方法の一例は、図5の図500を参照して説明される。
αの検出のための内部バイトレベル閾値は閾値αおよびセットSに基づいて生成される。より具体的には閾値σkを生成するために、水平学習構成要素320は、最小リストおよび最大リストを初期化することができる。次に、セットS内のメッセージmについて、水平学習構成要素320は0からk−1までのバイトの条件付き確率分布(CPD)を計算し、CPDを最大CPDで分割することによって、相対最大閾値Pmaxを計算し、CPDを最小CPDで分割することによって、相対最小閾値Pminを計算し、PmaxおよびPminを、それぞれ、最大リストおよび最小リストに加えることができる。最小リストと最大リストは昇順でソートされる。そして、閾値αと設定Sに基づいて、最小値と最大値が設定される。例えば、σkの最小値は最小リスト[|Stest|α]として、σk の最大値は最大リスト[|Stest|α]として設定することができる。閾値σ(「アルゴリズム3:バイト閾値水平生成」)を生成するために水平学習構成要素320によって実施することができる方法の一例は、図6の図600を参照して説明される。
検出ηの内部メッセージレベル閾値は閾値σおよびβに基づいて生成され、Sを設定することができる。より具体的には閾値ηを生成するために、水平学習構成要素320は違反リスト(「違反リスト」)を初期化することができる。次に、メッセージmについて、各パケットの違反または異常の数が計算される。
違反の数が計算された後、違反の数を違反リストに加えることができる。違反リストは降順にソートすることができ、閾値ηは入力レート閾値βとメッセージセットS全体のサイズとによって計算されたメッセージ順序を用いて設定される。例えば、閾値ηは、違反リスト[|S|β]として設定することができる。閾値η(「アルゴリズム4:メッセージ閾値水平生成()」)を生成するために水平学習構成要素320によって実施される方法の例は、図7の図700を参照して説明される。
違反リストに加えられた違反の数は、メッセージmのバイト違反をチェックすることによって計算することができる。例えば、各k=1,2,...,n−1に対して、そのバイトが確率分布に基づく未知の値を有する場合、異常がカウントされる。最大および最小の予測値、PmaxおよびPminは、確率分布に基づいて計算できる。PmaxおよびPminは異常をカウントするかどうかを決定するために、検出σkの内部バイトレベル異常閾値の夫々のものと比較され得る。そして、異常の総数を返すことができる。違反(「アルゴリズム5:バイト違反チェック()」)の数を計算するために水平学習構成要素320によって実施することができる方法の一例は、図8を参照して説明される。
ネットワークパケットは複数の異種構造を有することができるので、各バイトは異なる意味を表すことができる。例えば、第1のパケットの第10のバイトは、例えば、パケットの長さ(「構造A」)とすることができ、第2のパケットの第10のバイトは、例えば、温度値(「構造B」)とすることができる。我々はプロトコルの知識を前提としていないので、我々はパケットのバイトが構造Aを表すか構造Bを表すかを知ることはできない。
メッセージクラスタリング構成要素322は、水平学習構成要素320の出力に基づいて、パケットのクラスタリングを実行することができる。メッセージクラスタリング構成要素322の出力は、クラスタ化されたパケットを含むことができる。例えば、メッセージクラスタリング構成要素322はバイトオフセットkで同様の推測された意味的な意味を持つメッセージ(パケット)をクラスタ化することができ、クラスタあたりの確率分布テンプレート、バイトオフセットkで同様の確率分布を持つメッセージサブセットを出力することができる。
より具体的には、各メッセージmについて、確率分布は水平モデルと、オフセット0からk−1までのメッセージバイトとを使用して計算することができる。確率分布のエントロピーがクラスタリング閾値よりも高い場合、これは、本明細書ではプロブリストと呼ばれるリストに加えることができる。プロブリストおよびクラスタリング標準偏差を含むパラメータを用いたクラスタリング方法(例えば、密度ベースのクラスタリング)は、c個のクラスタを生成するために使用することができる。クラスタの数が高すぎる(cが大きすぎる)場合、すべてのクラスタは1つにマージすることができ、cは1に設定される。次に、クラスタあたりの確率分布テンプレートは、i=1,2,3,...,cごとに計算することができる。
メッセージクラスタリング構成要素322がメッセージクラスタリング(「アルゴリズム7:バイトによるクラスタメッセージ」)を実行するために実装される方法の一例は、図9の図900を参照して説明される。
一旦パケットが一緒にクラスタ化されると、パケットが同様の構造を有することが期待される。垂直学習構成要素324は、クラスタリングに基づいてメッセージの時間的パターンを学習することができる。例えば、垂直学習構成要素324は、n個のパケットの各10番目のバイト値を時系列として分析することができる。垂直学習構成要素324の出力は、垂直モデルを含むことができる。
例えば、各バイトオフセットk=1,2,...,nに対して、メッセージクラスタリングは、クラスタおよび確率分布テンプレートを生成するために使用することができる。クラスタのサイズが0である場合、水平モデルは厳しすぎ、プロセスは別の値kに続く。クラスタj=1,...,cごとに、データセットSjはデータセットSj内の各メッセージのバイトフィルタを使用して生成される。次いで、データセットSjは、トレーニングと検証セットに分割され得る。そして、データセット配置が実行され、垂直モデルがトレーニングされ、損失関数が使用される。クロスエントロピーは離散変数符号化と共に使用することができ、平均二乗誤差は、連続変数符号化と共に使用することができる。最良の段階および符号化スタイルは、精度に基づいて選択することができる。次に、バイトレベルおよびメッセージレベルの垂直異常検出閾値は、水平学習構成要素320を参照して上述したのと同様の方法で生成することができる。
垂直学習(「アルゴリズム8:垂直学習」)を実行するために垂直学習構成要素324によって実行することができる方法の一例は、図10の図1000を参照して説明される。
構成要素320〜324の出力は、それぞれ記憶構成要素326に格納することができる。
検出段階304の間に、新しいネットワークパケットが分析され、新しいネットワークパケットに基づいて既存の異常を検出する。
例えば、検出構成要素330のパケット監視はネットワーク(例えば、ICSネットワーク)のためのネットワークインタフェースを監視し、検出のためのネットワークパケットを記録することができる。記録されたネットワークパケットは学習構成要素310のパケット監視と同様に、ファイルまたはメモリの何れかに格納される。
前処理構成要素312と同様に、前処理構成要素332は、ネットワークパケットをグループ化することによって、ネットワークパケットを処理することができる。ネットワークパケットは、送信元IPアドレス、送信元ポート番号、宛先IPアドレス、宛先ポート番号、および/またはプロトコル番号(例えば、5タプル)によってグループ化することができる。ネットワーク5タプルに基づく各グループは「セッション」と呼ぶことができ、学習と検出は各セッションで実行される。
前処理構成要素332は、前処理モデル314をさらに受信することができる。何れかのトラフィックが新しいものであり、前処理モデル314において見つからない場合、前処理構成要素332は、警告を発動することができる。
バイトフィルタリング構成要素334は、検出に適さない新しいネットワークパケットのバイトのリストを分析することができる。より具体的には、バイトフィルタリング構成要素334は、新しいネットワークパケットのバイト値がバイトフィルタリングモデル318内に含まれるかどうかを決定することができる。新しい違反パターンが発見された場合、バイトフィルタリング構成要素334は、警告を発動することができる。バイトフィルタリング構成要素334は(例えば、図4の「アルゴリズム1:メッセージエントロピー分類:バイト分類()」の方法を使用して)バイトフィルタリング構成要素316と同様の方法を実施することができる。
異常検出のために、水平検出構成要素336は、水平学習構成要素320によって生成される水平モデルに基づいて、新しいネットワークパケットに水平制約異常が存在するかどうかを検出することができる。
より具体的には、水平検出構成要素336が新しいネットワークパケットが入ってくるメッセージmに基づいて異常なパケットであるかどうかを決定することができる。例えば、各バイトオフセットkに対して、0からk−1までのバイトに対して条件付き確率分布が計算される。メッセージm、条件付き確率分布、およびバイトレベル異常閾値が与えられると、異常または違反の数が計算される(例えば、図8の「バイト違反チェック」の方法を使用して)。次に、違反の総数が閾値を超えると、新しいネットワークパケットは異常であると決定される。さもなければ、新しいネットワークパケットは正常であると決定される。
水平学習(「アルゴリズム6:水平検出(メッセージレベル)」)を実行するために水平検出構成要素336によって実施される方法の一例は、図11の図1100を参照して説明される。
メッセージクラスタリング構成要素338は、水平モデルの確率分布に基づいて、新しいネットワークパケットのクラスタを決定することができる。メッセージクラスタリング構成要素338は、クラスタ情報を出力することができる。メッセージクラスタリング構成要素338はメッセージクラスタリング構成要素322(例えば、図9の「バイトによるクラスタメッセージ」の方法を使用して)と同様に動作することができる。
垂直検出構成要素340は垂直の異常が存在するかどうかを決定するために、新しいネットワークパケットの各バイトの時間的パターンを分析することができる。垂直検出構成要素340によって実行される分析は、メッセージクラスタリング構成要素338によって出力されるクラスタ情報と、垂直学習構成要素324によって生成される垂直モデルとに基づくことができる。
例えば、各バイトオフセットkについて、水平確率分布は、水平モデルを使用して計算される。水平確率分布のエントロピーが閾値未満である場合、偽を返すことができる。最も近いクラスタIDは、水平確率分布および確率分布テンプレートを使用して得ることができる。垂直確率分布は垂直モデルを使用して、メッセージの段階数について計算することができ、ここで、Wは時間ウィンドウのサイズを指す。違反の数を決定することができる。違反の数が閾値を超える場合、真を返すことができる。さもなければ、偽を返すことができる。
垂直検出(「アルゴリズム9:垂直検出」)を実行するために垂直検出構成要素340によって実施される方法の一例は、図12の図1200を参照して説明される。
図13を参照すると、プロトコルに依存しない異常な検出の学習段階を実施するためのシステム/方法1300を説明するブロック/フロー図が提供されている。学習段階の間、ネットワークトラフィックパターンは、ディープラーニング技術を使用して分析され、学習され、時間と共に異なる分野や複数のパケットにわたる制約を発見する。
例えば、ブロック1310で、学習のために1つ以上のネットワークパケットが記録される。1つ以上のネットワークパケットを記録することは、ネットワーク(例えば、ICSネットワーク)の1つ以上のネットワークインタフェースを監視することを含むことができる。1つ以上のネットワークパケットは、ファイルまたはメモリに格納される。ブロック1310に関するさらなる詳細は、図3の構成要素310を参照して上述される。
ロック1320で、1つ以上のネットワークパケットが前処理される。前処理は、前処理モデルを含む出力を生成することができる。1つ以上のネットワークパケットの前処理は、1つ以上のネットワークパケットのグループ化を含むことができる。1つ以上のネットワークパケットは、送信元IPアドレス、送信元ポート番号、宛先IPアドレス、宛先ポート番号、および/またはプロトコル番号(例えば、5タプル)によってグループ化することができる。ネットワーク5タプルに基づく各グループは「セッション」と呼ぶことができ、学習と検出は各セッションで実行される。学習パケットからの可能なパターンは、前処理モデルに格納される。ブロック1320に関するさらなる詳細は、図3の構成要素312および314を参照して上述される。
ブロック1330で、バイトフィルタリングは前処理に基づいて実行される。バイトフィルタリングを実行することは、学習または検出に適さない各パケットのバイトのリストを分析することを含むことができる。例えば、不変量のバイトとシーケンス番号は明白なパターンを有することができ、これは明示的な学習なしに取り扱うことができる。バイトフィルタリング構成要素の出力は、バイトフィルタリングモデルに格納される。ブロック1330に関するさらなる詳細は、図3の構成要素316および318、ならびに図4の図400を参照して上述される。
ブロック1340において、バイトフィルタリングに基づいて水平学習が実行され、水平モデルを生成する。水平学習は、パケットの異なるバイトにわたる学習制約を含むことができる。水平学習は、正常状態のネットワークパケットのデータセットと閾値の第1のセットとを含む入力に基づいて実行される。例えば、閾値のセットは、例えば、バイトレベルの異常偽陽性閾値およびメッセージレベルの異常偽陽性閾値を含むことができる。
水平モデルは同じパケットの異なるバイトオフセット間の関係を参照し、異なるプロトコル分野と値の範囲にわたる依存性を捕捉することができる。水平学習の出力は、例えば、水平フィルタおよび閾値の第2のセットをさらに含むことができる。閾値の第2のセットは、例えば、検出のための内部バイトレベル水平異常閾値と、検出のための内部メッセージレベル異常閾値とを含むことができる。ブロック1340に関するさらなる詳細は、図3の構成要素320および図5〜8の図500〜800の図を夫々参照して上述される。
ネットワークパケットは複数の異種構造を有することができるので、各バイトは異なる意味を表すことができる。例えば、第1のパケットの第10のバイトは、例えば、パケットの長さ(「構造A」)とすることができ、第2のパケットの第10のバイトは、例えば、温度値(「構造B」)とすることができる。我々はプロトコルの知識を前提としていないので、我々はパケットのバイトが構造Aを表すか構造Bを表すかを知ることはできない。
ブロック1350で、水平学習に基づいてメッセージクラスタリングが実行され、クラスタ情報が生成される。メッセージクラスタリングは水平学習の出力に基づいてクラスタ化されたメッセージまたはパケットを生成し、対応するクラスタ情報を出力することができる。一旦パケットが一緒にクラスタ化されると、パケットが同様の構造を有することが期待される。ブロック1350に関するさらなる詳細は、図3の構成要素322および図9の図900を参照して上述される。
ブロック1360において、クラスタ情報に基づいて垂直学習が実行され、垂直モデルを生成する。垂直学習は、メッセージの時間的パターンを学習することを含むことができる。例えば、垂直学習は、パケットの各々のバイト値を時系列として解析することができる。ブロック1360に関するさらなる詳細は、図3の構成要素324および図10の図1000を参照して上述される。
図14を参照すると、プロトコルに依存しない異常検出の検出段階を実施するためのシステム/方法1400を説明するブロック/フロー図が提供されている。検出段階では、新しいネットワークパケットが分析され、新しいネットワークパケットに基づいて既存の異常を検出する。
例えば、ブロック1410で、少なくとも1つの新しいネットワークパケットは、検出のために記録される。新しいネットワークパケットを記録することは、パケット監視を使用して、ネットワーク(例えば、ICSネットワーク)のネットワークインタフェースを監視することを含む。新しいネットワークパケットは、ファイルまたはメモリの何れかに格納される。ブロック1410に関するさらなる詳細は、図3の構成要素330を参照して上述される。
ブロック1420で、少なくとも1つの新しいネットワークパケットは前処理される。1つ以上のネットワークパケットの前処理は、少なくとも1つの新しいネットワークパケットのグループ化を含むことができる。少なくとも1つの新しいネットワークパケットは、送信元IPアドレス、送信元ポート番号、宛先IPアドレス、宛先ポート番号、および/またはプロトコル番号(例えば、5タプル)によってグループ化される。ネットワーク5タプルに基づく各グループは「セッション」と呼ぶことができ、学習と検出は各セッションで実行される。少なくとも1つの新しいネットワークパケットの前処理は、前処理モデルの受信を含むことができる。何れかのトラフィックが新しいものであり、前処理モデルに見つからない場合警告が発動される。ブロック1420に関するさらなる詳細は、図3の構成要素332を参照して上述される。
ブロック1430で、バイトフィルタリングは前処理に基づいて実行される。より具体的には、バイトフィルタリングが新しいネットワークパケットのバイト値がバイトフィルタリングモデル内に含まれるかどうかを決定することができる。新しい違反パターンが発見された場合、バイトフィルタリング構成要素334は、警告を発動することができる。ブロック1430に関するさらなる詳細は、図3の構成要素334および図4の図400を参照して上述される。
ブロック1440において、バイトフィルタリングおよび水平モデルに基づいて水平検出が実行される。水平モデルは、水平学習によって生成される。水平検出は、少なくとも1つの新しいネットワークパケットに、水平制約異常が存在するかどうかを検出することによって実行される。ブロック1440に関するさらなる詳細は、図3の構成要素336および図11の図1100を参照して上述される。
ブロック1450では、クラスタ情報を生成するために、水平検出に基づいてメッセージクラスタリングが実行される。メッセージクラスタリングは水平モデルの確率分布に基づいて、少なくとも1つの新しいネットワークパケットのクラスタを決定することができ、対応するクラスタ情報を出力することができる。ブロック1450に関するさらなる詳細は、図3の構成要素338および図9の図900を参照して上述される。
ブロック1460において、メッセージクラスタリングおよび垂直モデルに基づいて垂直検出が実行される。垂直モデルは垂直学習によって生成される。垂直検出は、少なくとも1つの新しいネットワークパケットの各バイトの時間的パターンを分析することによって実行され、垂直異常が存在するかどうかを決定する。ブロック1460に関するさらなる詳細は、図3の構成要素340および図12の図1200を参照して上述される。
次に図15を参照すると、本発明の一実施形態による、サーバまたはネットワーク装置を表す例示的なコンピュータシステム1500が示されている。コンピュータシステム1500は、システムバス1502を介して他の構成要素に動作可能に結合された少なくとも1つのプロセッサ(CPU)1505を含む。キャッシュ1506、読み出し専用メモリ(ROM)1508、ランダムアクセスメモリ(RAM)1510、入力/出力(I/O)アダプタ1520、サウンドアダプタ1530、ネットワークアダプタ1590、ユーザインタフェースアダプタ1550、およびディスプレイアダプタ1560は、システムバス1502に動作可能に結合される。
第1記憶装置1522および第2記憶装置1529は、I/Oアダプタ1520によってシステムバス1502に動作可能に結合される。記憶装置1522および1529はディスク記憶装置(例えば、磁気または光ディスク記憶装置)、ソリッドステート磁気装置などの何れかであってもよい。記憶装置1522および1529は、同じタイプの記憶装置であっても、異なるタイプの記憶装置であってもよい。
スピーカ1532は、サウンドアダプタ1530によって、システムバス1502に動作可能に結合されてもよい。送受信器1595は、ネットワークアダプタ1590によってシステムバス1502に動作可能に結合される。ディスプレイ装置1562は、ディスプレイアダプタ1560によってシステムバス1502に動作可能に結合される。
第1ユーザ入力装置1552、第2ユーザ入力装置1559、および第3ユーザ入力装置1556は、ユーザインタフェースアダプタ1550によってシステムバス1502に動作可能に結合される。ユーザ入力装置1552、1559、および1556は、センサ、キーボード、マウス、キーパッド、ジョイスティック、画像キャプチャ装置、動き検出装置、電力測定装置、マイク、前述の装置のうちの少なくとも2つの機能を組み込んだ装置などのうちの任意のものとすることができる。もちろん、本発明の精神を維持しながら、他のタイプの入力装置を使用することもできる。ユーザ入力装置1552、1559、および1556は、同じタイプのユーザ入力装置または異なるタイプのユーザ入力装置とすることができる。ユーザ入力装置1552、1559、および1556は、システム1500との間で情報を入出力するために使用される。
異常検出(AD)構成要素1570は、システムバス1502に動作可能に結合される。AD構成要素1570は、上述の動作の1つまたは複数を実行するように構成される。AD構成要素1570は、スタンドアロンの特殊目的のハードウェア装置として実装されることができ、または、記憶装置に記憶されたソフトウェアとして実装されることができる。AD構成要素1570がソフトウェア実装される実施形態において、コンピュータシステム1500の別の構成要素として示されるが、SR構成要素1570は、例えば、第1記憶装置1522および/または第2記憶装置1529に格納される。あるいは、AD構成要素1570は別の記憶装置(図示せず)に格納される。
もちろん、コンピュータシステム1500は当業者によって容易に企図されるように、他の要素(図示せず)を含むこともでき、特定の要素を省略することもできる。例えば、当業者によって容易に理解されるように、他の様々な入力装置および/または出力装置は、その特定の実装に応じて、コンピュータシステム1500に含まれる。例えば、様々なタイプの無線および/または有線の入力および/または出力装置を使用することができる。さらに、様々な構成の追加のプロセッサ、コントローラ、メモリなども、当業者には容易に理解されるように利用することができる。コンピュータシステム1500のこれらおよび他の変形は本明細書で提供される本発明の教示を与えられれば、当業者によって容易に企図される。
以上の説明は、あらゆる点において、限定するものではなく例示的および典型的なものとして理解すべきであり、本明細書において開示されている本発明の範囲は、詳細な説明から決定されてはならず、そうではなく、特許法で許容されるすべての幅に応じて解釈される特許請求の範囲から決定されなければならない。本明細書において示され、かつ、説明された実施形態は、本発明の原理についての単なる例示的なものにすぎないこと、また、当業者は、本発明の範囲および精神から逸脱することなく、様々な修正を加えることができることを理解されたい。当業者は、本発明の範囲および精神から逸脱することなく、様々な他の特徴組合せを実現することが可能である。以上、本発明の態様について、特許法で要求される詳細および特異性と共に説明したが、特許請求され、特許証で保護されることが望ましいものは、添付の特許請求の範囲に説明されている。

Claims (20)

  1. 産業制御システム(ICS)内でプロトコルに依存しない異常な検出を実施するためのコンピュータ実施方法であって、
    検出段階を実施すること(1400)は、
    前記ICSと関連した少なくとも1つの新しいネットワークパケットに基づくバイトフィルタリングモデルを使用してバイトフィルタリングを実行すること(1430)と、
    前記少なくとも1つの新しいネットワークパケットの異なるバイトにわたる制約を分析することを含む水平検出を実行し、前記バイトフィルタリングと水平モデルに基づいて前記少なくとも1つのネットワークパケットに水平制約異常が存在するかどうかを決定すること(1440)と、
    前記水平検出に基づいてメッセージクラスタリングを実行し、第1のクラスタ情報を生成すること(1450)と、
    前記少なくとも1つの新しいネットワークパケットの各バイトの時間的なパターンを分析することを含む垂直検出を実行し、前記第1のクラスタ情報と垂直モデルに基づいて垂直異常が存在するかどうかを決定すること(1460)と、を含む方法。
  2. 前記検出段階を実施することは、
    検出用に前記少なくとも1つの新しいネットワークパケットを記録することと、
    前記少なくとも1つの新しいネットワークパケットを少なくとも1つのセッションにグループ化することを含む前記少なくとも1つのネットワークパケットを前処理することと、をさらに含む、請求項1に記載の方法。
  3. 前記少なくとも1つの新しいネットワークパケットを前処理することは、前処理モデルに基づいて新しいトラフィックを決定することと、前記新しいトラフィックに応答して警告を発動することと、をさらに含む、請求項2に記載の方法。
  4. 前記バイトフィルタリングを実行することは、前記バイトフィルタリングモデルに基づいて新しい違反パターンを見つけることと、前記新しい違反パターンを見つけることに応答して警告を発動することと、をさらに含む、請求項1に記載の方法。
  5. 前記メッセージクラスタリングを実行することは、前記水平モデルの確率分布に基づいて、前記少なくとも1つの新しいネットワークパケットのクラスタを決定することをさらに含む、請求項1に記載の方法。
  6. 学習段階を実施することをさらに含み、前記学習段階を実施することは、
    前記バイトフィルタリングモデルを生成するために、1つ以上のネットワークパケットに基づいてバイトフィルタリングを実行することと、
    前記水平モデルを生成するために前記バイトフィルタリングに基づいて水平学習を実行することと、
    第2のクラスタ情報を生成するために前記水平学習に基づいてメッセージクラスタリングを実行することと、
    垂直モデルを生成するために前記第2のクラスタ情報に基づいて垂直学習を実行することと、を含む、請求項1に記載の方法。
  7. 前記学習段階を実施することは、
    学習用に1つ以上のネットワークパケットを記録することと、
    前記1つ以上のネットワークパケットを前処理することと、をさらに含む、請求項6に記載の方法。
  8. コンピュータにプロトコルに依存しない異常な検出を実施する方法を実行させるために、コンピュータによって実行可能なプログラム命令が具現化されたプログラム命令を有する非一時的なコンピュータ読み取り可能な記憶媒体を含むコンピュータプログラム製品であって、前記コンピュータによって実行される方法は、
    検出段階を実施すること(1400)であって、
    前記ICSと関連した少なくとも1つの新しいネットワークパケットに基づくバイトフィルタリングモデルを使用してバイトフィルタリングを実行すること(1430)と、
    前記少なくとも1つの新しいネットワークパケットの異なるバイトにわたる制約を分析することを含む水平検出を実行し、前記バイトフィルタリングと水平モデルに基づいて前記少なくとも1つのネットワークパケットに水平制約異常が存在するかどうかを決定すること(1440)と、
    前記水平検出に基づいてメッセージクラスタリングを実行し、第1のクラスタ情報を生成すること(1450)と、
    前記少なくとも1つの新しいネットワークパケットの各バイトの時間的なパターンを分析することを含む垂直検出を実行し、前記第1のクラスタ情報と垂直モデルに基づいて垂直異常が存在するかどうかを決定すること(1460)と、を含むコンピュータプログラム製品。
  9. 前記検出段階を実施することは、
    検出用に前記少なくとも1つの新しいネットワークパケットを記録することと、
    前記少なくとも1つの新しいネットワークパケットを少なくとも1つのセッションにグループ化すること含む前記少なくとも1つのネットワークパケットを前処理することと、をさらに含む、請求項8に記載のコンピュータプログラム製品。
  10. 前記少なくとも1つの新しいネットワークパケットを前処理することは、前処理モデルに基づいて新しいトラフィックを決定することと、前記新しいトラフィックに応答して警告を発動することと、をさらに含む、請求項9に記載のコンピュータプログラム製品。
  11. 前記バイトフィルタリングを実行することは、前記バイトフィルタリングモデルに基づいて新しい違反パターンを見つけることと、前記新しい違反パターンを見つけることに応答して警告を発動することと、をさらに含む、請求項8に記載のコンピュータプログラム製品。
  12. メッセージクラスタリングを実行することは、前記水平モデルの確率分布に基づいて、前記少なくとも1つの新しいネットワークパケットのクラスタを決定することをさらに含む、請求項8に記載のコンピュータプログラム製品。
  13. 前記方法は、学習段階を実施することをさらに含み、前記学習段階を実施することは、
    前記バイトフィルタリングモデルを生成するために、1つ以上のネットワークパケットに基づいてバイトフィルタリングを実行することと、
    前記水平モデルを生成するために前記バイトフィルタリングに基づいて水平学習を実行することと、
    第2のクラスタ情報を生成するために前記水平学習に基づいてメッセージクラスタリングを実行することと、
    前記第2のクラスタ情報に基づいて垂直学習を実行することと、を含む、請求項8に記載のコンピュータプログラム製品。
  14. 前記学習段階を実施することは、
    学習用に1つ以上のネットワークパケットを記録することと、
    前記1つ以上のネットワークパケットを前処理することと、をさらに含む、請求項13に記載のコンピュータプログラム製品。
  15. プロトコルに依存しない異常な検出を実施するためのシステムであって、
    プログラムコードを記憶するための記憶装置(1510)と、
    記憶装置に動作可能に結合され、前記記憶装置に記憶されたプログラムコードを実行するように構成された少なくとも1つのプロセッサ装置(1505)と、を含み、
    検出段階は、
    前記ICSと関連した少なくとも1つの新しいネットワークパケットに基づくバイトフィルタリングモデルを使用して少なくともバイトフィルタリングを実行することに基づいて、バイトフィルタリングモデルを使用してバイトフィルタリングを実行することと、
    前記少なくとも1つの新しいネットワークパケットの異なるバイトにわたる制約を分析すること含む水平検出を実行し、前記バイトフィルタリングと水平モデルに基づいて前記少なくとも1つのネットワークパケットに水平制約異常が存在するかどうかを決定することと、
    前記水平検出に基づいてメッセージクラスタリングを実行し、第1のクラスタ情報を生成することと、
    前記少なくとも1つの新しいネットワークパケットの各バイトの時間的なパターンを分析することを含む垂直検出を実行し、前記第1のクラスタ情報と垂直モデルに基づいて垂直異常が存在するかどうかを決定することと、によって実施するシステム。
  16. 前記少なくとも1つのプロセッサ装置は、さらに、
    検出用に前記少なくとも1つの新しいネットワークパケットを記録することと、
    前記少なくとも1つの新しいネットワークパケットを少なくとも1つのセッションにグループ化することを含む前記少なくとも1つのネットワークパケットを前処理することと、によって前記検出段階を実施するよう構成されている、請求項15に記載のシステム。
  17. 前記少なくとも1つのプロセッサ装置は、さらに、前処理に基づいて新しいトラフィックを決定すること、および前記新しいトラフィックに応答して警告を発動することによって、前記少なくとも1つの新しいネットワークパケットを前処理するよう構成されている、請求項16に記載のシステム。
  18. 前記少なくとも1つのプロセッサ装置は、さらに、前記バイトフィルタリングモデルに基づいて新しい違反パターンを見つけること、および前記新しい違反パターンを見つけることに応答して警告を発動することによって前記バイトフィルタリングを実行するよう構成されている、請求項15に記載のシステム。
  19. 前記少なくとも1つのプロセッサ装置は、さらに、前記水平モデルの確率分布に基づいて、前記少なくとも1つの新しいネットワークパケットのクラスタを決定することによって、前記メッセージクラスタリングを実行するよう構成されている、請求項15に記載のシステム。
  20. 前記少なくとも1つのプロセッサ装置は、さらに、
    学習用に1つ以上のネットワークパケットを記録すること、
    前記1つ以上のネットワークパケットを前処理すること、
    前記バイトフィルタリングモデルを生成するために、前記1つ以上のネットワークパケットの前処理に基づいてバイトフィルタリングを実行すること、
    前記水平モデルを生成するために前記バイトフィルタリングに基づいて水平学習を実行すること、
    第2のクラスタ情報を生成するために前記水平学習に基づいてメッセージクラスタリングを実行すること、および
    前記第2のクラスタ情報に基づいて垂直学習を実行すること、
    によって学習段階を実施するよう構成されている、請求項15に記載のシステム。
JP2020568753A 2018-08-17 2019-08-12 プロトコルに依存しない異常検出 Active JP7086230B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862719238P 2018-08-17 2018-08-17
US62/719,238 2018-08-17
US16/535,521 US11297082B2 (en) 2018-08-17 2019-08-08 Protocol-independent anomaly detection
US16/535,521 2019-08-08
PCT/US2019/046112 WO2020036850A1 (en) 2018-08-17 2019-08-12 Protocol-independent anomaly detection

Publications (2)

Publication Number Publication Date
JP2021527873A true JP2021527873A (ja) 2021-10-14
JP7086230B2 JP7086230B2 (ja) 2022-06-17

Family

ID=69523653

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020568753A Active JP7086230B2 (ja) 2018-08-17 2019-08-12 プロトコルに依存しない異常検出

Country Status (3)

Country Link
US (1) US11297082B2 (ja)
JP (1) JP7086230B2 (ja)
WO (1) WO2020036850A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11336507B2 (en) * 2020-09-30 2022-05-17 Cisco Technology, Inc. Anomaly detection and filtering based on system logs
CN112804270B (zh) * 2021-04-15 2021-06-18 工业信息安全(四川)创新中心有限公司 一种基于自编码的通用工业协议异常检测模块及方法
CN115883398B (zh) * 2022-11-25 2024-03-22 电子科技大学 一种针对私有网络协议格式和状态的逆向分析方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004086367A (ja) * 2002-08-23 2004-03-18 Toshiba Corp プラントネットワーク健全性診断装置とその方法
JP2014179074A (ja) * 2013-03-13 2014-09-25 General Electric Co <Ge> 産業用制御システムのためのインテリジェントサイバーフィジカル侵入検出および侵入防止システムならびに方法
US20170134401A1 (en) * 2015-11-05 2017-05-11 Radware, Ltd. System and method for detecting abnormal traffic behavior using infinite decaying clusters

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9525696B2 (en) * 2000-09-25 2016-12-20 Blue Coat Systems, Inc. Systems and methods for processing data flows
US7743415B2 (en) * 2002-01-31 2010-06-22 Riverbed Technology, Inc. Denial of service attacks characterization
US7657938B2 (en) * 2003-10-28 2010-02-02 International Business Machines Corporation Method and system for protecting computer networks by altering unwanted network data traffic
US8171553B2 (en) * 2004-04-01 2012-05-01 Fireeye, Inc. Heuristic based capture with replay to virtual machine
EP1858221A1 (en) * 2006-05-15 2007-11-21 Abb Research Ltd. Firewall and intrusion detection system
KR101434388B1 (ko) * 2013-01-04 2014-08-26 주식회사 윈스 네트워크 보안 장비의 패턴 매칭 시스템 및 그 패턴 매칭 방법
CN106663040A (zh) * 2014-05-01 2017-05-10 网络流逻辑公司 用于计算机网络业务中的信任异常检测的方法及系统
KR101630383B1 (ko) * 2015-04-02 2016-06-27 한국과학기술원 다중 패턴 매칭 알고리즘 및 이를 이용한 처리장치
US9699205B2 (en) * 2015-08-31 2017-07-04 Splunk Inc. Network security system
GB2541969B (en) * 2016-05-27 2019-01-30 F Secure Corp Mitigating multiple advanced evasion technique attacks
US10452846B2 (en) * 2017-07-13 2019-10-22 Cisco Technology, Inc. OS start event detection, OS fingerprinting, and device tracking using enhanced data features

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004086367A (ja) * 2002-08-23 2004-03-18 Toshiba Corp プラントネットワーク健全性診断装置とその方法
JP2014179074A (ja) * 2013-03-13 2014-09-25 General Electric Co <Ge> 産業用制御システムのためのインテリジェントサイバーフィジカル侵入検出および侵入防止システムならびに方法
US20170134401A1 (en) * 2015-11-05 2017-05-11 Radware, Ltd. System and method for detecting abnormal traffic behavior using infinite decaying clusters

Also Published As

Publication number Publication date
WO2020036850A1 (en) 2020-02-20
JP7086230B2 (ja) 2022-06-17
US11297082B2 (en) 2022-04-05
US20200059484A1 (en) 2020-02-20

Similar Documents

Publication Publication Date Title
AU2017200941B2 (en) Telemetry Analysis System for Physical Process Anomaly Detection
US10476749B2 (en) Graph-based fusing of heterogeneous alerts
US10148685B2 (en) Event correlation across heterogeneous operations
US11171977B2 (en) Unsupervised spoofing detection from traffic data in mobile networks
US8418247B2 (en) Intrusion detection method and system
Farhadi et al. Alert correlation and prediction using data mining and HMM.
JP7086230B2 (ja) プロトコルに依存しない異常検出
US7962611B2 (en) Methods, systems and computer program products for detecting flow-level network traffic anomalies via abstraction levels
KR101538709B1 (ko) 산업제어 네트워크를 위한 비정상 행위 탐지 시스템 및 방법
JP6557774B2 (ja) プロセストレースを用いたグラフベースの侵入検知
EP3671466A1 (en) Unsupervised anomaly detection for arbitrary time series
CN113645232B (zh) 一种面向工业互联网的智能化流量监测方法、系统及存储介质
US10476752B2 (en) Blue print graphs for fusing of heterogeneous alerts
CN109150859B (zh) 一种基于网络流量流向相似性的僵尸网络检测方法
WO2022151680A1 (zh) 基于自动机的物联网设备流量异常检测方法和装置
CN111262851A (zh) Ddos攻击检测方法、装置、电子设备及存储介质
Ferrando et al. Classification of device behaviour in internet of things infrastructures: towards distinguishing the abnormal from security threats
JP2018147172A (ja) 異常検知装置、異常検知方法及びプログラム
JP6616045B2 (ja) 異種混在アラートのグラフベース結合
CN112235242A (zh) 一种c&amp;c信道检测方法及系统
JP2004186878A (ja) 侵入検知装置及び侵入検知プログラム
JP2010250607A (ja) 不正アクセス解析システム、不正アクセス解析方法、および不正アクセス解析プログラム
CN110958251A (zh) 一种基于实时流处理检测失陷主机并回溯的方法及装置
US11601353B2 (en) Device identification apparatus and method based on network behavior
US20230246935A1 (en) Detecting behavioral change of iot devices using novelty detection based behavior traffic modeling

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220317

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220531

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220607

R150 Certificate of patent or registration of utility model

Ref document number: 7086230

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350