This application claims priority pursuant to Japanese patent application No. 2021-202570, filed on Dec. 14, 2021, the entire disclosure of which is incorporated herein by reference.
The present invention relates to a vulnerability management system and a vulnerability management method.
An application execution platform (for example, Kubernetes) using a container technology is widely used and, in the application execution platform, multiple applications operate in cooperation with one another. Moreover, in recent years, due to increasing interest in security measures, there is an attempt to incorporate existing continuous integration/continuous delivery (CI/CD) in the application execution platform to perform such an operation that security update of containers is performed with services stably running (so-called DevSecOps).
As a technique relating to update of containers, for example, Japanese Patent Application Publication No. 2019-56986 discloses the following configuration. A batch job analysis part of a verification apparatus analyzes a batch job assigned to a production server before execution of the batch job to identify a container image to be used, a container image information collection part refers to a container image registry to collect version information of the container image, a container image verification management part executes the batch job in a verification server when a new version of the container image to be used by the batch job is released, and a monitor verification part performs at least one of monitoring of performance information during execution of the batch job executed in the verification server and verification of the execution result.
However, in such an application execution platform, there is a case where vulnerabilities are found in multiple containers and security update needs to performed for these containers but the application execution platform has no free resources. In such a case, a security administrator needs to adjust a schedule of the update for the containers and there is a latency before start of the update for each container. Thus, there is a risk of occurrence a security incident due to delay in measures against the vulnerabilities.
The present invention has been made in view of such backgrounds and an object thereof is to provide a vulnerability management system and a vulnerability management method that can efficiently resolve vulnerabilities when the vulnerabilities are present in multiple containers of an application execution system.
An aspect of the present invention to solve the above object is a vulnerability management system including a processor and a memory, comprising: an impact factor calculation part configured to calculate an impact factor based on vulnerability information, the impact factor being a parameter indicating a magnitude of an impact of a vulnerability of a container in an application execution system, in which an application is executed by one or a plurality of containers, on the application execution system, the vulnerability information being information in which the vulnerability and an evaluation value of the vulnerability are associated with each other; an access frequency factor calculation part configured to calculate an access frequency factor based on access frequency information, the access frequency factor being an evaluation value of a vulnerability deriving from a form of communication performed by the container, the access frequency information being information related to a transmission or reception range and a transmission or reception frequency of data transmitted or received by the container; a weighting determination value calculation part configured to calculate a weighting determination value based on the calculated impact factor and the calculated access frequency factor, the weighting determination value indicating a priority of a measure against the vulnerability of the container; and a scheduling processing part configured to determine the order of measures, respectively, for a plurality of the containers based on the weighting determination values calculated for the plurality of containers and execute the measures, respectively, for the plurality of containers according to the determined order.
Another aspect of the present invention to solve the above object is a vulnerability management method implemented by an information processing apparatus to execute processing comprising: impact factor calculation processing of calculating an impact factor based on vulnerability information, the impact factor being a parameter indicating a magnitude of an impact of a vulnerability of a container in an application execution system, in which an application is executed by one or a plurality of containers, on the application execution system, the vulnerability information being information in which the vulnerability and an evaluation value of the vulnerability are associated with each other; access frequency factor calculation processing of calculating an access frequency factor based on access frequency information, the access frequency factor being an evaluation value of a vulnerability deriving from a form of communication performed by the container, the access frequency information being information related to a transmission or reception range and a transmission or reception frequency of data transmitted or received by the container; weighting determination value calculation processing of calculating a weighting determination value based on the calculated impact factor and the calculated access frequency factor, the weighting determination value indicating a priority of a measure against the vulnerability of the container; and a scheduling processing of determining the order of measures, respectively, for a plurality of the containers based on the weighting determination values calculated for the plurality of containers and executing the measures, respectively, for the plurality of containers according to the determined order.
The present invention can efficiently resolve vulnerabilities when the vulnerabilities are present in multiple containers of an application execution system.
Problems, configurations, and effects other than those described above will be made apparent by the description of the following embodiment.
One embodiment of the present invention is described below.
The application execution platform 10 is an application execution system in which various applications are executed by a container technology. Specifically, the application execution platform 10 includes programs including one or multiple applications 12 that are each formed of one or multiple containers 11 and a load balancer 13 that is used to distribute loads of the respective applications 12. Moreover, the application execution platform 10 stores an operating system (OS) 14 for executing these applications (programs). The application execution platform 10 is, for example, Kubernetes. Note that the container herein refers in general to data in which an execution environment of an application (program) is stored.
The application monitoring system 20 monitors the states of the applications 12 and the containers 11 in the application execution platform 10. The application monitoring system 20 includes a traffic management server 21, a statistics management server 22, and an access record management server 23.
The traffic management server 21 monitors contents of communications (exchange of data) performed by the applications 12 and the containers 11, for example, communications performed in the applications 12 and between the applications 12 and communications performed with application execution systems other than the application execution platform 10, and accumulates information (hereinafter, referred to as traffic information) on histories of these communications. The statistics management server 22 performs various types of statistical processing in the application monitoring system 20. The access record management server 23 accumulates a history on a total number of accesses of each container (hereinafter, simply referred to as container access number) in a predetermined period, repeatedly at a predetermined timing (for example, predetermined time or predetermined time interval).
The CD server 30 (CD: continuous delivery) deploys the containers 11 (applications 12) to the application execution platform 10 based on resources created by the CI system 50.
The vulnerability management system 40 performs management against vulnerability of the applications 12 (containers 11). The vulnerability management system 40 includes a weighting determination server 41 and a scheduling server 42. The weighting determination server 41 calculates weighting determination values that are parameters used to determine priority ranks of measures against vulnerabilities found in the applications 12 (containers 11). The scheduling server 42 performs vulnerability resolving measure processing on the containers 11 according to the weighting determination values. Details of the vulnerability management system 40 are described later.
The CI system 50 (CI: continuous integration) is an information processing system that creates resources forming the applications 12 and that can monitor the vulnerability of each of containers 11 in the host apparatus 60. The CI system 50 includes a source code library management server 51 and a CI server 52. The source code library management server 51 stores the resources (source codes, libraries, and the like) of the containers. The CI server 52 monitors presence or absence of the vulnerability of each container in the host apparatus 60. Moreover, the CI server 52 obtains the resources from the source code library management server 51 and creates (builds) images of the containers based on the obtained resources. Note that the building of the containers by the CI system 50 may be performed automatically or performed based on an operation on the CI system 50 by an administrator.
The host apparatus 60 is an apparatus used by a user using the applications 12 in the application execution platform 10. The host apparatus 60 stores a container 61 of the applications provided by the application execution platform 10. Multiple host apparatuses 60 may be present.
The vulnerability information providing system 70 accumulates and manages various pieces of vulnerability information on the containers. The vulnerability information providing system 70 includes a vulnerability disclosure server 71 and a vulnerability management server 72. The vulnerability disclosure server 71 stores information (hereinafter, referred to as vulnerability disclosure information) on the vulnerabilities of the containers. Moreover, the vulnerability management server 72 can transmit the vulnerability disclosure information to the vulnerability management system 40. Note that the vulnerability disclosure server 71 may be a server that provides the vulnerability disclosure information to an information processing system outside the application management system 1.
The aforementioned information processing apparatuses in the application management system 1 can communicate with one another via a wired or wireless communication network such as, for example, the Internet, local area network (LAN), wide area network (WAN), or an exclusive line.
Next, details of the vulnerability management system 40 are described.
<Weighting Determination Server>
The impact factor calculation part 411 calculates an impact factor based on vulnerability information (vulnerability information management DB 100 to be described later), impact factor being a parameter indicating a magnitude of an impact of the vulnerability of each container 11 in the application execution platform 10, in which applications are executed by one or multiple containers, on the application execution platform 10, the vulnerability information being information in which the vulnerability and a predetermined evaluation value of the vulnerability are associated with each other. The impact factor is recorded in an impact factor DB 130 to be described later.
The access frequency factor calculation part 412 calculates an access frequency factor based on access frequency information (recorded in an access frequency management DB 140 to be described later), the access frequency factor being an evaluation value of a vulnerability deriving from a form of communication performed by each container 11, the access frequency information being information related to either a transmission or reception range and a transmission or reception frequency of data transmitted or received by the container 11. The access frequency factor is recorded in an access frequency factor management DB 160 to be described later. Note that the access frequency information is created by using the traffic information of the traffic management server 21. The traffic information is recorded in a traffic management DB 120 to be described later.
The weighting determination value calculation part 413 calculates the weighting determination values indicating the priorities of measures against the vulnerabilities of the containers 11, based on the impact factors and the access frequency factors. The weighting determination values are recorded in a weighting determination DB 150 to be described later.
Moreover, the weighting determination server 41 stores databases of a category-by-category risk impact factor DB 110 and a severity management DB 170.
The category-by-category risk impact factor DB 110 stores weight parameters (hereinafter, referred to as category-by-category risk impact factors) used to calculate the impact factors. The severity management DB 170 stores information (hereinafter, referred to as severity) obtained by categorizing the impact factors. Details of the category-by-category risk impact factor DB 110 and the severity management DB 170 are described later.
<Scheduling Server>
The process priority factor determining part 421 determines a process priority that is information on a priority rank of a process performed by each container 11 in the application execution platform 10, based on the container access number in the access record management server 23.
The scheduling processing part 422 determines the order of measures for the respective multiple containers 11 based on the weighting determination values calculated for the multiple containers 11 and executes the measures for the respective multiple containers 11 according to the determined order.
Moreover, the scheduling server 42 stores databases of an access recording DB 200 and a priority recording DB 210.
The access recording DB 200 stores histories of accesses of the respective processes by the containers 11 in each application 12 of the application execution platform 10. Moreover, the priority recording DB 210 stores the priorities of the processes executed by the containers 11 in each application 12. Details of the access recording DB 200 and the priority recording DB 210 are described later.
The processing device 91 reads and executes a program stored in the main storage device 92 or the auxiliary storage device 93 to implement functions of each information processing apparatus. Moreover, this program may be, for example, recorded in a recording medium and distributed. Note that each information processing apparatus may be, for example, an apparatus that is entirely or partially implemented by using virtual information processing resources provided by using virtualization techniques, process space isolation techniques, and the like such as a virtual server provided by a cloud system. Moreover, all or some of the functions provided by each information processing apparatus may be implemented by, for example, a service provided by a cloud system via an application programming interface (API) or the like.
Next, an outline of processing performed by the application management system 1 is described.
First, the vulnerability management system 40 executes weighting determination value determining processing s1 in which the weighting determination value related to the vulnerability of each container 11 (application 12) is determined, as needed. Moreover, the vulnerability management system 40 executes process priority factor determining processing s3 in which a process priority factor of the process of each container 11 is determined, as needed.
When a vulnerability is found in one or multiple containers 11, the vulnerability management system 40 executes scheduling processing s5. Specifically, the vulnerability management system 40 determines the order of vulnerability resolving processing by using the weighting determination values determined in the weighting determination value determining processing s1 and performs measures (security update) against the vulnerabilities of the respective containers 11 while increasing free resources based on the weighting determination values and the process priority factors determined in the process priority factor determining processing s3 as necessary.
Note that the processing described above is repeatedly executed.
Next, this processing is described.
<Weighting Determination Value Determining Processing>
First, the weighting determination server 41 creates the vulnerability information management DB 100 (s11).
Specifically, first, the weighting determination server 41 receives the vulnerability disclosure information from the vulnerability management server 72. Then, the weighting determination server 41 stores the received vulnerability disclosure information in the vulnerability information management DB 100.
The vulnerability disclosure information includes, for example, an evaluation value of each vulnerability (in the present embodiment, the evaluation value is assumed to be a common vulnerability scoring system (CVSS) score that is an evaluation value of a vulnerability calculated by a predetermined CVSS), a host category-by-host category impact degree (varying depending on the category of the host apparatus 60 as described later) that is an index of a magnitude of an impact of the vulnerability on the application execution platform 10, and information on a method of handling the vulnerability.
The weighting determination server 41 may display the vulnerability disclosure information received from the vulnerability management server 72 on a predetermined screen and receive an input of data related to the vulnerability information management DB 100 from the user or automatically create the vulnerability information management DB 100 by using a predetermined algorithm based on the received vulnerability disclosure information.
(Vulnerability Information Management DB)
Information on the types of vulnerabilities is set in the vulnerability 101. Information on the CVSS scores of the vulnerabilities are set in the CVSS score 102. The host category-by-host category impact degrees of the vulnerabilities are set in the host category-by-host category impact degree 103. Information identifying methods of handling the vulnerabilities (methods of update) are set in the handling method 104.
One or multiple host category-by-host category impact degrees are set in the host category-by-host category impact degree 103. Each of the host category-by-host category impact degrees is information indicating a magnitude of an impact of a vulnerability on the application execution platform 10 in levels. Moreover, the host category-by-host category impact degree is set for each of categories of the host apparatus 60. The categories include, for example, a “public server” that exchanges data with a container system other than the application execution platform 10 and an “internal server” that exchanges data only with an application or a container in the application execution platform 10.
Next, as illustrated in
Specifically, the weighting determination server 41 receives a history of communication (traffic information) related to each container 11 in the application execution platform 10 from the access record management server 23 and creates the traffic management DB 120 based on the received traffic information.
(Traffic Management DB 120)
Information identifying each of the containers in each of the applications is set in the application 121.
Various pieces of information are set in the inbound communication 122 when the container indicated by the application 121 performs inbound communication. Specifically, the inbound communication 122 includes data sub-items of out-of-company 1221, in-company 1222, cluster 1223, and local 1224. A symbol of “∘” is set in the out-of-company 1221 when the container indicated by the application 121 performs out-of-company communication of receiving data from the outside of the company (container system other than the application execution platform 10) as the inbound communication. A symbol of “∘” is set in the in-company 1222 when the container indicated by the application 121 performs in-company communication of receiving data from another application in the company (in the application execution platform 10) as the inbound communication. A symbol of “∘” is set in the cluster 1223 when the container indicated by the application 121 performs in-cluster communication of receiving data from another application in the company as the inbound communication. A symbol of “∘” is set in the local 1224 when the container indicated by the application 121 performs local communication of receiving data from the same application as the inbound communication.
Various pieces of information are set in the outbound communication 123 when the container indicated by the application 121 performs outbound communication. Specifically, the outbound communication 123 includes data sub-items of out-of-company 1231, in-company 1232, cluster 1233, and local 1234. A symbol of “∘” is set in the out-of-company 1231 when the container indicated by the application 121 performs out-of-company communication as the outbound communication. A symbol of “∘” is set in the in-company 1232 when the container indicated by the application 121 performs in-company communication as the outbound communication. A symbol of “∘” is set in the cluster 1233 when the container indicated by the application 121 performs in-cluster communication as the outbound communication. A symbol of “∘” is set in the local 1234 when the container indicated by the application 121 performs local communication as the outbound communication.
Next, as illustrated in
Specifically, the weighting determination server 41 identifies the form of communication performed by each container based on the traffic management DB 120 to identify the category of the host apparatus 60. Then, the weighting determination server 41 identifies the host category-by-host category impact degree based on the vulnerability information management DB 100 and the category-by-category risk impact factor DB 110. The weighting determination server 41 calculates the impact factor of each container by referring to the vulnerability information management DB 100 and multiplying the CVSS score of the vulnerability of the container by the category-by-category risk impact factor of this container calculated as described above (s17). The weighting determination server 41 sets information on the calculated impact factor in the impact factor DB 130.
For example, the weighting determination server 41 refers to the traffic management DB 120 and refers to the pieces of data of the out-of-company 1221 of the inbound communication 122 and the out-of-company 1231 of the outbound communication 123 in records related to a certain container and identifies that this container performs the out-of-company communication. Then, the weighting determination server 41 obtains the content of the host category-by-host category impact degree 103 in a record related to a certain vulnerability A in the vulnerability information management DB 100. The weighting determination server 41 thereby identifies that the category of the host apparatus 60 related to this container is the “public server” that performs the out-of-company communication and that the host category-by-host category impact degree for the “public server” is “high”. The weighting determination server 41 refers to the category-by-category risk impact factor DB 110 (described in the next section) to identify that the host category-by-host category impact factor corresponding to the host category-by-host category impact degree “high” is “1.5”. Then, the weighting determination server 41 obtains a CVSS score “6.3” from the CVSS score 102 of the record in the vulnerability information management DB 100 described above. The weighting determination server 41 multiplies the CVSS score “6.3” by the category-by-category risk impact factor “1.5” to calculate the impact factor related to the vulnerability A of this container.
(Category-by-Category Risk Impact Factor DB)
(Impact Factor DB)
Information identifying each container in each application is set in the application 131. The vulnerability 132 includes data sub-items of total 1321 and category 1322. A total of the impact factors of all vulnerabilities of each container is set in the total 1321. The impact factors related to the respective vulnerabilities of each container are set in the category 1322.
Next, as illustrated in
Specifically, the weighting determination server 41 first receives the history of communication (container access number) related to each container 11 in the application execution platform 10 from the access record management server 23 and creates the access frequency management DB 140 based on the received container access number.
(Access Frequency Management DB)
Then, the weighting determination server 41 refers to the created access frequency management DB 140 to identify the form of communication performed by each container and calculates the access frequency factor of the container based on the identified form of communication and the access frequency information.
For example, the weighting determination server 41 classifies the containers into a category of containers that perform the inbound communication and a category of containers that perform the outbound communication and sets the access frequency factors such that the access frequency factor of the containers that perform the inbound communication is smaller than the access frequency factor of the containers that perform the outbound communication (set the rank of the category of the inbound communication higher than that of the outbound communication). Moreover, the weighting determination server 41 further categorizes the containers in each category into a sub-category of containers that perform the out-of-company communication, a sub-category of containers that perform the in-company communication, a sub-category of containers that perform the in-cluster communication, and a sub-category of containers that perform the local communication and sets the access frequency factors of the respective sub-categories such that the sub-category of the out-of-company communication has the smallest access frequency factor, the in-company communication the second, the in-cluster communication the third, and the local communication the largest (the sub-category of the out-of-company communication has the highest rank, the in-company communication the second, the in-cluster communication the third, and the local communication the lowest). The weighting determination server 41 sets the access frequency factors in each sub-category in such an order that the higher the access frequency is, the smaller the access frequency factor is (the higher the rank is). As described above, the priority ranks are set such that 1. “inbound communication>outbound communication”, 2. “out-of-company communication>in-company communication>in-cluster communication>local communication”, and 3. in the order of access frequency.
(Access Frequency Factor Management DB)
Next, as illustrated in
Specifically, first, for each container, the weighting determination server 41 refers to the severity management DB 170 to identify the category of the severity corresponding to each of the impact factors (impact factors related to all vulnerabilities of the container) calculated in s15. Then, the weighting determination server 41 classifies the containers depending on the severity and sets the weighting determination values such that a container with a higher severity has a smaller weighting determination value (higher priority rank).
Then, the weighting determination server 41 refers to the access frequency factor management DB 160 and sets the weighting determination values such that, in each category of severity, a container with a smaller access frequency factor (higher priority rank) has a smaller weighting determination value (higher priority rank).
(Severity Management DB)
(Weighting Determination DB)
Information identifying each container in each application is set in the application 151. The weighting determination values of the respective containers are set in the weighting determination value 152. Information on the categories of the severity of the respective containers is set in the category 153. In the present embodiment, the weighting determination values of the respective containers are set such that a container in a category with a higher severity has a smaller weighting determination value (higher priority) and, in each category, a container with a larger access frequency factor has a smaller weighting determination value. When there are vulnerabilities in multiple containers, the weighting determination values are reflected as the order of vulnerability resolving processing.
Next, processing performed by the scheduling server is described.
<Process Priority Factor Determining Processing>
The process priority factor determining part 421 of the scheduling server 42 obtains information on the container access numbers stored in the access record management server 23 and creates or updates the access recording DB 200 based on the obtained information (s31).
(Access Recording DB)
Numbers assigned to the records are set in the record number 201. Information identifying the processes of the respective containers is set in the process 202. A history of the access numbers related to each of the processes are set in the access number 203. Specifically, the container access numbers in the last predetermined times of recording among the container access numbers recorded at the respective timings by the access record management server 23 are set in the access number 203.
Moreover, as illustrated in
Specifically, the process priority factor determining part 421 creates or updates the priority recording DB 210 by increasing the process priority factor of a process of a container whose access number is statistically large at the present moment or in the near future and decreasing the process priority factor of a process of a container whose access number is statistically small at the present moment or in the near future.
For example, the process priority factor determining part 421 identifies a process with the largest access number and a process with the smallest access number for each of the last predetermined number of times of access recording recorded in the access record management server 23 to identify a process (hereinafter, referred to as highest frequency process) whose access number has been the largest the most number of times in the last predetermined number of times of access recording and a process (hereinafter, referred to as lowest frequency process) whose access number has been the smallest the most number of times in the last predetermined number of times of access recording. The process priority factor determining part 421 replaces the process priority factor of the highest frequency process identified in the previous same processing with the process priority factor of the highest frequency process identified in the present processing. Moreover, the process priority factor determining part 421 replaces the process priority factor of the lowest frequency process in the previous processing with the process priority factor of the lowest frequency process identified in the present processing.
(Priority Recording DB)
<Scheduling Processing>
Next,
The scheduling processing part 422 of the scheduling server 42 determines whether there are currently enough free resources in the application execution platform 10 to perform processing of resolving the vulnerabilities of the containers (application) (s51). For example, the scheduling processing part 422 obtains information on the resources of the application execution platform 10 at the moment and determines whether the resources exceed a predetermined threshold. Note that this threshold may be a constant value or a value that varies depending on various elements such as resources currently operating in the application execution platform 10 or the number of containers with vulnerabilities.
When there are enough free resources (s51: YES), the scheduling processing part 422 executes processing of s53. When there are not enough free resources (s51: NO), the scheduling processing part 422 executes processing of s57.
In s57, the scheduling processing part 422 obtains the process priority factor of each process of each container from the priority recording DB 210.
Then, the scheduling processing part 422 determines whether each process is to be degenerated (the number of redundancies of the process is to be reduced) based on the process priority factor of the process obtained in s57 (s59). Specifically, the scheduling processing part 422 determines whether the process priority factor obtained in s57 is equal to or smaller than a predetermined threshold (for example, 30) for each process.
When there is a process to be degenerated (the number of redundancies of the process is to be reduced) (s59: YES), the scheduling processing part 422 executes processing of s61 for this process. When there is no process to be degenerated (the number of redundancies of the process is not to be reduced) (s59: NO), the scheduling processing part 422 repeats the processing of s51.
In s61, the scheduling processing part 422 reduces the number of redundancies of the process to achieve degeneration. Note that
Then, the scheduling processing part 422 reflects the configuration of the container for which the process is degenerated, in the application execution platform 10 (s63). For example, the CD server 30 executes processing of deploying the container to the application execution platform 10, processing of executing a verification of the application related to the deployed container, and processing of switching the original application to the application for which the verification is successfully executed, based on instructions from the scheduling processing part 422. Procedures of the processing of container deploying, the processing of verification execution, and the processing of switching are described in processing of s53 to be described next. Thereafter, the processing of s51 is repeated.
Meanwhile, in s53, the scheduling processing part 422 executes the processing of deploying, the processing of verification execution, and the processing of switching for the container of the application that has vulnerability as described below.
Specifically, first, the scheduling processing part 422 obtains contents (handling method) of update processing for resolving the vulnerability of the container of the application, from the vulnerability information management DB 100.
Then, the scheduling processing part 422 instructs the CI server 52 to obtain resources necessary for achieving the obtained handling method. The CI server 52 obtains the resources from the source code library management server 51 and builds (creates) an image of the container based on the obtained resources. Note that this processing may be executed in advance before the execution of the scheduling processing s5 (for example, when the vulnerability is detected).
The CD server 30 deploys the built image of the container to the application execution platform 10. For example, the CD server 30 temporarily moves an application (for example, Pod) operating on an OS to be updated to another OS and then executes update of the OS. Update can be thereby executed without stopping services of the application execution platform 10.
After completion of this deploying, the CD server 30 executes a verification of each application on the application execution platform 10 for a predetermined time. After the execution of the verification, when the CD server 30 determines that the verification is successfully executed, the CD server 30 switches an image of a currently-present container to the image of the container deployed to the application execution platform 10.
Then, the scheduling processing part 422 determines whether there is an image of a container for which a vulnerability is to be resolved next (container with the next highest priority rank) (s55). Next, when there is an image of a container for which a vulnerability is to be resolved next (s55: YES), the scheduling processing part 422 repeats the processing of s51. When there is no image of a container for which a vulnerability is to be resolved next (s55: NO), the scheduling processing s5 is terminated (s65).
Although methods of updating, deploying, and releasing the containers 11 of the application execution platform 10 are not limited to particular methods, the CD server 30 is assumed to execute the verification and the deploying based on dark canary release (DCR) and progressive delivery (PD) in the present embodiment. DCR is a method of performing update and release only for predetermined developers. This allows release to be performed surely and safely without an impact on the application execution platform 10. PD is a deploying method in which, as a step subsequent to the continuous delivery (CD), predetermined analysis (analysis such as verification of accuracy rate and performance) is performed and automatic rollback is performed depending on a result of the predetermined analysis (result of the verification performed by some users) before release to all users.
As described above, the vulnerability management system 40 of the present embodiment calculates the impact factor that indicates the magnitude of the impact of the vulnerability of each container 11 in the application execution platform 10 on the application execution platform 10, based on the vulnerability information, calculates the access frequency factor based on the access frequency information of each container, calculates the weighting determination value that indicates the priority of the measure against the vulnerability of each container based on the impact factor and the access frequency factor, determines the order of measures for the respective multiple containers based on the weighting determination values calculated for the respective multiple containers, and executes the measures for the respective multiple containers according to the determined order.
Specifically, the vulnerability management system 40 of the present embodiment determines the priorities of resolving the vulnerabilities of the respective containers (application) from the viewpoint of the impact on the system and the priorities of the processes (weighting determination values) and resolves the vulnerabilities of the respective containers according to the order determined by using the weighting determination values.
As described above, when there are multiple vulnerabilities in the application execution system, the vulnerability management system 40 according to the present embodiment can efficiently resolve these vulnerabilities.
Moreover, the vulnerability management system 40 of the present embodiment calculates the process priority of each container based on the data access frequency of the container and, when the calculated process priority is equal to or smaller than the predetermined threshold, degenerates a process of the container related to this process priority and then executes the measures for the respective containers according to the order determined as described above by using the weighting determination values.
Increasing free resources of the application execution platform 10 by degenerating a process with a low priority (reducing the number of redundancies) as described above enables the processing of resolving the vulnerabilities of the respective containers to be performed quickly.
Moreover, the vulnerability management system 40 of the present embodiment calculates the access frequency factor by setting the priority ranks for data transmission and data reception of the container (priority ranks for the inbound communication and the outbound communication) and by setting the priority ranks according to whether the range in which the container transmits or receives data is in the same application (local communication), another application in the application execution platform 10 (in-cluster communication), or another application execution system (out-of-company communication).
Calculating the access frequency factor based on the form of communication in the application execution platform 10 and the application allows the priority ranks of the measures against vulnerabilities to be determined according to magnitudes of risks of data communication.
The present invention is not limited to the aforementioned embodiment and can be carried out by using any component within a scope not departing from the gist of the present invention. The embodiment and modified examples described above are merely examples and the present invention is not limited to the contents of these embodiment and modified examples as long as the features of the invention are not impaired. Moreover, although various embodiment and modified examples are described above, the present embodiment is not limited to the contents of these embodiment and modified examples. Other modes conceivable within the scope of the technical idea of the present invention are also included in the scope of the present invention.
Moreover, some of functions included in each apparatus in the present embodiment may be provided in another apparatus and functions included in separate apparatuses may be provided in the same apparatus.
Moreover, the formulae for calculating the impact factor and the access frequency factor described in the present embodiment are examples, and any formula or parameter may be added or modified. Furthermore, the evaluation value of vulnerability may be an evaluation value other than the CVSS score.
Number | Date | Country | Kind |
---|---|---|---|
2021-202570 | Dec 2021 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
1 | Ruggles | Jul 1836 | A |
2 | Goulding | Jul 1836 | A |
201 | Stanton | May 1837 | A |
9077 | Peck | Jun 1852 | A |
91357 | Mayer | Jun 1869 | A |
202000 | Curtice | Apr 1878 | A |
6615349 | Hair | Sep 2003 | B1 |
7926113 | Gula | Apr 2011 | B1 |
8793151 | DelZoppo | Jul 2014 | B2 |
9038163 | Larson | May 2015 | B2 |
9077695 | Larson | Jul 2015 | B2 |
9413766 | Larson | Aug 2016 | B2 |
9460474 | Grignon | Oct 2016 | B2 |
10002507 | Wilson | Jun 2018 | B2 |
10075334 | Kozura | Sep 2018 | B1 |
10102510 | Yau | Oct 2018 | B2 |
10116630 | Caragea | Oct 2018 | B2 |
10142122 | Hill | Nov 2018 | B1 |
10163079 | Brock | Dec 2018 | B1 |
10216508 | Vartha | Feb 2019 | B1 |
10332205 | Russell | Jun 2019 | B1 |
10446017 | Gershoni | Oct 2019 | B1 |
10606930 | Zak | Mar 2020 | B2 |
12013949 | Sethi | Jun 2024 | B2 |
20030088644 | Ganguly | May 2003 | A1 |
20050147102 | Tai | Jul 2005 | A1 |
20050278786 | Tippett | Dec 2005 | A1 |
20060075503 | Bunker | Apr 2006 | A1 |
20060168270 | Townsley | Jul 2006 | A1 |
20080000015 | Sutter | Jan 2008 | A1 |
20120000032 | Van De Veen | Jan 2012 | A1 |
20130218721 | Borhan | Aug 2013 | A1 |
20140000222 | Villers | Jan 2014 | A1 |
20140244500 | Elias | Aug 2014 | A1 |
20140279489 | Russell | Sep 2014 | A1 |
20140337982 | Crosby | Nov 2014 | A1 |
20150003637 | Chen | Jan 2015 | A1 |
20150172919 | Basnayake | Jun 2015 | A1 |
20150254640 | Cassano | Sep 2015 | A1 |
20150262173 | Durbin | Sep 2015 | A1 |
20150269539 | MacGregor | Sep 2015 | A1 |
20150332256 | Minor | Nov 2015 | A1 |
20150363778 | Ronca | Dec 2015 | A1 |
20150363783 | Ronca | Dec 2015 | A1 |
20150365283 | Ronca | Dec 2015 | A1 |
20160147977 | Adams | May 2016 | A1 |
20160217280 | Oberheide | Jul 2016 | A1 |
20160379208 | Deliwala | Dec 2016 | A1 |
20170000001 | Freed | Jan 2017 | A1 |
20170053249 | Tunnell | Feb 2017 | A1 |
20170083907 | McDonough | Mar 2017 | A1 |
20170140174 | Lacey | May 2017 | A1 |
20170221066 | Ledford | Aug 2017 | A1 |
20170255937 | Maddukuri | Sep 2017 | A1 |
20170346851 | Drake | Nov 2017 | A1 |
20180025442 | Isaacson | Jan 2018 | A1 |
20180124047 | Fisher | May 2018 | A1 |
20180341934 | Rodrigues | Nov 2018 | A1 |
20190023659 | Pazenok | Jan 2019 | A1 |
20190026705 | Lee | Jan 2019 | A1 |
20190043022 | Fosmark | Feb 2019 | A1 |
20190147440 | Deliwala | May 2019 | A1 |
20190149627 | Zhuang | May 2019 | A1 |
20190236571 | Arora | Aug 2019 | A1 |
20190236598 | Padmanabhan | Aug 2019 | A1 |
20190238584 | Somasundaram | Aug 2019 | A1 |
20190318326 | Russell | Oct 2019 | A1 |
20190319987 | Levy | Oct 2019 | A1 |
20190349770 | Andres | Nov 2019 | A1 |
20190354963 | Di Iorio | Nov 2019 | A1 |
20200005295 | Murphy | Jan 2020 | A1 |
20200019762 | Xu | Jan 2020 | A1 |
20200143364 | Walters | May 2020 | A1 |
20200258152 | Naggar | Aug 2020 | A1 |
20200342424 | Friedlander | Oct 2020 | A1 |
20200342507 | Hubbard | Oct 2020 | A1 |
20200389480 | Nunes | Dec 2020 | A1 |
20220021697 | Adamson | Jan 2022 | A1 |
20220407891 | Albanese | Dec 2022 | A1 |
20230185924 | Takahashi | Jun 2023 | A1 |
20240054725 | Chen | Feb 2024 | A1 |
Number | Date | Country |
---|---|---|
2019056986 | Apr 2019 | JP |
Number | Date | Country | |
---|---|---|---|
20230185924 A1 | Jun 2023 | US |