JP2020154861A - Container image verification device, container image verification method, and container image verification program - Google Patents

Container image verification device, container image verification method, and container image verification program Download PDF

Info

Publication number
JP2020154861A
JP2020154861A JP2019053705A JP2019053705A JP2020154861A JP 2020154861 A JP2020154861 A JP 2020154861A JP 2019053705 A JP2019053705 A JP 2019053705A JP 2019053705 A JP2019053705 A JP 2019053705A JP 2020154861 A JP2020154861 A JP 2020154861A
Authority
JP
Japan
Prior art keywords
container image
verification
container
package
detailed
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.)
Pending
Application number
JP2019053705A
Other languages
Japanese (ja)
Inventor
正貴 藤原
Masataka Fujiwara
正貴 藤原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Information Network Corp
Original Assignee
Mitsubishi Electric Information Network 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 Mitsubishi Electric Information Network Corp filed Critical Mitsubishi Electric Information Network Corp
Priority to JP2019053705A priority Critical patent/JP2020154861A/en
Publication of JP2020154861A publication Critical patent/JP2020154861A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

To secure safety of a container image while reducing consumption of calculation resources by processing for verifying fragility.SOLUTION: In a container image verification system, a simple information acquisition unit 121 acquires a container configuration file from a container image database 160, and specifies a version of a package. A simple collation unit 123 performs simple verification for determining presence/absence of fragility of the package included in a container image on the basis of fragility information 170 in which the version of the package is associated with the presence/absence of fragility. A detailed information acquisition unit 131 executes the container image of which fragility is determined to be present by simple verification as a detailed verification object container image, and acquires package information included in the detailed verification object container image. A detailed collation unit 132 performs detailed verification for determining the presence/absence of fragility of the package included in the detailed verification object container image on the basis of the fragility information 170.SELECTED DRAWING: Figure 1

Description

本発明は、コンテナイメージ検証装置、コンテナイメージ検証方法、およびコンテナイメージ検証プログラムに関する。 The present invention relates to a container image verification device, a container image verification method, and a container image verification program.

コンテナ環境で利用するコンテナイメージをパブリックレジストリから取得する場合、脆弱性のあるイメージをダウンロードしてしまうリスクがある。また、当初は安全であっても、コンテナ環境にて、脆弱性のあるパッケージを追加したコンテナイメージを作成する可能性がある。そのような脆弱性を持つコンテナイメージがインターネット向けに公開されるシステム上に展開された場合、サイバー攻撃を受け、システムに被害をもたらすリスクがある。 When acquiring the container image used in the container environment from the public registry, there is a risk of downloading the vulnerable image. Also, even if it is initially safe, there is a possibility to create a container image with vulnerable packages added in the container environment. If a container image with such a vulnerability is deployed on a system that is open to the Internet, there is a risk of being attacked by a cyber attack and causing damage to the system.

特許文献1は、コンテナイメージの取得装置と配信装置で構成される。取得装置は、コンテナイメージのバージョンを特定する情報の入力を受け付け、バージョンを特定し、配信装置に通知する。配信装置は、該当するバージョンのコンテナイメージを取得装置に対して送信する。 Patent Document 1 includes a container image acquisition device and a distribution device. The acquisition device accepts input of information for specifying the version of the container image, identifies the version, and notifies the distribution device. The distribution device transmits the corresponding version of the container image to the acquisition device.

特開2018−63629号公報JP-A-2018-63629

特許文献1では、配信装置が配信するコンテナイメージには脆弱性を持つソフトウェアパッケージが含まれる可能性がある。しかし、そのような脆弱性を検証し、コンテナイメージの安全性を担保する仕組みがない。コンテナイメージを実行することにより脆弱性を検証できるが、全てのコンテナイメージを実行して脆弱性を検証するので計算資源の消費量が高くなる。 In Patent Document 1, the container image distributed by the distribution device may contain a vulnerable software package. However, there is no mechanism to verify such vulnerabilities and ensure the safety of container images. Vulnerabilities can be verified by executing container images, but since all container images are executed to verify vulnerabilities, the consumption of computational resources is high.

本発明では、脆弱性を検証する処理による計算資源の消費量を低減しつつ、コンテナイメージの安全性を担保することを目的とする。 An object of the present invention is to ensure the safety of the container image while reducing the consumption of computational resources by the process of verifying the vulnerability.

本発明に係るコンテナイメージ検証装置は、コンテナイメージの脆弱性を検証するコンテナイメージ検証装置において、
前記コンテナイメージの生成手順を表すコンテナ構成ファイルが格納されたコンテナイメージデータベースから、前記コンテナ構成ファイルを取得し、前記コンテナイメージに含まれるパッケージのバージョンを特定する簡易情報取得部と、
前記コンテナイメージに含まれるパッケージのバージョンと脆弱性の有無とが対応付けられた脆弱性情報に基づいて、前記コンテナイメージに含まれるパッケージの脆弱性の有無を判定する簡易検証を行う簡易照合部と、
前記簡易検証により脆弱性有りと判定されたコンテナイメージを詳細検証対象コンテナイメージとして実行し、前記詳細検証対象コンテナイメージに含まれるパッケージ情報を取得する詳細情報取得部と、
前記脆弱性情報に基づいて、前記詳細検証対象コンテナイメージに含まれるパッケージの脆弱性の有無を判定する詳細検証を行う詳細照合部と
を備えた。
The container image verification device according to the present invention is a container image verification device that verifies the vulnerability of a container image.
A simple information acquisition unit that acquires the container configuration file from the container image database that stores the container configuration file that represents the procedure for generating the container image, and specifies the version of the package included in the container image.
A simple collation unit that performs simple verification to determine the presence or absence of vulnerabilities in the package included in the container image based on the vulnerability information associated with the version of the package included in the container image and the presence or absence of vulnerabilities. ,
A detailed information acquisition unit that executes a container image determined to be vulnerable by the simple verification as a container image subject to detailed verification and acquires package information included in the container image subject to detailed verification.
Based on the vulnerability information, it is provided with a detailed collation unit that performs detailed verification for determining the presence or absence of vulnerabilities in the package included in the detailed verification target container image.

前記簡易情報取得部は、
前記コンテナ構成ファイルから前記生成手順を構成するパッケージインストールコマンドを抽出し、前記パッケージのバージョンが指定されているパッケージインストールコマンドに基づいて前記パッケージのバージョンを特定する。
The simple information acquisition unit
The package installation command that constitutes the generation procedure is extracted from the container configuration file, and the version of the package is specified based on the package installation command in which the version of the package is specified.

前記コンテナイメージデータベースは、前記コンテナイメージの更新日時を含み、
前記脆弱性情報は、最新の更新日付を含み、
前記簡易照合部は、前記パッケージのバージョンが特定できない場合、前記コンテナイメージデータベースに含まれる前記コンテナイメージの更新日時と、前記脆弱性情報の最新の更新日付とを比較し、前記コンテナイメージの更新日時以降に前記脆弱性情報が更新されている場合に、前記コンテナイメージに含まれるパッケージに脆弱性有りと判定する。
The container image database includes the modification date and time of the container image.
The vulnerability information includes the latest update date.
When the version of the package cannot be specified, the simple collation unit compares the update date and time of the container image included in the container image database with the latest update date and time of the vulnerability information, and the update date and time of the container image. If the vulnerability information is subsequently updated, it is determined that the package included in the container image is vulnerable.

前記簡易照合部は、前記コンテナイメージデータベースに前記簡易検証の結果を記憶し、
前記詳細照合部は、前記コンテナイメージデータベースに前記詳細検証の結果を記憶し、
前記コンテナイメージ検証装置は、
前記コンテナイメージデータベースに基づいて、脆弱性有りと判定されたコンテナイメージを脆弱性コンテナイメージとして更新の可否を判定し、更新可能であれば前記脆弱性コンテナイメージを更新するコンテナイメージ選択部を備えた。
The simple collation unit stores the result of the simple verification in the container image database, and stores the result of the simple verification.
The detailed collation unit stores the result of the detailed verification in the container image database, and stores the result of the detailed verification.
The container image verification device is
Based on the container image database, it is provided with a container image selection unit that determines whether or not the container image determined to be vulnerable can be updated as a vulnerable container image and updates the vulnerable container image if it can be updated. ..

前記コンテナイメージ選択部は、
前記脆弱性コンテナイメージについて更新不可と判定された場合は、インターネットに公開された本番環境への配布するコンテナイメージを格納するパブリック向けレジストリから前記脆弱性コンテナイメージを削除する。
The container image selection unit
If it is determined that the vulnerability container image cannot be updated, the vulnerability container image is deleted from the public registry that stores the container image to be distributed to the production environment published on the Internet.

本実施の形態に係るコンテナイメージ検証方法は、コンテナイメージの脆弱性を検証するコンテナイメージ検証装置のコンテナイメージ検証方法において、
簡易情報取得部が、前記コンテナイメージの生成手順を表すコンテナ構成ファイルが格納されたコンテナイメージデータベースから、前記コンテナ構成ファイルを取得し、前記コンテナイメージに含まれるパッケージのバージョンを特定し、
簡易照合部が、前記コンテナイメージに含まれるパッケージのバージョンと脆弱性の有無とが対応付けられた脆弱性情報に基づいて、前記コンテナイメージに含まれるパッケージの脆弱性の有無を判定する簡易検証を行い、
詳細情報取得部が、前記簡易検証により脆弱性有りと判定されたコンテナイメージを詳細検証対象コンテナイメージとして実行し、前記詳細検証対象コンテナイメージに含まれるパッケージ情報を取得し、
詳細照合部が、前記脆弱性情報に基づいて、前記詳細検証対象コンテナイメージに含まれるパッケージの脆弱性の有無を判定する詳細検証を行う。
The container image verification method according to the present embodiment is the container image verification method of the container image verification device for verifying the vulnerability of the container image.
The simple information acquisition unit acquires the container configuration file from the container image database in which the container configuration file representing the container image generation procedure is stored, identifies the version of the package included in the container image, and determines the version of the package.
The simple collation unit performs a simple verification to determine the presence or absence of vulnerabilities in the package included in the container image based on the vulnerability information associated with the version of the package included in the container image and the presence or absence of vulnerabilities. Do,
The detailed information acquisition unit executes the container image determined to be vulnerable by the simple verification as the detailed verification target container image, acquires the package information included in the detailed verification target container image, and obtains the package information.
Based on the vulnerability information, the detailed collation unit performs detailed verification for determining the presence or absence of vulnerabilities in the package included in the detailed verification target container image.

本実施の形態に係るコンテナイメージ検証プログラムは、コンテナイメージの脆弱性を検証するコンテナイメージ検証装置のコンテナイメージ検証プログラムにおいて、
前記コンテナイメージの生成手順を表すコンテナ構成ファイルが格納されたコンテナイメージデータベースから、前記コンテナ構成ファイルを取得し、前記コンテナイメージに含まれるパッケージのバージョンを特定する簡易情報取得処理と、
前記コンテナイメージに含まれるパッケージのバージョンと脆弱性の有無とが対応付けられた脆弱性情報に基づいて、前記コンテナイメージに含まれるパッケージの脆弱性の有無を判定する簡易検証を行う簡易照合処理と、
前記簡易検証により脆弱性有りと判定されたコンテナイメージを詳細検証対象コンテナイメージとして実行し、前記詳細検証対象コンテナイメージに含まれるパッケージ情報を取得する詳細情報取得処理と、
前記脆弱性情報に基づいて、前記詳細検証対象コンテナイメージに含まれるパッケージの脆弱性の有無を判定する詳細検証を行う詳細照合処理と
をコンピュータである前記コンテナイメージ検証装置に実行させる。
The container image verification program according to this embodiment is used in the container image verification program of the container image verification device that verifies the vulnerability of the container image.
A simple information acquisition process that acquires the container configuration file from the container image database that stores the container configuration file that represents the procedure for generating the container image and specifies the version of the package included in the container image.
Based on the vulnerability information associated with the version of the package included in the container image and the presence or absence of vulnerabilities, a simple collation process for performing simple verification to determine the presence or absence of vulnerabilities in the package included in the container image. ,
The detailed information acquisition process of executing the container image determined to be vulnerable by the simple verification as the detailed verification target container image and acquiring the package information included in the detailed verification target container image, and
Based on the vulnerability information, the container image verification device, which is a computer, is made to execute a detailed collation process for performing detailed verification for determining the presence or absence of vulnerabilities in the package included in the detailed verification target container image.

本発明に係るコンテナイメージ検証装置では、簡易情報取得部が、コンテナイメージデータベースからコンテナ構成ファイルを取得し、コンテナイメージに含まれるパッケージのバージョンを特定する。簡易照合部が、脆弱性情報に基づいて、コンテナイメージに含まれるパッケージの脆弱性の有無を判定する簡易検証を行う。そして、詳細照合部は、簡易検証により脆弱性有りと判定された詳細検証対象コンテナイメージに対して、詳細検証を行う。よって、本発明に係るコンテナイメージ検証装置によれば、簡易検証により脆弱性有りと判定された詳細検証対象コンテナイメージに対してのみ詳細検証を行うので、コンテナイメージの検証処理による計算資源の消費量を軽減することができるという効果がある。 In the container image verification device according to the present invention, the simple information acquisition unit acquires the container configuration file from the container image database and specifies the version of the package included in the container image. Based on the vulnerability information, the simple collation unit performs simple verification to determine the presence or absence of vulnerabilities in the package included in the container image. Then, the detailed collation unit performs detailed verification on the container image to be detailed verification that is determined to be vulnerable by simple verification. Therefore, according to the container image verification device according to the present invention, detailed verification is performed only on the container image subject to detailed verification determined to be vulnerable by simple verification, so that the amount of computational resources consumed by the container image verification process is consumed. Has the effect of being able to reduce.

実施の形態1に係るコンテナイメージ検証システムの全体構成図。The overall block diagram of the container image verification system which concerns on Embodiment 1. FIG. 実施の形態1に係るコンテナイメージ取得処理のフロー図。The flow chart of the container image acquisition process which concerns on Embodiment 1. FIG. 実施の形態1に係るコンテナイメージデータベース登録処理のフロー図。The flow chart of the container image database registration process which concerns on Embodiment 1. FIG. 実施の形態1に係るコンテナイメージ利用処理のフロー図。The flow chart of the container image utilization processing which concerns on Embodiment 1. FIG. 実施の形態1に係るコンテナイメージ定期検証処理のフロー図。The flow chart of the container image periodical verification process which concerns on Embodiment 1. FIG. 実施の形態1に係るコンテナイメージ検証処理のフロー図。The flow chart of the container image verification process which concerns on Embodiment 1. FIG. 実施の形態1に係るコンテナイメージの簡易検証処理のフロー図。The flow diagram of the simple verification process of the container image which concerns on Embodiment 1. FIG. 実施の形態1に係るコンテナ構成ファイルと脆弱性情報の例。An example of the container configuration file and vulnerability information according to the first embodiment. 実施の形態1に係る脆弱性情報取得処理のフロー図。The flow chart of the vulnerability information acquisition process which concerns on Embodiment 1. 実施の形態1に係る脆弱性情報の最新更新日付情報の取得処理のフロー図。The flow chart of the acquisition process of the latest update date information of the vulnerability information which concerns on Embodiment 1. FIG. 実施の形態1に係るパッケージ名およびバージョン情報の抽出処理のフロー図。FIG. 5 is a flow chart of an extraction process of package name and version information according to the first embodiment. 実施の形態1に係るコンテナ構成ファイルからの簡易パッケージ情報取得処理のフロー図。FIG. 5 is a flow chart of a simple package information acquisition process from the container configuration file according to the first embodiment. 実施の形態1に係るコンテナ構成ファイル(rpmコマンド)からの簡易パッケージ情報取得処理のフロー図。FIG. 5 is a flow chart of a simple package information acquisition process from the container configuration file (rpm command) according to the first embodiment. 実施の形態1に係るコンテナ構成ファイル(yumコマンド)からの簡易パッケージ情報取得処理のフロー図。FIG. 5 is a flow chart of a simple package information acquisition process from the container configuration file (yum command) according to the first embodiment. 実施の形態1に係るコンテナイメージの詳細検証処理のフロー図。The flow chart of the detailed verification process of the container image which concerns on Embodiment 1. FIG. 実施の形態1に係る詳細検証処理の詳細パッケージ情報取得処理のフロー図。FIG. 5 is a flow chart of a detailed package information acquisition process of the detailed verification process according to the first embodiment. 実施の形態1に係るパーケージ一覧の例。An example of a package list according to the first embodiment. 実施の形態1に係るパッケージ一覧からのパッケージ名・バージョン情報抽出処理のフロー図。The flow chart of the package name / version information extraction process from the package list which concerns on Embodiment 1. 実施の形態1に係るコンテナイメージ更新・削除処理のフロー図。The flow chart of the container image update / deletion process which concerns on Embodiment 1. FIG. 実施の形態1に係るコンテナイメージ更新可否判定処理のフロー図。FIG. 5 is a flow chart of a container image updateability determination process according to the first embodiment. 実施の形態1に係るコンテナイメージ更新処理のフロー図。The flow chart of the container image update process which concerns on Embodiment 1. FIG. 実施の形態1に係るコンテナイメージ配布装置更新処理のフロー図。FIG. 5 is a flow chart of a container image distribution device update process according to the first embodiment. 実施の形態1に係るコンテナイメージ削除処理のフロー図。The flow chart of the container image deletion processing which concerns on Embodiment 1. FIG. 実施の形態1に係るコンテナイメージ本番環境利用処理のフロー図。FIG. 5 is a flow chart of a container image production environment utilization process according to the first embodiment. 実施の形態1に係るデータの流れを示す図。The figure which shows the flow of data which concerns on Embodiment 1. FIG. 実施の形態1に係るコンテナイメージ検証装置のハードウェア構成図。The hardware configuration diagram of the container image verification apparatus which concerns on Embodiment 1. FIG.

以下、本実施の形態について、図を用いて説明する。各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。 Hereinafter, the present embodiment will be described with reference to the drawings. In each figure, the same or corresponding parts are designated by the same reference numerals. In the description of the embodiment, the description will be omitted or simplified as appropriate for the same or corresponding parts.

実施の形態1.
***構成の説明***
図1は、本実施の形態に係るコンテナイメージ検証システム500の全体構成図である。
コンテナイメージ検証システム500は、コンテナイメージ検証装置100、ローカルレジストリ200、およびコンテナイメージ配布装置300を備える。
ここでは、コンテナイメージ検証システム500の各構成要素の機能の概要について説明する。
Embodiment 1.
*** Explanation of configuration ***
FIG. 1 is an overall configuration diagram of the container image verification system 500 according to the present embodiment.
The container image verification system 500 includes a container image verification device 100, a local registry 200, and a container image distribution device 300.
Here, the outline of the function of each component of the container image verification system 500 will be described.

ローカルレジストリ200は、インターネット上に公開されたコンテナイメージ210を格納する。ローカルレジストリ200には、インターネットを介して予めパブリックレジストリから取得したコンテナイメージ、あるいは、開発環境50で変更を加えたコンテナイメージが格納される。ローカルレジストリ200は、コンテナイメージ210を開発環境50に配布する。
パッケージ管理システム220は、コンテナイメージ内部のパッケージを管理するシステムである。
The local registry 200 stores a container image 210 published on the Internet. The local registry 200 stores a container image previously acquired from the public registry via the Internet, or a container image modified in the development environment 50. The local registry 200 distributes the container image 210 to the development environment 50.
The package management system 220 is a system that manages packages inside the container image.

コンテナイメージ検証装置100は、コンテナイメージの脆弱性を検証する。すなわち、コンテナイメージ検証装置100は、コンテナイメージに脆弱性が含まれるかどうかの判定、および、脆弱性が含まれるコンテナイメージの削除を行う。
コンテナイメージ検証装置100は、簡易検証部120、詳細検証部130、コンテナイメージ選択部150、コンテナイメージデータベース160、脆弱性情報170を備える。簡易検証部120は、簡易情報取得部121、脆弱性情報取得部122、および簡易照合部123を備える。詳細検証部130は、詳細情報取得部131、および詳細照合部132を備える。
コンテナイメージ検証装置100は、ローカルレジストリ200に格納されたコンテナイメージ210の脆弱性有無の検証を行い、結果をコンテナイメージデータベース160に保存する。また、コンテナイメージ検証装置100は、コンテナイメージ選択部150により、コンテナイメージ配布装置300複製するコンテナイメージを選択する。
The container image verification device 100 verifies the vulnerability of the container image. That is, the container image verification device 100 determines whether or not the container image contains a vulnerability, and deletes the container image containing the vulnerability.
The container image verification device 100 includes a simple verification unit 120, a detailed verification unit 130, a container image selection unit 150, a container image database 160, and vulnerability information 170. The simple verification unit 120 includes a simple information acquisition unit 121, a vulnerability information acquisition unit 122, and a simple collation unit 123. The detailed verification unit 130 includes a detailed information acquisition unit 131 and a detailed collation unit 132.
The container image verification device 100 verifies the presence or absence of vulnerabilities in the container image 210 stored in the local registry 200, and saves the result in the container image database 160. Further, the container image verification device 100 selects the container image to be duplicated by the container image distribution device 300 by the container image selection unit 150.

コンテナイメージデータベース160は、コンテナイメージの以下の情報を管理する。
・コンテナイメージID
・コンテナイメージ更新日時
・コンテナイメージ簡易検証結果
・コンテナイメージ更新可否
・コンテナ構成ファイル
・コンテナイメージ詳細検証結果
・パッケージ情報
・脆弱性のあるパッケージ名
The container image database 160 manages the following information of the container image.
・ Container image ID
・ Container image update date and time ・ Container image simple verification result ・ Container image update availability ・ Container configuration file ・ Container image detailed verification result ・ Package information ・ Vulnerable package name

簡易情報取得部121は、コンテナイメージの生成手順を表すコンテナ構成ファイルが格納されたコンテナイメージデータベース160から、コンテナ構成ファイルを取得する。そして、簡易情報取得部121は、コンテナイメージに含まれるパッケージのバージョンを特定する。簡易情報取得部121は、簡易パッケージ情報取得部ともいう。 The simple information acquisition unit 121 acquires the container configuration file from the container image database 160 in which the container configuration file representing the container image generation procedure is stored. Then, the simple information acquisition unit 121 specifies the version of the package included in the container image. The simple information acquisition unit 121 is also referred to as a simple package information acquisition unit.

詳細情報取得部131は、簡易検証により脆弱性有りと判定されたコンテナイメージを詳細検証対象コンテナイメージとして実行する。そして、詳細情報取得部131は、詳細検証対象コンテナイメージに含まれるパッケージ情報を取得する。詳細情報取得部131は、パッケージ管理システム220からコンテナイメージを実行し、インストールされたパッケージ一覧を取得し、次の情報をコンテナイメージデータベース160に保存する。
・パッケージ名
・バージョン情報
The detailed information acquisition unit 131 executes the container image determined to be vulnerable by the simple verification as the detailed verification target container image. Then, the detailed information acquisition unit 131 acquires the package information included in the detailed verification target container image. The detailed information acquisition unit 131 executes the container image from the package management system 220, acquires a list of installed packages, and stores the following information in the container image database 160.
・ Package name ・ Version information

脆弱性情報取得部122は、インターネット上に存在する脆弱性情報データベースから脆弱性情報170を取得し、次の情報をローカルの脆弱性情報データベースに保存する。
・脆弱性情報ID
・パッケージ名
・バージョン情報
Vulnerability information acquisition unit 122 acquires vulnerability information 170 from a vulnerability information database existing on the Internet, and stores the following information in a local vulnerability information database.
・ Vulnerability information ID
・ Package name ・ Version information

脆弱性情報170は、コンテナイメージ検証装置100に存在する。脆弱性情報170は、コンテナイメージに含まれるパッケージのバージョンと脆弱性の有無とが対応付けられた情報である。脆弱性情報170には、パッケージの脆弱性情報および最新の更新日付が含まれる。 Vulnerability information 170 exists in the container image verification device 100. Vulnerability information 170 is information in which the version of the package included in the container image is associated with the presence or absence of vulnerabilities. Vulnerability information 170 includes package vulnerability information and the latest update date.

簡易照合部123は、脆弱性情報170に基づいて、コンテナイメージに含まれるパッケージの脆弱性の有無を判定する簡易検証を行う。簡易照合部123は、コンテナイメージデータベース160の情報と脆弱性情報170を照合する。簡易照合部123は、コンテナイメージのパッケージ情報と脆弱性情報170を照合し、合致するパッケージがあれば脆弱性有り、合致するパッケージがなければ脆弱性無し、と判定する。 The simple collation unit 123 performs simple verification for determining the presence or absence of vulnerabilities in the package included in the container image based on the vulnerability information 170. The simple collation unit 123 collates the information of the container image database 160 with the vulnerability information 170. The simple collation unit 123 collates the package information of the container image with the vulnerability information 170, and determines that there is a vulnerability if there is a matching package and that there is no vulnerability if there is no matching package.

詳細照合部132は、簡易検証により脆弱性有りとされたコンテナイメージ(詳細検証対象コンテナイメージ)の脆弱性有無の有無を判定し、コンテナイメージデータベース160にコンテナイメージ名およびその詳細検証結果を入力する。 The detailed collation unit 132 determines whether or not there is a vulnerability in the container image (container image subject to detailed verification) that has been determined to be vulnerable by simple verification, and inputs the container image name and its detailed verification result into the container image database 160. ..

コンテナイメージ選択部150は、コンテナイメージデータベース160に保存された簡易検証結果および詳細検証結果に基づき、ローカルレジストリ200およびコンテナイメージ配布装置300のコンテナイメージの更新および削除処理を実施する。脆弱性有りのコンテナイメージには、ローカルレジストリ200のコンテナイメージの更新を試みる。更新が不可であれば、コンテナイメージをローカル向けレジストリ310にのみ配布し、パブリック向けレジストリ320からは削除する。 The container image selection unit 150 updates and deletes the container image of the local registry 200 and the container image distribution device 300 based on the simple verification result and the detailed verification result stored in the container image database 160. For the vulnerable container image, try updating the container image in the local registry 200. If the update is not possible, the container image is distributed only to the local registry 310 and deleted from the public registry 320.

コンテナイメージ配布装置300は、コンテナイメージを本番環境に対して配布する。コンテナイメージ配布装置300は、ローカル向けレジストリ310と、パブリック向けレジストリ320から構成される。ローカル向けレジストリ310とパブリック向けレジストリ320には異なるIPアドレスを割り当て、ファイアウォール70でアクセス制御する。 The container image distribution device 300 distributes the container image to the production environment. The container image distribution device 300 is composed of a local registry 310 and a public registry 320. Different IP addresses are assigned to the local registry 310 and the public registry 320, and access control is performed by the firewall 70.

ローカル向けレジストリ310は、本番環境(ローカル)90にのみコンテナイメージを配布する。ローカルレジストリ200のコンテナイメージがすべて複製され、格納される。
パブリック向けレジストリ320は、本番環境(ローカル)90および本番環境(パブリック)80に対してコンテナイメージを配布する。ローカルレジストリ200のコンテナイメージのうち、コンテナイメージ検証装置100で安全と判定されたコンテナイメージのみが複製され、格納される。
The local registry 310 distributes the container image only to the production environment (local) 90. All container images of the local registry 200 are duplicated and stored.
The public registry 320 distributes the container image to the production environment (local) 90 and the production environment (public) 80. Of the container images in the local registry 200, only the container images determined to be safe by the container image verification device 100 are duplicated and stored.

本番環境(ローカル)90は、インターネット30からの接続を受け付けないネットワークセグメントに存在する本番環境である。一方、本番環境(パブリック)80は、インターネット30からの接続を受け付けるネットワークセグメントに存在する本番環境である。 The production environment (local) 90 is a production environment existing in a network segment that does not accept connections from the Internet 30. On the other hand, the production environment (public) 80 is a production environment existing in a network segment that accepts connections from the Internet 30.

***動作の説明***
本実施の形態に係るコンテナイメージ検証システム500によるコンテナイメージ検証処理について説明する。
*** Explanation of operation ***
The container image verification process by the container image verification system 500 according to the present embodiment will be described.

図2は、本実施の形態に係るコンテナイメージ取得処理のフロー図である。
コンテナイメージ検証システム500の利用形態としては、管理者がパブリックレジストリからのコンテナイメージの新規取得を行い、開発者がそのコンテナイメージを利用して開発を行うことを想定している。以下、管理者がパブリックレジストリからコンテナイメージを都度取得するコンテナイメージ取得処理について説明する。
FIG. 2 is a flow chart of the container image acquisition process according to the present embodiment.
As a usage pattern of the container image verification system 500, it is assumed that the administrator acquires a new container image from the public registry and the developer develops using the container image. The container image acquisition process in which the administrator acquires the container image from the public registry each time will be described below.

ステップS101において、パブリックレジストリからのコンテナイメージ取得が開始される。
ステップS102において、パブリックレジストリよりコンテナイメージがダウンロードされる。
ステップS103において、コンテナイメージデータベース登録処理が実施される。
ステップS104において、コンテナイメージ検証処理が実施される。
In step S101, the container image acquisition from the public registry is started.
In step S102, the container image is downloaded from the public registry.
In step S103, the container image database registration process is executed.
In step S104, the container image verification process is performed.

図3は、本実施の形態に係るコンテナイメージデータベース登録処理のフロー図である。
ステップS201において、コンテナイメージの以下情報がコンテナイメージデータベースに登録される。
・コンテナイメージID
・コンテナイメージ更新日時
・コンテナ構成ファイル
FIG. 3 is a flow chart of the container image database registration process according to the present embodiment.
In step S201, the following information of the container image is registered in the container image database.
・ Container image ID
-Container image update date and time-Container configuration file

図4は、本実施の形態に係るコンテナイメージ利用処理のフロー図である。
コンテナイメージ利用処理は、取得したコンテナイメージを開発者が利用する処理である。
ステップS301において、コンテナイメージ利用処理が開始される。
ステップS302において、ローカルレジストリ200からコンテナイメージが開発環境50に展開される。
ステップS303において、展開したコンテナイメージに必要な変更が加えられる。
ステップS304において、コンテナイメージをコミットしてローカルレジストリ200に保存する。
ステップS305において、コンテナイメージデータベース登録処理が実施される。
ステップS306において、コンテナイメージ検証処理が実施される。
FIG. 4 is a flow chart of the container image utilization process according to the present embodiment.
The container image utilization process is a process in which the developer uses the acquired container image.
In step S301, the container image utilization process is started.
In step S302, the container image is expanded from the local registry 200 to the development environment 50.
In step S303, the necessary changes are made to the expanded container image.
In step S304, the container image is committed and saved in the local registry 200.
In step S305, the container image database registration process is executed.
In step S306, the container image verification process is performed.

図5は、本実施の形態に係るコンテナイメージ定期検証処理のフロー図である。
コンテナイメージ定期検証処理は、脆弱性情報の更新に対応するため、定期的に実施される。
ステップS401において、コンテナイメージ定期検証処理が開始される。
ステップS402において、脆弱性情報データベースから脆弱性情報が取得される。
ステップS403において、ローカルレジストリ200上のすべてのコンテナイメージに対して、コンテナイメージ検証処理が実施される(ステップS404)。
FIG. 5 is a flow chart of the container image periodic verification process according to the present embodiment.
The container image periodic verification process is performed periodically in order to respond to the update of vulnerability information.
In step S401, the container image periodic verification process is started.
In step S402, vulnerability information is acquired from the vulnerability information database.
In step S403, the container image verification process is performed on all the container images on the local registry 200 (step S404).

<コンテナイメージ検証処理>
図6は、本実施の形態に係るコンテナイメージ検証処理のフロー図である。
コンテナイメージ検証装置100でコンテナイメージのパッケージ情報を得るには、次の2つの方法がある。
(a)コンテナイメージからコンテナを展開し、内部にログインして確認する。
(b)コンテナイメージの構成ファイル、更新日時から、パッケージ情報を推測する。
上記(a)の方法は、すべてのパッケージ情報を得ることができるものの、コンテナをデプロイするため、計算資源を消費する。コンテナイメージの脆弱性有無の検証は2段階に分けて、(b)の方法で危険性があると判断したコンテナイメージにのみ、(a)の方法での判定を実施することで計算資源の消費量を抑制できる。
<Container image verification process>
FIG. 6 is a flow chart of the container image verification process according to the present embodiment.
There are the following two methods for obtaining the package information of the container image by the container image verification device 100.
(A) Expand the container from the container image, log in to the inside, and check.
(B) The package information is estimated from the container image configuration file and the modification date.
Although the method (a) above can obtain all the package information, it consumes computational resources to deploy the container. Verification of the presence or absence of vulnerabilities in container images is divided into two stages, and only container images judged to be dangerous by method (b) are judged by method (a), which consumes computational resources. The amount can be suppressed.

ステップS501において、簡易検証部120が、コンテナイメージの簡易検証処理を実施する。
ステップS502において、コンテナイメージが安全であれば、処理を終了する。
ステップS502において、コンテナイメージが安全でなければ、詳細検証部130による詳細検証処理を実施する(ステップS503)。
In step S501, the simple verification unit 120 performs a simple verification process of the container image.
In step S502, if the container image is safe, the process ends.
If the container image is not safe in step S502, the detailed verification unit 130 performs a detailed verification process (step S503).

ステップS504において、コンテナイメージ(詳細検証対象コンテナイメージ)に脆弱性があれば、コンテナイメージ更新・削除処理が実施される(ステップS505)。その後、ステップS506に進む。
ステップS504において、コンテナイメージ(詳細検証対象コンテナイメージ)に脆弱性がなければ、ステップS506に進む。
ステップS506において、コンテナイメージを検証用サーバから削除する。
If the container image (container image subject to detailed verification) is vulnerable in step S504, the container image update / deletion process is executed (step S505). Then, the process proceeds to step S506.
If the container image (container image subject to detailed verification) is not vulnerable in step S504, the process proceeds to step S506.
In step S506, the container image is deleted from the verification server.

<簡易検証処理>
図7は、本実施の形態に係るコンテナイメージの簡易検証処理のフロー図である。
まず、簡易検証部120による簡易検証処理の概要について説明する。
簡易情報取得部121は、コンテナイメージの生成手順を表すコンテナ構成ファイルが格納されたコンテナイメージデータベース160から、コンテナ構成ファイルを取得する。そして、簡易情報取得部121は、コンテナイメージに含まれるパッケージのバージョンを特定する。より詳しくは、簡易情報取得部121は、コンテナ構成ファイルから生成手順を構成するパッケージインストールコマンドを抽出し、パッケージのバージョンが指定されているパッケージインストールコマンドに基づいてパッケージのバージョンを特定する。
<Simple verification process>
FIG. 7 is a flow chart of a simple verification process of the container image according to the present embodiment.
First, an outline of the simple verification process by the simple verification unit 120 will be described.
The simple information acquisition unit 121 acquires the container configuration file from the container image database 160 in which the container configuration file representing the container image generation procedure is stored. Then, the simple information acquisition unit 121 specifies the version of the package included in the container image. More specifically, the simple information acquisition unit 121 extracts the package installation command that configures the generation procedure from the container configuration file, and specifies the package version based on the package installation command in which the package version is specified.

簡易照合部123は、コンテナイメージに含まれるパッケージのバージョンと脆弱性の有無とが対応付けられた脆弱性情報170に基づいて、コンテナイメージに含まれるパッケージの脆弱性の有無を判定する簡易検証を行う。
また、簡易照合部123は、パッケージのバージョンが特定できない場合、コンテナイメージデータベース160に含まれるコンテナイメージの更新日時と、脆弱性情報170の最新の更新日付とを比較する。そして、簡易照合部123は、コンテナイメージの更新日時以降に脆弱性情報170が更新されている場合に、コンテナイメージに含まれるパッケージに脆弱性有りと判定する。
簡易照合部123は、コンテナイメージデータベース160に簡易検証の結果を記憶する。
コンテナイメージの簡易検証処理の具体例は、以下の通りである。
The simple collation unit 123 performs simple verification for determining the presence or absence of vulnerabilities in the package included in the container image based on the vulnerability information 170 in which the version of the package included in the container image and the presence or absence of vulnerabilities are associated with each other. Do.
Further, when the package version cannot be specified, the simple collation unit 123 compares the update date and time of the container image included in the container image database 160 with the latest update date and time of the vulnerability information 170. Then, when the vulnerability information 170 is updated after the update date and time of the container image, the simple collation unit 123 determines that the package included in the container image is vulnerable.
The simple collation unit 123 stores the result of the simple verification in the container image database 160.
A specific example of the simple verification process of the container image is as follows.

ステップS601において、簡易検証部120の脆弱性情報取得部122による脆弱性情報取得処理が実施される。
ステップS602において、簡易検証部120の簡易情報取得部121によるコンテナ構成ファイルからの簡易パッケージ情報取得処理が実施される。
In step S601, the vulnerability information acquisition process by the vulnerability information acquisition unit 122 of the simple verification unit 120 is executed.
In step S602, the simple package information acquisition process from the container configuration file is executed by the simple information acquisition unit 121 of the simple verification unit 120.

図8は、本実施の形態に係るコンテナ構成ファイルと脆弱性情報の例を示す図である。
簡易検証処理では、コンテナ構成ファイルからパッケージ情報を抽出する。コンテナ構成ファイルの例として、Dockerfileを示す。
上記構成ファイルの「RUN」が記述されている行には、コンテナイメージ作成時に実行されるパッケージインストールコマンドが記載されている。rpmコマンドでは、特定のバージョンのrpmパッケージをインストールしており、yumコマンドでは、コンテナイメージ作成時点での最新バージョンにアップグレードしている。
FIG. 8 is a diagram showing an example of a container configuration file and vulnerability information according to the present embodiment.
In the simple verification process, package information is extracted from the container configuration file. A Dockerfile is shown as an example of a container configuration file.
In the line where "RUN" is described in the above configuration file, the package installation command to be executed when the container image is created is described. The rpm command installs a specific version of the rpm package, and the yum command upgrades to the latest version at the time the container image was created.

ステップS603において、簡易検証部120の簡易照合部123は、パッケージ情報が存在するか否かを判定する。パッケージ情報が存在すれば、ステップS604に進む。パッケージ情報が存在しない場合は、ステップS605に進む。 In step S603, the simple collation unit 123 of the simple verification unit 120 determines whether or not the package information exists. If the package information exists, the process proceeds to step S604. If the package information does not exist, the process proceeds to step S605.

ステップS604において、簡易照合部123は、パッケージ情報と脆弱性情報でパッケージ名、バージョン情報が一致するものがあるかを判定する。一致するものがあれば、ステップS606に進む。一致するものがなければ、ステップS605に進む。
ステップS606において、簡易照合部123は、コンテナイメージは脆弱性有り(危険性有り)と判定する。
In step S604, the simple collation unit 123 determines whether the package information and the vulnerability information have the same package name and version information. If there is a match, the process proceeds to step S606. If there is no match, the process proceeds to step S605.
In step S606, the simple collation unit 123 determines that the container image is vulnerable (has a risk).

ステップS605において、簡易照合部123は、更新日時が脆弱性情報の最新更新日付の前か否かを判定する。更新日時が脆弱性情報の最新更新日付の前である場合、ステップS606で、コンテナイメージは脆弱性有り(危険性有り)と判定される。更新日時が脆弱性情報の最新更新日付の前でない場合、ステップS607で、コンテナイメージは「安全」と判定される。 In step S605, the simple collation unit 123 determines whether or not the update date and time is before the latest update date of the vulnerability information. If the update date and time is before the latest update date of the vulnerability information, the container image is determined to be vulnerable (hazardous) in step S606. If the update date is not before the latest update date of the vulnerability information, the container image is determined to be "safe" in step S607.

以上のように、簡易照合部123は、コンテナイメージのパッケージ名およびバージョンが特定されている場合は、脆弱性情報のパッケージ名およびバージョンと照合することで脆弱性の有無を判定する。バージョンが特定されていない場合は、簡易照合部123は、コンテナイメージ作成時点での最新バージョンのパッケージがインストールされていると想定し、コンテナイメージの更新日時と脆弱性情報の最新更新日付を比較する。簡易検証部120は、コンテナイメージの更新日時と脆弱性情報の最新更新日付を比較により、コンテナイメージの更新日時以降に脆弱性情報があるかどうかを確認する。脆弱性情報があれば、インストールされているパッケージが脆弱性に対応していない可能性があるため、脆弱性有り(危険性有り)と判定する。 As described above, when the package name and version of the container image are specified, the simple collation unit 123 determines the presence or absence of a vulnerability by collating with the package name and version of the vulnerability information. If the version is not specified, the simple collation unit 123 assumes that the latest version of the package at the time of creating the container image is installed, and compares the update date and time of the container image with the latest update date of the vulnerability information. .. The simple verification unit 120 compares the update date and time of the container image with the latest update date of the vulnerability information, and confirms whether or not there is vulnerability information after the update date and time of the container image. If there is vulnerability information, it is determined that there is a vulnerability (dangerous) because the installed package may not correspond to the vulnerability.

図9は、本実施の形態に係る脆弱性情報取得処理のフロー図である。
ステップS701において、脆弱性情報取得部122は、インターネット上の脆弱性情報データベースから脆弱性情報を取得する。
ステップS702において、脆弱性情報取得部122は、脆弱性情報から、パッケージ名およびバージョン情報を抽出する処理を実施する。
ステップS703において、脆弱性情報取得部122は、脆弱性情報の最新更新日付情報を取得する取得処理を実施する。
ステップS704において、脆弱性情報取得部122は、脆弱性情報ID、パッケージ名、バージョン情報、最新更新日付情報をローカルの脆弱性情報170(脆弱性情報データベース)に保存する。
FIG. 9 is a flow chart of the vulnerability information acquisition process according to the present embodiment.
In step S701, the vulnerability information acquisition unit 122 acquires vulnerability information from the vulnerability information database on the Internet.
In step S702, the vulnerability information acquisition unit 122 performs a process of extracting the package name and version information from the vulnerability information.
In step S703, the vulnerability information acquisition unit 122 executes an acquisition process for acquiring the latest update date information of the vulnerability information.
In step S704, the vulnerability information acquisition unit 122 stores the vulnerability information ID, package name, version information, and latest update date information in the local vulnerability information 170 (vulnerability information database).

図8の脆弱性情報の例は、Redhat Security Dataで提供されているものの例である。図8の脆弱性情報の例は、脆弱性を持つRedhatのパッケージと脆弱性情報IDであるCVEをマッピングさせた情報をXML形式で記述している。 The example of vulnerability information in FIG. 8 is an example of the one provided by Redhat Security Data. In the example of vulnerability information in FIG. 8, information in which a package of Redhat having a vulnerability and CVE which is a vulnerability information ID are mapped is described in XML format.

図10は、本実施の形態に係る脆弱性情報の最新更新日付情報の取得処理のフロー図である。
ステップS801において、脆弱性情報取得部122は、文字列“erratum released”を含む行を抽出する。
ステップS802において、脆弱性情報取得部122は、イコール“=”を区切り文字とし、右側の年月日を含む文字列を抽出する。
ステップS803において、脆弱性情報取得部122は、ダブルクォーテーションを区切り文字とし、年月日の部分を抽出する。
ステップS804において、脆弱性情報取得部122は、最後の行の日付を脆弱性情報の最新更新日付として取得する。
FIG. 10 is a flow chart of an acquisition process of the latest update date information of the vulnerability information according to the present embodiment.
In step S801, the vulnerability information acquisition unit 122 extracts a line containing the character string “erratum released”.
In step S802, the vulnerability information acquisition unit 122 uses the equal “=” as a delimiter and extracts a character string including the date on the right side.
In step S803, the vulnerability information acquisition unit 122 uses double quotation marks as delimiters and extracts the date portion.
In step S804, the vulnerability information acquisition unit 122 acquires the date of the last line as the latest update date of the vulnerability information.

図11は、本実施の形態に係るパッケージ名およびバージョン情報の抽出処理のフロー図である。
ステップS901において、脆弱性情報取得部122は、文字列“rpm”を含む行を抽出する。
ステップS902において、脆弱性情報取得部122は、イコール“=”を区切り文字とし、右側のパッケージ名、バージョン情報の文字列を取得する。
ステップS903において、脆弱性情報取得部122は、ダブルクォーテーションを除去する。
ステップS904において、脆弱性情報取得部122は、文字列”−0:”を区切り文字とし、パッケージ名とバージョン情報に分割する。
ステップS905において、脆弱性情報取得部122は、パッケージ名を取得する。
ステップS906において、脆弱性情報取得部122は、バージョン情報について、ドット(.)で区切られた3つの数字をバージョン情報として取得する。
FIG. 11 is a flow chart of a package name and version information extraction process according to the present embodiment.
In step S901, the vulnerability information acquisition unit 122 extracts a line containing the character string “rpm”.
In step S902, the vulnerability information acquisition unit 122 acquires the character string of the package name and version information on the right side with the equal “=” as the delimiter.
In step S903, the vulnerability information acquisition unit 122 removes the double quotation mark.
In step S904, the vulnerability information acquisition unit 122 uses the character string "-0:" as a delimiter and divides it into a package name and version information.
In step S905, the vulnerability information acquisition unit 122 acquires the package name.
In step S906, the vulnerability information acquisition unit 122 acquires three numbers separated by dots (.) As version information for the version information.

図12は、本実施の形態に係るコンテナ構成ファイルからの簡易パッケージ情報取得処理のフロー図である。
図12は、コンテナ構成ファイルからのパッケージ情報の抽出を行う簡易パッケージ情報取得処理である。ここでは、コンテナ構成ファイルの例で示す通り、rpmコマンドおよびyumコマンドによりパッケージがインストールされているものとする。
ステップS1001において、簡易情報取得部121は、コンテナ構成ファイルからyumコマンドを抽出する。
ステップS1002において、yumコマンドが存在する場合、簡易情報取得部121は、yumコマンドからの簡易パッケージ情報取得処理を実施する(ステップS1003)。
ステップS1002において、yumコマンドが存在しない場合、簡易情報取得部121は、rpmコマンドを抽出する(ステップS1004)。
ステップS1005において、rpmコマンドが存在する場合、簡易情報取得部121は、rpmコマンドからの簡易パッケージ情報取得処理を実施する(ステップS1006)。
FIG. 12 is a flow chart of a simple package information acquisition process from the container configuration file according to the present embodiment.
FIG. 12 is a simple package information acquisition process for extracting package information from the container configuration file. Here, it is assumed that the package is installed by the rpm command and the yum command as shown in the example of the container configuration file.
In step S1001, the simple information acquisition unit 121 extracts the yum command from the container configuration file.
If the yum command exists in step S1002, the simple information acquisition unit 121 executes the simple package information acquisition process from the yum command (step S1003).
If the yum command does not exist in step S1002, the simple information acquisition unit 121 extracts the rpm command (step S1004).
If the rpm command exists in step S1005, the simple information acquisition unit 121 executes the simple package information acquisition process from the rpm command (step S1006).

図13は、本実施の形態に係るコンテナ構成ファイルからの簡易パッケージ情報取得処理のフロー図である。
図13は、rpmコマンドでパッケージがインストールされている場合の、rpmコマンドからの簡易パッケージ情報取得処理である。
ステップS1011において、簡易情報取得部121は、文字列”.rpm”を区切り文字とし、左側のパッケージ名とバージョン情報を含む文字列を抽出する。
ステップS1012において、簡易情報取得部121は、文字列”−”を区切り文字とし、パッケージ名とバージョン情報を分割する。
ステップS1013において、簡易情報取得部121は、パッケージ名を取得する。
ステップS1014において、簡易情報取得部121は、バージョン情報について、ドット(.)で区切られた3つの数字をバージョン情報として取得する。
FIG. 13 is a flow chart of a simple package information acquisition process from the container configuration file according to the present embodiment.
FIG. 13 is a simple package information acquisition process from the rpm command when the package is installed by the rpm command.
In step S1011, the simple information acquisition unit 121 extracts a character string including the package name and version information on the left side, using the character string ".rpm" as a delimiter.
In step S1012, the simple information acquisition unit 121 divides the package name and the version information by using the character string "-" as a delimiter.
In step S1013, the simple information acquisition unit 121 acquires the package name.
In step S1014, the simple information acquisition unit 121 acquires three numbers separated by dots (.) As version information for the version information.

図14は、本実施の形態に係るコンテナ構成ファイルからの簡易パッケージ情報取得処理のフロー図である。
図14は、yumコマンドでパッケージがインストールされている場合の、yumコマンドからの簡易パッケージ情報取得処理である。
ステップS1021において、簡易情報取得部121は、yumの行で、数値の有無を検索する。
ステップS1022において、数値が存在すれば、簡易情報取得部121は、文字列”−”を区切り文字とし、パッケージ名とバージョン情報を分割する(ステップS1023)。
ステップS1022において、数値が存在しなければ、処理を終了する。
ステップS1024において、簡易情報取得部121は、パッケージ名を取得する。
ステップS1025において、簡易情報取得部121は、バージョン情報について、ドット(.)で区切られた3つの数字をバージョン情報として取得する。
FIG. 14 is a flow chart of a simple package information acquisition process from the container configuration file according to the present embodiment.
FIG. 14 is a simple package information acquisition process from the yum command when the package is installed by the yum command.
In step S1021, the simple information acquisition unit 121 searches for the presence or absence of a numerical value in the yum line.
In step S1022, if a numerical value exists, the simple information acquisition unit 121 uses the character string "-" as a delimiter and divides the package name and the version information (step S1023).
If the numerical value does not exist in step S1022, the process ends.
In step S1024, the simple information acquisition unit 121 acquires the package name.
In step S1025, the simple information acquisition unit 121 acquires three numbers separated by dots (.) As version information for the version information.

<詳細検証処理>
図15は、本実施の形態に係るコンテナイメージの詳細検証処理のフロー図である。
図15のコンテナイメージの詳細検証処理は、簡易検証処理で脆弱性有り(危険性有り)と判定されたコンテナイメージに対する詳細検証を行う処理である。簡易検証処理で脆弱性有り(危険性有り)と判定されたコンテナイメージを、詳細検証対象コンテナイメージとする。
<Detailed verification process>
FIG. 15 is a flow chart of a detailed verification process of the container image according to the present embodiment.
The detailed verification process of the container image of FIG. 15 is a process of performing detailed verification of the container image determined to be vulnerable (has a risk) in the simple verification process. A container image that is determined to be vulnerable (has a risk) by the simple verification process is used as the container image for detailed verification.

詳細情報取得部131は、簡易検証により脆弱性有りと判定されたコンテナイメージを詳細検証対象コンテナイメージとして実行し、詳細検証対象コンテナイメージに含まれるパッケージ情報を取得する。
詳細照合部132は、脆弱性情報に基づいて、詳細検証対象コンテナイメージに含まれるパッケージの脆弱性の有無を判定する詳細検証を行う。
The detailed information acquisition unit 131 executes the container image determined to be vulnerable by the simple verification as the detailed verification target container image, and acquires the package information included in the detailed verification target container image.
The detailed collation unit 132 performs detailed verification for determining the presence or absence of vulnerabilities in the package included in the detailed verification target container image based on the vulnerability information.

簡易検証処理では、パッケージ情報とローカルの脆弱性情報データベースを参照し、パッケージ名、バージョン情報を比較して、一致するものがあれば脆弱性あり(危険性有り)と判定した。一致するものがなければ、脆弱性無し(危険性無し)と判定して、簡易検証結果をコンテナイメージデータベース160に保存した。このとき、脆弱性情報取得部122により取得された脆弱性情報170が、ローカルの脆弱性情報データベースに保存されている。 In the simple verification process, the package information and the local vulnerability information database are referred to, the package name and version information are compared, and if there is a match, it is determined that there is a vulnerability (risk). If there is no match, it is determined that there is no vulnerability (no danger), and the simple verification result is saved in the container image database 160. At this time, the vulnerability information 170 acquired by the vulnerability information acquisition unit 122 is stored in the local vulnerability information database.

ステップS1031において、詳細検証部130の詳細情報取得部131は、詳細検証対象コンテナイメージからパッケージ情報を取得する詳細パッケージ情報取得処理を実施する。
ステップS1032において、詳細検証部130の詳細照合部132は、ローカルの脆弱性情報データベースから脆弱性情報170を取得する脆弱性情報取得処理を実施する。
ステップS1033において、詳細照合部132は、パッケージ情報と脆弱性情報でパッケージ名、バージョン情報が一致するものがあるかを判定する。一致するものがあれば、詳細照合部132は、脆弱性ありと判定する(ステップS1034)。一致するものがなければ、詳細照合部132は、脆弱性なしと判定する(ステップS1035)。
ステップS1036において、詳細照合部132は、詳細検証の結果をコンテナイメージデータベース160に保存する。
In step S1031, the detailed information acquisition unit 131 of the detailed verification unit 130 executes the detailed package information acquisition process for acquiring the package information from the detailed verification target container image.
In step S1032, the detailed collation unit 132 of the detailed verification unit 130 executes the vulnerability information acquisition process for acquiring the vulnerability information 170 from the local vulnerability information database.
In step S1033, the detailed collation unit 132 determines whether the package information and the vulnerability information have the same package name and version information. If there is a match, the detailed collation unit 132 determines that there is a vulnerability (step S1034). If there is no match, the detailed collation unit 132 determines that there is no vulnerability (step S1035).
In step S1036, the detailed collation unit 132 stores the result of the detailed verification in the container image database 160.

図16は、本実施の形態に係る詳細検証処理の詳細パッケージ情報取得処理のフロー図である。
詳細情報取得部131は、ローカルレジストリ200のコンテナイメージから、以下のシーケンスでパッケージ一覧を取得する。ここでのコンテナイメージは、詳細検証対象コンテナイメージである。
ステップS1041において、詳細情報取得部131は、コンテナイメージをコンテナイメージ実行サーバで実行し、ログインする。
ステップS1042において、詳細情報取得部131は、パッケージ管理システムの機能により、パッケージ一覧を取得する。
ステップS1043において、詳細情報取得部131は、パッケージ一覧からのパッケージ名、バージョン情報抽出処理を実施する。
ステップS1044において、詳細情報取得部131は、コンテナイメージデータベース160のパッケージ情報として、パッケージ名、バージョン情報を保存する。
FIG. 16 is a flow chart of a detailed package information acquisition process of the detailed verification process according to the present embodiment.
The detailed information acquisition unit 131 acquires a package list from the container image of the local registry 200 in the following sequence. The container image here is a container image subject to detailed verification.
In step S1041, the detailed information acquisition unit 131 executes the container image on the container image execution server and logs in.
In step S1042, the detailed information acquisition unit 131 acquires the package list by the function of the package management system.
In step S1043, the detailed information acquisition unit 131 executes the package name and version information extraction process from the package list.
In step S1044, the detailed information acquisition unit 131 saves the package name and version information as the package information of the container image database 160.

図17は、本実施の形態に係るパーケージ一覧の例を示す図である。図17は、パッケージ管理システムであるrpmによるパッケージ一覧の出力例である。 FIG. 17 is a diagram showing an example of a package list according to the present embodiment. FIG. 17 is an output example of a package list by rpm, which is a package management system.

図18は、本実施の形態に係るパッケージ一覧からのパッケージ名・バージョン情報抽出処理のフロー図である。
詳細情報取得部131は、パッケージ一覧からのパッケージ名、バージョン情報の抽出を行う。
ステップS1051において、詳細情報取得部131は、ハイフン(−)を区切り文字とし、パッケージ名とバージョンに分割する。
ステップS1052において、詳細情報取得部131は、パッケージ名を取得する。
ステップS1053において、詳細情報取得部131は、バージョン情報について、ドット(.)で区切られた3つの数字をバージョン情報として取得する。
FIG. 18 is a flow chart of the package name / version information extraction process from the package list according to the present embodiment.
The detailed information acquisition unit 131 extracts the package name and version information from the package list.
In step S1051, the detailed information acquisition unit 131 uses a hyphen (−) as a delimiter and divides it into a package name and a version.
In step S1052, the detailed information acquisition unit 131 acquires the package name.
In step S1053, the detailed information acquisition unit 131 acquires three numbers separated by dots (.) As version information for the version information.

<コンテナイメージ更新・削除処理>
図19は、本実施の形態に係るコンテナイメージ更新・削除処理のフロー図である。
コンテナイメージ選択部150は、コンテナイメージデータベース160に基づいて、脆弱性有りと判定されたコンテナイメージを脆弱性コンテナイメージとして更新の可否を判定する。そして、コンテナイメージ選択部150は、更新可能であれば脆弱性コンテナイメージを更新する。また、コンテナイメージ選択部150は、脆弱性コンテナイメージについて更新不可と判定された場合は、インターネットに公開された本番環境への配布するコンテナイメージを格納するパブリック向けレジストリ320から脆弱性コンテナイメージを削除する。
具体的には、以下の通りである。
<Container image update / deletion process>
FIG. 19 is a flow chart of the container image update / deletion process according to the present embodiment.
Based on the container image database 160, the container image selection unit 150 determines whether or not to update the container image determined to be vulnerable as a vulnerable container image. Then, the container image selection unit 150 updates the vulnerable container image if it can be updated. If it is determined that the vulnerable container image cannot be updated, the container image selection unit 150 deletes the vulnerable container image from the public registry 320 that stores the container image to be distributed to the production environment published on the Internet. To do.
Specifically, it is as follows.

ステップS1061において、コンテナイメージ選択部150は、脆弱性を持つコンテナイメージの更新を行うコンテナイメージ更新可否判定処理を実施する。
ステップS1062において、更新できた場合、コンテナイメージ選択部150は、コンテナイメージ更新処理を実施する(ステップS1063)。ここで、コンテナイメージ選択部150は、更新前後のコンテナイメージの双方をローカルレジストリ200、およびコンテナイメージ配布装置300のローカル向けレジストリ310に保存する。また、コンテナイメージ選択部150は、更新後のイメージのみをコンテナイメージ配布装置300のパブリック向けレジストリ320に保存する。
ステップS1062において、更新不可の場合、コンテナイメージ選択部150は、コンテナイメージ削除処理を実施する(ステップS1064)。コンテナイメージ選択部150は、不可であればローカルレジストリ200、コンテナイメージ配布装置300のローカル向けレジストリ310にのみコンテナイメージを残し、パブリック向けレジストリ320からは削除する。
In step S1061, the container image selection unit 150 executes a container image update possibility determination process for updating the vulnerable container image.
If the update can be performed in step S1062, the container image selection unit 150 executes the container image update process (step S1063). Here, the container image selection unit 150 stores both the container images before and after the update in the local registry 200 and the local registry 310 of the container image distribution device 300. Further, the container image selection unit 150 stores only the updated image in the public registry 320 of the container image distribution device 300.
If the update is not possible in step S1062, the container image selection unit 150 executes the container image deletion process (step S1064). If not possible, the container image selection unit 150 leaves the container image only in the local registry 200 and the local registry 310 of the container image distribution device 300, and deletes the container image from the public registry 320.

図20は、本実施の形態に係るコンテナイメージ更新可否判定処理のフロー図である。
コンテナイメージ選択部150は、コンテナイメージの更新可否を判定するコンテナイメージ更新可否判定処理を実施する。
ステップS1071において、コンテナイメージ選択部150は、コンテナイメージデータベースから脆弱性のあるパッケージ名を取得する。
ステップS1072において、コンテナイメージ選択部150は、コンテナイメージを展開し、ログインする。
ステップS1073において、コンテナイメージ選択部150は、パッケージ管理システムの機能により、アップデート可能なパッケージ一覧を出力し、脆弱性のあるパッケージ名と比較する。
FIG. 20 is a flow chart of the container image updateability determination process according to the present embodiment.
The container image selection unit 150 executes a container image update possibility determination process for determining whether the container image can be updated.
In step S1071, the container image selection unit 150 acquires the vulnerable package name from the container image database.
In step S1072, the container image selection unit 150 expands the container image and logs in.
In step S1073, the container image selection unit 150 outputs a list of updatable packages by the function of the package management system and compares them with the vulnerable package names.

ステップS1074において、コンテナイメージ選択部150は、アップデート可能なパッケージ名と脆弱性のあるパッケージ名で一致するものがあるかを判定する。一致するものがあれば、ステップS1075において、コンテナイメージ選択部150は、更新可能と判定する。一致するものがなければ、ステップS1076において、コンテナイメージ選択部150は、更新不可と判定する。
ステップS1077において、コンテナイメージ選択部150は、判定結果をコンテナイメージデータベース160に保存する。
In step S1074, the container image selection unit 150 determines whether there is a match between the updatable package name and the vulnerable package name. If there is a match, in step S1075, the container image selection unit 150 determines that the update is possible. If there is no match, in step S1076, the container image selection unit 150 determines that the update is not possible.
In step S1077, the container image selection unit 150 saves the determination result in the container image database 160.

図21は、本実施の形態に係るコンテナイメージ更新処理のフロー図である。
コンテナイメージ選択部150は、コンテナイメージの更新を行うコンテナイメージ更新処理を実施する。
ステップS1081において、コンテナイメージ選択部150は、コンテナイメージにログインし、脆弱性のあるパッケージのアップデートを実施する。
ステップS1082において、コンテナイメージ選択部150は、コンテナイメージを作成し、ローカルレジストリに書き込む。
ステップS1083において、コンテナイメージ選択部150は、コンテナイメージデータベースを更新する。
ステップS1084において、コンテナイメージ選択部150は、コンテナイメージ配布装置更新処理を実施する。
FIG. 21 is a flow chart of the container image update process according to the present embodiment.
The container image selection unit 150 executes a container image update process for updating the container image.
In step S1081, the container image selection unit 150 logs in to the container image and updates the vulnerable package.
In step S1082, the container image selection unit 150 creates a container image and writes it to the local registry.
In step S1083, the container image selection unit 150 updates the container image database.
In step S1084, the container image selection unit 150 executes the container image distribution device update process.

図22は、本実施の形態に係るコンテナイメージ配布装置更新処理のフロー図である。
コンテナイメージ選択部150は、コンテナイメージ配布装置のコンテナイメージの更新を行うコンテナイメージ配布装置更新処理を実施する。
ステップS1091において、コンテナイメージ選択部150は、ローカルレジストリ200を参照し、すべてのコンテナイメージをローカル向けレジストリ310に複製する。
ステップS1092において、コンテナイメージ選択部150は、コンテナイメージデータベース160を参照し、安全と判定されたコンテナイメージのみをパブリック向けレジストリ320に複製する。
FIG. 22 is a flow chart of the container image distribution device update process according to the present embodiment.
The container image selection unit 150 executes a container image distribution device update process for updating the container image of the container image distribution device.
In step S1091, the container image selection unit 150 refers to the local registry 200 and replicates all the container images to the local registry 310.
In step S1092, the container image selection unit 150 refers to the container image database 160 and replicates only the container image determined to be safe to the public registry 320.

図23は、本実施の形態に係るコンテナイメージ削除処理のフロー図である。
コンテナイメージ選択部150は、更新されていないコンテナイメージをパブリック向けレジストリ320から削除するコンテナイメージ削除処理を実施する。
ステップS111において、コンテナイメージ選択部150は、脆弱性のあるコンテナイメージをパブリック向けレジストリ320から削除する。
ステップS1112において、コンテナイメージ選択部150は、コンテナイメージデータベース160を更新する。
FIG. 23 is a flow chart of the container image deletion process according to the present embodiment.
The container image selection unit 150 executes a container image deletion process for deleting an unupdated container image from the public registry 320.
In step S111, the container image selection unit 150 deletes the vulnerable container image from the public registry 320.
In step S1112, the container image selection unit 150 updates the container image database 160.

図24は、本実施の形態に係るコンテナイメージ本番環境利用処理のフロー図である。
システム管理者は、本番環境(ローカル)あるいは本番環境(パブリック)にコンテナイメージを展開するコンテナイメージ本番環境利用処理を実施する。
ステップS1121において、コンテナイメージ配布装置300のローカル向けレジストリ310から、コンテナイメージが本番環境(ローカル)に展開される。
また、ステップS1131において、コンテナイメージ配布装置300のパブリック向けレジストリ320から、コンテナイメージが本番環境(パブリック)に展開される。
FIG. 24 is a flow chart of the container image production environment utilization process according to the present embodiment.
The system administrator executes the container image production environment usage process for deploying the container image in the production environment (local) or the production environment (public).
In step S1121, the container image is expanded to the production environment (local) from the local registry 310 of the container image distribution device 300.
Further, in step S1131, the container image is expanded to the production environment (public) from the public registry 320 of the container image distribution device 300.

図25を用いて、本実施の形態に係るデータの流れについてまとめる。
(1)は、パブリックレジストリからのコンテナイメージ取得である。
(2)は、ローカルレジストリ200のコンテナイメージ検証処理である。
(3)は、脆弱性情報データベースから脆弱性情報を取得する脆弱性情報取得処理である。
(4)は、ローカルレジストリ200のコンテナイメージの開発環境での利用である。
(5)は、ローカルレジストリ200のコンテナイメージのコンテナイメージ配布装置への複製である。
(6)は、ローカル向けレジストリ310のコンテナイメージの本番環境(ローカル)での利用である。
(7)は、パブリック向けレジストリ320のコンテナイメージの本番環境(パブリック)での利用である。
The flow of data according to this embodiment will be summarized with reference to FIG. 25.
(1) is the acquisition of the container image from the public registry.
(2) is a container image verification process of the local registry 200.
(3) is a vulnerability information acquisition process for acquiring vulnerability information from a vulnerability information database.
(4) is the use of the container image of the local registry 200 in the development environment.
(5) is a copy of the container image of the local registry 200 to the container image distribution device.
(6) is the use of the container image of the local registry 310 in the production environment (local).
(7) is the use of the container image of the public registry 320 in the production environment (public).

***ハードウェア構成***
ここで、図26を用いて、コンテナイメージ検証装置100のハードウェア構成について説明する。
コンテナイメージ検証装置100は、コンピュータである。コンテナイメージ検証装置100は、プロセッサ910を備えるとともに、メモリ921、補助記憶装置922、入力インタフェース930、出力インタフェース940、および通信装置950といった他のハードウェアを備える。プロセッサ910は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
*** Hardware configuration ***
Here, the hardware configuration of the container image verification device 100 will be described with reference to FIG. 26.
The container image verification device 100 is a computer. The container image verification device 100 includes a processor 910 and other hardware such as a memory 921, an auxiliary storage device 922, an input interface 930, an output interface 940, and a communication device 950. The processor 910 is connected to other hardware via a signal line and controls these other hardware.

コンテナイメージ検証装置100は、機能要素として、簡易情報取得部121、脆弱性情報取得部122、簡易照合部123、詳細情報取得部131、詳細照合部132、コンテナイメージ選択部150、コンテナイメージデータベース160、および脆弱性情報170を備える。 The container image verification device 100 has, as functional elements, a simple information acquisition unit 121, a vulnerability information acquisition unit 122, a simple collation unit 123, a detailed information acquisition unit 131, a detailed collation unit 132, a container image selection unit 150, and a container image database 160. , And vulnerability information 170.

簡易情報取得部121、脆弱性情報取得部122、簡易照合部123、詳細情報取得部131、詳細照合部132、コンテナイメージ選択部150の機能は、ソフトウェアにより実現される。コンテナイメージデータベース160、および脆弱性情報170は、メモリ921に備えられる。あるいは、コンテナイメージデータベース160、および脆弱性情報170は、補助記憶装置922に備えられていてもよい。また、コンテナイメージデータベース160、および脆弱性情報170は、メモリ921と補助記憶装置922に分けられて備えられてもよい。 The functions of the simple information acquisition unit 121, the vulnerability information acquisition unit 122, the simple collation unit 123, the detailed information acquisition unit 131, the detailed collation unit 132, and the container image selection unit 150 are realized by software. The container image database 160 and the vulnerability information 170 are provided in the memory 921. Alternatively, the container image database 160 and the vulnerability information 170 may be provided in the auxiliary storage device 922. Further, the container image database 160 and the vulnerability information 170 may be separately provided in the memory 921 and the auxiliary storage device 922.

プロセッサ910は、コンテナイメージ検証プログラムを実行する装置である。コンテナイメージ検証プログラムは、簡易情報取得部121、脆弱性情報取得部122、簡易照合部123、詳細情報取得部131、詳細照合部132、コンテナイメージ選択部150の機能を実現するプログラムである。
プロセッサ910は、演算処理を行うIC(Integrated Circuit)である。プロセッサ910の具体例は、CPU(Central Processing
Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
The processor 910 is a device that executes a container image verification program. The container image verification program is a program that realizes the functions of the simple information acquisition unit 121, the vulnerability information acquisition unit 122, the simple collation unit 123, the detailed information acquisition unit 131, the detailed collation unit 132, and the container image selection unit 150.
The processor 910 is an IC (Integrated Circuit) that performs arithmetic processing. A specific example of the processor 910 is a CPU (Central Processing).
Unit), DSP (Digital Signal Processor), GPU (Graphics Processing Unit).

メモリ921は、データを一時的に記憶する記憶装置である。メモリ921の具体例は、SRAM(Static Random Access Memory)、あるいはDRAM(Dynamic Random Access Memory)である。
補助記憶装置922は、データを保管する記憶装置である。補助記憶装置922の具体例は、HDDである。また、補助記憶装置922は、SD(登録商標)メモリカード、CF、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVDといった可搬の記憶媒体であってもよい。なお、HDDは、Hard Disk Driveの略語である。SD(登録商標)は、Secure Digitalの略語である。CFは、CompactFlash(登録商標)の略語である。DVDは、Digital Versatile Diskの略語である。
The memory 921 is a storage device that temporarily stores data. A specific example of the memory 921 is a SRAM (Static Random Access Memory) or a DRAM (Dynamic Random Access Memory).
The auxiliary storage device 922 is a storage device that stores data. A specific example of the auxiliary storage device 922 is an HDD. Further, the auxiliary storage device 922 may be a portable storage medium such as an SD (registered trademark) memory card, CF, NAND flash, flexible disc, optical disk, compact disc, Blu-ray (registered trademark) disc, or DVD. HDD is an abbreviation for Hard Disk Drive. SD® is an abbreviation for Secure Digital. CF is an abbreviation for CompactFlash®. DVD is an abbreviation for Digital Versaille Disc.

入力インタフェース930は、マウス、キーボード、あるいはタッチパネルといった入力装置と接続されるポートである。入力インタフェース930は、具体的には、USB(Universal Serial Bus)端子である。なお、入力インタフェース930は、LAN(Local Area Network)と接続されるポートであってもよい。
出力インタフェース940は、ディスプレイといった出力機器のケーブルが接続されるポートである。出力インタフェース940は、具体的には、USB端子またはHDMI(登録商標)(High Definition Multimedia Interface)端子である。ディスプレイは、具体的には、LCD(Liquid Crystal Display)である。
The input interface 930 is a port connected to an input device such as a mouse, keyboard, or touch panel. Specifically, the input interface 930 is a USB (Universal Serial Bus) terminal. The input interface 930 may be a port connected to a LAN (Local Area Network).
The output interface 940 is a port to which a cable of an output device such as a display is connected. Specifically, the output interface 940 is a USB terminal or an HDMI (registered trademark) (High Definition Interface Interface) terminal. Specifically, the display is an LCD (Liquid Crystal Display).

通信装置950は、レシーバとトランスミッターを有する。通信装置950は、無線で、LAN、インターネット、あるいは電話回線といった通信網に接続している。通信装置950は、具体的には、通信チップまたはNIC(Network Interface
Card)である。
The communication device 950 has a receiver and a transmitter. The communication device 950 is wirelessly connected to a communication network such as a LAN, the Internet, or a telephone line. Specifically, the communication device 950 is a communication chip or a NIC (Network Interface).
Card).

コンテナイメージ検証プログラムは、プロセッサ910に読み込まれ、プロセッサ910によって実行される。メモリ921には、コンテナイメージ検証プログラムだけでなく、OS(Operating System)も記憶されている。プロセッサ910は、OSを実行しながら、コンテナイメージ検証プログラムを実行する。コンテナイメージ検証プログラムおよびOSは、補助記憶装置922に記憶されていてもよい。補助記憶装置922に記憶されているコンテナイメージ検証プログラムおよびOSは、メモリ921にロードされ、プロセッサ910によって実行される。なお、コンテナイメージ検証プログラムの一部または全部がOSに組み込まれていてもよい。 The container image verification program is read into processor 910 and executed by processor 910. In the memory 921, not only the container image verification program but also the OS (Operating System) is stored. The processor 910 executes the container image verification program while executing the OS. The container image verification program and the OS may be stored in the auxiliary storage device 922. The container image verification program and the OS stored in the auxiliary storage device 922 are loaded into the memory 921 and executed by the processor 910. A part or all of the container image verification program may be incorporated in the OS.

コンテナイメージ検証装置100は、プロセッサ910を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、コンテナイメージ検証プログラムの実行を分担する。それぞれのプロセッサは、プロセッサ910と同じように、コンテナイメージ検証プログラムを実行する装置である。 The container image verification device 100 may include a plurality of processors that replace the processor 910. These multiple processors share the execution of the container image verification program. Each processor, like the processor 910, is a device that executes a container image verification program.

コンテナイメージ検証プログラムにより利用、処理または出力されるデータ、情報、信号値および変数値は、メモリ921、補助記憶装置922、または、プロセッサ910内のレジスタあるいはキャッシュメモリに記憶される。 Data, information, signal values and variable values used, processed or output by the container image verification program are stored in a memory 921, an auxiliary storage device 922, or a register or cache memory in the processor 910.

簡易情報取得部121、脆弱性情報取得部122、簡易照合部123、詳細情報取得部131、詳細照合部132、コンテナイメージ選択部150の各部の「部」を「処理」、「手順」あるいは「工程」に読み替えてもよい。また簡易情報取得処理、脆弱性情報取得処理、簡易照合処理、詳細情報取得処理、詳細照合処理、コンテナイメージ選択処理の「処理」を「プログラム」、「プログラムプロダクト」または「プログラムを記録したコンピュータ読取可能な記録媒体」に読み替えてもよい。
コンテナイメージ検証プログラムは、上記の各部の「部」を「処理」、「手順」あるいは「工程」に読み替えた各処理、各手順あるいは各工程を、コンピュータに実行させる。また、コンテナイメージ検証方法は、コンテナイメージ検証装置100がコンテナイメージ検証プログラムを実行することにより行われる方法である。
コンテナイメージ検証プログラムは、コンピュータ読取可能な記録媒体に格納されて提供されてもよい。また、コンテナイメージ検証プログラムは、プログラムプロダクトとして提供されてもよい。
"Processing", "procedure" or "procedure" of each part of the simple information acquisition unit 121, the vulnerability information acquisition unit 122, the simple collation unit 123, the detailed information acquisition unit 131, the detailed collation unit 132, and the container image selection unit 150. It may be read as "process". In addition, the "process" of simple information acquisition processing, vulnerability information acquisition processing, simple collation processing, detailed information acquisition processing, detailed collation processing, and container image selection processing is "program", "program product", or "computer reading that records the program". It may be read as "possible recording medium".
The container image verification program causes a computer to execute each process, each procedure or each process in which the "part" of each of the above parts is read as "process", "procedure" or "process". Further, the container image verification method is a method performed by the container image verification device 100 executing a container image verification program.
The container image verification program may be provided stored in a computer-readable recording medium. Further, the container image verification program may be provided as a program product.

***他の構成***
<変形例1>
本実施の形態では、簡易情報取得部121、脆弱性情報取得部122、簡易照合部123、詳細情報取得部131、詳細照合部132、コンテナイメージ選択部150の機能がソフトウェアで実現される。変形例として、簡易情報取得部121、脆弱性情報取得部122、簡易照合部123、詳細情報取得部131、詳細照合部132、コンテナイメージ選択部150の機能がハードウェアで実現されてもよい。その場合、コンテナイメージ検証装置100は、プロセッサ910に替えて、電子回路を備える。
*** Other configurations ***
<Modification example 1>
In the present embodiment, the functions of the simple information acquisition unit 121, the vulnerability information acquisition unit 122, the simple collation unit 123, the detailed information acquisition unit 131, the detailed collation unit 132, and the container image selection unit 150 are realized by software. As a modification, the functions of the simple information acquisition unit 121, the vulnerability information acquisition unit 122, the simple collation unit 123, the detailed information acquisition unit 131, the detailed collation unit 132, and the container image selection unit 150 may be realized by hardware. In that case, the container image verification device 100 includes an electronic circuit instead of the processor 910.

電子回路は、簡易情報取得部121、脆弱性情報取得部122、簡易照合部123、詳細情報取得部131、詳細照合部132、コンテナイメージ選択部150の機能を実現する専用の電子回路である。
電子回路は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、ASIC、または、FPGAである。GAは、Gate Arrayの略語である。ASICは、Application Specific Integrated Circuitの略語である。FPGAは、Field−Programmable Gate Arrayの略語である。
The electronic circuit is a dedicated electronic circuit that realizes the functions of the simple information acquisition unit 121, the vulnerability information acquisition unit 122, the simple collation unit 123, the detailed information acquisition unit 131, the detailed collation unit 132, and the container image selection unit 150.
The electronic circuit is specifically a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, a logic IC, a GA, an ASIC, or an FPGA. GA is an abbreviation for Gate Array. ASIC is an abbreviation for Application Specific Integrated Circuit. FPGA is an abbreviation for Field-Programmable Gate Array.

簡易情報取得部121、脆弱性情報取得部122、簡易照合部123、詳細情報取得部131、詳細照合部132、コンテナイメージ選択部150の機能は、1つの電子回路で実現されてもよいし、複数の電子回路に分散して実現されてもよい。
別の変形例として、簡易情報取得部121、脆弱性情報取得部122、簡易照合部123、詳細情報取得部131、詳細照合部132、コンテナイメージ選択部150の一部の機能が電子回路で実現され、残りの機能がソフトウェアで実現されてもよい。
また、別の変形例として、簡易情報取得部121、脆弱性情報取得部122、簡易照合部123、詳細情報取得部131、詳細照合部132、コンテナイメージ選択部150の一部あるいはすべての機能が、ファームウェアで実現されていてもよい。
The functions of the simple information acquisition unit 121, the vulnerability information acquisition unit 122, the simple collation unit 123, the detailed information acquisition unit 131, the detailed collation unit 132, and the container image selection unit 150 may be realized by one electronic circuit. It may be realized by being distributed in a plurality of electronic circuits.
As another modification, some functions of the simple information acquisition unit 121, the vulnerability information acquisition unit 122, the simple collation unit 123, the detailed information acquisition unit 131, the detailed collation unit 132, and the container image selection unit 150 are realized by an electronic circuit. The remaining functions may be realized by software.
Further, as another modification, some or all the functions of the simple information acquisition unit 121, the vulnerability information acquisition unit 122, the simple collation unit 123, the detailed information acquisition unit 131, the detailed collation unit 132, and the container image selection unit 150 are provided. , May be realized by firmware.

プロセッサと電子回路の各々は、プロセッシングサーキットリとも呼ばれる。つまり、コンテナイメージ検証装置100において、簡易情報取得部121、脆弱性情報取得部122、簡易照合部123、詳細情報取得部131、詳細照合部132、コンテナイメージ選択部150の機能は、プロセッシングサーキットリにより実現される。 Each of the processor and the electronic circuit is also called a processing circuit. That is, in the container image verification device 100, the functions of the simple information acquisition unit 121, the vulnerability information acquisition unit 122, the simple collation unit 123, the detailed information acquisition unit 131, the detailed collation unit 132, and the container image selection unit 150 are processing circuits. Is realized by.

***本実施の形態の効果の説明***
本実施の形態に係るコンテナイメージ検証装置100では、コンテナイメージがローカルレジストリに追加された際に、脆弱性を持つパッケージを含まれていないかどうかをあらかじめ検証する。そして、脆弱性がある場合には、パッケージの更新を試み、できない場合にはインターネットに公開される環境への展開を禁止する。よって、本実施の形態に係るコンテナイメージ検証装置100によれば、コンテナ環境で利用されるコンテナイメージの安全性を担保することができる。
*** Explanation of the effect of this embodiment ***
When the container image is added to the local registry, the container image verification device 100 according to the present embodiment verifies in advance whether or not a vulnerable package is included. Then, if there is a vulnerability, it will try to update the package, and if it cannot, it will be prohibited to deploy to the environment published on the Internet. Therefore, according to the container image verification device 100 according to the present embodiment, the safety of the container image used in the container environment can be ensured.

また、本実施の形態に係るコンテナイメージ検証装置100では、脆弱性データベースの参照および脆弱性有無の判定は定期的に実施する。そして、コンテナイメージ配布装置に保存されたコンテナイメージに脆弱性があることが新たに発覚した場合には、都度、更新を試み、不可であれば公開された本番環境への配布対象より削除する。よって、本実施の形態に係るコンテナイメージ検証装置100によれば、脆弱性情報データベースの情報に基づき、パッケージの脆弱性有無を確認することにより、本番環境に配信するコンテナイメージの安全性を担保することができる。また、脆弱性データベースの情報を定期的に取得することにより、新規の脆弱性情報を脆弱性有無の判定に反映することができる。 Further, in the container image verification device 100 according to the present embodiment, the vulnerability database is referred to and the presence or absence of the vulnerability is determined on a regular basis. Then, when it is newly discovered that the container image stored in the container image distribution device is vulnerable, it is tried to update each time, and if it is not possible, it is deleted from the distribution target to the public production environment. Therefore, according to the container image verification device 100 according to the present embodiment, the safety of the container image delivered to the production environment is ensured by confirming the presence or absence of vulnerabilities in the package based on the information in the vulnerability information database. be able to. In addition, by acquiring information from the vulnerability database on a regular basis, new vulnerability information can be reflected in the determination of the presence or absence of vulnerabilities.

また、本実施の形態に係るコンテナイメージ検証装置100では、まず、バージョンが取れればバージョンで検証し、バージョンが取れなければ更新日時で検証する。これにより、敢えてバージョンの古いパッケージが使われている場合でも脆弱性を判定できる。 Further, in the container image verification device 100 according to the present embodiment, first, if a version is obtained, the version is verified, and if the version is not obtained, the update date and time is used for verification. This makes it possible to determine vulnerabilities even if an older version of the package is used.

本実施の形態に係るコンテナイメージ検証装置100の効果を以下にまとめる。
・パブリックレジストリから取得されたコンテナイメージの安全性を担保することができる。
・開発環境でユーザ開発者が作成したコンテナイメージの安全性を担保することができる。
・定期的に脆弱性データベースを参照して判定することにより、最新の脆弱性情報に基づき、検証を行うことができる。
・脆弱性のあるコンテナイメージを配布対象から外すだけでなく、アップデートによる脆弱性の解消を試みる。
・コンテナイメージの検証を簡易検証と詳細検証の2段階に分けて実施することにより、計算資源を大きく消費する詳細検証の対象となるコンテナイメージ数を削減し、計算資源を節約することができる。
・検証装置で脆弱性ありと判定されたイメージについては、パブリックの本番環境に対しては配布せず、ローカルの本番環境に対してのみ配布することができる。
The effects of the container image verification device 100 according to this embodiment are summarized below.
-The safety of the container image obtained from the public registry can be guaranteed.
-It is possible to ensure the safety of the container image created by the user developer in the development environment.
-By periodically referring to the vulnerability database and making a judgment, verification can be performed based on the latest vulnerability information.
-Not only remove the vulnerable container image from the distribution target, but also try to eliminate the vulnerability by updating.
-By performing the container image verification in two stages, simple verification and detailed verification, the number of container images subject to detailed verification, which consumes a large amount of computational resources, can be reduced and computational resources can be saved.
-Images that are determined to be vulnerable by the verification device can not be distributed to the public production environment, but can be distributed only to the local production environment.

以上の実施の形態1では、コンテナイメージ検証装置の各部を独立した機能ブロックとして説明した。しかし、コンテナイメージ検証装置の構成は、上述した実施の形態のような構成でなくてもよい。コンテナイメージ検証装置の機能ブロックは、上述した実施の形態で説明した機能を実現することができれば、どのような構成でもよい。また、コンテナイメージ検証装置は、1つの装置でなく、複数の装置から構成されたシステムでもよい。
また、実施の形態1のうち、複数の部分を組み合わせて実施しても構わない。あるいは、この実施の形態のうち、1つの部分を実施しても構わない。その他、この実施の形態を、全体としてあるいは部分的に、どのように組み合わせて実施しても構わない。
すなわち、実施の形態1では、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
In the above-described first embodiment, each part of the container image verification device has been described as an independent functional block. However, the configuration of the container image verification device does not have to be the configuration as in the above-described embodiment. The functional block of the container image verification device may have any configuration as long as the functions described in the above-described embodiment can be realized. Further, the container image verification device may be a system composed of a plurality of devices instead of one device.
Further, in the first embodiment, a plurality of parts may be combined and carried out. Alternatively, one part of this embodiment may be implemented. In addition, this embodiment may be implemented in any combination as a whole or partially.
That is, in the first embodiment, it is possible to freely combine the respective embodiments, modify any component of each embodiment, or omit any component in each embodiment.

なお、上述した実施の形態は、本質的に好ましい例示であって、本発明の範囲、本発明の適用物の範囲、および本発明の用途の範囲を制限することを意図するものではない。上述した実施の形態は、必要に応じて種々の変更が可能である。 It should be noted that the above-described embodiments are essentially preferred examples and are not intended to limit the scope of the present invention, the scope of the application of the present invention, and the scope of use of the present invention. The above-described embodiment can be variously modified as needed.

30 インターネット、50 開発環境、70 ファイアウォール、80 本番環境(パブリック)、90 本番環境(ローカル)、100 コンテナイメージ検証装置、120 簡易検証部、121 簡易情報取得部、123 簡易照合部、122 脆弱性情報取得部、130 詳細検証部、131 詳細情報取得部、132 詳細照合部、150 コンテナイメージ選択部、160 コンテナイメージデータベース、170 脆弱性情報、200 ローカルレジストリ、210 コンテナイメージ、220 パッケージ管理システム、300 コンテナイメージ配布装置、310 ローカル向けレジストリ、320 パブリック向けレジストリ、500 コンテナイメージ検証システム、910 プロセッサ、921 メモリ、922 補助記憶装置、930 入力インタフェース、940 出力インタフェース、950 通信装置。 30 Internet, 50 Development environment, 70 Firewall, 80 Production environment (public), 90 Production environment (local), 100 Container image verification device, 120 Simple verification unit, 121 Simple information acquisition unit, 123 Simple verification unit, 122 Vulnerability information Acquisition Department, 130 Detailed Verification Department, 131 Detailed Information Acquisition Department, 132 Detailed Verification Department, 150 Container Image Selection Department, 160 Container Image Database, 170 Vulnerability Information, 200 Local Registry, 210 Container Image, 220 Package Management System, 300 Containers Image distribution device, 310 local registry, 320 public registry, 500 container image verification system, 910 processor, 921 memory, 922 auxiliary storage, 930 input interface, 940 output interface, 950 communication device.

Claims (7)

コンテナイメージの脆弱性を検証するコンテナイメージ検証装置において、
前記コンテナイメージの生成手順を表すコンテナ構成ファイルが格納されたコンテナイメージデータベースから、前記コンテナ構成ファイルを取得し、前記コンテナイメージに含まれるパッケージのバージョンを特定する簡易情報取得部と、
前記コンテナイメージに含まれるパッケージのバージョンと脆弱性の有無とが対応付けられた脆弱性情報に基づいて、前記コンテナイメージに含まれるパッケージの脆弱性の有無を判定する簡易検証を行う簡易照合部と、
前記簡易検証により脆弱性有りと判定されたコンテナイメージを詳細検証対象コンテナイメージとして実行し、前記詳細検証対象コンテナイメージに含まれるパッケージ情報を取得する詳細情報取得部と、
前記脆弱性情報に基づいて、前記詳細検証対象コンテナイメージに含まれるパッケージの脆弱性の有無を判定する詳細検証を行う詳細照合部と
を備えたコンテナイメージ検証装置。
In the container image verification device that verifies the vulnerability of the container image,
A simple information acquisition unit that acquires the container configuration file from the container image database that stores the container configuration file that represents the procedure for generating the container image, and specifies the version of the package included in the container image.
A simple collation unit that performs simple verification to determine the presence or absence of vulnerabilities in the package included in the container image based on the vulnerability information associated with the version of the package included in the container image and the presence or absence of vulnerabilities. ,
A detailed information acquisition unit that executes a container image determined to be vulnerable by the simple verification as a container image subject to detailed verification and acquires package information included in the container image subject to detailed verification.
A container image verification device including a detailed collation unit that performs detailed verification for determining the presence or absence of vulnerabilities in a package included in the detailed verification target container image based on the vulnerability information.
前記簡易情報取得部は、
前記コンテナ構成ファイルから前記生成手順を構成するパッケージインストールコマンドを抽出し、前記パッケージのバージョンが指定されているパッケージインストールコマンドに基づいて前記パッケージのバージョンを特定する請求項1に記載のコンテナイメージ検証装置。
The simple information acquisition unit
The container image verification device according to claim 1, wherein a package installation command constituting the generation procedure is extracted from the container configuration file, and the version of the package is specified based on the package installation command in which the version of the package is specified. ..
前記コンテナイメージデータベースは、前記コンテナイメージの更新日時を含み、
前記脆弱性情報は、最新の更新日付を含み、
前記簡易照合部は、前記パッケージのバージョンが特定できない場合、前記コンテナイメージデータベースに含まれる前記コンテナイメージの更新日時と、前記脆弱性情報の最新の更新日付とを比較し、前記コンテナイメージの更新日時以降に前記脆弱性情報が更新されている場合に、前記コンテナイメージに含まれるパッケージに脆弱性有りと判定する請求項1または請求項2に記載のコンテナイメージ検証装置。
The container image database includes the modification date and time of the container image.
The vulnerability information includes the latest update date.
When the version of the package cannot be specified, the simple collation unit compares the update date and time of the container image included in the container image database with the latest update date and time of the vulnerability information, and the update date and time of the container image. The container image verification device according to claim 1 or 2, wherein it is determined that the package included in the container image is vulnerable when the vulnerability information is subsequently updated.
前記簡易照合部は、前記コンテナイメージデータベースに前記簡易検証の結果を記憶し、
前記詳細照合部は、前記コンテナイメージデータベースに前記詳細検証の結果を記憶し、
前記コンテナイメージ検証装置は、
前記コンテナイメージデータベースに基づいて、脆弱性有りと判定されたコンテナイメージを脆弱性コンテナイメージとして更新の可否を判定し、更新可能であれば前記脆弱性コンテナイメージを更新するコンテナイメージ選択部を備えた請求項1から請求項3のいずれか1項に記載のコンテナイメージ検証装置。
The simple collation unit stores the result of the simple verification in the container image database, and stores the result of the simple verification.
The detailed collation unit stores the result of the detailed verification in the container image database, and stores the result of the detailed verification.
The container image verification device is
Based on the container image database, it is provided with a container image selection unit that determines whether or not the container image determined to be vulnerable can be updated as a vulnerable container image and updates the vulnerable container image if it can be updated. The container image verification device according to any one of claims 1 to 3.
前記コンテナイメージ選択部は、
前記脆弱性コンテナイメージについて更新不可と判定された場合は、インターネットに公開された本番環境への配布するコンテナイメージを格納するパブリック向けレジストリから前記脆弱性コンテナイメージを削除する請求項4に記載のコンテナイメージ検証装置。
The container image selection unit
The container according to claim 4, wherein when it is determined that the vulnerable container image cannot be updated, the vulnerable container image is deleted from the public registry that stores the container image to be distributed to the production environment published on the Internet. Image verification device.
コンテナイメージの脆弱性を検証するコンテナイメージ検証装置のコンテナイメージ検証方法において、
簡易情報取得部が、前記コンテナイメージの生成手順を表すコンテナ構成ファイルが格納されたコンテナイメージデータベースから、前記コンテナ構成ファイルを取得し、前記コンテナイメージに含まれるパッケージのバージョンを特定し、
簡易照合部が、前記コンテナイメージに含まれるパッケージのバージョンと脆弱性の有無とが対応付けられた脆弱性情報に基づいて、前記コンテナイメージに含まれるパッケージの脆弱性の有無を判定する簡易検証を行い、
詳細情報取得部が、前記簡易検証により脆弱性有りと判定されたコンテナイメージを詳細検証対象コンテナイメージとして実行し、前記詳細検証対象コンテナイメージに含まれるパッケージ情報を取得し、
詳細照合部が、前記脆弱性情報に基づいて、前記詳細検証対象コンテナイメージに含まれるパッケージの脆弱性の有無を判定する詳細検証を行うコンテナイメージ検証方法。
In the container image verification method of the container image verification device that verifies the vulnerability of the container image,
The simple information acquisition unit acquires the container configuration file from the container image database in which the container configuration file representing the container image generation procedure is stored, identifies the version of the package included in the container image, and determines the version of the package.
The simple collation unit performs a simple verification to determine the presence or absence of vulnerabilities in the package included in the container image based on the vulnerability information associated with the version of the package included in the container image and the presence or absence of vulnerabilities. Do,
The detailed information acquisition unit executes the container image determined to be vulnerable by the simple verification as the detailed verification target container image, acquires the package information included in the detailed verification target container image, and obtains the package information.
A container image verification method in which a detailed collation unit performs detailed verification for determining the presence or absence of vulnerabilities in a package included in the detailed verification target container image based on the vulnerability information.
コンテナイメージの脆弱性を検証するコンテナイメージ検証装置のコンテナイメージ検証プログラムにおいて、
前記コンテナイメージの生成手順を表すコンテナ構成ファイルが格納されたコンテナイメージデータベースから、前記コンテナ構成ファイルを取得し、前記コンテナイメージに含まれるパッケージのバージョンを特定する簡易情報取得処理と、
前記コンテナイメージに含まれるパッケージのバージョンと脆弱性の有無とが対応付けられた脆弱性情報に基づいて、前記コンテナイメージに含まれるパッケージの脆弱性の有無を判定する簡易検証を行う簡易照合処理と、
前記簡易検証により脆弱性有りと判定されたコンテナイメージを詳細検証対象コンテナイメージとして実行し、前記詳細検証対象コンテナイメージに含まれるパッケージ情報を取得する詳細情報取得処理と、
前記脆弱性情報に基づいて、前記詳細検証対象コンテナイメージに含まれるパッケージの脆弱性の有無を判定する詳細検証を行う詳細照合処理と
をコンピュータである前記コンテナイメージ検証装置に実行させるコンテナイメージ検証プログラム。
In the container image verification program of the container image verification device that verifies the vulnerability of the container image,
A simple information acquisition process that acquires the container configuration file from the container image database that stores the container configuration file that represents the procedure for generating the container image and specifies the version of the package included in the container image.
Based on the vulnerability information associated with the version of the package included in the container image and the presence or absence of vulnerabilities, a simple collation process for performing simple verification to determine the presence or absence of vulnerabilities in the package included in the container image. ,
The detailed information acquisition process of executing the container image determined to be vulnerable by the simple verification as the detailed verification target container image and acquiring the package information included in the detailed verification target container image, and
A container image verification program that causes the container image verification device, which is a computer, to perform detailed verification processing that determines the presence or absence of vulnerabilities in the package included in the detailed verification target container image based on the vulnerability information. ..
JP2019053705A 2019-03-20 2019-03-20 Container image verification device, container image verification method, and container image verification program Pending JP2020154861A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019053705A JP2020154861A (en) 2019-03-20 2019-03-20 Container image verification device, container image verification method, and container image verification program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019053705A JP2020154861A (en) 2019-03-20 2019-03-20 Container image verification device, container image verification method, and container image verification program

Publications (1)

Publication Number Publication Date
JP2020154861A true JP2020154861A (en) 2020-09-24

Family

ID=72559262

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019053705A Pending JP2020154861A (en) 2019-03-20 2019-03-20 Container image verification device, container image verification method, and container image verification program

Country Status (1)

Country Link
JP (1) JP2020154861A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102380434B1 (en) * 2020-10-06 2022-03-31 숭실대학교 산학협력단 Docker image vulnerability inspection device and method for performing docker file analysis
JP7086261B1 (en) * 2021-10-21 2022-06-17 ビジョナル・インキュベーション株式会社 Processing equipment and processing method
JP7340585B2 (en) 2021-12-14 2023-09-07 株式会社日立製作所 Vulnerability management system and vulnerability management method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102380434B1 (en) * 2020-10-06 2022-03-31 숭실대학교 산학협력단 Docker image vulnerability inspection device and method for performing docker file analysis
JP7086261B1 (en) * 2021-10-21 2022-06-17 ビジョナル・インキュベーション株式会社 Processing equipment and processing method
JP7340585B2 (en) 2021-12-14 2023-09-07 株式会社日立製作所 Vulnerability management system and vulnerability management method

Similar Documents

Publication Publication Date Title
JP5065295B2 (en) Method, system, and computer-readable medium for sharing files between different virtual machine images
US9965270B2 (en) Updating computer firmware
JP2020154861A (en) Container image verification device, container image verification method, and container image verification program
EP2639735B1 (en) Information processor and recording medium
KR101312885B1 (en) Digital signing policy
JP6925542B2 (en) Software verification device, software verification method and software verification program
US9513762B1 (en) Static content updates
US20220374217A1 (en) Automated machine deployment and configuration
JP2020155891A (en) Management server, document file management system, document file management method, and document file management program
CN107632932B (en) Multi-stage checking software warehouse reliability detection method
JP2011242891A (en) Distribution device, image processing device, distribution method and installation method
US11698795B2 (en) Unified way to track user configuration on a live system
US10389743B1 (en) Tracking of software executables that come from untrusted locations
JP7222428B2 (en) Verification Information Creation System, Verification Information Creation Method, and Verification Information Creation Program
CN113330423A (en) Deletion of firmware instructions
US11822663B2 (en) Supervisor-based firmware hardening
US11886889B2 (en) Managing configurations of system services running in a cluster of hosts by managing lifecycle of virtualization software
JP6381218B2 (en) Network device, network device control method and program thereof
US11424982B2 (en) Remediation of a system to new desired state using configuration dependency graph
CN112749085B (en) Cross-cluster task publishing method and device, electronic equipment and storage medium
KR20190091762A (en) Method and system for splitting and merging a document file
GB2561862A (en) Computer device and method for handling files
JP6906682B2 (en) Link management device, link management method and link management program
JP5338610B2 (en) Information processing apparatus, information processing method, and program
JP2011081501A (en) Operating system program and computer carrying the same