JP2016187094A - 制御装置及び制御方法 - Google Patents

制御装置及び制御方法 Download PDF

Info

Publication number
JP2016187094A
JP2016187094A JP2015066230A JP2015066230A JP2016187094A JP 2016187094 A JP2016187094 A JP 2016187094A JP 2015066230 A JP2015066230 A JP 2015066230A JP 2015066230 A JP2015066230 A JP 2015066230A JP 2016187094 A JP2016187094 A JP 2016187094A
Authority
JP
Japan
Prior art keywords
security device
network
ips
signature
company
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
JP2015066230A
Other languages
English (en)
Other versions
JP6476034B2 (ja
Inventor
小黒 博昭
Hiroaki Oguro
博昭 小黒
智美 大串
tomomi Ogushi
智美 大串
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.)
NTT Data Group Corp
Original Assignee
NTT Data Corp
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 NTT Data Corp filed Critical NTT Data Corp
Priority to JP2015066230A priority Critical patent/JP6476034B2/ja
Publication of JP2016187094A publication Critical patent/JP2016187094A/ja
Application granted granted Critical
Publication of JP6476034B2 publication Critical patent/JP6476034B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】SDN環境において、セキュリティ機器を共有する場合において、ネットワーク通信が最適化されるよう、セキュリティ機器のリソースを最適化する。【解決手段】OFC6の生成部651は、IPS5で動作する仮想マシン上にIPS5Aのインスタンスを生成するようIPS5に指示する。第1ルール設定部652は、シグネチャテーブル61を参照して、IPS5に記憶されているシグネチャのコピーをIPS5Aに設定する。また、IPS5からB社テナントNW7B向けのシグネチャを削除する。また、IPS5Aに設定されたシグネチャのコピーのうち、A社テナントNW7A向けのシグネチャを削除する。第1更新部653は、A社テナントNW7A宛てのパケットがIPS5に転送され、B社テナントNW7B宛てのパケットがIPS5Aに転送されるようにOFS4Aのフローエントリを更新する。【選択図】図2

Description

本発明は、ネットワーク上を転送されるパケットの経路を制御する技術に関する。
従来、IaaS(Infrastructure as a Service)サービスを提供する事業者が、ユーザ顧客からセキュリティ機器の導入の申請を受け付けてから、そのサービス提供を開始するまでには、機器調達、機器設置、機器設定、ネットワーク構成変更、等の人手を介した作業が発生するため、週〜月の時間がかかるという問題があった。さらに、一度導入された後に、ユーザ顧客が契約途中で一定期間だけ契約を停止したり、再開したりしようとする場合、その都度、機器設定やネットワーク構成変更、等の人手を介した作業が発生するため、迅速に変更できないという問題があった。この点、SDN(Software-Defined Networking)は、ソフトウェアでネットワーク構成を動的に変更できる技術であり、上記の問題を解決する技術の一つとして期待されている。例えば、特許文献1には、OpenFlowを利用して、複数のユーザでサーバ装置等のハードウェアを共有するマルチテナントシステムが記載されている。
国際公開第2013/172391号
しかし、特許文献1に記載の技術において複数のユーザ間で共有されている機器は、サーバ装置やスイッチやストレージであって、セキュリティ機器を共有する場合については想定されていない。例えば、セキュリティ機器は、不正通信を検知するためのルール群(シグネチャ)を有しており、セキュリティ機器を通過するパケットはシグネチャを走査することとなるが、セキュリティ機器が共有されている場合、ある利用者にとって不要なシグネチャを走査する必要が出てくるため、通信速度に影響を及ぼすことが考えられる。そのため、セキュリティ機器が備えるシグネチャは、各利用者にとって必要最低限であることが望ましい。
本発明は、このような事情に鑑みてなされたものであり、SDN環境において、セキュリティ機器を共有する場合において、ネットワーク通信が最適化されるよう、セキュリティ機器のリソースを最適化することを目的とする。
上記の課題を解決するため、本発明は、第1ネットワークのために固有に設定された第1検知ルールと、前記第1ネットワークとは異なる第2ネットワークのために固有に設定された第2検知ルールを参照して不正侵入を検知する第1セキュリティ機器において所定の第1条件が満たされた場合に、前記第1セキュリティ機器とは異なる仮想化された第2セキュリティ機器を生成する生成部と、前記第1及び第2検知ルールのうち前記第2検知ルールを前記第1セキュリティ機器による参照対象から削除するとともに、前記第2検知ルールを前記第2セキュリティ機器による参照対象として設定する第1ルール設定部と、前記第1セキュリティ機器と直接的又は間接的に接続され、転送制御情報に基づいてパケットを転送する転送装置によって前記第1ネットワーク宛てのパケットと前記第2ネットワーク宛てのパケットとが前記第1セキュリティ機器に転送されている場合に、前記第2ネットワーク宛てのパケットが前記第2セキュリティ機器に転送されるように前記転送制御情報を更新する第1更新部とを備える制御装置を提供する。
好ましい態様において、前記第1セキュリティ機器は、前記第1及び第2検知ルールに加えて、前記第1ネットワークと前記第2ネットワークのために共通に設定された第3検知ルールを参照して不正侵入を検知し、前記第1ルール設定部は、前記第2検知ルールに加えて前記第3検知ルールを前記第2セキュリティ機器による参照対象として設定してもよい。
さらに好ましい態様において、前記第1条件は、前記複数の検知ルールの中で矛盾が発生することであってもよい。
別の好ましい態様において、前記第1条件は、前記複数の検知ルールの数が所定の閾値を超えることであってもよい。
また別の好ましい態様において、前記第1条件は、前記第1検知ルールの数と前記第2検知ルールの数の比率が所定の閾値を超えることであってもよい。
さらに好ましい態様において、前記生成部は、前記第2検知ルールの数の方が前記第1検知ルールの数よりも多い場合に、前記第1セキュリティ機器よりもスループットが高い前記第2セキュリティ機器を生成してもよい。
さらに好ましい態様において、前記第1検知ルールと前記第2検知ルールとが所定の第2条件を満たすようになった場合に、前記第2セキュリティ機器を削除する削除部と、前記第2セキュリティ機器が削除される場合に、前記第2検知ルールを前記第1ネットワークによる参照対象として再設定する第2ルール設定部と、前記第2セキュリティ機器が削除される場合に、前記第2ネットワーク宛てのパケットが前記第1セキュリティ機器に転送されるように前記転送制御情報を更新する第2更新部とをさらに備えてもよい。
また、本発明は、第1ネットワークのために固有に設定された第1検知ルールと、前記第1ネットワークとは異なる第2ネットワークのために固有に設定された第2検知ルールを参照して不正侵入を検知する第1セキュリティ機器において所定の第1条件が満たされた場合に、前記第1セキュリティ機器とは異なる仮想化された第2セキュリティ機器を生成するステップと、前記第1及び第2検知ルールのうち前記第2検知ルールを前記第1セキュリティ機器による参照対象から削除するとともに、前記第2検知ルールを前記第2セキュリティ機器による参照対象として設定するステップと、前記第1セキュリティ機器と直接的又は間接的に接続され、転送制御情報に基づいてパケットを転送する転送装置によって前記第1ネットワーク宛てのパケットと前記第2ネットワーク宛てのパケットとが前記第1セキュリティ機器に転送されている場合に、前記第2ネットワーク宛てのパケットが前記第2セキュリティ機器に転送されるように前記転送制御情報を更新するステップとを備える制御方法を提供する。
本発明によれば、SDN環境において、セキュリティ機器を共有する場合において、ネットワーク通信が最適化されるよう、セキュリティ機器のリソースを最適化することができる。
マルチテナントシステム100の構成の一例を示す図である。 OFC6の構成の一例を示す図である。 分割要否判断処理の一例を示すフローチャートである。 シグネチャの記述例と矛盾の例とを示す図である。 分割処理の一例を示すフローチャートである。 分割処理の一例を説明する説明図である。 マージ要否判断処理の一例を示すフローチャートである。 マージ処理の一例を示すフローチャートである。 マージ処理の一例を説明する説明図である。
1.実施形態
1−1.マルチテナントシステム100の構成
図1は、本発明の一実施形態に係るマルチテナントシステム100の構成の一例を示す図である。このマルチテナントシステム100は、クラウドコンピューティングにより、複数の利用者に1つのシステムを共有させるシステムである。リソースの共有レベルに応じて、IaaS、PaaS(Platform as a Service)、SaaS(Software as a Service)といった利用形態があるが、本実施形態ではIaaSが想定されている。ここで、IaaSとは、情報システムの稼動に必要な機材や回線などの基盤をインターネット上のサービスとして遠隔から利用できるようにしたもの、または、そのようなサービスや事業モデルのことである。
このマルチテナントシステム100は、図1に示されるように、データセンタ10と、このデータセンタ10とインターネット2を介して接続されるA社端末1Aと、B社端末1Bとにより構成される。データセンタ10は、利用者に貸し出すためのリソースを管理する施設である。A社端末1Aと、B社端末1Bとは、データセンタ10により貸し出されるリソースを利用するコンピュータ装置である。なお、図1に示される例では、説明の便宜上、A社とB社の2社のみを利用者として想定しているが、3社以上の利用者によりリソースが共有されてもよい。
データセンタ10は、図1に示されるように、ルータ3と、OpenFlowスイッチ(以下、「OFS」という。)4A及び4Bと、IPS(Intrusion Prevention System、侵入防止システム)5と、OpenFlowコントローラ(以下、「OFC」という。)6と、A社テナントネットワーク(以下、「A社テナントNW」という。)7Aと、B社テナントネットワーク(以下、「B社テナントNW」という。)7Bとにより構成される。
ルータ3は、インターネット2とOFS4Aとを接続するネットワーク機器である。OFS4A及び4B(以下、特に区別する必要がない場合には「OFS4」と総称する。)は、OpenFlow仕様に準拠したL2スイッチである。IPS5は、テナントネットワーク7A及び7Bへの不正侵入を防止するセキュリティ機器である。OFC6は、OpenFlow仕様に準拠した、OFS4の制御装置である。テナントNW7A及び7B(以下、特に区別する必要がない場合には「テナントNW7」と総称する。)は、それぞれA社、B社に貸し出されるネットワークである。各ネットワークは、例えば、スイッチと、複数のサーバと、データベースにより構成される。なお、図1に示される例では、説明の便宜上、OFS4が2つしか登場していないが、3以上のOFS4によりルータ3とテナントNW7の間のネットワークが構成されてもよい。
1−2.OFS4の構成
OFS4は、OpenFlow仕様に準拠した伝送装置(又は中継装置、転送装置)であって、ハードウェアで行われるパケット伝送処理を行う伝送装置である。OFS4は、通信ケーブルが接続される複数のポート(接続口)を備え、いずれかのポートを介して他の機器と接続される。なおここで、OpenFlowとは、通信ネットワークを構成するネットワーク機器を1つの制御装置で集中管理し、複雑な転送制御を行ったり柔軟にネットワーク構成を変更したりすることができる技術である。このOpenFlowでは、これまで1つのネットワーク機器の内部に同居していた経路制御の機能とデータ転送の機能をそれぞれ別の機器に分離し、OpenFlowコントローラと呼ばれる制御装置が複数の転送装置(OpenFlowスイッチ)の振る舞いを一括して管理する。
OpenFlowは、SDNを実現するプロトコルの1つである。ここで、SDNとは、コンピュータネットワークを構成する通信機器を単一のソフトウェアによって集中的に制御し、ネットワークの構造や構成、設定などを柔軟かつ動的に変更することを可能とする技術の総称、または、そのような技術によって構築されたネットワークのことである。
OFS4は、複数の装置間で経路制御情報(又は中継制御情報、転送制御情報)に基づいて通信パケットを中継する。具体的には、記憶するフローテーブルを参照して、通信パケットの転送制御を行う。ここで、フローテーブルとは、OFC6により計算された経路情報を保存するテーブルであって、OFS4がパケット転送を処理する際に参照されるテーブルである。このフローテーブルは1以上のフローエントリにより構成され、各フローエントリは、データ転送の条件(Match)と、条件合致時の動作指示(Instructions)とにより構成される。
フローエントリの条件部分には、例えば、送信元又は宛先IP(Internet Protocol)アドレスや、送信元又は宛先MAC(Media Access Control)アドレスや、ネットワークIDや、入力ポート番号等の、パケットのヘッダ情報が指定される。または、1以上のヘッダフィールド(Type of Service(Tos)フィールドや、Class of Service(Cos)フィールドも含む。)に設定される任意のビット値や複数の異なるビットが指定される。一方、動作指示部分には、例えば、データの転送(Output命令)、データの破棄(Drop命令)、データのヘッダ情報の書き換え(Set-Field命令)が指定される。OFS4は、パケットを受信すると、フローテーブル内に当該パケットのヘッダ情報と合致する条件が存在するか否かを調べ、存在する場合には当該条件に対応する動作指示に従って処理を実行する。なお、フローエントリには、優先度(Priority)や、カウンタ(Counters)や、有効期間(Timeouts)や、クッキー(Cookie)が指定されてもよい。
OFS4は、図示せぬOpenFlowチャネル(セキュアチャネル)を介して、OpenFlowプロトコルに従ってOFC6との間で通信を行う。OFS4は、OFC6からフローエントリ変更メッセージ(Flow Modifyメッセージ)を受信すると、当該メッセージに従って、フローエントリの追加、更新、削除等の処理を行う。また、OFS4は、パケット受信時に、当該パケットのヘッダ情報と合致する条件がフローテーブルに存在しない場合には、OFC6に対してPacketInメッセージを送信する。このPacketInメッセージは、受信したパケットに合致するフローエントリが存在しない場合に、OFC6にパケットの処理方法を問い合わせるために送信されるメッセージである。このメッセージに対する応答としてOFC6からフローエントリ変更メッセージが送られてくると、OFS4は当該メッセージに従ってフローエントリの追加処理を行う。
1−3.IPS5の構成
IPS5は、複数の検知ルールを参照してテナントNW7に対する不正侵入を検知するセキュリティ機器である。より具体的には、IPS5は、不正侵入を識別する方法を定義するシグネチャを予め記憶しておき、受信したパケットをシグネチャとマッチング(照合)することにより不正侵入を検知する。
IPS5にはネットワーク型とホスト型とがあり、ネットワーク型のIPS5は、侵入を検知するIDS(Intrusion Detection System、侵入検知システム)の機能を拡張し、侵入を検知したら接続の遮断などの防御をリアルタイムに行う機能を持っている。ワームやサービス拒否攻撃(DoS)などのパケットが持つ特徴的なパターンが記憶されており、該当する接続を検知するとこれを遮断し、管理者へ通知(アラート)したり記録(ログ)を取ったりする。
一方、ホスト型のIPS5は、サーバにインストールするソフトウェアの形で提供され、バッファオーバーフローを利用した不正侵入をOS(Operating System)レベルで防いだり、一般ユーザによる管理者権限の取得ができないようにしたり、アクセスログの改ざんを防止するなどの機能を持っている。OSが提供するよりも細かいレベルでのアクセス制御を実現したり、サーバ管理者とセキュリティ管理者を分離して万能の権限を持った管理者を存在させないことで侵入された際の被害の拡大を抑える機能を持つことも可能である。
なお、IPS5は、ネットワークの境界などに設置する専用の機器(アプライアンス、すなわち物理IPS)として実現されてもよいし、サーバに導入するソフトウェアなどの形でサーバの仮想化環境において仮想IPSとして実現されてもよい。
1−4.OFC6の構成
OFC6は、OpenFlow仕様に準拠した制御装置であって、複数のOFS4の振る舞いを一括して管理する制御装置である。OFC6は、OFS4により構成されるネットワークにおけるデータ転送の経路計算を行って、計算した経路に沿ってデータ転送が行われるように各OFS4を制御する。
図2は、OFC6の構成の一例を示す図である。OFC6は、同図に示されるように、シグネチャテーブル61と、トポロジ情報テーブル62と、フローエントリテーブル63とを備える。また、OFC6は、分割要否判断部64と、分割部65と、マージ要否判断部66と、マージ部67という機能を備える。これらの機能は、例えば、CPU等の演算装置によりプログラムが実行されることにより実現される。
分割部65は、より具体的には、生成部651と、第1ルール設定部652と、第1更新部653とにより構成される。マージ部67は、より具体的には、削除部671と、第2ルール設定部672と、第2更新部673とにより構成される。
シグネチャテーブル61は、IPS5により記憶されるシグネチャを管理するテーブルである。このシグネチャテーブル61には、本実施形態においては、A社テナントNW7Aに固有に設定されたシグネチャ(以下、「A社テナントNW7A向けのシグネチャ」という。)と、B社テナントNW7Bに固有に設定されたシグネチャ(以下、「B社テナントNW7B向けのシグネチャ」という。)と、A社テナントNW7AとB社テナントNW7Bとに共通に設定されたシグネチャ(以下、「A社B社共通シグネチャ」という。)とが保存される。シグネチャがA社テナントNW7A向けであるかB社テナントNW7B向けであるかは、例えば、シグネチャに設定されるIPアドレスを参照することにより判断される。または、シグネチャごとにテナントNW7の識別情報を対応付けて記憶しておき、この識別情報を参照することによりいずれのテナントNW7向けのシグネチャであるかを判断するようにしてもよい。このシグネチャテーブル61は、IPS5により記憶されるシグネチャの更新と連動して更新される。
トポロジ情報テーブル62は、OFS4により構成されるネットワークの構成図を示す情報を保存するテーブルである。言い換えると、OFS4間の物理リンクを示す物理リンク情報を保存するテーブルである。このトポロジ情報テーブル62を構成する各レコードは、例えば、送信元OFS4のDPIDと、送信元OFS4の送信ポート番号と、宛先OFS4のDPIDと、宛先OFS4の受信ポート番号の各フィールドにより構成される。ここで、DPID(Datapath ID)は、OFS4を一意に識別するための識別情報である。トポロジ情報テーブル62は、OFS4がネットワークに追加されると新たなレコードが追加され、OFS4が故障したりネットワークから除去されるとレコードが削除される。また、OFS4間の物理リンクが追加されると新たなレコードが追加され、物理リンクが切断されるとレコードが削除される。
OFC6は、死活監視パケットによりOFS4の故障等を検知する。具体的な手順としては、まずOFC6は、全てのOFS4に対して一定の間隔で死活監視メッセージを送信する。OFS4は、当該メッセージを受信すると即座にOFC6に対して応答する。しかし、故障しているOFS4については、OFC6は応答メッセージを受信できないため、当該OFS4が故障していることを認識することができる。OFC6は、逆に、死活監視パケットによりOFS4の追加を検知することもできる。
また、OFC6は、トポロジ検出用パケットを利用してOFS4間のリンクが切断されたことを認識する。具体的な手順としては、まずOFC6は、全てのOFS4に対して一定の間隔でトポロジ検出用パケットを送信する。OFS4は、トポロジ検出用パケットを受信すると隣接するOFS4に転送しようとする。しかし、リンクが切断されている場合には、隣接するOFS4にパケットを転送することができない。その結果、パケットの転送はそこで止まってしまい、OFC6はトポロジ検出用パケットを受信できないため、リンクが切断されたことを認識することができる。OFC6は、逆に、トポロジ検出用パケットを利用してOFS4間のリンクが追加されたことも認識することができる。
次に、フローエントリテーブル63は、各OFS4により記憶されるフローエントリを管理するテーブルである。このフローエントリテーブル63は、OFS4により記憶されるフローエントリの更新と連動して更新される。
分割要否判断部64は、IPS5の分割の要否を判断する。換言すると、IPS5に記憶されるシグネチャの分割の要否を判断する。具体的には、IPS5は、シグネチャテーブル61を参照して、後述する分割要否判断処理を実行する。この分割要否判断処理は、例えば、IPS5に記憶されるシグネチャの更新時や、所定の周期で実行される。
分割部65は、IPS5において所定の条件が満たされた場合に、IPS5の分割処理を実行する。具体的には、分割要否判断部64によりIPS5の分割が必要であると判断された場合に、IPS5のシグネチャの分割処理を実行する。
この分割処理において、生成部651は、IPS5とは異なる仮想化されたIPS5Aを生成する。具体的には、IPS5で動作する仮想マシン(Virtual Machine)上にIPS5Aのインスタンスを生成するようIPS5に指示する。なおここで、仮想マシンとは、ソフトウェアによって、擬似的、仮想的に構築されたハードウェア環境である。また、インスタンスとは、物理的な1台のコンピュータ上で、ソフトウェアとして実装された仮想的なコンピュータを起動したものを指す。IPS5を無尽蔵に分割するとリソースの枯渇が考えられるため、分割の上限数はリソースに応じて定まる。
第1ルール設定部652は、IPS5に記憶される複数のシグネチャのうちの少なくとも一部のシグネチャを、生成部651により生成されたIPS5Aに設定する。本実施形態においては、例えば、B社テナントNW7B向けのシグネチャをIPS5から削除し、当該シグネチャをIPS5Aに設定する。また、A社B社共通シグネチャをIPS5Aに設定する。
第1更新部653は、OFS4AによってIPS5に対して転送されている複数のパケットのうち一部のパケットが、生成部651により生成されたIPS5Aに転送されるようにOFS4Aのフローエントリを更新する。本実施形態においては、例えば、OFS4AによってIPS5に対して転送されているA社テナントNW7A宛てのパケットとB社テナントNW7B宛てのパケットのうち、B社テナントNW7B宛てのパケットがIPS5Aに転送されるようにOFS4Aのフローエントリを更新する。第1更新部653は、当該更新をトポロジ情報テーブル62とフローエントリテーブル63とを参照して実行する。
マージ要否判断部66は、IPS5とIPS5Aのマージ(併合、統合)の要否を判断する。換言すると、IPS5に記憶されるシグネチャとIPS5Aに記憶されるシグネチャのマージの要否を判断する。具体的には、IPS5は、シグネチャテーブル61を参照して、後述するマージ要否判断処理を実行する。このマージ要否判断処理は、例えば、IPS5又はIPS5Aに記憶されるシグネチャの更新時や、所定の周期で実行される。
マージ部67は、IPS5に記憶されるシグネチャとIPS5Aに記憶されるシグネチャとが所定の条件を満たすようになった場合に、IPS5とIPS5Aのマージ処理を実行する。具体的には、マージ要否判断部66によりIPS5とIPS5Aのマージが必要であると判断された場合に、IPS5とIPS5Aのマージ処理を実行する。
このマージ処理において、削除部671は、IPS5Aを削除する。具体的には、IPS5で動作する仮想マシン上に生成されたIPS5Aのインスタンスを削除するようIPS5に指示する。
第2ルール設定部672は、IPS5Aに設定されたシグネチャをIPS5に再設定する。本実施形態においては、例えば、B社テナントNW7B向けのシグネチャをIPS5に再設定する。
第2更新部673は、OFS4AによってIPS5Aに対して転送されているパケットがIPS5に転送されるようにOFS4Aのフローエントリを更新する。本実施形態においては、例えば、OFS4AによってIPS5Aに対して転送されているB社テナントNW7B宛てのパケットがIPS5に転送されるようにOFS4Aのフローエントリを更新する。第2更新部673は、当該更新をトポロジ情報テーブル62とフローエントリテーブル63とを参照して実行する。
1−5.OFC6の動作
OFC6の動作について説明する。具体的には、分割要否判断処理と、分割処理と、マージ要否判断処理と、マージ処理とについて説明する。
1−5−1.分割要否判断処理
図3は、分割要否判断処理の一例を示すフローチャートである。同図に示される処理において分割要否判断部64は、まず、シグネチャテーブル61を参照して、IPS5のシグネチャの項目数が分割要否判断用上限値を超えているか否かについて判断する(ステップSa1)。この判断の結果、IPS5のシグネチャの項目数が分割要否判断用上限値を超えている場合には(ステップSa1;YES)、分割要否判断部64は、分割部65に対して分割指示を出力して(ステップSa3)、本処理を終了する。一方、この判断の結果、IPS5のシグネチャの項目数が分割要否判断用上限値を超えていない場合には(ステップSa1;NO)、分割要否判断部64はステップSa2を実行する。
ステップSa2において分割要否判断部64は、シグネチャテーブル61を参照して、IPS5のシグネチャの任意の2項目の間に矛盾があるか否かについて判断する。この判断の結果、IPS5のシグネチャの任意の2項目の間に矛盾がある場合には(ステップSa2;YES)、分割要否判断部64は、分割部65に対して分割指示を出力して(ステップSa3)、本処理を終了する。一方、この判断の結果、IPS5のシグネチャの任意の2項目の間に矛盾がない場合には(ステップSa2;NO)、分割要否判断部64は、IPS5の分割は不要と判断し、本処理を終了する。
ここで、シグネチャの任意の2項目間の矛盾のチェック方法について説明する。本実施形態においては、IPS5に記憶されるシグネチャのうち、A社B社共通シグネチャとA社テナントNW7A向けシグネチャとの間と、A社B社共通シグネチャとB社テナントNW7B向けシグネチャとの間には矛盾はないものと仮定し、A社テナントNW7A向けシグネチャとB社テナントNW7B向けシグネチャとの間に矛盾が発生する可能性があると仮定している。
ここで、A社テナントNW7A向けシグネチャの集合を、A={a_1,a_2,…a_m}とし、B社テナントNW7B向けシグネチャの集合を、B={b_1,b_2,…b_k}とすると、互いの集合の要素同士を総当りで比較して矛盾をチェックする。言い換えると、a_iとb_jを比較して矛盾をチェックし、矛盾がある場合にはiとjのペアを出力する処理を、i=1からi=mまでの範囲の各値について、j=1からj=kの範囲で繰り返し実行する。
図4は、シグネチャの記述例と矛盾の例とを示す図である。同図に示される例では、各シグネチャは、ルールヘッダとルールオプションにより構成される。ルールヘッダは、アクションと、プロトコルと、IPアドレス、ポート番号及びその方向とにより構成される。アクションは、そのルールにマッチしたときに起こす行動を指定し、「alert」を含め、「log」、「pass」、「activate」、「dynamic」の5種類がある。alertは、マッチしたイベントを検出すると、指定されたアラートを出力し、パケットの内容をログに記録する。プロトコルは、「tcp」と「udp」と「icmp」が指定可能である。IPアドレス、ポート番号及びその方向は、パケットの送信元と送信先とを指定する。IPアドレスとポート番号を指定するときには、「!」を前に付けることで否定を表現できる。ルールオプションは、同図に示される例では、アラートとして出力されるメッセージが指定される。
図4に示される1番目のシグネチャは、「IPアドレスxxx.yyy.10.1のホストの80/TCP宛てについては、送信元を限定せずに検出する」という検知ルールである。2番目のシグネチャは、「IPアドレスxxx.yyy.10.1のホストの22/TCP宛てのアクセスで、送信元がネットワークzzz.www.vvv.0/24上の端末からのものは検出する」という検知ルールである。3番目のシグネチャは、「IPアドレスxxx.yyy.10.1のホストの22/TCPあてのアクセスで、送信元がネットワークzzz.www.vvv.0/24上の端末からのものは検出しない」という検知ルールである。以上の3つのシグネチャのうち、2番目のシグネチャと3番目のシグネチャとは、同一の条件において一方は「検出する」と規定されており、他方は「検出しない」と規定されており、両者は矛盾していると言える。
1−5−2.分割処理
図5は、分割処理の一例を示すフローチャートである。図6は、分割処理の一例を説明する説明図である。これらの図に示される分割処理は、分割要否判断部64から分割部65に対して分割指示が出力されると実行される。この分割処理において生成部651は、IPS5で動作する仮想マシン上にIPS5Aのインスタンスを生成するようIPS5に指示する(ステップSb1)。
次に、第1ルール設定部652は、シグネチャテーブル61を参照して、IPS5に記憶されているシグネチャのコピーをIPS5Aに設定する(ステップSb2)。次に、第1ルール設定部652は、IPS5からB社テナントNW7B向けのシグネチャを削除する(ステップSb3)。次に、第1ルール設定部652は、IPS5Aに設定されたシグネチャのコピーのうち、A社テナントNW7A向けのシグネチャを削除する(ステップSb4)。
次に、第1更新部653は、A社テナントNW7A宛てのパケットがIPS5に転送され、B社テナントNW7B宛てのパケットがIPS5Aに転送されるようにOFS4Aのフローエントリを更新する(ステップSb5)。また、第1更新部653は、IPS5から送信されたA社テナントNW7A宛てのパケットがA社テナントNW7Aに転送され、IPS5Aから送信されたB社テナントNW7B宛てのパケットがB社テナントNW7Bに転送されるようにOFS4Bのフローエントリを更新する。第1更新部653は、これらの更新を、トポロジ情報テーブル62とフローエントリテーブル63を参照して実行する。
以上が、分割処理についての説明である。
1−5−3.マージ要否判断処理
図7は、マージ要否判断処理の一例を示すフローチャートである。同図に示される処理においてマージ要否判断部66は、まず、シグネチャテーブル61を参照して、IPS5のシグネチャの項目数とIPS5Aのシグネチャの項目数の合計がマージ要否判断用下限値より小さいか否かについて判断する(ステップSc1)。この判断の結果、両シグネチャの項目数の合計がマージ要否判断用下限値より小さい場合には(ステップSc1;YES)、マージ要否判断部66はステップSc2を実行する。一方、この判断の結果、両シグネチャの項目数の合計がマージ要否判断用下限値以上である場合には(ステップSc1;NO)、マージ要否判断部66は、マージは不要であると判断し、本処理を終了する。
ステップSc2においてマージ要否判断部66は、シグネチャテーブル61を参照して、IPS5とIPS5Aに記憶されるシグネチャの任意の2項目の間に矛盾があるか否かについて判断する。より具体的には、IPS5に記憶されるA社テナントNW7A向けシグネチャと、IPS5Aに記憶されるB社テナントNW7B向けシグネチャの間に矛盾があるか否かについて判断する。この判断の結果、IPS5に記憶されるA社テナントNW7A向けシグネチャと、IPS5Aに記憶されるB社テナントNW7B向けシグネチャの間に矛盾がない場合には(ステップSc2;YES)、マージ要否判断部66は、マージ部67に対してマージ指示を出力して(ステップSc3)、本処理を終了する。一方、この判断の結果、IPS5に記憶されるA社テナントNW7A向けシグネチャと、IPS5Aに記憶されるB社テナントNW7B向けシグネチャの間に矛盾がある場合には(ステップSc2;NO)、マージ要否判断部66は、IPS5とIPS5Aのマージは不要と判断し、本処理を終了する。
ここで、シグネチャの任意の2項目間の矛盾のチェック方法について説明する。本実施形態においては、IPS5とIPS5Aに記憶されるシグネチャのうち、A社B社共通シグネチャとA社テナントNW7A向けシグネチャとの間と、A社B社共通シグネチャとB社テナントNW7B向けシグネチャとの間には矛盾はないものと仮定し、A社テナントNW7A向けシグネチャとB社テナントNW7B向けシグネチャとの間に矛盾が発生する可能性があると仮定している。
ここで、A社テナントNW7A向けシグネチャの集合を、A={a_1,a_2,…a_m}とし、B社テナントNW7B向けシグネチャの集合を、B={b_1,b_2,…b_k}とすると、互いの集合の要素同士を総当りで比較して矛盾をチェックする。言い換えると、a_iとb_jを比較して矛盾をチェックし、矛盾がある場合にはiとjのペアを出力する処理を、i=1からi=mまでの範囲の各値について、j=1からj=kの範囲で繰り返し実行する。なお、シグネチャの矛盾の例については、上記の分割要否判断処理に関連して説明した通りである。
1−5−4.マージ処理
図8は、マージ処理の一例を示すフローチャートである。図9は、マージ処理の一例を説明する説明図である。これらの図に示されるマージ処理は、マージ要否判断部66からマージ部67に対してマージ指示が出力されると実行される。このマージ処理において第2ルール設定部672は、シグネチャテーブル61を参照して、IPS5Aに設定されているB社テナントNW7B向けのシグネチャをIPS5に再設定する(ステップSd1)。
次に、削除部671は、IPS5で動作する仮想マシン上に生成されたIPS5Aのインスタンスを削除するようIPS5に指示する(ステップSd2)。
次に、第2更新部673は、B社テナントNW7B宛てのパケットがIPS5に転送されるようにOFS4Aのフローエントリを更新する(ステップSd3)。また、第2更新部673は、IPS5から送信されたB社テナントNW7B宛てのパケットがB社テナントNW7Bに転送されるようにOFS4Bのフローエントリを更新する。第2更新部673は、これらの更新を、トポロジ情報テーブル62とフローエントリテーブル63を参照して実行する。
以上が、マージ処理についての説明である。
なお、以上説明したマージ処理の例では、IPS5Aを削除して、IPS5AのシグネチャをIPS5に再設定するようにしたが、逆に、IPS5の方を削除して、IPS5Aの方にIPS5のシグネチャを設定するようにしてもよい。
以上説明した本実施形態に係るマルチテナントシステム100によれば、IaaS上での機器共有サービスに単純にSDNを適用した場合に生じる以下の課題が解決される。まず、IaaS上での機器共有サービスにおいて、各社テナントによりIPSが共有された場合には、A社テナント向けのシグネチャがB社テナント向けには不必要である場合に、B社にとってはパケット検査に余計な時間がかかってしまうという問題がある。また、A社とB社との間でシグネチャの矛盾が生じてしまうという問題がある。しかし、本実施形態に係るマルチテナントシステム100によれば、IPS5のシグネチャの項目数が分割要否判断用上限値を超えた場合や、IPS5のシグネチャの任意の2項目の間に矛盾が生じた場合には、IPS5が分割され、テナントNW7ごとにパケット検査が行われるため、他社固有のシグネチャに基づくパケット検査に余計な時間がかかってしまうという問題や、利用者間でシグネチャの矛盾が生じてしまうという問題に対処できる。
また、本実施形態に係るマルチテナントシステム100によれば、パケットの通過量がIPS5の処理量を超えた場合に、IPS5Aにより処理を補完することができる。
2.変形例
上記の実施形態は、以下に示すように変形してもよい。また、以下の変形例は互いに組み合わせてもよい。
2−1.変形例1
上記の実施形態に係る分割処理においてIPS5を分割する際、IPS5とIPS5Aに割り当てるリソース(計算機資源)を、A社テナントNW7A向けパケットとB社テナントNW7B向けパケットの発生比に基づいて決定してもよい。これは、A社テナントNW7A向けパケットとB社テナントNW7B向けパケットの発生比が例えば100:1のように著しく大きい場合、IPS5とIPS5Aとに等しいリソースを割り当てることは非効率だからである。
そこで、上記の実施形態に係るOFC6は、リソース割当部をさらに備え、このリソース割当部により、A社テナントNW7A向けパケットとB社テナントNW7B向けパケットの発生比に応じて、IPS5とIPS5Aとに割り当てるリソースを決定するようにしてもよい。具体的には、リソース割当部は、OFS4Aに記憶されるフローテーブルの統計情報(Counters)を参照してA社テナントNW7A向けパケットとB社テナントNW7B向けパケットの発生比を特定し、この発生比(すなわち、統計情報の比)とリソースの割り当ての比が同等となるように最適化を行ってもよい。例えば、当初、使用可能メモリとして「50GB」ずつIPS5とIPS5Aとに割り当てていたところ、分割処理後の所定期間経過後に、A社テナントNW7A向けパケットの転送を定義するフローエントリの統計情報が「20,000」となり、B社テナントNW7B向けパケットの転送を定義する統計情報が「10,000」となった場合には、IPS5とIPS5Aとに割り当てる使用可能メモリを「66GB」と「33GB」とに調整するようにしてもよい。
2−2.変形例2
上記の実施形態では、シグネチャベースのセキュリティ機器の例としてIPS5が使用されているが、IPS5に代えてIDSやWAF(Web Application Firewall)が使用されてもよい。
2−3.変形例3
上記の実施形態に分割処理の例では、IPS5が2つに分割されているが、分割数は2に限られず、3以上に分割されてもよい。この際、分割数は、分割されるIPS5にシグネチャが記憶されているテナントNW7の数に応じて決定されてもよい。同様に、上記の実施形態に係るマージ処理の例では、2つのIPS5が1つにマージされているが、3以上のIPS5が1つにマージされてもよい。
2−4.変形例4
上記の実施形態に係る分割要否判断処理において、ステップSa1及びSa2に加えて又は代えて、分割要否判断部64は、A社テナントNW7A向けシグネチャの項目数とB社テナントNW7B向けシグネチャの項目数の比率が所定の閾値を超えるか否かを判断してもよい。そして、当該比率が所定の閾値を超えた場合に、分割部65に対して分割指示を出力するようにしてもよい。また、当該判断の結果が肯定的となった結果、分割部65により分割処理が実行された場合に、項目数の多いシグネチャを、性能の高いIPS5に割り当てるようにしてもよい。例えば、上記の実施形態に係る分割処理において、B社テナントNW7B向けシグネチャの項目数の方がA社テナントNW7A向けシグネチャの項目数よりも多い場合には、生成部651は、IPS5よりもスループットの高いIPS5Aを生成して、第1ルール設定部652は、このIPS5AにB社テナントNW7B向けシグネチャを設定するようにしてもよい。
同様に、上記の実施形態に係るマージ要否判断処理において、ステップSc1及びSc2に加えて又は代えて、マージ要否判断部66は、A社テナントNW7A向けシグネチャの項目数とB社テナントNW7B向けシグネチャの項目数の比率が所定の閾値を超えるか否かを判断してもよい。そして、当該比率が所定の閾値を超えない場合に、マージ部67に対してマージ指示を出力するようにしてもよい。
2−5.変形例5
上記の実施形態では、OFC6に、分割要否判断部64と、分割部65と、マージ要否判断部66と、マージ部67の各機能を備えさせているが、これらの機能は、OFC6とは異なる他の制御装置に備えさせてもよい。その場合、当該制御装置に備えられる第1更新部653は、OFS4A及び4Bのフローエントリを更新する際、当該更新をOFC6に指示してもよい。同様に、当該制御装置に備えられる第2更新部673は、OFS4A及び4Bのフローエントリを更新する際、当該更新をOFC6に指示してもよい。
2−6.変形例6
上記の実施形態に係る分割処理では、IPS5で動作する仮想マシン上にIPS5Aのインスタンスが生成されているが、このIPS5Aのインスタンスは、IPS5とは異なる他のIPS5Bで動作する仮想マシン上に生成されてもよい。そして、当該IPS5B上に生成されたIPS5AとIPS5との間でシグネチャが分割されてもよい。
2−7.変形例7
上記の実施形態に係るOFS4及びOFC6は、OpenFlow仕様に準拠するものとなっているが、SDNを実現するものであれば他のプロトコルに準拠するものであってもよい。
2−8.変形例8
上記の実施形態又は変形例においてOFC6において実行されるプログラムは、コンピュータ装置が読み取り可能な記録媒体を介して提供されてもよい。ここで、記録媒体とは、例えば、磁気テープや磁気ディスクなどの磁気記録媒体や、光ディスクなどの光記録媒体や、光磁気記録媒体や、半導体メモリ等である。また、このプログラムは、インターネット等のネットワークを介して提供されてもよい。
1…端末、2…インターネット、3…ルータ、4…OFS、5…IPS、6…OFC、7…テナントNW、61…シグネチャテーブル、62…トポロジ情報テーブル、63…フローエントリテーブル、64…分割要否判断部、65…分割部、66…マージ要否判断部、67…マージ部、100…マルチテナントシステム、651…生成部、652…第1ルール設定部、653…第1更新部、671…削除部、672…第2ルール設定部、673…第2更新部

Claims (8)

  1. 第1ネットワークのために固有に設定された第1検知ルールと、前記第1ネットワークとは異なる第2ネットワークのために固有に設定された第2検知ルールを参照して不正侵入を検知する第1セキュリティ機器において所定の第1条件が満たされた場合に、前記第1セキュリティ機器とは異なる仮想化された第2セキュリティ機器を生成する生成部と、
    前記第1及び第2検知ルールのうち前記第2検知ルールを前記第1セキュリティ機器による参照対象から削除するとともに、前記第2検知ルールを前記第2セキュリティ機器による参照対象として設定する第1ルール設定部と、
    前記第1セキュリティ機器と直接的又は間接的に接続され、転送制御情報に基づいてパケットを転送する転送装置によって前記第1ネットワーク宛てのパケットと前記第2ネットワーク宛てのパケットとが前記第1セキュリティ機器に転送されている場合に、前記第2ネットワーク宛てのパケットが前記第2セキュリティ機器に転送されるように前記転送制御情報を更新する第1更新部と
    を備える制御装置。
  2. 前記第1セキュリティ機器は、前記第1及び第2検知ルールに加えて、前記第1ネットワークと前記第2ネットワークのために共通に設定された第3検知ルールを参照して不正侵入を検知し、
    前記第1ルール設定部は、前記第2検知ルールに加えて前記第3検知ルールを前記第2セキュリティ機器による参照対象として設定する
    ことを特徴とする請求項1に記載の制御装置。
  3. 前記第1条件は、前記複数の検知ルールの中で矛盾が発生することであることを特徴とする請求項1又は2に記載の制御装置。
  4. 前記第1条件は、前記複数の検知ルールの数が所定の閾値を超えることであることを特徴とする請求項1又は2に記載の制御装置。
  5. 前記第1条件は、前記第1検知ルールの数と前記第2検知ルールの数の比率が所定の閾値を超えることであることを特徴とする請求項1又は2に記載の制御装置。
  6. 前記生成部は、前記第2検知ルールの数の方が前記第1検知ルールの数よりも多い場合に、前記第1セキュリティ機器よりもスループットが高い前記第2セキュリティ機器を生成することを特徴とする請求項5に記載の制御装置。
  7. 前記第1検知ルールと前記第2検知ルールとが所定の第2条件を満たすようになった場合に、前記第2セキュリティ機器を削除する削除部と、
    前記第2セキュリティ機器が削除される場合に、前記第2検知ルールを前記第1ネットワークによる参照対象として再設定する第2ルール設定部と、
    前記第2セキュリティ機器が削除される場合に、前記第2ネットワーク宛てのパケットが前記第1セキュリティ機器に転送されるように前記転送制御情報を更新する第2更新部と
    をさらに備えることを特徴とする請求項1乃至6のいずれか1項に記載の制御装置。
  8. 第1ネットワークのために固有に設定された第1検知ルールと、前記第1ネットワークとは異なる第2ネットワークのために固有に設定された第2検知ルールを参照して不正侵入を検知する第1セキュリティ機器において所定の第1条件が満たされた場合に、前記第1セキュリティ機器とは異なる仮想化された第2セキュリティ機器を生成するステップと、
    前記第1検知ルール及び第2検知ルールのうち前記第2検知ルールを前記第1セキュリティ機器による参照対象から削除するとともに、前記第2検知ルールを前記第2セキュリティ機器による参照対象として設定するステップと、
    前記第1セキュリティ機器と直接的又は間接的に接続され、転送制御情報に基づいてパケットを転送する転送装置によって前記第1ネットワーク宛てのパケットと前記第2ネットワーク宛てのパケットとが前記第1セキュリティ機器に転送されている場合に、前記第2ネットワーク宛てのパケットが前記第2セキュリティ機器に転送されるように前記転送制御情報を更新するステップと
    を備える制御方法。
JP2015066230A 2015-03-27 2015-03-27 制御装置及び制御方法 Active JP6476034B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015066230A JP6476034B2 (ja) 2015-03-27 2015-03-27 制御装置及び制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015066230A JP6476034B2 (ja) 2015-03-27 2015-03-27 制御装置及び制御方法

Publications (2)

Publication Number Publication Date
JP2016187094A true JP2016187094A (ja) 2016-10-27
JP6476034B2 JP6476034B2 (ja) 2019-02-27

Family

ID=57203366

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015066230A Active JP6476034B2 (ja) 2015-03-27 2015-03-27 制御装置及び制御方法

Country Status (1)

Country Link
JP (1) JP6476034B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013125342A1 (ja) * 2012-02-20 2013-08-29 日本電気株式会社 ネットワークシステム、リソース使用率改善方法
WO2013145780A1 (en) * 2012-03-30 2013-10-03 Nec Corporation Communication system, control apparatus, communication apparatus, communication control method, and program
US20130275592A1 (en) * 2012-04-11 2013-10-17 Meng Xu Adaptive session forwarding following virtual machine migration detection
US20140307553A1 (en) * 2013-04-13 2014-10-16 Hei Tao Fung Network traffic load balancing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013125342A1 (ja) * 2012-02-20 2013-08-29 日本電気株式会社 ネットワークシステム、リソース使用率改善方法
WO2013145780A1 (en) * 2012-03-30 2013-10-03 Nec Corporation Communication system, control apparatus, communication apparatus, communication control method, and program
US20130275592A1 (en) * 2012-04-11 2013-10-17 Meng Xu Adaptive session forwarding following virtual machine migration detection
US20140307553A1 (en) * 2013-04-13 2014-10-16 Hei Tao Fung Network traffic load balancing

Also Published As

Publication number Publication date
JP6476034B2 (ja) 2019-02-27

Similar Documents

Publication Publication Date Title
US10623284B2 (en) Determining a reputation of a network entity
US9654395B2 (en) SDN-based service chaining system
US9667653B2 (en) Context-aware network service policy management
US10693899B2 (en) Traffic enforcement in containerized environments
KR100998418B1 (ko) 가상 네트워크 작동 방법, 데이터 네트워크 시스템 및 컴퓨터 판독 가능한 매체
US20210377270A1 (en) Methods And Systems For Dynamic Creation Of Access Control Lists
CN108259226B (zh) 网络接口设备管理方法与装置
US9060013B2 (en) Network system, network relay method, and network relay device
JP2006339933A (ja) ネットワークアクセス制御方法、およびシステム
US10938667B2 (en) Incremental intent checking for stateful networks
Chaudhary et al. LOADS: Load optimization and anomaly detection scheme for software-defined networks
JPWO2017073089A1 (ja) 通信装置及びシステム及び方法
JP6256773B2 (ja) セキュリティシステム
Dixit et al. Challenges and Preparedness of SDN-based Firewalls
KR101527377B1 (ko) Sdn 기반의 서비스 체이닝 시스템
JP2019213182A (ja) ネットワーク防御装置およびネットワーク防御システム
US20230105168A1 (en) Gateway apparatus, method and program
US11159533B2 (en) Relay apparatus
JP6476034B2 (ja) 制御装置及び制御方法
US10135787B2 (en) Filtering system, management device, filtering method and management program
JP2019125914A (ja) 通信装置及びプログラム
JP6441721B2 (ja) 制御装置、制御方法及びプログラム
KR101707073B1 (ko) Sdn 기반의 에러 탐색 네트워크 시스템
KR20170006950A (ko) Sdn 기반의 네트워크 플랫트닝 시스템 및 그 방법
KR101800145B1 (ko) 네트워크 기능을 제공하는 소프트웨어 스위치 및 그 동작 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181227

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190204

R150 Certificate of patent or registration of utility model

Ref document number: 6476034

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250