JP2021515498A - 完全性監視及びネットワーク侵入検出のための属性ベースのポリシー - Google Patents

完全性監視及びネットワーク侵入検出のための属性ベースのポリシー Download PDF

Info

Publication number
JP2021515498A
JP2021515498A JP2020546891A JP2020546891A JP2021515498A JP 2021515498 A JP2021515498 A JP 2021515498A JP 2020546891 A JP2020546891 A JP 2020546891A JP 2020546891 A JP2020546891 A JP 2020546891A JP 2021515498 A JP2021515498 A JP 2021515498A
Authority
JP
Japan
Prior art keywords
host
attribute
link
policy
quarantine
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.)
Pending
Application number
JP2020546891A
Other languages
English (en)
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
Priority claimed from NL2020552A external-priority patent/NL2020552B1/en
Priority claimed from NL2020633A external-priority patent/NL2020633B1/nl
Priority claimed from NL2020634A external-priority patent/NL2020634B1/nl
Priority claimed from NL2020632A external-priority patent/NL2020632B1/nl
Priority claimed from NL2020635A external-priority patent/NL2020635B1/nl
Application filed by フォアスカウト テクノロジーズ インコーポレイテッド, フォアスカウト テクノロジーズ インコーポレイテッド filed Critical フォアスカウト テクノロジーズ インコーポレイテッド
Publication of JP2021515498A publication Critical patent/JP2021515498A/ja
Pending legal-status Critical Current

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
    • 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/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • 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/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

データ通信ネットワーク上でのデータトラフィック内の異常挙動検出方法であって、データ通信ネットワークに第1ホスト及び第2ホストが接続され、データ通信ネットワーク上のデータトラフィックが、第1ホストと第2ホストとの間のリンクを形成し、本方法は:a)データトラフィックを解析して、データトラフィックのプロトコルメッセージのプロトコルフィールド値を抽出するステップと、b)抽出したプロトコルフィールド値から、第1ホスト、第2ホスト、及びリンクのうちの1つについての属性の属性値を導出するステップと、c)モデルセットから、第1ホスト、第2ホスト、及びリンクのうちの1つに関連するモデルを選択するステップであって、選択されたモデルは、第1ホスト、第2ホスト、及びリンクのうちの1つについて記述する複数の属性を含み、属性の少なくとも1つは、意味属性であり、意味属性は、第1ホスト、第2ホスト、及びリンクのうちの1つについての意味論的意味を表す、ステップと、d)導出された属性値が、選択されたモデルにおいて選択時に特徴付けられていない場合に、選択されたモデルを導出された属性値でアップデートするステップと、e)アップデートされ選択されたモデルが属性ベースのポリシーセットに従うかどうかを評価するステップであって、各属性ベースのポリシーは、第1ホスト、第2ホスト、又はリンクの属性のうちの少なくとも1つの属性に基づいて、データ通信ネットワークのセキュリティ上の制約を定義する、ステップと、f)属性ベースのポリシーが、アップデートされ選択されたモデルが属性ベースのポリシーの少なくとも1つに違反することを示す場合は、アラート信号を生成するステップを含む。【選択図】図4

Description

本発明は、データ通信ネットワーク上のデータトラフィックの異常挙動を検出する方法、及びこの方法を実行するように構成された侵入検出システムに関する。
データ通信ネットワークは、コンピュータネットワークとしても認識され、共に接続されて通信チャネル上で相互にデータを交換することができる実施可能な異種デバイス(例えば、パーソナルコンピュータ、タブレット、電話、サーバ、コントローラ、アクチュエータ)のグループとして理解することができる。企業は、自らの中核事業を展開し維持するために、コンピュータネットワークにますます依存している。同様に、産業制御システム(ICS)もまた、プロセス効率を改善するために情報テクノロジー(IT)技術をますます導入している。この傾向は、効率性及びビジネスとしての可能性を改善するが、サイバー攻撃に晒されることも増加することになる。侵入検出システム(IDS)は、サイバー攻撃を検出するのに用いられる幅広く採用されたセキュリティツールである。ネットワークベースのIDS(NIDS)は、検出技術のためにネットワークトラフィックの分析に依存している。
通常、ネットワーク侵入検出システム等のネットワーク監視システムは、i)ブラックリスト型システム、及びii)ホワイトリスト型システムに区別することができる。
ブラックリスト型システムは、周知の攻撃のデータベースを保持して、既知の攻撃に一致する悪意のあるネットワークイベントが検出された時にアラートを発する。これらのシステムは、極めて僅かな偽陽性を示すという利点を有する。他方、ブラックリスト型システムは、明確に定義された仕様が利用可能な周知の攻撃しか検出できないという意味で、限定的である。このことは、ゼロデイ攻撃、すなわち、まだ知られていない脆弱性を悪用する攻撃をこれらのシステムが検出できないことを意味する。更に、管理及びチェックしなければならない署名の数は、攻撃の数に伴って増加する。
一方、ホワイトリスト型システムは、システムの正常挙動のモデルを保持して、これと現在のアクティビティを比較して、不一致が発生した場合にアラートを発する。ホワイトリストソリューションは、既知の攻撃及び未知の攻撃の両方を検出する可能性が高いので、極めて一般的になりつつある。残念ながら、このソリューションは通常、処理コストが高い多数の偽陽性を生じる。通常は、ホワイトリストNIDSは、正常挙動のモデルを数週間の時間期間にわたって作成する(例えば、自動学習又は手動指定する)が、(そのようなモデルを用いた)検出が非常に長い間継続するという手法を採用する。この一般的なホワイトリスト手法は、以下の問題を引き起こす可能性がある。
物事が変化し続け、正当な挙動が進化して、新たな正当なデバイスが出現する可能性がある、監視対象のあらゆるネットワークの本質的なダイナミズムに起因する正当な変化に対処するための体系的な手法は存在しない。この適応性の欠如は、以下の2つの問題を引き起こす。すなわち、(i)あらゆる(正当な)変化が偽陽性を生じるが、これは、オペレータの手動検査を必要とするので、処理するのにコストがかかる。(ii)ホワイトリスト型システムによって使用されるモデルは、監視するトラフィック内の各(正当な)変化に対して手動でアップデートする必要があり、これは、高価で複雑なプロセスである。既存のソリューションの一部は、時間の経過に伴うモデルへの僅かな手動アップデートには可能であるが、一般的には、モデルから外れた何らかの挙動がアラートをトリガーすることになる。
本発明は、ネットワーク内の変化、例えばアップグレードに、より容易に適応可能な異常挙動の検出を提供することを目的とする。
本発明の1つの態様によれば、データ通信ネットワーク上のデータトラフィックの異常挙動を検出する方法を提供し、第1ホスト及び第2ホストがデータ通信ネットワークに接続され、データ通信ネットワーク上のデータトラフィックが、第1ホストと第2ホストとの間のリンクを提供し(例えば、ネットワーク通信を形成する)、
本方法は、
a)データトラフィックを解析して、データトラフィックのプロトコルメッセージのプロトコルフィールド値を抽出するステップと、
b)抽出したプロトコルフィールド値から、第1ホスト、第2ホスト、及びリンクのうちの1つについての属性の属性値を導出するステップと
c)モデルセットから、第1ホスト、第2ホスト、及びリンクのうちの1つに関連するモデルを選択するステップであって、選択されたモデルは、第1ホスト、第2ホスト、及びリンクのうちの1つについて記述する複数の属性を含み、属性の少なくとも1つは意味属性であり、意味属性が、第1ホスト、第2ホスト、及びリンクのうちの1つについての意味論的意味を表す、ステップと、
d)導出された属性値が、第1ホスト、第2ホスト、及びリンクのうちの1つに関連する選択されたモデルにおいて選択時に特徴付けられていない場合に、選択されたモデルを導出された属性値でアップデートするステップと、
e)アップデートされ選択されたモデルが属性ベースのポリシーセットに従うかどうかを評価するステップであって、属性ベースのポリシーセットのうちの各属性ベースのポリシーは、第1ホスト、第2ホスト、又はリンクの属性のうちの少なくとも1つの属性に基づいて、データ通信ネットワークのセキュリティ上の制約を定義する、ステップと、
f)属性ベースのポリシーが、アップデートされ選択されたモデルが属性ベースのポリシーの少なくとも1つに違反することを示す場合に、アラート信号を発生させるステップ
と、を含む。
データ通信ネットワーク上では、データ通信は、第1ホストと第2ホストとの間で行われる。第1ホストと第2ホストとの間の接続は、ホスト間のリンクを形成する。ホストは、コンピュータ、携帯電話、無線デバイス、プログラマブルロジックコントローラ(PLC)のようなプログラマブルデバイス、又は何れかの他のデバイスのような、データ通信を可能にする何れかのデバイスとすることができる。ホストは、サーバ、クライアント、プリンタ、カメラ、PLC、ヒューマンマシンインタフェース(HMI)、Supervisory Control And Data Acquisition (SCADA)サーバ、その他のような、実施可能なあらゆる役割を担うことができる。ホストは、データ通信における送信側又は受信側、及び送信側及び受信側の両方とすることができる。データ通信ネットワークは、有線又は無線ネットワーク等のあらゆるデータ通信ネットワークとすることができ、あらゆるタイプの通信プロトコルを利用することができる。第1ホストと第2ホストとの間のデータ通信(リンク)は、1対1のリンク、又は第1ホストから複数の第2ホストにデータをブロードキャストする場合とすることができるような、1対多のリンクとすることができる。
データトラフィック、リンク、ネットワークメッセージ、ネットワークメッセージフィールド、属性、ホストモデル、リンクモデル、モデルアップデート、属性ベースのポリシー、及びアラートという用語は以下のように定義することができる。
・データトラフィック:データトラフィック(又はネットワークトラフィック)は、所与の時点においてネットワークを越えて移動するデータである。データトラフィックは、大部分はネットワークメッセージから構成される。
・ホスト:ネットワークホスト、すなわち単にホストは、ネットワークに接続された要素(コンピュータ又は他のデバイス)である。
・リンク:2つのネットワーク要素間で行われるネットワーク通信。通常、リンクは、通信のホストソース及びホストターゲットを有する。
・ネットワークメッセージ(プロトコルメッセージとしても認識される):1つのホストから別のホストにネットワークを通じて送信されるデータトラフィックの要素、通常は情報単位である。
・ネットワークメッセージフィールド(プロトコルメッセージフィールドとしても認識される):ネットワークメッセージは、メッセージ情報を伝える複数のフィールドから構成される。あらゆるフィールドに、表現するための長さ(ビット単位)、値、及びデータタイプが関連付けられる。例えば、ソースIP(IPバージョン4又は6に応じて、32ビット又は128ビット)及び宛先IP(IPバージョン4又は6に応じて、32ビット又は128ビット)が、IPメッセージ内のフィールドの例である。ネットワークメッセージフィールドはまた、データフィールド、プロトコルデータフィールド、又はプロトコルフィールドとして認識することができる。これに応じて、プロトコルフィールドの値は、プロトコルフィールド値、データフィールド値、又はプロトコルデータフィールド値として認識することができる。プロトコルメッセージという用語はまた、メッセージとして認識することができる。
・属性:属性は、ホスト、リンク、又はコンテキスト環境を表す特徴である。属性は、(場合によっては異なる時点における複数のネットワークメッセージにわたる)1又は複数のネットワークメッセージフィールドをより抽象的なカテゴリにマッピングすることによって得られる。属性は、プロトコル汎用特徴、すなわち、汎用であるので、適用される特定のプロトコルには依存しない特徴を記述する。従って、1つの実施形態では、抽出したプロトコルフィールド値から導出された属性値は、第1ホスト、第2ホスト、及びリンクのうちの1つについてのプロトコル汎用特徴を記述する。
・ホストモデル:ホストについて記述するのに用いられる属性リストで、好ましくは少なくとも1つの属性が意味属性である。
・リンクモデル:リンクについて記述するのに用いられる属性リストで、好ましくは少なくとも1つの属性が意味属性である。
・モデルアップデート:ネットワークメッセージフィールドをホストモデル及びリンクモデルにマッピングするプロセス。新規のあらゆるネットワークメッセージにおいて、モデルアップデートプロセスは、ヒューリスティクス及び/又はアグリゲーション及び/又は分類技術を適用して、属性の前の値及び現在のネットワークメッセージによって搬送される新規の情報を考慮することにより、現在のホストモデル及びリンクモデルをアップデートする。
・属性ベースのポリシー:if−condition−then−action〔obligation〕形式のステートメントであり、ここで、condition(条件)は、ホストモデル及び/又はリンクモデルを参照する属性を含み、action(動作)は、ポリシーとデータトラフィックの肯定一致の場合に行うべきことを定義し、obligation(義務)(任意)は、一致の場合に行うべき追加の動作(例えば、name@domain.comに電子メールを送信、優先度をhighに設定、クリティカリティをmediumに設定)を定義する。属性ベースのポリシーは、条件及び行うべきことをプロトコル汎用方法で、すなわち、データ通信ネットワーク上の通信、例えば、リンクを介した第1ホストと第2ホストとの間の通信に適用することができるプロトコルに非固有の方法で定義する。ポリシーは、例えば、適用可能なプロトコルに汎用なポリシーの機能的論理的説明を提供する宣言型ポリシーとすることができる。従って、1つの実施形態において、属性ベースのポリシーは宣言型ポリシーを含む。
・ホワイトリストポリシー:許容可能なデータトラフィック(動作==permit(許可))を記述する属性ベースのポリシー。
・ブラックリストポリシー:許容不可のデータトラフィック(動作==deny(拒否))を記述する属性ベースのポリシー。
・アラート:システムの危険状況の可能性があることを表す意味強化されたコンテキストアウェア情報である。例えば、アラートは、ネットワークに対する特定の脅威が識別された事実を表すことができる。
・ポリシーチェック:属性ベースのポリシーをデータトラフィックに対して照合するプロセスで、一致する場合は、ポリシーによって記述される動作を行う。
・プロトコル:データを通信するためのルール及びガイドラインのセット。ルールは、2又はそれ以上のコンピュータ(ホスト)間の通信中に各ステップ及びプロセスごとに定義される。ネットワークは、データを送信するためにこれらのルールに従う。
データトラフィックは、パーサなどによって解析される。パーサは、データストリームからプロトコルフィールド及びこれらの対応する値を抽出する。パーサは、何れかの適切なプロトコル言語に関連することができる。解析するという用語は、コンピュータによって文章又は他の文字列のその構成要素への分析として理解することができ、相互の構文関係を示し、意味情報及び他の情報も含むことができる解析ツリーが得られる。ネットワークプロトコルは、非限定的な例として、以下のこと、すなわち、Ethernetフレーム、ワイヤレス(Wireless Fidelity(WI−FI)、Bluetooth又はロングタームエボリューション(LTE)フレーム、又はシリアルバス(RS−232/485、コントローラエリアネットワーク(CAN)バス)フレーム等の低水準プロトコル、インターネットプロトコル(IP)ヘッダ、伝送制御プロトコル(Transmission Control Protocol、TCP)/ユーザデータグラムプロトコル(User Datagram Protocol、UDP)/インターネットコントロールメッセージプロトコル(Internet Control Message Protocol、ICMP)/インターネットグループマネージメントプロトコル(Internet Group Management Protocol、IGMP)ヘッダ、ハイパーテキスト転送プロトコル(Hypertext Transfer Protocol、HTTP)、シンプルメール転送プロトコル(Simple Mail Transfer Protocol、SMTP)、金融情報交換(Financial Information eXchange、FIX)、ライトウェイトディレクトリアクセスプロトコル(Lightweight Directory Access Protocol、LDAP)、トランスポート層セキュリティ(Transport Layer Security)/セキュアソケット層(Secure Sockets Layer)(SSL/TLS)等の高水準プロトコル:分散ネットワークプロトコル3(Distributed Network Protocol 3、DNP3),MODBUS/Transmission Control Protocol(MODBUS/TCP),MODBUS/Remote Terminal Unit (MODBUS/RTU), Building Automation and Control Network (BACnet)、米国規格協会(ANSI) C12.22, IEC61850のような産業データ搬送用プロトコル、及びその他のうちの1又は2以上を含むことができる。
属性値は、抽出したプロトコルフィールド値から導出される。属性値は、プロトコルのあらゆる層のデータ(プロトコルフィールド)から導出することができる。属性値は、属性の値を表す。属性は、第1ホスト、第2ホスト、及び/又はリンクの特徴を表す。例えば、属性の一部は、第1ホストに関連することができ、属性の一部は、第2ホストに関連することができ、並びに属性の一部は、第1ホストと第2ホストとの間のリンクに関連することができる。属性値は、プロトコルに汎用のものであり、すなわち、この属性値は、特定のプロトコルに固有のものではない記述を形成する。例えば、読出し動作は、Step7プロトコルでは4、国際電気標準会議104(IEC−104)プロトコルでは45、及びModbusプロトコルでは23、3によって形成される。従って、読出し動作の項は、Step7プロトコルでは4、IEC−104プロトコルでは45、及びModbusプロトコルでは23、3のプロトコル汎用記述を形成する。従って、属性値は、第1ホスト、第2ホスト、及びリンクの汎用記述を提供する。
ホスト属性の例は、オペレーティングシステム、ベンダ、役割、ファームウェア、モデル、アプリケーション、サービス、ネットワークタイプである。
リンク属性の例は、プロトコル、ソースポート、宛先ポート、機能、メッセージタイプ、ペイロードパラメータである。
複数のモデルが提供される。モデルの1つは、第1ホストを表し、モデルの1つは、第2ホストを表し、モデルの1つは、第1ホストと第2ホストとの間のリンクを表す。各モデルが複数の属性を含み、各モデルは、属性集合によって形成することができる。モデルは、例えば、最初は空とすることができる。各モデルは、識別子によって、特定のホスト又は特定のリンクと関連付けることができる。データトラフィックが解析されると、第1ホスト、第2ホスト、及び/又はリンクの属性値を提供し、属性値がそれぞれのモデルでまだ特徴付けられていない場合には、属性値を追加することにより、第1ホスト、第2ホスト、及びリンクのうちのそれぞれの1つに関連するそれぞれのモデルがアップデートされる。そうでない場合には、モデルはそのままにされ、或いは、それぞれの属性値の信頼性レベルを高めることができる。ホストのモデルは、限定ではないが、インターネットプロトコル(IP)アドレス、媒体アクセス制御(MAC)アドレス、MACベンダ、モデル、ファームウェア、シリアルナンバー、アプリケーション、ポート、プロトコル、サービス、送信データ、受信データ、役割、オペレーティングシステム、最初に記録されたアクティビティ、最後に記録されたアクティビティ、ネットワーク、クリティカリティ(重要度)、感度、所有者、地理的場所、標識、ユーザ名、エージェント名、統一資源位置指定子(URL)、その他のうちの1又はそれ以上を含むことができる。リンクのモデルは、限定ではないが、ソースポート、宛先ポート、レイヤ1プロトコル、レイヤ2プロトコル、レイヤ3プロトコル、レイヤ4プロトコル、レイヤ7プロトコル、メッセージコード、メッセージタイプ、接続数、バイト数、その他のうちの1又は2以上を含むことができ、ここでレイヤは、ISO/OSIレイヤを指す。
モデルは、複数の属性ベースのポリシーに対して保持される。各ポリシー、すなわち、各属性ベースのポリシーは、条件を満たす場合の結果を定義することができ、該条件は、第1ホスト、第2ホスト、及び/又はリンクの属性のうちの1又はそれ以上に関して定義される。属性ベースのポリシーの結果は、データトラフィックの許容性に関連する。従って、各属性ベースのポリシーは、1又はそれ以上のホスト属性及び/又はリンク属性に基づいて、セキュリティ上の制約を定義する。例えば、ポリシーの1又はそれ以上が許容可能でない挙動を示す場合、アラートを発することができる。属性ベースのポリシーセットのポリシーのうちの1つが、第1ホストの少なくとも1つの属性に基づいてセキュリティ上の制約を定義することができ、属性ベースのポリシーセットのポリシーのうちの別のポリシーが、第2ホストの少なくとも1つの属性に基づいてセキュリティ上の制約を定義することができ、属性ベースのポリシーセットのポリシーのうちの更に別のポリシーが、リンクの少なくとも1つの属性に基づいてセキュリティ上の制約を定義することができる。
属性ベースのポリシーの実施例は、以下を含むことができる。:ゲストデバイスは、再プログラムコマンドを電子メールサーバに送信することができない。プリンタデバイスは、スキャンした文書を外部電子メールサーバに送信することができない。プリンタデバイスは、動作状態データを遠隔保守プリンタサーバに送信することができる。Windowsコンピュータは、電子メールサーバとして動作することができない。ユーザプロファイルを実行しているWindowsコンピュータは、管理者権限を有していない場合がある。管理者プロファイルを実行しているWindowsコンピュータは、アップデートコマンドを電子メールサーバに送信することができる。このようにしてポリシーは、ホワイトリスト及び/又はブラックリストポリシーを形成することができる。ポリシーは、条件及び動作をプロトコル汎用方法で定義する。上記の実施例は、ポリシーを汎用記述で提供するが、これらは、if−condition−then−actionに関して作成することができる。例えば、「プリンタデバイスは、pdf文書を外部電子メールサーバに送信することができない」というポリシーは、「プリンタデバイスがpdf文書を外部電子メールサーバに送信する場合には」、「アラートメッセージを作成する」として理解することができる。この実施例では、プリンタデバイス及び外部電子メールサーバは、ホスト属性を形成することができ、pdf文書送信は、リンク属性を指すことができる。ポリシーセットは、様々なホスト、リンク、その他に関するポリシーを含むことができる。従って、特定のプロトコルメッセージ、特定のモデル、その他に関して、属性ベースのポリシーのサブセットのみが関連することができる。属性ベースのポリシーセットは、データ通信ネットワーク上のデータトラフィックのセキュリティポリシーを定義することができる。
従って、ポリシーの結果は、データトラフィックの許容性に関する結果をもたらす。データトラフィックが許容可能でないことが分かった場合、アラート信号を生成することができる。アラート信号は、オペレータに送信されるワーニングを生成することができ、データベース内に記録されるアラートメッセージを形成することができ、ユーザ/オペレータ、その他への光学的ワーニング(ディスプレイ上などに)及び/又は可聴ワーニング(ビープ音又は他の音響アラーム)を形成することができる。
プロトコルフィールド値の解析、抽出、属性値の導出、モデルの構築、属性ベースポリシーとの比較、及びアラーム信号の生成のプロセスは、自動的に実行することができ、すなわち、1つの実施形態では、プロセスは、人の介入を必要としない。
異常挙動の検出は、属性ベースのポリシーに基づいて行われるので、データトラフィックが許容可能か否かの基準は、属性値に関して定義することができる。従って、基準は、より高い抽象レベルで定義することができ、これは、ポリシーによって設定される基準は、1つの特定のデバイス/環境に適用されるだけでなく、より一般的な範囲を有することができる。属性ベースのポリシーは、より高い抽象レベルでルールを適用することができ、これに応じて、データ通信ネットワーク内で変更が生じた時でも、発生するイベントを決定することができる。
例えば、属性ベースのポリシーが、プリンタ/スキャナが外部デバイスに文書を転送できないとみなされる場合、このポリシーは、1つの特定のプリンタ/スキャナに適用されるだけでなく、ネットワークホストがプリンタ/スキャナであると認識されるあらゆる状況に適用することができ、これに応じて、モデルは、属性値に基づいてアップデートされる。別の実施例として、ポリシーが、再プログラムコマンドを外部デバイスからPLCに送信することができない(すなわち、ローカルネットワークの外部にあるデバイスからは送信できない)と定義する場合、PLCとしてモデル化されたあらゆるホストをこのポリシーの適用対象とすることができる。従って、ネットワークがアップデートされて、新規PLCが接続された時、PLCであるという属性が新規PLCからも抽出できる場合は、ポリシーをこの新規PLCに適用することができる。同様に、新規PLCが異なるプロトコルを使用すると見える場合、例えば、Modbusプロトコルの代わりにIEC−104プロトコルを用いて通信するように見える場合、類似の動作が異なるプロトコルでは異なるコーディングを有する可能性があるという事実にもかかわらず、既存のポリシーを適用することができる。従って、読出し動作がローカルデバイスから送信された時だけ、PLCがこの読出し動作に応答できることを属性ベースのポリシーが定義する場合、異なるプロトコルを用いて通信する新規PLCがネットワーク内で発見された時でも、このポリシーを適用することができる。
従って、ホスト及びリンクの属性を定義するホスト及びリンクのモデルを構築することにより、属性ベースのポリシーが、データトラフィックの許容性をより高い抽象レベルで評価することができ、相対的に高い抽象レベルでポリシーを定義できるようになる。従って、ネットワークへの何らかの変更の場合に、類似の又は同じ属性をデータトラフィックから抽出できるので、ネットワーク内で変更が生じた時にポリシーを適用可能とすることができる。従って、監視、侵入検出、異常挙動の検出、その他に属性ベースのポリシーを使用すると、ネットワーク内である程度の変更が実行された時でも、侵入の検出を促すことができる。
従来技術では、正常挙動のモデルは、典型的には、そのIPアドレスによってほぼ識別される単一のネットワークエンティティ(すなわち、ホスト)ごとに定義される。この手法では、新規ホストは、ネットワークアップグレードの結果にすぎないとしても、その存在が常に最初は脅威とみなされることになる。一部のNIDSは、要素のクラスのためのモデルの作成を支援しない(例えば、全ファイルサーバへのファイル転送プロトコル(FTP)のアクセスを許容する)が、要素のクラスは、手動で定義される(及び保持される)必要があり、これはコストがかかりエラーを起こしやすいタスクである。このことは、類似の要素又は類似の挙動を有する要素のクラスのためのモデルを定義することができないことを意味する。これはまた、新規ホストがネットワークに追加されるたびに、所与のホストに対して何が許容可能で何が許容不可であるかを定める新規モデルセットを定義する必要があることを意味する。
更に、属性ベースのポリシーを用いると、受動的観察が可能になり、従って、追加のデータトラフィックは導入されず、ホスト及びデータネットワークの挙動を妨げることもない。
ホスト及び/又はリンクの属性を使用できる時には、送信側、受信側、及び送信側と受信側との間のリンクを考慮に入れることができ、ホスト属性及びリンク属性によりホストの挙動に関してポリシーを定義することができるので、挙動(すなわち、誰が何をしたか?)を観察することができる。
異常挙動の検出は、侵入検出、ネットワークアセットの発見、ネットワークアセットの特性化、ユーザによる悪意のあるアクティビティの識別、ネットワークアセットによる悪意のあるアクティビティの識別、その他のうちの1又はそれ以上を含むことができる。1つの実施形態において、異常挙動の検出は、侵入検出を提供する。
用途は、モノのインターネット、ホームオートメーション、ビルオートメーション、産業制御システムネットワーク(石油&ガス、発電、送電、及び配電、飲料水及び下水、薬学/生命科学、化学及び石油化学、エンターテインメント等)、インダストリー4.0及び製造ネットワーク、オフィス及びITネットワーク、データセンターネットワーク、車内ネットワーク、car−to−x通信を含むことができる。
幾つかの実施例を以下に示す。
モノのインターネットの用途では、属性抽出を用いて、ホストが血圧センサ、歩数計、ジオロケーションデバイスであるかどうかを理解して、並びに「患者の生体認証(ECG、心拍、呼吸数、及びアクティビティレベル)を認可デバイスに送信することができるだけである」又は「ウェアラブルデバイスはアウトバウンド通信のみを有することができる」等の属性ベースのポリシーに対して照合することにより、侵入又は悪意のあるアクティビティを検出することができる。
ホームオートメーションの用途では、属性抽出を用いて、ホストが、プレゼンスセンサ、冷蔵庫、オーブン、コーヒーメーカー、サーモスタット、スマートフォン、その他であるかどうかを理解して、並びに「冷蔵庫はインターネットに接続できない」又は「オーブンは、既知のスマートフォンからのみスイッチをオン・オフできる」等の属性ベースのポリシーに対して照合することにより、侵入又は悪意のあるアクティビティを検出することができる。
ビルオートメーションの用途では、属性抽出を用いて、ホストが照明、サーモスタット、コントローラ、IPカメラ、カードリーダ、その他であるかどうかを理解して、並びに「IPカメラはインバウンド通信を受信できない」又は「照明は、1分間につき複数のスイッチのオン・オフコマンドを受信できない」又は「コントローラは、セキュア接続(例えば、セキュアソケットレイヤ(Secure Sockets Layer)(SSL)、ハイパーテキスト転送プロトコルセキュア(HyperText Transfer Protocol Secure)(HHTPS)を通じてのみ再プログラムできる」等の属性ベースのポリシーに対して照合することにより、侵入又は悪意のあるアクティビティを検出することができる。
産業制御システムの用途では、属性抽出を用いて、ホストがSupervisory Control And Data Acquisition (SCADA)、プログラマブルロジックコントローラ(PLC)、エンジニアリングワークステーション、HMI、その他であるかどうかを理解して、並びに「PLCは、エンジニアリングワークステーションによってのみ再プログラムできる」又は「PLCは、SCADAシステムからしかクエリできない」等の属性ベースのポリシーに対して照合することにより、侵入又は悪意のあるアクティビティを検出することができる。
インダストリー4.0及び製造の用途では、属性抽出を用いて、ホストがロボットアーム、3次元(3D)プリンタ、完成品、コントローラ、分散制御システム(DCS)、その他であるかどうかを理解して、並びに「ロボットアームは、同じネットワーク内のDCSからしかコマンドを受信できない」等の属性ベースのポリシーに対して照合することにより、侵入又は悪意のあるアクティビティを検出することができる。
オフィス及びITの用途では、属性抽出を用いて、ホストがプリンタ、ワークステーション、仮想サーバ、ラックサーバ、スマートフォン、ファイル転送プロトコル(FTP)サーバ、その他であるかどうかを理解して、並びに「プリンタは、印刷メッセージしか受信できない」又は「FTPサーバは、ワークステーションからしかファイルを受信できず、スマートフォンからは受信できない」等の属性ベースのポリシーに対して照合することにより、侵入又は悪意のあるアクティビティを検出することができる。
car−to−xの用途では、属性抽出を用いて、ホストが車両、信号機、コントローラ、速度計、歩行者、その他であるかどうかを理解して、並びに「信号機は、コントローラからしかコマンドを受信できない」又は「車両は、自己の位置を伝えるためだけに他車両に話しかけることができる」等の属性ベースのポリシーに対して照合することにより、侵入又は悪意のあるアクティビティを検出することができる。
1つの実施形態において、属性の少なくとも1つは、意味属性であり、意味属性は、第1ホスト、第2ホスト、及びリンクのうちの1つについての意味論的意味を表す。属性の少なくとも1つは、意味属性であり、意味属性の属性値は意味属性の値であり、意味属性は、その意味属性が関連するホスト及び/又はリンクの意味論的意味を表す。
意味属性という用語は、暗黙属性と理解することができ、プロトコルメッセージのフィールドから直接導出することはできない。属性は、複数のメッセージ又は複数の通信に関わる可能性がある分析を実行することによってのみ導出することができる場合に、暗黙的である。暗黙属性は、ホスト及び/又はリンクについて有する情報の意味論的強化を可能にするので、意味属性と呼ぶことができる。例えば、ホストの役割、ホストのオペレーティングシステム(OS)又はクリティカリティ(重要度)は、暗黙属性の例である。実際に、ホストの役割を導出するには、複数のネットワークアクティビティを分析して、ホストがどのレイヤ7プロトコルを話すか、新規接続を開始するだけか又はサービス提供も行うのか、このホストに関連してどのポートが使用されるか、その他を理解すべきである。同様に、メッセージタイプ(例えば、リンクがデータ要求、コマンド、再プログラム動作、その他を表すかどうか)、又はリンクタイプ(例えば、リンクが、同じコリジョンドメイン内のホスト間に存在するか又はネットワークを越えるかどうか)などの属性は、リンクの暗黙属性の例である。
従って、意味属性という用語は、以下のように定義することができる:
意味属性は、(場合によっては異なる時点において複数のネットワークメッセージにわたる)1又は複数のネットワークメッセージフィールドをより抽象的なカテゴリにマッピングすることによって得られる、ホスト、リンク、又はコンテキスト環境を表す特徴である。この表現は、ネットワークアクティビティの上位レベルの意味論モデルの作成につながる。例えば、ホストの役割及びリンクのメッセージタイプが意味属性の例であり、これらは、複数のメッセージにわたる複数のメッセージフィールド値を観察することにより取得され、より高い抽象レベルを有するネットワークアクティビティにわたって論証するのに役立つことができる。例えば、IP1がIP2と通信できない(低い抽象レベル)と述べるのではなく、PLCはSCADAとのみ通信でき、又はコーヒーメーカーは、ローカルネットワークの外では通信できないと言える。
意味属性は、プロトコルフィールド値へのダイレクトマッピングから値を抽出できない属性として記述することができる。意味属性の属性値を抽出するには、意味属性に値を割り当てられるように、例えば、コンテキスト、履歴、他のプロトコルフィールド値及び/又は他の属性値を考慮することが必要となる場合がある。意味属性の例は、限定ではないが、以下を含む。
・ホストの役割(例えば、PLC、マスタ、スレーブ、コーヒーメーカー、プリンタ、ワークステーション、ウェブサーバ、その他であるかどうか)
・ホストのオペレーティングシステム(例えば、オペレーティングシステムがLinux(登録商標)、Windows、専用オペレーティングシステム、その他であるかどうか)
・ホストのネットワークのタイプ(例えば、ホストが公衆ネットワーク又はプライベートネットワーク内、或いは企業ネットワーク、制御ネットワーク、又はフィールドネットワーク、その他に存在するか)
・ホストのベンダ(例えば、Cisco、Siemens、Dellデバイス、その他であるか)
・ホストのクリティカリティ(例えば、高、中、又は低のクリティカリティアセットかどうか)
・リンクの動作(例えば、読出し、書込み、通知、再プログラム動作、その他かどうか)
・リンクのプロトコルのタイプ(例えば、オペレーショナルプロトコル、ベンダ固有プロトコル、又はオープンプロトコル、その他かどうか)
・メッセージのメッセージタイプ
意味属性を使用すれば、ネットワークアクティビティのより上位レベルの意味モデルを作成することができ、属性ベースのポリシーを意味ベースのポリシーとして定義することができ、従って、より高い抽象レベルでポリシーを定義することが可能となる。
属性抽出は、ネットワークトラフィックから明示属性及び暗黙属性を継続的且つ受動的に抽出するものとして説明できる。属性は、ネットワークアセット、すなわちホスト、又はネットワーク通信、すなわちリンクの何れかを指すことができる。分析には役立つが同時にネットワークの正常動作を妨げる可能性がある何れの追加トラフィックも投入することなく、トラフィックを受動的にリスンすることにより属性が導出される。暗黙属性の抽出により、ネットワークイベントを意味論的及びコンテキスト情報で強化することができる。例えば、IP1がIP2に話しかけるというイベントを有するのではなく、属性抽出のお陰で、端末の役割のホストがPLCの役割のホストに、再プログラミングメッセージタイプを含むリンクで話すのを確認したと言える。次に、これが属性ベースの検出ポリシーの書き込みを可能にする。
属性ベースのポリシーは、非自明で自動的に抽出されるホスト属性及びリンク属性に依存することによって、許容可能なネットワークアクティビティを許容不可のネットワークアクティビティを区別するものとして説明できる。属性ベースのポリシーの例は、以下の通りである。「エンジニアリングワークステーション(EW)の役割を有するホストだけが、PLCの役割を有するホストに再プログラムメッセージを送信することができる。」i)ポリシーが定義される属性は、ネットワークから自動的に抽出される。これにより、ユーザは各ホストに役割を手動で関連付けるという負担から解放される。ii)IPベースのポリシーではなく属性ベースのポリシーを使用すると、単一のステートメント内に複数のホスト(すなわち、ポリシーの属性に一致する全ホスト)を包含できる意味を意識したポリシーを記述することができる。iii)属性を用いることで、ポリシーがより高い抽象レベルで表され、分かりやすさ及び移植性を向上させる。
解析、属性抽出、モデルアップデート、属性ベースのポリシーに対するモデル保持についての上述のプロセスの実施例が以下に提供される。
データネットワーク上のネットワークトラフィックが監視される。
以下の属性:{IP,オペレーティングシステム,ベンダ,役割,ファームウェア,ネットワークタイプ}を含むホストのメタモデルが提供される。以下の属性{ソースIP,宛先IP,プロトコル,ソースポート,宛先ポート,動作,発生数}を含むリンクのメタモデルが提供される。
ホストH1からホストH2へのネットワークリンクL1を観察する。ネットワークトラフィックを解析して、ネットワークメッセージから以下のプロトコルフィールドを抽出する:{プロトコル名=Modbus,ソースIP=10.1.1.1,宛先IP=10.1.1.2,ソースポート=502,宛先ポート=502,機能コード=16}。
H1、H2、及びLそれぞれに関連するホストモデル及びリンクモデルが選択される。取得したモデルは以下の現在状態を有すると仮定する。
H1のモデル={IP=10.1.1.1,オペレーティングシステム=?,ベンダ=Siemens,役
割=?,ファームウェア=?,ネットワークタイプ=?} 記号「?」は、その属性の値
がないことを意味する。
H2のモデル={IP=10.1.1.2,オペレーティングシステム=?,ベンダ=Siemens,役
割=?,ファームウェア=?,ネットワークタイプ=?}
L1={ソースIP=?, 宛先IP=?,プロトコル=?,ソースポート=?,宛先ポート=?,動作=?,発生数=0}であるので、Lのモデルは空である。記号「?」は、その属性の値がないことを意味する。
プロトコルフィールドから属性値を抽出する。例えば:
H1の属性={IP=10.1.1.1,役割=マスタ} 役割という属性は、「ホストHxか
らホストHyに16と同等の機能コードを有するModbusリンクが存在し、
Hyの役割のベンダがSiemensと同等の場合、Hxはマスタと同等の役割
を有し、Hyはスレーブと同等の役割を有する」のようなヒューリスティクスに
依存することにより(本実施例では)抽出されるので、意味属性であることに留
意されたい。
H2の属性={IP=10.1.1.1,役割=スレーブ} 役割という属性は、「ホストHxか
らホストHyに16と同等の機能コードを有するModbusリンクが存在し、
Hyの役割のベンダがSiemensと同等の場合、Hxはマスタと同等の役割
を有し、Hyはスレーブと同等の役割を有する」のようなヒューリスティクスに
依存することにより(本実施例では)抽出されるので、意味属性であることに留
意されたい。
L1の属性={ソースIP=10.1.1.1,宛先IP=10.1.1.2,プロトコル=Modbus,ソース
ポート=502,宛先ポート=502,動作=change setpoint,発生数=1} 動作という
属性は、「プロトコル名がModbusに等しく、機能コードが16と同等のリ
ンクLが存在する場合、動作という意味属性の値は「change setpoint」と同等の
」のようなヒューリスティクスに依存することにより(本実施例では)抽出され
るので、意味属性であることに留意されたい。
H1、H2、及びLに関して選択されたモデルが、新規の属性値でアップデートされる。従って:
H1のモデル={IP=10.1.1.1,オペレーティングシステム=?,ベンダ=Siemens,役
割=マスタ,ファームウェア=?,ネットワークタイプ=?} 記号「?」は、その属
性の値がないことを意味する。
H2のモデル={IP=10.1.1.2,オペレーティングシステム=?,ベンダ=Siemens,役
割=スレーブ,ファームウェア=?,ネットワークタイプ=?} 記号「?」は、その
属性の値がないことを意味する。
L1のモデル={ソースIP=10.1.1.1,宛先IP=10.1.1.2,プロトコル=Modbus,ソー
スポート=502,宛先ポート=502,動作=change setpoint,発生数=1} 記号「?」
は、その属性の値がないことを意味する。
アップデートされたモデルが、既存の属性ベースのポリシーに従うかどうかを評価する。例えば、属性ベースのポリシーセットが、「ソースホストのベンダがSiemensに等しく、役割がマスタに等しく、宛先ホストのベンダがSiemensと同等の場合、ソースホストは、ホスト宛先に「change setpoint」動作を送信することができる」という1つのポリシーからなると仮定される。この場合、アップデートされたモデルがポリシーに従うので、アラートは生成されない。
別の実施例を以下に示す。
データネットワーク上のネットワークトラフィックを監視する。
ホストのメタモデルは、以下の属性:{IP、オペレーティングシステム、ベンダ、役割、ファームウェア、ネットワークタイプ)}を含む。
リンクのメタモデルは、以下の属性:{ソースIP,宛先IP,プロトコル,ソースポート,宛先ポート、動作,発生数}を含む。
ホストH3からホストH4へのネットワークリンクL2を観察する。
ネットワークトラフィックを解析する。
ネットワークメッセージから以下のプロトコルフィールドを抽出する:{プロトコル名=Modbus,ソースIP=10.1.1.1,宛先IP=10.1.1.2,ソースポート=502,宛先ポート=502,機能コード=16}
H1、H2、及びLそれぞれに関連するホストモデル及びリンクモデルが選択される。取得したモデルは以下の現在状態を有すると仮定する。
H2のモデル={IP=10.1.1.1, オペレーティングシステム=?,ベンダ=Dell,役割
=?,ファームウェア=?,ネットワークタイプ=?} 記号「?」は、その属性の値がな
いことを意味する。
H3のモデル={IP=10.1.1.2, オペレーティングシステム=?,ベンダ=Dell,役割
=?, ファームウェア=?, ネットワークタイプ=?}L={ ソースIP=?, 宛先IP=
?,プロトコル=?,ソースポート=?,宛先ポート=?,動作=?,発生数=0}であるので
、L2のモデルは空である。
プロトコルフィールドから属性値を抽出する。例えば:
H3の属性={IP=10.1.1.1,役割=?} 「ホストHxからホストHyに16と同等の
機能コードを有するModbusリンクが存在し、Hyの役割のベンダがSie
mensと同等の場合、Hxはマスタと同等の役割を有し、Hyはスレーブと同等
の役割を有する」というヒューリスティクスが満たされないので、この場合は役割
という属性が割り当てられないことに留意されたい。
H4の属性={IP=10.1.1.2,役割=?} 「ホストHxからホストHyに16と同等の
機能コードを有するModbusリンクが存在し、Hyの役割のベンダがSie
mensと同等の場合、Hxはマスタと同等の役割を有し、Hyはスレーブと同等
の役割を有する」というヒューリスティクスが満たされないので、この場合は役割
という属性が割り当てられないことに留意されたい。
L2の属性={ソースIP=10.1.1.1,宛先IP=10.1.1.2,プロトコル=Modbus,ソースポ
ート=502,宛先ポート=502,動作=change setpoint,発生数=1} 動作という属性
は、「プロトコル名がModbusに等しく、機能コードが16と同等のリンクL
が存在する場合、動作という意味属性の値は「change setpoint」と同等の」のよう
なヒューリスティクスに依存することにより(本実施例では)抽出されるので、意
味属性であることに留意されたい。
H3、H4、及びL2に関して選択されたモデルが新規の属性値でアップデートされる。従って:
H3のモデル={IP=10.1.1.1,オペレーティングシステム=?,ベンダ=Dell,役割=?
,ファームウェア=?,ネットワークタイプ=?} 記号「?」は、その属性の値がない
ことを意味する。
H4のモデル={IP=10.1.1.2,オペレーティングシステム=?,ベンダ=Dell,役割=?
,ファームウェア=?,ネットワークタイプ=?} 記号「?」は、その属性の値がない
ことを意味する。
L2のモデル={ソースIP=10.1.1.1,宛先IP=10.1.1.2,プロトコル=Modbus,ソース
ポート=502,宛先ポート=502,動作=change setpoint,発生数=1} 記号「?」は、
その属性の値がないことを意味する。
アップデートされたモデルが、既存の属性ベースのポリシーに従うかどうかを評価する。例えば、属性ベースのポリシーセットが、「ソースホストのベンダがSiemensに等しく、宛先ホストのベンダがSiemensと同等の場合、ソースホストは、ホスト宛先に「change setpoint」動作を送信することができる」という1つのポリシーからなると仮定される。この場合、アップデートされたモデルがポリシーに従わないので、アラートが生成される。
1つの実施形態において、少なくとも1つの意味属性の値は、異なる時点においてデータ通信ネットワーク上で送信される少なくとも2つのプロトコルメッセージから取得したプロトコルフィールド値の組み合わせから導出される。従って、意味属性は、挙動を観察することにより及び/又は異なる時点に送信されるデータを組み合わせることにより導出することができ、従って、単一のプロトコルフィールドからは導出できない属性を導出することができる。例えば、第2ホストの挙動に関連する属性は、第2ホストから第1ホストに送信される応答と組み合わせて第1ホストから第2ホストに送信されるメッセージから導出することができる。従って、異なる時点において導出された意味属性により、更に属性関連の情報を導出すること、及び/又はプロトコルデータフィールドから取得した情報からより高レベルの抽象を導出することが可能となる。
1つの実施形態において、モデルセットは、第1ホストのモデル、第2ホストのモデル、及びリンクのモデルを含み、モデルの各々が、少なくとも1つの意味属性を含む。ホスト又はリンクのモデルは、ホスト又はリンクの意味属性の属性値を用いて構築することができる。従って、モデルは、意味属性の意味属性の値を考慮して構築することができる。意味属性を使用すると、モデルは、より情報が多くより汎用的とすることができ、これらのモデルにより、より高い抽象レベルのポリシーを作成可能にすることができる。
1つの実施形態において、ポリシーは各々、条件が満たされる場合の結果を定義し、条件は、定義された属性値を有する属性のうちの少なくともそれぞれ1つに関して定義され、属性ベースのポリシーの結果は、選択されたモデルが許容可能か又は許容不可かを示す。条件の形のポリシー及び条件が満たされる場合の結果を記載することにより、以下で詳細に説明するように、ポリシーは、その学習、組み合わせ、アップデート時に好都合にプログラムし修正することができる。ポリシーの結果は、例えば、「許容可能」又は「許容不可」又は「隔離」又は「記録」又は「隔離、記録」を含むことができる。
1つの実施形態において、各ポリシーの条件は、少なくとも1つの意味属性の値を含む。従って、各ポリシーは、より高い抽象レベルを有することができ、ユーザによってより容易に理解/解釈することができ、またより汎用的とすることができる。
1つの実施形態において、b)はプロトコルフィールド値にルールを適用するステップを含み、ルールは、プロトコルフィールド値に基づいて、属性に属性値を割り当てる。ルールにより、抽出されたプロトコルフィールド値に基づいて属性値を自動的に割り当てることができる。このようなルールの例は、オペレーティングシステム「Linux(登録商標)」を使用し且つインターネットメッセージアクセスプロトコル(IMAP)というプロトコルの到着メッセージを有するホストであって、電子メールサーバの役割を有する属性が割り当てられるホストとすることができる。ルールは、ドメイン固有とすることができ、ドメイン固有の知識に基づいて設けることができる。
1つの実施形態において、b)は、属性値にプロトコルフィールドをダイレクトマッピングするステップを含む。属性は、ネットワークデータトラフィックの直接観察によって導出することができ、IPアドレス等の属性は、プロトコルフィールド値から直接導出することができる。
1つの実施形態において、b)は、ヒューリスティクスをデータトラフィックに適用して、ヒューリスティクスを用いて意味属性の値を導出するステップを含む。
別の実施形態において、b)は、分類子をデータトラフィックに適用して、分類子を用いて意味属性の値を導出するステップを含む。
本方法は更に、分類子の信頼性レベルを決定するステップを含み、属性値は、信頼性レベルが所定の信頼性レベルを上回る時にのみ、分類子から導出される。1つの実施形態では、ヒューリスティクスを用いて得られる属性値は、分類子を用いて得られる属性値よりも高い優先度を有する。各意味属性は、ヒューリスティクス又は分類子の何れかを適用することにより導出することができる。通常、ヒューリスティクスによって得られる結果は、分類子よりも高い優先度を有する。役割(Role)という属性を推測するのに用いられるヒューリスティクスの例は、以下の通り:「ドメインネームシステム(DNS)プロトコルを用いた会話が観察されると、そのようなリンクのターゲットホストは、DNSサーバという役割を有する」である。明らかに、複数のこのようなヒューリスティクスを導入することができる。加えて、ヒューリスティクスは、特定の配置に対してグローバル又はローカルとすることができる(例えば、所与のセクタでのみ当てはまるヒューリスティクス)。他方、分類子は、特徴セットを入力として仮定すると、値(又はクラス)を出力として属性に関連付けることができるモデルである。分類子は通常、標識付きデータセット、すなわち、特徴とクラスとの間の関連性が既知であるデータセットに機械学習アルゴリズムを適用することによって生成される。その後、これらの分類子を用いて、非標識のデータに関してクラスを推測することができる。一般に、分類子は、信頼性レベルを分類子の推測に関連付けて、属性抽出構成要素の信頼性を高く保つために、分類子によって推測されたクラスが高い信頼性レベル(例えば、90%超)を有する場合にのみ属性を解決する。特定の暗黙属性は、一定の時間、例えば、値を評価するのに十分な情報が利用可能になるまで、未解決のままになる可能性がある点に留意されたい。
1つの実施形態において、データ通信ネットワークにはスティミュラスが注入されない。ネットワーク上で行われるデータ通信を受動的にリスンすることにより、ネットワーク上のデータ通信の障害は発生しない。従って、一方では、ネットワーク内に追加の負荷がかからず、他方では、データ通信ネットワークの挙動により良い洞察が得られる可能性がある。スティミュラスが注入されないので、所望の情報を収集するのにはしばらくの時間を要する可能性がある。一部のメッセージは、散発的にしか送信できない。従って、データトラフィックを比較的長期間、例えば、数時間、数日、数週間にわたって監視して、説明される属性値を導出できるようにするプロトコルフィールド値を抽出することができる。
1つの実施形態において、ステップb)、c)、d)、及びe)は、第1ホスト、第2ホスト、及びリンクに関して実行され、モデルセットは、第1ホストに関連するモデル、第2ホストに関連するモデル、及びリンクに関連するモデルを含み、属性ベースのポリシーセットのうちの属性ベースのポリシーは、第1ホストの属性、第2ホストの属性、及びリンクの属性に関して条件を定義する。
1つの実施形態において、属性ベースのポリシーセットは、ホワイトリストポリシーを含み、ホワイトリストポリシーの結果は、選択されたモデルが許容可能かどうかを示す。従って、属性ベースのモデル及び属性ベースのポリシーにより、許容可能な挙動を高い抽象レベルで定義することができるので、アップデート、新規デバイス、その他のようなネットワーク構成における変更が起こると、許容可能な挙動が観察される場合にホワイトリストポリシーが有効になる。従って、アップグレード又は正当な新規デバイス等の正当な変更は、属性ベースのポリシーを用いると、既存デバイス又はアップグレード前に関して監視された挙動に類似する挙動を示すことが分かり、従って、類似の又は同じ属性を示すこと、すなわち、ホワイトリストポリシーに従うことが分かる。従って、定期アップデート、アップグレード、その他の結果としての誤ったアラームが最大限まで回避することができる。
別の実施形態では、属性ベースのポリシーセットは、ブラックリストポリシーを含み、ブラックリストポリシーの結果は、選択されたモデルが許容可能でないかどうかを示す。上記と同様に、ホストの特定の挙動が悪意のあるものと定義されると、類似の攻撃又は類似の攻撃の試みは、そこから類似の又は同じ属性を導出できることを示し、これらのアクティビティがブラックリストに対応するアクティビティに文言通りに対応しない場合でも、可能性のある悪意のあるアクティビティを検出することができる。
第1ホスト、第2ホスト、又はリンクに関連するモデルが、属性ベースのポリシーの何れにも一致することができない場合、この第1ホスト、第2ホスト、及びリンクのそれぞれに関連するデータ通信は、隔離に格納される。
属性抽出構成要素の目標は、ネットワークトラフィックを継続的及び受動的に監視することにより、監視するネットワーク、単一ホスト、通信リンク、その他に関してできる限り多くの情報を見出すことである。
属性抽出は、様々な方法で行うことができる。
1.専門家の直接割り当てを通じて:属性は、直接割り当てを通じて(例えば、「ホストXは、Honeywellと同等のベンダ及びPLCバージョンYと同等の役割を有する」又は「位置Yにある全てのPLCが属性Zに対して値Kを有する」というルールを用いて)ユーザが決定するものである。
2.ダイレクトネットワークマッピングを通じて:属性は、ネットワークトラフィックの直接観察によって導出することができる(例えば、IPアドレスを、特定のネットワークメッセージフィールドから抽出することができる)。
3.ヒューリスティクス及び分類子を通じて:オブザーバブルを属性にマッピングするルールが存在し、ここでオブザーバブルは、非応答型(パッシブ・スニッフィング)又は応答型(アクティブ・ディスカバリ)とすることができる。ルールは、専門家(ヒューリスティクス)によって作成されるか、或いは機械学習又はデータマイニングアルゴリズム(分類子)を用いてデータから抽出することができる。
属性は、ホスト又は通信リンクの何れかを参照することができ、明示又は暗黙の何れかとすることができる。明示属性は、例えば、ネットワークパケットフィールドから直接観察することができる。例えば、MACアドレス及びIPアドレスは、レイヤ2データグラム及びレイヤ3パケットの特定のフィールドに含まれるので、明示的なホスト属性である。同様に、プロトコル、ポート、又はソース及びターゲットは、リンクの明示属性の例である。明示属性を抽出するために、詳細プロトコル検査技術を適用することができる。他方、属性は、複数のメッセージ又は複数の通信に関わる可能性がある分析を実行することによってしか導出できない場合に暗黙的である。暗黙属性は、ホスト及び/又はリンクについて有している情報の意味論的強化を可能にするので、意味属性と呼ぶことができる。例えば、ホストの役割、ホストのオペレーティングシステム(OS)又はクリティカリティは、暗黙属性の例である。実際に、ホストの役割を導出するには、複数のネットワークアクティビティを分析して、ホストがどのレイヤ7プロトコルを話すか、新規の接続を開始するだけか又はサービス提供も行うのか、このホストに関連して何れのポートが使用されるか、その他を理解すべきである。同様に、メッセージタイプ(例えば、リンクがデータ要求、コマンド、再プログラム動作等を表すかどうか)又はリンクタイプ(例えば、リンクが、同じコリジョンドメイン内のホスト間に存在するか又はネットワークを越えるか)のような属性が、リンクの暗黙属性の例である。
本発明は、ネットワークトラフィックを受動的にスニッフィングすることによって属性を抽出するパッシブ手法を採用することができる。アクティブプローブを使用すると、産業ネットワークのように限られたリソース及び厳しい制約を有する環境では許容可能でない可能性がある、追加のトラフィックを生じるという大きな欠点を有する。加えて、パッシブ手法を用いることにより、属性抽出はそれほど簡単ではなくなる可能性があり、すなわち、ヒューリスティクスの照合に必要なネットワークイベントが現れず、そのため、本発明は、この不都合なことに対処するための対策(例えば、本明細書の他の箇所で説明するような機械学習技術を用いることによって)を講じる場合がある。
本発明は、ホストの正常挙動を特性化するために役割(及び他の属性)を利用して、正常からの逸脱を潜在的感染(攻撃)として検出することができる。本発明では、ホワイトリストポリシー違反により自動的に感染を検出することになるので、このことは、悪意のある役割を定義する必要がないことを意味する。
本発明の解決策は、アクティブ手法ではなくパッシブ手法を採用することで、トラフィックの特性に基づいて暗黙属性を推測することができる。アクティブプローブを使用すると、特定の環境では許容できない可能性がある追加のトラフィックを生じさせる。
本発明の解決策は、役割を推測するだけでなく、複数の暗黙属性(例えば、役割、ベンダ、オペレーティングシステム、場所、機能、及びメッセージタイプ)を抽出する手法(ヒューリスティクス及び分類子)を適用することができる。
本発明の解決策は、役割(及び他の属性)を利用して許容可能な挙動を特性化し、次いで、正常からの逸脱を潜在的感染(攻撃)として検出する。このことは、ホワイトリストポリシー違反により自動的に感染を検出することになるので、本発明の解決策では、悪意のある役割を定義する必要がないことを意味する。
属性ベースのポリシー検出は、明示及び暗黙のホスト属性及びリンク属性に基づいて、ポリシーを施行することを目的とする。
属性ベースのポリシーは、ドメイン固有のセキュリティ制約を表すのに用いられる。例えば、産業制御システムでは、通常はエンジニアリングワークステーションのみが、プログラマブルロジックコントローラ(PLC)のロジックを変更できるのに対し、SCADA又はDCSは、PLCメモリの読出し又は書込みを行うためのコマンドを発行するだけである。このドメインの知識を属性ベースのポリシーに変えることができ、ポリシーに違反した場合に、侵入検出システムがアラートを発することができる。属性ベースのポリシーの例は以下の通りである。
・エンジニアリングワークステーションの役割を有するホストのみが、PLCの役割を有するホストに再プログラムコマンドを送信可能である。
・再プログラムコマンドは、夜間に送信することはできない。
・再プログラムコマンドは、ネットワークを越えるリンク上では送信することができない。
理解できるように、これらのポリシーを表現するためには、ホスト属性及びリンク属性の両方が必要である。加えて、理解しやすく、表現に富み、矛盾するポリシーを識別でき、ポリシー数の増加に伴って拡張可能である言語を定義することが望ましい。また、このような言語は、肯定ポリシー及び否定ポリシーの両方を考慮できる必要がある。実際には、肯定ポリシーは、許容可能な挙動のホワイトリストのリストを可能にし、否定ポリシーは、許容不可の挙動のブラックリストの定義を可能にする。
ポリシーを表現するために用いることができる実施可能な方法は、if−condition−then−actionステートメントの形式である。条件(condition)は、true(真)又はfalse(偽)を評価することができ、リンク、ホスト、又はコンテキスト属性(例えば、時間、場所)に対して定義可能なブール条件とすることができる。動作(action)は、ネットワークアクティビティが許容可能か又は許容不可か(例えば、許可又は破棄)を表すのに用いることができる。加えて、ポリシーは、任意選択的に、obligation(義務)(ポリシーに一致する場合になすべきこと)を有することができる。obligationの例は、管理者ユーザJeffに電子メールを送信、優先度を中に設定、及びクリティカリティを高に設定を含む。属性ベースのポリシーは、2つの方法で、すなわち、a)ドメインの知識がある専門家によって、及びb)生のトラフィックから自動的に作成することができる。最初のケースでは、ポリシーを作成するために人間の専門家に視覚的な支援することが意図される。例えば、ユーザは、ポリシーをテキストとして書き込むのではなく、グラフィカルインタフェースからオブジェクト及び属性を選ぶことができる。2番目のケースでは、ネットワークデータから自動的にポリシーを学習するアルゴリズムの開発、属性抽出構成要素が提供する意味論的強化の利用を目的とする。
属性ベースのポリシーPは、以下のように定義することができる:
ホスト関連属性(AH)、リンク関連属性(AL)、及びコンテキスト関連属性(AC)を所与として、属性A=AH∪AL∪AC=<a1 = va1, a2=va2,..,an=van>であり、ここで、ai∈Aは値vai ∈Viを有し、i ∈[1,n]であり、属性ベースのポリシーは以下のように定義される。
P = < if < ATTRIBUTE OP VALUE [{LOGICOP ATTRIBUTE OP VALUE}]> then ACTION [{, OBLIGATION}]>
ここで、
・ATTRIBUTEは、任意のホストベース、リンクベース、又はコンテキストベースの属性ai ∈ Aとすることができる。
・OPは、任意の比較演算とすることができる(例えば、>、<、≠、=、その他)
・VALUEは、属性a1が取ることができる任意の値vai ∈ Viである。
・LOGICOPは、任意の論理演算子である(例えば、and, or, not)
・ACTIONは、ポリシーの肯定一致の場合に行うべきことを定義する(例えば、拒否又は許可)
・OBLIGATIONは、一致の場合に行うべき追加の動作を定義する(例えば、send email = name@domain.com, set priority = high, set criticality = medium)
if節の引数は、ポリシーの適用性を改善する属性ベースのブール式であり、つまり、式の評価がtrue(真)である場合にのみ、動作が実行されることになる点に留意されたい。また、形式[...]は任意の要素を示し、{...}は、要素の繰り返しを示すので、属性ベースのポリシーは、1又はそれ以上の属性ベースの式(すなわち、ATTRIBUTE OP VALUE)及びゼロもしくはそれ以上のobligationを有することができる。if節における属性の少なくとも1つは、暗黙(すなわち、意味的)属性とすることができる。
従って、属性ベースのポリシーは、アクセス制御(AC)において使用することができ、ここでリソースへのアクセスは、要求側が所有する属性に従って許可されるか否かである。アクセス制御において、属性は通常は証明書によって立証され、属性がいかにモデル化されるかに従って、異なる言語が提案され採用されている。しかしながら、利用可能な全ての解決策は、属性の手動の定義に依存しており、ネットワークデータからの属性の自動抽出に依存することによる属性ベースのポリシーを定義する解決策は利用可能ではない。
考慮することができる多数のホスト属性及びリンク属性のお陰で、本明細書で記載されるポリシーは、トラフィックフローベースのポリシーよりも遙かにきめ細かくすることができる。例えば、フローベースのポリシーでは、2つのホストが特定のポートを通じて特定数のバイトを交換できるとしか言えないが、本開示の属性ベースのポリシーでは、遙かに深く入り込む制約を表現することができ、及びどのような種類のメッセージを交換できるか又はできないかを示すことができる制約を表現することができる。例えば、PLCは夜間には再プログラムできない、或いは、PLCはクロスネットワークリンク上では再プログラムできないことを示すことができる。
本発明では、ホスト属性及びリンク属性は、ネットワークトラフィックから自動的に抽出することができる。これは、属性ベースのポリシーを採用するために、認証機構を導入する必要がないことを意味する。
本発明によれば、属性は、属性抽出構成要素を用いることにより生のトラフィックから自動的に推測できるので、各構成要素に対して手動で設定する必要がない。本発明は、生のトラフィックからの属性の自動的な受動抽出を属性ベースのポリシーと組み合わせて、許容可能なネットワークアクティビティを悪意のあるネットワークアクティビティと区別するための意味を意識したポリシーを作成する。単一の属性ベースのポリシーは、複数のエンティティ(同じ属性を共有する全てのエンティティ)を参照することができる。属性ベースのポリシーは、記述及び理解するのが容易である。
1つの実施形態において、第1ホスト、第2ホスト、又はリンクに関連するモデルがホワイトリストポリシーの何れにも一致できない場合、第1ホスト、第2ホスト、及びリンクのそれぞれ1つに関連するデータ通信は、隔離に格納される。ホワイトリストポリシーに従わないデータトラフィックを隔離に格納することで、データトラフィックの許容性に関する判断を保留することができる。隔離内に格納されたデータトラフィックは、以下でより詳細に説明するように、新規のポリシーを学習するため及び/又は既存ポリシーをアップデートするために適用することができる。隔離は、ホスト又はリンクのそれぞれが正当であるか又は悪意があるかに関する判断が行われていない、ホスト、リンク、又はホスト及びリンクの組み合わせのリストを格納する。従って、隔離という用語は、本明細書では、隔離リストとして理解することができ、隔離リストがホスト又はリンクが正当であるか又は悪意があるかに関する決定が行われていないホスト及び/又はリンクのリストを提供する。隔離は、隔離内にリストされたホスト又はリンクを識別する記録リスト、及び任意選択的に隔離内にリストされたホスト又はリンクが正当又は悪意があるという仮説の支援、任意選択的に支援を計算するのに用いられるエビデンスを構成するイベントのリスト、及び任意選択的に隔離内にリストされたホスト又はリンクに関連するネットワークメッセージセットによって形成することができる。
1つの実施形態において、本方法は更に、整合性ルールを提供するステップを含み、整合性ルールは、第1ホスト、第2ホスト、及びリンクのうちの1つに関連するモデル(例えば、第1ホスト、第2ホスト、及びリンクのうちの1つに関連するモデル)の属性の少なくとも2つの属性値の整合した組み合わせを定義し、以下を含む。
・監視するデータトラフィックから導出された属性の値に基づいて、監視するデータトラフィックが整合性ルールに従うかどうかを検証するステップ
・データトラフィック(第1ホスト、第2ホスト、及びリンクのうちの1つに関連するデータトラフィックなど)が整合性ルールに従わない場合に、第1ホスト、第2ホスト、及びリンクのうちの1つに関連するデータトラフィックを隔離内に格納するステップ
整合性ルールを使用すると、ホストの属性が相互に一致するかどうかを検証することができる。
従って、整合性ルールは、ホスト/リンクモデル内の許容可能な属性値又は属性値の組み合わせを定義するルールとして定義することができる。一方で、整合性ルールは、既存の属性ベースのポリシーを適用する前でも、不整合を検出するために適用することができる。従って、不整合を検出することができ、不整合が検出された場合は、関連するデータトラフィックが隔離内に格納することができる。更に、隔離内に格納されたデータトラフィックから属性ベースのポリシーをアップデートする時は、以下でより詳細に説明するように、整合性ルールを用いて、アップデートプロセス中にホスト/リンクにおいてエラーを導入するのを防ぐことができる。
1つの実施形態において、監視するデータトラフィックから導出された属性に基づいて、監視するデータトラフィックが整合性ルールに従うかどうかを検出するステップは、ステップe)の前に実行される。従って、データトラフィックは、整合性ルールに従わないように見える場合は、これに応じて処理される、例えば、隔離内に格納することができる。
1つの実施形態において、整合性ルールは、データトラフィックの発生時間、及びデータトラフィックの発生場所のうちの少なくとも1つを含む。このため、整合性ルールは、時間及び場所を考慮することができ、従って、整合性ルールの精緻化が可能となる。
1つの実施形態において、第1ホストに関連する整合性ルールは、別のホストの属性、好ましくは第2ホストの属性を含む。このため、1つのホストに関連する整合性ルールは、別のホストの属性を考慮することができる。例えば、第1ホストがPLCで、第2ホストがPRINTERの場合、これらは、属性NETWORKに関して同じ値を有することはできない。言い換えれば、PLC及びPRINTERは、同じネットワーク内に配置することはできない。
1つの実施形態において、ホストグループが定義され、本方法は、属性が関連するホストがグループ内に含まれるかどうかを決定するステップと、属性が関連するホストがグループ内に含まれる場合に整合性ルールを適用するステップと、を含む。従って、整合性ルールは、ローカルに、例えば、類似のホストのグループに関連して定義することができる。グループは、例えば、クラスタリングアルゴリズムを用いて定義することができる。
1つの実施形態において、整合性ルールは、機械学習を用いて、好ましくは関連付けルールを用いて学習される。整合性ルールは、事前定義することができ、例えば、経験、セキュリティ規制等に基づいてオペレータにより入力することができる。代替的に、整合性ルールは、データトラフィックから学習することができる。
整合性ルールは、以下のように様々なタイプとすることができる:
例えば、許容されない属性値の組み合わせを識別するために、経験によって決定付けられる一般ルール(例えば、「ホストは、同時にPLC及びエンジニアリングワークステーションにはなれない」又は「ベンダがHoneywellの場合、ホストの役割は、端末にはなれない」)。
例えば、必要な属性値の組み合わせを識別するための、特定のサイトにとってローカルなルール(例えば、「PLCと同等の役割を有する全てのホストは、Honeywellと同等のベンダを有する」は、PLCと同等の役割の属性とRockwellと同等のベンダの属性を有するホストが存在する場合、これはルールに違反することになることを意味する)。
セキュリティ又は管理ポリシー、或いは規制に依存することができる。
時間の経過と共に、例えば、システムの管理ポリシーが当てはまる時に変化する場合がある。
時間、場所、及び別のホストの属性を含む、様々な種類のパラメータに依存することができる。
グローバル、すなわちネットワーク内のあらゆるホストに整合性ルールが当てはまる、或いはローカル、すなわち整合性ルールは、特定の近隣、すなわち類似ホストのグループに対してのみ当てはまる、の何れかとすることができる。明確には、ローカルルールを定義するには、ホスト間の類似性を評価するための測定基準を定義する必要があり、従って、(例えば、クラスタリングアルゴリズムを用いることで)類似のホストの近隣を識別する必要がある。
多くの場合に、整合性ルールは、ホストの属性を整合不整合のセットにマッピングする関数となる。より一般的には、整合性ルールは、全てのホストの全属性及びそれらの環境を許容可能な値のセットにマッピングする関数である。これは、当該システムの健全性又は整合性状態が表示され、また、不整合が識別された場合に行うことができる動作も表示されることができる。例えば、属性を、メンバを整合、不整合、疑わしい、問題がある、その他とすることができるセット内に属性をマッピングするルールを有することは有用とすることができる。整合性ルールは、専門家によって手動で定義されるか、又はデータから推測することができる。後者の場合、機械学習アルゴリズムを用いて(例えば、関連付けルール)、属性の正常な組み合わせと異常な組み合わせとを区別することができる。
従って、整合性ルールを適用すると、以下を達成することができる。
・属性を自動的に抽出するのに用いられるアルゴリズムが、システムを意味的に無効な状態にしないことを保証する
・整合性チェックを適用して、属性が単独でではなく、同じホスト又は同じ近隣の他の属性に対して「異常」である時点を検出する
・正常な値と異常な値又は属性値の組み合わせを区別するための機械学習技術
隔離、隔離及び検出アルゴリズム、整合性ルール、及び不整合検出という用語は、以下のように説明することができる:
隔離:隔離は、曖昧な状態にあるホスト及びリンクを含む:これらが正当なものかどうかの決定は、これらを分類するための十分なエビデンスが無くなるまで保留される。隔離は、以下の要素を含むタプルのリストとして表される。
タプルの識別子
ターゲット、すなわち、隔離されているホスト又はリンク、及び関連するホスト/リンクモデル
隔離内のホスト/リンクが正当であるという仮説0への支援
隔離内のホスト/リンクが悪意があるという仮説1への支援
支援を計算するために用いたエビデンスを構成するイベントのリスト。イベントは、データトラフィックから抽出することができ、又はシステムによって生成又はユーザによって提供することができる。イベントの例は、新規ホスト、新規ホスト属性値、新規リンク、新規リンク属性値、アラート、ユーザフィードバック、その他を含むことができる。
隔離内のホスト/リンクに対応するデータトラフィック
検出及び隔離アルゴリズム:インシデントを検出してホスト及び/又はリンクを隔離するプロセス。プロセスは以下のように機能する。
・新規のデータトラフィックが利用可能である
・データトラフィックを解析してホスト属性及びリンク属性を抽出
・対応するホストモデル及び/又はリンクモデルを選択
・データトラフィックと関連付けられる既存のホスト/リンクモデルが存在しない場合、モデルを初期化して、ホスト及び/又はリンクを隔離に追加
・存在する場合は、属性の非整合性をチェック
・非整合の場合は、対応するホスト及び/又はリンクを隔離に追加
・それ以外の場合は、ネットワークメッセージを属性ベースのポリシーと照合
・ブラックリストポリシーと一致する場合は、アラートを発する
・ホワイトリストポリシーと一致する場合は、何も行わない
・一致を評価できない場合は(例えば、対応するホスト/リンクモデル内の全ての属性がまだ特徴付けられていないので)、ホスト及び/又はリンクを隔離に入れる
整合性ルール:ホスト/リンクモデル内で許容可能な属性値又は属性値の組み合わせを定義するルール。整合性ルールは、アップデートプロセス中にホスト/リンクモデルでエラーが生じるのを防ぐために用いられる。
不整合検出:整合性ルール違反を識別するプロセス。
ホストを特性化するために用いる属性の値が矛盾状態にないことを検証するための不整合検出。例えば、ホストは、Linux(登録商標)と同等のオペレーティングシステムと、ABB同等のベンダを同時に有することはできない。整合性ルールの例は、以下を含む。i)可能ではない属性値の組み合わせ、例えば、役割が端末の場合、ベンダはHoneywellとすることはできない。ii)必要な属性値の組み合わせ、例えば、役割がPLCの場合、ベンダはHoneywellでなければならない。iii)特定のドメインにおいて特定の値のみを有する属性、例えば、ベンダは、特定のネットワークではDell及びHoneywellのみである。及びiv)近隣の属性値に従って通常のものである属性値の組み合わせ、例えば、近隣の全ホストは特定のプロトコルだけを話す。本態様は、ホストの属性を抽出するのに用いられるアルゴリズムが、モデルを意味的に無効状態にするのを防ぐ。加えて、悪意のあるホストが正当なホストの挙動を模擬しようと試みている場合、整合性チェックがこのような不正行為を検出するのに役立つ。これは、悪意のあるホストが、他のホストを完全に模擬することはできないことに起因する(例えば、ベンダ及びオペレーティングシステムについての情報は模擬するのが難しい)。従って、模擬の試みは、整合性チェック違反を起こす可能性が高い。
1つの実施形態において、本方法は、データトラフィックから属性ベースのポリシーを学習するステップ(例えば、追加の属性ベースのポリシー、及び属性ベースのポリシーセットの属性ベースのポリシーの少なくとも1つを学習するステップ)を含む。学習するステップは、
・データトラフィックを監視するステップと、
・監視するデータトラフィックからホスト属性及びリンク属性を導出するステップと、
・データトラフィックを属性ベースのトランザクションのデータセットに変換するステップと、
・データセット内のホスト属性値及びリンク属性値のアイテムセットの頻度を考慮することによりルールを生成するステップであって、ルールのうちの各ルールは、条件を定義する前件と動作を定義する後件とを含み、
・各ルールに関して、そのルールがどのくらいの頻度で当てはまるように現れるかを指定する信頼性レベルと、ルールの基礎となるアイテムセットがデータセット内でどのくらいの頻度で現れるかを指定する支援レベルと、を決定するステップと、
・支援レベル及び信頼性レベルに基づいて、ルールを選択するステップと、
・選択したルールの前件及び後件を結び付けることにより、属性ベースのポリシーの条件を定義して、
・支援レベル及び/又は信頼性レベルに基づいて、属性ベースのポリシーの動作を定義する、
ことによって、ルールを属性ベースのポリシーに変換するステップと、
を含む。
ポリシーは、例えば、学習フェーズにおいて学習することができる。学習フェーズでは、(トレーニング)データトラフィックが提供されて、(トレーニング)データトラフィックからポリシーを学習する。(トレーニング)データトラフィックは、正常動作中に観察されるような標準データトラフィックによって形成することができる。好ましくは、スティミュラスは注入せずに、すなわち、データ通信ネットワーク上で行われる通信を受動的にリスンすることにより、データトラフィックを収集する。また、ポリシーは自動的な方法で学習することができるので、オペレータによる特定のイベントを許容可能又は許容不可としてマーク付けすることは省くことができる。
データトラフィックを監視して、上述の方法でデータトラフィックから属性を抽出する。属性は、直接及び/又は間接的(意味)属性とすることができる。ホスト属性並びにリンク属性は、意味のあるポリシーの生成を可能にするコンテキストを利用可能にするために抽出される。抽出された属性は、属性ベースのトランザクションのデータセットとして格納され、言い換えれば、特定のIPアドレスがコード0x00を別のIPアドレスに送信することを格納する代わりに、オペレーティングシステムとしてWindowsを使用するベンダDellの端末が、オペレーティングシステムとしてWindowsを使用するベンダDellの別の端末に、ファイルメッセージからの読出しを送信し、これらの端末間のリンクはSMBプロトコルを用いている、ことを格納することができる。従って、トランザクション、すなわち、ネットワークアクティビティに関してデータトラフィックから導出された属性は、データセットの形式で格納される。ルールを生成するためにデータセットが適用される。これに機械学習を適用して、データセット内のルールを抽出することができる。データセットから関連付けルールが導出される。機械学習は、アイテムセットの頻度、すなわち、データセット内に格納された属性セットの頻度を考慮する。従って、このようなアイテムセット、すなわち属性セットの発生頻度を利用して、データセットにおけるアイテム間の関係を発見することができる。
複数のルールの各ルールは、条件を定義する前件と、動作、すなわち条件に関連する動作を定義する後件と、を含む。条件及び動作の両方は、属性の1又はそれ以上に関して定義される。例えば、条件が特定のプロトコルを指定できるのに対し、動作は、ポートを指定する(データトラフィックからは、特定のプロトコルを用いたデータトラフィックが、通常はその特定のポートを使用するように見えるので)。各ルールに関して、信頼性レベル及び支援レベルを決定する。支援レベルは、アイテムセット、すなわちルールの基礎となる属性セットがデータセット内でどのくらいの頻度で発生するかを定義する。信頼性レベルは、どのくらいの頻度でルールが当てはまるように現れるか、例えば、アイテムセット、すなわちルールの基礎となる属性セットのデータセット内での発生においてどのくらいの頻度でルールが当てはまるように現れるかを定義する。例えば、高い信頼性レベル及び高い支援レベルは、ルールの基礎となるアイテムセットが、データセット内で比較的頻繁に現れる(従って高い支援)のに対し、データセット内でのアイテムセットのこれらの発生において、ルールが頻繁に当てはまるように見える(従って信頼性レベルが高い)。
次に、信頼性レベル及び支援レベルを用いてルールを選択する。ルールをポリシーに変換するために、ルールは、一定の支援レベルを有する必要がある。例えば、特定の最低支援レベル(例えば、所定の閾値)を有するルールのみがポリシーに変換される。ポリシーの条件は、ルールの前件及び後件の組み合わせから形成される。ポリシーの結果(例えば、許可、拒否)は、信頼性レベルから形成される。頻繁に当てはまることが判明したルール、すなわち、信頼性レベルが高いルールは、許可動作を生じることができ、少数のケースでのみ当てはまるルール、すなわち信頼性レベルが低いルールは、拒否動作を生じることができる。
従って、ポリシーは、データトラフィックから学習することができ、そうすることで、ほとんどが当てはまるルールを提供する属性セットは、許容可能なトラフィックを定義する属性ベースのポリシーを提供することができ、ほとんどが当てはまらないルールを提供する属性セットは、拒否されるトラフィックを定義する属性ベースのポリシーを提供することができる。従って、1つの実施形態において、支援レベル及び信頼性レベルに基づいてルールを選択するステップは、ホワイトリストポリシーに関して、所定の正の信頼性レベルを上回る信頼性レベルを有し且つ所定の支援レベルを上回る支援レベルを有するルールを選択するステップを含む。
同様に、1つの実施形態において、支援レベル及び信頼性レベルに基づいてルールを選択するステップは、ブラックリストポリシーに関して、所定の負の信頼性レベルを下回る信頼性レベルを有し且つ所定の支援レベルを上回る支援レベルを有するルールを選択するステップを含む。
ルールは、何れかの機械学習及び/又はデータマイニング技術を用いて、属性から生成することができる。詳細には、関連付けルール及び頻繁なアイテムセットの抽出を適用することができる。従って、1つの実施形態において、ホスト属性及びリンク属性からルールを生成するステップは、関連付けルールをホスト属性及びリンク属性に適用するステップを含む。更に、ホスト属性及びリンク属性からルールを生成するステップは、頻繁なアイテムセットの抽出をホスト属性及びリンク属性に適用するステップを含む。頻繁なアイテムセットの抽出は、頻繁に発生するアイテムセットの抽出として理解することができる。
1つの実施形態において、ルールを属性ベースのポリシーに変換するステップは更に、
・冗長ポリシーを削除することによりポリシーの数を削減するステップであって、ポリシーは、ポリシーの条件が別のポリシーの条件全体を含む場合に冗長である、ステップと、
・2つのポリシーが同じ条件を共有するが、これらのポリシーが異なる動作を含むというコンフリクト(矛盾)が生じる場合、支援及び信頼性が低いポリシーを削除するステップと、
を更に含む。
複数のポリシーが同じ動作を有すると仮定すれば、冗長ポリシーを削除することができるので、生成されるポリシーの数を削減することができる。異なる動作の場合、すなわち、矛盾する挙動が生じる可能性がある場合、支援及び/又は信頼性が低いポリシーを削除することができる。
属性ベースのポリシーの学習は、データトラフィックから属性ベースのポリシーを自動的に抽出するプロセスとして説明することができる。このプロセスは、以下のステップからなる:
1.抽出:ネットワークからデータトラフィックをキャプチャ
2.事前処理:データトラフィックを分析して、これを属性ベースのトランザクションのデータセットに変換
3.ルールマイニング:関連付けルールを抽出するために、ルールマイニングアルゴリズム(例えば、関連付けルール)をデータセットに適用。関連付けルールは、属性の特定のアイテムセットが、データセット内で共に観察された回数を考慮することにより生成される。ルールの支援は、データセット内にアイテムセットがどのくらいの頻度で現れるかを指定し、信頼性(百分率で表示される)は、ルールがどのくらいの頻度で当てはまることが判明したかの指示である。
4.ポリシーへの変換:機械学習アルゴリズムによって生成されたルールは、どの属性がより頻繁に共に確認されるか(前件)、及び何を示唆するか(後件)の指示を与える。この情報は、定義と一致して属性ベースのポリシーに変換する必要がある。ルールがポリシーになるには、本方法では、何れが最小の信頼性及び支援であるか、及び信頼性及び支援の特定のレベルが肯定(すなわち許可)又は否定(すなわち拒否)のポリシーに導くかを決定しなければならない。例えば、肯定ポリシーは、99%を超える信頼性を有するルールのみに関して生成され、否定のルールは、信頼性が1%未満のルールのみに関して生成されると仮定する。
5.ポリシーの削減:前のステップで生成されたポリシーの幾つかは、冗長である可能性がある。Pxの条件が、別のポリシーPyの条件全体を含み、ポリシーの動作が同じ場合、ポリシーPxは冗長である。このような場合には、Pxを削除することができる。
6.ポリシーコンフリクト(矛盾)の解決:ポリシーPxとポリシーPyとが同じ条件を共有して、これに対して2つの異なる動作が対応している場合、これらのポリシーは矛盾する。コンフリクトを解決するには、2つのポリシーのうちの1つを削除する必要がある。どちらのポリシーを削除すべきかを決定するために、コンフリクト解決プロセスは、矛盾しているポリシーに至るルールの信頼性及び支援を考慮することになる。
属性ベースのポリシーの学習は、ネットワークトラフィックを受動的に観察することによる新規のポリシーを自動的に推測することと説明することができる。学習技術を用いて、属性ベースのポリシーを自動的に抽出する。許容可能な挙動と許容不可の挙動とを区別するためのポリシーを定義するために、人の介入は限定的であるか、又は必要ではない。
ネットワークトラフィックを受動的に観察することによって、例えば特定の属性と特定の挙動との間の関係を学習することによって、新規のポリシーを自動的に推測して、そこからポリシーを自動的に抽出することができる。
属性ベースのポリシーは、人間の専門家によって定義することができ、ここでは許容される及び許容されない挙動についての幅広い知識が要求され、或いは、学習手法でデータから推測することもできる。最初の手法は、時間がかかりエラーを起こしやすいが、2番目の手法は、完全に自動化することができ、エラーのリスク(例えば、ポリシーの複製又は重複)が低減される。本発明は、ネットワークトラフィックフローの観察からポリシーを導出することによってポリシーを定義する、面倒な手動プロセスを克服するための自動化技術を提案している。具体的には、正当なネットワークメッセージの観察からホワイトリストポリシーをマイニングし、(可能であれば)攻撃を受けた時のネットワークアクティビティの観察からブラックリストポリシーをマイニングする。
Figure 2021515498
表1:関連付けルールの実施例
以下に、ポリシー学習プロセスの実施形態を記載する。
1.抽出:ネットワークからトラフィックをキャプチャする。ネットワークトラフィック(M)は、ネットワークメッセージ列
Figure 2021515498
2.事前処理:ホスト、リスク、及びコンテキスト属性を抽出するためにネットワークトラフィックを分析して、トランザクションのデータセットに変換される。
3.ルールマイニング:ルールを抽出するために、ルールマイニングアルゴリズム(例えば、関連付けルール)をデータセットに適用することができる。表1は、トランザクションのデータセットを分析することにより生成することができる関連付けルールの小実施例を示す。関連付けルールは、属性の特定のアイテムセットがデータセット内で共に観察された回数を考慮することにより生成することができる。ルールの支援は、データセット内にアイテムセットがどのくらいの頻度で現れるかを指定し、信頼性(百分率で表示)は、ルールがどのくらいの頻度で当てはまることが判明したかの指示である。
4.ポリシーへの変換:機械学習アルゴリズムによって生成されたルールは、どの属性がより頻繁に共に確認されるか(前件)、及び何を示唆するか(後件)の指示を与える。この情報は、定義と一致して属性ベースのポリシーに変換する必要がある。ルールがポリシーになるには、本方法では、何れが最小の信頼性及び支援であるか、及び信頼性及び支援の特定のレベルが肯定(すなわち許可)又は否定(すなわち拒否)のポリシーに導くかを決定しなければならない。例えば、肯定ポリシーは、信頼性が99%超のルールのみに関して生成され、否定のルールは、信頼性が1%未満のルールのみに関して生成されると仮定する。この場合、表1のルール1及びルール2は、肯定ポリシーに変換され(すなわち、以下のP1及びP2)、ルール4は、否定ポリシーに変換される(すなわち、P3)。以下に、表1のルールの変換として得られたポリシーを表す:
P1: <if
L:Hsrc:role ==SCADA AND
L:Hdst:os == proprietary AND
L:messageType == reprogram
then allow>
P2: < if
L:Hsrc:role == SCADA AND
L:messageType == reprogram
then allow>
P3: <if
L:Proto == HTTP AND
L:DSTPORT ==815
then deny >
5.ポリシーの削減:前のステップで生成されたポリシーの幾つかは、冗長である可能性がある。Pxの条件が、別のポリシーPyの条件全体を含み、ポリシーの動作が同じ場合、ポリシーPxは冗長である。このような場合には、Pxを削除することができる。例えば、前の実施例のポリシーP1は、ポリシーP2の条件全体を含み且つ同じ動作を共有するので、冗長である。従って、P1は削除することができる。
6.ポリシーコンフリクト(矛盾)の解決:ポリシーPxとポリシーPyとが同じ条件を共有して、これに対して2つの異なる動作が対応している場合、これらのポリシーは矛盾する。例えば、ポリシーP1:<if L.Proto == HTTP AND L.DstPort == 815 then deny>、及びポリシーP2:<if L.Proto == HTTP AND L.DstPort == 815 then allow>を有する場合、P1及びP2は矛盾する。コンフリクトを解決するには、2つのポリシーのうちの1つを削除する必要がある。どちらのポリシーを削除すべきかを決定するために、コンフリクト解決プロセスは、衝突するポリシーに至るルールの信頼性及び支援を考慮することになる。
従って、コンテキスト及び意味を考慮する(例えば、リンクの属性だけではなく、ソースホスト及び宛先ホストの属性も)ポリシーを作成することを目的とする。ポリシーは、コンフリクトを検出して解決できるポリシー言語で表現されるので、システムが不整合状態にならないように保証する。
関連付けルール及び頻繁なアイテム抽出アルゴリズムは、そのまま適用することはできず、本事例では、一部の特徴は、先件(又は前件)の一部である必要がある。加えて、プリクックアルゴリズムが、可変数の属性を備えた関連付けルールを有することがあるが、この数を一定にしたい場合がある。加えて、関連付けルール及び頻回なアイテムセットの出力は、入力としてのみ機能することができ、実際のポリシーに変換する必要がある。
1つの実施形態において、属性ベースのポリシーセットは、ホワイトリストポリシーを含み、ホワイトリストポリシーの結果は、選択されたモデルが許容可能であるかどうかを示す。第1ホスト、第2ホスト、又はリンクに関連するモデルが、ホワイトリストポリシーの何れにも一致できない場合、第1ホスト、第2ホスト、又はリンクのうちのそれぞれに関連するデータ通信は、隔離内にリストすることができる。判断は保留することができ、追加の情報を収集して、隔離内にリストされたホスト又はリンクについて決定することができる。例えば、以下で更に詳細に説明するように、隔離内のホスト又はリンクに関連するデータトラフィックから収集した属性値に基づいて、ポリシーを適応させることができる。隔離は、ホスト又はリンクのそれぞれが正当か又は悪意のあるかに関して判断が行われていないホスト、リンク、又はホストとリンクの組み合わせのリストを格納する。従って、隔離という用語は、本明細書では、ホスト又はリンクが正当か又は悪意があるかに関して判断が行われていないホスト及び/又はリンクのリストを提供する隔離リスト表示として理解することができる。隔離は、隔離内にリストされたホスト又はリンクを識別する記録リスト、及び任意選択的に隔離内にリストされたホスト又はリンクが正当又は悪意があるという仮説への支援、任意選択的に支援を計算するのに用いられるエビデンスを構成するイベントのリスト、及び任意選択的に隔離内にリストされたホスト又はリンクに関連するネットワークメッセージセットによって形成することができる。
1つの実施形態において、ネットワークメッセージ(プロトコルメッセージ)が、モデルを利用可能ではないホスト又はリンクについての情報を伝える場合、それぞれのホスト又はリンクは隔離内にリストされる。
従って、隔離は、未知のホスト又はリンクに関連するアクティビティを記録するのに使用することができる。隔離は、隔離内のホスト又はリンクに関連するネットワークメッセージを追加の分析のために格納できるメモリ又はメモリの一部によって形成することができる。
本方法は、隔離内にリストされたホスト又はリンクに関連する属性値を導出するステップを更に含むことができる。
従って、既知のホスト又はリンクと同様に、プロトコルメッセージからプロトコルフィールド値を抽出し、プロトコルフィールド値から属性値を導出する。属性値は、直接属性、並びに意味(間接)属性に関連することができる。意味属性は、既知のホスト又はリンクに関して上述したのと同じ又は類似の方法で導出することができる。従って、未知のホスト又はリンクのモデルは、属性値に基づいて形成することができる。
本方法は、隔離内にリストされたホスト又はリンクに関連する属性値から、隔離内にリストされたホスト又はリンクが正当であるという仮説への支援を計算するステップと、隔離内にリストされたホスト又はリンクに関連する属性値から、隔離内にリストされたホスト又はリンクが悪意があるという仮説への支援を計算するステップと、を更に含むことができる。仮説への支援は、例えば、この仮説が当てはまるという確率によって形成することができる。計算は、隔離内のホスト又はリンクの属性値を用いて実行することができ、例えば、隔離内のホスト又はリンクの属性と既知のホスト又はリンクの属性との類似性を比較することによって実行することができる。
計算は、隔離内のホスト又はリンクの属性値がアップデートされるたびに繰り返すことができる。従って、仮説への支援は、新しいエビデンスが利用可能になるたびにアップデートすることができる。従って、十分な支援が属性値から導出されて、隔離内のホスト又はリンクを悪意がある又は正当であると宣言できるようになると直ちに、以下のステップを下記に説明するように行うことができる。従って、未知のホスト又はリンクは、自律的に評価することができ、これによりネットワーク内の変化に自律的に適応できるようになる。
従って、隔離は、隔離内にリストされたホスト及び/又はリンクに関して以下を含む、すなわち、格納することができる。
ホスト又はリンクの識別
ホスト又はリンクの既知の属性値のリスト
ホスト又はリンクが正当であるという仮説への支援
ホスト又はリンクが悪意があるという仮説への支援
仮説への支援を決定するのに用いられるデータトラフィックの識別
1つの実施形態において、本方法は更に、整合性ルールを用いて、隔離内のホスト又はリンクの属性値の整合性をチェックするステップを含む。上記と同じ整合性ルールを、隔離内のホスト又はリンクに適用することができる。整合性ルールを用いれば、潜在的に悪意があるアクティビティは、早期の段階で、すなわち、隔離内に格納されたホスト又はリンクが悪意があるという事実への仮説が十分高いレベルに達する前でも認識することができる。従って、悪意があるアクティビティは、早期の段階で認識することができる。
1つの実施形態において、本方法は、属性ベースのポリシーを用いて、隔離内のホスト又はリンクの属性値が属性ベースのポリシーセットに従うかどうかを評価するステップを更に含む。従って、既存の属性ベースのポリシーは、隔離内のホスト又はリンクの属性値に適用することができる。属性ベースのポリシーに対して隔離内のホスト又はリンクの属性値を保持する結果は、隔離内のホスト又はリンクが正当か又は悪意があるかのエビデンスを提供することができる。この結果は、隔離内のホスト又はリンクが正当か又は悪意があるかの仮説への支援を決定する際のエビデンスとして用いることができる。従って、隔離内の新規ホスト又はリンクを評価する時には、既存の属性ベースのポリシーを考慮することができる。ブラックリストポリシーに違反する場合は、対応するアラートを発することができる。
1つの実施形態において、本方法は更に、隔離内に格納されたデータトラフィックのホスト属性及びリンク属性から1又は複数の属性ベースのポリシーを導出するステップ、例えば、隔離内にリストされたホスト又はリンクの属性から1又は複数の属性ベースのポリシーを導出するステップを含む。隔離内に格納されたホスト又はリンクが正当か又は悪意があるかという仮説が、閾値を超えたことが分かると、隔離内のホスト又はリンクの属性値を用いて、新規のポリシーを学習する、及び/又は既存のポリシーをアップデートすることができる。これに対して、学習フェーズに関連して上述した同じ又は類似の学習機構を適用できる。従って、隔離内に格納されたデータから新規のポリシーを学習する自己アップデート侵入検出を提供することができる。従って、侵入検出システムは、一方で、データネットワークに関連する正当なアップデート/変更は、新規の又はアップデートされたホワイトリストポリシーをもたらす点で、不要なアラームを回避することができる。他方で、以前に気付いていなかった、すなわち、特定のブラックリストポリシーがまだ対応可能ではない悪意があるアクティビティが、新規の又はアップデートされたブラックリストポリシーをもたらすことがある。上述のように、可能性がある悪意のあるアクティビティが属性、エビデンス、及び評価の集合の隔離内に依然として含まれる間に、不整合性ルール又は既存のブラックリストポリシーの何れかに基づいて、既にアラームを発することができる。従って、悪意があるアクティビティが隔離内にある間に、悪意がある可能性があるアクティビティの発生リスクを軽減するよう、既にアクションを実行することができる(例えば、アラーム信号によってトリガーされた人間のオペレータによって又は関連するデータトラフィックを自律でブロックする侵入検出システムによって)。
本発明の1つの態様によれば、頻繁に発生する挙動は、ホワイトリストポリシーをもたらすことができる。従って、隔離内のホスト又はリンクの挙動が頻繁に発生する場合、本発明の1つの態様によれば、これは、この挙動が正当である表示とみなすことができる。従って、新規のホワイトリストポリシーは、隔離内のホスト又はリンクに関連するプロトコルメッセージの発生頻度がホワイトリスト閾値を上回る場合に、隔離内のホスト又はリンクに関連するプロトコルメッセージから導出された属性値から導出することができる。従って、侵入検出は、正当な変更、アップグレード、その他が、比較的頻繁に発生する新規の挙動を生じるもたらす可能性があるという洞察に基づいて、正当な変更、アップグレード、その他に比較的容易に適応することができる。検出閾値、すなわち、例えばそれを上回ると正当な挙動とみなすことができる発生頻度を表す所定のホワイトリスト閾値を適用することができる。頻繁に発生する挙動は、ホワイトリストモデル又はホワイトリストポリシーとの類似性が類似性閾値を上回る場合に、ホワイトリストとして認定することができる。
特に、隔離内に格納されたデータトラフィックのホスト属性及びリンク属性から属性ベースのポリシーを導出するステップは、
・隔離内のホスト及び/又はリンクに関連するデータトラフィックが観察される時に、隔離内のホスト又はリンクが正当か又は悪意があるという仮説への支援を(再)計算するステップと、
・隔離内のホスト又はリンクが正当であるという仮説への支援がホワイトリスト閾値を上回る場合に、このホスト又はリンクを隔離から削除して、このホスト又はリンクに関連するデータトラフィックを用いて新規のホワイトリストポリシーを抽出するステップと、
・隔離内のホスト/リンクが悪意があるという仮説への支援がブラックリスト閾値を上回る場合、アラートを発して、このホスト又はリンクに関連するデータトラフィックを用いて新規のブラックリストポリシーを抽出するステップと、
・抽出した新規のホワイトリスト又はブラックリストポリシーを用いて現在のポリシーをアップデートするステップと、を含むことができる。
ホスト又はリンクが正当であるという仮説への支援がホワイトリスト閾値を上回る、すなわち、ホスト又はリンクが正当であるという仮説が示す閾値が、(例えば、所定の)閾値レベルを上回ることが判明すると、このホスト又はリンクを隔離から削除することができ、上述の技術を用いて、新規の(ホワイトリスト)ポリシーを学習及び/又は既存のポリシーをアップデートすることができる。
同様に、ホスト又はリンクが悪意があるという仮説への支援がブラックリスト閾値を上回る、すなわち、ホスト又はリンクが悪意があるという仮説が示す閾値が(例えば、所定の)閾値レベルを上回ることが判明すると、アラートを発することができ、上述の技術を用いて、新規の(ブラックリスト)ポリシーを学習して及び/又は既存のポリシーをアップデートすることができる。
隔離内のホスト又はリンクが正当か又は悪意があるという仮説への支援を(再)計算するステップは、隔離内のホスト又はリンクと別のホスト又はリンクとの類似性を計算するステップを含むことができる。
上記で説明するように、仮説への支援は、例えば、仮説が当てはまる確率によって形成することができる。計算は、隔離内のホスト又はリンクの属性値を用いて実行することができ、例えば、隔離内のホスト又はリンクの属性と既知のホスト又はリンクの属性との類似性を比較して、その測度を決定することによって実行することができる。更に、隔離内のホスト又はリンクの属性値は、既存のポリシーに対して保持することができ、そのポリシーの結果は、仮説への支援の計算においてエビデンスとして使用することができる。例えば、隔離内のホスト又はリンクが既知のホスト又はリンクと同等の属性値の大部分(例えば、90%超)を有する場合、正当な仮説への支援を増大させる。同様に、ホスト又はリンクがほとんど又は全く未知の属性値を有する(例えば、そのような値を有する既知のホスト又はリンクモデルが1%未満)場合、悪意がある仮説への支援を増大させる。
前述のように、ホスト又はリンクに関連するデータトラフィックを用いて新規のホワイトリストポリシーを抽出するステップ、或いはホスト又はリンクに関連するデータトラフィックを用いて新規のブラックリストポリシーを抽出するステップは、上述の学習技術を用いて、ホワイトリストポリシー又はブラックリストポリシーを学習するステップを含むことができる。
従って、属性ベースのポリシーの学習は、例えば、初期段階で、例えば、学習フェーズにおいて実行できるだけではなく、動作中も継続することができるので、侵入検出システムが、正当な変更、新規の悪意があるアクティビティ、その他に適応するように学習を継続することになる。
属性ベースのポリシーの自己アップデートのプロセスは、新たに出現する挙動から新規のブラック/ホワイトリストの属性ベースのポリシーを抽出するために、隔離内に含まれた情報を保持して分析するためのプロセスとして説明することができる。アルゴリズムは、以下のように機能する:
1.qiは、隔離内のホスト又はリンクとする。
2.qiに関連する新規のデータトラフィックが観察される時は常に:
データトラフィックをqiに関連するエビデンスに追加
隔離アイテムqiが正当であるという仮説(仮説0)への支援を(再)計算
隔離アイテムqiが悪意があるという仮説(仮説1)への支援を(再)計算
3.隔離内の各アイテムに対して、ユーザは、仮説0又は仮説1の関連する値に直接、影響を与えることになるフィードバックを提供することができる。
4.トリガーが開始された時に(例えば、一定の期間が経過した、又はユーザがフィードバックを提供した)、隔離内の各アイテムq及び所与の閾値Tに関して:
(a)仮説0>τの場合、隔離からqを削除して、ネットワークメッセージを正当なメッセージセットに追加
(b)仮説1>τの場合、隔離からqを削除して、ネットワークメッセージを悪意があるメッセージセットに追加
5.新規のホワイトリストポリシーを学習するために、正当なメッセージセットを属性ベースのポリシー学習アルゴリズムへの入力として与える
6.新規のブラックリストポリシーを学習するために、悪意があるメッセージセットを属性ベースのポリシー学習アルゴリズムへの入力として与える
7.現在のホワイトリストポリシー及ぶブラックリストポリシーをアップデート
自己アップデートポリシーは、ポリシー及び整合性ルールを最新に維持するのを提供することができる。これは、既存のポリシー又は整合性ルールに明示的には違反していないネットワークイベントの判断を、「十分な」情報が利用可能になるまで保留することによって得られる。加えて、「判断保留」中に収集された情報が継続的に分析され、全体として考慮した場合に、許容可能な又は許容不可のパターンへの準拠を示唆するかどうかを検証する。最終的に、その時になれば、収集した情報がまた集約されて、エンドユーザに表示するために、意味的に解釈される。このようにして、ユーザにイベントの詳細なリスト(例えば、「新規ホスト 192.168.1.5」「ホスト 192.168.1.5と新規ホスト192.168.1.4.との新規通信」「プロトコルModbusによる新規通信」)を提示するのではなく、イベントについて論理的に考えて、1つの意味あるメッセージ(例えば、「正当なRTUに見える新規ホストが識別された」)を提示することができる。このシステムにより、ネットワーク挙動における正当な変更によって生じる偽陽性を低減することができる。これは、新たに出現する正当な挙動を自動的に認識することにより、及び収集した新規の情報から導出された新規のポリシーにこれを埋め込むことによって達成することができる。判断を保留して、決定を行う前により多くの支援を得るための追加のエビデンスを収集して、意味論的強化を用いることによって、異常検出の一般的な手法に優ることになる。実際に、一般的には1つの異常が悪いとみなされ、多くの異常が更に悪いとみなされる。対照的に、本発明のケースでは、多くの異常が良い場合があり、観察しているものは悪いものではなく、単に新たな正当な挙動の出現であることを示唆する。
発明者らは、静的な「一度定義されて永遠に有効な」セキュリティポリシーが、動的環境における変化に対応できない問題に対処することを目的とする。加えて、動作条件が変化するのに伴って、ポリシーは、時間と共に準最適になる傾向がある。この構成要素の目標は、ポリシー及び整合性ルールをシステムの現況と一致するように保つことである。これはつまり、既存のポリシー及び制約に明示的には違反していない新規の挙動が観察されて、これが許容可能とみなされる場合に、これをポリシーシステム内に埋め込む必要があることを意味する。
ポリシーは、人間のオペレータによって定義されるか又は学習アルゴリズムによって生成されるかの何れかとすることができる。何れの手法も、不完全なポリシーセットを生成するという問題を生じる。人間のオペレータの場合、不完全なポリシーは、全ての許容可能又は許容不可の挙動(例えば、ゼロデイ攻撃)をリストするのが難しいという事実に起因する。学習アルゴリズムの場合、不完全なポリシーは、学習中に許容可能なアクティビティの一部が現れない(例えば、動作シナリオの全てが実行されるわけではない)、或いはシステムが時間と共に変更された可能性があるという事実に起因する。これは、最終的に偽陽性、いわゆる正当な挙動を悪意があるものと誤って分類することを引き起こす可能性がある。
一般に、コンピュータネットワークを含むあらゆるシステムは、時間と共に進化するが、このような変化は、コンセプト(概念)ドリフトとして知られる。一部のシステムでは、他(例えば、OTネットワーク内)よりも早く(例えば、ITネットワーク内で)変化が発生することがある。OTネットワークにおけるコンセプトドリフトの例は、ハードウェアのアップデート(例えば、旧PLCの置き換え)又は基礎となる物理プロセスのアップデートを含む。検出を実行するために使用するモデルとは独立して、ネットワーク監視のために利用可能なソリューションのほとんどは、通常はそのようなモデルのアップデートは行わないか、或いはアップデートを行う場合は、新たに出現する正当な挙動を定義するのに人の介入を必要とする。しかしながら、検出モデルの最適性を維持するために、モデルは継続的にアップデートすべきである。このために、継続的なアップデート、変更、又はプルーニングを、特にネットワークフロー内では可能性のある無限データストリームを考慮するよう、既存の機械学習アルゴリズムを修正する必要がある。ここでの目的は、新たに出現する正当な挙動を自動的に識別して、既存のポリシー及び整合性ルールを自動的にアップデートすることである。この目標に向けた第一の一歩が、以下で説明するように、悪意があるアクティビティの検出及び出現する未知の挙動の隔離である。
隔離Qは、形式q:<ID, Target, Hyp0, Hyp1, E, M>のレコードqのリストであり、ここで、
IDは、レコードqの識別子であり;
Target∈{Host, Link}は、隔離内にあるホストH又はリンクLである。
Hyp0∈{0,1}は、隔離内のホスト/リンクが正当であるという仮説への支援(例えば、確率)である。
Hyp1∈{0,1}は、隔離内のホスト/リンクが悪意があるという仮説への支援(例えば、確率)である。
E: <e1, e2, ..., en>は、支援を計算するのに用いられるエビデンスを構成するイベントのリストである。イベントの例は、新規ホスト、新規ホストの属性値(役割=PLC)、新規リンク、新規リンクの属性値(L.MrssageType=reprogram)、アラート、ユーザフィードバック...等を含むことができる。
M:<m1, m2, ..., mn>は、隔離内のホスト/リンクに関連するネットワークメッセージセットである。
検出及び隔離アルゴリズムは、以下のように機能する。新規のネットワークメッセージが利用可能になると常に、ホスト属性及びリンク属性を抽出して、ネットワークメッセージが未知のホスト又はリンクについての情報を伝える場合は、これらのホスト又はリンクが隔離に追加される。次に、アルゴリズムは、属性の不整合をチェックし、ネットワークメッセージと属性ベースのポリシーとの照合に進む。ブラックリストポリシーに一致する場合は、このネットワークアクティビティが周知の攻撃に関連することを意味するので、「ブラックリストアラート」を発する。そうでない場合は、アクティビティがホワイトリストポリシーに一致する。この場合、一致の結果は3通りである。1)アクティビティがホワイトリスト内のポリシーに一致し、よって新規のネットワークアクティビティの観察に戻ることができる。2)アクティビティが何れのポリシーにも一致しないので、アラートを発する。又は3)例えば、ポリシーを評価するのに必要な全ての属性が利用可能ではないので、アクティビティをポリシーに対して照合できない。最後の2つの場合は、アクティビティがシステムにとって新規であるので、このアクティビティが正当か否かを立証する必要がある。このような決定を行うために、1つのネットワークアクティビティでは十分でないので、新規の挙動のための十分な情報が収集されるまで、アクティビティを記録する隔離手法を採用する。隔離は、曖昧な状態にあるホスト及びリンクを含み、これらが正当か否かの決定は、これらを分類するための十分なエビデンスが無くなるまで保留される。
この手法は、(極めて頻繁に)ポリシー評価を悲観的手法で行う、すなわち、必要でない時でも(すなわち、新しいもの全てが危険というわけではない)アラートを発するという直観に依存する。エビデンスが新規の(不当な)正当なアクティビティの出現を示唆する場合にのみ、エビデンスを新規のポリシーの推測に用いる。
検出及び隔離アルゴリズムは、以下のように機能することができる。
1.Pを属性ベースのポリシーセットとし、ここで、pi. action==deny(拒否)の場合、pi ∈ Pをブラックリストと呼び、pj. action==permit(許可)の場合、pj ∈ Pをホワイトリストと呼ぶ。
2.Q= <q1, q2, …, qn,>を隔離とし、q1 ∈ Qは、qi= <IDi,Targeti, Hyp01, Hyp1i, Ei ,Mi>の形式である。
3.あらゆる新規のネットワークメッセージmに関して、
(a)mからソースホストHsrc、宛先ホストHdst、及びリンクLを抽出
i.Hsrc(又はHdst又はL)が既知のホスト/リンクのデータベース内にない場合は、これを隔離に追加し、すなわち、
Figure 2021515498
q(n+1)をQに追加する(Hdst 又はLに関しても同様のことを行う)。
(b)Hsrc, Hdst, 及びLの明示属性及び暗黙属性を抽出
(c)抽出した属性が整合性ルールに従わない場合、「整合性違反」についてのアラートを生成:
i.アラートが、隔離内に存在するホスト又はリンクに関わる場合、アラートをエビデンスとして追加することによりそれぞれの隔離アイテムをアップデート
ii.それ以外の場合は、アラートをアラートリストに追加
(d)それ以外の場合、Hsrc, Hdst,及びLを新規の属性値でアップデート
i.Hsrc, Hdst,又はLが隔離内にある場合、新規属性値をエビデンスとして追加することによりそれぞれの隔離アイテムをアップデート
(e)mを各属性ベースのポリシーpi ∈ Pに対して照合
i.mがブラックリストポリシーに一致する場合は、「ブラックリスト違反」についてのアラートを生成;
A.アラートが、隔離内に存在するホスト又はリンクに関わる場合、アラートをエビデンスとして追加することによりそれぞれの隔離アイテムをアップデート
B.それ以外の場合は、アラートをアラートリストに追加
ii.それ以外でmがホワイトリストポリシーに一致する場合、次のネットワークメッセージの分析に進む。
iii.それ以外でmがホワイトリストポリシーに一致しない場合、「非ホワイトリスト違反」についてのアラートを生成;
A.アラートが、隔離内に存在するホスト又はリンクに関わる場合、アラートをエビデンスとして追加することによりそれぞれの隔離アイテムをアップデート
B.それ以外の場合は、アラートをアラートリストに追加
iv.それ以外でmの一致が未定義の場合(すなわち、例えば、属性の一部が未定義であるので、ポリシーに一致しない)、ポリシー候補(例えば、将来的に一致し得るポリシー)をエビデンスとして追加することによりそれぞれの隔離アイテムをアップデート
人間のオペレータが、隔離を表示して、最終的にはフィードバックを提供する、又は欠落情報を追加することができる。これは、特定のホスト/リンクの(不当)正当性についてより多くのエビデンスを収集するのに役立つことができる。適切な時間になると、隔離内の要素は、自己アップデートアルゴリズムによって分析され、新規のブラックリストポリシー又はホワイトリストポリシーを抽出することができる。隔離の分析をトリガーするイベントは、限定ではないが、:i)ユーザのリクエスト、ii)時間期間の経過、iii)最近、過多のエントリが隔離に追加されたこと、又はiv)隔離内の他のイベントと共に、仮説の確認又は拒否を可能にする(例えば、許容可能な又は許容不可のパターンの認識)特定のイベントの観察、を含む。例えば、システムがネットワーク上で新規ホストを識別したと仮定する。新規ホストは、ネットワークに追加された新規の正当なデバイス(仮説Hyp0)、又は侵入者(仮説Hyp1)の何れかとすることができる。従来の検出手法では、この場合、直ちにアラートを発することになる。対照的に、本発明の自己学習手法では、ホストを隔離して、何らかの決定を行う前に追加の情報を待機することに決定する。例えば、新規ホストが既存のプロファイルに類似していることを示すアクティビティを観察して、これが、何らかの整合性ルールにもブラックリストポリシーにも違反しない場合、Hyp0への支援が増加する。他方、ホストが何れのプロファイルにも一致しないことを示すアクティビティ(例えば、特定の役割に属するように見えるが、そのような役割と一致しない動作を行う)の場合、Hyp1への支援が増加する。その後、決定を行うため及びエンドユーザに意味的に有効なメッセージを通知するために必要な支援の閾値を定義することができる。明らかに、悲観的仮説Hyp1が正しい仮説である場合は、悪意があるホストが何らかのダメージを与えるほど長く隔離内に留まることができないように、システムを調整しなければならない。このために、ブラックリストポリシー及び整合性ルールが、危険状態を直ちに見つけてアラートを発することに依存している。
自己アップデートアルゴリズムは、以下のように定義することができる。自己アップデートアルゴリズムは、新たに出現する挙動から新規のブラックリスト/ホワイトリストポリシーを抽出するために、隔離内に含まれる情報を保持して分析する。アルゴリズムは、以下のように機能する。
1.Q= <q1, q2, …, qn,>を隔離とし、q1 ∈ Qは、qi= <IDi,Targeti, Hyp01, Hyp1i, Ei ,Mi>の形式である。
2.新規のエビデンスeiを隔離アイテムqiのエビデンスEiに追加する時は常に:
(a)新規のエビデンスeiを考慮することにより、隔離アイテムqiが正当(Hyp0i)か又は悪意がある(Hyp1i)という仮説への支援を(再)計算する。実施可能な実施形態において、支援は、エビデンスタイプに基づいて計算することができる。例えば、ei==新規ホストの場合、新規ホストと既知のホストとの類似性を計算して、類似性が高い場合はHyp0iを増加させ、類似性が低い場合はHyp1iを増加させる。新規属性値又は新規リンクの場合も同様の手法を行うことができる。別の実施形態では、一次論理、ベイズ推定又はデンプスター・シェファーのエビデンス理論等の技術を用いて、支援を計算することができる。
3.各アイテムq ∈ Qに関して、ユーザは、Hyp0及び/又はHyp1の関連する値に直接影響を与えることになるフィードバックを提供することができる。
4.各アイテムq ∈Qに関して及び所与の閾値τに関して、トリガーが開始される時に(例えば、一定期間が経過した又はユーザがフィードバックを提供した):
(b)q.Hyp0>τの場合、Qからqを削除して、ネットワークメッセージq.Mを正当なメッセージセットMlegitに追加する。
(c)q.Hyp1→τの場合、Qからqを削除して、ネットワークメッセージq.Mを悪意があるメッセージセットMmaliciousに追加する。
5.新規のホワイトリストポリシーを学習するために、Mlegitを学習アルゴリズムへの入力として与える
6.新規のブラックリストポリシーを学習するために、Mmaliciousを学習アルゴリズムへの入力として与える
7.現在のホワイトリストポリシー及びブラックリストポリシーをアップデート
この手法は、とりわけ、通常は異常が増えるほど、「アラート」、従って「リスク」が増えることを意味するが、本発明の事例では、異常が増えるほど実際にはアラートがより少なくなる可能性があるという意味で、既存のソリューションとは異なる。
この手法は、ポリシーを継続的にアップデートして精緻化することにより動的な動作環境の変化に対処するという利点を有する。
十分なエビデンスが無くなるまで、新規ホストの属性又は挙動についての判断を保留する隔離アルゴリズムを採用する。エビデンスが、新規の正当なアクティビティの出現を示唆する場合、これを用いて新規のポリシーを導出する。
このシステムにより、監視するネットワーク挙動の変化を偽アラートが低減されて自動的にキャプチャすることができる。
変化は、収集した新規情報から導出された新規ポリシー内に自動的に埋め込まれる。
本発明の別の態様によれば、本発明による方法を実行するように構成された侵入検出システムが提供される。侵入検出システムは、マイクロプロセッサ等のデータ処理デバイスと、マイクロプロセッサに本方法を実行させるためにプログラム命令が格納されたメモリと、データトラフィックを観察するためにデータネットワークに接続するためのネットワーク接続と、を備えることができる。メモリは更に、モデル、ポリシー、アラームメッセージ、その他を格納することができる。任意選択的に、例えば、ユーザにアラートを発するために、ユーザインタフェースを設けることができる。
本発明は更に、本発明による侵入検出システムを備えたデータ通信ネットワークを提供する。
更にまた、本発明は、本発明による侵入検出システムを備えた装置を提供する。用途は、例えば、ホスト監視システム、ホスト特性化及び分類、規格コンプライアンスチェック、ポリシーコンプライアンスチェックを含むことができる。
更なる特徴、効果、及び利点は、非限定的な実施形態を示す添付図面から得られる。
従来技術の侵入検出システムの動作原理を示す図である。 本発明の実施形態による侵入検出システムの動作原理を示す図である。 本発明の実施形態による実施可能な属性検出を示す図である。 本発明の実施形態による侵入検出の概要を示す図である。 本発明の実施形態によるホスト属性及びリンク属性の例を示す図である。 本発明の実施形態によるリンク属性のモデルを示す図である。 本発明の実施形態による不整合の実施例を示す図である。 本発明の実施形態によるネットワークトラフィックデータセットの例を示す図である。 本発明の実施形態によるポリシー学習のプロセスを示す図である。 本発明の実施形態によるポリシーアップデートに適用されるデータ構造の例を示す図である。
図1は、従来技術の侵入検出システムの概略図を示す。侵入検出システムは、学習フェーズで学習が行われて、学習フェーズの後、侵入検出システムが侵入検出のために適用される。ホワイトリスト及び/又はブラックリストモデルを学習することができる。
全体として、本発明の背後にある直観的洞察は、ホワイトリストモデルは、一度で学習されて、その後ずっと静的なままではありえないということである。加えて、オペレータにモデルの手動アップデート及び保守を頼ることは、このタスクに必要な時間及び知識がオペレータに欠けていることが多いことから非現実的である。本発明の根本的な考え方は、新規のトラフィックが観察されると、モデルを自動的にアップデートするNIDSを作成することである。システムにとっての主要な課題は、どの変更が正当であり(及びモデルに追加することができる)、どの変更が正当ではないか(従って、更にアラートを生成すべきである)を区別する能力である。提案されるソリューションは、2フェーズ(学習/検出)手法を、監視するトラフィックの正当な変更に対処できる継続的プロセスで置き換えることによって、ホワイトリストNIDSへの一般的な手法に対する根本的な変更を形成することができる。提案する手法は、図2に概略的に示されるような以下のフェーズを含むことができる。
1.学習:短い時間期間の間ネットワークを監視して、収集したデータを用いて初期モデル、ポリシー、及び制約を作成
2.観察:ネットワークから受動的にデータを収集
3.識別:新たに利用可能な情報を用いて、既存の要素特性化を改善又は新規要素の初期特性化を作成
4.論証:新規のエビデンスが既存モデル及び制約に一致しているか、及び新規のエビデンスが新規の(正当な)パターンの出現を示唆しているかを検証
5.反応:モデル及び制約との不整合が見出された場合、アラートを生成するが、出現した(正当な)パターンであるという十分なエビデンスがある場合は、モデルをアップデート
このモデルの実施を成功させるために、意味論的強化を利用する。意味論的強化により、NIDSは、ネットワークアクティビティについての時間通りの事実(例えば、「IP192.168.1.4がStep7コマンド240をIP192.168.1.5に送信する」)を伝達できるだけでなく、このような事実をより分かりやすくするよう解釈することもでき、情報利得を高めるようにする(例えば、「PLCは、再プログラムメッセージを他のPLCに送信する」)。意味論的強化は、技術と人間のオペレータとの間の距離を縮め、:オペレータが自動システムからより価値のある情報(例えば、より意味のあるアラート)が得られて場合、オペレータはまた、モデルを調整するためのフィードバックを提供し、その結果システム全体を改善する傾向がある。
[概要]
図4は、本明細書で説明する方法の概要を示す。ネットワークの監視が開始されると直ちに、ホワイトリスト及びブラックリストの初期セットが、整合性ルールと共にシステムへの入力として与えられる。ホワイトリスト及びブラックリストポリシーセットは、整合性ルールセットと共に、最初は空である可能性がある点に留意されたい。あらゆる新規のネットワークアクティビティ(A)に関して、システムはホストの属性及びリンクの属性を抽出する(B)。ホストの属性とリンクの属性を区別することが重要であり、:ホストの属性はホストの特性を参照し、リンクの属性は、ホスト間で行われる通信を参照する。属性が利用可能になると、(利用可能な整合性ルールを用いて)整合性チェックを実行する(C)。現在の属性が整合性ルールに従わない場合、アラートがアラートリストに格納され(L)、それ以外の場合は、プロセスが継続する。この時点で、ネットワーク動作がブラックリストに対して照合され(D)、:一致が生じると、アラートが生成され(L)、それ以外の場合は、2つのケースを区別することができ、システムがまだ学習モードにある場合は(E)、ネットワークアクティビティは、学習モジュールに入力として与えられ、ホワイトリストポリシー及び整合性ルールをアップデートし、他方、学習フェーズが終了している場合、ネットワークアクティビティがホワイトリストポリシーに対して照合される(G)。この時点で一致が生じると、これは、このネットワークアクティビティが以前に既に確認されていること(既知のホスト/挙動)を意味し、それ以外の場合は、未知のホスト又は挙動が出現した状況である。この時点で、典型的なネットワーク侵入検出システム(NIDS)はアラートを発することになる。対照的に、本方法では、アクティビティが正当か又は悪意があるかを決定するための十分なエビデンスが無くなる(H)まで、このネットワークアクティビティを記録する隔離システムを用いることに決める(I)。隔離内に含まれるホスト又はリンクにアラートが関連する場合は、アラートも隔離内に記録する(O)ことに留意されたい。決定を行うのに十分な情報が利用可能な場合、システムは、隔離内のイベントを、自己アップデートのため、すなわち、新規のホワイトリスト又はブラックリストポリシーの動的抽出のために使用することになる(J)。新規のポリシーの作成はまた、追加のエビデンスとして隔離に追加することができるイベントを作成する(K)。最後に、アラートリストが分析され(M)、その内容を集約、相関、及び解釈してエンドユーザ宛ての意味論的強化されたコンテキストアウェアのアラートを生成する(N)。エンドユーザは、アラート及び隔離アイテムを視覚化することができ、エンドユーザはまた、ホスト及びリンクを正当又は悪意があるとするフラグのようなフィードバックを隔離に提供することもできる。
以下では、上述のシステムを実施するのに役立つ主要構成要素、すなわち、属性抽出、不整合検出、属性ベースのポリシー、属性ベースのポリシーの学習、及び自己アップデートポリシーについて詳細に説明する。
[属性抽出]
図3は、ネットワークトラフィックをキャプチャすることによってホスト属性及びリンク属性を抽出するための実施可能な実施形態を示す。第1ステップは、明示属性を抽出することである。明示属性が利用可能になると、メッセージフィールドとの自明のマップが存在しない暗黙属性の導出に進むことができる。各暗黙属性は、ヒューリスティクス又は分類子の何れかを適用することで導出することができる。通常、ヒューリスティクスによって得られる結果は、分類子よりも高い優先度を有する。役割という属性を推測するのに用いられるヒューリスティクスの例は、以下の通り:「DNSプロトコルを用いた会話が観察されると、そのようなリンクのターゲットホストは、DNSサーバという役割を有する」。明らかに、このような幾つかのヒューリスティクスを導入することができる。加えて、ヒューリスティクスは、特定の配置に対してグローバル又はローカルとすることができる(例えば、所与のセクタでのみ当てはまるヒューリスティクス)。他方、分類子は、特徴セットを入力として与えると、出力として属性に値(又はクラス)を関連付けることができるモデルである。分類子は通常、標識付きデータセット、すなわち、特徴とクラスとの間の関係が分かっているデータセットに機械学習アルゴリズムを適用することによって生成される。その後、これらの分類子を用いて、非標識データに関してクラスを推測することができる。一般に、分類子は、自己の推測に信頼性レベルを関連付け、属性抽出構成要素の信頼性を高く保つために、分類子によって推測されたクラスが高い信頼性レベル(例えば、90%超)を有する場合にのみ属性を解決する。特定の暗黙属性は、一定の期間、例えば、それらの値を評価するのに十分な情報が利用可能になるまで未解決のままにしておくことができる点に留意されたい(図5の第1行のベンダ属性を参照のこと)。
[属性モデル化の実施例]
図6は、暗黙リンク属性のメッセージタイプをモデル化する方法を示す。属性メッセージタイプは、特定のネットワークメッセージが特定のドメイン内で有することができる意味的意味を表す。例えば、ホストAが機能コード23と共にModbusメッセージをホストBに送信する場合、これは、ホストAがホストBからデータ値を読み出すことを意味する。読出し動作は、図示するように、異なるプロトコルに対して異なる方法で符号化することができ、例えば、IEC−104では、読出しは番号45で符号化され、STEP7では番号4で符号化される。推論及び意味的標識を適用することにより、ネットワークから到来する生のトラフィックを強化することができる。次に、この強化は、汎用で(所与のプロトコルに固有ではない)理解しやすいポリシーを表現するのに用いることができる。例えば、汎用ポリシー「端末という役割を有するホストは、PLCを再プログラムしない」を表すことができ、再プログラミング動作が実際にネットワークレベルでどのように符号化されるかをポリシー作成者が知ることなく、このようなポリシーを監視することができる。
以下のホスト関連属性AH、リンク関連属性AL、コンテキスト関連属性AC(ここで記号?は、属性値が未知であることを意味する)、及びネットワークメッセージm1を有すると仮定する:
・s=<IP=?, mac=?, os=?, role=?>
・AL=<prot=?, srcPort=?, dstPort=?, messageType=?, linkType=?>
・AC=<location=?, networkType=?, time=?, msgFrequency=?>
・m1=<protold=Modbus, srclp=10.1.1.1, dstlp=10.1.1.2, srcPort=22; dstPort=44, functionCode=16> この場合、フィールドは、以下の順序である:使用するプロトコルの識別子(例えば、Modbus、HTTP、IOEC104)、送信側及び宛先のIPアドレス及びポート、並びにメッセージの機能コード。
メッセージm1を所与とすれば、以下のホスト及びリンク情報を抽出することができる:
・H1=<id=1,AH=<IP=10.1.1.1,mac=?,os=?,role=?>>
・H2=<id=2,AH=<IP=10.1.1.2,mac=?,os=?,role=?>>
・L1=<id=1,Hsrc=H1,Hdst=H2,AL=<proto=Modbus,srcPort=22,dstPort=44,messageType=?,linkType=?>>
この実施例では、リンク関連属性L.protoの値(Modbus)とm1のフィールドprotoldとの間に直接的なマッピングが存在するので、このリンク関連属性は明示属性であることが分かる。他方、ホスト関連属性H.roleの値を導出するには、複数のメッセージ及び複数のメッセージフィールドを確認すべきであるので、このホスト関連属性は暗黙属性の実施例である。実際には、単一メッセージを所与とすれば、この属性は未定義のままである。例えば、ホストの役割がサーバ又はクライアントであると述べることを可能にするには、様々なメッセージのfunctionCode及びprotoldフィールド、並びに特定のfunctionCodeを有する多くのメッセージを確認しなければならない(例えば、サーバは通常は、特定のメッセージコードを有する特定のポート上のかなり多くのメッセージの宛先である)。これらの条件下で、属性ポリシーPの実施例は以下の通りである:
<if
L.Hsrc.role == Engineering Workstation AND
L.Hdst.role == PLC AND
L.messageType == reprogram AND
C.networkType == industrial
then
allow,
send email=name@domain.com.set priority=high>
[不整合検出]
図7は、不整合検出の幾つかの実施例を示す。この図の上部は、4ホスト:2つのDCS(分散制御システム)及び2つのPLC(プログラマブルロジックコントローラ)から構成されるネットワーク例の「正常な」状況を示す。表は、整合性ルールの実施例を示す。具体的には、ルール番号1は、ホストがPLCと同等の役割を有する場合、そのプロトコルは、Modbusのみとすることができることを示し、ルール番号2は、ホストが値PLCを含む役割を有する場合、Master及び追加の役割としてRTUのみを有することができる(ホストは複数の役割を有することができる点に留意)ことを示す。最後に、ルール番号3は、ホストがWindowsと同等のOSを有する場合、そのベンダはDellとすることができることを示す。これらの条件下では、PLCと同等の役割を有する特定のデバイス(例えば、図中のホストF)が、DNSサーバの役割を有するホストとしての挙動を示しているというエビデンスが存在する場合、整合性ルール番号2の違反が存在する。このことは、PLCが破損しており、悪意があるコードが役割の異常変更を発生させていることを示唆することができる。同様に、ホストに関連するプロトコルが、ドメインネームシステム(DNS)及びファイル転送プロトコル(FTP)クライアントという値を含み、同じホストの役割がPLCである場合、整合性ルール1への違反が存在し、PLCの破損を示唆する。他方で、ホストのベンダがHPであると検出された場合、ルール番号3に違反する。一般に、整合性違反は、システム内に正当な変更が存在すること(例えば、管理者がハードウェアプロバイダの変更を決定した)、或いはホストが侵害されたので、整合性ルール違反は、何かが間違っているという信号である。この2つの状況の何れが当てはまるかを理解することが、自己アップデートポリシー構成要素のタスクである。
[属性ベースのポリシーの学習]
図8は、属性抽出が行われた後に、正当なネットワークメッセージを構築することができる方法の実施例を示す。理解できるように、あらゆる行が、ネットワークアクティビティ及び関連する属性(又は特徴)を表す。このデータ構造に対して、機械学習及びデータマイニング技術を適用して、属性ベースのポリシーを抽出することができる。例えば、大きなデータセット内の要素間の関心のある関係を発見するために、関連付けルール学習、ルールベースの機械学習法を適用することができる。関連付けルールは、見掛け上無関係なデータ間の関係を明らかにするのに役立つ、if−condition−then−actionステートメント(ポリシーとして)である。
しかしながら、関連付けルール及び頻繁なアイテムセットの抽出は、ポリシー作成に役立てることができるが、図9に示すようなプロセス全体はカバーしない手法である。実際には、ネットワークデータに関連付けルールアルゴリズムが適用された後、データから抽出される情報は、ポリシーに変換する必要がある。加えて、関連付けルールは極めて多くのルールを生成する傾向があるので、ポリシー削減及びコンフリクト解決のためのアルゴリズムも同様に導入する必要がある。
Figure 2021515498
表1:関連付けルールの実施例
[隔離]
図10は、隔離がどのように見えるかの実施例を示す。
検出及び隔離アルゴリズムは、以下のように機能する。新規のネットワークメッセージが利用可能になると常に、ホスト属性及びリンク属性を抽出して、ネットワークメッセージが未知のホスト又はリンクについての情報を伝える場合は、これらのホスト又はリンクを隔離に追加される。次に、アルゴリズムは、属性の不整合のチェック、及びネットワークメッセージと属性ベースのポリシーとの照合に進む。ブラックリストポリシーに一致する場合は、これは、ネットワークアクティビティが周知の攻撃に関連することを意味するので、「ブラックリストアラート」を発する。それ以外の場合は、アクティビティをホワイトリストポリシーに対して照合する。この場合、照合の結果は3通りである:
1)アクティビティがホワイトリスト内のポリシーに一致し、よって新規のネットワークアクティビティの観察に戻ることができる。2)アクティビティが何れのポリシーにも一致しないので、アラートを発する。又は3)例えば、ポリシーを評価するのに必要な全ての属性が利用可能ではないので、アクティビティをポリシーに対して照合できない。最後の2つの場合は、アクティビティがシステムにとって新規であるので、このアクティビティが正当か否かを立証する必要がある。このような決定を行うために、1つのネットワークアクティビティでは十分でないので、新規の挙動のための十分な情報が収集されるまで、アクティビティを記録する隔離手法を採用する。隔離は、曖昧な状態にあるホスト及びリンクを含み、これらが正当か否かの決定は、これらを分類するための十分なエビデンスが無くなるまで保留される。
この手法は、(極めて頻繁に)ポリシー評価を悲観的手法で行う、すなわち、必要でない時でも(すなわち、新しいもの全てが危険というわけではない)アラートを発するという直観に依存する。エビデンスが新規の(不当な)正当なアクティビティの出現を示唆する場合にのみ、エビデンスを新規のポリシーの推測に用いる。
[自己アップデートポリシー]
図10の隔離の実施例を考慮してみる。第1行は、ホスト(id=1)及び正当(Hyp0)か又は悪意がある(Hyp1)という事実を支援するための関連するエビデンスを含む。具体的に、ホストは、まだ属性が関連付けられておらずシステムにとって最初は未知である(エビデンス列の第1行)。追加のネットワークアクティビティは、PLCと同等の役割についてのエビデンス(エビデンス列の2行目)を追加し、その後、ABBと同等のベンダについてのエビデンス(エビデンス列の3行目)も追加した。隔離はまた、id=2のホストからid=1のホストに向かうリンク(隔離id2)を含む。エビデンスは、リンクが、端末という役割を有するid=2のホストからPLCという役割を有するid=1のホストに向かうことを示す。加えて、再プログラムメッセージタイプを観察する。隔離内のホスト又はリンクのための新しいエビデンスが収集されるたびに、Hyp0及びHyp1への支援がアップデートされる。属性ベースのポリシーは、端末という役割を有するホストがPLCという役割を有するホストを再プログラムできないことを示していると仮定する。これはつまり、id=1のホストの役割属性がPLCであるというエビデンスが収集された時に、このポリシーに唯一一致することができる(よってアラートを発する)ことを意味する。従って、隔離は、過去のアクティビティが、現在導入しているポリシーに違反していたケースを検出するのに役立つ。
加えて、ユーザは隔離についてのフィードバックを常時提供することができる。例えば、ユーザは、id=1のホストが正当であると示すことができる。この場合、自己学習モジュールが、隔離に含まれる間はid=1のホストによって実行される全てのアクティビティを、可能性がある新規のホワイトリストポリシーの抽出のための入力として考慮する必要がある。
本特許出願にて適用される種々の用語を定義するために適用可能な定義を以下に示す。
[定義1(属性A)]
属性Aの配列は、A:<a_1=v_a1,a_2=v_a2,..,a_n=v_an,>として定義され、この場合、vai ∈Vi(i ∈[1,n])は値域Vi内の属性aiが取る値である。
[定義2(ホストH及びホスト属性AH)]
ネットワークホストHは、H=<id,AH>として定義され、idは、ホストの一意の識別子であり、AH:<ah1=vh1,ah2=vh2,..,ahn=vhn,>は、ホスト関連属性の配列である。ホスト関連属性の例は、IPアドレス、MACアドレス、動作システム、役割、その他を含む。特定のホストの特定の属性に言及するためにHj.ahiと記述し、例えば、Hj.roleはホストHjの役割属性を指す。
[定義3(リンクL及びリンク属性AL)]
ネットワークリンクは、ソースホストと宛先ホストとの間のダイレクト通信である。ここでリンクL=<id,Hsrc,Hdst,AL>と定義し、idは、リンクの一意の識別子であり、Hsrcは、リンクのホストソースであり、Hdstは、リンクのホスト宛先であり、AL:<al1=vl1,al2=vl2,..,alm=vlm,>がリンク関連属性の配列である。リンク関連属性の例は、プロトコル、srcポート、dstポート、メッセージタイプ、リンクタイプ等である。特定のリンクの特定の属性に言及するためにLj.aliと記述し、例えば、Lj.protoは、リンクLjのproto属性を示す。また、リンクのソース(又は宛先)ホストの特定の属性に言及するためにLj.Hsrc.ahiと記述し、例えば、L.Hsrc.ipは、リンクのソースホストのIPアドレスを指す(或いは、L.Hdst.ahiはホスト宛先の属性を指す。例えば、L.Hdst.ip)。
[定義4(コンテキスト属性AC)]
コンテキストCは、ネットワークアクティビティ周辺の一連の環境であり、ネットワーク又はシステムに関連する属性セットによって表すことができる。コンテキストは、AC:<ac1=vc1,ac2=vc2,..,acn=vck,>として表記される。コンテキスト関連属性の例は、時間、地理的場所、監視するネットワークのタイプ(例えば、公共事業、製造、及びオートメーション)、特定の期間にわたる類似のメッセージの数、その他を含む。
[定義5(ネットワークメッセージm)]
通信プロトコルは、2又はそれ以上のホストが、明確に定義された構造を有する要素の使用を通じて情報を交換できるようにするルール体系である。これらの要素の構造は、プロトコルごとに大きく変化し、プロトコルの用語も変わり、要素は、パケット、フレーム、又はメッセージと呼ぶことができる。プロトコルとは無関係に、ネットワーク通信の基本要素を指すためにメッセージという用語を用いる。フィールド列<f1,f2, …fz,>を所与とすると、フィールド値vfj ∈ Vjを定義し、j ∈[1,z]は値域Vj内のフィールドfjによって取られる値であり、メッセージmをフィールド値列m= <f1=vf1,f2=vf2,..,fz=vfz>として定義する。
[定義6(明示属性)]
ホスト関連属性及びリンク関連属性のセットA=AH∪AL=<a1=va1,a2=va2,..,an=van>を所与として、この場合のa1 ∈ Aは値va1 ∈ V1を有し、i∈[1,n]及びメッセージ列M= <m1,m2,…,mw>、mj ∈Mはmj= <f1j= vf1j,f2j= vf2j,…,fzj= vfzj>の形式であり、j ∈[1,w]で、属性a1の値がM内のメッセージの何れかの単一フィールド値と同等の場合、すなわち、属性の指標i、メッセージフィールドの指標k、及びメッセージの指標jとして、vai= vfkjの場合、属性a1は明示的である。明示属性をaeと呼ぶことにする。
[定義7(暗黙(又は意味)属性)]
ホスト関連属性及びリンク関連属性のセットA=AH∪AL=<a1=va1,a2=va2,..,an=van>を所与として、この場合のa1 ∈Aは値va1 ∈V1を有し、 i ∈[1,n]及びメッセージ列M= <m1,m2,…,mw>、mj ∈Mはmj= <f1j= vf1j,f2j= vf2j,…,fzj= vfzj>の形式であり、j ∈[1,w]で、属性a1の値が、(場合によっては)複数のメッセージにわたる複数のフィールド値及びコンテキスト関連属性ACの関数である場合、すなわち、M'⊆M x ACとしてg(M')= vaiとなるような関数g()が存在する場合、属性a1は暗黙的又は意味的である。暗黙属性をaiと呼ぶことにする。
[定義8(属性ベースポリシー)]
属性ベースのポリシーPは、以下のように定義することができる。
ホスト関連属性、リンク関連属性、及びコンテキスト関連属性のセットA=AH∪AL∪AC=<a1=va1,a2=va2,..,an=van>を所与として、ここでa1 ∈Aは値va1 ∈V1を有し、i ∈[1,n]で、属性ベースのポリシーは以下のように定義する。
P : if < ATTRIBUTE OP VALUE [{LOGICOP ATTRIBUTE OP VALUE}]> then ACTION [{, OBLIGATION}]>
ここで、
・ATTRIBUTEは、あらゆるホストベース、リンクベース、又はコンテキストベースの属性ai P Aとすることができる。
・OPは、あらゆる比較演算とすることができる
Figure 2021515498
・VALUEは、属性aiが取ることができるあらゆる値vai E Viである。
・LOGICOPは、あらゆる論理演算子である

Figure 2021515498

・ACTIONは、ポリシーの肯定一致の場合に行うべきことを定義する(例えば、拒否又は許可)
・OBLIGATIONは、一致の場合に行うべき追加の動作を定義する(例えば、name@domain.comに電子メールを送信、優先度をhighに設定、クリティカリティをmediumに設定)。
[定義9(隔離)]
隔離Qは、形式q:<ID,Target,Hyp0,Hyp1,E,M>のレコードqのリストであり、ここで、
IDは、レコードqの識別子であり;
Target∈{Host,Link}は、隔離内にあるホストH又はリンクLである。
Hyp0∈{0,1}は、隔離内のホスト/リンクが正当であるという仮説への支援(例えば、確率)である。
Hyp1∈{0,1}は、隔離内のホスト/リンクが悪意があるという仮説への支援(例えば、確率)である。
E:<e1,e2,...,en>は、支援を計算するために用いられるエビデンスを構成するイベントのリストである。イベントの例は、新規ホスト、新規ホストの属性値(役割=PLC)、新規リンク、新規リンクの属性値(L.MrssageType=reprogram)、アラート、ユーザフィードバック...等を含むことができる。
M:<m1, m2, ..., mn>は、隔離内のホスト/リンクに関連するネットワークメッセージセットである。
[定義10(検出及び隔離アルゴリズム)]
検出及び隔離アルゴリズムは以下のように機能することができる:
1.Pを属性ベースのポリシーセットとし、ここで、pi. action==deny(拒否)の場合、pi ∈ Pをブラックリストと呼び、pj. action==permit(許可)の場合、pj ∈ Pをホワイトリストと呼ぶ。
2.Q= <q1, q2, …, qn,>を隔離とし、q1 ∈ Qは、qi= <IDi,Targeti, Hyp01, Hyp1i, Ei ,Mi>の形式である。
3.あらゆる新規のネットワークメッセージmに関して
(f)mからソースホストHsrc、宛先ホストHdst、及びリンクLを抽出
i.Hsrc(又はHdst又はL)が既知のホスト/リンクのデータベース内にない場合は、これを隔離に追加し、すなわち、
Figure 2021515498
q(n+1)をQに追加する(Hdst 又はLに関しても同様のことを行う)。
(g)Hsrc, Hdst, 及びLの明示属性及び暗黙属性を抽出
(h)抽出した属性が整合性ルールに従わない場合、「整合性違反」についてのアラートを生成:
i.アラートが、隔離内に存在するホスト又はリンクに関わる場合、アラートをエビデンスとして追加することによりそれぞれの隔離アイテムをアップデート
ii.それ以外の場合は、アラートをアラートリストに追加
(i)それ以外の場合、Hsrc, Hdst,及びLを新規の属性値でアップデート
i.Hsrc, Hdst,又はLが隔離内にある場合、新規属性値をエビデンスとして追加することによりそれぞれの隔離アイテムをアップデート
(j)mを各属性ベースのポリシーpi ∈ Pに対して照合
i.mがブラックリストポリシーに一致する場合は、「ブラックリスト違反」についてのアラートを生成;
A.アラートが、隔離内に存在するホスト又はリンクに関わる場合、アラートをエビデンスとして追加することによりそれぞれの隔離アイテムをアップデート
B.それ以外の場合は、アラートをアラートリストに追加
ii.それ以外でmがホワイトリストポリシーに一致する場合、次のネットワークメッセージの分析に進む。
iii.それ以外でmがホワイトリストポリシーに一致しない場合、「非ホワイトリスト違反」についてのアラートを生成;
A.アラートが、隔離内に存在するホスト又はリンクに関わる場合、アラートをエビデンスとして追加することによりそれぞれの隔離アイテムをアップデート
B.それ以外の場合は、アラートをアラートリストに追加
iv.それ以外でmの一致が未定義の場合(すなわち、例えば、属性の一部が未定義であるので、ポリシーに一致しない)、ポリシー候補(例えば、将来的に一致し得るポリシー)をエビデンスとして追加することによりそれぞれの隔離アイテムをアップデート
[定義11(自己アップデートアルゴリズム)]
自己アップデートアルゴリズムは、新たに出現する挙動から新規のブラックリスト/ホワイトリストポリシーを抽出するために、隔離内に含まれる情報を保持して分析する。アルゴリズムは、以下のように機能する。
1.Q= <q1, q2, …, qn,>を隔離とし、q1 ∈ Qは、qi= <IDi,Targeti, Hyp01, Hyp1i, Ei ,Mi>の形式である。
2.新規エビデンスeiを隔離アイテムqjのエビデンスEiに追加する時は常に:
(d)新規のエビデンスeiを考慮することにより、隔離アイテムqiが正当(Hyp0i)か又は悪意がある(Hyp1i)という仮説への支援を(再)計算する。実施可能な実施形態において、支援は、エビデンスタイプに基づいて計算することができる。例えば、ei==新規ホストの場合、新規ホストと既知のホストとの類似性を計算して、類似性が高い場合はHyp0iを増加させ、類似性が低い場合はHyp1iを増加させる。新規属性値又は新規リンクの場合も同様の手法を行うことができる。別の実施形態では、一次論理、ベイズ推定又はデンプスター・シェファーのエビデンス理論等の技術を用いて、支援を計算することができる。
3.各アイテムq ∈ Qに関して、ユーザは、Hyp0及び/又はHyp1の関連する値に直接影響を与えることになるフィードバックを提供することができる。
4.各アイテムq ∈Qに関して及び所与の閾値τに関して、トリガーが開始される時に(例えば、一定期間が経過した又はユーザがフィードバックを提供した):
a.q.Hyp0>τの場合、Qからqを削除して、ネットワークメッセージq.Mを正当なメッセージセットMlegitに追加する。
b.q.Hyp1→τの場合、Qからqを削除して、ネットワークメッセージq.Mを悪意があるメッセージセットMmaliciousに追加する。
5.新規のホワイトリストポリシーを学習するために、Mlegitを学習アルゴリズムへの入力として与える
6.新規のブラックリストポリシーを学習するために、Mmaliciousを学習アルゴリズムへの入力として与える
7.現在のホワイトリストポリシー及びブラックリストポリシーをアップデート
以下の番号付きの条項101−146は本明細書の一部を形成する。
101.データ通信ネットワーク上でのデータトラフィック内の異常挙動検出方法であって、データ通信ネットワークに第1ホスト及び第2ホストが接続され、データ通信ネットワーク上のデータトラフィックが、第1ホストと第2ホストとの間のリンクを提供し(ネットワーク通信を形成)、
本方法は:
a)データトラフィックを解析して、データトラフィックのプロトコルメッセージのプロトコルフィールド値を抽出するステップと、
b)抽出したプロトコルフィールド値から、第1ホスト、第2ホスト、及びリンクのうちの1つについての属性の属性値を導出するステップと、
c)モデルセットから、第1ホスト、第2ホスト、及びリンクのうちの1つに関連するモデルを選択するステップであって、選択されたモデルは、第1ホスト、第2ホスト、及びリンクのうちの1つについて記述する複数の属性を含む、ステップと、
d)導出された属性値が、第1ホスト、第2ホスト、及びリンクのうちの1つに関連する選択されたモデルにおいて(例えば、選択時に)特徴付けられていない場合に、選択されたモデルを導出された属性値でアップデートするステップと、
e)アップデートされ選択されたモデルが属性ベースのポリシーセットに従うかどうかを評価するステップであって、属性ベースのポリシーセットのうちの各属性ベースのポリシーは、第1ホスト、第2ホスト、又はリンクの属性のうちの少なくとも1つの属性に基づいて、データ通信ネットワークのセキュリティ上の制約を定義する、ステップと、
f)属性ベースのポリシーが、アップデートされ選択されたモデルが属性ベースのポリシーの少なくとも1つに違反することを示す場合に、アラート信号を発生させるステップと、を含み、
本方法は更に、データトラフィックから属性ベースのポリシーを学習するステップを含み、学習するステップは、学習フェーズにおいて、
・データトラフィックを監視するステップと、
・監視するデータトラフィックからホスト属性及びリンク属性を導出するステップと、
・データトラフィックを属性ベースのトランザクションのデータセットに変換するステップと、
・データセット内のホスト属性値及びリンク属性値のアイテムセットの頻度を考慮することによりルールを生成するステップであって、ルールのうちの各ルールは、条件を定義する前件及び動作を定義する後件を含む、ステップと、
・各ルールに関して、そのルールがどのくらいの頻度で当てはまるように現れるかを指定する信頼性レベルと、ルールの基礎となるアイテムセットがデータセット内にどのくらいの頻度で現れるかを指定する支援レベルと、を決定するステップと、
・支援レベル及び信頼性レベルに基づいて、ルールを選択するステップと、
・選択したルールの前件及び後件を結び付けることにより、属性ベースのポリシーの条件を定義して、
・支援レベル及び/又は信頼性レベルに基づいて、属性ベースのポリシーの動作を定義する、
ことによって、
・ルールを属性ベースのポリシーに変換するステップと、
を含む。
102.支援レベル及び信頼性レベルに基づいてルールを選択するステップは、
ホワイトリストポリシーに関して、所定の正の信頼性レベルを上回る信頼性レベルを有し且つ所定の支援レベルを上回る支援レベルを有するルールを選択するステップを含む、条項101に記載の方法。
103.支援レベル及び信頼性レベルに基づいてルールを選択するステップは、
ブラックリストポリシーに関して、所定の負の信頼性レベルを下回る信頼性レベルを有し且つ所定の支援レベルを上回る支援レベルを有するルールを選択するステップを含む、条項101又は102に記載の方法。
104.ホスト属性及びリンク属性からルールを生成するステップは、関連付けルールをホスト属性及びリンク属性に適用するステップを含む、条項101〜103の何れか1項に記載の方法。
105.ホスト属性及びリンク属性からルールを生成するステップは、頻繁なアイテムセットの抽出をホスト属性及びリンク属性に適用するステップを含む、条項101〜104の何れか1項に記載の方法。
106.ルールを属性ベースのポリシーに変換するステップは更に、
・冗長ポリシーを削除することによりポリシーの数を削減するステップであって、ポリシーは、ポリシーの条件が別のポリシーの条件全体を含む場合に冗長である、ステップと、
・2つのポリシーが同じ条件を共有するが、これら2つのポリシーが異なる動作を含むというコンフリクトの場合、支援及び信頼性が低いポリシーを削除するステップを含む、条項101〜105の何れか1項に記載の方法。
107.属性の少なくとも1つは、第1ホスト、第2ホスト、及びリンクのうちの1つについての意味的意味を表す意味属性である、条項101〜106の何れか1項に記載の方法。
108.少なくとも1つの意味属性の値は、異なる時点においてデータ通信ネットワーク上で送信される少なくとも2つのプロトコルメッセージから取得したプロトコルフィールド値の組み合わせから導出される、条項101〜107の何れか1項に記載の方法。
109.モデルセットは、第1ホストのモデル、第2ホストのモデル、及びリンクのモデルを含み、モデルの各々が、少なくとも1つの意味属性を含む、条項101〜108の何れか1項に記載の方法。
110.ポリシーは各々、条件を満たす場合の結果を定義し、この条件は、定義済みの属性値を有する属性のうちの少なくともそれぞれ1つに関して定義され、属性ベースのポリシーの結果は、選択されたモデルが許容可能か又は許容不可かを示す、条項101〜110の何れか1項に記載の方法。
111.各ポリシーの条件は、少なくとも1つの意味属性の値を含む、条項101〜110の何れか1項に記載の方法。
112.上記b)はプロトコルフィールド値にルールを適用するステップを含み、ルールは、プロトコルフィールド値に基づいて、属性に属性値を割り当てる、条項101〜111の何れか1項に記載の方法。
113.上記b)は、属性値にプロトコルフィールドをダイレクトマッピングするステップを含む、条項101〜112の何れか1項に記載の方法。
114.前記b)は、ヒューリスティクスをデータトラフィックに適用して、ヒューリスティクスを用いて意味属性の値を導出するステップを含む、条項101〜113の何れか1項に記載の方法。
115.前記b)は、分類子をデータトラフィックに適用して、分類子を用いて意味属性の値を導出するステップを含む、条項101〜114の何れか1項に記載の方法。
116.分類子の信頼性レベルを決定するステップを更に含み、信頼性レベルが所定の信頼性レベルを上回る時にのみ、属性値が分類子から導出される、条項115に記載の方法。
117.ヒューリスティクスを用いて得られる属性値は、分類子を用いて得られる属性値よりも高い優先度を有する、条項114〜116の何れか1項に記載の方法。
118.データ通信ネットワークにはスティミュラスが注入されない、条項101〜117の何れか1項に記載の方法。
119.ステップb)、c)、d)、及びe)が、第1ホスト、第2ホスト、及びリンクに関して実行され、モデルセットは、第1ホストに関連するモデル、第2ホストに関連するモデル、及びリンクに関連するモデルを含み、属性ベースのポリシーセットのうちの属性ベースのポリシーは、第1ホストの属性、第2ホストの属性、及びリンクの属性に関する条件を定義する、条項101〜118の何れか1項に記載の方法。
120.属性ベースのポリシーセットは、ホワイトリストポリシーを含み、ホワイトリストポリシーの結果は、選択されたモデルが許容可能かどうかを示す、条項101〜119の何れか1項に記載の方法。
121.属性ベースのポリシーセットは、ブラックリストポリシーを含み、ブラックリストポリシーの結果は、選択されたモデルが許容可能ではないかどうかを示す、条項101〜120の何れか1項に記載の方法。
122.整合性ルールを提供するステップを更に含み、整合性ルールは、第1ホスト、第2ホスト、及びリンクのうちの1つに関連するモデルの属性の少なくとも2つの属性値の整合性のある組み合わせを定義し、
・監視するデータトラフィックから導出された属性の値に基づいて、監視するデータトラフィックが整合性ルールに従うかどうかを検証するステップと、
・第1ホスト、第2ホスト、及びリンクのうちの1つに関連するデータトラフィックが整合性ルールに従わない場合に、第1ホスト、第2ホスト、及びリンクのうちの1つに関連するデータトラフィックを隔離内に格納するステップと、を含む、条項101〜121の何れか1項に記載の方法。
123.監視するデータトラフィックから導出された属性の値に基づいて、監視するデータトラフィックが整合性ルールに従うかどうかを検証するステップが、ステップe)の前に実行される、条項122に記載の方法。
124.整合性ルールは、データトラフィックの発生時間及びデータトラフィックの発生場所のうちの少なくとも1つを含む、条項122又は123に記載の方法。
125.第1ホストに関連する整合性ルールは、別のホストの属性、好ましくは第2ホストの属性を含む、条項122〜124の何れか1項に記載の方法。
126.ホストグループが定義され、本方法は、属性が関連するホストがグループ内に含まれるかどうかを決定するステップと、属性が関連するホストがグループ内に含まれる場合に整合性ルールを適用するステップと、を含む、条項122〜125の何れか1項に記載の方法。
127.整合性ルールは、機械学習を用いて、好ましくは関連付けルールを用いて学習される、条項122〜126の何れか1項に記載の方法。
128.属性ベースのポリシーは更に、動作を実行する時間、及び動作がそれを介して実行されるリンクのうちの少なくとも1つを表す、条項101〜127の何れか1項に記載の方法。
129.属性ベースのポリシーセットは、ホワイトリストポリシーを含み、ホワイトリストポリシーの結果は、選択されたモデルが許容可能かどうかを示し、第1ホスト、第2ホスト、又はリンクに関連するモデルが、ホワイトリストポリシーの何れにも一致できない場合は、第1ホスト、第2ホスト、又はリンクのそれぞれに関連するデータ通信は、隔離内にリストされる、条項101〜128の何れか1項に記載の方法。
130.プロトコルメッセージが、モデルを利用可能ではないホスト又はリンクについての情報を伝える場合、それぞれのホスト又はリンクが隔離内にリストされる、条項101〜129の何れか1項に記載の方法。
131.隔離内にリストされたホスト又はリンクに関連する属性値を導出するステップを更に含む、条項130に記載の方法。
132.隔離内にリストされたホスト又はリンクに関連する属性値から、隔離内にリストされたホスト又はリンクが正当であるという仮説への支援を計算するステップと、隔離内にリストされたホスト又はリンクに関連する属性値から、隔離内にリストされたホスト又はリンクが悪意があるという仮説への支援を計算するステップと、任意選択的に、隔離内にリストされたホスト又はリンクが正当であるという仮説への支援、或いは隔離内にリストされたホスト又はリンクが悪意があるという仮説への支援が所定の閾値を上回る場合は、属性ベースのポリシーセットをアップデートするステップと、を更に含む、条項131に記載の方法。
133.仮説への支援を計算するステップは、隔離内にリストされたホスト又はリンクの属性値がアップデートされていた時に繰り返される、条項132に記載の方法。
134.隔離は、隔離内にリストされたホスト及び/又はリンクに関して、
ホスト又はリンクの識別
ホスト又はリンクの既知の属性値のリスト
ホスト又はリンクが正当であるという仮説への支援
ホスト又はリンクが悪意があるという仮説への支援
仮説への支援を決定するのに用いられるデータトラフィックの識別
を含む、条項30〜133の何れか1項に記載の方法。
135.本方法は、整合性ルールを用いて、隔離内のホスト又はリンクの属性値の整合性をチェックするステップを更に含む、条項131〜134の何れか1項に記載の方法。
136.本方法は、属性ベースのポリシーを用いて、隔離内のホスト又はリンクの属性値が属性ベースのポリシーセットに従うかどうかを評価するステップを更に含む、条項131〜135の何れか1項に記載の方法。
137.隔離内にリストされたホスト又はリンクの属性から属性ベースのポリシーを導出するステップを更に含む、条項131〜136の何れか1項に記載の方法。
138.新規のホワイトリストポリシーは、隔離内のホスト又はリンクに関連するプロトコルメッセージの発生頻度がホワイトリスト閾値を上回る場合に、隔離内のホスト又はリンクに関連するプロトコルメッセージから導出された属性値から導出される、条項137に記載の方法。
139.隔離内に格納されたデータトラフィックのホスト属性及びリンク属性から属性ベースのポリシーを導出するステップは、
・隔離内のホスト及び/又はリンクに関連するデータトラフィックが観察される時に、隔離内のホスト又はリンクが正当か又は悪意があるという仮説への支援を(再)計算するステップと、
・隔離内のホスト又はリンクが正当であるという仮説への支援がホワイトリスト閾値を上回る場合、このホスト又はリンクを隔離から削除して、このホスト又はリンクに関連するデータトラフィックを新規のホワイトリストポリシーの抽出のために用いるステップと、
・隔離内のホスト/リンクが悪意があるという仮説への支援がブラックリスト閾値を上回る場合、アラートを発して、このホスト又はリンクに関連するデータトラフィックを用いて新規のブラックリストポリシーを抽出するステップと、
・抽出した新規のホワイトリスト又はブラックリストポリシーを用いて現在のポリシーをアップデートするステップと、
を含む、条項137又は138に記載の方法。
140.隔離内のホスト又はリンクが正当か又は悪意があるという仮説への支援を(再)計算するステップは、
隔離内のホスト又はリンクと別のホスト又はリンクとの類似性を計算するステップを含む、条項139に記載の方法。
141.ホスト又はリンクに関連するデータトラフィックを用いて新規のホワイトリストポリシーを抽出するステップ、或いはホスト又はリンクに関連するデータトラフィックを用いて新規のブラックリストポリシーを抽出するステップは、
上記条項の何れかによる、ホワイトリストポリシー又はブラックリストポリシーを学習するステップを含む、条項139又は140に記載の方法。
142. 抽出したプロトコルフィールド値から導出された属性値は、第1ホスト、第2ホスト、及びリンクのうちの1つについてのプロトコル汎用特徴を記述すること、及び
属性ベースのポリシーは、宣言型ポリシーを含むこと、
のうちのうちの少なくとも1つを含む、条項101〜141の何れか1項に記載の方法。
143.隔離は、ホスト又はリンクが正当か又は悪意があるかに関して判断が行われていないホスト、リンク、又はホストとリンクの組み合わせのリストを格納する、条項101〜142の何れか1項に記載の方法。
144.上記条項101〜143の何れか1項に記載の方法を実行するように構成された侵入検出システム。
145.条項144に記載の侵入検出システムを備えたデータ通信ネットワーク。
146.条項44に記載の侵入検出システムを備えた装置。
以下の番号付きの条項201〜244は本明細書の一部を形成する。
201.データ通信ネットワーク上でのデータトラフィック内の異常挙動検出方法であって、データ通信ネットワークに第1ホスト及び第2ホストが接続され、データ通信ネットワーク上のデータトラフィックが、第1ホストと第2ホストとの間のリンクを提供し(ネットワーク通信を形成)、
本方法は:
a)データトラフィックを解析して、データトラフィックのプロトコルメッセージのプロトコルフィールド値を抽出するステップと、
b)抽出したプロトコルフィールド値から、第1ホスト、第2ホスト、及びリンクのうちの1つについての属性の属性値を導出するステップと、
c)モデルセットから、第1ホスト、第2ホスト、及びリンクのうちの1つに関連するモデルを選択するステップであって、選択されたモデルは、第1ホスト、第2ホスト、及びリンクのうちの1つについて記述する複数の属性を含む、ステップと、
d)導出された属性値が、第1ホスト、第2ホスト、及びリンクのうちの1つに関連する選択されたモデルにおいて特徴付けられていない場合に、選択されたモデルを導出された属性値でアップデートするステップと、
e)アップデートされ選択されたモデルが属性ベースのポリシーセットに従うかどうかを評価するステップであって、属性ベースのポリシーセットのうちの各属性ベースのポリシーは、第1ホスト、第2ホスト、又はリンクの属性のうちの少なくとも1つの属性に基づいて、データ通信ネットワークのセキュリティ上の制約を定義する、ステップと、
f)属性ベースのポリシーが、アップデートされ選択されたモデルが属性ベースのポリシーの少なくとも1つに違反することを示す場合に、アラート信号を発生させるステップと、を含み、
プロトコルメッセージが、モデルを利用可能ではないホスト又はリンクについての情報を伝える場合、それぞれのホスト又はリンクが隔離内にリストされ、
本方法が更に、
隔離内にリストされたホスト又はリンクに関連する属性値を導出するステップと、
隔離内にリストされたホスト又はリンクの属性から属性ベースのポリシーを導出するステップと、
を含む、
202.新規のホワイトリストポリシーは、隔離内のホスト又はリンクに関連するプロトコルメッセージの発生頻度がホワイトリスト閾値を上回る場合に、隔離内のホスト又はリンクに関連するプロトコルメッセージから導出された属性値から導出される、条項201に記載の方法。
隔離内にリストされたデータトラフィックの属性から属性ベースのポリシーを導出するステップは、
・隔離内のホスト及び/又はリンクに関連するデータトラフィックが観察される時に、隔離内のホスト又はリンクが正当か又は悪意があるという仮説への支援を(再)計算するステップと、
・隔離内のホスト又はリンクが正当であるという仮説への支援がホワイトリスト閾値を上回る場合、このホスト又はリンクを隔離から削除して、このホスト又はリンクに関連するデータトラフィックを新規のホワイトリストポリシーの抽出のために用いるステップと、
・隔離内のホスト/リンクが悪意があるという仮説への支援がブラックリスト閾値を上回る場合、アラートを発して、このホスト又はリンクに関連するデータトラフィックを用いて新規のブラックリストポリシーを抽出するステップと、
・抽出した新規のホワイトリスト又はブラックリストポリシーを用いて現在のポリシーをアップデートするステップと、を含む、条項201又は202に記載の方法。
204.隔離内のホスト又はリンクが正当か又は悪意があるという仮説への支援を(再)計算するステップは、
隔離内のホスト又はリンクと別のホスト又はリンクとの類似性を計算するステップを含む、条項203に記載の方法。
205.ホスト又はリンクに関連するデータトラフィックを用いて新規のホワイトリストポリシーを抽出するステップ、或いはホスト又はリンクに関連するデータトラフィックを用いて新規のブラックリストポリシーを抽出するステップは、
隔離内にリストされたホスト又はリンクの属性から、ホワイトリストポリシー又はブラックリストポリシーのそれぞれを学習するステップを含む、条項203又は204に記載の方法。
206.隔離内にリストされたホスト又はリンクに関連する属性値から、隔離内にリストされたホスト又はリンクが正当であるという仮説への支援を計算するステップと、隔離内にリストされたホスト又はリンクに関連する属性値から、隔離内にリストされたホスト又はリンクが悪意があるという仮説への支援を計算するステップと、任意選択的に
隔離内にリストされたホスト又はリンクが正当であるという仮説への支援、或いは隔離内にリストされたホスト又はリンクが悪意があるという仮説への支援が所定の閾値を上回る場合は、属性ベースのポリシーセットをアップデートするステップと、を更に含む、条項201〜205の何れか1項に記載の方法。
207.仮説への支援を計算するステップは、隔離内にリストされたホスト又はリンクの属性値がアップデートされていた時に繰り返される、条項206に記載の方法。
208.隔離は、隔離内にリストされたホスト及び/又はリンクに関して、
ホスト又はリンクの識別
ホスト又はリンクの既知の属性値のリスト
ホスト又はリンクが正当であるという仮説への支援
ホスト又はリンクが悪意があるという仮説への支援
仮説への支援を決定するのに用いられるデータトラフィックの識別
を含む、条項201〜207の何れか1項に記載の方法。
209.本方法は、整合性ルールを用いて、隔離内のホスト又はリンクの属性値の整合性をチェックするステップを更に含む、条項201〜208の何れか1項に記載の方法。
210.本方法は、属性ベースのポリシーを用いて、隔離内のホスト又はリンクの属性値が属性ベースのポリシーセットに従うかどうかを評価するステップを更に含む、条項201〜209の何れか1項に記載の方法。
211.属性の少なくとも1つは、意味属性であり、意味属性は、第1ホスト、第2ホスト、及びリンクのうちの1つについての意味論的意味を表す、条項201〜210の何れか1項に記載の方法。
212.少なくとも1つの意味属性の値は、異なる時点においてデータ通信ネットワーク上で送信される少なくとも2つのプロトコルメッセージから取得したプロトコルフィールド値の組み合わせから導出される、条項201〜211の何れか1項に記載の方法。
213.モデルセットは、第1ホストのモデル、第2ホストのモデル、及びリンクのモデルを含み、モデルの各々が、少なくとも1つの意味属性を含む、条項201〜212の何れか1項に記載の方法。
214.ポリシーは各々、条件を満たす場合の結果を定義し、この条件は、定義済みの属性値を有する属性のうちの少なくともそれぞれ1つに関して定義され、属性ベースのポリシーの結果は、選択されたモデルが許容可能か又は許容不可かを示す、条項201〜213の何れか1項に記載の方法。
215.各ポリシーの条件は、少なくとも1つの意味属性の値を含む、条項201〜214の何れか1項に記載の方法。
216.上記b)はプロトコルフィールド値にルールを適用するステップを含み、ルールは、プロトコルフィールド値に基づいて、属性に属性値を割り当てる、条項201〜215の何れか1項に記載の方法。
217.上記b)は、属性値にプロトコルフィールドをダイレクトマッピングするステップを含む、条項101〜216の何れか1項に記載の方法。
218.前記b)は、ヒューリスティクスをデータトラフィックに適用して、ヒューリスティクスを用いて意味属性の値を導出するステップを含む、条項201〜217の何れか1項に記載の方法。
219.前記b)は、分類子をデータトラフィックに適用して、分類子を用いて意味属性の値を導出するステップを含む、条項201〜218の何れか1項に記載の方法。
220.分類子の信頼性レベルを決定するステップを更に含み、信頼性レベルが所定の信頼性レベルを上回る時にのみ、属性値が分類子から導出される、条項219に記載の方法。
221.ヒューリスティクスを用いて得られる属性値は、分類子を用いて得られる属性値よりも高い優先度を有する、条項218〜220の何れか1項に記載の方法。
222.データ通信ネットワークにはスティミュラスが注入されない、条項201〜221の何れか1項に記載の方法。
223.ステップb)、c)、d)、及びe)が、第1ホスト、第2ホスト、及びリンクに関して実行され、モデルセットは、第1ホストに関連するモデル、第2ホストに関連するモデル、及びリンクに関連するモデルを含み、属性ベースのポリシーセットのうちの属性ベースのポリシーは、第1ホストの属性、第2ホストの属性、及びリンクの属性に関する条件を定義する、条項201〜221の何れか1項に記載の方法。
224.属性ベースのポリシーセットは、ホワイトリストポリシーを含み、ホワイトリストポリシーの結果は、選択されたモデルが許容可能かどうかを示す、条項201〜223の何れか1項に記載の方法。
225.属性ベースのポリシーセットは、ブラックリストポリシーを含み、ブラックリストポリシーの結果は、選択されたモデルが許容可能ではないかどうかを示す、条項201〜224の何れか1項に記載の方法。
226.整合性ルールを提供するステップを更に含み、整合性ルールは、第1ホスト、第2ホスト、及びリンクのうちの1つに関連するモデルの属性の少なくとも2つの属性値の整合性のある組み合わせを定義し、
・監視するデータトラフィックから導出された属性の属性値に基づいて、監視するデータトラフィックが整合性ルールに従うかどうかを検証するステップと、
・第1ホスト、第2ホスト、及びリンクのうちの1つに関連するデータトラフィックが整合性ルールに従わない場合に、第1ホスト、第2ホスト、及びリンクのうちの1つに関連するデータトラフィックを隔離内に格納するステップと、を含む、条項201〜225の何れか1項に記載の方法。
227.監視するデータトラフィックから導出された属性の値に基づいて、監視するデータトラフィックが整合性ルールに従うかどうかを検出するステップを、ステップe)の前に実行される、条項226に記載の方法。
228.整合性ルールは、データトラフィックの発生時間及びデータトラフィックの発生場所のうちのうちの少なくとも1つを含む、条項226又は227に記載の方法。
229.第1ホストに関連する整合性ルールは、別のホストの属性、好ましくは第2ホストの属性を含む、条項226〜228の何れか1項に記載の方法。
230.ホストグループが定義され、本方法は、属性が関連するホストがグループ内に含まれるかどうかを決定するステップと、属性が関連するホストがグループ内に含まれる場合に整合性ルールを適用するステップと、を含む、条項226〜229の何れか1項に記載の方法。
231.整合性ルールは、機械学習を用いて、好ましくは関連付けルールを用いて学習される、条項226〜230の何れか1項に記載の方法。
232.属性ベースのポリシーは更に、動作を実行する時間、及び動作がそれを介して実行されるリンクのうちの少なくとも1つを表す、条項201〜231の何れか1項に記載の方法。
233.データトラフィックから属性ベースのポリシーを学習するステップを含み、学習するステップは、学習フェーズにおいて、
・データトラフィックを監視するステップと、
・監視するデータトラフィックからホスト属性及びリンク属性を導出するステップと、
・データトラフィックを属性ベースのトランザクションのデータセットに変換するステップと、
・データセット内のホスト属性値及びリンク属性値のアイテムセットの頻度を考慮することによりルールを生成するステップであって、ルールのうちの各ルールは、条件を定義する前件及び動作を定義する後件を含む、ステップと、
・各ルールに関して、そのルールがどのくらいの頻度で当てはまるように現れるかを指定する信頼性レベルと、ルールの基礎となるアイテムセットがデータセット内にどのくらいの頻度で現れるかを指定する支援レベルと、を決定するステップと、
・支援レベル及び信頼性レベルに基づいて、ルールを選択するステップと、
・選択したルールの前件及び後件を結び付けることにより、属性ベースのポリシーの条件を定義して、
・支援レベル及び/又は信頼性レベルに基づいて、属性ベースのポリシーの動作を定義する、
ことによって、
・ルールを属性ベースのポリシーに変換するステップと、
を含む、条項201〜232の何れか1項に記載の方法。
234.支援レベル及び信頼性レベルに基づいてルールを選択するステップは、
ホワイトリストポリシーに関して、所定の正の信頼性レベルを上回る信頼性レベルを有し且つ所定の支援レベルを上回る支援レベルを有するルールを選択するステップを含む、条項233に記載の方法。
235.支援レベル及び信頼性レベルに基づいてルールを選択するステップは、
ブラックリストポリシーに関して、所定の負の信頼性レベルを下回る信頼性レベルを有し且つ所定の支援レベルを上回る支援レベルを有するルールを選択するステップを含む、条項233又は234に記載の方法。
236.ホスト属性及びリンク属性からルールを生成するステップは、関連付けルールをホスト属性及びリンク属性に適用するステップを含む、条項233〜235の何れか1項に記載の方法。
237.ホスト属性及びリンク属性からルールを生成するステップは、頻繁なアイテムセットの抽出をホスト属性及びリンク属性に適用するステップを含む、条項233〜236の何れか1項に記載の方法。
238.ルールを属性ベースのポリシーに変換するステップは更に、
・冗長ポリシーを削除することによりポリシーの数を削減するステップであって、ポリシーは、ポリシーの条件が別のポリシーの条件全体を含む場合に冗長である、ステップと、
・2つのポリシーが同じ条件を共有するが、これら2つのポリシーが異なる動作を含むというコンフリクトの場合、支援及び信頼性が低いポリシーを削除するステップを含む、
条項233〜237の何れか1項に記載の方法。
239.属性ベースのポリシーセットは、ホワイトリストポリシーを含み、ホワイトリストポリシーの結果は、選択されたモデルが許容可能かどうかを示し、第1ホスト、第2ホスト、又はリンクに関連するモデルが、ホワイトリストポリシーの何れにも一致できない場合は、第1ホスト、第2ホスト、又はリンクのそれぞれに関連するデータ通信は、隔離内にリストされる、条項201〜238の何れか1項に記載の方法。
240.
抽出したプロトコルフィールド値から導出された属性値は、第1ホスト、第2ホスト、及びリンクのうちの1つについてのプロトコル汎用特徴を記述すること、及び
属性ベースのポリシーは、宣言型ポリシーを含むこと、
のうちの少なくとも1つを含む、条項201〜239の何れか1項に記載の方法。
241.隔離は、ホスト又はリンクが正当か又は悪意があるかに関して判断が行われていないホスト、リンク、又はホストとリンクの組み合わせのリストを格納する、条項201〜240の何れか1項に記載の方法。
242.上記条項201〜241の何れか1項に記載の方法を実行するように構成された侵入検出システム。
243.条項242に記載の侵入検出システムを備えたデータ通信ネットワーク。
244.条項242に記載の侵入検出システムを備えた装置。
以下の番号付きの条項301〜344は本明細書の一部を形成する。
301.データ通信ネットワーク上でのデータトラフィック内の異常挙動検出方法であって、データ通信ネットワークに第1ホスト及び第2ホストが接続され、データ通信ネットワーク上のデータトラフィックが、第1ホストと第2ホストとの間のリンクを提供し(ネットワーク通信を形成)、
本方法は:
a)データトラフィックを解析して、データトラフィックのプロトコルメッセージのプロトコルフィールド値を抽出するステップと、
b)抽出したプロトコルフィールド値から、第1ホスト、第2ホスト、及びリンクのうちの1つについての属性の属性値を導出するステップと、
c)モデルセットから、第1ホスト、第2ホスト、及びリンクのうちの1つに関連するモデルを選択するステップであって、選択されたモデルは、第1ホスト、第2ホスト、及びリンクのうちの1つについて記述する複数の属性を含む、ステップと、
d)導出された属性値が、第1ホスト、第2ホスト、及びリンクのうちの1つに関連する選択されたモデルにおいて特徴付けられていない場合に、選択されたモデルを導出された属性値でアップデートするステップと、
e)アップデートされ選択されたモデルが属性ベースのポリシーセットに従うかどうかを評価するステップであって、属性ベースのポリシーセットのうちの各属性ベースのポリシーは、第1ホスト、第2ホスト、又はリンクの属性のうちの少なくとも1つの属性に基づいて、データ通信ネットワークのセキュリティ上の制約を定義する、ステップと、
f)属性ベースのポリシーが、アップデートされ選択されたモデルが属性ベースのポリシーの少なくとも1つに違反することを示す場合に、アラート信号を発生させるステップと、を含み、
プロトコルメッセージが、モデルを利用可能ではないホスト又はリンクについての情報を伝える場合、それぞれのホスト又はリンクが隔離内にリストされ、
本方法は更に、
前記隔離内にリストされた前記ホスト又は前記リンクに関連する属性値を導出するステップと、
隔離内にリストされたホスト又はリンクに関連する属性値から、隔離内にリストされたホスト又はリンクが正当であるという仮説への支援を計算するステップと、
隔離内にリストされたホスト又はリンクに関連する属性値から、隔離内にリストされたホスト又はリンクが悪意があるという仮説への支援を計算するステップと、任意選択的に
隔離内にリストされたホスト又はリンクが正当であるという仮説への支援、或いは隔離内にリストされたホスト又はリンクが悪意があるという仮説への支援が所定の閾値を上回る場合は、属性ベースのポリシーセットをアップデートするステップと、
を含む、方法。
302.仮説への支援を計算するステップは、隔離内にリストされたホスト又はリンクの属性値がアップデートされていた時に繰り返される、条項301に記載の方法。
303.隔離は、隔離内にリストされたホスト及び/又はリンクに関して、
ホスト又はリンクの識別
ホスト又はリンクの既知の属性値のリスト
ホスト又はリンクが正当であるという仮説への支援
ホスト又はリンクが悪意があるという仮説への支援
仮説への支援を決定するのに用いられるデータトラフィックの識別
を含む、条項301又は302に記載の方法。
304.本方法は、整合性ルールを用いて、隔離内のホスト又はリンクの属性値の整合性をチェックするステップを更に含む、条項301〜303の何れか1項に記載の方法。
305.本方法は、属性ベースのポリシーを用いて、隔離内のホスト又はリンクの属性値が属性ベースのポリシーセットに従うかどうかを評価するステップを更に含む、条項301〜304の何れか1項に記載の方法。
306.隔離内にリストされたホスト又はリンクの属性から属性ベースのポリシーを導出するステップを更に含む、条項301〜305の何れか1項に記載の方法。
307.新規のホワイトリストポリシーは、隔離内のホスト又はリンクに関連するプロトコルメッセージの発生頻度がホワイトリスト閾値を上回る場合に、隔離内のホスト又はリンクに関連するプロトコルメッセージから導出された属性値から導出される、条項306に記載の方法。
308.隔離内にリストされたホスト又はリンクの属性から属性ベースのポリシーを導出するステップは、
・隔離内のホスト及び/又はリンクに関連するデータトラフィックが観察される時に、隔離内のホスト又はリンクが正当か又は悪意があるという仮説への支援を(再)計算するステップと、
・隔離内のホスト又はリンクが正当であるという仮説への支援がホワイトリスト閾値を上回る場合、このホスト又はリンクを隔離から削除して、このホスト又はリンクに関連するデータトラフィックを新規のホワイトリストポリシーの抽出のために用いるステップと、
・隔離内のホスト/リンクが悪意があるという仮説への支援がブラックリスト閾値を上回る場合、アラートを発して、このホスト又はリンクに関連するデータトラフィックを用いて新規のブラックリストポリシーを抽出するステップと、
・抽出した新規のホワイトリスト又はブラックリストポリシーを用いて現在のポリシーをアップデートするステップと、を含む、条項306又は307に記載の方法。
309.隔離内のホスト又はリンクが正当か又は悪意があるという仮説への支援を(再)計算するステップは、
隔離内のホスト又はリンクと別のホスト又はリンクとの類似性を計算するステップを含む、条項308に記載の方法。
310.ホスト又はリンクに関連するデータトラフィックを用いて新規のホワイトリストポリシーを抽出するステップ、或いはホスト又はリンクに関連するデータトラフィックを用いて新規のブラックリストポリシーを抽出するステップは、
隔離内にリストされたホスト又はリンクの属性から、ホワイトリストポリシー又はブラックリストポリシーのそれぞれを学習するステップを含む、条項308又は309に記載の方法。
311.属性の少なくとも1つは、意味属性であり、意味属性は、第1ホスト、第2ホスト、及びリンクのうちの1つについての意味論的意味を表す、条項301〜310の何れか1項に記載の方法。
312.少なくとも1つの意味属性の値は、異なる時点においてデータ通信ネットワーク上で送信される少なくとも2つのプロトコルメッセージから取得したプロトコルフィールド値の組み合わせから導出される、条項301〜311の何れか1項に記載の方法。
313.モデルセットは、第1ホストのモデル、第2ホストのモデル、及びリンクのモデルを含み、モデルの各々が、少なくとも1つの意味属性を含む、条項301〜312の何れか1項に記載の方法。
314.ポリシーは各々、条件を満たす場合の結果を定義し、この条件は、定義済みの属性値を有する属性のうちの少なくともそれぞれ1つに関して定義され、属性ベースのポリシーの結果は、選択されたモデルが許容可能か又は許容不可かを示す、条項301〜313の何れか1項に記載の方法。
315.各ポリシーの条件は、少なくとも1つの意味属性の値を含む、条項301〜314の何れか1項に記載の方法。
316.上記b)はプロトコルフィールド値にルールを適用するステップを含み、ルールは、プロトコルフィールド値に基づいて、属性に属性値を割り当てる、条項301〜315の何れか1項に記載の方法。
317.上記b)は、属性値にプロトコルフィールドをダイレクトマッピングするステップを含む、条項301〜316の何れか1項に記載の方法。
318.前記b)は、ヒューリスティクスをデータトラフィックに適用して、ヒューリスティクスを用いて意味属性の値を導出するステップを含む、条項301〜317の何れか1項に記載の方法。
319.前記b)は、分類子をデータトラフィックに適用して、分類子を用いて意味属性の値を導出するステップを含む、条項301〜318の何れか1項に記載の方法。
320.分類子の信頼性レベルを決定するステップを更に含み、信頼性レベルが所定の信頼性レベルを上回る時にのみ、属性値が分類子から導出される、条項319に記載の方法。
321.ヒューリスティクスを用いて得られる属性値は、分類子を用いて得られる属性値よりも高い優先度を有する、条項318〜320の何れか1項に記載の方法。
322.データ通信ネットワークにはスティミュラスが注入されない、条項301〜321の何れか1項に記載の方法。
323.ステップb)、c)、d)、及びe)が、第1ホスト、第2ホスト、及びリンクに関して実行され、モデルセットは、第1ホストに関連するモデル、第2ホストに関連するモデル、及びリンクに関連するモデルを含み、属性ベースのポリシーセットのうちの属性ベースのポリシーは、第1ホストの属性、第2ホストの属性、及びリンクの属性に関する条件を定義する、条項301〜322の何れか1項に記載の方法。
324.属性ベースのポリシーセットは、ホワイトリストポリシーを含み、ホワイトリストポリシーの結果は、選択されたモデルが許容可能かどうかを示す、条項301〜323の何れか1項に記載の方法。
325.属性ベースのポリシーセットは、ブラックリストポリシーを含み、ブラックリストポリシーの結果は、選択されたモデルが許容可能ではないかどうかを示す、条項301〜324の何れか1項に記載の方法。
326.整合性ルールを提供するステップを更に含み、整合性ルールは、第1ホスト、第2ホスト、及びリンクのうちの1つに関連するモデルの属性の少なくとも2つの属性値の整合性のある組み合わせを定義し、
・監視するデータトラフィックから導出された属性の属性値に基づいて、監視するデータトラフィックが整合性ルールに従うかどうかを検証するステップと、
・第1ホスト、第2ホスト、及びリンクのうちの1つに関連するデータトラフィックが整合性ルールに従わない場合に、第1ホスト、第2ホスト、及びリンクのうちの1つに関連するデータトラフィックを隔離内に格納するステップと、を含む、条項301〜325の何れか1項に記載の方法。
327.監視するデータトラフィックから導出された属性に基づいて、監視するデータトラフィックが整合性ルールに従うかどうかを検証するステップは、ステップe)の前に実行される、条項326に記載の方法。
328.整合性ルールは、データトラフィックの発生時間及びデータトラフィックの発生場所のうちの少なくとも1つを含む、条項326又は327に記載の方法。
329.第1ホストに関連する整合性ルールは、別のホストの属性、好ましくは第2ホストの属性を含む、条項326〜328の何れか1項に記載の方法。
330.ホストグループが定義され、本方法は、属性が関連するホストがグループ内に含まれるかどうかを決定するステップと、属性が関連するホストがグループ内に含まれる場合に整合性ルールを適用するステップと、を含む、条項326〜329の何れか1項に記載の方法。
331.整合性ルールは、機械学習を用いて、好ましくは関連付けルールを用いて学習される、条項326〜330の何れか1項に記載の方法。
332.属性ベースのポリシーは更に、動作を実行する時間、及び動作がそれを介して実行されるリンクのうちの少なくとも1つを表す、条項301〜331の何れか1項に記載の方法。
333.データトラフィックから属性ベースのポリシーを学習するステップを含み、学習するステップは、学習フェーズにおいて、
・データトラフィックを監視するステップと、
・監視するデータトラフィックからホスト属性及びリンク属性を導出するステップと、
・データトラフィックを属性ベースのトランザクションのデータセットに変換するステップと、
・データセット内のホスト属性値及びリンク属性値のアイテムセットの頻度を考慮することによりルールを生成するステップであって、ルールのうちの各ルールは、条件を定義する前件及び動作を定義する後件を含む、ステップと、
・各ルールに関して、そのルールがどのくらいの頻度で当てはまるように現れるかを指定する信頼性レベルと、ルールの基礎となるアイテムセットがデータセット内にどのくらいの頻度で現れるかを指定する支援レベルと、を決定するステップと、
・支援レベル及び信頼性レベルに基づいて、ルールを選択するステップと、
・選択したルールの前件及び後件を結び付けることにより、属性ベースのポリシーの条件を定義して、
・支援レベル及び/又は信頼性レベルに基づいて、属性ベースのポリシーの動作を定義する、
ことによって、
・ルールを属性ベースのポリシーに変換するステップと、
を含む、条項301〜332の何れか1項に記載の方法。
334.支援レベル及び信頼性レベルに基づいてルールを選択するステップは、
ホワイトリストポリシーに関して、所定の正の信頼性レベルを上回る信頼性レベルを有し且つ所定の支援レベルを上回る支援レベルを有するルールを選択するステップを含む、条項333に記載の方法。
335.支援レベル及び信頼性レベルに基づいてルールを選択するステップは、
ブラックリストポリシーに関して、所定の負の信頼性レベルを下回る信頼性レベルを有し且つ所定の支援レベルを上回る支援レベルを有するルールを選択するステップを含む、条項333又は334に記載の方法。
336.ホスト属性及びリンク属性からルールを生成するステップは、関連付けルールをホスト属性及びリンク属性に適用するステップを含む、条項333〜335の何れか1項に記載の方法。
337.ホスト属性及びリンク属性からルールを生成するステップは、頻繁なアイテムセットの抽出をホスト属性及びリンク属性に適用するステップを含む、条項333〜336の何れか1項に記載の方法。
338.ルールを属性ベースのポリシーに変換するステップは更に、
・冗長ポリシーを削除することによりポリシーの数を削減するステップであって、ポリシーは、ポリシーの条件が別のポリシーの条件全体を含む場合に冗長である、ステップと、
・2つのポリシーが同じ条件を共有するが、これら2つのポリシーが異なる動作を含むというコンフリクトの場合、支援及び信頼性が低いポリシーを削除するステップを含む、条項333〜337の何れか1項に記載の方法。
339.属性ベースのポリシーセットは、ホワイトリストポリシーを含み、ホワイトリストポリシーの結果は、選択されたモデルが許容可能かどうかを示し、第1ホスト、第2ホスト、又はリンクに関連するモデルが、ホワイトリストポリシーの何れにも一致できない場合は、第1ホスト、第2ホスト、又はリンクのそれぞれに関連するデータ通信は、隔離内にリストされる、条項301〜338の何れか1項に記載の方法。
340.
抽出したプロトコルフィールド値から導出された属性値は、第1ホスト、第2ホスト、及びリンクのうちの1つについてのプロトコル汎用特徴を記述すること、及び
属性ベースのポリシーは、宣言型ポリシーを含むこと、
のうちの少なくとも1つを含む、条項301〜339の何れか1項に記載の方法。
341.隔離は、ホスト又はリンクが正当か又は悪意があるかに関して判断が行われていないホスト、リンク、又はホストとリンクの組み合わせのリストを格納する、条項301〜340の何れか1項に記載の方法。
342.上記条項301〜341の何れか1項に記載の方法を実行するように構成された侵入検出システム。
343.条項342に記載の侵入検出システムを備えたデータ通信ネットワーク。
344.条項342に記載の侵入検出システムを備えた装置。
以下の番号付きの条項401〜446は本明細書の一部を形成する。
401.データ通信ネットワーク上でのデータトラフィック内の異常挙動検出方法であって、データ通信ネットワークに第1ホスト及び第2ホストが接続され、データ通信ネットワーク上のデータトラフィックが、第1ホストと第2ホストとの間のリンクを提供し(ネットワーク通信を形成)、
本方法は:
a)データトラフィックを解析して、データトラフィックのプロトコルメッセージのプロトコルフィールド値を抽出するステップと、
b)抽出したプロトコルフィールド値から、第1ホスト、第2ホスト、及びリンクのうちの1つについての属性の属性値を導出するステップと、
c)モデルセットから、第1ホスト、第2ホスト、及びリンクのうちの1つに関連するモデルを選択するステップであって、選択されたモデルは、第1ホスト、第2ホスト、及びリンクのうちの1つについて記述する複数の属性を含む、ステップと、
d)導出された属性値が、第1ホスト、第2ホスト、及びリンクのうちの1つに関連する選択されたモデルにおいて特徴付けられていない場合に、選択されたモデルを導出された属性値でアップデートするステップと、
e)アップデートされ選択されたモデルが属性ベースのポリシーセットに従うかどうかを評価するステップであって、属性ベースのポリシーセットのうちの各属性ベースのポリシーは、第1ホスト、第2ホスト、又はリンクの属性のうちの少なくとも1つの属性に基づいて、データ通信ネットワークのセキュリティ上の制約を定義する、ステップと、
f)属性ベースのポリシーが、アップデートされ選択されたモデルが属性ベースのポリシーの少なくとも1つに違反することを示す場合に、アラート信号を発生させるステップと、を含み、
整合性ルールを提供するステップを更に含み、整合性ルールは、第1ホスト、第2ホスト、及びリンクのうちの1つに関連するモデルの属性の少なくとも2つの属性値の整合性のある組み合わせを定義し、
・監視するデータトラフィックから導出された属性の属性値に基づいて、監視するデータトラフィックが整合性ルールに従うかどうかを検証するステップと、
・第1ホスト、第2ホスト、及びリンクのうちの1つに関連するデータトラフィックが整合性ルールに従わない場合に、第1ホスト、第2ホスト、及びリンクのうちの1つに関連するデータトラフィックを隔離内に格納するステップと、
を含む、方法。
402.監視するデータトラフィックから導出された属性の値に基づいて、監視するデータトラフィックが整合性ルールに従うかどうかを検証するステップが、ステップe)の前に実行される、条項401に記載の方法。
403.整合性ルールは、データトラフィックの発生時間及びデータトラフィックの発生場所のうちの少なくとも1つを含む、条項401又は402に記載の方法。
404.第1ホストに関連する整合性ルールは、別のホストの属性、好ましくは第2ホストの属性を含む、条項401〜403の何れか1項に記載の方法。
405.ホストグループが定義され、本方法は、属性が関連するホストがグループ内に含まれるかどうかを決定するステップと、属性が関連するホストがグループ内に含まれる場合に整合性ルールを適用するステップと、を含む、条項401〜404の何れか1項に記載の方法。
406.整合性ルールは、機械学習を用いて、好ましくは関連付けルールを用いて学習される、条項401〜405の何れか1項に記載の方法。
407.属性の少なくとも1つは、第1ホスト、第2ホスト、及びリンクのうちの1つについての意味的意味を表す意味属性である、条項401〜406の何れか1項に記載の方法。
408.少なくとも1つの意味属性の値は、異なる時点においてデータ通信ネットワーク上で送信される少なくとも2つのプロトコルメッセージから取得したプロトコルフィールド値の組み合わせから導出される、条項401〜407の何れか1項に記載の方法。
409.モデルセットは、第1ホストのモデル、第2ホストのモデル、及びリンクのモデルを含み、モデルの各々が、少なくとも1つの意味属性を含む、条項401〜408の何れか1項に記載の方法。
410.ポリシーは各々、条件を満たす場合の結果を定義し、この条件は、定義済みの属性値を有する属性のうちの少なくともそれぞれ1つに関して定義され、属性ベースのポリシーの結果は、選択されたモデルが許容可能か又は許容不可かを示す、条項401〜409の何れか1項に記載の方法。
411.各ポリシーの条件は、少なくとも1つの意味属性の値を含む、条項401〜410の何れか1項に記載の方法。
412.上記b)はプロトコルフィールド値にルールを適用するステップを含み、ルールは、プロトコルフィールド値に基づいて、属性に属性値を割り当てる、条項401〜411の何れか1項に記載の方法。
413.上記b)は、属性値にプロトコルフィールドをダイレクトマッピングするステップを含む、条項401〜412の何れか1項に記載の方法。
414.前記b)は、ヒューリスティクスをデータトラフィックに適用して、ヒューリスティクスを用いて意味属性の値を導出するステップを含む、条項401〜413の何れか1項に記載の方法。
415.前記b)は、分類子をデータトラフィックに適用して、分類子を用いて意味属性の値を導出するステップを含む、条項401〜414の何れか1項に記載の方法。
416.分類子の信頼性レベルを決定するステップを更に含み、信頼性レベルが所定の信頼性レベルを上回る時にのみ、属性値が分類子から導出される、条項415に記載の方法。
417.ヒューリスティクスを用いて得られる属性値は、分類子を用いて得られる属性値よりも高い優先度を有する、条項414〜416の何れか1項に記載の方法。
418.データ通信ネットワークにはスティミュラスが注入されない、条項401〜417の何れか1項に記載の方法。
419.ステップb)、c)、d)、及びe)が、第1ホスト、第2ホスト、及びリンクに関して実行され、モデルセットは、第1ホストに関連するモデル、第2ホストに関連するモデル、及びリンクに関連するモデルを含み、属性ベースのポリシーセットのうちの属性ベースのポリシーは、第1ホストの属性、第2ホストの属性、及びリンクの属性に関する条件を定義する、条項401〜418の何れか1項に記載の方法。
420.属性ベースのポリシーセットは、ホワイトリストポリシーを含み、ホワイトリストポリシーの結果は、選択されたモデルが許容可能かどうかを示す、条項401〜419の何れか1項に記載の方法。
421.属性ベースのポリシーセットは、ブラックリストポリシーを含み、ブラックリストポリシーの結果は、選択されたモデルが許容可能ではないかどうかを示す、条項401〜420の何れか1項に記載の方法。
422.属性ベースのポリシーは更に、動作を実行する時間、及び動作がそれを介して実行されるリンクのうちの少なくとも1つを表す、条項401〜421の何れか1項に記載の方法。
423.データトラフィックから属性ベースのポリシーを学習するステップを含み、学習するステップは、学習フェーズにおいて、
・データトラフィックを監視するステップと、
・監視するデータトラフィックからホスト属性及びリンク属性を導出するステップと、
・データトラフィックを属性ベースのトランザクションのデータセットに変換するステップと、
・データセット内のホスト属性値及びリンク属性値のアイテムセットの頻度を考慮することによりルールを生成するステップであって、ルールのうちの各ルールは、条件を定義する前件及び動作を定義する後件を含む、ステップと、
・各ルールに関して、そのルールがどのくらいの頻度で当てはまるように現れるかを指定する信頼性レベルと、ルールの基礎となるアイテムセットがデータセット内にどのくらいの頻度で現れるかを指定する支援レベルと、を決定するステップと、
・支援レベル及び信頼性レベルに基づいて、ルールを選択するステップと、
・選択したルールの前件及び後件を結び付けることにより、属性ベースのポリシーの条件を定義して、
・支援レベル及び/又は信頼性レベルに基づいて、属性ベースのポリシーの動作を定義する、
ことによって、
・ルールを属性ベースのポリシーに変換するステップと、
を含む、条項401〜422の何れか1項に記載の方法。
424.支援レベル及び信頼性レベルに基づいてルールを選択するステップは、
ホワイトリストポリシーに関して、所定の正の信頼性レベルを上回る信頼性レベルを有し且つ所定の支援レベルを上回る支援レベルを有するルールを選択するステップを含む、条項423に記載の方法。
425.支援レベル及び信頼性レベルに基づいてルールを選択するステップは、
ブラックリストポリシーに関して、所定の負の信頼性レベルを下回る信頼性レベルを有し且つ所定の支援レベルを上回る支援レベルを有するルールを選択するステップを含む、条項423又は424に記載の方法。
426.ホスト属性及びリンク属性からルールを生成するステップは、関連付けルールをホスト属性及びリンク属性に適用するステップを含む、条項423〜425の何れか1項に記載の方法。
427.ホスト属性及びリンク属性からルールを生成するステップは、頻繁なアイテムセットの抽出をホスト属性及びリンク属性に適用するステップを含む、条項423〜426の何れか1項に記載の方法。
428.ルールを属性ベースのポリシーに変換するステップは更に、
・冗長ポリシーを削除することによりポリシーの数を削減するステップであって、ポリシーは、ポリシーの条件が別のポリシーの条件全体を含む場合に冗長である、ステップと、
・2つのポリシーが同じ条件を共有するが、これら2つのポリシーが異なる動作を含むというコンフリクトの場合、支援及び信頼性が低いポリシーを削除するステップを含む、条項423〜427の何れか1項に記載の方法。
429.属性ベースのポリシーセットは、ホワイトリストポリシーを含み、ホワイトリストポリシーの結果は、選択されたモデルが許容可能かどうかを示し、第1ホスト、第2ホスト、又はリンクに関連するモデルが、ホワイトリストポリシーの何れにも一致できない場合は、第1ホスト、第2ホスト、又はリンクのそれぞれに関連するデータ通信は、隔離内にリストされる、条項401〜428の何れか1項に記載の方法。
430.プロトコルメッセージが、モデルを利用可能ではないホスト又はリンクについての情報を伝える場合、それぞれのホスト又はリンクが隔離内にリストされる、条項401〜429の何れか1項に記載の方法。
431.隔離内にリストされたホスト又はリンクに関連する属性値を導出するステップを更に含む、条項430に記載の方法。
432.隔離内にリストされたホスト又はリンクに関連する属性値から、隔離内にリストされたホスト又はリンクが正当であるという仮説への支援を計算するステップと、隔離内にリストされたホスト又はリンクに関連する属性値から、隔離内にリストされたホスト又はリンクが悪意があるという仮説への支援を計算するステップと、任意選択的に
隔離内にリストされたホスト又はリンクが正当であるという仮説への支援、或いは隔離内にリストされたホスト又はリンクが悪意があるという仮説への支援が所定の閾値を上回る場合は、属性ベースのポリシーセットをアップデートするステップと、を更に含む、条項431に記載の方法。
433.仮説への支援を計算するステップは、隔離内にリストされたホスト又はリンクの属性値がアップデートされていた時に繰り返される、条項432に記載の方法。
434.隔離は、隔離内にリストされたホスト及び/又はリンクに関して、
ホスト又はリンクの識別
ホスト又はリンクの既知の属性値のリスト
ホスト又はリンクが正当であるという仮説への支援
ホスト又はリンクが悪意があるという仮説への支援
仮説への支援を決定するのに用いられるデータトラフィックの識別
を含む、条項430〜433の何れか1項に記載の方法。
435.本方法は、整合性ルールを用いて、隔離内のホスト又はリンクの属性値の整合性をチェックするステップを更に含む、条項431〜434の何れか1項に記載の方法。
436.本方法は、属性ベースのポリシーを用いて、隔離内のホスト又はリンクの属性値が属性ベースのポリシーセットに従うかどうかを評価するステップを更に含む、条項431〜435の何れか1項に記載の方法。
437.隔離内にリストされたホスト又はリンクの属性から属性ベースのポリシーを導出するステップを更に含む、条項431〜436の何れか1項に記載の方法。
438.新規のホワイトリストポリシーは、隔離内のホスト又はリンクに関連するプロトコルメッセージの発生頻度がホワイトリスト閾値を上回る場合に、隔離内のホスト又はリンクに関連するプロトコルメッセージから導出された属性値から導出される、条項437に記載の方法。
439.隔離内にリストされたホスト又はリンクの属性から属性ベースのポリシーを導出するステップは、
・隔離内のホスト及び/又はリンクに関連するデータトラフィックが観察される時に、隔離内のホスト又はリンクが正当か又は悪意があるという仮説への支援を(再)計算するステップと、
・隔離内のホスト又はリンクが正当であるという仮説への支援がホワイトリスト閾値を上回る場合、このホスト又はリンクを隔離から削除して、このホスト又はリンクに関連するデータトラフィックを新規のホワイトリストポリシーの抽出のために用いるステップと、
・隔離内のホスト/リンクが悪意があるという仮説への支援がブラックリスト閾値を上回る場合、アラートを発して、このホスト又はリンクに関連するデータトラフィックを用いて新規のブラックリストポリシーを抽出するステップと、
・抽出した新規のホワイトリスト又はブラックリストポリシーを用いて現在のポリシーをアップデートするステップと、を含む、条項437又は438に記載の方法。
440.隔離内のホスト又はリンクが正当か又は悪意があるという仮説への支援を(再)計算するステップは、
隔離内のホスト又はリンクと別のホスト又はリンクとの類似性を計算するステップを含む、条項439に記載の方法。
441.ホスト又はリンクに関連するデータトラフィックを用いて新規のホワイトリストポリシーを抽出するステップ、或いはホスト又はリンクに関連するデータトラフィックを用いて新規のブラックリストポリシーを抽出するステップは、
項423〜428の何れか1項に記載のホワイトリストポリシー又はブラックリストポリシーのそれぞれを学習するステップを含む、条項439又は440に記載の方法。
442.
抽出したプロトコルフィールド値から導出された属性値は、第1ホスト、第2ホスト、及びリンクのうちの1つについてのプロトコル汎用特徴を記述すること、及び
属性ベースのポリシーは、宣言型ポリシーを含むこと、
のうちの少なくとも1つを含む、条項401〜442の何れか1項に記載の方法。
443.隔離は、ホスト又はリンクが正当か又は悪意があるかに関して判断が行われていないホスト、リンク、又はホストとリンクの組み合わせのリストを格納する、条項401〜442の何れか1項に記載の方法。
444.上記条項401〜443の何れか1項に記載の方法を実行するように構成された侵入検出システム。
445.条項444に記載の侵入検出システムを備えたデータ通信ネットワーク。
446.条項444に記載の侵入検出システムを備えた装置。
whitelist policies:ホワイトリストポリシー
consistency rules:整合性ルール
blacklist policies:ブラックリストポリシー
Observe:観察
A 新規のネットワークアクティビティ
Identify:識別
B ホスト属性及びリンク属性を抽出
C 属性は整合性ルールに従うか?
yes:はい、no:いいえ
D アクティビティがブラックリストポリシーに一致するか?
yes:はい、no:いいえ
E 学習中か?
yes:はい、no:いいえ
F ポリシー&整合性ルールを学習
G アクティビティがホワイトリストに一致するか?
yes:はい、no:いいえ
H アクティビティを分類するための十分なエビデンスが(隔離内に)存在するか?
yes:はい、no:いいえ
Log:記録
I 隔離
J 自己アップデート(隔離を用いて)
K 隔離をアップデート
L アラートを生成
M アラートを分析
N アラート
O ホスト又はリンクが隔離内に含まれるか?
yes:はい、no:いいえ
Alert List:アラートリスト
Undefined:未定義
Reason:推論
React & Adapt:反応&適応
Learn:学習
END:終了
属性ベースのポリシーは、人間の専門家によって定義することができ、ここでは許容される及び許容されない挙動についての幅広い知識が要求され、或いは、学習手法でデータから推測することもできる。最初の手法は、時間がかかりエラーを起こしやすいが、2番目の手法は、完全に自動化することができ、エラーのリスク(例えば、ポリシーの複製又は重複)が低減される。本発明は、ネットワークトラフィックフローの観察からポリシーを導出することによってポリシーを定義する、面倒な手動プロセスを克服するための自動化技術を提案している。具体的には、正当なネットワークメッセージの観察からホワイトリストポリシーをマイニングし、(可能であれば)攻撃を受けた時のネットワークアクティビティの観察からブラックリストポリシーをマイニングする。
Figure 2021515498
表1:関連付けルールの実施例
[属性ベースのポリシーの学習]
図8は、属性抽出が行われた後に、正当なネットワークメッセージを構築することができる方法の実施例を示す。理解できるように、あらゆる行が、ネットワークアクティビティ及び関連する属性(又は特徴)を表す。このデータ構造に対して、機械学習及びデータマイニング技術を適用して、属性ベースのポリシーを抽出することができる。例えば、大きなデータセット内の要素間の関心のある関係を発見するために、関連付けルール学習、ルールベースの機械学習法を適用することができる。関連付けルールは、見掛け上無関係なデータ間の関係を明らかにするのに役立つ、if−condition−then−actionステートメント(ポリシーとして)である。
しかしながら、関連付けルール及び頻繁なアイテムセットの抽出は、ポリシー作成に役立てることができるが、図9に示すようなプロセス全体はカバーしない手法である。実際には、ネットワークデータに関連付けルールアルゴリズムが適用された後、データから抽出される情報は、ポリシーに変換する必要がある。加えて、関連付けルールは極めて多くのルールを生成する傾向があるので、ポリシー削減及びコンフリクト解決のためのアルゴリズムも同様に導入する必要がある。
Figure 2021515498
表1:関連付けルールの実施例

Claims (47)

  1. データ通信ネットワーク上でのデータトラフィック内の異常挙動検出方法であって、前記データ通信ネットワークに第1ホスト及び第2ホストが接続され、前記データ通信ネットワーク上の前記データトラフィックが、前記第1ホストと前記第2ホストとの間のネットワーク通信を形成するリンクを提供し、
    前記方法は、
    a)前記データトラフィックを解析して、前記データトラフィックのプロトコルメッセージのプロトコルフィールド値を抽出するステップと、
    b)前記抽出したプロトコルフィールド値から、前記第1ホスト、前記第2ホスト、及び前記リンクのうちの1つについての属性の属性値を導出するステップと、
    c)モデルセットから、前記第1ホスト、前記第2ホスト、及び前記リンクのうちの前記1つに関連するモデルを選択するステップであって、選択された前記モデルは、前記第1ホスト、前記第2ホスト、及び前記リンクのうちの前記1つについて記述する複数の属性を含み、前記属性の少なくとも1つは意味属性であり、前記意味属性は、前記第1ホスト、前記第2ホスト、及び前記リンクのうちの前記1つについての意味論的意味を表す、ステップと、
    d)前記導出された属性値が、前記第1ホスト、前記第2ホスト、及び前記リンクのうちの前記1つに関連する前記選択されたモデルにおいて特徴付けられていない場合に、前記選択されたモデルを前記導出された属性値でアップデートするステップと、
    e)前記アップデートされ選択されたモデルが属性ベースのポリシーセットに従うかどうかを評価するステップであって、前記属性ベースのポリシーセットのうちの各属性ベースのポリシーは、前記第1ホスト、前記第2ホスト、又は前記リンクの前記属性のうちの少なくとも1つの属性に基づいて、前記データ通信ネットワークのセキュリティ上の制約を定義する、ステップと、
    f)前記属性ベースのポリシーが、前記アップデートされ選択されたモデルが前記属性ベースのポリシーの少なくとも1つに違反することを示す場合に、アラート信号を発生させるステップと、
    を含む方法。
  2. 前記抽出したプロトコルフィールド値から導出された前記属性値は、前記第1ホスト、前記第2ホスト、及び前記リンクのうちの前記1つについてのプロトコル汎用特徴を記述すること、及び
    属性ベースのポリシーは、宣言型ポリシーを含むこと、
    のうちの少なくとも1つを含む、請求項1に記載の方法。
  3. 前記少なくとも1つの意味属性の値は、異なる時点において前記データ通信ネットワーク上で送信される少なくとも2つのプロトコルメッセージから取得したプロトコルフィールド値の組み合わせから導出される、請求項1又は2に記載の方法。
  4. 前記モデルセットは、前記第1ホストのモデル、前記第2ホストのモデル、及び前記リンクのモデルを含み、前記モデルの各々が、少なくとも1つの意味属性を含む、請求項1〜3の何れか1項に記載の方法。
  5. 前記ポリシーは各々、条件を満たす場合の結果を定義し、前記条件は、定義済みの属性値を有する前記属性のうちの少なくともそれぞれ1つに関して定義され、前記属性ベースのポリシーの前記結果は、前記選択されたモデルが許容可能か又は許容不可かを示す、請求項1〜4の何れか1項に記載の方法。
  6. 前記各ポリシーの条件は、少なくとも1つの意味属性の値を含む、請求項1〜5の何れか1項に記載の方法。
  7. 前記b)は、前記プロトコルフィールド値にルールを適用するステップを含み、前記ルールは、前記プロトコルフィールド値に基づいて、前記属性に前記属性値を割り当てる、請求項1〜6の何れか1項に記載の方法。
  8. 前記b)は、前記属性値にプロトコルフィールドをダイレクトマッピングするステップを含む、請求項1〜7の何れか1項に記載の方法。
  9. 前記b)は、ヒューリスティクスを前記データトラフィックに適用して、前記ヒューリスティクスを用いて前記意味属性の値を導出するステップを含む、請求項1〜8の何れか1項に記載の方法。
  10. 前記b)は、分類子を前記データトラフィックに適用して、前記分類子を用いて前記意味属性の値を導出するステップを含む、請求項1〜9の何れか1項に記載の方法。
  11. 前記分類子の信頼性レベルを決定するステップを更に含み、前記信頼性レベルが所定の信頼性レベルを上回る時にのみ、前記属性値が前記分類子から導出される、請求項10に記載の方法。
  12. 前記ヒューリスティクスを用いて得られる前記属性値は、前記分類子を用いて得られる前記属性値よりも高い優先度を有する、請求項9〜11の何れか1項に記載の方法。
  13. 前記データ通信ネットワークにはスティミュラスが注入されない、請求項1〜12の何れか1項に記載の方法。
  14. 前記ステップb)、c)、d)、及びe)が、前記第1ホスト、前記第2ホスト、及び前記リンクに関して実行され、前記モデルセットは、前記第1ホストに関連するモデル、前記第2ホストに関連するモデル、及び前記リンクに関連するモデルを含み、前記属性ベースのポリシーセットのうちの前記属性ベースのポリシーは、前記第1ホストの前記属性、前記第2ホストの前記属性、及び前記リンクの前記属性に関する条件を定義する、請求項1〜13の何れか1項に記載の方法。
  15. 前記属性ベースのポリシーセットは、ホワイトリストポリシーを含み、前記ホワイトリストポリシーの結果は、前記選択されたモデルが許容可能かどうかを示す、請求項1〜14の何れか1項に記載の方法。
  16. 前記属性ベースのポリシーセットは、ブラックリストポリシーを含み、前記ブラックリストポリシーの前記結果は、前記選択されたモデルが許容可能ではないかどうかを示す、請求項1〜15の何れか1項に記載の方法。
  17. 前記整合性ルールを提供するステップを更に含み、前記整合性ルールは、前記第1ホスト、前記第2ホスト、及び前記リンクのうちの前記1つに関連する前記モデルの属性の少なくとも2つの属性値の整合性のある組み合わせを定義し、
    ・前記監視するデータトラフィックから導出された前記属性の値に基づいて、前記監視するデータトラフィックが前記整合性ルールに従うかどうかを検証するステップと、
    ・前記第1ホスト、前記第2ホスト、及び前記リンクのうちの前記1つに関連する前記データトラフィックが前記整合性ルールに従わない場合に、前記第1ホスト、前記第2ホスト、及び前記リンクのうちの前記1つに関連する前記データトラフィックを隔離内に格納するステップと、
    を含む請求項1〜16の何れか1項に記載の方法。
  18. 前記隔離は、前記ホスト又は前記リンクが正当か又は悪意があるかに関して判断が行われていないホスト、リンク、又はホストとリンクの組み合わせのリストを格納する、請求項17に記載の方法。
  19. 前記監視するデータトラフィックから導出された前記属性の値に基づいて、前記監視するデータトラフィックが前記整合性ルールに従うかどうかを検証するステップが、前記ステップe)の前に実行される、請求項17又は18に記載の方法。
  20. 前記整合性ルールは、前記データトラフィックの発生時間及び前記データトラフィックの発生場所のうちの少なくとも1つを含む、請求項17〜19の何れか1項に記載の方法。
  21. 前記第1ホストに関連する前記整合性ルールは、別のホストの属性、好ましくは前記第2ホストの属性を含む、請求項17〜20の何れか1項に記載の方法。
  22. ホストグループが定義され、前記方法が、前記属性が関連する前記ホストが前記グループ内に含まれるかどうかを決定するステップと、前記属性が関連する前記ホストが前記グループ内に含まれる場合に前記整合性ルールを適用するステップと、を含む、請求項17〜21の何れか1項に記載の方法。
  23. 前記整合性ルールは、機械学習を用いて、好ましくは関連付けルールを用いて学習される、請求項17〜22の何れか1項に記載の方法。
  24. 前記属性ベースのポリシーは更に、動作を実行する時間及び前記動作がそれを介して実行されるリンクのうちの少なくとも1つを表す、請求項1〜23の何れか1項に記載の方法。
  25. 前記データトラフィックから前記属性ベースのポリシーを学習するステップを含み、前記学習するステップは、学習フェーズにおいて、
    前記データトラフィックを監視するステップと、
    前記監視するデータトラフィックからホスト属性及びリンク属性を導出するステップと、
    前記データトラフィックを属性ベースのトランザクションのデータセットに変換するステップと、
    前記データセット内の前記ホスト属性値及びリンク属性値のアイテムセットの頻度を考慮することによりルールを生成するステップであって、前記ルールのうちの各ルールは、条件を定義する前件及び動作を定義する後件、信頼性及び支援レベルを含む、ステップと、
    各ルールに関して、前記ルールがどのくらいの頻度で当てはまるように現れるかを指定する信頼性レベルと、前記ルールの基礎となる前記アイテムセットが前記データセット内にどのくらいの頻度で現れるかを指定する支援レベルと、を決定するステップと、
    前記支援レベル及び前記信頼性レベルに基づいて前記ルールを選択するステップと、
    前記選択したルールの前記前件及び前記後件を結び付けることにより、前記属性ベースのポリシーの条件を定義して、
    前記支援レベル及び/又は前記信頼性レベルに基づいて、前記属性ベースのポリシーの動作を定義する、
    ことによって、前記ルールを前記属性ベースのポリシーに変換するステップと、
    を含む、請求項1〜24の何れか1項に記載の方法。
  26. 前記支援レベル及び前記信頼性レベルに基づいて前記ルールを選択するステップは、
    ホワイトリストポリシーに関して、所定の正の信頼性レベルを上回る前記信頼性レベルを有し且つ所定の支援レベルを上回る前記支援レベルを有するルールを選択するステップを含む、請求項25に記載の方法。
  27. 前記支援レベル及び前記信頼性レベルに基づいてルールを選択するステップは、
    ブラックリストポリシーに関して、所定の負の信頼性レベルを下回る前記信頼性レベルを有し且つ所定の支援レベルを上回る前記支援レベルを有するルールを選択するステップを含む、請求項25又は26に記載の方法。
  28. 前記ホスト属性及び前記リンク属性からルールを生成するステップは、関連付けルールを前記ホスト属性及び前記リンク属性に適用するステップを含む、請求項25〜27の何れか1項に記載の方法。
  29. 前記ホスト属性及び前記リンク属性から前記ルールを生成するステップは、頻繁なアイテムセットの抽出を前記ホスト属性及び前記リンク属性に適用するステップを含む、請求項25〜28の何れか1項に記載の方法。
  30. 前記ルールを前記属性ベースのポリシーに変換するステップは更に、
    冗長ポリシーを削除することにより前記ポリシーの数を削減するステップであって、前記ポリシーは、該ポリシーの条件が別のポリシーの条件全体を含む場合に冗長である、ステップと、
    前記2つのポリシーが同じ前記条件を共有するが、前記2つのポリシーが異なる動作を含むというコンフリクトを生じる場合、支援及び信頼性が低い前記ポリシーを削除するステップと、
    を含む、請求項25〜29の何れか1項に記載の方法。
  31. 前記属性ベースのポリシーセットは、前記ホワイトリストポリシーを含み、前記ホワイトリストポリシーの前記結果は、前記選択されたモデルが許容可能かどうかを示し、前記第1ホスト、前記第2ホスト、又は前記リンクに関連する前記モデルが、前記ホワイトリストポリシーの何れにも一致できない場合は、前記第1ホスト、前記第2ホスト、又はリンクの前記それぞれに関連する前記データ通信は、隔離内にリストされる、請求項1〜30の何れか1項に記載の方法。
  32. 前記プロトコルメッセージが、モデルを利用可能ではないホスト又はリンクについての情報を伝える場合、前記それぞれのホスト又はリンクが隔離内にリストされる、請求項1〜31の何れか1項に記載の方法。
  33. 前記隔離は、前記ホスト又は前記リンクが正当か又は悪意があるかに関して判断が行われていないホスト、リンク、又はホストとリンクの組み合わせのリストを格納する、請求項32に記載の方法。
  34. 前記隔離内にリストされた前記ホスト又は前記リンクに関連する属性値を導出するステップを更に含む、請求項32又は33に記載の方法。
  35. 前記隔離内にリストされた前記ホスト又は前記リンクに関連する前記属性値から、前記隔離内にリストされた前記ホスト又は前記リンクが正当であるという仮説への支援を計算するステップと、
    前記隔離内にリストされた前記ホスト又は前記リンクに関連する前記属性値から、前記隔離内にリストされた前記ホスト又は前記リンクが悪意があるという仮説への支援を計算するステップと、
    任意選択的に、前記隔離内にリストされた前記ホスト又は前記リンクが正当であるという前記仮説への前記支援、或いは前記隔離内にリストされた前記ホスト又は前記リンクが悪意があるという前記仮説への前記支援が所定の閾値を上回る場合は、前記属性ベースのポリシーセットをアップデートするステップと、
    を更に含む、請求項34に記載の方法。
  36. 前記仮説への前記支援を計算するステップは、前記隔離内の前記ホスト又は前記リンクに関連する前記属性値がアップデートされた時に繰り返される、請求項35に記載の方法。
  37. 前記隔離は、前記隔離内にリストされた前記ホスト及び/又はリンクに関して、
    前記ホスト又は前記リンクの識別
    前記ホスト又は前記リンクの既知の属性値のリスト
    前記ホスト又は前記リンクが正当であるという仮説への支援
    前記ホスト又は前記リンクが悪意があるという仮説への支援
    前記仮説への前記支援を決定するのに用いられるデータトラフィックの識別
    を含む、請求項32〜36の何れか1項に記載の方法。
  38. 前記方法は、前記整合性ルールを用いて、前記隔離内の前記ホスト又は前記リンクの前記属性値の整合性をチェックするステップを更に含む、請求項34〜37の何れか1項に記載の方法。
  39. 前記方法は、前記属性ベースのポリシーを用いて、隔離内の前記ホスト又は前記リンクの前記属性値が前記属性ベースのポリシーセットに従うかどうかを評価するステップを更に含む、請求項34〜38の何れか1項に記載の方法。
  40. 前記隔離内にリストされた前記ホスト又は前記リンクの前記属性から属性ベースのポリシーを導出するステップを更に含む、請求項34〜39の何れか1項に記載の方法。
  41. 新規のホワイトリストポリシーは、前記隔離内の前記ホスト又は前記リンクに関連する前記プロトコルメッセージの発生頻度がホワイトリスト閾値を上回る場合に、前記隔離内の前記ホスト又はリンクに関連するプロトコルメッセージから導出された前記属性値から導出される、請求項40に記載の方法。
  42. 前記隔離内に格納された前記データトラフィックの前記ホスト属性及びリンク属性から属性ベースのポリシーを導出するステップは、
    前記隔離内の前記ホスト及び/又はリンクに関連する前記データトラフィックが観察される時に、前記隔離内の前記ホスト又は前記リンクが正当か又は悪意があるという前記仮説への前記支援を(再)計算するステップと、
    前記隔離内の前記ホスト又は前記リンクが正当であるという前記仮説への前記支援が前記ホワイトリスト閾値を上回る場合、前記ホスト又は前記リンクを前記隔離から削除して、前記ホスト又は前記リンクに関連する前記データトラフィックを新規のホワイトリストポリシーの抽出のために用いるステップと、
    隔離内のホスト/リンクが悪意があるという前記仮説への前記支援がブラックリスト閾値を上回る場合、アラートを発して、前記ホスト又は前記リンクに関連する前記データトラフィックを用いて新規のブラックリストポリシーを抽出するステップと、
    前記抽出した新規のホワイトリスト又は前記ブラックリストポリシーを用いて現在のポリシーをアップデートするステップと、
    を含む、請求項40又は41に記載の方法。
  43. 前記隔離内の前記ホスト又は前記リンクが正当か又は悪意があるという前記仮説への支援を(再)計算するステップは、前記隔離内の前記ホスト又は前記リンクと他のホスト又はリンクとの類似性を計算するステップを含む、請求項42に記載の方法。
  44. 前記ホスト又は前記リンクに関連する前記データトラフィックを用いて新規のホワイトリストポリシーを抽出するステップ、或いは前記ホスト又は前記リンクに関連する前記データトラフィックを用いて新規のブラックリストポリシーを抽出するステップは、
    請求項25〜30の何れか1項に記載の前記ホワイトリストポリシー又は前記ブラックリストポリシーを学習するステップを含む、請求項42又は43に記載の方法。
  45. 請求項1〜44の何れか1項に記載の方法を実行するように構成された侵入検出システム。
  46. 請求項45に記載の前記侵入検出システムを備えたデータ通信ネットワーク。
  47. 請求項45に記載の前記侵入検出システムを備えた装置。
JP2020546891A 2018-03-08 2019-03-07 完全性監視及びネットワーク侵入検出のための属性ベースのポリシー Pending JP2021515498A (ja)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
NL2020552 2018-03-08
NL2020552A NL2020552B1 (en) 2018-03-08 2018-03-08 Attribute-based policies for integrity monitoring and network intrusion detection
NL2020633A NL2020633B1 (en) 2018-03-20 2018-03-20 Attribute-based policies for integrity monitoring and network intrusion detection
NL2020634A NL2020634B1 (en) 2018-03-20 2018-03-20 Attribute-based policies for integrity monitoring and network intrusion detection
NL2020632 2018-03-20
NL2020632A NL2020632B1 (en) 2018-03-20 2018-03-20 Attribute-based policies for integrity monitoring and network intrusion detection
NL2020635 2018-03-20
NL2020633 2018-03-20
NL2020635A NL2020635B1 (en) 2018-03-20 2018-03-20 Attribute-based policies for integrity monitoring and network intrusion detection
NL2020634 2018-03-20
PCT/NL2019/050147 WO2019172762A1 (en) 2018-03-08 2019-03-07 Attribute-based policies for integrity monitoring and network intrusion detection

Publications (1)

Publication Number Publication Date
JP2021515498A true JP2021515498A (ja) 2021-06-17

Family

ID=66641441

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020546891A Pending JP2021515498A (ja) 2018-03-08 2019-03-07 完全性監視及びネットワーク侵入検出のための属性ベースのポリシー

Country Status (7)

Country Link
US (3) US11641370B2 (ja)
EP (1) EP3763099B1 (ja)
JP (1) JP2021515498A (ja)
AU (1) AU2019232391B2 (ja)
CA (1) CA3092260A1 (ja)
IL (1) IL276895B2 (ja)
WO (1) WO2019172762A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4000232A4 (en) * 2019-07-15 2023-04-12 ICS Security (2014) Ltd. SYSTEM AND METHOD OF PROTECTING AN ICS NETWORK THROUGH AN HMI SERVER IN IT
US11729210B2 (en) * 2020-04-17 2023-08-15 Cisco Technology, Inc. Detecting spoofing in device classification systems
US20220046063A1 (en) * 2020-08-09 2022-02-10 Ericom Software Ltd. System and method for creating access control policies for individual users, user groups, network host or network host groups through network traffic analysis
JP2022052413A (ja) * 2020-09-23 2022-04-04 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
US11757904B2 (en) * 2021-01-15 2023-09-12 Bank Of America Corporation Artificial intelligence reverse vendor collation
US11895128B2 (en) 2021-01-15 2024-02-06 Bank Of America Corporation Artificial intelligence vulnerability collation
US12113809B2 (en) 2021-01-15 2024-10-08 Bank Of America Corporation Artificial intelligence corroboration of vendor outputs
US12047355B2 (en) * 2021-03-08 2024-07-23 Adobe Inc. Machine learning techniques for mitigating aggregate exposure of identifying information
US20220366039A1 (en) * 2021-05-13 2022-11-17 Microsoft Technology Licensing, Llc Abnormally permissive role definition detection systems
US11544123B1 (en) * 2021-06-28 2023-01-03 Anurag Singla Systems and methods for detecting partitioned and aggregated novel network, user, device and application behaviors
CN116074190A (zh) * 2021-10-29 2023-05-05 华为技术有限公司 网络配置特征提取方法及相关装置
US20240236117A1 (en) * 2023-01-10 2024-07-11 Cisco Technology, Inc. Blocking and alerting with domain fronting intelligence

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014522167A (ja) * 2011-07-26 2014-08-28 セキュリティー マターズ ベスローテン フェンノートシャップ データ通信ネットワークにおいてプロトコルメッセージを分類するための方法およびシステム
US20160006753A1 (en) * 2013-02-22 2016-01-07 Adaptive Mobile Security Limited System and Method for Embedded Mobile (EM)/Machine to Machine (M2M) Security, Pattern Detection, Mitigation

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1986391A1 (en) * 2007-04-23 2008-10-29 Mitsubishi Electric Corporation Detecting anomalies in signalling flows
WO2010011411A1 (en) * 2008-05-27 2010-01-28 The Trustees Of Columbia University In The City Of New York Systems, methods, and media for detecting network anomalies
US9886581B2 (en) * 2014-02-25 2018-02-06 Accenture Global Solutions Limited Automated intelligence graph construction and countermeasure deployment
US10122740B1 (en) * 2015-05-05 2018-11-06 F5 Networks, Inc. Methods for establishing anomaly detection configurations and identifying anomalous network traffic and devices thereof
US9923911B2 (en) * 2015-10-08 2018-03-20 Cisco Technology, Inc. Anomaly detection supporting new application deployments
WO2017100364A1 (en) * 2015-12-07 2017-06-15 Prismo Systems Inc. Systems and methods for detecting and responding to security threats using application execution and connection lineage tracing
US10375143B2 (en) * 2016-08-26 2019-08-06 Cisco Technology, Inc. Learning indicators of compromise with hierarchical models

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014522167A (ja) * 2011-07-26 2014-08-28 セキュリティー マターズ ベスローテン フェンノートシャップ データ通信ネットワークにおいてプロトコルメッセージを分類するための方法およびシステム
US20160006753A1 (en) * 2013-02-22 2016-01-07 Adaptive Mobile Security Limited System and Method for Embedded Mobile (EM)/Machine to Machine (M2M) Security, Pattern Detection, Mitigation

Also Published As

Publication number Publication date
WO2019172762A1 (en) 2019-09-12
IL276895B2 (en) 2024-10-01
IL276895B1 (en) 2024-06-01
EP3763099C0 (en) 2024-05-01
EP3763099B1 (en) 2024-05-01
US20230254328A1 (en) 2023-08-10
AU2019232391A8 (en) 2020-10-01
US11641370B2 (en) 2023-05-02
US20200404010A1 (en) 2020-12-24
IL276895A (en) 2020-10-29
EP3763099A1 (en) 2021-01-13
WO2019172762A9 (en) 2020-04-09
US20240340299A1 (en) 2024-10-10
US11949704B2 (en) 2024-04-02
AU2019232391A1 (en) 2020-09-17
AU2019232391B2 (en) 2024-06-20
CA3092260A1 (en) 2019-09-12

Similar Documents

Publication Publication Date Title
US11949704B2 (en) Attribute-based policies for integrity monitoring and network intrusion detection
Yadav et al. Architecture and security of SCADA systems: A review
US20210203673A1 (en) Framework for investigating events
US11356468B2 (en) System and method for using inventory rules to identify devices of a computer network
EP3972315B1 (en) Network device identification
WO2019190403A1 (en) An industrial control system firewall module
US20240031260A1 (en) Entity attribute designation based on logic programming
US11683336B2 (en) System and method for using weighting factor values of inventory rules to efficiently identify devices of a computer network
EP3767913B1 (en) Systems and methods for correlating events to detect an information security incident
US11399036B2 (en) Systems and methods for correlating events to detect an information security incident
WO2023239813A1 (en) A unifying of the network device entity and the user entity for better cyber security modeling along with ingesting firewall rules to determine pathways through a network
Madhawa et al. Employing invariants for anomaly detection in software defined networking based industrial internet of things
NL2020552B1 (en) Attribute-based policies for integrity monitoring and network intrusion detection
NL2020635B1 (en) Attribute-based policies for integrity monitoring and network intrusion detection
NL2020634B1 (en) Attribute-based policies for integrity monitoring and network intrusion detection
NL2020633B1 (en) Attribute-based policies for integrity monitoring and network intrusion detection
NL2020632B1 (en) Attribute-based policies for integrity monitoring and network intrusion detection
US12074771B2 (en) Enhanced device classification including crowdsourced classifications for increased accuracy
US11146617B1 (en) Application detection
US11841952B2 (en) Techniques for detecting exploitation of manufacturing device vulnerabilities
Danso Transferability of machine learning model for IoT device identification and vulnerability assessment
CN116318934A (zh) 基于物联网设备行为建模的安全预警方法及系统

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201112

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220303

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230424

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230724

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240115

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20240415

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20240617

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240716