JP6680028B2 - Monitoring system, monitoring method, and monitoring program - Google Patents

Monitoring system, monitoring method, and monitoring program Download PDF

Info

Publication number
JP6680028B2
JP6680028B2 JP2016059528A JP2016059528A JP6680028B2 JP 6680028 B2 JP6680028 B2 JP 6680028B2 JP 2016059528 A JP2016059528 A JP 2016059528A JP 2016059528 A JP2016059528 A JP 2016059528A JP 6680028 B2 JP6680028 B2 JP 6680028B2
Authority
JP
Japan
Prior art keywords
monitoring
communication
container
result
service
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.)
Active
Application number
JP2016059528A
Other languages
Japanese (ja)
Other versions
JP2017174158A (en
Inventor
英男 長谷川
英男 長谷川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2016059528A priority Critical patent/JP6680028B2/en
Publication of JP2017174158A publication Critical patent/JP2017174158A/en
Application granted granted Critical
Publication of JP6680028B2 publication Critical patent/JP6680028B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、監視システム、監視方法および監視プログラムに関し、特にコンテナの機密性を向上させる監視システム、監視方法および監視プログラムに関する。   The present invention relates to a monitoring system, a monitoring method and a monitoring program, and more particularly to a monitoring system, a monitoring method and a monitoring program that improve the confidentiality of a container.

仮想ソフトウェア単位の1つにコンテナがある。コンテナ型仮想化では、サーバのOS(Operating System)内のユーザ空間が仮想的に分割された空間をそれぞれ有し、OS内のカーネル空間を共用する複数のインスタンスがサーバで実行される。なお、起動したコンテナを特にインスタンスと呼ぶこともある。   A container is one of the virtual software units. In container-type virtualization, a user space in an OS (Operating System) of a server has virtual divided spaces, and a plurality of instances that share a kernel space in the OS are executed in the server. The started container may be called an instance in particular.

各インスタンスは、それぞれが他の環境と完全に独立した環境で実行される。よって、インスタンスが自身のコンテナ以外のコンテナのファイルにアクセスする可能性がないため、コンテナ型仮想化が導入されたサーバの機密性は、通常のサーバに比べて高い。また、コンテナ型仮想化では全てのインスタンスが同じカーネル空間を共用するため、他の仮想化に比べてリソースの利用効率が高い。   Each instance runs in an environment that is completely independent of the other environments. Therefore, since the instance has no possibility to access files in containers other than its own container, the confidentiality of the server in which the container-type virtualization is introduced is higher than that of a normal server. Also, in container-type virtualization, all instances share the same kernel space, so the resource utilization efficiency is higher than in other virtualizations.

コンテナは、例えばLinux(登録商標)コンテナ技術とaufs(AnotherUnionFS)のような特殊なファイルシステムが利用されたコンテナ型仮想化で実現される。コンテナ型仮想化には、ハードウェアまで含めた完全な仮想化であるハイパーバイザー型仮想化に比べて、ディスク使用量が少ない、インスタンスの作成やインスタンスの起動に係る時間が短い、性能劣化が少ないという利点がある。   The container is realized by container-type virtualization using a Linux (registered trademark) container technology and a special file system such as aufs (AnotherUnionFS). Compared to the hypervisor type virtualization, which is a complete virtualization that includes hardware, container type virtualization uses less disk, takes less time to create an instance and starts an instance, and has less performance degradation. There is an advantage.

コンテナは、データを永続的に保持しない一時的なオブジェクトである。すなわちコンテナ型仮想化では、コンテナが起動すると実行中に限りインスタンス内に情報が保持される。また、コンテナの停止と共にインスタンス内に保持されていた情報は破棄される。   A container is a temporary object that does not hold data permanently. That is, in container-type virtualization, when a container is started, information is retained in the instance only during execution. In addition, the information held in the instance is destroyed when the container is stopped.

コンテナを配備してサービスを提供する主体であるサービスプロバイダは、1個以上のコンテナを組み合わせることによって1つのサービスを構成する。図16は、データセンタに配備されるコンテナの例を示す説明図である。図16に示すデータセンタ100には、コンテナ20、コンテナ30、およびコンテナ40が含まれている。   A service provider, which is a main body that provides a service by deploying a container, configures one service by combining one or more containers. FIG. 16 is an explanatory diagram showing an example of a container provided in a data center. The data center 100 shown in FIG. 16 includes a container 20, a container 30, and a container 40.

図16に示すデータセンタ100は、コンテナを起動させるためのプラットフォームである。データセンタ100は、PaaS(Platform as a Service)とも呼ばれる。データセンタ100は、例えばPaaSを構築するための基盤ソフトウェアの1つであるCloud Foundryに基づいて構築されていてもよい。   The data center 100 shown in FIG. 16 is a platform for activating a container. The data center 100 is also called PaaS (Platform as a Service). The data center 100 may be built based on Cloud Foundry, which is one of the basic software for building PaaS.

また、データセンタ100は、Cloud Foundry等がIaaS(Infrastructure as a Service)において実行されることによって構築されていてもよい。コンテナには、プライベートなIP(Internet Protocol)アドレス、またはパブリックなIPアドレスが割り当てられる。   Further, the data center 100 may be constructed by executing Cloud Foundry or the like in IaaS (Infrastructure as a Service). A private IP (Internet Protocol) address or a public IP address is assigned to the container.

データセンタ100は、外部と通信ネットワークを介して通信可能に接続されたコンテナ実行サーバを1つ以上有する。データセンタ100は、コンテナ実行サーバにおいてコンテナを起動させる。コンテナの配備および実行には利用可能なコンテナ実行環境を要するため、コンテナ実行サーバには、OSの他にコンテナ実行環境が導入されている。   The data center 100 has at least one container execution server communicatively connected to the outside via a communication network. The data center 100 activates the container in the container execution server. Since deploying and executing a container requires an available container execution environment, the container execution server has a container execution environment in addition to the OS.

コンテナを配備する際、データセンタ100は、コンテナが配備された領域を他のコンテナが配備された領域等と物理的に、または仮想的に分離してもよい。以下の説明において、データセンタ100における領域の区画の存在を明記しないが、データセンタ100に領域の区画が存在すると解釈してもよい。   When deploying a container, the data center 100 may physically or virtually separate the area in which the container is deployed from the area in which another container is deployed. In the following description, the presence of the area division in the data center 100 is not specified, but it may be interpreted that the area division exists in the data center 100.

サービスプロバイダは、例えばサービスプロバイダに与えられたデータセンタ100の区画に1つ以上のコンテナを配備できる。サービスプロバイダは、データセンタ100に配備対象のコンテナのコンテナイメージを与える。なお、コンテナイメージは、実行されているコンテナから生成されたイメージファイルである。   A service provider may, for example, deploy one or more containers in a partition of the data center 100 provided to the service provider. The service provider gives the data center 100 a container image of a container to be deployed. The container image is an image file generated from the running container.

データセンタ100は、与えられたコンテナイメージを用いて、コンテナを起動できる。データセンタ100は、コンテナ実行サーバでコンテナを起動させる。コンテナが起動することによって、コンテナが有するコードに基づいた様々なアプリケーション機能が提供される。   The data center 100 can start a container using the given container image. The data center 100 activates the container on the container execution server. When the container starts, various application functions based on the code of the container are provided.

図16に示すコンテナ20は、ウェブサーバの機能を提供する。また、コンテナ30は、アプリケーションサーバの機能を提供する。また、コンテナ40は、ストレージに接続されたデータベースの機能を提供する。例えば、コンテナ20とコンテナ30とコンテナ40とを組み合わせることによって、サービスプロバイダは、ウェブサービスを構成できる。   The container 20 shown in FIG. 16 provides the function of a web server. The container 30 also provides the function of an application server. The container 40 also provides the function of a database connected to the storage. For example, the service provider can configure a web service by combining the container 20, the container 30, and the container 40.

ウェブサーバの機能を提供するコンテナ20は、通信ネットワーク等を介してクライアント端末と通信可能に接続されている。また、コンテナ同士も、通信ネットワーク等を介して通信可能に接続されている。図16に示す例において、クライアント端末からのリクエストは、例えばゲートウェイを介してコンテナ20に受信される。   The container 20 that provides the function of a web server is communicatively connected to a client terminal via a communication network or the like. Further, the containers are also communicatively connected to each other via a communication network or the like. In the example shown in FIG. 16, the request from the client terminal is received by the container 20 via the gateway, for example.

ウェブサーバの機能を提供するコンテナ20は、コンテンツをクライアント端末に提供する機能を有する。提供されるコンテンツの少なくとも一部は、クライアント端末からのリクエストに応じたアプリケーションロジックの実行結果である。アプリケーションロジックは、例えば、HTML(HyperText Markup Language)内の記載や、各種スクリプトプログラムの記載に基づいて定義されている。   The container 20 that provides the function of the web server has the function of providing the content to the client terminal. At least a part of the provided content is the execution result of the application logic in response to the request from the client terminal. The application logic is defined based on the description in HTML (HyperText Markup Language) and the description of various script programs, for example.

アプリケーションロジックは、アプリケーションサーバの機能を提供するコンテナ30で実行される。図16に示す例において、アプリケーションロジックの少なくとも一部は、データベースを利用するロジックである。データベースを利用するアプリケーションロジックを実行する場合、コンテナ30は、データベースの機能を提供するコンテナ40に通信ネットワーク等を介して問い合わせる。   The application logic runs in a container 30 that provides the functionality of an application server. In the example shown in FIG. 16, at least a part of the application logic is logic that uses a database. When executing the application logic that uses the database, the container 30 inquires of the container 40 that provides the function of the database via the communication network or the like.

上記のように、コンテナ同士が通信を行うことによって、クライアント端末への応答内容が作成される。なお、本明細書において起動したコンテナであるインスタンス間で行われる通信を、便宜的にコンテナ間で行われる通信という。   As described above, the contents of the response to the client terminal are created by the containers communicating with each other. Note that the communication performed between the instances, which are the activated containers in this specification, is referred to as the communication performed between the containers for convenience.

図16に示すデータセンタ100の構成は、(ウェブサーバの機能を提供するコンテナ:アプリケーションサーバの機能を提供するコンテナ:データベースの機能を提供するコンテナ)=(1:1:1)の構成である。しかし、データセンタ100には、データベースの機能を提供するコンテナが複数含まれてもよい。   The data center 100 shown in FIG. 16 has a configuration of (container providing a web server function: container providing an application server function: container providing a database function) = (1: 1: 1). . However, the data center 100 may include a plurality of containers that provide database functions.

また、データセンタ100の構成は、(ウェブサーバの機能を提供するコンテナ:アプリケーションサーバの機能を提供するコンテナ:データベースの機能を提供するコンテナ)=(n:m:k)の構成でもよい。なお、n、m、kは、それぞれ1以上の整数である。   The configuration of the data center 100 may be (container providing a web server function: container providing an application server function: container providing a database function) = (n: m: k). Note that n, m, and k are each an integer of 1 or more.

図17は、データセンタに配備されるコンテナの他の例を示す説明図である。図17に示すように、データセンタ100には、コンテナ20〜コンテナ20、コンテナ30〜コンテナ30、コンテナ40〜コンテナ40が含まれている。 FIG. 17 is an explanatory diagram showing another example of the container provided in the data center. As shown in FIG. 17, the data center 100 includes containers 20 1 to 20 n , containers 30 1 to 30 m , and containers 40 1 to 40 k .

コンテナ20〜コンテナ20は、全て同じ機能を提供する。コンテナ30〜コンテナ30、コンテナ40〜コンテナ40もそれぞれ同様である。ただし、コンテナ20〜コンテナ20が提供する機能、コンテナ30〜コンテナ30が提供する機能、コンテナ40〜コンテナ40が提供する機能は異なる。 The containers 20 1 to 20 n all provide the same function. The same applies to the containers 30 1 to 30 m and the containers 40 1 to 40 k . However, the functions provided by the containers 20 1 to 20 n , the functions provided by the containers 30 1 to 30 m , and the functions provided by the containers 40 1 to 40 k are different.

図17に示すコンテナ間で行われる通信は、負荷分散の対象である。例えば、コンテナ30〜コンテナ30が提供する機能を機能Aとする。また、コンテナ間で行われる通信が、ラウンドロビンで分散されるとする。図17に示す例において、コンテナ20がコンテナ30と通信を行った後、機能Aを提供するコンテナと通信を再度行う場合、コンテナ20は、コンテナ30と通信を行う。 The communication performed between the containers shown in FIG. 17 is the target of load balancing. For example, the function provided by the containers 30 1 to 30 m is referred to as function A. Further, it is assumed that the communication performed between the containers is distributed by round robin. In the example illustrated in FIG. 17, when the container 20 1 communicates with the container 30 1 and then communicates again with the container that provides the function A, the container 20 1 communicates with the container 30 2 .

また、コンテナ実行サーバは、コンテナをスケールアウトすることによって、コンテナが処理可能な処理量を増やすことができる。また、コンテナ実行サーバは、コンテナをスケールインすることによって、コンテナが処理可能な処理量を減らすことができる。すなわち、スケールアウトおよびスケールインは、コンテナの並列度の制御処理である。   Further, the container execution server can increase the amount of processing that the container can process by scaling out the container. Further, the container execution server can reduce the amount of processing that the container can process by scaling in the container. That is, scale-out and scale-in are control processes for the degree of parallelism of containers.

スケールアウトは、コンテナで実行可能な処理を実行できるインスタンス(すなわち、典型的には実行中のインスタンスのコピー)を、同一または異なるコンピューティングリソースに配備し、処理要求を配備されたインスタンスに分散させる制御処理である。スケールアウトが実行された場合、コンテナが処理可能な処理量が増大する。   Scale-out deploys instances (that is typically a copy of running instances) that can perform work that a container can perform on the same or different computing resources and distributes processing requests to the deployed instances. This is a control process. When scale-out is executed, the amount of processing that the container can process increases.

スケールインは、スケールアウトで配備されたインスタンスの配備を解除する処理である。スケールインが実行された場合、例えばコンピューティングリソースの消費量が処理量に対して適正な量に調整される。すなわち、リソースの消費量が抑えられる。   Scale-in is a process of undeploying the instance deployed by scale-out. When the scale-in is executed, for example, the consumption amount of computing resources is adjusted to an appropriate amount with respect to the processing amount. That is, the consumption of resources can be suppressed.

後述のように、メッセージングサービスは、スケールインおよびスケールアウトによるインスタンスの増減に合わせてインスタンス間で負荷分散を行う。インスタンス間で負荷分散が行われる場合、高負荷に耐久可能なサービスが提供される。   As described later, the messaging service balances the load among the instances as the number of instances increases or decreases due to scale-in and scale-out. When load balancing is performed between instances, a service that can endure high load is provided.

例えば、実行時にリソースを多く消費するアプリケーションロジックを含むウェブサービスを構成するアプリケーションサーバの機能を提供するコンテナを考える。コンテナに対応するインスタンスの数が単位時間当たりのリクエスト数に応じて1から複数に増やされることによって、クライアント端末からの全てのリクエストに即座に応答可能な高負荷対応型サービスが提供される。   For example, consider a container that provides the functionality of an application server that makes up a web service that includes application logic that consumes many resources at runtime. By increasing the number of instances corresponding to the container from one to a plurality according to the number of requests per unit time, it is possible to provide a high-load compatible service that can immediately respond to all requests from client terminals.

1つの組織には、1つ以上のコンテナグループが含まれる。また、コンテナグループには、1つ以上のインスタンスが含まれる。同じグループに属する各コンテナに対応するインスタンスは、通常同じコンテナイメージから生成されたインスタンスであるコピーインスタンスである。さらに、コンテナまたはコンテナグループを束ねる上位の単位として、サービスが定義される。   One organization includes one or more container groups. Further, the container group includes one or more instances. The instance corresponding to each container belonging to the same group is usually a copy instance which is an instance generated from the same container image. Furthermore, a service is defined as a higher-level unit that bundles containers or container groups.

米国特許出願公開第2012/0159523号明細書U.S. Patent Application Publication No. 2012/0159523 米国特許出願公開第2014/0283045号明細書U.S. Patent Application Publication No. 2014/0283045

コンテナ間で行われる通信を監視し、監視結果を用いてコンテナに対応するインスタンス等の不正動作を検出する手段は提供されていない。   No means is provided for monitoring communication performed between containers and detecting unauthorized operation of an instance or the like corresponding to the container by using the monitoring result.

特許文献1には、多重テナント用の多数のミドルウェア構成要素を間貸し(ホスト)する手法が記載されている。特許文献1に記載されている手法では、サンドボックスで実行されるコンテナの通信に処理を追加することが想定されている。なお、サンドボックスは、プログラムがシステムの他の部分に悪影響を及ぼすことがないように設計された環境である。しかし、特許文献1に記載されている手法では、メッセージングサービスがコンテナの通信を監視することは想定されていない。   Patent Document 1 describes a method of lending (hosting) a large number of middleware components for multiple tenants. The method described in Patent Document 1 is supposed to add processing to the communication of the container executed in the sandbox. The sandbox is an environment designed so that the program does not adversely affect other parts of the system. However, the method described in Patent Document 1 does not assume that the messaging service monitors the communication of the container.

また、特許文献2には、通信監視の結果に基づいて通信の異常の有無を判定する手法が記載されている。しかし、特許文献2に記載されている手法では、コンテナ間で行われる通信が監視対象に含まれていない。   Further, Patent Document 2 describes a method of determining whether there is a communication abnormality based on the result of communication monitoring. However, in the method described in Patent Document 2, the communication performed between the containers is not included in the monitoring target.

そこで、本発明は、コンテナ間で行われる通信の監視結果を用いて不正動作を検出できる監視システム、監視方法および監視プログラムを提供することを目的とする。   Therefore, an object of the present invention is to provide a monitoring system, a monitoring method, and a monitoring program that can detect an unauthorized operation by using a monitoring result of communication performed between containers.

本発明による監視システムは、サーバのオペレーティングシステム内のユーザ空間が仮想的に分割された空間をそれぞれ有しオペレーティングシステム内のカーネル空間を共用する複数のインスタンス間で行われる通信を監視する監視手段と、監視手段が通信を監視した結果である監視結果を用いて複数のインスタンス間で行われる通信のうち異常な通信を検出する検出手段とを含み、監視手段は、複数のインスタンス間で行われる通信におけるメッセージ量を集計し、メッセージ量が集計された結果を監視結果に含めることを特徴とする。 Monitoring system according to the present invention includes a monitoring means for monitoring the communications user space within the server's operating system is performed across multiple instances sharing the kernel space of the operating system has a virtually divided spaces respectively And a detection unit that detects abnormal communication among the plurality of instances using the monitoring result that is the result of monitoring the communication by the monitoring unit, and the monitoring unit includes the communication performed between the plurality of instances. It is characterized in that the message amount in the above is aggregated, and the result of the aggregated message amount is included in the monitoring result .

本発明による監視方法は、サーバのオペレーティングシステム内のユーザ空間が仮想的に分割された空間をそれぞれ有しオペレーティングシステム内のカーネル空間を共用する複数のインスタンス間で行われる通信を監視し、通信が監視された結果である監視結果を用いて複数のインスタンス間で行われる通信のうち異常な通信を検出し、複数のインスタンス間で行われる通信におけるメッセージ量を集計し、メッセージ量が集計された結果を監視結果に含めることを特徴とする。 Monitoring method according to the invention monitors the communication user space within the server's operating system is performed between a plurality of instances sharing kernel space in the operating system has a virtually divided spaces respectively, communication Abnormal communication is detected among the communication performed between multiple instances using the monitoring result, which is the result of monitoring, and the message amount of the communication performed between multiple instances is totaled, and the result of totaling the message amount Is included in the monitoring result .

本発明による監視プログラムは、コンピュータに、サーバのオペレーティングシステム内のユーザ空間が仮想的に分割された空間をそれぞれ有しオペレーティングシステム内のカーネル空間を共用する複数のインスタンス間で行われる通信を監視する監視処理、および通信が監視された結果である監視結果を用いて複数のインスタンス間で行われる通信のうち異常な通信を検出する検出処理を実行させるための監視プログラムであって、監視処理で、複数のインスタンス間で行われる通信におけるメッセージ量を集計させ、メッセージ量が集計された結果を監視結果に含めさせることを特徴とする。 A monitoring program according to the present invention monitors a computer for communication performed between a plurality of instances each having a virtual space of a user space in an operating system of a server and sharing a kernel space in the operating system. A monitoring program for executing a monitoring process and a detection process for detecting an abnormal communication among the communication performed between a plurality of instances by using the monitoring result which is the result of monitoring the communication. The feature is that the message amount in the communication performed between a plurality of instances is totaled, and the result of totaling the message amount is included in the monitoring result .

本発明によれば、コンテナ間で行われる通信の監視結果を用いて不正動作を検出できる。   According to the present invention, an unauthorized operation can be detected by using the monitoring result of communication performed between containers.

本発明による監視システムの第1の実施形態の構成例を示すブロック図である。It is a block diagram which shows the structural example of 1st Embodiment of the monitoring system by this invention. 第1の実施形態の監視システム10による監視処理の動作を示すフローチャートである。6 is a flowchart showing an operation of a monitoring process by the monitoring system 10 of the first embodiment. 本発明による監視システムの第2の実施形態の構成例を示すブロック図である。It is a block diagram which shows the structural example of 2nd Embodiment of the monitoring system by this invention. Publish/Subscribe型のメッセージキューが用いられた場合のメッセージの伝送処理の例を示す説明図である。FIG. 11 is an explanatory diagram showing an example of message transmission processing when a Publish / Subscribe type message queue is used. データセンタ100の構成例を示すブロック図である。3 is a block diagram showing a configuration example of a data center 100. FIG. 第2の実施形態のメッセージングサービス140による通信監視設定処理の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the communication monitoring setting process by the messaging service 140 of 2nd Embodiment. サービスの構成情報の例を示す説明図である。It is explanatory drawing which shows the example of the structure information of a service. PublisherリストとSubscriberリストの例を示す説明図である。It is explanatory drawing which shows the example of a Publisher list and a Subscriber list. サービスとコンテナの対応関係の例を示す説明図である。It is explanatory drawing which shows the example of the correspondence of a service and a container. 監視対象が選択されるサービス選択画面の例を示す説明図である。It is an explanatory view showing an example of a service selection screen in which a monitoring target is selected. 第2の実施形態の通信解析サービス160による監視結果解析処理の動作を示すフローチャートである。It is a flow chart which shows operation of surveillance result analysis processing by communication analysis service 160 of a 2nd embodiment. メッセージングサービス140が生成した監視結果の例を示す説明図である。It is explanatory drawing which shows the example of the monitoring result which the messaging service 140 produced | generated. メッセージングサービス140が生成した監視結果の他の例を示す説明図である。It is explanatory drawing which shows the other example of the monitoring result which the messaging service 140 produced | generated. メッセージングサービス140によるウェブ画面での報告の例を示す説明図である。It is explanatory drawing which shows the example of the report on the web screen by the messaging service 140. データセンタ100の他の構成例を示すブロック図である。FIG. 6 is a block diagram showing another configuration example of the data center 100. データセンタに配備されるコンテナの例を示す説明図である。It is explanatory drawing which shows the example of the container provided in a data center. データセンタに配備されるコンテナの他の例を示す説明図である。It is explanatory drawing which shows the other example of the container arrange | positioned at a data center.

実施形態1.
以下、本発明の実施形態を、図面を参照して説明する。図1は、本発明による監視システムの第1の実施形態の構成例を示すブロック図である。本発明による監視システム10は、サーバのオペレーティングシステム内のユーザ空間が仮想的に分割された空間をそれぞれ有しオペレーティングシステム内のカーネル空間を共用する複数のインスタンス(例えば、起動したコンテナ)間で行われる通信を監視する監視手段11(例えば、メッセージングサービス140)を含む。
Embodiment 1.
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing a configuration example of a first embodiment of a monitoring system according to the present invention. The monitoring system 10 according to the present invention operates between a plurality of instances (for example, activated containers) that each have a virtual space into which the user space in the server operating system is shared and share the kernel space in the operating system. Monitoring means 11 (e.g., messaging service 140) for monitoring any communication that may occur.

以下、監視システム10による監視処理を説明する。図2は、第1の実施形態の監視システム10による監視処理の動作を示すフローチャートである。   Hereinafter, the monitoring process by the monitoring system 10 will be described. FIG. 2 is a flowchart showing the operation of the monitoring processing by the monitoring system 10 of the first embodiment.

監視手段11は、監視対象のコンテナが起動したインスタンス間で行われる通信を監視する(ステップS11)。監視した後、監視システム10は、監視処理を終了する。   The monitoring means 11 monitors the communication performed between the instances activated by the container to be monitored (step S11). After monitoring, the monitoring system 10 ends the monitoring process.

そのような構成により、監視システムは、コンテナ間で行われる通信の監視結果を用いて不正動作を検出できる。   With such a configuration, the monitoring system can detect an unauthorized operation by using the monitoring result of the communication performed between the containers.

また、監視システム10は、監視手段11が通信を監視した結果である監視結果を用いて複数のインスタンス間で行われる通信のうち異常な通信を検出する検出手段(例えば、通信解析サービス160)を含んでもよい。   The monitoring system 10 also includes a detection unit (for example, the communication analysis service 160) that detects abnormal communication among the communication performed between a plurality of instances using the monitoring result that is the result of monitoring the communication by the monitoring unit 11. May be included.

そのような構成により、監視システムは、コンテナ間で行われる異常な通信を検出できる。   With such a configuration, the monitoring system can detect abnormal communication between containers.

また、監視手段11は、複数のインスタンス間で行われる通信におけるメッセージ量を集計し、メッセージ量が集計された結果を監視結果に含めてもよい。   Further, the monitoring unit 11 may total the message amount in the communication performed between the plurality of instances, and may include the result of the total message amount in the monitoring result.

そのような構成により、監視システムは、コンテナ間で行われる通信におけるメッセージ数またはバイト数の集計値を用いて異常な通信を検出できる。   With such a configuration, the monitoring system can detect abnormal communication by using the aggregate value of the number of messages or the number of bytes in the communication performed between the containers.

また、検出手段は、メッセージ量が集計された結果が示す値が所定の閾値を超えている通信を異常な通信として検出してもよい。   Further, the detection means may detect communication in which the value indicated by the result of totaling the message amount exceeds a predetermined threshold as abnormal communication.

そのような構成により、監視システムは、正常な通信の範囲に対応する所定の閾値を用いて異常な通信を検出できる。   With such a configuration, the monitoring system can detect abnormal communication using a predetermined threshold value corresponding to the range of normal communication.

また、検出手段は、メッセージ量が集計された結果が示す複数の値が所定の関係式を満たさない通信を異常な通信として検出してもよい。   Further, the detection unit may detect communication in which a plurality of values indicated by the result of totaling the message amount do not satisfy a predetermined relational expression, as abnormal communication.

そのような構成により、監視システムは、正常な通信に対応する所定の関係式を用いて異常な通信を検出できる。   With such a configuration, the monitoring system can detect abnormal communication using a predetermined relational expression corresponding to normal communication.

また、監視手段11は、検出手段により検出された異常な通信の内容を所定の方法で報告してもよい。   Further, the monitoring means 11 may report the content of abnormal communication detected by the detection means by a predetermined method.

そのような構成により、監視システムは、コンテナの利用者に発生した異常な通信の内容を報告できる。   With such a configuration, the monitoring system can report the content of abnormal communication that has occurred to the user of the container.

また、監視手段11は、複数のインスタンス間で行われる通信のうち所定の条件を満たす通信を監視してもよい。   Further, the monitoring unit 11 may monitor the communication satisfying a predetermined condition among the communication performed between the plurality of instances.

また、所定の条件を満たす通信は、予め定義されたPublisherリスト、またはSubscriberリストに示されているコンテナに対応するインスタンス間で行われる通信でもよい。   Further, the communication satisfying the predetermined condition may be communication performed between the instances corresponding to the containers shown in the publisher list or the subscriber list defined in advance.

また、所定の条件を満たす通信は、予め定義されたサービスを構成するコンテナに対応するインスタンス間で行われる通信でもよい。   Further, the communication satisfying the predetermined condition may be communication performed between the instances corresponding to the containers configuring the predefined service.

そのような構成により、監視システムは、通信の監視に係る負担を軽減できる。   With such a configuration, the monitoring system can reduce the burden of monitoring communication.

また、監視手段11は、予め定義されたサンプリングルールに基づいてサンプリングされた監視結果を検出手段に入力してもよい。   Further, the monitoring means 11 may input the monitoring result sampled based on a predefined sampling rule to the detection means.

そのような構成により、監視システムは、所定の条件を満たす監視結果を用いて異常な通信を検出できる。   With such a configuration, the monitoring system can detect abnormal communication by using the monitoring result satisfying a predetermined condition.

実施形態2.
[構成の説明]
次に、本発明の第2の実施形態を、図面を参照して説明する。図3は、本発明による監視システムの第2の実施形態の構成例を示すブロック図である。図3に示すように、本実施形態の監視システム10は、データセンタ100と、クライアント端末201〜クライアント端末20Kと、通信ネットワーク300とを含む。なお、Kは1以上の整数である。
Embodiment 2.
[Description of configuration]
Next, a second embodiment of the present invention will be described with reference to the drawings. FIG. 3 is a block diagram showing a configuration example of the second embodiment of the monitoring system according to the present invention. As shown in FIG. 3, the monitoring system 10 of this embodiment includes a data center 100, client terminals 201 to 20K, and a communication network 300. Note that K is an integer of 1 or more.

また、図3に示すように、データセンタ100は、ゲートウェイ110と、コンテナ実行サーバ121〜コンテナ実行サーバ12Mと、コンテナ131〜コンテナ13Nと、メッセージングサービス140と、構成管理手段150と、通信解析サービス160とを含む。なお、M、Nは、それぞれ1以上の整数である。   Further, as shown in FIG. 3, the data center 100 includes a gateway 110, a container execution server 121 to a container execution server 12M, a container 131 to a container 13N, a messaging service 140, a configuration management unit 150, and a communication analysis service. 160 and. Note that each of M and N is an integer of 1 or more.

ゲートウェイ110は、クライアント端末からの接続を受け付ける機能を有する。ゲートウェイ110は、例えばTLS(Transport Layer Security)を用いてクライアント端末からの接続を受け付けることによって、クライアント端末が通信ネットワーク300を介して送受信するデータを暗号化してもよい。   The gateway 110 has a function of accepting a connection from a client terminal. The gateway 110 may encrypt data transmitted and received by the client terminal via the communication network 300 by accepting a connection from the client terminal using, for example, TLS (Transport Layer Security).

また、ゲートウェイ110は、物理的な装置でもよいし、VM(Virtual Machine:仮想マシン)でもよい。また、ゲートウェイ110は、冗長に構成されていてもよく、さらにクライアント端末からの接続が負荷分散されるように構成されていてもよい。さらに、ゲートウェイ110は、他のデータセンタと接続可能なインタフェースでもよい。   The gateway 110 may be a physical device or a VM (Virtual Machine). Further, the gateway 110 may be configured redundantly, and may be configured so that the connection from the client terminal is load-balanced. Furthermore, the gateway 110 may be an interface that can be connected to another data center.

コンテナ実行サーバ121〜コンテナ実行サーバ12Mには、コンテナを配備し、コンテナを実行するためのプラットフォームソフトウェアが含まれる。プラットフォームソフトウェアは、例えばDockerである。   The container execution server 121 to the container execution server 12M include platform software for deploying the container and executing the container. The platform software is, for example, Docker.

コンテナ実行サーバは、例えばクラスタサーバである。また、コンテナ実行サーバは、物理サーバでもよいし、仮想サーバでもよい。また、コンテナ実行サーバ121〜コンテナ実行サーバ12Mは、通信ネットワーク等を介して通信可能に接続されている。   The container execution server is, for example, a cluster server. The container execution server may be a physical server or a virtual server. The container execution server 121 to the container execution server 12M are communicably connected via a communication network or the like.

コンテナ実行サーバは、CPU(Central Processing Unit)、メモリ、ディスク、ネットワーク等のリソースを物理的、または仮想的に有する。コンテナ実行サーバで実行されるOSに、コンテナ実行サーバが有するリソースが提供される。   The container execution server physically or virtually has resources such as a CPU (Central Processing Unit), memory, disk, and network. The resources of the container execution server are provided to the OS executed by the container execution server.

OSは、プラットフォームソフトウェアにリソースを提供する。OSからリソースを提供されると、プラットフォームソフトウェアは、コンテナ実行環境にコンテナを配備し、配備されたコンテナを実行する。   The OS provides resources to the platform software. When the resource is provided from the OS, the platform software deploys the container in the container execution environment and executes the deployed container.

メッセージングサービス140は、コンテナ131〜コンテナ13N間で行われる通信を媒介する機能を有する。すなわち、メッセージングサービス140は、コンテナ131〜コンテナ13Nに対してメッセージバスとして振る舞う。また、メッセージングサービス140は、受け付けられたクライアント端末からのリクエストをコンテナへ伝送してもよい。   The messaging service 140 has a function of mediating communication performed between the containers 131 to 13N. That is, the messaging service 140 acts as a message bus for the containers 131 to 13N. The messaging service 140 may also transmit the received request from the client terminal to the container.

本実施形態においてコンテナ間で行われる通信は、メッセージングサービス140を介したメッセージ交換形式で行われる。なお、コンテナ間で行われる通信は、他の形式で行われてもよい。   In the present embodiment, the communication performed between the containers is performed in a message exchange format via the messaging service 140. The communication performed between the containers may be performed in another format.

また、信頼性の向上等を目的として、メッセージの伝送には、Publish/Subscribe型のメッセージキューが用いられてもよい。Publish/Subscribe型のメッセージキューが用いられる場合、メッセージを送信するコンテナは、メッセージバスにPublishの処理を行った後にメッセージバスにメッセージを送る。メッセージを受信するコンテナは、メッセージバスにSubscribeの処理を予め行い、所定の条件を満たすメッセージの受信を予約する。   For the purpose of improving reliability, a Publish / Subscribe type message queue may be used for message transmission. When a Publish / Subscribe type message queue is used, the container that sends the message sends the message to the message bus after performing the Publish process on the message bus. The container that receives the message performs the Subscribe process on the message bus in advance and reserves the reception of the message that satisfies the predetermined condition.

図4は、Publish/Subscribe型のメッセージキューが用いられた場合のメッセージの伝送処理の例を示す説明図である。図4に示すように、メッセージを送信するコンテナ131は、メッセージバスにPublish”aaa”の処理を行った後にメッセージバスにメッセージを送る。また、メッセージを受信するコンテナ133は、メッセージバスにSubscribe”aaa”の処理を予め行う。従って、コンテナ131からコンテナ133に、”aaa”に関するメッセージが確実に伝送される。   FIG. 4 is an explanatory diagram showing an example of message transmission processing when a Publish / Subscribe type message queue is used. As shown in FIG. 4, the container 131 that sends a message sends the message to the message bus after performing the Publish “aaa” process on the message bus. Further, the container 133 which receives the message performs the processing of Subscribe “aaa” on the message bus in advance. Therefore, the message regarding "aaa" is reliably transmitted from the container 131 to the container 133.

メッセージングサービス140は、メッセージが宛先のコンテナに届けられるために使用されるコンテナの配備先に関する情報を保持している。なお、メッセージングサービス140は、コンテナがメッセージバスにSubscribeの処理を行った際にコンテナの配備先に関する情報を取得してもよい。   The messaging service 140 holds information about the deployment destination of the container used for delivering the message to the destination container. Note that the messaging service 140 may acquire the information regarding the deployment destination of the container when the container performs the Subscribe process on the message bus.

メッセージングサービス140は、例えばデータベースにコンテナ131〜コンテナ13Nの配備先に関する情報を保持する。データベースは、例えばオンメモリデータベースである。   The messaging service 140 holds information regarding the deployment destinations of the containers 131 to 13N in a database, for example. The database is, for example, an on-memory database.

後述のように、コンテナに対してスケールアウトの処理が実行され、複数のインスタンスが実行されている場合、コンテナグループが形成される。データベースには、コンテナグループに含まれるコンテナに対応するインスタンスそれぞれの配備先に関する情報が保持される。   As will be described later, when a scale-out process is executed on a container and a plurality of instances are executed, a container group is formed. The database holds information about the deployment destination of each instance corresponding to the container included in the container group.

クライアント端末からのアクセス要求に含まれるURL(Uniform Resource Locator)がスケールアウトの処理が実行されたコンテナに対応するインスタンスを示す場合、メッセージングサービス140は、例えばコンテナグループに含まれるいずれかのインスタンスを所定の規則に従って選択する。次いで、メッセージングサービス140は、選択されたインスタンスにアクセス要求を振り分ける。所定の規則は、例えばラウンドロビンである。   When the URL (Uniform Resource Locator) included in the access request from the client terminal indicates an instance corresponding to the container in which the scale-out process is executed, the messaging service 140 determines one of the instances included in the container group, for example. Select according to the rules in. The messaging service 140 then routes the access request to the selected instance. The predetermined rule is, for example, round robin.

また、メッセージングサービス140は、メッセージを監視する機能を有する。メッセージングサービス140は、所定のメッセージを監視対象にすることができる。   Further, the messaging service 140 has a function of monitoring a message. The messaging service 140 can monitor a predetermined message.

例えば、メッセージングサービス140は、全てのメッセージを監視対象にすることができる。全てのメッセージが監視対象である場合、メッセージングサービス140は、漏れなくメッセージを監視できる。   For example, the messaging service 140 can monitor all messages. When all the messages are monitored, the messaging service 140 can monitor the messages without omission.

また、例えばメッセージングサービス140は、Publisherリスト、またはSubscriberリストのうち少なくとも1つのリストを有してもよい。リストを有する場合、メッセージングサービス140は、リストに含まれるPublisherに関するメッセージ、またはSubscriberに関するメッセージを監視対象にすることができる。リストに関連するメッセージが監視対象である場合、メッセージングサービス140の監視に係る負荷が軽減される。   Further, for example, the messaging service 140 may have at least one list of a Publisher list and a Subscriber list. If it has a list, the messaging service 140 can monitor messages related to Publishers included in the list or messages related to Subscribers. When the message related to the list is a monitoring target, the load of monitoring the messaging service 140 is reduced.

また、例えばメッセージングサービス140は、サービスを構成するコンテナに対応するインスタンスのリストを有してもよい。リストを有する場合、メッセージングサービス140は、管理者等が予め指定したサービスを構成するコンテナに対応するインスタンスに関するメッセージを監視対象にすることができる。   Also, for example, the messaging service 140 may have a list of instances corresponding to the containers that make up the service. When the list has the list, the messaging service 140 can monitor a message regarding an instance corresponding to a container that configures a service designated in advance by an administrator or the like.

リストに関連するメッセージが監視対象である場合、メッセージングサービス140の監視に係る負荷が軽減されつつ、重要なサービス等の所望のサービスを構成するコンテナに関するメッセージが監視される。   When the message related to the list is the monitoring target, the load related to the monitoring of the messaging service 140 is reduced, and the message related to the container configuring the desired service such as the important service is monitored.

また、メッセージングサービス140は、監視対象のメッセージを監視した際、様々な処理を行うことによって監視結果を作成する。   In addition, the messaging service 140 creates a monitoring result by performing various processes when monitoring a message to be monitored.

例えば、メッセージングサービス140は、メッセージ数を集計することによって監視結果を作成してもよい。メッセージングサービス140が通信解析サービス160に監視結果であるメッセージ数の集計値を提供する場合、通信解析サービス160は、コンテナ間で行われる通信の粗密の度合いを解析できる。例えば、通信解析サービス160は、通常殆ど通信が行われないコンテナ間で通信が多く行われている特殊な事象を抽出できる。   For example, the messaging service 140 may create the monitoring result by counting the number of messages. When the messaging service 140 provides the communication analysis service 160 with the aggregated value of the number of messages as the monitoring result, the communication analysis service 160 can analyze the degree of density of communication performed between the containers. For example, the communication analysis service 160 can extract a special event in which communication is frequently performed between containers that are normally hardly communicated.

また、例えばメッセージングサービス140は、ポリシに基づいて抽出されたメッセージを取得することによって監視結果を作成してもよい。ポリシにはアクセスポリシ、セキュリティポリシ等が含まれる。例えば、他の情報に比べて機密性の高い情報が格納されているデータソースへの不正なアクセスを禁じるポリシが予めメッセージングサービス140に与えられる場合を想定する。   Further, for example, the messaging service 140 may create the monitoring result by acquiring the message extracted based on the policy. The policy includes an access policy and a security policy. For example, it is assumed that the messaging service 140 is previously provided with a policy that prohibits unauthorized access to a data source that stores information that is more confidential than other information.

不正なアクセスを禁じるポリシが予め与えられると、メッセージングサービス140は、例えばポリシが示すデータソースへのアクセス要求を取得する。データソースへのアクセス要求は、例えば所定のURLへのアクセス要求、所定のファイルへのアクセス要求、または所定のテーブルへのアクセス要求である。メッセージングサービス140は、例えばデータソースへのアクセス回数やアクセス頻度を取得する。   When a policy for prohibiting unauthorized access is given in advance, the messaging service 140 acquires a request for access to a data source indicated by the policy, for example. The access request to the data source is, for example, an access request to a predetermined URL, an access request to a predetermined file, or an access request to a predetermined table. The messaging service 140 acquires, for example, the number of times of access to a data source and the frequency of access.

メッセージングサービス140は、監視結果を通信解析サービス160に送信できる。監視結果が提供されると、通信解析サービス160は、例えば、通信が行われたコンテナ間に関するコンテキストに基づいて監視結果を解析できる。例えば、通信解析サービス160は、通常より高い頻度で所定のテーブルへのアクセスが行われている事象を検出できる。   The messaging service 140 can send the monitoring result to the communication analysis service 160. When the monitoring result is provided, the communication analysis service 160 can analyze the monitoring result based on the context regarding the containers with which the communication is performed, for example. For example, the communication analysis service 160 can detect an event that a predetermined table is accessed more frequently than usual.

構成管理手段150は、コンテナイメージを保存および管理する機能を有する。構成管理手段150は、サービスの状況、コンテナグループの状況、およびコンテナの状況をそれぞれ把握した上でコンテナイメージを管理する。   The configuration management means 150 has a function of storing and managing a container image. The configuration management unit 150 manages the container image after grasping the service status, the container group status, and the container status.

なお、構成管理手段150は、コンテナに対応するインスタンスの配備先に関する情報を保持してもよい。インスタンスの配備先に関する情報を保持する場合、構成管理手段150は、保持されている情報をメッセージングサービス140に提供してもよい。また、構成管理手段150は、後述するサービスの構成情報を管理してもよい。   The configuration management unit 150 may hold information regarding the deployment destination of the instance corresponding to the container. When holding the information regarding the deployment destination of the instance, the configuration management means 150 may provide the held information to the messaging service 140. Further, the configuration management means 150 may manage the configuration information of the service described later.

通信解析サービス160は、メッセージングサービス140から受信した監視結果を解析する機能を有する。通信解析サービス160は、例えば以下の方法のうち少なくともいずれか1つの方法で監視結果を解析する。   The communication analysis service 160 has a function of analyzing the monitoring result received from the messaging service 140. The communication analysis service 160 analyzes the monitoring result by, for example, at least one of the following methods.

例えば、通信解析サービス160は、コンテナに関するネットワークトラフィック(通信量)の状況を示すプロファイル(分析結果)を作成し、作成されたプロファイルから悪意のあるソフトウェア(マルウェアともいう。)、ウィルス、または異常事象を特定する。   For example, the communication analysis service 160 creates a profile (analysis result) indicating the status of network traffic (communication volume) regarding the container, and malicious software (also called malware), virus, or abnormal event from the created profile. Specify.

また、例えば、通信解析サービス160は、ポリシに反する操作を特定する。ポリシに反する操作は、例えば標準ポート以外のポートを用いたアプリケーションの実行、コンテナやユーザによる重要なコンテナやサーバへの平文のユーザ名とパスワードでのログオン、ネットワーク内の機密領域での非暗号化プロトコルの使用である。   Further, for example, the communication analysis service 160 identifies an operation that violates the policy. Operations that violate the policy include, for example, executing an application using a port other than the standard port, logging on a container or user with a plaintext user name and password to an important container or server, or unencrypting in a confidential area in the network. The use of protocols.

また、例えば、通信解析サービス160は、コンテナに関する通信データと、セキュリティデバイスから送信されたイベントを示すログを比較することによって、発見されない可能性がある重大な脅威を発見する。   In addition, for example, the communication analysis service 160 discovers a serious threat that may not be discovered by comparing communication data regarding the container with a log indicating an event transmitted from the security device.

具体的には、通信解析サービス160は、例えば以下のように通信状態を分析できる。   Specifically, the communication analysis service 160 can analyze the communication state as follows, for example.

例えば、通信解析サービス160は、メッセージングサービス140から提供されたメッセージ数の集計値に基づいて異常事象を検出できる。絶対量や頻度等のコンテナ間の通信量は、クライアント端末からのアクセスの種別およびアクセス頻度にほぼ依存する。   For example, the communication analysis service 160 can detect an abnormal event based on the aggregate value of the number of messages provided by the messaging service 140. The amount of communication between containers, such as the absolute amount and frequency, depends substantially on the type of access from the client terminal and the access frequency.

上記のコンテナ間の通信量の性質を用いて、通信解析サービス160は、コンテナ間の通信量の正常な範囲を定義できる。定義された正常な範囲を超えたコンテナ間の通信量が検出された場合、通信解析サービス160は、監視結果に関連するコンテナに関する異常を通知する。   The communication analysis service 160 can define the normal range of the communication volume between the containers by using the above-mentioned property of the communication volume between the containers. When the amount of communication between containers that exceeds the defined normal range is detected, the communication analysis service 160 notifies an abnormality regarding the container related to the monitoring result.

コンテナ間の通信量の正常な範囲は、例えば以下のいずれかの方法で定義される。正常な範囲は、以下のいずれかの方法が単独で利用された上で定義されてもよいし、複数の方法が組み合わせられて利用された上で定義されてもよい。   The normal range of the communication volume between the containers is defined by, for example, one of the following methods. The normal range may be defined by using any one of the following methods alone, or may be defined by using a plurality of methods in combination.

1)閾値型;例えば、通信解析サービス160は、コンテナの組み合わせ毎、送信コンテナ毎、または受信コンテナ毎に、コンテナ間の通信量の上限または下限を定義する。コンテナ間の通信量が定義された上限または下限を超えた場合、通信解析サービス160は、例えば組み合わせられたコンテナ、送信コンテナ、または受信コンテナのいずれかに関する警報を通知する。なお、通信解析サービス160は、通信量の上限と下限の両方を定義してもよい。   1) Threshold type: For example, the communication analysis service 160 defines an upper limit or a lower limit of the communication amount between containers for each combination of containers, each transmitting container, or each receiving container. If the amount of communication between the containers exceeds a defined upper or lower limit, the communication analysis service 160 notifies an alarm regarding, for example, either the combined container, the sending container, or the receiving container. The communication analysis service 160 may define both the upper limit and the lower limit of the communication amount.

2)ベースライン型;例えば、通信解析サービス160は、コンテナの組み合わせ毎、送信コンテナ毎、または受信コンテナ毎に、コンテナ間の通信量の、時刻、曜日、月、年等の周期的単位毎の正常な範囲(以下、ベースラインという。)を定義する。すなわち、通信解析サービス160は、周期的に変化する閾値を定義する。   2) Baseline type; for example, the communication analysis service 160 uses, for each combination of containers, each transmitting container, or each receiving container, for the communication unit between containers for each periodic unit such as time, day, month, and year. A normal range (hereinafter referred to as a baseline) is defined. That is, the communication analysis service 160 defines a threshold that changes periodically.

メッセージのメッセージ数またはバイト数の集計結果は、サービスが安定して提供されている間、リクエスト数に応じた範囲で推移する。通信解析サービス160は、例えば所定の期間が1周期であるベースラインをN周期分の平均値を用いて作成する。所定の期間は、例えば1日である。   The aggregation result of the number of messages or the number of bytes of a message changes within the range according to the number of requests while the service is provided stably. The communication analysis service 160 creates, for example, a baseline whose predetermined period is one cycle by using an average value for N cycles. The predetermined period is, for example, one day.

コンテナ間の通信量がベースラインを超えた場合、通信解析サービス160は、例えば組み合わせられたコンテナ、送信コンテナ、または受信コンテナのいずれかに関する警報を通知する。   If the amount of communication between the containers exceeds the baseline, the communication analysis service 160 notifies an alarm regarding, for example, either the combined container, the transmitting container, or the receiving container.

3)統計型;例えば、通信解析サービス160は、コンテナの組み合わせ毎、送信コンテナ毎、または受信コンテナ毎に、コンテナ間の通信量の2以上の値に対して相関関係を定義する。   3) Statistical type; for example, the communication analysis service 160 defines a correlation with respect to two or more values of communication volume between containers for each combination of containers, each transmission container, or each reception container.

通信解析サービス160は、所定期間における時系列の値を用いて相関関係を定義してもよい。モデル化された相関関係を定義するために、通信解析サービス160は、線形関数、自己回帰線形関数、確率分布等を用いてもよいし、マハラノビス距離等の統計手法を用いてもよい。なお、マハラノビス距離は、マハラノビスモデルにおける距離である。   The communication analysis service 160 may define the correlation using time-series values in a predetermined period. In order to define the modeled correlation, the communication analysis service 160 may use a linear function, an autoregressive linear function, a probability distribution, or the like, or a statistical method such as Mahalanobis distance. The Mahalanobis distance is a distance in the Mahalanobis model.

定義された相関関係が維持されなくなった時、通信解析サービス160は、例えば相関関係を維持しない値に関連するコンテナに関する警報を通知する。相関関係に線形関数、または自己回帰線形関数が用いられた場合、通信解析サービス160は、例えば相関関係に基づいて一方の通信量から予測される他方の通信量の予測値が、観測値と所定値以上乖離した場合に警報を通知する。   When the defined correlation is no longer maintained, the communication analysis service 160 notifies, for example, an alert regarding the container associated with the non-correlated value. When a linear function or an autoregressive linear function is used for the correlation, the communication analysis service 160 determines, for example, that the predicted value of the other communication amount predicted from the one communication amount based on the correlation is the observed value and the predetermined value. An alarm is notified when the value deviates by more than a value.

また、相関関係に確率分布が用いられた場合、通信解析サービス160は、例えば一方の通信量に対して他方の通信量の観測値が得られる確率が所定値以下である場合に警報を通知する。すなわち、通信解析サービス160は、他方の通信量の観測値が通常観測されない値である場合に警報を通知する。   Further, when the probability distribution is used for the correlation, the communication analysis service 160 notifies an alarm, for example, when the probability that the observed value of the other traffic is obtained for one traffic is less than or equal to a predetermined value. . That is, the communication analysis service 160 notifies an alarm when the observed value of the other communication amount is a value that is not normally observed.

また、相関関係にマハラノビス距離が用いられた場合、通信解析サービス160は、例えばコンテナ間の通信量の2以上の値を用いて算出されるマハラノビス距離が所定値以上である場合に警報を通知する。   Further, when the Mahalanobis distance is used for the correlation, the communication analysis service 160 notifies an alarm when the Mahalanobis distance calculated using, for example, two or more values of the communication amount between the containers is a predetermined value or more. .

[動作の説明]
以下、本実施形態の監視システム10の動作を図5〜図14を参照して説明する。
[Description of operation]
Hereinafter, the operation of the monitoring system 10 of this embodiment will be described with reference to FIGS.

図5は、データセンタ100の構成例を示すブロック図である。図5に示すように、コンテナ実行サーバ121は、コンテナ131とコンテナ132を実行している。また、コンテナ実行サーバ122は、コンテナ133とコンテナ134を実行している。なお、コンテナ131、コンテナ132、コンテナ133、およびコンテナ134の各名称は、それぞれContainer_101、Container_102、Container_200、Container_300である。   FIG. 5 is a block diagram showing a configuration example of the data center 100. As shown in FIG. 5, the container execution server 121 executes a container 131 and a container 132. Further, the container execution server 122 executes the container 133 and the container 134. The names of the container 131, the container 132, the container 133, and the container 134 are Container_101, Container_102, Container_200, and Container_300, respectively.

また、図5に示すように、Container_101とContainer_102は、コンテナグループであるContainer_Group_1に属している。また、図5に示すように、Container_101は、通信経路171を介してContainer_200と通信可能に接続されている。また、Container_102は、通信経路172を介してContainer_200と通信可能に接続されている。また、Container_200は、通信経路173を介してContainer_300と通信可能に接続されている。   Further, as shown in FIG. 5, Container_101 and Container_102 belong to Container_Group_1 which is a container group. Further, as shown in FIG. 5, Container_101 is communicatively connected to Container_200 via a communication path 171. Further, Container_102 is communicatively connected to Container_200 via a communication path 172. Further, the Container_200 is communicably connected to the Container_300 via the communication path 173.

本例におけるデータセンタ100の構成が図5に示すような構成であることを前提に、監視システム10の動作を説明する。最初に、メッセージングサービス140がコンテナ間で行われる通信の監視の設定を行う処理を説明する。図6は、第2の実施形態のメッセージングサービス140による通信監視設定処理の動作を示すフローチャートである。   The operation of the monitoring system 10 will be described on the assumption that the configuration of the data center 100 in this example is as shown in FIG. First, a process in which the messaging service 140 sets the monitoring of communication performed between containers will be described. FIG. 6 is a flowchart showing the operation of communication monitoring setting processing by the messaging service 140 according to the second embodiment.

メッセージングサービス140は、ユーザから指定されたサービスの構成情報を取得する(ステップS101)。   The messaging service 140 acquires the configuration information of the service designated by the user (step S101).

図7は、サービスの構成情報の例を示す説明図である。ステップS101で、メッセージングサービス140は、図7に示すような構成情報を取得する。   FIG. 7 is an explanatory diagram showing an example of service configuration information. In step S101, the messaging service 140 acquires the configuration information as shown in FIG.

図7に示すように、サービスの構成情報は、コンテナの階層構造を示す。コンテナの階層構造において、サービスは、最上位の構成単位である。また、サービスは、サービス詳細を含む。すなわち、サービスは、サービス詳細の検索キーとして用いられる。   As shown in FIG. 7, the service configuration information indicates a hierarchical structure of containers. In the hierarchical structure of the container, the service is the highest-level constituent unit. The service also includes service details. That is, the service is used as a search key for the service details.

また、図7に示すように、サービス詳細は、コンテナグループおよびコンテナを含む。また、コンテナグループは、コンテナグループ詳細を含む。すなわち、コンテナグループは、コンテナグループ詳細の検索キーとして用いられる。   Moreover, as shown in FIG. 7, the service details include a container group and a container. Also, the container group includes details of the container group. That is, the container group is used as a search key for details of the container group.

また、図7に示すように、コンテナグループ詳細は、コンテナを含む。メッセージングサービス140は、ユーザから指定されたサービスを検索キーとして用いることによって、サービスを構成するコンテナの情報を得ることができる。   Further, as shown in FIG. 7, the container group details include containers. The messaging service 140 can obtain the information of the container configuring the service by using the service designated by the user as the search key.

次いで、メッセージングサービス140は、各通信経路にコンテナ間で行われる通信に対する監視設定を行う(ステップS102)。なお、メッセージングサービス140は、設定対象の通信経路が削除された監視設定が存在する場合、ステップS102で対象の監視設定を削除する。   Next, the messaging service 140 performs monitoring setting for communication performed between containers on each communication path (step S102). Note that the messaging service 140 deletes the target monitor setting in step S102 when the monitor setting in which the communication path of the setting target is deleted exists.

例えば、全てのメッセージを監視する場合、メッセージングサービス140は、メッセージングサービス140に入力された全てのメッセージが監視対象になるような監視設定を行う。   For example, when monitoring all the messages, the messaging service 140 makes a monitoring setting such that all the messages input to the messaging service 140 become the monitoring targets.

また、例えば、Publisherリスト、またはSubscriberリストに基づいて監視する場合、メッセージングサービス140は、Publisherリスト、またはSubscriberリストを予め取得する。図8は、PublisherリストとSubscriberリストの例を示す説明図である。   Further, for example, in the case of monitoring based on the Publisher list or the Subscriber list, the messaging service 140 acquires the Publisher list or the Subscriber list in advance. FIG. 8 is an explanatory diagram showing an example of the Publisher list and the Subscriber list.

Publisherリスト、またはSubscriberリストが与えられた場合、メッセージングサービス140は、入力されたメッセージの送信元、またはメッセージの宛先を与えられたリストと照合する。照合することによって、メッセージングサービス140は、入力されたメッセージが監視対象のメッセージであるか否かを判断する。   Given a Publisher or Subscriber list, the messaging service 140 will match the source or destination of the entered message with the given list. By matching, the messaging service 140 determines whether the input message is a message to be monitored.

また、管理者等が予め指定したサービスが監視対象になる場合、メッセージングサービス140は、サービスとコンテナの対応関係を示すリストを予め取得する。また、メッセージングサービス140は、監視対象のサービスのリストも予め取得する。メッセージングサービス140は、監視対象のサービスを構成するコンテナに関するメッセージであるか否かを判断する。   In addition, when a service designated in advance by an administrator or the like is to be monitored, the messaging service 140 acquires in advance a list indicating the correspondence relationship between the service and the container. The messaging service 140 also acquires in advance a list of services to be monitored. The messaging service 140 determines whether or not the message is a message regarding a container that constitutes a service to be monitored.

図9は、サービスとコンテナの対応関係の例を示す説明図である。図9に示すサービス名は、図7に示す定義されたサービス名である。また、図9に示す監視は、監視対象のサービスと監視対象外のサービスのいずれであるかを示す。Trueは、監視対象のサービスであることを意味する。また、Falseは、監視対象外のサービスであることを意味する。また、図9に示すコンテナリストには、サービス名が示すサービスにおける監視対象のコンテナが含まれる。   FIG. 9 is an explanatory diagram showing an example of the correspondence relationship between services and containers. The service name shown in FIG. 9 is the defined service name shown in FIG. Further, the monitoring shown in FIG. 9 indicates whether the service is a monitoring target service or a non-monitoring service. True means that it is a monitored service. False means that the service is not monitored. Further, the container list shown in FIG. 9 includes containers to be monitored in the service indicated by the service name.

また、ユーザは、画面インタフェースを介して監視対象のサービスおよびコンテナをメッセージングサービス140に入力してもよい。図10は、監視対象が選択されるサービス選択画面の例を示す説明図である。図10には、サービス選択画面と、コンテナ選択画面が示されている。   The user may also enter the service and container to be monitored into the messaging service 140 via the screen interface. FIG. 10 is an explanatory diagram showing an example of a service selection screen for selecting a monitoring target. FIG. 10 shows a service selection screen and a container selection screen.

図10に示すサービス選択画面を用いる場合、ユーザは、サービスが列挙されたリストの中から監視対象のサービスを選択し、「OK」ボタンを押下して選択内容を確定させる。次いで、コンテナ選択画面が表示される。   When using the service selection screen shown in FIG. 10, the user selects a service to be monitored from the list of services and presses the “OK” button to confirm the selection. Then, the container selection screen is displayed.

コンテナ選択画面が表示された後、ユーザは、サービスを構成する全コンテナが監視対象になるようにコンテナを選択し、「OK」ボタンを押下して選択内容を確定させる。または、コンテナ選択画面が表示された後、ユーザは、サービスを構成する全コンテナのうちの一部のコンテナが監視対象になるようにコンテナをさらに選択し、「OK」ボタンを押下して選択内容を確定させてもよい。   After the container selection screen is displayed, the user selects the containers so that all the containers that make up the service are to be monitored, and presses the "OK" button to confirm the selection. Alternatively, after the container selection screen is displayed, the user further selects a container so that a part of all the containers that make up the service becomes a monitoring target, and presses the “OK” button to select the contents. May be confirmed.

次いで、メッセージングサービス140は、監視設定を行う対象の通信経路、および通信経路が存在しない削除対象の監視設定があるか否かを確認する(ステップS103)。まだ監視設定が行われていない通信経路、および削除されていない監視設定がある場合(ステップS103におけるYes)、メッセージングサービス140は、再度ステップS102の処理を行う。   Next, the messaging service 140 confirms whether or not there is a communication path for which monitoring setting is to be performed and whether there is a monitoring setting for deletion that does not have a communication path (step S103). If there is a communication path for which monitoring setting has not been performed and a monitoring setting that has not been deleted (Yes in step S103), the messaging service 140 performs the process of step S102 again.

監視設定が行われていない通信経路、および削除されていない監視設定がない場合(ステップS103におけるNo)、メッセージングサービス140は、通信監視設定処理を終了する。   If there is no communication path for which monitoring setting has not been performed and no monitoring setting that has not been deleted (No in step S103), the messaging service 140 ends the communication monitoring setting process.

メッセージングサービス140は、例えばコンテナグループに対してスケールアウトが実行された場合、すなわちインスタンスが追加された場合、追加されたインスタンスを監視対象に追加するために図6に示す通信監視設定処理を実行する。   The messaging service 140 executes the communication monitoring setting process shown in FIG. 6 in order to add the added instance to the monitoring target when, for example, scale-out is executed for the container group, that is, when the instance is added. .

また、メッセージングサービス140は、例えばコンテナグループに対してスケールインが実行された場合、すなわちインスタンスが削除された場合、削除されたインスタンスを監視対象から削除するために図6に示す通信監視設定処理を実行する。   In addition, for example, when scale-in is executed for the container group, that is, when the instance is deleted, the messaging service 140 performs the communication monitoring setting process illustrated in FIG. 6 in order to delete the deleted instance from the monitoring target. Run.

次に、通信解析サービス160がコンテナ間で行われた通信の監視結果を解析する処理を説明する。図11は、第2の実施形態の通信解析サービス160による監視結果解析処理の動作を示すフローチャートである。   Next, a process in which the communication analysis service 160 analyzes the monitoring result of the communication performed between the containers will be described. FIG. 11 is a flowchart showing the operation of the monitoring result analysis processing by the communication analysis service 160 of the second embodiment.

メッセージングサービス140は、監視設定に基づいてコンテナ間で行われる通信の監視を開始する(ステップS201)。   The messaging service 140 starts monitoring communication performed between the containers based on the monitoring setting (step S201).

コンテナ間で行われる通信の監視が開始された後、メッセージングサービス140は、例えばメッセージ数を集計することによって、監視結果を作成する。例えば、Container_101がPublishの処理を100回行い、Container_200が全てのPublishの処理に対してSubscribeの処理を行う場合、メッセージングサービス140は、メッセージ数として「100」を取得する。   After the monitoring of the communication performed between the containers is started, the messaging service 140 creates the monitoring result, for example, by counting the number of messages. For example, when Container_101 performs Publish processing 100 times and Container_200 performs Subscribe processing for all Publish processing, the messaging service 140 acquires "100" as the number of messages.

図12は、メッセージングサービス140が生成した監視結果の例を示す説明図である。図12に示す監視結果は、メッセージ数の取得結果の例である。   FIG. 12 is an explanatory diagram showing an example of the monitoring result generated by the messaging service 140. The monitoring result shown in FIG. 12 is an example of the message number acquisition result.

図12に示すPublisherは、Publisherであるコンテナを示す。また、Subscriberは、Subscriberであるコンテナを示す。また、Countは、取得されたメッセージの量を示す。Countには、数、バイト数、または頻度(=数/時間)のいずれが記録されてもよい。なお、通信が観測されなかったPublisherとSubscriberの組み合わせに関する監視結果は、作成されなくてもよい。   Publisher shown in FIG. 12 indicates a container that is Publisher. Subscriber indicates a container that is a Subscriber. In addition, Count indicates the amount of acquired messages. Any of the number, the number of bytes, or the frequency (= number / hour) may be recorded in Count. Note that the monitoring result regarding the combination of Publisher and Subscriber for which communication is not observed does not have to be created.

また、コンテナ間で行われる通信の監視が開始された後、メッセージングサービス140は、例えばポリシが示す取得対象のメッセージを取得することによって、監視結果を作成してもよい。   Further, after the monitoring of the communication performed between the containers is started, the messaging service 140 may create the monitoring result by acquiring the acquisition target message indicated by the policy, for example.

図13は、メッセージングサービス140が生成した監視結果の他の例を示す説明図である。図13に示す監視結果は、メッセージ数の取得結果の他の例である。   FIG. 13 is an explanatory diagram showing another example of the monitoring result generated by the messaging service 140. The monitoring result shown in FIG. 13 is another example of the message number acquisition result.

図13に示すPublisherは、Publisherであるコンテナを示す。また、データソースは、アクセスされたデータソースを示す。データソースは、例えばSubscriberであるコンテナと、Subscriberであるコンテナ内のテーブルの組み合わせで表記される。   Publisher shown in FIG. 13 indicates a container that is Publisher. Also, the data source indicates the accessed data source. The data source is represented by, for example, a combination of a container that is a Subscriber and a table in the container that is a Subscriber.

また、Countは、取得されたメッセージの量を示す。Countには、数、バイト数、または頻度(=数/時間)のいずれが記録されてもよい。なお、通信が観測されなかったPublisherとデータソースの組み合わせに関する監視結果は、作成されなくてもよい。   In addition, Count indicates the amount of acquired messages. Any of the number, the number of bytes, or the frequency (= number / hour) may be recorded in Count. It should be noted that the monitoring result regarding the combination of Publisher and data source for which communication has not been observed may not be created.

次いで、メッセージングサービス140は、監視結果を通信解析サービス160に送信する(ステップS202)。メッセージングサービス140は、例えば予め与えられた時間間隔で監視結果を送信する。時間間隔は、例えば5分である。   Next, the messaging service 140 transmits the monitoring result to the communication analysis service 160 (step S202). The messaging service 140 transmits the monitoring result at a predetermined time interval, for example. The time interval is, for example, 5 minutes.

次いで、通信解析サービス160は、送信された監視結果を受信し、受信された監視結果を解析する(ステップS203)。具体的には、通信解析サービス160は、上述した閾値型、ベースライン型、統計型のいずれかの方法で監視結果を解析する。なお、通信解析サービス160は、他の方法で監視結果を解析してもよい。   Next, the communication analysis service 160 receives the transmitted monitoring result and analyzes the received monitoring result (step S203). Specifically, the communication analysis service 160 analyzes the monitoring result by any one of the threshold type, baseline type, and statistical type methods described above. The communication analysis service 160 may analyze the monitoring result by another method.

以下、線形関数が用いられた統計型の解析方法を説明する。メッセージのメッセージ数またはバイト数に関する集計結果は、サービスが安定して提供されている間、リクエスト数に応じた範囲で推移する。   Hereinafter, a statistical analysis method using a linear function will be described. The aggregation result regarding the number of messages or the number of bytes of the message changes within the range according to the number of requests while the service is provided stably.

例えば、所定の時間内の単位時間当たりの通信経路173におけるメッセージバイト数(X)は、データベースへのアクセス回数に比例した数である。また、同じ所定の時間内の通信経路171および通信経路172におけるメッセージバイト数(Y)は、データベースからの応答行数に比例した数である。すなわち、Y=a*Xの関係が成り立つ。なお、aは比例定数である。   For example, the number of message bytes (X) in the communication path 173 per unit time within a predetermined time is a number proportional to the number of times the database is accessed. The number of message bytes (Y) in the communication path 171 and the communication path 172 within the same predetermined time is a number proportional to the number of response rows from the database. That is, the relationship of Y = a * X is established. Note that a is a proportional constant.

通信解析サービス160は、上記のような関係を予め線形モデルとして確立する。所定の時間以後の時間内の単位時間当たりのXとYとの関係が確立された線形モデルが示す関係から大きく外れた場合、通信解析サービス160は、XとYのうち少なくとも1つを外れ値として検出する。外れ値が検出された場合、通信解析サービス160は、異常通信の存在を確定する。   The communication analysis service 160 establishes the above relationship as a linear model in advance. When the relationship between X and Y per unit time within the time after the predetermined time largely deviates from the relationship indicated by the established linear model, the communication analysis service 160 causes at least one of X and Y to be an outlier. To detect as. When an outlier is detected, the communication analysis service 160 determines the existence of abnormal communication.

通信解析サービス160は、ステップS203において閾値型、ベースライン型、統計型のいずれかの方法で解析した監視結果から異常な内容が検出されたか否かを確認する(ステップS204)。異常な内容が検出されなかった場合(ステップS204におけるNo)、通信解析サービス160は、再度ステップS203の処理を行う。   The communication analysis service 160 confirms whether or not the abnormal content is detected from the monitoring result analyzed by the threshold type, the baseline type, or the statistical type in step S203 (step S204). When no abnormal content is detected (No in step S204), the communication analysis service 160 performs the process of step S203 again.

異常な内容が検出された場合(ステップS204におけるYes)、通信解析サービス160は、異常通信の存在を確定する。異常通信の存在が確定された場合、メッセージングサービス140は、異常通信の存在の事実を報告する(ステップS205)。具体的には、メッセージングサービス140は、メール、SMS(Short Message Service)、ウェブ画面表示等の方法で異常通信の存在の事実を報告する。   When the abnormal content is detected (Yes in step S204), the communication analysis service 160 determines the existence of the abnormal communication. When the existence of the abnormal communication is confirmed, the messaging service 140 reports the fact of the existence of the abnormal communication (step S205). Specifically, the messaging service 140 reports the fact of the existence of abnormal communication by a method such as email, SMS (Short Message Service), and web screen display.

図14は、メッセージングサービス140によるウェブ画面での報告の例を示す説明図である。図14に示す画面は、「PaaS異常検出」画面である。サービスプロバイダは、例えばPaaS管理画面に設けられた管理メニューを介して、「PaaS異常検出」画面を表示できる。   FIG. 14 is an explanatory diagram showing an example of a report on the web screen by the messaging service 140. The screen shown in FIG. 14 is a “PaaS abnormality detection” screen. The service provider can display the “PaaS abnormality detection” screen through, for example, the management menu provided on the PaaS management screen.

図14に示す「PaaS異常検出」画面の「検出されたアクティビティ」欄には、異常が検出された時刻、および検出された異常の重要度が表示されている。具体的には、2015/12/25の9:02にContainer_300からContainer_200に向けて行われた通信等に異常が発生していたことが図14に示されている。   In the "Detected activity" column of the "PaaS anomaly detection" screen shown in FIG. 14, the time at which the anomaly was detected and the importance of the detected anomaly are displayed. Specifically, it is shown in FIG. 14 that an abnormality occurred in communication or the like performed from Container_300 to Container_200 at 9:02 on December 25, 2015.

すなわち、サービスプロバイダは、指定されたサービスに関する異常検出結果を「PaaS異常検出」画面で参照できる。なお、「検出されたアクティビティ」欄には、検出された異常の内容がより具体的に、またはより多くの情報と共に表示されてもよい。   That is, the service provider can refer to the abnormality detection result regarding the specified service on the “PaaS abnormality detection” screen. In addition, the content of the detected abnormality may be displayed more specifically or together with more information in the “detected activity” column.

なお、データセンタ100には、コンテナ131〜コンテナ13N、メッセージングサービス140、および通信解析サービス160のみが含まれてもよい。図15は、データセンタ100の他の構成例を示すブロック図である。   The data center 100 may include only the containers 131 to 13N, the messaging service 140, and the communication analysis service 160. FIG. 15 is a block diagram showing another configuration example of the data center 100.

また、データセンタ100には、メッセージングサービス140のみが含まれてもよい。メッセージングサービス140のみを含むデータセンタ100は、外部に存在するコンテナ実行サーバで実行されているコンテナ間で行われる通信を監視し、監視結果を通信可能に接続されている通信解析サーバに送信してもよい。   Further, the data center 100 may include only the messaging service 140. The data center 100, which includes only the messaging service 140, monitors communication performed between containers executed by an external container execution server, and transmits the monitoring result to a communication analysis server communicatively connected. Good.

[効果の説明]
本実施形態の監視システム10は、コンテナ間で行われる通信の監視結果を用いて不正動作を検出できる。その理由は、メッセージングサービス140がコンテナ間で行われる通信を監視し、監視結果を通信解析サービス160に入力し、通信解析サービス160が入力された監視結果を解析することによって、不正動作を起因とする異常な事象が検出されるためである。
[Explanation of effect]
The monitoring system 10 of the present embodiment can detect an unauthorized operation by using the monitoring result of the communication performed between the containers. The reason is that the messaging service 140 monitors the communication performed between the containers, inputs the monitoring result to the communication analysis service 160, and the communication analysis service 160 analyzes the input monitoring result, thereby causing an illegal operation. This is because an abnormal event that occurs is detected.

なお、本実施形態のデータセンタ100は、例えば、記憶媒体に格納されているプログラムに従って処理を実行するCPUによって実現される。すなわちゲートウェイ110、メッセージングサービス140、および通信解析サービス160は、例えば、プログラム制御に従って処理を実行するCPUによって実現される。   The data center 100 of this embodiment is realized by, for example, a CPU that executes processing according to a program stored in a storage medium. That is, the gateway 110, the messaging service 140, and the communication analysis service 160 are realized by, for example, a CPU that executes processing according to program control.

また、構成管理手段150は、例えばRAM(Random Access Memory)で実現される。   The configuration management unit 150 is realized by, for example, a RAM (Random Access Memory).

また、本実施形態のデータセンタ100における各部は、ハードウェア回路によって実現されてもよい。   Further, each unit in the data center 100 of this embodiment may be realized by a hardware circuit.

10 監視システム
11 監視手段
20、20〜20、30、30〜30、40、40〜40、131〜13N コンテナ
100 データセンタ
110 ゲートウェイ
121〜12M コンテナ実行サーバ
140 メッセージングサービス
150 構成管理手段
160 通信解析サービス
171〜173 通信経路
201〜20K クライアント端末
300 通信ネットワーク
10 monitoring system 11 monitoring means 20, 20 1 to 20 n , 30, 30 1 to 30 m , 40, 40 1 to 40 k , 131 to 13N container 100 data center 110 gateway 121 to 12M container execution server 140 messaging service 150 configuration Management means 160 Communication analysis services 171 to 173 Communication paths 201 to 20K Client terminal 300 Communication network

Claims (10)

サーバのオペレーティングシステム内のユーザ空間が仮想的に分割された空間をそれぞれ有し前記オペレーティングシステム内のカーネル空間を共用する複数のインスタンス間で行われる通信を監視する監視手段と、
前記監視手段が通信を監視した結果である監視結果を用いて前記複数のインスタンス間で行われる通信のうち異常な通信を検出する検出手段とを含み、
前記監視手段は、
前記複数のインスタンス間で行われる通信におけるメッセージ量を集計し、前記メッセージ量が集計された結果を前記監視結果に含める
ことを特徴とする監視システム。
Monitoring means for monitoring communication performed between a plurality of instances each of which has a virtual space in which the user space in the server operating system is virtually divided, and which shares the kernel space in the operating system ;
And a detection unit that detects abnormal communication among the communication performed between the plurality of instances using a monitoring result that is a result of monitoring the communication by the monitoring unit,
The monitoring means is
A monitoring system , wherein the message amount in communication performed between the plurality of instances is totaled, and the result of totaling the message amount is included in the monitoring result .
検出手段は、メッセージ量が集計された結果が示す値が所定の閾値を超えている通信を異常な通信として検出する
請求項記載の監視システム。
Detection means monitoring system of claim 1, wherein for detecting the communication value indicated by the result of the message content is aggregated exceeds a predetermined threshold value as abnormal communication.
検出手段は、メッセージ量が集計された結果が示す複数の値が所定の関係式を満たさない通信を異常な通信として検出する
請求項または請求項記載の監視システム。
The monitoring system according to claim 1 or 2, wherein the detection unit detects, as an abnormal communication, a communication in which a plurality of values indicated by the result of totaling the message amounts do not satisfy a predetermined relational expression.
監視手段は、検出手段により検出された異常な通信の内容をウェブ画面を介して報告する
請求項から請求項のうちのいずれか1項に記載の監視システム。
Monitoring means monitoring system according to any one of claims 1 to 3 to report the content of the detected abnormal communication by the detecting means through the web screen.
サーバのオペレーティングシステム内のユーザ空間が仮想的に分割された空間をそれぞれ有し前記オペレーティングシステム内のカーネル空間を共用する複数のインスタンス間で行われる通信を監視し、
通信が監視された結果である監視結果を用いて前記複数のインスタンス間で行われる通信のうち異常な通信を検出し、
前記複数のインスタンス間で行われる通信におけるメッセージ量を集計し、
前記メッセージ量が集計された結果を前記監視結果に含める
ことを特徴とする監視方法。
Monitoring communication between a plurality of instances each of which has a virtual space in which the user space in the server operating system has a virtual partition, and which shares the kernel space in the operating system ,
Using the monitoring result, which is the result of monitoring the communication, to detect abnormal communication among the communication performed between the plurality of instances,
Aggregating the message amount in the communication performed between the plurality of instances,
A monitoring method , wherein the result of totaling the message amount is included in the monitoring result .
メッセージ量が集計された結果が示す値が所定の閾値を超えている通信を異常な通信として検出するDetects communication in which the value indicated by the result of totaling the message amount exceeds a predetermined threshold as abnormal communication
請求項5記載の監視方法。The monitoring method according to claim 5.
メッセージ量が集計された結果が示す複数の値が所定の関係式を満たさない通信を異常な通信として検出するDetects communication in which multiple values indicated by the result of totaling the message amount do not satisfy a predetermined relational expression as abnormal communication
請求項5または請求項6記載の監視方法。The monitoring method according to claim 5 or 6.
コンピュータに、
サーバのオペレーティングシステム内のユーザ空間が仮想的に分割された空間をそれぞれ有し前記オペレーティングシステム内のカーネル空間を共用する複数のインスタンス間で行われる通信を監視する監視処理、および
通信が監視された結果である監視結果を用いて前記複数のインスタンス間で行われる通信のうち異常な通信を検出する検出処理を実行させるための監視プログラムであって、
前記監視処理で、前記複数のインスタンス間で行われる通信におけるメッセージ量を集計させ、前記メッセージ量が集計された結果を前記監視結果に含めさせる
監視プログラム
On the computer,
A monitoring process for monitoring communication performed between a plurality of instances in which a user space in a server operating system has a virtually divided space and sharing a kernel space in the operating system , and
A monitoring program for executing a detection process for detecting an abnormal communication among the communication performed between the plurality of instances using a monitoring result which is a result of monitoring the communication ,
In the monitoring process, the message amount in the communication performed between the plurality of instances is totaled, and the result of totaling the message amount is included in the monitoring result.
Surveillance program .
コンピュータに、On the computer,
検出処理で、メッセージ量が集計された結果が示す値が所定の閾値を超えている通信を異常な通信として検出させるIn the detection process, the communication in which the value indicated by the result of totaling the message amount exceeds the predetermined threshold is detected as an abnormal communication.
請求項8記載の監視プログラム。The monitoring program according to claim 8.
コンピュータに、On the computer,
検出処理で、メッセージ量が集計された結果が示す複数の値が所定の関係式を満たさない通信を異常な通信として検出させるIn the detection process, a communication in which a plurality of values indicated by the result of totaling the message amount does not satisfy a predetermined relational expression is detected as an abnormal communication.
請求項8または請求項9記載の監視プログラム。The monitoring program according to claim 8 or 9.
JP2016059528A 2016-03-24 2016-03-24 Monitoring system, monitoring method, and monitoring program Active JP6680028B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016059528A JP6680028B2 (en) 2016-03-24 2016-03-24 Monitoring system, monitoring method, and monitoring program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016059528A JP6680028B2 (en) 2016-03-24 2016-03-24 Monitoring system, monitoring method, and monitoring program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020047490A Division JP2020115358A (en) 2020-03-18 2020-03-18 Communication system, communication method, and communication program

Publications (2)

Publication Number Publication Date
JP2017174158A JP2017174158A (en) 2017-09-28
JP6680028B2 true JP6680028B2 (en) 2020-04-15

Family

ID=59973106

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016059528A Active JP6680028B2 (en) 2016-03-24 2016-03-24 Monitoring system, monitoring method, and monitoring program

Country Status (1)

Country Link
JP (1) JP6680028B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10599499B2 (en) 2017-09-30 2020-03-24 Oracle International Corporation API registry in a container platform providing property-based API functionality
US11144418B2 (en) 2019-09-23 2021-10-12 International Business Machines Corporation Mutation event detection for integrity monitoring
JP7411895B2 (en) 2019-12-05 2024-01-12 パナソニックIpマネジメント株式会社 Information processing device, abnormality detection method and computer program
CN113342606A (en) * 2021-06-07 2021-09-03 平安证券股份有限公司 Data monitoring method, device, equipment and storage medium based on message middleware

Also Published As

Publication number Publication date
JP2017174158A (en) 2017-09-28

Similar Documents

Publication Publication Date Title
US10673885B2 (en) User state tracking and anomaly detection in software-as-a-service environments
US10708289B2 (en) Secured event monitoring leveraging blockchain
US10511637B2 (en) Automated mitigation of electronic message based security threats
US9787697B2 (en) Providing security services within a cloud computing environment
US10620996B2 (en) Batching asynchronous web requests
Hamad et al. Managing intrusion detection as a service in cloud networks
WO2019232071A1 (en) Aggregation of scalable network flow events
US10320833B2 (en) System and method for detecting creation of malicious new user accounts by an attacker
US20220217182A1 (en) Dynamic security policy management
US9912682B2 (en) Aggregation of network traffic source behavior data across network-based endpoints
JP6680028B2 (en) Monitoring system, monitoring method, and monitoring program
US8661456B2 (en) Extendable event processing through services
CN114097205A (en) System and method for processing network data
US11070632B2 (en) Identifying computing devices in a managed network that are involved in blockchain-based mining
CN111698126B (en) Information monitoring method, system and computer readable storage medium
US10630546B2 (en) Distributed tool for detecting states and state transitions in remote network management platforms
US11799892B2 (en) Methods for public cloud database activity monitoring and devices thereof
US20230247039A1 (en) Techniques for cloud computing forensics utilizing a security graph
Ficco et al. Intrusion tolerance in cloud applications: The mOSAIC approach
US20230247040A1 (en) Techniques for cloud detection and response from cloud logs utilizing a security graph
JP2020115358A (en) Communication system, communication method, and communication program
WO2022241939A1 (en) Network security management method and computer device
US20230325478A1 (en) Instrumenting applications to prevent abuse by privileged users
US20240154992A1 (en) Event-driven collection and monitoring of resources in a cloud computing environment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191210

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200131

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200302

R150 Certificate of patent or registration of utility model

Ref document number: 6680028

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150