CN113778509A - Method for determining version of open source component, storage medium and electronic device - Google Patents

Method for determining version of open source component, storage medium and electronic device Download PDF

Info

Publication number
CN113778509A
CN113778509A CN202110931931.3A CN202110931931A CN113778509A CN 113778509 A CN113778509 A CN 113778509A CN 202110931931 A CN202110931931 A CN 202110931931A CN 113778509 A CN113778509 A CN 113778509A
Authority
CN
China
Prior art keywords
target
risk information
version
vulnerability risk
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.)
Pending
Application number
CN202110931931.3A
Other languages
Chinese (zh)
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.)
State Grid Corp of China SGCC
Electric Power Research Institute of State Grid Hebei Electric Power Co Ltd
Original Assignee
State Grid Corp of China SGCC
Electric Power Research Institute of State Grid Hebei Electric Power Co 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 State Grid Corp of China SGCC, Electric Power Research Institute of State Grid Hebei Electric Power Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN202110931931.3A priority Critical patent/CN113778509A/en
Publication of CN113778509A publication Critical patent/CN113778509A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Abstract

The embodiment of the application discloses a method for determining the version of an open source component, a storage medium and an electronic device. The method comprises the following steps: a01, selecting vulnerability risk information as target vulnerability risk information from the prestored vulnerability risk information in the open source component; a02, detecting whether target vulnerability risk information exists in a target component to obtain a detection result, wherein the target component is obtained based on the secondary development of a source code of an open source component; a03, determining an alternative version range corresponding to a detection result according to version information influenced by target vulnerability risk information in an open source component; a04, judging whether the total number of versions in the alternative version range is greater than 1 to obtain a judgment result; if the judgment result is larger than 1, continuing to execute the step A01; otherwise, go to step A05; and step A05, recording the version information in the alternative version range as the target version of the source code of the source component in the target component.

Description

Method for determining version of open source component, storage medium and electronic device
Technical Field
Embodiments of the present invention relate to the field of information processing, and in particular, to a method, a storage medium, and an electronic device for determining a version of an open source component.
Background
Open source components are primarily developed by teams of programmers scattered around the world. By using the source code of the open source component, software developers can widely carry out secondary development to obtain the required target component. Due to the open source characteristic of the open source component, a safety risk exists in the operation process of the open source component, and the whole target component developed based on the open source component is directly influenced.
In order to ensure the operation security of the target component, a corresponding security patch needs to be acquired based on the open source component used by the target component, so as to complete the security maintenance of the target component. Because the secure completions of the open source components are divided based on the version information of the open source components, if the open source components used by the target components are determined, a problem to be solved is needed.
Disclosure of Invention
In order to solve any technical problem, embodiments of the present application provide a method, a storage medium, and an electronic device for determining a version of an open source component.
To achieve the purpose of the embodiments of the present application, an embodiment of the present application provides a method for determining a version of an open source component, including:
a01, selecting vulnerability risk information as target vulnerability risk information from the prestored vulnerability risk information in the open source component;
a02, detecting whether the target component has the target vulnerability risk information to obtain a detection result, wherein the target component is obtained based on the secondary development of the source code of the open source component;
step A03, determining an alternative version range corresponding to the detection result according to version information influenced by the target vulnerability risk information in the open source component;
step A04, judging whether the total number of versions in the alternative version range is greater than 1 to obtain a judgment result;
if the judgment result is greater than 1, continuing to execute the step A01; otherwise, go to step A05;
and A05, recording the version information in the alternative version range as the target version of the source code of the source component in the target component.
A storage medium having a computer program stored therein, wherein the computer program is arranged to perform the method as described above when executed.
An electronic device comprising a memory having a computer program stored therein and a processor arranged to execute the computer program to perform the method as described above.
One of the above technical solutions has the following advantages or beneficial effects:
selecting vulnerability risk information as target vulnerability risk information from prestored vulnerability risk information in an open source component, detecting whether the target component has the target vulnerability risk information to obtain a detection result, determining an alternative version range corresponding to the detection result according to version information influenced by the target vulnerability risk information in the open source component, and then judging whether the total number of versions in the alternative version range is greater than 1 to obtain a judgment result; if the judgment result is greater than 1, continuing to execute circularly; otherwise, recording the version information in the alternative version range as the target version of the source code of the source component in the target component, and achieving the purpose of determining the target version of the source code of the source component in the target component by means of vulnerability detection and with the help of the version range influenced by the vulnerability in the source component.
Additional features and advantages of the embodiments of the application will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of the embodiments of the application. The objectives and other advantages of the embodiments of the application may be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.
Drawings
The accompanying drawings are included to provide a further understanding of the embodiments of the present application and are incorporated in and constitute a part of this specification, illustrate embodiments of the present application and together with the examples of the embodiments of the present application do not constitute a limitation of the embodiments of the present application.
Fig. 1 is a flowchart of a method for determining a version of a switch component according to an embodiment of the present application;
fig. 2 is a schematic diagram of a version evaluation system for a database provided in an embodiment of the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present application more apparent, the embodiments of the present application will be described in detail below with reference to the accompanying drawings. It should be noted that, in the embodiments of the present application, features in the embodiments and the examples may be arbitrarily combined with each other without conflict.
Fig. 1 is a flowchart of a method for determining a version of a switch component according to an embodiment of the present application. As shown in fig. 1, the method includes:
a01, selecting vulnerability risk information as target vulnerability risk information from the prestored vulnerability risk information in the open source component;
in an exemplary embodiment, the number of selected vulnerability risk information may be one or more. When the target vulnerability risk information is selected, the target vulnerability risk information can be selected according to the range influenced by the vulnerability risk information.
When at least two target vulnerability risk information are selected simultaneously, the repeatability between the version ranges influenced by the two selected vulnerability risk information can be determined, and vulnerability risk information with low repeatability is preferentially selected as the target vulnerability risk information.
A02, detecting whether the target component has the target vulnerability risk information to obtain a detection result, wherein the target component is obtained based on the secondary development of the source code of the open source component;
in an exemplary embodiment, the target vulnerability risk information may be obtained by obtaining POC (Proof of Concept) data of the target vulnerability risk information; and detecting the vulnerability of the target component by using the POC data.
When vulnerability detection is carried out on a target component, for each target vulnerability risk information, a source code and POC data of the starting source component are utilized to carry out verification operation on the target component; if the verification operation can determine the vulnerability identification information of the target vulnerability risk information, determining that the target vulnerability risk information exists in the target component; otherwise, determining that the target component does not have the target vulnerability risk information.
The vulnerability identification information may be CVE (Common Vulnerabilities and exposition).
By the adoption of the method, vulnerability detection can be conducted on the target component in the development stage.
Step A03, determining an alternative version range corresponding to the detection result according to version information influenced by the target vulnerability risk information in the open source component;
if the target component has certain target vulnerability risk information, the version range influenced by the target vulnerability risk information can be used as an alternative version range; otherwise, the version range except the version range affected by the vulnerability risk information in all the version information of the open source component can be used as the alternative version range.
Step A03, judging whether the total number of versions in the alternative version range is greater than 1 to obtain a judgment result;
if the judgment result is greater than 1, the target version of the source code of the open source component used by the target component is determined, and the step A01 is executed continuously; otherwise, go to step A04;
and A04, recording the version information in the alternative version range as the target version of the source code of the source component in the target component.
According to the method provided by the embodiment of the application, vulnerability risk information is selected from vulnerability risk information in pre-stored open source components to serve as target vulnerability risk information, whether the target components exist in the target vulnerability risk information is detected, a detection result is obtained, an alternative version range corresponding to the detection result is determined according to version information influenced by the target vulnerability risk information in the open source components, whether the total number of versions in the alternative version range is larger than 1 is judged, and a judgment result is obtained; if the judgment result is more than 1, continuing to execute circularly; otherwise, recording the version information in the alternative version range as the target version of the source code of the open source component in the target component, and achieving the purpose of determining the target version of the source code of the open source component in the target component by means of vulnerability detection and with the help of the version range influenced by the vulnerability in the open source component.
The method provided by the embodiments of the present application is explained as follows:
according to whether the target vulnerability risk information exists in the target component, the following three conditions can be classified:
the first condition is as follows: the detection result is that the target vulnerability risk information exists in the target component;
case two: the detection result indicates that the target vulnerability risk information does not exist in the target component;
case two: the total number of the target vulnerability risk information is at least two, and the detection result indicates that one part of the target vulnerability risk information exists in the target component and the other part of the target vulnerability risk information does not exist in the target component.
The following is separately described for each case:
the first condition is as follows:
when the detection result indicates that the target component has the target vulnerability risk information, the target component may be divided into the following two types according to the total number of the used target vulnerability risk information, including:
a1, if the total number of the target vulnerability risk information is 1, taking the version range influenced by the target vulnerability risk information as an alternative version range;
for example, if the used target vulnerability risk information is vulnerability 1, the scope of vulnerability 1 affected by the open source component is directly used as the scope of the alternative version.
A2, if the total number of the target vulnerability risk information is at least two, determining a common version in the version range influenced by each target vulnerability risk information in the at least two target vulnerability risk information to obtain an alternative version range;
for example, the target vulnerability risk information used is vulnerability 1 and vulnerability 2, if the scope of influence of vulnerability 1 on the open source component includes version 1.0.0, 1.0.2, 2.0.0 and 2.0.1; the version range affected by vulnerability 2 includes version 1.0.0, 2.0.0 and 3.0.0; since the version ranges affected by the vulnerability 1 and the vulnerability 2 both include the versions 1.0.0 and 2.0.0, the versions 1.0.0 and 2.0.0 are used as the alternative version ranges.
Case two:
when the detection result indicates that the target component does not have the target vulnerability risk information, the target component can be divided into the following two types according to the total number of the used target vulnerability risk information, including:
b1, if the total number of the target vulnerability risk information is 1, determining the version except the version range influenced by the target vulnerability risk information in the whole version range of the open source component as an alternative version range;
for example, if the used target vulnerability risk information is vulnerability 1, the scope of vulnerability 1 affected by the open source component includes version 1.0.0, 1.0.2, 2.0.0 and 2.01; if all versions of the open source assembly include: versions 1.0.0, 1.0.1, 2.0.0, 2.0.1, 3.0.0, 3.0.1, 4.0.0, and 4.0.1, and when the version range corresponding to the vulnerability 1 is removed from all versions, the version range is taken as an alternative version range if the version range obtained includes 3.0.0, 3.0.1, 4.0.0, and 4.0.1.
B2, if the total number of the target vulnerability risk information is at least two, determining a maximum version range corresponding to the at least two target vulnerability risk information, where the maximum version range includes all versions in the version range affected by each of the at least two target vulnerability risk information, and obtaining an alternative version range by using the full version range of the switch component and the maximum version range.
For example, the target vulnerability risk information used is vulnerability 1 and vulnerability 2, if the scope of influence of vulnerability 1 on the open source component includes version 1.0.0, 1.0.2, 2.0.0 and 2.0.1; the version range affected by vulnerability 2 includes version 1.0.0, 2.0.0 and 3.0.0; all versions of the open source component include: versions 1.0.0, 1.0.1, 2.0.0, 2.0.1, 3.0.0, 3.0.1, 4.0.0, 4.0.1, and the maximum version range affected by the vulnerability 1 and the vulnerability 2 includes versions 1.0.0, 1.0.2, 2.0.0, 2.0.1, and 3.0.0, and after the version range corresponding to the vulnerability 1 is removed from the entire versions, the obtained version ranges include 3.0.1, 4.0.0, and 4.0.1, and then the version ranges are used as alternative version ranges.
Case three:
and when the detection result indicates that M target vulnerability risk information exists in the target component and N target vulnerability risk information does not exist in the target component, two different version ranges are required to be determined respectively.
Determining a common version range in the version ranges influenced by each target hole leakage risk information in the M target hole leakage risk information by adopting the mode of the condition I to obtain a first version range;
determining a maximum version range corresponding to the N target vulnerability risk information by using the above second method, and obtaining a second version range by using all version ranges of the open source component and the maximum version range, wherein the maximum version range includes all versions in the version range affected by each of the N target vulnerability risk information;
the first version range represents a possible version range determined according to M target vulnerability risk information existing in the target component, the second version range represents a possible version range determined according to M target vulnerability risk information not existing in the target component, and an alternative version range is obtained according to a version range shared by the first version range and the second version range;
and M and N are positive integers, and the sum of M and N is equal to the total number of the target vulnerability risk information.
Based on the content, the alternative version range corresponding to the target vulnerability risk information can be determined.
In an exemplary embodiment, selecting target vulnerability risk information as target vulnerability risk information from pre-stored target vulnerability risk information in an open source component includes:
after the alternative version range is obtained, obtaining an alternative version in the alternative version range;
and selecting target vulnerability risk information according to the alternative versions in the alternative version range.
If the total number of the versions in the range of the alternative versions is a, vulnerability risk information with the influence range having at most a-1 versions in the alternative versions can be selected as target risk information. If the range of the alternative versions is 3.0.1, 4.0.0 and 4.0.1, as the total number of the versions in the alternative versions is 3, vulnerability risk information affecting the range of one or two of the versions can be selected as target risk information so as to further narrow the value range of the alternative versions, wherein a is an integer greater than or equal to 2.
And selecting the target vulnerability risk information according to the version information in the alternative version, so that the determination efficiency of the target version can be improved.
In an exemplary embodiment, the selecting target vulnerability risk information according to the alternative version in the alternative version range includes:
selecting vulnerability risk information with an influence range including at least one alternative version as pre-selected vulnerability risk information;
and selecting at least two pieces of preselected vulnerability risk information as target vulnerability risk information according to the alternative versions corresponding to the preselected vulnerability risk information.
The vulnerability risk information with the influence range having at most a-1 versions in the alternative versions can be selected as preselected vulnerability risk information according to the total number of the versions in the version selection range being a, the alternative versions in the alternative version range are divided into b classes according to the alternative versions corresponding to the preselected vulnerability risk information, and the alternative versions in each class are not overlapped or partially overlapped; and selecting pre-selected vulnerability risk information of which the influence range only contains the classification but does not contain other b-1 classifications for each classification, and taking the combination of the pre-selected vulnerability risk information corresponding to each classification as the target vulnerability risk information selected at this time.
If the alternative versions are versions 3.0.1, 4.0.0 and 4.0.1, as the total number of versions in the alternative versions is 3, vulnerability risk information of one or two version ranges with influence ranges can be selected as preselected vulnerability risk information, for example, the influence range of vulnerability 3 is 3.0.1 and 5.0.0; the influence ranges of the loopholes 4 are 4.0.0, 4.0.1 and 6.0.0, and because one alternative version exists in the influence range of the loopholes 3 and two alternative versions exist in the influence range of the loopholes 3, the loopholes 3 and the loopholes 4 can be used as preselected loophole risk information.
And according to the alternative versions in the influence ranges of the vulnerabilities 3 and 4, dividing the alternative version range into two types, wherein one type is version 3.0.1, and the other types are version 4.0.0 and version 4.0.1, and selecting a combination of the vulnerabilities 3 and 4 as the target vulnerability risk information selected at this time.
And combining the preselected vulnerability risk information according to the alternative versions to serve as target risk information so as to further narrow the value range of the alternative versions.
In one exemplary embodiment, the method further comprises:
after a target version of a source code of a source component in the target component is determined, acquiring vulnerability patch data corresponding to the target version from vulnerability patch data corresponding to different versions of the source component;
and carrying out vulnerability processing operation on the target component by using the target vulnerability patch data.
And acquiring corresponding patch data based on the target version of the source code of the open source component to complete processing of the vulnerability, so that the safety of the target component can be improved.
The method provided by the embodiment of the present application is described below by taking an open source component as an open source database as an example:
in the secondary development process based on the open source database, if the open source database is not well controlled in version, the secondary developed open source database cannot be effectively updated after the security vulnerability of the open source database is updated, and the security problem is caused. Therefore, it is necessary to efficiently determine the source code version of the secondary developed open source database.
Fig. 2 is a schematic diagram of a version evaluation system for a database provided in an embodiment of the present application. As shown in fig. 2, the system includes:
the system comprises a vulnerability database, a database server and a database server, wherein the vulnerability database mainly collects all vulnerability information of a source database, and mainly comprises vulnerability codes and vulnerability influence ranges;
POC library: mainly recording all POC information existing in a source database, wherein the POC information mainly comprises a vulnerability verification program and a vulnerability number;
docker library: mainly building an open source database docker target drone environment library of a version to be verified;
a source code library: the source code of each branch of the source database is mainly collected. Calling a preset vulnerability security detection tool for detection;
and the automatic scheduling platform is used for determining the version of the open source database through the POC data and the source code and outputting an evaluation result.
In the system shown in fig. 2, POC data of a vulnerability is used for verification in a secondary development redis database to be verified; if the valid verification result can be output, the POC data only corresponds to one CVE number (or CNNVD number); each vulnerability number has a corresponding response range, and the specific recording mode is as follows:
redis Labs Redis input verification error vulnerability
CNNVD-202105 and 105 hazard classes: high risk
CVE number: CVE-2021-: input validation errors
Release time: 2021-05-04 threat types: remote control
Updating time: manufacturers 2021-07-02: redis Labs, Inc., USA
Vulnerability sources: red Hat
Vulnerability introduction:
redis Labs Redis is an open source, network-enabled, journaled, Key-Value (Key-Value) storage data system written using ANSIC, which may be content-based or persistent, and provides APIs in multiple languages, available from Redis Labs, Inc. of America.
Redis has an input validation error hole that results from STRALGLCS command integer overflow, which a remote attacker can use to execute arbitrary code on a target system, with the following products and versions affected: redis: 6.0.0, 6.0.1, 6.0.2, 6.0.3, 6.0.4, 6.0.5, 6.0.6, 6.0.7, 6.0.8, 6.0.9, 6.0.10, 6.0.11, 6.0.12, 6.2.0, 6.2.1, 6.2.2.
After the verification operation is performed, there are two cases:
in the first case:
if the secondary development database is effectively verified to have the vulnerability with the number CVE-2021-29477, the verified database version is in the range of 6.0.0, 6.0.1, 6.0.2, 6.0.3, 6.0.4, 6.0.5, 6.0.6, 6.0.7, 6.0.8, 6.0.9, 6.0.10, 6.0.11, 6.0.12, 6.2.0, 6.2.1 and 6.2.2.
Similarly, if a plurality of vulnerabilities can be effectively verified, the version range of the verified database can be further reduced.
The end is defined when the valid verification result of the POC can finally determine the version of redis for secondary development. And when the POC is effectively verified, the version of the redis finally determined to be in one interval, and then the source database source code base is used for carrying out file comparison to finally determine the version of the redis.
In the second case:
if the valid verification result is not output through the POC; because each vulnerability number is associated with an influence range, the version range of the secondary development database can be determined through an exclusion method; then, combining asset management and questionnaire survey information, narrowing the final version range; and finally, performing file comparison by starting a source database source code base to finally determine the version of the secondary development redis.
Based on the above manner, the determination of the target version of the source database can be realized.
An embodiment of the present application provides a storage medium, in which a computer program is stored, wherein the computer program is configured to perform the method described in any one of the above when the computer program runs.
An embodiment of the application provides an electronic device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor is configured to execute the computer program to perform the method described in any one of the above.
It will be understood by those of ordinary skill in the art that all or some of the steps of the methods, systems, functional modules/units in the devices disclosed above may be implemented as software, firmware, hardware, and suitable combinations thereof. In a hardware implementation, the division between functional modules/units mentioned in the above description does not necessarily correspond to the division of physical components; for example, one physical component may have multiple functions, or one function or step may be performed by several physical components in cooperation. Some or all of the components may be implemented as software executed by a processor, such as a digital signal processor or microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit. Such software may be distributed on computer readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media). The term computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data, as is well known to those of ordinary skill in the art. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, Digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by a computer. In addition, communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media as known to those skilled in the art.

Claims (10)

1. A method of determining a version of an open source component, comprising:
a01, selecting vulnerability risk information as target vulnerability risk information from the prestored vulnerability risk information in the open source component;
a02, detecting whether the target component has the target vulnerability risk information to obtain a detection result, wherein the target component is obtained based on the secondary development of the source code of the open source component;
step A03, determining an alternative version range corresponding to the detection result according to version information influenced by the target vulnerability risk information in the open source component;
step A04, judging whether the total number of versions in the alternative version range is greater than 1 to obtain a judgment result;
if the judgment result is greater than 1, continuing to execute the step A01; otherwise, go to step A05;
and A05, recording the version information in the alternative version range as the target version of the source code of the source component in the target component.
2. The method of claim 1, further comprising:
after a target version of a source code of a source component in the target component is determined, acquiring vulnerability patch data corresponding to the target version from vulnerability patch data corresponding to different versions of the source component;
and carrying out vulnerability processing operation on the target component by using the target vulnerability patch data.
3. The method according to claim 1, wherein the detecting whether the target component has the target vulnerability risk information to obtain a detection result comprises:
technical verification POC data of target vulnerability risk information is obtained;
for each target vulnerability risk information, carrying out verification operation on the target component by using the source code and the POC data of the open source component, and if the verification operation can determine vulnerability identification information of the target vulnerability risk information, determining that the target vulnerability risk information exists in the target component; otherwise, determining that the target component does not have the target vulnerability risk information.
4. The method according to claim 1, wherein when the detection result is that the target component has the target vulnerability risk information, determining the alternative version range corresponding to the detection result according to the version information affected by the target vulnerability risk information in the open source component comprises:
if the total number of the target vulnerability risk information is 1, taking the version range influenced by the target vulnerability risk information as an alternative version range;
and if the total number of the target vulnerability risk information is at least two, determining a common version in the version range influenced by each target vulnerability risk information in the at least two target vulnerability risk information to obtain an alternative version range.
5. The method according to claim 1, wherein when the detection result indicates that the target vulnerability risk information does not exist in the target component, determining the alternative version range corresponding to the determination result according to the version information affected by the target vulnerability risk information in the open source component comprises:
if the total number of the target vulnerability risk information is 1, determining the version except the version range influenced by the target vulnerability risk information in all the version ranges of the open source component as an alternative version range;
if the total number of the target vulnerability risk information is at least two, determining the maximum version range corresponding to the at least two target vulnerability risk information, wherein the maximum version range comprises all versions in the version range influenced by each of the at least two target vulnerability risk information, and obtaining an alternative version range by using the whole version range of the open source component and the maximum version range.
6. The method according to claim 1, wherein when the detection result indicates that M target vulnerability risk information exists in the target component and N target vulnerability risk information does not exist, determining the alternative version range corresponding to the determination result according to the version information affected by the target vulnerability risk information in the open source component includes:
determining a common version range in the version ranges influenced by each target vulnerability risk information in the M target vulnerability risk information to obtain a first version range;
determining a maximum version range corresponding to the N target vulnerability risk information, wherein the maximum version range comprises all versions in the version range influenced by each of the N target vulnerability risk information, and obtaining a second version range by using all version ranges of the open source component and the maximum version range;
obtaining an alternative version range according to the first version range and the second version range;
and M and N are positive integers, and the sum of M and N is equal to the total number of the target vulnerability risk information.
7. The method according to any one of claims 1 to 6, wherein selecting vulnerability risk information as target vulnerability risk information from the pre-stored vulnerability risk information in the open source component comprises:
after the alternative version range is obtained, obtaining an alternative version in the alternative version range;
and selecting target vulnerability risk information according to the alternative versions in the alternative version range.
8. The method according to claim 7, wherein selecting target vulnerability risk information according to the alternative versions in the alternative version range comprises:
selecting vulnerability risk information with an influence range including at least one alternative version as preselected vulnerability risk information;
and selecting at least two pieces of preselected vulnerability risk information as target vulnerability risk information according to the alternative versions corresponding to the preselected vulnerability risk information.
9. A storage medium, in which a computer program is stored, wherein the computer program is arranged to perform the method of any of claims 1 to 8 when executed.
10. An electronic device comprising a memory and a processor, wherein the memory has stored therein a computer program, and wherein the processor is arranged to execute the computer program to perform the method of any of claims 1 to 8.
CN202110931931.3A 2021-08-13 2021-08-13 Method for determining version of open source component, storage medium and electronic device Pending CN113778509A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110931931.3A CN113778509A (en) 2021-08-13 2021-08-13 Method for determining version of open source component, storage medium and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110931931.3A CN113778509A (en) 2021-08-13 2021-08-13 Method for determining version of open source component, storage medium and electronic device

Publications (1)

Publication Number Publication Date
CN113778509A true CN113778509A (en) 2021-12-10

Family

ID=78837677

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110931931.3A Pending CN113778509A (en) 2021-08-13 2021-08-13 Method for determining version of open source component, storage medium and electronic device

Country Status (1)

Country Link
CN (1) CN113778509A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023241529A1 (en) * 2022-06-17 2023-12-21 阿里云计算有限公司 Vulnerability information processing method, service apparatus and vulnerability detection module

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106446691A (en) * 2016-11-24 2017-02-22 工业和信息化部电信研究院 Method and device for detecting integrated or customized open source project bugs in software
CN108200029A (en) * 2017-12-27 2018-06-22 北京知道创宇信息技术有限公司 Loophole situation detection method, device, server and readable storage medium storing program for executing
CN110543767A (en) * 2019-08-10 2019-12-06 苏州浪潮智能科技有限公司 automatic monitoring method and system for open source component vulnerability
US20200042712A1 (en) * 2018-07-31 2020-02-06 Veracode, Inc. Open-source software vulnerability analysis
CN110837646A (en) * 2019-10-31 2020-02-25 国网河北省电力有限公司电力科学研究院 Risk investigation device of unstructured database
US20200074084A1 (en) * 2018-08-29 2020-03-05 Microsoft Technology Licensing, Llc Privacy-preserving component vulnerability detection and handling
CN110909363A (en) * 2019-11-25 2020-03-24 中国人寿保险股份有限公司 Software third-party component vulnerability emergency response system and method based on big data
CN111400719A (en) * 2020-03-12 2020-07-10 中国科学院信息工程研究所 Firmware vulnerability distinguishing method and system based on open source component version identification
CN111625839A (en) * 2020-05-29 2020-09-04 深圳前海微众银行股份有限公司 Third-party component vulnerability detection method, device, equipment and computer storage medium
CN111752586A (en) * 2020-06-23 2020-10-09 上海交通大学 Method and system for detecting unrepaired bugs of cross-architecture embedded equipment firmware
CN111797402A (en) * 2020-06-17 2020-10-20 北京世纪互联宽带数据中心有限公司 Method, device and storage medium for detecting software vulnerability
CN111931183A (en) * 2020-07-31 2020-11-13 中国工商银行股份有限公司 Open source software security vulnerability processing method and device
US20210056209A1 (en) * 2019-08-22 2021-02-25 Sonatype, Inc. Method, system, and storage medium for security of software components
CN113094711A (en) * 2021-04-30 2021-07-09 云南电网有限责任公司 Open source code detection method and system based on staged project development
CN113127351A (en) * 2021-04-20 2021-07-16 长沙市到家悠享家政服务有限公司 Third-party component detection method, system and computer equipment

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106446691A (en) * 2016-11-24 2017-02-22 工业和信息化部电信研究院 Method and device for detecting integrated or customized open source project bugs in software
CN108200029A (en) * 2017-12-27 2018-06-22 北京知道创宇信息技术有限公司 Loophole situation detection method, device, server and readable storage medium storing program for executing
US20200042712A1 (en) * 2018-07-31 2020-02-06 Veracode, Inc. Open-source software vulnerability analysis
US20200074084A1 (en) * 2018-08-29 2020-03-05 Microsoft Technology Licensing, Llc Privacy-preserving component vulnerability detection and handling
CN110543767A (en) * 2019-08-10 2019-12-06 苏州浪潮智能科技有限公司 automatic monitoring method and system for open source component vulnerability
US20210056209A1 (en) * 2019-08-22 2021-02-25 Sonatype, Inc. Method, system, and storage medium for security of software components
CN110837646A (en) * 2019-10-31 2020-02-25 国网河北省电力有限公司电力科学研究院 Risk investigation device of unstructured database
CN110909363A (en) * 2019-11-25 2020-03-24 中国人寿保险股份有限公司 Software third-party component vulnerability emergency response system and method based on big data
CN111400719A (en) * 2020-03-12 2020-07-10 中国科学院信息工程研究所 Firmware vulnerability distinguishing method and system based on open source component version identification
CN111625839A (en) * 2020-05-29 2020-09-04 深圳前海微众银行股份有限公司 Third-party component vulnerability detection method, device, equipment and computer storage medium
CN111797402A (en) * 2020-06-17 2020-10-20 北京世纪互联宽带数据中心有限公司 Method, device and storage medium for detecting software vulnerability
CN111752586A (en) * 2020-06-23 2020-10-09 上海交通大学 Method and system for detecting unrepaired bugs of cross-architecture embedded equipment firmware
CN111931183A (en) * 2020-07-31 2020-11-13 中国工商银行股份有限公司 Open source software security vulnerability processing method and device
CN113127351A (en) * 2021-04-20 2021-07-16 长沙市到家悠享家政服务有限公司 Third-party component detection method, system and computer equipment
CN113094711A (en) * 2021-04-30 2021-07-09 云南电网有限责任公司 Open source code detection method and system based on staged project development

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023241529A1 (en) * 2022-06-17 2023-12-21 阿里云计算有限公司 Vulnerability information processing method, service apparatus and vulnerability detection module

Similar Documents

Publication Publication Date Title
US10885201B2 (en) Apparatus for quantifying security of open-source software package, and apparatus and method for optimizing open-source software package
US8966634B2 (en) System and method for correcting antivirus records and using corrected antivirus records for malware detection
CN112395616B (en) Vulnerability processing method and device and computer equipment
US11893117B2 (en) Software package analysis for detection of malicious properties
KR20130134790A (en) Method and system for storing the integrity information of application, method and system for checking the integrity of application
US8930970B2 (en) Method and computer for obtaining using-frequency of application program
CN109815697A (en) Wrong report behavior processing method and processing device
CN113778509A (en) Method for determining version of open source component, storage medium and electronic device
CN114139161A (en) Method, device, electronic equipment and medium for batch vulnerability detection
US20230017839A1 (en) Risk analysis result display apparatus, method, and computer readable media
US20220284109A1 (en) Backdoor inspection apparatus, backdoor inspection method, and non-transitory computer readable medium
KR102415494B1 (en) Emulation based security analysis method for embedded devices
CN115658492A (en) Method and device for detecting abnormal value of kernel configuration item
CN115391224A (en) Flow playback method and device, computer equipment and readable storage medium
CN107291618B (en) Application storage method and device and terminal equipment
AU2021427822B2 (en) Information processing device, information processing method, and information processing program
CN114969759B (en) Asset security assessment method, device, terminal and medium of industrial robot system
CN109918895B (en) Method, electronic device, and computer-readable medium for outputting data
KR101480244B1 (en) Method for detecting malicious application using signature on class basis and device enabling the method
TWI718636B (en) Software security detecting system and software security detecting method
US20230004642A1 (en) Application integrity verification
US11907710B2 (en) Source code analysis apparatus
CN112230935B (en) Privacy risk detection method, device and equipment in application
CN114896117A (en) White list-based memory behavior monitoring method and device in software installation and update process
Yashavant SecSEC: Securing Smart Ethereum Contracts

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