Software configuration management data creation support device and software configuration management data creation support method
Patent Information
- Application Number
- JP2022173181
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-10-28
- Publication Date
- 2025-03-25
- Estimated Expiration
- 2042-10-28
AI Technical Summary
Existing technologies struggle to reliably manage the software configuration of complex information systems composed of multiple software and information devices, as they often lack complete software configuration information for each device, making it difficult to implement effective vulnerability management and security measures.
A data structure and device for managing software configuration that utilizes a hierarchical class relationship system, including concrete and abstract classes, to support the creation of software configuration management data. This involves a software configuration management data creation support device that collects and extracts design information, selects class candidates, and allows users to create and manage software configuration data through a hierarchical structure.
Enables reliable management of software configurations across multiple devices within an information system, facilitating effective vulnerability management and security measures by accurately representing and managing the functional configuration of devices in a hierarchical format.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a data structure for managing a software configuration relating to the configuration of software used in an information system, and to an apparatus and method for supporting the creation of this data. [Background technology]
[0002] Software used in information systems has security flaws called vulnerabilities, and if an information system is continued to be operated while these vulnerabilities are left unchecked, it may be subject to attacks such as unauthorized access by malicious third parties. Therefore, when operating an information system, it is necessary to continuously collect vulnerability information on software vulnerabilities and take measures as necessary.
[0003] In the case of an information system that is configured by combining one or more pieces of software and / or one or more information devices provided by one or more suppliers, it is important for the manufacturer or operator of the information system to accurately grasp the software configuration of all information devices in the entire information system in order to accurately implement the above measures. Therefore, there is a demand for technology that enables the manufacturer or operator of the information system to reliably manage the software configuration of each information device in the information system.
[0004] Regarding the management of software configuration in an information system, for example, the technology of Patent Document 1 is known. Patent Document 1 describes a bill of materials creation support device that acquires order data that defines the specifications required for an ordered product, selects from a plurality of already delivered units those that have a relatively high degree of similarity to the ordered product as an approximate unit, presents approximate bill of materials data representing the bill of materials of the approximate unit to a user as a template for the bill of materials of the ordered product, and provides an editing environment to the user. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] International Publication No. 2022 / 018889 Summary of the Invention [Problem to be solved by the invention]
[0006] The technology of Patent Document 1 is premised on the fact that the parts configuration of the ordered product is known and that it is possible to reliably grasp the difference in parts configuration between the already delivered unit and the ordered product. However, in the case of an information system consisting of a large number of information devices, it is difficult to apply the technology of Patent Document 1 because it is not always possible to obtain the software configuration information of each information device in the information system.
[0007] The present invention has been made against this background, and aims to provide a technology for reliably managing the software configuration of an information system that is composed of a combination of one or more software programs and / or one or more information devices. [Means for solving the problem]
[0008] The software configuration management data structure according to the present invention is a data structure for managing the software configuration of an information system having a plurality of information devices, and includes class relationship data that represents the functional configuration handled by the information devices within the information system in a hierarchical structure consisting of concrete classes at the lowest hierarchy and one or more abstract classes at higher hierarchy levels. A software configuration management data creation support device according to the present invention is a device for supporting the creation of software configuration management data for managing the software configuration of an information system having a plurality of information devices, and comprises: a design information collection unit for collecting design information of the information system; a design information extraction unit for extracting predetermined terms from the design information; a class candidate selection unit for comparing the terms extracted by the design information extraction unit with attribute information set in advance according to a functional configuration of the information system and, based on a result of the comparison, selecting class candidates corresponding to the concrete classes or the abstract classes when a functional configuration handled by the information devices in the information system is represented in a hierarchical structure consisting of a concrete class at the lowest hierarchy and one or more abstract classes at higher hierarchy levels; and a management data creation unit for presenting the class candidates to a user and creating the software configuration management data based on a selection operation by the user for the class candidates. A software configuration management data creation support method according to the present invention is a method for supporting the creation of software configuration management data for managing the software configuration of an information system having a plurality of information devices, comprising the steps of: collecting design information of the information system; extracting predetermined terms from the collected design information; comparing the extracted terms with attribute information that is preset in accordance with a functional configuration of the information system; selecting class candidates corresponding to the concrete classes or abstract classes when a functional configuration handled by the information devices in the information system is represented in a hierarchical structure consisting of a concrete class at the lowest level and one or more abstract classes at higher levels based on a result of the comparison; presenting the selected class candidates to a user; and creating the software configuration management data based on a selection operation by the user on the presented class candidates. Effect of the Invention
[0009] According to the present invention, it is possible to provide a technique for reliably managing the software configuration of an information system configured by combining one or more pieces of software and / or one or more information devices. [Brief description of the drawings]
[0010] [Figure 1] 1 is a block diagram showing a functional configuration of a software configuration management system according to an embodiment of the present invention; [Diagram 2] 2 is a functional block diagram of a software configuration management data creation support device and a software configuration management device; [Diagram 3] 13 is a flowchart showing the flow of a software configuration management data creation support process; [Figure 4] 13 is a flowchart showing the flow of a process for extracting words and phrases from design information. [Diagram 5] 13 is a flowchart showing a process flow for selecting class candidates. [Figure 6] 13 is a flowchart showing a process flow for creating software configuration management data in a depth-first manner. [Figure 7] 13 is a flowchart showing the flow of processing for creating software configuration management data with breadth prioritized; [Figure 8] FIG. 13 is a diagram illustrating an example of an abstract class database. [Figure 9] FIG. 13 is a diagram illustrating an example of a concrete class database. [Figure 10] FIG. 11 is a diagram illustrating an example of data of instance information. [Figure 11] FIG. 11 is a diagram illustrating an example of class relationship data. [Figure 12] FIG. 11 is a sequence diagram showing a process flow when software configuration management data is created. [Figure 13] FIG. 2 is a functional block diagram of an influence range estimation device. [Figure 14] FIG. 2 is a diagram illustrating an example of the configuration of a computer that constitutes the influence range estimation device. [Figure 15] FIG. 11 is a diagram illustrating an example of affected range information. [Figure 16A] FIG. 11 is a sequence diagram illustrating an example of a processing flow of an influence extent estimation device. [Figure 16B] FIG. 11 is a sequence diagram illustrating an example of a processing flow of an influence extent estimation device. [Figure 17]13 is a flowchart illustrating an example of an influence range estimation process. [Figure 18] FIG. 13 is a diagram illustrating an example of a screen displayed based on affected range information. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
[0012] Fig. 1 is a block diagram showing the functional configuration of a software configuration management system according to an embodiment of the present invention. The software configuration management system 1 shown in Fig. 1 is a system for managing the software configuration of an information system configured by combining one or more pieces of software and / or one or more pieces of information equipment, such as an automobile, and is configured by connecting a software configuration management data creation support device 100, a software configuration management device 200, an influence extent estimation device 300, and a terminal device 400 with each other via a network 500.
[0013] Software configuration management data creation support device 100 supports the creation of software configuration management data used to manage the software configuration of an information system. With the support of software configuration management data creation support device 100, a user of the software configuration management system 1 can easily create software configuration management data for the target information system. A specific description of the support for creating software configuration management data by software configuration management data creation support device 100 will be given later.
[0014] Software configuration management device 200 has a recording device capable of recording data, and stores in this recording device software configuration management data created by a user with the support of software configuration management data creation support device 100. The recording device of software configuration management device 200 is configured using a large-capacity non-transitory magnetic storage device, semiconductor storage device, etc., such as a hard disk drive (HDD) or a solid state drive (SSD).
[0015] The impact extent estimation device 300 determines the impact extent of a security risk on an information system by using the software configuration management data stored in the software configuration management device 200. A specific method for determining the impact extent of an information system by the impact extent estimation device 300 will be described later.
[0016] Terminal device 400 is an information terminal that operates as a client terminal for software configuration management data creation support device 100 and software configuration management device 200, and is configured using, for example, a PC (Personal Computer) or the like. A user of software configuration management system 1 can operate terminal device 400 to cause software configuration management data creation support device 100 and software configuration management device 200 to execute desired processes, thereby creating software configuration management data, investigating the extent to which security risks affect the information system, and the like.
[0017] Network 500 is configured using, for example, a local area network (LAN), a wide area network (WAN), the Internet, or the like, and transmits data exchanged between software configuration management data creation support device 100, software configuration management device 200, impact extent estimation device 300, and terminal device 400. Note that a combination of any two or more of software configuration management data creation support device 100, software configuration management device 200, impact extent estimation device 300, and terminal device 400 may be installed in the same location or in physically separate locations. Furthermore, these may be realized on one computer, or may be realized on a virtual computer or cloud service.
[0018] Next, a detailed description will be given of the software configuration management data creation support device 100 and the software configuration management device 200. FIG.
[0019] The software configuration management data creation support device 100 includes a control unit 110 , a memory unit 120 , an input unit 130 , an output unit 140 , a communication unit 150 , a program storage unit 160 , and a data storage unit 170 .
[0020] The control unit 110 is configured using, for example, a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit), and functions as a design information collecting unit 161, a design information extracting unit 162, a class candidate selecting unit 163, and a management data creating unit 164 by executing a program stored in the program storage unit 160. The design information collecting unit 161, the design information extracting unit 162, the class candidate selecting unit 163, and the management data creating unit 164 will be described in detail later. Note that in FIG. 2, the program storage unit 160 has the design information collecting unit 161, the design information extracting unit 162, the class candidate selecting unit 163, and the management data creating unit 164, but in reality, programs corresponding to these are stored in the program storage unit 160, and the control unit 110 executes the programs to realize the design information collecting unit 161, the design information extracting unit 162, the class candidate selecting unit 163, and the management data creating unit 164 in the software configuration management data creation support device 100. In addition, programs and data for causing control unit 110 to function as design information collection unit 161, design information extraction unit 162, class candidate selection unit 163, and management data creation unit 164 may be introduced into software configuration management data creation support device 100 from an external device or a non-volatile storage medium, and used in software configuration management data creation support device 100.
[0021] The memory unit 120 is configured using a semiconductor storage device such as a RAM (Random Access Memory), and temporarily stores programs that are loaded from the program storage unit 160 and executed by the control unit 110, as well as necessary work data.
[0022] Input unit 130 accepts an input operation performed by an administrator of software configuration management data creation support device 100, and outputs the contents of the input operation to control unit 110. Output unit 140, under the control of control unit 110, outputs predetermined information to the administrator of software configuration management data creation support device 100, providing necessary information to the administrator. Input unit 130 and output unit 140 are configured using, for example, a mouse, a keyboard, a display, and the like.
[0023] Communications unit 150 operates under the control of control unit 110, and performs communication interface processing for transmitting and receiving various information between software configuration management data creation support device 100, software configuration management device 200, and terminal device 400. Through the communication interface processing performed by communications unit 150, the contents of a user's operation on terminal device 400 are transmitted to software configuration management data creation support device 100 via network 500, and software configuration management data created by the processing of software configuration management data creation support device 100 is transmitted to software configuration management device 200 via network 500.
[0024] The program storage unit 160 and the data storage unit 170 are configured using storage devices such as HDDs and SSDs. Various programs executed by the control unit 110 are stored in the program storage unit 160, and various data used in the processing of the control unit 110 are stored in the data storage unit 170. The program storage unit 160 and the data storage unit 170 may be realized by using one common storage device, or may be realized by separate storage devices.
[0025] The program storage unit 160 stores programs corresponding to the design information collection unit 161, the design information extraction unit 162, the class candidate selection unit 163, and the management data creation unit 164 described above. The design information collection unit 161 collects design information of an information system for which software configuration management data is to be created, and registers it in a design information database 173 of the data storage unit 170. The design information extraction unit 162 extracts predetermined terms to be used in creating software configuration management data from the design information registered in the design information database 173, and registers them in a design information extraction result database 174 of the data storage unit 170. The class candidate selection unit 163 compares each term in the design information extracted by the design information extraction unit 162 and registered in the design information extraction result database 174 with attribute information corresponding to the functional configuration of the information system, which is recorded in the abstract class database 171 and the concrete class database 172 of the data storage unit 170, and selects class candidates to be used in creating software configuration management data based on the comparison result. The management data creation unit 164 presents each class candidate selected by the class candidate selection unit 163 to the user by outputting it to the terminal device 400 using the communication unit 150, and creates software configuration management data based on the user's selection operation in response to the class candidates.
[0026] In the software configuration management data used in the software configuration management system 1 of this embodiment, the functional configuration of each information device in the information system is represented in a hierarchical structure. In this hierarchical structure, the lowest level (class) is called a concrete class, and each level (class) except for the lowest level is called an abstract class. Such hierarchical software configuration management data is an abstract representation of the software configuration in the information system, and is also called an abstract SBOM (Software Bill of Materials).
[0027] The data storage unit 170 stores an abstract class database 171, a concrete class database 172, a design information database 173, and a design information extraction result database 174. The abstract class database 171 and the concrete class database 172 are databases in which information on each abstract class and each concrete class in the software configuration management data with the hierarchical structure described above is stored. The design information database 173 is a database in which design information collected by the design information collection unit 161 is stored. The design information extraction result database 174 is a database in which words and phrases extracted by the design information extraction unit 162 from the design information registered in the design information database 173 are stored. Details of these databases will be described later.
[0028] The software configuration management device 200 has a class relation database 201 and an instance information database 202. These databases are stored in a storage device such as an HDD or SSD in the software configuration management device 200.
[0029] The class relation database 201 is a database in which class relation data expressing the functional configuration of each information device in the information system in the above-mentioned hierarchical structure is stored. The instance information database 202 is a database in which data expressing instance information (various information such as software creator name, supplier name, component name, version name, component hash value, unique ID, and dependent related information) regarding software possessed by each information device in the information system is stored. In the software configuration management system 1 of this embodiment, the software configuration management data (abstract SBOM) of the information system is configured by the data stored in the class relation database 201 and the instance information database 202. Note that at least the class relation data is necessary to manage the software configuration of the information system, but the instance information data is not necessary. In other words, the software configuration management device 200 only needs to have at least the class relation database 201, and may have a form in which the instance information database 202 is not required.
[0030] Next, a process for supporting the creation of software configuration management data executed in the software configuration management system 1 will be described.
[0031] 3 is a flowchart showing a flow of a process for supporting creation of software configuration management data. In the software configuration management system 1 of this embodiment, the process shown in the flowchart of FIG. 3 is executed by the software configuration management data creation support device 100 when, for example, a user performs a predetermined operation using the terminal device 400.
[0032] In step S100, the design information collection unit 161 collects design information for an information system for which software configuration management data is to be created. Here, the necessary design information can be collected, for example, by receiving design information input to the terminal device 400 by the user from the terminal device 400, or by acquiring design information from an external server designated by the user. The design information collected in step S100 is registered in the design information database 173.
[0033] In step S200, design information extraction unit 162 extracts words and phrases from the design information collected in step S100. Here, design information stored in design information database 173 is read out, and predetermined words and phrases contained in the design information are extracted. The results of the word and phrase extraction in step S200 are registered in design information extraction result database 174. Details of the process in step S200 will be described later with reference to the flowchart in FIG.
[0034] In step S300, class candidate selection unit 163 selects class candidates based on the terms extracted from the design information in step S200. Here, the extraction results of the terms stored in design information extraction result database 174 are read out, and candidates for abstract classes or concrete classes corresponding to the extracted terms are selected by referring to abstract class database 171 and concrete class database 172. Details of the processing content of step S300 will be described later with reference to the flowchart in FIG.
[0035] In step S400, it is determined whether to perform depth-first processing or breadth-first processing when creating software configuration management data. The depth-first processing is a process in which the depth of the hierarchical structure of the software configuration management data is prioritized, and multiple class candidates selected in step S300 are sequentially presented to the user to support the user in creating software configuration management data. On the other hand, the breadth-first processing is a process in which the breadth of the hierarchical structure of the software configuration management data is prioritized, and multiple class candidates selected in step S300 are sequentially presented to the user to support the user in creating software configuration management data. If it is determined in step S400 that the depth-first processing is to be performed, the process proceeds to step S500, and if it is determined that the breadth-first processing is to be performed, the process proceeds to step S600. The determination in step S400 may be performed, for example, by having the user select one of the methods using the terminal device 400, or may be performed based on preset information. In addition to this, the determination process in step S400 may be performed by any method.
[0036] In step S500, management data creation unit 164 creates software configuration management data in a depth-first manner. Here, management data creation unit 164 executes the above-mentioned depth-first processing to assist the user in creating software configuration management data. Then, in response to an input operation performed by the user using terminal device 400 at this time, class relationship data is created that represents in a hierarchical structure the functional configuration handled by each information device of the information system, and instance information for each information device is created, thereby creating software configuration management data. Details of the processing content of step S500 will be described later with reference to the flowchart in FIG. 6.
[0037] In step S600, management data creation unit 164 creates software configuration management data with breadth prioritized. Here, management data creation unit 164 executes the breadth priority process described above to assist the user in creating software configuration management data. Then, in response to an input operation performed by the user using terminal device 400 at this time, class relationship data is created that represents in a hierarchical structure the functional configurations handled by each information device of the information system, and instance information for each information device is created, thereby creating software configuration management data. Details of the process in step S600 will be described later with reference to the flowchart in FIG. 7.
[0038] In software configuration management data creation support device 100, by selectively executing the processing of step S500 or S600 as described above, it is possible to create software configuration management data for the information system for which design information was collected in step S100. After executing the processing of step S500 or step S600, software configuration management data creation support device 100 transmits the created software configuration management data to software configuration management device 200 via network 500, and ends the processing shown in the flowchart in FIG.
[0039] Upon receiving software configuration management data from software configuration management data creation support device 100, software configuration management device 200 stores the class relationship data and instance information data included in the software configuration management data in class relationship database 201 and instance information database 202, respectively. In this way, the software configuration management data created in software configuration management data creation support device 100 is recorded in software configuration management device 200.
[0040] FIG. 4 is a flowchart showing the process of extracting words and phrases from design information, which is executed in step S200 of FIG.
[0041] In step S210, design information is read from design information database 173 to obtain the design information of the information system for which software configuration management data is to be created.
[0042] In step S220, predetermined words and phrases are extracted from the design information read in step S210 from the design information database 173. Here, words and phrases corresponding to the functional configuration of each information device in the information system are searched for and extracted from various sentences and figures acquired as the design information.
[0043] For example, consider a case where a requirement specification for an information system read as design information includes a sentence such as "An in-vehicle unit is composed of a control system ECU used for controlling a vehicle drive system and an information system ECU used for information communication functions, and an ECU whose main function is information communication functions includes a TCU...". In this case, as a phrase expressing the functional configuration of the information device included in the sentence, phrases such as "drive system", "control system ECU", "information communication function", "information system ECU", and "TCU" are extracted by the process of step S220. Note that information on the phrases to be extracted may be preset in the software configuration management data creation support device 100 or may be specified by the user. Alternatively, the phrases may be obtained from outside, or existing design information and software configuration management data may be compared and analyzed, and the phrases to be extracted may be set based on the results. In addition to the above, the phrases to be extracted can be set in various ways.
[0044] In step S230, each term extracted in step S220 is written to the design information extraction result database 174. As a result, information on various terms expressing the functional configuration of information devices extracted from the design information is written in the design information extraction result database 174.
[0045] When the process of step S230 is completed, the process of extracting words and phrases from the design information by the design information extraction section 162 is terminated, and the process proceeds to step S300 in FIG.
[0046] FIG. 5 is a flowchart showing the process of selecting class candidates, which is executed in step S300 of FIG.
[0047] In step S310, abstract class database 171 and concrete class database 172 are read, and attribute information of abstract classes and concrete classes recorded in these databases is obtained.
[0048] In step S320, the design information extraction result database 174 is read, and information on each word extracted from the design information by the design information extraction unit 162 is obtained.
[0049] In step S330, the attribute information of the abstract class or concrete class acquired in step S310 is compared with each extracted phrase acquired in step S320, and partial matching is performed between them. In the following step S340, based on the partial matching result of step S330, the class that partially matches the extracted phrase is selected as an abstract class candidate or concrete class candidate in the software configuration management data of the information system whose design information was collected in step S100 of Figure 3.
[0050] Specifically, in step S330, it is determined whether or not a part or all of the contents of each class recorded in abstract class database 171 and concrete class database 172 match any of the extracted phrases. As a result, if there is a class that matches the extracted phrase, in step S340, the class is selected as an abstract class candidate or a concrete class candidate. In other words, if the class that matches the extracted phrase is an abstract class, the class is selected as an abstract class candidate for the information system, and if the class that matches the extracted phrase is a concrete class, the class is selected as a concrete class candidate for the information system.
[0051] When the process of step S340 is completed, the class candidate selection process by class candidate selection unit 163 ends, and the process proceeds to step S400 in FIG.
[0052] FIG. 6 is a flowchart showing the flow of the depth-first software configuration management data creation process executed in step S500 of FIG.
[0053] In step S501, class candidates are presented to the user by displaying the top-level abstract class candidates on terminal device 400. Here, from among the abstract class candidates selected in step S340 of Fig. 5, one or more abstract class candidates located at the top level in the hierarchical structure of the software configuration management data are displayed on terminal device 400 as the top-level abstract class candidates.
[0054] In step S502, a top-level abstract class in the software configuration management data is selected based on the top-level abstract class candidates displayed in step S501. Here, for example, the abstract class candidate selected by the user from among the one or more abstract class candidates displayed on terminal device 400 in step S501 is selected as the top-level abstract class.
[0055] In step S503, class candidates are presented to the user by displaying on the terminal device 400 lower class candidates for the class candidate displayed immediately before. Here, among the abstract class candidates or concrete class candidates selected in step S340 of FIG. 5, one or more abstract class candidates or concrete class candidates located in the next hierarchy level of the hierarchy level in which the abstract class candidate was selected in the immediately preceding step S502 or step S505 in the hierarchical structure of the software configuration management data are displayed on the terminal device 400 as lower class candidates. That is, when the process of step S503 is executed for the first time, each abstract class candidate or each concrete class candidate belonging to a hierarchy level one level lower than the top abstract class candidate presented in the immediately preceding step S501 is presented to the user as a lower class candidate. On the other hand, when the process of step S503 is executed for the second or subsequent times, each abstract class candidate or each concrete class candidate belonging to a hierarchy level one level lower than the abstract class candidate presented in the previous step S503 is presented to the user as a lower class candidate.
[0056] In step S504, it is determined whether the lower class candidate displayed in the previous step S503 is a concrete class candidate. If a concrete class candidate was displayed in the previous step S503, the process proceeds to step S506. If the lower class candidate is not a concrete class candidate, i.e., if the lower class candidate is an abstract class candidate, the process proceeds to step S505.
[0057] When the process proceeds from step S504 to step S505, in step S505, a lower abstract class in the software configuration management data is selected based on the abstract class candidates displayed as lower class candidates in step S503. Here, for example, the abstract class candidate selected by the user from among one or more abstract class candidates displayed on terminal device 400 in step S503 is selected as the lower abstract class. Once the lower abstract class is selected in step S505, the process returns to step S503 and the above-mentioned processing is repeated.
[0058] If the process proceeds from step S504 to step S506, in step S506, a concrete class in the software configuration management data is selected based on the concrete class candidates displayed as lower class candidates in step S503. Here, for example, the concrete class candidate selected by the user from among one or more concrete class candidates displayed on terminal device 400 in step S503 is selected as the concrete class. After the concrete class is selected in step S505, the process proceeds to step S507.
[0059] By performing the processing of steps S501 to S506 described above, the management data creation section 164 can sequentially present multiple class candidates to the user in an order that corresponds to the hierarchical structure of the software configuration management data, from the abstract class candidate in the topmost hierarchy to the concrete class candidates.
[0060] In step S507, instance information corresponding to the attribute information of the concrete class selected in step S506 is input. Here, for example, the user operates terminal device 400 to input the instance information, whereby the instance information can be set for each information device in the information system for each class selected in steps S502, S505, and S506.
[0061] In step S508, it is determined whether there are any abstract class candidates other than the abstract class candidates that have been processed up to this point. If there are any other abstract class candidates, that is, if there is an abstract class candidate among the abstract class candidates selected by class candidate selection unit 163 that has not been selected as an abstract class and has not been excluded from an abstract class, the process returns to step S503 and continues the above-mentioned process. On the other hand, if there are no other abstract class candidates, the depth-first software configuration management data creation process by management data creation unit 164 ends.
[0062] FIG. 7 is a flowchart showing the process of creating software configuration management data with breadth prioritized, which is executed in step S600 of FIG.
[0063] In step S601, the class candidates are presented to the user by displaying the top-level abstract class candidates on terminal device 400. Here, similar to step S501 in Fig. 6, one or more abstract class candidates located at the top level in the hierarchical structure of the software configuration management data from among the abstract class candidates selected in step S340 in Fig. 5 are displayed on terminal device 400 as top-level abstract class candidates.
[0064] In step S602, a top-level abstract class in the software configuration management data is selected based on the top-level abstract class candidates displayed in step S601. Here, for example, the abstract class candidate selected by the user from among the one or more abstract class candidates displayed on terminal device 400 in step S601 is selected as the top-level abstract class.
[0065] In step S603, it is determined whether there are any top-level abstract class candidates other than the top-level abstract class candidates that have been processed so far. If there are any other top-level abstract class candidates, that is, if there is an abstract class candidate that has not been selected as the top-level abstract class and has not been excluded from the top-level abstract class among the abstract class candidates in the top hierarchy selected by class candidate selection unit 163, the process returns to step S602 to continue selecting the top-level abstract class. On the other hand, if there are no other top-level abstract class candidates, the process proceeds to step S604.
[0066] In step S604, class candidates are presented to the user by displaying lower class candidates for the class candidate displayed immediately before on the terminal device 400. Here, as in step S503 in FIG. 6, one or more abstract class candidates or concrete class candidates selected in step S340 in FIG. 5 that are located in the next hierarchy level to the hierarchy level in which the abstract class candidate was selected in the immediately preceding step S602 or step S606 in the hierarchical structure of the software configuration management data are displayed on the terminal device 400 as lower class candidates. That is, when the process of step S604 is executed for the first time, each abstract class candidate or each concrete class candidate belonging to a hierarchy level one level lower than the top abstract class candidate presented in the immediately preceding step S601 is presented to the user as a lower class candidate. On the other hand, when the process of step S604 is executed for the second or subsequent times, each abstract class candidate or each concrete class candidate belonging to a hierarchy level one level lower than the abstract class candidate presented in the previous step S604 is presented to the user as a lower class candidate.
[0067] In step S605, it is determined whether the lower class candidate displayed in the previous step S604 is a concrete class candidate. If a concrete class candidate was displayed in the previous step S604, the process proceeds to step S608, and if the lower class candidate is not a concrete class candidate, i.e., if the lower class candidate is an abstract class candidate, the process proceeds to step S606.
[0068] If the process proceeds from step S605 to step S606, in step S606, a lower abstract class in the software configuration management data is selected based on the abstract class candidates displayed as lower class candidates in step S604. Here, for example, the abstract class candidate selected by the user from among the one or more abstract class candidates displayed on terminal device 400 in step S604 is selected as the lower abstract class.
[0069] In step S607, it is determined whether there are any abstract class candidates other than the abstract class candidates that have been processed so far. If there are any other abstract class candidates, that is, if there are any abstract class candidates among the abstract class candidates selected by class candidate selection unit 163 that have not been selected as abstract classes and have not been excluded from abstract classes, the process returns to step S604 and continues the above-mentioned process. On the other hand, if there are no other abstract class candidates, the process proceeds to step S608.
[0070] If the process proceeds from step S605 or S607 to step S608, in step S608, a concrete class in the software configuration management data is selected based on the concrete class candidates displayed as lower class candidates in step S604. Here, for example, the concrete class candidate selected by the user from among one or more concrete class candidates displayed on terminal device 400 in step S604 is selected as the concrete class. Once the concrete class is selected in step S608, the process proceeds to step S609.
[0071] By performing the processing of steps S601 to S608 described above, the management data creation section 164 can sequentially present multiple class candidates to the user in an order that corresponds to the hierarchical structure of the software configuration management data, from the abstract class candidate in the topmost hierarchy to the concrete class candidates.
[0072] In step S609, instance information corresponding to the attribute information of the concrete class selected in step S608 is input. Here, for example, the user operates terminal device 400 to input the instance information, whereby the instance information can be set for each information device in the information system for each class selected in steps S602, S606, and S608.
[0073] After the process of step S609 is performed, the software configuration management data creation process with breadth priority by the management data creation unit 164 ends.
[0074] Next, the abstract class database 171, the concrete class database 172, the design information database 173, and the design information extraction result database 174 will be described in detail.
[0075] Fig. 8 is a diagram showing an example of abstract class database 171. As shown in Fig. 8, abstract class database 171 is configured by recording information shown in each column of reference numerals 1711 to 1714, for example, for a plurality of records of abstract classes set for each functional configuration handled by each information device of the information system.
[0076] Column 1711 records information on abstract class names when the functional configuration of each information device is represented in a hierarchical structure. Column 1712 records attribute information corresponding to each abstract class. Column 1713 records information indicating the selection method for lower classes of each abstract class when creating software configuration management data. Column 1714 records information indicating the lower classes of each abstract class.
[0077] Fig. 9 is a diagram showing an example of the concrete class database 172. As shown in Fig. 9, the concrete class database 172 is configured by recording information shown in each column of reference numerals 1721 to 1723, for example, for a plurality of records of concrete classes set for each functional configuration handled by each information device of the information system.
[0078] Column 1721 records information on concrete class names when the functional configuration of each information device is represented in a hierarchical structure. Column 1722 records attribute information corresponding to each concrete class. Column 1723 records information indicating that each concrete class does not have a lower class.
[0079] Fig. 10 is a diagram showing an example of instance information data stored in the instance information database 202. In the instance information database 202, instance information corresponding to each information device of the information system is recorded. Fig. 10 shows an example of instance information data 2021 corresponding to a TCU (Telematics Control Unit). This instance information data 2021 shows instance information related to software possessed by the TCU for each function of a concrete class to which the TCU belongs, and for each function of an abstract class in a higher hierarchy than the concrete class to which the TCU belongs.
[0080] Fig. 11 is a diagram showing an example of class relationship data stored in class relationship database 201. Class relationship data representing the hierarchical structure of software configuration management data corresponding to each information device of an information system is recorded in class relationship database 201. Fig. 11 shows an example of class relationship data 2011 corresponding to a TCU. This class relationship data 2011 represents the hierarchical structure of the software configuration management data of the TCU, from the abstract class in the highest hierarchy to the concrete class in the lowest hierarchy.
[0081] 12 is a sequence diagram showing a processing flow when software configuration management data is created in software configuration management data creation support device 100 by using attribute information and instance information provided by end product manufacturer 1100 which produces an information system, first-order supplier (Tier 1) 1101 which supplies parts to end product manufacturer 1100, and second-order supplier (Tier 2) 1102 which supplies parts to first-order supplier 1101. The processing shown in the sequence diagram in FIG. 12 is executed, for example, when end product manufacturer 1100, which is a user of software configuration management system 1, uses terminal device 400 to transmit design information of the information system to software configuration management data creation support device 100 and transmits required specifications of parts to first-order supplier 1101.
[0082] When design information is transmitted from the final product manufacturer 1100, the software configuration management data creation support device 100 causes the design information collection unit 161 to collect the design information (step S100). Then, the design information extraction unit 162 extracts predetermined words and phrases from the collected design information (step S200), and the class candidate selection unit 163 selects class candidates (step S300).
[0083] When the required specifications are transmitted from the final product manufacturer 1100, the primary supplier 1101 receives them using the terminal device 400. Then, the primary supplier 1101 transmits the required specifications of the part to the secondary supplier 1102.
[0084] When the required specifications are transmitted from the primary supplier 1101, the secondary supplier 1102 receives them using the terminal device 400. Then, the secondary supplier 1102 prepares attribute information and instance information of the parts it supplies and transmits them to the primary supplier 1101.
[0085] When the attribute information and instance information are transmitted from the secondary supplier 1102, the primary supplier 1101 receives them using the terminal device 400. Then, the primary supplier 1101 prepares attribute information and instance information for the parts it supplies, including the received attribute information and instance information, and transmits it to the end product manufacturer 1100.
[0086] When the attribute information and instance information are sent from the primary supplier 1101, the end product manufacturer 1100 receives them using the terminal device 400. The end product manufacturer 1100 then prepares attribute information and instance information for each component of the information system, which is the end product, including the received attribute information and instance information, and sends it to the software configuration management data creation support device 100.
[0087] When end product manufacturer 1100 transmits attribute information and instance information, software configuration management data creation support device 100 uses management data creation unit 164 to create depth-first software configuration management data (step S500) or breadth-first software configuration management data (step S600) based on this information. This creates class relationship data and instance information data for each component of the information system, and generates software configuration management data.
[0088] In the sequence diagram described above, the end product manufacturer 1100 may not be able to obtain attribute information and instance information of supplied parts from the primary supplier 1101 and secondary supplier 1102. In such a case, the end product manufacturer 1100 must prepare attribute information and instance information of each part of the information system at its own responsibility, which increases the workload. Therefore, it is preferable for the end product manufacturer 1100 to obtain a sufficient understanding from the primary supplier 1101 and secondary supplier 1102 regarding the provision of attribute information and instance information.
[0089] Next, details of the influence extent estimation device 300 will be described. Fig. 13 is a functional block diagram of the influence extent estimation device 300. Fig. 13 also shows a functional block diagram of the software configuration management device 200, which is the same as that shown in Fig. 2. Fig. 14 is a diagram showing an example of the configuration of a computer that constitutes the influence extent estimation device 300 of this embodiment.
[0090] The influence extent estimation device 300 is mutually connected to the software configuration management device 200 and the terminal device 400 via a network 500. The number of terminal devices 400 may be two or more.
[0091] The terminal device 400 transmits cybersecurity information describing the security risks of resources that realize a given function to the influence extent estimation device 300. Here, the resource is a concept that encompasses software and hardware. The cybersecurity information is information that includes a character string. The influence extent estimation device 300 identifies modules and parts that are affected by the security risks of the resources, and outputs them to the terminal device 400 as influence extent information.
[0092] The terminal device 400 is a terminal operated by a manufacturer that manufactures a product, a vendor that sells the product, or the like, and is, for example, a general-purpose computer or a smartphone.
[0093] The impact extent estimation device 300 judges the impact extent of a product against a security risk. Here, the impact extent of a product means a group of parts (elements) that are affected by a security risk among the parts (components) that make up the product. The impact extent estimation device 300 is realized by using a computer having a configuration as shown in Fig. 14, for example. The number of computers that make up the impact extent estimation device 300 may be one, or two or more.
[0094] The influence range estimation device 300 includes a processor 301, a main memory device 302, a secondary memory device 303, and a network interface 304. The hardware elements are connected to each other via an internal bus 305.
[0095] Processor 301 executes a program stored in main memory device 302. Processor 301 executes processing in accordance with the program, thereby operating as a functional unit (module) that realizes a specific function. In the following explanation, when a process is explained with a functional unit as the subject, it indicates that processor 301 is executing a program that realizes the functional unit.
[0096] The main memory device 302 is a dynamic random access memory (DRAM) and stores programs executed by the processor 301 and data used by the programs. The main memory device 302 is also used as a work area.
[0097] The secondary storage device 303 is a HDD, SSD, or the like, and stores data persistently. The programs and data stored in the primary storage device 302 may be stored in the secondary storage device 303. In this case, the processor 301 reads out the programs and information from the secondary storage device 303 and loads them into the primary storage device 302.
[0098] The network interface 304 is an interface for connecting to an external device via a network.
[0099] The hardware configuration of the influence extent estimation device 300 is merely an example and is not limited to this. The influence extent estimation device 300 may have input devices such as a keyboard, a mouse, a touch panel, etc., and may also have output devices such as a display and a printer.
[0100] As shown in FIG. 13, the influence extent estimation device 300 has, as functional units, an information acquisition unit 310, an information extraction unit 311, and an influence extent estimation unit 312, for example.
[0101] The information acquisition unit 310 acquires cybersecurity information. The information extraction unit 311 extracts information on resources that are subject to security risks from the cybersecurity information. For example, the name of vulnerable software and the details of the vulnerability are extracted. The information extraction unit 311 also generates a search key from the extracted information and outputs it to the impact range estimation unit 312. The impact range estimation unit 312 estimates the impact range of the product based on the search key and outputs the estimation result as impact range information. The impact range estimation unit 312 includes a function determination unit 320 and a search unit 321.
[0102] Regarding each functional unit included in the influence extent estimation device 300, multiple functional units may be integrated into one functional unit, or one functional unit may be divided into multiple functional units for each function.
[0103] FIG. 15 is a diagram illustrating an example of the affected range information.
[0104] The impact range information includes, for example, a table 800 as shown in Fig. 15. The table 800 stores entries including a module name 801 and an impact range 802.
[0105] The module name 801 is a field for storing the name (identification information) of a module that includes a component affected by a security risk. The impact range 802 is a field for storing the name (identification information) of a component affected by a security risk.
[0106] 16A and 16B are sequence diagrams illustrating an example of the processing flow of the influence range estimation device 300 of this embodiment.
[0107] In this embodiment, a use case in which a vendor and a product manufacturer use the influence extent estimation device 300 will be described as an example.
[0108] First, a use case shown in Fig. 16A will be described. A vendor collects cybersecurity information from the Web or the like, and operates the terminal device 400-1 to transmit the cybersecurity information to the influence extent estimation device 300 (step S1101).
[0109] When the impact extent estimation device 300 receives the cybersecurity information, it executes an impact extent estimation process (step S1102). The impact extent estimation device 300 transmits the impact extent information as a processing result to the terminal device 400-1 operated by the vendor (step S1103). The impact extent estimation process is executed for each product handled by the vendor.
[0110] The vendor operates terminal device 400-1 to generate a report using the impact range information (step S1104), and transmits the report to terminal device 400-2 operated by the product manufacturer (step S1105). Note that the report may not be generated using terminal device 400-1.
[0111] A use case shown in Fig. 16B will be described. A product manufacturer collects cybersecurity information from the Web or the like, and operates terminal device 400-2 to transmit the cybersecurity information to influence extent estimation device 300 (step S1201).
[0112] When the impact extent estimation device 300 receives the cybersecurity information, it executes an impact extent estimation process (step S1202). The impact extent estimation device 300 transmits the impact extent information as a processing result to the terminal device 400-2 operated by the product manufacturer (step S1203). The impact extent estimation process is executed for all products.
[0113] 17 is a flowchart illustrating an example of the influence extent estimation process executed by the influence extent estimation device 300. Here, it is assumed that there is one target product.
[0114] The information extraction unit 111 acquires the cybersecurity information received by the information acquisition unit 310 (step S1401).
[0115] The information extraction unit 311 extracts information about security risks from the cybersecurity information, and also extracts a search key from the extracted information (step S1402). In this embodiment, it is assumed that a search key representing a resource is extracted from the cybersecurity information. Note that a method for extracting terms from a document can be a publicly known method, and therefore a detailed description thereof will be omitted.
[0116] The function determining section 320 of the impact extent estimating section 312 determines whether or not there is a resource (impacted resource) that is affected by the security risk, based on the search key (step S1403).
[0117] Specifically, function determination unit 320 refers to instance information database 202 stored in software configuration management device 200, and searches for instance information including information matching the search key. If instance information including information matching the search key exists, function determination unit 320 determines that an affected resource exists.
[0118] If it is determined that the affected resource does not exist, the affected extent estimation unit 312 transmits error information to the terminal device 400 (step S1404) and ends the affected extent estimation process. For example, it is possible to transmit error information indicating that there is no corresponding resource, or error information prompting confirmation of parts related to the resource.
[0119] If it is determined that an affected resource exists, the function determining unit 320 of the influence extent estimating unit 312 sets a reference module and a target function (step S1405).
[0120] Specifically, function determination unit 320 sets the function corresponding to the searched instance information as the target function. Furthermore, function determination unit 320 refers to class relation database 201 stored in software configuration management device 200, searches for an abstract class that is in a higher hierarchy than the concrete class corresponding to the searched instance information, and determines the module corresponding to the searched abstract class as the reference module.
[0121] The search unit 321 of the influence range estimation unit 312 determines whether the reference module has the target function (step S1406).
[0122] Specifically, the search unit 321 refers to the class relation database 201 and acquires the functions possessed by the reference module. This makes it possible to grasp the functions possessed by the reference module. The search unit 321 determines whether or not the functions possessed by the reference module include the target function. If the functions possessed by the reference module include the target function, the search unit 321 determines that the reference module has the target function.
[0123] If it is determined that the reference module does not have the target function, the search unit 321 of the influence extent estimation unit 312 updates the reference module (step S1407), and the process returns to step S1406.
[0124] Specifically, search unit 321 refers to class relation database 201 and searches for an abstract class that is a higher level than the abstract class corresponding to the reference module. Function determination unit 320 sets the module corresponding to the searched abstract class as a new reference module.
[0125] The processing in steps S1406 and S1407 corresponds to processing for searching the inheritance relationship in the tree structure from the lower layer to the upper layer, starting from a module having an inheritance relationship with a component having a function realized by an affected resource.
[0126] If it is determined that the reference module has the target function, the search unit 321 of the influence range estimation unit 312 identifies a part by referring to the class relation database 201 based on the reference module (step S1408).
[0127] Specifically, the search unit 321 identifies parts by searching the inheritance relationships in the tree structure from the upper layer to the lower layer, starting from the reference module.
[0128] The affected extent estimation unit 312 generates affected extent information based on the identified parts (step S1409), and ends the affected extent estimation process.
[0129] FIG. 18 is a diagram showing an example of a screen displayed on the terminal device 400 based on the influence extent information transmitted from the influence extent estimation device 300. As shown in FIG.
[0130] 18 is displayed on the terminal device 400. The screen 1000 includes a cybersecurity information column 1010, an impact scope column 1020, and a resource information column 1030.
[0131] The cybersecurity information column 1010 is a column for selecting cybersecurity information and instructing execution of an impact range estimation process, and includes an input field 1011 and an execute button 1012. The input field 1011 is a field for inputting cybersecurity information. For example, a file or text is input into the input field 1011. The execute button 1012 is an operation button for instructing execution of an impact range estimation process.
[0132] The impact range column 1020 is a column that displays the results of the estimation process on the impact range, such as impact range information. In Fig. 18, a tree structure is displayed on which the impact range of the product is superimposed. The hatched boxes represent the parts that have the impacting resources, and the hatched area indicates the search range starting from the module that has the target function. The search results of step S1403 are superimposed on the boxes corresponding to the parts that have the impacting resources.
[0133] The resource information column 1030 is a column for allowing a user who has referred to the impact range column 1020 to newly register resource information, and includes an addition table 1031, an addition button 1032, and a registration button 1033. The addition table 1031 is a table for setting information to be registered as resource information. The addition button 1032 is an operation button for adding an entry to the addition table 1031. The registration button 1033 is an operation button for registering the contents of the addition table 1031.
[0134] Users such as vendors can add and update resource information by referring to the impact range information, etc. When resource information is added or updated, the results are reflected in the class relation database 201 and the instance information database 202. This makes it possible to improve the accuracy of estimating the impact range of a product and speed up the estimation process.
[0135] (Summary) In the prior art, in order to identify components that are affected by the security risk of a resource, it was necessary to fully understand the relationship between the resource and the component. On the other hand, in the present invention, if the relationship between the resource and the component is partially understood, it is possible to identify components that are affected by the security risk of the resource.
[0136] According to the embodiment of the present invention described above, the following advantageous effects can be obtained.
[0137] (1) The software configuration management data stored in software configuration management device 200 has a data structure for managing the software configuration of an information system having multiple information devices. This data structure includes class relationship data stored in class relationship database 201, which represents the functional configuration of an information device in the information system in a hierarchical structure consisting of a concrete class at the lowest level and one or more abstract classes at higher levels. This makes it possible to realize a data structure that can reliably manage the software configuration of an information system configured by combining one or more pieces of software and / or one or more information devices.
[0138] (2) The above data structure further includes instance information data that is stored in the instance information database 202 and represents instance information related to software owned by the information device. This instance information data includes instance information related to software owned by the information device for each functional configuration of a concrete class to which the information device belongs and for each functional configuration of an abstract class that is in a higher hierarchy than the concrete class to which the information device belongs. This makes it possible to represent details of the software of each information device included in the information system using instance information.
[0139] (3) The software configuration management data creation support device 100 is a device that supports the creation of software configuration management data for managing the software configuration of an information system having multiple information devices. The software configuration management data creation support device 100 includes a design information collection unit 161 that collects design information of the information system, a design information extraction unit 162 that extracts a predetermined term from the design information, a class candidate selection unit 163, and a management data creation unit 164. The class candidate selection unit 163 compares the term extracted by the design information extraction unit 162 with attribute information that is preset according to the functional configuration of the information system, and selects class candidates corresponding to concrete classes or abstract classes when the functional configuration of the information devices in the information system is represented in a hierarchical structure consisting of a concrete class at the lowest level and one or more abstract classes at higher levels, based on the comparison result. The management data creation unit 164 presents the class candidates to a user and creates software configuration management data based on the user's selection operation for the class candidates. As a result, it is possible to appropriately support a user in creating software configuration management data for reliably managing the software configuration of an information system that is configured by combining one or more pieces of software and / or one or more information devices.
[0140] (4) The class candidate selection unit 163 selects, as class candidates, concrete class candidates corresponding to the concrete classes and abstract class candidates corresponding to the abstract classes (step S340). The management data creation unit 164 sequentially presents the multiple class candidates to the user in an order corresponding to the hierarchical structure, from the abstract class candidate in the highest hierarchy to the concrete class candidate (steps S501 to S506, steps S601 to S608). As a result, it is possible to appropriately support the user in creating software configuration management data that represents the functional configuration of an information device in an information system in a hierarchical structure consisting of a concrete class in the lowest hierarchy and one or more abstract classes in higher hierarchies.
[0141] (5) The management data creation unit 164 can selectively execute either a depth-prioritized process (step S500) in which multiple class candidates are presented to the user in sequence, giving priority to the depth of the hierarchical structure, or a breadth-prioritized process (step S600) in which multiple class candidates are presented to the user in sequence, giving priority to the breadth of the hierarchical structure. This makes it possible to present class candidates to the user in a manner appropriate to the situation when creating software configuration management data.
[0142] (6) When the user selects a concrete class candidate (steps S506, S608), the management data creation unit 164 has the user input instance information related to the software owned by the information device (steps S507, S609), and creates software configuration management data including this instance information. This makes it possible for the user to input the instance information required for creating software configuration management data at an appropriate time.
[0143] (7) The management data creation unit 164 can obtain instance information on software owned by an information device from the manufacturer of the information device, or a higher-level device or information system that includes the information device, and create software configuration management data including this instance information, as shown in Fig. 12, for example. In this way, the instance information required for creating software configuration management data can be obtained easily and reliably.
[0144] It goes without saying that the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the spirit of the present invention. For example, the above-described embodiment has been described in detail to clearly explain the present invention, and the present invention is not necessarily limited to those having all of the described configurations. In addition, it is possible to add, delete, or replace part of the configuration of the above-described embodiment with other configurations.
[0145] In addition, the above-mentioned configurations, functional units, processing units, processing means, etc. may be realized in part or in whole by hardware, for example, by designing them as integrated circuits. In addition, the above-mentioned configurations, functions, etc. may be realized in software by a processor interpreting and executing a program that realizes each function. Information such as the program, table, file, etc. that realizes each function can be stored in a memory, a hard disk, a recording device such as an SSD, an IC card, an SD card, a DVD, or other recording media.
[0146] In addition, in each of the above figures, the control lines and information lines are shown as those considered necessary for explanation, and do not necessarily show all the control lines and information lines in the actual implementation. For example, it may be considered that almost all the components are actually connected to each other.
[0147] The above-described layouts of the various functional units, processing units, and databases are merely examples, and may be changed to optimal layouts in terms of the performance, processing efficiency, and communication efficiency of the hardware and software included in these devices. [Explanation of symbols]
[0148] 1: software configuration management system, 100: software configuration management data creation support device, 110: control unit, 120: memory unit, 130: input unit, 140: output unit, 150: communication unit, 160: program storage unit, 161: design information collection unit, 162: design information extraction unit, 163: class candidate selection unit, 164: management data creation unit, 170: data storage unit, 171: abstract class database, 172: concrete class database, 173: design information database, 174: design information extraction result database, 200: software configuration management device, 201: class relationship database, 202: instance information database, 300: impact scope estimation device, 310: information acquisition unit, 311: information extraction unit, 312: impact scope estimation unit, 320: function determination unit, 321: search unit, 400: terminal device, 500: network
Claims
1. An apparatus for supporting creation of software configuration management data for managing a software configuration of an information system having a plurality of information devices, comprising: a design information collection unit for collecting design information of the information system; a design information extraction unit that extracts predetermined words and phrases from the design information; a class candidate selection unit which compares the term extracted by the design information extraction unit with attribute information preset according to a functional configuration of the information system, and selects, based on a result of the comparison, a class candidate corresponding to the concrete class or the abstract class when the functional configuration of the information device in the information system is represented in a hierarchical structure consisting of a concrete class at a lowest hierarchy and one or more abstract classes at higher hierarchy levels; a management data creation unit that presents the class candidates to a user and creates the software configuration management data based on a selection operation by the user for the class candidates.
2. 2. The software configuration management data creation support device according to claim 1, the class candidate selection unit selects, as the class candidates, a concrete class candidate corresponding to the concrete class and an abstract class candidate corresponding to the abstract class; The management data creation unit sequentially presents the class candidates to the user in an order corresponding to the hierarchical structure, from the abstract class candidate in the highest hierarchy to the concrete class candidate.
3. 3. The software configuration management data creation support device according to claim 2, the management data creation unit is capable of selectively executing either a depth-priority process in which a plurality of class candidates are sequentially presented to the user, giving priority to the depth of the hierarchical structure, or a breadth-priority process in which a plurality of class candidates are sequentially presented to the user, giving priority to the breadth of the hierarchical structure.
4. 3. The software configuration management data creation support device according to claim 2, the management data creation unit, when the user performs a selection operation on the concrete class candidate, has the user input instance information related to the software owned by the information device, and creates the software configuration management data including the instance information.
5. 3. The software configuration management data creation support device according to claim 2, the management data creation unit obtains instance information relating to software owned by the information device from a manufacturer of the information device, a higher-level device equipped with the information device, or the information system, and creates the software configuration management data including the instance information.
6. A method for supporting creation of software configuration management data for managing a software configuration of an information system having a plurality of information devices, comprising: Collecting design information for said information system; Extracting predetermined words and phrases from the collected design information; comparing the extracted words and phrases with attribute information preset in accordance with a functional configuration of the information system; based on a result of the comparison, selecting class candidates corresponding to the concrete class or the abstract class when a functional configuration of the information device in the information system is represented in a hierarchical structure consisting of a concrete class at a lowest hierarchy and one or more abstract classes at higher hierarchy levels; presenting the selected class candidates to a user; the software configuration management data is created based on a selection operation by the user for the presented class candidates.
7. A software configuration management data creation support method according to claim 6, comprising: selecting, as the class candidates, a concrete class candidate corresponding to the concrete class and an abstract class candidate corresponding to the abstract class; A software configuration management data creation support method, comprising: sequentially presenting to the user a plurality of class candidates in an order according to the hierarchical structure, from the abstract class candidate in the highest hierarchy to the concrete class candidate.
8. A software configuration management data creation support method according to claim 7, comprising: a depth-priority process that sequentially presents the plurality of class candidates to the user, giving priority to the depth of the hierarchical structure, and a breadth-priority process that sequentially presents the plurality of class candidates to the user, giving priority to the breadth of the hierarchical structure.
9. A software configuration management data creation support method according to claim 7, comprising: When the user performs a selection operation on the concrete class candidate, the user is prompted to input instance information related to the software owned by the information device, and the software configuration management data is created including the instance information.
10. A software configuration management data creation support method according to claim 7, comprising: A software configuration management data creation support method, comprising: obtaining instance information relating to software owned by the information device from a manufacturer of the information device, a higher-level device equipped with the information device, or the information system; and creating the software configuration management data including the instance information.