CN115544465B - Security management and control method and device for third-party component for software construction - Google Patents

Security management and control method and device for third-party component for software construction Download PDF

Info

Publication number
CN115544465B
CN115544465B CN202211487809.2A CN202211487809A CN115544465B CN 115544465 B CN115544465 B CN 115544465B CN 202211487809 A CN202211487809 A CN 202211487809A CN 115544465 B CN115544465 B CN 115544465B
Authority
CN
China
Prior art keywords
target
component
software
party
party component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211487809.2A
Other languages
Chinese (zh)
Other versions
CN115544465A (en
Inventor
刘洪刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aspire Technologies Shenzhen Ltd
Original Assignee
Aspire Technologies Shenzhen Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Aspire Technologies Shenzhen Ltd filed Critical Aspire Technologies Shenzhen Ltd
Priority to CN202211487809.2A priority Critical patent/CN115544465B/en
Publication of CN115544465A publication Critical patent/CN115544465A/en
Application granted granted Critical
Publication of CN115544465B publication Critical patent/CN115544465B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

The embodiment of the invention discloses a method and a device for safely managing and controlling a third-party component constructed by software, wherein the method comprises the following steps: judging whether the target software needs to be constructed by using a target third-party component or not; if so, judging whether the target third-party component is a security component; if not, refusing to use the target third-party component to construct the target software; if so, constructing the target software by using the target third-party component; obtaining a target software construction result obtained after the target software is constructed by using the target third-party component, and judging whether the target software is successfully constructed according to the target software construction result; and if so, storing the mapping data contained in the target software construction result into a target software mapping database, otherwise, deleting the mapping data contained in the target software construction result. The invention can realize the safety control of the third-party component in the software construction process and carry out continuous risk assessment on the third-party component used by the target software.

Description

Security management and control method and device for third-party component for software construction
Technical Field
The invention relates to the technical field of application software development, in particular to a safety control method and device for a third-party component for software construction.
Background
Along with the wide application of the informatization technology in various industries, the software research and development requirements are increased explosively. In order to improve software development efficiency, reduce software development cost and compress software lead time, software development enterprises use third-party components, particularly open-source components in large quantities. According to the analysis statistics of an authority, more than 60% of the components of the modern application software are composed of third-party components, and the remaining 40% of the components are composed of data such as service codes, configuration files, construction scripts and static resources. Therefore, in the software development process, the use of the third-party component is more and more extensive, and the position of the third-party component is more and more important. In order to standardize the integration of software development codes, software development enterprises usually build a DevOps platform (development tool chain system) in an intranet environment, so that the whole software development process is faster and more reliable through an automatic process. Third-party components used in the software development process are usually stored in a local server repository. If the project uses third-party components which are not in the local server warehouse in advance, the local server warehouse downloads the third-party components from the Internet central warehouse and directly puts the third-party components into the local server warehouse for use of the project.
While enjoying the benefits of third-party components, software development enterprises inevitably introduce security risks, including security vulnerability risks, intellectual property risks, and supply chain risks, that third-party components contain. The risk of security holes refers to defects of third-party components in specific implementation or system security policies, so that an attacker can access or damage a system under unauthorized conditions, the risk of intellectual property refers to software products issued under the condition of violating the license constraint of a third-party component license agreement, and the risk of a supply chain refers to the existence of holes or backdoors which can be attacked in the system due to the use of the third-party components polluted by malicious codes. Currently, a DevOps platform built by a software development enterprise is usually directly interfaced with an internet environment, and an introduced third-party component is not subjected to necessary security assessment. On the one hand, the possibility of using third party components with known security risks may result in unnecessary security risks being introduced by the software system; on the other hand, the risk continuous evaluation capability of the third-party component is not available, and the influence of the newly-added safety risk of the third-party component on the stock software system cannot be effectively identified. In addition, for software research and development enterprises with certain safety consciousness, after security vulnerabilities of certain third-party components used for software construction are exposed in the industry, manual investigation is usually performed on the third-party components, whether the components are used by the unit software is analyzed, if the components are used, whether the versions of the used components are within the range of the influenced versions, and if the components are within the range of the influenced versions, safety repair and reinforcement are performed. Here, due to the lack of complete component data accumulation of each version of software, the efficiency and accuracy of manual troubleshooting are not satisfactory.
Disclosure of Invention
Therefore, it is necessary to provide a method and an apparatus for secure management and control of a third-party component for software construction to solve the following problems in the prior art: while software development enterprises enjoy benefits of third-party components, security risks included in the third-party components, including security vulnerability risks, intellectual property risks and supply chain risks, are inevitably introduced, and the use of third-party components with known security risks can cause unnecessary security risks to be introduced into a software system.
The first technical scheme of the embodiment of the invention is as follows:
a method of secure management of a third party component for software build, comprising: judging whether target software to be constructed needs to be constructed by using a target third-party component; if the target software needs to be constructed by using a target third-party component, judging whether the target third-party component needed to be used by the target software is a security component; if the target third party component is not a security component, refusing to use the target third party component to construct the target software, and carrying out risk marking on the target third party component; if the target third-party component is a security component, constructing the target software by using the target third-party component; obtaining a target software construction result obtained after the target third-party component is used for constructing the target software, and judging whether the target software is successfully constructed according to the target software construction result; and if the target software is successfully constructed, storing the mapping data contained in the construction result of the target software into a target software mapping database, otherwise, deleting the mapping data contained in the construction result of the target software.
The second technical scheme of the embodiment of the invention is as follows:
a security management apparatus for a software-implemented third-party component, comprising: the first judgment module is used for judging whether the target software to be constructed needs to be constructed by using a target third-party component; the second judgment module is used for judging whether the target third-party component required to be used by the target software is a safety component or not when the target software needs to be constructed by using the target third-party component; the risk marking module is used for refusing to use the target third-party component to construct the target software and carrying out risk marking on the target third-party component when the target third-party component is not a security component; a software construction module for constructing the target software using the target third-party component when the target third-party component is a security component;
the third judgment module is used for acquiring a target software construction result obtained after the target software is constructed by using the target third-party component, and judging whether the target software is successfully constructed according to the target software construction result; and the result processing module is used for storing the mapping data contained in the target software construction result into a target software mapping database when the target software is successfully constructed, and otherwise deleting the mapping data contained in the target software construction result.
The third technical scheme of the embodiment of the invention is as follows:
a computer device comprising a memory and a processor, the memory storing a computer program that, when executed by the processor, causes the processor to perform the steps of:
judging whether target software to be constructed needs to be constructed by using a target third-party component; if the target software needs to be constructed by using a target third-party component, judging whether the target third-party component needed to be used by the target software is a security component; if the target third party component is not a security component, refusing to use the target third party component to construct the target software, and carrying out risk marking on the target third party component; if the target third party component is a security component, constructing the target software by using the target third party component; obtaining a target software construction result obtained after the target third-party component is used for constructing the target software, and judging whether the target software is successfully constructed according to the target software construction result; and if the target software is successfully constructed, storing the mapping data contained in the construction result of the target software into a target software mapping database, otherwise, deleting the mapping data contained in the construction result of the target software.
The fourth technical solution of the embodiment of the present invention is:
a computer-readable storage medium storing a computer program which, when executed by a processor, causes the processor to perform the steps of:
judging whether target software to be constructed needs to be constructed by using a target third-party component or not; if the target software needs to be constructed by using a target third-party component, judging whether the target third-party component needed to be used by the target software is a security component; if the target third party component is not a security component, refusing to use the target third party component to construct the target software, and carrying out risk marking on the target third party component; if the target third party component is a security component, constructing the target software by using the target third party component; obtaining a target software construction result obtained after the target third-party component is used for constructing the target software, and judging whether the target software is successfully constructed according to the target software construction result; and if the target software is successfully constructed, storing the mapping data contained in the construction result of the target software into a target software mapping database, otherwise, deleting the mapping data contained in the construction result of the target software.
The embodiment of the invention has the following beneficial effects:
firstly, judging whether target software to be constructed needs to be constructed by using a target third-party component; if the target third-party component is a safe component, judging whether the target third-party component required to be used by the target software is a safe component, if not, refusing to use the target third-party component to construct the target software, carrying out risk marking on the target third-party component, if so, constructing the target software by using the target third-party component, then obtaining a target software construction result obtained after constructing the target software by using the target third-party component, judging whether the target software is successfully constructed according to the target software construction result, if so, storing mapping data contained in the target software construction result into a target software mapping database, otherwise, deleting the mapping data contained in the target software construction result, and realizing safety control on the third-party component in the software construction process and avoiding safety risk introduced by using the third-party component.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
Wherein:
FIG. 1 is a flow diagram illustrating an implementation of one embodiment of a method for security management of third party components for software build, under an embodiment;
FIG. 2 is a block diagram of an embodiment of a security management apparatus for third party components of a software build, according to an embodiment;
FIG. 3 is a block diagram illustrating an embodiment of a computer device in one embodiment.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be obtained by a person skilled in the art without inventive step based on the embodiments of the present invention, are within the scope of protection of the present invention.
Referring to fig. 1, as can be seen from fig. 1, a method for securely managing a third-party component for software construction according to an embodiment of the present invention includes the following steps:
step S101: and judging whether the target software to be constructed needs to be constructed by using the target third-party component.
In this step, a developer initiates a software building task using a development tool chain, for example, initiates a task of building a version 1.0 of software ABC and a version 2.0 of software MNO, and may need to use third-party components to build during the software building process, for example, a version 1.0 of software ABC uses 3 third-party components, and a version 2.0 of software MNO also uses 4 third-party components.
Step S102: if the target software needs to be constructed by using the target third-party component, whether the target third-party component needed to be used by the target software is a security component is judged.
If the target third-party component required to be used by the target software is a security component, the target third-party component can be used for constructing the target software, otherwise, the target third-party component cannot be used for constructing the target software.
Step S103: and if the target third party component is not a security component, refusing to use the target third party component to construct the target software, and carrying out risk marking on the target third party component.
Step S104: and if the target third party component is a security component, constructing the target software by using the target third party component.
Step S105: and obtaining a target software construction result obtained after the target software is constructed by using the target third-party component, and judging whether the target software is successfully constructed according to the target software construction result.
Step S106: and if the target software is successfully constructed, storing the mapping data contained in the construction result of the target software into a mapping database of the target software, otherwise, deleting the mapping data contained in the construction result of the target software.
After the target software is successfully constructed, mapping data contained in the target software construction result is stored in a target software mapping database according to the differentiation of the software name and the version number, for example, if the 2.0 version of the software MNO is successfully constructed, 4 component dependency relations of the software MNO are stored in the target software mapping database. And if the target software fails to be constructed, discarding the mapping data acquired this time, for example, the component dependency relationship of the 1.0 version of the software ABC cannot be stored.
In this embodiment, optionally, the method further includes:
firstly, a local threat information database is controlled to obtain target third party component risk data corresponding to the external Internet in real time.
The target third-party component risk data corresponding to the external Internet refer to third-party components with risks in the current external Internet, and some target third-party component risk data are formed through various changes and are relatively new risk data. Over time, third party components that were previously developed as secure may expose new security breaches. Therefore, a local threat intelligence database is built, external threat intelligence data are continuously tracked, and the gathered intelligence data in various forms are transferred into formatted third-party component risk data for local storage. In addition to supporting automatic collection of threat intelligence, the local threat intelligence database also supports manual entry of threat intelligence by security administrators.
Second, it is determined whether the local threat intelligence database includes the targeted third party component risk data.
The local threat information database updates the risk data of the third-party component in real time, the acquired risk data of the target third-party component corresponding to the external Internet can be stored in the local threat information database, and the latest risk data of the third-party component can be known only by inquiring the local threat information database.
Thirdly, if the local threat intelligence database comprises the target third-party component risk data, identifying the target third-party component risk data in the local threat intelligence database as a risk component, and informing a related administrator to carry out follow-up processing.
Wherein the local threat intelligence database is used to provide threat intelligence support for continued risk assessment for third party components.
In this embodiment, optionally, the determining whether the target software to be constructed needs to be constructed by using a target third-party component includes:
firstly, a research and development tool chain is controlled to acquire target third-party component dependence data corresponding to all software from related software packages, wherein the target third-party component dependence data comprises third-party component data directly dependent on all software and other third-party component data dependent on a third-party component.
The step is to form mapping data of the dependency relationship of the whole amount of third-party components of the current target software, for example, a development tool chain can be analyzed from respective software packages, and the software ABC uses the third-party components component-a-1.0, component-b-2.0 and component-c-3.0; the software MNO uses the third party components component-d-1.0, component-e-2.0, component-f-3.0 and component-g-4.0.
Secondly, controlling a research and development tool chain to acquire target software component data corresponding to the target software from a software package corresponding to the target software, and judging whether the target third-party component dependent data comprises the target software component data.
The target software component data in this step includes a target software name and a target software version corresponding to the target software, and all third-party component dependency data corresponding to the target software can be obtained in this step according to the target software name, the target software version and the target third-party component dependency data.
Thirdly, if the target third-party component dependency data comprises the target software component data, determining that the target software to be constructed needs to be constructed by using the target third-party component.
In this embodiment, optionally, the determining whether the target third-party component that needs to be used by the target software is a security component includes:
firstly, whether the target third-party component required to be used by the target software exists in a target trusted component library is judged.
Secondly, if the target third-party component required to be used by the target software exists in a target trusted component library, whether a risk tag corresponding to the target third-party component is a security tag is further judged.
In this step, the target trusted component library may query a local database for the security status of the target third-party component that needs to be used by the target software, for example, component-a-1.0 exists and the risk label is "secure"; component-b-2.0 exists and the risk label is "unsafe"; component-c-3.0 does not exist; component-d-1.0 exists and the risk label is "safe"; component-e-2.0 does not exist; component-f-3.0 is absent; component-g-4.0 is absent.
Thirdly, if the risk label corresponding to the target third-party component is a security label, determining that the target third-party component required to be used by the target software is a security component, otherwise determining that the target third-party component required to be used by the target software is an insecure component.
If the risk label corresponding to the target third-party component is 'unsafe', the target trusted component library informs the research and development tool chain that the target third-party component cannot be used due to a safety problem; for example, the risk label of component-b-2.0 is "unsafe," the target trusted component library feeds back to the development toolchain that the component cannot be used because of a security problem, which if used would cause the build task of version 1.0 of software ABC of the development toolchain to fail.
If the risk label of the target third-party component is 'safe', the target trusted component library synchronizes the component to the research and development tool chain, for example, if the risk label of the component-d-1.0 is 'safe', the target trusted component library synchronizes the component to the research and development tool chain, and the research and development tool chain receives the component for the task to be constructed at this time.
The target trusted component library is used for storing third-party components which are subjected to security audit in the target isolation component library, and the development tool chain can use the third-party components in the target trusted component library; the target isolation component library is used for downloading a third-party component from an internet warehouse as required and temporarily storing the third-party component to the local, and the third-party component cannot be synchronized to the target trusted component library before being safely checked, so that the target third-party component cannot be used by a research and development tool chain.
In this embodiment, optionally, the determining whether the target third-party component that the target software needs to use exists in the target trusted component library includes:
firstly, if the target third-party component required to be used by the target software does not exist in the target trusted component library, controlling the target trusted component library to send a synchronization request to the target isolated component library, namely requesting the target isolated component library to provide the target third-party component.
Wherein, for example, the target third-party components component-e-2.0, component-f-3.0, and component-g-4.0 need to request synchronization from the target isolated component library, which either stores the third-party components or does not store the third-party components.
Secondly, controlling the target isolation component library to inquire the target third-party components needed by the target software, and judging whether the target third-party components can be inquired in the target isolation component library.
In this step, the target isolated component library queries component information in a local database, for example, the query result is: component-e-2.0 is present in the target isolated component library and the risk tag is "safe", component-f-3.0 is absent, and component-g-4.0 is absent.
Thirdly, if the target third-party component can be inquired in the target isolation component library, whether the risk label corresponding to the target third-party component is a safety label is further judged.
In this step, if the risk label corresponding to the target third-party component is "safe", the target isolated component library synchronizes the component to the target trusted component library, and the target trusted component library records the risk label of the component after receiving the component synchronization. E.g., the risk label of the component-e-2.0 component is "safe," the target isolated component library synchronizes the component to the target trusted component library. If the risk label corresponding to the target third-party component is 'unsafe', the target isolation component library informs the target trusted component library that the component cannot be used due to the safety problem, the target trusted component library records that the risk label of the component is 'unsafe', and if the subsequent development tool chain sends the synchronization request of the component again, the result can be directly fed back.
Fourthly, if the risk label corresponding to the target third-party component is a safety label, judging that the target third-party component required to be used by the target software is a safety component, and otherwise judging that the target third-party component required to be used by the target software is an unsafe component.
In this embodiment, optionally, the determining whether the target third-party component can be queried in the target isolated component library includes:
firstly, if the target third-party component cannot be inquired in the target isolation component library, controlling the target isolation component library to download the target third-party component from the Internet, and acquiring a software name and a software version corresponding to the target third-party component downloaded from the Internet.
The target isolation component library downloads the component-f-3.0 and the component-g-4.0 from an internet repository, and acquires the software name and the software version corresponding to the component-f-3.0 and the component-g-4.0 downloaded from the internet.
Secondly, matching the target third-party component with the third-party component risk data in the local threat intelligence database according to the software name and the software version, and judging whether the target third-party component can be inquired as an unsafe component through the local threat intelligence database.
Aiming at the newly downloaded target third-party component, a safety control module (one part of a research and development tool chain) is matched and compared with component risk information in a local threat information database according to the name and the version number of the component, the safety control module inquires whether the version of the component has a known safety risk in the local threat information database, if the version of the component has the known safety risk in the local threat information database, the safety control module informs a target isolation component library, and the target isolation component library records the risk label of the component of the version as unsafe.
Thirdly, if the target third-party component can be inquired as an unsafe component through the local threat information database, refusing to use the target third-party component to construct the target software, and carrying out risk marking on the target third-party component.
In this embodiment, optionally, the determining whether the target third-party component can be queried as an unsafe component through the local threat intelligence database includes:
firstly, if the target third-party component cannot be inquired as an unsafe component through the local threat information database, a safety manager is informed to carry out artificial risk assessment on the target third-party component.
If the version of the component is not queried in the local threat intelligence database to have a known security risk, the security management and control module notifies a security administrator to perform risk assessment on the component, for example, if the component-f-3.0 and component-g-4.0 components do not match the known security risk in the local threat intelligence database, the security administrator is notified to perform manual risk assessment on the component.
And secondly, acquiring a risk evaluation result after a security administrator performs manual risk evaluation on the target third-party component, and judging whether the target third-party component is a security component according to the risk evaluation result.
After the security administrator performs manual risk assessment on the target third-party component, the security management and control module notifies the target isolated component library of an assessment result, the target isolated component library sets a risk label of the component according to the assessment result, for example, if the component-f-3.0 and the component-g-4.0 do not detect a security risk during the manual risk assessment, the security management and control module notifies the target isolated component library to record the risk labels of the two components as "security". The risk tags for components such as component-f-3.0 and component-g-4.0 are "safe" and thus will be synchronized by the target isolated component library to the target trusted component library.
Thirdly, if the target third-party component is a security component, synchronizing the target third-party component to the target trusted component library.
In addition, if the target third party component is an unsecure component, the target third party component is not synchronized into the target trusted component library.
Referring to fig. 2, as can be seen from fig. 2, a security management and control apparatus 100 for a third-party component constructed by software according to an embodiment of the present invention includes:
the first judging module 10 is used for judging whether the target software to be constructed needs to be constructed by using a target third-party component;
a second determining module 20, configured to determine, when the target software needs to be constructed using the target third-party component, whether the target third-party component that the target software needs to use is a security component;
a risk marking module 30, configured to refuse to use the target third-party component to construct the target software and perform risk marking on the target third-party component when the target third-party component is not a secure component;
a software construction module 40 for constructing the target software using the target third-party component when the target third-party component is a secure component;
a third determining module 50, configured to obtain a target software construction result obtained after the target software is constructed by using the target third-party component, and determine whether the target software is successfully constructed according to the target software construction result;
and the result processing module 60 is configured to, when the target software is successfully constructed, store the mapping data included in the target software construction result in a target software mapping database, and otherwise delete the mapping data included in the target software construction result.
FIG. 3 is a diagram illustrating an internal structure of a computer device in one embodiment. The computer device may specifically be a terminal, and may also be a server. As shown in fig. 3, the computer device includes a processor, a memory, and a network interface connected by a system bus. Wherein the memory includes a non-volatile storage medium and an internal memory. The non-volatile storage medium of the computer device stores an operating system and may also store a computer program, which, when executed by the processor, causes the processor to implement the above-described method for secure management of a third-party component for software construction. The internal memory may also store a computer program, and when the computer program is executed by the processor, the computer program may cause the processor to execute the above-mentioned security control method for the software-implemented third-party component. Those skilled in the art will appreciate that the architecture shown in fig. 3 is merely a block diagram of some of the structures associated with the disclosed aspects and is not intended to limit the computing devices to which the disclosed aspects apply, as particular computing devices may include more or less components than those shown, or may combine certain components, or have a different arrangement of components.
In another embodiment, a computer device is presented, comprising a memory and a processor, the memory storing a computer program which, when executed by the processor, causes the processor to perform the steps of:
judging whether target software to be constructed needs to be constructed by using a target third-party component; if the target software needs to be constructed by using a target third-party component, judging whether the target third-party component needed to be used by the target software is a security component; if the target third party component is not a security component, refusing to use the target third party component to construct the target software, and carrying out risk marking on the target third party component; if the target third party component is a security component, constructing the target software by using the target third party component; obtaining a target software construction result obtained after the target third-party component is used for constructing the target software, and judging whether the target software is successfully constructed according to the target software construction result; and if the target software is successfully constructed, storing the mapping data contained in the construction result of the target software into a mapping database of the target software, otherwise, deleting the mapping data contained in the construction result of the target software.
In another embodiment, a computer-readable storage medium is proposed, in which a computer program is stored which, when executed by a processor, causes the processor to carry out the steps of:
judging whether target software to be constructed needs to be constructed by using a target third-party component; if the target software needs to be constructed by using a target third-party component, judging whether the target third-party component needed to be used by the target software is a security component; if the target third party component is not a security component, refusing to use the target third party component to construct the target software, and carrying out risk marking on the target third party component; if the target third party component is a security component, constructing the target software by using the target third party component; obtaining a target software construction result obtained after the target software is constructed by using the target third-party component, and judging whether the target software is successfully constructed according to the target software construction result; and if the target software is successfully constructed, storing the mapping data contained in the construction result of the target software into a target software mapping database, otherwise, deleting the mapping data contained in the construction result of the target software.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by a computer program, which can be stored in a non-volatile computer-readable storage medium, and can include the processes of the embodiments of the methods described above when the program is executed. Any reference to memory, storage, database, or other medium used in the embodiments provided herein may include non-volatile and/or volatile memory, among others. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically Programmable ROM (EPROM), electrically Erasable Programmable ROM (EEPROM), or flash memory. Volatile memory can include Random Access Memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms such as Static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double Data Rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous Link DRAM (SLDRAM), rambus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).
The method comprises the steps of firstly, judging whether target software to be constructed needs to be constructed by using a target third-party component; if the target software is a safe component, judging whether a target third-party component required to be used by the target software is a safe component, if not, refusing to use the target third-party component to construct the target software, carrying out risk marking on the target third-party component, if so, constructing the target software by using the target third-party component, then obtaining a target software construction result obtained after constructing the target software by using the target third-party component, judging whether the target software is successfully constructed according to the target software construction result, if so, storing mapping data contained in the target software construction result into a target software mapping database, otherwise, deleting the mapping data contained in the target software construction result, realizing safe control on the third-party component in the software construction process, and avoiding the introduction of safety risk due to the use of the third-party component.
In conclusion, the invention isolates the third-party components which are not subjected to the security audit outside the enterprise research and development tool chain system, and blocks the influence of the unsafe third-party components on the enterprise software products. Meanwhile, the risk label management capability of the components is achieved, the safety labels of the components can be changed, and the safety labels are synchronous with the target trusted component library, so that dynamic safety control of the third-party components used by the development tool chain system is achieved. In addition, the third-party component risk continuous evaluation method provided by the invention continuously tracks the change of external Internet threat information, obtains the risk data of the third-party component, applies the risk data to the target isolation component library, realizes the dynamic switching of the component risk label, is linked with the target trusted component library, and realizes the dynamic safety control of the third-party component used by the development tool chain system. Meanwhile, the risk data of the third-party component is also applied to the software mapping library, so that the risk of the software version in use can be traced back, the software product provided for the user can be disposed in time, and benefit loss of the user due to the safety risk of the third-party component is avoided.
All possible combinations of the technical features in the above embodiments may not be described for the sake of brevity, but should be considered as being within the scope of the present disclosure as long as there is no contradiction between the combinations of the technical features.
The above-mentioned embodiments only express several embodiments of the present application, and the description thereof is more specific and detailed, but not construed as limiting the scope of the present application. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the concept of the present application, which falls within the scope of protection of the present application. Therefore, the protection scope of the present patent application shall be subject to the appended claims.

Claims (9)

1. A method for secure management of a third party component constructed from software, comprising:
judging whether target software to be constructed needs to be constructed by using a target third-party component;
if the target software needs to be constructed by using a target third-party component, judging whether the target third-party component needed to be used by the target software is a security component;
if the target third party component is not a security component, refusing to use the target third party component to construct the target software, and carrying out risk marking on the target third party component;
if the target third-party component is a security component, constructing the target software by using the target third-party component;
obtaining a target software construction result obtained after the target third-party component is used for constructing the target software, and judging whether the target software is successfully constructed according to the target software construction result;
if the target software is successfully constructed, storing the mapping data contained in the construction result of the target software into a target software mapping database, otherwise, deleting the mapping data contained in the construction result of the target software;
wherein, the judging whether the target software to be constructed needs to be constructed by using the target third-party component comprises the following steps:
the method comprises the steps that a research and development tool chain is controlled to obtain target third-party component dependence data corresponding to all software from related software packages, wherein the target third-party component dependence data comprise third-party component data on which all software directly depends and other third-party component data on which a third-party component depends;
controlling a research and development tool chain to acquire target software component data corresponding to the target software from a software package corresponding to the target software, and judging whether the target third-party component dependent data comprises the target software component data;
and if the target third-party component dependent data comprises the target software component data, judging that the target software to be constructed needs to be constructed by using the target third-party component.
2. The method for secure management of a third party component of a software build according to claim 1, further comprising:
controlling a local threat information database to obtain target third party component risk data corresponding to the external Internet in real time;
judging whether the local threat intelligence database comprises the target third-party component risk data or not;
if the local threat intelligence database comprises the target third-party component risk data, identifying the target third-party component risk data in the local threat intelligence database as a risk component, and informing a related administrator to carry out follow-up processing;
wherein the local threat intelligence database is used to provide threat intelligence support for continuous risk assessment for third party components.
3. The method of claim 2, wherein the determining whether the target third-party component required to be used by the target software is a security component comprises:
judging whether the target third-party component required to be used by the target software exists in a target trusted component library or not;
if the target third-party component required to be used by the target software exists in a target trusted component library, further judging whether a risk tag corresponding to the target third-party component is a security tag;
if the risk label corresponding to the target third-party component is a safety label, judging that the target third-party component required to be used by the target software is a safety component, otherwise judging that the target third-party component required to be used by the target software is an unsafe component;
the target trusted component library is used for storing third-party components which are subjected to security audit in the target isolation component library, and the development tool chain can use the third-party components in the target trusted component library; the target isolation component library is used for downloading a third-party component from an internet warehouse as required and temporarily storing the third-party component to the local, and the third-party component cannot be synchronized to the target trusted component library before being safely audited, so that the target third-party component cannot be used by a research and development tool chain.
4. The method of claim 3, wherein the determining whether the target third party component required to be used by the target software exists in a target trusted component library, and then comprises:
if the target third-party component required to be used by the target software does not exist in the target trusted component library, controlling the target trusted component library to send a synchronization request to the target isolated component library;
controlling the target isolation component library to inquire the target third party component needed to be used by the target software, and judging whether the target third party component can be inquired in the target isolation component library;
if the target third-party component can be inquired in the target isolation component library, further judging whether a risk label corresponding to the target third-party component is a safety label;
if the risk label corresponding to the target third-party component is a safety label, the target third-party component required to be used by the target software is judged to be a safety component, otherwise, the target third-party component required to be used by the target software is judged to be an unsafe component.
5. The method of claim 4, wherein the determining whether the target third party component is queriable in the target isolated component library comprises:
if the target third-party component cannot be inquired in the target isolation component library, controlling the target isolation component library to download the target third-party component from the Internet, and acquiring a software name and a software version corresponding to the target third-party component downloaded from the Internet;
matching the target third-party component with third-party component risk data in the local threat intelligence database according to the software name and the software version, and judging whether the target third-party component can be inquired as an unsafe component through the local threat intelligence database;
and if the target third-party component can be inquired as an unsafe component through the local threat information database, refusing to use the target third-party component to construct the target software, and carrying out risk marking on the target third-party component.
6. The method of claim 5, wherein the determining whether the target third party component is an unsafe component can be queried by the local threat intelligence database comprises:
if the target third-party component cannot be inquired as an unsafe component through the local threat information database, a safety manager is informed to carry out artificial risk assessment on the target third-party component;
acquiring a risk evaluation result after a security administrator performs artificial risk evaluation on the target third-party component, and judging whether the target third-party component is a security component according to the risk evaluation result;
and if the target third-party component is a security component, synchronizing the target third-party component to the target trusted component library.
7. A security management and control apparatus for a third-party component constructed by software, comprising:
the first judgment module is used for judging whether the target software to be constructed needs to be constructed by using a target third-party component;
the second judging module is used for judging whether the target third-party component required to be used by the target software is a security component or not when the target software needs to be constructed by using the target third-party component;
the risk marking module is used for refusing to use the target third-party component to construct the target software and carrying out risk marking on the target third-party component when the target third-party component is not a security component;
a software construction module for constructing the target software using the target third-party component when the target third-party component is a security component;
the third judgment module is used for acquiring a target software construction result obtained after the target software is constructed by using the target third-party component and judging whether the target software is successfully constructed according to the target software construction result;
the result processing module is used for storing the mapping data contained in the target software construction result into a target software mapping database when the target software is successfully constructed, and otherwise deleting the mapping data contained in the target software construction result;
the judging whether the target software to be constructed needs to be constructed by using a target third-party component comprises the following steps:
the method comprises the steps that a research and development tool chain is controlled to obtain target third-party component dependence data corresponding to all software from related software packages, wherein the target third-party component dependence data comprise third-party component data on which all software directly depends and other third-party component data on which a third-party component depends;
controlling a research and development tool chain to acquire target software component data corresponding to the target software from a software package corresponding to the target software, and judging whether the target third party component dependent data comprises the target software component data;
and if the target third-party component dependent data comprises the target software component data, judging that the target software to be constructed needs to be constructed by using the target third-party component.
8. A computer-readable storage medium, in which a computer program is stored, which when executed by a processor causes the processor to execute the method for security management of a software-implemented third party component according to any one of claims 1 to 6.
9. A computer device comprising a memory and a processor, the memory storing a computer program which, when executed by the processor, causes the processor to carry out the method of security management for a software-implemented third party component of any one of claims 1 to 6.
CN202211487809.2A 2022-11-25 2022-11-25 Security management and control method and device for third-party component for software construction Active CN115544465B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211487809.2A CN115544465B (en) 2022-11-25 2022-11-25 Security management and control method and device for third-party component for software construction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211487809.2A CN115544465B (en) 2022-11-25 2022-11-25 Security management and control method and device for third-party component for software construction

Publications (2)

Publication Number Publication Date
CN115544465A CN115544465A (en) 2022-12-30
CN115544465B true CN115544465B (en) 2023-02-28

Family

ID=84722580

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211487809.2A Active CN115544465B (en) 2022-11-25 2022-11-25 Security management and control method and device for third-party component for software construction

Country Status (1)

Country Link
CN (1) CN115544465B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112784279A (en) * 2021-01-04 2021-05-11 北京交通大学 Software product safety risk assessment method based on dependency library version information
CN112883342A (en) * 2021-03-26 2021-06-01 中国工商银行股份有限公司 Component management and control method, device and equipment
CN113297583A (en) * 2021-07-27 2021-08-24 深圳开源互联网安全技术有限公司 Vulnerability risk analysis method, device, equipment and storage medium

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5581856B2 (en) * 2010-07-02 2014-09-03 株式会社リコー Information processing apparatus, software distribution system, installation method, and program
US9354865B2 (en) * 2013-02-18 2016-05-31 Software Ag System and method for controlling the development of a software application
US9335989B2 (en) * 2014-07-13 2016-05-10 International Business Machines Corporation Building a pattern to define a topology and application environment using software components and software updates/fixes from external repositories from multiple vendors
US9471285B1 (en) * 2015-07-09 2016-10-18 Synopsys, Inc. Identifying software components in a software codebase
US10540176B2 (en) * 2015-11-25 2020-01-21 Sonatype, Inc. Method and system for controlling software risks for software development
CN107451058B (en) * 2017-07-31 2023-05-30 北京云测信息技术有限公司 Software development method and device
US10606586B2 (en) * 2017-08-01 2020-03-31 Accenture Global Solutions Limited Application architecture generation
CN109376072B (en) * 2018-09-10 2022-05-17 百度在线网络技术(北京)有限公司 Application program development method and device based on third-party component library
US20200137126A1 (en) * 2018-10-31 2020-04-30 Tala Security, Inc. Creation of security profiles for web application components
CN110414239B (en) * 2019-06-28 2021-09-03 奇安信科技集团股份有限公司 Software supply chain security analysis method and device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112784279A (en) * 2021-01-04 2021-05-11 北京交通大学 Software product safety risk assessment method based on dependency library version information
CN112883342A (en) * 2021-03-26 2021-06-01 中国工商银行股份有限公司 Component management and control method, device and equipment
CN113297583A (en) * 2021-07-27 2021-08-24 深圳开源互联网安全技术有限公司 Vulnerability risk analysis method, device, equipment and storage medium

Also Published As

Publication number Publication date
CN115544465A (en) 2022-12-30

Similar Documents

Publication Publication Date Title
CN110460571B (en) Business system vulnerability processing method and device, computer equipment and storage medium
CN107395593B (en) Vulnerability automatic protection method, firewall and storage medium
US8612398B2 (en) Clean store for operating system and software recovery
US7930749B2 (en) Accelerated data scanning
US8429642B1 (en) Viral updating of software based on neighbor software information
CN110851241A (en) Safety protection method, device and system for Docker container environment
Dhakal et al. Private blockchain network for IoT device firmware integrity verification and update
US11449602B1 (en) Systems and methods for generating trust binaries
CN106997435B (en) Method, device and system for safety prevention and control of operating system
US20220207142A1 (en) Zero Dwell Time Process Library and Script Monitoring
CN113835713B (en) Source code packet downloading method, device, computer equipment and storage medium
JP2002055839A (en) Server computer, method for updating software and storage medium
CN113961936A (en) Trusted white list construction method, system and device and computer equipment
CN115544465B (en) Security management and control method and device for third-party component for software construction
CN112241529B (en) Malicious code detection method, device, storage medium and computer equipment
CN111865927A (en) Vulnerability processing method and device based on system, computer equipment and storage medium
CN116049822A (en) Application program supervision method, system, electronic device and storage medium
CN113343223B (en) Jar package safety monitoring method and device, computer equipment and storage medium
CN116226865A (en) Security detection method, device, server, medium and product of cloud native application
CN116150711A (en) Software processing method and device, electronic equipment and storage medium
Bohara et al. Cyber Security and Software Update management system for connected vehicles in compliance with UNECE WP. 29, R155 and R156
CN110765444A (en) Enterprise browser access permission configuration method and device
CN112464225A (en) Request processing method, request processing device and computer readable storage medium
CN113343222B (en) Java project engineering safety verification method and device, computer equipment and storage medium
KR102632546B1 (en) Method and system for transferring software artifacts from a source network to a target network

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant