Security check method, device, equipment and medium
Through automated security inspection methods, the professionalism and efficiency of network application security assessment are solved, and the security configuration of the underlying software of network application is automatically evaluated and inspected, which is suitable for a fast iterative business environment.
Patent Information
- Application Number
- CN202410713514.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-06-04
- Publication Date
- 2025-01-17
AI Technical Summary
Security assessment of network applications in the prior art requires analysis and processing by professional and technical personnel, with high technical thresholds and low efficiency, and relying on manual assessments is difficult to meet the security inspection needs of rapid updates and iterations.
Provide a method to automatically evaluate the security configuration of the underlying software of the network application. By receiving inspection instructions, obtaining the software unit information of the target business function module, filtering and applying security inspection policies, generating a security inspection list, and checking and outputting the software unit based on the list. result.
It reduces the technical professional requirements for network application inspection, improves security and inspection efficiency, can automatically handle security inspections for large applications, and is suitable for fast iterative business environments.
Smart Images

Figure CN119322739A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the fields of information security and software design and can be used in the financial field or other fields. Specifically, it relates to a security inspection method, device, equipment, medium and program product. Background Art
[0002] With the development of the Internet, various network services are constantly being innovated, and some network applications are becoming more and more complex. In addition, many network applications will continue to iterate and update through rapid iteration, agile R&D methods, etc. to quickly respond to business changes, which brings huge challenges to the security of these network applications. Specifically, whether the network application is developed or updated, its operation must meet the security requirements of the business (for example, data security is not leaked, malicious access must be eliminated, etc.) before it can be put into use. Among them, the operational security of network applications is guaranteed at one level by setting security-related configuration items in the underlying software. Therefore, in the prior art, before the network application is put into production, it is necessary for professionals who master the underlying software composition of the network application to evaluate and analyze the operating status of the network application. If there is a security problem, the professionals can analyze which software configuration problem is specific based on their professional skills.
[0003] In the process of implementing this solution, the inventor found that the existing technology has the following defects: the security assessment of network applications requires analysis and processing by professional technicians, which has high technical barriers and low efficiency, and manual processing is overly dependent on the professional level of professionals, and the reliability of the assessment results is difficult to guarantee. Moreover, with the acceleration of the update and iteration of network applications, the method of relying on professionals to assess security is increasingly difficult to meet the security inspection needs of network applications. Summary of the invention
[0004] In view of this, the present disclosure provides a security inspection method, apparatus, device, medium and program product that can automatically evaluate whether the security configuration of the underlying software in a network application meets the requirements.
[0005] In the first aspect of the embodiment of the present disclosure, a security inspection method is provided. The method comprises: receiving an inspection instruction, the inspection instruction comprising information of a target business function module; in response to the inspection instruction, obtaining information of software units constituting the target business function module to obtain a first software information set; obtaining security inspection configuration information, the security inspection configuration information comprising a second software information set and a security inspection policy for each software unit in the second software information set; filtering information of software units belonging to the second software information set from the first software information set to obtain a third software information set; extracting the security inspection policy for each software unit in the third software information set from the security inspection configuration information to obtain a security inspection list; inspecting the software units in the target business function module based on the security inspection list to obtain an inspection result; and outputting the inspection result.
[0006] According to an embodiment of the present disclosure, the step of obtaining information of software units constituting the target business function module to obtain a first software information set includes: obtaining information of a business architecture model obtained by decomposing the target business function module according to the business architecture to obtain a first business architecture model information set; and mapping each business architecture model in the first business architecture model information set to one or more software units according to a mapping relationship between the business architecture and the information architecture to obtain the first software information set; wherein the mapping relationship defines a mapping between business architecture models in the business architecture and software units in the information architecture.
[0007] According to an embodiment of the present disclosure, the obtaining of information on a business architecture model obtained by decomposing the target business function module according to the business architecture to obtain a first business architecture model information set also includes: obtaining information on a demand use case based on which the target business function module is developed to obtain a demand use case set; and obtaining information on the business architecture model contained in each demand use case in the demand use case set to obtain the first business architecture model information set.
[0008] According to an embodiment of the present disclosure, the step of obtaining the information of the software units constituting the target business function module and obtaining the first software information set also includes the following operations. First, the information of the second business architecture model mapped by the software units in the information architecture according to the mapping relationship is obtained to obtain the second business architecture model information set. Then, the business architecture models in the first business architecture model information set are traversed in the following manner, including: taking the traversed business architecture model as the first business architecture model, using the trained semantic analysis model to search the second business architecture model information set for a second business architecture model that matches the information semantics of the first business architecture model, and when the second business architecture model does not belong to the first business architecture model information set, adding the software unit mapped by the second business architecture model according to the mapping relationship to the first software information set. Finally, after the traversal is completed, the first software information set is output.
[0009] According to an embodiment of the present disclosure, the process of checking the software units in the target business function module based on the security checklist and obtaining the inspection results is as follows. First, the risk level of each requirement use case in the requirement use case set is obtained. Then, the requirement use cases in the requirement use case set are traversed as follows: taking the currently traversed requirement use case as the target requirement use case, obtaining the information of the software units mapped according to the mapping relationship of the business architecture model contained in the target requirement use case, so as to obtain the target software subset; and according to the risk level of the target requirement use case, setting the strictness level of the security inspection policy of the software units in the target software subset in the security checklist. Finally, the software units in the target business function module are checked based on the security checklist obtained after the traversal of the requirement use case set.
[0010] According to an embodiment of the present disclosure, setting the strictness level of the security check policy for the software units in the target software subset in the security checklist according to the risk level of the target requirement use case includes: when the risk level of the target requirement use case belongs to a preset first category, setting the strictness level to not requiring inspection; and when the risk level of the target requirement use case belongs to a preset second category, setting the strictness level to required inspection.
[0011] According to an embodiment of the present disclosure, checking the software units in the target business function module based on the security checklist to obtain the inspection results includes: checking the configuration information of each software unit according to the security check policy of each software unit in the security checklist.
[0012] According to an embodiment of the present disclosure, checking the configuration information of each software unit according to the security check policy of each software unit in the security check list includes: obtaining target key parameters that match a preset key parameter list in the configuration information of the software unit to be checked; adjusting the security check policy of the software unit to be checked in the security check list according to the value of the target key parameters to obtain a target security check policy; and checking the software unit to be checked according to the target security check policy.
[0013] According to an embodiment of the present disclosure, the receiving inspection instruction includes: receiving business requirement information and version number input by a user; determining the business to be queried based on the business requirement information; obtaining information on a newly added business function module of the business to be queried in the business version determined by the version number, wherein the target business function module belongs to the newly added business function module.
[0014] According to a second aspect of the embodiments of the present disclosure, a security inspection device is provided, which includes: an instruction receiving module, an acquisition module, a security configuration baseline inspection logic building module, and an inspection execution module.
[0015] The instruction receiving module is used to receive an inspection instruction, where the inspection instruction includes information of a target business function module.
[0016] The acquisition module is used to obtain information of software units constituting the target business function module in response to the inspection instruction to obtain a first software information set.
[0017] The security configuration baseline check logic construction module is used to: obtain security check configuration information, the security check configuration information includes a second software information set and a security check policy for each software unit in the second software information set; filter out information of software units in the second software information set from the first software information set to obtain a third software information set; and extract the security check policy for each software unit in the third software information set from the security check configuration information to obtain a security check list.
[0018] The inspection execution module is used to inspect the software units in the target business function module based on the security inspection list, obtain inspection results, and output the inspection results.
[0019] According to an embodiment of the present disclosure, the acquisition module includes a business architecture analysis module. The business architecture model analysis module is used to: acquire information of a business architecture model disassembled from the target business function module according to the business architecture to obtain a first business architecture model information set; and map each business architecture model in the first business architecture model information set to one or more software units according to a mapping relationship between the business architecture and the information architecture to obtain the first software information set; wherein the mapping relationship defines the mapping between the business architecture model in the business architecture and the software unit in the information architecture.
[0020] According to an embodiment of the present disclosure, the business architecture analysis module is also used to: obtain information on the demand use cases based on which the target business function module is developed to obtain a set of demand use cases; and obtain information on the business architecture model contained in each demand use case in the set of demand use cases to obtain the first business architecture model information set.
[0021] According to an embodiment of the present disclosure, the acquisition module also includes a supplementary confirmation module. The supplementary confirmation module is used to perform the following operations. First, the information of the second business architecture model mapped by the software unit in the information architecture according to the mapping relationship is obtained to obtain the second business architecture model information set, and then the business architecture models in the first business architecture model information set are traversed in the following manner, including: taking the traversed business architecture model as the first business architecture model, using the trained semantic analysis model to search for the second business architecture model that matches the information semantics of the first business architecture model from the second business architecture model information set; and when the second business architecture model does not belong to the first business architecture model information set, adding the software unit mapped by the second business architecture model according to the mapping relationship to the first software information set. Finally, after the traversal is completed, the first software information set is output.
[0022] According to an embodiment of the present disclosure, the security configuration baseline check logic construction module is also used to: obtain the risk level of each requirement use case in the requirement use case set; traverse the requirement use cases in the requirement use case set, wherein the requirement use case traversed each time is used as the target requirement use case, and the information of the software units mapped according to the mapping relationship in the business architecture model contained in the target requirement use case is obtained to obtain the target software subset, and according to the risk level of the target requirement use case, the strictness level of the security check policy of the software units in the target software subset in the security checklist is set. The check execution module is also used to check the software units in the target business function module based on the security checklist obtained after the traversal of the requirement use case set.
[0023] According to an embodiment of the present disclosure, the security configuration baseline check logic building module is also used to: when the risk level of the target requirement use case belongs to a preset first category, set the strict level to no inspection required; and when the risk level of the target requirement use case belongs to a preset second category, set the strict level to must be checked.
[0024] According to an embodiment of the present disclosure, the check execution module is specifically used to check the configuration information of each software unit according to the security check policy of each software unit in the security check list.
[0025] According to an embodiment of the present disclosure, the security configuration baseline check logic construction module is further used to obtain target key parameters that match a preset key parameter list in the configuration information of the software unit to be checked; according to the value of the target key parameter, the security check policy of the software unit to be checked in the security check list is adjusted to obtain a target security check policy. The check execution module is specifically used to check the software unit to be checked according to the target security check policy.
[0026] According to an embodiment of the present disclosure, the instruction receiving module is used to: receive business requirement information and version number input by a user; determine the business to be queried based on the business requirement information; and obtain information on a newly added business function module of the business to be queried in the business version determined by the version number, wherein the target business function module belongs to the newly added business function module.
[0027] In a third aspect of the embodiments of the present disclosure, an electronic device is provided. The electronic device includes: one or more processors and a memory. The memory is used to store one or more computer programs. The one or more processors execute the one or more computer programs to implement the steps of the above method.
[0028] According to a fourth aspect of an embodiment of the present disclosure, a computer-readable storage medium is provided, on which a computer program or instructions are stored, wherein the computer program or instructions implement the steps of the above method when executed by a processor.
[0029] In a fifth aspect of the embodiments of the present disclosure, a computer program product is provided, including a computer program or instructions, characterized in that the computer program or instructions perform the steps of the above method when executed by a processor.
[0030] One or more of the above embodiments have the following advantages or beneficial effects: by triggering the inspection instruction for the target business function module, the security inspection policy corresponding to each software unit in the underlying software composition of the target business function module can be automatically obtained, so that each software unit can be inspected in a targeted manner according to its own security inspection policy. In this process, the user is not required to understand or master the underlying software composition information of the target business function module and the security inspection policies of different software, thereby reducing the technical expertise requirements of the operator when inspecting the target business function module and improving the operational security of the application. BRIEF DESCRIPTION OF THE DRAWINGS
[0031] The above and other objects, features and advantages of the present disclosure will become more apparent through the following description of the embodiments of the present disclosure with reference to the accompanying drawings, in which:
[0032] Figure 1 The application scenarios of the security inspection method, apparatus, device, medium and program product of the embodiments of the present disclosure are schematically shown;
[0033] Figure 2 The exemplary system architecture of the security inspection method, apparatus, device, medium and program product according to an embodiment of the present disclosure is schematically shown;
[0034] Figure 3 A flow chart of a safety inspection method according to an embodiment of the present disclosure is schematically designed;
[0035] Figure 4 A flowchart for obtaining a first software information set in a security inspection method according to an embodiment of the present disclosure is schematically shown;
[0036] Figure 5 A schematic diagram schematically shows the composition of a business architecture model of an embodiment of the present disclosure;
[0037] Figure 6 A schematic diagram schematically shows the mapping relationship between the business architecture and the information architecture of an embodiment of the present disclosure;
[0038] Figure 7 A flowchart for obtaining a first software information set in a security inspection method according to another embodiment of the present disclosure is schematically shown;
[0039] Figure 8 A flowchart schematically illustrates a security check method for a software unit in a target business function module based on a security checklist in an embodiment of the present disclosure;
[0040] Fig. 9 A flowchart of obtaining a first software information set in a security inspection method according to another embodiment of the present disclosure is schematically shown;
[0041] Fig.10 A flowchart schematically illustrates a security check method for another embodiment of the present disclosure, which performs a security check on a software unit in a target business function module based on a security check list;
[0042] Fig.11 A process flow chart schematically illustrates the process of applying the security check method of the embodiment of the present disclosure to perform security check on a large application;
[0043] Fig.12 A block diagram of a safety inspection device according to an embodiment of the present disclosure is schematically shown;
[0044] Fig.13 A block diagram schematically shows an acquisition module in a security inspection device according to an embodiment of the present disclosure; and
[0045] Fig.14 A block diagram of an electronic device suitable for implementing the security inspection method of an embodiment of the present disclosure is schematically shown. DETAILED DESCRIPTION
[0046] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of the present disclosure. In the following detailed description, for ease of explanation, many specific details are set forth to provide a comprehensive understanding of the embodiments of the present disclosure. However, it is apparent that one or more embodiments may also be implemented without these specific details. In addition, in the following description, descriptions of known structures and technologies are omitted to avoid unnecessary confusion of the concepts of the present disclosure.
[0047] The terms used herein are only for describing specific embodiments and are not intended to limit the present disclosure. The terms "comprise", "include", etc. used herein indicate the existence of the features, steps, operations and / or components, but do not exclude the existence or addition of one or more other features, steps, operations or components.
[0048] All terms (including technical and scientific terms) used herein have the meanings commonly understood by those skilled in the art unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification and should not be interpreted in an idealized or overly rigid manner.
[0049] When using expressions such as "at least one of A, B, and C, etc.", they should generally be interpreted according to the meaning of the expression commonly understood by those skilled in the art (for example, "a system having at least one of A, B, and C" should include but is not limited to a system having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, C, etc.).
[0050] With the development of the Internet, various network services are constantly being innovated, which also brings great challenges to the security of large-scale applications. Compared with small enterprises, large enterprises (such as commercial banks) have complex business areas. They usually guide the technology department to implement information architecture through business architecture modeling, and can quickly respond to business changes through rapid iteration and agile R&D methods. Compared with small applications, large applications have more complex deployment modes, which may involve multiple servers, multiple middleware or databases, etc., and are often deployed in a front-end and back-end separation mode. In the configuration of software such as servers, middleware, and database middleware or database, some configuration items are related to security. Whether the configuration of these security-related configuration items is appropriate and whether they need to be adjusted according to the specific situation of the application, in the existing technology, professional operation and maintenance personnel need to evaluate and handle them. Business personnel who are not familiar with the content operation mechanism of network applications often encounter the situation of "normal business is affected when the security configuration is turned on" when trying to perform security checks or adjust security configuration items. In this case, the security of the application cannot be fully guaranteed.
[0051] In view of this, the embodiments of the present disclosure provide a security inspection method, device, equipment, medium and program product, which can automatically obtain the security inspection policy corresponding to each software unit in the underlying software composition of the target business function module by triggering the inspection instruction of the target business function module, so as to carry out targeted inspection on each software unit according to its own security inspection policy. In this process, the user is not required to understand or master the underlying software composition information of the target business function module and the security inspection policy of different software, so as to reduce the technical expertise requirements of the operator when inspecting the target business function module and improve the operation security of the application.
[0052] It should be noted that the security inspection method, device, equipment, medium and program product of the embodiments of the present disclosure can be used in the financial field, and can also be used in any field other than the financial field. The present disclosure does not limit the application field.
[0053] Figure 1 The application scenarios of the security inspection method, apparatus, device, medium and program product of the embodiments of the present disclosure are schematically illustrated.
[0054] like Figure 1 As shown, the application scenario 100 according to this embodiment may include terminal devices 101, 102, 103, a network 104 and a server 105. The network 104 may include multiple gateways, routers, hubs, network cables, etc., which are used to provide a medium for a communication link between the terminal devices 101, 102, 103 and the server 105. The network 104 may include various connection types, such as wired, wireless communication links or optical fiber cables, etc.
[0055] The user can use the terminal devices 101, 102, 103 to interact with the server 105 through the network 104 to receive or send information, such as uploading the scope of new business functions and the current version number. The terminal devices 101, 102, 103 can be installed with various communication client applications, such as bank management systems, government applications, monitoring applications, web browser applications, search applications, office applications, instant messaging tools, email clients, social platform software and other applications (only for example).
[0056] Terminal devices 101 , 102 , 103 include but are not limited to smart phones, virtual reality devices, augmented reality devices, remote cameras, tablet computers, laptop computers, etc.
[0057] The server 105 may receive the request and process the request. For example, the server 105 may be a background management server, a server cluster, etc.
[0058] It should be noted that the security inspection method provided in the embodiment of the present disclosure can generally be executed by the server 105. Accordingly, the security inspection device, equipment, medium and program product provided in the embodiment of the present disclosure can generally be set in the server 105. The security inspection method provided in the embodiment of the present disclosure can also be executed by a server or server cluster that is different from the server 105 and can communicate with the terminal devices 101, 102, 103 and / or the server 105. Accordingly, the security inspection device, equipment, medium and program product provided in the embodiment of the present disclosure can also be set in a server or server cluster that is different from the server 105 and can communicate with the terminal devices 101, 102, 103 and / or the server 105.
[0059] Figure 2 An exemplary system architecture of a security inspection method, apparatus, device, medium, and program product according to an embodiment of the present disclosure is schematically illustrated.
[0060] like Figure 2 As shown, the system architecture includes business requirements, business architecture and information architecture.
[0061] In the process of enterprise digitalization, for the development of large-scale applications, business departments usually propose business requirements based on market demand or business scenarios, for example, writing demand use cases based on business scenarios.
[0062] Business architecture is used to guide which business models are needed to achieve a business requirement, the services provided by each business model, and the collaborative relationships such as data transmission or calling between different business models. Business architects write or adjust business architecture according to business requirements.
[0063] Information architecture is used to distribute and organize software development tasks among different departments or software engineers in an enterprise. In information architecture, a software project can be divided into different departments or software engineers based on the technical content or technical field of development (such as front-end, back-end, database, etc.). Each software engineer develops software according to the tasks assigned to him in the information architecture.
[0064] Business architecture is needed as a bridge between business requirements and information architecture. On the one hand, business architecture can clarify the software development tasks of a project according to business requirements (for example, the development or adjustment of business models in one or more dimensions), and then the enterprise can assign the software development tasks to the corresponding software engineers according to the information architecture. On the other hand, through business architecture, the software parts or business models developed by various software engineers can be assembled according to business requirements. In this way, external services can be provided through the collaboration of one or more business models.
[0065] Figure 3 A flowchart of a safety inspection method according to an embodiment of the present disclosure is schematically designed.
[0066] like Figure 3 As shown, the method may include operations S301 to S307.
[0067] In operation S301 , a check instruction is received, where the check instruction includes information of a target business function module.
[0068] In the embodiments of the present disclosure, a business function module may refer to a business system composed of multiple interrelated applications, or an application, or a function module in an application.
[0069] The information of the target business function module included in the inspection instruction may be business requirement information or requirement items that can be searched or mapped to the target business function module, or the name or function information of the target business function module, or information such as the newly added business scope and version number of the target business function module.
[0070] The user may use the terminal devices 101 , 102 , 103 to send information related to the target business function module to the server 105 through the network 104 to trigger the inspection instruction.
[0071] In operation S302, in response to the checking instruction, information of software units constituting the target business function module is acquired to obtain a first software information set.
[0072] In the embodiments of the present disclosure, a software unit may refer to an application, a database, middleware, a service (or microservice), a component, or a data object, etc.
[0073] In one embodiment, if the target business function module is developed and is also equipped with a detailed software unit inventory or list, the information of the corresponding software unit can be directly read from the software unit inventory or list to obtain the first software information set, which is generally suitable for small applications.
[0074] In another embodiment, if the development process of the target business function module is in accordance with Figure 2 In this case, the information of the software units mapped by the target business function module can be obtained from the information architecture by mapping the business architecture to the information architecture. For some relevant embodiments in this regard, please refer to the detailed description below. This situation is suitable for large applications.
[0075] In operation S303, security check configuration information is obtained, where the security check configuration information includes the second software information set and a security check policy for each software unit in the second software information set.
[0076] The security check configuration information is pre-configured. For example, the industry usually has some recommended configuration parameters or industry best practice parameters for some security-related configuration items. This prior information can be collected and a set of security check configuration information can be pre-organized based on it. Among them, the second software information set in the security check configuration information should cover all software information related to security configuration as much as possible.
[0077] In operation S304, information of software units in the second software information set is filtered out from the first software information set to obtain a third software information set.
[0078] In operation S305, a security check policy for each software unit in the third software information set is extracted from the security check configuration information to obtain a security check list.
[0079] In operation S306, the software units in the target business function module are checked based on the security checklist to obtain a check result.
[0080] Then in operation S307, the inspection result is output.
[0081] For example, the configuration information of each software unit is checked according to the security check policy of each software unit in the security check list, and the result information of whether the security check of each software unit passes is obtained and output.
[0082] According to the disclosed embodiment, by triggering the inspection instruction of the target business function module, the security inspection policy corresponding to each software unit in the underlying software structure of the business function module can be automatically obtained, so that each software unit can be inspected in a targeted manner according to its own security inspection policy. In this process, the user is not required to understand the underlying software composition information of the target business function module and the security inspection policies of different software, thereby reducing the technical expertise requirements of the operator when inspecting the target business function module. For example, business personnel or managers who do not understand technology can trigger the inspection instruction through the corresponding user operation, and can perform a security inspection on the target business function module, without having to wait for professional operation and maintenance personnel or technical personnel to perform a security inspection as in the prior art. In this way, the technical threshold for performing security inspections on business function modules is lowered, the security of new business applications is improved, and the efficiency of security inspections is improved.
[0083] In one embodiment, the specific implementation of receiving the inspection instruction in the above operation S301 can be to receive the business demand information and version number input by the user through the terminal devices 101, 102, and 103, and then determine the business to be queried according to the business demand information, and then obtain the information of the newly added business function module of the business to be queried in the business version determined by the version number, wherein the above target business function module belongs to the newly added business function module. In this way, when there is a business update, users (such as business personnel) can quickly perform security checks on all newly added business function modules caused by the business demand one by one through the business demand information and version number, thereby improving the efficiency and scope of security checks on large applications, improving the security of large applications, and improving ease of use.
[0084] Figure 4 The flowchart of operation S302 of acquiring the first software information set in the security checking method according to an embodiment of the present disclosure is schematically shown.
[0085] like Figure 4 As shown, according to this embodiment, operation S302 may include operation S41 and operation S42.
[0086] In operation S41, information of a business architecture model obtained by decomposing the target business function module according to the business architecture is obtained to obtain a first business architecture model information set.
[0087] In operation S42, each business architecture model in the first business architecture model information set is mapped to one or more software units according to the mapping relationship between the business architecture and the information architecture to obtain a first software information set, wherein the mapping relationship defines the mapping between the business architecture models in the business architecture and the software units in the information architecture.
[0088] Combined with the previous article Figure 2From the introduction, we can see that in the process of large-scale enterprise applications from the proposal of business needs to the final formation of business function modules that can provide services to the outside world, there are many links involved, many participants, and many aspects that require coordination. Therefore, it is often difficult to maintain a software unit list for each completed business function module. In addition, the upgrade, update or version change of software applications may also be relatively frequent, which will also lead to a huge amount of engineering work to maintain a software unit list for each business function module. In this case, various reusable business architecture models can be maintained in the business architecture (for example, stored in the business architecture model database), and various reusable software units can be maintained in the information architecture (for example, stored in the software unit model library), and the mapping relationship between the business architecture and the information architecture can be pre-set. In this way, when you need to find the underlying software composition information of a certain business function module, you can find it through the mapping relationship between the business architecture and the information architecture.
[0089] Figure 5 The diagram schematically shows the composition of a business architecture model according to an embodiment of the present disclosure.
[0090] like Figure 5 As shown in the figure, the business architecture model is a model that describes the business of an enterprise in a top-down and structured manner. The business architecture model can be divided into the text description and association relationship of the process model, product model and entity model. Among them, the process model is a model that looks at the business from a process perspective, including four levels: business domain, value stream, activity, and task; the product model includes the association relationship between product lines, product groups, basic products, and saleable products; the entity model refers to the business content of different business objects, and each business object includes core entities, life cycles, subordinate entities, business object relationships, and constraints. It should be noted that the business architecture model is not a model that considers input and output independently, but has a mapping relationship with the information architecture model.
[0091] Figure 6 A schematic diagram schematically illustrates the mapping relationship between the business architecture and the information architecture of an embodiment of the present disclosure.
[0092] like Figure 6 As shown, in this embodiment, the information architecture is an information technology architecture corresponding to the business architecture, which describes the software model of the enterprise business from top to bottom and in a structured manner through program code. It can include user interaction components, application transaction services, application component services, and data object services. These services can be collectively referred to as IT services. Each service includes multiple code segments, and each code segment has one or more identifiers to mark the corresponding relationship between the code function and the IT service. The code does not exist in isolation, it is carried on software such as databases and middleware.
[0093] Among them, combined Figure 5,There is a mapping relationship between the transaction service and the task group of the process model, the application component service and the tasks in the process model, and the data object service and the entity model.
[0094] According to the disclosed embodiment, when obtaining information of software units constituting the target business architecture module, the existing business architecture and information architecture and the mapping relationship between the two can be used for dynamic search, making full use of the existing information resources of the enterprise without any impact on the business development process (such as the work of business architects or software developers). Moreover, this method is particularly suitable for security checks on large applications.
[0095] Figure 7 The flowchart of operation S302 of acquiring the first software information set in the security checking method according to another embodiment of the present disclosure is schematically shown.
[0096] like Figure 7 As shown, according to this embodiment, operation S302 may include operation S51, operation S52, and operation S42.
[0097] In operation S51, information of demand use cases based on which the target business function module is developed is obtained to obtain a set of demand use cases.
[0098] In operation S52, information of the business architecture model included in each demand use case in the demand use case set is obtained to obtain a first business architecture model information set.
[0099] Based on the research on the development process of the target business function module, it is found that in some embodiments, when designing and developing the target business function module, the business architect disassembles the business scenarios or functions in the business requirements through the demand use case, and then selects the corresponding business architecture model from the business architecture and adds it to the demand use case according to the business scenario or function to be satisfied by the demand use case. Therefore, in the embodiment of the present disclosure, when disassembling the target business function module according to the business architecture, the business architecture model is searched from the demand use case based on which the target business function module is developed. In this way, the information of the business architecture model disassembled from the target business function module can be accurately obtained, providing an effective way to disassemble the business architecture model from the target business function module according to the business architecture.
[0100] Specifically, combined Figure 2In the development of some applications, business requirements are provided in the form of requirement items, which include several requirement use cases, non-functional requirements, project numbers, etc. Therefore, there is a one-to-one or one-to-many mapping relationship between requirement items and requirement use cases. Requirement use cases include business rules, business steps, input information, output information, process model information (belonging activities, tasks), product model information (belonging product lines, products, market models, stakeholders), etc. Therefore, the business architecture model information to which the requirement use case belongs, such as activities, tasks, steps, etc., can be obtained from the requirement use case.
[0101] Next, in operation S42, according to the mapping relationship between the business architecture and the information architecture, each business architecture model in the first business architecture model information set is mapped to one or more software units to obtain a first software information set; wherein the mapping relationship defines the mapping between the business architecture models in the business architecture and the software units in the information architecture.
[0102] Based on the mapping relationship between the business architecture and the information architecture, the business architecture model information in the first business architecture model information set can be mapped to the information architecture, and the component / program list or the application / application group information involved in the target business function module can be identified, thereby determining the middleware, database and other software units that need to be security checked, and then obtaining the configuration file range of these software units that need security checks for security checks.
[0103] It can be seen that according to the embodiment of the present disclosure, by utilizing the information in the development process of the target business function module, the target business function module can be accurately and automatically disassembled according to the business architecture, thereby effectively realizing the automation of obtaining the underlying software composition information of the target business function module.
[0104] Figure 8 The flowchart schematically shows operation S306 in the security check method according to an embodiment of the present disclosure, in which a security check is performed on a software unit in a target business function module based on a security check list.
[0105] like Figure 8 As shown, according to this embodiment, operation S306 may include operations S81 to S87.
[0106] First, in operation S81, the risk level of each requirement use case in the requirement use case set is obtained.
[0107] Then, through operations S82 to S85, the set of requirement use cases is traversed.
[0108] In operation S82, the requirement use cases in the requirement use case set are traversed.
[0109] In operation S83, the currently traversed demand use case is taken as the target demand use case, and information of software units mapped according to the mapping relationship of the business architecture model included in the target demand use case is obtained to obtain a target software subset.
[0110] In operation S84, the strictness level of the security check policy of the software unit in the target software subset in the security checklist is set according to the risk level of the target requirement use case.
[0111] In operation S85, it is determined whether all the requirement use cases in the requirement use case set have been traversed. If not, the process returns to operation S82. If yes, the process performs operation S86.
[0112] In operation S86, a safety checklist is output.
[0113] Next, in operation S87, the software units in the target business function module are checked based on the security checklist.
[0114] In one embodiment, in the above operation S84, when the risk level of the target demand use case belongs to the preset first category, the strict level can be set to not need to be checked, and when the risk level of the target demand use case belongs to the preset second category, the strict level can be set to must be checked. In this way, when performing a security check, those software units corresponding to the demand use cases with relatively low risks can be not checked, so that the resources for security checks can be concentrated on the software units corresponding to the demand use cases with high risks, reducing redundancy and waste in the security check process, and improving the focus, resource utilization efficiency and pertinence of the security check.
[0115] In one embodiment, the risk level of the requirement use case can be obtained according to the attribute labels of the software units in the software subset mapped by the requirement use case.
[0116] Specifically, for a demand use case, by mapping the business architecture to the information architecture, the information of the software unit mapped out by the business architecture model involved in the demand use case can be obtained, thereby obtaining the corresponding software subset. The application attributes of each software unit in the software subset can be obtained, wherein the application attributes are obtained by classifying and labeling the functions or usage scenarios of the software units, which can be set when the software unit (such as an application) is developed according to its development purpose or function. Among them, the attribute labels can include but are not limited to: customer group labels, business transformation labels, technical transformation labels, etc.
[0117] For example, the "customer group label" refers to the user group that the application is facing, which can be divided into Internet user applications, dedicated line access user applications, employee internal applications, etc. The "business transformation label" starts from the transformation at the business level and is more inclined to the business itself, such as changes in the amount of public transfers, changes in the logic of remittance verification, and optimization of payment processes. The "technical transformation label" starts from the perspective of technical personnel and is more inclined to the front-end and back-end codes and configuration files, such as database reference content transformation, call interface transformation, configuration item transformation, etc.
[0118] For a requirement use case, after mapping and obtaining the application attribute labels of the software subset and the software units therein, the risk level of the requirement use case can be determined based on these attribute labels.
[0119] For example, based on these attribute tags, a comprehensive assessment can be conducted from five aspects: "business importance, business scenarios, user importance, number of systems involved, and whether there are major loopholes in open source components." Assume that the individual scores are scored from 1 to 5, and the total score is 25 points. Determine the risk level of the demand use case based on the total score. The higher the total score, the higher the risk level. The higher the risk level, the higher the priority and strictness level of the software configuration security check of the software units (such as programs, databases, and middleware in the server) in the software subset mapped by the demand use case.
[0120] For example, if two or more scores are 5 or the total score exceeds 15 points, the software units in the software subset can be set to implement security checks. Assume that the attribute labels of the software units in the corresponding software subset are extracted for a certain demand use case, and the following content is analyzed: in terms of "business importance", it involves large-amount account movement functions; in terms of "business scenarios", it involves multiple business scenarios (such as transfer and remittance) but the business process is not complicated (such as being able to operate after logging in); in terms of "user importance", it involves corporate customer use but not major customers; in terms of "number of systems involved", it involves multiple large-scale Internet application systems such as corporate online banking and personal online banking; and in terms of "whether there are major vulnerabilities in open source components", it involves the call of open source components, but the current version of the component does not have major high-risk vulnerabilities. After evaluating the use case from the above five aspects, its business importance score is 5, business scenario score is 4, user importance score is 3, number of systems involved score is 5, and whether there are major vulnerabilities in open source components is 1. The total score is 18, with more than 15 points and two or more scores of 5. Therefore, a security check must be implemented to ensure that the software configurations on the servers involved are secure configurations.
[0121] According to the embodiments of the present disclosure, the strictness level of the security check policy of the corresponding software unit is set according to the risk level of the required use case, thereby achieving flexible adjustment of the pre-set security check policy of the software unit (such as the security check policy commonly used in the industry) according to actual needs. During the security check process, fine-grained control of the strictness of the check can be achieved at the level of the software unit, thereby improving the practicality of security checks and the effectiveness of resource utilization.
[0122] Fig. 9 The flowchart of operation S302 of acquiring the first software information set in the security checking method according to another embodiment of the present disclosure is schematically shown.
[0123] like Fig. 9 As shown, according to this embodiment, operation S302 may include operation S41 and operation S42, and operation S91 to operation S96.
[0124] In operation S41, information of a business architecture model obtained by decomposing the target business function module according to the business architecture is obtained to obtain a first business architecture model information set.
[0125] In operation S42, according to the mapping relationship between the business architecture and the information architecture, each business architecture model in the first business architecture model information set is mapped to one or more software units to obtain a first software information set; wherein the mapping relationship defines the mapping between the business architecture models in the business architecture and the software units in the information architecture.
[0126] Next, in operation S91, information of the second business architecture model mapped by the software unit in the information architecture according to the mapping relationship is obtained to obtain a second business architecture model information set.
[0127] Then, the business architecture models in the first business architecture model information set are traversed through operations S92 to S95.
[0128] Specifically, in operation S92, a business architecture model that has not been traversed is searched from the first business architecture model information set.
[0129] In operation S93, the traversed business architecture model is used as the first business architecture model, and the trained semantic analysis model is used to search for a second business architecture model that matches the information semantics of the first business architecture model from the second business architecture model information set.
[0130] In operation S94, when the second business architecture model does not belong to the first business architecture model information set, a software unit mapped by the second business architecture model according to the above mapping relationship is added to the first software information set.
[0131] In operation S95, it is determined whether all the business architecture models in the first business architecture model information set have been traversed. If not, the process returns to operation S92; if yes, the process executes operation S96.
[0132] In operation S96, after the traversal is completed, the first software information set is output.
[0133] In the disclosed embodiment, on the one hand, the business architecture model decomposed from the target business architecture module is mapped to the software unit in the information architecture according to the above mapping relationship to obtain the first software information set; on the other hand, the business architecture model whose semantic information is similar to the information (such as name or function description) of the business architecture model decomposed from the target business architecture module is searched from the business architecture model that is in turn mapped from all the software units in the information architecture, and the software unit obtained by mapping the found business architecture model through the above mapping relationship is also added to the first software information set. In this way, the first software information set can be effectively checked for omissions and omissions can be avoided due to the model definition or naming in the business architecture or information architecture being out of sync or inconsistent with the corresponding information in the mapping relationship. For example, if the information of the business architecture model recorded in the information architecture according to the mapping relationship is inconsistent or deviated from the information of the business architecture model obtained by recording in the business architecture, the method of the disclosed embodiment can effectively supplement this deviation.
[0134] Specifically, when searching in the information architecture according to the mapping relationship based on the information of the first business architecture model, the information of the retrieved software units such as components, program modules, middleware or databases may be incomplete or even unable to retrieve results. To deal with this situation, the disclosed embodiment can compare the information of the second business architecture model (such as tasks, activities, etc.) associated with the software unit in the information architecture with the information of all first business architecture models in the first business architecture model set through a semantic analysis model, and select the second business architecture model with the closest semantics as an alternative. In this way, when the IT service mapped by the alternative business architecture model also belongs to the software that needs to be checked in the security check configuration information, the security item configuration in the alternative middleware, database and other software configuration files can be checked according to the mapping relationship between IT services and codes and configuration files.
[0135] For example, suppose that there is a task "deposit into digital wallet account" in the business architecture model disassembled from the target business function module, and no corresponding software unit (or IT service) is retrieved in the information architecture according to the mapping relationship between the business architecture and the information architecture. In this case, if the IT service "digital wallet income processing" in the information architecture maps to "digital wallet account transaction" according to the mapping relationship between the business architecture and the information architecture. After the semantic comparison analysis of the semantic analysis model, the task "deposit into digital wallet account" and the task "digital wallet account transaction" are similar in semantics, so "digital wallet account transaction" can be used as an alternative second business architecture model. Then, according to the task "digital wallet account transaction", the corresponding IT service is retrieved in the information architecture as "digital wallet balance change" according to the mapping relationship between the business architecture and the information architecture. In this way, the IT service "digital wallet income processing" can also be added to the first software information set. So that when performing a security check on the target business function module, the corresponding configuration policy and configuration file can be obtained and a security check can be performed according to the corresponding relationship between the code, configuration file and IT service.
[0136] It can be seen that the embodiment of the present disclosure can effectively check for omissions and fill gaps in the first software information set, avoiding omissions caused by the model definition or naming in the business architecture or information architecture being out of sync or inconsistent with the corresponding information in the mapping relationship. For example, if the information of the business architecture model recorded in the information architecture according to the mapping relationship is inconsistent or deviated from the information of the business architecture model obtained by recording in the business architecture, the method of the embodiment of the present disclosure can effectively fill in this deviation.
[0137] According to the embodiments of the present disclosure, by effectively checking for omissions and filling gaps in the first software information set, the completeness and comprehensive coverage of the software composition information of the target functional module obtained are greatly improved, and the situation in which the security inspection results are incomplete and the inspection results are unreliable due to omissions in the software unit composition information of the target functional module automatically obtained is reduced or even avoided.
[0138] Fig.10 The flowchart schematically shows operation S306 in the security check method according to another embodiment of the present disclosure, in which a security check is performed on a software unit in a target business function module based on a security check list.
[0139] like Fig.10 As shown, according to this embodiment, operation S306 may include operations S1001 to S1003.
[0140] In operation S1001, target key parameters matching a preset key parameter list in the configuration information of the software unit to be checked are obtained. The key parameters in the key parameter list may be parameters related to operations such as query (read-only), file upload, download, and remote command execution.
[0141] In operation S1002, the security check policy of the software unit to be checked in the security check list is adjusted according to the value of the target key parameter to obtain a target security check policy.
[0142] In operation S1003, the software unit to be checked is checked according to the target security check policy.
[0143] The disclosed embodiment can adjust the security inspection strategy of the software unit to be inspected according to the key parameters involved in the configuration information of the software unit to be inspected. In this way, for the configuration information of the software unit that really needs to implement security inspection, a more specific target security inspection strategy can be determined according to the specific business functions involved (such as query, file upload, download, remote command execution, etc.) as the basis for inspection execution. Among them, the pre-set security inspection strategy (such as the security inspection strategy commonly used in the industry) can benchmark the industry's best practices and provide a reference for the recommended configuration values of each parameter. On this basis, the disclosed embodiment can be further refined according to the business function of the software unit. For example, whether the business function only involves query (read-only), whether the write operation involves file upload, download, whether it involves remote command execution, etc. For example, for a server that only needs to enable the read-only function, the parameter values of command execution and file write operations should be configured as false.
[0144] As described above, there are usually some recommended configuration parameters for some security-related configuration items, but for different applications, it is often necessary to adjust the default configuration to adapt to the specific use of the application, so as to balance security and functional usability. The disclosed embodiment can automatically and dynamically adjust the security inspection strategy of software such as middleware and database according to business functions, and then implement the inspection operation according to the adjusted security inspection strategy.
[0145] Therefore, when checking the software unit in the target business function, the obtained pre-set security check policy (such as the security check policy commonly used in the industry) can be adjusted according to the configuration information of the software unit, so that the security check policy can be refined according to the business function of the target business function, reducing some redundant checks that may exist when using the pre-set security check policy, and improving the efficiency, resource utilization and pertinence of the security check for each software unit. Moreover, this adjustment process can be carried out automatically without relying on the configuration or operation of professionals, reducing the operation threshold for performing security checks and improving the efficiency and ease of use of security checks.
[0146] Fig.11 The flowchart schematically shows a process of performing security checks on large applications using the security check method according to an embodiment of the present disclosure.
[0147] like Fig.11 As shown, the application processing flow may include S1 to S4.
[0148] S1, Business architecture analysis: Business personnel input the scope of new business functions and the current version number to obtain the business requirements corresponding to the version content. Business requirements are provided in the form of requirement items, which include several requirement use cases, non-functional requirements, project numbers, etc. Therefore, there is a one-to-one or one-to-many mapping relationship between requirement items and requirement use cases. The requirement use cases include business rules, business steps, input information, output information, process model information (belonging activities, tasks), product model information (belonging product lines, products, market models, stakeholders), etc. The business architecture model information to which the use case belongs is obtained from the requirement use case, including activities, tasks, steps, etc. Based on the mapping relationship between the business architecture and the information architecture, according to the content of this version change, the business architecture is mapped to the information architecture, the service / program list and application / application group information involved in this version are identified, and the scope of the configuration files of the middleware, database and other software to be checked is finally determined.
[0149] S2, construction of security configuration baseline check logic: Based on the mapping relationship between the business architecture and the information architecture maintained in the enterprise-level business architecture database, confirm the application information involved in the version from the activities, tasks, and product information obtained in the previous step, and query the preset relationship between the IT service and the code stored in the database, as well as the relationship between the middleware, database and other software configuration files that carry the code, and obtain the list of middleware, database and other software configuration files associated with the IT service. According to the application information, code logic and the information in the list of middleware, database and other software configuration files, determine the scope of the middleware, database and other software configuration files involved in the security check and the security check strategy.
[0150] S3, configuration file security check execution: According to the range of the software configuration files such as middleware and database output in the previous order and the security check strategy, further customized configuration checks are performed on different IT services for different business functions and execution. For configuration files or configuration items that do not meet the recommended configuration, "there is a problem" is reported, and the absolute path of the problematic file is recorded and output to the "check result output" module.
[0151] S4, inspection result output: Provides a visual interface for inspectors to view the results of the inspection, including whether a configuration file fully complies with the industry's mainstream security configuration baseline, the absolute path of the problematic file, modification suggestions, etc.
[0152] The disclosed embodiment can automatically obtain the changed content of the business architecture according to the newly added business function scope and the current version number input by the user, and then map the changed content in the business architecture to the software units in the information architecture based on the mapping relationship between the business architecture and the information architecture, and determine the software scope that needs to be checked; then determine the security check strategy for each software unit; then check the corresponding configuration file according to the determined security check strategy, and output the execution result after the check.
[0153] The disclosed embodiments do not require operation and maintenance personnel to check the databases and middleware of different applications one by one. Instead, they can obtain the inspection baseline of the security configuration items in the security inspection policy according to the application characteristics involved in the new business, and perform inspections to improve the security of large-scale applications. At the same time, business personnel who do not understand the underlying structure of the application can also perform security inspections on the application more conveniently, which lowers the technical threshold and improves ease of use.
[0154] Fig.12 A block diagram of a security inspection device 1100 according to an embodiment of the present disclosure is schematically shown.
[0155] like Fig.12 As shown, the device 1100 may include an instruction receiving module 1110, an acquisition module 1120, a security configuration baseline check logic building module 1130, and a check execution module 1140. The device 1100 may execute a reference Figure 3~Figure 10 The safety inspection method introduced.
[0156] The instruction receiving module 1110 is used to receive an inspection instruction, where the inspection instruction includes information of a target business function module. In one embodiment, the instruction receiving module 1110 may perform the operation S301 described above.
[0157] The acquisition module 1120 is used to respond to the inspection instruction, acquire information of software units constituting the target business function module, and obtain a first software information set. In one embodiment, the acquisition module 1120 may perform the operation S302 described above.
[0158] The security configuration baseline check logic construction module 1130 is used to: obtain security check configuration information, the security check configuration information includes the second software information set and the security check policy of each software unit in the second software information set; filter out the information of the software units in the second software information set from the first software information set to obtain the third software information set; and extract the security check policy of each software unit in the third software information set from the security check configuration information to obtain a security check list. In one embodiment, the security configuration baseline check logic construction module 1130 can perform the operations S303, S304, and S305 described above.
[0159] The check execution module 1140 is used to check the software units in the target business function module based on the security checklist, obtain the check result, and output the check result. In one embodiment, the check execution module 1140 can perform the operations S306 and S307 described above.
[0160] In some embodiments, the check execution module is specifically used to check the configuration information of each software unit according to the security check policy of each software unit in the security check list.
[0161] In some embodiments, the security configuration baseline check logic building module 1130 is further used to obtain the target key parameter that matches the preset key parameter list in the configuration information of the software unit to be checked; according to the value of the target key parameter, adjust the security check policy of the software unit to be checked in the security check list to obtain the target security check policy. Accordingly, the check execution module 1140 is specifically used to check the software unit to be checked according to the target security check policy.
[0162] Fig.13 The block diagram of the acquisition module 1120 in the security inspection device according to an embodiment of the present disclosure is schematically shown.
[0163] like Fig.13 As shown, according to this embodiment, the acquisition module 1120 may include a business architecture analysis module 1121 and a supplement confirmation module 1122 .
[0164] The business architecture model analysis module 1121 is used to: obtain information on the business architecture model that is decomposed from the target business function module according to the business architecture to obtain a first business architecture model information set; and map each business architecture model in the first business architecture model information set to one or more software units according to a mapping relationship between the business architecture and the information architecture to obtain a first software information set; wherein the mapping relationship defines the mapping between the business architecture model in the business architecture and the software units in the information architecture.
[0165] In some embodiments, the business architecture analysis module 1121 is also used to: obtain information on the demand use cases based on which the target business function module is developed to obtain a set of demand use cases; and obtain information on the business architecture model contained in each demand use case in the set of demand use cases to obtain a first business architecture model information set.
[0166] In one embodiment, the input of the business architecture analysis module 1121 is the business function scope to be checked and the current version number. The function of the business architecture analysis module 1121 is to extract business architecture information based on the business function scope to be checked and the current version number, map the information architecture, search for the middleware, database and configuration files involved in the information architecture, and perform additional confirmation based on the keywords in the code, and finally determine the scope of the configuration files to be checked.
[0167] The supplementary confirmation module 1122 is used to confirm the accuracy and completeness of the first software information set by performing the following operations. First, the information of the second business architecture model mapped by the software unit in the information architecture according to the mapping relationship is obtained to obtain the second business architecture model information set. Then, the business architecture models in the first business architecture model information set are traversed in the following manner, including: using the traversed business architecture model as the first business architecture model, using the trained semantic analysis model, searching the second business architecture model that matches the information semantics of the first business architecture model from the second business architecture model information set; and when the second business architecture model does not belong to the first business architecture model information set, adding the software unit mapped by the second business architecture model according to the mapping relationship to the first software information set. Finally, after the traversal is completed, the first software information set is output.
[0168] In some embodiments, the supplementary confirmation module 1122 is also used to: check whether the software in the first software information set and the business architecture model with a mapping relationship therewith correspond to each other in terms of function, based on the keywords of the software code in the first software information set, so as to supplement and confirm the accuracy of the first software information set and eliminate noise. For example, according to the code of the software unit maintained in the information architecture, the mapped middleware, database and its configuration files are checked, and supplementary confirmation is performed based on the keywords in the code, and finally the first software information set is determined to obtain the range of configuration files that need to be security checked.
[0169] According to this embodiment, when the business architecture model analysis module 1121 obtains the first software information set, it uses the information of the requirement use case based on which the target business function module is based as described above. In this case, the security configuration baseline check logic construction module 1130 can further set a security checklist based on the risk level of the requirement use case in the requirement use case set.
[0170] Specifically, the security configuration baseline check logic construction module 1130 can perform the following operations. First, obtain the risk level of each requirement use case in the requirement use case set. Then traverse the requirement use cases in the requirement use case set, wherein the requirement use case traversed each time is used as the target requirement use case, and obtain the information of the software units mapped according to the mapping relationship of the business architecture model contained in the target requirement use case to obtain the target software subset, and according to the risk level of the target requirement use case, set the strictness level of the security check policy of the software units in the target software subset in the security checklist. Finally, output the security checklist after traversing the requirement use case set. Accordingly, the inspection execution module 1140 is used to inspect the software units in the target business function module based on the security checklist obtained after traversing the requirement use case set.
[0171] In one embodiment, the security configuration baseline check logic construction module 1130 can automatically construct the security configuration baseline check logic according to the business architecture analysis results. The construction logic is specifically as follows: based on the mapping relationship between the business architecture and the information architecture maintained in the enterprise-level business architecture database, the activities, tasks, and product information disassembled from the target business function module are obtained, and the application information involved in the version is confirmed, and then the preset relationship of the code corresponding to the IT service stored in the database, as well as the preset relationship between the IT service and the software configuration files such as the middleware and database are queried to obtain the list of software configuration files such as the middleware and database associated with the IT service. Then, the scope of the configuration files involved in the security configuration baseline check is determined based on the application information, code, and the information of the list of software configuration files such as the middleware and database. Finally, the security inspection strategy is determined based on the business function, business architecture characteristics, application code, and configuration file list information.
[0172] First, according to the determined middleware, database and other software, matching industry rules, the configuration files containing security-related configuration items are automatically identified and a list is given, which includes the name of the configuration file and its absolute path on the server.
[0173] Then, for a demand use case, determine its security risk level, and set the priority and strictness of security checks on software configuration files such as databases and middleware on the servers involved based on the risk level.
[0174] Finally, for configuration files that do need to be subject to security checks, the security check policy is adjusted according to the business functions of the applications involved, and the target security check policy is obtained as a preparation for the execution of the check.
[0175] Inspection execution module: After determining the scope of configuration files involved in the security inspection of software configuration files such as middleware and databases, and obtaining the security inspection strategy constructed by the security configuration baseline inspection logic construction module 1130, it receives the scope of these software configuration files such as middleware and databases and the security inspection strategy, and performs further customized configuration inspections on different servers for different business functions and executes them. For files that do not meet the recommended configuration, it reports "there is a problem", records the absolute path of the problematic file, and outputs it to the "inspection result output" module.
[0176] Inspection execution module: It can also provide a visual interface for inspectors to view the results of the inspection, including whether a configuration file fully complies with the industry's mainstream security configuration baseline, the absolute path of the problematic file, modification suggestions, etc.
[0177] According to an embodiment of the present disclosure, any multiple modules among the instruction receiving module 1110, the acquisition module 1120, the security configuration baseline check logic building module 1130, the check execution module 1140, the business architecture analysis module 1121, and the supplementary confirmation module 1122 can be combined into one module for implementation, or any one of the modules can be split into multiple modules. Alternatively, at least part of the functions of one or more of these modules can be combined with at least part of the functions of other modules and implemented in one module. According to an embodiment of the present disclosure, at least one of the instruction receiving module 1110, the acquisition module 1120, the security configuration baseline check logic building module 1130, the check execution module 1140, the business architecture analysis module 1121, and the supplementary confirmation module 1122 can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a system on a package, an application-specific integrated circuit (ASIC), or can be implemented by hardware or firmware such as any other reasonable way of integrating or packaging the circuit, or by any one of the three implementation methods of software, hardware, and firmware, or by a proper combination of any of them. Alternatively, at least one of the instruction receiving module 1110, the acquisition module 1120, the security configuration baseline check logic building module 1130, the check execution module 1140, the business architecture analysis module 1121, and the supplementary confirmation module 1122 can be at least partially implemented as a computer program module, and when the computer program module is run, the corresponding function can be executed.
[0178] Fig.14 A block diagram of an electronic device suitable for implementing the security inspection method of an embodiment of the present disclosure is schematically shown.
[0179] like Fig.14As shown, the electronic device 1300 according to an embodiment of the present disclosure includes a processor 1301, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1302 or a program loaded from a storage part 1308 to a random access memory (RAM) 1303. The processor 1301 may include, for example, a general-purpose microprocessor (such as a CPU), an instruction set processor and / or a related chipset and / or a special-purpose microprocessor (for example, an application-specific integrated circuit (ASIC)), etc. The processor 1301 may also include an onboard memory for caching purposes. The processor 1301 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present disclosure.
[0180] In RAM 1303, various programs and data required for the operation of electronic device 1300 are stored. Processor 1301, ROM 1302 and RAM 1303 are connected to each other through bus 1304. Processor 1301 performs various operations of the method flow according to the embodiment of the present disclosure by executing the program in ROM 1302 and / or RAM 1303. It should be noted that the program can also be stored in one or more memories other than ROM 1302 and RAM 1303. Processor 1301 can also perform various operations of the method flow according to the embodiment of the present disclosure by executing the program stored in the one or more memories.
[0181] According to an embodiment of the present disclosure, the electronic device 1300 may further include an input / output (I / O) interface 1305, which is also connected to the bus 1304. The electronic device 1300 may further include one or more of the following components connected to the I / O interface 1305: an input portion 1306 including a keyboard, a mouse, etc.; an output portion 1307 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage portion 1308 including a hard disk, etc.; and a communication portion 1309 including a network interface card such as a LAN card, a modem, etc. The communication portion 1309 performs communication processing via a network such as the Internet. A drive 1310 is also connected to the I / O interface 1305 as needed. A removable medium 1311, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 1310 as needed, so that a computer program read therefrom is installed into the storage portion 1308 as needed.
[0182] The present disclosure also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or may exist independently without being assembled into the device / apparatus / system. The above computer-readable storage medium carries one or more programs, and when the above one or more programs are executed, the method according to the embodiment of the present disclosure is implemented.
[0183] According to an embodiment of the present disclosure, a computer-readable storage medium may be a non-volatile computer-readable storage medium, for example, may include but is not limited to: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program, which may be used by or in combination with an instruction execution system, an apparatus, or a device. For example, according to an embodiment of the present disclosure, a computer-readable storage medium may include the ROM 1302 and / or RAM 1303 described above and / or one or more memories other than ROM 1302 and RAM 1303.
[0184] The embodiment of the present disclosure also includes a computer program product, which includes a computer program, and the computer program contains program code for executing the method shown in the flowchart. When the computer program product is run in a computer system, the program code is used to enable the computer system to implement the method provided by the embodiment of the present disclosure.
[0185] The above functions defined in the system / device of the embodiment of the present disclosure are performed when the computer program is executed by the processor 1301. According to the embodiment of the present disclosure, the system, device, module, unit, etc. described above can be implemented by a computer program module.
[0186] In one embodiment, the computer program may rely on tangible storage media such as optical storage devices, magnetic storage devices, etc. In another embodiment, the computer program may also be transmitted and distributed in the form of signals on a network medium, and downloaded and installed through the communication part 1309, and / or installed from the removable medium 1311. The program code contained in the computer program may be transmitted using any appropriate network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.
[0187] In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 1309, and / or installed from the removable medium 1311. When the computer program is executed by the processor 1301, the above functions defined in the system of the embodiment of the present disclosure are performed. According to the embodiment of the present disclosure, the system, device, apparatus, module, unit, etc. described above can be implemented by a computer program module.
[0188] According to an embodiment of the present disclosure, the program code for executing the computer program provided by the embodiment of the present disclosure can be written in any combination of one or more programming languages. Specifically, these computing programs can be implemented using high-level process and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages include, but are not limited to, Java, C++, python, "C" language or similar programming languages. The program code can be executed entirely on the user computing device, partially on the user device, partially on the remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device can be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computing device (for example, using an Internet service provider to connect through the Internet).
[0189] The flow charts and block diagrams in the accompanying drawings illustrate the possible architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flow chart or block diagram can represent a module, a program segment, or a part of a code, and the above-mentioned module, program segment, or a part of a code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flow chart, and the combination of the boxes in the block diagram or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0190] It will be appreciated by those skilled in the art that the features described in the various embodiments and / or claims of the present disclosure may be combined and / or combined in a variety of ways, even if such combinations and / or combinations are not explicitly described in the present disclosure. In particular, the features described in the various embodiments and / or claims of the present disclosure may be combined and / or combined in a variety of ways without departing from the spirit and teachings of the present disclosure. All of these combinations and / or combinations fall within the scope of the present disclosure.
[0191] The embodiments of the present disclosure are described above. However, these embodiments are only for illustrative purposes and are not intended to limit the scope of the present disclosure. Although the embodiments are described above separately, this does not mean that the measures in the various embodiments cannot be used in combination to advantage. The scope of the present disclosure is defined by the attached claims and their equivalents. Without departing from the scope of the present disclosure, those skilled in the art may make a variety of substitutions and modifications, which should all fall within the scope of the present disclosure.
Claims
1. A security inspection method, comprising: Receiving an inspection instruction, wherein the inspection instruction includes information of a target business function module; In response to the inspection instruction, acquiring information of software units constituting the target business function module to obtain a first software information set; Acquire security check configuration information, the security check configuration information including the second software information set and a security check policy for each software unit in the second software information set; Filtering information of software units in the second software information set from the first software information set to obtain a third software information set; Extracting the security check policy of each software unit in the third software information set from the security check configuration information to obtain a security check list; Checking the software units in the target business function module based on the security checklist to obtain a check result; as well as The inspection result is outputted.
2. The method according to claim 1, wherein: The acquiring information of the software units constituting the target business function module to obtain the first software information set includes: Acquire information of a business architecture model obtained by decomposing the target business function module according to the business architecture to obtain a first business architecture model information set; and According to the mapping relationship between the business architecture and the information architecture, each business architecture model in the first business architecture model information set is mapped to one or more software units to obtain the first software information set; wherein the mapping relationship defines the mapping between the business architecture models in the business architecture and the software units in the information architecture.
3. The method according to claim 2, wherein: The acquiring information of the software units constituting the target business function module to obtain the first software information set further comprises: Acquire information of a second business architecture model mapped by a software unit in the information architecture according to the mapping relationship, and obtain a second business architecture model information set; Traversing the business architecture models in the first business architecture model information set in the following manner includes: Taking the traversed business architecture model as the first business architecture model, and using the trained semantic analysis model, searching from the second business architecture model information set for a second business architecture model that matches the information semantics of the first business architecture model; and When the second business architecture model does not belong to the first business architecture model information set, adding a software unit mapped by the second business architecture model according to the mapping relationship to the first software information set; After the traversal is completed, the first software information set is output.
4. The method according to claim 2, wherein: The acquiring information of the business architecture model obtained by decomposing the target business function module according to the business architecture to obtain the first business architecture model information set also includes: Acquire information of demand use cases based on which the target business function module is developed, and obtain a set of demand use cases; and The information of the business architecture model included in each demand use case in the demand use case set is obtained to obtain the first business architecture model information set.
5. The method according to claim 4, wherein: The checking of the software units in the target business function module based on the security checklist to obtain the check result further comprises: Obtaining the risk level of each demand use case in the demand use case set; Traverse the requirement use cases in the requirement use case set as follows: Taking the currently traversed demand use case as the target demand use case, obtaining information of software units mapped by the business architecture model included in the target demand use case according to the mapping relationship, so as to obtain a target software subset; and According to the risk level of the target demand use case, setting the strictness level of the security check policy of the software unit in the target software subset in the security checklist; The software units in the target business function module are checked based on the security checklist obtained after traversing the set of requirement use cases.
6. The method according to claim 5, wherein: The step of setting the strictness level of the security check policy for the software units in the target software subset in the security checklist according to the risk level of the target demand use case includes: When the risk level of the target requirement use case belongs to the preset first category, setting the strictness level to no need for inspection; and When the risk level of the target requirement use case belongs to the preset second category, the strict level is set to must be checked.
7. The method according to claim 1 or 6, wherein: The checking of the software units in the target business function module based on the security checklist to obtain the checking result includes: The configuration information of each software unit is checked according to the security check policy of each software unit in the security check list.
8. The method according to claim 7, wherein: The step of checking the configuration information of each software unit according to the security check strategy of each software unit in the security check list includes: Obtain target key parameters that match a preset key parameter list in the configuration information of the software unit to be checked; According to the value of the target key parameter, adjusting the security check policy of the software unit to be checked in the security check list to obtain a target security check policy; and The software unit to be checked is checked according to the target security check policy.
9. The method according to claim 1, wherein: The receiving inspection instruction comprises: Receive business requirement information and version number input by users; Determine the business to be queried according to the business demand information; The information of a newly added business function module of the business to be queried in the business version determined by the version number is obtained, wherein the target business function module belongs to the newly added business function module.
10. A safety inspection device, comprising: An instruction receiving module, used to receive an inspection instruction, wherein the inspection instruction includes information of a target business function module; an acquisition module, configured to acquire information of software units constituting the target business function module in response to the inspection instruction, and obtain a first software information set; Security configuration baseline check logic building blocks for: Acquire security check configuration information, the security check configuration information including the second software information set and a security check policy for each software unit in the second software information set; Filtering information of software units in the second software information set from the first software information set to obtain a third software information set; Extracting the security check policy of each software unit in the third software information set from the security check configuration information to obtain a security check list; The inspection execution module is used to inspect the software units in the target business function module based on the security inspection list, obtain the inspection result, and output the inspection result.
11. An electronic device, comprising: one or more processors; a memory for storing one or more computer programs, The one or more processors execute the one or more computer programs to implement the steps of the method according to any one of claims 1 to 9.
12. A computer-readable storage medium having a computer program or instruction stored thereon, wherein: When the computer program or instruction is executed by a processor, the steps of the method according to any one of claims 1 to 9 are implemented.