JP2009105879A - 電子デバイスにおけるセキュリティルールの衝突を管理する方法、コンピュータプログラム、及びセキュリティルールの衝突を管理することが可能な電子デバイス - Google Patents

電子デバイスにおけるセキュリティルールの衝突を管理する方法、コンピュータプログラム、及びセキュリティルールの衝突を管理することが可能な電子デバイス Download PDF

Info

Publication number
JP2009105879A
JP2009105879A JP2008200847A JP2008200847A JP2009105879A JP 2009105879 A JP2009105879 A JP 2009105879A JP 2008200847 A JP2008200847 A JP 2008200847A JP 2008200847 A JP2008200847 A JP 2008200847A JP 2009105879 A JP2009105879 A JP 2009105879A
Authority
JP
Japan
Prior art keywords
rules
rule
condition
node
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.)
Granted
Application number
JP2008200847A
Other languages
English (en)
Other versions
JP5204581B2 (ja
Inventor
Yacine Bouzida
ヤシーヌ・ブズィダ
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.)
Mitsubishi Electric R&D Centre Europe BV Netherlands
Original Assignee
Mitsubishi Electric R&D Centre Europe BV Netherlands
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 Mitsubishi Electric R&D Centre Europe BV Netherlands filed Critical Mitsubishi Electric R&D Centre Europe BV Netherlands
Publication of JP2009105879A publication Critical patent/JP2009105879A/ja
Application granted granted Critical
Publication of JP5204581B2 publication Critical patent/JP5204581B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • 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)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Devices For Executing Special Programs (AREA)
  • Time Recorders, Dirve Recorders, Access Control (AREA)

Abstract

【課題】セキュリティルールは、セキュリティポリシーの仕様を満たすように設定されなければならない。電子デバイスにおいて正しくセキュリティルールの衝突を管理する方法を提供する。
【解決手段】ルールのそれぞれは、条件属性のリストと、対応する少なくとも1つの判断とを備え、条件属性のリストは、m個の個々の条件属性をさらに備える。衝突管理ツリーのレベルnのルートノードが構成され、ノードレベルを備える衝突管理ツリーが構築される。衝突管理ツリーは、最後のノードレベルを起源として、アークにリーフを追加することによって完成される。或るリーフに少なくとも2つのルールが存在する場合、セキュリティルールの集合Sに少なくとも1つの構成ミスのアノマリがあると判断される。
【選択図】図1a

Description

[技術分野]
本発明は、アクセス制御ルールの集合に存在する様々なアノマリ(anomaly)を検出するために使用することができる衝突管理方法に関する。このようなアクセス制御ルールは、着信トラフィック及び発信トラフィックをフィルタリングするためのファイアウォール等の電子デバイス、ファイルアクセスを管理するためのオペレーティングシステム、侵入検知のための攻撃シグネチャデータベース、ルールを管理するための電子メールアプリケーション、又は産業メカニズムにおいて使用することができる。本発明は、同様に、このような電子デバイス及びこの方法を実施するように構成されたコンピュータプログラムに関する。
[発明の背景]
通信システムで実施されている現在のセキュリティメカニズムは、パケットをフィルタリングする作業に多くのルールが指定されるアクセス制御システムでこの作業を行うために、多数の技法を使用する。侵入検知システムも、ルールの集合を使用して、監視されるネットワークから捕捉された異なるフローを、ルールの集合に記載された現在の既知の攻撃と照合する。ルールを記述する作業は、アクセス制御目的の場合もあれば、侵入検知の目的の場合もあるが、困難な作業ではない。しかしながら、多数のルールの集合を取り扱い、テストされていないルールがあるか否か、又は冗長な他のルールがあるか否かを発見することは、特に、一連の管理者によって記述された非常に多くのルールを取り扱う時に容易な作業ではない。
セキュリティルールは、セキュリティポリシーの仕様を満たすように、注意深く記述されると共にうまく編成されるべきである。これは、一人のオペレータが解決することができる容易な作業ではないので、この問題を克服するために、新規且つ高速で自動的な方法が導入されるべきである。さらに、管理者には、構成ミスのタイプ及びそのような構成ミスにつながったルールの集合に関しての正確な情報が与えられるべきである。
多くの現在の企業、政府機関、学究機関、及び軍事機関は、自身の情報システムを安全にするためにコンポーネントの集合を使用する。ファイアウォールは、組織内の異なる信頼のゾーンをトラバースするトラフィックをフィルタリングして取り締まるために最も多く使用されているセキュリティ設備である。たとえば、インターネットは、信頼されないゾーンとみなされ、インターネットに対するすべての着信トラフィック及び発信トラフィックは、攻撃を防止するために適切なフィルタリングルールで制御されるべきである。
ファイアウォールは、トラフィックをフィルタリングして、組織内で考えられる様々なゾーンをトラバースするフローを制御するための強力な解決策を提供するが、定義されたセキュリティポリシーによるファイアウォールの適切な構成は、依然として困難な作業のままである。ターゲットのセキュリティポリシーに従って正しいルールを扱うことを困難にする理由には、様々な理由がある。第1に、当該組織の異なるサブ組織(異なるロケーション、国、及び大陸に位置するもの)には異なるファイアウォールがインストールされている場合がある。第2に、時と共に異なる管理者によって記述されている可能性のある数百又は数千のルールが、異なるファイアウォールで指定されている。最後に、ルールを追加又は削除することによって新しいセキュリティポリシーに従い様々なルールを更新することによって、管理者の作業はほとんど実行不可能になる。これらの理由のすべてから、管理者が、記述された様々なルールの検証、解析、及び修正を行うことを助けるための効率的な技法が導入されるべきである。
ファイアウォールの構成ミスの問題の解決を試みる様々なシステムがある。これらのシステムは、異なるアノマリを検出するために異なる方法を使用するが、これらのアノマリを検出するのにほぼ同じ問題を共有している。
Ehab S. Al-Shaer及びHazem H. Hamed著「Discovery of Policy Anomalies in Distributed Firewalls」(IEEE INFOCOM 2004)と題する刊行物は、アノマリを検出する方法を開示しているが、この方法は、オペレータによって提示されるすべてのルールを検討するときに存在し得るすべてのアノマリを検出するとは限らない。その理由は、その検出手法が、ルールを2つずつ比較することに基づいているためである。
1つの条件属性dIP(宛先IP(destination IP))しか有しない以下の説明例を考えることができる。
1:dIP∈[40−90]→受理
2:dIP∈[80−120]→拒否
3:dIP∈[50−110]→受理
上記ルール集合では、dIPは、宛先のインターネットプロトコル(IP)アドレスを示している。この場合、提案される方法は、ルールR1及びR2の和集合のために、ルールR3が完全にシャドウイングしていること(complete shadowing)を検出しない。あるルールがマッチするすべてのパケットに対して、より高い優先順位を有する前のルール又はルールの組み合わせがすでにマッチしたという理由で、当該ルールが決して適用されない、そのようなルールが少なくとも1つ存在する場合、ルール集合は、完全なシャドウイングアノマリを含むことになる。
F. Cuppens、N. Cuppens-Boulahia、及びJ. Garcia-Alfaro著「Detection and Removal of Firewall Misconfiguration」(IASTED International Conference on Communication, Network and Information Security (CNIS 2005))と題する刊行物は、上記問題を解決する別の解決法を開示しているが、この方法も、多くの欠点を有する。冗長性についての曖昧な定義が導入されている。実際には、同じ属性値を有する2つのルールが存在する場合に、最初のルールが冗長なルールとみなされ、3つ以上の同一のルールが存在する場合も同様である。この理由から、この欠点を抑制するために、シャドウイングの検出は、冗長性より前に検討される。しかしながら、(1)或るルールが、そのルールと同じ判断を有する、より低い優先度を有する1つ又は2つ以上のルールから成る集合よりも高い優先順位を有し、且つ、(2)最初のルールがマッチするすべてのパケットが、他のルール(複数可)の組み合わせによってもマッチされ、且つ、(3)最初のルールの条件属性値が、より低い優先度を有するルールの条件属性値に厳密に含まれる場合には、より高い優先度を有する最初のルールは、冗長なものとして検出される。これに加えて、或るルール集合が検討され、それらのルールが再配列される場合、いくつかのアノマリが、最初のルール集合では検出される一方、2番目のルール集合では検出されない場合があり、また、その逆の場合もある。以下のルール集合は、これらの2つの問題を示す一例である。
1:dIP∈[20−90]→受理
2:dIP∈[40−120]→拒否
3:dIP∈[10−55]→受理
4:dIP∈[30−110]→受理
この例では、ルールR1は、ルールR3及びR4の組み合わせに起因して冗長なルールとして検出される。しかしながら、ルールR1及びR3の順序が、以下に提示するように変更された場合、R1は、冗長なルールとしては検出されず、シャドウイングとして検出される。
3:dIP∈[10−55]→受理
2:dIP∈[40−120]→拒否
1:dIP∈[20−90]→受理
4:dIP∈[30−110]→受理
この状況は、その手法の曖昧さに起因するものである。その手法は、冗長性の実際の定義を検討するのではなく、異なるアルゴリズムを先に採用する。これに加えて、異なるルールの実行順序は、オリジナルのルール集合に従って維持されない。
E. Al-Shaer及びH. Hamed著「Modeling and management of firewall policies」(IEEE TRANS.NETW.SERV.MANAGE., vol. 1-1, April 2004, XP-002464039)と題する科学刊行物は、レガシーファイアウォールにおけるルールの衝突及び潜在的な問題を明らかにするための、ファイアウォールポリシーアノマリの自動発見、並びに、ルールの挿入、削除、及び変更のためにアノマリのないポリシー編集を提供する一組の技法及びアルゴリズムを開示している。
E. AL-Shaer他著「Conflict classification and analysis of distributed firewall policies」(IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, vol. 23, No. 10, October 2005)と題する科学刊行物は、集中型ファイアウォール及び分散ファイアウォールにおいてポリシーアノマリを自動的に発見するための一組の技法及びアルゴリズムを開示している。
米国特許出願公開第2006/0294577号公報は、異なるファイアウォールデザイン間の不一致を解決する、システム、コンピュータで実施可能な方法、及びコンピュータ使用可能媒体を開示している。
したがって、セキュリティルールの衝突を検出して管理する、改良された方法が必要とされている。
[発明の概要]
本発明の第1の態様によれば、請求項1に記載される衝突を管理する方法が提案される。すなわち、セキュリティルールRiの集合Sを含む電子デバイスにおいてセキュリティルールの衝突を管理する方法であって、
ルールRiのそれぞれは、インデックスiによって識別され、
ルールのそれぞれは、条件属性のリストCと、対応する少なくとも1つの判断とを備え、
前記条件属性のリストは、m個の個々の条件属性Cnをさらに備え、m個の個々の条件属性Cnは、条件を設定するための対応する値の区間によって識別され、nは、ルールにおける異なる条件属性を識別する変数である
方法において、
前記方法は、前記電子デバイスによって実行される複数のステップとして、
‐衝突管理ツリーのレベルnのルートノードを構成する(107)ステップであって、ここで、ルートレベルでは、nはmに等しい、構成するステップと、
‐m個のノードレベルを備える前記衝突管理ツリーを構築する(113、115、117、119、121、123、125、127、131、133、135)ステップであって、
異なるレベルの前記ノードは、前記条件属性の区間又は部分区間によってラベル付けされるアークによって互いに接続され、
前記ノードは、対応するノードにつながっている前記アークをラベル付けする前記区間又は前記部分区間によって設定された前記条件を満たす、1つ又は複数のルールによって識別される、
構築するステップと、
‐ノードレベルn=1を起源として、前記アークにリーフを追加することによって、前記衝突ツリーを完成する(129)ステップであって、
リーフのそれぞれは、現在のリーフにつながっている前記アークをラベル付けする前記区間又は前記部分区間によって設定された前記条件を満たす1つ又は複数のルールによって識別される、
完成するステップと、
‐同じリーフに少なくとも2つのルールがあるか否かをチェックすると共に、同じリーフに少なくとも2つのルールがある場合に、前記セキュリティルールの集合Sに少なくとも1つの構成ミスのアノマリがあると判断するステップであって、
前記ツリーにおいて、前記アークの少なくともいくつかは、前記セキュリティルールの集合Sに少なくとも1つの構成ミスのアノマリがあるときに、条件を設定するための値の区間の部分区間によってラベル付けされる、
チェックすると共に判断するステップと
を含む、方法である。
提案される発明は、検討されているフィルタリング設備をトラバースするインバウンドトラフィック及びアウトバウンドトラフィックをフィルタリングするために管理者によって指定された異なるセキュリティルールの起こり得るすべての構成ミスを見つけることができる新規の方法を導入する。このメカニズムには、他の解決法と比較すると、多くの利点がある。提案される方法は、ルールの再配列(すなわちルールの優先度)に依存しない。この方法は、冗長性、シャドウイング等の、すべての起こり得るアノマリを見つける。異なるアノマリを、管理者に正確に提示することもできる。したがって、アノマリの一因となったすべてのルール及びそれらの属性範囲値を、さらなる調査のために、管理者に正確に示すことができる。したがって、ネットワークエレメントの管理者は、すべての構成ミスに関して警告を受けることができ、アプリオリに定義されたポリシーに従って、エラーの存在しない最良のルール集合を選ぶのは、管理者次第である。また、この方法が、管理者の選択に従って、エラーの存在しない1つの可能なルール集合を自動的に与えるように、この方法をアプリオリに調整することも可能である。
提案される方法は、「ルール記憶保持(rules memory keeping)」の利点も有する。この方法は、すべての構成ミスのアノマリ及び可能性を見つけるだけでなく、同時に、オリジナルのルール集合を、後に説明するようなそのデータ構造体に保持する。さらに、この方法は、ルールの更新に対して不変である。対応するアノマリが存在しない最終的なルール集合を盲目的に与える他の方法とは異なり、本提案の方法は、異なるアノマリを見つけながら、オリジナルのルール集合を保持する。本提案の方法は、ルールの順序にかかわらず同じ結果を与え、すべてのアノマリが見つけられるのに対して、他の方法は、生成される最後のルール及び追加又は省略される新規のルールに依存する。
本発明の第2の態様によれば、検出された衝突を管理することができる電子デバイスのコンピュータ手段にロードされて実行されると、第1の態様による方法を実施するための命令を含むコンピュータプログラム製品がさらに提供される。
本発明の第3の態様によれば、請求項12に記載の衝突を管理することが可能な電子デバイスが提供される。すなわち、通信システムにおいてセキュリティルールの衝突を管理することが可能な電子デバイスであって、
前記電子デバイスはセキュリティルールRiの集合Sを含み、
前記ルールRiのそれぞれは、インデックスiによって識別され、
前記ルールのそれぞれは、条件属性のリストCと、対応する少なくとも1つの判断とを備え、
前記条件属性のリストは、m個の個々の条件属性Cnをさらに備え、m個の個々の条件属性Cnは、条件を設定するための対応する値の区間によって識別され、ここで、nは、ルールにおける異なる条件属性を識別する変数である
電子デバイスにおいて、
前記電子デバイスは、
‐衝突管理ツリーのレベルnのルートノードを構成する手段であって、ここで、ルートレベルでは、nはmに等しい、構成する手段と、
‐m個のノードレベルを備える前記衝突管理ツリーを構築する手段であって、
異なるレベルの前記ノードは、前記条件属性の区間又は部分区間によってラベル付けされるアークによって互いに接続され、
前記ノードは、対応するノードにつながっている前記アークをラベル付けする前記区間又は前記部分区間によって設定された前記条件を満たす、1つ又は複数のルールによって識別される、
構築する手段と、
‐ノードレベルn=1を起源として、前記アークにリーフを追加することによって、前記衝突管理ツリーを完成する(129)手段であって、
リーフのそれぞれは、現在のリーフにつながっている前記アークをラベル付けする前記区間又は前記部分区間によって設定された前記条件を満たす1つ又は複数のルールによって識別される、
完成する手段と、
‐同じリーフに少なくとも2つのルールがあるか否かをチェックする手段であって、
同じリーフに少なくとも2つのルールがある場合に、前記電子デバイスは前記セキュリティルールの集合Sに少なくとも1つの構成ミスのアノマリがあると判断するように構成され、
前記ツリーにおいて、前記アークの少なくともいくつかは、前記セキュリティルールの集合Sに少なくとも1つの構成ミスのアノマリがあるときに、条件を設定するための値の区間の部分区間によってラベル付けされる、
チェックする手段と
を含む、電子デバイスである。
本発明の他の特徴及び利点は、添付図面を参照して、非限定的な例示の実施形態の以下の説明から明らかになる。
[発明の実施形態の詳細な説明]
次に、添付図面を関して、本発明のいくつかの実施形態をより詳細に説明する。以下の説明では、本発明の実施形態は、インターネットプロトコル(IP)を使用する通信システムの文脈で説明される。しかしながら、本発明は、IPの使用に決して限定されるものではない。
本発明は、フィルタリング設備の内部の論理デバイス又は物理デバイスにおいて実施することができる。この設備の唯一の条件は、この設備が、いくつかの条件が満たされたときに適用される、対応する動作又は判断を提供するルールの集合を使用するということである。これらのデバイスの例は、シグネチャデータベースで収集されたルールの集合を使用するハードウェアファイアウォール、ソフトウェアファイアウォール(netfilter、ipfilter等)、侵入検知/防止システム(snort、dragon等)である。さらに、この技法は、サービス品質(QoS)管理ツール、ルータ(ルーティング表管理、ボーダゲートウェイプロトコル集約等)、光ネットワークユニット(ONU)、ギガビットイーサネット(登録商標)受動光ネットワーク(GePON)、光ライン終端装置(OLT)、ルールを管理するための電子メールアプリケーション等の、他の非セキュリティ設備に一般化することができる。また、本発明は、新しい世代のネットワークにも役立つ。実際には、本発明は、現在のボイスオーバーIP(VoIP)ネットワークで重要性が大きくなったセッションボーダコントローラ(SBC)及びアプリケーションレイヤゲートウェイ(ALG)の衝突構成に使用されるように推奨される。
当該技術分野で行われた関連する研究は、ルールの集合におけるいくつかのアノマリを検出することにのみ焦点を当ててきたが、本発明は、ファイアウォールの構成ミスだけでなく、snortのルール等の侵入検知ルール、Windows(登録商標)、Linux、Unix(登録商標)等の異なるオペレーティングシステム(OS)におけるファイル(又はディレクトリ)アクセス制御、産業メカニズム、及びオートメーションにも適用される。以下の詳細な説明では、本発明がより詳細に説明され、ファイアウォールルールが本発明の適用性を効率的に示すことから、本発明の様々なプロシージャが、これらのルールの集合に適用される。
ソフトウェアデバイス又はハードウェアデバイスのいずれかである現在の多くのセキュリティ設備の部分品は、主として、表1に紹介されるルールのようなルールの集合によって構成されている。一般に、各ルールは、属性値の集合に従って、受理、拒否、アラート、ログ等の判断を提供する。ファイアウォールフィルタリング機能の場合、これらの属性は、異なるIPパケットヘッダフィールドに関連付けることができる。しかしながら、この属性リストは、セッション開始プロトコル(SIP)を含む現在のVoIPプロトコル等のアプリケーションプロトコルに関連付けることもできる他の特徴に拡張可能である。簡単にするために、以下の説明では、いくつかのIPヘッダフィールドのみが検討され、たとえば、プロトコル(P)(たとえば、伝送制御プロトコル、ユーザデータグラムプロトコル、インターネット制御メッセージプロトコル等)、送信元IPアドレス(sIP)、宛先IPアドレス(dIP)、送信元ポート(sP)、宛先ポート(dP)等のみが検討される。異なる条件属性が満たすべき唯一の条件は、それらの条件属性が取り得る値が有限集合又は有限区間に属するということである。
以下では、ある文法が提供される。この文法は、異なる複数のルールのそれぞれに関して、対応する判断(複数可)を実現するために、ある一組の条件が満たされるべきであるということを説明するのに使用される。単一のルールのグローバルシンタックスは、以下のように定義することができる。
i→<条件(複数)> : <判断(複数)>
<条件(複数)> → 条件∧<条件(複数)> / 条件
<判断(複数)> → 判断 <OP> <判断(複数)> / 判断
<OP> → ∧/∨/…
このシンタックスでは、OPは、オペランドを示し、∧は、AND演算を示し、∨は、OR演算を示す。「条件」端子は、属性が或る集合に属するか否かに関してその属性が検査される際の任意の条件とすることができる。この集合は、単一の集合に対応してもよく、多くの集合の共通集合に対応してもよく、異なる集合の和集合に対応してもよく、及び/又は、他の任意の演算集合に対応してもよい。「判断」端子は、ファイアウォール等のルールを管理するエレメントが適用することができる、「拒否」、「受理」、「ログ」等の任意の動作に対応する。この集合は、離散値(「tcp」、「udp」、「a」、「b」、「left」、「right」、「up」、「down」、「1」、「2」、「
Figure 2009105879
」、「
Figure 2009105879
」、「Paris」、「London」、「read」、「write」、「execute」等)、及び/又は、連続値(区間[−30;5000]、[20.36;562]等)を含むことができる。しかしながら、これらの集合又は区間は有限であるべきである。
Figure 2009105879
上記に提示したグローバルシンタックスから、表1の例に関してのフィルタリングルールシンタックスは、
<条件(複数)> → <P> ∧ <SIP> ∧ <SP> ∧ <DIP> ∧ <DP>
<判断> → 受理 / 拒否
となる。
表記∧は、論理AND演算を意味する。表1では、5つの条件属性(略して属性)のみが提示されている。すなわち、P、sIP、sP、dIP、及びdPのみが提示されている。本発明の実施形態の以下の説明では、シャドウイングアノマリのみが考慮される。他のアノマリは、たとえ曖昧であっても、以下で説明する方法によってすべて検出されることに留意すべきである。現在知られている衝突検出方法は、完全なルールアノマリ(complete rule anomaly)を使用するが、本発明の実施形態は、以下で説明するような部分ルール構成ミス定義(partial rule misconfiguration definition)を使用する。
以下の説明では、Sは、複数(少なくとも1つ)のルールRiを備えるフィルタリングルールの集合を示す。この場合、定義から、S内において決して適用されないルールRiの少なくとも一部が存在する場合、またその場合に限り、Rは部分的なシャドウイング(partial shadowing)を有する。これは、このルール部分がマッチし得るすべてのパケットが、それ以前の、より高い優先度を有するルールの少なくとも一部によって事前にマッチされ得るということに起因する。
本発明は、起こり得るすべてのアノマリを検出することができるロバストで簡潔な方法を、最適な方法で提供する。すなわち、空間消費及び時間消費が最小にされる。かなりのアノマリを有する多数のルールの解析は、特に、実験をしていない(non experimented)セキュリティ管理者によって記述されたときは、容易な作業ではない。さらに、本発明の実施形態は、ネットワーク管理者に、アノマリの存在しないルールの適切な組み合わせを選ばせる。この決定は、自動的に行うこともできるし、管理者の好みに従って手動で行うこともできる。
本発明の実施形態は、すべての条件及び対応する判断を要約するツリーを使用する。このツリーは、衝突管理ツリーと呼ぶことができる。図1のフローチャートに提示されるアルゴリズムは、本発明の一実施形態を示し、ルールの初期集合を最適な集合に分割・集約するために従う異なるステップを与えている。このアルゴリズムから生成されたツリーは、ノード、アーク、及びリーフという3つのコンポーネントを含む。第1に、各ノードは1つの条件属性に対応し、たとえば、sIPは、この例における1つの条件属性である。第2に、各アークは、1つの条件属性値、又は、値の1つの範囲でラベル付けされる。最後に、リーフは、カップル、すなわち、ルール番号及びその対応する判断に対応する。或るリーフに到達するまで、ルールの条件属性値及びノード値に基づいてツリーを上から下にトラバースすることによって、異なるルールを読み出すことができる。或るリーフに到達すると、2つの場合が起こり得る。ルートからリーフへツリーをトラバースするときに見られる異なる値に従って、1つのカップルしか存在しないか、又は、少なくとも2つのカップルがある。前者の場合、対応するルールにはアノマリが存在しない。この後者の場合には、異なるルール間の衝突が、検査されたリーフに存在する。
以下では、図1のフローチャートをより詳細に説明する。まず、ステップ101において、ルール集合Sが定義され、このルール集合は、個々のルールRiを含む。ここで、iは、集合Sにおけるルール番号iを指定する正の整数である。さらに、各ルールは、m個の条件属性も含む。ここで、mは、正の整数である。次に、ステップ103において、ルール集合Sが空であるか否かがチェックされる。ルール集合が空である場合、ステップ105において、単一のノードが、失敗の値と共に返される。ここでこのプロシージャは終了する。
他方、ステップ103において、ルール集合が空でないと判断された場合、最初のルートノードが、ステップ107において構築される。この最初のルートノードは、レベルnのノードである。ここで、nは、異なるノードレベルを識別する変数であり、ルートレベルでは、nはmに等しい。各ノードレベルは、1つの条件属性に対応する。したがって、m個の異なるノードレベルがあり、最後のレベルの後にリーフがある。ノードの各レベルは、いくつかの並列のノードを有する場合があることに留意すべきである。ノードは、異なるルールによってさらに識別され、その結果、最初のノードは、ルール集合Sに含まれるすべてのルールで識別されるようになる。
次に、ステップ109において、条件属性のリストCが空であるか否かがチェックされる。空である場合、取得された衝突ツリーが、ステップ111において返される。条件属性のリストCが空でない場合、このプロシージャは、ステップ113において、CnをCのn番目の属性であるとして定義することによって続行される。次に、ステップ115において、変数Xが定義され、ステップ117において、この変数は、R1[Cn]の値、すなわち、最初のルールの現在の条件属性値を取るように定義される。同時に、インデックスiが2に設定される。
次に、ステップ119において、インデックスiが、現在のノードの集合Sのカージナル値と比較される。このカージナル値は|S|とも示される。カージナル値とは、現在のノードのルールの個数を意味する。このルールの個数は、必ずしも、ルール集合全体のルールの個数と同じ値であるとは限らない。iが、現在のノードのSのカージナル値よりも大きくない場合、Xは、ステップ121において、(X−Ri[Cn])∪(Ri[Cn]−X)∪(X∩Ri[Cn])の値を取るように、すなわち、集合(X−Ri[Cn])と、集合(Ri[Cn]−X)と、集合(X∩Ri[Cn])との和集合の値を取るように定義される。次に、インデックスiが1だけインクリメントされる。このステップが計算されると、このプロシージャは、ステップ119において、インデックスiが現在のノードのSのカージナル値よりも大きいか否かを再び比較することによって続行される。インデックスiが現在のノードのSのカージナル値よりも大きい場合、ステップ123において、Xの現在の値が返される。この値Xは、ステップ121において定義された集合から構成される。次に、ステップ125において、ステップ121で説明したような集合が、現在のノードからレベルn−1のノードへのアークを構築するのに使用され、それによって、これらのアークは、これらの異なる集合でラベル付けされるようになる。したがって、現在のノードからレベルn−1のノードに向かうアークは、集合の個数と同数だけ存在する。レベルn−1のノードは、さらに、対応するルールでも識別され、それによって、各ノードは、対応するノードにつながっているアークをラベル付けする対応する集合によって設定された条件を満たすルールによってのみ、識別されることになる。集合は、条件属性の値又はこれらの値の部分範囲に対応することに留意すべきである。したがって、各ノードレベルは、いくつかの並列な子ノードを有する場合がある。子ノードは、父ノード又は現在のノードにアークで接続されたノードであるように定義される。
次に、ステップ127において、n−1が0に等しいか否かが判断される。0に等しい場合、検査すべき属性条件はなく、ステップ129において、ステップ121で定義された各集合に関して単一のリーフが返される。返されたリーフのそれぞれは、対応するカップル(Ri,Di)の値を取る。ここで、Riは、現在のノードの残りのルールに対応し、Diは、対応する判断(複数可)に対応する。各リーフは、現在のリーフにつながっているアークをラベル付けする集合の条件を満たす1つ又は複数のルールによって識別される。現在のリーフに衝突がない場合には、1つのカップルのみが返されるのに対して、衝突がある場合には、少なくとも2つのカップルが返される。
このプロシージャは、次に、ステップ131において、現在の条件属性Cnに関して、又は、同様にレベルnに関して、すべてのノードが処理されたか否かを判断することによって続行される。これは、集合には対応するノードが常に存在するので、直前のレベル(すなわちレベルn+1)のすべてのノードをチェックすると共に、すべての集合が処理されたことを検証することによって行われる。集合は、ステップ121において定義されたもの、すなわち、和集合を取得するための集合である。これは、等価的に、直前のレベルのノード(複数可)からのすべてのアークが処理されたことをチェックすることとして表すこともできる。すべてのノードが処理されていない場合には、ステップ133において、次のノードが検討され、次に、このプロシージャはステップ115で続行される。このループは、すべてのノードが処理されるまで続行される。他方、ステップ131において、現在のレベルnに関して、すべてのノードが処理されたと判断される場合、このプロシージャは、ステップ135において、現在のノードCnをCから削除することによって続行される。すなわち、nは、値n−1を取る。ステップ135から、このプロシージャは、ステップ109に直接向かう。
次に、提案される方法のオペレーションをより良く示すために、いくつかの具体例を説明する。ルール集合Sが2つのルールR1及びR2のみを含む単純な例にこの方法を適用することによって始めることにする。
1:P∈{tcp}∧sIP∈[10−55]∧sP∈任意∧dIP∈[60−80]∧dP∈{80}→受理;
2:P∈{tcp}∧sIP∈[60−80]∧sP∈任意∧dIP∈[30−120]∧dP∈{21,22,80}→拒否。
この場合も、条件属性の個数は5である。この場合、5番目(n=5)の条件属性はPであり、ステップ117、119、121、及び123を実行することによって、1つの値、すなわちtcpのみが取得される。ステップ117、119、121、及び123は、以下の説明におけるパーティショニングプロシージャとして知られている。図2は、このステップが実行された後に取得されるツリーの最初の部分を示している。
4番目(n=4)の条件属性はsIPである。パーティショニングプロシージャを適用することによって、2つの異なる区間[10−55]及び[60−80]が取得される。ここで、区間[10−55]及び[60−80]は、ステップ121の和集合演算の集合である。したがって、図3に示すようなサブツリーが返され、図2に示すようなツリーに取り付けられる。
3番目(n=3)の条件属性はsPである。パーティショニングプロシージャを適用することによって、ツリーは、図4に示すように拡張される。この時、ツリーは、2つの互いに素な(disjoint)ブランチを含む。
2番目(n=2)の条件属性はdIPである。パーティショニングプロシージャを適用することによって、ツリーは、図5に示すように、再び拡張される。しかしながら、さらに別のブランチは追加されず、既存のブランチのみが拡張される。
1番目(n=1)の条件属性はdPである。パーティショニングプロシージャをこの例に適用することによって、既存のブランチが再び拡張されるが、新しいブランチは追加されない。これを図6に示す。したがって、このとき、2つのsPノード、2つのdIPノード、及び2つのdPノードが存在し、それらのノードは、それぞれ1つのアークのみを含む。
最後に、n=0のとき、検査する条件属性はない。5つの条件属性のすべてが検査されている。その場合、条件特徴(condition feature)の集合を示すCは空である。したがって、図6の未決定の各アークに関して単一のノードが返される。それらのノードのそれぞれは、残りのカップル、すなわち、ルール番号(複数可)及びその対応する判断(複数可)を含む。図7に示すように生成された衝突ツリーによれば、各リーフには、1つのカップルしかない。したがって、部分的なシャドウイングアノマリはない。この結果に従って、アノマリは存在せず、2つのルールは独立である。
次の例は、アノマリを含む3ルール集合の集合に対する同じアルゴリズムの実行を示している。集合Sは次の通りである。
1:P∈任意∧sIP∈ 任意∧sP∈任意∧dIP∈ x.x.x.[1−120]∧dP∈[21−80]→受理;
2:P∈任意∧sIP∈任意∧sP∈任意∧dIP∈x.x.x.[1−60]∧dP∈[10−25]→ 拒否;
3:P∈任意∧sIP∈任意∧sP∈ 任意∧dIP∈x.x.x.[31−200]∧dP∈[21−65535]→拒否。
図8は、図1a及び図1bのフローチャートのアルゴリズムを適用することによって生成された衝突ツリーを示している。ツリーがどのようにして取得されるのかをより良く示すために、数値例を次に説明する。n=1であると仮定すると、現在検査される条件属性はdPであり、dPの最も左のノードを検討するものとする。ここで、このノードは、ルールR1及びR2を含む。このノードは、ルートからのパス{P:任意,sIP:任意,sP:任意,dIP:[1−130]}に従うことによって取得される。このパスは、図8の衝突ツリーのルートから最も左のパスである。この場合、R1[Cn]=R1[dP]=[21−80]であり、R2[Cn]=R2[dP]=[10−25]である。ここで、Cnは、現在検査されている属性であり、この場合には、dP、すなわち宛先ポートである。
パーティショニングプロシージャの適用を続けるものとする。
X←R1[Cn]=R1[dP]=[21−80];i=2
|S|=|{R1,R2}|=2
この場合、条件i=2が満たされる。この時、X←(X−R2[dP])∪(R2[dP]−X)∪(X∩R2[dP])は、X←([21−80]−[10−25])∪([10−25]−[21−80])∪([21−80]∩[10−25])=[26−80]∪[10−20]∪[21−25]となる。[26−80]∩[10−20]∩[21−25]={}、すなわち空集合であることに留意すべきである。
次に、iがインクリメントされ、その結果、i←i+1=3となる。この時、i=3>|S|=|{R1,R2}|=2となる。これは、3つの集合、すなわち、[26−80]、[10−20]、及び[21−25]に対応する結果Xが返されることを意味する。これらの3つの集合は、ノードdP:{R1,R2}を起源とする3つのアークがある理由である。
図8から、この3ルール集合が、破線の輪郭線で描かれたリーフによって視覚的に示されている、4つの部分的シャドウイングアノマリを含むことを理解することができる。しかしながら、各リーフにおいてシャドウイングされたルールの個数をカウントすると、1つのリーフが、より低い優先度を有する2つのルールをシャドウイングさせて3つのルールを含むので、図8は、5つのシャドウイングアノマリを示している。最初の部分的シャドウイングは、2つのルールR1及びR2の以下の部分に対応する。
P∈任意∧sIP∈任意∧sP∈任意∧dIP∈x.x.x.[1−30]∧dP∈ [21−25]→{R1:受理,R2:拒否}。
使用される優先度がファーストマッチである場合、すなわち、R1が、優先度に従った順序で最初である場合、衝突ツリーによって検出されるように、衝突ツリーからの上記生成されたルールに従ったR1及びR2の双方がマッチするパケットは、R2の判断(拒否)の代わりにR1の判断(受理)を常に取り、逆の場合も同じである。これと同じ部分的シャドウイングアノマリは、ルールR1、R2、及びR3の以下の部分に関して発生する。
−第2の部分的シャドウイング{R1,R2,R3}:
P∈任意∧sIP∈任意∧sP∈任意∧dIP∈x.x.x.[31−60]∧dP∈[21−25]→{R1:受理,R2:拒否,R3:拒否};
−第3の部分的シャドウイング {R1,R3}:
P∈任意∧sIP∈任意∧sP∈任意∧dIP∈x.x.x.[31−60]∧dP∈[26−80]→{R1:受理,R3:拒否};
−第4の部分的シャドウイング{R1,R3}:
P∈任意∧sIP∈任意∧sP∈任意∧dIP∈x.x.x.[61−120]∧dP∈[21−80]→{R1:受理,R3:拒否}。
部分的シャドウイングアノマリが検出されると、2つの異なる解決法が、その問題を解決するために提供される。第1の解決法によれば、管理者は、衝突ツリーによって検出された異なるアノマリに関しての警告を受ける。管理者は、次に、検出されたそれらの異なるアノマリに関して適切な判断を行うことができる。
第2の解決法によれば、アノマリの存在しないルールの集合を提供することによって、結果が自動化される。この解決法は、ルールの優先順序付けを考慮することを含む。したがって、ルールRiが、ルールRjよりも高い優先度のために順位が最初である場合に、Riが、衝突に対応するパスのルールとして選ばれる。したがって、この解決法は、管理者によって提供された最初のルール集合のマッチング順序と同じマッチング順序を維持する。これに加えて、決して適用されない異なる属性値は、最初のルール集合から削除される。この解決法は、管理者への警告に加え、オプションとして考えられる。上記例に関して、以下の集合が、アノマリを有しない新しい集合として提供される。
1':P∈任意∧sIP∈任意∧sP∈任意∧dIP∈x.x.x.[1−120]∧dP∈[21−80]→受理;
2':P∈任意∧sIP∈任意∧sP∈任意∧dIP∈ x.x.x.[1−60]∧dP∈[10−20]→拒否;
3': P∈任意∧sIP∈任意∧sP∈任意∧dIP∈ x.x.x.[31−120]∧dP∈[81−65535]→拒否;
32':P∈任意∧sIP∈任意∧sP∈ 任意∧dIP∈ x.x.x.[121−200]∧dP∈[21−65535]→ 拒否。
衝突ツリーから生成されたこれらのルールは、完全に互いに素であり(disjoint)、アノマリが存在しない。それらのルールは互いに素であるので、それらのルールの実行の結果は、異なるルールの順序を変更しても同じである。この例では、R1は変更されていない。すなわち、R1は当初のR1である。R1は、以下のようにして衝突ツリーから取得される。
11:P∈任意∧sIP∈任意∧sP∈任意∧dIP∈ x.x.x.[1−30]∧dP∈[21−25]→受理;
12:P∈任意∧sIP∈任意∧sP∈任意∧dIP∈ x.x.x.[1−30]∧dP∈[26−80]→受理;
13:P∈任意∧sIP∈任意∧sP∈任意∧dIP∈x.x.x.[31−60]∧dP∈[21−25]→受理;
R14:P∈任意∧sIP∈任意∧sP∈任意∧dIP∈x.x.x.[31−60]∧dP∈[26−80]→受理;
15:P∈任意∧sIP∈任意∧sP∈任意∧dIP∈x.x.x.[61−120]∧dP∈[21−80]→受理;
次にこのルール集合は以下のルール集合にグループ化される。
1(1-2):P∈任意∧sIP∈任意∧sP∈任意∧dIP∈x.x.x.[1−30]∧dP∈[21−25]∪[26−80]→受理;
1(3-4):P∈任意∧sIP∈任意∧sP∈任意∧dIP∈x.x.x.[31−60]∧dP∈[21−25]∪[26−80]→受理;
15:P∈任意∧sIP∈任意∧sP∈任意∧dIP∈x.x.x.[61−120]∧dP∈[21−80]→受理。
これは次に、1つのルールにグループ化される。
1(1-5):P∈任意∧sIP∈任意∧sP∈任意∧dIP∈x.x.x.[1−30]∪x.x.x.[31−60]∪x.x.x.[61−120]∧dP∈[21−25]∪[26−80]∪[21−25]∪[26−80]∪[21−80]→受理;
このルールはオリジナルのルールR1に等しい。
1(1-5):P∈任意∧sIP∈任意∧sP∈任意∧dIP∈ x.x.x.[1−120]∧dP∈[21−80]→受理。
他の2つのルールR2及びR3は、以下の方法で衝突ツリーから取得される。
21:P∈任意∧sIP∈任意∧sP∈任意∧dIP∈ x.x.x.[1−30]∧dP∈[10−20]→拒否;
22:P∈任意∧sIP∈任意∧sP∈任意∧dIP∈x.x.x.[31−60]∧dP∈[10−20]→拒否;
31:P∈任意∧sIP∈任意∧sP∈任意∧dIP∈ x.x.x.[31−60]∧dP∈[81−65535]→ 拒否;
32:P∈任意∧sIP∈任意∧sP∈任意∧dIP∈ x.x.x.[61−120]∧dP∈[81−65535]→ 拒否;
33:P∈任意∧sIP∈任意∧sP∈任意∧dIP∈ x.x.x.[121−200]∧dP∈[21− 65535]→拒否。
上記のルール集合は以下のルール集合に等しい。
2(1-2):P∈任意∧sIP∈任意∧sP∈任意∧dIP∈ x.x.x.[1−30]∪x.x.x.[31−60]∧dP∈[10−20]→拒否;
3(1-2):P∈任意∧sIP∧任意∧sP∈任意 ∧dIP∈ x.x.x.[31−60]∪x.x.x.[61−120]∧dP∈[81−65535]→拒否;
33:P∈任意∧sIP∈任意∧sP∈任意∧dIP∈ x.x.x.[121−200]∧dP∈[21−65535]→拒否。
これは同様に、以下のルール集合に等しい。
2':P∈任意∧sIP∈任意∧sP∈任意∧dIP∈ x.x.x.[1−60]∧dP∈[10−20]→ 拒否;
31':P∈任意∧sIP任意∧sP∈任意∧dIP∈x.x.x.[31−120]∧dP∈[81−65535]→拒否;
32':P∈任意∧sIP∈任意∧sP∈任意∧dIP∈x.x.x.[121−200]∧dP∈[21−65535]→拒否。
図1a及び図1bのフローチャートに示すような衝突ツリーアルゴリズムを使用することによって生成された、あるルール集合に対応する衝突ツリーが、2つ以上のカップル(すなわち、ルール及びその対応する判断(複数可)を有するリーフ)を含まない場合には、そのルール集合にはアノマリが存在しない。たとえば、図9に示すツリーは、いかなるアノマリも存在しない。このツリーは、衝突ツリーアルゴリズムを適用して衝突ツリーから生成される。衝突は、より高い優先度を有するルールの方を選んで選ばれるので、管理者の決定を考慮することなく直接の決定が行われる。
本発明の他の能力を示すために、「Detection and Removal of Firewall Misconfiguration」と題する刊行物に定義されたような冗長性アノマリを含む表1に提示される例を検討することにする。その文書では、冗長性は、次のように定義されている。Sをフィルタリングルールの集合とする。この場合、Sは、次の条件が当てはまるような少なくとも1つのフィルタリングルールRiがSに存在する場合、またその場合に限り、完全な冗長性(complete redundancy)を含む。この条件は、すなわち、(1)Riが他のどのルールによってもシャドウイングされない;(2)SからRiを削除しても、フィルタリング結果は変化しない、という条件である。ルールRiが完全に冗長であるか否かをチェックするには、このルールが存在する各リーフに関して、同じ判断を有する少なくとも1つのルールが存在することをチェックすることで十分である。提示を簡便にするために、次の例では、宛先IP(dIP)の条件属性に対応するノードレベルのみをより詳細に説明する。
1が冗長なルールとして検出される一方、ルールR4は、シャドウイングされたルールとして検出される。しかしながら、表2に示すように、ルールR1及びR3の順序が交換され、同じ優先順序が維持される場合、ルールR1は、冗長なルールとして検出されない。これは、その刊行物の冗長性の定義における曖昧さに起因するものである。冗長性チェック機能は、検討中の現在のルールに続く次のルールを調べているので、ルールR1の冗長性は、順序がR3と交換されたときには、アルゴリズム上の理由から検出されない。実際には、或るルールが、同じ判断及びより低い優先順序を有する別のルール又は少なくとも2つの他のルールの組み合わせに含まれる条件属性値の部分集合を有する場合、最初のルールが冗長なものとして検出される一方、他のルール(複数可)は維持される。
Figure 2009105879
上記で定義したような冗長性をチェックするには、衝突ツリーにおける異なるリーフを調べて、各ルールについて、より低い優先度を有し且つ検査されているルールの判断と同じ判断を有する、別のルールの存在をチェックすることで十分である。たとえば、図10に示す衝突ツリーによれば、あらゆるリーフにおいて、同じ判断及びより低い優先度を有する少なくとも別のルールがあるように見えるため、ルールR1は、冗長なものとして検出される。実際には、R1がその存在を示す最初の3つのリーフに、より低い優先度及び同じ判断を有するR3が存在し、より低い優先度及び同じ判断を有するR5が、R1が存在する最後の3つのリーフに存在する。R1が存在する3番目のリーフには、2つのルールR3及びR5が共に存在する。ルールの順序にかかわらず一般的な冗長性を検出するには、たとえば表2に提示されるR1について、検査されているルールと同じ判断を有し、より低い優先度又はより高い優先度を有する別のルールの存在をチェックすることで十分である。
「Detection and Removal of Firewall Misconfiguration」と題する刊行物で定義されているようなシャドウイングアノマリの検出には、冗長性アルゴリズムを適用した後、各リーフに1つのルールのみを保持することで十分である。ルールRiがマッチするすべてのパケットが、より高い優先順序を有する前のルール又はルールの組み合わせによってすでにマッチされていることから、ルールRiは決して適用されない、そのようなルールRiが少なくとも1つSに存在する場合に、ルール集合Sは、完全なシャドウイングアノマリを含む。この場合、Riは、完全にシャドウイングされたルールと呼ばれる。本発明で提案される方法を使用することによるルールRiの完全なシャドウイングの検出には、このルールが存在する各リーフをチェックすることで十分である。したがって、そのルールが存在するリーフのすべてにおいて、そのルールが、より高い優先順序を有するルールの空でない有限集合によって部分的にシャドウイングされている場合、このルールは、完全にシャドウイングされている。したがって、いずれかのルールが、生成された新しい衝突ツリーのどのリーフにも存在しない場合には、そのルールは、シャドウイングアノマリとみなされる。これを行う1つのオプションは、図9で行われたように、リーフにおいて、より低い優先度を有するルールを削除することを含む。図11は、冗長性アルゴリズムを適用した後にシャドウイングアルゴリズムを適用した結果を提示している。
図11に示す衝突ツリーから、エラーの存在しない以下のルールの集合が生成される。
3':dIP∈x.x.x.[1−55]→受理;
2':dIP∈x.x.x.[91−120]→拒否;
5':dIP∈x.x.x.[56−90]→受理;
このルールの集合は、「Detection and Removal of Firewall Misconfiguration」と題する刊行物で紹介されているような冗長性及びシャドウイングのアノマリの定義を適用することによって取得される。
しかしながら、次のアノマリ定義、すなわち、決して適用されないルールRiの少なくとも一部がSに存在する場合、またその場合に限り、Rは部分的シャドウイングを提示するというアノマリ定義も使用することができる。この定義が、図10に示すオリジナルの衝突ツリー上で使用される場合、これと対応するアノマリが存在しない衝突ツリーは図12に示される。この結果は、図12において、単に、各リーフの最初のルールを選び、現在のリーフの他のルールを削除することによって取得される。
図12に示す衝突ツリーから、エラーの存在しない以下のルール集合が生成される。dIP条件属性のみが、例示の題材として検討されている。
1':dIP∈x.x.x.[20−90]→受理;
2':dIP∈x.x.x.[91−120]→拒否;
3':dIP∈x.x.x.[1−19]→受理;
図11の衝突ツリーから生成されたルール集合は、図12の衝突ツリーから生成されたルール集合と異なっていることに留意すべきである。これは、「Detection and Removal of Firewall Misconfiguration」と題する刊行物において紹介されている冗長性の定義に起因するものである。実際には、最初のルール集合に関しては、オリジナルのルール集合に従った実行順序が維持されない一方、本発明で提案されるオプションを使用すると、実行順序は維持される。本発明は、このように、特に時間消費の意味で複雑度の少ない衝突管理方法を提供する。管理者は、図1a及び図1bのフローチャートのアルゴリズムから自動的に生成された衝突ツリーから採用される適切な手段を選ぶことができる。
衝突ツリーのリーフにおける異なるルールを使用することによって、完全なシャドウイング及び完全な冗長性等の構成ミスを発見することができる。これらの構成ミスを別の方法で定義することができる。ルールの構成ミスの定義にかかわらず、その検出は、異なる衝突ツリーのリーフに存在する、異なるルールに直接的に依存する。ルールは、完全にシャドウイングされると同時に、完全に冗長である場合がある。他の多くのアノマリ(一般化、相関等)を定義してもよい。これらのアノマリのすべてを、衝突ツリーから検出することができ、特にリーフから検出することができる。
上記例の衝突ツリーから生成されたルールは、完全に互いに素であり、アノマリが存在しない。それらのルールは互いに素であるので、それらの実行の結果は、異なるルールの順序を変更しても同じである。
本発明は、同様に、ネットワーク機器のコンピュータ手段にロードされて実行されると、本発明の実施形態の任意の方法ステップを実装することができるコンピュータプログラム製品に関するものでもある。
本発明は、同様に、上述した方法ステップを実施するように構成されたネットワーク機器に関するものでもある。コンピュータプログラムは、ネットワーク機器に実行されるように構成することができる。
図面及び上記説明で詳細に本発明を図示して説明してきたが、このような図示及び説明は、例証又は例示とみなされるべきであり、限定とみなされるべきではない。本発明は、開示した実施形態に限定されるものではない。
特許を請求する発明を実施する際に、図面、開示、及び添付の特許請求の範囲を検討することによって、当業者は、開示した実施形態に対する他の変形を理解して達成することができる。特許請求の範囲において、「備える」又は「含む」という用語は、他の要素又はステップを排除するものではなく、不定冠詞「a」又は「an」は複数を排除するものではない。単一のプロセッサ又は他のユニットが、特許請求の範囲で列挙されたいくつかのアイテムの機能を遂行する場合がある。単に、異なる特徴が、互いに異なる従属請求項に列挙されているということは、これらの特徴の組み合わせを好都合に使用することができないことを示すものではない。特許請求の範囲におけるどの参照符号も、本発明の範囲を限定するものとみなされるべきではない。
本発明の一実施形態による衝突検出方法を示すフローチャートである。 本発明の一実施形態による衝突検出方法を示すフローチャートである。 本発明の一実施形態による衝突ツリーを作成するときのステップを示す図である。 本発明の一実施形態による衝突ツリーを作成するときのステップを示す図である。 本発明の一実施形態による衝突ツリーを作成するときのステップを示す図である。 本発明の一実施形態による衝突ツリーを作成するときのステップを示す図である。 本発明の一実施形態による衝突ツリーを作成するときのステップを示す図である。 本発明の一実施形態による衝突ツリーを作成するときのステップを示す図である。 本発明の一実施形態に従って取得されたルールアノマリを示す衝突ツリーを示す図である。 本発明の一実施形態に従って取得されたルールアノマリの存在しない衝突ツリーを示す図である。 ルールアノマリの含む別の衝突ツリーの一部を示す図である。 ルールアノマリの存在しない図10の衝突ツリーの一部を示す図である。 ルールアノマリの存在しない図10の衝突ツリーの一部を示す図である。

Claims (12)

  1. セキュリティルールRiの集合Sを含む電子デバイスにおいてセキュリティルールの衝突を管理する方法であって、
    ルールRiのそれぞれは、インデックスiによって識別され、
    ルールのそれぞれは、条件属性のリストCと、対応する少なくとも1つの判断とを備え、
    前記条件属性のリストは、m個の個々の条件属性Cnをさらに備え、m個の個々の条件属性Cnは、条件を設定するための対応する値の区間によって識別され、nは、ルールにおける異なる条件属性を識別する変数である
    方法において、
    前記方法は、前記電子デバイスによって実行される複数のステップとして、
    ‐衝突管理ツリーのレベルnのルートノードを構成する(107)ステップであって、ここで、ルートレベルでは、nはmに等しい、構成するステップと、
    ‐m個のノードレベルを備える前記衝突管理ツリーを構築する(113、115、117、119、121、123、125、127、131、133、135)ステップであって、
    異なるレベルの前記ノードは、前記条件属性の区間又は部分区間によってラベル付けされるアークによって互いに接続され、
    前記ノードは、対応するノードにつながっている前記アークをラベル付けする前記区間又は前記部分区間によって設定された前記条件を満たす、1つ又は複数のルールによって識別される、
    構築するステップと、
    ‐ノードレベルn=1を起源として、前記アークにリーフを追加することによって、前記衝突ツリーを完成する(129)ステップであって、
    リーフのそれぞれは、現在のリーフにつながっている前記アークをラベル付けする前記区間又は前記部分区間によって設定された前記条件を満たす1つ又は複数のルールによって識別される、
    完成するステップと、
    ‐同一のリーフに少なくとも2つのルールがあるか否かをチェックすると共に、同一のリーフに少なくとも2つのルールがある場合に、前記セキュリティルールの集合Sに少なくとも1つの構成ミスのアノマリがあると判断するステップであって、
    前記ツリーにおいて、前記アークの少なくともいくつかは、前記セキュリティルールの集合Sに少なくとも1つの構成ミスのアノマリがあるときに、条件を設定するための値の区間の部分区間によってラベル付けされる、
    チェックすると共に判断するステップと
    を含む、方法。
  2. 前記衝突管理ツリーを構築することは、
    a)変数Xを定義する(115)と共に、前記セキュリティルールの集合Sの最初のルールの検討中の前記条件属性値に対応するR1(Cn)の値によって変数Xを初期化する(117)ステップと、
    b)前記インデックスiを2に設定する(117)ステップと、
    c)前記インデックスiを、レベルnの現在のノードにおける検討中のルールRの個数と比較し(119)、
    iが、レベルnの現在のノードにおける検討中のルールRの個数以下である場合に、Xを、(X−Ri[C])∪(Ri[C]−X)∪(X∩Ri[C])の値と置き替え(121)、ここで、∪は数学的演算の和集合を示し、∩は数学的演算の共通集合を示し、ここで、(X−Ri[Cn])、(Ri[Cn]−X)、及び(X∩Ri[Cn])は、前記条件属性Cnの前記区間又は前記部分区間に対応する前記和集合演算の集合であり、
    次に、インデックスiを1だけインクリメントすると共に、前記インデックスiが、前記検討中のルールRの個数よりも大きい場合には、値Xを返す(123)、
    比較するステップと、
    d)前記Xの集合のそれぞれが1つのアークのみをラベル付けするのに使用されるように、レベルn−1のノードへのアークを形成するのに前記Xの集合を使用する(125)ステップであって、
    前記レベルn−1のノードは、前記対応するルールによって識別され、それによって、前記ノードのそれぞれが、対応するノードにつながっている前記アークをラベル付けする前記対応する集合によって設定された前記条件を満たす前記ルールによってのみ識別される、
    使用するステップと
    をさらに含む、請求項1に記載の方法。
  3. e)現在のレベルnのすべてのノードが処理されたか否かを判断する(131)と共に、そうでない場合には、現在のレベルnのすべてのノードが処理されるまで、ステップa)〜d)を繰り返すステップと、
    f)nを1だけデクリメントし(135)、その後、ステップa)〜e)を繰り返すステップと
    をさらに含む、請求項2に記載の方法。
  4. 前記ステップeの判断は、レベルn+1のすべてのノードをチェックすることと、
    前記レベルn+1を起源とするすべてのアークが処理されたことを検証することと
    を含む、請求項3に記載の方法。
  5. 前記電子デバイスを管理する管理者にアノマリに関して警告すること、及び/又は、
    衝突の存在しないルールの集合を提供すること
    をさらに含む、請求項1〜4のいずれか一項に記載の方法。
  6. 衝突の存在しないルールの集合を提供することは、前記ルールの優先順序を考慮することと、リーフにおいて最も高い優先度を有する前記ルールを選ぶこととを含み、
    前記対応する属性値は、ルートから開始して、現在のリーフにつながっている前記属性値を採用することによって取得される、
    請求項5に記載の方法。
  7. 衝突の存在しないルールの集合を提供することは、
    リーフのそれぞれにおいて、同じ判断を有する少なくとも1つの第1のルール及び第2のルールが存在するか否かを判断することと、
    同じ判断を有する少なくとも1つの第1のルール及び第2のルールが存在する場合には、これらのルールから最も高い優先度を有するルールを選ぶことと
    を含み、
    前記第2のルールが、すべてのリーフにおいて、同じ判断を有する別のルールによって先行されている場合には、前記第2のルールは完全に冗長なものとして検出され、
    前記対応する属性値は、ルートから開始して、現在のリーフにつながっている前記属性値を採用することによって取得される、
    請求項5に記載の方法。
  8. 前記ルール集合Sは、ファイアウォールルール、侵入検知、オペレーションシステムにおけるファイルアクセスの管理、電子メールアプリケーション、及び/又は産業メカニズムに適用される、請求項1〜7のいずれか一項に記載の方法。
  9. 前記ルール集合Sは、前記方法を適用している間に構築される前記衝突管理ツリーに対応する前記ルール集合Sのデータ構造体に保持される、請求項1〜8のいずれか一項に記載の方法。
  10. アノマリの存在しない前記提供されたルールの集合における前記ルールは、互いに素である、請求項5〜7のいずれか一項に記載の方法。
  11. コンピュータプログラム製品であって、電子デバイスのコンピュータ手段にロードされて実行されると、請求項1〜10のいずれか一項に記載の方法におけるすべてのステップを実装するための命令を含むコンピュータプログラム製品。
  12. 通信システムにおいてセキュリティルールの衝突を管理することが可能な電子デバイスであって、
    前記電子デバイスはセキュリティルールRiの集合Sを含み、
    前記ルールRiのそれぞれは、インデックスiによって識別され、
    前記ルールのそれぞれは、条件属性のリストCと、対応する少なくとも1つの判断とを備え、
    前記条件属性のリストは、m個の個々の条件属性Cnをさらに備え、m個の個々の条件属性Cnは、条件を設定するための対応する値の区間によって識別され、ここで、nは、ルールにおける異なる条件属性を識別する変数である
    電子デバイスにおいて、
    前記電子デバイスは、
    ‐衝突管理ツリーのレベルnのルートノードを構成する手段であって、ここで、ルートレベルでは、nはmに等しい、構成する手段と、
    ‐m個のノードレベルを備える前記衝突管理ツリーを構築する手段であって、
    異なるレベルの前記ノードは、前記条件属性の区間又は部分区間によってラベル付けされるアークによって互いに接続され、
    前記ノードは、対応するノードにつながっている前記アークをラベル付けする前記区間又は前記部分区間によって設定された前記条件を満たす、1つ又は複数のルールによって識別される、
    構築する手段と、
    ‐ノードレベルn=1を起源として、前記アークにリーフを追加することによって、前記衝突管理ツリーを完成する(129)手段であって、
    リーフのそれぞれは、現在のリーフにつながっている前記アークをラベル付けする前記区間又は前記部分区間によって設定された前記条件を満たす1つ又は複数のルールによって識別される、
    完成する手段と、
    ‐同じリーフに少なくとも2つのルールがあるか否かをチェックする手段であって、
    同じリーフに少なくとも2つのルールがある場合に、前記電子デバイスは前記セキュリティルールの集合Sに少なくとも1つの構成ミスのアノマリがあると判断するように構成され、
    前記ツリーにおいて、前記アークの少なくともいくつかは、前記セキュリティルールの集合Sに少なくとも1つの構成ミスのアノマリがあるときに、条件を設定するための値の区間の部分区間によってラベル付けされる、
    チェックする手段と
    を含む、電子デバイス。
JP2008200847A 2007-08-08 2008-08-04 電子デバイスにおけるセキュリティルールの衝突を管理する方法、コンピュータプログラム、及びセキュリティルールの衝突を管理することが可能な電子デバイス Expired - Fee Related JP5204581B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP07114047A EP2023567B1 (en) 2007-08-08 2007-08-08 Managing security rule conflicts
EP07114047.9 2007-08-08

Publications (2)

Publication Number Publication Date
JP2009105879A true JP2009105879A (ja) 2009-05-14
JP5204581B2 JP5204581B2 (ja) 2013-06-05

Family

ID=38878476

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008200847A Expired - Fee Related JP5204581B2 (ja) 2007-08-08 2008-08-04 電子デバイスにおけるセキュリティルールの衝突を管理する方法、コンピュータプログラム、及びセキュリティルールの衝突を管理することが可能な電子デバイス

Country Status (4)

Country Link
EP (1) EP2023567B1 (ja)
JP (1) JP5204581B2 (ja)
AT (1) ATE502473T1 (ja)
DE (1) DE602007013209D1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019153871A (ja) * 2018-03-01 2019-09-12 富士通株式会社 ネットワーク管理装置、ネットワーク管理方法、ネットワーク管理プログラム、及びネットワークシステム

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8914841B2 (en) * 2010-11-24 2014-12-16 Tufin Software Technologies Ltd. Method and system for mapping between connectivity requests and a security rule set
CN102083166B (zh) * 2011-02-24 2013-01-30 湖南大学 一种无线自组织网络分布式路由空洞处理方法
US9467473B2 (en) 2013-09-19 2016-10-11 Microsoft Technology Licensing, Llc System and method for compact form exhaustive analysis of security policies
CN104601526B (zh) * 2013-10-31 2018-01-09 华为技术有限公司 一种冲突检测及解决的方法、装置
CN103973675B (zh) * 2014-04-15 2017-05-24 湖南大学 跨域协作防火墙中的分段冗余检测方法
US9454313B2 (en) 2014-06-10 2016-09-27 Arm Limited Dynamic selection of memory management algorithm
CN114268443B (zh) * 2020-09-14 2023-04-18 华为技术有限公司 一种规则检测方法以及相关设备
CN114039853B (zh) * 2021-11-15 2024-02-09 天融信雄安网络安全技术有限公司 一种检测安全策略的方法、装置、存储介质和电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006090781A1 (ja) * 2005-02-24 2006-08-31 Nec Corporation フィルタリングルール分析方法及びシステム
JP2008104585A (ja) * 2006-10-24 2008-05-08 Taito Corp ゲーム機

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7954142B2 (en) * 2005-06-15 2011-05-31 The Board Of Regents, University Of Texas System System and method of resolving discrepancies between diverse firewall designs

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006090781A1 (ja) * 2005-02-24 2006-08-31 Nec Corporation フィルタリングルール分析方法及びシステム
JP2008104585A (ja) * 2006-10-24 2008-05-08 Taito Corp ゲーム機

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
CSNG200600312001; 松田勝志: '"マトリックス分解によるパケットフィルタリングルールの分析 -不要ルールと冗長条件ルールの検出-"' 情報処理学会研究報告 2005-CSEC-31 Vol.2005, No.122, 20051209, p.1-6, 社団法人情報処理学会 *
CSNJ200610053096; 加藤弘一,勅使河原可海: '"交渉条件の依存関係に着目したユーザ要求の自動交渉方式の検討"' FIT2005 第4回情報科学技術フォーラム 一般講演論文集 第4分冊,M-017, 20050822, p.251-252, 社団法人情報処理学会、社団法人電子情報通信学会 *
JPN6012016621; 松田勝志: '"マトリックス分解によるパケットフィルタリングルールの分析 -不要ルールと冗長条件ルールの検出-"' 情報処理学会研究報告 2005-CSEC-31 Vol.2005, No.122, 20051209, p.1-6, 社団法人情報処理学会 *
JPN6012016623; Ehab S. Al-SHAER, Hazem H. HAMED: '"Discovery of Policy Anomalies in Distributed Firewalls"' Proceedings of INFOCOM 2004 Vol.4, 20040307, p.2605-2616, IEEE[online] *
JPN6013001632; 加藤弘一,勅使河原可海: '"交渉条件の依存関係に着目したユーザ要求の自動交渉方式の検討"' FIT2005 第4回情報科学技術フォーラム 一般講演論文集 第4分冊,M-017, 20050822, p.251-252, 社団法人情報処理学会、社団法人電子情報通信学会 *
JPN6013001639; Frederic CUPPENS, Fabien AUTREL, Yacine BOUZIDA, Joaquin GARCIA, Sylvain GOMBAULT, Thierry SANS: '"Anti-correlation as a criterion to select appropriate counter-measures in an intrusion detection f' annals of telecommunications, Transport Protocols for Ne&#x *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019153871A (ja) * 2018-03-01 2019-09-12 富士通株式会社 ネットワーク管理装置、ネットワーク管理方法、ネットワーク管理プログラム、及びネットワークシステム

Also Published As

Publication number Publication date
ATE502473T1 (de) 2011-04-15
EP2023567A1 (en) 2009-02-11
EP2023567B1 (en) 2011-03-16
JP5204581B2 (ja) 2013-06-05
DE602007013209D1 (de) 2011-04-28

Similar Documents

Publication Publication Date Title
JP5204581B2 (ja) 電子デバイスにおけるセキュリティルールの衝突を管理する方法、コンピュータプログラム、及びセキュリティルールの衝突を管理することが可能な電子デバイス
Paolucci et al. P4 edge node enabling stateful traffic engineering and cyber security
US9553845B1 (en) Methods for validating and testing firewalls and devices thereof
US10862749B1 (en) Systems for and methods of network management and verification using intent inference
US10708146B2 (en) Data driven intent based networking approach using a light weight distributed SDN controller for delivering intelligent consumer experience
EP3449600B1 (en) A data driven intent based networking approach using a light weight distributed sdn controller for delivering intelligent consumer experiences
Hamed et al. Taxonomy of conflicts in network security policies
US10404728B2 (en) Learning internal ranges from network traffic data to augment anomaly detection systems
JP6430634B2 (ja) 通信ネットワークにおけるネットワークサービスファンクションのチェーン化
US9491052B2 (en) Topology aware smart merge
US8458766B2 (en) Method and system for management of security rule set
US7441022B1 (en) Resolving conflicts between network service rule sets for network data traffic in a system where rule patterns with longer prefixes match before rule patterns with shorter prefixes
US8775352B2 (en) Methods and apparatus to model end-to-end class of service policies in networks
US20050276262A1 (en) Rule set conflict resolution
Satasiya Analysis of software defined network firewall (sdf)
Durante et al. A model for the analysis of security policies in service function chains
US8065438B2 (en) Modification to AS—path elements
Mainuddin et al. IoT device identification based on network traffic characteristics
US9722874B2 (en) Inference-based network route control
JP5154328B2 (ja) 電子デバイスにおけるセキュリティルールの衝突を管理するオンラインの方法、コンピュータプログラム、及びセキュリティルールの衝突を管理することが可能な電子デバイス
US7971244B1 (en) Method of determining network penetration
Wakabayashi et al. Traffic-aware access control list reconstruction
Dzeparoska et al. SDX-based security collaboration: Extending the security reach beyond network domains
Clincy et al. Detection of anomaly in firewall rule-sets
Al-Shaer et al. Classification and discovery of firewalls policy anomalies

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110803

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130215

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160222

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees