JP2009504104A - ネットワーク環境を動的に学習して適応型セキュリティを実現するシステムおよび方法 - Google Patents

ネットワーク環境を動的に学習して適応型セキュリティを実現するシステムおよび方法 Download PDF

Info

Publication number
JP2009504104A
JP2009504104A JP2008525243A JP2008525243A JP2009504104A JP 2009504104 A JP2009504104 A JP 2009504104A JP 2008525243 A JP2008525243 A JP 2008525243A JP 2008525243 A JP2008525243 A JP 2008525243A JP 2009504104 A JP2009504104 A JP 2009504104A
Authority
JP
Japan
Prior art keywords
node
program code
threshold
determining
risk level
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
JP2008525243A
Other languages
English (en)
Inventor
ローレンス チン シウン テオ、
ユリアン ツェン、
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CALYPTIX SECURITY
Original Assignee
CALYPTIX SECURITY
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CALYPTIX SECURITY filed Critical CALYPTIX SECURITY
Publication of JP2009504104A publication Critical patent/JP2009504104A/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

ネットワーク環境を動的に学習して適応型セキュリティを実現するシステムおよび方法が記載される。ノードに適応型閾値を設定する、記載される1つの方法は、ノードに関連するデータストリームを監視して、ノードの特徴を明らかにすること、ノードに影響することができる環境要因を監視すること、および特徴または環境要因のうちの少なくとも一方に基づいて適応型閾値を決定すること、を含む。ネットワークトラフィックに関連するリスクを動的に評価する、記載される別の方法は、ノードに向けられた通信を識別すること、通信に関連するリスクレベルを判断すること、およびリスクレベルを適応型閾値と比較すること、を含む。

Description

本発明は、ネットワークセキュリティ、コンピュータ通信、および情報セキュリティの分野に関する。
[関連出願の相互参照]
本出願は、2005年8月3日に出願され、「Mechanisms for Dynamically Learning Network Environments to Achieve Adaptive Security(ネットワーク環境を動的に学習して適応型セキュリティを実現するメカニズム)」と表題がつけられた米国仮特許出願第60/704,670号明細書の優先権を主張するものであり、その全体が参照により本明細書に援用される。
ネットワーク管理者は、侵入検知システム(IDS)およびファイアウォール等の種々のネットワークセキュリティ装置を利用している。しかし、従来のネットワークセキュリティ装置には種々の欠点がある。
例えば、通常、従来のネットワークセキュリティ装置は、事前にプログラムされた静的な規則に従ってのみ動作する。したがって、未知の攻撃への対応は制限されているか、または不可能である。この理由は、このような攻撃が事前にプログラムされた規則に表されている挙動を示さないためである。このような装置はユーザ側での構成も必要とし、ユーザは、装置を構成するために、情報セキュリティおよびネットワークについて適度な量の知識を有さなくてはならない。この前提は危険となるかもしれない。なぜなら、コンピュータ分野を専門としないユーザは、装置を構成するのに十分な量の知識を必ずしも有しているわけではないからである。これは結果としてネットワークセキュリティ装置を安全ではない様式で導入するおそれがあり、ユーザに安全であるとの誤った感覚を与えることになる。
侵入検知システム等の従来のネットワークセキュリティ装置は、大規模で複雑なネットワークで実施される場合にさらなる問題に直面する。このようなネットワークは多数の侵入を毎日受け得るため、人間による侵入検知システムの出力の解釈をますます難しくさせる。どのイベントが実際の侵入で、どれが誤検出であるのかを識別することは難しい。実際の侵入が識別されるときでは、侵害されたネットワーク上で何らかのダメージがすでに発生している可能性があるため、遅すぎることがある。IDSにより生成される大量のデータは記憶領域の問題も引き起こす。
さらに、従来のネットワークセキュリティ装置は、大きな再構成なしでは異なる環境に導入することができない。監査データの記憶に相当なデータ記憶空間も必要とし、かつその動作に通常のハードドライブを使用するように設計されており、これはネットワークセキュリティ装置の安定性および寿命に影響し得る。
本発明の実施形態は、ネットワーク環境を動的に学習して適応型セキュリティを実現するシステムおよび方法を提供する。本発明の一実施形態は、ノードに適応型閾値を設定する方法であって、ノードに関連するデータストリームを監視してノードの特徴を明らかにするステップ、ノードに影響することができる環境要因を監視するステップ、および特徴または環境要因のうちの少なくとも一方に基づいて適応型閾値を決定するステップを含む方法を含む。別の実施形態は、ネットワークトラフィックに関連するリスクを動的に評価する方法であって、ノードに向けられた通信を識別するステップ、その通信に関連するリスクレベルを判断するステップ、およびリスクレベルを適応型閾値と比較するステップを含む方法を含む。さらに別の実施形態は、このような方法を実施するプログラムコードを含むコンピュータ可読媒体を含む。
これら例示的な実施形態を、本発明を制限または定義するために述べるのではなく、本発明の理解を助けるための例を提供するために述べる。例示的な実施形態について、発明を実施するための最良の形態において考察し、本発明のさらなる説明をそこに提供する。本明細書を調べることにより、本発明の各種実施形態により提供される利点をさらに理解することができる。
本発明のこれらおよび他の特徴、態様、および利点が、以下の発明を実施するための最良の形態を、添付図面を参照して読んだときによりよく理解される。
[序文]
本発明の実施形態は、ネットワーク環境を動的に学習して適応型セキュリティを実現するシステムおよび方法を含む。
本発明の一実施形態は、周囲環境で各種パラメータを動的に発見して応答システムに送る適応型学習システムを含む。これらシステムの組み合わせを使用して、ネットワークノードへのネットワークセキュリティの提供等の有益なタスクを行うことができる。本明細書では、組み合わせられたシステムを適応型セキュリティシステムと呼ぶことができる。
適応型セキュリティシステムは、ハードウェア機器として具現化することができる。ハードウェア機器は、学習システムおよび応答システムの両方のロジックを実施するファームウェアを含む。機器は、リファレンスデータベースおよび環境プロファイルを記憶する記憶領域を含む。
このような実施形態での応答システムは、以下のうちのいくつかまたはすべてを実行することができる。すなわち、データストリームの読み取り、データストリームの部分またはすべての解析および解析中のデータストリームの部分への数値の割り当て、意思決定プロセスに基づく数値の変更または除去、ならびに数値と1つまたは複数の数値閾値との比較である。応答システムは、数値が数値閾値を満たす、または数値閾値を超える場合に応答アクションを実行することもできる。
このような実施形態での学習システムは、内部保護されるノードに適正な閾値を決定することができる。学習システムは、データストリームを監視して、適応型セキュリティシステムが導入される環境についての情報を得る。これらデータストリームを各種パラメータについて解析し、それから各種パラメータを使用して妥当な閾値を保護されるノードに割り当てる。閾値決定プロセスはいくらか複雑になりうるが、一般に、学習システムは、ノードが特に脆弱であると判断した場合、そのノードにより低い閾値を割り当てる。これとは対照的に、学習システムは、ノードが攻撃に対して自己を守るより高い潜在性を有する(すなわち、脆弱性がより低い)と判断した場合、より高い閾値をそのノードに割り当てる。
閾値が低いことは、ノードがより重要であることも示しうる。したがって、低い閾値を有するノードに対して向けられた攻撃ほど、成功する可能性が低い。これは、その攻撃の脅威レベルが、仮にそのノードにより高い閾値が割り当てられていた場合よりもはやく保護ノードの閾値に達することになるためである。閾値レベルに達すると、このような実施形態での応答システムは、データストリームまたはその発信元からのあらゆるデータストリームまたはこれら両方を積極的にブロックする。
この序文は、本出願の概括的な主題を読み手に照会するために提供されている。本発明は決してこのような主題に制限されない。例示的な実施形態について以下に説明する。
[システム構造]
本発明に従い各種システムを構築することができる。このようなシステムは、インターネット等の各種ネットワークを介して通信するクライアント装置、サーバ装置、およびネットワーク機器を含み得る。ネットワークは、イントラネット、ローカルエリアネットワーク(LAN)、電話回線、または適したネットワークの組み合わせ等を含んでもよい。装置は、有線接続、無線接続、または光接続を通してネットワークに接続することができる。
[クライアント装置]
クライアント装置の例は、パーソナルコンピュータ、情報端末、個人情報端末、セルラ電話、携帯電話、スマートフォン、ページャ、デジタルタブレット、ラップトップコンピュータ、インターネット機器、および他のプロセッサベースの装置である。一般に、クライアント装置は、ネットワークに接続され、1つまたは複数のアプリケーションプログラムと対話する任意の適した種類のプロセッサベースのプラットフォームであってよい。
クライアント装置は、ランダムアクセスメモリまたは読み取り専用メモリ等のコンピュータ可読媒体に結合されるプロセッサを含むことができる。クライアント装置は、ブラウザまたはブラウザ対応アプリケーション(例えば、マイクロソフト(Microsoft)(登録商標)ウィンドウズ(登録商標)(Windows(登録商標))またはリナックス(Linux))等のアプリケーションをサポート可能な任意のオペレーティングシステムで動作することができる。例えば、クライアント装置は、マイクロソフトコーポレーション(Microsoft Corporation)のインターネットエクスプローラ(Internet Explorer)(商標)、ネットスケープコミュニケーションコーポレーション(Netscape Communication Corporation)のネットスケープナビゲータ(Netscape Navigator)(商標)、モジラオーガナイゼーション(Mozilla Organization)のファイアフォックス(Firefox)、アップルコンピュータ社(Apple Computer,Inc.)のサファリ(Safari)(商標)、オペラソフトウェア(Opera Software)のオペラ(Opera)ウェブブラウザ、およびオープンソースコンカラー(Konqueror)ブラウザ等のブラウザアプリケーションプログラムを実行しているパーソナルコンピュータであることができる。
[サーバ装置/ネットワーク機器]
サーバ装置またはネットワーク機器もコンピュータ可読媒体に結合されるプロセッサを含む。メモリはアプリケーションを含む。サーバまたはネットワーク機器は、いくつかのソフトウェアプログラムおよび/またはハードウェア構成の組み合わせを含むことができる。以下の説明では、プロセスがプログラムコードにより実施されるものとして説明するが、専用プロセッサまたは専用プロセッサとプログラムコードの組み合わせとしても同様に実施することができる。
サーバ装置またはネットワーク機器はデータベースサーバを含むこともできる。データベースサーバは、データベースサーバが問い合わせに応答してデータを提供できるようにする、オラクル(Oracle)(登録商標)、SQLサーバ(SQL Server)、またはMySQL関係データストア管理システム等のデータベース管理システムを含む。
サーバ装置およびネットワーク機器は、コンピュータプロセッサのネットワークとして実施することができる。サーバ装置およびネットワーク機器の例は、サーバ、メインフレームコンピュータ、ネットワークコンピュータ、ルータ、スイッチ、ファイアウォールまたは他のプロセッサベースの装置、および同様の種類のシステムおよび装置である。これら装置が使用するプロセッサは、カリフォルニア州サンタクララ(Santa Clara,California)に所在のインテルコーポレーション(Intel Corporation)およびイリノイ州ショームバーグ(Schaumburg,Illinois)に所在のモトローラコーポレーション(Motorola Corporation)等の任意の数のコンピュータプロセッサであることができる。
このようなプロセッサは、マイクロプロセッサ、ASIC、および状態機械を含むことができる。このようなプロセッサはコンピュータ可読媒体を含むか、またはコンピュータ可読媒体と通信してもよく、コンピュータ可読媒体は、プロセッサにより実行されるとプロセッサにアクションを実行されるプログラムコードまたは命令を記憶する。コンピュータ可読媒体の実施形態は、サーバ装置104のプロセッサ114等のプロセッサにコンピュータ可読命令を提供できる電子装置、光学装置、磁気装置、または他の記憶装置または伝送装置を含むがこれらに限定されない。適した媒体の他の例としては、フロッピー(登録商標)ディスク、CD−ROM、DVD、磁気ディスク、メモリチップ、ROM、RAM、ASIC、構成プロセッサ、光学媒体、磁気テープ媒体、またはコンピュータプロセッサが命令を読み取ることができる任意の他の適した媒体が挙げられるがこれらに限定されない。他の各種形態のコンピュータ可読媒体は、コンピュータにプログラムコードまたは命令を伝送または搬送してもよく、有無線両方のルータ、私設ネットワーク、公衆ネットワーク、または他の伝送装置もしくはチャネルを含む。命令は、例えば、C、C++、C#、ビジュアルベーシック、ジャバ(Java(登録商標))、パイソン(Python)、パール(Perl)、およびジャバスクリプト(Java(登録商標)Script)を含む任意のコンピュータプログラミング言語からのプログラムコードを含むことができる。
本発明が、図示し、以下に説明する構造と異なる構造を有するシステムを含んでもよいことに留意されたい。
[適応型セキュリティシステム]
本発明の一実施形態は、周囲環境において各種パラメータを動的に発見して応答システムに送る適応型学習システムを含む。これらシステムの組み合わせを使用して、ネットワークセキュリティの提供等の有益なタスクを行うことができる。
表記上好都合のため、このような実施形態を学習システムと呼ぶ。学習システムから学習されたパラメータを受け取るシステムは応答システムとして知られている。両方のシステムの組み合わせが適応型セキュリティシステムとして知られている。
学習システムは、学習システムと通信可能な任意の応答システムと共に使用することができる。例えば、共通の通信プロトコルを介して通信してもよく、かつ/または共通のインタフェースを介して接続してもよい。
[応答システム]
本発明の一実施形態では、応答システムは、以下の5つのタスクを実行することができる任意のシステムであることができる。
データストリームの読み取り
データストリームの部分またはすべての解析および解析中のデータストリームの部分またはデータストリーム全体への数値の割り当て
意思決定プロセスに基づく数値の変更または数値の除去
数値と1組の数値閾値との比較
応答システムは、数値が、数値閾値を満たすか、または数値閾値を超えるポイントまで変化したときに応答アクションを実行することができる。
一実施形態では、応答システムは、セキュリティを通信媒体に提供する装置として導入される。このような実施形態では、応答システムは、外部データソースのまとまりと保護される内部ノードのまとまりとの間に導入される。外部データソースは、保護ノードのうちの1つまたは複数により受信される宛先を有するデータストリームを生成する。保護ノードは、データソースおよび保護ノードの両方が理解する任意の事前に規定された通信プロトコルに従ってデータストリームに応答することができる。保護ノードは、外部データソースとの接続を開始することもできる。このような実施形態での応答システムの役割は、内部ノードと外部データソースとの間でのデータストリームを監視して解析することである。データストリームの部分が疑わしいまたは悪意があると見なす場合、応答システムは、特定の時間期間(使用される方式に応じて不定であり得る)にわたりその送信相手からのそれ以上のデータのさらなる送信を積極的にブロックすることができる。
例えば、一実施形態では、外部データソースのまとまりをインターネットに接続されたコンピュータシステムを指すことができ、内部保護ノードのまとまりを組織の内部ネットワーク内のマシンを指すことができる。応答システムは、インターネットと内部ネットワークとの間のネットワークトラフィックの監視、解析、転送、またはブロックを行う能力を有するハードウェア機器として具現化することができる。
このような実施形態での外部データソースと内部保護ノードとの間のデータストリームは、ユニットまたはフラグメントで送信される。例えば、インターネットのコンテキストの中では、ネットワークトラフィック(データストリーム)はパケットで送信される。応答システムは、通常の挙動から逸脱する、疑いのある性質である異常を探してパケットを調べることによりデータストリームを解析する。各パケットは一意に識別可能である。同様に、特定のデータストリーム(基本的に一連の関連パケット)の発信元も識別可能である。応答システムは、パケットまたはデータストリームを疑わしいと見なした場合、そのパケットまたはデータストリームに関連する数値を増大させる。本明細書では、この数値を脅威レベルと呼ぶ。脅威レベルが特定の閾値に達すると、応答システムは、疑わしい発信元から発信されるか、または疑わしい性質を示すそれ以上のデータストリームまたはパケットをブロックする。
[学習システム]
本発明の一実施形態では、学習システムは内部保護ノードに適正な閾値を決定する。学習システムを、一体装置、すなわち適応型学習システムとして応答システムと併せて動作するものとして説明するが、学習システムは別個の独立したシステムとして実施してもよい。学習システムはデータストリームを監視して、適応型セキュリティシステムが導入される環境についての情報を得る。学習システムは、各種パラメータについてこれらデータストリームを解析し、各種パラメータを使用して適正な閾値を保護ノードに割り当てる。閾値決定プロセスはいくらか複雑であり得るが、一般に、学習システムは、ノードが特に脆弱であると判断した場合、そのノードにより低い閾値を割り当てる。これとは対照的に、学習システムは、ノードが攻撃に対して自己を守るより高い潜在性を有する(すなわち、脆弱性がより低い)と判断した場合、より高い閾値をそのノードに割り当てる。閾値が低いことは、そのノードが他のノードよりも重要であることも示しうる。したがって、そのようなノードにより低い閾値を設定することにより、その攻撃の脅威レベルが、仮にそのノードにより高い閾値が割り当てられていた場合よりもはやく保護ノードの閾値に達することになるため、そのノードへの攻撃が成功する可能性は低くなる。閾値を計算した後、次に、学習システムは、これら閾値を応答システムに提案する。脅威レベルが閾値に達すると、応答システムはデータストリーム、発信元、またはこれら両方を積極的にブロックする。
学習システムは、環境について学習して、妥当な閾値を保護ノードに割り当てる。これより、同様の番号が数枚の図の全体を通して同様の要素を示す図面を参照すると、図1は、本発明の一実施形態を実施する例示的な環境を示すブロック図である。図1は、本発明の一実施形態での学習システムおよび各種構成要素との対話を示すブロック図である。学習システム102は、1つまたは複数のリファレンスデータベース104から入力を得ることができる。
リファレンスデータベース104は、適応型セキュリティシステムが導入されるコンテキストに固有の知識ベースである。例えば、インターネットのコンテキストの中では、外部データソースと保護ノードとの間でのデータストリームの部分であるオペレーティングシステム、サービス、およびアプリケーションについて学習することが有益である。このようなコンテキストでのリファレンスデータベース104は、オペレーティングシステムをサービスおよびアプリケーションにマッピングすることができる。このようなリファレンスデータベースの一例を図9に示す。リファレンスデータベース104は他のコンテキストに適用することも可能である。例えば、適応型セキュリティシステムが、システムコール解析を実行するホストベースの侵入検知・応答システムとして実施される場合、リファレンスデータベース104は、特定のオペレーティングシステムのシステムコールを含むことができる。他の例として内部脅威管理システムが挙げられ、この場合、リファレンスデータベース104はアプリケーション、ファイルタイプ、および転送モードを含むことができ、このような実施形態での適応型セキュリティシステムが、機密情報を漏出させようとしている悪意のある内部者を追跡できるようにする。
図1に示す実施形態での環境プロファイル106は、学習システムが特定の環境でノードに適正な閾値を計算するのに役立つ1組のパラメータを定義する。例えば、適応型セキュリティシステムが大企業に導入される実施形態では、メールサーバおよびウェブサーバ等の重要なサーバに高い優先度が割り当てられる。それとは対照的に、通常、このようなサーバは家庭環境に存在しないため、家庭環境の環境プロファイル106は、ホームネットワークで使用されている実際のワークステーションに高い優先度を付与する。他の環境も思い描くことができ、例えば、ラップトップとインターネットとの間に導入された適応型セキュリティシステム装置を有する出張者の場合、ここでも優先順位は変わる。いくつかの実施形態では、事前に規定されない環境の場合、汎用環境プロファイル106を使用することができる。
図1に示す実施形態は、構成ファイル108も含む。構成ファイル108は、適応型セキュリティシステムのユーザが適応型セキュリティシステムの構成パラメータを指定できるようにする。
図示の学習システムは、リアルタイム入力110も受け取る。リアルタイム入力110は、学習システムの閾値計算に影響する動的リアルタイム入力を適応型セキュリティシステムに入力できるようにする。例えば、ワームがインターネットの大部分に広がっている場合、インターネットトラフィック監視組織がこのイベントを発見する。こういった組織は、このようなイベント中、そのワームの脅威レベルを上げる。こういった脅威レベルを、学習システム102へのリアルタイム入力110として利用することができる。次に、学習システム102は、リアルタイム入力110を使用してその閾値を計算する。例えば、ワームアクティビティが検知されている場合、インターネット脅威レベルは高であるため、ワームの攻撃が発生する可能性が非常に高いため、ノードの閾値が下げられる。いくらか静的であるリファレンスデータベース104および環境プロファイル106とは対照的に、リアルタイム入力110の性質は、その名称が示唆するようにリアルタイムである。
図1に示す実施形態では、学習システム102はデータストリーム112にアクセスすることもできる。学習システム102は、データストリーム112を解析し、リファレンスデータベース104、構成ファイル108、リアルタイム入力110、および環境プロファイル106からのパラメータを使用してノードの閾値を計算する。
図示の実施形態では、学習システム102は、周囲環境を学習している間、その結果を状態記憶装置114に定期的に記録することができる。この書き込みプロセスを「ダンプ状態」と呼ぶことができる。状態記憶装置114は、記憶コストを最小に維持しながら、適応型セキュリティシステムの環境内の一連の履歴イベントについての多くの情報を取り込もうとする。一実施形態では、最新の状態は、ネットワークについて学習された最新の情報の記録を含む。これを「ジャストインタイム状態更新」と呼ぶ。
[例示的な実施形態]
本発明の実施形態では、適応型セキュリティシステムはハードウェア機器として具現化することができる。ハードウェア機器には、学習システム102および応答システム116の両方のロジックを実施するファームウェアがロードされる。機器は、リファレンスデータベース104および環境プロファイル106を記憶するための記憶領域も含む。このような実施形態では、リファレンスデータベース104および環境プロファイル106をホストするこの記憶領域、ならびに学習システム102および応答システム116は、更新可能であるように書き込み可能である。
図7は、本発明の一実施形態によるハードウェア機器のブロック図である。図示の機器700は、外部環境との通信に使用できる3つの入出力インタフェースを備える。図7では、これら入出力インタフェースのうちの2つ(intf1 704およびintf2 706)が、対称(全二重)モードでデータストリームのルーティングに使用される。第3のインタフェースは、管理および処理に使用することができる(intf0 702)。入出力インタフェースとの通信が不便であるか、または不可能である場合に追加の物理インタフェース708を使用することができる。例えば、適応型セキュリティシステムがリファレンスデータベースおよび環境プロファイルの更新を実現するための外部インターネットへのリンクを有していない場合、物理インタフェース708をそれらの更新に使用することができる。物理インタフェース708の一例はUSBポートである。
図7に示す実施形態は3つの入出力インタフェース708を含むが、本発明の一実施形態による機器は、3つのインタフェースを必要としない。入出力インタフェースの数は、適応型セキュリティシステムが使用される用途および環境に依存する。しかし、一般に、本発明の一実施形態による機器は、データストリームにアクセスするために少なくとも1つの入出力インタフェースを備える。
図8は、本発明の代替の実施形態でのハードウェア機器としての適応型セキュリティシステムを示すブロック図である。図示の適応型セキュリティシステム800は、1つのみの入出力インタフェース802を備える。図示の実施形態では、適応型セキュリティシステム800は、入出力インタフェース802を介してデータストリームを読み取ることができる。新しい情報をデータストリームに注入することも可能である。図示の実施形態は物理インタフェース804も含む。
本発明により、他の実施形態を実施することも可能である。例えば、一実施形態は4つ以上の入出力インタフェースを有するハードウェア機器を含み、これは、要求のより厳しい用途に使用することができる。
ハードウェア機器の異なる変形を特定用途に向けてカスタマイズすることもできる。例えば、家庭またはSOHO(「小規模オフィス/ホームオフィス」)市場では、低出力ハードウェア機器で十分でありうる。したがって、適応型セキュリティシステムは、データ記憶装置としてコンパクトフラッシュ(登録商標)を有する小規模ハードウェア機器として具現化することができる。しかし、企業環境の場合、より高出力のハードウェア機器が望ましいであろう。このような環境では、適応型セキュリティシステムハードウェア機器の適した変形は、大きなデータ記憶領域、追加のメモリ、およびより大きな処理能力を有するラックマウントサーバでありうる。
[動作プロファイル]
適応型セキュリティシステムの実施形態は、種々の構成で導入することができる。これら構成を動作プロファイル(「OP」)と呼ぶことができる。これら動作プロファイルは、適応型セキュリティシステムが環境をどのように学習するかに影響する。OPの使用は、装置がユーザ側での構成が最小であるか、またはない状態で使用可能であるように、適応型セキュリティシステムを異なる環境にシームレスに統合できるようにすることに役立つ。データストリームを評価するに当たり、学習システムは、どのデータストリーム接続が外部データソースからのものであり、どれが内部保護ノードから開始されるものであるかを判断する。インターネットのコンテキストの中では、適応型セキュリティシステムは、遭遇したIPアドレスを調べ、どれがインターネット(外部IPアドレス)からのものであり、どれが内部ネットワークに属するものかを判断する。これを実現する2つの概括的な戦略がある。第1の戦略は、適応型セキュリティシステムが遭遇したIPアドレスのパターンを調べる戦略であり、第2の戦略は、入出力インタフェースでデータストリームを調べる戦略である。
動作プロファイルは、第1の戦略の実現に役立つ。以下の動作プロファイルの説明では、適応型セキュリティシステムがインターネットおよびネットワーキングドメインに導入されるものと仮定する。
[動作プロファイル1:各部門間]
図2は、本発明の一実施形態での動作プロファイル(「OP」)を示すブロック図である。OP1では、適応型セキュリティシステム202は、OSIレイヤ2ブリッジとして2つの内部ネットワーク(例えば、2つの部門間)204、206の間に導入される。各内部ネットワークは、ルータ208、210により適応型セキュリティシステム202に接続される。各内部ネットワークに属するIPアドレスは同じサブネットに属するため、繰り返して現れる傾向がある。
[動作プロファイル2:企業]
図3は、本発明の一実施形態での別の動作プロファイル(「OP」)を示すブロック図である。この動作プロファイルでは、適応型セキュリティシステム302は、ルータ306を介してインターネット304と内部ネットワーク308との間にOSIレイヤ2ブリッジとして導入される。内部ネットワーク308は複数のノード310a〜310cを含む。内部ネットワーク308内のノード310a〜310cのIPアドレスにはしばしば遭遇するが、インターネット上のIPアドレスはより「ランダム」に出現する。
[動作プロファイル3:単一ノード]
図4は、本発明の一実施形態での別の動作プロファイル(「OP」)を示すブロック図である。OP3は、1台だけのワークステーションを有するホームユーザまたはラップトップを携えた出張者(ノード402)に典型的な動作プロファイルを表す。適応型セキュリティシステム404は、ノード402と通信し、OSIレイヤ2ブリッジとして動作する。適応型セキュリティシステム404は、ルータ408を介してインターネット406とも通信する。この場合、ノード402のIPアドレスのみが、適応型セキュリティシステム404が受信するデータストリームに一貫して出現する。
[動作プロファイル4:ルータ構成]
図5は、本発明の一実施形態での別の動作プロファイル(「OP」)を示すブロック図である。前出の3つの動作プロファイルでは、適応型セキュリティシステムはレイヤ2ブリッジとして実施される。OP4では、適応型セキュリティシステム502はルータとして実施される。適応型セキュリティシステム503はインターネット504と通信する。適応型セキュリティシステム503は内部ネットワーク506とも通信する。内部ネットワーク506は複数のノード508a〜508cを含む。
このような実施形態では、適応型セキュリティシステムはすべてのデータストリームを受信して、どのIPアドレスがどのカテゴリに属するか、すなわち内部に属するのか、それとも外部に属するのかを判断することができる。しかし、このような実施形態では、ルータをセットアップするために、ユーザによる構成が必要である。
他の要因も同様に、こういった動作プロファイルでの学習システムアルゴリズムに影響しうる。このような一要因は、使用されているのがIPv4であるか、それともIPv6であるかである。別の要因は、IPアドレスが各動作プロファイルに割り当てられる方法、例えば、DHCPおよび静的IPアドレス割り当てである。ネットワークインタフェースカード(NIC)のMACアドレスに依存するIPv6のステートレス自動構成メカニズムも動作プロファイルに影響しうる。これら要因はサブ構成と呼ばれる。以下の表に考えられるいくつかのサブ構成を列挙する。
Figure 2009504104
[入出力インタフェースを介してのアドレス識別]
前の項で述べたように、本発明の一実施形態は、どのIPアドレスが外部データソースに属し、どれが内部保護ノードに属するのかを識別する2つの概括的な戦略に従う。これらのうちの第2の戦略は、データストリームの発信元が最初に出現した入出力インタフェースがどれであるかを調べることにより、アドレスの発信元を識別する戦略である。この手法は前の戦略よりも正確でありうるが、入出力インタフェースのレベルでデータを観察し比較するには計算サイクルが必要であるため、最初の戦略と比較して性能のペナルティも発生しうる。
以下の考察でも図を参照し、いくつかの仮定が必要である。第1に、入出力インタフェースintf1 704は外部インターネット(図示せず)に接続される。第2に、入出力インタフェースintf2 706は内部インターネットに接続される。したがって、intf1 704は外部インタフェース(ext_intf)と呼ばれ、intf2 706は内部インタフェース(int_intf)と呼ばれる。学習システムは、パケット捕捉機能を実行することにより両方のインタフェースを観察する。
この戦略での基本動作は、データストリームが外部および内部両方のインタフェースに出現したときにデータストリームの特徴を調べることである。データストリーム(ネットワークトラフィック)の各チャンク(パケット)は、タイムスタンプ、シーケンス番号、発信元IPアドレスまたは他の識別子、宛先IPアドレスまたは他の識別子等の特定のフィールドを含む。タイムスタンプは、この場合に特に関連する。これは、特定のパケットがインターネットから来る場合、外部インタフェースでのタイムスタンプが、内部インタフェースでのタイムスタンプと比較して早い時間を示すためである。これら特徴に基づいて、以下の観察を行うことができる。
パケットが受信パケット(例えば、インターネットからのパケット)である場合、時間(ext_intf)<時間(int_intf)である。同様に、パケットが出力パケット(例えば、内部ネットワークからのパケット)である場合、時間(ext_intf)>時間(int_intf)である。通常、これらインタフェース同士の時間差は非常に小さいため、測定はミリ秒単位で行われる。
発信元を識別する例示的な実施形態
以下の表に、この戦略を使用してパケットの発信元を判断する例を示す。以下のパケットが外部インタフェースで観察されたものと仮定する。
Figure 2009504104
そして、以下のパケットが内部インタフェースで観察された。
Figure 2009504104
(注:上記表中、リファレンス#が参照のために追加され、その他のフィールドはデータストリームから取り込まれる。)
表から、学習システムは、パケット#1および#3のシーケンス番号が2804503991であるため、本質的に同じパケットであることに気付く。しかし、パケット#1および#3は異なるインタフェースで観察された。これら2つのパケットのタイムスタンプは異なる。パケット#3のタイムスタンプは、パケット#1のタイムスタンプよりも早い。したがって、学習システムは、発信元IPアドレス(192.168.0.4)が内部ネットワークに属すると判断する。
#1=#3:同じパケット、src_ip=192.168.0.4、シーケンス#=2804503991、時間(ext_intf)>時間(int_intf):したがって、src_ip(192.168.0.4)は内部である。
同様に、学習システムは、パケット#2および#4が同じシーケンス番号を共有しているため、実際に同じパケットであると判断する。パケット#2のタイムスタンプはパケット#4のタイムスタンプよりも早い。したがって、IPアドレス10.20.30.40は外部インターネットに属する。
#2=#4:同じパケット、src_ip=10.20.30.40、シーケンス#=3935917580、時間(ext_intf)<時間(int_intf):したがって、src_ip(10.20.30.40)は外部である。
上記実施形態では、両方のインタフェースで観察された2つのパケットインスタンスが実際に同じパケットであると判断するために、パケットのシーケンス番号のみが突き合わせられる。一実施形態では、学習システムは、発信元IPアドレス、発信元ポート、宛先IPアドレス、および宛先ポートも突き合わせる。
適応型セキュリティシステムの実際の実施形態に応じて、IPアドレスが外部データソースに属するか、それとも内部保護ノードに蔵するのかを識別するために他の方法を使用してもよい。例えば、この情報は、オペレーティングシステムのユーザレベルまたはカーネルレベルの機能、システムコール、ルーティングテーブル、および他の同様の技法を介して得ることができる。
[断片化および正規化]
現実世界のネットワークでは、本発明の一実施形態での学習システムおよび応答システムは、互いに協働して、IPアドレスを正確に正しいアドレスプールに割り当てられることが要求される。この一理由は、現実世界のネットワークトラフィックは断片化を受けうるためである。断片化は非意図的である場合もあれば意図的である場合もある。非意図的な断片化は、パケットが、宛先までのルート上にある特定の物理ネットワークにとって大きすぎ、したがってパケットをさらに小さなユニットまたは断片に分ける必要がある場合に発生する。これは通常の挙動である。意図的な断片化は、パケットが別個の断片に意図的に分割される場合に発生する。例えば、侵入検知システムを回避するために、攻撃者はデータストリームを意図的に、必要な数のパケットよりも多くのパケットに断片化することがある。
正規化されたデータストリームと呼ぶことができるデフラグされたデータストリームは、解析が容易であるため、本発明の一実施形態はデータストリームを正規化する正規化構成要素を備える。いくつかの実施形態では、正規化構成要素は、応答システム内でネイティブに実施される。他の実施形態では、オープンソースソフトウェアが利用される。
正規化構成要素が利用される一実施形態では、未処理の断片データストリームが外部インタフェースに出現する。次に、応答システムはデータを正規化し、したがって、正規化されたデータストリームが内部インタフェースに出現する。このような実施形態では、応答システムは内部インタフェースのみのデータストリームを観察する。
このような実施形態は、問題を学習システムに提供する。断片化されたパケットは外部インタフェースに現れ、対応する正規化されたデータが内部インタフェースに現れるため、パケットインスタンスを突き合わせてタイムスタンプを判断することが難しいことがある。一実施形態では、学習システムは特定のパケットサブセットを観察する。例えば、TCP接続が利用される一実施形態では、学習システムはSYNフラグ、FINフラグ、およびACKフラグがオンになっているパケットのみを観察する。一般に、このようなパケットは、あまりに小さすぎて断片化することができない(大半の場合、これらパケットのデータペイロードは0バイトである)。このような実施形態は、性能の利点を提供する。学習システムは、小さなパケットセットのみを調べて、IPアドレスがどこに属するのかを判断し、それにより、このタスクの実行に必要な計算サイクル量を低減する。
本発明の一実施形態は、RSTパケットも観察する。しかし、SYNパケット、FINパケット、およびACKパケットはこの観察の良好な候補であるが、RSTパケットは、応答システムが、脅威レベルが閾値を超えた接続を積極的に終了させるように意図的にRSTパケットを作ることが可能であるため、良好な候補ではない場合がある。
[動作モード]
周囲環境を学習するために、学習システムの実施形態は異なるモードで動作することができる。図6は、本発明の一実施形態において学習システムがとることができる各種動作モードおよび動作モード間で可能な遷移を示すブロック図である。本発明の一実施形態において使用可能な動作モードについて以下に手短に説明し、それから各状態のより詳細な考察を提示する。
[動作モードの手短な考察]
開始(START)602:開始モードは、学習システムが最初に開始されたときに学習システムを初期化する。
学習(LEARNING)604:学習システムは、システム内のパラメータを動的に発見しているが、環境について十分な情報が収集されたという確信がない場合にこのモードに入る。
確立(ESTABLISHED)606:このモードでは、学習システムは、環境の正確な状況を有するのに十分な情報を収集したという確信がある。学習システムがまだ新しい情報を求めて環境を引き続き監視していることに留意する。
リセット(RESET)608:このモードが呼び出されると、学習システムは確立モードから学習モードに戻る。例えば、このモードは、学習システムがデータストリーム内で全く新しい情報に遭遇し、それにより、十分な情報が集められたという確信度が下がった場合に呼び出すことができる。
受動(PASSIVE)610:このモードは、学習システムを、データストリームを単に監視してアクティビティを報告するだけの受動監視モードにする。
一時状態ダンプ(DUMP_STATE_TEMP)612:学習システムは、変数(それまでに学習したこと)を一時状態に書き込んでいる場合にこのモードになる。例えば、これは2時間毎に発生しうる。
状態ダンプ(DUMP_STATE)614:このモードと前の一時状態ダンプモードとの相違は、状態ダンプが変数を「永久的な」状態に書き込むことである。この文脈の中では、永久的とは「長期」を意味する。例えば、このモードは、毎日真夜中に呼び出すことができる。説明する実施形態において状態をダンプする2つのモードがある理由は、状態の動作コストと状態の永続性とのバランスを実現するためである。一時状態ダンプは、非常に低い動作コストで状態をダンプすることを意味するが、状態は永続しない(例えば、学習システムが再開されるときになくなりうる)。状態ダンプは、状態を永続的な記憶装置にダンプするが、そうするための計算コストはより高い。
更新(UPDATE)616:この動作モードは、いくつかの構成要素、すなわち学習システム、応答システム、およびリファレンスデータベースを更新する場合に使用される。
フォールバック(FALLBACK)618:このモードは、状態が、それ以上更新することができないポイント(例えば、状態を記憶するための記憶領域がなくなった)に達したことを学習システムが検出した場合に呼び出される。この場合、学習システムはフォールバック手続きを呼び出して、状態を再び更新できるようにする。
シャットダウン(SHUTDOWN)620:学習システムは、停止プロセスにあるときにシャットダウンモードになる。
[動作モードの詳細な考察]
以下に、本発明の一実施形態において学習システムで実施される動作モードの詳細な考察を提供する。
開始:学習システムは、最初に開始されるときに開始モードになる。このモードでは、学習システムの変数およびランタイム構成パラメータが初期化される。学習システムはまず、任意の状態が存在するか否かをチェックする。状態が存在しない場合、学習システムは初めて開始されている。学習システムが状態を生成し、状態の変数を初期化する。状態がすでに存在する場合、学習システムはその状態の変数をメモリに読み込む。
初期化プロセスが完了すると、学習システムは3つの動作モード、すなわち学習、確立、または受動のうちの1つに遷移することができる。学習システムは、環境を十分に学習したか否かを判断する。まだ十分ではない場合、学習動作モードに切り替わる。十分である場合、確立モードになる。
学習システムが環境を十分に学習したか否かは、経過時間および監視されたデータストリームアクティビティ量により判断される。環境の学習が終わるときには、学習システムはアドレスリストを集計し、どれが外部データソースに属し、どれが保護内部ノードに属するのかを知っている。
受動動作モードは、管理者が、受動監視を行うように学習システムを構成する場合になる。いくつかの実施形態では、自動的に受動動作モードになることができる。
学習:学習モードは、学習システムに周囲環境を学習させる。本発明の実施形態では種々の学習方式を用いることができる。データストリームの監視を行い、情報を収集する。学習モードの2つの主な目的は、(1)データストリームから情報を収集し、(2)閾値をノードに割り当てることである。収集される情報としては、例として以下を挙げることができる。
(a)外部データソースとして参加しているノードアドレスセット
(b)内部保護ノードとして参加しているノードアドレスセット
(c)複数入力ソースとの名称の以下の項で説明される情報
各種学習方式を使用して(a)および(b)を判断することができる。例えば、ある方式は、2つの入出力インタフェースでリッスンし、「入出力インタフェースを介してのアドレス識別」という名称の項で概説した戦略に従ってデータストリームを監視する。(c)に関しては、監視する必要があるのは1つのみの入出力インタフェースのみであり、そのタイプの情報を収集する。
本発明の一実施形態では、学習システムが収集された情報についてどの程度の確信があるかに基づいて、閾値がノードに割り当てられる。これは、経過時間に関連して収集された情報の特定のインスタンスの頻度を監視することにより行うことができる。確信レベルはこれら収集された情報のインスタンスにマッピングされる。これら確信レベルは、各種方式に応じて増減することができる。一実施形態では、学習システムは、特定のインスタンスがデータストリームに出現し続ける場合、その特定のインスタンスの確信レベルを増大させ続ける。したがって、インスタンスの頻度が高いほど、確信レベルは高くなる。そのインスタンスの確信レベルが高いほど、学習システムによるそのインスタンスについての確信度は高くなる。
学習システムは、こういった確信レベルを、特定の確信閾値を満たすまでの、その情報インスタンスがどの程度「真」であるかについての推定として解釈することができる。特定のインスタンスの確信レベルが、学習プロセス中に確信閾値を満たす、または超える場合、学習システムは、そのインスタンスが「真」であるという「絶対的な」確信を有する。これら確信閾値は、以下に説明する環境プロファイルにおいて定義される。
全体的な確信レベルが達成されると、本発明の一実施形態での学習システムは、確立動作モードになることができる。各種方式を使用して、学習システムが周囲環境について十分な確信を有するときを判断することができる。例えば、一実施形態では、学習システムは、収集されたすべてのインスタンスのうちの80%が確信閾値を超える確信レベルを有する場合に、学習システムが確立モードになるのに十分な確信を有する方式を利用する。このような実施形態では、優先度を上記情報の最初の2つのセット、すなわち、外部データソースとして参加しているノードアドレスセットおよび内部保護ノードとして参加しているノードアドレスセットに与えることができる。
確立:確立モードは、学習システムが周囲環境について十分に学習したことを意味する。この動作モードでは、学習システムは、学習モード中にノードに割り当てたノード閾値について応答システムに通知する。このモードでは、外部データソースおよび内部保護ノードがすでに確立されているため、学習システムがリッスンする必要があるのは1つの入出力インタフェースのみである。2つではなく1つのみの入出力インタフェースをリッスンすることにより、データストリームの監視に関連する計算コストも低減する。
リセット:一実施形態では、リセット動作モードは、学習システムが現在確立モードである場合のみ呼び出すことができる。他の実施形態では、リセットモードは他のときに呼び出すことができる。リセットモードは、状態内のすべての情報インスタンスの確信レベルをクリアし、AEFを学習モードに再び戻す遷移モードである。
リセットモードには、管理者により故意になるか、または学習システムにより自動的に呼び出すことができる。本発明の一実施形態を利用する管理者は、いくつかの理由によりリセットモードを呼び出したい場合がある。例えば、管理者は新しいサーバを設置中であり、学習システムによる新しいサーバが設置された環境の明示的な再学習を要求しうる。または、管理者は、適応型セキュリティシステムを、適応型セキュリティシステムがそれまでに収集した状態がもはや妥当でなくなる全く新しい環境に導入しうる。
リセットモードは、学習システムにより自動的に呼び出すことも可能である。例えば、これは、全体的な確信レベルが低下した(例えば、確信閾値を超えた情報インスタンスの割合がもはや80%ではない)場合に行うことができる。
例えば、本発明の一実施形態では、学習システムは、192.168.0.0/24サブネット内のIPアドレスを有する内部保護ノードを監視していることを学習する。次に、適応型セキュリティシステムは、172.16.0.0/16サブネットからのアドレスを使用する新しい環境に突然導入される。したがって、192.168.0.0/24と全く異なる新しい172.16.0.0/16アドレスからのIPアドレスがint_intfインタフェースで突然見られるようになると、学習システムはリセットモードになり、学習モードに戻る。本発明の他の実施形態は異なるデフォルト挙動を呼び出すことができ、他の方式を使用して、学習システムがリセットモードを自動的に呼び出すときを判断することができる。
受動:受動モードは、データストリームを受動的に監視するためだけに使用される。このモードは、適応型セキュリティシステムをテストするために統計学的な情報を収集するために主に使用される。受動モードは、学習システムおよび応答システムの両方に適用することができる。このような実施形態では、両方のシステムが各自のアクティビティを報告するが、実際にデータストリームを変更することはない。実際に、応答システムは疑わしいトラフィックをブロックせず、単にそのログを記録するだけであるため、このモードは学習システムよりも応答システムに影響しうる。受動モードが呼び出されると、学習システムおよび応答システムの両方が受動モードに設定される。一実施形態では、管理者が受動モードを手動で呼び出すことができる。他の実施形態では、受動モードは自動的に呼び出すことができる。
一時状態ダンプ:収集された情報、確信レベル、および割り当てられたノード閾値はすべて、学習システムにより状態として記憶される。状態は、記憶媒体またはファイルシステムに定期的に書き込まれるまで、メモリに保持される。状態をファイルシステムに書き込む動作は、「状態ダンプ」として知られている。状態はファイルシステムに書き込まれるため、それまで学習システムが状態を保持するために使用していたメモリ資源を他の目的で使用することができる。
一実施形態では、一時状態ダンプ動作モードは、状態を一時的で非永続的なファイルシステムにダンプするために使用される(適応型セキュリティシステムのハードウェア機器が再開されると、もはや状態を利用することはできない)。状態は非永続的であるが、このようにして状態をダンプすることにはいくつかの利点がある。これを行うための計算コストは低く、高速である。記憶媒体にあまり「ダメージ」(損耗および損傷)を与えない。このため、かなり頻繁に行うことができる。一時状態ダンプを呼び出す実際の頻度は、管理者の好みに基づいて決められてもよく、またはシステムデフォルト値(例えば、2時間毎)から導出してもよい。
状態ダンプ:状態ダンプ動作モードは、一時状態ダンプモードの逆と考えることができる。一時状態ダンプモードと異なり、状態ダンプモードは、状態を永続的に、または長期記憶目的で書き込むためのモードである。したがって、適応型セキュリティシステムハードウェア機器が再開されても状態を引き続き利用することができる。しかし、この動作モードは、一時状態ダンプと比較して高いコストを発生させ、計算コストがより高く、速度がより遅く、かつ記憶媒体に対する損耗および損傷がより大きい。
例えば、学習システムが、コンパクトフラッシュ(登録商標)カードを利用するハードウェア機器等のハードウェア機器で具現化される一実施形態では、記憶媒体は、多数回の書き込み後に摩耗しうる。コンパクトフラッシュ(登録商標)カードは、潜在的に、100,000回等の多数回の書き込み後に摩耗しうる。この発生を回避するために、本発明の一実施形態では2つのファイルを使用することができる。
ファイルシステム1:コンパクトフラッシュ(登録商標)カードの記憶空間全体を使用する読み取り専用ファイルシステム
ファイルシステム2:使用されていないメモリに基づく読み書きファイルシステム
学習システムおよび応答システムは、永続的な状態情報と共に、ファイルシステム1に記憶することができる。ファイルシステム1は「読み取り専用」と見なされるが、非常に短い時間(例えば、30秒間)にわたって読み書きされるように再構成し、その後、再び読み取り専用として再構成することができることに留意する。換言すれば、ファイルシステム1は大半の時間で読み取り専用であるが、時には読み書きすることができる。
一時的な状態はファイルシステム2に記憶することができる。一時状態ダンプは、状態をファイルシステム2に書き込み、それを行うコストおよび速度はわずかである(メモリベースのファイルシステムは非常に高速の読み書きをサポートする)。しかし、欠点は、状態が永続しないことである。
状態ダンプ動作は、状態をファイルシステム2からファイルシステム1へ転送する。このプロセス中、ファイルシステム1は、短時間にわたって読み書きされるように再構成されて、一時的な状態をファイルシステム2からファイルシステム1に書き込めるようにする。状態がファイルシステム1に書き込まれ、正しく書き込まれたことが確認された後、ファイルシステム1は再び読み取り専用に再構成される。
状態ダンプ動作での動作の種類および回数により、計算コストが高くなり、永続状態を書き込む速度が遅くなる。さらに、コンパクトフラッシュ(登録商標)カード(または他の同様の記憶媒体)の記憶空間に実際に書き込むため、書き込み毎に記憶媒体をわずかに損耗させる。このため、状態ダンプ動作は一時状態ダンプのように頻繁に行われるべきではなく、考えられる方式は、状態ダンプ動作を毎日真夜中または非ピーク期間中に行うことである。
以下の表に、一時状態ダンプと状態ダンプとの相違をまとめる。
Figure 2009504104
更新:更新モードは、学習システムプログラム、応答システムプログラム、およびリファレンスデータベースを含む適応セキュリティシステムの構成要素の更新に使用される。更新プロセスでは、適応型セキュリティシステムの構成要素は、より新しいバージョンで置き換えられる。更新は、バグを修正するため、より新しく高度なアルゴリズムを構成要素に導入するため、またはリファレンスデータベースの場合、現在の環境により適切な更新されたリファレンスデータベースを導入するために使用される。
一実施形態では、状態変更が更新中に失われないように、更新モードを呼び出す前に状態ダンプ動作が行われて、更新中の状態を永続的にする。これにより、学習システムの更新されたバージョンが最新の状態を使用できることも保証される。
更新動作モードになると、学習システムは、以下の「学習システムの更新」の項において説明される手順を使用してのそれ自体の更新に進む。更新プロセスが完了した後、更新された構成要素に対してサニティチェックを行い、構成要素の現在の状態が新しいバージョンと適合しないバージョンを有さないことを保証することにより、確認が行われる。この後、更新動作モードは、学習または確立である前のモードに戻る。
フォールバック:有限状態機械として、適応型セキュリティシステムの状態は、それ以上は進化できないポイントまで進化しうる。このような状況の一例は、確信レベルおよび脅威レベルがすべて閾値を超えるか、または各最大値(確信/脅威レベルスケールの終点)に達した場合である。
フォールバックモードは、現在の確信レベルをより低いレベルに低減させるために使用される。これを行いたい1つの理由は、確信レベルが、確信閾値をはるかに超える確信レベルスケールの終点に達しないようにすることである。このモードが呼び出されると、すべての確信レベルまたは特定の確信レベルのみ(使用されるフォールバック方式に応じて)が、確信閾値に関連して計算されてもされなくてもよい特定の割合または値だけ低減される。フォールバック方式の他に、減分値は、現在そのセッションで使用されている環境プロファイルにも依存する。
フォールバックモードは、応答システムに使用することも可能である。応答システムに使用される場合、脅威レベルは確信レベルと同様に扱われる。
シャットダウン:シャットダウンモードは、学習システムがシャットダウンしているときに呼び出される。管理者は、学習システムのシャットダウンを用いて、システムを停止させる(ハードウェアまたはソフトウェアを使用して発行されるコマンドを介して)ことができる。別法として、適応型セキュリティシステムは、ハードウェア故障の検出、予期せぬエラーまたは状況、ブラックアウトによる電源消失、または管理者による計画された/計画外の物理的な保守のため必要になることによりシャットダウンされうる。
シャットダウンモード中、状態は状態ダンプ動作を使用してファイルシステム1にダンプされる。現在のシステム状態のスナップショット、デバッグ情報、またはシステムでの最新のアクティビティのログ等の他の情報を、診断のために永続的な記憶装置に記録することもできる。
[複数入力ソース]
この項では、学習動作モード中に本発明の一実施形態により収集することができる情報について説明する。先に述べたように、学習動作モードの目的の1つは、閾値をノードに割り振ることである。このために、学習システムは、ノード閾値の計算に使用できる情報を収集する。この情報は複数の入力ソースから収集することができ、適応型セキュリティシステムの用途に応じて、これらソースは様々でありうる。これらソースは閾値決定要因またはTDFと呼ばれる。これら閾値決定要因が監視され、データストリームから収集される。
本発明の一実施形態では、これら閾値決定要因は関連するリファレンスデータベースと比較され、それから環境プロファイル内の変更子に割り当てられて、ノード閾値が計算される。
本発明の一実施形態では、3種類の閾値決定要因、すなわち基本TDF、複合TDF、および管理TDFが利用される。
[基本閾値決定要因]
基本閾値決定要因は、データストリームから直接読み取ることができる。例えば、一実施形態では、学習システムはTCP/IPを実行しているコンピュータネットワークを監視している。異なるオペレーティングシステムが外部ノードおよび内部ノードの両方で実行されている場合がある。TCP接続を開始するとき、各オペレーティングシステムは、生成するネットワークトラフィックの最初のパケットに特定の特徴を示す(これら特徴はあらゆるパケットに存在しうるが、この考察は最初のパケットに制限する)。これら特徴は、学習システムが接続を開始したオペレーティングシステムを識別するのに十分な一意性を有する。これら特徴は集合的にオペレーティングシステムフィンガープリントまたはOSフィンガープリントと呼ばれる。したがって、OSフィンガープリントのリファレンスデータベースが利用可能な場合、学習システムは、単にデータストリームを監視し、OSフィンガープリントをOSフットプリントのリファレンスデータベースと比較するだけで任意のTCP接続の開始ノードのオペレーティングシステムを識別することができる。したがって、このような実施形態では、オペレーティングシステムを基本閾値決定要因として使用する。
基本閾値決定要因を使用する1つの目的は、基本TDFに関連するリスクを判断することである。リスクレベルとして測定することができるこのリスクを使用して、次にノードの閾値を計算する。オペレーティングシステムを基本TDFとして使用する上記例では、そのオペレーティングシステムおよびベンダーのセキュリティトラック記録に応じて、特定のリスクレベルをそのオペレーティングシステムに割り当てることができる。そして、このリスクレベルを使用して、ノード閾値を計算することができる。
例えば、一実施形態では、オペレーティングシステムAは、過去5年間でオペレーティングシステムBよりもセキュリティの脆弱性が高い。したがって、オペレーティングシステムAはオペレーティングシステムBよりも危険であり、より高いリスクレベルが割り当てられるべきである。このリスクレベルは、ノード閾値の計算に影響し、リスクレベルが高いほど、ノードの閾値は低い(ノードは疑わしいトラフィックに対する耐性がより低い)。図10は、本発明の一実施形態でのリスクレベルスケールを示す表である。図示のスケールでは、1は最小リスクを表し、5は最大リスクを表す。
一実施形態では、環境プロファイル内で定義される数値変更子が、ノード閾値の低減量を決定する。このような実施形態では、環境プロファイルはオペレーティングシステム基本TDFの記録およびリスクレベルスケールでの各リスクレベルの変更子を含む。
例えば、一実施形態では、ノードNはオペレーティングシステムAを実行している。現在の環境プロファイルは以下の値を定義する。
新規ノードの初期閾値:
オペレーティングシステムAのリスクレベル:4
オペレーティングシステムBのリスクレベル:2
リスクレベル1の閾値変更子: 0
リスクレベル2の閾値変更子: −0.2
リスクレベル3の閾値変更子: −0.3
リスクレベル4の閾値変更子: −0.4
リスクレベル5の閾値変更子: −0.5
これにより、学習システムは、ノードに遭遇した場合、以下のタスクを実行する。
ノードNは新ノードであるため、ノードNに初期閾値=10を割り当てる。
ノードNの閾値=10。
ノードNのオペレーティングシステムを識別する。オペレーティングシステムはAである。
Aのリスクレベルを探す。Aのリスクレベルは4である。
リスクレベル4の閾値変更子を探す。閾値変更子は−0.4である。
この変更子を使用してノードNの閾値を計算する。
ノードNの閾値=10−0.4=9.6。
説明する実施形態では、ノードNの最終的な閾値は9.6であると判断される。ノードNはリスクのあるオペレーティングシステムを使用しているため、ノードNの閾値は元々の閾値10から減じられていることに留意する。
本発明の別の実施形態では、ノードZはオペレーティングシステムBを使用する。学習システムは、上述したタスクと同じタスクを実行する。
ノードZは新ノードであるため、ノードZに初期閾値=10を割り当てる。
ノードZの閾値=10。
ノードZのオペレーティングシステムを識別する。オペレーティングシステムはBである。
Bのリスクレベルを探す。Bのリスクレベルは2である。
リスクレベル2の閾値変更子を探す。閾値変更子は−0.2である。
この変更子を使用してノードZの閾値を計算する。
ノードZの閾値=10−0.2=9.8。
ノードZの最終的な閾値は9.8と計算される。ノードZのオペレーティングシステムはノードNのオペレーティングシステムよりもリスクが低いため、ノードZの閾値はノードNの閾値よりも高い。これは、ノードZがノードNよりも攻撃に対して耐性があることを意味する。
以下のリストに、本発明の実施形態が利用しうる基本TDFを含む。各TDFについて、リスクがノードの閾値にどのように影響するか、およびその状況の裏にどのような関係があるのかについて説明する。リストは完全なものではない。考えられる基本閾値決定要因として以下が挙げられるが、これらに限定されない。
[オペレーティングシステム]
閾値判断方式:セキュリティトラック記録(例えば、過去x年間でのセキュリティ脆弱性の数)が悪いほど、閾値は低くなる。
根拠:オペレーティングシステムの脆弱性の数が多いほど、攻撃者が侵入方法を見つけられる可能性が高くなる。
[オペレーティングシステムのバージョン]
閾値判断方式:オペレーティングシステムのバージョンが古いほど、閾値は低くなる。
根拠:オペレーティングシステムのバージョンが古い場合、2つのことが意味されうる。すなわち、(1)このオペレーティングシステムが、新しいバージョンのオペレーティングシステムでは修正されている悪用されうるバグを有する可能性があり、または(2)これは、未だに多くのセキュリティホールを有する、旧式で放置され、おそらくはパッチが適用されていないマシンである可能性がある。
[ノードで実行中のサービス数]
閾値判断方式:ノードで実行中のサービスが多いほど、閾値は低くなる。
根拠:実行中のサービスが多いことは、潜在的な攻撃者のエントリポイントが多いことを意味する。
[ノードで実行中のサービスの種類]
閾値判断方式:ノードが、テルネット(Telnet)またはFTP等のサービスを実行している場合、閾値は低くなる。一方、SSHが実行されている場合、閾値の低減量は、テルネットまたはFTPの場合の低減量と同じではない。
根拠:テルネットおよびFTP等のサービスは通信を平文で送信するため、盗聴を受けやすい。攻撃者が、盗聴したパスワードを使用してノードに侵入する危険性がある。
[アプリケーション]
閾値判断方式:これは、オペレーティングシステムの場合に使用される基準と同様である。セキュリティトラック記録が悪いほど、閾値は低くなる。
根拠:セキュリティトラック記録が悪いほど、可能性としてより多くのセキュリティホールが存在することを意味する。
[アプリケーションのバージョン]
関係判断方式:バージョンが古いほど、閾値は低くなる。
根拠:アプリケーションのバージョンが古いほど、悪用されうるバグが存在する可能性が高くなる。
基本TDFは、攻撃に応答するために応答システムによっても使用される。例えば、適応型セキュリティシステムがメールトラフィックを監視していると想定する。ノードがリナックス(Linux)を実行していることが分かっており、ウィンドウズ(登録商標)(Windows(登録商標)).exeファイルを含む電子メール添付物がノードに送信される場合、これは、何か疑わしいものを意味する。この場合、応答システムは、そのメールの通過をブロックするのに適当なアクションをとることができる。
[複合閾値決定要因]
基本TDFと同様に、複合TDFもデータストリームから読み取られるが、他のソースから得ることも可能である。さらに、複合TDFを判断するには、何等かの相関付けおよび統計学的な解析が必要でありうる。例えば、本発明の一実施形態では、通常、組織のネットワークは1日の特定の期間(業務時間中)では非常にビジーであり、他の時間では暇である(真夜中ら夜明けまで)。非ピーク時間中、組織のサーバにアクセスされる可能性は極めて低い。この時間に、ビジートラフィックが急にサービスに向けられる場合、これは攻撃が発生していることを意味しうる。したがって、サーバの閾値を低減すべきである。したがって、このような実施形態において、時刻は複合TDFの候補である。しかし、基本TDFと異なり、学習システムが1日のどの部分がピークであり、どの部分が非ピークであるかを確立するために、一般に、いくらかの監視が行われる。このような閾値決定要因は、基本TDFのようにデータストリームから直接読み取ることができないため、複合閾値決定要因として特徴付けられる。
以下は、本発明の各種実施形態において使用できる複合閾値決定要因のリストである。リストは完全なものではない。考えられる複合閾値決定要因として以下が挙げられるが、これらに限定されない。
ノードの役割:サーバ、ワークステーション、それとも両方?
学習システムは、ノードがサーバとして動作しているのか、ワークステーションとして動作しているのか、それともこれら両方として動作しているのかを判断することができる。平均して、ワークステーションは多数の接続を開始するが、接続を受信しない。これとは対照的に、サーバは多数の接続を受信するが、接続を開始しない。これら両方として動作するノードは、混ざった接続を有する。これら仮定には例外がある。一実施形態では、学習システムは各ノードのm:n比を計算する。但し、mはノードが開始した接続数であり、nはノードの接続総数である。m:n比が高い(1に近い)場合、ノードはワークステーションである可能性が最も高い。m:n比が低い(0に近い)場合、ノードはサーバである可能性が最も高い。m:n比が中間をうろついている(0.5前後)ノードはおそらく、サーバおよびワークステーションの両方として動作しているノードである。これは、ノードの役割を判断するために使用できる1つの方式である。他の方式も同様に使用することが可能である。例えば、本発明の実施形態は以下の閾値判断方式を利用することができる。
閾値判断方式1:
ワークステーションの閾値は高く、
サーバの閾値は中間であり、
サーバおよびワークステーションの両方であるノードの閾値は低い。
方式1の根拠:サーバがワークステーションよりも重要であるため、サーバにより低い閾値を付与して、万が一攻撃された場合のダメージ量を低減すべきである。サーバおよびワークステーションの両方として動作するノードは攻撃をより受けやすいため、閾値は低くあるべきである。
閾値判断方式2:
ワークステーションの閾値は低く、
サーバの閾値は中間であり、
サーバおよびワークステーションの両方であるノードの閾値は低い。
方式2の根拠:この方式は、サーバが厳重に保護されてセキュア化されるが、ワークステーションの保護の程度が低い組織に適用可能でありうる。これは、多数のワークステーションがあり、ワークステーションに定期的にパッチを適用する有効な方法がなく、それにより、電子メールウィルス等の脅威を受けやすくなる場合に適当である。
[総合インターネット規模脅威レベル指標]
インターネットにわたるすべての脅威を監視し、現在のインターネット規模脅威レベル状況を大まかに示す脅威レベル指標を提供するいくつかのインターネットサイトがある。このようなサイトとしてインターネットストームセンター(Internet Storm Center)およびdshield.orgならびに商業的インターネット監視組織が挙げられる。伝染力の強いワーム攻撃等のインターネット規模攻撃がある場合、こういったサイトは高脅威レベル指標を提供し、他の場合、脅威レベル指標は低または並みである。本発明の実施形態は、こういったサイトからの脅威レベル指標を集計し、複合TDFとして使用することができる。これは、データストリームではなく外部ソースから読み取られる複合TDFの一例である。
閾値判断方式:総合インターネット規模脅威レベル指標が高の場合、ノードの閾値を低減すべきである。
根拠:多くのインターネット規模攻撃が発生している場合、組織が攻撃される可能性は高くなる。したがって、ノードの閾値を低減すべきである。
時刻の影響
時刻の影響について手短に上述した。
閾値判断方式1:一実施形態では、オフピーク期間中、閾値を低減すべきである。ピーク期間中、閾値を高めるべきである。
方式1の根拠:オフピーク時間中のビジートラフィックは、攻撃が発生していることのサインでありうる(その時間には誰もシステムを使用していないはずであるため)。したがって、閾値を低減すべきである。
閾値判断方式2:別の実施形態では、オフピーク期間中、閾値は高められ、ピーク期間中、閾値は低減される。方式2の根拠:これは、管理者が、ピーク期間中にネットワークに潜り込むことにより自らを隠そうとするステルス攻撃を警戒している状況で使用しうる。しかし、この方式の使用により、正当なトラフィックであっても低閾値ノードにアクセスできなくなるという悪影響がありうる(たとえば、仮に正当なトラフィックが誤って悪意のあるトラフィックと解釈された場合)。
この特定のノードに向けられた過去の攻撃量
多くの攻撃が特定のノードに向けられている場合、これは、そのノードが攻撃者の常習的なターゲットであることを暗に示す。
閾値判断方式:多くの過去の攻撃が特定のノードに向けられている場合、そのノードの閾値を低減すべきである。
根拠:頻繁な過去の攻撃は、より多くの攻撃が発生することのサインでありうる。したがって、多くの過去の攻撃試行履歴を有するノードの閾値を低減して、このような攻撃に対する耐性を高めるべきである。
[基本TDFの頻度確信レベル]
基本TDFの頻度確信レベルは、学習システムが、頻度を測定することによりノードの評価についての確信の程度を推定する。この確信度に基づいて、学習システムはノードの閾値を判断することができる。このために、学習システムは、特定の基本TDFが特定のノードのデータストリームにどの程度の頻度で現れるかを測定する。例えば、一実施形態はノードで実行されているサービスの種類を利用する。学習システムがHTTPサービスを頻繁に観察する場合、ノードはHTTPサービスを実行している可能性が非常に高いため、ノードがHTTPサーバであるとの確信度は高くなる。しかし、学習システムは、FTPサービスを散発的にしか観察しない場合、ノードがFTPサーバであるとの確信する程度は低い。基本TDFの頻度は時間に関連して測定される。各種方式を利用してよい。
閾値判断方式:学習システムの基本TDFについての確信度が低いほど、基本TDFが関連するノードの閾値は低くなる。
根拠:学習システムがノードの評価について確信がない場合、保守的は手法をとり、ノードが攻撃からよりよく保護されるように閾値を低減する。
[基本TDFの参照確信レベル]
一実施形態では、リファレンスデータベースが特定の基本TDFに利用可能な場合、基本TDFがリファレンスデータベースと比較される。リファレンスデータベースは、基本TDF間で可能性が非常に高い関連を記録し、例えば、センドメール(Sendmail)メールサーバは、ウィンドウズ(登録商標)(Windows(登録商標))よりもリナックス(Linux)サーバと共に使用される可能性がより高い。したがって、センドメール(Sendmail)−リナックス(Linux)の関連性がセンドメール(Sendmail)−ウィンドウズ(登録商標)(Windows(登録商標))の関連性よりも強い。学習システムが、Windows(登録商標)マシンで実行されているセンドメール(Sendmail)サーバを検出した場合、そのノードを正しく評価したことの確信度はより低くなる。頻度確信レベルのように、参照確信レベルが低い場合、これは、学習システムがノードを正しく評価しなかった可能性があることを暗に示す。
閾値判断方式:学習システムによる基本TDFについての確信度が低いほど、基本TDFが関連するそのノードの閾値は低くなる。
根拠:学習システムがノードの評価について確信がない場合、保守的な手法をとり、そのノードが攻撃からよりよく保護されるように閾値を低減すべきである。
頻度確信レベルおよび参照確信レベルは、確信レベル関数により計算される。この関数は、図10に示す確信レベルスケールでの値を返す。例えば、確信レベル関数は2のような値を返し、スケールによれば、この値は、このノードと基本TDFとが関連する可能性が低いことを意味する。
異なる関数を異なる種類の複合TDFおよび基本TDFに使用することができる。次に、これら関数の出力を使用して、ノードの閾値を計算することができる。例えば、一実施形態では、これは、関数の出力を環境プロファイルにおいて定義される変更子セットと突き合わせることにより行われる。この突き合わせプロセスを容易にするために、各確信レベル関数に関数IDを割り当てることができる。
[管理閾値決定要因]
基本TDFおよび複合TDFと異なり、管理TDFは、管理者またはシステムデフォルト値により静的に定義される。一実施形態では、管理TDFは、構成ファイルおよび環境プロファイルから得られる。
管理TDFは、最終的なノード閾値を計算するために基本TDFおよび複合TDFと併せて使用される。本発明の一実施形態では、以下のすべて管理TDFが環境プロファイルにおいて定義され、例外は最初の1つであり、全体反応性は構成ファイルにおいて定義される。変更子の目的は、基本TDFおよび複合TDFに基づいてノード閾値を増減するメカニズムを提供することである。基本TDFおよび複合TDFはカテゴリ的である傾向があり、または少数の値からなるスケールの部分である。変更子は、これらカテゴリおよびスケール値を正/負の値に変換できるようにし、次に、この正/負の値を使用して、ノード閾値をそれぞれ増減することができる。
本発明の一実施形態では、以下に列挙する管理閾値決定要因が利用される。このリストは完全なものではない。考えられる管理閾値決定要因として以下が挙げられるが、これらに限定されない。
[全体反応性]
全体反応性は構成ファイルにおいて定義される。カテゴリ的な性質のものであり、3つの値、すなわち保守的、並み、または積極的のうちの1つであることができる。積極的な反応性は、保守的な反応性よりもはるかにノード閾値を低減させる。
[新ノードの初期閾値]
新ノードの初期閾値は環境プロファイルにおいて定義される。いかなる調整も行う前に新ノードの閾値として使用される実際の数値である。
[各リスクレベルの閾値変更子]
閾値変更子については、8.6.1項においてすでに手短に考察した。リスクレベルスケール(図10)は、リスクを表すために使用される。リスクレベルが基本TDFに割り当てられる場合、これは、TDFがどの程度危険かを示す(1〜5のスケール)。閾値変更子が使用されて、このリスクレベルが変更子に変換され、次に、これを使用してノードの閾値が増減される。リスクレベルが高いほど、ノード閾値をより大きな程度で低減する変更子を有する。
[全体反応性の変更子]
これは、全体反応性に基づいてノード閾値を増減するために使用される変更子である。積極的な反応性は、ノード閾値をより大きな程度で低減する変更子を有する。
[ノード役割の変更子]
これは、ノードの役割(サーバであるか、ワークステーションであるか、それとも両方か)に基づいてノードの閾値を調整するために使用される変更子である。変更子が正であるか、負であるかは使用される方式に依存する。
[現在の動作モードの変更子]
この場合に関連する現在の動作モードは、学習システムが学習動作モードであるか、または確立動作モードであるかである。使用しうる可能な方式は、学習モードの場合の変更子は負の値を有し、確立モードの場合の変更子はゼロである。
[確信レベルの変更子]
先に述べたように、学習システムが評価中のノードについてあまり確信を有さない場合、そのノードにより低い閾値が推奨される。したがって、確信レベルスケールの下端(最小確信度)の変更子ほど、スケールの上端の変更子と比較して大きな負の値を有する。
[ノード閾値の計算]
本発明の一実施形態では、学習システムは、上述した閾値決定要因を使用してノードの閾値を計算する。一実施形態は、以下のノード閾値計算方式を利用する。
ノード閾値=新ノードの初期閾値op変更子(全体反応性)op変更子(各基本TDFのリスクレベル)op変更子(各複合TDFのリスクレベル)op変更子(総合頻度確信レベル)op変更子(総合参照確信レベル)op変更子(動作モード)
opは、使用できる適当な演算子(例えば、+演算子)である。変更子(x)表記は、xの変更子を意味する。例えば、変更子(全体反応性)は、全体反応性の変更子を意味する。
ノード閾値がデフォルトにより静的ではなく、使用される方式に応じてかなり頻繁である場合もあれば、またはあまり頻繁ではない場合もある定期的に計算されることに留意する。
[構成ファイル]
本発明の一実施形態では、構成ファイルが、学習システムの構成パラメータを指定するために使用される。このような実施形態では、構成ファイルは、学習システムの実施形態に固有の他のパラメータも指定する。例えば、学習システムがウェブ対応機器として具現化される場合、考えられる実施形態固有パラメータは、セキュアソケットレイヤ(SSL)が可能であるか否かである。
3種類の構成パラメータがある。
全体反応性
環境プロファイルの選択
リファレンスデータベースの選択
このような実施形態では、全体反応性は保守的、並み、または積極的として定義される。使用される方式に応じて、4つ以上の反応性レベルを使用してもよく、同様に3つ未満の反応性レベルを使用してもよい。
環境プロファイルの選択により、管理者は、どの環境プロファイルを使用するかを選択できるようにする。特定の状況に対して異なる環境プロファイルを使用することができる。
リファレンスデータベースの選択により、管理者は、使用する学習システムに関連するリファレンスデータベースのセットを選択する。
管理者が構成パラメータの設定を選択しない場合、デフォルトの構成パラメータが使用される。一実施形態では、以下のデフォルト構成パラメータが利用される。
全体反応性:並み
環境プロファイル:汎用
リファレンスデータベース:学習システムの実施形態に関連するあらゆるリファレンスデータベース
[環境プロファイル]
上述したように、環境プロファイルにより、学習システムの実施形態は、異なる環境でのノード閾値の計算に影響を及ぼすために使用できるパラメータを指定することができる。小企業環境用の環境プロファイルが存在しうるが、家庭ユーザ用の別の環境プロファイルを使用することもできる。カスタム環境プロファイルも可能である。この表で、本発明の一実施形態において環境プロファイルで何が定義されるのかを説明する。
Figure 2009504104
Figure 2009504104
Figure 2009504104
[実施例]
以下に、ノード閾値計算プロセスを実行する本発明の一実施形態について説明する。この実施形態では、学習システムは、小企業環境でのリナックス(Linux)サーバをピーク期間中に解析している。管理者はシステムのセキュリティに自信を持っているため、全体反応性レベルは保守的に設定されている。この時点で、インターネット全体に影響する大規模な攻撃はないため、総合インターネット規模脅威レベルはリスクレベル2である。管理者が学習システムに使用している方式は、OS−Appリファレンスデータベース(オペレーティングシステムのアプリケーションへのマッピング)を使用する。以下に環境を要約する。
時刻:ピーク
全体反応性:保守的
インターネット脅威レベル:リスクレベル2
環境プロファイル:小企業
リファレンスデータベース:OS−App
この実施形態では、サーバは、かなり最新のリリースであるリナックス(Linux)2.4.22カーネルを実行している。サーバは3つのサービス、すなわちSSH、テルネット、およびFTPを実行する。サーバの構成中、管理者はモジラ(Mozilla)ウェブブラウザを使用して、インターネット上の情報を検索した。管理者は、ワイン(Wine)プログラムをリナックス(Linux)上で使用して、リナックス(Linux)上でウィンドウズ(登録商標)(Windows(登録商標))ウェブブラウザインターネットエクスプローラ(Internet Explorer)も実行した。これは、あまりない組み合わせである。
この情報に基づいて、以下の表に、学習システムがノードBをどのように解析するかを示す。基本TDFのリスクレベルは、リファレンスデータベースから判断される。複合TDFのリスクレベルは環境プロファイルから判断される。頻度確信レベルは頻度:ある時間期間にわたる時間方式に基づいて計算される。参照確信レベルは、指定された関連性がどの程度強いか(例えば、SSH−リナックス(Linux)の関連性は非常に強いため、SSH−リナックス(Linux)の組み合わせの参照確信度は4(可能性が非常に高い)である)に基づいてリファレンスデータベースから導き出される。
Figure 2009504104
この例で使用される環境プロファイルは小企業用のものであり、以下の表に示す。
Figure 2009504104
Figure 2009504104
SMALLBIZ環境プロファイルを使用して、学習システムは以下のようにノード閾値を計算する。
Figure 2009504104
Figure 2009504104
したがって、このノードの閾値は18.8である。示す実施形態では、全体反応性(この場合では保守的)が計算の最後の最後にノード閾値に適用されることに留意する。
[状態]
本発明の一実施形態では、学習システムのために、状態情報は4つの異なる情報からなる。
時間カウンタ−現在時刻および学習システムの累積稼働時間を記録する
システムレベル統計−収集された高レベル統計を記録する
リアルタイム状態−リアルタイム状態を記録する
ノード状態−基本TDFおよび複合TDF等の個々の各ノードについての情報を記録する
[時間カウンタ]
時間カウンタは、学習システムが使用する最新の時間関連情報を記録するために使用される。各種基本TDFの頻度確信レベルの計算に使用することもできる。時間カウンタは、例えば、以下を含みうる。
最初に開始された時間
最初の開始からの累積稼働時間T
現在のセッションが最初に開始された時間S(C)
現在のセッションの稼働時間E(C)−S(C)
現在のセッションでの状態ダンプ数
最初の開始からの状態ダンプ数
[システムレベル統計]
システムレベル統計は、時間の経過に伴ってデータストリームから収集される高レベル統計である。これら統計は、例えば、以下を含みうる。
接続総数
全帯域幅
攻撃総数
システムレベル統計は、特定のノードに向けられた過去の攻撃の割合(これは非常に容易に行うことができる:ノードに向けられた攻撃総数/攻撃総数)等の特定の複合TDFを計算するために使用することができる。個々のノードの他の統計も同様にして計算することができる。
8.11.3リアルタイム状態
リアルタイム状態は、学習システムが使用する最新の情報を表す。リアルタイム状態は、ノード閾値が計算される方法に影響する。リアルタイム状態は、2つの複合TDF、すなわちインターネット規模脅威レベルおよび時刻からなる。これら2つの複合TDFに従ってノード閾値を調整することができる(高インターネット規模脅威レベルはノード閾値を低減し、オフピーク時間もノード閾値を低減させる)。
閾値決定要因は以下のフォーマットで記憶される。
・TDF名:TDFの名称
・TDF ID:このTDFを識別する一意のID
・TDF種別:これが基本TDFであるか、複合TDFであるか、それとも管理TDFであるか。
・値:このTDFに割り当てることが可能な値の数
・リスクレベル:このTDFのリスクレベル
・TDF固有データ:これは、このTDFに固有のデータ構造である。このデータ構造を有する場合、新TDFに固有のデータがこの構造に保たれるため、新TDFの導入が容易であるが、他のフィールド(上述)はそのままの場所に保持することができる。例えば、インターネット規模脅威レベルのTDF固有データは、各インターネット監視組織の個々の脅威レベルである。リアルタイム状態は以下の複合TDFからなる。
・インターネット規模脅威レベル
TDF名:インターネット規模脅威レベル
TDF ID:CTDF0001
TDF種別:複合
値:現在のインターネット脅威レベル、「入手不可能」、または「使用されない」
リスクレベル:環境プロファイルにより決定されるこの複合TDFの現在のリスクレベル
TDF固有データ:各インターネット監視組織の個々の脅威レベル
・時刻
TDF名:時刻
TDF ID:CTDF0002
TDF種別:複合
値:ピーク、オフピーク、「入手不可能」、または「使用されない」
リスクレベル:環境プロファイルにより決定されるこの複合TDFの現在のリスクレベル
TDF固有データ:ピーク期間とみなされる時間期間およびオフピークの時間期間
[ノード状態]
ノード状態は、所与の時点でのノードの特徴を捕捉する。これは7つの部分、すなわちノードID、識別、閾値、コンテキスト固有情報、ノードレベル統計、基本TDF、および複合TDFからなる。
・ノードID:これは学習システムがノードを識別するために使用する一意のIDである。
・識別:識別セクションは、学習システムが使用されるコンテキストに固有のフィールドを有する。例えば、学習システムがTCP/IPネットワークに導入される場合、識別セクション内のフィールドは、IPアドレスおよびMACアドレスである。他のコンテキスト固有の一意の(またはほどほどに一意の)識別子を識別フィールドの部分として使用することもできる。
・閾値:これは、項8.10で説明されたようにTDFから計算される現在のノード閾値である。
・コンテキスト固有データ:これは、学習システムが導入されるコンテキストに固有の情報を記憶するデータ構造である。例えば、TCP/IPネットワークでは、このデータ構造は、ネットワークのサブネット、既知のDNSサーバ、DHCPサーバ等からなる。これらフィールドは、潜在的な攻撃を識別するために応答システムによっても使用される。
・ノードレベル統計
開始された接続数:これは、このノードにより開始された接続数である。TCP/IPネットワークでは、これは、このノードにより生成される送信SYNパケットの数である。
接続総数:このフィールドは、このノードに関連する接続の総数を表す。
・基本TDF:これは、上述したようにTDFフォーマットで記憶される基本TDFのリストである。基本TDFは項8.6.1において考察したものである(オペレーティングシステム、サービス等)。
・複合TDF:これは、上述したようにTDFフォーマットで記憶される複合TDFのリストである。簡潔にするために、以下のリストでは、それぞれに可能な値およびTDF固有データ構造に何かあるかについてのみ考察する。現在、ノード状態に記憶されるべき複合TDFのリストは以下である。
役割:可能な値は「サーバ」、「ワークステーション」、「両方」、「入手不可能」、または「使用されない」である。TDF固有データは項8.6.2において説明した現在のm:n比である。
過去の攻撃の割合:可能な値はある割合、「入手不可能」、または「使用されない」である。TDF固有データは、このノードに向けられた攻撃の現在の数である。
[参照確信レベル]
本発明の一実施形態では、参照確信レベルはリファレンスデータベースを使用して計算される。図9は、本発明の一実施形態でのリファレンスデータベースを示すブロック図である。図9のリファレンスデータベースは、オペレーティングシステムをそれぞれの可能性の高いサービスおよびアプリケーションにマッピングする。図の一番左側にある「OS」フィールドは、フィンガープリント処理プロセス(特定のオペレーティングシステムによってのみ示されるデータストリームの一意の特徴を識別する)により得られる実際のオペレーティングシステムおよびバージョンである。次に、実際のオペレーティングシステムが、基本的にバージョンなしのオペレーティングシステムである「OSマイナー」フィールドにマッピングされる。次に、「OSマイナー」フィールドは、このオペレーティングシステムが属するオペレーティングシステムファミリに例えることができる「OSメジャー」フィールドにリンクされる。
次に、「OSメジャー」フィールドは各種サービスにマッピングされる。各サービスはいくらかのサービス固有情報を有し、図9では、この情報は、サービスの名称、ポート番号、およびサービスが使用するプロトコルを含む。「確信度」フィールドは、「OSメジャー」フィールドと特定のサービスとのマッピングの確信度を表す。例えば、ユニックス(UNIX(登録商標))−SSHマッピングは可能性が非常に高い(VL:very likely)であるのに対して、ユニックス(UNIX(登録商標))−ケルベロス(Kerberos)マッピングは可能性が高い(L:likely)である。未知のサービスも説明することができる。この場合、未知のTCPサービスに名称「uk_tcp」が与えられる。
サービスは、サービスの提供に使用される可能性が高いサーバソフトウェアを表すサーバにもマッピングされる。例えば、WWWサービスはアパッチ(Apache)またはZeus(ゼウス)ウェブサーバソフトウェアにより提供することができる。
アプリケーションは「OSメジャー」フィールドにもマッピングされる。サービスのように、「OSメジャー」−アプリケーションマッピングも確信レベルを有する。これらアプリケーションの説明は、メジャー名およびマイナー名にさらに分解することができる。例えば、ウェブブラウザのモジラ(Mozilla)スイートのメジャー名は「モジラ(Mozilla)」であり、マイナー名は「モジラ(Mozilla)」、「ファイアフォックス(Firefox)」、および「ガレオン(Galeon)」でありうる(モジラ(Mozilla)HTMLレンダリングエンジンに基づく3つの異なるウェブブラウザ)。
頻度確信レベル方式(学習システムがどのように時間を使用するか)
この項では、各種基本TDFの頻度確信レベルを計算するために使用することができる各種方式について説明する。最初に、学習システムが使用されている各種セッション、および学習システムが実際の時間にどのように関連するかを理解することが重要である。一実施形態では、学習システムは電子装置として具現化される。別の実施形態では、学習システムはコンピューティング装置で実行されているソフトウェアとして具現化される。これらのいずれの実施形態でも、管理者は装置をオンオフすることができる。セッションとは、学習システムがオンにされてからオフにされるまでの時間期間を指す。装置の寿命を通して、装置は各ポイントでオンオフされるため(保守、テスト等のために)、多くのセッションがありうる。図11は、本発明の一実施形態での学習システムの開始および停止を行うプロセスを示すタイミング図である。
図12は、本発明の一実施形態での状態ダンプ動作の発生を示すタイミング図である。図示の実施形態では、セッション内に、複数のダンプ状態動作がありうる(図12では小さなxで示される)。これらは、状態(上述)が記憶媒体に書き込まれるときである。これら状態ダンプの各ポイントは付番される(D、D等)。
本発明の各種実施形態では、学習システムは、異なる方法で時間を認識して使用する。例えば、学習システムは、時間を、
学習システムがオンである限り、タイマ刻み単位で増分し続ける累積カウンタ、
その実施形態から導き出される実際のネットワーク時間、
タイムゾーンが考慮されたことを意味する現地時間、および/または
行われた状態ダンプ動作数
として使用しうる。
学習システムの一実施形態が使用しうる表記は以下である。
A 学習システムが開始された最初の時間である。
C 現在のセッションを指す。
B(C) 学習システム装置が開始される都度記録される時間である。
S(C) 状態に記録された現在のセッションの開始時間である。
E(C) 最後の状態ダンプ動作が行われた時間である。
セッションiの合計時間である。tはタイマ刻み単位で測定される。但し、タイマ刻みは使用される方式に応じて1分、1秒、または1ミリ秒でありうる。
T 全セッションの累積稼働時間である(Σt)。
prev 前のセッション(これは、現在のセッションを除くすべてのセッションを意味する)からの累積稼働時間である。
dump_count 最初の起動から行われたダンプ数のトラックを保持する。
S(C)は、現在のセッションの開始時間である。これは、ダンプ状態中に状態に記録される。したがって、学習システムが状態からS(C)を読み取り、S(C)=B(C)の場合、これはまだ現在のセッションであることを意味する。一致しない場合、これは、装置の再起動が行われたことを意味する。
時間カウンタを状態にダンプするために使用することができる本発明の一実施形態による1つのアルゴリズムを、以下の擬似コードにより説明する。
前提条件:起動時、B(C)=現在時刻である。
dump_counter()

if No State {
//状態がない場合、これは、適応型セキュリティシステムを開始する最初の
//時間である
FirstBoot=B(C);
dump_count=0;
T=0;
Tprev=0;
S(C)=B(C);
E(C)=S(C);
Write State
}else{
Read State [T, Tprev, S(C), E(C), dump_count];
if(S(C)==B(C)){ //学習システムは現在セッション中である
E(C)=current time;
T=Tprev +E(C)−S(C);
}else{ //最後にダンプされてから再起動が行われた
Tprev=Tprev+T;
S(C)=B(C);
E(C)=S(C);

Write State;
dump_count++;

累積稼働時間が状態にコンスタントにではなく定期的に記憶される理由は、記憶媒体に損耗および損傷が生じる可能性があるためであり、これは(上述したように)コンパクトフラッシュ(登録商標)カード等の媒体で典型的である。
[頻度確信レベルについてのイベント監視]
時間を記録する1つの目的は、頻度確信レベルをイベントに割り当てることができるようにイベント(基本TDF等)の監視を容易にすることである。このために多くの方式を使用することができる。本発明の実施形態では、各方式は使用する記憶領域を最小にしようとする。
3つの時間関連パラメータがイベントについての情報を提供することができる。すなわち、実際のネットワーク時間(例えば、「18:49:55」)、
タイマ刻み単位での累積稼働時間、および
ダンプ数。
一実施形態では、これら3つのパラメータは、時間コンテキストと呼ばれるデータ構造で記憶される。時間コンテキストには各イベントが関連付けられ、したがって、各イベントについて、いつ発生したか(実際の時刻)、学習システム装置が開始された最初の時刻からいつ発生したか(累積稼働時間)、およびこのイベント前に状態ダンプ動作が何回発生したか(ダンプ数)が分かる。
イベントの時間コンテキストを現在の時間コンテキスト(現在時刻、現在の累積時間、および現在のダンプ数)と比較することにより、学習システムは、現在時刻に関連してどれくらい前にイベントが発生したのかを推定することができる。
時間コンテキストを評価する場合に様々な状況が考えられる。図13、図14、図15、および図16は、本発明のいくつかの実施形態での時間に関連するイベントを示すグラフである。イベントの規則性は各状況で異なる。
有効であるために、本発明の一実施形態が利用する時間方式は、最小の記憶コストでイベントの履歴特徴を捕捉する。一実施形態では、学習システムは、イベントが時間の経過中に見られる平均回数を使用する。別の実施形態では、学習システムはイベントの最高頻度および最低頻度を使用する。x個の最高頻度およびy個の最低頻度だけを記録することも可能である。さらに別の実施形態は、イベントが見られた最初の時間とイベントがアクティブであった最後の時間とを比較することにより方式の頻度確信度を正確に測定することができる。これら方式の組み合わせが可能であり、種々の他の方式も当業者により考えることができる。
[学習システムおよびリファレンスデータベースの更新]
時々、本発明の実施形態を更新する必要がありうる。例えば、適応型セキュリティシステムを実行するバイナリプログラムならびにリファレンスデータベースおよび環境プロファイルを更新する必要がありうる。これらの理由は多岐にわたる。よりよいアルゴリズム、バグ修正、およびエンジン改良を特徴とするバイナリプログラムの新しいバージョンが利用可能でありうる。より最新のリファレンスデータベースが利用可能でありうる。現在のリファレンスデータベースがこういった新しいリファレンスデータベースで更新される場合、現在の状況をよりよく反映することが可能である。例えば、OS−Appリファレンスデータベースは、オペレーティングシステム、アプリケーション等の最新バージョンに適合するように更新することができる。同様に、特定の環境(よりよい変更子、より正確な初期ノード閾値等)の特徴をよりよく捕捉することができる新しい環境プロファイルがある場合、環境プロファイルへの更新も推奨される。更新は、適応型セキュリティシステムが異なる環境に移され、したがって、新しい環境プロファイルが必要になる場合にも必要である。こういった更新により、ノード閾値をより正確に計算することができるとともに、学習システムおよび応答システムの両方がより有効に機能することができる。
図17は、本発明の一実施形態での適応型セキュリティシステムのバイナリプログラムの更新を可能にする構成を示すブロック図である。簡潔にするために、図は適応型セキュリティシステムのみの観点から示されるが、同じ構成および更新技法はリファレンスデータベースおよび環境プロファイルにも同様に適用することが可能である。
図示の実施形態では、3つのパーティションが示される。すなわち、1つの読み取り専用パーティション1702(現在の適応型セキュリティシステムプログラムが記憶されている)、1つの読み取り専用「工場デフォルト」パーティション1704(装置と一緒に来たオリジナルの適応型セキュリティシステムプログラムが記憶される)、および読み書きパーティション1706。読み書きパーティション1706は、一時メモリベースのファイルシステムであることができ、適応型セキュリティシステムが再開されるときに内容が消去される。
図17に示す実施形態では、永続的な状態および一時的な状態の場所が示されることに留意する。状態ダンプ動作が書き込む永続的な状態は、読み取り専用パーティションに記憶される。一時状態ダンプ動作は、状態を読み書きパーティションにダンプする。
図示の実施形態は、更新に使用される2つの「デーモン」を含む。デーモンは、バックグランドで実行されて入力の受信を待つプログラムである。入力が来ると、デーモンは、入力に対して何等かの計算を実行し、それから再び元の待機に戻る。デーモンは、セッション全体にわたって(適応型セキュリティシステムが開始されたときから停止されるときまで)実行される傾向がある。
2つのデーモンは、更新受信デーモンおよび更新適用デーモンである。更新受信デーモンは、外部ソース(インターネット等)、物理インタフェース(USBポート等)、または管理コンソール(シリアルインターフェースを介して適応型セキュリティシステムに取り付けられたコンピュータ等)から更新を受信することが可能である。この考察では、ここでの更新は、適応型セキュリティシステムのバイナリプログラム、リファレンスデータベースのセット、または環境プロファイルのセットを指すことができる。更新が受信されると、更新受信デーモンは、ファイルを読み書きパーティション内の入力ドロップロケーションに書き込む。次に、更新受信デーモンは待機サイクルに戻る。
更新プロセスは、この時点から先では更新適用デーモンに引き継がれる。更新適用デーモンは、新しい更新を探して入力ドロップロケーションを定期的にスキャンする。更新が現れると(更新受信デーモンが新しい更新をそのロケーションに書き込むと)、更新適用デーモンは、読み書きパーティション内の抽出ロケーションに向けた新しい更新の抽出またはアンパックに進む。更新は圧縮された形態で記憶されたり、多くのファイルから構成されたり、またはファイルセットが圧縮された形態で記憶されていたりするため、抽出またはアンパッキングが必要である。
抽出後、更新適用デーモンは完全性チェックを行い、更新が有効であることを保証する(更新のメッセージダイジェストの調査から更新のデジタル署名の検証、更新内のファイルの内容の検査まで、各種の完全性チェック方式を使用することができる)。チェックは、使用中の適応型セキュリティシステムのバージョンが更新をサポートし、かつその逆も同様であることを保証するためにも行う必要がある。完全性チェックに合格した場合、読み取り専用パーティション内の実際の適応型セキュリティシステムのバイナリプログラムをここで、抽出ロケーション内の新しいバージョンで置き換えることができる。
[更新の適用]
この項では、本発明の一実施形態において更新が実際にどのように適用されるかを説明する。これらは更新の適応に使用されるステップである。
・読み取り専用パーティションを読み書き用に再構成する(これは一時的にのみ行われる)。
・更新の新しいバージョンをバックアップロケーションにコピーする。
・状態ダンプ動作を強制する。
・適応型セキュリティシステムプログラムが実行中の場合にはそのプログラムを終了する。
・適応型セキュリティシステムプログラムを抽出ロケーション内の新しい適応型セキュリティシステムプログラムで置き換える。
・適応型セキュリティシステムプログラムを開始する。
・新しい適応型セキュリティシステムプログラムが正常に実行されているか否かをチェックする。正常に実行されていない場合、フェールセーフシャットダウン手続きを呼び出す(以下に示す)。
・正常に実行されている場合、読み取り専用パーティションを再び読み取り専用に再構成する。
・更新が成功したことを示すログファイル(利用できる場合)を書き込む。
・更新ファイルを一時入力ドロップロケーションから消去する。
・適応型セキュリティシステムプログラムを一時抽出ロケーションから消去する。
フェールセーフシャットダウン手続きが先の上記ステップリストに示されることに留意する。このような実施形態でのフェールセーフシャットダウン手続きは以下のステップを含む。
・現在の適応型セキュリティシステムプログラムを終了する(適応型セキュリティシステムプログラム、またはその任意の構成要素がまだ実行されている場合)。
・オリジナルの適応型セキュリティシステムプログラムをバックアップロケーションから再びプログラムロケーションにコピーすることによりリストアする。
・適応型セキュリティシステムプログラムを開始する。
・一時入力ロケーション内の更新を消去する。
・一時抽出ロケーション内の適応型セキュリティシステムプログラムを消去する。
・更新が失敗したことを示すログを書き込む。
・読み取り専用パーティションを再び読み取り専用に再構成する。
・アプリケーション更新プロセスを終了する。
[工場デフォルトのリストア]
一実施形態では、以下のステップが使用されて、適応型セキュリティシステムを再び元の「工場デフォルト」構成にリストアされる。
・現在の適応型セキュリティシステムプログラムを終了する。
・一時状態を消去する。
・入力ドロップロケーションをクリアする。
・抽出ロケーションをクリアする。
・読み取り専用パーティションを読み書き用として再構成する。
・永続状態を消去する。
・あらゆる構成ファイルを消去する。
・適応型セキュリティシステムを工場デフォルトロケーション内のプログラムで置き換える。
・読み取り専用パーティションを再び読み取り専用に再構成する。
[更新の受信]
本発明のいくつかの実施形態では、更新は、インターネット等の外部ソース、USBポート等の物理インタフェース、または管理コンソールから受信することができる。こういった更新は各種方法で受信することができる。例えば、本発明の実施形態は、以下に述べる4つの方式を使用することができる。
方式1:実在しない内部ノードアドレスを使用して更新を外部ソースから受信する
この方式では、適応型セキュリティシステムは、実在しない内部ノードアドレスを呈し、それにより外部ソースに接続して更新を受信することができる。これは、例えば、適応型セキュリティシステムがノードアドレスを有さない(事前に構成することなく任意の環境に統合できるため)状況で使用することができる。
実在しないアドレスを呈するには、2つの前提条件がある。
・好ましくは、適応型セキュリティシステムが、どのノードが存在し、どのノードが存在していないかについて確信があるように、確立動作モードにある必要がある(が、これは必須ではない)。
・適応型セキュリティシステムは、ある形態の自動アドレス構成装置が使用されていることを知っている(ネットワークドメインでは、このような装置の一例はDHCPサーバである)。
この方式は、適応型セキュリティシステムがこれら動作プロファイル、すなわち、OP1:部門間(図2)およびOP2:典型的な構成(図3)で使用される場合に適する。この方式を使用して更新を受信するステップは、以下である。
・ext_intfインタフェースに実在しないノードアドレスを呈する。これは2つの方法で行うことができる。自動アドレス構成装置が使用されている場合、適応型セキュリティシステムはその装置からアドレスを要求することができる。第2の方法は、単にext_intfインタフェースが利用不可能なことが分かっているノードアドレスを割り当てる。
・外部ソース(インターネット上のサーバ等)内の更新リポジトリに接続する。
・確立された更新検索プロトコルに従って関連する最新の更新を検索する。
・ノードアドレスをext_intfインタフェースから除去する。
・先に概説したステップに従って更新を適用する。
自動アドレス構成装置が環境内で使用されている場合、この方式は、装置が最初に問い合わせることのないデータストリームの転送をディセーブルしているか否かを知り、それに従って適応する必要もありうることに留意する。
既存の内部ノードアドレスを使用して外部ソースから更新を受信する
この方式も外部ソースから更新を検索するが、ext_intfインタフェースは実在しないものではなく既存の内部ノードアドレスを呈する。この方式の前提条件は、好ましくは、適応型セキュリティシステムが、既存の内部ノードアドレスおよび各ノードが実行するサービスを知るように、確立動作モードにある必要がある(が、これは必須ではない)。この方式は3つの動作プロファイル、すなわち、OP1:部門間、OP2:典型的な構成、およびOP3:単一ノードに適する。この方式の実施に使用されるステップは以下である。
・外部ソースに接続する既存ノードアドレスおよび存在しないサービス番号を決定する。ネットワークドメインでは、サービス番号はポート番号であることができる。
・入力接続を更新リポジトリから、決定された既存のノードアドレスを有し、存在しないサービス番号を有する内部保護ノードに転送しないように、応答システムでデータストリームブロックポリシーをセットアップする。
・既存のノードアドレスおよび存在しないサービス番号を使用して、更新リポジトリへの接続を開始する。
・更新リポジトリが返信すると、適応型セキュリティシステムは、まるで先に決定されたアドレスを有する内部ノードであるかのように応答する。応答システムはこのノードおよびサービス番号に対して所定位置に非転送ポリシーを有するため、実際の内部ノードはこの通信をまったく見ることがない。
・適応型セキュリティシステムは引き続き内部ノードとして動作し、確立された更新検索プロトコルと通信し、更新リポジトリからデータストリームの内容を読み取ることにより更新を検索する。
・更新を検索した後、非転送ポリシーを応答システムから除去する。
・上記項の概説したステップに従って更新を適用する。
管理コンソールからの更新を受信する
この方式は、動作プロファイル、すなわち、OP1:部門間、OP2:典型的な構成、およびOP3:単一ノードに適する。ステップを以下のように説明する。
・管理コンソールがintf0(管理インタフェース)に取り付けられる。
・管理コンソールを使用して、管理者が適応型セキュリティシステムを停止させる。
・ext_intfインタフェースのノードアドレスが記録される(最初に外部インタフェースにアドレスが割り当てられている場合)。
・ext_intfインタフェースに既存の内部ノードアドレスのアドレスが与えられる。
・更新が、外部ソース内の更新リポジトリから検索される。
・適応型セキュリティシステムが、上述した手続きに従って更新される。
・ext_intfインタフェースのノードアドレスが再び、先に記録された元のアドレスに変更される。
・管理者が管理コンソールをシステムから取り外す。
物理インタフェースから更新を受信する
この方式は、物理インタフェース(USBポート等)に挿入されて適応型セキュリティシステムを更新する物理トークン(USBフラッシュドライブ等)を使用する。この方式では、物理インタフェース監視デーモンが使用される。この方式は、動作プロファイル、すなわち、OP1:部門間、OP2:典型的な構成、およびOP3:単一ノードに適する。ステップを以下のように説明する。
・物理インタフェース監視デーモンが、物理インタフェース上の入力を待つ。
・更新を含む物理トークンが物理インタフェースに挿入されると、デーモンはトークンに論理的に連結する(トークンレイアウトはデーモンが理解可能な形態でなければならない)。
・デーモンは、更新をトークンから読み取り専用パーティションの入力ドロップロケーションにコピーする。
・デーモンは物理トークンとの連結を解除する。この時点で、トークンをプログラム的または物理的に物理インタフェースから取り外すことができる。
・入力ドロップロケーション内の更新が上述したステップに従って適用される。
本発明の実施形態は、種々の用途に利用することが可能である。例えば、一実施形態は、汎用ネットワーク侵入の検知および抑止に利用することができる。別の実施形態は、特定のネットワーク侵入の検知および抑止に利用される。さらに別の実施形態は、ホストベースの侵入の検知および抑止に利用される。そして、さらなる実施形態が、内部者脅威(悪意のある内部者による電子リソースの乱用)の検知および抑止に利用される。システムのマルチソース性により、他の多くの範囲に適合可能であり、当業者により他の分野に適用されることも可能である。
[例示的なネットワークセキュリティシステム]
本発明の一実施形態は、学習システムを利用するネットワークセキュリティシステムである。学習システムを利用する適応型セキュリティシステムは、中央または分散した学習・判断・応答ユニットと共に複数の「攻撃解析エンジン(AAE)」で構成されるものとして見ることができる。図18は、本発明の一実施形態での適応型セキュリティシステムのブロック図である。
図示の実施形態では、各攻撃解析エンジンは特定のタスク専用である。これらタスクは、ネットワーク接続の監視、データストリーム内のパケットの検査、ウィルス、スパイウェア、および他の種類の有害ソフトを探しての送/受信電子メールメッセージの検査、組織方針の違反を探しての送/受信ネットワークトラフィックの内容の検査(内容フィルタリング等)、電子詐欺(フィッシング等)を探しての送/受信ネットワークトラフィックの内容の検査、1つまたは複数のノードに提供される帯域幅の動的な調整、ローカルネットワーク、広域ネットワーク、またはグローバルインターネットのネットワーク攻撃アラートレベルの監視等を含みうるがこれらに限定されない。侵入検知/阻止システムまたはウィルススキャンユーティリティ等の比較的独立したソフトウェアパッケージを、攻撃解析エンジンとして利用してもよい。導入されるセキュリティシステムに、多くの攻撃解析エンジンのどれがどのように利用されるかは様々であってよく、コスト、データスループット要件、環境プロファイル、またはユーザプロファイル等の要因によって決まる。
図示の実施形態では、各攻撃解析エンジンに、セキュリティターゲットに対する攻撃のレベルまたは激しさを示唆するリスクレベル指標が関連付けられる。リスク指標が値をどのように変更するかは、学習システムによって決定される。リスク指標が割り当てられた閾値を超えるとすぐに、潜在的または現在の攻撃に応答して、中央ユニット(例えば、応答システム)が適当なアクションをとる。
このような実施形態では、いくつかまたはすべての利用可能なリスクレベル指標を組み合わせて、「総合リスクレベル指標」を得ることができ、次に、セキュリティシステムが総合リスクレベル指標を使用して、対象とするシステムアセットをよりよく保護するという最終的な目標を実現するように挙動を適応的に変更することができる。
総合リスクレベル指標は、数学的に正しい式を使用して、攻撃解析エンジンに関連するリスクレベル指標(構成要素リスクレベル指標と呼ばれる)から計算することができる。このような式の一例が、構成要素リスクレベル指標の値の加重和である。構成要素リスクレベル指標に割り当てられる重みは、長時間期間にわたって静的であってもよく、または重要性/関連するデータソースの脆弱性等の要因によって決まるように可変であってもよい。より複雑な式は、意図される用途に最適であると決定される非線形数式を含みうる。総合リスクレベル指標は定期的に更新することができる。
総合リスクレベル指標は全体のリスクレベルをリアルタイムで示唆するため、攻撃からセキュリティターゲットを動的に保護する種々の方法に使用することができる。一例として、総合リスクレベル指標が許容される閾値を超えると、最も重要な構成要素リスクレベル指標を、他の要因と共に総合指標から導き出される値だけ低減し、それにより、これら構成要素指標に関連するアラートレベルを上げることができる。
さらに別の例として、総合リスク指標が、まだ、割り当てられた閾値未満であるが、その値を加速する速度で増大させている場合、構成要素リスク指標を、潜在的な攻撃に対する先手を打つように先制して調整することができる。
[潜在的な用途例]
本発明の実施形態は、種々の潜在的な用途に利用することができる。例えば、本発明の一実施形態は、適応型セキュリティを大企業に提供するのに特に有用でありうる。多くの場合、大企業は大規模で複雑なコンピュータネットワークを有する。学習システムは、こういった複雑なネットワークを自動的に学習することができ、人間による手動で構成する必要性が皆無であるかまたは皆無に近いため、ネットワーク管理者の負担を軽減する。
本発明の実施形態は、小企業にも首尾良く導入することができる。小企業所有者は、ネットワークセキュリティの専門知識を有さない傾向がある。学習システムは、小企業のコンピュータネットワークの特徴を学習することができるため、所有者がネットワークセキュリティを学習する(またはそうする誰かを雇う)必要性を軽減するとともに、専門知識がないことによりセキュリティ装置を誤って構成する危険性を低減することができる。
ホームユーザは、本発明のさらなる実施形態を利用することができる。小企業所有者のように、ホームユーザは、ホームコンピュータおよびホームネットワークを安全にするために必要なネットワークセキュリティの専門知識を有さない場合がある。ブロードバンドサービスを使用しはじめるホームユーザ数が増えるにつれ(最近のインターネットリサーチ調査によれば、現在、米国内で5戸のうち2戸がブロードバンドを使用している)、こういったホームコンピュータおよびネットワークのセキュリティがますます重要になっている。学習システムは、ネットワークセキュリティを学習する必要性というホームユーザの負担を軽減する。
出張者も本発明の実施形態を利用することができる。出張者は、出張を通して異なるネットワーク環境でポータブルコンピュータを使用する傾向がある。各ネットワーク環境は異なるセキュリティ脅威を有しうる。学習システムを使用して、新しい環境の詳細を学習することができ、そして、応答システムがセキュリティを出張者に提供することができる。
各種企業が、販売する製品内に本発明の実施形態を利用することができる。例えば、ファイアウォール企業、侵入検知企業、侵入阻止システムを販売する企業、セキュリティ企業、ネットワークインフラ企業、IT技術サポートプロバイダ、およびインターネットサービスプロバイダが、製品およびサービスの一環として本発明の実施形態を利用することができる。
全般を通して
本発明の実施形態の上記説明は、例示および説明のためにのみ提示されたものであり、網羅的である、すなわち本発明を開示された厳密な形態に制限する意図はない。本発明の精神および範囲から逸脱することなく、当業者には多くの変更および適合が明らかになろう。
本発明の一実施形態を実施する例示的な環境を示すブロック図である。 本発明の一実施形態での動作プロファイル(「OP」)を示すブロック図である。 本発明の一実施形態での別の動作プロファイル(「OP」)を示すブロック図である。 本発明の一実施形態での別の動作プロファイル(「OP」)を示すブロック図である。 本発明の一実施形態での別の動作プロファイル(「OP」)を示すブロック図である。 本発明の一実施形態での、学習システムがとることができる各種動作モードおよび動作モード間で可能な遷移を示すブロック図である。 本発明の一実施形態によるハードウェア機器のブロック図である。 本発明の代替の実施形態でのハードウェア機器としての適応型セキュリティシステムを示すブロック図である。 本発明の一実施形態でのリファレンスデータベースを示すブロック図である。 本発明の一実施形態でのリスクレベルスケールを示す表である。 本発明の一実施形態での学習システムの開始および停止を行うプロセスを示すタイミング図である。 本発明の一実施形態での状態ダンプ動作の発生を示すタイミング図である。 本発明の実施形態でのイベントを時間に関連して示すグラフである。 本発明の実施形態でのイベントを時間に関連して示すグラフである。 本発明の実施形態でのイベントを時間に関連して示すグラフである。 本発明の実施形態でのイベントを時間に関連して示すグラフである。 本発明の一実施形態での適応型セキュリティシステムバイナリプログラムを更新できるようにする構成を示すブロック図である。 本発明の一実施形態での適応型セキュリティシステムのブロック図である。

Claims (42)

  1. ノードに適応型閾値を設定する方法であって、
    前記ノードに関連するデータストリームを監視して、前記ノードの特徴を明らかにするステップ、
    前記ノードに影響することができる環境要因を監視するステップ、および
    前記特徴または前記環境要因のうちの少なくとも一方に基づいて前記適応型閾値を決定するステップ、
    を含む方法。
  2. 前記特徴は、オペレーティングシステム、アプリケーション、またはサービスのうちの1つを含む、請求項1に記載の方法。
  3. 前記環境要因は、インターネット規模脅威レベル、前記ノードに対する過去の攻撃、または時刻のうちの1つを含む、請求項1に記載の方法。
  4. 前記ノードに向けられた通信を識別するステップ、
    前記通信に関連するリスクレベルを判断するステップ、
    前記リスクレベルを前記適応型閾値と比較するステップ、および
    前記リスクレベルと前記適応型閾値との間の比較に基づいて前記通信に応答するステップ、
    をさらに含む、請求項1に記載の方法。
  5. 前記通信はイベントを含む、請求項4に記載の方法。
  6. 前記比較に基づいて前記通信に応答するステップは、前記イベントのログを記録するステップ、前記イベントを終了させるステップ、前記イベントを無害化するステップ、または前記通信の発信元をブラックリストに入れるステップのうちの1つを含む、請求項5に記載の方法。
  7. 前記通信はネットワーク環境における攻撃を含み、前記比較に基づいて前記通信に応答するステップは、前記攻撃のログを記録するステップ、接続を終了させるステップ、または前記攻撃の発信元に関連する識別子をブラックリストに入れるステップのうちの1つを含む、請求項6に記載の方法。
  8. 前記通信は電子メールを含み、前記比較に基づいて前記通信に応答するステップは、悪意のある電子メールのログを記録するステップ、前記悪意のある電子メールの送信を阻止するステップ、前記電子メールを無害化するステップ、または前記電子メールの発信元をブラックリストに入れるステップのうちの1つを含む、請求項6に記載の方法。
  9. 前記リスクレベルを判断することは、基本閾値決定要因を判断することを含む、請求項4に記載の方法。
  10. 前記基本閾値決定要因はオペレーティングシステムリスク要因を含む、請求項9に記載の方法。
  11. 前記リスクレベルを判断するステップは、複合閾値決定要因を判断するステップを含む、請求項4に記載の方法。
  12. 前記リスクレベルを判断するステップは、管理閾値決定要因を判断するステップを含む、請求項4に記載の方法。
  13. 前記リスクレベルを前記適応型閾値と比較する前に、閾値変更子で前記リスクレベルを乗算するステップをさらに含む、請求項4に記載の方法。
  14. 前記特徴はノードで実行されているサービス数を含む、請求項1に記載の方法。
  15. 前記特徴は、オペレーティングシステム、サービス、またはアプリケーションに関連するそれまでのリスク指標を含む、請求項1に記載の方法。
  16. 静的閾値を決定するステップ、および
    前記静的閾値に基づいて前記適応型閾値を変更するステップ、
    をさらに含む、請求項1に記載の方法。
  17. 前記適応型閾値を決定するステップは、総合リスクレベル指標を決定するステップを含む、請求項1に記載の方法。
  18. ネットワークトラフィックに関連するリスクを動的に評価する方法であって、
    ノードに向けられた通信を識別するステップ、
    前記通信に関連するリスクレベルを判断するステップ、および
    前記リスクレベルを適応型閾値と比較するステップ、
    を含む方法。
  19. 前記リスクレベルと前記適応型閾値との間の比較に基づいて前記通信に応答するステップをさらに含む、請求項18に記載の方法。
  20. 前記通信に関連するネットワークパケットの発信元を判断するステップをさらに含む、請求項18に記載の方法。
  21. 第1の特徴はシーケンス番号を含む、請求項21に記載の方法。
  22. 前記第1の特徴は、発信元識別子、発信元ポート、宛先識別子、および宛先ポートのうちの少なくとも1つを含む、請求項21に記載の方法。
  23. 前記ノードに適応型閾値を設定するステップをさらに含む、請求項18に記載の方法。
  24. 前記ノードに前記適応型閾値を設定するステップは、
    前記ノードに関連するデータストリームを監視して、前記ノードの特徴を明らかにするステップ、
    前記ノードに影響することができる環境要因を監視するステップ、および
    前記特徴または前記環境要因のうちの少なくとも一方に基づいて前記適応型閾値を決定するステップ、
    を含む、請求項23に記載の方法。
  25. 前記特徴は、オペレーティングシステム、アプリケーション、またはサービスのうちの1つを含む、請求項24に記載の方法。
  26. 前記環境要因は、インターネット規模脅威レベル、前記ノードに対する過去の攻撃、または時刻のうちの1つを含む、請求項24に記載の方法。
  27. ノードに適応型閾値を設定することをコンピュータプロセッサで実行するように適合されるプログラムコードを含むコンピュータ可読媒体であって、
    前記ノードに関連するデータストリームを監視して、前記ノードの特徴を明らかにするプログラムコードと、
    前記ノードに影響することができる環境要因を監視するプログラムコードと、
    前記特徴または前記環境要因のうちの少なくとも一方に基づいて前記適応型閾値を決定するプログラムコードと、
    を含むコンピュータ可読媒体。
  28. 前記ノードに向けられた通信を識別するプログラムコードと、
    前記通信に関連するリスクレベルを判断するプログラムコードと、
    前記リスクレベルを前記適応型閾値と比較するプログラムコードと、
    前記リスクレベルと前記適応型閾値との間の比較に基づいて前記通信に応答するプログラムコードと、
    をさらに含む、請求項27に記載のコンピュータ可読媒体。
  29. 前記比較に基づいて前記通信に応答するプログラムコードは、イベントのログを記録するプログラムコード、前記イベントを終了させるプログラムコード、前記イベントを無害化するプログラムコード、または前記通信の発信元をブラックリストに入れるプログラムコードのうちの1つを含む、請求項28に記載のコンピュータ可読媒体。
  30. 前記通信はネットワーク環境における攻撃を含み、前記比較に基づいて前記通信に応答するプログラムコードは、前記攻撃のログを記録するプログラムコード、接続を終了させるプログラムコード、または前記攻撃の発信元に関連する識別子をブラックリストに入れるプログラムコードのうちの1つを含む、請求項29に記載のコンピュータ可読媒体。
  31. 前記通信は電子メールを含み、前記比較に基づいて前記通信に応答するプログラムコードは、悪意のある電子メールのログを記録するプログラムコード、前記悪意のある電子メールの送信を阻止するプログラムコード、前記電子メールを無害化するプログラムコード、または前記電子メールの発信元をブラックリストに入れるプログラムコードのうちの1つを含む、請求項29に記載のコンピュータ可読媒体。
  32. 前記リスクレベルを判断するプログラムコードは、基本閾値決定要因を判断するプログラムコードを含む、請求項28に記載のコンピュータ可読媒体。
  33. 前記リスクレベルを判断するプログラムコードは、複合閾値決定要因を判断するプログラムコードを含む、請求項28に記載のコンピュータ可読媒体。
  34. 前記リスクレベルを判断するプログラムコードは、管理閾値決定要因を判断するプログラムコードを含む、請求項28に記載のコンピュータ可読媒体。
  35. 前記リスクレベルを前記適応型閾値と比較する前に、閾値変更子で前記リスクレベルを乗算するプログラムコードをさらに含む、請求項28に記載のコンピュータ可読媒体。
  36. 静的閾値を決定するプログラムコードと、
    前記静的閾値に基づいて前記適応型閾値を変更するプログラムコードと、
    をさらに含む、請求項27に記載のコンピュータ可読媒体。
  37. 前記適応型閾値を決定するプログラムコードは、総合リスクレベル指標を決定するプログラムコードを含む、請求項27に記載のコンピュータ可読媒体。
  38. ネットワークトラフィックに関連するリスクを動的に評価することをコンピュータプロセッサで実行するように適合されるプログラムコードを含むコンピュータ可読媒体であって、
    前記ノードに向けられた通信を識別するプログラムコードと、
    前記通信に関連するリスクレベルを判断するプログラムコードと、
    前記リスクレベルを前記適応型閾値と比較するプログラムコードと、
    を含むコンピュータ可読媒体。
  39. 前記リスクレベルと前記適応型閾値との間の比較に基づいて前記通信に応答するプログラムコードをさらに含む、請求項38に記載のコンピュータ可読媒体。
  40. 前記通信に関連するネットワークパケットの発信元を判断するプログラムコードをさらに含む、請求項38に記載のコンピュータ可読媒体。
  41. 前記ノードに適応型閾値を設定するプログラムコードをさらに含む、請求項38に記載のコンピュータ可読媒体。
  42. 前記ノードに前記適応型閾値を設定するプログラムコードは、
    前記ノードに関連するデータストリームを監視して、前記ノードの特徴を明らかにするプログラムコードと、
    前記ノードに影響することができる環境要因を監視するプログラムコードと、
    前記特徴または前記環境要因のうちの少なくとも一方に基づいて前記適応型閾値を決定するプログラムコードと、
    を含む、請求項41に記載のコンピュータ可読媒体。
JP2008525243A 2005-08-03 2006-08-03 ネットワーク環境を動的に学習して適応型セキュリティを実現するシステムおよび方法 Pending JP2009504104A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US70467005P 2005-08-03 2005-08-03
PCT/US2006/030515 WO2007019349A2 (en) 2005-08-03 2006-08-03 Systems and methods for dynamically learning network environments to achieve adaptive security

Publications (1)

Publication Number Publication Date
JP2009504104A true JP2009504104A (ja) 2009-01-29

Family

ID=37649445

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008525243A Pending JP2009504104A (ja) 2005-08-03 2006-08-03 ネットワーク環境を動的に学習して適応型セキュリティを実現するシステムおよび方法

Country Status (4)

Country Link
US (1) US20070094491A1 (ja)
EP (1) EP1917778A2 (ja)
JP (1) JP2009504104A (ja)
WO (1) WO2007019349A2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012525626A (ja) * 2009-04-30 2012-10-22 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ユーザ端末の逸脱する挙動
JP2015526792A (ja) * 2012-06-21 2015-09-10 アルカテル−ルーセント コンピュータネットワークにおいて車両搭載可能コントローラを動作させるための方法、車両搭載可能コントローラおよびデバイス
KR102061833B1 (ko) * 2015-01-20 2020-01-02 한국전자통신연구원 사이버 침해 사고 조사 장치 및 방법
JP2020031321A (ja) * 2018-08-22 2020-02-27 富士通株式会社 通信装置

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7734741B2 (en) 2004-12-13 2010-06-08 Intel Corporation Method, system, and apparatus for dynamic reconfiguration of resources
US7738484B2 (en) * 2004-12-13 2010-06-15 Intel Corporation Method, system, and apparatus for system level initialization
US9418040B2 (en) * 2005-07-07 2016-08-16 Sciencelogic, Inc. Dynamically deployable self configuring distributed network management system
US9055093B2 (en) * 2005-10-21 2015-06-09 Kevin R. Borders Method, system and computer program product for detecting at least one of security threats and undesirable computer files
US8220047B1 (en) 2006-08-09 2012-07-10 Google Inc. Anti-phishing system and method
US7818801B2 (en) 2006-09-26 2010-10-19 ScriptLogic Corportation File system event tracking
US8650623B2 (en) * 2007-01-17 2014-02-11 International Business Machines Corporation Risk adaptive information flow based access control
US8955105B2 (en) * 2007-03-14 2015-02-10 Microsoft Corporation Endpoint enabled for enterprise security assessment sharing
US8959568B2 (en) * 2007-03-14 2015-02-17 Microsoft Corporation Enterprise security assessment sharing
US8413247B2 (en) * 2007-03-14 2013-04-02 Microsoft Corporation Adaptive data collection for root-cause analysis and intrusion detection
US9135807B2 (en) * 2007-03-14 2015-09-15 Seth Cirker Mobile wireless device with location-dependent capability
US20080229419A1 (en) * 2007-03-16 2008-09-18 Microsoft Corporation Automated identification of firewall malware scanner deficiencies
FR2917935B1 (fr) * 2007-06-21 2009-11-27 Radiotelephone Sfr Systeme de controle des communications de telephones mobiles au niveau d'un reseau et procede de controle
US7899849B2 (en) * 2008-05-28 2011-03-01 Zscaler, Inc. Distributed security provisioning
US8726391B1 (en) * 2008-10-10 2014-05-13 Symantec Corporation Scheduling malware signature updates in relation to threat awareness and environmental safety
US9195455B2 (en) * 2009-04-01 2015-11-24 Oracle International Corporation Reducing downtime when patching multiple inter-dependent software components
US8108612B2 (en) * 2009-05-15 2012-01-31 Microsoft Corporation Location updates for a distributed data store
US9756076B2 (en) * 2009-12-17 2017-09-05 American Express Travel Related Services Company, Inc. Dynamically reacting policies and protections for securing mobile financial transactions
GB2477921A (en) * 2010-02-17 2011-08-24 Sidonis Ltd Analysing a network using a network model with simulated changes
US8499348B1 (en) * 2010-12-28 2013-07-30 Amazon Technologies, Inc. Detection of and responses to network attacks
US20120180134A1 (en) * 2011-01-07 2012-07-12 Research In Motion Limited Personal Information Guard
CN104246787A (zh) 2012-05-30 2014-12-24 惠普发展公司,有限责任合伙企业 用于模式发现的参数调节
US8856924B2 (en) 2012-08-07 2014-10-07 Cloudflare, Inc. Mitigating a denial-of-service attack in a cloud-based proxy service
US9191399B2 (en) * 2012-09-11 2015-11-17 The Boeing Company Detection of infected network devices via analysis of responseless outgoing network traffic
US10346616B2 (en) * 2013-07-15 2019-07-09 General Electric Company Systems and methods for data loss prevention
DE102014206053A1 (de) * 2014-03-31 2015-10-01 Siemens Aktiengesellschaft Erhöhen einer Dienstgüte in einem Netzwerk
US9485263B2 (en) * 2014-07-16 2016-11-01 Microsoft Technology Licensing, Llc Volatility-based classifier for security solutions
US9619648B2 (en) 2014-07-16 2017-04-11 Microsoft Technology Licensing, Llc Behavior change detection system for services
US10162969B2 (en) 2014-09-10 2018-12-25 Honeywell International Inc. Dynamic quantification of cyber-security risks in a control system
US9661011B1 (en) 2014-12-17 2017-05-23 Amazon Technologies, Inc. Techniques for data routing and management using risk classification and data sampling
US10021125B2 (en) 2015-02-06 2018-07-10 Honeywell International Inc. Infrastructure monitoring tool for collecting industrial process control and automation system risk data
US10075474B2 (en) * 2015-02-06 2018-09-11 Honeywell International Inc. Notification subsystem for generating consolidated, filtered, and relevant security risk-based notifications
US10021119B2 (en) 2015-02-06 2018-07-10 Honeywell International Inc. Apparatus and method for automatic handling of cyber-security risk events
US10075475B2 (en) 2015-02-06 2018-09-11 Honeywell International Inc. Apparatus and method for dynamic customization of cyber-security risk item rules
US10298608B2 (en) 2015-02-11 2019-05-21 Honeywell International Inc. Apparatus and method for tying cyber-security risk analysis to common risk methodologies and risk levels
US10110622B2 (en) 2015-02-13 2018-10-23 Microsoft Technology Licensing, Llc Security scanner
US10320813B1 (en) 2015-04-30 2019-06-11 Amazon Technologies, Inc. Threat detection and mitigation in a virtualized computing environment
US9800604B2 (en) 2015-05-06 2017-10-24 Honeywell International Inc. Apparatus and method for assigning cyber-security risk consequences in industrial process control environments
EP3125147B1 (en) * 2015-07-27 2020-06-03 Swisscom AG System and method for identifying a phishing website
US9800606B1 (en) * 2015-11-25 2017-10-24 Symantec Corporation Systems and methods for evaluating network security
US9940467B2 (en) 2016-06-10 2018-04-10 Optum, Inc. Systems and apparatuses for architecture assessment and policy enforcement
US9652618B1 (en) * 2016-06-10 2017-05-16 Optum, Inc. Systems and apparatuses for architecture assessment and policy enforcement
AU2016427778B2 (en) * 2016-10-24 2022-03-10 Certis Cisco Security Pte Ltd Quantitative unified analytic neural networks
US11050629B2 (en) * 2016-11-03 2021-06-29 Palo Alto Networks, Inc. Fingerprint determination for network mapping
US20180268001A1 (en) * 2017-03-16 2018-09-20 International Business Machines Corporation Managing a database management system using a set of stream computing data
US10410014B2 (en) * 2017-03-23 2019-09-10 Microsoft Technology Licensing, Llc Configurable annotations for privacy-sensitive user content
US11337072B2 (en) 2017-12-07 2022-05-17 Microsoft Technology Licensing, Llc Threshold based fraud management for cloud computing system
US10877691B2 (en) * 2017-12-29 2020-12-29 Intel Corporation Stream classification based on logical regions
US10594753B2 (en) 2018-01-03 2020-03-17 International Business Machines Corporation System and method for identifying external connections in a streaming application
CN110650135B (zh) * 2019-09-20 2022-06-21 腾讯科技(深圳)有限公司 一种节点处理方法、相关设备及计算机可读存储介质
WO2021263222A1 (en) * 2020-06-26 2021-12-30 Calyptix Security Corporation Securing access to network devices utilizing two factor authentication and dynamically generated temporary firewall rules
US11768933B2 (en) * 2020-08-11 2023-09-26 Saudi Arabian Oil Company System and method for protecting against ransomware without the use of signatures or updates

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7089428B2 (en) * 2000-04-28 2006-08-08 Internet Security Systems, Inc. Method and system for managing computer security information
US7058976B1 (en) * 2000-05-17 2006-06-06 Deep Nines, Inc. Intelligent feedback loop process control system
US20040111632A1 (en) * 2002-05-06 2004-06-10 Avner Halperin System and method of virus containment in computer networks
US7587761B2 (en) * 2005-06-10 2009-09-08 At&T Corp. Adaptive defense against various network attacks

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012525626A (ja) * 2009-04-30 2012-10-22 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ユーザ端末の逸脱する挙動
JP2015526792A (ja) * 2012-06-21 2015-09-10 アルカテル−ルーセント コンピュータネットワークにおいて車両搭載可能コントローラを動作させるための方法、車両搭載可能コントローラおよびデバイス
US9723081B2 (en) 2012-06-21 2017-08-01 Alcatel Lucent Method, a vehicle mountable controller and a device for operating a vehicle mountable controller in a computer network
KR102061833B1 (ko) * 2015-01-20 2020-01-02 한국전자통신연구원 사이버 침해 사고 조사 장치 및 방법
JP2020031321A (ja) * 2018-08-22 2020-02-27 富士通株式会社 通信装置
JP7087819B2 (ja) 2018-08-22 2022-06-21 富士通株式会社 通信装置

Also Published As

Publication number Publication date
US20070094491A1 (en) 2007-04-26
WO2007019349A2 (en) 2007-02-15
EP1917778A2 (en) 2008-05-07
WO2007019349A3 (en) 2007-03-29

Similar Documents

Publication Publication Date Title
JP2009504104A (ja) ネットワーク環境を動的に学習して適応型セキュリティを実現するシステムおよび方法
US7237267B2 (en) Policy-based network security management
US10785191B2 (en) Device, system and method for defending a computer network
US7076803B2 (en) Integrated intrusion detection services
US7222366B2 (en) Intrusion event filtering
JP4501280B2 (ja) ネットワークおよびコンピュータシステムセキュリティを提供する方法および装置
US6499107B1 (en) Method and system for adaptive network security using intelligent packet analysis
US6301668B1 (en) Method and system for adaptive network security using network vulnerability assessment
US7757283B2 (en) System and method for detecting abnormal traffic based on early notification
JP4327698B2 (ja) ネットワーク型ウィルス活動検出プログラム、処理方法およびシステム
US7734776B2 (en) Automatically detecting malicious computer network reconnaissance by updating state codes in a histogram
WO2002023805A2 (en) Monitoring network activity
US7299489B1 (en) Method and apparatus for host probing
CN110581850A (zh) 一种基于网络流量基因检测方法
JP4743901B2 (ja) ネットワーク上での不正なスキャンニングを検出するための方法、システムおよびコンピュータ・プログラム
Khosravifar et al. An experience improving intrusion detection systems false alarm ratio by using honeypot
JP5153779B2 (ja) 1つまたは複数のパケット・ネットワーク内で望まれないトラフィックの告発をオーバーライドする方法および装置
Ogunleye et al. Securing and monitoring of Bandwidth usage in multi-agents denial of service environment
Whyte et al. Tracking darkports for network defense
Guo et al. IoTSTEED: Bot-side Defense to IoT-based DDoS Attacks (Extended)
Chen et al. An Internet-worm early warning system
US20050147037A1 (en) Scan detection
Prabhu et al. Network intrusion detection system
Bou-Harb et al. On detecting and clustering distributed cyber scanning
Moon et al. A Multi-resolution Port Scan Detection Technique for High-speed Networks.

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090731

A072 Dismissal of procedure [no reply to invitation to correct request for examination]

Free format text: JAPANESE INTERMEDIATE CODE: A073

Effective date: 20101207