JP2021108189A - Method for acquiring vulnerability feature, device, and electronic apparatus - Google Patents
Method for acquiring vulnerability feature, device, and electronic apparatus Download PDFInfo
- Publication number
- JP2021108189A JP2021108189A JP2021066470A JP2021066470A JP2021108189A JP 2021108189 A JP2021108189 A JP 2021108189A JP 2021066470 A JP2021066470 A JP 2021066470A JP 2021066470 A JP2021066470 A JP 2021066470A JP 2021108189 A JP2021108189 A JP 2021108189A
- Authority
- JP
- Japan
- Prior art keywords
- vulnerability
- feature
- code
- file
- acquiring
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3604—Analysis of software for verifying properties of programs
- G06F11/3612—Analysis of software for verifying properties of programs by runtime analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Biomedical Technology (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
【課題】脆弱性の脆弱性特徴をオンラインで取得し、脆弱性特徴の取得効率を向上させる脆弱性特徴の取得方法、装置及び電子機器を提供する。
【解決手段】脆弱性特徴の取得方法において、脆弱性特徴の取得装置は、脆弱性の脆弱性パッチ情報を取得した後に、脆弱性パッチ情報に基づいて、コードタイプの脆弱性と非コードタイプの脆弱性を含む脆弱性のタイプを確定するS101、脆弱性のタイプに対応する脆弱性分析エンジンに基づいて脆弱性の少なくとも1つの脆弱性特徴を抽出するS102。そして、脆弱性の少なくとも1つの脆弱性特徴を電子機器に送信するS103。
【選択図】図2PROBLEM TO BE SOLVED: To provide a method, an apparatus and an electronic device for acquiring a vulnerability feature, which acquires the vulnerability feature of a vulnerability online and improves the acquisition efficiency of the vulnerability feature.
SOLUTION: In a method of acquiring a vulnerability feature, a device for acquiring a vulnerability feature acquires a vulnerability patch information of a vulnerability, and then based on the vulnerability patch information, a code type vulnerability and a non-code type. S101 to determine the type of vulnerability including the vulnerability, and S102 to extract at least one vulnerability feature of the vulnerability based on the vulnerability analysis engine corresponding to the type of vulnerability. Then, S103 transmits at least one vulnerability feature of the vulnerability to the electronic device.
[Selection diagram] Fig. 2
Description
本願は、コンピュータ技術分野に関し、具体的に、情報セキュリティ技術分野に関する。 This application relates to a computer technology field, and specifically to an information security technology field.
情報セキュリティ分野において、脆弱性とは、システムに存在する弱点又は欠陥、特定な脅威攻撃又は危険なイベントに対するシステムの感度、又は攻撃する脅威作用の可能性のことである。脆弱性は、アプリケーションソフトウェア又はオペレーティングシステムの設計時の欠陥又はコーディング時の過ちから生み出されたものであるか、また、インタラクション処理プロセスにおけるサービスの設計欠陥又は論理的フローでの合理的ではないところから生み出されたものである可能性もある。これらの欠陥、過ち又は合理的ではないところは、意識的に又は無意識に利用され、組織の資産又は運営に情報システムの攻撃や制御、重要資料の窃取、ユーザデータの改ざん、他のホストコンピュータシステムに侵入するために踏み台として利用されるような不利益な影響を与えるようになる可能性がある。脆弱性特徴は、脆弱性を表徴するための情報であり、脆弱性ごとに脆弱性特徴が複数あり、アンドロイド(Android)(共に登録商標)システムの場合、既知脆弱性の脆弱性特徴をいかにして取得するかは、システムセキュリティ分析にとって非常に需要なことである。 In the field of information security, a vulnerability is a weakness or defect existing in a system, the sensitivity of the system to a specific threat attack or a dangerous event, or the possibility of an attacking threat action. Vulnerabilities arise from design flaws or coding mistakes in application software or operating systems, or from design flaws in services in the interaction processing process or unreasonable logical flows. It may have been created. These deficiencies, mistakes or irrational uses are consciously or unknowingly used to attack or control information systems in the assets or operations of an organization, steal important materials, tamper with user data, or other host computer systems. It may have a detrimental effect, such as being used as a stepping stone to invade the system. Vulnerability features are information for expressing vulnerabilities, and there are multiple vulnerability features for each vulnerability. In the case of Android (both registered trademarks) systems, how to use the vulnerability features of known vulnerabilities. Is very much in demand for system security analysis.
従来の技術において、システム既知の脆弱性に対し、例えば、脆弱性スキャンによってスキャンされた脆弱性は、人によって個々の脆弱性の脆弱性特徴を分析し、個々の脆弱性特徴を検出するとき、脆弱性特徴に基づいて対応する特徴検出コードをコンパイルし、特徴検出コードを検出される対象のマシンで実行させることにより、脆弱性特徴が存在するか否かを検出する。システムに現れた脆弱性が更新された場合、また人によって脆弱性特徴を再分析して後続の検出プロセスを実行するため、脆弱性特徴の取得効率が高くない。 In the conventional technology, for a system known vulnerability, for example, a vulnerability scanned by a vulnerability scan is used when a person analyzes the vulnerability characteristics of an individual vulnerability and detects the individual vulnerability characteristics. The presence or absence of a vulnerability feature is detected by compiling the corresponding feature detection code based on the vulnerability feature and executing the feature detection code on the target machine to be detected. When a vulnerability that appears in the system is updated, the vulnerability feature acquisition efficiency is not high because the vulnerability feature is reanalyzed by a person and a subsequent detection process is executed.
本願は、脆弱性特徴の取得方法、装置及び電子機器を提供し、脆弱性の脆弱性特徴をオンラインで取得し、脆弱性特徴の取得効率を向上させることを実現することができる。 The present application provides a method for acquiring a vulnerability feature, a device, and an electronic device, and can realize that the vulnerability feature can be acquired online and the efficiency of acquiring the vulnerability feature can be improved.
第1の態様によれば、脆弱性特徴の取得方法を提供し、
脆弱性の脆弱性パッチ情報を取得した後に、前記脆弱性パッチ情報に基づいて前記脆弱性のタイプを確定し、前記タイプがコードタイプの脆弱性と非コードタイプの脆弱性を含むステップと、
前記脆弱性のタイプに対応する脆弱性分析エンジンに基づいて前記脆弱性の少なくとも1つの脆弱性特徴を抽出するステップと、
前記脆弱性の少なくとも1つの脆弱性特徴を電子機器に送信するステップと、を含む。
According to the first aspect, a method for acquiring a vulnerability feature is provided.
After acquiring the vulnerability patch information of the vulnerability, the type of the vulnerability is determined based on the vulnerability patch information, and the steps including the code type vulnerability and the non-code type vulnerability are included.
Steps to extract at least one vulnerability feature of the vulnerability based on the vulnerability analysis engine corresponding to the type of vulnerability, and
It includes a step of transmitting at least one vulnerability feature of the vulnerability to an electronic device.
本願の技術によれば、脆弱性の脆弱性パッチ情報を取得した後に、脆弱性パッチ情報に基づいて脆弱性がコードタイプであるか、または、非コードタイプであるかを確定し、そして、脆弱性のタイプに対応する脆弱性分析エンジンに基づいて脆弱性の少なくとも1つの脆弱性特徴を抽出し、最後に、脆弱性の少なくとも1つの脆弱性特徴を電子機器に送信する。タイプが異なる脆弱性は、異なる脆弱性分析エンジンに対応し、脆弱性分析エンジンは、タイプが異なる脆弱性に基づいて予め組み立てられたものであるため、脆弱性の脆弱性特徴をオンラインで取得し、脆弱性特徴の取得効率を向上させることを実現することができ、脆弱性特徴を人によって分析して取得する必要がなく、システム脆弱性データベースのメンテナンスコストが軽減される。 According to the technique of the present application, after obtaining the vulnerability patch information of a vulnerability, it is determined based on the vulnerability patch information whether the vulnerability is a code type or a non-code type, and the vulnerability is vulnerable. At least one vulnerability feature of a vulnerability is extracted based on a vulnerability analysis engine corresponding to the type of vulnerability, and finally, at least one of the vulnerability features is transmitted to an electronic device. Different types of vulnerabilities correspond to different vulnerability analysis engines, and since the vulnerability analysis engine is pre-assembled based on different types of vulnerabilities, get the vulnerability characteristics of the vulnerabilities online. , It is possible to improve the acquisition efficiency of the vulnerability feature, it is not necessary to analyze and acquire the vulnerability feature by a person, and the maintenance cost of the system vulnerability database is reduced.
第2の態様によれば、脆弱性特徴の取得装置を提供し、
脆弱性の脆弱性パッチ情報を取得し得るために使用される取得モジュールと、
前記脆弱性パッチ情報に基づいて前記脆弱性のタイプを確定し、前記タイプがコードタイプの脆弱性と非コードタイプの脆弱性を含むために使用される確定モジュールと、
前記脆弱性のタイプに対応する脆弱性分析エンジンに基づいて前記脆弱性の少なくとも1つの脆弱性特徴を抽出するために使用される抽出モジュールと、
前記脆弱性の少なくとも1つの脆弱性特徴を電子機器に送信するために使用される送信モジュールと、を含む。
According to the second aspect, a device for acquiring vulnerability characteristics is provided.
The acquisition module used to acquire the vulnerability patch information of the vulnerability, and
Based on the vulnerability patch information, the type of the vulnerability is determined, and the confirmation module used for the type to include the code type vulnerability and the non-code type vulnerability, and the confirmation module.
An extraction module used to extract at least one vulnerability feature of the vulnerability based on the vulnerability analysis engine corresponding to the type of vulnerability.
Includes a transmission module used to transmit at least one vulnerability feature of the vulnerability to an electronic device.
本願の技術によれば、取得モジュールは、脆弱性の脆弱性パッチ情報を取得した後に、脆弱性パッチ情報に基づいて脆弱性がコードタイプであるか、または、非コードタイプであるかを確定し、そして、抽出モジュールは、脆弱性のタイプに対応する脆弱性分析エンジンに基づいて脆弱性の少なくとも1つの脆弱性特徴を抽出し、最後に、送信モジュールは、脆弱性の少なくとも1つの脆弱性特徴を電子機器に送信する。タイプが異なる脆弱性は、異なる脆弱性分析エンジンに対応し、脆弱性分析エンジンは、タイプが異なる脆弱性に基づいて予め組み立てられたものであるため、脆弱性の脆弱性特徴をオンラインで取得し、脆弱性特徴の取得効率を向上させることを実現することができ、脆弱性特徴を人によって分析して取得する必要がなく、システム脆弱性データベースのメンテナンスコストが軽減される。 According to the technique of the present application, after acquiring the vulnerability patch information of a vulnerability, the acquisition module determines whether the vulnerability is a code type or a non-code type based on the vulnerability patch information. And, the extraction module extracts at least one vulnerability feature of the vulnerability based on the vulnerability analysis engine corresponding to the type of vulnerability, and finally, the sending module extracts at least one vulnerability feature of the vulnerability. To the electronic device. Different types of vulnerabilities correspond to different vulnerability analysis engines, and since the vulnerability analysis engine is pre-assembled based on different types of vulnerabilities, get the vulnerability characteristics of the vulnerabilities online. , It is possible to improve the acquisition efficiency of the vulnerability feature, it is not necessary to analyze and acquire the vulnerability feature by a person, and the maintenance cost of the system vulnerability database is reduced.
第3の態様によれば、電子機器を提供し、
少なくとも1つのプロセッサ、および
前記少なくとも1つのプロセッサと通信するように接続されたメモリを含み、そのうち、
前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶されており、前記命令が前記少なくとも1つのプロセッサによって実行されることで、前記少なくとも1つのプロセッサは、第1の態様に記載の方法を実行することができるようになる。
According to the third aspect, the electronic device is provided.
Includes at least one processor and memory connected to communicate with at least one processor, of which
An instruction that can be executed by the at least one processor is stored in the memory, and when the instruction is executed by the at least one processor, the at least one processor is described in the first aspect. You will be able to carry out the method.
第4の態様によれば、コンピュータ命令が記憶された非一時的なコンピュータ可読記憶媒体を提供し、前記コンピュータ命令は、コンピュータに第1の態様に記載の方法を実行させるためのものである。 According to the fourth aspect, a non-temporary computer-readable storage medium in which computer instructions are stored is provided, and the computer instructions are for causing a computer to perform the method according to the first aspect.
第5の態様によれば、コンピュータプログラムを提供し、前記コンピュータプログラムは、コンピュータ可読記憶媒体に記憶され、電子機器の少なくとも1つのプロセッサは、前記コンピュータ可読記憶媒体から前記コンピュータプログラムを読み取ることができ、前記少なくとも1つのプロセッサは、前記コンピュータプログラムを実行することによって、前記電子機器に第1の態様に記載の方法を実行させる。 According to a fifth aspect, a computer program is provided, the computer program is stored in a computer readable storage medium, and at least one processor of the electronic device can read the computer program from the computer readable storage medium. The at least one processor causes the electronic device to perform the method according to the first aspect by executing the computer program.
この部分に記述した内容は、本願の実施例の肝心又は重要な特徴をマークすることを主旨としているわけではなく、本願の範囲を制限するためにも使用されないと理解するべきである。本願の他の特徴は、以下の明細書によって理解しやすくなる。 It should be understood that the content described in this section is not intended to mark the essential or important features of the embodiments of the present application and is not used to limit the scope of the present application. Other features of the present application are facilitated by the following specification.
図面は、本解決手段をよりよく理解するために使用されるものであり、本願に対する限定を構成しない。 The drawings are used to better understand the present solution and do not constitute a limitation to the present application.
以下、本願の例示的な実施例を図面に合わせて説明する。理解に寄与するための本願の実施例の様々な詳細が含まれるが、これらは、例示的なものにすぎないと考えるべきである。よって、当業者は、ここに記述した実施例に対する様々な変化や修正が可能であり、本願の範囲や趣旨から逸脱されないと認識するべきである。同様に、明確や簡潔のため、以下の記述では、周知の機能や構造に関するものを省略するようにしている。 Hereinafter, exemplary embodiments of the present application will be described with reference to the drawings. Although various details of the embodiments of the present application are included to contribute to understanding, these should be considered as merely exemplary. Therefore, those skilled in the art should recognize that various changes and modifications to the embodiments described herein are possible and do not deviate from the scope and purpose of the present application. Similarly, for clarity and brevity, the following descriptions omit well-known functions and structures.
本願の実施例において、「例示的に」または「例えば」などの用語は、例、例証又は説明として表すためのものであり、本願の実施例において、「例示的に」または「例えば」と記述されたいずれの実施例又は解決手段は、他の実施例又は解決手段よりも好ましく又は利点がより多いように解釈するべきではない。正確にいうと、「例示的に」または「例えば」などの用語の使用は、関連概念を具体的な方式で呈することを主旨としている。 In the examples of the present application, terms such as "exemplary" or "for example" are intended to be expressed as an example, an example or an explanation, and are described as "exemplary" or "for example" in the examples of the present application. Any of the examples or solutions given should not be construed as preferable or more advantageous than the other examples or solutions. To be precise, the use of terms such as "exemplary" or "for example" is intended to present the relevant concept in a concrete manner.
従来の技術において、脆弱性特徴を取得する方式は、脆弱性の脆弱性特徴を人によって分析し、システムに現れた脆弱性が更新された場合、また脆弱性特徴を人によって再分析する必要があるため、脆弱性特徴の取得効率が高くなくて脆弱性データベースのメンテナンスコストが高い。本願は、この問題を解決するために、脆弱性特徴の取得方法、装置及び電子機器を提供し、タイプが異なる脆弱性に基づいて異なる脆弱性分析エンジンを予め組み立てることにより、タイプが異なる脆弱性に対して、異なる脆弱性分析エンジンを使用して脆弱性特徴を分析して抽出し、脆弱性の脆弱性パッチ情報を取得した後に、脆弱性パッチ情報に基づいて前記脆弱性のタイプを確定し、前記脆弱性のタイプに対応する脆弱性分析エンジンに基づいて前記脆弱性の少なくとも1つの脆弱性特徴を抽出し、前記脆弱性の少なくとも1つの脆弱性特徴を電子機器に送信し、電子機器で脆弱性検出のために使用される。よって、脆弱性の脆弱性特徴をオンラインで取得し、脆弱性特徴の取得効率を向上させることができ、システム脆弱性データベースのメンテナンスコストが軽減される。以下、本願の実施例の脆弱性特徴の取得方法の具体的な実現プロセスについて、図面に合わせながら具体的な実施例をもって詳細に説明する。 In the conventional technology, the method of acquiring the vulnerability characteristics requires that the vulnerability characteristics of the vulnerability be analyzed by a person, and when the vulnerability that appears in the system is updated, the vulnerability characteristics must be reanalyzed by a person. Therefore, the acquisition efficiency of the vulnerability feature is not high and the maintenance cost of the vulnerability database is high. In order to solve this problem, the present application provides methods, devices and electronic devices for acquiring vulnerability characteristics, and by pre-assembling different vulnerability analysis engines based on different types of vulnerabilities, different types of vulnerabilities In contrast, a different vulnerability analysis engine is used to analyze and extract the vulnerability characteristics, obtain the vulnerability patch information of the vulnerability, and then determine the type of the vulnerability based on the vulnerability patch information. , At least one vulnerability feature of the vulnerability is extracted based on the vulnerability analysis engine corresponding to the type of the vulnerability, and at least one of the vulnerability features of the vulnerability is transmitted to the electronic device in the electronic device. Used for vulnerability detection. Therefore, the vulnerability features of the vulnerability can be acquired online, the efficiency of acquiring the vulnerability features can be improved, and the maintenance cost of the system vulnerability database can be reduced. Hereinafter, the specific realization process of the method for acquiring the vulnerability feature of the embodiment of the present application will be described in detail with reference to the drawings.
まず、以下、本願の実施例における用語の一部について、当業者がよく理解するように、解釈して説明する。 First, some of the terms in the examples of the present application will be interpreted and explained so that those skilled in the art can understand them well.
1、脆弱性特徴とは、脆弱性を表徴するための情報であり、コードタイプの脆弱性である場合、脆弱性特徴は、脆弱性のソースコードと脆弱性の修復コードとの間の差異情報であり、非コードタイプの脆弱性である場合、脆弱性特徴は、脆弱性のソースファイルと脆弱性の修復ファイルとの間の変化情報である。 1. A vulnerability feature is information for expressing a vulnerability, and if it is a code type vulnerability, the vulnerability feature is information on the difference between the source code of the vulnerability and the repair code of the vulnerability. If it is a non-code type vulnerability, the vulnerability feature is the change information between the source file of the vulnerability and the repair file of the vulnerability.
2、実行エンティティとは、コードファイルがアンドロイドシステムで実行されるときに対応するアプリケーションプログラム(APP)又はシステムソフトウェアであり、アプリケーションプログラムは、社交アプリケーションプログラムやショッピングアプリケーションプログラムなどの各種のアプリケーションプログラムである。 2. The execution entity is an application program (APP) or system software corresponding to when a code file is executed on an android system, and the application program is various application programs such as a social application program and a shopping application program. ..
3、テストターゲットマシンクラスターとは、複数のテストターゲットマシンであり、異なるアンドロイドシステムバージョン、異なるプロセッサアーキテクチャプラットフォーム及び異なるセキュリティパッチバージョンに基づいて構築された脆弱性特徴をテストするためのテストマシンのことであり、テストターゲットマシンごとに、一アンドロイドシステムバージョン、一プロセッサアーキテクチャプラットフォーム及び一セキュリティパッチバージョンに対応する。 3. A test target machine cluster is a test machine for testing vulnerability features built on multiple test target machines, based on different android system versions, different processor architecture platforms, and different security patch versions. Yes, each test target machine supports one android system version, one processor architecture platform and one security patch version.
図1は、本願の一応用シーンの概略図であり、図1に示すように、本願に係る脆弱性特徴の取得装置は、既知脆弱性の脆弱性特徴、または、既知脆弱性の脆弱性特徴及び脆弱性特徴ごとに対応する実行エンティティを取得するためのものであり、実行エンティティは、アプリケーションプログラム(APP)又はシステムソフトウェアであってもよく、その中のアプリケーションプログラムは、例えば、社交アプリケーションプログラムやショッピングアプリケーションプログラムなどで、既知の脆弱性は、例えば、脆弱性スキャンソフトウェアによってスキャンされたアンドロイドシステムの脆弱性、または、アンドロイド公式ウェブサイトですでに公開された発表における脆弱性である。脆弱性特徴の取得装置によって取得された脆弱性の脆弱性特徴、又は、脆弱性特徴及び対応する実行エンティティは、脆弱性検出のために使用されることができ、全体的に、Javaリフレクションメカニズム、逆コンパイル(oatdump)などを含む可能な脆弱性特徴駆動モードで実現される。具体的に、従来の検出方法を用いて、例えば、個々の脆弱性特徴を検出するとき、脆弱性特徴に基づいて対応する特徴検出コードをコンパイルし、特徴検出コードを検出される電子機器内の対応する実行エンティティで実行(実行エンティティがない場合、電子機器内の実行エンティティに渡って一つずつ次第に実行される)し、脆弱性特徴が存在するか否かを検出し、これにより、脆弱性検出の目的を達成するようになる。その中の検出される電子機器は、アンドロイド(Android)ソフトウェアシステムを使用する電子機器、例えば、携帯電話、ポケットパソコン又は車載機器などであってもよい。本願に係る脆弱性特徴の取得装置は、アンドロイドシステムの既知脆弱性の脆弱性特徴をオンラインで取得することができ、アンドロイドシステムに現れた脆弱性が更新された場合、更新された脆弱性の脆弱性特徴をリアルタイムに取得することができるため、脆弱性特徴の取得効率が向上し、システム脆弱性データベースのメンテナンスコストが軽減される。以下、脆弱性特徴の取得プロセスについて、図面に合わせながら詳細に説明する。 FIG. 1 is a schematic view of one application scene of the present application, and as shown in FIG. 1, the vulnerability feature acquisition device according to the present application is a known vulnerability vulnerability feature or a known vulnerability vulnerability feature. And to acquire the execution entity corresponding to each vulnerability feature, the execution entity may be an application program (APP) or system software, and the application program in it is, for example, a social application program or Known vulnerabilities, such as in shopping application programs, are, for example, vulnerabilities in Android systems scanned by vulnerability scanning software, or vulnerabilities in announcements already published on the official Android website. Vulnerability feature acquisition The vulnerability feature of the vulnerability acquired by the device, or the vulnerability feature and the corresponding execution entity, can be used for vulnerability detection, and overall, the Java reflection mechanism, It is implemented in possible vulnerability feature drive modes, including decompilation (outdump). Specifically, when detecting individual vulnerability features using a conventional detection method, for example, the corresponding feature detection code is compiled based on the vulnerability features, and the feature detection code is detected in the electronic device. Executes with the corresponding execution entity (if there is no execution entity, it is gradually executed one by one across the execution entities in the electronic device) and detects whether or not the vulnerability feature exists, thereby vulnerable. Achieve the purpose of detection. The electronic device detected therein may be an electronic device that uses an Android software system, for example, a mobile phone, a pocket personal computer, an in-vehicle device, or the like. The device for acquiring the vulnerability characteristics according to the present application can acquire the vulnerability characteristics of the known vulnerabilities of the android system online, and when the vulnerabilities appearing in the android system are updated, the updated vulnerabilities are vulnerable. Since sexual features can be acquired in real time, the efficiency of acquiring vulnerable features is improved and the maintenance cost of the system vulnerability database is reduced. Hereinafter, the process of acquiring the vulnerability characteristics will be described in detail with reference to the drawings.
図2は、本願に係る脆弱性特徴の取得方法の実施例1のフローチャートであり、本実施例における実行主体は、図1に示すような脆弱性特徴の取得装置であってもよく、該脆弱性特徴の取得装置は、ハードウェア装置又はソフトウェアモジュールであってもよく、図2に示すように、本実施例の方法は、以下のステップを含むことができる。 FIG. 2 is a flowchart of Example 1 of the method for acquiring a vulnerability feature according to the present application, and the execution subject in this embodiment may be a device for acquiring a vulnerability feature as shown in FIG. 1, and the vulnerability The device for acquiring sexual characteristics may be a hardware device or a software module, and as shown in FIG. 2, the method of this embodiment can include the following 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, and the type includes a code type vulnerability and a non-code type vulnerability.
そのうち、脆弱性の脆弱性パッチ情報の取得は、アンドロイド公式ウェブサイトセキュリティ発表情報から取得することができ、具体的に、アンドロイド公式ウェブサイトセキュリティ発表情報には、脆弱性、例えば、公共脆弱性や暴露(Common Vulnerabilities and Exposures、CVE)の識別子、参照番号、タイプ、重大度および更新されたAndroidオープンソースコードプロジェクト(Android Open−Source Project、AOSP)のバージョンなどの情報が含まれており、下記のような表1は、セキュリティ発表情報の内容の例であり、そのうち、参照番号には、脆弱性パッチ情報のリンクが携帯されており、タイプは、リモート命令又はコード実行脆弱性(remote command/code execute 、RCE)であり、重大度は、高、中及び低を含む。 Among them, the acquisition of the vulnerability patch information of the vulnerability can be obtained from the Android official website security announcement information. Specifically, the Android official website security announcement information includes vulnerabilities such as public vulnerabilities. Information such as the identifier, reference number, type, severity and updated version of the Android Open Source Project (AOSP) of the exposure (Common Vulnerabilities and Exposures, CVE) is included and is described below. Table 1 such as Table 1 is an example of the content of security announcement information, in which the reference number carries a link for vulnerability patch information, and the type is remote instruction or code execution vulnerability (remote command / code). execut, RCE), and the severity includes high, medium and low.
脆弱性の脆弱性パッチ情報を取得するには、まず、脆弱性の識別子に基づいて対応する参照番号を確定し、参照番号に基づいて対応する脆弱性パッチ情報を取得する。脆弱性の脆弱性パッチ情報を取得した後に、脆弱性のタイプがコードタイプであるか、または、非コードタイプであるかを確定することができる。脆弱性の脆弱性パッチ情報が脆弱性のソースコード及び脆弱性の修復コードを含む場合、脆弱性のタイプがコードタイプであると確定することができるが、脆弱性の脆弱性パッチ情報が脆弱性のソースファイル及び脆弱性の修復ファイルを含む場合、脆弱性のタイプが非コードタイプであると確定することができる。 To obtain the vulnerability patch information for a vulnerability, first determine the corresponding reference number based on the vulnerability identifier, and then obtain the corresponding vulnerability patch information based on the reference number. After obtaining the vulnerability patch information for a vulnerability, it is possible to determine whether the vulnerability type is a code type or a non-code type. If the vulnerability patch information includes the source code of the vulnerability and the repair code of the vulnerability, it can be determined that the type of the vulnerability is the code type, but the vulnerability patch information of the vulnerability is the vulnerability. If the source file and the repair file of the vulnerability are included, the type of the vulnerability can be determined to be a non-code type.
説明する必要があるものとして、セキュリティ発表情報に脆弱性が複数含まれている場合、複数の脆弱性の脆弱性パッチ情報を1回で取得することができ、個々の脆弱性に対し、個々の脆弱性の脆弱性特徴をそれぞれ取得し、一定の期間内に、セキュリティ発表情報に脆弱性が1つ更新された場合、1回に該脆弱性の脆弱性パッチ情報を1つ取得し、そして、後続の工程を実行して該1つの脆弱性の脆弱性特徴を取得する。 As something that needs to be explained, if the security announcement information contains multiple vulnerabilities, it is possible to obtain vulnerability patch information for multiple vulnerabilities at once, and for each vulnerability, it is possible to obtain individual vulnerabilities. If each vulnerability feature is acquired and one vulnerability is updated in the security announcement information within a certain period of time, one vulnerability patch information for the vulnerability is acquired at a time, and then Subsequent steps are executed to acquire the vulnerability characteristics of the one vulnerability.
選択的に、プリセットの期間にしたがって、セキュリティ発表情報における脆弱性の脆弱性パッチ情報を周期的に取得してもよく、該プリセットの期間は、半月、一ヶ月、三ヶ月又は六ヶ月などであってもよく、脆弱性が更新された場合、セキュリティ発表情報をリアルタイムに追跡して更新された脆弱性の脆弱性パッチ情報を取得し、そして、後続の工程を実行して更新された脆弱性の脆弱性特徴を取得することができる。 Optionally, the vulnerability patch information of the vulnerability in the security announcement information may be acquired periodically according to the period of the preset, and the period of the preset may be half a month, one month, three months, six months, or the like. If a vulnerability is updated, the security announcement information is tracked in real time to obtain the updated vulnerability patch information, and the subsequent steps are performed to obtain the updated vulnerability. You can get the vulnerability characteristics.
S102、脆弱性のタイプに対応する脆弱性分析エンジンに基づいて脆弱性の少なくとも1つの脆弱性特徴を抽出する。 S102, At least one vulnerability feature of a vulnerability is extracted based on a vulnerability analysis engine corresponding to the type of vulnerability.
具体的にいうと、タイプが異なる脆弱性は、異なる脆弱性分析エンジンに対応し、コードタイプの脆弱性がコード分析エンジンに対応し、言語が異なるコードは異なるコード分析エンジン、例えば、C/C++コード分析エンジン、Javaコード分析エンジン及びカーネルコード分析エンジンなどに対応する。非コードタイプの脆弱性がファイル分析エンジン、例えば、構成ファイル分析エンジンなどに対応する。 Specifically, vulnerabilities of different types correspond to different vulnerability analysis engines, vulnerabilities of code type correspond to code analysis engines, and codes of different languages correspond to different code analysis engines, such as C / C ++. It supports code analysis engine, Java code analysis engine, kernel code analysis engine, etc. Non-code type vulnerabilities address file analysis engines, such as configuration file analysis engines.
具体的に、脆弱性のタイプに対応する脆弱性分析エンジンがC/C++コード分析エンジンである場合、C/C++コード分析エンジンにより、脆弱性の脆弱性パッチ情報を分析し、脆弱性の特徴を抽出するが、脆弱性のタイプに対応する脆弱性分析エンジンがJavaコード分析エンジンである場合、Javaコード分析エンジンにより、脆弱性の脆弱性パッチ情報を分析し、脆弱性の特徴を抽出するが、脆弱性のタイプに対応する脆弱性分析エンジンがカーネルコード分析エンジンである場合、カーネルコード分析エンジンにより、脆弱性の脆弱性パッチ情報を分析し、脆弱性の特徴を抽出するが、脆弱性のタイプに対応する脆弱性分析エンジンが構成ファイル分析エンジンである場合、構成ファイル分析エンジンにより、脆弱性の脆弱性パッチ情報を分析し、脆弱性の特徴を抽出する。脆弱性分析エンジンが異なると、脆弱性の脆弱性特徴を分析して抽出するプロセスは異なる。 Specifically, when the vulnerability analysis engine corresponding to the type of vulnerability is the C / C ++ code analysis engine, the C / C ++ code analysis engine analyzes the vulnerability patch information of the vulnerability and determines the characteristics of the vulnerability. If the vulnerability analysis engine corresponding to the type of vulnerability is the Java code analysis engine, the Java code analysis engine analyzes the vulnerability patch information of the vulnerability and extracts the characteristics of the vulnerability. If the vulnerability analysis engine corresponding to the type of vulnerability is the kernel code analysis engine, the kernel code analysis engine analyzes the vulnerability patch information of the vulnerability and extracts the characteristics of the vulnerability. If the corresponding vulnerability analysis engine is a configuration file analysis engine, the configuration file analysis engine analyzes the vulnerability patch information of the vulnerability and extracts the characteristics of the vulnerability. Different vulnerability analysis engines have different processes for analyzing and extracting the vulnerability characteristics of a vulnerability.
脆弱性ごとに少なくとも1つの脆弱性特徴があり、脆弱性が複数ある場合、複数の脆弱性の脆弱性特徴によって1つの脆弱性特徴セットを組み合わせる。 If there is at least one vulnerable feature for each vulnerability and there are multiple vulnerabilities, one vulnerable feature set is combined by the vulnerable features of a plurality of vulnerabilities.
そのうち、コードタイプの脆弱性の場合、脆弱性特徴は、例えば、関数シンボル、クラス又はクラスの表示可能なメンバー定義の増減であってもよく、コードファイル内の唯一性がある文字列の増減であってもよく、コード実行フローの変更(例えば、ライブラリ関数XXへのジャンプを追加した)などであってもよい。非コードタイプの脆弱性の場合、脆弱性特徴は、例えば、文字列特徴の追加、文字列特徴の削除、文字列特徴の修正、ファイルの追加及びファイルの削除のうちのいずれか1つであってもよく、そのうち、ファイルの追加又は削除はライブラリの追加又は削除であってもよい。 In the case of a code type vulnerability, the vulnerability feature may be, for example, an increase or decrease in a function symbol, a class, or a displayable member definition of a class, or an increase or decrease in a unique character string in a code file. It may be a change in the code execution flow (for example, a jump to the library function XX is added). In the case of a non-code type vulnerability, the vulnerability feature is, for example, one of adding a string feature, deleting a string feature, modifying a string feature, adding a file, and deleting a file. Of these, the addition or deletion of files may be the addition or deletion of libraries.
S103、脆弱性の少なくとも1つの脆弱性特徴を電子機器に送信する。 S103, At least one vulnerability feature of the vulnerability is transmitted to the electronic device.
具体的に、脆弱性の少なくとも1つの脆弱性特徴を電子機器に送信し、電子機器で脆弱性検出のために使用される。 Specifically, at least one vulnerability feature of a vulnerability is transmitted to an electronic device and used for vulnerability detection in the electronic device.
本実施例に係る脆弱性特徴の取得方法により、脆弱性の脆弱性パッチ情報を取得した後に、脆弱性パッチ情報に基づいて脆弱性がコードタイプであるか、または、非コードタイプであるかを確定し、そして、脆弱性のタイプに対応する脆弱性分析エンジンに基づいて脆弱性の少なくとも1つの脆弱性特徴を抽出し、最後に、脆弱性の少なくとも1つの脆弱性特徴を電子機器に送信する。タイプが異なる脆弱性は、異なる脆弱性分析エンジンに対応し、脆弱性分析エンジンは、タイプが異なる脆弱性に基づいて予め組み立てられたものであるため、脆弱性の脆弱性特徴をオンラインで取得し、脆弱性特徴の取得効率を向上させることを実現することができ、脆弱性特徴を人によって分析して取得する必要がなく、システム脆弱性データベースのメンテナンスコストが軽減される。 After acquiring the vulnerability patch information of the vulnerability by the method of acquiring the vulnerability feature according to this embodiment, it is determined whether the vulnerability is a code type or a non-code type based on the vulnerability patch information. Confirm and extract at least one vulnerability feature of the vulnerability based on the vulnerability analysis engine corresponding to the type of vulnerability, and finally send at least one vulnerability feature of the vulnerability to the electronic device. .. Different types of vulnerabilities correspond to different vulnerability analysis engines, and since the vulnerability analysis engine is pre-assembled based on different types of vulnerabilities, get the vulnerability characteristics of the vulnerabilities online. , It is possible to improve the acquisition efficiency of the vulnerability feature, it is not necessary to analyze and acquire the vulnerability feature by a person, and the maintenance cost of the system vulnerability database is reduced.
図3は、本願に係る脆弱性特徴の取得方法の実施例2のフローチャートであり、本実施例における実行主体は、図1に示すような脆弱性特徴の取得装置であってもよく、図3に示すように、本実施例の方法は、図2に示すような方法に基づき、さらに、S103の前に、また、ステップS104を含むことができる。 FIG. 3 is a flowchart of Example 2 of the method for acquiring a vulnerability feature according to the present application, and the execution subject in this embodiment may be a device for acquiring a vulnerability feature as shown in FIG. 1, and FIG. As shown in, the method of this embodiment is based on the method as shown in FIG. 2, and can further include before S103 and also in step S104.
S104、脆弱性の少なくとも1つの脆弱性特徴における個々の脆弱性特徴に対し、脆弱性特徴のソースコード又はソースファイルがあるコードファイルに基づいて脆弱性特徴の実行エンティティを確定し、脆弱性の脆弱性特徴及び実行エンティティを得る。 S104, For each vulnerability feature in at least one vulnerability feature, the execution entity of the vulnerability feature is determined based on the source code of the vulnerability feature or the code file containing the source file, and the vulnerability is vulnerable. Obtain sexual characteristics and execution entities.
具体的にいうと、実行エンティティは、コードファイルがアンドロイドシステムで実行されるときに対応するアプリケーションプログラム(APP)又はシステムソフトウェアであり、電子機器に送信されるのが脆弱性特徴しかない場合、検出時に、実行エンティティの実行を試す必要があり、検出が遅く、S102によって脆弱性の脆弱性特徴を取得した後、また、個々の脆弱性特徴の実行エンティティを確定し、後続の脆弱性検出のために使用する必要があり、個々の脆弱性に対してその対応する実行エンティティを確定し、このようにして脆弱性検出の効率を向上させる。脆弱性の脆弱性パッチ情報に基づいて脆弱性のソースコード又はソースファイルを取得することができ、ソースコードはコードタイプの脆弱性に対応し、ソースファイルは非コードタイプの脆弱性に対応する。説明する必要があるものとして、1つの脆弱性の脆弱性特徴が複数ある場合、複数の脆弱性特徴の実行エンティティが同じであってもよく、異なってもよい。 Specifically, the executing entity is the corresponding application program (APP) or system software when the code file is executed on an android system, and detects if the only vulnerable feature is sent to the electronic device. Sometimes it is necessary to try the execution of the execution entity, the detection is slow, after acquiring the vulnerability feature of the vulnerability by S102, and also to determine the execution entity of each vulnerability feature and for subsequent vulnerability detection. It should be used for determining the corresponding execution entity for each vulnerability, thus improving the efficiency of vulnerability detection. Vulnerability Vulnerability The source code or source file of a vulnerability can be obtained based on the patch information, the source code corresponds to the code type vulnerability, and the source file corresponds to the non-code type vulnerability. What needs to be explained is that when there are a plurality of vulnerable features of one vulnerability, the execution entities of the plurality of vulnerable features may be the same or different.
相応的に、S103は、具体的に、S103’であってもよく、前記脆弱性の少なくとも1つの脆弱性特徴及び対応する実行エンティティを電子機器に送信する。 Correspondingly, S103 may be specifically S103', and transmits at least one vulnerability feature of the vulnerability and the corresponding execution entity to the electronic device.
本実施例に係る脆弱性特徴の取得方法により、脆弱性の脆弱性パッチ情報を取得した後に、脆弱性パッチ情報に基づいて脆弱性がコードタイプであるか、または、非コードタイプであるかを確定し、そして、脆弱性のタイプに対応する脆弱性分析エンジンに基づいて脆弱性の少なくとも1つの脆弱性特徴を抽出し、続いて、抽出された個々の脆弱性特徴に対し、脆弱性特徴のソースコード又はソースファイルがあるコードファイルに基づいて脆弱性特徴の実行エンティティを確定し、最後に、脆弱性の少なくとも1つの脆弱性特徴及び対応する実行エンティティを電子機器に送信する。タイプが異なる脆弱性は、異なる脆弱性分析エンジンに対応し、脆弱性分析エンジンは、タイプが異なる脆弱性に基づいて予め組み立てられたものであるため、脆弱性の脆弱性特徴及び対応する実行エンティティをオンラインで取得することを実現し、脆弱性特徴の取得効率を向上させることができ、脆弱性特徴を人によって分析して取得する必要がなく、システム脆弱性データベースのメンテナンスコストが軽減される。 After acquiring the vulnerability patch information of the vulnerability by the method of acquiring the vulnerability feature according to this embodiment, it is determined whether the vulnerability is a code type or a non-code type based on the vulnerability patch information. Establish and extract at least one vulnerability feature of the vulnerability based on the vulnerability analysis engine corresponding to the type of vulnerability, and then, for each extracted vulnerability feature, the vulnerability feature The execution entity of the vulnerability feature is determined based on the code file in which the source code or the source file is, and finally, at least one vulnerability feature of the vulnerability and the corresponding execution entity are transmitted to the electronic device. Vulnerabilities of different types correspond to different vulnerability analysis engines, and since the vulnerability analysis engine is pre-assembled based on the different types of vulnerabilities, the vulnerability characteristics of the vulnerabilities and the corresponding execution entities. Can be acquired online, the efficiency of acquiring vulnerability features can be improved, there is no need to analyze and acquire vulnerability features by humans, and the maintenance cost of the system vulnerability database is reduced.
図4は、本願に係る脆弱性特徴の取得方法の実施例3のフローチャートであり、本実施例における実行主体は、図1に示すような脆弱性特徴の取得装置であってもよく、図4に示すように、本実施例の方法は、以下のステップを含むことができる。 FIG. 4 is a flowchart of Example 3 of the method for acquiring a vulnerability feature according to the present application, and the execution subject in this embodiment may be a device for acquiring a vulnerability feature as shown in FIG. 1, and FIG. As shown in, the method of this embodiment can include the following steps.
S201、脆弱性の脆弱性パッチ情報を取得した後に、脆弱性パッチ情報に基づいて脆弱性のタイプを確定し、タイプがコードタイプの脆弱性と非コードタイプの脆弱性を含む。 S201, After acquiring the vulnerability patch information of the vulnerability, the type of the vulnerability is determined based on the vulnerability patch information, and the type includes a code type vulnerability and a non-code type vulnerability.
そのうち、脆弱性の脆弱性パッチ情報の取得は、アンドロイド公式ウェブサイトセキュリティ発表情報から取得することができ、具体的な取得プロセスは、S101の記述を参照することができ、ここで繰り返して説明しないようにする。脆弱性の脆弱性パッチ情報が脆弱性のソースコード及び脆弱性の修復コードを含む場合、脆弱性のタイプがコードタイプであると確定することができ、このとき、S202を実行し、脆弱性の脆弱性パッチ情報が脆弱性のソースファイル及び脆弱性の修復ファイルを含む場合、脆弱性のタイプが非コードタイプであると確定することができ、このとき、S203を実行する。 Among them, the acquisition of the vulnerability patch information of the vulnerability can be acquired from the Android official website security announcement information, and the specific acquisition process can be referred to the description of S101, which will not be explained repeatedly here. To do so. If the vulnerability patch information of the vulnerability includes the source code of the vulnerability and the repair code of the vulnerability, it can be determined that the type of the vulnerability is the code type. At this time, S202 is executed to execute the vulnerability. If the vulnerability patch information includes a vulnerability source file and a vulnerability repair file, it can be determined that the vulnerability type is a non-code type, and S203 is executed at this time.
S202、コードタイプの脆弱性に対応する脆弱性分析エンジンに基づいて脆弱性の少なくとも1つの脆弱性特徴を抽出する。 S202, At least one vulnerability feature of a vulnerability is extracted based on a vulnerability analysis engine corresponding to a code type vulnerability.
そのうち、コードタイプの脆弱性がコード分析エンジンに対応し、言語が異なるコードは異なるコード分析エンジン、例えば、C/C++コード分析エンジン、Javaコード分析エンジン及びカーネルコード分析エンジンなどに対応する。 Among them, code type vulnerabilities correspond to code analysis engines, and codes in different languages correspond to different code analysis engines such as C / C ++ code analysis engine, Java code analysis engine, and kernel code analysis engine.
一実施可能な形態として、S202は、コードタイプの脆弱性に対応する脆弱性分析エンジンにより、以下のような操作を実行するステップ(図示せず)であってもよい。 As one feasible embodiment, S202 may be a step (not shown) of executing the following operations by a vulnerability analysis engine corresponding to a code type vulnerability.
S2021、脆弱性のソースコード及び脆弱性の修復コードに対し、対応するコーディング言語の文法分析を行い、文法分析結果に基づいて脆弱性のソースコードと脆弱性の修復コードとの少なくとも1つの差異情報を確定し、差異情報は、例えば、関数シンボル、クラス又はクラスの表示可能なメンバー定義の増減であってもよく、コードファイル内の唯一性がある文字列の増減であってもよく、コード実行フローの変更(例えば、ライブラリ関数XXへのジャンプを追加した)などであってもよい。 S2021, vulnerable source code and vulnerable repair code are subjected to grammatical analysis of the corresponding coding language, and at least one difference information between the vulnerable source code and the vulnerable repair code is performed based on the grammatical analysis result. The difference information may be, for example, an increase or decrease in the function symbol, class or displayable member definition of the class, or an increase or decrease in a unique character string in the code file, and code execution. It may be a flow change (for example, a jump to the library function XX is added).
S2022、少なくとも1つの差異情報に基づいて脆弱性の脆弱性特徴を確定し、1つの差異情報が1つの脆弱性特徴に対応し、即ち、差異情報を確定した後に、1つの差異情報を1つの脆弱性特徴として確定する。 S2022, the vulnerability feature of the vulnerability is determined based on at least one difference information, and one difference information corresponds to one vulnerability feature, that is, after the difference information is determined, one difference information is one. Established as a vulnerability feature.
以下の一つの脆弱性の脆弱性パッチ情報を例として挙げる。
―――a/src/android、SkAandroidFrameworkUtils.cpp
+++b src/android、SkAandroidFrameworkUtils.cpp
@@−17,7+17,9@@
#include“effects/GrDisableColorXP.h”
#endif//SK_SUPPORT_GPU
−#ifdef SK_BUILD_FOR_ANDROID
+#ifdef SK_BUILD_FOR_ANDROID_FRAMWORK
+
+# include<log/log.h>
#if SK_ SUPPORT_GPU
Bool SkAndroidFrameworkUtils::clipWithStencil(skcanvas*canvas){
@@−52,5 +54,9@@
}
# end if//SK_SUPPORT_GPU
−end if// SK_BUILD_FOR_ANDROID
+void SKAndroidFrameworkUtils::safet8Netlog(const char*bugNumber)
{
+ Android_errorwritelog(0x534e4554、bugNumber);
+}
+
+#end if// SK_BUILD_FOR_ANDROID_FRAMEWORK
The vulnerability patch information of one of the following vulnerabilities is given as an example.
――― a / src / android, SkAandroidFrameworkUtils. cpp
+++ b src / android, SkAandroidFrameworkUtils. cpp
@@ -17,7 + 17,9 @@
# Include "effects / GrDisableColorXP.h"
# Endif // SK_SUPPORT_GPU
-# Ifdef SK_BUILD_FOR_ANDROID
+ # ifdef SK_BUILD_FOR_ANDROID_FRAMWORK
+
+ # include <log / log. h>
# If SK_SUPPORT_GPU
Boolean SkAndroidFrameworkUtils :: clipWithStencil (skcanvas * canvas) {
@@ -52,5 +54,9 @@
}
# End if // SK_SUPPORT_GPU
-End if // SK_BUILD_FOR_ANDROID
+ Voice SKAndroidFrameworkUtils :: safe8Netlog (const char * bugNumer)
{
+ Android_errorwritelog (0x534e4554, bugNumer);
+}
+
+ # end if // SK_BUILD_FOR_ANDROID_FRAMEWORK
上記の脆弱性の脆弱性パッチ情報では、コードの前が「−」であるコードは、脆弱性のソースコードであり、コードの前が「+」であるコードは、脆弱性の修復コードであり、そのうちの
“−end if// SK_BUILD_FOR_ANDROID
+void SKAndroidFrameworkUtils::safet8Netlog(const char*bugNumber)
{
+ Android_errorwritelog(0x534e4554、bugNumber)”に基づき、
対応するクラス実現に方法「void SKAndroidFrameworkUtils::safet8Netlog(const char*bugNumber)」が追加されたと分析することができ、該方法「void SKAndroidFrameworkUtils::safet8Netlog(const char*bugNumber)」は、即ち、1つの脆弱性特徴である。
In the above vulnerability patch information, the code that precedes the code with "-" is the source code of the vulnerability, and the code that precedes the code with "+" is the repair code of the vulnerability. , Of which "-end if // SK_BUILD_FOR_ANDROID"
+ Voice SKAndroidFrameworkUtils :: safe8Netlog (const char * bugNumer)
{
+ Based on "Android_errorwritelog (0x534e4554, bugNumer)"
It can be analyzed that the method "void SKAndroidFrameworkUtils :: safe8Netlog (const char * blogNumer)" has been added to the corresponding class realization, and the method "void SKAndroidFrameworkUtiles :: safnet It is a vulnerability feature.
本実施形態において、コードタイプの脆弱性に対応する脆弱性分析エンジンにより、脆弱性のソースコード及び脆弱性の修復コードに対し、対応するコーディング言語の文法分析を行い、文法分析結果に基づいて脆弱性のソースコードと脆弱性の修復コードとの少なくとも1つの差異情報を確定し、1つの差異情報を1つの脆弱性特徴として確定することにより、コードタイプの脆弱性の脆弱性特徴をオンラインで取得することを実現し、脆弱性特徴の取得効率を向上させることができる。 In this embodiment, the vulnerability analysis engine corresponding to the vulnerability of the code type performs the grammatical analysis of the corresponding coding language for the source code of the vulnerabilities and the repair code of the vulnerabilities, and is vulnerable based on the results of the grammatical analysis. Obtain the vulnerability feature of a code type vulnerability online by determining at least one difference information between the sex source code and the vulnerability repair code, and determining one difference information as one vulnerability feature. It is possible to improve the acquisition efficiency of vulnerability features.
S203、非コードタイプの脆弱性に対応する脆弱性分析エンジンに基づいて脆弱性の少なくとも1つの脆弱性特徴を抽出する。 S203, At least one vulnerability feature of a vulnerability is extracted based on a vulnerability analysis engine corresponding to a non-code type vulnerability.
非コードタイプの脆弱性が、ファイル分析エンジン、例えば、構成ファイル分析エンジンなどに対応する。一実施可能な形態として、S203は、非コードタイプの脆弱性に対応する脆弱性分析エンジンにより、以下のような操作を実行するステップ(図示せず)であってもよい。 Non-code type vulnerabilities address file analysis engines, such as configuration file analysis engines. As one feasible embodiment, S203 may be a step (not shown) of executing the following operations by a vulnerability analysis engine corresponding to a non-code type vulnerability.
S2031、脆弱性のソースファイルと脆弱性の修復ファイルとの間の少なくとも1つの変化情報を確定し、変化情報は、文字列特徴の追加、文字列特徴の削除、文字列特徴の修正、ファイルの追加及びファイルの削除のうちのいずれか1つを含み、そのうち、ファイルの追加又は削除は、ライブラリの追加又は削除であってもよい。 S2031, at least one change information between the vulnerability source file and the vulnerability repair file is confirmed, and the change information is the addition of the character string feature, the deletion of the character string feature, the correction of the character string feature, and the file. It includes any one of addition and deletion of files, of which the addition or deletion of files may be the addition or deletion of libraries.
S2032、脆弱性のソースファイルがあるコードファイルを確定し、脆弱性のソースファイルがあるコードファイルで、少なくとも1つの変化情報で任意の変化情報に唯一性があるか否かを検索する。 S2032, the code file containing the source file of the vulnerability is determined, and the code file containing the source file of the vulnerability is searched for whether or not any change information is unique with at least one change information.
S2033、唯一性がある変化情報を脆弱性の脆弱性特徴として確定する。 S2033, the unique change information is determined as the vulnerability feature of the vulnerability.
本実施形態において、非コードタイプの脆弱性に対応する脆弱性分析エンジンにより、脆弱性のソースファイルと脆弱性の修復ファイルとの間の変化情報を確定し、脆弱性のソースファイルがあるコードファイルで、変化情報ごとに唯一性があるか否かを検索し、唯一性がある変化情報を脆弱性の脆弱性特徴として確定する。これにより、非コードタイプの脆弱性の脆弱性特徴をオンラインで取得することを実現し、脆弱性特徴の取得効率を向上させることができる。 In this embodiment, a vulnerability analysis engine for non-code type vulnerabilities determines change information between a vulnerability source file and a vulnerability repair file, and a code file containing the vulnerability source file. Then, it searches whether or not each change information has uniqueness, and determines the unique change information as the vulnerability feature of the vulnerability. As a result, it is possible to acquire the vulnerability features of non-code type vulnerabilities online, and improve the efficiency of acquiring the vulnerability features.
S204、前記脆弱性の少なくとも1つの脆弱性特徴における個々の脆弱性特徴に対し、脆弱性特徴のソースコード又はソースファイルがあるコードファイルに基づいて脆弱性特徴の実行エンティティを確定し、脆弱性の脆弱性特徴及び実行エンティティを得る。 S204, for each vulnerability feature in at least one of the vulnerability features, the source code of the vulnerability feature or the execution entity of the vulnerability feature is determined based on the code file in which the source file exists, and the execution entity of the vulnerability feature is determined. Obtain the vulnerability feature and execution entity.
そのうち、一実施可能な形態として、脆弱性特徴のソースコード又はソースファイルがあるコードファイルに基づいて脆弱性特徴の実行エンティティを確定するステップは、具体的に、
S2041、脆弱性特徴のソースコード又はソースファイルがあるコードファイルを確定するステップと、
S2042、コードファイルのコンパイル構成ファイルから、コードファイルの実行エンティティを探し、コードファイルの実行エンティティに基づいて脆弱性特徴の実行エンティティを確定するステップと、を含んでもよい(共に図示せず)。
Among them, as one feasible embodiment, the step of determining the execution 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, the step of determining the source code of the vulnerability feature or the code file containing the source file,
S2042, compilation of code file A step of searching for an execution entity of a code file from a configuration file and determining an execution entity of a vulnerability feature based on the execution entity of the code file may be included (both not shown).
そのうち、個々のバージョンのシステムは、1つのコンパイル構成ファイルに対応し、コンパイル構成ファイルは、コードファイルと対応する実行エンティティとのマッピング関係を記憶しているため、コードファイルのコンパイル構成ファイルから、コードファイルの実行エンティティを探し得ることができ、コードファイルの実行エンティティに基づいて脆弱性特徴の実行エンティティを確定することができる。脆弱性特徴の実行エンティティの確定は、後続の脆弱性検出を容易にさせることができる。具体的に、個々の脆弱性特徴を検出するとき、脆弱性特徴に基づいて対応する特徴検出コードをコンパイルし、特徴検出コードを検出される電子機器内の対応する実行エンティティで実行し、脆弱性特徴が存在するか否かを検出することにより、脆弱性検出の目的を達成するようになり、検出の効率を向上させることができる。 Of these, each version of the system corresponds to one compile configuration file, and since the compile configuration file remembers the mapping relationship between the code file and the corresponding execution entity, the code from the compile configuration file of the code file The execution entity of the file can be found, and the execution entity of the vulnerability feature can be determined based on the execution entity of the code file. Determining the execution entity of a vulnerability feature can facilitate subsequent vulnerability detection. Specifically, when detecting individual vulnerability features, the corresponding feature detection code is compiled based on the vulnerability features, and the feature detection code is executed by the corresponding execution entity in the detected electronic device to execute the vulnerability. By detecting whether or not a feature exists, the purpose of vulnerability detection can be achieved and the efficiency of detection can be improved.
図2〜図4のいずれか1つに示すような実施例に基づき、さらに、取得された脆弱性特徴を検証し、脆弱性特徴の取得の正確さを向上させることもでき、図5に示すような方法を例とし、図5は、本願に係る脆弱性特徴の取得方法の実施例4のフローチャートであり、図5に示すように、本実施例の方法は、S204の後に、また、以下のステップを含むことができる。 Based on the example shown in any one of FIGS. 2 to 4, it is also possible to further verify the acquired vulnerability features and improve the accuracy of acquiring the vulnerability features, which is shown in FIG. Taking such a method as an example, FIG. 5 is a flowchart of Example 4 of the method for acquiring a vulnerability feature according to the present application. As shown in FIG. 5, the method of this example is described after S204 and as follows. Steps can be included.
S205、脆弱性の少なくとも1つの脆弱性特徴を予め構築されたテストターゲットマシンクラスターによってテスト検証し、検証合格の脆弱性特徴を得て、テストターゲットマシンクラスターには、脆弱性が修復されたテストターゲットマシン及び脆弱性が修復されていないテストターゲットマシンが含まれている。 S205, At least one vulnerability feature of the vulnerability is tested and verified by a pre-built test target machine cluster, and the vulnerability feature that passes the verification is obtained, and the test target machine cluster is a test target in which the vulnerability is repaired. Includes machines and test target machines for which vulnerabilities have not been repaired.
そのうち、テストターゲットマシンクラスターは、異なるアンドロイドシステムバージョン、異なるプロセッサアーキテクチャプラットフォーム及び異なるセキュリティパッチバージョンに基づいて構築された複数テストターゲットマシンであり、テストターゲットマシンクラスターには、脆弱性が修復されたテストターゲットマシン及び脆弱性が修復されていないテストターゲットマシンが含まれる必要があり、脆弱性が修復されたテストターゲットマシンでは、脆弱性特徴が検出されず、脆弱性が修復されていないテストターゲットマシンでは、脆弱性特徴が検出され、それにより、取得された脆弱性特徴の正確さを確保することができ、テストターゲットマシンは、仮想マシン(Gen8motion仮想マシン)と実マシンによって共同で構築されてもよく、そのうち、Gen8motion仮想マシンがアンドロイドエミュレーターであり、Android仮想環境を提供する。テストターゲットマシンクラスターは、異なるアンドロイドシステムバージョン、異なるプロセッサアーキテクチャプラットフォーム及び異なるセキュリティパッチバージョンに基づいて構築されるものであるため、テストターゲットマシンごとに1つのアンドロイドシステムバージョン、1つのプロセッサアーキテクチャプラットフォーム及び1つのセキュリティパッチバージョンに対応し、これにより、検証の全面性や正確さを確保することができる。 Of these, test target machine clusters are multiple test target machines built on different android system versions, different processor architecture platforms, and different security patch versions, and test target machine clusters are test targets for which vulnerabilities have been fixed. The machine and the test target machine where the vulnerability has not been repaired must be included. In the test target machine where the vulnerability has been repaired, the vulnerability feature is not detected, and in the test target machine where the vulnerability has not been repaired, the test target machine has not been repaired. Vulnerability features are detected, thereby ensuring the accuracy of the acquired vulnerability features, and the test target machine may be jointly built by a virtual machine (Gen8motion virtual machine) and a real machine. Among them, the Gen8motion virtual machine is an android emulator and provides an Android virtual environment. Since the test target machine cluster is built on different android system versions, different processor architecture platforms and different security patch versions, one android system version, one processor architecture platform and one processor architecture platform for each test target machine. It supports security patch versions, which ensures completeness and accuracy of verification.
S206、検証合格の脆弱性特徴を脆弱性の脆弱性特徴として確定する。 S206, the vulnerability feature that has passed the verification is determined as the vulnerability feature of the vulnerability.
取得された脆弱性特徴を予め構築されたテストターゲットマシンクラスターでテスト検証し、検証合格の脆弱性特徴及び実行エンティティは最終の脆弱性の脆弱性特徴であり、これにより、脆弱性取得の正確さを向上させ、脆弱性特徴の誤検出率を低下させることができる。 The acquired vulnerabilities are tested and verified on a pre-built test target machine cluster, and the vulnerabilities and execution entities that pass the verification are the vulnerabilities of the final vulnerability, thereby ensuring the accuracy of the vulnerability acquisition. Can be improved and the false positive rate of vulnerability features can be reduced.
選択的に、S205で検証不合格の脆弱性特徴を得たときに、本実施例の方法は、さらに、検証不合格の脆弱性特徴を表示するステップS207を含むことができる。 When selectively obtaining the verification-failed vulnerability feature in S205, the method of this embodiment can further include step S207 to display the verification-failed vulnerability feature.
検証不合格の脆弱性特徴は、ユーザに表示し、ユーザ(即ち、開発者)により、検証不合格の脆弱性特徴の発生原因を分析し、検証不合格の脆弱性特徴の発生原因は、実行エンティティの未発見、対応する実行エンティティで脆弱性特徴の未発見、対応する実行エンティティの対照バージョンで脆弱性特徴の差異の未体現及び実行権限不足のうちのいずれか1つを含むことができる。ユーザがその原因を分析した後に、検証不合格の脆弱性特徴の発生原因を入力することができる。さらに、本実施例の方法は、さらに以下のステップを含むことができる。 The verification-failed vulnerability feature is displayed to the user, the user (that is, the developer) analyzes the cause of the verification-failed vulnerability feature, and the cause of the verification-failed vulnerability feature is executed. It can include any one of undiscovered entity, undiscovered vulnerability feature in the corresponding execution entity, undiscovered difference in vulnerability feature in the control version of the corresponding execution entity, and lack of execution permission. After the user analyzes the cause, the cause of the vulnerable feature that failed the verification can be entered. Furthermore, the method of this embodiment can further include the following steps.
S208、ユーザによって入力された検証不合格の脆弱性特徴の発生原因を受信し、検証不合格の脆弱性特徴の発生原因に基づいて脆弱性分析エンジンを追加するかまたは脆弱性分析エンジンを修正する。正確な脆弱性特徴の取得を補助し、さらに、脆弱性取得の正確さを向上させ、脆弱性特徴の誤検出率を低下させる。 S208, Receives the cause of the validation-failed vulnerability feature entered by the user, and adds or modifies the vulnerability analysis engine based on the cause of the validation-failed vulnerability feature. .. It assists in the acquisition of accurate vulnerability features, improves the accuracy of vulnerability acquisition, and reduces the false detection rate of vulnerability features.
本実施例に係る脆弱性特徴の取得方法により、取得された脆弱性特徴を予め構築されたテストターゲットマシンクラスターでテスト検証し、検証合格の脆弱性特徴及び実行エンティティが最終の脆弱性の脆弱性特徴及び実行エンティティであり、検証不合格の脆弱性特徴に対し、ユーザによって入力された検証不合格の脆弱性特徴の発生原因に基づいて脆弱性分析エンジンを追加するかまたは脆弱性分析エンジンを修正することにより、正確な脆弱性特徴の取得を補助し、さらに、脆弱性取得の正確さを向上させ、脆弱性特徴の誤検出率を低下させることができる。 By the method of acquiring the vulnerability feature according to this example, the acquired vulnerability feature is tested and verified on a pre-built test target machine cluster, and the vulnerability feature and the execution entity that pass the verification are the final vulnerability. Add or modify the vulnerability analysis engine based on the cause of the user-entered validation-failed vulnerability feature, which is a feature and execution entity and has failed validation. By doing so, it is possible to assist the acquisition of accurate vulnerability features, improve the accuracy of vulnerability acquisition, and reduce the false detection rate of vulnerability features.
図6は、本願に係る脆弱性特徴の取得装置の一構造概略図であり、図6に示すように、本実施例の脆弱性特徴の取得装置100は、取得モジュール11、確定モジュール12、抽出モジュール13及び送信モジュール14を含むことができ、そのうち、取得モジュール11は、脆弱性の脆弱性パッチ情報を取得するために使用されるものであり、確定モジュール12は、脆弱性パッチ情報に基づいて脆弱性のタイプを確定するために使用されるものであり、タイプがコードタイプの脆弱性と非コードタイプの脆弱性を含み、抽出モジュール13は、脆弱性のタイプに対応する脆弱性分析エンジンに基づいて脆弱性の少なくとも1つの脆弱性特徴を抽出するために使用されるものであり、送信モジュール14は、前記脆弱性の少なくとも1つの脆弱性特徴を電子機器に送信するために使用されるものである。
FIG. 6 is a schematic view of the structure of the vulnerability feature acquisition device according to the present application. As shown in FIG. 6, the vulnerability
さらに、確定モジュール12は、また、前記脆弱性の少なくとも1つの脆弱性特徴における個々の脆弱性特徴に対し、脆弱性特徴のソースコード又はソースファイルがあるコードファイルに基づいて脆弱性特徴の実行エンティティを確定するために使用されるものである。
In addition, the
相応的に、送信モジュール14は、前記脆弱性の少なくとも1つの脆弱性特徴及び対応する実行エンティティを電子機器に送信するために使用されるものである。
Correspondingly, the
選択的に、脆弱性の脆弱性パッチ情報は、脆弱性のソースコード及び脆弱性の修復コードを含み、抽出モジュール12は、脆弱性のタイプに対応する脆弱性分析エンジンにより、
脆弱性のソースコード及び脆弱性の修復コードに対し、対応するコーディング言語の文法分析を行い、
文法分析結果に基づいて脆弱性のソースコードと脆弱性の修復コードとの少なくとも1つの差異情報を確定し、少なくとも1つの差異情報に基づいて脆弱性の脆弱性特徴を確定し、1つの差異情報が1つの脆弱性特徴に対応するような操作を実行するために使用されるものである。
Optionally, the vulnerability patch information includes the source code of the vulnerability and the repair code of the vulnerability, and the
Perform grammatical analysis of the corresponding coding language for the source code of the vulnerability and the repair code of the vulnerability.
Determine at least one difference information between the vulnerability source code and the vulnerability repair code based on the grammatical analysis results, determine the vulnerability characteristics of the vulnerability based on at least one difference information, and determine one difference information. Is used to perform an operation that corresponds to one vulnerable feature.
選択的に、脆弱性の脆弱性パッチ情報が脆弱性のソースファイル及び脆弱性の修復ファイルを含み、抽出モジュール12は、
脆弱性のタイプに対応する脆弱性分析エンジンにより、
脆弱性のソースファイルと脆弱性の修復ファイルとの間の少なくとも1つの変化情報を確定し、変化情報は、文字列特徴の追加、文字列特徴の削除、文字列特徴の修正、ファイルの追加及びファイルの削除のうちのいずれか1つを含み、
脆弱性のソースファイルがあるコードファイルを確定し、脆弱性のソースファイルがあるコードファイルで、少なくとも1つの変化情報で任意の変化情報に唯一性があるか否かを検索し、
唯一性がある変化情報を脆弱性の脆弱性特徴として確定するような操作を実行するために使用されるものである。
Optionally, the vulnerability patch information includes the vulnerability source file and the vulnerability repair file, and the
With a vulnerability analysis engine that corresponds to the type of vulnerability
Establish at least one change information between the vulnerability source file and the vulnerability repair file, and the change information includes adding string features, removing string features, modifying string features, adding files, and so on. Including any one of the file deletions
Determine the code file that contains the source file of the vulnerability, and search the code file that contains the source file of the vulnerability to see if any change information is unique with at least one change information.
It is used to perform operations that determine unique change information as a vulnerability feature of a vulnerability.
さらに、確定モジュール12は、
脆弱性特徴のソースコード又はソースファイルがあるコードファイルを確定し、
コードファイルのコンパイル構成ファイルから、コードファイルの実行エンティティを探し、コードファイルの実行エンティティに基づいて脆弱性特徴の実行エンティティを確定するために使用されるものである。
Further, the
Determine the source code of the vulnerability feature or the code file that contains the source file,
Compile code file This is used to find the execution entity of the code file in the configuration file and determine the execution entity of the vulnerability feature based on the execution entity of the code file.
本実施例の装置は、図2又は図3又は図4に示すような方法の実施例の技術的解決手段を実行するために使用することができ、その実現原理や技術的効果が類似しているため、ここで繰り返して説明しないようにする。 The apparatus of this embodiment can be used to carry out the technical solution of the embodiment of the method as shown in FIG. 2 or FIG. 3 or FIG. Therefore, I will not repeat it here.
図7は、本願に係る脆弱性特徴の取得装置の一構造概略図であり、図7に示すように、本実施例の脆弱性特徴の取得装置200は、図6に示すような装置に基づき、さらに、検証モジュール15を含むことができ、そのうち、
検証モジュール15は、前記脆弱性の少なくとも1つの脆弱性特徴を予め構築されたテストターゲットマシンクラスターによってテスト検証し、検証合格の脆弱性特徴を得るために使用され、前記テストターゲットマシンクラスターには、脆弱性が修復されたテストターゲットマシン及び脆弱性が修復されていないテストターゲットマシンが含まれており、
確定モジュール14は、また、前記検証合格の脆弱性特徴を前記脆弱性の脆弱性特徴として確定するために使用されるものである。
FIG. 7 is a schematic structural diagram of the vulnerability feature acquisition device according to the present application. As shown in FIG. 7, the vulnerability
The
The
選択的に、テストターゲットマシンクラスターは、異なるアンドロイドシステムバージョン、異なるプロセッサアーキテクチャプラットフォーム及び異なるセキュリティパッチバージョンに基づいて構築されたものである。 Optionally, the test target machine cluster is built on different android system versions, different processor architecture platforms and different security patch versions.
本実施例の装置は、図5に示すような方法の実施例の技術的解決手段を実行するために使用することができ、その実現原理や技術的効果が類似しているため、ここで繰り返して説明しないようにする。 The device of this embodiment can be used to carry out the technical solution of the embodiment of the method as shown in FIG. 5, and since its realization principle and technical effect are similar, it is repeated here. I will not explain it.
図8は、本願に係る脆弱性特徴の取得装置の一構造概略図であり、図8に示すように、本実施例の脆弱性特徴の取得装置300は、図7に示すような装置に基づき、さらに、表示モジュール16を含むことができ、該表示モジュール16は、検証不合格の脆弱性特徴を得たときに、検証不合格の脆弱性特徴を表示するために使用されるものである。
FIG. 8 is a schematic structural diagram of the vulnerability feature acquisition device according to the present application. As shown in FIG. 8, the vulnerability
さらに、受信モジュール17及び処理モジュール18を含むことができ、そのうち、受信モジュール18は、ユーザによって入力された検証不合格の脆弱性特徴の発生原因を受信するために使用されるものであり、処理モジュール19は、検証不合格の脆弱性特徴の発生原因に基づいて脆弱性分析エンジンを追加するかまたは脆弱性分析エンジンを修正するために使用されるものである。
Further, a receiving
本実施例の装置は、図5に示すような方法の実施例の技術的解決手段を実行するために使用することができ、その実現原理や技術的効果が類似しているため、ここで繰り返して説明しないようにする。 The device of this embodiment can be used to carry out the technical solution of the embodiment of the method as shown in FIG. 5, and since its realization principle and technical effect are similar, it is repeated here. I will not explain it.
本願の実施例によれば、本願は、さらに、電子機器及び可読記憶媒体を提供する。 According to the embodiments of the present application, the present application further provides electronic devices and readable storage media.
図9に示すように、図9は、本願の実施例の脆弱性特徴の取得方法を実現するための電子機器のブロック図である。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、作業台、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、大型コンピュータ、及びその他の適切なコンピュータなどのような、様々な形のデジタルコンピュータを表すことを主旨とする。電子機器は、また、パーソナルデジタルアシスタント、セルラーテレフォン、スマートフォーン、ウェアラブルデバイス及びその他の類似するコンピューティングデバイスなどのような、様々な形のモバイル装置を表すこともできる。本明細書に示したコンポーネント、それらの連結や関係、及び、それらの機能は、あくまで例示的なものにすぎず、本明細書に記載の及び/又は本文が求める本願の実現を制限することを意図しない。 As shown in FIG. 9, FIG. 9 is a block diagram of an electronic device for realizing a method of acquiring a vulnerability feature according to an embodiment of the present application. Electronic devices are intended to represent various forms of digital computers, such as laptop computers, desktop computers, workbench, personal digital assistants, servers, blade servers, large computers, and other suitable computers. .. Electronic devices can also represent various forms of mobile devices, such as personal digital assistants, cellular telephones, smart phones, wearable devices and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely exemplary and limit the realization of the present application as described and / or as required by the text. Not intended.
図9に示すように、該電子機器は、1つ又は複数のプロセッサ801、メモリ802、及び各コンポーネントを連結するためのインタフェースを含み、該インタフェースは、高速インタフェースと低速インタフェースとを含む。個々のコンポーネントは、異なるバスを使用して互いに接続され、パブリックメインボードにインストールされるか、又は、必要に応じて他の方式でインストールされることができる。プロセッサは、電子機器内で実行される命令を処理することができ、外部の入力/出力装置(インタフェースにカップリングされたディスプレイデバイスなど)でGUIのグラフィクス情報がディスプレイされるための、メモリ内又はメモリ上に記憶されている命令まで含まれている。他の実施形態において、必要に応じて、複数のプロセッサ及び/又は複数のバスや複数のメモリと一緒に使用してもよい。同様に、複数の電子機器に接続し、個々の機器により、必要な操作を一部提供(例えば、サーバアレイ、一揃いのブレードサーバ、または、マルチプロセッサシステムとする)してもよい。図9には、1つのプロセッサ801を例としている。
As shown in FIG. 9, the electronic device includes one or
メモリ802は、本願に係る非一時的なコンピュータ可読記憶媒体である。そのうち、前記メモリには、少なくとも1つのプロセッサによって実行可能な命令が記憶され、前記少なくとも1つのプロセッサが本願に係る脆弱性特徴の取得方法を実行するようになる。本願の非一時的なコンピュータ可読記憶媒体は、コンピュータ命令を記憶しており、該コンピュータ命令は、コンピュータが本願に係る脆弱性特徴の取得方法を実行するようにさせるためのものである。
The
メモリ802は、非一時的なコンピュータ可読記憶媒体として、本願の実施例における脆弱性特徴の取得方法に対応するプログラム命令/モジュール(例えば、図6に示すような取得モジュール11、確定モジュール12、抽出モジュール13及び送信モジュール14)などの非一時的なソフトウェアプログラム、非一時的なコンピュータによる実行可能なプログラムおよびモジュールを記憶するために使用されるものであってもよい。プロセッサ801は、メモリ802に記憶された非一時的なソフトウェアプログラム、命令およびモジュールを実行に移すことにより、サーバの様々な機能アプリケーションおよびデータ処理を実行し、即ち、上記の方法の実施例における脆弱性特徴の取得方法を実現するようになる。
The
メモリ802は、プログラム記憶エリアとデータ記憶エリアとを含むことができ、そのうち、プログラム記憶エリアは、オペレーティングシステム、少なくとも1つの機能に必要なアプリケーションプログラムを記憶することができ、データ記憶エリアは、車内電子制御ユニットのアップデート電子機器の使用によって新規されるデータなどを記憶することができる。また、メモリ802は、高速ランダムアクセスメモリを含むことができ、また、少なくとも1つの磁気ディスク記憶デバイス、フラッシュメモリデバイス、又はその他の非一時的なソリッドステートストレージデバイスなどの非一時的なメモリを含むこともできる。いくつかの実施例において、メモリ802は、プロセッサ801に対して遠隔に設置されているメモリを選択的に含むことができ、それらの遠隔メモリは、ネットワークを介し、脆弱性特徴の取得方法を実現するための電子機器に接続されることができる。上記のネットワークの実例は、インターネット、イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク、及びそれらの組み合わせを含むが、これらに限定されない。
The
脆弱性特徴の取得方法の電子機器は、さらに、入力装置803及び出力装置804を含むことができる。プロセッサ801や、メモリ802、入力装置803及び出力装置804は、バス又はその他の方式によって接続されてもよく、図9では、バスによって接続される方式を例としている。
The electronic device of the method of acquiring the vulnerability feature can further include an
入力装置803は、入力された数字又はキャラクタ情報を受信し、電子機器のユーザ設定、および機能制御に関連する鍵信号の入力を発生することができ、タッチスクリーン、キーパッド、マウス、トラックパッド、タッチパッド、インディケータロッド、1つ又は複数のマウスボタン、トラックボール、操縦ハンドルなどの入力装置が挙げられる。出力装置804は、ディスプレイデバイス、補助照明装置(LEDなど)や触感フィードバック装置(振動モータなど)などを含むことができる。該ディスプレイデバイスは、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイやプラズマディスプレイを含むことができるが、それらに限定されない。いくつかの実施形態では、ディスプレイデバイスはタッチスクリーンであってもよい。
The
ここに記載のシステムや技術的様々な実施形態は、デジタル電子回路、集積回路システム、特定用途向けASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせで実現されてよい。それらの様々な実施形態は、1つ又は複数のコンピュータプログラムに実施される形態を含むことができ、該1つ又は複数のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムで実行及び/又は解釈されることができ、該プログラマブルプロセッサは、特定用途向け、または、汎用プログラマブルプロセッサであってもよく、記憶システム、少なくとも1つの入力装置、や少なくとも1つの出力装置から、データや命令を受信し、そして、データや命令を該記憶システム、該少なくとも1つの入力装置や、該少なくとも1つの出力装置に伝送することができる。 The systems and various technical embodiments described herein are realized by digital electronic circuits, integrated circuit systems, application specific ASICs (ASICs), computer hardware, firmware, software, and / or combinations thereof. May be done. The various embodiments thereof may include embodiments implemented in one or more computer programs, the one or more computer programs being executed and / or in a programmable system including at least one programmable processor. It can be interpreted that the programmable processor may be a purpose-built or general purpose programmable processor, receiving data or instructions from a storage system, at least one input device, or at least one output device. Then, data or instructions can be transmitted to the storage system, the at least one input device, or the at least one output device.
これらコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、または、コードとも呼ばれる)は、プログラマブルプロセッサの機械命令を含み、これらのコンピュータプログラムをアドバンスプロセス及び/又はオブジェクト指向型プログラミング言語、及び/又はアセンブリ言語/機械言語を利用して実施することができる。例えば、本明細書に使用される用語「機械可読媒体」や「コンピュータ可読媒体」は、機械命令及び/又はデータをプログラマブルプロセッサに提供するための任意のコンピュータプログラム製品、デバイス、及び/又は装置(磁気ディスク、光ディスク、メモリ、プログラマブルロジック装置(PLD)など)のことを指し、機械可読信号としての機械命令を受信する機械可読媒体を含む。用語「機械可読信号」は、機械命令及び/又はデータをプログラマブルプロセッサに提供するための任意の信号のことを指す。 These computer programs (also called programs, software, software applications, or code) include programmable processor machine instructions that allow these computer programs to be advanced processes and / or object-oriented programming languages and / or assembly language / machines. It can be implemented using language. For example, the terms "machine-readable medium" and "computer-readable medium" as used herein refer to any computer program product, device, and / or device for providing machine instructions and / or data to a programmable processor. It refers to a magnetic disk, an optical disk, a memory, a programmable logic device (PLD), etc.) and includes a machine-readable medium that receives a machine command as a machine-readable signal. The term "machine readable signal" refers to any signal for providing machine instructions and / or data to a programmable processor.
本願の実施例により、コンピュータプログラムをさらに提供し、前記コンピュータプログラムは、コンピュータ可読記憶媒体に記憶され、電子機器の少なくとも1つのプロセッサは、コンピュータ可読記憶媒体からコンピュータプログラムを読み取ることができ、少なくとも1つのプロセッサは、コンピュータプログラムを実行することによって、電子機器に上記実施例に記載の方法を実行させる。 According to an embodiment of the present application, a computer program is further provided, the computer program is stored in a computer-readable storage medium, and at least one processor of an electronic device can read the computer program from the computer-readable storage medium, and at least one. One processor causes an electronic device to perform the method described in the above embodiment by executing a computer program.
ユーザとのインタラクションを提供するために、ここに記載のシステムや技術をコンピュータで実施することができ、該コンピュータは、ユーザへ情報をディスプレイするためのディスプレイ装置(CRT(陰極線管)またはLCD(液晶ディスプレイ)モニターなど)、及びキーボードやポインティングデバイス(マウス又はトラックボールなど)があり、ユーザは、該キーボードや該ポインティングデバイスを通じ、入力をコンピュータに提供することができる。その他の種類の装置は、ユーザとのインタラクションを提供するために使用されることができ、例えば、ユーザに提供されるフィードバックは、任意の形の感覚フィードバック(視覚フィードバック、聴覚フィードバック、または触感フィードバックなど)であってもよく、ユーザからの入力を任意の形(音入力、音声入力又は触感入力を含む)で受信することができる。 To provide interaction with the user, the systems and techniques described herein can be implemented on a computer, which is a display device (CRT (cathode tube) or LCD (liquid crystal) for displaying information to the user. There is a display) monitor, etc.), and a keyboard or pointing device (mouse, trackball, etc.), and the user can provide input to the computer through the keyboard or the pointing device. Other types of devices can be used to provide interaction with the user, for example, the feedback provided to the user may be any form of sensory feedback (visual feedback, auditory feedback, or tactile feedback, etc.) ), And the input from the user can be received in any form (including sound input, voice input or tactile input).
ここに記載のシステムや技術は、バックグランドコンポーネントを含むコンピュータシステム(データサーバとして作用するなど)に、または、ミドルウェアコンポーネントを含むコンピュータシステム(アプリケーションサーバなど)に、または、フロントエンドコンポーネントを含むコンピュータシステム(図形式のユーザインタフェース、またはネットワークブラウザを備えるユーザコンピュータなど、ユーザは、該図形式のユーザインタフェース、または該ネットワークブラウザを通じてここに記載のシステムや技術に係る実施形態とイントラクションをすることができる)に、またはこのようなバックグランドコンポーネント、ミドルウェアコンポーネント、またはフロントエンドコンポーネントの任意の組み合わせを含むコンピュータシステムに実施されてもよい。システムのコンポーネントは、任意の形、または媒体のデジタルデータ通信(通信ネットワークなど)を通じて相互に接続することができる。通信ネットワークは、例示的に、ローカルエリアネットワーク(LAN)や、ワイドエリアネットワーク(WAN)及びインターネットを含む。 The systems and technologies described herein are for computer systems that include background components (such as acting as a data server), for computer systems that include middleware components (such as application servers), or for computer systems that include front-end components. (A user, such as a user computer with a graphical user interface or a network browser, can use the graphical user interface or the network browser to provide instructions with embodiments and techniques according to the systems and techniques described herein. ) Or any combination of such background components, middleware components, or front-end components may be implemented in a computer system. The components of the system can be interconnected in any form or through digital data communication of the medium (such as a communication network). Communication networks typically include local area networks (LANs), wide area networks (WANs), and the Internet.
コンピュータシステムは、クライアント端末やサーバを含むことができる。クライアント端末やサーバは、一般的に、互いに遠く離れており、通信ネットワークを通じてイントラクションをしている。対応するコンピュータでの実行、および、互いにクライアント端末・サーバという関係を有するコンピュータプログラムにより、クライアント端末とサーバとの関係を築き上げる。 The computer system can include a client terminal and a server. Client terminals and servers are generally far apart from each other and provide traction through communication networks. The relationship between the client terminal and the server is built up by executing on the corresponding computer and by computer programs that have a relationship of the client terminal and the server with each other.
本願の実施例の技術的解決手段によれば、脆弱性の脆弱性パッチ情報を取得した後に、脆弱性パッチ情報に基づいて脆弱性がコードタイプであるか、または、非コードタイプであるかを確定し、そして、脆弱性のタイプに対応する脆弱性分析エンジンに基づいて脆弱性の少なくとも1つの脆弱性特徴を抽出し、最後に、抽出された個々の脆弱性特徴に対し、脆弱性特徴のソースコード又はソースファイルがあるコードファイルに基づいて脆弱性特徴の実行エンティティを確定することにより、脆弱性の脆弱性特徴及び実行エンティティを得る。タイプが異なる脆弱性は、異なる脆弱性分析エンジンに対応し、脆弱性分析エンジンは、タイプが異なる脆弱性に基づいて予め組み立てられたものであるため、脆弱性の脆弱性特徴をオンラインで取得し、脆弱性特徴の取得効率を向上させることを実現することができ、脆弱性特徴を人によって分析して取得する必要がなく、システム脆弱性データベースのメンテナンスコストが軽減される。 According to the technical solution of the embodiment of the present application, after obtaining the vulnerability patch information of the vulnerability, whether the vulnerability is a code type or a non-code type is determined based on the vulnerability patch information. Determine and extract at least one vulnerability feature of the vulnerability based on the vulnerability analysis engine corresponding to the type of vulnerability, and finally, for each extracted vulnerability feature, the vulnerability feature By determining the execution entity of the vulnerability feature based on the source code or the code file in which the source file is located, the vulnerability feature and the execution entity of the vulnerability are obtained. Different types of vulnerabilities correspond to different vulnerability analysis engines, and since the vulnerability analysis engine is pre-assembled based on different types of vulnerabilities, get the vulnerability characteristics of the vulnerabilities online. , It is possible to improve the acquisition efficiency of the vulnerability feature, it is not necessary to analyze and acquire the vulnerability feature by a person, and the maintenance cost of the system vulnerability database is reduced.
上記に示した様々な形のフローを使用し、ステップを改めて並べ替えたり、増加したり、又は削除したりすることができると理解するべきである。例えば、本願に記載の各ステップは、本願に開示された技術的解決手段による所期結果さえ実現されれば、並行して実行されてもよく、順に沿って実行されてもよく、又は順番を乱して実行されてもよいから、本文では、ここで限定されない。 It should be understood that the various forms of flow shown above can be used to rearrange, increase, or delete steps. For example, each step described in the present application may be performed in parallel, in sequence, or in order, as long as the desired results of the technical solutions disclosed in the present application are achieved. The text is not limited here, as it may be executed in a disorderly manner.
上記の具体的な実施形態は、本願の保護範囲に対する制限を構成しない。当業者であれば、設計要件やその他の要素に基づいた様々な修正、組み合わせ、下位組み合わせや代替が可能であると理解するべきである。本願の精神や原則の範囲内に行われるすべての修正、等価置換や改善は、いずれも本願の保護範囲に含まれるべきである。 The specific embodiments described above do not constitute a limitation on the scope of protection of the present application. Those skilled in the art should understand that various modifications, combinations, subcombinations and alternatives based on design requirements and other factors are possible. All modifications, equivalent replacements or improvements made within the spirit or principles of the present application should be included in the scope of protection of the present application.
Claims (22)
前記脆弱性のタイプに対応する脆弱性分析エンジンに基づいて前記脆弱性の少なくとも1つの脆弱性特徴を抽出するステップと、
前記脆弱性の少なくとも1つの脆弱性特徴を電子機器に送信するステップと、
を含む、脆弱性特徴の取得方法。 After obtaining the vulnerability patch information of the vulnerability, the type of the vulnerability is determined based on the vulnerability patch information, and the steps including the code type vulnerability and the non-code type vulnerability are included.
Steps to extract at least one vulnerability feature of the vulnerability based on the vulnerability analysis engine corresponding to the type of vulnerability, and
A step of transmitting at least one vulnerability feature of the vulnerability to an electronic device,
How to get the vulnerability features, including.
前記脆弱性の少なくとも1つの脆弱性特徴における個々の脆弱性特徴に対し、脆弱性特徴のソースコード又はソースファイルがあるコードファイルに基づいて脆弱性特徴の実行エンティティを確定するステップを含み、
前記脆弱性の少なくとも1つの脆弱性特徴を電子機器に送信する前記ステップは、
前記脆弱性の少なくとも1つの脆弱性特徴及び対応する実行エンティティを電子機器に送信するステップを含む、
請求項1に記載の脆弱性特徴の取得方法。 The method of acquiring the vulnerability feature is further described.
For each vulnerability feature in at least one of the vulnerability features, the step includes determining the execution 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.
The step of transmitting at least one vulnerability feature of the vulnerability to an electronic device is
Including the step of transmitting at least one vulnerability feature of the vulnerability and the corresponding executing entity to the electronic device.
The method for acquiring the vulnerability feature according to claim 1.
前記脆弱性のタイプに対応する脆弱性分析エンジンにより、
前記脆弱性のソースコード及び前記脆弱性の修復コードに対して対応するコーディング言語の文法分析を行い、
文法分析結果に基づいて前記脆弱性のソースコードと前記脆弱性の修復コードとの少なくとも1つの差異情報を確定し、前記少なくとも1つの差異情報に基づいて前記脆弱性の脆弱性特徴を確定し、1つの差異情報が1つの脆弱性特徴に対応するような操作を実行するステップを含む、
請求項1に記載の脆弱性特徴の取得方法。 The vulnerability patch information of the vulnerability includes the source code of the vulnerability and the repair code of the vulnerability, and at least one of the vulnerabilities is based on the vulnerability analysis engine corresponding to the type of the vulnerability. The step of extracting the feature is
By the vulnerability analysis engine corresponding to the above type of vulnerability
Perform grammatical analysis of the corresponding coding language for the source code of the vulnerability and the repair code of the vulnerability.
Based on the grammatical analysis result, at least one difference information between the source code of the vulnerability and the repair code of the vulnerability is determined, and the vulnerability characteristic of the vulnerability is determined based on the at least one difference information. Including the step of performing an operation such that one difference information corresponds to one vulnerability feature,
The method for acquiring the vulnerability feature according to claim 1.
前記脆弱性のタイプに対応する脆弱性分析エンジンにより、
前記脆弱性のソースファイル及び前記脆弱性の修復ファイルの少なくとも1つの変化情報を確定し、前記変化情報は、文字列特徴の追加、文字列特徴の削除、文字列特徴の修正、ファイルの追加及びファイルの削除のうちのいずれか1つを含み、
前記脆弱性のソースファイルがあるコードファイルを確定し、前記脆弱性のソースファイルがあるコードファイルで前記少なくとも1つの変化情報で任意の変化情報に唯一性があるか否かを検索し、
唯一性がある変化情報を前記脆弱性の脆弱性特徴として確定するような操作を実行するステップを含む、
請求項1に記載の脆弱性特徴の取得方法。 The vulnerability patch information of the vulnerability includes the source file of the vulnerability and the repair file of the vulnerability, and at least one of the vulnerabilities is based on the vulnerability analysis engine corresponding to the type of the vulnerability. The step of extracting the feature is
By the vulnerability analysis engine corresponding to the above type of vulnerability
The change information of at least one of the source file of the vulnerability and the repair file of the vulnerability is confirmed, and the change information includes addition of a character string feature, deletion of a character string feature, modification of a character string feature, addition of a file, and so on. Including any one of the file deletions
The code file containing the source file of the vulnerability is determined, and the code file containing the source file of the vulnerability is searched for whether or not any change information is unique with at least one change information.
Including the step of performing an operation that determines the unique change information as the vulnerability feature of the vulnerability.
The method for acquiring the vulnerability feature according to claim 1.
前記脆弱性特徴のソースコード又はソースファイルがあるコードファイルを確定するステップと、
前記コードファイルのコンパイル構成ファイルから、前記コードファイルの実行エンティティを探し、前記コードファイルの実行エンティティに基づいて前記脆弱性特徴の実行エンティティを確定するステップと、
を含む、請求項2に記載の脆弱性特徴の取得方法。 The step of determining the execution entity of a vulnerability feature based on the source code of the vulnerability feature or the code file in which the source file is located is
Steps to determine the source code or code file containing the source code for the vulnerability feature,
A step of searching for the execution entity of the code file from the compilation configuration file of the code file and determining the execution entity of the vulnerability feature based on the execution entity of the code file.
2. The method for acquiring a vulnerability feature according to claim 2.
前記脆弱性の少なくとも1つの脆弱性特徴を予め構築されたテストターゲットマシンクラスターによってテスト検証し、検証合格の脆弱性特徴を得て、前記テストターゲットマシンクラスターには、脆弱性が修復されたテストターゲットマシン及び脆弱性が修復されていないテストターゲットマシンが含まれるステップと、
前記検証合格の脆弱性特徴を前記脆弱性の脆弱性特徴として確定するステップと、
を含む、請求項1〜5のいずれか1項に記載の脆弱性特徴の取得方法。 The method of acquiring the vulnerability feature is further described.
At least one of the vulnerability characteristics of the vulnerability is tested and verified by a pre-built test target machine cluster, and the vulnerability characteristics that pass the verification are obtained, and the test target machine cluster is a test target in which the vulnerability is repaired. Steps that include the machine and the test target machine for which the vulnerability has not been repaired,
The step of determining the vulnerability feature that passed the verification as the vulnerability feature of the vulnerability, and
The method for acquiring a vulnerability feature according to any one of claims 1 to 5, including.
請求項6に記載の脆弱性特徴の取得方法。 The test target machine cluster was built on different android system versions, different processor architecture platforms and different security patch versions.
The method for acquiring the vulnerability feature according to claim 6.
検証不合格の脆弱性特徴を得たときに、前記検証不合格の脆弱性特徴を表示するステップを含む、
請求項6に記載の脆弱性特徴の取得方法。 The method of acquiring the vulnerability feature is further described.
When a verification-failed vulnerability feature is obtained, the step of displaying the verification-failed vulnerability feature is included.
The method for acquiring the vulnerability feature according to claim 6.
ユーザによって入力された前記検証不合格の脆弱性特徴の発生原因を受信するステップと、
前記検証不合格の脆弱性特徴の発生原因に基づいて脆弱性分析エンジンを追加するかまたは脆弱性分析エンジンを修正するステップと、
を含む、請求項8に記載の脆弱性特徴の取得方法。 The method of acquiring the vulnerability feature is further described.
The step of receiving the cause of the vulnerability feature of the verification failure entered by the user, and
Steps to add a vulnerability analysis engine or modify the vulnerability analysis engine based on the cause of the above-mentioned failed verification vulnerability feature, and
8. The method for acquiring a vulnerability feature according to claim 8.
前記脆弱性パッチ情報に基づいて前記脆弱性のタイプを確定するために使用され、前記タイプがコードタイプの脆弱性と非コードタイプの脆弱性を含む確定モジュールと、
前記脆弱性のタイプに対応する脆弱性分析エンジンに基づいて前記脆弱性の少なくとも1つの脆弱性特徴を抽出するために使用される抽出モジュールと、
前記脆弱性の少なくとも1つの脆弱性特徴を電子機器に送信するために使用される送信モジュールと、
を含む、脆弱性特徴の取得装置。 The acquisition module used to acquire the vulnerability patch information of the vulnerability, and
A verifier module that is used to determine the type of the vulnerability based on the vulnerability patch information, and the type includes a code type vulnerability and a non-code type vulnerability.
An extraction module used to extract at least one vulnerability feature of the vulnerability based on the vulnerability analysis engine corresponding to the type of vulnerability.
A transmission module used to transmit at least one vulnerability feature of the vulnerability to an electronic device.
A device for acquiring vulnerability characteristics, including.
前記脆弱性の少なくとも1つの脆弱性特徴における個々の脆弱性特徴に対し、脆弱性特徴のソースコード又はソースファイルがあるコードファイルに基づいて脆弱性特徴の実行エンティティを確定するために使用され、
前記送信モジュールは、
前記脆弱性の少なくとも1つの脆弱性特徴及び対応する実行エンティティを電子機器に送信するために使用される、
請求項10に記載の脆弱性特徴の取得装置。 The confirmation module also
For each vulnerability feature in at least one of the vulnerability features, the source code of the vulnerability feature or the source file is used to determine the execution entity of the vulnerability feature based on the code file.
The transmission module
Used to send at least one vulnerability feature of the vulnerability and the corresponding executing entity to an electronic device.
The device for acquiring a vulnerability feature according to claim 10.
前記脆弱性のタイプに対応する脆弱性分析エンジンにより、
前記脆弱性のソースコード及び前記脆弱性の修復コードに対して対応するコーディング言語の文法分析を行い、
文法分析結果に基づいて前記脆弱性のソースコードと前記脆弱性の修復コードとの少なくとも1つの差異情報を確定し、前記少なくとも1つの差異情報に基づいて前記脆弱性の脆弱性特徴を確定し、1つの差異情報が1つの脆弱性特徴に対応するような操作を実行するために使用される、
請求項10に記載の脆弱性特徴の取得装置。 The vulnerability patch information of the vulnerability includes the source code of the vulnerability and the repair code of the vulnerability.
By the vulnerability analysis engine corresponding to the above type of vulnerability
Perform grammatical analysis of the corresponding coding language for the source code of the vulnerability and the repair code of the vulnerability.
Based on the grammatical analysis result, at least one difference information between the source code of the vulnerability and the repair code of the vulnerability is determined, and the vulnerability characteristic of the vulnerability is determined based on the at least one difference information. One variance information is used to perform an operation that corresponds to one vulnerable feature,
The device for acquiring a vulnerability feature according to claim 10.
前記脆弱性のタイプに対応する脆弱性分析エンジンにより、
前記脆弱性のソースファイル及び前記脆弱性の修復ファイルの少なくとも1つの変化情報を確定し、前記変化情報は、文字列特徴の追加、文字列特徴の削除、文字列特徴の修正、ファイルの追加及びファイルの削除のうちのいずれか1つを含み、
前記脆弱性のソースファイルがあるコードファイルを確定し、前記脆弱性のソースファイルがあるコードファイルで前記少なくとも1つの変化情報で任意の変化情報に唯一性があるか否かを検索し、
唯一性がある変化情報を前記脆弱性の脆弱性特徴として確定するような操作を実行するために使用される、
請求項10に記載の脆弱性特徴の取得装置。 The vulnerability patch information of the vulnerability includes the source file of the vulnerability and the repair file of the vulnerability.
By the vulnerability analysis engine corresponding to the above type of vulnerability
The change information of at least one of the source file of the vulnerability and the repair file of the vulnerability is confirmed, and the change information includes addition of a character string feature, deletion of a character string feature, modification of a character string feature, addition of a file, and so on. Including any one of the file deletions
The code file containing the source file of the vulnerability is determined, and the code file containing the source file of the vulnerability is searched for whether or not any change information is unique with at least one change information.
Used to perform an operation that establishes unique change information as a vulnerability feature of the vulnerability.
The device for acquiring a vulnerability feature according to claim 10.
前記脆弱性特徴のソースコード又はソースファイルがあるコードファイルを確定し、
前記コードファイルのコンパイル構成ファイルから、前記コードファイルの実行エンティティを探し、前記コードファイルの実行エンティティに基づいて前記脆弱性特徴の実行エンティティを確定するために使用される、
請求項11に記載の脆弱性特徴の取得装置。 The confirmation module is
Determine the source code or code file containing the source code of the above-mentioned vulnerability feature,
It is used to find the execution entity of the code file from the compilation configuration file of the code file and determine the execution entity of the vulnerability feature based on the execution entity of the code file.
The device for acquiring a vulnerability feature according to claim 11.
前記脆弱性の少なくとも1つの脆弱性特徴を予め構築されたテストターゲットマシンクラスターによってテスト検証し、検証合格の脆弱性特徴を得るために使用され、前記テストターゲットマシンクラスターには、脆弱性が修復されたテストターゲットマシン及び脆弱性が修復されていないテストターゲットマシンが含まれる検証モジュールを含み、
前記確定モジュールは、また、前記検証合格の脆弱性特徴を前記脆弱性の脆弱性特徴として確定するために使用される、
請求項10〜14のいずれか1項に記載の脆弱性特徴の取得装置。 The vulnerability feature acquisition device also
At least one of the vulnerability features is tested and validated by a pre-built test target machine cluster, and is used to obtain a valid vulnerability feature, and the test target machine cluster is repaired. Includes a verification module that contains a test target machine that has been tested and a test target machine that has not been repaired for vulnerabilities.
The determination module is also used to determine the pass-verification vulnerability feature as the vulnerability feature of the vulnerability.
The device for acquiring a vulnerability feature according to any one of claims 10 to 14.
請求項15に記載の脆弱性特徴の取得装置。 The test target machine cluster was built on different android system versions, different processor architecture platforms and different security patch versions.
The device for acquiring a vulnerability feature according to claim 15.
検証不合格の脆弱性特徴を得たときに、前記検証不合格の脆弱性特徴を表示するために使用される表示モジュールを含む、
請求項15に記載の脆弱性特徴の取得装置。 The vulnerability feature acquisition device further
Includes a display module used to display the failed validation feature when a failed validation feature is obtained.
The device for acquiring a vulnerability feature according to claim 15.
ユーザによって入力された前記検証不合格の脆弱性特徴の発生原因を受信するために使用される受信モジュールと、
前記検証不合格の脆弱性特徴の発生原因に基づいて脆弱性分析エンジンを追加するかまたは脆弱性分析エンジンを修正するために使用される処理モジュールと、
を含む、請求項17に記載の脆弱性特徴の取得装置。 The vulnerability feature acquisition device further
The receiving module used to receive the cause of the failed validation feature entered by the user, and the receiving module.
A processing module used to add a vulnerability analysis engine or modify the vulnerability analysis engine based on the cause of the failure feature of the above-mentioned verification failure.
The device for acquiring a vulnerability feature according to claim 17.
前記少なくとも1つのプロセッサと通信するように接続されたメモリを含み、そのうち、
前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶されており、前記命令が前記少なくとも1つのプロセッサによって実行されることで、前記少なくとも1つのプロセッサは、請求項1〜9のいずれか1項に記載の脆弱性特徴の取得方法を実行することができるようになる、
電子機器。 Includes at least one processor and memory connected to communicate with at least one processor, of which
An instruction that can be executed by the at least one processor is stored in the memory, and when the instruction is executed by the at least one processor, the at least one processor can be any of claims 1 to 9. You will be able to execute the method for acquiring vulnerability features described in Section 1.
Electronics.
脆弱性の脆弱性パッチ情報を取得した後に、前記脆弱性パッチ情報に基づいて前記脆弱性のタイプを確定するステップと、
前記脆弱性のタイプに対応する脆弱性分析エンジンに基づいて前記脆弱性の少なくとも1つの脆弱性特徴を抽出するステップと、
前記脆弱性の少なくとも1つの脆弱性特徴を電子機器に送信するステップと、
を含む、脆弱性特徴の取得方法。 How to get the vulnerability characteristics
After acquiring the vulnerability patch information of the vulnerability, the step of determining the type of the vulnerability based on the vulnerability patch information, and
Steps to extract at least one vulnerability feature of the vulnerability based on the vulnerability analysis engine corresponding to the type of vulnerability, and
A step of transmitting at least one vulnerability feature of the vulnerability to an electronic device,
How to get the vulnerability features, including.
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 |
|---|---|
| JP2021108189A true JP2021108189A (en) | 2021-07-29 |
| JP7231664B2 JP7231664B2 (en) | 2023-03-01 |
Family
ID=75718558
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021066470A Active JP7231664B2 (en) | 2020-05-14 | 2021-04-09 | Vulnerability feature acquisition method, device and electronic device |
Country Status (3)
| Country | Link |
|---|---|
| JP (1) | JP7231664B2 (en) |
| KR (1) | KR102477150B1 (en) |
| CN (1) | CN113672929A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114154152A (en) * | 2021-11-11 | 2022-03-08 | 中国电子科技网络信息安全有限公司 | Vulnerability detection method, device and medium based on patch comparison and taint analysis |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114611111A (en) * | 2022-02-10 | 2022-06-10 | 阿里云计算有限公司 | Vulnerability repair method and computing equipment |
| WO2023224192A1 (en) * | 2022-05-16 | 2023-11-23 | 엘에스웨어(주) | Software management system and method |
| CN117610018B (en) * | 2023-12-01 | 2024-06-25 | 深圳市马博士网络科技有限公司 | Vulnerability simulation method and device |
Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002318716A (en) * | 2001-04-20 | 2002-10-31 | Sony Corp | Distribution system, distribution method, server computer, client computer |
| US20030126472A1 (en) * | 2001-12-31 | 2003-07-03 | Banzhof Carl E. | Automated computer vulnerability resolution system |
| JP2005038428A (en) * | 2003-07-16 | 2005-02-10 | Microsoft Corp | Automatic detection and patch of vulnerable file |
| JP2006066982A (en) * | 2004-08-24 | 2006-03-09 | Hitachi Ltd | Network connection control system |
| JP2006244373A (en) * | 2005-03-07 | 2006-09-14 | It Service:Kk | Integrated security audit apparatus, integrated security audit method, and integrated security audit program |
| 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 system thereof. |
| JP2009509273A (en) * | 2005-09-22 | 2009-03-05 | モカナ・コーポレーション | Managing embedded patches |
| JP2013134573A (en) * | 2011-12-26 | 2013-07-08 | Nec Corp | Software correction device, software correction system, software correction method and software correction program |
| JP2016091402A (en) * | 2014-11-07 | 2016-05-23 | 株式会社日立製作所 | Risk evaluation system and risk evaluation method |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5158689B2 (en) * | 2007-12-07 | 2013-03-06 | 日本電信電話株式会社 | System switching apparatus and method |
| JP2012208863A (en) * | 2011-03-30 | 2012-10-25 | Hitachi Ltd | Vulnerability determination system, vulnerability determination method and vulnerability determination program |
| WO2014021190A1 (en) * | 2012-08-01 | 2014-02-06 | 三菱電機株式会社 | Program execution device and program analysis device |
| US20150363197A1 (en) * | 2014-06-13 | 2015-12-17 | The Charles Stark Draper Laboratory Inc. | Systems And Methods For Software Analytics |
| CN104298923B (en) * | 2014-09-28 | 2018-01-02 | 北京奇虎科技有限公司 | Leak type identification method and device |
| WO2016068974A1 (en) * | 2014-10-31 | 2016-05-06 | Hewlett Packard Enterprise Development Lp | System and method for vulnerability remediation verification |
| 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 |
| CN106598667B (en) * | 2016-12-12 | 2018-07-27 | 百度在线网络技术(北京)有限公司 | Method and device for repairing kernel vulnerabilities |
| 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 |
-
2020
- 2020-05-14 CN CN202010407734.7A patent/CN113672929A/en not_active Withdrawn
-
2021
- 2021-03-30 KR KR1020210041412A patent/KR102477150B1/en not_active Ceased
- 2021-04-09 JP JP2021066470A patent/JP7231664B2/en active Active
Patent Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002318716A (en) * | 2001-04-20 | 2002-10-31 | Sony Corp | Distribution system, distribution method, server computer, client computer |
| US20030126472A1 (en) * | 2001-12-31 | 2003-07-03 | Banzhof Carl E. | Automated computer vulnerability resolution system |
| JP2005038428A (en) * | 2003-07-16 | 2005-02-10 | Microsoft Corp | Automatic detection and patch of vulnerable file |
| JP2006066982A (en) * | 2004-08-24 | 2006-03-09 | Hitachi Ltd | Network connection control system |
| JP2006244373A (en) * | 2005-03-07 | 2006-09-14 | It Service:Kk | Integrated security audit apparatus, integrated security audit method, and integrated security audit program |
| JP2009509273A (en) * | 2005-09-22 | 2009-03-05 | モカナ・コーポレーション | Managing embedded patches |
| 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 system thereof. |
| JP2013134573A (en) * | 2011-12-26 | 2013-07-08 | Nec Corp | Software correction device, software correction system, software correction method and software correction program |
| JP2016091402A (en) * | 2014-11-07 | 2016-05-23 | 株式会社日立製作所 | Risk evaluation system and risk evaluation method |
Non-Patent Citations (1)
| Title |
|---|
| 藤堂 洋介: "既存脆弱性データベースを利用するクライアント脆弱性検査システム", 映像情報メディア学会技術報告 VOL.33 NO.37, vol. 第33巻, JPN6022004112, 24 September 2009 (2009-09-24), JP, pages 107 - 112, ISSN: 0004873428 * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114154152A (en) * | 2021-11-11 | 2022-03-08 | 中国电子科技网络信息安全有限公司 | Vulnerability detection method, device and medium based on patch comparison and taint analysis |
Also Published As
| Publication number | Publication date |
|---|---|
| CN113672929A (en) | 2021-11-19 |
| KR20210042285A (en) | 2021-04-19 |
| KR102477150B1 (en) | 2022-12-12 |
| JP7231664B2 (en) | 2023-03-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11379577B2 (en) | Uniform resource locator security analysis using malice patterns | |
| JP2021108189A (en) | Method for acquiring vulnerability feature, device, and electronic apparatus | |
| WO2021017735A1 (en) | Smart contract formal verification method, electronic apparatus and storage medium | |
| CN111666206B (en) | Method, device, equipment and storage medium for acquiring influence range of change code | |
| EP3355229B1 (en) | Analysis device, analysis method, and analysis program | |
| US9311062B2 (en) | Consolidating and reusing portal information | |
| US12461846B2 (en) | Extracting code patches from binary code for independent fuzz testing | |
| CN115150261B (en) | Alarm analysis method, device, electronic equipment and storage medium | |
| CN114398673A (en) | Application compliance detection method and device, storage medium and electronic equipment | |
| CN115599386A (en) | Code generation method, device, equipment and storage medium | |
| US9569335B1 (en) | Exploiting software compiler outputs for release-independent remote code vulnerability analysis | |
| US20180314683A1 (en) | Method and device for processing natural language | |
| CN116707898A (en) | Injection attack detection method, device, computer equipment and storage medium | |
| CN112579096A (en) | Method, device, equipment and medium for compiling and loading small program starting file | |
| CN116483353A (en) | Generation method, page loading method, device and electronic equipment of module runner | |
| CN114626061B (en) | Webpage Trojan horse detection method and device, electronic equipment and medium | |
| CN113254340B (en) | A method and device for generating test cases | |
| CN113377377A (en) | Static code analysis method, analysis device, electronic device and readable storage medium | |
| CN114217901B (en) | Translation management and evaluation method of Chinese-Tibetan language data under domestic operating system | |
| Wang et al. | A Review of Learning-based Smart Contract Vulnerability Detection: A Perspective on Code Representation | |
| CN114998038A (en) | Abnormal policy processing method and system | |
| CN116226866B (en) | Web application framework vulnerability detection methods, devices, and computer equipment | |
| Liu et al. | Detecting Vulnerabilities in Firmware Via Back-End Differences | |
| US20250348594A1 (en) | Predicting likely-vulnerable code changes using machine learning | |
| CN117494136A (en) | Vulnerability detection method and device of application software, electronic equipment and storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210409 |
|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20211101 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220128 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20220421 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220704 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220906 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220913 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20220921 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20220927 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221212 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230131 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230216 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7231664 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |