JP2023062394A - Processing device and processing method - Google Patents

Processing device and processing method Download PDF

Info

Publication number
JP2023062394A
JP2023062394A JP2021172344A JP2021172344A JP2023062394A JP 2023062394 A JP2023062394 A JP 2023062394A JP 2021172344 A JP2021172344 A JP 2021172344A JP 2021172344 A JP2021172344 A JP 2021172344A JP 2023062394 A JP2023062394 A JP 2023062394A
Authority
JP
Japan
Prior art keywords
container
vulnerabilities
program
vulnerability
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2021172344A
Other languages
Japanese (ja)
Other versions
JP7086261B1 (en
Inventor
沈宇 張
Shenyu Zhang
康弘 鈴木
Yasuhiro Suzuki
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.)
Assured Inc
Original Assignee
Assured Inc
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 Assured Inc filed Critical Assured Inc
Priority to JP2021172344A priority Critical patent/JP7086261B1/en
Application granted granted Critical
Publication of JP7086261B1 publication Critical patent/JP7086261B1/en
Publication of JP2023062394A publication Critical patent/JP2023062394A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

To provide a processing device and a processing method, capable of supporting appropriate execution of countermeasures against vulnerabilities of programs included in container images.SOLUTION: A processing device includes a control unit which scans a container constructed by executing a container image for identifying an execution program executed in the container, wherein the control unit identifies vulnerabilities of the execution program, and executes triage processing to set priorities for countermeasures against vulnerabilities of programs included in the container image based on the identified vulnerabilities.SELECTED DRAWING: Figure 4

Description

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

処理装置10は、実行プログラムについては、危険度が低いプロセスを実行する実行プログラムよりも危険度が高いプロセスを実行する実行プログラムの優先順位が高くなるようにトリアージ処理を実行してもよい。処理装置10は、実行プログラムについては、脆弱性スコアが低い実行プログラムの優先順位よりも脆弱性スコアが高い実行プログラムの優先順位が高くなるようにトリアージ処理を実行してもよい。 The processing device 10 may perform triage processing for execution programs such that an execution program executing a process with a high degree of risk has a higher priority than an execution program executing a process with a low degree of risk. The processing device 10 may perform triage processing for execution programs such that execution programs with high vulnerability scores are given higher priority than execution programs with low vulnerability scores.

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

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

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

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

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

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

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

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

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

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

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

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

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

[変更例1]
以下において、実施形態の変更例1について説明する。以下においては、上述した実施形態に対する差異について主として説明する。
[Modification 1]
Modification 1 of the embodiment will be described below. In the following, differences with respect to the above-described embodiments are mainly described.

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

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

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

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

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

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

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

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

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

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

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

10…処理装置、11…通信部、12…管理部、13…制御部、20…ユーザ端末、21…ディスプレイ、30…提供装置、100…処理システム DESCRIPTION OF SYMBOLS 10... Processing apparatus, 11... Communication part, 12... Management part, 13... Control part, 20... User terminal, 21... Display, 30... Providing apparatus, 100... Processing system

Claims (5)

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

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

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

Family

ID=82057331

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP7086261B1 (en)

Cited By (1)

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

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8412945B2 (en) * 2011-08-09 2013-04-02 CloudPassage, Inc. Systems and methods for implementing security in a cloud computing environment
WO2019091789A1 (en) * 2017-11-09 2019-05-16 British Telecommunications Public Limited Company Vulnerability assessment of containerised installation
JP2020154861A (en) * 2019-03-20 2020-09-24 三菱電機インフォメーションネットワーク株式会社 Container image verification device, container image verification method, and container image verification program

Cited By (1)

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

Also Published As

Publication number Publication date
JP7086261B1 (en) 2022-06-17

Similar Documents

Publication Publication Date Title
EP3820113B1 (en) Visual detection of phishing websites via headless browser
US9477486B2 (en) Attestation protocol for securely booting a guest operating system
US9037873B2 (en) Method and system for preventing tampering with software agent in a virtual machine
US9251090B1 (en) Hypervisor assisted virtual memory obfuscation
US9430642B2 (en) Providing virtual secure mode with different virtual trust levels each having separate memory access protections, interrupt subsystems and private processor states
US9111089B1 (en) Systems and methods for safely executing programs
US8893306B2 (en) Resource management and security system
US9904782B2 (en) Synchronous execution of designated computing events using hardware-assisted virtualization
US20190005267A1 (en) Dynamic privilege management in a computer system
US20170102957A1 (en) System and Method for Trusted Operability When Moving Between Network Functions Virtualization States
US11381597B2 (en) Expedition of web phishing detection for suspicious sites
EP3832971A1 (en) Phishing mitigation service
CN113239329B (en) System for realizing trusted execution environment of mobile terminal application program
US11204992B1 (en) Systems and methods for safely executing unreliable malware
CN112513846A (en) System and method for controlling application startup based on security policy
JP2020109649A (en) System and method for creating log when executing vulnerable file in virtual machine
CN114661640A (en) Isolating memory within a trusted execution environment
EP3516841B1 (en) Remote computing system providing malicious file detection and mitigation features for virtual machines
JP7086261B1 (en) Processing equipment and processing method
US11308204B2 (en) Agentless security
US9135436B2 (en) Execution stack securing process
US10528375B2 (en) Maintaining security system information in virtualized computing environments
US10613897B1 (en) Systems and methods for creating program-specific execution environments
US11669615B2 (en) Skewness in indicators of compromise
US20210200589A1 (en) Resource Management for Web Browser Based Applications

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211021

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20211021

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20211210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220301

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220519

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220601

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220607

R150 Certificate of patent or registration of utility model

Ref document number: 7086261

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350