JP2014522167A - データ通信ネットワークにおいてプロトコルメッセージを分類するための方法およびシステム - Google Patents

データ通信ネットワークにおいてプロトコルメッセージを分類するための方法およびシステム Download PDF

Info

Publication number
JP2014522167A
JP2014522167A JP2014522785A JP2014522785A JP2014522167A JP 2014522167 A JP2014522167 A JP 2014522167A JP 2014522785 A JP2014522785 A JP 2014522785A JP 2014522785 A JP2014522785 A JP 2014522785A JP 2014522167 A JP2014522167 A JP 2014522167A
Authority
JP
Japan
Prior art keywords
protocol
model
protocol field
field
intrusion detection
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
JP2014522785A
Other languages
English (en)
Other versions
JP6117202B2 (ja
JP2014522167A5 (ja
Inventor
ザンボン エマニュエル
Original Assignee
セキュリティー マターズ ベスローテン フェンノートシャップ
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 セキュリティー マターズ ベスローテン フェンノートシャップ filed Critical セキュリティー マターズ ベスローテン フェンノートシャップ
Publication of JP2014522167A publication Critical patent/JP2014522167A/ja
Publication of JP2014522167A5 publication Critical patent/JP2014522167A5/ja
Application granted granted Critical
Publication of JP6117202B2 publication Critical patent/JP6117202B2/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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0245Filtering by information in the payload
    • 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
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

データ通信ネットワークのデータトラフィックにおける侵入を検出するための侵入検出方法であって、その方法は、データトラフィックをパースして、データトラフィックのプロトコルメッセージの少なくとも1つのプロトコルフィールドを抽出することと、抽出されたプロトコルフィールドを、そのプロトコルフィールドのモデルと関連付けることであって、そのモデルは、モデルのセットから選択されることと、抽出されたプロトコルフィールドのコンテンツが、モデルで定義された通りの安全領域内にあるかどうかを評価することと、抽出されたプロトコルフィールドのコンテンツが、安全領域外であることが確定された場合に侵入検出信号を生成することを備える。モデルのセットは、プロトコルフィールドのセットの各プロトコルフィールドに対応するモデルを備えることができる。

Description

本発明は、データ通信ネットワークの分野に関し、詳細には、データ通信ネットワークにおいてメッセージを分類し、例えば、そのようなデータ通信ネットワークにおいて悪意のある侵入を検出する分野に関する。
多くのデータ通信ネットワークでは、悪意のある侵入を検出する検出システムがデプロイされている。そのような侵入は、攻撃者または感染したコンピュータからの、サーバ、コンピュータまたは他の機器の機能に影響を及ぼす恐れのあるデータを備える。
そのような侵入検出システムには主に、署名ベースの侵入検出システムと異常ベースの侵入検出システムとの2種類がある。
署名ベースの侵入検出システム(SBS)は、パターンマッチング技法に依存している。そのシステムは、署名のデータベース、即ち、過去に攻撃を受けたことが分かっているデータ列を包含する。これらの署名は、検査データにマッチする。マッチが見つかると、警告が発せられる。新たな攻撃が明らかになった後、その署名のデータベースは、専門家によって更新される必要がある。
これとは異なり、異常ベースの侵入検出システム(ABS)は、最初に、いわゆる「学習段階」において通常のネットワークトラフィックを記述する統計モデルを構築する。その後、いわゆる「学習段階」において、システムは、データを解析して、統計モデルから著しく逸脱するトラフィックまたはアクションを攻撃として分類する。異常ベースのシステムの利点は、ゼロ日攻撃、即ち、まだ専門家によって攻撃と見なされていない攻撃を検出できることである。大部分の攻撃を検出するために、ABSは、ネットワークのトラフィックペイロードを検査する必要がある。既存の方法は、(生)パケットペイロードまたはその一部のいずれかに適用される、n−グラム解析に基づく。
しかしながら、一部のデータ通信ネットワークでは、悪意のあるデータは、本物のデータと非常に似ている。これは、いわゆるSCADA(Supervisory Control and Data Acquisition)ネットワークあるいは産業用制御ネットワークの場合に当てはまる。SCADAあるいは他の産業用制御ネットワークのプロトコルメッセージは、データ通信ネットワークのアプリケーション層上のコンピュータとサーバと他の機器との間で交換される。これらのプロトコルメッセージは、マシンを制御する命令を備えることができる。悪意のある命令を有するプロトコルメッセージ(「回転速度が100rpmに設定されている」)は、本物の命令(「回転速度が10rpmに設定されている」)と非常に似ている場合がある。
悪意のあるデータが本物のデータと非常に似ている場合、悪意のあるデータは、異常ベースの侵入検出システムによって通常または本物のデータに分類される可能性があり、ネットワークのコンピュータ、サーバおよび他の機器の機能を危うくする恐れがある。
Bolzoni, D. and Etalle, S.(2008),Boosting Web Intrusion Detection Systems by Inferring Positive Signatures. In: Confederated International Conferences On the Move to Meaningful Internet Systems (OTM). "Anomalous payload-based network intrusion detection"(RAID. pages 203-222, 2004) by Ke Wang and Salvatore J. Stolfo. "POSEIDON: a2-tier Anomaly-based Network" (IWIA, pages 144-156. IEEE Computer Society, 2006) by Damiano Bolzoni, Emmanuele Zambon, Sandro Etalle, and Pieter Hartel. Michalis Polychronakis, Kostas G. Anagnostakis, and Evangelos P. Markatos, Comprehensive Shellcode Detection using Runtime Heuristics. In Proceedings of the 26th Annual Computer Security Applications Conference (ACSAC). December 2010, Austin, TX, USA.
本発明の目的は、改善された侵入検出システムおよび/または方法を提供することである。
本発明の態様に従って、データ通信ネットワークのデータトラフィックにおける侵入を検出するための侵入検出方法が提供され、その方法は、
−データトラフィックをパースして、データトラフィックのプロトコルメッセージの少なくとも1つのプロトコルフィールドを抽出することと、
−抽出されたプロトコルフィールドを、そのプロトコルフィールドのそれぞれのモデルと関連付けることであって、そのモデルは、モデルのセットから選択されることと、
−抽出されたプロトコルフィールドのコンテンツが、モデルで定義された通りの安全領域内にあるかどうかを評価することと、
−抽出されたプロトコルフィールドのコンテンツが、安全領域外であることが確定された場合に侵入検出信号を生成することを備える。
データトラフィックのパーシングは、データネットワーク上でどのデータ通信が行われているかに従って、プロトコルの個々のフィールド(「プロトコルフィールド」と呼ぶ)の識別を可能にする。その後、フィールド(「プロトコルフィールド」)とモデルとの間の関連付けが(上手くいけば)行われる。そこへ、モデルのセットが提供される。以下でより詳細に説明するように、抽出されたプロトコルフィールドに適したモデルが選択される。プロトコルフィールドのコンテンツが、通常の、安全で許容できる領域内であるか否かを確定するために、プロトコルフィールドは、その後、モデルを使用して評価される。後者の場合、適したアクションを実行できる。プロトコルメッセージをパースすることによって、データトラフィックの個々のプロトコルフィールドを識別でき、そして特定のプロトコルフィールドの評価に適したモデルを選択できる。従って、例えば、各プロトコルフィールドが、その固有のプロトコルフィールドに適合したそれぞれのモデルを適用し、例えば、プロトコルフィールドの型および/またはコンテンツに適合したモデルを適用して、種々のモデルを適用して種々のプロトコルフィールドを評価できる、十分な評価を行うことができる。本発明に従った侵入検出方法は、コンピュータ実装の侵入検出方法にすることができる。パーサ(即ち、パーシング)は、事前定義されたプロトコル仕様を利用できる。また、例えば、プロトコルが未知である場合、ネットワークのデータトラフィックをモニタし、そこからプロトコル仕様を導くことによってそのプロトコルを学習できる。
本明細書の文脈において、プロトコルという用語は、データネットワーク経由で送信されるメッセージの一部またはすべてのコンテンツを定義するルールのセットであると理解する。ネットワークプロトコルは、PDU(プロトコルデータユニット)としても知られる、プロトコルメッセージの定義を備えることができる。プロトコルメッセージ(PDU)はさらに、1または複数のフィールドを備えることができる。さまざまな型のフィールドが存在し得る。フィールドは、別のPDU、または「原子」データエンティティ(例えば、数字、文字列またはバイナリが不透明なオブジェクト)のいずれかを備えることができる。以下でより詳細に説明するように、ネットワークプロトコルを木として体系化することができ、節がPDUに、木の葉が原子データエンティティ(フィールド)になる。各フィールド(または各フィールドに関係するフィールド)に対し、別個のモデルを提供できる。例として、プロトコルメッセージが、ある人の個人データ(例えば、名前、住所および個人用の設定)を備えていると仮定すると、個人データを送信するプロトコルメッセージは、「名前」、「住所」、および「個人用の設定」のフィールドを備えることが可能である。「名前」フィールドはさらに、例えば、「姓」、「名」、「ログイン名」などのフィールドを備えることが可能である。「住所」フィールドは、例えば、「自宅住所」および「勤務先住所」のフィールドを備えることが可能である。「自宅住所」フィールドは、例えば、「自宅住所の番地」、「自宅住所の電話番号」、「自宅住所の郵便番号」、「自宅住所の都市名」を備えることができ、一方、「勤務先住所」は、例えば、「勤務先住所の番地」、「勤務先住所の電話番号」、「勤務先住所の郵便番号」、「勤務先住所の都市名」などのフィールドを備えることができる。フィールドごとに別個のモデルを構築できる。例えば、フィールドの一つ一つに、それぞれ別個のモデルを提供することが可能である。実施形態において、フィールドのサブセットに同じモデルを適用でき、例えば、「勤務先住所の都市名」および「自宅住所の都市名」のフィールドは、同じモデルを適用できる。
データトラフィックという用語は、ネットワーク経由で通信されるデータストリーム、データパケットなどの、任意のデータを備えるものと理解する。データネットワークという用語は、(例えば、デジタル)データの送信を可能にする任意のデータ通信体系を備えるものと理解する。ネットワークは、インターネットなどの、公衆網を備えるまたはそれに接続されてもよいし、および/または承認されたユーザまたは承認された機器のみにアクセスが許可される私的ネットワークまたは仮想私的ネットワークを備えてもよい。有線接続、ガラスファイバー接続、無線接続および/またはその他の接続を経由して送信を行うことができる。モデルという用語は、プロトコルフィールドを評価するために、そのプロトコルフィールドに適用するルールまたはルールのセットを備えるものと理解する。モデルは、通常の、本物または侵入されていないプロトコルメッセージを記述できる。学習段階で多くのプロトコルメッセージを使用すればするほど、モデルは、通常の、本物または侵入されていないプロトコルメッセージを多く記述できる。
侵入という用語は、データを受信するコンピュータシステムにとって恐らく有害であり、データネットワークに接続されたコンピュータシステム上で稼動するアプリケーションにとって恐らく有害であり、またはデータネットワークに接続されたデバイスの動作、インストール、装置などにとって恐らく有害である、望ましくない任意のデータを備えるものと理解する。
実施形態において、モデルのセットは、各プロトコルフィールドのプロトコルフィールドのセットに対して、それぞれのモデルを備える。従って、各プロトコルフィールドに対し、そのプロトコルフィールドに固有に適合したモデルを適用できるので、より正確な結果を得ることができる。
実施形態において、モデルのセットは、1つのプロトコルフィールドに対して2つのモデルを備え、その1つのプロトコルフィールドに対する2つのモデルのうちの固有の1つは、場合によってはモデルの精度がさらに上がるように、別のフィールドの値に基づいて選択される。
同様に、実施形態においてプロトコルフィールドに対する時間列の解析を実行でき、そこでモデルのセットは、1つのプロトコルフィールドに対して少なくとも2つのモデルを備え、2つのモデルのうちの第1のモデルは、データトラフィックが観察される第1の時間間隔と関連付けられ、そしてモデルのうちの第2のモデルは、データトラフィックが観察される第2の時間間隔と関連付けられ、その第2の時間間隔を、例えば、第1の時間間隔と重複しない時間間隔とする。
実施形態において、フィールドのモデルは、学習段階で決定され、その学習段階は、
−データトラフィックをパースして、そのデータトラフィックにおいて適用されるプロトコルの少なくとも1つのプロトコルフィールドを抽出することと、
−抽出されたプロトコルフィールドを、そのプロトコルフィールドのモデルと関連付けることであって、そのモデルは、モデルのセットから選択されることと、
−抽出されたプロトコルフィールドのコンテンツを使用して、抽出されたプロトコルフィールドのモデルを更新することを備える。
従って、学習段階でデータトラフィックを観察でき、そして抽出されたプロトコルフィールドのコンテンツを適用して、そのプロトコルフィールドが関連付けられた対応するモデルを更新できる。抽出されたプロトコルフィールドとモデルのうちの1つとの間で関連付けが行われない場合、その抽出されたプロトコルフィールドに対する新しいモデルが作成されて、モデルのセットに付加される。
従って、プロトコルメッセージが構築される学習段階を2つの段階に区別できる。このような学習段階におけるプロトコルメッセージは、通信プロトコルに基づいて構築されてもよいし、またはデータ通信ネットワークのデータトラフィックから読み出されてもよい。
プロトコルメッセージをそれらの構造体およびプロトコルフィールドの値で記述できるので、そのモデルは、学習段階のプロトコルフィールドおよびその値に関連させることができる。学習段階の種々のプロトコルフィールドは、種々のデータ型を有し得る。即ち、プロトコルフィールドの値は、数(整数、浮動少数点数など)、文字列、ブール値または2進値であってよい。これを、通信プロトコルによって定義できる。そのモデルを、少なくとも1つのプロトコルフィールドのデータ型に従って構築できる。
決定されたプロトコルフィールドおよび/または上述のプロトコルフィールドの決定された値は、モデルと比較され、そしてその比較に基づいて分類される。プロトコルメッセージは、異常として、即ち、モデルによる比較に基づいて定義された安全領域外であると(従って、恐らく危険であると)分類されることもある。
学習段階において、モデルに学習させるために適用されるプロトコルメッセージをネットワークのデータトラフィックから取得できる。代替としてまたはそれに加えて、シミュレーションデータを適用できる。学習段階において、侵入の恐れのあるプロトコルメッセージを統計的方法で識別できる。即ち、モデル(複数)に学習させるプロトコルメッセージを使用する前に、使用頻度の低いプロトコルメッセージまたは普通でないコンテンツを有するプロトコルメッセージを除去できる。代替としてまたはそれに加えて、演算子は、ある種のプロトコルメッセージを侵入と見なし、そして学習の前にそのようなプロトコルメッセージが除去されるか、またはそれに従ってモデルが修正されるいずれかである。
上述の学習段階以外でモデル(複数)に学習させる(即ち、訓練する)代替手段を適用できる。例えば、プロトコルおよびアプリケーションを検査することによってモデルを導いて、そこから期待されるプロトコルメッセージ、そのフィールドおよび/またはフィールドの値を作成し、そしてそこからモデル、またはモデルのセットを構築できる。また、このような検査によるモデル(複数)の構築とモデル(複数)の学習との組み合わせを適用できる。例えば、最初に、学習段階でモデル(複数)を学習し、その後、プロトコルメッセージ、そのフィールドおよび/またはフィールドの値の周知の振る舞いおよび結果として生じる発生および/またはコンテンツの情報に基づいて、学習したモデル(複数)を適応させる。
実施形態において、侵入検出信号は、パーシングが、フィールドがプロトコルに従っていると確定することができないので、プロトコルに従わない(例えば、正しく形成されていないプロトコルメッセージの)フィールドが検出された場合にもアクションを実行することができるようにさらに生成される。
実施形態において、侵入検出信号は、抽出されたフィールドをモデルのセットのどのモデルとも関連付けることができない場合、適したモデルが提供されていないのであれば、抽出されたフィールドがプロトコルに従う可能性のある場合にもアクションを実行することができるようにさらに生成される。可能性のあるプロトコルフィールドのサブセットのみを、例えば、制御アプリケーションにおいて使用し、例えば、プロトコルに従うが、通常は適用されないプロトコルフィールドが読み出された時に警告を発するようにさせることがよくある。
方法を種々のプロトコル層で適用できる。例えば、プロトコルは、アプリケーション層プロトコル、セッション層プロトコル、トランスポート層プロトコルさらに下位レベルのネットワークプロトコルスタックのうちの少なくとも1つであってよい。データ通信ネットワークのアプリケーション層を、国際標準化機構で決定された開放型システム間相互接続モデル(OSIモデル)で定義できる。アプリケーション層において、コンピュータまたはサーバ上で稼動するソフトウェアは、プロトコルメッセージを送信することによって互いに通信できる。プロトコルメッセージは、SCADAあるいは産業用制御ネットワークのプロトコルメッセージ、ウィンドウズ(登録商標)系オフィスオートメーションネットワークのプロトコルメッセージ、HTTPプロトコルメッセージなどであってよい。
ソフトウェア間の通信は、プロトコルメッセージ(の一部)の構造体および可能性のある値が定義された、ある種の通信プロトコルに従うことができる。プロトコルメッセージの構造体を、プロトコルメッセージのプロトコルフィールドによってさらに記述できる。ソフトウェアは、通信プロトコルに従っていないプロトコルメッセージを処理することができない場合もある。
実施形態において、侵入検出信号の生成に応答して、方法は、
−プロトコルフィールドまたはプロトコルフィールドを包含するデータパケットを除去することと、
−侵入警告メッセージを発するおよび出力することのうちの少なくとも1つをさらに備える。例えば、プロトコルフィールドまたはプロトコルフィールドを包含するデータパケットなどを孤立させるような、その他の侵入検出アクションを適用できる。
実施形態において、プロトコルフィールドのモデルは、
−許容できるプロトコルフィールド値のセットと、
−許容できるプロトコルフィールド値の領域の定義とのうちの少なくとも1つを備える。
プロトコルフィールドが数値を備える場合、単純なモデルを提供することによって、データ処理の負荷を下げてプロトコルフィールドを検査することを可能にする。
実施形態において、プロトコルフィールドのモデルは、
−許容できるアルファベット(letters)、数字(digits)、シンボル、およびスクリプトの定義を備える。プロトコルフィールドが文字または文字列を備える場合、単純なモデルを提供することによって、データ処理の負荷を下げてプロトコルフィールドを検査することを可能にする。
実施形態において、プロトコルフィールドのモデルは、周知の攻撃に関する情報を考慮に入れることができるように、事前に定義された侵入署名のセットを備える。上述の(例えば、許容できるプロトコルフィールド値のセット、許容できるプロトコルフィールド値の領域の定義、許容できるアルファベット(letters)、数字(digits)、シンボル、およびスクリプトの定義を備える)ようなモデルと事前に定義された侵入署名のセットとの組み合わせは、固有のフィールドごとに、そのフィールドの通常のコンテンツのモデルとそのフィールドに対する1または複数の固有の侵入署名とを組み合わせて適用できるので、非常に効果的である。
実施形態において、プロトコルは、プリミティブなプロトコルフィールドと複合的プロトコルフィールドとを備え、複合的プロトコルフィールドはさらに、少なくとも1つのプリミティブなプロトコルフィールドを備え、そこでそれぞれのモデルは、各プリミティブなプロトコルフィールドのモデルのセットで提供される。従って、複合的(即ち、プロトコルフィールドが自身で「番地名」、「電話番号」、「郵便番号」、および「都市名」を備える「住所」などの、プロトコルフィールドを備える)であるプロトコルフィールドが、自身の基本的(プリミティブな)プロトコルフィールドに分割できることによって、プリミティブなプロトコルフィールドのそれぞれに適したモデルを適用することが可能となるような、効率の良い侵入検出を提供できる。
学習段階の少なくとも1つのプロトコルフィールドのモデルおよび/または学習段階の少なくとも1つのプロトコルフィールドの値を、学習段階の少なくとも1つのプロトコルフィールドのデータ型に従って構築できるので、そのモデルは、通常の、本物または侵入されていないプロトコルメッセージを記述することが、プロトコルフィールドのデータ型を考慮に入れていないモデルよりも正確である。
数字データ型でプロトコルフィールドを記述するために最適化されたモデルは、文字列または2進データ型でプロトコルフィールドを記述するよりも正確でない(または適さない)場合もあり得る。同様に、文字列データ型でプロトコルフィールドを記述するのに最適なモデルは、数字または2進データ型でプロトコルフィールドを記述するよりも正確でない場合もあり得る。従って、モデルを構築する場合、モデルの精度は、プロトコルフィールドのデータ型を考慮に入れることによって改善される。
実施形態において、複数のモデル型が提供される。抽出されたプロトコルフィールドのモデル型は、抽出されたプロトコルフィールドの特性に基づいて、学習段階の複数のモデル型から選択され、そして抽出されたプロトコルフィールドのモデルは、選択されたモデル型に基づいて構築される。
固有のプロトコルフィールドのモデルを取得するために、いくつかのステップを実行できる。前述したように、複数の異なるモデル型を適用できる。最初に、使用可能なモデル型のセットからのある種のモデル型が、固有のプロトコルフィールド用に選択される。ひとたびある種のプロトコルフィールドに対するモデル型が決定されると、そのプロトコルフィールドに対するモデルが構築される。本明細書の他の部分で説明したように、そのモデルを、学習段階のデータトラフィックの解析を用いた例として構築できる。プロトコルフィールドの特性は、そのプロトコルフィールド自身のデータ、プロトコルの文脈におけるプロトコルフィールドの意味などに適した任意の特性であってよい。一部の例を以下に説明する。異なるモデル型を採用することによって、異なるフィールド値の型に固有であるモデリング技法を適用することと、プロトコルのプロトコルフィールドまたはプロトコルに適用される文脈の意味、役割および重要度によって多少制限のあるやり方で、値の安全領域に適応することの両方が可能である。一般に、異なるモデル型は、特定のプロトコルフィールド値が侵入されたか否かを確定するために、異なる型の基準を適用できる。例えば、異なる型のモデルは、値の領域、値の数値分布、値のセット、演算子のセット、テキスト値のセット、状態記述のセット、テキスト文字のセットまたは領域、テキストエンコーディングのセット/領域などのいずれかを適用できる。モデル型という用語は、従って、ある値が安全領域内であるかどうかを決定するために、ある型の値およびその基準に対する安全領域を定義する経験則を一緒にした、ある値型で許可された演算のセットとして理解できる。
モデル型の選択は、常時、即ち、侵入のモニタリングおよび検出中だけでなく、学習段階中にも実行されることができる。学習段階中、モデル型は、特定のプロトコルフィールドのモデルを構築するプロセスの一部として選択できる。検出中、特定のプロトコルフィールドのモデルが一貫した結果を提供しないように見える場合、異なるモデル型を選択できる。
プロトコルフィールド値(複数)のデータ型、および/またはパースされたプロトコルフィールド(複数)のセマンティックを使用して、モデル型の選択を実行できる。実施形態において、プロトコルフィールドの特性は、プロトコルフィールドのデータ型を備え、その方法は、
−抽出されたプロトコルフィールドのデータ型を決定することと、
−決定されたデータ型を使用してモデル型を選択することを備える。
プロトコルフィールド値のデータ型(「数字」、「文字列」、「アレイ」、「セット」など)を、例えば、プロトコル仕様から抽出できる。あるいは、プロトコルフィールド値のデータ型を、例えば、ネットワークトラフィックを観察することによって推論できる。一実施形態において、フィールド値は、正規表現によって推論される。例えば、正規表現^[0−9]+$を使用して、数値整数型フィールド値を特定できる。プロトコルフィールド値のデータ型にマッチする適切なモデル型を選択することによって、より信頼性のある検出結果をもたらすことができるモデルを取得できる。
モデル型の選択は、さらにまたはその代わりに、プロトコルフィールド値のデータ型に基づいて、パースされたプロトコルフィールドのセマンティックに基づいて行うことができる。従って、実施形態において、プロトコルフィールドの特性は、プロトコルフィールドのセマンティックを備えることができ、その方法は、
−抽出されたプロトコルフィールドのセマンティックを決定することと、
−決定されたセマンティックを使用してモデル型を選択することを備える。
パースされたプロトコルフィールドにセマンティックを割り当てることができる。セマンティックの割り当ては、学習段階中に手動によって、観察したネットワークデータから推論することによって、プロトコル仕様から情報を抽出することによってなど、種々のやり方で実行できる。例えば、複数のモデル型がある種のプロトコルフィールドの値型に使用可能である場合、セマンティックは、最も適切なモデル型を選択するために適用されることができる。例えば、数値型のプロトコルフィールド値に対し、そのようなプロトコルフィールド値の領域を包含するモデル型、プロトコルフィールド値のセットを包含するモデル型などを活用できる。セマンティックを考慮に入れ、好適には、セマンティックならびにプロトコルフィールドの値型の両方を考慮に入れることによって、そのような特定のプロトコルフィールドに最も適した適切なモデル型を割り当てることが可能となる。
セマンティックの使用の例は、数値領域がどのように「厳密か」をフィールドの重要度に基づいて決定するためのものであってよい。言い換えれば、プロトコルフィールドのセマンティックが、このフィールドはセキュリティ上の理由で重要であると提案すれば、より緩やかな領域(例えば、学習段階中に観察された最大値の2倍および最小値の半分)が適用されるであろう、反対の場合に比べて、より厳密な数値領域を適用できる。
プロトコルフィールドの値型および/またはプロトコルのセマンティックに従ったモデル型をプロトコルフィールドに割り当てることによって、プロトコルフィールドのデータのコンテンツを考慮に入れるモデル型が割り当てられ、従って、プロトコルフィールドのコンテンツに従ってモデルを適合させることが可能になる。例えば、フィールドの型が数値整数であり、そしてそのセマンティックが、このフィールドが別のフィールド長を包含するということであれば、数値分布型のモデルを選択できる。一方、フィールドの型が数値整数であり、そしてそのフィールドのセマンティックがメッセージ型であれば、数値設定型のモデルを選択できる。第3の例として、フィールドの型が数値整数であり、そしてそのフィールドのセマンティックがモーターの速度であれば、厳密な数値領域型のモデルを適用できる。
実施形態において、モデルのセットは、演算子のプロトコルフィールドのモデルと引数のプロトコルフィールドのモデルとを備え、演算子のプロトコルフィールドおよび引数のプロトコルフィールドに対する関連付けおよび評価が実行される。プロトコルは、(命令、呼び出しなどの)演算子を包含するプロトコルフィールドと、演算子が適用する被演算子(即ち、引数)を包含するプロトコルフィールドとを備えることができる。本発明の実施形態に従って、それぞれのモデルは、引数を備えるプロトコルフィールドだけでなく演算子を備えるプロトコルフィールドとも関連付けが可能であることに留意されたい。従って、侵入された引数の値を認識できるだけでなく、侵入の可能性のある演算子も認識できる。また、演算子が最も適切なモデル型の割り当てを許可することを考慮に入れ、演算子は、通常、事前定義されたあるデータ型を包含する1または複数の引数の後に続くことから、従って、侵入検出の精度を改善できる。
さらに、プロトコルメッセージを、送信ホストによって要求された時に受信ホスト(複数)で実行される演算の仕様とすることができる。それにより、プロトコルメッセージは、演算子フィールド(即ち、どのような演算が要求されるかについての仕様)、引数フィールド(即ち、どのような方法で演算を実行すべきかについての仕様)、およびマーシャリングフィールド(即ち、要求される演算と直接関連していないフィールドであるが、メッセージを正しく受信して変換する、またはより一般的には、ネットワーク通信を処理するためにホストが必要とするパラメータを包含する)を備えることができる。マーシャリングは、オブジェクトのメモリ表現を、記憶または送信に適したデータフォーマットに変換するプロセスとして理解でき、典型的には、データを、コンピュータプログラムの異なる部分の間で移動させる、またはあるプログラムから別のプログラムに移動させなければならない場合に使用される。
例えば、HTTPリクエストは、演算子を指定するメソッドフィールド(例えば、GET、POST、PUTなど)、メソッドの引数(例えば、/index.php?id=3)を包含するURLフィールド、および演算自体と関連していないが、ホストが通信するために使用される情報(例えば、ヘッダContet−length:100は、リクエストメッセージ本体が100バイト長であると指定する)を包含するいくつかのヘッダフィールド(例えば、Contet−length:100)を包含する。
別の例として、Modbus/TCPリクエストメッセージは、受信するPLC/RTUデバイス上でどのような演算が実行されるかを特定する関数コードフィールド、望ましい演算の引数を指定するデータレジスタの変数、演算と直接関連していないいくつかの他のフィールド(例えば、レジスタカウントフィールド、データ長フィールドなど)を包含し、それらは、受信するホストが、どのような方法でメッセージをパースするかを(例えば、いくつのレジスタが送信されるかを)理解するために必要とされる。
攻撃または侵入の試みは、悪意のあるデータをこれらの異なるフィールドのそれぞれに注入することによって実行され得る。同様に、異なるフィールドの値が通常とは異なっている理由により、このような攻撃または侵入の試みを検出できる。演算子およびマーシャリングフィールドの検査は、攻撃または侵入の試みを検出する精度を上げることができる。それによって、実施形態において、モデルのセットは、マーシャリングプロトコルフィールドのモデルをさらに備え、マーシャリングプロトコルフィールドに対する関連付けおよび評価がさらに実行される。
例えば、バッファオーバーフロー攻撃は、文字列フィールドに、受信ホストによって割り当てられたバッファよりも多い文字を注入することによって実行され得る。文字列フィールドが普通でない文字値を包含する理由により、このような攻撃を検出できる。一方、完全に有効なテキスト文字のみを悪意のあるペイロードとして使用することによって成功する攻撃が、実行され得る。同じ攻撃は、その後、別のフィールドが、文字列長が通常よりも長いと指定する理由により、検出され得る。これは、正当な文字列長の最大許可値が、受信するホストによって割り当てられるバッファのサイズになるので、必然的に真である。
さらに、検出精度をさらに上げる、または不適切な警告が生成される回数をさらに減らすために、異なる固有のモデル型を演算子フィールド、引数フィールドおよびマーシャリングフィールドに使用できる。異なる演算子フィールドに対し、(同じまたは異なるモデル型の)異なるモデルを使用できる。異なる引数フィールドに対し、(同じまたは異なるモデル型の)異なるモデルを使用できる。異なるマーシャリングフィールドに対し、(同じまたは異なるモデル型の)異なるモデルを使用できる。モデル型は、例えば、データ型および上述のようなセマンティックに基づいて選択されてもよい。
本発明に従った侵入検出システムおよび方法は、テキストデータトラフィック(即ち、テキストプロトコル)またはバイナリデータトラフィック(即ち、バイナリプロトコル)などの、任意の型のデータトラフィックに適用されてよいことに留意されたい。一般に、テキストプロトコルの仕様は、そのほとんどのフィールド値の型記述を持たない。例えば、HTTPプロトコルの仕様は、テキスト文字列としてパースされなければならないヘッダ値またはパラメータ値と型を関連付けない。このような場合、トラフィックを検査することによってフィールドの型を推論する必要がある。一方、この振る舞いは、バイナリプロトコルには存在せず、その仕様は、適切なパーシングを可能にするために、すべてのプロトコルフィールドの型を含む必要がある。このため、バイナリプロトコルでは、フィールドの値型を推論する不確実性がないので、本技術をバイナリプロトコルに適用することは、テキストプロトコルに適用するよりもずっと正確である。特に、パースされるプロトコルフィールドのデータ型およびセマンティックを考慮に入れる場合、バイナリデータのストリームは、データ型および/またはセマンティックに基づいて各プロトコルフィールドの適したモデル型をパースして選択するという意味において、バイナリデータのコンテンツを考慮することが可能になるという、意味が与えられる。バイナリプロトコルにおいて、プロトコルフィールドのデータ型という用語は、プロトコルフィールドの(バイナリ)データ、即ち、例えば、数字、文字列などの、別のデータ型を表すバイナリデータで表されるデータとして理解されたい。
一般に、プロトコルメッセージは、プリミティブなプロトコルフィールドと複合的プロトコルフィールドとを備えることができる。複合的プロトコルフィールドは、2以上のサブプロトコルフィールドを備え、サブプロトコルフィールドのそれぞれをプリミティブなプロトコルフィールドまたは複合的プロトコルフィールドにできる。複合的プロトコルフィールドのモデルは、学習段階で観察されるプロトコルフィールドのインスタンスのカウンタを備えることができる。プロトコルフィールドが所定の回数(閾値)よりも少なく観察された場合、検出段階中に複合的プロトコルフィールドを観察して、侵入検出信号を生成させることができる。複合的プロトコルフィールドのセマンティックに従って、セキュリティに関する重要度を変えることができる。従って、例えば、セキュリティに関するフィールドの重要度に従ってセマンティックを使用して、異なるモデル型またはモデルの異なる感度を指定できる。例えば、セキュリティに関係のない複合的フィールドの場合、観察されたインスタンスの閾値を、生成された不適切な侵入検出信号の量を制限するように変更でき、従って、ユーザビリティが改善する。さらに、複合的フィールドのセマンティックをそのサブフィールドに伝搬できることによって、モデル型およびモデル設定のより正確な選択が可能となる。例えば、セキュリティと非常に関係する複合的フィールドに包含された数値型の基本フィールドを、数値領域型のモデルよりも厳密に安全領域の値を定義できる、数値設定型のモデルに関連付けることができ、従って、侵入検出精度が改善する。
本発明の別の態様に従って、データ通信ネットワークのデータトラフィックにおける侵入を検出するための侵入検出システムが提供され、
−データトラフィックをパースして、データトラフィックのプロトコルメッセージの少なくとも1つのプロトコルフィールドを抽出するパーサと、
−抽出されたプロトコルフィールドを、そのプロトコルフィールドのそれぞれのモデルと関連付けるエンジンであって、そのモデルは、モデルのセットから選択されることと、
−抽出されたプロトコルフィールドのコンテンツが、モデルで定義された通りの安全領域内にあるかどうかを評価することモデルハンドラと、
−抽出されたプロトコルフィールドのコンテンツが、安全領域外であることが確定された場合に侵入検出信号を生成するアクチュエータとを備える。
本発明に従ったシステムを用いて、本発明に従った方法と同じまたは同様の効果を実現できる。また、本発明に従った方法を参照して説明されるのと同じまたは同様の実施形態を提供して、同じまたは同様の効果を実現できる。パーサ、エンジン、モデルハンドラおよびアクチュエータを、データ処理デバイスによって実行されるのに適したソフトウェア命令によって実装できる。それらは、同じデータ処理デバイスによって実行される同じソフトウェアプログラムに実装されてもよいし、または2以上の異なるデータ処理デバイスにおいて実行されてもよい。例えば、パーサは、データトラフィックが通過するロケーションにおいてローカルに実行されてよいし、一方、エンジン、モデルハンドラおよびアクチュエータは、例えば、安全なロケーションにおいてリモートに置かれてよい。また、異なる場所からのデータをモニタでき、それによって、例えば、パーサを各場所で提供でき、各パーサからの出力データは、単一のエンジン、モデルハンドラおよびアクチュエータに送信される。
上述した方法およびシステムは、侵入検出のみに適用されるものではないことに留意されたい。この目的の代替または追加として、上述した方法およびシステムをモニタリング目的に適用できる。例えば、工場、データセンターなどの、独立施設のデータネットワークのデータトラフィックをモニタできる。それぞれまたはある種のプロトコルフィールドに対し、安全または望ましい動作状態を表すモデルを定義できる。上述した方法およびシステムを適用して、そのような動作状態以外のステータスを検出できる。あるいは、事前に安全または望ましい動作状態を定義する代わりに、本明細書で説明したようなシステムおよび/または方法を学習段階に適用でき、それによって、学習段階で取得されるモデルは、モニタする時に動作の記述を取得することが可能になる。転送されるデータは、適切なプロトコルフィールドのモデルを学習するために適用されるデータなど、動作状態が導かれる情報を備えることができる。例えば、工場のデータネットワークでは、モーターの速度、反応装置の温度、水圧だけでなく、エラーメッセージ、プロシージャコールなどにも関連する制御情報を転送できる。このようなデータを、望ましいまたは安全な動作状態を定義する事前定義されたモデルと比較するか、またはモデルに学習させるためのいずれかに使用でき、よって、学習するモデルからステータスを導く。モニタリングは、システム/ネットワークの管理者にとって重要な意味を持つある種のプロトコルフィールド(またはプロトコルフィールドの組み合わせ)の値を観察することによって工場またはコンピュータネットワークの「健全な」状態を検査することを備えることができ、そしてコンピュータネットワークまたは工業プロセスなどの興味深いイベントを定義できる。よって、本明細書の侵入検出という用語が適用される場合、これは、モニタリングも指すものとして理解できる。
限定されない実施形態が開示された以下の説明および添付の概略図を参照し、例のみによって本発明のさらなる効果および特徴を説明する。
本発明の実施形態に係る侵入検出システムを備えるデータ通信ネットワークの例を概略的に示す図である。 本発明の実施形態に係る侵入検出システムの要旨を概略的に示す図である。 本発明の実施形態に係る方法の学習段階の要旨を概略的に示す図である。 本発明の実施形態に係る方法の侵入検出段階の要旨を概略的に示す図である。 本発明の実施形態に係る侵入検出システムおよび方法を示す概略的なブロック図である。
図1において、本発明の実施形態に係る、プロトコルメッセージを分類する侵入検出システムを有するデータ通信ネットワークの例の要旨の概略を示す。このネットワークにおいて、パーソナルコンピュータ14(またはワークステーション15)は、サーバ13と接続している。ネットワークを、ファイアウォール17経由でインターネット16に接続できる。
データ通信ネットワークにおいて、悪意のあるソフトウェアに感染された場合、侵入または攻撃は、インターネット16またはパーソナルコンピュータ14が発生源となる。
データ通信ネットワークは、SCADAあるいは産業用制御ネットワークとする。そのようなネットワークにおいて、機械12は、リモート端末装置(RTU)11またはプログラマブルロジックコントローラ(PLC)上で稼動するソフトウェアによって制御される。サーバ13上で稼動するソフトウェアは、RTU11上で稼動するソフトウェアにメッセージを送信できる。RTU11上のソフトウェアは、プロトコルメッセージを機械に送信でき、その機械上でもソフトウェアが稼動できる。
ユーザは、パーソナルコンピュータ14またはワークステーション15上で稼動するソフトウェア経由で、パーソナルコンピュータ14またはワークステーション15上で稼動するソフトウェアとサーバ13上で稼動するソフトウェアとの間でプロトコルメッセージを交換することによって、サーバ13と通信できる。
侵入検出システム10は、図1に示すように、RTU11とネットワークのリマインダとの間、またはRTU11と機械12との間(図示せず)に位置付けされる。侵入検出システム10は、プロトコルメッセージをデータ通信ネットワークから読み出すことができ、パーソナルコンピュータ14またはワークステーション15上で稼動するソフトウェアとサーバ13上で稼動するソフトウェアとの間、サーバ13上で稼動するソフトウェアとRTU11上で稼動するソフトウェアとの間、またはRTU11上で稼動するソフトウェアと機械12のデータ処理デバイス上で稼動するソフトウェアとの間で読み出しを交換できる。
通信プロトコルを、デジタルプロトコルメッセージフォーマットの形式記述およびこれらのメッセージを計算システム(上で稼動するソフトウェア)内または間で交換するルールとして定義できる。通信プロトコルは、通信のシンタックス、セマンティック、および同期化の記述を含むことができる。データ通信ネットワークのアプリケーション層のプロトコルメッセージは、1または複数のフィールドを包含でき、そのフィールドは、それらのデータ型で特徴付けられる。例えば、フィールドは、メッセージの全長を数値または文字列値で表すことができる。
プロトコルメッセージに関するより多くの情報を用いて、通常の、本物または侵入されていないプロトコルメッセージを記述するモデルは、データ通信ネットワーク内で交換される各プロトコルメッセージの各プロトコルフィールドの通常または本物の値に関するより多くの情報を含むことができる。異常、即ち、モデルで記述された通りのデータ通信ネットワークの通常の振る舞いから逸脱するものを見つけるために、その後モデルを(例えば、リアルタイムで)使用して、データ通信ネットワークの生データトラフィックからプロトコルメッセージを分類できる。
図2は、本発明の実施形態に係る、侵入検出システム10の実施形態の要旨の概略を示す。侵入検出システム10は、データ通信ネットワークの(例えば)アプリケーション層のプロトコルメッセージの少なくとも1つのプロトコルフィールドを読み出すために配置された、ネットワークプロトコルパーサ21を備える。学習段階において、プロトコルメッセージを入力25経由で取得できる。ネットワークプロトコルパーサ21を、侵入検出システムの定期的な動作中だけでなく任意選択の学習段階中にも使用できる。抽出されたプロトコルメッセージに関する情報をエンジン23に転送できる。
侵入検出システムは、エンジン23、モデルのセット26およびモデルハンドラ24をさらに備える。エンジン23は、プロトコルフィールドのデータ型および/またはセマンティックに基づいて選択されるように、抽出されたプロトコルフィールドを、あるモデル型のモデルと関連付けるために配置される。それに加え、エンジンは、モデルのセット26を備えるまたはそれにアクセスできる。エンジンは、抽出されたプロトコルフィールドを、そのプロトコルフィールドに固有である、例えば、フィールドのデータ型および/またはセマンティックに固有のモデルと関連付ける。それに加え、モデルのセット26は、各モデルがプロトコルフィールドのうちの1(または複数の)に固有である、異なるモデルを備える。学習段階において、どのモデルも抽出されたプロトコルフィールドにまだ使用可能になっていない場合、エンジンは、抽出されたプロトコルフィールドのモデルを作成して、それをモデルのセットに付加する。抽出されたプロトコルフィールドに関する情報をハンドラ24に転送できる。
ハンドラ24は、その後、抽出されたプロトコルフィールドのコンテンツが侵入されたと見なされているか否かを評価するために、抽出されたプロトコルフィールドがモデルに適合しているか否かを評価する。学習段階において、抽出されたプロトコルフィールドのコンテンツを用いてモデルを更新できる。ハンドラは、出力27経由でメッセージを出力できる。
検出システムは、プロトコルフィールド(の値)が侵入されたと見なされた、即ち、関連付けられたモデルで定義された安全領域外である場合、侵入検出信号を生成するアクチュエータ22をさらに備えることができる。侵入検出信号の生成に応答して、侵入検出アクション、例えば、警告の発生、データパケットまたはプロトコルフィールドのフィルタリング(それによって、例えば、データパケットまたはプロトコルフィールドを除去する)を備えるアクションを実行できる。パーサがプロトコルフィールドを特定できない可能性がある場合(データパケットがプロトコルに従わないことを意味する)、および/またはモデルハンドラが侵入検出動作中に、抽出されたプロトコルフィールドをそのセットからのモデルと関連付けることができない可能性がある場合(データパケットが、通常送信されるプロトコルフィールドを備えていないことを意味する)にも、侵入検出信号を生成できる。
各プロトコルフィールドに対し、固有のモデルが使用され、好適には、それぞれの異なるプロトコルフィールドに対して異なるモデルが使用されて、そのプロトコルフィールドに専用のモデルを使用して、そのプロトコルフィールドを評価できるように、各プロトコルフィールドに対する最適な評価を実行できるようにする。
実施形態において、モデルは、少なくとも2つのモデル型を使用して構築されており、少なくとも2つのモデル型のうちの第1のモデル型は、第1のデータ型を有するプロトコルフィールドに最適化(またはそれのみに機能する)され、少なくとも2つのモデル型のうちの第2のモデル型は、第2のデータ型を有するプロトコルフィールドに最適化される。第1のモデル型が、ある数字データ型、文字列データ型またはバイナリデータ型を有するプロトコルフィールドに最適化され、そして第2のモデル型が、別の数字データ型、文字列データ型またはバイナリデータ型を有するプロトコルフィールドに最適化される場合があり得る。
例えば、数字データ型を有するプロトコルフィールドA1の値では、モデルM−l−A1は、数値を記述することを意図として構築される。数字データ型を有するプロトコルフィールドA2の値では、モデルM−l−A2は、同様に、数値を記述することを意図として構築される。文字列データ型を有するプロトコルフィールドA3の値では、モデルM−S−A3は、文字列値の記述が最適化または適合されるように構築される。同じデータ型を有する異なるプロトコルフィールドのモデル、例えば、モデルM−l−A1およびM−l−A2は、同じモデルアーキテクチャを使用して構築されるが、プロトコルフィールドA1とA2との間の差異を表すために、異なるコンテンツ(例えば、異なる許容領域、異なる許容値など)を有することができる。
数値を記述するモデル型および文字列値を記述するモデル型は、プロトコルメッセージの数値と文字列値との両方の、すべての値を記述するように最適化された単一のモデルよりは、数値と文字列値との両方をそのプロトコルフィールド内に備えるプロトコルメッセージの値を記述するほうがより良いまたは正確であることが理解できる。
検出侵入システム10は、学習段階中にモデルを構築するために配置される。本発明の実施形態に係る、検出侵入システム10の機能および方法について、図3および図4を参照してさらに説明する。図3は、学習段階を概略的に示し、図4は、侵入検出段階を概略的に示す。
図3では、学習段階のステップが概略的に示されている。ステップa1:データトラフィックをパースして、データトラフィックに適用されるプロトコルの少なくとも1つのプロトコルフィールドを抽出する。ステップa2:抽出されたプロトコルフィールドを、そのプロトコルフィールドのモデルと関連付けることであって、そのモデルは、モデルのセットから選択される。ステップa3:モデルのセットの既存のモデルに対してどの関連付けも行うことができない場合、抽出されたプロトコルフィールドの新しいモデルを作成し、そして新しいモデルをモデルのセットに付加する。ステップa4:抽出されたプロトコルフィールドのコンテンツを使用して、抽出されたプロトコルフィールドのモデルを更新する。
一般に、プロトコルメッセージは、プリミティブなプロトコルフィールドと複合的プロトコルフィールドとを備えることができる。複合的プロトコルフィールドは、2以上のサブプロトコルフィールドを備え、サブプロトコルフィールドのそれぞれをプリミティブなプロトコルフィールドまたは複合的プロトコルフィールドにできる。プリミティブなプロトコルフィールドをより多くのプロトコルフィールドに分割することができない。このように、プロトコルメッセージは、プロトコルフィールドの木構造を備えると言える。例えば、プロトコルメッセージにおいて、複合的プロトコルフィールド“msg_body”は、プリミティブなプロトコルフィールド“msg_len”と複合的プロトコルフィールド“msg_data”から構成される。複合的プロトコルフィールド“msg_data”は、プリミティブなプロトコルフィールド“msg_typeA”および“msg_typeB”を備えることができる。本明細書におけるプロトコルフィールドという用語は、このような木構造の任意のレベルにおける任意のプリミティブなプロトコルフィールドを指す。
異なるモデル型を使用できる。例えば、プロトコルフィールドのモデル型は、例えば、数字モデル型、文字列モデル型またはバイナリモデル型のうちの1つであってよい。抽出されたプロトコルフィールドが数値を備えることが分かった場合、数字モデル型をそのプロトコルフィールドに適用できる。抽出されたプロトコルフィールドが文字列値を備えることが分かった場合、文字列モデル型をそのプロトコルフィールドに適用できる。(例えば、テキストプロトコルにおいて)学習段階中にネットワークプロトコルパーサが、プロトコルフィールドのデータ型が数字データ型であるか文字列データ型であるかを確定できない場合、より汎用的なモデル型としてバイナリデータ型モデルが適用される場合があり得る。
上述したように、モデルのセットは、各プロトコルフィールドに対してそれぞれのモデルを備えることができる。数字データ型を有するプロトコルフィールドのモデルは、文字列データ型を有するプロトコルフィールドのモデルとは異なって構築されてよい(即ち、異なる種類から構成されるまたは異なるモデルアーキテクチャを有してよい)。モデルは各データ型に最適化できるので、そのモデルは、通常の、本物または侵入されていないプロトコルメッセージを記述することが、プロトコルフィールドのデータ型を考慮に入れていないモデルよりも正確である。
異なる種類のデータ型に対する異なる種類のモデル型の例を以下に説明する。数字データ型に対し、2つのモデル型を適用でき、第1のモデル型は、長さを表すプロトコルフィールドであり、第2のモデル型は、列挙を表すプロトコルフィールドである。
プロトコルフィールドが列挙(例えば、値のセット)を表す場合、そのモデルは、学習段階中に読み出されたプロトコルフィールドのすべての値にセットSを備える。空のセットから開始した後、学習段階中にプロトコルフィールドとして特定された各値をそのセットに付加する。侵入検出段階において、プロトコルメッセージは、それに対応して決定されたプロトコルフィールドの値が、例えば、セットSの一部でない場合、異常として分類される。
プロトコルフィールドが長さを表す場合、そのモデルは、学習段階中にプロトコルフィールドの値の分布を近似して構築される。学習段階中、分布の近似値の平均μおよび分散σは、プロトコルフィールドのコンテンツとして決定されたすべての値のサンプル平均およびサンプル分散に基づいて計算される。分布の近似値の平均μおよび分散σを用いて、すべての値の確率が計算される。侵入検出段階中、プロトコルフィールドの決定された値の確率が所定の閾値よりも低い場合、この値を有するプロトコルメッセージは、異常として分類される。
ブール型のプロトコルフィールドのモデルは、例えば、サンプル数で平均したブール値をモニタし、その平均値を事前に決定された閾値と比較できる。このようなモデルの例を以下に示す。
学習段階中、確率Ptは、フィールドの値が真であると計算され、そして確率Pf(1−Pt)は、フィールドの値が偽であると計算される。
2−学習段階中にフィールド値のnサンプルの列が考慮されて、その後、そのような値の列を観察する二項確率、PtおよびPfが計算される。確率は、その後、ある閾値tと比較され、p_sample<tであれば、警告が発せられる。例えば、学習段階中に同数の真値と偽値が観察されると仮定する。よってPt〜1/2とPf〜1/2となる。値が5から0.1までの列の確率閾値を設定する。これより、侵入検出段階中に列[false,false,false,fals,false]を観察することを考慮する。二項確率をp_sample=P(true=0)=0.03125<0.1とする。この場合、警告を発する。ASCIIおよびUnicode文字列を処理することができる文字列のモデル型の例を以下に説明する。最初に、ASCII文字列のモデル型を説明する。
ASCII文字列のモデル型は、2つのブール値とリストとを備える。第1のブール値(アルファベット)は、アルファベットが見つかれば真に設定され、第2のブール値(数字)は、数字が見つかれば真に設定され、そしてそのセット(シンボル)は、見つかったすべてのシンボルを記録する。文字列フィールドを所与として、文字列がアルファベット、数字を包含するかどうか、およびどのシンボルであるかを教える関数f(s)が定義される。例えば、文字列“userName?#!”の場合、
Figure 2014522167
となる。学習段階中、文字列sを所与として、モデルMが以下のように更新される。
Figure 2014522167
文字列の文字は、次々と評価される。各文字に対して、エンジンは、その型を検証し、そして文字がアルファベットまたは数字のいずれかである場合、エンジンは、それに従って対応するフラグを「真」に設定してモデルを更新する。現在の文字がシンボルである場合、現在のシンボルのセットに付加される。シンボルがすでに存在している場合、2度は付加されない。
侵入検出段階中、文字列sを所与として、
Figure 2014522167
であれば、警告が発せられる。文字列の文字は、再度、次々と評価される。検証プロセスは、直接的(straightforward)である。現在の文字がアルファベット(または数字)のいずれかである場合、エンジンは、所与のフィールドに対してアルファベット文字(または数字文字)が以前に観察されたことを検証する。この検証が失敗した場合、警告が発せられる。文字がシンボルである場合、エンジンは、所与のシンボルが以前に観察されたことを検証する。この検証が失敗した場合、警告が発せられる。
最初に、モデルMが以下のように定義される。
Figure 2014522167
Unicode文字列に使用され得るような、文字列のモデル型の別の例を以下に説明する。Unicode文字列に対するモデリングおよび検出技法は、ASCII文字列のモデリングと同様である。ASCIIではないUnicode文字は、ASCIIアルファベットとして扱われ、即ち、文字列がUnicode文字を包含するのであれば、ブール値「アルファベット」は、真に設定される。さらに、学習段階中に見られるUnicodeスクリプトのセット(例えば、ラテン文字、キリル文字、アラビア文字)は、記憶される。この付加的な情報を用いて、例えば、未知のUnicode文字(恐らく学習段階中に見られるスクリプトとは異なるスクリプトに属する)が文字列内に存在するかどうかが検出される。
もう少し詳細に言えば、Unicode文字列フィールドsを所与として、文字列がアルファベット、数字を包含するかどうか、どのシンボルであるかおよびどのUnicodeスクリプトであるかを教える関数f(s)を定義する。例えば、文字列“mu3soafa?#!”の場合、
Figure 2014522167
となる。Unicode文字列に対し、モデルMは、ASCII文字列と同じまたは同様の動作を実行することによって初期化され、および付加的なフィールド「スクリプト」をフィールド「シンボル」と同様に処理することによって更新される。
バイナリプロトコルフィールドのモデル型のさらにいくつかの例を以下に提供する。
バイナリデータ型に対し、ペイロードの解析に基づく周知の異常ベースの侵入検出システムからのモデルが適用される。
バイナリモデルの例は、1−グラム解析を基にする。連続nバイト列ではn−グラムである。
1バイト長のバイナリフィールドを所与として、最初に、各バイト列の相対頻度を包含するベクトルfを計算する。言い換えれば、バイト値vを所与として、vに対応するfの成分は、
Figure 2014522167
によって与えられる。学習段階中、相対頻度ベクトルは、各バイト値の平均および標準偏差を計算するために適用される。従って、nバイナリフィールドの列b1..bnを所与として、それらに関連するバイト列の相対頻度ベクトル(f1..fn)である、2つのベクトルμおよびσが、各バイト値(0から255まで)のそれぞれの平均および標準偏差を包含するように計算される。この例のこれらの2つのベクトルは、バイナリモデルを形成する。
検査段階中、バイナリフィールド値sを所与として、関連する相対頻度ベクトルfsが最初に計算される。その後、適切な関数F(例えば、正規化されたユークリッド距離)を適用して、fsと学習段階中に構築されたモデルとの間の距離を決定する。結果として生じる距離が事前に決定された閾値を超える場合、警告が発せられる。
学習値のセットb1..bnをサブセットに分割することによって、前述したモデルのより正確なバージョンを取得できる。学習値のセットをサブセットに分割するために、自己組織化マップ(SOM)などのクラスタリングアルゴリズムを入力値(b1..bn)に適用できる。別個のモデル(即ち、アレイペアμ、σ)を、その後、各サブセットとして構築できる。
侵入検出段階中、クラスタアルゴリズムがバイナリフィールド値(s)に実行される。前述したように、テストは、その後、結果とし生じるクラスタに関連付けられるモデルに適用される。
バイナリモデルの第3の例は、いわゆるネットワークエミュレータである。ネットワークエミュレータは、危険な実行可能命令がバイトのセット内部に包含されているかどうかを決定できるアルゴリズムである。バイト列を所与として、そのアルゴリズムは、最初に、既存のバイト値を関連するアセンブリ命令に変換する(逆アセンブリ)。その後、そのアルゴリズムは、危険または疑わしいと認識される命令列(例えば、典型的には、周知の攻撃の悪意のあるシェルコード内部で見つかる、NOP命令の長い列)を見つけようと試みる。このような列が見つかった場合、警告が発せられる。この型のバイナリモデルは、訓練段階を必要としないことに留意されたい。
バイナリフィールドが、データがネットワークプロトコル仕様で指定されていない構造体に従って体系化された、いわゆるバイナリラージオブジェクト(BLOB)を包含する場合、本明細書で説明した同じアプローチを適用して、基本フィールド(例えば、数値フィールド、文字列フィールド、ブールフィールドなど)が抽出されて処理されるまで、BLOBをその構成フィールドにさらに分割できる。例えば、バイナリプロトコルフィールドは、仕様が存在するGIFまたはJPEG画像を包含できるが、そのような仕様は、ネットワークプロトコル仕様自体の一部ではない。この場合、GIFまたはJPEG画像の仕様を使用して、フィールド値をその基本構成フィールドにさらに分割できる可能性がある。その後、それに従ってオブジェクトの構成フィールドのモデルが選択されて構成される。そのような別の事例は、バイナリフィールドが、通信するホストのうちの1つの全メモリ領域(例えば、Modbusプロトコルの一部として交換されるPLCのマップメモリ)を包含する場合に生じる。このメモリ領域の構造は、他のドキュメント(例えば、PLCベンダー仕様)で定義されてもよいし、十分なデータサンプルを観察することによって推論されてもよい。このような情報を使用して、メモリ領域を基本フィールドにさらに分割でき、基本フィールドは、その後、本明細書で説明した技法に従って処理され得る。
さらに、文字列データ型に対し、非特許文献1で説明されたようなモデルが適用されてよい。バイナリデータ型に対し、ペイロードの解析に基づく周知の異常ベースの侵入検出システムからのサブモデルが適用される。例は、非特許文献2に見られるものであってよい。この著作において、著者は、n−グラム解析を活用して異常を検出する、PAYLと呼ばれるシステムを提示している。連続nバイト列ではn−グラムである。1−グラムの相対頻度および標準偏差(1バイト列)が解析されて、学習段階中に構築された検出モデルに記憶される。その後、侵入検出段階中、(ペイロード長値を使用して)適切なモデルが選択されて、流入するトラフィックを比較するために使用される。
別の例が、非特許文献3に見られる。この論文において、著者は、検出モデルを選択する(および構築する)ペイロード長を廃棄するが、その代わりにペイロードデータを前処理して、その出力を適切な検出モードを選択するために使用するニューラルネットワークを使用して改善されたシステムを、PAYLの最上に構築している。
さらなる例が、非特許文献4に見られる。この論文において、著者は、「ネットワークエミュレータ」を提示している。このソフトウェアコンポーネントは、経験則を実装して、ソフトウェア経由で物理的CPUをシミュレートする。ネットワークエミュレータは、入力データが実行可能(および有害な)コードを包含するかどうかを検査することができる。実施形態において、パーシングプロセスは、以下のステップを備える。
i)データ通信ネットワークからデータパケットを集めるステップ
ii)IPパケットをデフラグするステップ
iii)TCPセグメントをリアセンブルするステップ
iv)アプリケーションデータを読み出すステップ
前述したように、モデルが関連付けられるフィールドのセマンティックに従って、異なるモデル型を選択することが可能である。モデルによって定義される安全領域を広げるまたは狭めるセマンティックに従って、1または複数の(各モデル型に固有の)モデルパラメータを調整することも可能である。ここで、モデル型を選択するまたはモデルパラメータを調整するセマンティックのフィールドを使用したいくつかの例を提供する。
プロトコルのメッセージ型を表す数値フィールドの場合、数値列挙型のモデルを使用できる。このようなモデル型は、モデルで列挙されたメッセージ型のみが安全領域と定義されることを確認させる。学習段階中にモデルが自動的に構築される場合、観察されるすべてのメッセージ型が安全と見なされる。モデルが手動で構築される場合、許可されるメッセージのセットを固有のセキュリティポリシーに従って構築できる。例えば、セキュリティポリシーは、読み込まれた動作のみがある種のホスト上で実行されることを課すことができる。この場合、許可されたメッセージのセットは、読み込まれたメッセージのみを包含する。
エンジン速度を表す数値フィールドの場合、工業プロセスの文脈において、数値領域のモデルを使用できる。このようなモデル型は、エンジン速度が安全と見なされている値よりも下または上に設定されないことを確認させる。学習段階中にモデルが自動的に構築される場合、最小/最大許可値を、学習段階中に観察された最小/最大速度に(精密な範囲で)設定できる。モデルが手動で構築される場合、最小および最大範囲の値を、エンジンの技術仕様に基づいて、速度が動作の許容条件の範囲内であることを確認するように設定できる。
セキュリティに関連するフィールドの長さ(例えば、文字列バッファの長さ)を表す数値フィールドの場合、数値分布型のモデルを使用できる。さらに、フィールドがセキュリティと非常に関係するので、バッファオーバーフロー攻撃のターゲットになる恐れがあっても、高確率の閾値を設定できる。このように、モデルで定義される安全エリアは、学習段階中に観察される同じ数値分布で生成される高確率を有する値に制限される。言い換えれば、フィールド長値が、学習段階中に以前に観察されたものに対して大きすぎる場合、その値は異常と見なされ、従って恐らく攻撃と見なされる。例えば、オーバーフロー攻撃を実行するために使用されるシェルコードは、バッファの通常のコンテンツよりも大きい可能性があり、従って、バッファフィールド長の異常値を生成する。
人の名前を表す文字列フィールドの場合、文字列型のモデルを選択でき、そしてそのモデルに含まれないシンボル文字数のデフォルト閾値を非常に低いレベルに設定できる。人の名前は、多数のシンボルを包含することが期待されないので、デフォルト閾値を非常に低いレベルに設定することは、観察された値がモデルに存在するシンボルを包含する場合に侵入検出信号が直ちに生成されることを確実にする。これは、一重または二重の引用符、コンマなどの特殊文字を活用する、いわゆるSQL注入攻撃の場合に当てはまる。
図4は、侵入検出プロセスのステップを概略的に示す。ステップb1:データトラフィックをパースして、データトラフィックのプロトコルメッセージの少なくとも1つのプロトコルフィールドを抽出する。ステップb2:抽出されたプロトコルフィールドを、そのプロトコルフィールドのモデルと関連付けることであって、そのモデルは、モデルのセットから選択される。ステップb3:抽出されたプロトコルフィールドのコンテンツが、モデルで定義された通りの安全領域内にあるかどうかを評価する。ステップb4:抽出されたプロトコルフィールドのコンテンツが、安全領域外であることが確定された場合に侵入検出信号を生成する(例えば、プロトコルフィールドを備える抽出されたプロトコルフィールドまたはプロトコルメッセージをフィルタリングした後に続いて、ユーザへの警告、またはその他の侵入検出アクションを生成する)。
実施形態において、パーシングが、フィールドがプロトコルに従っていると確定することができない場合または抽出されたフィールドをモデルのセットのどのモデルとも関連付けることができない場合に侵入検出信号をさらに生成できる。
図5は、本特許出願において提案される概念の要旨を例として概略的に示す。プロセスは、プロトコルメッセージの少なくとも1つのプロトコルフィールドを抽出するためにネットワークトラフィックをパースすること(500)から開始する。第2のステップは、抽出されたプロトコルフィールドを、そのプロトコルフィールドのモデルと関連付けること(501)であって、そのモデルは、モデルのセットから選択されることを備える。モデルのセットは、異なるモデル型を備えることができ、そのモデルのセットは、図5の513で表される。抽出されたプロトコルフィールドのモデル型の選択を、値型のプロトコルフィールド(511で表される)とプロトコルフィールドに関連付けられるセマンティック(512で表される)との両方によって決定できる。異なるモデル型のセット(513)は、入力としても提供され、その異なるモデル型は、数値領域モデル、数値設定(列挙)モデル、数値分布モデル、ASCII文字列モデル、Unicodeモデル、ブールモデル、n−グラムベースのバイナリモデル、ネットワークエミュレータ、侵入検出署名のセットなどを含むことができる。パースされたプロトコルフィールドをそれに対応する(あるモデル型の)モデルと関連付けるプロセスは、このような演算の引数(509で表される)を記述するフィールドを用いて動作を記述するフィールドの依存性を考慮に入れることによって改善されることもできる。より一般的には、あるフィールド値の別のフィールド値に対する任意の依存性(510で表される)は、パースされたプロトコルフィールドをそれに対応するモデルと関連付ける時に、同じフィールドに対する複数のモデルが、同じメッセージ内の別のフィールドの値に従って構築されるようなやり方で考慮されることができる。学習段階中、選択されたモデル型のモデルが、パースされたプロトコルフィールドでは存在しない場合、そのようなモデルを作成できる(ステップ515)。同様に、モデルがすでに存在する場合、そのモデルを学習段階中に更新して、パースされた現在のフィールド値を、モデルで定義された安全領域に含むようにできる(ステップ516)。パーシングが、ネットワークデータで観察されたフィールドがプロトコル仕様に従っていると確定することができない場合、侵入検出信号を生成できる(ステップ508)。検出段階中、パースされたフィールドを、選択されたモデル型の既存のモデルに関連付けることができない場合、侵入検出信号を生成できる(ステップ504)。一方、パースされたフィールドを、選択されたモデル型の既存のモデルに関連付けることができる場合、そのモデルで定義された安全領域に対してフィールド値を評価できる(ステップ503)。パースされたプロトコルフィールド値が、モデルで定義された安全領域内にない場合、侵入検出信号を生成できる(ステップ505)。最後に、上述した理由のいずれかの理由により、侵入検出信号が生成された場合、異常値を有するプロトコルフィールドと関連付けられたプロトコルメッセージをネットワークトラフィックから除去すること(ステップ506)、または侵入警告メッセージを発するまたは出力すること(ステップ507)などの、さらなるステップをとることができる。
開示された実施形態は、各種形態に具体化することができる本発明を単に例示するものであることを理解されたい。従って、本明細書で説明した固有の構造的および機能的な詳細は、限定として解釈されず、単に特許請求の範囲の基礎として、および適切に詳述した実質的に任意の構造において本発明をさまざまに実施することを当業者に教示するための代表的な基礎として解釈される。さらに、本明細書で使用された用語および語句は、限定されることを意図せず、むしろ、本発明の理解しやすい説明を与えることを意図する。上述した実施形態の要素は、他の実施形態を形成するために組み合わされてもよい。
本明細書で使用される用語「1つ“a”」または「1つ“an”」は、1または複数のものとして定義される。本明細書で使用される、別のという用語は、少なくとも第2のまたはそれ以上のものとして定義される。本明細書で使用される、含むおよび/または有するという用語は、備える(即ち、他の要素またはステップを除外しない)として定義される。特許請求の範囲の任意の引用符号は、特許請求の範囲または本発明の範囲を限定するものとして解釈されてはならない。ある手段が、相互に異なる従属クレームに記載されているという単なる事実は、利益のためにこれらの手段を組み合わせて使用してはいけないことを示すものではない。本発明の範囲は、以下の特許請求の範囲によってのみ限定される。

Claims (34)

  1. データ通信ネットワークのデータトラフィックにおける侵入を検出するための侵入検出方法であって、
    −前記データトラフィックをパースして、前記データトラフィックのプロトコルメッセージの少なくとも1つのプロトコルフィールドを抽出するステップと、
    −前記抽出されたプロトコルフィールドを、そのプロトコルフィールドのそれぞれのモデルと関連付けるステップであって、前記モデルは、モデルのセットから選択されることと、
    −前記抽出されたプロトコルフィールドのコンテンツが、前記モデルで定義された通りの安全領域内にあるかどうかを評価するステップと、
    −前記抽出されたプロトコルフィールドの前記コンテンツが、前記安全領域外であることが確定された場合、侵入検出信号を生成するステップと
    を備えることを特徴とする方法。
  2. モデルの前記セットは、演算子プロトコルフィールドのモデルおよび引数プロトコルフィールドのモデルを備え、前記関連付けおよび評価は、前記演算子プロトコルフィールドおよび前記引数プロトコルフィールドに対して実行されることを特徴とする請求項1に記載の侵入検出方法。
  3. モデルの前記セットは、マーシャリングプロトコルフィールドのモデルをさらに備え、前記関連付けおよび評価は、前記マーシャリングプロトコルフィールドに対して実行されることを特徴とする請求項2に記載の侵入検出方法。
  4. 複数のモデル型が提供され、前記抽出されたプロトコルフィールドのモデル型は、前記抽出されたプロトコルフィールドの特性に基づいて前記複数のモデル型から選択され、前記抽出されたプロトコルフィールドの前記モデルは、前記選択されたモデル型に基づいて構築されることを特徴とする前記請求項のうちのいずれかに記載の侵入検出方法。
  5. 前記プロトコルフィールドの前記特性は、前記プロトコルフィールドのデータ型を備え、
    −前記抽出されたプロトコルフィールドのデータ型を決定するステップと、
    −前記決定されたデータ型を使用して前記モデル型を選択するステップとを備える方法を特徴とする請求項4に記載の侵入検出方法。
  6. 前記プロトコルフィールドの前記特性は、前記プロトコルフィールドのセマンティックを備え、
    −前記抽出されたプロトコルフィールドのセマンティックを決定するステップと、
    −前記決定されたセマンティックを使用して前記モデル型を選択するステップとを備える方法を特徴とする請求項4乃至5に記載の侵入検出方法。
  7. モデルの前記セットは、プロトコルフィールドの前記セットの各プロトコルフィールドに対してそれぞれのモデルを備えることを特徴とする前記請求項のうちのいずれかに記載の侵入検出方法。
  8. 前記フィールドの前記モデルは、学習段階中に決定され、
    前記学習段階は、
    −前記データトラフィックをパースして、前記データトラフィックに適用される前記プロトコルの少なくとも1つのプロトコルフィールドを抽出するステップと、
    −前記抽出されたプロトコルフィールドを、そのプロトコルフィールドの前記モデルと関連付けるステップであって、前記モデルは、モデルの前記セットから選択されるステップと、
    −前記抽出されたプロトコルフィールドのコンテンツを使用して、前記抽出されたプロトコルフィールドの前記モデルを更新するステップと
    を備えることを特徴とする前記請求項のうちのいずれかに記載の侵入検出方法。
  9. 前記抽出されたプロトコルフィールドと前記モデルのうちの1つとの間でどの関連付けも行われない場合、
    −前記抽出されたプロトコルフィールドの新しいモデルを作成し、および前記新しいモデルをモデルの前記セットに付加するステップを特徴とする請求項8に記載の侵入検出方法。
  10. 前記パーシングが、前記フィールドが前記プロトコルに従っていると確定することができない場合、前記侵入検出信号がさらに生成されることを特徴とする前記請求項のうちのいずれかに記載の侵入検出方法。
  11. 前記抽出されたフィールドを、モデルの前記セットのうちのどの前記モデルにも関連付けることができない場合、前記侵入検出信号がさらに生成されることを特徴とする前記請求項のうちのいずれかに記載の侵入検出方法。
  12. 前記プロトコルは、アプリケーション層プロトコル、セッション層プロトコル、トランスポート層プロトコルまたは下位レベルのプロトコルスタックプロトコルのうちの少なくとも1つであることを特徴とする前記請求項のうちのいずれかに記載の侵入検出方法。
  13. 前記方法は、前記侵入検出信号の生成に応答して、
    −前記プロトコルフィールドまたは前記プロトコルフィールドを包含するデータパケットを除去するステップと、
    −侵入警告メッセージを発するおよび出力するステップとのうちの少なくとも1つを備えることを特徴とする前記請求項のうちのいずれかに記載の侵入検出方法。
  14. 前記プロトコルフィールドの前記モデルは、
    −許容できるプロトコルフィールド値のセットと、
    −プロトコルフィールド値の数値分布と、
    −許容できるプロトコルフィールド値の領域の定義とのうちの少なくとも1つを備えることを特徴とする前記請求項のうちのいずれかに記載の侵入検出方法。
  15. 前記プロトコルフィールドの前記モデルは、
    −許容できるアルファベット、数字、シンボル、およびスクリプトの定義を備えることを特徴とする前記請求項のうちのいずれかに記載の侵入検出方法。
  16. 前記プロトコルフィールドの前記モデルは、事前に定義された侵入署名のセットを備えることを特徴とする前記請求項のうちのいずれかに記載の侵入検出方法。
  17. モデルの前記セットは、1つのプロトコルフィールドに対して2つのモデルを備え、前記2つのモデルのうちの固有の1つは、別のプロトコルフィールドの値に基づく前記1つのプロトコルフィールドと関連付けられることを特徴とする前記請求項のうちのいずれかに記載の侵入検出方法。
  18. データ通信ネットワークのデータトラフィックにおける侵入を検出するための侵入検出システムであって、
    −前記データトラフィックをパースして、前記データトラフィックのプロトコルメッセージの少なくとも1つのプロトコルフィールドを抽出するパーサと、
    −前記抽出されたプロトコルフィールドを、そのプロトコルフィールドのそれぞれのモデルと関連付けるエンジンであって、前記モデルは、モデルのセットから選択されることと、
    −前記抽出されたプロトコルフィールドのコンテンツが、前記モデルで定義された通りの安全領域内にあるかどうかを評価するモデルハンドラと、
    −前記抽出されたプロトコルフィールドの前記コンテンツが、前記安全領域外であることが確定された場合、侵入検出信号を生成するアクチュエータとを備えることを特徴とするシステム。
  19. モデルの前記セットは、演算子プロトコルフィールドのモデルおよび引数プロトコルフィールドのモデルを備え、前記エンジンは、前記演算子プロトコルフィールドおよび前記引数プロトコルフィールドに対する前記関連付けおよび評価を実行するために配置されることを特徴とする請求項18に記載の侵入検出システム。
  20. モデルの前記セットは、マーシャリングプロトコルフィールドのモデルをさらに備え、前記エンジンは、前記マーシャリングプロトコルフィールドに対する前記関連付けおよび評価を実行するために配置されることを特徴とする請求項19に記載の侵入検出システム。
  21. 複数のモデル型が提供され、前記システムは、前記抽出されたプロトコルフィールドの特性に基づいて前記複数のモデル型から前記抽出されたプロトコルフィールドのモデル型を選択し、および前記選択されたモデル型に基づいて前記抽出されたプロトコルフィールドのモデルを構築するために配置されることを特徴とする請求項18乃至20のいずれかに記載の侵入検出システム。
  22. 前記プロトコルフィールドの前記特性は、前記プロトコルフィールドのデータ型を備え、
    前記システムは、
    −前記抽出されたプロトコルフィールドのデータ型を決定するステップと、
    −前記決定されたデータ型を使用して前記モデル型を選択するステップとのために配置されることを特徴とする請求項21に記載の侵入検出システム。
  23. 前記プロトコルフィールドの前記特性は、前記プロトコルフィールドのセマンティックを備え、
    前記システムは、
    −前記抽出されたプロトコルフィールドのセマンティックを決定するステップと、
    −前記決定されたセマンティックを使用して前記モデル型を選択するステップとのために配置されることを特徴とする請求項21乃至22に記載の侵入検出システム。
  24. モデルの前記セットは、プロトコルフィールドのセットの各プロトコルフィールドに対してそれぞれのモデルを備えることを特徴とする請求項18乃至23のいずれかに記載の侵入検出システム。
  25. 学習段階中に動作されるためにさらに配置され、前記モデルのうちの少なくとも1つを学習する前記学習段階であって、前記モデルハンドラは、前記学習段階中に前記抽出されたプロトコルフィールドのコンテンツを使用して前記抽出されたプロトコルフィールドの前記モデルを更新するために配置されることを特徴とする請求項18乃至24のいずれかに記載の侵入検出システム。
  26. 前記エンジンは、前記学習段階中にさらに配置されることであって、前記抽出されたプロトコルフィールドと前記モデルのうちの1つとの間でどの関連付けも行われない場合、前記抽出されたプロトコルフィールドの新しいモデルを作成し、および前記新しいモデルをモデルの前記セットに付加することを特徴とする請求項25に記載の侵入検出システム。
  27. 前記パーサが、前記フィールドが前記プロトコルに従っていると確定することができないという前記パーサからの表示に応答して、前記アクチュエータは、前記侵入検出信号を生成するためにさらに配置されることを特徴とする請求項18乃至26のいずれかに記載の侵入検出システム。
  28. 前記エンジンが、前記抽出されたフィールドを、モデルの前記セットのうちのどの前記モデルにも関連付けることができないという前記エンジンからの表示に応答して、前記アクチュエータは、前記侵入検出信号を生成するためにさらに配置されることを特徴とする請求項18乃至27のいずれかに記載の侵入検出システム。
  29. 前記プロトコルは、アプリケーション層プロトコル、セッション層プロトコル、トランスポート層プロトコルまたは下位レベルのプロトコルスタックプロトコルのうちの少なくとも1つであることを特徴とする請求項18乃至28のいずれかに記載の侵入検出システム。
  30. 前記アクチュエータは、前記侵入検出信号の生成に応答して、
    −前記プロトコルフィールドまたは前記プロトコルフィールドを包含するデータパケットを除去するステップと、
    −侵入警告メッセージを発するおよび出力するステップとのために配置されることを特徴とする請求項18乃至29のいずれかに記載の侵入検出システム。
  31. 前記プロトコルフィールドの前記モデルは、
    −許容できるプロトコルフィールド値のセットと、
    −プロトコルフィールド値の数値分布と、
    −許容できるプロトコルフィールド値の領域の定義とのうちの少なくとも1つを備えることを特徴とする請求項18乃至30のいずれかに記載の侵入検出システム。
  32. 前記プロトコルフィールドの前記モデルは、
    −許容できるアルファベット、数字、シンボル、およびスクリプトの定義を備えることを特徴とする請求項18乃至31のいずれかに記載の侵入検出システム。
  33. 前記プロトコルフィールドの前記モデルは、事前に定義された侵入署名のセットを備えることを特徴とする請求項18乃至32のいずれかに記載の侵入検出システム。
  34. モデルの前記セットは、1つのプロトコルフィールドに対して2つのモデルを備え、前記エンジンは、前記2つのモデルのうちの固有の1つを、別のプロトコルフィールドの値に基づく前記1つのプロトコルフィールドに関連付けるために配置されることを特徴とする請求項18乃至33のいずれかに記載の侵入検出システム。
JP2014522785A 2011-07-26 2012-07-26 データ通信ネットワークにおいてプロトコルメッセージを分類するための方法およびシステム Active JP6117202B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161511685P 2011-07-26 2011-07-26
NL2007180A NL2007180C2 (en) 2011-07-26 2011-07-26 Method and system for classifying a protocol message in a data communication network.
US61/511,685 2011-07-26
NL2007180 2011-07-26
PCT/NL2012/050537 WO2013015691A1 (en) 2011-07-26 2012-07-26 Method and system for classifying a protocol message in a data communication network

Publications (3)

Publication Number Publication Date
JP2014522167A true JP2014522167A (ja) 2014-08-28
JP2014522167A5 JP2014522167A5 (ja) 2015-09-17
JP6117202B2 JP6117202B2 (ja) 2017-04-19

Family

ID=47601337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014522785A Active JP6117202B2 (ja) 2011-07-26 2012-07-26 データ通信ネットワークにおいてプロトコルメッセージを分類するための方法およびシステム

Country Status (11)

Country Link
US (4) US9628497B2 (ja)
EP (1) EP2737683B1 (ja)
JP (1) JP6117202B2 (ja)
CN (1) CN103748853B (ja)
BR (1) BR112014001691B1 (ja)
CA (1) CA2842465C (ja)
EA (1) EA037617B1 (ja)
ES (1) ES2581053T3 (ja)
IL (2) IL230440A (ja)
NL (1) NL2007180C2 (ja)
WO (1) WO2013015691A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102204290B1 (ko) * 2019-08-23 2021-01-18 고려대학교 세종산학협력단 통계적 분석 기반 비공개 프로토콜의 구분자 및 정적필드 추출방법
JP2021515498A (ja) * 2018-03-08 2021-06-17 フォアスカウト テクノロジーズ インコーポレイテッド 完全性監視及びネットワーク侵入検出のための属性ベースのポリシー
WO2022071056A1 (ja) * 2020-09-29 2022-04-07 ファナック株式会社 ネットワーク中継装置

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL2007180C2 (en) * 2011-07-26 2013-01-29 Security Matters B V Method and system for classifying a protocol message in a data communication network.
US9292688B2 (en) * 2012-09-26 2016-03-22 Northrop Grumman Systems Corporation System and method for automated machine-learning, zero-day malware detection
US11126720B2 (en) * 2012-09-26 2021-09-21 Bluvector, Inc. System and method for automated machine-learning, zero-day malware detection
JP2015535997A (ja) * 2012-09-28 2015-12-17 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. アプリケーションセキュリティ検査
JP6273834B2 (ja) * 2013-12-26 2018-02-07 富士通株式会社 情報処理装置及びロギング方法
CN104270275B (zh) * 2014-10-14 2018-04-10 广东小天才科技有限公司 一种异常原因的辅助分析方法、服务器以及智能设备
CN105704103B (zh) * 2014-11-26 2017-05-10 中国科学院沈阳自动化研究所 基于OCSVM双轮廓模型的Modbus TCP通信行为异常检测方法
US10572811B2 (en) 2015-01-29 2020-02-25 Splunk Inc. Methods and systems for determining probabilities of occurrence for events and determining anomalous events
US9953158B1 (en) * 2015-04-21 2018-04-24 Symantec Corporation Systems and methods for enforcing secure software execution
TWI562013B (en) * 2015-07-06 2016-12-11 Wistron Corp Method, system and apparatus for predicting abnormality
US10015188B2 (en) 2015-08-20 2018-07-03 Cyberx Israel Ltd. Method for mitigation of cyber attacks on industrial control systems
CN105306436B (zh) * 2015-09-16 2016-08-24 广东睿江云计算股份有限公司 一种异常流量检测方法
US10033747B1 (en) * 2015-09-29 2018-07-24 Fireeye, Inc. System and method for detecting interpreter-based exploit attacks
CN106657545B (zh) * 2015-10-29 2021-06-15 中兴通讯股份有限公司 拦截推送信息的方法、装置及终端
US10955810B2 (en) * 2015-11-13 2021-03-23 International Business Machines Corporation Monitoring communications flow in an industrial system to detect and mitigate hazardous conditions
WO2017119888A1 (en) * 2016-01-07 2017-07-13 Trend Micro Incorporated Metadata extraction
US10419401B2 (en) * 2016-01-08 2019-09-17 Capital One Services, Llc Methods and systems for securing data in the public cloud
US9998487B2 (en) * 2016-04-25 2018-06-12 General Electric Company Domain level threat detection for industrial asset control system
CN106022129B (zh) * 2016-05-17 2019-02-15 北京江民新科技术有限公司 文件的数据特征提取方法、装置及病毒特征检测系统
CN106209843A (zh) * 2016-07-12 2016-12-07 工业和信息化部电子工业标准化研究院 一种面向Modbus协议的数据流异常分析方法
CN106603531A (zh) * 2016-12-15 2017-04-26 中国科学院沈阳自动化研究所 一种基于工业控制网络的入侵检测模型的自动建立方法及装置
CN106790108B (zh) * 2016-12-26 2019-12-06 东软集团股份有限公司 协议数据解析方法、装置和系统
RU2659482C1 (ru) * 2017-01-17 2018-07-02 Общество с ограниченной ответственностью "СолидСофт" Способ защиты веб-приложений при помощи интеллектуального сетевого экрана с использованием автоматического построения моделей приложений
US10839154B2 (en) * 2017-05-10 2020-11-17 Oracle International Corporation Enabling chatbots by detecting and supporting affective argumentation
US10817670B2 (en) * 2017-05-10 2020-10-27 Oracle International Corporation Enabling chatbots by validating argumentation
CN110612525B (zh) 2017-05-10 2024-03-19 甲骨文国际公司 通过使用交流话语树启用修辞分析
US11960844B2 (en) * 2017-05-10 2024-04-16 Oracle International Corporation Discourse parsing using semantic and syntactic relations
US11165802B2 (en) * 2017-12-05 2021-11-02 Schweitzer Engineering Laboratories, Inc. Network security assessment using a network traffic parameter
NL2020552B1 (en) * 2018-03-08 2019-09-13 Forescout Tech B V Attribute-based policies for integrity monitoring and network intrusion detection
US11475370B2 (en) * 2018-11-29 2022-10-18 Microsoft Technology Licensing, Llc Providing custom machine-learning models
FR3090153B1 (fr) * 2018-12-17 2022-01-07 Commissariat Energie Atomique Procédé et système de détection d’anomalie dans un réseau de télécommunications
LT3674823T (lt) * 2018-12-28 2022-08-10 Nozomi Networks Sagl Infrastruktūros anomalijų aptikimo būdas ir aparatas
US10802937B2 (en) * 2019-02-13 2020-10-13 United States Of America As Represented By The Secretary Of The Navy High order layer intrusion detection using neural networks
US11621970B2 (en) * 2019-09-13 2023-04-04 Is5 Communications, Inc. Machine learning based intrusion detection system for mission critical systems
CN110912908B (zh) * 2019-11-28 2022-08-02 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) 网络协议异常检测方法、装置、计算机设备和存储介质
US11363059B2 (en) * 2019-12-13 2022-06-14 Microsoft Technology Licensing, Llc Detection of brute force attacks
CN111126627B (zh) * 2019-12-25 2023-07-04 四川新网银行股份有限公司 基于分离度指数的模型训练系统
CN111585993B (zh) * 2020-04-27 2022-08-09 深信服科技股份有限公司 一种隐蔽信道通信检测方法、装置及设备
CN111885059B (zh) * 2020-07-23 2021-08-31 清华大学 一种工业网络流量异常检测定位的方法
CN111865723A (zh) * 2020-07-25 2020-10-30 深圳市维度统计咨询股份有限公司 一种基于大数据的网络数据采集系统
CN112887280B (zh) * 2021-01-13 2022-05-31 中国人民解放军国防科技大学 一种基于自动机的网络协议元数据提取系统及方法
US11363050B1 (en) 2021-03-25 2022-06-14 Bank Of America Corporation Information security system and method for incompliance detection in data transmission
US11588835B2 (en) 2021-05-18 2023-02-21 Bank Of America Corporation Dynamic network security monitoring system
US11792213B2 (en) 2021-05-18 2023-10-17 Bank Of America Corporation Temporal-based anomaly detection for network security
US11799879B2 (en) 2021-05-18 2023-10-24 Bank Of America Corporation Real-time anomaly detection for network security
CN113742475A (zh) * 2021-09-10 2021-12-03 绿盟科技集团股份有限公司 一种office文档检测方法、装置、设备及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09153924A (ja) * 1995-11-28 1997-06-10 Nec Corp 通信制御システムの手順誤り検出方式

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6078874A (en) * 1998-08-04 2000-06-20 Csi Technology, Inc. Apparatus and method for machine data collection
US6925454B2 (en) * 2000-12-12 2005-08-02 International Business Machines Corporation Methodology for creating and maintaining a scheme for categorizing electronic communications
US6898737B2 (en) * 2001-05-24 2005-05-24 Microsoft Corporation Automatic classification of event data
US7225343B1 (en) * 2002-01-25 2007-05-29 The Trustees Of Columbia University In The City Of New York System and methods for adaptive model generation for detecting intrusions in computer systems
US8370936B2 (en) * 2002-02-08 2013-02-05 Juniper Networks, Inc. Multi-method gateway-based network security systems and methods
ATE374493T1 (de) * 2002-03-29 2007-10-15 Global Dataguard Inc Adaptive verhaltensbezogene eindringdetektion
US7039702B1 (en) * 2002-04-26 2006-05-02 Mcafee, Inc. Network analyzer engine system and method
US7349917B2 (en) * 2002-10-01 2008-03-25 Hewlett-Packard Development Company, L.P. Hierarchical categorization method and system with automatic local selection of classifiers
US7305708B2 (en) * 2003-04-14 2007-12-04 Sourcefire, Inc. Methods and systems for intrusion detection
US20070094722A1 (en) * 2003-05-30 2007-04-26 International Business Machines Corporation Detecting networks attacks
WO2005047862A2 (en) * 2003-11-12 2005-05-26 The Trustees Of Columbia University In The City Of New York Apparatus method and medium for identifying files using n-gram distribution of data
US8656488B2 (en) * 2005-03-11 2014-02-18 Trend Micro Incorporated Method and apparatus for securing a computer network by multi-layer protocol scanning
US7860006B1 (en) * 2005-04-27 2010-12-28 Extreme Networks, Inc. Integrated methods of performing network switch functions
US8631483B2 (en) * 2005-06-14 2014-01-14 Texas Instruments Incorporated Packet processors and packet filter processes, circuits, devices, and systems
US7757283B2 (en) * 2005-07-08 2010-07-13 Alcatel Lucent System and method for detecting abnormal traffic based on early notification
US9055093B2 (en) * 2005-10-21 2015-06-09 Kevin R. Borders Method, system and computer program product for detecting at least one of security threats and undesirable computer files
US20070150574A1 (en) * 2005-12-06 2007-06-28 Rizwan Mallal Method for detecting, monitoring, and controlling web services
US8135994B2 (en) * 2006-10-30 2012-03-13 The Trustees Of Columbia University In The City Of New York Methods, media, and systems for detecting an anomalous sequence of function calls
US8448234B2 (en) * 2007-02-15 2013-05-21 Marvell Israel (M.I.S.L) Ltd. Method and apparatus for deep packet inspection for network intrusion detection
US20080295173A1 (en) * 2007-05-21 2008-11-27 Tsvetomir Iliev Tsvetanov Pattern-based network defense mechanism
US7966660B2 (en) * 2007-05-23 2011-06-21 Honeywell International Inc. Apparatus and method for deploying a wireless network intrusion detection system to resource-constrained devices
US9100319B2 (en) * 2007-08-10 2015-08-04 Fortinet, Inc. Context-aware pattern matching accelerator
CN100531073C (zh) 2007-08-24 2009-08-19 北京启明星辰信息技术股份有限公司 一种基于状态检测的协议异常检测方法及系统
CN101399710B (zh) * 2007-09-29 2011-06-22 北京启明星辰信息技术股份有限公司 一种协议格式异常检测方法及系统
US8844033B2 (en) * 2008-05-27 2014-09-23 The Trustees Of Columbia University In The City Of New York Systems, methods, and media for detecting network anomalies using a trained probabilistic model
EP2200249A1 (en) * 2008-12-17 2010-06-23 Abb Research Ltd. Network analysis
FI20096394A0 (fi) * 2009-12-23 2009-12-23 Valtion Teknillinen Tunkeutumisen havaitseminen viestintäverkoissa
US9088601B2 (en) * 2010-12-01 2015-07-21 Cisco Technology, Inc. Method and apparatus for detecting malicious software through contextual convictions, generic signatures and machine learning techniques
NL2007180C2 (en) * 2011-07-26 2013-01-29 Security Matters B V Method and system for classifying a protocol message in a data communication network.
US9092802B1 (en) * 2011-08-15 2015-07-28 Ramakrishna Akella Statistical machine learning and business process models systems and methods
US9672355B2 (en) * 2011-09-16 2017-06-06 Veracode, Inc. Automated behavioral and static analysis using an instrumented sandbox and machine learning classification for mobile security
US9189746B2 (en) * 2012-01-12 2015-11-17 Microsoft Technology Licensing, Llc Machine-learning based classification of user accounts based on email addresses and other account information
US9292688B2 (en) * 2012-09-26 2016-03-22 Northrop Grumman Systems Corporation System and method for automated machine-learning, zero-day malware detection
WO2014144893A1 (en) * 2013-03-15 2014-09-18 Jones Richard B Dynamic analysis of event data
US10476742B1 (en) * 2015-09-24 2019-11-12 Amazon Technologies, Inc. Classification of auto scaling events impacting computing resources

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09153924A (ja) * 1995-11-28 1997-06-10 Nec Corp 通信制御システムの手順誤り検出方式

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021515498A (ja) * 2018-03-08 2021-06-17 フォアスカウト テクノロジーズ インコーポレイテッド 完全性監視及びネットワーク侵入検出のための属性ベースのポリシー
KR102204290B1 (ko) * 2019-08-23 2021-01-18 고려대학교 세종산학협력단 통계적 분석 기반 비공개 프로토콜의 구분자 및 정적필드 추출방법
WO2022071056A1 (ja) * 2020-09-29 2022-04-07 ファナック株式会社 ネットワーク中継装置

Also Published As

Publication number Publication date
CA2842465C (en) 2021-05-04
CN103748853A (zh) 2014-04-23
NL2007180C2 (en) 2013-01-29
EA201490333A1 (ru) 2014-06-30
US9628497B2 (en) 2017-04-18
US20140090054A1 (en) 2014-03-27
IL230440A0 (en) 2014-03-31
IL254829A0 (en) 2017-12-31
ES2581053T3 (es) 2016-08-31
BR112014001691B1 (pt) 2022-06-21
BR112014001691A2 (pt) 2020-10-27
US20140297572A1 (en) 2014-10-02
EP2737683A1 (en) 2014-06-04
IL254829B (en) 2018-06-28
US11902126B2 (en) 2024-02-13
EA037617B1 (ru) 2021-04-22
US11012330B2 (en) 2021-05-18
IL230440A (en) 2017-10-31
EP2737683B1 (en) 2016-03-02
JP6117202B2 (ja) 2017-04-19
WO2013015691A1 (en) 2013-01-31
US20210344578A1 (en) 2021-11-04
CA2842465A1 (en) 2013-01-31
CN103748853B (zh) 2017-03-08
US20170195197A1 (en) 2017-07-06

Similar Documents

Publication Publication Date Title
JP6117202B2 (ja) データ通信ネットワークにおいてプロトコルメッセージを分類するための方法およびシステム
JP7391110B2 (ja) フィッシング・キャンペーンの検出
US8990259B2 (en) Anchored patterns
US9858051B2 (en) Regex compiler
Maggi et al. Protecting a moving target: Addressing web application concept drift
US9231964B2 (en) Vulnerability detection based on aggregated primitives
Sija et al. A survey of automatic protocol reverse engineering approaches, methods, and tools on the inputs and outputs view
WO2011032094A1 (en) Extracting information from unstructured data and mapping the information to a structured schema using the naive bayesian probability model
US11838319B2 (en) Hardware acceleration device for denial-of-service attack identification and mitigation
Kim et al. Unknown payload anomaly detection based on format and field semantics inference in cyber-physical infrastructure systems
CN113965393A (zh) 一种基于复杂网络和图神经网络的僵尸网络检测方法
Masabo et al. Improvement of malware classification using hybrid feature engineering
Alosefer et al. Predicting client-side attacks via behaviour analysis using honeypot data
Paul et al. Survey of polymorphic worm signatures
Ponomarev Intrusion Detection System of industrial control networks using network telemetry
Selvaraj et al. Packet payload monitoring for internet worm content detection using deterministic finite automaton with delayed dictionary compression
US11792162B1 (en) Machine learning based web application firewall
US11848919B1 (en) Patternless obfuscation of data with low-cost data recovery
EA042211B1 (ru) Способ и система для классифицирования сообщения протокола в сети передачи данных
Jacob et al. Malware detection using attribute-automata to parse abstract behavioral descriptions
CN114826628A (zh) 一种数据处理方法、装置、计算机设备及存储介质
Huang Automatic Field Extraction of Extended TLV for Binary Protocol Reverse
Haynes Creating Synthetic Attacks with Evolutionary Algorithms for Industrial-Control-System Security Testing
Johansson Attacking the Manufacturing Execution System: Leveraging a Programmable Logic Controller on the Shop Floor
Serdiouk Behavior-based model of detection and prevention of intrusions in computer networks

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150727

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150727

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160510

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160808

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20161011

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161110

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: 20170221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170322

R150 Certificate of patent or registration of utility model

Ref document number: 6117202

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250