JP2018028764A - Communication system and traffic control method - Google Patents
Communication system and traffic control method Download PDFInfo
- Publication number
- JP2018028764A JP2018028764A JP2016159695A JP2016159695A JP2018028764A JP 2018028764 A JP2018028764 A JP 2018028764A JP 2016159695 A JP2016159695 A JP 2016159695A JP 2016159695 A JP2016159695 A JP 2016159695A JP 2018028764 A JP2018028764 A JP 2018028764A
- Authority
- JP
- Japan
- Prior art keywords
- container
- user
- traffic
- users
- accommodated
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、トラヒックを制御する通信システムに関し、Webサーバに対して行われるサーバリソース消費型DDoS (Distributed Denial of Service attack)攻撃とゼロデイ攻撃等のサーバ脆弱性をついた攻撃の対処のためのWebサーバコンテナ制御技術及びネットワーク制御技術に関する。 The present invention relates to a communication system for controlling traffic, and relates to a Web for dealing with server resource consumption type DDoS (Distributed Denial of Service attack) attacks performed on Web servers and attacks with server vulnerabilities such as zero-day attacks. The present invention relates to server container control technology and network control technology.
近年、ネットワークを通したサイバー攻撃が増加及び多様化している。その中で、標的型攻撃、ゼロデイ攻撃等の未知の脆弱性をついた攻撃、Slow DoS攻撃といった、既知の手法ではない、もしくは閾値や振る舞い分析での検知が困難なために、従来のセキュリティ製品では検知困難な攻撃が問題となっている。 In recent years, cyber attacks through networks have increased and diversified. Among them, conventional security products are not known methods such as targeted attacks, attacks with unknown vulnerabilities such as zero-day attacks, and slow DoS attacks, or they are difficult to detect by threshold or behavior analysis. So, attacks that are difficult to detect are a problem.
こういった攻撃を対象に、さまざまな対策が考えられている。主な対策方法としては、通信トラヒックをフォレンジック製品に転送し、長期且つ詳細に通信を分析することで攻撃を発見する方法や、サンドボックスにメール等の通信トラヒックを転送し、挙動を監視することで攻撃を検知する方法がある。 Various countermeasures have been considered for such attacks. The main countermeasures are to transfer communication traffic to forensic products and analyze attacks over a long period of time to detect attacks, or to transfer communication traffic such as mail to the sandbox and monitor the behavior. There is a way to detect attacks.
フォレンジック製品によるこれらの攻撃の検知では、分析までは行うが、結局人が攻撃トラヒックかどうかの判断を行う。従って、そのためのスキルが必要となり、またトラヒックの規模によってはトラヒックの精査に多大なコストがかかってしまう。また、サンドボックスのような手法についても、サンドボックス環境を検知して攻撃を止めてしまうマルウェアがあるなど、ハッカーが対策を施している場合がある。また、これらの対策をとっても、結局検知するまで防御は行わないため、一度は攻撃が成功してしまう。 Detection of these attacks by forensic products is performed up to analysis, but ultimately it is determined whether a person is attack traffic. Therefore, the skill for that is needed, and depending on the scale of traffic, it will cost a lot of money to examine the traffic. In addition, there are cases where hackers are taking measures against sandbox-like techniques, such as malware that detects sandbox environments and stops attacks. Moreover, even if these measures are taken, since the defense is not performed until it is finally detected, the attack is successful once.
この課題を解決するために、攻撃の無害化という方法がある。これは、攻撃対象となる端末を仮想化技術等で細分化することで、攻撃の影響を抑制し、攻撃を受けた端末を素早く削除することで攻撃をなかったことにし、攻撃を無害化するというものである。例えば、クライアント端末で攻撃の感染経路となり得るWebブラウザやメーラを仮想化し、それぞれのアプリケーションのみを実行する1つのマシンとしてリソースを分離し、クライアント端末自体に攻撃が届かないようにするリソース分離方法がある。このような方法には、クライアント端末に負荷をなるべくかけずに迅速に仮想端末を生成・削除する技術が必要であり、そのための技術としてコンテナ技術が考えられている。 In order to solve this problem, there is a method of detoxifying the attack. This is because the attack target is subdivided by virtualization technology, etc., and the impact of the attack is suppressed. By quickly deleting the attacked terminal, the attack is eliminated and the attack is rendered harmless. That's it. For example, there is a resource separation method that virtualizes Web browsers and mailers that can become infection routes of attacks on client terminals, separates resources as one machine that executes only each application, and prevents attacks from reaching the client terminals themselves is there. Such a method requires a technique for quickly generating and deleting a virtual terminal without imposing a load on the client terminal as much as possible, and a container technique is considered as a technique for that purpose.
一方、サーバ側では、あらかじめ攻撃者用のサーバのバーチャルマシーン(VM)を設定し、攻撃トラヒックをそのVMに送ることで、通常ユーザ向けのサーバを守る技術がある(非特許文献1)。しかしながら、この方法では、検知できない攻撃を防ぐことはできない。また、先に述べたリソース分離方法を用いても、複数のユーザがサーバにアクセスするため、サーバ自体は攻撃を無害化できるが、クライアント側への攻撃影響は抑制されない。例えば、DoS攻撃により一部の情報のみが攻撃されても、すべてのクライアントが利用できなくなったり、ゼロデイ攻撃によりデータが書き換えられて、すべてのクライアントが感染してしまう等の問題がある。 On the other hand, on the server side, there is a technique for protecting a server for normal users by setting a virtual machine (VM) of a server for an attacker in advance and sending attack traffic to the VM (Non-Patent Document 1). However, this method cannot prevent attacks that cannot be detected. Even if the resource separation method described above is used, since a plurality of users access the server, the server itself can make the attack harmless, but the influence of the attack on the client side is not suppressed. For example, even if only a part of information is attacked by a DoS attack, there are problems that all clients cannot be used, or that data is rewritten by a zero-day attack and all clients are infected.
上述した問題を鑑み、本発明の課題は、サイバー攻撃が標的に届くことを前提としたとき、当該サイバー攻撃によるユーザへの影響を抑制するための技術を提供することである。 In view of the above-described problems, an object of the present invention is to provide a technique for suppressing the influence of a cyber attack on a user when the cyber attack reaches a target.
上記課題を解決するため、本発明の一態様は、ユーザから受信したトラヒックをコンテナに振り分けるトラヒック振り分け装置と、前記トラヒックを処理するコンテナを管理するコンテナマネージャ装置と、前記コンテナマネージャ装置からの指示に従ってコンテナを配備するコンテナ配備サーバとを有する通信システムであって、前記コンテナマネージャ装置は、所定のコンテナ収容方式に従って前記トラヒックを処理するコンテナを決定し、前記トラヒック振り分け装置は、前記決定されたコンテナに前記トラヒックを振り分ける通信システムに関する。 In order to solve the above problems, according to one aspect of the present invention, a traffic distribution device that distributes traffic received from a user to a container, a container manager device that manages a container that processes the traffic, and an instruction from the container manager device A container deployment server for deploying a container, wherein the container manager device determines a container for processing the traffic according to a predetermined container accommodation method, and the traffic distribution device assigns the determined container to the determined container. The present invention relates to a communication system that distributes the traffic.
本発明によると、サイバー攻撃が標的に届くことを前提としたとき、当該サイバー攻撃によるユーザへの影響を抑制することができる。 According to the present invention, when it is assumed that a cyber attack reaches a target, the influence of the cyber attack on a user can be suppressed.
以下、図面に基づいて本発明の実施の形態を説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
以下の実施例では、トラヒックを制御する通信システム及び方法が開示される。後述される実施例によると、通信システムは、コンテナ技術を利用してWebサーバを複数のWebサーバコンテナに分離し、Webサーバのリソースを少数のユーザ毎に分離する。これにより、Webサーバにおいて他のユーザに対して影響を及ぼす攻撃が発生した場合、当該攻撃が検知できない場合であっても、影響を及ぼすユーザの範囲を極小化することが可能であり、ユーザのサービス利用の可用性及びサービスの完全性を向上させることができる。 In the following embodiments, a communication system and method for controlling traffic are disclosed. According to an embodiment to be described later, the communication system uses container technology to separate a Web server into a plurality of Web server containers, and separates Web server resources for a small number of users. As a result, when an attack that affects other users occurs on the Web server, even if the attack cannot be detected, the range of affected users can be minimized. Service availability and service integrity can be improved.
まず、本発明の一実施例による通信システムの構成を説明する。図1は、本発明の一実施例による通信システムの構成を示すブロック図である。 First, the configuration of a communication system according to an embodiment of the present invention will be described. FIG. 1 is a block diagram showing a configuration of a communication system according to an embodiment of the present invention.
図1に示されるように、通信システム10は、トラヒック振り分け装置50、コンテナマネージャ100、コンテナ配備サーバ200及び共有ストレージサーバ300を有する。トラヒック振り分け装置50、コンテナマネージャ100、コンテナ配備サーバ200及び共有ストレージサーバ300は、典型的には、サーバにより実現されてもよく、例えば、バスを介し相互接続されるドライブ装置、補助記憶装置、メモリ装置、プロセッサ、インタフェース装置及び通信装置から構成される。トラヒック振り分け装置50、コンテナマネージャ100、コンテナ配備サーバ200及び共有ストレージサーバ300について後述される各種機能及び処理を実現するプログラムは、CD−ROM(Compact Disk−Read Only Memory)、DVD(Digital Versatile Disk)、フラッシュメモリなどの記録媒体によって提供されてもよく、プログラムを記憶した記録媒体がドライブ装置にセットされると、プログラムが記録媒体からドライブ装置を介して補助記憶装置にインストールされる。但し、プログラムのインストールは必ずしも記録媒体により行う必要はなく、ネットワークなどを介し何れかの外部装置からダウンロードするようにしてもよい。補助記憶装置は、インストールされたプログラムを格納すると共に、必要なファイルやデータなどを格納する。メモリ装置は、プログラムの起動指示があった場合に、補助記憶装置からプログラムやデータを読み出して格納する。プロセッサは、メモリ装置に格納されたプログラムやプログラムを実行するのに必要なパラメータなどの各種データに従って、トラヒック振り分け装置50、コンテナマネージャ100、コンテナ配備サーバ200及び共有ストレージサーバ300の各種機能及び処理を実行する。インタフェース装置は、ネットワーク又は外部装置に接続するための通信インタフェースとして用いられる。通信装置は、インターネットなどのネットワークと通信するための各種通信処理を実行する。しかしながら、上述したハードウェア構成は単なる一例であり、トラヒック振り分け装置50、コンテナマネージャ100、コンテナ配備サーバ200及び共有ストレージサーバ300は、上述したハードウェア構成に限定されるものでなく、他の何れか適切なハードウェア構成により実現されてもよい。
As illustrated in FIG. 1, the communication system 10 includes a
トラヒック振り分け装置50は、コンテナマネージャ100により決定されたコンテナにユーザから受信したトラヒックを振り分ける。図示されるように、トラヒック振り分け装置50は、以降において詳細に説明されるトラヒック振り分け部51及びトラヒック変換設定記憶部52を有する。
The
コンテナマネージャ100は、トラヒックを処理するコンテナを管理すると共に、所定のコンテナ収容方式に従ってトラヒックを処理するコンテナを決定する。具体的には、コンテナマネージャ100は、後述されるユーザ単位割当方式、複数ユーザ単位割当方式、時間単位割当方式、収容ユーザ数変動方式などの何れかのコンテナ収容方式に従って、Webサーバにアクセスするユーザを収容するWebサーバコンテナ210を決定し、各ユーザのトラヒックをWebサーバコンテナ210に振り分けるためのトラヒック変換設定をトラヒック振り分け装置50に通知する。また、コンテナマネージャ100は、コンテナ配備サーバ200に対してWebサーバコンテナ210の生成、整理及び削除を要求すると共に、コンテナマネージャ100は、コンテナ配備サーバ200に配備された各Webサーバコンテナ210のリソース(CPU使用率、メモリ使用率等)をポーリング等によって監視する。図示されるように、コンテナマネージャ100は、以降において詳細に説明されるコンテナ収容ユーザデータベース(DB)110、コンテナ収容計算エンジン120及びWebサーバコンテナイメージ格納部130を有する。
The
コンテナ配備サーバ200は、コンテナマネージャ100からの指示に従ってコンテナを配備する。具体的には、コンテナ配備サーバ200は、Webサーバコンテナ210を有し、コンテナマネージャ100からの指示に従ってWebサーバコンテナ210を生成及び削除する。
The
Webサーバコンテナ210は、Webサーバのサービスをユーザに提供する。各Webサーバコンテナ210には、他のWebサーバコンテナ210から分離されたリソース(CPU、メモリ等)が割り当てられる。従って、各Webサーバコンテナ210は、コンテナ技術によって他のWebサーバコンテナ210における処理状況による影響を受けることなく、収容されたユーザに対してサービスを提供することができる。
The
共有ストレージサーバ300は、動画ファイル等の大容量データを格納する。共有ストレージサーバ300を備えることによって、Webサーバが大容量ファイルを提供する場合、各Webサーバコンテナ210が当該ファイルを複製してファイルを重複して格納し、コンテナ配備サーバ200におけるリソースを逼迫させる事態を回避することができる。なお、共有ストレージサーバ300は、Webサーバコンテナ210からは読み込みのみ可能とされ、コンテンツの変更はコンテナマネージャ100の管理者のみ許可されてもよい。これにより、Webサーバコンテナ210経由の攻撃を防ぐことができる。
The shared
ユーザは、Webサーバ又はWebサーバコンテナ210にアクセスするユーザ端末を操作する。ユーザには攻撃者も含まれる。
The user operates a user terminal that accesses the Web server or the
次に、トラヒック振り分け装置50の各構成要素を説明する。
Next, each component of the
トラヒック振り分け部51は、トラヒック変換設定記憶部52に保持されるトラヒック変換設定情報に基づき各ユーザのWebサーバ宛のトラヒックを当該ユーザに割り当てられたコンテナに転送する。具体的には、新規ユーザからWebサーバへのアクセス要求を受信すると、トラヒック振り分け部51は、トラヒック情報として当該ユーザのユーザ識別子をコンテナマネージャ100に通知する。コンテナマネージャ100によって当該ユーザにコンテナが割り当てられると、トラヒック振り分け部51は、ユーザに割り当てられたコンテナを示すトラヒック変換設定情報に基づき、当該ユーザからのWebサーバ宛のトラヒックを当該ユーザに割り当てられたコンテナに転送する。なお、トラヒック振り分け部51は、トラヒック情報として、当該ユーザのパケットが最後に通過した時間を更に通知してもよい。
Based on the traffic conversion setting information held in the traffic conversion setting
トラヒック変換設定記憶部52は、トラヒック送信元のユーザの識別子と当該ユーザとの間で送受信されるトラヒックの送信先アドレス及び/又は送信元アドレスに対する変換設定とを規定するトラヒック変換設定情報を格納する。当該トラヒック変換設定情報は、コンテナマネージャ100によって設定される。
The traffic conversion setting
例えば、トラヒック変換設定記憶部52が、図2に示されるようなテーブル形式のトラヒック変換設定情報を保持している場合、トラヒック振り分け部51は、ユーザから受信したトラヒックのユーザ識別子を特定すると、トラヒック変換設定情報を参照して特定したユーザ識別子に対応する変換設定に従って当該トラヒックの送信先アドレスを変換し、変換後の送信先アドレス(Webサーバコンテナ210)に当該トラヒックを転送する。また、Webサーバコンテナ210からユーザ宛のトラヒックを受信すると、トラヒック振り分け部51は、トラヒック変換設定情報に従って送信元アドレスを送信元のWebサーバコンテナ210のアドレスからWebサーバのグローバルIPアドレス等に変換し、送信先アドレスに当該トラヒックを転送する。
For example, when the traffic conversion setting
次に、コンテナマネージャ100の各構成要素を説明する。
Next, each component of the
コンテナ収容ユーザデータベース110は、各Webサーバコンテナ210と当該Webサーバコンテナ210に収容されるユーザとの関連付けを示すコンテナ収容ユーザ情報を保持する。当該コンテナ収容ユーザ情報は、コンテナ収容計算エンジン120による計算結果に基づき設定される。
The container
コンテナ収容計算エンジン120は、コンテナ収容ユーザデータベース110におけるコンテナ収容ユーザ情報に従って、Webサーバにアクセスするユーザを収容するコンテナを決定する。具体的には、新規ユーザがWebサーバにアクセスすると、トラヒック振り分け装置50は、当該ユーザからのトラヒックのトラヒック情報(ユーザ識別子等)をコンテナマネージャ100に通知する。当該通知の受信に応答して、コンテナ収容計算エンジン120は、ユーザ単位割当方式、複数ユーザ単位割当方式、時間単位割当方式、収容ユーザ数変動方式などの何れかのコンテナ収容方式に従って当該ユーザを収容するWebサーバコンテナ210を決定し、決定したWebサーバコンテナ210と当該ユーザとの関連付けをトラヒック振り分け装置50に通知する。また、コンテナ収容計算エンジン120は、必要に応じてWebサーバコンテナ210を生成、整理又は削除するようコンテナ配備サーバ200に指示する。
The container
一実施例では、コンテナ収容計算エンジン120は、1ユーザに1つのコンテナを割り当てるユーザ単位割当方式に従って、ユーザから受信したトラヒックを処理するコンテナを決定してもよい。ユーザ単位割当方式によると、トラヒック振り分け装置50(スイッチ)から新規ユーザのトラヒック情報を受信すると、コンテナ収容計算エンジン120は、図3に示されるように、例えば、新たなWebサーバコンテナ210を生成することによって各ユーザを当該Webサーバコンテナ210に割り当てると共に、当該ユーザに割り当てられたWebサーバコンテナ210をトラヒック振り分け装置50に通知する。また、コンテナ収容計算エンジン120は、図3に示されるようなコンテナ収容ユーザ情報をコンテナ収容ユーザデータベース110に格納する。図示されたコンテナ収容ユーザ情報では、Webサーバコンテナ210を示すコンテナIDと、当該Webサーバコンテナ210に割り当てられたユーザを示すユーザ識別子とが関連付けされて格納される。また、図示されるように、コンテナ収容ユーザ情報は、Webサーバコンテナ210とユーザとの間で最後にやりとりされたトラヒックに関する最終通信日時を保持してもよい。ユーザ単位割当方式によると、サイバー攻撃された場合、他のユーザは当該サイバー攻撃による影響を受けることなくWebサービスを利用することができる。
In one embodiment, the container
他の実施例では、コンテナ収容計算エンジン120は、複数ユーザに1つのコンテナを割り当てる複数ユーザ単位割当方式に従って、ユーザから受信したトラヒックを処理するコンテナを決定してもよい。複数ユーザ単位割当方式によると、トラヒック振り分け装置50(スイッチ)から新規ユーザのトラヒック情報を受信すると、コンテナ収容計算エンジン120は、図4に示されるように、例えば、新たなWebサーバコンテナ210を生成することによって、又は既存のWebサーバコンテナ210を使用することによって、所定数nのユーザを1つのWebサーバコンテナ210に割り当てると共に、当該n人のユーザに割り当てられたWebサーバコンテナ210をトラヒック振り分け装置50に通知する。また、コンテナ収容計算エンジン120は、図4に示されるようなコンテナ収容ユーザ情報をコンテナ収容ユーザデータベース110に格納する。図示されたコンテナ収容ユーザ情報では、Webサーバコンテナ210を示すコンテナIDと、当該Webサーバコンテナ210に割り当てられた複数のユーザを示すユーザ識別子とが関連付けされて格納される。また、図示されるように、コンテナ収容ユーザ情報は、Webサーバコンテナ210とユーザとの間で最後にやりとりされたトラヒックに関する最終通信日時を保持してもよい。複数ユーザ単位割当方式によると、収容可能なユーザ数を調整することによってコンテナ数を調整することが可能である。また、サイバー攻撃された場合、被攻撃コンテナに収容されたユーザのみに被害が限定され、他のコンテナに収容されたユーザは当該サイバー攻撃による影響を受けることなくWebサービスを利用することができる。
In another embodiment, the container
他の実施例では、コンテナ収容計算エンジン120は、一定時間内にアクセスしたユーザに1つのコンテナを割り当てる時間単位割当方式に従って、ユーザから受信したトラヒックを処理するコンテナを決定してもよい。時間単位割当方式によると、トラヒック振り分け装置50(スイッチ)から新規ユーザのトラヒック情報を受信すると、コンテナ収容計算エンジン120は、図5に示されるように、期間T内に新規にアクセスした全てのユーザを当該期間Tに対して用意された1つのWebサーバコンテナ210に割り当てると共に、当該ユーザに割り当てられたWebサーバコンテナ210をトラヒック振り分け装置50に通知する。また、コンテナ収容計算エンジン120は、図5に示されるようなコンテナ収容ユーザ情報をコンテナ収容ユーザデータベース110に格納する。図示されたコンテナ収容ユーザ情報では、Webサーバコンテナ210を示すコンテナIDと、当該Webサーバコンテナ210に割り当てられたユーザを示すユーザ識別子とが関連付けされて格納される。また、図示されるように、コンテナ収容ユーザ情報は、コンテナの生成日時、収容されたユーザ数及び/又はWebサーバコンテナ210とユーザとの間で最後にやりとりされたトラヒックに関する最終通信日時を保持してもよい。
In another embodiment, the container
時間単位割当方式によると、収容期間を調整することによってコンテナ数を調整することが可能であり、例えば、DDoS攻撃に好適である。また、サイバー攻撃された場合、被攻撃コンテナに収容された同時期にアクセスしたユーザのみに被害が限定され、他のコンテナに収容されたユーザは当該サイバー攻撃による影響を受けることなくWebサービスを利用することができる。 According to the time unit allocation method, the number of containers can be adjusted by adjusting the accommodation period, which is suitable for a DDoS attack, for example. In addition, in the case of a cyber attack, the damage is limited only to users who accessed at the same time in the attacked container, and users in other containers can use the web service without being affected by the cyber attack. can do.
なお、時間単位割当方式によると、1コンテナあたりに異なるユーザ数が収容される可能性があり、アクセスが少ない期間と多い期間とで収容ユーザ数に大きな差が生じうる。このため、コンテナ収容計算エンジン120は、図6に示される手順に従って、収容ユーザ数を調整してもよい。
In addition, according to the time unit allocation method, there is a possibility that different numbers of users may be accommodated per container, and there may be a large difference in the number of accommodated users between a period with little access and a period with many accesses. For this reason, the container
図示されるように、ステップS101において、コンテナ収容計算エンジン120は、コンテナ配備サーバ200が新たなコンテナを追加するのに十分なリソースを有しているか判断する。例えば、コンテナ収容計算エンジン120は、コンテナ配備サーバ200に設定されているコンテナ数が所定の閾値(収容限界コンテナ数:Cmax)以下である場合、十分なリソースがあると判断してもよい。
As illustrated, in step S101, the container
コンテナ配備サーバ200が新たなコンテナを追加するのに十分なリソースを有している場合(S101:Yes)、ステップS102において、コンテナ収容計算エンジン120は、現在期間のためのWebサーバコンテナ210を生成する。他方、コンテナ配備サーバ200が新たなコンテナを追加するのに十分なリソースを有していない場合(S101:No)、ステップS103において、コンテナ収容計算エンジン120は、後述される収容ユーザ整理処理又はコンテナ削除処理を実行し、新たなコンテナを追加するためのリソースを確保する。
When the
ステップS104において、コンテナ収容計算エンジン120は、当該期間が経過するまで、新規にアクセスしたユーザを生成したWebサーバコンテナ210に収容する。
In step S104, the container
期間Tが経過すると、ステップS105において、コンテナ収容計算エンジン120は、Webサーバコンテナ210に収容されたユーザ数が所定数n以上であるか判断する。収容されたユーザ数が所定数n以上である場合(S105:Yes)、コンテナ収容計算エンジン120は、次の期間のための新たなWebサーバコンテナ210を生成するため、ステップS101に戻る。他方、収容されたユーザ数が所定数n未満である場合(S105:No)、コンテナ収容計算エンジン120は、収容ユーザ数がnに達するまで、更なる新規ユーザをステップS102で生成したWebサーバコンテナ210に収容し続ける。
When the period T elapses, in step S105, the container
上述した調整処理によると、収容ユーザ数が少ないWebサーバコンテナ210が設定されることを回避でき、リソースを効率的に使用することが可能になる。
According to the adjustment process described above, it is possible to avoid the setting of the
他の実施例では、上述した複数ユーザ単位割当方式又は時間単位割当方式を利用している場合、コンテナ収容計算エンジン120は更に、各コンテナのリソース使用状況に応じて収容するユーザ数を動的に調整する収容ユーザ数変動方式に従って、各コンテナに収容するユーザ数を動的に調整してもよい。すなわち、複数ユーザ単位割当方式及び時間単位割当方式では、ユーザがWebサーバコンテナ210に一旦収容されると、当該ユーザのトラヒックは、リソース使用状況に関わらず当該Webサーバコンテナ210によって処理され続ける。従って、複数ユーザ単位割当方式又は時間単位割当方式に収容ユーザ数変動方式を組み合わせることによって、コンテナ収容計算エンジン120は、各Webサーバコンテナ210のリソース使用状況に応じてユーザを再振り分けし、リソース使用状況に適応してトラヒックを振り分けることが可能になる。
In another embodiment, when the above-described multiple user unit allocation method or time unit allocation method is used, the container
収容ユーザ数変動方式によると、コンテナ収容計算エンジン120は、図7に示されるように、複数ユーザ単位割当方式又は時間単位割当方式に従って設定されたWebサーバコンテナ210のリソース使用状況を定期的に監視する。リソースが不足しているWebサーバコンテナ210を検出すると、コンテナ収容計算エンジン120は、Webサーバコンテナ210を追加し、検出されたWebサーバコンテナ210に収容されているユーザの一部を追加したWebサーバコンテナ210に振り分けると共に、当該ユーザに再割り当てられたWebサーバコンテナ210をトラヒック振り分け装置50に通知する。
According to the accommodation user number variation method, the container
例えば、コンテナ収容計算エンジン120は、図8に示される手順に従ってユーザを再振り分けしてもよい。
For example, the container
図示されるように、ステップS201において、コンテナ収容計算エンジン120は、各Webサーバコンテナ210のCPU使用率及び/又はメモリ使用率を定期的に監視し、検出したCPU使用率及び/又はメモリ使用率が所定のCPU使用率閾値及び/又はメモリ使用率閾値以上であるか判断する。検出したCPU使用率及び/又はメモリ使用率がCPU使用率閾値及び/又はメモリ使用率閾値以上である場合、コンテナ収容計算エンジン120は、当該Webサーバコンテナ210が被攻撃コンテナであると判断する。他方、検出したCPU使用率及び/又はメモリ使用率がCPU使用率閾値及び/又はメモリ使用率閾値未満である場合、コンテナ収容計算エンジン120は、当該Webサーバコンテナ210が被攻撃コンテナでないと判断する。
As illustrated, in step S201, the container
被攻撃コンテナが検出された場合(S201:Yes)、ステップS202において、コンテナ収容計算エンジン120は、コンテナ配備サーバ200が新たなコンテナを追加するのに十分なリソースを有しているか判断する。例えば、コンテナ収容計算エンジン120は、コンテナ配備サーバ200に設定されているコンテナ数が所定の閾値(収容限界コンテナ数:Cmax)以下である場合、十分なリソースがあると判断してもよい。他方、被攻撃コンテナが検出されなかった場合(S201:No)、コンテナ収容計算エンジン120は、各Webサーバコンテナ210のCPU使用率及び/又はメモリ使用率を定期的に監視し続ける。
If an attacked container is detected (S201: Yes), in step S202, the container
コンテナ配備サーバ200が新たなコンテナを追加するのに十分なリソースを有している場合(S202:Yes)、ステップS203において、コンテナ収容計算エンジン120は、Webサーバコンテナ210を生成する。他方、コンテナ配備サーバ200が新たなコンテナを追加するのに十分なリソースを有していない場合(S202:No)、ステップS204において、コンテナ収容計算エンジン120は、後述される収容ユーザ整理処理又はコンテナ削除処理を実行し、新たなコンテナを追加するためのリソースを確保する。
If the
ステップS205において、コンテナ収容計算エンジン120は、被攻撃コンテナに収容されているユーザの一部を生成されたWebサーバコンテナ210に再振り分けする。例えば、コンテナ収容計算エンジン120は、被攻撃コンテナに収容されているユーザをランダムに2等分し、一方を被攻撃コンテナに残し、他方を追加したWebサーバコンテナ210に振り分けてもよい。
In step S205, the container
また、コンテナ収容計算エンジン120は、図7に示されるようなコンテナ収容ユーザ情報をコンテナ収容ユーザデータベース110に格納する。図示されたコンテナ収容ユーザ情報では、Webサーバコンテナ210を示すコンテナIDと、リソース不足が検出されたコンテナを示す被攻撃コンテナフラグとが関連付けされて格納される。また、コンテナ収容ユーザ情報は、コンテナIDに基づき複数ユーザ単位割当方式又は時間単位割当方式によるコンテナ収容ユーザ情報と連結されてもよい。なお、上述したコンテナ収容ユーザ情報では、ユーザ識別子としてIPアドレスが使用されているが、本発明はこれに限定されず、ユーザを一意的に識別可能な何れか適切な識別子が利用されてもよい。
Further, the container
Webサーバコンテナイメージ格納部130は、Webサーバコンテナ210を生成する際に使用されるイメージファイルを格納する。コンテナ収容計算エンジン120は、当該イメージファイルに基づきWebサーバコンテナ210を生成するようコンテナ配備サーバ200に指示する。なお、格納されているイメージファイルの変更はコンテナマネージャ100の管理者のみに許可されてもよい。
The web server container
次に、本発明の一実施例による通信システムにおけるトラヒック制御処理を説明する。図9及び10は、本発明の一実施例によるトラヒック制御処理を示すシーケンス図である。 Next, traffic control processing in a communication system according to an embodiment of the present invention will be described. 9 and 10 are sequence diagrams illustrating traffic control processing according to an embodiment of the present invention.
図9に示されるように、ステップS301において、トラヒック振り分け装置50は、ユーザからパケットを受信する。
As shown in FIG. 9, in step S301, the
ステップS302において、トラヒック振り分け装置50は、受信したパケットからトラヒック情報を抽出し、抽出したトラヒック情報をコンテナマネージャ100に通知する。例えば、トラヒック情報は、送信元IPアドレス、通信日時であってもよい。
In step S302, the
ステップS303において、コンテナマネージャ100は、受信したトラヒック情報に基づきコンテナ収容ユーザデータベース110のコンテナ収容ユーザ情報を更新する。
In step S303, the
ステップS304において、コンテナ収容ユーザデータベース110は、コンテナマネージャ100からの更新指示に従って、コンテナ収容ユーザ情報を更新する。例えば、コンテナ収容ユーザデータベース110は、送信元IPアドレスがコンテナ収容ユーザ情報のユーザ識別子に登録済みである場合、最終通信日時を更新してもよい。
In step S <b> 304, the container
ステップS305において、コンテナ収容計算エンジン120は、コンテナ収容ユーザデータベース110にコンテナ収容ユーザ情報を要求し、ステップS306において、要求したコンテナ収容ユーザ情報を取得する。
In step S305, the container
ステップS307において、送信元IPアドレスがコンテナ収容ユーザ情報のユーザ識別子に登録されているか判断する。新規ユーザであり、所定のコンテナ収容方式に従って当該ユーザに新規のコンテナを割り当てる場合、ステップS308において、コンテナ収容計算エンジン120は、当該ユーザに新規のコンテナを割り当てることをコンテナマネージャ100に通知する。
In step S307, it is determined whether the transmission source IP address is registered in the user identifier of the container accommodation user information. When the user is a new user and assigns a new container to the user according to a predetermined container accommodation method, in step S308, the container
ステップS309において、コンテナマネージャ100は、新規のコンテナと当該コンテナに収容されるユーザのユーザ識別子とを関連付けてコンテナ収容ユーザ情報に格納する。コンテナ収容ユーザデータベース110は、ステップS310において、コンテナ収容ユーザ情報を更新すると、ステップS311において、コンテナ収容ユーザ情報の更新が完了したことをコンテナマネージャ100に通知する。
In step S309, the
ステップS312において、コンテナマネージャ100は、新規のコンテナを生成するようコンテナ配備サーバ200に要求する。ステップS313において、コンテナ配備サーバ200は、新規のコンテナを生成し、ステップS314において、生成されたコンテナが起動する。
In step S312, the
なお、ステップS308〜S314は、ステップS307において既存のコンテナに新規ユーザを収容する場合には実行される必要はない。 Note that steps S308 to S314 need not be executed when a new user is accommodated in an existing container in step S307.
図10に示されるように、ステップS307において既存のコンテナに新規ユーザを収容する場合、ステップS315において、コンテナ収容計算エンジン120は、新規ユーザの収容先コンテナをコンテナマネージャ100に通知する。ステップS316において、コンテナマネージャ100は、通知されたコンテナと当該コンテナに収容されるユーザのユーザ識別子とを関連付けてコンテナ収容ユーザ情報に格納する。コンテナ収容ユーザデータベース110は、ステップS317において、コンテナ収容ユーザ情報を更新すると、ステップS318において、コンテナ収容ユーザ情報の更新が完了したことをコンテナマネージャ100に通知する。
As shown in FIG. 10, when a new user is accommodated in an existing container in step S307, the container
ステップS319において、コンテナマネージャ100は、当該ユーザからのトラヒックの送信先を収容先コンテナに変換するためのトラヒック変換設定をトラヒック振り分け装置50に通知する。ステップS320において、トラヒック振り分け装置50は、当該通知に従ってトラヒック変換設定情報を更新し、トラヒック変換設定記憶部52は、ステップS321において、トラヒック変換設定情報を更新すると、ステップS322において、トラヒック変換設定情報の更新が完了したことをトラヒック振り分け装置50に通知する。
In step S319, the
ステップS323において、トラヒック振り分け装置50は、トラヒック変換設定情報の更新があったことをトラヒック振り分け部51に通知する。ステップS324において、トラヒック振り分け部51は、更新されたトラヒック変換設定情報を読み込み、ステップS325において、更新されたトラヒック変換設定情報を取得する。
In step S323, the
ステップS326において、トラヒック振り分け部51は、ユーザから受信したトラヒックの送信先アドレスを取得したトラヒック変換設定情報に規定されたコンテナのアドレスに変換し、ステップS327において、当該トラヒックを変換後のアドレスに転送する。
In step S326, the
また、一実施例では、コンテナ配備サーバ200に配備されたコンテナの個数が所定の閾値以上になると、コンテナマネージャ100は、各コンテナに収容可能なユーザ数の上限値までユーザが収容されるように配備されたコンテナに収容されるユーザを整理し、収容ユーザ数が0になったコンテナを削除してもよい。
In one embodiment, when the number of containers deployed on the
図11に示されるように、Webサーバコンテナ210を生成し続ければ、コンテナ配備サーバ200のリソース不足が発生する。そこで、コンテナ配備サーバ200に予めコンテナ数の上限値Cmaxを設定し、コンテナ数がCmax以上になった場合、収容可能なユーザ数に余裕のあるWebサーバコンテナ210にユーザを集約してもよい。さらに、集約によって収容ユーザ数が0となったWebサーバコンテナ210は削除されてもよい。
As shown in FIG. 11, if the
具体的には、収容ユーザ整理処理は、図12及び図13に示される手順により実行されてもよい。ここで、ステップS401〜S406は、上述したステップS301〜S306と同様であり、これらの説明は割愛する。 Specifically, the accommodated user organization process may be executed according to the procedure shown in FIGS. Here, steps S401 to S406 are the same as steps S301 to S306 described above, and a description thereof will be omitted.
ステップS407において、コンテナ収容計算エンジン120が、コンテナ数が上限値Cmaxを超過すると判断し、収容ユーザ整理処理を開始する。ステップS408において、何れかのコンテナに収容されるユーザを他のコンテナに再振り分けすることをコンテナマネージャ100に通知する。ステップS409において、コンテナマネージャ100は、当該再振り分けに従ってコンテナ収容ユーザ情報を更新し、コンテナ収容ユーザデータベース110は、ステップS410において、コンテナ収容ユーザ情報を更新すると、ステップS411において、コンテナ収容ユーザ情報の更新が完了したことをコンテナマネージャ100に通知する。
In step S407, the container
ステップS412において、コンテナマネージャ100は、当該ユーザからのトラヒックの送信先アドレスを再振り分けしたコンテナに変換するためのトラヒック変換設定をトラヒック振り分け装置50に通知する。ステップS413において、トラヒック振り分け装置50は、当該通知に従ってトラヒック変換設定情報を更新し、トラヒック変換設定記憶部52は、ステップS414において、トラヒック変換設定情報を更新する。
In step S <b> 412, the
さらに、図12に示されるように、ステップS415において、トラヒック振り分け装置50は、トラヒック変換設定情報の更新の完了通知を受信すると、ステップS416において、当該完了通知をトラヒック振り分け部51に転送する。
Further, as shown in FIG. 12, when receiving the traffic conversion setting information update completion notification in step S415, the
ステップS417において、トラヒック振り分け部51は、更新されたトラヒック変換設定情報を読み込み、ステップS418において、更新されたトラヒック変換設定情報を取得する。
In step S417, the
ステップS419において、トラヒック振り分け部51は、ユーザから受信したトラヒックの送信先アドレスを取得したトラヒック変換設定情報に規定されたコンテナのアドレスに変換し、ステップS420において、当該トラヒックを変換後のアドレスに転送する。
In step S419, the
ステップS421において、トラヒック振り分け装置50は、コンテナマネージャ100にトラヒック変換設定情報の更新が完了したことを通知し、ステップS422において、コンテナマネージャ100は、収容ユーザ数が0となったコンテナを削除するようコンテナ配備サーバ200に指示する。ステップS423において、コンテナ配備サーバ200は、指示されたコンテナを削除し、ステップS424において、当該コンテナが削除される。
In step S421, the
また、一実施例では、コンテナマネージャ100は、ユーザと当該ユーザを収容するコンテナとの間の通信が一定時間以上行われなかったとき、当該コンテナを削除してもよい。図14に示されるように、Webサーバコンテナにアクセスするユーザのトラヒックが一定時間以上観測されない場合、コンテナマネージャ100は、ユーザがWebサーバのサービスをすでに利用していないとみなし、コンテナ収容ユーザデータベース110から当該ユーザに関する情報を削除してもよい。
Moreover, in one Example, the
具体的には、コンテナ削除処理は、図15に示される手順により実行されてもよい。ここで、ステップS501〜S506は、上述したステップS301〜S306と同様であり、これらの説明は割愛する。 Specifically, the container deletion process may be executed according to the procedure shown in FIG. Here, steps S501 to S506 are the same as steps S301 to S306 described above, and the description thereof is omitted.
図15に示されるように、ステップS507において、コンテナ収容計算エンジン120は、収容ユーザ数が0であるコンテナがあると判断し、コンテナ削除処理を開始する。ステップS508において、コンテナ収容計算エンジン120は、削除対象のコンテナをコンテナマネージャ100に通知する。
As shown in FIG. 15, in step S507, the container
ステップS509において、コンテナマネージャ100は、当該通知に従ってコンテナ収容ユーザ情報を更新し、コンテナ収容ユーザデータベース110は、ステップS510において、コンテナ収容ユーザ情報を更新すると、ステップS511において、コンテナ収容ユーザ情報の更新が完了したことをコンテナマネージャ100に通知する。
In step S509, the
ステップS512において、コンテナマネージャ100は、コンテナを削除するようコンテナ配備サーバ200に指示する。ステップS513において、コンテナ配備サーバ200は、指示されたコンテナを削除し、ステップS514において、当該コンテナが削除される。
In step S512, the
なお、上述した通信システム10におけるトラヒック振り分け装置50、コンテナマネージャ100、コンテナ配備サーバ200及び共有ストレージサーバ300の各機能部及び各ステップは、コンピュータのメモリ装置に記憶されたプログラムをプロセッサが実行することによって実現されてもよい。
Note that each function unit and each step of the
以上、本発明の実施例について詳述したが、本発明は上述した特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to the specific embodiment mentioned above, In the range of the summary of this invention described in the claim, various deformation | transformation・ Change is possible.
10 通信システム
50 トラヒック振り分け装置
100 コンテナマネージャ
200 コンテナ配備サーバ
300 共有ストレージサーバ
DESCRIPTION OF SYMBOLS 10
Claims (8)
前記トラヒックを処理するコンテナを管理するコンテナマネージャ装置と、
前記コンテナマネージャ装置からの指示に従ってコンテナを配備するコンテナ配備サーバと、
を有する通信システムであって、
前記コンテナマネージャ装置は、所定のコンテナ収容方式に従って前記トラヒックを処理するコンテナを決定し、前記トラヒック振り分け装置は、前記決定されたコンテナに前記トラヒックを振り分ける通信システム。 A traffic distribution device that distributes traffic received from users to containers;
A container manager device for managing containers for processing the traffic;
A container deployment server that deploys containers according to instructions from the container manager device;
A communication system comprising:
The container manager device determines a container for processing the traffic according to a predetermined container accommodation method, and the traffic distribution device distributes the traffic to the determined container.
所定のコンテナ収容方式に従って前記トラヒックを処理するコンテナを決定するステップと、
前記決定されたコンテナに前記トラヒックを振り分けるステップと、
を有するトラヒック制御方法。 Receiving traffic from a user;
Determining a container for processing the traffic according to a predetermined container accommodation method;
Distributing the traffic to the determined container;
A traffic control method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016159695A JP6616262B2 (en) | 2016-08-16 | 2016-08-16 | Communication system and traffic control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016159695A JP6616262B2 (en) | 2016-08-16 | 2016-08-16 | Communication system and traffic control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018028764A true JP2018028764A (en) | 2018-02-22 |
JP6616262B2 JP6616262B2 (en) | 2019-12-04 |
Family
ID=61248448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016159695A Active JP6616262B2 (en) | 2016-08-16 | 2016-08-16 | Communication system and traffic control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6616262B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022508899A (en) * | 2018-10-22 | 2022-01-19 | コーニンクレッカ フィリップス エヌ ヴェ | Container builder for personalized network services |
WO2024034446A1 (en) * | 2022-08-09 | 2024-02-15 | 日本電気株式会社 | Core network device, application server, and communication method |
-
2016
- 2016-08-16 JP JP2016159695A patent/JP6616262B2/en active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022508899A (en) * | 2018-10-22 | 2022-01-19 | コーニンクレッカ フィリップス エヌ ヴェ | Container builder for personalized network services |
JP7434342B2 (en) | 2018-10-22 | 2024-02-20 | コーニンクレッカ フィリップス エヌ ヴェ | Container builder for personalized network services |
US11914753B2 (en) | 2018-10-22 | 2024-02-27 | Koninklijke Philips N.V. | Container builder for individualized network services |
WO2024034446A1 (en) * | 2022-08-09 | 2024-02-15 | 日本電気株式会社 | Core network device, application server, and communication method |
Also Published As
Publication number | Publication date |
---|---|
JP6616262B2 (en) | 2019-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2019200445B2 (en) | Methods and apparatus for dealing with malware | |
US20220224726A1 (en) | Distribution and Management of Services in Virtual Environments | |
CN109076063B (en) | Protecting dynamic and short-term virtual machine instances in a cloud environment | |
CA3006003C (en) | Dual memory introspection for securing multiple network endpoints | |
US9710400B2 (en) | Secure virtual machine memory | |
RU2568282C2 (en) | System and method for ensuring fault tolerance of antivirus protection realised in virtual environment | |
US20170149804A1 (en) | Methods and systems for malware host correlation | |
Pandey et al. | An approach for virtual machine image security | |
JP6616262B2 (en) | Communication system and traffic control method | |
Alshahrani et al. | Live migration of virtual machine in cloud: Survey of issues and solutions | |
Ramamoorthy et al. | A preventive method for host level security in cloud infrastructure | |
Rathod et al. | Secure live vm migration in cloud computing: A survey | |
JP5736346B2 (en) | Virtualization device, virtualization control method, virtualization device control program | |
WO2015180293A1 (en) | Cloud desktop monitoring method and apparatus | |
Magdy et al. | Anonymous blockchain based routing for moving-target defense across federated clouds | |
Gupta et al. | Security challenges of virtualization in cloud computing | |
EP3270544A1 (en) | Hypervisor monitoring | |
JP6010672B2 (en) | Security setting system, security setting method and program | |
JP5814138B2 (en) | Security setting system, security setting method and program | |
RU2724801C1 (en) | Method of balancing load on virtual protection machines, provided that selection area of virtual protection machines | |
Kadu et al. | Virtual Machine Migration Techniques, Security Threats and Vulnerabilities | |
CN116781301A (en) | Cross-namespace container security protection method, device, equipment and medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180903 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190719 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190806 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190920 |
|
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: 20191105 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191107 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6616262 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |