KR20210042285A - Method and apparatus for acquirising vulnerability feature, and electronic device - Google Patents

Method and apparatus for acquirising vulnerability feature, and electronic device Download PDF

Info

Publication number
KR20210042285A
KR20210042285A KR1020210041412A KR20210041412A KR20210042285A KR 20210042285 A KR20210042285 A KR 20210042285A KR 1020210041412 A KR1020210041412 A KR 1020210041412A KR 20210041412 A KR20210041412 A KR 20210041412A KR 20210042285 A KR20210042285 A KR 20210042285A
Authority
KR
South Korea
Prior art keywords
vulnerability
code
feature
file
type
Prior art date
Application number
KR1020210041412A
Other languages
Korean (ko)
Other versions
KR102477150B1 (en
Inventor
첸홍인
Original Assignee
베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드
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 베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드 filed Critical 베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드
Publication of KR20210042285A publication Critical patent/KR20210042285A/en
Application granted granted Critical
Publication of KR102477150B1 publication Critical patent/KR102477150B1/en

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates

Abstract

The present invention relates to a method and an apparatus for obtaining characteristics of vulnerability, and an electronic device, and relates to a field of technology for information safety. According to the present invention, the method comprises the following steps: obtaining information on a patch of vulnerability; determining a type of vulnerability based on the information on a patch of vulnerability, wherein the type includes code-type vulnerability and no-code-type vulnerability; extracting at least one characteristic of vulnerability, based on a vulnerability analysis engine corresponding to the type of vulnerability; and transmitting the at least one characteristic of vulnerability to an electronic device. Accordingly, characteristics of vulnerability can be obtained on-line, efficiency of obtaining characteristics of vulnerability can be enhanced and costs for maintaining a library of system vulnerability can be reduced with no need for artificially analyzing and obtaining the characteristics of vulnerability.

Description

취약성 특징 획득 방법, 장치 및 전자기기{METHOD AND APPARATUS FOR ACQUIRISING VULNERABILITY FEATURE, AND ELECTRONIC DEVICE}Vulnerability feature acquisition method, device, and electronic device {METHOD AND APPARATUS FOR ACQUIRISING VULNERABILITY FEATURE, AND ELECTRONIC DEVICE}

본 출원은 컴퓨터 기술분야에 관한 것으로, 구체적으로는 정보 안전 기술분야에 관한 것이다.This application relates to the field of computer technology, and specifically to the field of information security technology.

정보 안전 분야에서, 취약성은 하나의 시스템에 존재하는 취약점 또는 결함, 시스템의 특정 위협 공격 또는 위험 이벤트에 대한 민감성, 또는 공격하는 위협 작용의 가능성을 가리킨다. 취약성은 애플리케이션 또는 운영체제 설계 시의 결함 또는 코딩 시의 에러에 의해 발송할 수 있으며, 서비스 인터랙션 처리 과정 중의 설계 결함 또는 논리 프로세스 상의 부적절한 점에 의해 발생할 수 있다. 이러한 결함, 에러 또는 부적절한 점은 고의적으로 또는 비고의적으로 이용되어, 하나의 조직의 자산 또는 운영에 불리한 영향을 미칠 수 있다. 예컨대, 정보 시스템이 공격당하거나 제어되고, 중요한 정보가 도난 당하거나, 사용자 데이터가 변조되며, 시스템이 기타 호스트 시스템에 침입하기 위한 발판이 된다. 취약성 특징은 취약성을 나타내는 정보로서, 하나의 취약성은 복수의 취약성 특징을 구비하는 바, Android 시스템의 경우, 이미 알려진 취약성의 취약성 특징을 어떻게 획득할지는, 시스템 안전 분석에 있어서 극히 중요하다.In the field of information security, a vulnerability refers to a vulnerability or defect existing in a system, a system's sensitivity to a specific threat attack or risk event, or the possibility of an attacking threat action. Vulnerabilities can be sent by defects in designing applications or operating systems or errors in coding, and can be caused by design defects during service interaction processing or inappropriate points in the logical process. Such defects, errors, or inadequacies can be used deliberately or unintentionally, adversely affecting the assets or operations of an organization. For example, information systems are attacked or controlled, important information is stolen, user data is altered, and the system is a springboard for invading other host systems. Vulnerability characteristics are information indicating a vulnerability, and one vulnerability has a plurality of vulnerability characteristics. In the case of Android systems, how to acquire the vulnerability characteristics of known vulnerabilities is extremely important in system safety analysis.

종래기술에서, 시스템의 이미 알려진 취약성, 예를 들어 취약성 스캔을 통해 스캔해낸 취약성은, 인공적으로 각각의 취약성의 취약성 특징을 분석하고, 각각의 취약성 특징을 검출할 때, 취약성 특징을 기초로 대응되는 특징 검출 코드를 컴파일링하고, 특징 검출 코드를 테스트 대상 기계 상에서 실행시켜, 취약성 특징 존재 여부를 검출한다. 만약 시스템에 나타난 취약성에 업데이트가 존재하면, 또한 인공적으로 다시 취약성 특징을 분석하여 이후의 검출 과정을 수행하여야 하므로, 취약성 특징의 획득 효율이 낮다.In the prior art, known vulnerabilities of a system, for example, vulnerabilities scanned through vulnerability scanning, are countered based on the vulnerability characteristics when artificially analyzing the vulnerability characteristics of each vulnerability and detecting each vulnerability characteristic. The feature detection code is compiled, and the feature detection code is executed on the machine under test to detect the presence or absence of a vulnerability feature. If there is an update on the vulnerability that appears in the system, the vulnerability feature must be artificially analyzed again to perform a subsequent detection process, so the efficiency of obtaining the vulnerability feature is low.

취약성 특징 획득 방법, 장치 및 전자기기를 제공하며, 취약성의 취약성 특징을 온라인으로 획득하고, 취약성 특징의 획득 효율을 향상시킬 수 있다.It provides a method, a device, and an electronic device for obtaining a vulnerability feature, obtains the vulnerability feature of the vulnerability online, and improves the efficiency of obtaining the vulnerability feature.

제1 측면에 따르면, 취약성 특징 획득 방법을 제공하는 바,According to a first aspect, a method for obtaining a vulnerability characteristic is provided,

취약성의 취약성 패치 정보를 획득한 후, 상기 취약성 패치 정보를 기초로 상기 취약성의 타입을 확정하되, 상기 타입은 코드 타입의 취약성과 비 코드 타입의 취약성을 포함하는 단계;After acquiring the vulnerability patch information of the vulnerability, determining a type of the vulnerability based on the vulnerability patch information, the type including a vulnerability of a code type and a vulnerability of a non-code type;

상기 취약성의 타입에 대응되는 취약성 분석 엔진을 기초로 상기 취약성의 적어도 하나의 취약성 특징을 추출하는 단계;Extracting at least one vulnerability feature of the vulnerability based on a vulnerability analysis engine corresponding to the type of vulnerability;

상기 취약성의 적어도 하나의 취약성 특징을 전자기기로 발송하는 단계를 포함한다.And sending at least one vulnerability feature of the vulnerability to an electronic device.

본 출원의 기술에 따르면, 취약성의 취약성 패치 정보를 획득한 후, 취약성 패치 정보를 기초로 취약성이 코드 타입의 취약성 또는 비 코드 타입의 취약성인지를 확정한 후, 취약성의 타입에 대응되는 취약성 분석 엔진을 기초로 취약성의 적어도 하나의 취약성 특징을 추출하고, 마지막으로 취약성의 적어도 하나의 취약성 특징을 전자기기로 발송한다. 서로 다른 타입의 취약성은 서로 다른 타입의 취약성 분석 엔진에 대응되고, 취약성 분석 엔진은 서로 다른 타입의 취약성을 기초로 사전에 구축된 것이므로, 취약성의 취약성 특징을 온라인으로 획득하고, 취약성 특징의 획득 효율을 향상시킬 수 있으며, 인공적으로 취약성 특징을 분석하여 획득할 필요가 없이, 시스템 취약성 라이브러리의 유지 코스트를 감소시킨다.According to the technology of this application, after acquiring the vulnerability patch information of the vulnerability, after determining whether the vulnerability is a code type vulnerability or a non-code type vulnerability based on the vulnerability patch information, a vulnerability analysis engine corresponding to the type of vulnerability At least one vulnerability feature of the vulnerability is extracted based on, and finally, at least one vulnerability feature of the vulnerability is sent to the electronic device. Different types of vulnerabilities correspond to different types of vulnerability analysis engines, and since the vulnerability analysis engine is pre-built based on different types of vulnerabilities, the vulnerability features of the vulnerability can be acquired online and the efficiency of obtaining the vulnerability features It can improve and reduce the maintenance cost of the system vulnerability library without the need to artificially analyze and acquire the vulnerability characteristics.

제2 측면에 따르면, 취약성 특징 획득 장치를 제공하는 바,According to a second aspect, a device for obtaining a vulnerability characteristic is provided,

취약성의 취약성 패치 정보를 획득하기 위한 획득모듈;An acquisition module for acquiring vulnerability patch information of a vulnerability;

상기 취약성 패치 정보를 기초로 상기 취약성의 타입을 확정하되, 상기 타입은 코드 타입의 취약성과 비 코드 타입의 취약성을 포함하는 확정모듈;A determination module determining the type of vulnerability based on the vulnerability patch information, the type including a code type vulnerability and a non-code type vulnerability;

상기 취약성의 타입에 대응되는 취약성 분석 엔진을 기초로 상기 취약성의 적어도 하나의 취약성 특징을 추출하는 추출모듈;An extraction module for extracting at least one vulnerability feature of the vulnerability based on a vulnerability analysis engine corresponding to the type of vulnerability;

상기 취약성의 적어도 하나의 취약성 특징을 전자기기로 발송하는 발송모듈을 포함한다.And a sending module for sending at least one vulnerability feature of the vulnerability to an electronic device.

본 출원의 기술에 따르면, 획득모듈이 취약성의 취약성 패치 정보를 획득한 후, 취약성 패치 정보를 기초로 취약성이 코드 타입의 취약성 또는 비 코드 타입의 취약성인지를 확정하고, 이어서 추출모듈이 취약성의 타입에 대응되는 취약성 분석 엔진을 기초로 취약성의 적어도 하나의 취약성 특징을 추출하고, 마지막으로 발송모듈이 취약성의 적어도 하나의 취약성 특징을 전자기기로 발송한다. 서로 다른 타입의 취약성은 서로 다른 타입의 취약성 분석 엔진에 대응되고, 취약성 분석 엔진은 서로 다른 타입의 취약성을 기초로 사전에 구축된 것이므로, 취약성의 취약성 특징을 온라인으로 획득하고, 취약성 특징의 획득 효율을 향상시킬 수 있으며, 인공적으로 취약성 특징을 분석하여 획득할 필요가 없이, 시스템 취약성 라이브러리의 유지 코스트를 감소시킨다.According to the technology of this application, after the acquisition module acquires the vulnerability patch information of the vulnerability, it determines whether the vulnerability is a code type vulnerability or a non-code type vulnerability based on the vulnerability patch information, and then the extraction module is the type of vulnerability. At least one vulnerability feature of the vulnerability is extracted based on the vulnerability analysis engine corresponding to, and finally, the sending module sends at least one vulnerability feature of the vulnerability to the electronic device. Different types of vulnerabilities correspond to different types of vulnerability analysis engines, and since the vulnerability analysis engine is pre-built based on different types of vulnerabilities, the vulnerability features of the vulnerability can be acquired online and the efficiency of obtaining the vulnerability features It can improve and reduce the maintenance cost of the system vulnerability library without the need to artificially analyze and acquire the vulnerability characteristics.

제3 측면에 따르면, 자기기를 제공하는 바,According to the third aspect, providing a magnetic device,

적어도 하나의 프로세서; 및 At least one processor; And

상기 적어도 하나의 프로세서와 통신 연결되는 메모리;를 포함하되,Including; a memory that is communicatively connected to the at least one processor,

상기 메모리에 상기 적어도 하나의 프로세서에 의해 실행 가능한 명령이 저장되고, 상기 명령은 상기 적어도 하나의 프로세서에 의해 실행되어, 상기 적어도 하나의 프로세서가 제1 측면에 따른 방법을 수행할 수 있도록 한다.An instruction executable by the at least one processor is stored in the memory, and the instruction is executed by the at least one processor, so that the at least one processor can perform the method according to the first aspect.

제4 측면에 따르면, 컴퓨터 명령이 저장된 비일시적 컴퓨터 판독 가능 저장매체를 제공하는 바, 상기 컴퓨터 명령은 컴퓨터가 제1 측면에 따른 방법을 수행하도록 한다.According to a fourth aspect, there is provided a non-transitory computer-readable storage medium storing computer instructions, the computer instructions causing the computer to perform the method according to the first aspect.

제5 측면에 따르면, 컴퓨터 판독 가능 저장매체에 저장된 컴퓨터 프로그램을 제공하며, 전자기기의 적어도 하나의 프로세서는 상기 판독 가능 저장매체로부터 상기 컴퓨터 프로그램을 판독할 수 있으며, 상기 적어도 하나의 프로세서는 상기 컴퓨터 프로그램을 수행하여 상기 전자기기가 제1측면에 따른 방법을 수행하도록 한다.According to a fifth aspect, a computer program stored in a computer-readable storage medium is provided, wherein at least one processor of the electronic device can read the computer program from the readable storage medium, and the at least one processor is the computer By executing a program, the electronic device performs the method according to the first aspect.

본 부분에 기재되는 내용은 본 출원의 실시예의 핵심 또는 중요 특징을 특정하려는 목적이 아니며, 본 출원의 범위를 한정하는 것도 아님을 이해하여야 한다. 본 출원의 기타 특징은 아래의 명세서로부터 쉽게 이해할 수 있다.It should be understood that the content described in this section is not intended to specify the core or important features of the embodiments of the present application, and does not limit the scope of the present application. Other features of the present application can be easily understood from the following specification.

본 발명은 취약성의 취약성 특징을 온라인으로 획득하여 취약성 특징의 획득 효율을 향상시킬 수 있다.The present invention can improve the efficiency of obtaining the vulnerability characteristics by acquiring the vulnerability characteristics of the vulnerability online.

첨부 도면은 본 방안을 충분히 이해하도록 제공되는 것으로서, 본 출원에 대한 한정은 아니다.
도1은 본 출원의 애플레케이션 시나리오를 나타내는 도면이다;
도2는 본 출원에 따른 취약성 특징 획득 방법 실시예 1의 흐름도이다.
도3은 본 출원에 따른 취약성 특징 획득 방법 실시예 2의 흐름도이다.
도4는 본 출원에 따른 취약성 특징 획득 방법 실시예 3의 흐름도이다.
도5는 본 출원에 따른 취약성 특징 획득 방법 실시예 4의 흐름도이다.
도6은 본 출원에 따른 취약성 특징 획득 장치의 구조도이다.
도7은 본 출원에 따른 취약성 특징 획득 장치의 구조도이다.
도8은 본 출원에 따른 취약성 특징 획득 장치의 구조도이다.
도9는 본 출원의 실시예의 취약성 특징 획득 방법을 구현하기 위한 전자기기의 블록도이다.
The accompanying drawings are provided to sufficiently understand the present scheme, and are not limited to the present application.
1 is a diagram showing an application scenario of the present application;
2 is a flowchart of Embodiment 1 of a method for obtaining a vulnerability characteristic according to the present application.
3 is a flowchart of Embodiment 2 of a method for obtaining a vulnerability characteristic according to the present application.
4 is a flowchart of Embodiment 3 of a method for acquiring a vulnerability characteristic according to the present application.
5 is a flowchart of Embodiment 4 of a method for acquiring vulnerability characteristics according to the present application.
6 is a structural diagram of an apparatus for acquiring a vulnerability feature according to the present application.
7 is a structural diagram of an apparatus for acquiring a vulnerability feature according to the present application.
8 is a structural diagram of a device for acquiring a vulnerability feature according to the present application.
9 is a block diagram of an electronic device for implementing a method of obtaining a vulnerability characteristic according to an embodiment of the present application.

아래에서는 첨부 도면과 결합하여 본 출원의 예시적인 실시예에 대하여 설명하며, 이해를 돕기 위하여 본 출원의 실시예의 다양한 세부 사항을 포함하며, 이들을 단지 예시적인 것으로만 간주되어야 한다. 따라서, 본 분야의 통상적인 지식을 가진자라면, 여기에 설명된 실시예에 대하여 다양한 변경과 수정을 가할 수 있으며, 이는 본 출원의 범위와 정신을 벗어나지 않음을 이해하여야 한다. 마찬가지로, 명확성과 간결성을 위하여, 아래의 설명에서 공지 기능과 구조에 대한 설명을 생략한다.Hereinafter, exemplary embodiments of the present application will be described in conjunction with the accompanying drawings, and various details of the embodiments of the present application are included in order to aid understanding, and these should be regarded as merely exemplary. Therefore, it should be understood that those of ordinary skill in the art may make various changes and modifications to the embodiments described herein, which do not depart from the scope and spirit of the present application. Likewise, for clarity and conciseness, descriptions of known functions and structures are omitted in the following description.

본 출원의 실시예에서, "예시적으로" 또는 "예를 들어"등의 용어는 예를 들거나, 예를 들어 증명하거나 또는 설명하는 것으로 이해하여야 하며, 본 출원의 실시예에서 "예시적으로" 또는 "예를 들어"라고 기재된 모든 실시예 또는 방안은 기타 실시예 또는 방안에 비해 더 바람직하거나 더 우수한 이점을 구비한다고 이해하여서는 않된다. 더 명확히 설명하면, "예시적으로" 또는 "예를 들어" 등의 용어는 구체적인 방식으로 관련 개념을 나타내기 위한 것이다.In the embodiments of the present application, terms such as "exemplary" or "for example" should be understood as exemplifying, for example, proving or explaining, and "exemplarily" in the embodiments of the present application. It is not to be understood that any embodiment or solution described as or “for example” has more desirable or superior advantages over other embodiments or solutions. More specifically, terms such as “exemplarily” or “for example” are intended to represent related concepts in a specific manner.

종래기술에서 취약성 특징을 획득하는 방식은 인공적으로 취약성의 취약성 특징을 분석하고, 만약 시스템에 나타난 취약성이 업데이트되면, 다시 인공적으로 취약성 특징을 분석하여야 하므로, 취약성 특징의 획득 효율이 낮고, 취약성 라이브러리의 유지 코스트가 보다 높다. 이러한 문제점을 해결하기 위하여, 본 출원은 취약성 특징 획득 방법, 장치 및 전자기기를 제공하며, 사전에 서로 다른 타입의 취약성을 기초로 서로 다른 취약성 분석 엔진을 구축하고, 서로 다른 타입의 취약성에 대해 서로 다른 취약성 분석 엔진을 사용하여 취약성 특징을 분석 추출하여, 취약성의 취약성 패치 정보를 획득한 후, 취약성 패치 정보를 기초로 상기 취약성의 타입을 확정하고, 상기 취약성의 타입에 대응되는 취약성 분석 엔진을 기초로 상기 취약성의 적어도 하나의 취약성 특징을 추출하고, 상기 취약성의 적어도 하나의 취약성 특징을 전자기기로 발송하여, 전자기기의 취약성 검출에 사용된다. 따라서, 취약성의 취약성 특징을 온라인으로 획득하고, 취약성 특징의 획득 효율을 향상시키고, 시스템 취약성 라이브러리의 유지 코스트를 감소시킬 수 있다. 이하, 첨부된 도면을 결합하여 구체적인 실시예를 통해, 본 출원의 실시예의 취약성 특징 획득 방법의 구체적인 구현 과정에 대해 상세하게 설명한다.The method of acquiring the vulnerability characteristics in the prior art artificially analyzes the vulnerability characteristics of the vulnerability, and if the vulnerability that appears in the system is updated, the vulnerability characteristics must be analyzed again. Therefore, the efficiency of obtaining the vulnerability characteristics is low, and the vulnerability library The maintenance cost is higher. In order to solve this problem, the present application provides a method, a device, and an electronic device for acquiring vulnerability characteristics, and builds different vulnerability analysis engines based on different types of vulnerabilities in advance, After analyzing and extracting the vulnerability features using another vulnerability analysis engine, obtaining the vulnerability patch information of the vulnerability, determining the type of the vulnerability based on the vulnerability patch information, and using the vulnerability analysis engine corresponding to the vulnerability type By extracting at least one vulnerability feature of the vulnerability, and sending at least one vulnerability feature of the vulnerability to an electronic device, it is used to detect the vulnerability of the electronic device. Accordingly, it is possible to acquire the vulnerability features of the vulnerability online, improve the efficiency of obtaining the vulnerability features, and reduce the maintenance cost of the system vulnerability library. Hereinafter, a detailed implementation process of a method for obtaining a vulnerability characteristic in an embodiment of the present application will be described in detail through specific embodiments in conjunction with the accompanying drawings.

우선, 이하 본 출원의 실시예의 부분 용어에 대해 해석 설명하여, 본 분야의 기술자가 쉽게 이해할 수 있도록 한다.First, partial terms in the embodiments of the present application will be interpreted and described below, so that those skilled in the art can easily understand.

1. 취약성 특징은 취약성을 나타내기 위한 정보로서, 취약성이 코드 타입의 취약성일 때, 취약성 특징은 취약성의 소스 코드와 취약성의 복구 코드 사이의 차이 정보이고, 취약성이 비 코드 타입의 취약성일 때, 취약성 특징은 취약성의 소스 파일과 취약성의 복구 파일의 변화 정보이다.1. Vulnerability characteristic is information to indicate vulnerability, when the vulnerability is a code type vulnerability, the vulnerability characteristic is information on the difference between the source code of the vulnerability and the recovery code of the vulnerability, and when the vulnerability is a non-code type vulnerability, Vulnerability characteristics are information on changes in the source file of the vulnerability and the recovery file of the vulnerability.

2. 운영 엔티티는 코드 파일이 안드로이드 시스템에서 실행될 때 대응되는 애플리케이션(APP) 또는 시스템 소프트웨어로서, 애플리케이션은 각종 유형의 애플리케이션, 예컨대 소셜 애플리케이션, 쇼핑 애플리케이션 등이다.2. The operating entity is a corresponding application (APP) or system software when the code file is executed on the Android system, and the application is various types of applications, such as social applications, shopping applications, and the like.

3. 테스트 대상 드론 클러스터는 복수의 테스트 대상 드론으로서, 서로 다른 안드로이드 시스템 버전, 서로 다른 프로세서 아키텍쳐 플랫폼과 서로 다른 안전패치 버전을 기초로 구축된 취약성 특징을 테스트하기 위한 테스터이고, 각각의 테스트 대상 드론은 하나의 안드로이드 시스템 버전, 하나의 프로세서 아키텍쳐 플랫폼과 하나의 안전 패치 버전에 대응된다.3. The drone cluster under test is a tester for testing vulnerability features built on the basis of different Android system versions, different processor architecture platforms, and different safety patch versions as multiple test target drones. Corresponds to one Android system version, one processor architecture platform and one safety patch version.

도1은 본 출원의 애플레케이션 시나리오를 나타내는 도면이다. 도1에 도시된 바와 같이, 본 출원에 따른 취약성 특징 획득 장치는 이미 알려진 취약성의 취약성 특징 또는 이미 알려진 취약성의 취약성 특징과 취약성 특징 각각에 대응되는 운영 엔티티를 획득하기 위한 것이고, 운영 엔티티는 애플리케이션(APP) 또는 시스템 소프트웨어일 수 있고, 여기서 애플리케이션은 예를 들어 소셜 애플리케이션, 쇼핑 애플리케이션 등이다. 이미 알려진 취약성은 예를 들어 취약성 스캐닝 소프트웨어를 통해 스캐닝된 안드로이드 시스템의 취약성, 또는 안드로이드 공식 사이트에 공지된 공고 중 취약성이다. 취약성 특징 획득 장치가 획득한 취약성의 취약성 특징 또는 취약성 특징과 대응되는 운영 엔티티는 취약성 검출에 사용될 수 있고, 전체적으로 취약성 특징 구동 모드로 구현되는 바, Java 반사 매커니즘, 디컴파일링(oatdump) 등을 포함할 수 있다. 구체적으로 기존의 검출 방법을 사용할 수 있고, 예를 들어 각각의 취약성 특징을 검출할 때, 취약성 특징을 기초로 대응되는 특징 검출 코드를 컴파일링하고, 특징 검출 코드를 측정 대상 전자기기 상의 대응되는 운영 엔티티 상에서 실행하고(만약 운영 엔티티가 없으면, 전자기기 상의 각각의 운영 엔티티 상에서 순차적으로 실행하고), 취약성 특징 존재 여부를 검출하여, 취약성을 검출하는 목적을 달성한다. 여기서 검출 대상 전자기기는 안드로이드(Android) 소프트웨어 시스템을 사용하는 전자기기, 예컨대 휴대폰, 휴대용 컴퓨터 또는 차량용 기기 등일 수 있다. 본 출원에 따른 취약성 특징 획득 장치는 온라인으로 안드로이드 시스템의 이미 알려진 취약성의 취약성 특징을 획득할 수 있고, 만약 안드로이드 시스템에 나타난 취약성이 업데이트되면, 실시간으로 업데이트의 취약성의 취약성 특징을 획득하여, 취약성 특징의 획득 효율을 향상시키고, 시스템 취약성 라이브러리의 유지 코스트를 감소시킬 수 있다. 아래에서는 첨부된 도면을 결합하여 취약성 특징 획득 과정에 대해 상세하게 설명한다.1 is a diagram showing an application scenario of the present application. As shown in Fig. 1, the apparatus for obtaining a vulnerability characteristic according to the present application is for obtaining an operation entity corresponding to each of the vulnerability characteristics of a known vulnerability or the vulnerability characteristics and the vulnerability characteristics of a known vulnerability, and the operation entity is an application ( APP) or system software, where the application is for example a social application, a shopping application, and the like. Known vulnerabilities are, for example, vulnerabilities in Android systems scanned through vulnerability scanning software, or vulnerabilities in public announcements on the Android official site. The vulnerability feature of the vulnerability acquired by the vulnerability feature acquisition device or the operational entity that corresponds to the vulnerability feature can be used for vulnerability detection, and is implemented in the overall vulnerability feature drive mode, including Java reflection mechanism, decompilation (oatdump), etc. can do. Specifically, an existing detection method can be used.For example, when detecting each vulnerability feature, the corresponding feature detection code is compiled based on the vulnerability feature, and the feature detection code is operated correspondingly on the electronic device to be measured. It executes on the entity (if there is no operational entity, executes sequentially on each operational entity on the electronic device), detects the presence or absence of a vulnerability feature, and achieves the purpose of detecting the vulnerability. Here, the electronic device to be detected may be an electronic device using an Android software system, such as a mobile phone, a portable computer, or a vehicle device. The vulnerability feature acquisition device according to the present application can acquire the vulnerability features of the known vulnerabilities of the Android system online, and if a vulnerability appearing in the Android system is updated, it acquires the vulnerability features of the updated vulnerability in real time, and the vulnerability features It can improve the acquisition efficiency of the system and reduce the maintenance cost of the system vulnerability library. In the following, the process of acquiring the vulnerability characteristics will be described in detail by combining the accompanying drawings.

도2는 본 출원에 따른 취약성 특징 획득 방법 실시예 1의 흐름도이다. 본 실시예 중 수행 주체는 도1에 도시된 취약성 특징 획득 장치일 수 있고, 해당 취약성 특징 획득 장치는 하드웨어 장치 또는 소프트웨어 모듈일 수 있으며, 도2에 도시된 바와 같이, 본 실시예의 방법은 아래의 단계들을 포함할 수 있다.2 is a flowchart of Embodiment 1 of a method for obtaining a vulnerability characteristic according to the present application. In the present embodiment, the execution subject may be the device for obtaining a vulnerability feature shown in FIG. 1, and the device for obtaining the vulnerability feature may be a hardware device or a software module. As shown in FIG. 2, the method of this embodiment is as follows. It may include steps.

S101, 취약성의 취약성 패치 정보를 획득한 후, 취약성 패치 정보를 기초로 취약성의 타입을 확정하되, 타입은 코드 타입의 취약성과 비 코드 타입의 취약성을 포함한다.S101, After acquiring the vulnerability patch information of the vulnerability, the type of the vulnerability is determined based on the vulnerability patch information, but the type includes the vulnerability of the code type and the vulnerability of the non-code type.

여기서, 취약성의 취약성 패치 정보를 획득하는 것은, 안드로이드 공식 사이트 안전 공고 정보로부터 획득할 수 있고, 구체적으로, 안드로이드 공식 사이트 안전 공고 정보는 취약성 예컨대 일반적인 취약성 및 노출(Common Vulnerabilities and Exposures, CVE)의 식별자, 참조번호, 타입, 심각한 정도 및 업데이트된 Android 오픈 소스 코드 프로젝트(Android Open-Source Project, AOSP) 버전 등의 정보를 포함할 수 있고, 예컨대 아래 표1은 안전 공고 정보의 내용의 예시이다. 여기서, 참조번호는 취약성 패치 정보의 링크를 휴대하고, 타입은 원격 명령/코드 실행 취약성(remote command/code execute, RCE)이고, 심각한 정도는 고, 중 저를 포함한다.Here, obtaining the vulnerability patch information of the vulnerability can be obtained from the Android official site safety notice information, and specifically, the Android official site safety notice information is the identifier of a vulnerability such as Common Vulnerabilities and Exposures (CVE). , Reference number, type, severity, and updated Android Open-Source Project (AOSP) version information, etc. may be included, for example, Table 1 below is an example of the contents of the safety notice information. Here, the reference number carries the link of the vulnerability patch information, the type is remote command/code execute vulnerability (RCE), and the severity includes high and medium low.

CVECVE 참조번호Reference number 타입type 심각한
정도
Serious
Degree
업데이트된
AOSP 버전
Updated
AOSP version
CVE-2019-1986CVE-2019-1986 A-1178A-1178 RCERCE High 99 CVE-2019-1987CVE-2019-1987 A-1181A-1181 RCERCE High 7.0, 7.1.17.0, 7.1.1 CVE-2019-1988CVE-2019-1988 A-1837A-1837 RCERCE medium 8.0, 8.1, 98.0, 8.1, 9

취약성의 취약성 패치 정보를 획득하는 것에 대하여, 우선 취약성의 식별자를 기초로 대응되는 참조번호를 확정하고, 참조번호를 기초로 대응되는 취약성 패치 정보를 획득한다. 취약성의 취약성 패치 정보를 획득한 후, 취약성의 타입이 코드 타입의 취약성 또는 비 코드 타입의 취약성인지를 확정할 수 있다. 만약 취약성의 취약성 패치 정보가 취약성의 소스 코드와 취약성의 복구 코드를 포함하면, 취약성의 타입이 코드 타입의 취약성인 것으로 확정할 수 있고; 만약 취약성의 취약성 패치 정보가 취약성의 소스 파일과 취약성의 복구 파일을 포함하면, 취약성의 타입이 비 코드 타입이 취약성인 것으로 확정할 수 있다.Regarding obtaining the vulnerability patch information of the vulnerability, first, a corresponding reference number is determined based on the vulnerability identifier, and the corresponding vulnerability patch information is obtained based on the reference number. After obtaining the vulnerability patch information of the vulnerability, it is possible to determine whether the type of the vulnerability is a code type vulnerability or a non-code type vulnerability. If the vulnerability patch information of the vulnerability includes the source code of the vulnerability and the recovery code of the vulnerability, the type of the vulnerability can be determined as a code type vulnerability; If the vulnerability patch information of the vulnerability includes the source file of the vulnerability and the recovery file of the vulnerability, it can be determined that the type of vulnerability is the non-code type as the vulnerability.

특별히 설명하면, 만약 안전 공고 정보가 복수의 취약성을 포함하면, 한번에 복수의 취약성의 취약성 패치 정보를 획득할 수 있고, 각각의 취약성에 대하여, 각각의 취약성의 취약성 특징을 각각 획득한다. 만약 일정한 시간 내에, 안전 공고 정보에 하나의 취약성이 업데이트되면, 한번에 해당 하나의 취약성의 취약성 패치 정보를 획득하고, 나아가 그 뒤의 프로세스를 수행하여 해당 하나의 취약성의 취약성 특징을 획득한다.Specifically, if the safety notification information includes a plurality of vulnerabilities, vulnerability patch information of a plurality of vulnerabilities can be obtained at once, and vulnerability characteristics of each vulnerability are obtained for each vulnerability. If one vulnerability is updated in the safety notice information within a certain period of time, the vulnerability patch information of the one vulnerability is acquired at a time, and further, the vulnerability characteristic of the one vulnerability is acquired by performing the subsequent process.

선택적으로, 기설정 시간에 따라 주기적으로 안전 공고 정보 중 취약성의 취약성 패치 정보를 획득할 수 있고, 해당 기설정 시간은 반달, 1개월, 3개월 또는 6개월 등일 수 있다. 만약 업데이트된 취약성이 존재하면, 실시간으로 안전 공고 정보를 추종하여 업데이트된 취약성의 취약성 패치 정보를 획득한 후, 그 뒤의 프로세스를 수행하여 업데이트된 취약성의 취약성 특징을 획득할 수 있다.Optionally, the vulnerability patch information of the vulnerability among the safety notification information may be periodically acquired according to a preset time, and the preset time may be half a month, one month, three months, or six months. If an updated vulnerability exists, the updated vulnerability patch information may be obtained by following the safety notice information in real time, and then the vulnerability characteristics of the updated vulnerability may be obtained by performing a subsequent process.

S102, 취약성의 타입에 대응되는 취약성 분석 엔진을 기초로 취약성의 적어도 하나의 취약성 특징을 추출한다.S102, on the basis of the vulnerability analysis engine corresponding to the type of vulnerability, at least one vulnerability feature of the vulnerability is extracted.

구체적으로, 서로 다른 타입의 취약성은 서로 다른 타입의 취약성 분석 엔진에 대응되고, 코드 타입의 취약성에 대응되는 것은 코드 분석 엔진으로서, 서로 다른 언어의 코드는 서로 다른 코드 분석 엔진, 예를 들어 C/C++코드 분석 엔진, Java 코드 분석 엔진과 커널 코드 분석 엔진 등에 대응된다. 비 코드 타입의 취약성에 대응되는 것은 파일 분석 엔진으로서, 예를 들어 구성 파일 분석 엔진 등이다.Specifically, different types of vulnerabilities correspond to different types of vulnerability analysis engines, and code types corresponding to vulnerabilities are code analysis engines, and codes of different languages are different code analysis engines, for example C/ Corresponds to C++ code analysis engine, Java code analysis engine and kernel code analysis engine. Corresponding to non-code type vulnerabilities is a file analysis engine, for example a configuration file analysis engine.

구체적으로, 만약 취약성의 타입에 대응되는 취약성 분석 엔진이 C/C++ 코드 분석 엔진이면, C/C++ 코드 분석 엔진을 통해 취약성의 취약성 패치 정보에 대해 분석하여, 취약성의 특징을 추출하고; 만약 취약성의 타입에 대응되는 취약성 분석 엔진이 Java 코드 분석 엔진이면, Java 코드 분석 엔진을 통해 취약성의 취약성 패치 정보에 대해 분석하여, 취약성의 특징을 추출하고; 만약 취약성의 타입에 대응되는 취약성 분석 엔진이 커널 코드 분석 엔진이면, 커널 코드 분석 엔진을 통해 취약성의 취약성 패치 정보에 대해 분석하여, 취약성 특징을 추출하고; 만약 취약성의 타입에 대응되는 취약성 분석 엔진이 구성 파일 분석 엔진이면, 구성 파일 분석 엔진을 통해 취약성의 취약성 패치 정보에 대해 분석하여, 취약성의 특징을 추출한다. 서로 다른 취약성 분석 엔진이 취약성의 취약성 특징을 분석 및 추출하는 과정은 다르다.Specifically, if the vulnerability analysis engine corresponding to the type of vulnerability is a C/C++ code analysis engine, the vulnerability patch information of the vulnerability is analyzed through the C/C++ code analysis engine, and features of the vulnerability are extracted; If the vulnerability analysis engine corresponding to the type of vulnerability is a Java code analysis engine, the vulnerability patch information of the vulnerability is analyzed through the Java code analysis engine, and features of the vulnerability are extracted; If the vulnerability analysis engine corresponding to the type of vulnerability is a kernel code analysis engine, the vulnerability patch information of the vulnerability is analyzed through the kernel code analysis engine, and the vulnerability features are extracted; If the vulnerability analysis engine corresponding to the type of vulnerability is a configuration file analysis engine, the vulnerability patch information of the vulnerability is analyzed through the configuration file analysis engine, and the features of the vulnerability are extracted. Different vulnerability analysis engines analyze and extract the vulnerability characteristics of vulnerabilities in different processes.

하나의 취약성은 적어도 하나의 취약성 특징을 가지며, 만약 복수의 취약성이 존재하면, 복수의 취약성의 취약성 특징은 하나의 취약성 특징 집합을 이룬다.One vulnerability has at least one vulnerability characteristic, and if there are multiple vulnerabilities, the vulnerability characteristics of the plurality of vulnerabilities form one vulnerability characteristic set.

여기서, 코드 타입의 취약성에 대하여, 취약성 특징은 예를 들어 함수 부호, 클래스 또는 클래스 표시 멤버 정의의 증감일 수 있고, 코드 파일 중 유일성을 구비하는 문자열의 증감일 수도 있으며, 코드 실행 흐름의 변경(예를 들어 라이브러리 함수XX로의 점프 추가) 등일 수도 있다. 비 코드 타입의 취약성에 대하여, 취약성 특징은 예를 들어 문자열 특징의 증가, 문자열 특징의 삭제, 문자열 특징의 수정, 파일의 증가와 파일의 삭제 중 임의의 하나일 수 있고, 여기서 파일의 증가 또는 삭제는 라이브러리의 증가 또는 삭제일 수 있다.Here, with respect to the vulnerability of the code type, the vulnerability characteristic may be, for example, an increase or decrease in the definition of a function code, a class, or a class display member, an increase or decrease in a string having uniqueness among the code files, and a change in the code execution flow For example, adding a jump to the library function XX). For non-code type vulnerabilities, the vulnerability characteristic may be any one of, for example, an increase in character string characteristics, deletion of character string characteristics, modification of character string characteristics, increase or deletion of files, and deletion of files. May be an increase or deletion of a library.

S103, 취약성의 적어도 하나의 취약성 특징을 전자기기로 발송한다.S103, at least one vulnerability feature of the vulnerability is sent to the electronic device.

구체적으로, 전자기기가 취약성을 검출하도록, 취약성의 적어도 하나의 취약성 특징을 전자기기로 발송한다.Specifically, at least one vulnerability feature of the vulnerability is sent to the electronic device so that the electronic device detects the vulnerability.

본 실시예에 따른 취약성 특징 획득 방법은, 취약성의 취약성 패치 정보를 획득한 후, 취약성 패치 정보를 기초로 취약성이 코드 타입의 취약성 또는 비 코드 타입의 취약성인지를 확정한 후, 취약성의 타입에 대응되는 취약성 분석 엔진을 기초로 취약성의 적어도 하나의 취약성 특징을 추출하고, 마지막으로 취약성의 적어도 하나의 취약성 특징을 전자기기로 발송한다. 서로 다른 타입의 취약성은 서로 다른 타입의 취약성 분석 엔진에 대응되고, 취약성 분석 엔진은 서로 다른 타입의 취약성을 기초로 사전에 구축된 것이므로, 취약성의 취약성 특징을 온라인으로 획득하고, 취약성 특징의 획득 효율을 향상시키고, 인공적으로 취약성 특징을 분석하여 획득할 필요가 없이, 시스템 취약성 라이브러리의 유지 코스트를 감소시킬 수 있다.In the method for obtaining vulnerability characteristics according to the present embodiment, after obtaining the vulnerability patch information of the vulnerability, determining whether the vulnerability is a code-type vulnerability or a non-code type vulnerability based on the vulnerability patch information, and then responds to the type of vulnerability. At least one vulnerability feature of the vulnerability is extracted based on the vulnerability analysis engine, and finally, at least one vulnerability feature of the vulnerability is sent to the electronic device. Different types of vulnerabilities correspond to different types of vulnerability analysis engines, and since the vulnerability analysis engine is pre-built based on different types of vulnerabilities, the vulnerability features of the vulnerability can be acquired online and the efficiency of obtaining the vulnerability features It is possible to reduce the maintenance cost of the system vulnerability library without the need to artificially analyze and acquire the vulnerability characteristics.

도3은 본 출원에 따른 취약성 특징 획득 방법 실시예 2의 흐름도이다. 본 실시예 중 수행 주체는 도1에 도시된 취약성 특징 획득 장치일 수 있고, 도3에 도시에 도시된 바와 같이, 본 실시예의 방법은 도2에 도시된 방법의 기초 상에서, 추가적으로, S103 이전에 아래의 단계를 더 포함할 수 있다.3 is a flowchart of Embodiment 2 of a method for obtaining a vulnerability characteristic according to the present application. In the present embodiment, the execution subject may be the device for obtaining a vulnerability feature shown in FIG. 1, and as shown in FIG. 3, the method of this embodiment is based on the method shown in FIG. 2, and additionally, before S103. It may further include the following steps.

S104, 취약성의 적어도 하나의 취약성 특징 중 각각의 취약성 특징에 대하여, 취약성 특징의 소스 코드 또는 소스 파일이 위치하는 코드 파일을 기초로 취약성 특징의 운영 엔티티를 확정하여, 취약성의 취약성 특징과 운영 엔티티를 획득한다.S104, For each vulnerability characteristic among at least one vulnerability characteristic of the vulnerability, the operating entity of the vulnerability characteristic is determined based on the source code of the vulnerability characteristic or the code file in which the source file is located, and the vulnerability characteristic and the operating entity of the vulnerability are identified. Acquire.

구체적으로, 운영 엔티티는 코드 파일이 안드로이드 시스템에서 실행될 때 대응되는 애플리케이션(APP) 또는 시스템 소프트웨어이고, 만약 전자기기로 발송된 것이 취약성 특징 뿐이면, 검출 시 운영 엔티티를 시도하여야 하며, 검출이 보다 느리고, S102을 거쳐 취약성의 취약성 특징을 획득하고, 각각의 취약성 특징의 운영 엔티티를 확정하여, 이후의 취약성 검출에 사용하여야 하며, 각각의 취약성은 그 대응되는 운영 엔티티를 확정하고, 이에 따라 취약성 검출 효율을 향상시킬 수 있다. 취약성의 취약성 패치 정보를 기초로 취약성의 소스 코드 또는 소스 파일을 획득할 수 있고, 소스 코드는 코드 타입의 취약성에 대응되고, 소스 파일은 비 코드 타입의 취약성에 대응된다. 특별히 설명하면, 하나의 취약성의 취약성 특징이 복수개 존재하면, 복수의 취약성 특징의 운영 엔티티는 동일할 수 있고, 서로 다를 수도 있다.Specifically, the operating entity is the corresponding application (APP) or system software when the code file is executed on the Android system, and if only the vulnerability feature is sent to the electronic device, the operating entity should be attempted upon detection, and detection is slower. , Vulnerability characteristics of the vulnerability are obtained through S102, the operation entity of each vulnerability characteristic is determined, and used for subsequent vulnerability detection, and each vulnerability determines the corresponding operation entity, and accordingly, the vulnerability detection efficiency Can improve. The source code or source file of the vulnerability can be obtained based on the vulnerability patch information of the vulnerability, the source code corresponds to the vulnerability of the code type, and the source file corresponds to the vulnerability of the non-code type. Specifically, when a plurality of vulnerability features of one vulnerability exist, the operating entities of the plurality of vulnerability features may be the same or may be different from each other.

대응되게, S103은 구체적으로, 상기 취약성의 적어도 하나의 취약성 특징과 대응되는 운영 엔티티를 전자기기로 발송하는 단계(S103')일 수 있다.Correspondingly, S103 may specifically be a step (S103') of sending an operating entity corresponding to the at least one vulnerability characteristic of the vulnerability to an electronic device.

본 실시예에 따른 취약성 특징 획득 방법은, 취약성의 취약성 패치 정보를 획득한 후, 취약성 패치 정보를 기초로 취약성이 코드 타입의 취약성 또는 비 코드 타입의 취약성인지를 확정하고, 나아가 취약성의 타입에 대응되는 취약성 분석 엔진을 기초로 취약성의 적어도 하나의 취약성 특징을 추출하고, 이어서 추출한 각각의 취약성 특징은, 취약성 특징의 소스 코드 또는 소스 파일이 위치하는 코드 파일을 기초로 취약성 특징의 운영 엔티티를 확정하고, 마지막으로 취약성의 적어도 하나의 취약성 특징에 대응되는 운영 엔티티를 전자기기로 발송한다. 서로 다른 타입의 취약성은 서로 다른 타입의 취약성 분석 엔진에 대응되고, 취약성 분석 엔진은 서로 다른 타입의 취약성을 기초로 사전에 구축된 것이므로, 취약성의 취약성 특징과 대응되는 운영 엔티티룰 온라인으로 획득함으로써, 취약성 특징의 획득 효율을 향상시키고, 인공적으로 취약성 특징을 분석하여 획득할 필요가 없기에, 시스템 취약성 라이브러리의 유지 코스트를 감소시시킬 수 있다.In the method for obtaining vulnerability characteristics according to the present embodiment, after obtaining the vulnerability patch information of the vulnerability, it determines whether the vulnerability is a code type vulnerability or a non-code type vulnerability based on the vulnerability patch information, and further responds to the type of vulnerability. At least one vulnerability feature of the vulnerability is extracted based on the vulnerability analysis engine, and then each of the extracted vulnerability features determines the operating entity of the vulnerability feature based on the source code of the vulnerability feature or the code file in which the source file is located. Finally, an operational entity corresponding to at least one vulnerability characteristic of the vulnerability is sent to the electronic device. Since different types of vulnerabilities correspond to different types of vulnerability analysis engines, and the vulnerability analysis engine is built in advance based on different types of vulnerabilities, by obtaining online the operational entity rules corresponding to the vulnerability characteristics of the vulnerability, It is possible to reduce the maintenance cost of the system vulnerability library because it improves the efficiency of acquiring the vulnerability features and does not need to be acquired by artificially analyzing the vulnerability features.

도4는 본 출원에 따른 취약성 특징 획득 방법 실시예 3의 흐름도이다. 본 실시예 중 수행 주체는 도1에 도시된 취약성 특징 획득 장치일 수 있고, 도4에 도시된 바와 같이, 본 실시예의 방법은 아래의 단계들을 포함할 수 있다.4 is a flowchart of Embodiment 3 of a method for obtaining a vulnerability characteristic according to the present application. In the present embodiment, the execution subject may be the device for acquiring the vulnerability characteristics shown in FIG. 1, and as shown in FIG. 4, the method of the present embodiment may include the following steps.

S201, 취약성의 취약성 패치 정보를 획득한 후, 취약성 패치 정보를 기초로 취약성의 타입을 확정하되, 타입은 코드 타입의 취약성과 비 코드 타입의 취약성을 포함한다.S201, After obtaining the vulnerability patch information of the vulnerability, the type of the vulnerability is determined based on the vulnerability patch information, but the type includes the vulnerability of the code type and the vulnerability of the non-code type.

여기서, 취약성의 취약성 패치 정보를 획득하는 것은, 안드로이드 공식 사이트 안전 공고 정보로부터 획득한 것일 수 있고, 구체적인 획득 과정은 S101에 대한 기재를 참조할 수 있으며, 여기서는 중복되는 설명을 생략한다. 만약 취약성의 취약성 패치 정보가 취약성의 소스 코드와 취약성의 복구 코드를 포함하면, 취약성의 타입이 코드 타입의 취약성인 것으로 확정할 수 있고, S202를 수행하고; 만약 취약성의 취약성 패치 정보가 취약성의 소스 파일과 취약성의 복구 파일을 포함하면, 취약성의 타입이 비 코드 타입의 취약성인 것으로 확정할 수 있고, S203을 수행한다.Here, the acquisition of the vulnerability patch information of the vulnerability may be obtained from the safety announcement information on the Android official site, and the description of S101 may be referred to for a specific acquisition process, and duplicate descriptions are omitted here. If the vulnerability patch information of the vulnerability includes the source code of the vulnerability and the recovery code of the vulnerability, it can be determined that the type of vulnerability is the vulnerability of the code type, and S202 is performed; If the vulnerability patch information of the vulnerability includes the source file of the vulnerability and the recovery file of the vulnerability, it can be determined that the type of vulnerability is a non-code type vulnerability, and S203 is performed.

S202, 코드 타입의 취약성에 대응되는 취약성 분석 엔진을 기초로 취약성의 적어도 하나의 취약성 특징을 추출한다.S202, at least one vulnerability feature of the vulnerability is extracted based on the vulnerability analysis engine corresponding to the vulnerability of the code type.

여기서, 코드 타입의 취약성에 대응되는 것은 코드 분석 엔진이고, 서로 다른 언어의 코드는 서로 다른 코드 분석 엔진, 예를 들어C/C++ 코드 분석 엔진, Java 코드 분석 엔진과 커널 코드 분석 엔진 등에 대응된다.Here, the code analysis engine corresponds to the vulnerability of the code type, and codes of different languages correspond to different code analysis engines, for example, C/C++ code analysis engines, Java code analysis engines, and kernel code analysis engines.

일 가능한 실시형태에서, S202는 코드 타입의 취약성에 대응되는 취약성 분석 엔진을 통해 아래와 같은 조작을 수행하는 것일 수 있다.In one possible embodiment, S202 may be to perform the following operation through the vulnerability analysis engine corresponding to the vulnerability of the code type.

S2021, 취약성의 소스 코드와 취약성의 복구 코드에 대해 대응되는 코딩 언어의 구문 분석을 수행하고, 구문 분석 결과를 기초로 취약성의 소스 코드와 취약성의 복구 코드의 적어도 하나의 차이 정보를 확정하되, 차이 정보는 예를 들어 함수 부호, 클래스 또는 클래스 표시 멤버 정의의 증감일 수 있고, 코드 파일 중 유일성을 구비하는 문자열의 증감일 수도 있고, 코드 실행 흐름의 변경(예를 들어 라이브러리 함수XX로의 점프 추가) 등일 수도 있다.S2021, Parsing of the corresponding coding language for the source code of the vulnerability and the recovery code of the vulnerability is performed, and at least one difference information between the source code of the vulnerability and the recovery code of the vulnerability is determined based on the parsing result, but the difference The information may be, for example, the increase or decrease of the function code, the class or the class display member definition, the increase or decrease of the string having uniqueness in the code file, or the change of the code execution flow (e.g., adding a jump to the library function XX) It could also be.

S2022, 적어도 하나의 차이 정보를 기초로 취약성의 취약성 특징을 확정하고, 하나의 차이 정보는 하나의 취약성 특징에 대응되고, 즉 차이 정보를 확정한 후, 하나의 차이 정보를 하나의 취약성 특징으로 확정한다.S2022, Based on at least one difference information, the vulnerability characteristics of the vulnerability are determined, and one difference information corresponds to one vulnerability characteristic, that is, after determining the difference information, one difference information is determined as one vulnerability characteristic. do.

후술하는 일 취약성의 취약성 패치 정보를 예로 든다.Vulnerability patch information of a vulnerability to be described later is given as an example.

---a/src/android、SkAandroidFrameworkUtils.cpp---a/src/android、SkAandroidFrameworkUtils.cpp

+++b src/android、SkAandroidFrameworkUtils.cpp+++b src/android、SkAandroidFrameworkUtils.cpp

@@-17,7+17,9@@@@-17,7+17,9@@

#include"effects/GrDisableColorXP.h"#include"effects/GrDisableColorXP.h"

#endif//SK_SUPPORT_GPU#endif//SK_SUPPORT_GPU

-#ifdef SK_BUILD_FOR_ANDROID-#ifdef SK_BUILD_FOR_ANDROID

+#ifdef SK_BUILD_FOR_ANDROID_FRAMWORK+#ifdef SK_BUILD_FOR_ANDROID_FRAMWORK

++

+# include<log/log.h>+# include<log/log.h>

#if SK_ SUPPORT_GPU#if SK_ SUPPORT_GPU

Bool SkAndroidFrameworkUtils::clipWithStencil(skcanvas*canvas){Bool SkAndroidFrameworkUtils::clipWithStencil(skcanvas*canvas){

@@-52,5 +54,9@@@@-52,5 +54,9@@

# end if//SK_SUPPORT_GPU# end if//SK_SUPPORT_GPU

- end if// SK_BUILD_FOR_ANDROID-end if// SK_BUILD_FOR_ANDROID

+void SKAndroidFrameworkUtils::safet8Netlog(const char*bugNumber)+void SKAndroidFrameworkUtils::safet8Netlog(const char*bugNumber)

+ android_errorwritelog(0x534e4554,bugNumber);+ android_errorwritelog(0x534e4554,bugNumber);

+}+}

++

+#end if// SK_BUILD_FOR_ANDROID_FRAMWORK+#end if// SK_BUILD_FOR_ANDROID_FRAMWORK

상술한 취약성의 취약성 패치 정보에서, 코드 앞에 "-"가 있는 코드는 취약성의 소스 코드이고, 코드 앞에 "+"가 있는 코드는 취약성의 복구 코드이며, 그 중 일부분 "In the vulnerability patch information of the above described vulnerability, the code with "-" in front of the code is the source code of the vulnerability, and the code with "+" in front of the code is the recovery code for the vulnerability, and some of them "

- end if// SK_BUILD_FOR_ANDROID-end if// SK_BUILD_FOR_ANDROID

+void SKAndroidFrameworkUtils::safet8Netlog(const char*bugNumber)+void SKAndroidFrameworkUtils::safet8Netlog(const char*bugNumber)

+ android_errorwritelog(0x534e4554,bugNumber);"+ android_errorwritelog(0x534e4554,bugNumber);"

""

을 기초로, 대응되는 클래스 구현에 방법 "void SKAndroidFrameworkUtils::safet8Netlog(const char*bugNumber)"이 증가되었음을 분석해 낼 수 있으며, 해당 방법 "void SKAndroidFrameworkUtils::safet8Netlog(const char*bugNumber)"은 바로 하나의 취약성 특징이다.Based on, it can be analyzed that the method "void SKAndroidFrameworkUtils::safet8Netlog(const char*bugNumber)" has been increased in the corresponding class implementation, and the corresponding method "void SKAndroidFrameworkUtils::safet8Netlog(const char*bugNumber)" is just one It is a vulnerability characteristic.

본 실시형태에서 코드 타입의 취약성에 대응되는 취약성 분석 엔진을 통해 취약성의 소스 코드와 취약성의 복구 코드에 대해 대응되는 코딩 언어의 구문 분석을 수행하고, 구문 분석 결과를 기초로 취약성의 소스 코드와 취약성의 복구 코드의 적어도 하나의 차이 정보를 확정하고, 하나의 차이 정보를 하나의 취약성 특징으로 확정하여, 온라인으로 코드 타입의 취약성의 취약성 특징을 획득하는 것을 구현할 수 있으며, 취약성 특징의 획득 효율을 향상시킨다.In this embodiment, the source code of the vulnerability and the recovery code of the vulnerability are parsed for the corresponding coding language through the vulnerability analysis engine corresponding to the vulnerability of the code type, and based on the result of the parsing analysis, the source code and the vulnerability of the vulnerability It is possible to implement at least one difference information of the recovery code of the code and determine the difference information as one vulnerability feature to acquire the vulnerability features of the vulnerability of the code type online, and improve the efficiency of obtaining the vulnerability features. Let it.

S203, 비 코드 타입의 취약성에 대응되는 취약성 분석 엔진을 기초로 취약성의 적어도 하나의 취약성 특징을 추출한다.S203, At least one vulnerability feature of the vulnerability is extracted based on the vulnerability analysis engine corresponding to the non-code type vulnerability.

비 코드 타입의 취약성에 대응되는 것은 파일 분석 엔진, 예컨대 구성 파일 분석 엔진 등이다. 일 가능한 실시형태에서, S203은 비 코드 타입의 취약성에 대응되는 취약성 분석 엔진을 통해 아래와 같은 조작을 수행하는 것일 수 있다.Corresponding to non-code type vulnerabilities is a file analysis engine, such as a configuration file analysis engine. In one possible embodiment, S203 may be to perform the following operation through a vulnerability analysis engine corresponding to a non-code type vulnerability.

S2031, 취약성의 소스 파일과 취약성의 복구 파일의 적어도 하나의 변화 정보를 확정하고, 변화 정보는 문자열 특징의 증가, 문자열 특징의 삭제, 문자열 특징의 수정, 파일의 증가와 파일의 삭제 중 임의의 하나를 포함하고, 여기서 파일의 증가 또는 삭제는 라이브러리의 증가 또는 삭제일 수 있다.S2031, at least one change information of the source file of the vulnerability and the recovery file of the vulnerability is determined, and the change information is any one of increase of character string feature, deletion of character string feature, modification of character string feature, increase of file and deletion of file Including, wherein the increase or deletion of a file may be an increase or deletion of a library.

S2032, 취약성의 소스 파일이 위치하는 코드 파일을 확정하고, 취약성의 소스 파일이 위치하는 코드 파일에서 적어도 하나의 변화 정보 중 각각의 변화 정보가 유일성을 구비하는지 여부를 검색한다.In step S2032, a code file in which the source file of the vulnerability is located is determined, and in the code file in which the source file of the vulnerability is located, it is searched whether each change information has uniqueness among at least one change information.

S2033, 유일성을 구비하는 변화 정보를 취약성의 취약성 특징으로 확정한다.S2033, change information with uniqueness is determined as the vulnerability characteristic of the vulnerability.

본 실시형태에서 비 코드 타입의 취약성에 대응되는 취약성 분석 엔진을 통해 취약성의 소스 파일과 취약성의 복구 파일 사이의 변화 정보를 확정하고, 취약성의 소스 파일이 위치하는 코드 파일에서 각각의 변화 정보가 유일성을 구비하는지 여부를 확정하고, 유일성을 구비하는 변화 정보를 취약성의 취약성 특징으로 확정한다. 이에 따라 온라인으로 비 코드 타입의 취약성의 취약성 특징을 획득하는 목적을 달성할 수 있으며, 취약성 특징의 획득 효율을 향상시킨다.In this embodiment, the change information between the source file of the vulnerability and the recovery file of the vulnerability is determined through the vulnerability analysis engine corresponding to the vulnerability of the non-code type, and each change information is unique in the code file where the source file of the vulnerability is located. It is determined whether or not is provided, and the change information having uniqueness is determined as the vulnerability characteristic of the vulnerability. Accordingly, the purpose of acquiring the vulnerability characteristics of non-code type vulnerabilities online can be achieved, and the efficiency of acquiring the vulnerability characteristics is improved.

S204, 상기 취약성의 적어도 하나의 취약성 특징 중 각각의 취약성 특징에 대하여, 취약성 특징의 소스 코드 또는 소스 파일이 위치하는 코드 파일을 기초로 취약성 특징의 운영 엔티티를 확정하여, 취약성의 취약성 특징과 운영 엔티티를 획득한다.S204, for each vulnerability characteristic among the at least one vulnerability characteristic of the vulnerability, by determining the operating entity of the vulnerability characteristic based on the source code of the vulnerability characteristic or the code file in which the source file is located, the vulnerability characteristic and the operating entity of the vulnerability To obtain.

여기서, 일 가능한 실시형태에서, 취약성 특징의 소스 코드 또는 소스 파일이 위치하는 코드 파일을 기초로 취약성 특징의 운영 엔티티를 확정하는 것은 구체적으로:Here, in one possible embodiment, determining the operating entity of the vulnerability feature based on the source code of the vulnerability feature or the code file in which the source file is located is specifically:

S2041, 취약성 특징의 소스 코드 또는 소스 파일이 위치하는 코드 파일을 확정한다.S2041, the source code of the vulnerability feature or the code file in which the source file is located is determined.

S2042, 코드 파일의 컴파일링 구성 파일로부터 코드 파일의 운영 엔티티를 검색하고, 코드 파일의 운영 엔티티를 기초로 취약성 특징의 운영 엔티티를 확정한다.S2042, the operation entity of the code file is searched for from the compilation configuration file of the code file, and the operation entity of the vulnerability characteristic is determined based on the operation entity of the code file.

여기서, 각각의 버전의 시스템은 하나의 컴파일링 구성 파일에 대응되고, 컴파일링 구성 파일은 코드 파일과 대응되는 운영 엔티티의 매핑 관계를 저장하므로, 코드 파일의 컴파일링 구성 파일로부터 코드 파일의 운영 엔티티를 검색하고, 코드 파일의 운영 엔티티를 기초로 취약성 특징의 운영 엔티티를 확정할 수 있다. 취약성 특징의 운영 엔티티를 확정하여, 이후의 취약성 검출을 용이하게 한다. 구체적으로, 각각의 취약성 특징을 검출할 때, 취약성 특징을 기초로 대응되는 특징 검출 코드를 컴파일링하고, 특징 검출 코드를 검출 대상 전자기기 상의 대응되는 운영 엔티티 상에서 실행하여, 취약성 특징의 존재 여부를 검출함으로써, 취약성을 검출하는 목적을 달성하고, 검출 효율을 향상시킬 수 있다.Here, each version of the system corresponds to one compilation configuration file, and the compilation configuration file stores the mapping relationship between the code file and the corresponding operation entity, so the operation entity of the code file from the compilation configuration file of the code file And, based on the operating entity of the code file, the operating entity of the vulnerability characteristic can be determined. By determining the operational entity of the vulnerability feature, it facilitates subsequent vulnerability detection. Specifically, when each vulnerability feature is detected, the corresponding feature detection code is compiled based on the vulnerability feature, and the feature detection code is executed on the corresponding operating entity on the detection target electronic device to determine whether the vulnerability feature exists. By detecting, the purpose of detecting fragility can be achieved and detection efficiency can be improved.

도2 내지 도4 중 어느 하나에 도시된 실시예의 기초 상에서, 추가적으로, 획득한 취약성 특징에 대해 검증하여, 취약성 특징 획득 정확성을 향상시킬 수 있다. 도5에 도시된 방법을 예로 들면, 도5는 본 출원에 따른 취약성 특징 획득 방법 실시예 4의 흐름도이다. 도5에 도시된 바와 같이, 본 실시예의 방법은 S204 이후에, 아래의 단계를 더 포함할 수 있다.On the basis of the embodiment shown in any one of FIGS. 2 to 4, additionally, by verifying the acquired vulnerability features, it is possible to improve the accuracy of obtaining the vulnerability features. Taking the method shown in FIG. 5 as an example, FIG. 5 is a flowchart of Embodiment 4 of a method for obtaining vulnerability features according to the present application. As shown in Fig. 5, the method of this embodiment may further include the following steps after S204.

S205, 취약성의 적어도 하나의 취약성 특징을 사전에 구축된 테스트 대상 드론 클러스터에 통과시켜 테스트 검증을 수행하여, 검증에 통과한 취약성 특징을 획득하되, 테스트 대상 드론 클러스터는 취약성이 복구된 테스트 대상 드론과 취약성이 복구되지 않은 테스트 대상 드론을 포함한다.S205, at least one vulnerability feature of the vulnerability is passed through a pre-built test target drone cluster to perform a test verification to obtain the verified vulnerability feature, but the test target drone cluster is connected to the test target drone from which the vulnerability has been restored. Includes drones under test for which vulnerabilities have not been repaired.

여기서, 테스트 대상 드론 클러스터는 서로 다른 안드로이드 시스템 버전, 서로 다른 프로세서 아키텍쳐 플랫폼과 서로 다른 안전패치 버전을 기초로 구축된 복수의 테스트 대상 드론이고, 테스트 대상 드론 클러스터는 취약성이 복구된 테스트 대상 드론과 취약성이 복구되지 않은 테스트 대상 드론을 포함하고, 취약성이 복구된 테스트 대상 드론은 취약성 특징을 검출해내지 못하고, 취약성이 복구되지 않은 테스트 대상 드론은 취약성 특징을 검출해낼 수 있다. 이렇게 하여야만, 획득한 취약성 특징의 정확성을 확보할 수 있고, 테스트 대상 드론은 가상기(예컨대 Gen8motion 가상기)와 실제기로 공통 구성될 수 있고, 여기서 Gen8motion 가상기는 안드로이드시뮬레이터로서, Android 시뮬레이션 환경을 제공한다. 테스트 대상 드론 클러스터는 서로 다른 안드로이드 시스템 버전, 서로 다른 프로세서 아키텍쳐 플랫폼과 서로 다른 안전패치 버전을 기초로 구축되고, 각각의 테스트 대상 드론은 하나의 안드로이드 시스템 버전, 하나의 프로세서 아키텍쳐 플랫폼과 하나의 안전 패치 버전에 대응되므로, 이에 따라 검증의 전면성과 정확성을 확보할 수 있다.Here, the test target drone cluster is a plurality of test target drones built on the basis of different Android system versions, different processor architecture platforms, and different safety patch versions, and the test target drone cluster is the test target drone and the vulnerability from which the vulnerability has been restored. Including the unrecovered test target drone, the test target drone whose vulnerability has been restored cannot detect the vulnerability feature, and the test drone whose vulnerability has not been restored can detect the vulnerability feature. Only in this way, the accuracy of the acquired vulnerability characteristics can be ensured, and the drone to be tested can be configured in common with a virtual machine (for example, Gen8motion virtual machine) and a real machine, where the Gen8motion virtual machine is an Android simulator and provides an Android simulation environment. . The drone cluster under test is built on the basis of different Android system versions, different processor architecture platforms, and different safety patch versions, and each test drone has one Android system version, one processor architecture platform, and one safety patch. Since it corresponds to the version, it is possible to secure the completeness and accuracy of the verification accordingly.

S206, 검증에 통과한 취약성 특징을 취약성의 취약성 특징으로 확정한다.S206, The vulnerability characteristics that have passed verification are determined as the vulnerability characteristics of the vulnerability.

획득한 취약성 특징을 사전에 구축된 테스트 대상 드론 클러스터에서 테스트 검증하고, 검증에 통과한 취약성 특징과 운영 엔티티는 최종적인 취약성의 취약성 특징으로서, 취약성 획득 정확성을 향상시키고, 취약성 특징의 오경보 확률을 향상시킬 수 있다.The acquired vulnerability features are tested and verified in a pre-built test target drone cluster, and the vulnerability features and operational entities that pass verification are the final vulnerability features of the vulnerability, improving the accuracy of vulnerability acquisition and improving the probability of false alarms of the vulnerability features. I can make it.

선택적으로, S205에서 검증에 통과하지 못한 취약성 특징이 획득될 때, 본 실시예의 방법은, 검증에 통과하지 못한 취약성 특징을 디스플레이하는 단계(S207)를 더 포함할 수 있다.Optionally, when a vulnerability feature that has not passed the verification is acquired in S205, the method of the present embodiment may further include displaying the vulnerability feature that has not passed the verification (S207).

검증에 통과하지 못한 취약성 특징에 대하여, 사용자에게 디스플레이하고, 사용자(즉 개발자)는 검증에 통과하지 못한 취약성 특징의 발생 원인을 분석하고, 검증에 통과하지 못한 취약성 특징의 발생 원인은 운영 엔티티가 발견되지 않은 것, 취약성 특징이 대응되는 운영 엔티티로부터 발견되지 않은 것, 취약성 특징이 대응되는 운영 엔티티의 대조 버전에서 차이가 나타나지 않은 것 및 실행 권한 결여 중 임의의 하나를 포함할 수 있다. 사용자는 원인을 분석한 후, 검증에 통과하지 못한 취약성 특징의 발생 원인을 입력할 수 있다. 추가적으로, 본 실시예의 방법은 아래의 단계를 더 포함할 수 있다.Vulnerability features that did not pass verification are displayed to the user, the user (i.e. developer) analyzes the cause of the vulnerability features that did not pass verification, and the cause of the vulnerability feature that did not pass verification is found by the operational entity. It may include any one of not, the vulnerability feature not found from the corresponding operational entity, the vulnerability feature does not show a difference in the contrast version of the corresponding operational entity, and a lack of execution privileges. After analyzing the cause, the user can enter the cause of the vulnerability feature that did not pass verification. Additionally, the method of this embodiment may further include the following steps.

S208, 사용자가 입력한 검증에 통과하지 못한 취약성 특징의 발생 원인을 수신하고, 검증에 통과하지 못한 취약성 특징의 발생 원인을 기초로 취약성 분석 엔진을 증가하거나 또는 취약성 분석 엔진을 수정한다. 정확한 취약성 특징을 획득하도록 보조할 수 있으며, 추가적으로 취약성 획득 정확성을 향상시키고, 취약성 특징의 오경보 확률을 낮춘다.S208, the cause of the vulnerability feature that did not pass the verification entered by the user is received, and the vulnerability analysis engine is increased or the vulnerability analysis engine is modified based on the cause of the vulnerability feature that did not pass the verification. It can assist in acquiring accurate vulnerability features, additionally improves the accuracy of vulnerability acquisition, and lowers the probability of false alarms of the vulnerability features.

본 실시예에 따른 취약성 특징 획득 방법은, 획득한 취약성 특징을 사전에 구축된 테스트 대상 드론 클러스터에서 테스트 검증하여, 검증에 통과한 취약성 특징과 운영 엔티티는 최종적인 취약성의 취약성 특징과 운영 엔티티이고, 검증에 통과하지 못한 취약성 특징에 대하여, 사용자가 입력한 검증에 통과하지 못한 취약성 특징의 발생 원인을 기초로 취약성 분석 엔진을 증가하거나 또는 취약성 분석 엔진을 수정하여, 정확한 취약성 특징을 획득하도록 보조할 수 있으며, 추가적으로 취약성 획득 정확성을 향상시키고, 취약성 특징의 오경보 확률을 낮춘다.In the method for acquiring vulnerability features according to the present embodiment, the acquired vulnerability features are tested and verified in a pre-built test target drone cluster, and the vulnerability features and operation entities that pass the verification are the final vulnerability features and operation entities, For the vulnerability features that did not pass the verification, the vulnerability analysis engine can be increased based on the cause of the vulnerability feature that did not pass the verification entered by the user, or the vulnerability analysis engine can be modified to assist in acquiring accurate vulnerability features. In addition, it improves the accuracy of acquiring vulnerabilities and lowers the probability of false alarms of vulnerability features.

도6은 본 출원에 따른 취약성 특징 획득 장치의 구조도이다. 도6에 도시된 바와 같이, 본 실시예의 취약성 특징 획득 장치(100)는 획득모듈(11), 확정모듈(12), 추출모듈(13)과 발송모듈(14)을 포함할 수 있고, 여기서, 획득모듈(11)은 취약성의 취약성 패치 정보를 획득하기 위한 것이고, 확정모듈(12)은 취약성 패치 정보를 기초로 취약성의 타입을 확정하기 위한 것이고, 타입은 코드 타입의 취약성과 비 코드 타입의 취약성을 포함하고, 추출모듈(13)은 취약성의 타입에 대응되는 취약성 분석 엔진을 기초로 취약성의 적어도 하나의 취약성 특징을 추출하기 위한 것이고, 발송모듈(14)은 상기 취약성의 적어도 하나의 취약성 특징을 전자기기로 발송하기 위한 것이다.6 is a structural diagram of an apparatus for acquiring a vulnerability feature according to the present application. As shown in Fig. 6, the vulnerability characteristic acquisition device 100 of the present embodiment may include an acquisition module 11, a determination module 12, an extraction module 13, and a sending module 14, where, The acquisition module 11 is for acquiring the vulnerability patch information of the vulnerability, the determination module 12 is for determining the type of vulnerability based on the vulnerability patch information, and the type is the vulnerability of the code type and the vulnerability of the non-code type. Including, the extraction module 13 is for extracting at least one vulnerability feature of the vulnerability based on the vulnerability analysis engine corresponding to the type of vulnerability, and the sending module 14 is for extracting at least one vulnerability feature of the vulnerability. It is intended to be sent to electronic devices.

추가적으로, 확정모듈(12)은 또한 상기 취약성의 적어도 하나의 취약성 특징 중 각각의 취약성 특징에 대하여, 취약성 특징의 소스 코드 또는 소스 파일이 위치하는 코드 파일을 기초로 취약성 특징의 운영 엔티티를 확정하기 위한 것이다.In addition, the determination module 12 is also configured to determine the operating entity of the vulnerability characteristic based on the source code of the vulnerability characteristic or a code file in which the source file is located, for each vulnerability characteristic among the at least one vulnerability characteristic of the vulnerability. will be.

대응되게, 발송모듈은 상기 취약성의 적어도 하나의 취약성 특징에 대응되는 운영 엔티티를 전자기기로 발송하기 위한 것이다.Correspondingly, the sending module is for sending the operating entity corresponding to the at least one vulnerability characteristic of the vulnerability to the electronic device.

선택적으로, 취약성의 취약성 패치 정보는 취약성의 소스 코드와 취약성의 복구 코드를 포함하고, 추출모듈(12)은 취약성의 타입에 대응되는 취약성 분석 엔진을 통해,Optionally, the vulnerability patch information of the vulnerability includes the source code of the vulnerability and the recovery code of the vulnerability, and the extraction module 12 is through a vulnerability analysis engine corresponding to the type of vulnerability,

취약성의 소스 코드와 취약성의 복구 코드에 대해 대응되는 코딩 언어의 구문 분석을 수행하고;Parsing a corresponding coding language for the vulnerability source code and the vulnerability recovery code;

구문 분석 결과를 기초로 취약성의 소스 코드와 취약성의 복구 코드의 적어도 하나의 차이 정보를 확정하고, 적어도 하나의 차이 정보를 기초로 취약성의 취약성 특징을 확정하고, 하나의 차이 정보는 하나의 취약성 특징에 대응되는; 조작을 수행하기 위한 것이다.At least one difference information between the source code of the vulnerability and the recovery code of the vulnerability is determined based on the result of the syntax analysis, the vulnerability characteristics of the vulnerability are determined based on the at least one difference information, and the difference information is one vulnerability characteristic Corresponding to; To perform the operation.

선택적으로, 취약성의 취약성 패치 정보는 취약성의 소스 파일과 취약성의 복구 파일을 포함하고, 추출모듈(12)은,Optionally, the vulnerability patch information of the vulnerability includes a source file of the vulnerability and a recovery file of the vulnerability, and the extraction module 12,

취약성의 타입에 대응되는 취약성 분석 엔진을 통해,Through the vulnerability analysis engine corresponding to the type of vulnerability,

취약성의 소스 파일과 취약성의 복구 파의 적어도 하나의 변화 정보를 확정하고, 변화 정보는 문자열 특징의 증가, 문자열 특징의 삭제, 문자열 특징의 수정, 파일의 증가와 파일의 삭제 중 임의의 하나를 포함하고;At least one change information of the source file of the vulnerability and the recovery wave of the vulnerability is determined, and the change information includes any one of increase of character string, deletion of character string, modification of character string, increase of file, and deletion of file. and;

취약성의 소스 파일이 위치하는 코드 파일을 확정하고, 취약성의 소스 파일이 위치하는 코드 파일에서 적어도 하나의 변화 정보 중 각각의 변화 정보가 유일성을 구비하는지 여부를 확정하고;Determine a code file in which the source file of the vulnerability is located, and determine whether each change information of the at least one change information has uniqueness in the code file in which the source file of the vulnerability is located;

유일성을 구비하는 변화 정보를 취약성의 취약성 특징으로 확정하는; 조작을 수행하기 위한 것이다.Determining change information having uniqueness as a vulnerability characteristic of the vulnerability; To perform the operation.

추가적으로, 확정모듈(12)은 구체적으로,Additionally, the determination module 12 is specifically,

취약성 특징의 소스 코드 또는 소스 파일이 위치하는 코드 파일을 확정하고;Determine the source code of the vulnerability feature or a code file in which the source file is located;

코드 파일의 컴파일링 구성 파일로부터 코드 파일의 운영 엔티티를 검색하고, 코드 파일의 운영 엔티티를 기초로 취약성 특징의 운영 엔티티를 확정하기 위한 것이다.This is to search for an operating entity of the code file from the compilation configuration file of the code file, and to determine the operating entity of the vulnerability feature based on the operating entity of the code file.

본 실시예의 장치는 도2 또는 도3 또는 도4에 도시된 방법 실시예의 기술방안을 수행할 수 있으며, 그 구현원리와 기술효과가 유사하므로, 여기서는 중복되는 설명을 생략한다.The apparatus of the present embodiment can perform the technical solution of the method embodiment shown in Fig. 2 or 3 or 4, and the implementation principle and technical effect are similar, and thus a redundant description is omitted here.

도7은 본 출원에 따른 취약성 특징 획득 장치의 구조도이다. 도7에 도시된 바와 같이, 본 실시예의 취약성 특징 획득 장치(200)는 도6에 도시된 장치의 기초 상에서, 검증모듈(15)을 더 포함할 수 있다.7 is a structural diagram of an apparatus for acquiring a vulnerability feature according to the present application. As shown in FIG. 7, the apparatus 200 for obtaining vulnerability characteristics according to the present embodiment may further include a verification module 15 on the basis of the apparatus shown in FIG. 6.

검증모듈(15)은 상기 취약성의 적어도 하나의 취약성 특징을 사전에 구축된 테스트 대상 드론 클러스터에 통과시켜 테스트 검증을 수행하여, 검증에 통과한 취약성 특징을 획득하기 위한 것이고, 상기 테스트 대상 드론 클러스터는 취약성이 복구된 테스트 대상 드론과 취약성이 복구되지 않은 테스트 대상 드론을 포함한다.The verification module 15 is for performing test verification by passing at least one vulnerability feature of the vulnerability through a pre-built test target drone cluster to obtain a vulnerability feature that has passed the verification, and the test target drone cluster This includes drones under test that have recovered vulnerabilities and drones under test with no vulnerabilities recovered.

확정모듈(14)은 또한 상기 검증에 통과한 취약성 특징을 상기 취약성의 취약성 특징으로 확정하기 위한 것이다.The determination module 14 is also for determining the vulnerability characteristic that has passed the verification as the vulnerability characteristic of the vulnerability.

선택적으로, 테스트 대상 드론 클러스터는 서로 다른 안드로이드 시스템 버전, 서로 다른 프로세서 아키텍쳐 플랫폼과 서로 다른 안전패치 버전을 기초로 구축된다.Optionally, the drone cluster under test is built on the basis of different Android system versions, different processor architecture platforms, and different safety patch versions.

본 실시예의 장치는 도5에 도시된 방법 실시예의 기술방안을 수행할 수 있으며, 그 구현원리와 기술효과가 유사하므로, 여기서는 중복되는 설명을 생략한다.The apparatus of the present embodiment can perform the technical solution of the method embodiment shown in FIG. 5, and the implementation principle and technical effect are similar, and thus, a redundant description is omitted here.

도8은 본 출원에 따른 취약성 특징 획득 장치의 구조도이다. 도8에 도시된 바와 같이, 본 실시예의 취약성 특징 획득 장치(300)는 도7에 도시된 장치의 기초 상에서, 디스플레이 모듈(16)을 더 포함할 수 있다. 해당 디스플레이 모듈(16)은 검증에 통과하지 못한 취약성 특징이 획득될 때, 검증에 통과하지 못한 취약성 특징을 디스플레이하기 위한 것이다.8 is a structural diagram of an apparatus for acquiring a vulnerability feature according to the present application. As shown in FIG. 8, the apparatus 300 for obtaining vulnerability characteristics according to the present embodiment may further include a display module 16 on the basis of the apparatus shown in FIG. 7. The corresponding display module 16 is for displaying a vulnerability feature that has not passed the verification when a vulnerability feature that has not passed the verification is acquired.

추가적으로, 수신모듈(17)과 처리모듈(18)을 더 포함할 수 있으며, 여기서, 수신모듈(18)은 사용자가 입력한 검증에 통과하지 못한 취약성 특징의 발생 원인을 수신하기 위한 것이고, 처리모듈(19)은 검증에 통과하지 못한 취약성 특징의 발생 원인을 기초로 취약성 분석 엔진을 증가하거나 또는 취약성 분석 엔진을 수정하기 위한 것이다.Additionally, it may further include a receiving module 17 and a processing module 18, where the receiving module 18 is for receiving the cause of the vulnerability characteristic that did not pass the verification input by the user, and the processing module (19) is to increase the vulnerability analysis engine or modify the vulnerability analysis engine based on the cause of the vulnerability feature that did not pass verification.

본 실시예의 장치는 도5에 도시된 방법 실시예의 기술방안을 수행할 수 있으며, 그 구현원리와 기술효과가 유사하므로, 여기서는 중복되는 설명을 생략한다.The apparatus of the present embodiment can perform the technical solution of the method embodiment shown in FIG. 5, and the implementation principle and technical effect are similar, and thus, a redundant description is omitted here.

본 출원의 실시예에 따르면, 본 출원은 컴퓨터 판독 가능 저장매체에 저장된 컴퓨터 프로그램을 더 제공하며, 전자기기의 적어도 하나의 프로세서는 판독 가능 저장매체로부터 컴퓨터 명령을 판독할 수 있으며, 적어도 하나의 프로세서는 컴퓨터 프로그램을 실행하여 전자기기가 상술한 어느 실시예에 따른 방안을 수행하도록 한다.According to an embodiment of the present application, the present application further provides a computer program stored in a computer-readable storage medium, at least one processor of the electronic device can read computer instructions from the readable storage medium, and at least one processor Executes a computer program to cause the electronic device to perform the method according to any of the above-described embodiments.

본 출원의 실시예에 따르면, 본 출원은 전자기기와 판독 가능 저장매체를 더 제공한다.According to an embodiment of the present application, the present application further provides an electronic device and a readable storage medium.

도9를 참조하면, 도9는 본 출원의 실시예에 따른 취약성 특징 획득 방법을 위한 전자기기의 블록도이다. 전자기기는 다양한 형태의 디지털 컴퓨터, 예컨대, 랩톱 컴퓨터, 데스크톱 컴퓨터, 워크 스테이션, 개인 정보 단말, 서버, 블레이드 서버, 대형 컴퓨터, 및 기타 적합한 컴퓨터를 의미한다. 전자기기는 다양한 형태의 이동장치, 예컨대, 개인 정보 단말, 셀폰, 스마트 폰, 웨어러블 기기 및 기타 유사한 컴퓨팅 장치를 의미할 수도 있다. 본문에 개시된 부재, 이들의 연결 및 관계, 및 이들의 기능은 단지 예시적인 것이며, 본문에 개시된 것 및/또는 요구하는 본 출원의 구현을 한정하려는 의도가 아니다.Referring to FIG. 9, FIG. 9 is a block diagram of an electronic device for a method of obtaining a vulnerability characteristic according to an embodiment of the present application. Electronic devices refer to various types of digital computers, such as laptop computers, desktop computers, workstations, personal information terminals, servers, blade servers, large computers, and other suitable computers. Electronic devices may refer to various types of mobile devices, such as personal information terminals, cell phones, smart phones, wearable devices, and other similar computing devices. The members disclosed herein, their connections and relationships, and their functions are merely exemplary, and are not intended to limit the implementation of the present application as disclosed and/or required by the text.

도9에 도시된 바와 같이, 해당 전자기기는 하나 또는 복수의 프로세서(801), 메모리(802), 및 각 부재를 연결시키기 위한 고속 인터페이스와 저속 인터페이스를 포함하는 인터페이스를 포함한다. 각각의 부재는 서로 다른 버스를 통해 서로 연결되며, 공통 메인보드에 장착되거나 수요에 따라 기타 방식으로 장착될 수 있다. 프로세서는 전자기기 내에서 실행되는 명령을 처리할 수 있으며, 메모리 내 또는 메모리 상에 저장되어 외부 입력/출력 장치(예컨대, 인터페이스에 커플링된 디스플레이 기기) 상에 GUI의 그래픽 정보를 표시하는 명령을 포함할 수 있다. 기타 실시형태에서, 수요에 따라, 복수의 프로세서 및/또는 복수의 버스와 복수의 메모리를 같이 사용할 수 있다. 마찬가지로, 복수의 전자기기를 연결할 수 있으며, 각각의 기기는 부분 필요한 조작을 제공한다(예를 들어, 서버 어레이, 한 세트의 블레이드 서버, 또는 멀티 프로세서 시스템으로서). 도9는 하나의 프로세서(801)를 예로 든다.As shown in Fig. 9, the electronic device includes one or more processors 801, a memory 802, and an interface including a high-speed interface and a low-speed interface for connecting each member. Each member is connected to each other through a different bus, and can be mounted on a common main board or mounted in other ways according to demand. The processor may process commands executed in the electronic device, and is stored in or on the memory to provide commands to display graphic information of the GUI on an external input/output device (eg, a display device coupled to an interface). Can include. In other embodiments, a plurality of processors and/or a plurality of buses and a plurality of memories may be used together, depending on demand. Likewise, it is possible to connect multiple electronic devices, each of which provides some necessary operation (eg, as a server array, a set of blade servers, or as a multiprocessor system). 9 shows one processor 801 as an example.

메모리(802)는 바로 본 출원에 따른 비일시적 컴퓨터 판독 가능 저장매체이다. 여기서, 메모리는 적어도 하나의 프로세서에 의해 실행될 수 있는 명령이 저장되어, 적어도 하나의 프로세서가 본 출원에 따른 취약성 특징 획득 방법을 수행하도록 한다. 본 출원의 비일시적 컴퓨터 판독 가능 저장매체는 컴퓨터 명령을 저장하고, 해당 컴퓨터 명령은 컴퓨터가 본 출원에 따른 취약성 특징 획득 방법을 수행하도록 한다.The memory 802 is a non-transitory computer-readable storage medium according to the present application. Here, the memory stores instructions that can be executed by at least one processor, so that at least one processor performs the method for obtaining vulnerability characteristics according to the present application. The non-transitory computer-readable storage medium of the present application stores computer instructions, and the computer instructions cause the computer to perform the method for obtaining vulnerability characteristics according to the present application.

메모리(802)는 비일시적 컴퓨터 판독 가능 저장매체로서, 비일시적 소프트웨어 프로그램, 비일시적 컴퓨터 실행 가능 프로그램 및 모듈, 예컨대 본 출원의 실시예에 따른 취약성 특징 획득 방법에 대응되는 프로그램 명령/모듈(예를 들어, 도6에 도시된 획득모듈(11), 확정모듈(12), 추출모듈(13) 및 발송모듈(14))을 저장할 수 있다. 프로세서(801)는 메모리(802)에 저장된 비일시적 소프트웨어 프로그램, 명령 및 모듈을 실행하여, 서버의 다양한 기능 응용 및 데이터 처리를 수행한다. 즉, 상술한 방법 실시예 중 취약성 특징 획득 방법을 구현한다.The memory 802 is a non-transitory computer-readable storage medium, such as a non-transitory software program, a non-transitory computer executable program and module, for example, a program instruction/module corresponding to the method for obtaining vulnerability characteristics according to the embodiment of the present application (for example, For example, the acquisition module 11, the determination module 12, the extraction module 13, and the sending module 14 shown in FIG. 6 may be stored. The processor 801 executes non-transitory software programs, instructions, and modules stored in the memory 802 to perform various functional applications and data processing of the server. That is, a method of obtaining a vulnerability characteristic among the above-described method embodiments is implemented.

메모리(802)는 프로그램 저장 영역과 데이터 저장 영역을 포함할 수 있다. 여기서, 프로그램 저장 영역은 운영체제, 적어도 하나의 기능에 필요한 응용 프로그램을 저장할 수 있다. 데이터 저장 영역은 전자기기의 사용에 따라 구성되는 데이터 등을 저장할 수 있다. 한편, 메모리(802)는 고속 랜덤 액세스 메모리를 포함할 수 있고, 예를 들어 적어도 하나의 자기 저장 장치, 플래시 메모리, 또는 기타 비일시적 솔리드 스테이트 저장 장치와 같은 비일시적 메모리를 포함할 수도 있다. 일부 실시예에서, 메모리(802)는 선택적으로 프로세서(801)에 대해 원격으로 설치되는 메모리를 포함할 수 있다. 이러한 원격 메모리는 네트워크를 통해 전자기기에 연결될 수 있다. 상술한 네트워크의 실예로서 인터넷, 인트라넷, 근거리 통신망, 이동 통신망 및 그 조합을 포함하지만 이에 한정되지 않는다.The memory 802 may include a program storage area and a data storage area. Here, the program storage area may store an operating system and an application program required for at least one function. The data storage area may store data configured according to the use of electronic devices. Meanwhile, the memory 802 may include a high-speed random access memory, and may include, for example, a non-transitory memory such as at least one magnetic storage device, a flash memory, or other non-transitory solid state storage device. In some embodiments, memory 802 may optionally include memory that is installed remotely to processor 801. These remote memories can be connected to electronic devices through a network. Examples of the above-described network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof.

취약성 특징 획득 방법을 위한 전자기기는 입력장치(803)와 출력장치(804)를 더 포함할 수 있다. 프로세서(801), 메모리(802), 입력장치(803) 및 출력장치(804)는 버스 또는 기타 방식으로 연결될 수 있으며, 도9에서는 버스를 통해 연결되는 것을 예시하고 있다.The electronic device for the method of obtaining the vulnerability characteristic may further include an input device 803 and an output device 804. The processor 801, the memory 802, the input device 803, and the output device 804 may be connected by a bus or other method, and FIG. 9 illustrates the connection through a bus.

입력장치(803)는 입력되는 숫자 또는 문자 부호 정보를 수신할 수 있고, 전자기기의 사용자 설정 및 기능 제어에 대한 키 신호 입력을 생성할 수 있다. 예를 들어 터치 스크린, 키패드, 마우스, 트랙패드, 터치패널, 지시레버, 하나 또는 복수의 마우스 버튼, 트랙 볼, 조종 레버 등의 입력장치가 있다. 출력장치(804)는 디스플레이 기기, 보조 조명 장치(예를 들어, LED) 및 촉각 피드백 장치(예를 들어, 진동모터) 등을 포함할 수 있다. 해당 디스플레이 기기는, 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이와 플라즈마 디스플레이 등을 포함할 수 있지만 이에 한정되지 않는다. 일부 실시형태에서, 디스플레이 기기는 터치 스크린일 수 있다.The input device 803 may receive input number or character code information, and may generate a key signal input for user setting and function control of an electronic device. For example, there are input devices such as a touch screen, a keypad, a mouse, a track pad, a touch panel, an instruction lever, one or more mouse buttons, a track ball, and a control lever. The output device 804 may include a display device, an auxiliary lighting device (eg, an LED), a tactile feedback device (eg, a vibration motor), and the like. The display device may include, but is not limited to, a liquid crystal display (LCD), a light emitting diode (LED) display, and a plasma display. In some embodiments, the display device may be a touch screen.

여기에 기재되는 시스템 및 기술의 다양한 실시형태는 디지털 전자 회로 시스템, 집적 회로 시스템, 전용 ASIC(전용 집적 회로), 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합에서 구현될 수 있다. 이러한 다양한 실시형태는 하나 또는 복수의 컴퓨터 프로그램에서 구현되는 것을 포함할 수 있고, 해당 하나 또는 복수의 컴퓨터 프로그램은 적어도 하나의 프로그래머블 프로세서를 포함하는 프로그래머블 시스템 상에서 실행 및/또는 해석될 수 있으며, 해당 프로그래머블 프로세서는 전용 또는 범용 프로그래머블 프로세서일 수 있고, 저장 시스템, 적어도 하나의 입력장치, 및 적어도 하나의 출력장치로부터 데이터와 명령을 수신할 수 있으며, 데이터와 명령을 해당 저장 시스템, 해당 적어도 하나의 입력장치, 및 해당 적어도 하나의 출력장치로 전송한다.Various embodiments of the systems and technologies described herein may be implemented in digital electronic circuit systems, integrated circuit systems, dedicated ASICs (dedicated integrated circuits), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include being implemented in one or a plurality of computer programs, and the one or a plurality of computer programs may be executed and/or interpreted on a programmable system including at least one programmable processor, and the corresponding programmable The processor may be a dedicated or general purpose programmable processor, and may receive data and commands from a storage system, at least one input device, and at least one output device, and transmit data and commands to the storage system and at least one input device. , And transmits to the at least one output device.

이러한 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 응용, 또는 코드라고도 지칭)은 프로그래머블 프로세서의 기계적 명령을 포함하고, 고급 프로세스 및/또는 객체 지향 프로그래밍 언어, 및/또는 어셈블리/기계적 언어를 이용하여 이러한 컴퓨터 프로그램을 실행할 수 있다. 예컨대 본문에서 사용되는 용어 "기계 판독 가능 매체"와 "컴퓨터 판독 가능 매체"는 기계적 명령 및/또는 데이터를 프로그래머블 프로세서로 제공하기 위한 임의의 컴퓨터 프로그램 제품, 기기, 및/또는 장치(예를 들어, 자기 디스크, 광 디스크, 메모리, 프로그래머블 논리 디바이스(PLD))를 가리키고, 기계 판독 가능 신호인 기계적 명령을 수신하는 기계 판독 가능 매체를 포함한다. 용어 "기계 판독 가능 신호"는 기계적 명령 및/또는 데이터를 프로그래머블 프로세서로 제공하기 위한 임의의 신호를 가리킨다.Such computer programs (also referred to as programs, software, software applications, or code) contain mechanical instructions of a programmable processor, and use high-level process and/or object-oriented programming languages, and/or assembly/mechanical languages to execute such computer programs. You can do it. For example, the terms "machine-readable medium" and "computer-readable medium" as used herein refer to any computer program product, device, and/or device (e.g., A magnetic disk, an optical disk, a memory, a programmable logic device (PLD)) and a machine-readable medium for receiving mechanical instructions that are machine-readable signals. The term “machine-readable signal” refers to any signal for providing mechanical instructions and/or data to a programmable processor.

사용자와의 인터랙션을 제공하기 위하여, 컴퓨터 상에서 여기에 기재되는 시스템 및 기술을 실시할 수 있으며, 해당 컴퓨터는 사용자에게 정보를 표시하기 위한 표시장치(예를 들어, CRT(캐소드레이 튜브) 또는 LCD(액정 디스플레이) 모니터); 및 키보드와 지향 장치(예를 들어, 마우스 또는 트랙볼)를 구비하고, 사용자는 해당 키보드와 해당 지향 장치를 통해 입력을 컴퓨터로 제공할 수 있다. 기타 종류의 장치는 사용자와의 인터랙션을 제공할 수도 있다. 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 센싱 피드백(예를 들어, 시각적 피드백, 청각적 피드백, 또는 촉각적 피드백)일 수 있고; 임의의 형태(사운드 입력, 음성 입력 또는 촉각 입력)을 통해 사용자로부터의 입력을 수신할 수 있다.In order to provide interaction with the user, the systems and techniques described herein can be implemented on a computer, and the computer can be used with a display device (e.g., CRT (cathode tube) or LCD ( Liquid crystal display) monitor); And a keyboard and a pointing device (eg, a mouse or a trackball), and a user may provide an input to the computer through the keyboard and the corresponding pointing device. Other types of devices may also provide interactions with users. For example, the feedback provided to the user can be any form of sensing feedback (eg, visual feedback, auditory feedback, or tactile feedback); Input from the user may be received through any form (sound input, voice input, or tactile input).

여기에 기재되는 시스템과 기술은 백그라운드 부재를 포함하는 컴퓨팅 시스템(예를 들어, 데이터 서버로서), 또는 중간부재를 포함하는 컴퓨팅 시스템(예를 들어, 응용 서버), 또는 프론트 엔드 부재를 포함하는 컴퓨팅 시스템(예를 들어, 그래픽 유저 인터페이스 또는 인터넷 브라우저를 구비하는 사용자 컴퓨터, 사용자는 해당 그래픽 유저 인터페이스 또는 해당 인터넷 브라우저를 통해 여기에 기재되는 시스템 및 기술의 실시형태와 인터랙션할 수 있다), 또는 이러한 백그라운드 부재, 중간 부재, 또는 프론트 엔드 부재를 포함하는 임의의 조합의 컴퓨팅 시스템에서 실시될 수 있다. 임의의 형태 또는 매체의 디지털 데이터 통신(예를 들어, 통신 네트워크)을 통해 시스템의 부재를 서로 연결시킬 수 있다. 통신 네트워크의 예시로서, 근거리 통신망(LAN), 광역 통신망(WAN) 및 인터넷을 포함한다.The systems and technologies described herein include computing systems including background members (e.g., as a data server), or computing systems including intermediate members (e.g., application servers), or computing including front-end members. System (e.g., a user computer having a graphical user interface or an Internet browser, the user may interact with the embodiments of the systems and technologies described herein through a corresponding graphical user interface or an Internet browser), or such a background It can be implemented in any combination of computing systems including members, intermediate members, or front end members. The members of the system can be interconnected through digital data communication (eg, a communication network) in any form or medium. Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.

컴퓨터 시스템은 클라이언트와 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며, 통상적으로 통신 네트워크를 통해 인터랙션한다. 상응한 컴퓨터 상에서 실행되며 서로 클라이언트 - 서버 관계를 가지는 컴퓨터 프로그램을 통해 클라이언트와 서버의 관계를 생성한다.The computer system can include clients and servers. Clients and servers are generally far apart from each other and typically interact over a communication network. A client-server relationship is created through a computer program that runs on the corresponding computer and has a client-server relationship with each other.

본 출원의 실시예의 기술방안에 따르면, 취약성의 취약성 패치 정보를 획득한 후, 취약성 패치 정보를 기초로 취약성이 코드 타입의 취약성 또는 비 코드 타입의 취약성인지를 확정하고, 이어서 취약성의 타입에 대응되는 취약성 분석 엔진을 기초로 취약성의 적어도 하나의 취약성 특징을 추출하고, 마지막으로 추출한 각각의 취약성 특징에 대하여, 취약성 특징의 소스 코드 또는 소스 파일이 위치하는 코드 파일을 기초로 취약성 특징의 운영 엔티티를 확정하여, 취약성의 취약성 특징과 운영 엔티티를 획득한다.서로 다른 타입의 취약성은 서로 다른 타입의 취약성 분석 엔진에 대응되고, 취약성 분석 엔진은 서로 다른 타입의 취약성을 기초로 사전에 구축된 것이므로, 취약성의 취약성 특징을 온라인으로 획득하고, 취약성 특징의 획득 효율을 향상시키고, 인공적으로 취약성 특징을 분석하여 획득할 필요가 없이, 시스템 취약성 라이브러리의 유지 코스트를 감소시킬 수 있다.According to the technical solution of the embodiment of the present application, after acquiring the vulnerability patch information of the vulnerability, it is determined whether the vulnerability is a code type vulnerability or a non-code type vulnerability based on the vulnerability patch information, and then Extracts at least one vulnerability feature of the vulnerability based on the vulnerability analysis engine, and, for each of the last extracted vulnerability features, determines the operating entity of the vulnerability feature based on the source code of the vulnerability feature or the code file in which the source file is located. In this way, the vulnerability characteristics and operational entities of the vulnerability are acquired. Different types of vulnerabilities correspond to different types of vulnerability analysis engines, and the vulnerability analysis engines are built in advance based on different types of vulnerabilities. It is possible to obtain vulnerability features online, improve the efficiency of obtaining vulnerability features, and reduce the maintenance cost of a system vulnerability library without the need to artificially analyze and obtain the vulnerability features.

상술한 다양한 형태의 프로세스를 사용하여 단계를 재배열, 추가 또는 삭제할 수 있다. 예를 들어, 본 출원에 기재된 각 단계는 병열로 수행될 수 있고 순차적으로 수행될 수도 있고 서로 다른 순서로 수행될 수도 있으며, 본 출원에 개시된 기술적 해결수단이 원하는 결과를 얻을 수만 있다면, 본문은 이에 대해 한정하지 않는다.Steps can be rearranged, added, or deleted using the various types of processes described above. For example, each step described in the present application may be performed in parallel, may be performed sequentially, or may be performed in a different order, and if the technical solution disclosed in the present application can obtain the desired result, the text is It is not limited about.

상술한 구체적인 실시형태는 본 출원의 보호범위에 대한 한정이 아니다. 본 분야의 통상의 지식을 가진 자라면, 설계 요구와 기타 요소를 기초로, 다양한 수정, 조합, 서브 조합 및 대체를 가할 수 있음을 이해할 수 있을 것이다. 본 출원의 정신과 원칙 내에서 이루어진 모든 수정, 동등한 치환 및 개선 등은 모두 본 출원의 보호 범위 내에 속하는 것으로 간주하여야 한다.The specific embodiments described above are not limited to the scope of protection of the present application. Those of ordinary skill in the art will appreciate that various modifications, combinations, sub-combinations and substitutions can be made based on design needs and other factors. All modifications, equivalent substitutions and improvements made within the spirit and principle of this application should be considered to fall within the scope of protection of this application.

Claims (22)

취약성의 취약성 패치 정보를 획득한 후, 취약성 패치 정보를 기초로 상기 취약성의 타입을 확정하되, 상기 타입은 코드 타입의 취약성과 비 코드 타입의 취약성을 포함하는 단계;
상기 취약성의 타입에 대응되는 취약성 분석 엔진을 기초로 상기 취약성의 적어도 하나의 취약성 특징을 추출하는 단계;
상기 취약성의 적어도 하나의 취약성 특징을 전자기기로 발송하는 단계를포함하는 것을 특징으로 하는 취약성 특징 획득 방법.
After acquiring the vulnerability patch information of the vulnerability, determining the type of the vulnerability based on the vulnerability patch information, the type including a vulnerability of a code type and a vulnerability of a non-code type;
Extracting at least one vulnerability feature of the vulnerability based on a vulnerability analysis engine corresponding to the type of vulnerability;
And sending at least one vulnerability feature of the vulnerability to an electronic device.
제1항에 있어서, 상기 방법은,
상기 취약성의 적어도 하나의 취약성 특징 중 각각의 취약성 특징에 대하여, 취약성 특징의 소스 코드 또는 소스 파일이 위치하는 코드 파일을 기초로 취약성 특징의 운영 엔티티를 확정하는 단계;를 더 포함하고
상기 취약성의 적어도 하나의 취약성 특징을 전자기기로 발송하는 상기 단계는,
상기 취약성의 적어도 하나의 취약성 특징과 대응되는 운영 엔티티를 전자기기로 발송하는 단계를 포함하는 것을 특징으로 하는 방법.
The method of claim 1, wherein the method comprises:
For each vulnerability characteristic among the at least one vulnerability characteristic of the vulnerability, determining an operation entity of the vulnerability characteristic based on a source code of the vulnerability characteristic or a code file in which the source file is located; further comprising
The step of sending at least one vulnerability feature of the vulnerability to an electronic device,
And sending an operational entity corresponding to the at least one vulnerability characteristic of the vulnerability to an electronic device.
제1항에 있어서,
상기 취약성의 취약성 패치 정보는 상기 취약성의 소스 코드와 상기 취약성의 복구 코드를 포함하고, 상기 취약성의 타입에 대응되는 취약성 분석 엔진을 기초로 상기 취약성의 적어도 하나의 취약성 특징을 추출하는 상기 단계는,
상기 취약성의 타입에 대응되는 취약성 분석 엔진을 통해,
상기 취약성의 소스 코드와 상기 취약성의 복구 코드에 대하여 대응되는 코딩 언어의 구문 분석을 수행하고;
구문 분석 결과를 기초로 상기 취약성의 소스 코드와 상기 취약성의 복구 코드의 적어도 하나의 차이 정보를 확정하고, 상기 적어도 하나의 차이 정보를 기초로 상기 취약성의 취약성 특징을 확정하되, 하나의 차이 정보는 하나의 취약성 특징에 대응되는; 조작을 수행하는 단계를 포함하는 것을 특징으로 하는 방법.
The method of claim 1,
The vulnerability patch information of the vulnerability includes the source code of the vulnerability and the repair code of the vulnerability, and the step of extracting at least one vulnerability feature of the vulnerability based on a vulnerability analysis engine corresponding to the type of vulnerability,
Through the vulnerability analysis engine corresponding to the type of vulnerability,
Parsing a corresponding coding language for the vulnerability source code and the vulnerability recovery code;
At least one difference information between the source code of the vulnerability and the recovery code of the vulnerability is determined based on a result of the syntax analysis, and the vulnerability characteristic of the vulnerability is determined based on the at least one difference information, but the difference information is Corresponding to one vulnerability feature; A method comprising the step of performing an operation.
제1항에 있어서,
상기 취약성의 취약성 패치 정보는 상기 취약성의 소스 파일과 상기 취약성의 복구 파일을 포함하고, 상기 취약성의 타입에 대응되는 취약성 분석 엔진을 기초로 상기 취약성의 적어도 하나의 취약성 특징을 추출하는 상기 단계는,
상기 취약성의 타입에 대응되는 취약성 분석 엔진을 통해,
상기 취약성의 소스 파일과 상기 취약성의 복구 파일의 적어도 하나의 변화 정보를 확정하되, 상기 변화 정보는 문자열 특징의 증가, 문자열 특징의 삭제, 문자열 특징의 수정, 파일의 증가와 파일의 삭제 중 임의의 하나를 포함하고;
상기 취약성의 소스 파일이 위치하는 코드 파일을 확정하고, 상기 취약성의 소스 파일이 위치하는 코드 파일에서 상기 적어도 하나의 변화 정보 중 각각의 변화 정보가 유일성을 구비하는지 여부를 검색하고;
유일성을 구비하는 변화 정보를 상기 취약성의 취약성 특징으로 확정하는;조작을 수행하는 단계를 포함하는 것을 특징으로 하는 방법.
The method of claim 1,
The vulnerability patch information of the vulnerability includes the source file of the vulnerability and the recovery file of the vulnerability, and the step of extracting at least one vulnerability feature of the vulnerability based on a vulnerability analysis engine corresponding to the type of vulnerability,
Through the vulnerability analysis engine corresponding to the type of vulnerability,
At least one change information of the source file of the vulnerability and the recovery file of the vulnerability is determined, and the change information is any of an increase in character string feature, deletion of character string feature, modification of character string feature, increase of file, Contains one;
Determining a code file in which the source file of the vulnerability is located, and searching whether each change information among the at least one change information has uniqueness in the code file in which the source file of the vulnerability is located;
And determining change information having uniqueness as a vulnerability characteristic of the vulnerability; performing an operation.
제2항에 있어서,
취약성 특징의 소스 코드 또는 소스 파일이 위치하는 코드 파일을 기초로 취약성 특징의 운영 엔티티를 확정하는 상기 단계는,
상기 취약성 특징의 소스 코드 또는 소스 파일이 위치하는 코드 파일을 확정하는 단계;
상기 코드 파일의 컴파일링 구성 파일로부터 상기 코드 파일의 운영 엔티티를 검색하고, 상기 코드 파일의 운영 엔티티를 기초로 상기 취약성 특징의 운영 엔티티를 확정하는 단계를 포함하는 것을 특징으로 하는 방법.
The method of claim 2,
The step of determining the operation entity of the vulnerability characteristic based on the source code of the vulnerability characteristic or a code file in which the source file is located,
Determining a source code of the vulnerability feature or a code file in which the source file is located;
And retrieving an operating entity of the code file from a compilation configuration file of the code file, and determining an operating entity of the vulnerability feature based on the operating entity of the code file.
제2항에 있어서,
취약성 특징의 소스 코드 또는 소스 파일이 위치하는 코드 파일을 기초로 취약성 특징의 운영 엔티티를 확정하는 상기 단계는,
상기 취약성 특징의 소스 코드 또는 소스 파일이 위치하는 코드 파일을 확정하는 단계;
상기 코드 파일의 컴파일링 구성 파일로부터 상기 코드 파일의 운영 엔티티를 검색하고, 상기 코드 파일의 운영 엔티티를 기초로 상기 취약성 특징의 운영 엔티티를 확정하는 단계를 포함하는 것을 특징으로 하는 방법.
The method of claim 2,
The step of determining the operation entity of the vulnerability characteristic based on the source code of the vulnerability characteristic or a code file in which the source file is located,
Determining a source code of the vulnerability feature or a code file in which the source file is located;
And retrieving an operating entity of the code file from a compilation configuration file of the code file, and determining an operating entity of the vulnerability feature based on the operating entity of the code file.
제6항에 있어서,
상기 테스트 대상 드론 클러스터는 서로 다른 안드로이드 시스템 버전, 서로 다른 프로세서 아키텍쳐 플랫폼과 서로 다른 안전패치 버전을 기초로 구축되는 것을 특징으로 하는 방법.
The method of claim 6,
The method of claim 1, wherein the test target drone cluster is built on the basis of different Android system versions, different processor architecture platforms, and different safety patch versions.
제6항에 있어서, 상기 방법은,
검증에 통과하지 못한 취약성 특징이 획득될 때, 상기 검증에 통과하지 못한 취약성 특징을 디스플레이하는 단계를 더 포함하는 것을 특징으로 하는 방법.
The method of claim 6, wherein the method,
And when a vulnerability feature that does not pass verification is obtained, displaying the vulnerability feature that does not pass verification.
제8항에 있어서, 상기 방법은,
사용자로부터 입력되는 상기 검증에 통과하지 못한 취약성 특징의 발생 원인을 수신하는 단계;
상기 검증에 통과하지 못한 취약성 특징의 발생 원인을 기초로 취약성 분석 엔진을 증가하거나 또는 취약성 분석 엔진을 수정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
The method of claim 8, wherein the method comprises:
Receiving a cause of a vulnerability feature that fails to pass the verification input from a user;
And increasing the vulnerability analysis engine or modifying the vulnerability analysis engine based on the cause of the vulnerability feature that did not pass the verification.
취약성의 취약성 패치 정보를 획득하기 위한 획득모듈;
상기 취약성 패치 정보를 기초로 상기 취약성의 타입을 확정하되, 상기 타입은 코드 타입의 취약성과 비 코드 타입의 취약성을 포함하는 확정모듈;
상기 취약성의 타입에 대응되는 취약성 분석 엔진을 기초로 상기 취약성의 적어도 하나의 취약성 특징을 추출하는 추출모듈;
상기 취약성의 적어도 하나의 취약성 특징을 전자기기로 발송하는 발송모듈을 포함하는 것을 특징으로 하는 취약성 특징 획득 장치.
An acquisition module for acquiring vulnerability patch information of a vulnerability;
A determination module determining the type of vulnerability based on the vulnerability patch information, the type including a code type vulnerability and a non-code type vulnerability;
An extraction module for extracting at least one vulnerability feature of the vulnerability based on a vulnerability analysis engine corresponding to the type of vulnerability;
And a sending module for sending at least one vulnerability feature of the vulnerability to an electronic device.
제10항에 있어서,
상기 확정모듈은 또한,
상기 취약성의 적어도 하나의 취약성 특징 중 각각의 취약성 특징에 대하여, 취약성 특징의 소스 코드 또는 소스 파일이 위치하는 코드 파일을 기초로 취약성 특징의 운영 엔티티를 확정하고;
상기 발송모듈은,
상기 취약성의 적어도 하나의 취약성 특징과 대응되는 운영 엔티티를 전자기기로 발송하는 것을 특징으로 하는 장치.
The method of claim 10,
The determination module also,
For each of the at least one vulnerability feature of the vulnerability, determining an operating entity of the vulnerability feature based on a source code of the vulnerability feature or a code file in which the source file is located;
The sending module,
And sending an operating entity corresponding to the at least one vulnerability characteristic of the vulnerability to an electronic device.
제10항에 있어서,
상기 취약성의 취약성 패치 정보는 상기 취약성의 소스 코드와 상기 취약성의 복구 코드를 포함하고, 상기 추출모듈은,
상기 취약성의 타입에 대응되는 취약성 분석 엔진을 통해,
상기 취약성의 소스 코드와 상기 취약성의 복구 코드에 대하여 대응되는 코딩 언어의 구문 분석을 수행하고;
구문 분석 결과를 기초로 상기 취약성의 소스 코드와 상기 취약성의 복구 코드의 적어도 하나의 차이 정보를 확정하고, 상기 적어도 하나의 차이 정보를 기초로 상기 취약성의 취약성 특징을 확정하되, 하나의 차이 정보는 하나의 취약성 특징에 대응되는; 조작을 수행하는 것을 특징으로 하는 장치.
The method of claim 10,
The vulnerability patch information of the vulnerability includes a source code of the vulnerability and a recovery code of the vulnerability, and the extraction module,
Through the vulnerability analysis engine corresponding to the type of vulnerability,
Parsing a corresponding coding language for the vulnerability source code and the vulnerability recovery code;
At least one difference information between the source code of the vulnerability and the recovery code of the vulnerability is determined based on a result of the syntax analysis, and the vulnerability characteristic of the vulnerability is determined based on the at least one difference information, but the difference information is Corresponding to one vulnerability feature; A device, characterized in that it performs an operation.
제10항에 있어서,
상기 취약성의 취약성 패치 정보는 상기 취약성의 소스 파일과 상기 취약성의 복구 파일을 포함하고, 상기 추출모듈은,
상기 취약성의 타입에 대응되는 취약성 분석 엔진을 통해,
상기 취약성의 소스 파일과 상기 취약성의 복구 파일의 적어도 하나의 변화 정보를 확정하되, 상기 변화 정보는 문자열 특징의 증가, 문자열 특징의 삭제, 문자열 특징의 수정, 파일의 증가와 파일의 삭제 중 임의의 하나를 포함하고;
상기 취약성의 소스 파일이 위치하는 코드 파일을 확정하고, 상기 취약성의 소스 파일이 위치하는 코드 파일에서 상기 적어도 하나의 변화 정보 중 각각의 변화 정보가 유일성을 구비하는지 여부를 검색하고;
유일성을 구비하는 변화 정보를 상기 취약성의 취약성 특징으로 확정하는;조작을 수행하는 것을 특징으로 하는 장치.
The method of claim 10,
The vulnerability patch information of the vulnerability includes a source file of the vulnerability and a recovery file of the vulnerability, and the extraction module,
Through the vulnerability analysis engine corresponding to the type of vulnerability,
At least one change information of the source file of the vulnerability and the recovery file of the vulnerability is determined, and the change information is any of an increase in character string feature, deletion of character string feature, modification of character string feature, increase of file, Contains one;
Determining a code file in which the source file of the vulnerability is located, and searching whether each change information among the at least one change information has uniqueness in the code file in which the source file of the vulnerability is located;
And determining change information having uniqueness as a vulnerability characteristic of the vulnerability; and performing an operation.
제11항에 있어서, 상기 확정모듈은,
상기 취약성 특징의 소스 코드 또는 소스 파일이 위치하는 코드 파일을 확정하고;
상기 코드 파일의 컴파일링 구성 파일로부터 상기 코드 파일의 운영 엔티티를 검색하고, 상기 코드 파일의 운영 엔티티를 기초로 상기 취약성 특징의 운영 엔티티를 확정하는 것을 특징으로 하는 장치.
The method of claim 11, wherein the determination module,
Determining a source code of the vulnerability feature or a code file in which the source file is located;
And searching for an operating entity of the code file from a compilation configuration file of the code file, and determining an operating entity of the vulnerability characteristic based on the operating entity of the code file.
제10항 내지 제14항 중 어느 한 항에 있어서, 상기 장치는,
상기 취약성의 적어도 하나의 취약성 특징을 사전에 구축된 테스트 대상 드론 클러스터에 통과시켜 테스트 검증을 수행하여, 검증에 통과한 취약성 특징을 획득하되, 상기 테스트 대상 드론 클러스터는 취약성이 복구된 테스트 대상 드론과 취약성이 복구되지 않은 테스트 대상 드론을 포함하는 검증모듈을 더 포함하고;
상기 확정모듈은 또한 상기 검증에 통과한 취약성 특징을 상기 취약성의 취약성 특징으로 확정하는 것을 특징으로 하는 장치.
The method according to any one of claims 10 to 14, wherein the device,
Test verification is performed by passing at least one vulnerability feature of the vulnerability through a pre-built test target drone cluster to obtain a vulnerability feature that has passed the verification, but the test target drone cluster is Further comprising a verification module including the drone to be tested for which the vulnerability has not been recovered;
And the determination module further determines the vulnerability feature that has passed the verification as the vulnerability feature of the vulnerability.
제15항에 있어서,
상기 테스트 대상 드론 클러스터는 서로 다른 안드로이드 시스템 버전, 서로 다른 프로세서 아키텍쳐 플랫폼과 서로 다른 안전패치 버전을 기초로 구축되는 것을 특징으로 하는 장치.
The method of claim 15,
The device, wherein the test target drone cluster is built on the basis of different Android system versions, different processor architecture platforms, and different safety patch versions.
제15항에 있어서, 상기 장치는,
검증에 통과하지 못한 취약성 특징이 획득될 때, 상기 검증에 통과하지 못한 취약성 특징을 디스플레이하는 디스플레이 모듈을 더 포함하는 것을 특징으로 하는 장치.
The method of claim 15, wherein the device,
The apparatus further comprising a display module configured to display the vulnerability feature that has not passed the verification when a vulnerability feature that has not passed the verification is acquired.
제17항에 있어서, 상기 장치는,
사용자로부터 입력되는 상기 검증에 통과하지 못한 취약성 특징의 발생 원인을 수신하기 위한 수신모듈;
상기 검증에 통과하지 못한 취약성 특징의 발생 원인을 기초로 취약성 분석 엔진을 증가하거나 또는 취약성 분석 엔진을 수정하기 위한 처리모듈을 더 포함하는 것을 특징으로 하는 장치.
The method of claim 17, wherein the device,
A receiving module configured to receive a cause of a vulnerability feature that fails to pass the verification input from a user;
And a processing module for increasing the vulnerability analysis engine or modifying the vulnerability analysis engine based on the cause of the vulnerability feature that has not passed the verification.
적어도 하나의 프로세서; 및
상기 적어도 하나의 프로세서와 통신 연결되는 메모리;를 포함하되,
상기 메모리에 상기 적어도 하나의 프로세서에 의해 실행 가능한 명령이 저장되고, 상기 명령은 상기 적어도 하나의 프로세서에 의해 실행되어, 상기 적어도 하나의 프로세서가 제1항 내지 제9항 중 어느 한 항에 따른 방법을 수행할 수 있도록 하는 것을 특징으로 하는 전자기기.
At least one processor; And
Including; a memory that is communicatively connected to the at least one processor,
The method according to any one of claims 1 to 9, wherein an instruction executable by the at least one processor is stored in the memory, and the instruction is executed by the at least one processor. Electronic device, characterized in that to be able to perform.
컴퓨터 명령이 저장된 비일시적 컴퓨터 판독 가능 저장매체에 있어서, 상기 컴퓨터 명령은 컴퓨터가 제1항 내지 제9항 중 어느 한 항에 따른 방법을 수행할 수 있도록 하는 것을 특징으로 하는 저장매체.
A non-transitory computer-readable storage medium having computer instructions stored thereon, wherein the computer instructions enable the computer to perform the method according to any one of claims 1 to 9.
취약성의 취약성 패치 정보를 획득한 후, 상기 취약성 패치 정보를 기초로 상기 취약성의 타입을 확정하는 단계;
상기 취약성의 타입에 대응되는 취약성 분석 엔진을 기초로 상기 취약성의 적어도 하나의 취약성 특징을 추출하는 단계;
상기 취약성의 적어도 하나의 취약성 특징을 전자기기로 발송하는 단계를 포함하는 것을 특징으로 하는 취약성 특징 획득 방법.
After acquiring the vulnerability patch information of the vulnerability, determining the type of the vulnerability based on the vulnerability patch information;
Extracting at least one vulnerability feature of the vulnerability based on a vulnerability analysis engine corresponding to the type of vulnerability;
And sending at least one vulnerability feature of the vulnerability to an electronic device.
컴퓨터 판독 가능 저장매체에 저장된 컴퓨터 프로그램에 있어서,
상기 컴퓨터 프로그램이 프로세서에 의해 실행될 경우, 제1항 내지 제9항 중 어느 한 항에 따른 방법을 구현하는 컴퓨터 프로그램.





In the computer program stored in a computer-readable storage medium,
A computer program implementing the method according to any one of claims 1 to 9 when the computer program is executed by a processor.





KR1020210041412A 2020-05-14 2021-03-30 Method and apparatus for acquirising vulnerability feature, and electronic device KR102477150B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010407734.7 2020-05-14
CN202010407734.7A CN113672929A (en) 2020-05-14 2020-05-14 Vulnerability characteristic obtaining method and device and electronic equipment

Publications (2)

Publication Number Publication Date
KR20210042285A true KR20210042285A (en) 2021-04-19
KR102477150B1 KR102477150B1 (en) 2022-12-12

Family

ID=75718558

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210041412A KR102477150B1 (en) 2020-05-14 2021-03-30 Method and apparatus for acquirising vulnerability feature, and electronic device

Country Status (3)

Country Link
JP (1) JP7231664B2 (en)
KR (1) KR102477150B1 (en)
CN (1) CN113672929A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023224192A1 (en) * 2022-05-16 2023-11-23 엘에스웨어(주) Software management system and method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012208863A (en) * 2011-03-30 2012-10-25 Hitachi Ltd Vulnerability determination system, vulnerability determination method and vulnerability determination program
JP5863973B2 (en) * 2012-08-01 2016-02-17 三菱電機株式会社 Program execution device and program analysis device
JP2017517821A (en) * 2014-06-13 2017-06-29 ザ・チャールズ・スターク・ドレイパー・ラボラトリー・インコーポレイテッド System and method for a database of software artifacts

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002318716A (en) 2001-04-20 2002-10-31 Sony Corp System and method for delivery, server computer and client computer
MXPA04006473A (en) 2001-12-31 2004-10-04 Citadel Security Software Inc Automated computer vulnerability resolution system.
US7424706B2 (en) 2003-07-16 2008-09-09 Microsoft Corporation Automatic detection and patching of vulnerable files
JP2006066982A (en) 2004-08-24 2006-03-09 Hitachi Ltd Network connection control system
JP4728017B2 (en) 2005-03-07 2011-07-20 東芝Itサービス株式会社 Integrated security audit apparatus, integrated security audit method, and integrated security audit program
AU2006294596A1 (en) * 2005-09-22 2007-04-05 Mocana Corporation Embedded patch management
JP2007316686A (en) 2006-05-23 2007-12-06 Matsushita Electric Ind Co Ltd Security state management server, security patch distribution server, file server, take-out detection device, and its system
JP5158689B2 (en) * 2007-12-07 2013-03-06 日本電信電話株式会社 System switching apparatus and method
JP5845888B2 (en) 2011-12-26 2016-01-20 日本電気株式会社 Software correction apparatus, software correction system, software correction method, and software correction program
CN104298923B (en) * 2014-09-28 2018-01-02 北京奇虎科技有限公司 Leak type identification method and device
US10503909B2 (en) * 2014-10-31 2019-12-10 Hewlett Packard Enterprise Development Lp System and method for vulnerability remediation verification
JP6312578B2 (en) 2014-11-07 2018-04-18 株式会社日立製作所 Risk assessment system and risk assessment method
CN106548076A (en) * 2015-09-23 2017-03-29 百度在线网络技术(北京)有限公司 Method and apparatus of the detection using bug code
CN105893850B (en) * 2016-03-30 2017-12-15 百度在线网络技术(北京)有限公司 Leak restorative procedure and device
CN107451474B (en) * 2016-05-31 2020-06-26 百度在线网络技术(北京)有限公司 Software bug fixing method and device for terminal
CN109117169B (en) * 2016-12-12 2022-06-07 百度在线网络技术(北京)有限公司 Method and device for repairing kernel vulnerability
CN107506647A (en) * 2017-07-28 2017-12-22 努比亚技术有限公司 Leak self-repairing method and mobile terminal
CN109359468B (en) * 2018-08-23 2021-12-14 创新先进技术有限公司 Vulnerability detection method, device and equipment
CN111008380B (en) * 2019-11-25 2022-05-31 杭州安恒信息技术股份有限公司 Method and device for detecting industrial control system bugs and electronic equipment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012208863A (en) * 2011-03-30 2012-10-25 Hitachi Ltd Vulnerability determination system, vulnerability determination method and vulnerability determination program
JP5863973B2 (en) * 2012-08-01 2016-02-17 三菱電機株式会社 Program execution device and program analysis device
JP2017517821A (en) * 2014-06-13 2017-06-29 ザ・チャールズ・スターク・ドレイパー・ラボラトリー・インコーポレイテッド System and method for a database of software artifacts

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023224192A1 (en) * 2022-05-16 2023-11-23 엘에스웨어(주) Software management system and method

Also Published As

Publication number Publication date
JP7231664B2 (en) 2023-03-01
JP2021108189A (en) 2021-07-29
KR102477150B1 (en) 2022-12-12
CN113672929A (en) 2021-11-19

Similar Documents

Publication Publication Date Title
US11036868B2 (en) Auto-remediation workflow for computer security testing
US9529662B1 (en) Dynamic rule-based automatic crash dump analyzer
US9075997B2 (en) Global variable security analysis
US10761964B2 (en) Object monitoring in code debugging
US9507943B1 (en) Analysis tool for data security
US20160283363A1 (en) Extraction of problem diagnostic knowledge from test cases
US20130311827A1 (en) METHOD and APPARATUS for automatic testing of automation software
CN111859375A (en) Vulnerability detection method and device, electronic equipment and storage medium
CN112527382B (en) Method for deploying pipeline engine system, and method and device for continuous integration
CN111309343A (en) Development deployment method and device
Hu et al. A tale of two cities: How webview induces bugs to android applications
JP2021192214A (en) Method and device for verifying operation states of applications
KR102477150B1 (en) Method and apparatus for acquirising vulnerability feature, and electronic device
Ren et al. Scstudio: a secure and efficient integrated development environment for smart contracts
US11249880B1 (en) Debugging and simulating application runtime execution
CN114398673A (en) Application compliance detection method and device, storage medium and electronic equipment
Wang et al. An empirical study on real bug fixes from solidity smart contract projects
CN117009911A (en) Abnormality determination method and device for target event, medium and electronic equipment
US20230141948A1 (en) Analysis and Testing of Embedded Code
US11042257B1 (en) Translating application resources and inspecting the functionality of the resource translations
Beksultanova et al. Analysis tools for smart contract security
CN114116471A (en) Automatic code scanning method, system, electronic equipment and storage medium
CN114969759B (en) Asset security assessment method, device, terminal and medium of industrial robot system
US20240037243A1 (en) Artificial intelligence based security requirements identification and testing
CN115543391B (en) Application platform upgrading method and device, electronic equipment and readable storage medium

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant