JP7086261B1 - Processing equipment and processing method - Google Patents

Processing equipment and processing method Download PDF

Info

Publication number
JP7086261B1
JP7086261B1 JP2021172344A JP2021172344A JP7086261B1 JP 7086261 B1 JP7086261 B1 JP 7086261B1 JP 2021172344 A JP2021172344 A JP 2021172344A JP 2021172344 A JP2021172344 A JP 2021172344A JP 7086261 B1 JP7086261 B1 JP 7086261B1
Authority
JP
Japan
Prior art keywords
program
container
vulnerability
execution program
vulnerabilities
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
JP2021172344A
Other languages
Japanese (ja)
Other versions
JP2023062394A (en
Inventor
沈宇 張
康弘 鈴木
Original Assignee
ビジョナル・インキュベーション株式会社
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 ビジョナル・インキュベーション株式会社 filed Critical ビジョナル・インキュベーション株式会社
Priority to JP2021172344A priority Critical patent/JP7086261B1/en
Application granted granted Critical
Publication of JP7086261B1 publication Critical patent/JP7086261B1/en
Publication of JP2023062394A publication Critical patent/JP2023062394A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】 コンテナイメージに含まれるプログラムの脆弱性に対する対策を適切に実行する支援を可能とする処理装置及び処理方法を提供する。【解決手段】 処理装置は、コンテナイメージの実行によって構築されるコンテナをスキャンすることによって、前記コンテナで実行される実行プログラムを特定する制御部を備え、前記制御部は、前記実行プログラムの脆弱性を特定し、特定された脆弱性に基づいて、前記コンテナイメージに含まれるプログラムの脆弱性について対策すべき優先順位を設定するトリアージ処理を実行する。【選択図】 図4PROBLEM TO BE SOLVED: To provide a processing device and a processing method capable of supporting appropriate execution of countermeasures against a vulnerability of a program included in a container image. A processing device includes a control unit that identifies an execution program executed in the container by scanning a container constructed by executing the container image, and the control unit is vulnerable to the execution program. Is identified, and based on the identified vulnerabilities, triage processing is executed to set the priority to be dealt with for the vulnerabilities of the programs included in the container image. [Selection diagram] Fig. 4

Description

本発明は、処理装置及び処理方法に関する。 The present invention relates to a processing apparatus and a processing method.

従来、物理サーバのホストOS(Operation System)上において、仮想化のためのレイヤ(例えば、ハイパーバイザ)を設けることによって、ハイパーバイザ上で2以上のゲストOSを動作させる仮想化技術が知られている。 Conventionally, a virtualization technology for operating two or more guest OSes on a hypervisor by providing a layer for virtualization (for example, a hypervisor) on a host OS (Operation System) of a physical server has been known. There is.

さらに、ハイパーバイザに代えてコンテナエンジンを設けることによって、ゲストOSを設けずにホストOSを共通化するコンテナ技術が注目を集めている。コンテナ技術では、コンテナイメージの実行によって構築されるコンテナによって仮想化が実現される。 Furthermore, container technology that standardizes the host OS without providing a guest OS by installing a container engine instead of the hypervisor is attracting attention. In container technology, virtualization is realized by a container built by executing a container image.

このような背景下において、コンテナイメージを静的にスキャンすることによって、コンテナイメージに含まれる全てのプログラムの脆弱性を判定する技術が提案されている(例えば、特許文献1)。 Against this background, a technique has been proposed for determining the vulnerability of all programs contained in a container image by statically scanning the container image (for example, Patent Document 1).

米国特許出願公開第2018/0041539号明細書US Patent Application Publication No. 2018/0041539

発明者等は、鋭意検討の結果、コンテナを用いてアプリケーションを実行する場合に、コンテナイメージに含まれるプログラムの全てが実行される訳ではないことに着目した。このような新たな着目に基づいて、脆弱性について対策すべき優先順位の設定(以下、トリアージ)を想定した場合に、コンテナイメージに含まれる全てのプログラムの脆弱性を判定すると、プログラムの脆弱性を開発者が確認する作業が極めて煩雑である。 As a result of diligent studies, the inventors have noted that not all programs included in the container image are executed when the application is executed using the container. Based on this new focus, assuming the setting of priorities for which countermeasures should be taken for vulnerabilities (hereinafter referred to as triage), if the vulnerabilities of all the programs included in the container image are determined, the vulnerabilities of the programs will be determined. The work for the developer to confirm is extremely complicated.

そこで、本発明は、上述した課題を解決するためになされたものであり、コンテナイメージに含まれるプログラムの脆弱性に対する対策を適切に実行する支援を可能とする処理装置及び処理方法を提供することを目的とする。 Therefore, the present invention has been made to solve the above-mentioned problems, and provides a processing device and a processing method capable of supporting appropriate implementation of countermeasures against the vulnerability of the program included in the container image. With the goal.

開示に係る処理装置は、コンテナイメージの実行によって構築されるコンテナをスキャンすることによって、前記コンテナで実行される実行プログラムを特定する制御部を備え、前記制御部は、前記実行プログラムの脆弱性を特定し、特定された脆弱性に基づいて、前記コンテナイメージに含まれるプログラムの脆弱性について対策すべき優先順位を設定するトリアージ処理を実行する。 The processing device according to the disclosure includes a control unit that identifies an execution program executed in the container by scanning the container constructed by executing the container image, and the control unit detects the vulnerability of the execution program. A triage process is executed to identify and set the priority to be dealt with for the vulnerabilities of the programs included in the container image based on the identified vulnerabilities.

開示に係る処理方法は、コンテナイメージの実行によって構築されるコンテナをスキャンすることによって、前記コンテナで実行される実行プログラムを特定するステップAと、前記実行プログラムの脆弱性を特定し、特定された脆弱性に基づいて、前記コンテナイメージに含まれるプログラムの脆弱性について対策すべき優先順位を設定するトリアージ処理を実行するステップBと、を備える。 The processing method according to the disclosure is step A for identifying the execution program executed in the container by scanning the container constructed by executing the container image, and identifying and identifying the vulnerability of the execution program. A step B of executing a triage process for setting a priority for countermeasures against the vulnerabilities of the programs included in the container image based on the vulnerabilities is provided.

本発明によれば、コンテナイメージに含まれるプログラムの脆弱性に対する対策を適切に実行する支援を可能とする処理装置及び処理方法を提供することができる。 INDUSTRIAL APPLICABILITY According to the present invention, it is possible to provide a processing device and a processing method capable of supporting appropriate execution of countermeasures against a vulnerability of a program included in a container image.

図1は、実施形態に係る処理システム100を示す図である。FIG. 1 is a diagram showing a processing system 100 according to an embodiment. 図2は、実施形態に係るコンテナ技術を説明するための図である。FIG. 2 is a diagram for explaining the container technique according to the embodiment. 図3は、実施形態に係るコンテナ技術を説明するための図である。FIG. 3 is a diagram for explaining the container technique according to the embodiment. 図4は、実施形態に係る処理装置10を示す図である。FIG. 4 is a diagram showing a processing device 10 according to an embodiment. 図5は、実施形態にトリアージ処理の一例を示す図である。FIG. 5 is a diagram showing an example of triage processing in an embodiment. 図6は、実施形態に係る処理方法を示す図である。FIG. 6 is a diagram showing a processing method according to an embodiment.

以下において、実施形態について図面を参照しながら説明する。なお、以下の図面の記載において、同一又は類似の部分には、同一又は類似の符号を付している。 Hereinafter, embodiments will be described with reference to the drawings. In the description of the drawings below, the same or similar parts are designated by the same or similar reference numerals.

但し、図面は模式的なものであり、各寸法の比率などは現実のものとは異なる場合があることに留意すべきである。従って、具体的な寸法などは以下の説明を参酌して判断すべきである。また、図面相互間においても互いの寸法の関係又は比率が異なる部分が含まれている場合があることは勿論である。 However, it should be noted that the drawings are schematic and the ratio of each dimension may differ from the actual one. Therefore, the specific dimensions should be determined in consideration of the following explanation. In addition, it goes without saying that there may be a portion where the relations or ratios of the dimensions of the drawings are different from each other.

[開示の概要]
開示の概要に係る処理装置は、コンテナイメージの実行によって構築されるコンテナをスキャンすることによって、前記コンテナで実行される実行プログラムを特定する制御部を備え、前記制御部は、前記実行プログラムの脆弱性を特定し、特定された脆弱性に基づいて、前記コンテナイメージに含まれるプログラムの脆弱性について対策すべき優先順位を設定するトリアージ処理を実行する。
[Summary of disclosure]
The processing device according to the outline of the disclosure includes a control unit that identifies an execution program executed in the container by scanning the container constructed by executing the container image, and the control unit is vulnerable to the execution program. A triage process is executed to identify the sex and set the priority to be dealt with for the vulnerability of the program included in the container image based on the identified vulnerability.

開示の概要に係る処理方法は、コンテナイメージの実行によって構築されるコンテナをスキャンすることによって、前記コンテナで実行される実行プログラムを特定するステップAと、前記実行プログラムの脆弱性を特定し、特定された脆弱性に基づいて、前記コンテナイメージに含まれるプログラムの脆弱性について対策すべき優先順位を設定するトリアージ処理を実行するステップBと、を備える。 The processing method according to the outline of the disclosure is step A for identifying the execution program executed in the container by scanning the container constructed by executing the container image, and identifying and identifying the vulnerability of the execution program. A step B of executing a triage process for setting a priority for countermeasures against the vulnerabilities of the programs included in the container image based on the vulnerabilities that have been made is provided.

開示の概要では、処理装置は、コンテナイメージの実行によって構築されるコンテナをスキャンすることによって、コンテナで実行される実行プログラムを特定し、実行プログラムの脆弱性に基づいて、コンテナイメージに含まれるプログラムの脆弱性について対策すべき優先順位を設定するトリアージ処理を実行する。このような構成によれば、アプリケーションの利用シーンを想定して、コンテナイメージに含まれる全てのプログラムの脆弱性ではなく、実行プログラムを対象とした脆弱性に注目してトリアージ処理が実行されるため、コンテナイメージに含まれるプログラムの脆弱性を確認する作業の煩雑さを低減し、脆弱性に対する対策を適切に実行する支援を行うことができる。 In the disclosure summary, the processor identifies the program to be executed in the container by scanning the container built by executing the container image, and based on the vulnerability of the program, the program included in the container image. Perform triage processing to set priorities for countermeasures against vulnerabilities in. With such a configuration, the triage process is executed by focusing on the vulnerabilities targeting the executable program, not the vulnerabilities of all the programs included in the container image, assuming the usage scene of the application. , It is possible to reduce the complexity of the work of checking the vulnerabilities of the programs included in the container image, and to support the appropriate implementation of countermeasures against the vulnerabilities.

ここで、プログラムは、コンテナによって共用されるOS(Operation System)のカーネルに対するプロセス群(命令群)である。プログラムは、ソフトウェア及びミドルウェアを含む概念として用いられてもよい。ソフトウェアは、ソフトウェアのソースコードが公開されたOSS(Open Source Software)を含んでもよい。 Here, the program is a process group (instruction group) for the kernel of the OS (Operation System) shared by the container. The program may be used as a concept including software and middleware. The software may include OSS (Open Source Software) in which the source code of the software is published.

[実施形態]
(処理システム)
以下において、実施形態に係る処理システムについて説明する。図1は、実施形態に係る処理システム100を示す図である。
[Embodiment]
(Processing system)
Hereinafter, the processing system according to the embodiment will be described. FIG. 1 is a diagram showing a processing system 100 according to an embodiment.

図1に示すように、処理システム100は、処理装置10と、ユーザ端末20と、提供装置30と、外部装置40と、を有する。処理装置10、ユーザ端末20、提供装置30及び外部装置40は、ネットワーク200によって通信可能に接続される。特に限定されるものではないが、ネットワーク200は、インターネットを含んでもよく、ローカルエリアネットワークを含んでもよく、移動体通信網を含んでもよい。ネットワーク200は、VPN(Virtual Private Network)を含んでもよい。 As shown in FIG. 1, the processing system 100 includes a processing device 10, a user terminal 20, a providing device 30, and an external device 40. The processing device 10, the user terminal 20, the providing device 30, and the external device 40 are communicably connected by the network 200. Although not particularly limited, the network 200 may include the Internet, a local area network, or a mobile communication network. The network 200 may include a VPN (Virtual Private Network).

処理装置10は、提供装置30によって提供されるアプリケーションに含まれるプログラムの脆弱性について対策すべき優先順位を設定する。処理装置10は、2以上のサーバによって構成されてもよく、処理装置10の少なくとも一部は、クラウドコンピューティングサービスによって実現されてもよい。処理装置10の詳細については後述する(図2を参照)。 The processing device 10 sets the priority to be dealt with for the vulnerability of the program included in the application provided by the providing device 30. The processing device 10 may be configured by two or more servers, and at least a part of the processing device 10 may be realized by a cloud computing service. Details of the processing device 10 will be described later (see FIG. 2).

ユーザ端末20は、ディスプレイ21を有しており、処理装置10によって設定された優先順位を表示する。ユーザ端末20は、プロジェクトの開発者によって利用される装置であってもよい。例えば、ユーザ端末20は、パーソナルコンピュータであってもよく、スマートフォンであってもよく、タブレット端末であってもよい。例えば、ディスプレイ21は、液晶パネルであってもよく、有機ELパネルであってもよい。 The user terminal 20 has a display 21 and displays a priority set by the processing device 10. The user terminal 20 may be a device used by the developer of the project. For example, the user terminal 20 may be a personal computer, a smartphone, or a tablet terminal. For example, the display 21 may be a liquid crystal panel or an organic EL panel.

提供装置30は、2以上のプログラムによって実現されるアプリケーションを提供する。アプリケーションは、コンテナ技術と称される仮想化技術によって提供される。提供装置30は、2以上のサーバによって構成されてもよく、提供装置30の少なくとも一部は、クラウドコンピューティングサービスによって実現されてもよい。 The providing device 30 provides an application realized by two or more programs. The application is provided by a virtualization technology called container technology. The providing device 30 may be configured by two or more servers, and at least a part of the providing device 30 may be realized by a cloud computing service.

外部装置40は、プログラムの脆弱性に関する情報を管理する。外部装置40は、プログラムそのものの脆弱性に関する脆弱性スコアを管理してもよい。脆弱性スコアとしては、第三者機関によって提供されるCVSS(Common Vulnerability Scoring System)が用いられてもよい。外部装置40は、プログラムによって実行されるプロセスの脆弱性の内容を管理してもよい。脆弱性の内容は、2以上のプログラム群を含むパッケージに関するパッケージ情報(例えば、パッケージの名称)と対応付けられてもよい。パッケージ情報と対応付けられた脆弱性の内容としては、第三者機関によって提供されるCVE(Common Vulnerabilities and Exposures)が用いられてもよい。脆弱性の内容は、プログラムに関するプログラム情報(例えば、ソフトウェアの名称)と対応付けられてもよい。プログラム情報と対応付けられた脆弱性の内容としては、第三者機関によって提供されるNVD(National Vulnerability Database)をベースにして生成された情報が用いられてもよい。外部装置40は、2以上のサーバによって構成されてもよく、外部装置40の少なくとも一部は、クラウドコンピューティングサービスによって実現されてもよい。 The external device 40 manages information about program vulnerabilities. The external device 40 may manage the vulnerability score regarding the vulnerability of the program itself. As the vulnerability score, CVSS (Common Vulnerability Scoring System) provided by a third party may be used. The external device 40 may manage the contents of the vulnerability of the process executed by the program. The content of the vulnerability may be associated with package information (for example, the name of the package) related to a package containing two or more programs. As the content of the vulnerability associated with the package information, CVE (Common Vulnerabilities and Exposures) provided by a third party may be used. The content of the vulnerability may be associated with program information (for example, the name of software) related to the program. As the content of the vulnerability associated with the program information, information generated based on NVD (National Vulnerability Database) provided by a third party may be used. The external device 40 may be configured by two or more servers, and at least a part of the external device 40 may be realized by a cloud computing service.

ここで、パッケージ情報と対応付けられた脆弱性の内容(例えば、CVE)は、第三者機関によって構築された第1装置で管理されてもよい。パッケージ情報と対応付けられた脆弱性の内容は、ネットワーク200において外部に公開された情報であってもよい。 Here, the content of the vulnerability associated with the package information (for example, CVE) may be managed by the first device constructed by a third party. The content of the vulnerability associated with the package information may be information disclosed to the outside in the network 200.

一方で、プログラム情報と対応付けられた脆弱性の内容(例えば、NVDベースの内容)は、トリアージ処理を提供するエンティティによって構築された第2装置で管理されてもよい。パッケージ情報と対応付けられた脆弱性の内容は、ネットワーク200において外部に公開されていない情報であってもよい。 On the other hand, the content of the vulnerability associated with the program information (for example, NVD-based content) may be managed by the second device built by the entity that provides the triage processing. The content of the vulnerability associated with the package information may be information that is not disclosed to the outside in the network 200.

(コンテナ技術)
以下において、実施形態に係るコンテナ技術について説明する。図2及び図3は、実施形態に係るコンテナ技術を説明するための図である。
(Container technology)
Hereinafter, the container technique according to the embodiment will be described. 2 and 3 are diagrams for explaining the container technique according to the embodiment.

図2に示すように、物理サーバ上にOSが設けられ、OS上にコンテナエンジンが設けられる前提下において、2以上のコンテナ(図2では、コンテナ#1及びコンテナ#2)が仮想化される。例えば、各コンテナは、ミドルウェア(MW)と、ミドルウェア上に設けられるアプリケーション(App)を含む。 As shown in FIG. 2, under the premise that the OS is provided on the physical server and the container engine is provided on the OS, two or more containers (container # 1 and container # 2 in FIG. 2) are virtualized. .. For example, each container contains middleware (MW) and an application (App) provided on the middleware.

図3に示すように、コンテナファイルの構築(Build)によってコンテナイメージが生成され、コンテナイメージの実行(Run)によってコンテナが生成される。 As shown in FIG. 3, a container image is generated by building a container file (Build), and a container is generated by running a container image (Run).

コンテナファイルは、コンテナイメージの設計書に該当し、テキストベースの定義ファイルである。コンテナイメージは、アプリケーションの構成に該当する。コンテナは、コンテナイメージの実行環境に該当する。コンテナの実行によってアプリケーションが実行される。 The container file corresponds to the design document of the container image and is a text-based definition file. The container image corresponds to the configuration of the application. The container corresponds to the execution environment of the container image. The application is executed by executing the container.

(処理装置)
以下において、実施形態に係る処理装置について説明する。図4は、実施形態に係る処理装置10を示す図である。
(Processing device)
Hereinafter, the processing apparatus according to the embodiment will be described. FIG. 4 is a diagram showing a processing device 10 according to an embodiment.

図4に示すように、処理装置10は、通信部11と、管理部12と、制御部13と、を有する。 As shown in FIG. 4, the processing device 10 includes a communication unit 11, a management unit 12, and a control unit 13.

通信部11は、通信モジュールによって構成される。通信モジュールは、IEEE802.11a/b/g/n/ac/ax、LTE、5G、6Gなどの規格に準拠する無線通信モジュールであってもよく、IEEE802.3などの規格に準拠する有線通信モジュールであってもよい。 The communication unit 11 is composed of a communication module. The communication module may be a wireless communication module that conforms to standards such as IEEE802.11a / b / g / n / ac / ax, LTE, 5G, and 6G, and a wired communication module that conforms to standards such as IEEE802.3. May be.

実施形態では、通信部11は、コンテナイメージを取得する。例えば、通信部11は、コンテナイメージをユーザ端末20から取得してもよく、コンテナイメージを提供装置30から取得してもよい。通信部11は、第三者が提供するストレージサービス(例えば、Docker Hub、AWS ECR(Elastic Container Registry)など)からコンテナイメージを取得してもよい。
In the embodiment, the communication unit 11 acquires the container image. For example, the communication unit 11 may acquire the container image from the user terminal 20 or may acquire the container image from the providing device 30. The communication unit 11 may acquire a container image from a storage service provided by a third party (for example, Docker Hub, AWS ECR (Elastic Container Registry), etc.).

管理部12は、SSD(Solid State Drive)、HDD(Hard Disk Drive)などの記憶媒体によって構成されており、様々な情報を格納する。 The management unit 12 is composed of storage media such as SSD (Solid State Drive) and HDD (Hard Disk Drive), and stores various information.

実施形態では、管理部12は、ユーザ端末20又は提供装置30から取得するコンテナイメージを管理する。 In the embodiment, the management unit 12 manages the container image acquired from the user terminal 20 or the providing device 30.

制御部13は、少なくとも1つのプロセッサを含んでもよい。少なくとも1つのプロセッサは、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、1以上のIntegrated Circuit、1以上のDiscrete Circuit、及び、これらの組合せによって構成されてもよい。 The control unit 13 may include at least one processor. At least one processor may be composed of a CPU (Central Processing Unit), an MPU (Micro Processing Unit), a GPU (Graphics Processing Unit), one or more Integrated Circuits, one or more Discrete Circuits, and a combination thereof. ..

実施形態では、制御部13は、コンテナイメージの実行によって構築されるコンテナをスキャンすることによって、コンテナで実行される実行プログラムを特定する制御部を構成する。制御部13は、実行プログラムの脆弱性を特定し、特定された脆弱性に基づいて、コンテナイメージに含まれるプログラムの脆弱性について対策すべき優先順位を設定するトリアージ処理を実行する。具体的には、制御部13は、以下に示す動作を実行してもよい。 In the embodiment, the control unit 13 configures a control unit that identifies an execution program executed in the container by scanning the container constructed by executing the container image. The control unit 13 identifies the vulnerabilities of the executable program, and based on the identified vulnerabilities, executes triage processing for setting the priority to be taken against the vulnerabilities of the program included in the container image. Specifically, the control unit 13 may execute the following operations.

第1に、制御部13は、コンテナイメージの実行によって構築されるコンテナをスキャンすることによって、コンテナで実行される実行プロセスを特定する。制御部13は、実行プロセスに基づいて実行プログラムを特定する。例えば、制御部13は、外部装置40に格納された情報を用いて、実行プロセスに対応する実行プログラムを特定してもよい。 First, the control unit 13 identifies the execution process executed in the container by scanning the container constructed by executing the container image. The control unit 13 identifies an execution program based on the execution process. For example, the control unit 13 may specify an execution program corresponding to the execution process by using the information stored in the external device 40.

第2に、制御部13は、実行プログラムを含むパッケージに関するパッケージ情報が外部装置40(例えば、第1装置)に登録されているか否かを判定する。 Second, the control unit 13 determines whether or not the package information regarding the package including the execution program is registered in the external device 40 (for example, the first device).

制御部13は、パッケージ情報が登録されている場合には、パッケージ情報に基づいて第1装置を参照し、パッケージ情報と対応付けられた脆弱性の内容を特定し、特定された脆弱性の内容に基づいて、実行プロセスの危険度を特定する。制御部13は、実行プログラムの脆弱性スコア及び実行プロセスの危険度に基づいて、実行プログラムの脆弱性を特定する。すなわち、制御部13は、パッケージ情報が登録されている場合には、パッケージ情報に基づいて、実行プログラムの脆弱性を特定する。 When the package information is registered, the control unit 13 refers to the first device based on the package information, identifies the content of the vulnerability associated with the package information, and identifies the content of the identified vulnerability. Identify the risk of the execution process based on. The control unit 13 identifies the vulnerability of the execution program based on the vulnerability score of the execution program and the risk level of the execution process. That is, when the package information is registered, the control unit 13 identifies the vulnerability of the execution program based on the package information.

制御部13は、パッケージ情報が登録されていない場合には、実行プログラムに関するプログラム情報に基づいて第2装置を参照し、プログラム情報と対応付けられた脆弱性の内容を特定し、特定された脆弱性の内容に基づいて、実行プロセスの危険度を特定する。制御部13は、実行プログラムの脆弱性スコア及び実行プロセスの危険度に基づいて、実行プログラムの脆弱性を特定する。すなわち、制御部13は、パッケージ情報が登録されていない場合には、プログラム情報に基づいて、実行プログラムの脆弱性を特定する。 When the package information is not registered, the control unit 13 refers to the second device based on the program information about the execution program, identifies the content of the vulnerability associated with the program information, and identifies the identified vulnerability. Identify the risk of the execution process based on the nature of the sex. The control unit 13 identifies the vulnerability of the execution program based on the vulnerability score of the execution program and the risk level of the execution process. That is, when the package information is not registered, the control unit 13 identifies the vulnerability of the execution program based on the program information.

特に限定されるものではないが、制御部13は、実行プロセスの危険度を以下のように特定してもよい。例えば、制御部13は、脆弱性の内容がポートの開放を伴うものである場合に、実行プロセスがポートの開放を伴わない場合に、実行プロセスの危険度が低いと特定してもよい。なお、制御部13は、脆弱性の内容がポートの開放を伴うものである場合に、実行プロセスがポートの開放を伴う場合に、実行プロセスの危険度が高いと特定してもよい。 Although not particularly limited, the control unit 13 may specify the risk level of the execution process as follows. For example, the control unit 13 may specify that the risk of the execution process is low when the content of the vulnerability involves the opening of the port and the execution process does not involve the opening of the port. Note that the control unit 13 may specify that the risk of the execution process is high when the content of the vulnerability involves the opening of the port and the execution process involves the opening of the port.

第3に、制御部13は、実行プログラムの脆弱性に基づいて、コンテナイメージに含まれるプログラムの脆弱性について対策すべき優先順位を設定するトリアージ処理を実行する。例えば、制御部13は、実行プログラム以外の非実行プログラムの優先順位よりも実行プログラムの優先順位が高くなるようにトリアージ処理を実行する。 Third, the control unit 13 executes triage processing that sets the priority to be dealt with for the vulnerability of the program included in the container image based on the vulnerability of the execution program. For example, the control unit 13 executes triage processing so that the priority of the execution program is higher than the priority of the non-execution program other than the execution program.

(トリアージ処理)
以下において、実施形態に係るトリアージ処理の一例について説明する。図5は、実施形態に係るトリアージ処理の一例を示す図である。ここでは、プロセスの危険度が2段階(高、低)で表され、プログラムの脆弱性スコアが3段階(高、中、低)で表されるケースについて例示する。
(Triage processing)
Hereinafter, an example of the triage treatment according to the embodiment will be described. FIG. 5 is a diagram showing an example of triage processing according to the embodiment. Here, we will exemplify the case where the process risk is represented by two levels (high and low) and the program vulnerability score is represented by three levels (high, medium and low).

図5に示すように、処理装置10は、非実行プログラムの優先順位よりも実行プログラムの優先順位が高くなるようにトリアージ処理を実行してもよい。 As shown in FIG. 5, the processing apparatus 10 may execute the triage processing so that the priority of the executed program is higher than the priority of the non-executed program.

処理装置10は、実行プログラムについては、危険度が低いプロセスを実行する実行プログラムよりも危険度が高いプロセスを実行する実行プログラムの優先順位が高くなるようにトリアージ処理を実行してもよい。処理装置10は、実行プログラムについては、脆弱性スコアが低い実行プログラムの優先順位よりも脆弱性スコアが高い実行プログラムの優先順位が高くなるようにトリアージ処理を実行してもよい。 For the execution program, the processing device 10 may execute triage processing so that the execution program that executes the high-risk process has a higher priority than the execution program that executes the low-risk process. For the execution program, the processing device 10 may execute triage processing so that the priority of the execution program having a high vulnerability score is higher than the priority of the execution program having a low vulnerability score.

特に限定されるものではないが、処理装置10は、非実行プログラムについては、脆弱性スコアが低い非実行プログラムの優先順位よりも脆弱性スコアが高い非実行プログラムの優先順位が高くなるようにトリアージ処理を実行してもよい。但し、処理装置10は、非実行プログラムについて区別せずにトリアージ処理を実行してもよい。 Although not particularly limited, the processing device 10 triages the non-execution program so that the non-execution program having a high vulnerability score has a higher priority than the non-execution program having a low vulnerability score. The process may be executed. However, the processing device 10 may execute the triage processing without distinguishing between the non-executed programs.

(処理方法)
以下において、実施形態に係る処理方法について説明する。図6は、実施形態に係る処理方法を示す図である。
(Processing method)
Hereinafter, the processing method according to the embodiment will be described. FIG. 6 is a diagram showing a processing method according to an embodiment.

図6に示すように、ステップS10において、処理装置10は、コンテナイメージをユーザ端末20から取得する。処理装置10は、コンテナイメージを提供装置30から取得してもよい。処理装置10は、第三者が提供するストレージサービス(例えば、Docker Hub、AWS ECRなど)からコンテナイメージを取得してもよい。 As shown in FIG. 6, in step S10, the processing device 10 acquires the container image from the user terminal 20. The processing device 10 may acquire the container image from the providing device 30. The processing device 10 may acquire a container image from a storage service provided by a third party (for example, Docker Hub, AWS ECR, etc.).

ステップS12において、処理装置10は、コンテナイメージを実行する。 In step S12, the processing device 10 executes the container image.

ステップS14において、処理装置10は、コンテナイメージの実行によって構築されるコンテナをスキャンすることによって、コンテナで実行される実行プロセスを特定する。 In step S14, the processing apparatus 10 identifies the execution process executed in the container by scanning the container constructed by executing the container image.

ステップS16において、処理装置10は、実行プロセスに基づいて実行プログラムを特定する。例えば、処理装置10は、外部装置40に格納された情報を用いて、実行プロセスに対応する実行プログラムを特定してもよい。 In step S16, the processing apparatus 10 identifies an execution program based on the execution process. For example, the processing device 10 may specify an execution program corresponding to the execution process by using the information stored in the external device 40.

ステップS18において、処理装置10は、実行プログラムを含むパッケージに関するパッケージ情報を外部装置40に送信する。 In step S18, the processing device 10 transmits the package information regarding the package including the execution program to the external device 40.

ステップS20において、処理装置10は、パッケージ情報と対応付けられた脆弱性情報を受信する。脆弱性情報は、脆弱性の内容(例えば、CVE)を含んでもよい。脆弱性情報は、実行プログラムの脆弱性スコアを含んでもよい。なお、パッケージ情報が登録されていない場合には、処理装置10は、パッケージ情報が登録されていない旨のメッセージを受信する。 In step S20, the processing device 10 receives the vulnerability information associated with the package information. Vulnerability information may include the content of the vulnerability (for example, CVE). Vulnerability information may include the vulnerability score of the executable program. If the package information is not registered, the processing device 10 receives a message to the effect that the package information is not registered.

ステップS22において、処理装置10は、パッケージ情報が登録されていない場合に、実行プログラムに関するプログラム情報を外部装置40に送信する。なお、パッケージ情報が登録されている場合に歯、処理装置10は、ステップS22の処理を省略する。 In step S22, the processing device 10 transmits the program information regarding the execution program to the external device 40 when the package information is not registered. When the package information is registered, the tooth and the processing device 10 omit the processing in step S22.

ステップS24において、処理装置10は、プログラム情報と対応付けられた脆弱性情報を受信する。脆弱性情報は、脆弱性の内容(例えば、NVDベースの内容)を含んでもよい。脆弱性情報は、実行プログラムの脆弱性スコアを含んでもよい。 In step S24, the processing device 10 receives the vulnerability information associated with the program information. Vulnerability information may include the content of the vulnerability (for example, NVD-based content). Vulnerability information may include the vulnerability score of the executable program.

ステップS26において、処理装置10は、トリアージ処理を実行する。処理装置10は、図5に示す手順でトリアージ処理を実行してもよい。 In step S26, the processing apparatus 10 executes triage processing. The processing apparatus 10 may execute the triage processing according to the procedure shown in FIG.

ステップS28において、処理装置10は、トリアージ結果をユーザ端末20に送信する。ユーザ端末20は、トリアージ結果を表示する。 In step S28, the processing device 10 transmits the triage result to the user terminal 20. The user terminal 20 displays the triage result.

(作用及び効果)
実施形態では、処理装置10は、コンテナイメージの実行によって構築されるコンテナをスキャンすることによって、コンテナで実行される実行プログラムを特定し、実行プログラムの脆弱性に基づいて、コンテナイメージに含まれるプログラムの脆弱性について対策すべき優先順位を設定するトリアージ処理を実行する。このような構成によれば、アプリケーションの利用シーンを想定して、コンテナイメージに含まれる全てのプログラムの脆弱性ではなく、実行プログラムを対象とした脆弱性に注目してトリアージ処理が実行されるため、コンテナイメージに含まれるプログラムの脆弱性を確認する作業の煩雑さを低減し、脆弱性に対する対策を適切に実行する支援を行うことができる。
(Action and effect)
In the embodiment, the processing device 10 identifies the execution program executed in the container by scanning the container constructed by executing the container image, and based on the vulnerability of the execution program, the program included in the container image. Perform triage processing to set priorities for countermeasures against vulnerabilities in. With such a configuration, the triage process is executed by focusing on the vulnerabilities targeting the executable program, not the vulnerabilities of all the programs included in the container image, assuming the usage scene of the application. , It is possible to reduce the complexity of the work of checking the vulnerabilities of the programs included in the container image, and to support the appropriate implementation of countermeasures against the vulnerabilities.

[変更例1]
以下において、実施形態の変更例1について説明する。以下においては、上述した実施形態に対する差異について主として説明する。
[Change example 1]
Hereinafter, modification 1 of the embodiment will be described. Hereinafter, the differences from the above-described embodiments will be mainly described.

実施形態では、脆弱性スコアとしては、第三者機関によって提供されるCVSSが用いられる。これに対して、変更例1では、脆弱性スコアとして、CVSSに加えて、以下に示す情報が用いられてもよい。 In the embodiment, the vulnerability score is CVSS provided by a third party. On the other hand, in the modification example 1, the following information may be used as the vulnerability score in addition to CVSS.

具体的には、処理装置10は、プログラムに対して外部からアクセス可能であるか否かを示す情報(以下、第1情報)、プログラムが有する脆弱性に対する攻撃コード(PoC)が流通しているか否かを示す情報(以下、第2情報)に基づいて、プログラムの脆弱性スコアを特定してもよい。 Specifically, whether the processing device 10 distributes information indicating whether or not the program can be accessed from the outside (hereinafter referred to as the first information) and an attack code (PoC) for the vulnerability of the program. The vulnerability score of the program may be specified based on the information indicating whether or not the program (hereinafter referred to as the second information).

例えば、処理装置10は、外部からアクセス可能であるプログラムの脆弱性スコアが外部からアクセス可能でないプログラムの脆弱性スコアよりも高くなるように、プログラムの脆弱性スコアを特定してもよい。処理装置10は、攻撃コードの流通しているプログラムの脆弱性スコアが攻撃コードの流通していないプログラムの脆弱性スコアよりも高くなるように、プログラムの脆弱性スコアを特定してもよい。 For example, the processing device 10 may specify the vulnerability score of the program so that the vulnerability score of the program accessible from the outside is higher than the vulnerability score of the program not accessible from the outside. The processing device 10 may specify the vulnerability score of the program so that the vulnerability score of the program in which the attack code is distributed is higher than the vulnerability score of the program in which the attack code is not distributed.

処理装置10は、第1情報及び第2情報の双方に基づいて、プログラムの脆弱性スコアを特定してもよい。このようなケースにおいて、処理装置10は、第1情報よりも第2情報が優先されるように、プログラムの脆弱性スコアを特定してもよく、第2情報よりも第1情報が優先されるように、プログラムの脆弱性スコアを特定してもよい。 The processing device 10 may identify the vulnerability score of the program based on both the first information and the second information. In such a case, the processing device 10 may specify the vulnerability score of the program so that the second information has priority over the first information, and the first information has priority over the second information. As such, the vulnerability score of the program may be specified.

なお、処理装置10は、CVSSよりも第1情報が優先されるように、プログラムの脆弱性スコアを特定してもよく、CVSSよりも第2情報が優先されるように、プログラムの脆弱性スコアを特定してもよい。 The processing device 10 may specify the vulnerability score of the program so that the first information is prioritized over the CVSS, and the vulnerability score of the program is prioritized over the CVSS. May be specified.

[その他の実施形態]
本発明は上述した実施形態によって説明したが、この開示の一部をなす論述及び図面は、この発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施形態、実施例及び運用技術が明らかとなろう。
[Other embodiments]
Although the invention has been described by embodiments described above, the statements and drawings that form part of this disclosure should not be understood to limit the invention. This disclosure will reveal to those skilled in the art various alternative embodiments, examples and operational techniques.

上述した開示では、脆弱性の内容がCVE及びNVDに基づいて特定されるケースを例示した。しかしながら、上述した開示はこれに限定されるものではない。脆弱性の内容は、ICAT(IPA Cyber security Alert Service) Metabase、JVN(Japan Vulnerability Notes)、JVN iPedia、OSVDB(Open Source Vulnerability Database)などに基づいて特定されてもよい。 The above disclosure exemplifies the case where the content of the vulnerability is identified based on CVE and NVD. However, the above disclosure is not limited to this. The content of the vulnerability may be identified based on ICAT (IPA Cyber security Alert Service) Metabase, JVN (Japan Vulnerability Notes), JVN iPedia, OSVDB (Open Source Vulnerability Database), and the like.

上述した開示では特に触れていないが、優先順位は、トリアージレベルと称されてもよい。 Although not specifically mentioned in the disclosures described above, the priority may be referred to as the triage level.

実施形態では、処理装置10が1つの装置であるケースを例示した。しかしながら、実施形態はこれに限定されるものではない。処理装置10が有する機能は、2以上のエンティティによって実現されてもよい。2以上のエンティティは、クラウドコンピューティングサービスを提供するエンティティを含んでもよい。また、管理部12は、処理装置10とは別に設けられるクラウド上のデータベースであってもよい。 In the embodiment, a case where the processing device 10 is one device is illustrated. However, the embodiments are not limited to this. The function of the processing device 10 may be realized by two or more entities. Two or more entities may include an entity that provides cloud computing services. Further, the management unit 12 may be a database on the cloud provided separately from the processing device 10.

実施形態では特に触れていないが、処理装置10が行う各処理をコンピュータに実行させるプログラムが提供されてもよい。また、プログラムは、コンピュータ読取り可能媒体に記録されていてもよい。コンピュータ読取り可能媒体を用いれば、コンピュータにプログラムをインストールすることが可能である。ここで、プログラムが記録されたコンピュータ読取り可能媒体は、非一過性の記録媒体であってもよい。非一過性の記録媒体は、特に限定されるものではないが、例えば、CD-ROMやDVD-ROM等の記録媒体であってもよい。 Although not particularly mentioned in the embodiment, a program that causes a computer to execute each process performed by the processing device 10 may be provided. The program may also be recorded on a computer-readable medium. Computer-readable media can be used to install programs on a computer. Here, the computer-readable medium on which the program is recorded may be a non-transient recording medium. The non-transient recording medium is not particularly limited, but may be, for example, a recording medium such as a CD-ROM or a DVD-ROM.

或いは、処理装置10が行う各処理を実行するためのプログラムを記憶するメモリ及びメモリに記憶されたプログラムを実行するプロセッサによって構成されるチップが提供されてもよい。 Alternatively, a chip composed of a memory for storing a program for executing each process performed by the processing device 10 and a processor for executing the program stored in the memory may be provided.

10…処理装置、11…通信部、12…管理部、13…制御部、20…ユーザ端末、21…ディスプレイ、30…提供装置、100…処理システム 10 ... processing device, 11 ... communication unit, 12 ... management unit, 13 ... control unit, 20 ... user terminal, 21 ... display, 30 ... providing device, 100 ... processing system

Claims (5)

コンテナイメージの実行によって構築されるコンテナをスキャンすることによって、前記コンテナイメージに含まれるプログラムのうち、前記コンテナで実際に実行されることがある実行プログラムを特定する制御部を備え、
前記制御部は、前記実行プログラムの脆弱性を特定し、特定された脆弱性に基づいて、前記コンテナイメージに含まれるプログラムの脆弱性について対策すべき優先順位を設定するトリアージ処理を実行する、処理装置。
It is provided with a control unit that identifies an execution program that may actually be executed in the container among the programs included in the container image by scanning the container constructed by executing the container image.
The control unit identifies the vulnerabilities of the execution program, and based on the identified vulnerabilities, executes a triage process for setting a priority for countermeasures against the vulnerabilities of the program included in the container image. Device.
前記制御部は、前記実行プログラム以外の非実行プログラムの脆弱性について対策すべき優先順位よりも、前記実行プログラムの脆弱性について対策すべき優先順位が高くなるように前記トリアージ処理を実行し、
前記非実行プログラムは、前記コンテナイメージに含まれるプログラムのうち、前記コンテナで実際に実行されることがないプログラムである、請求項1に記載の処理装置。
The control unit executes the triage process so that the priority for countermeasures against the vulnerabilities of the execution program is higher than the priority for countermeasures for the vulnerabilities of non-execution programs other than the execution program.
The processing device according to claim 1, wherein the non-execution program is a program included in the container image that is not actually executed in the container.
前記制御部は、前記実行プログラムを含むパッケージに関するパッケージ情報が登録されている場合に、前記パッケージ情報に基づいて前記実行プログラムの脆弱性を特定する、請求項1又は請求項2に記載の処理装置。 The processing device according to claim 1 or 2, wherein the control unit identifies a vulnerability of the execution program based on the package information when the package information regarding the package including the execution program is registered. .. 前記制御部は、前記実行プログラムを含むパッケージに関するパッケージ情報が登録されていない場合に、プログラム情報と脆弱性の内容とを対応付ける外部装置を参照することによって、前記実行プログラムに関するプログラム情報に基づいて前記実行プログラムの脆弱性を特定する、請求項1乃至請求項3のいずれか1項に記載の処理装置。 The control unit refers to an external device that associates the program information with the content of the vulnerability when the package information related to the package including the execution program is not registered, and the control unit is based on the program information related to the execution program. The processing device according to any one of claims 1 to 3, which identifies the vulnerability of the execution program. 処理装置が、コンテナイメージの実行によって構築されるコンテナをスキャンすることによって、前記コンテナイメージに含まれるプログラムのうち、前記コンテナで実際に実行されることがある実行プログラムを特定するステップAと、
前記処理装置が、前記実行プログラムの脆弱性を特定し、特定された脆弱性に基づいて、前記コンテナイメージに含まれるプログラムの脆弱性について対策すべき優先順位を設定するトリアージ処理を実行するステップBと、を備える、処理方法。
Step A, in which the processing device scans the container constructed by executing the container image to identify an execution program that may actually be executed in the container among the programs included in the container image .
Step B in which the processing device identifies the vulnerabilities of the execution program and, based on the identified vulnerabilities, sets a priority for taking countermeasures against the vulnerabilities of the programs included in the container image. And, the processing method.
JP2021172344A 2021-10-21 2021-10-21 Processing equipment and processing method Active JP7086261B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021172344A JP7086261B1 (en) 2021-10-21 2021-10-21 Processing equipment and processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021172344A JP7086261B1 (en) 2021-10-21 2021-10-21 Processing equipment and processing method

Publications (2)

Publication Number Publication Date
JP7086261B1 true JP7086261B1 (en) 2022-06-17
JP2023062394A JP2023062394A (en) 2023-05-08

Family

ID=82057331

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021172344A Active JP7086261B1 (en) 2021-10-21 2021-10-21 Processing equipment and processing method

Country Status (1)

Country Link
JP (1) JP7086261B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7340585B2 (en) 2021-12-14 2023-09-07 株式会社日立製作所 Vulnerability management system and vulnerability management method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180309747A1 (en) * 2011-08-09 2018-10-25 CloudPassage, Inc. Systems and methods for providing container security
US20200265134A1 (en) * 2017-11-09 2020-08-20 British Telecommunications Public Limited Company Vulnerability assessment of containerised installation
JP2020154861A (en) * 2019-03-20 2020-09-24 三菱電機インフォメーションネットワーク株式会社 Container image verification device, container image verification method, and container image verification program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180309747A1 (en) * 2011-08-09 2018-10-25 CloudPassage, Inc. Systems and methods for providing container security
US20200265134A1 (en) * 2017-11-09 2020-08-20 British Telecommunications Public Limited Company Vulnerability assessment of containerised installation
JP2020154861A (en) * 2019-03-20 2020-09-24 三菱電機インフォメーションネットワーク株式会社 Container image verification device, container image verification method, and container image verification program

Also Published As

Publication number Publication date
JP2023062394A (en) 2023-05-08

Similar Documents

Publication Publication Date Title
US9477486B2 (en) Attestation protocol for securely booting a guest operating system
US10169071B2 (en) Hypervisor-hosted virtual machine forensics
US9558081B2 (en) Hypervisor assisted virtual memory obfuscation
US9037873B2 (en) Method and system for preventing tampering with software agent in a virtual machine
US9870324B2 (en) Isolating guest code and data using multiple nested page tables
US20180293394A1 (en) Identifying container file events for providing container security
EP3047419B1 (en) Virtual secure mode for virtual machines
US9111089B1 (en) Systems and methods for safely executing programs
US10325116B2 (en) Dynamic privilege management in a computer system
US20090307705A1 (en) Secure multi-purpose computing client
US8893306B2 (en) Resource management and security system
US10108800B1 (en) ARM processor-based hardware enforcement of providing separate operating system environments for mobile devices with capability to employ different switching methods
RU2667052C2 (en) Detection of harmful software with cross-review
JP2018502371A (en) Processor, method and computer program for supporting secure objects
JP2020109649A (en) System and method for creating log when executing vulnerable file in virtual machine
JP7086261B1 (en) Processing equipment and processing method
JP2022100217A (en) Isolation of memory in reliable execution environment
US11308204B2 (en) Agentless security
US11258816B2 (en) Managing firewall rules based on triggering statistics
US9135436B2 (en) Execution stack securing process
WO2020241171A1 (en) Processing device and processing method
US20230350997A1 (en) Secure offloaded data transfer
JP7008922B2 (en) Processing equipment and processing method
RU2609761C1 (en) Method for code performance in hypervisor mode
RU2583709C2 (en) System and method for elimination of consequences of infection of virtual machines

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211021

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20211021

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20211210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220301

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220519

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220607

R150 Certificate of patent or registration of utility model

Ref document number: 7086261

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350