CN112800423A - 一种二进制代码授权漏洞检测方法 - Google Patents
一种二进制代码授权漏洞检测方法 Download PDFInfo
- Publication number
- CN112800423A CN112800423A CN202110103327.1A CN202110103327A CN112800423A CN 112800423 A CN112800423 A CN 112800423A CN 202110103327 A CN202110103327 A CN 202110103327A CN 112800423 A CN112800423 A CN 112800423A
- Authority
- CN
- China
- Prior art keywords
- program
- function
- analysis
- function call
- vulnerability
- 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; CALCULATING OR 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明通过软件工程领域的方法,实现了一种二进制代码授权漏洞检测方法。通过包含四个流程:二进制文件加载,漏洞特征匹配,静态程序分析,以及符号执行的系统,对输入的文件分析文件内部程序的语法结构,进而针对硬编码口令和越权网络访问的行为特征进行识别,缩小待检测的程序路径的范围,并通过控制流分析、数据依赖分析、函数调用分析三个步骤生成函数调用图,最终利用函数调用图在符号执行流程计算出程序路径的输入,而后使用得到的程序路径的输入进行人工验证。这一系统通过深入分析硬编码口令与越权网络访问两类授权漏洞的触发原理与代码模式,实现了一种运行效率较高且运行成本较低的漏洞检测方法。
Description
技术领域
本发明涉及软件工程领域,尤其涉及一种二进制代码授权漏洞检测方法。
背景技术
软件作为信息时代重要的信息载体,已广泛应用于通信、交通、能源、医疗等生产生活环境中,负责对数据的收集、存储和处理,因此软件的安全漏洞可能导致严重的后果。授权漏洞是一类影响广泛、危害性高的软件漏洞,通过利用程序中身份验证机制的缺陷,攻击者可以实施读取隐私数据、执行恶意代码等行为,严重破坏设备的机密性、完整性和可用性。然而,绝大多数的商业化软件都以二进制代码的形式发布与应用,抽象语义的缺失、混淆技术的使用、编译器的优化都使得针对二进制代码的漏洞检测比源代码更加困难,因此,针对二进制代码的授权漏洞检测方法是当前亟需研究的重点问题。
现有的研究中并没有直接针对二进制代码授权漏洞检测任务的方法和框架,已有的二进制代码分析框架中可用于检测授权漏洞检测的框架十分稀少,他们所采用的漏洞检测方法按照运行原理可分为三类:
静态程序分析是在不运行代码的方式下,通过词法分析、语法分析、控制流分析、数据流分析等技术对程序的全部代码进行静态结构层面的解析,挖掘出程序的深层语义,进而判断代码是否具有某种特定的功能特性,分析程序中可能存在的安全隐患。比如Genius通过提取程序特征并转化为特征向量,进而基于高维向量的距离函数来评估包含已知漏洞的程序与待检测程序的相似度,实现已知漏洞的查找。
符号执行是一种通过计算符号化状态而不是使用具体值来分析程序的方法。在程序的实际执行过程中,将程序变量表征为符号表达式,使得程序执行不依赖特定输入,通过修改符号表达式的约束条件,符号执行可以同时探索程序在不同输入下可能产生的多个执行路径,理论上可以发现程序的所有漏洞。比如FIE 基于开源符号执行引擎KLEE,并采用了状态剪枝、内存模糊等策略,在小型二进制程序的漏洞检测任务上取得了较好的分析结果。
模糊测试是将目标程序置于真实物理设备或仿真器中运行,自动生成不同的测试用例并提供给目标程序,通过观察程序的执行结果来分析程序可能存在的漏洞。比如Firmadyne基于开源仿真器QEMU来模拟Linux系统环境,通过自动化运行攻击脚本实现了对基于Linux系统的二进制固件程序的大规模漏洞分析。
但现有技术存在如下问题:
静态程序分析只对程序代码做静态扫描,容易受到代码混淆的影响,即恶意程序的编写者将程序代码刻意地进行复杂化,在不改变程序原本功能的前提下,将其改写为可读性更差、代码结构更冗余的形式,从而干扰或绕过静态分析过程。同时,随着程序代码量和逻辑复杂度的提高,静态程序分析的难度也会显著提高,难以准确分析程序特征。
符号执行面临着两方面的技术瓶颈。一是状态空间爆炸,当目标程序体积较大、结构较复杂,尤其是包含循环语句或函数的递归调用时,可能导致符号执行不断产生新状态,耗尽计算机资源。二是环境交互问题,由于大多数程序不是独立运行的,符号执行引擎需要考虑它们与周围软件和设备的频繁交互,如文件系统、环境变量、网络数据流等。
模糊测试则容易受到测试输入和仿真环境的影响。传统的模糊测试方法往往随机生成测试输入,如果待测程序包含输入验证的机制,就会大大降低模糊测试的效率,造成不必要的资源消耗。仿真环境需要考虑对不同平台和架构的支持,由于二进制程序可能采用多种内核标准,嵌入式设备中的二进制程序也常常与专有硬件协同使用,因此开发一款兼容这些异构软件的仿真环境难度极大。
此外,现有的研究没有深入分析授权漏洞的作用原理,无法提出一种适合二进制程序的、效果显著的授权漏洞检测方法,在授权漏洞检测任务上的表现难以满足实际需求。
本发明着重解决授权漏洞检测任务中的两个问题:(1)缺少对特定漏洞模式的特征分析,导致运行效率低(2)传统程序分析方法难以有效应用于二进制程序分析和复杂程序分析任务,消耗大量计算机资源,时间和空间复杂度较高。
发明内容
为此,本发明首先提出一种二进制代码授权漏洞检测方法,包含四个流程:二进制文件加载,漏洞特征匹配,静态程序分析,以及符号执行;
所述二进制文件加载流程对输入的文件分析文件内部程序的语法结构,首先分析二进制文件的指令集架构,然后将二进制文件反汇编为一段汇编代码指令序列,采用VEXIR的指令表示规范,将不同指令集架构的汇编代码进一步翻译成相同规范的中间表达式,最终得到一段中间表达式序列,以及包含各个内存区域地址范围的二进制文件的内存分区;
所述漏洞特征匹配流程针对硬编码口令和越权网络访问的行为特征进行识别,缩小待检测的程序路径的范围,以经验分析方法为主的人工特征挖掘,通过分析漏洞的原理和代码模式,归纳出可触发漏洞的程序路径的关键行为特征,最终通过匹配漏洞的行为特征,缩减程序分析起始点的集合;
所述静态分析流程包含控制流分析、数据依赖分析、函数调用分析三个子步骤:所述控制流分析步骤根据语法结构,将原始程序划分为基本过程块,通过定义并查找决策点、汇聚点等控制结构,将基本过程块连接成完整的控制流图;所述数据依赖分析步骤在控制流图上的迭代分析生成数据依赖图,进而分析出程序中的不同部分之间的关联;所述函数调用分析步骤生成函数调用图,基于函数调用图获取程序路径上的函数调用链;
所述符号执行流程对程序中的各个函数分别计算函数摘要,使得程序状态在函数调用链上以组合而非连续的方式进行迭代,并利用所述程序路径的起始点和所述漏洞的触发点的集合,基于符号执行方法验证目标程序路径的可满足性,对于可满足的触发漏洞的程序路径,算法将通过约束求解计算并输出程序路径的输入,而后可使用得到的程序路径的起始点、触发点和输入基于程序分析方法进行人工验证。
所述硬编码口令的行为特征的识别采用字符串比较操作的识别作为检测策略,在汇编代码层面采用模式匹配方法,以字符串加载和调用比较函数两个阶段进行识别字符串的比较;所述字符串加载阶段,将待比较的两个字符串地址加载到与指令架构相关的特定寄存器,一个是用户输入的字符串,即当前函数的某个参数,另一个是静态数据区的字符串,即某个内存地址;所述调用比较函数阶段采用比较函数的方法判断是否调用比较函数。
所述比较函数的方法为通过静态分析方法识别出所有的C语言的标准库文件中定义的用于比较的标准库函数名称及函数地址,判断是否调用了支持比较字符串的标准库函数;或通过创建一个循环结构,在其中逐位比较两个字符串地址存储的值,当两个阶段均识别成功后,进行后续的符号执行分析,验证该硬编码口令所影响的程序路径是否可以到达指定的程序点或输出授权成功的相关信息。
所述越权网络访问的行为特征的识别通过检测Web服务程序中处理网络访问与授权请求的主函数,针对httpd、thttpd、goahead、boa、lighttpd五种 Web服务程序框架,归纳其处理网络请求的相关函数的代码文本与行为特征,采用模式匹配的方法定位目标函数。
所述计算函数摘要的方法为:输入程序的函数调用图,对程序中的每个函数计算函数摘要,即对函数调用图中的每个节点计算摘要,迭代调用 getOneLeafFromCG方法,在静态分析阶段生成的函数调用图上进行迭代,每次迭代时获取图中的一个叶节点,然后在图中删除该节点,调整图的结构,不断从函数调用图中获取新的节点,然后调用getAllPathFromNode方法,针对从函数调用图中获得的程序节点,以节点的起始地址生成初始程序状态进行符号执行,遍历节点内部的全部程序路径,最终得到程序终止状态的集合,对于每个终止状态,都可以通过回溯程序状态的历史信息来还原整条程序路径,所以就相当于最终得到了所有程序路径的集合,从节点中解析出所有程序路径,对于每一条程序路径分别单独计算路径的摘要;在程序路径上进行迭代计算时会有两种情况,如果当前的程序状态的出口不是函数调用,就调用符号执行引擎在该程序路径上迭代一次,更新程序状态,如果当前的程序状态的出口是函数调用,就不调用符号引擎,而是去已经计算出的函数摘要的集合中获取被调用的函数的函数摘要,利用函数摘要更新当前的程序状态,最终输出函数摘要的集合。
本发明所要实现的技术效果在于:
本发明针对当前漏洞检测方法与框架在授权漏洞这一具体检测任务上的不足,提出了一种针对二进制代码的授权漏洞检测方法。通过深入分析硬编码口令与越权网络访问两类授权漏洞的触发原理与代码模式,结合静态程序分析和符号执行,并在此基础上采取了几项优化策略,实现了一种运行效率较高且运行成本较低的漏洞检测方法。
附图说明
图1硬编码口令特征分析过程;
图2越权网络访问特征分析过程;
具体实施方式
以下是本发明的优选实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于此实施例。
本发明提出了一种二进制代码授权漏洞检测方法,包含四个主要流程:二进制文件加载,漏洞特征匹配,静态程序分析,以及符号执行。
二进制文件加载阶段主要分析文件内部程序的语法结构。由于原始的二进制文件是封闭的,一般不会暴露可供程序分析的访问接口,因此需要用程序分析方法扫描程序指令代码进行分析。首先分析二进制文件的指令集架构,然后将二进制文件反汇编为一段汇编代码指令序列,由于二进制程序可能会采用不同的指令集架构,如MIPS、ARM,反汇编得到的汇编代码不会遵循统一的语法规范,因此,本发明采用了VEX IR的指令表示规范,将不同指令集架构的汇编代码进一步翻译成相同规范的中间表达式,最终得到一段中间表达式序列,以及二进制文件的内存分区,包含静态数据段、代码段、堆空间、栈空间等各个内存区域的地址范围。
漏洞特征匹配阶段主要针对硬编码口令和越权网络访问的行为特征,缩小待检测的程序路径的范围。二进制文件的程序结构通常是多个函数所组成的一个函数调用网,虽然在理论上可以从程序的任何位置开始进行程序分析,但是从函数内部的某个位置开始分析需要充分考虑程序上下文语义,进行复杂的程序状态初始化,很难保证程序分析的准确性,因此实际分析中一般以某个函数的函数头地址作为程序分析的起始点,可以一定程度上减小程序状态初始化的难度。对于硬编码口令和越权网络访问的行为特征,本发明采用以经验分析方法为主的人工特征挖掘,通过分析漏洞的原理和代码模式,归纳出可触发漏洞的程序路径的关键行为特征,最终通过匹配漏洞的行为特征,可以有效缩减程序分析起始点的集合。
静态分析阶段主要包含控制流分析、数据依赖分析、函数调用分析这三个子步骤。控制流分析旨在分析程序的控制流程,根据条件分支、函数调用等语法结构,将原始程序划分为基本过程块,通过定义并查找决策点、汇聚点等控制结构,最终可将基本过程块连接成完整的控制流图。数据依赖分析是通过在控制流图上的迭代分析生成数据依赖图,用于追踪程序中变量之间的关联,进而分析出程序中的不同部分之间的关联。函数调用分析旨在生成函数调用图,在检测程序路径的过程中,能够基于函数调用图获取程序路径上的函数调用链,同时,函数调用图是本发明采用的组合符号执行方法所需的图结构。
符号执行阶段以组合符号执行为主。组合符号执行的基本思想是,在经典符号执行方法的基础上,采用函数摘要的方法,对程序中的各个函数分别计算函数摘要,使得程序状态在函数调用链上以组合而非连续的方式进行迭代,能够有效缩减程序状态的集合,大大降低符号执行对计算资源的需求。在静态分析阶段,得到了程序路径起始点和漏洞触发点的集合,在本阶段即可基于符号执行方法验证目标程序路径的可满足性,对于可满足的触发漏洞的程序路径,算法将通过约束求解计算出程序路径的输入。授权漏洞检测至此完成,而后可使用得到的程序路径的输入进行人工验证,首先用户需要自行部署目标二进制文件相应的硬件设备或QEMU、UNICORN等CPU仿真软件,将目标二进制文件运行起来,然后根据待验证的程序路径的起始点和触发点,人工查找到相应的用户接口,最后填写可触发漏洞的输入,观察程序的运行状态,判断漏洞触发后的效果。
授权漏洞的特征分析
硬编码口令的静态特征分析
检测硬编码口令的难点是区分硬编码口令和一般字符串,二进制文件中的所有字符串都保存在静态数据区,其中绝大部分都是程序流程中输出的提示性字符串,只有包括硬编码口令在内的少数字符串才具有影响程序路径选择的功能。由于后续分析采用的符号执行方法十分消耗处理器和内存资源,因此必须区分提示性字符串和功能性字符串,缩小检测范围。
硬编码口令的一个最显著的特征是字符串比较操作,实现授权与身份验证功能的程序路径上必然会将用户输入的字符串与硬编码的字符串进行比较,如果二者不相等,程序会进入异常处理的路径分支,通常会输出异常信息并提前结束程序。基于这一规律,本发明将字符串比较操作的识别作为硬编码字符串的检测策略。
具体实现思路是在汇编代码层面采用一种模式匹配方法,识别字符串比较的两个阶段:字符串加载和调用比较函数。在字符串加载阶段,程序会将待比较的两个字符串地址加载到与指令架构相关的特定寄存器,一个是用户输入的字符串,即当前函数的某个参数,另一个是静态数据区的字符串,即某个内存地址。在调用比较函数阶段,考虑两种比较函数,一种是C语言的标准库文件中定义的函数,如“strcmp”、“memcmp”等,标准库函数的名称一般也会硬编码在二进制文件中,预先通过静态分析方法识别出所有的标准库函数名称及函数地址,就可以在字符串加载阶段后判断是否调用了支持比较字符串的标准库函数,另一种是开发者自行实现的字符串比较函数,对于这种情况,仅考虑最常见的实现方法,即创建一个循环结构,在其中逐位比较两个字符串地址存储的值。当两个阶段均识别成功后,就可以进行后续的符号执行分析,验证该硬编码口令所影响的程序路径是否可以到达指定的程序点或输出授权成功的相关信息。
越权网络访问的静态特征分析
经调研,很大一部分二进制软件,尤其是随物联网兴起而广泛应用的嵌入式设备中的软件,直接使用了开源的Web服务程序框架,如boa、thttpd等,来实现网络通信、人机交互等功能。
检测越权网络访问漏洞的关键在于找到一条程序路径,可以到达指定的程序点或输出授权成功的相关信息。这条路径必然存在于Web服务程序中,又因为所有网络相关的功能都集成在单个二进制文件,所以检测的重点就是在Web服务程序中找到处理网络访问与授权请求的主函数。由于上述的Web服务程序框架都是开源的,软件开发者需要遵循框架内置的实现流程,仅对具体的判定条件、访问地址按需进行配置,所以本发明针对httpd、thttpd、goahead、boa、lighttpd 这五种主流的轻量级Web服务程序框架,归纳其处理网络请求的相关函数的代码文本与行为特征,采用模式匹配的方法定位目标函数。当确定程序路径后,就可以进行后续的符号执行分析验证该路径。
组合符号执行
本发明基于开源符号执行引擎angr,实现了一种组合符号执行方法。组合符号执行采用函数摘要的方法来减缓状态空间爆炸。程序中有时会频繁调用同一个子函数,一段包含循环逻辑的代码也会被多次重复执行。当符号执行分析包含大量子函数调用和循环结构的程序时,往往会加速程序状态的增加,为了优化符号执行的效率,需要在一次符号执行后总结函数和循环的行为,表示成无需执行的、功能等价的摘要公式。当符号执行再次进入相应函数和循环时,可以直接利用摘要公式求解出执行结果来更新程序状态,而不需要重复进行符号执行。
我们设计了如下的计算函数摘要的算法。算法的输入CallGraph是程序的函数调用图,输出SummaryDict是函数摘要的集合。对程序中的每个函数计算函数摘要,就是对函数调用图中的每个节点计算摘要,迭代调用 getOneLeafFromCG方法,不断从函数调用图中获取新的节点,然后调用 getAllPathFromNode方法从节点中解析出所有程序路径,对于每一条程序路径分别单独计算路径的摘要。在程序路径上进行迭代计算时会有两种情况,如果当前的程序状态的出口不是函数调用,就调用符号执行引擎在该程序路径上迭代一次,更新程序状态,如果当前的程序状态的出口是函数调用,就不调用符号引擎,而是去已经计算出的函数摘要的集合中获取被调用的函数的函数摘要,利用函数摘要更新当前的程序状态。
Claims (5)
1.一种二进制代码授权漏洞检测方法,其特征在于:包含四个流程:二进制文件加载,漏洞特征匹配,静态程序分析,以及符号执行;
所述二进制文件加载流程对输入的文件分析文件内部程序的语法结构,首先分析二进制文件的指令集架构,然后将二进制文件反汇编为一段汇编代码指令序列,采用VEX IR的指令表示规范,将不同指令集架构的汇编代码进一步翻译成相同规范的中间表达式,最终得到一段中间表达式序列,以及包含各个内存区域地址范围的二进制文件的内存分区;
所述漏洞特征匹配流程针对硬编码口令和越权网络访问的行为特征进行识别,缩小待检测的程序路径的范围,以经验分析方法为主的人工特征挖掘,通过分析漏洞的原理和代码模式,归纳出可触发漏洞的程序路径的关键行为特征,最终通过匹配漏洞的行为特征,缩减程序分析起始点的集合;
所述静态分析流程包含控制流分析、数据依赖分析、函数调用分析三个子步骤:所述控制流分析步骤根据语法结构,将原始程序划分为基本过程块,通过定义并查找决策点、汇聚点等控制结构,将基本过程块连接成完整的控制流图;所述数据依赖分析步骤在控制流图上的迭代分析生成数据依赖图,进而分析出程序中的不同部分之间的关联;所述函数调用分析步骤生成函数调用图,基于函数调用图获取程序路径上的函数调用链;
所述符号执行流程对程序中的各个函数分别计算函数摘要,使得程序状态在函数调用链上以组合而非连续的方式进行迭代,并利用所述程序路径的起始点和所述漏洞的触发点的集合,基于符号执行方法验证目标程序路径的可满足性,对于可满足的触发漏洞的程序路径,算法将通过约束求解计算并输出程序路径的输入,而后使用得到的程序路径的起始点、触发点和输入基于程序分析方法进行人工验证。
2.如权利要求1所述的一种二进制代码授权漏洞检测方法,其特征在于:所述硬编码口令的行为特征的识别采用字符串比较操作的识别作为检测策略,在汇编代码层面采用模式匹配方法,以字符串加载和调用比较函数两个阶段进行识别字符串的比较;所述字符串加载阶段,将待比较的两个字符串地址加载到与指令架构相关的特定寄存器,一个是用户输入的字符串,即当前函数的某个参数,另一个是静态数据区的字符串,即某个内存地址;所述调用比较函数阶段采用比较函数的方法判断是否调用比较函数。
3.如权利要求2所述的一种二进制代码授权漏洞检测方法,其特征在于:所述比较函数的方法为通过静态分析方法识别出所有的C语言的标准库文件中定义的用于比较的标准库函数名称及函数地址,判断是否调用了支持比较字符串的标准库函数;或通过创建一个循环结构,在其中逐位比较两个字符串地址存储的值,当两个阶段均识别成功后,进行后续的符号执行分析,验证该硬编码口令所影响的程序路径是否可以到达指定的程序点或输出授权成功的相关信息。
4.如权利要求3所述的一种二进制代码授权漏洞检测方法,其特征在于:所述越权网络访问的行为特征的识别通过检测Web服务程序中处理网络访问与授权请求的主函数,针对httpd、thttpd、goahead、boa、lighttpd五种Web服务程序框架,归纳其处理网络请求的相关函数的代码文本与行为特征,采用模式匹配的方法定位目标函数。
5.如权利要求4所述的一种二进制代码授权漏洞检测方法,其特征在于:所述计算函数摘要的方法为:输入程序的函数调用图,对程序中的每个函数计算函数摘要,即对函数调用图中的每个节点计算摘要,迭代调用getOneLeafFromCG方法,在静态分析阶段生成的函数调用图上进行迭代,每次迭代时获取图中的一个叶节点,然后在图中删除该节点,调整图的结构,不断从函数调用图中获取新的节点,然后调用getAllPathFromNode方法,针对从函数调用图中获得的程序节点,以节点的起始地址生成初始程序状态进行符号执行,遍历节点内部的全部程序路径,最终得到程序终止状态的集合,对于每个终止状态,都可以通过回溯程序状态的历史信息来还原整条程序路径,所以就相当于最终得到了所有程序路径的集合,从节点中解析出所有程序路径,对于每一条程序路径分别单独计算路径的摘要;在程序路径上进行迭代计算时会有两种情况,如果当前的程序状态的出口不是函数调用,就调用符号执行引擎在该程序路径上迭代一次,更新程序状态,如果当前的程序状态的出口是函数调用,就不调用符号引擎,而是去已经计算出的函数摘要的集合中获取被调用的函数的函数摘要,利用函数摘要更新当前的程序状态,最终输出函数摘要的集合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110103327.1A CN112800423B (zh) | 2021-01-26 | 2021-01-26 | 一种二进制代码授权漏洞检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110103327.1A CN112800423B (zh) | 2021-01-26 | 2021-01-26 | 一种二进制代码授权漏洞检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112800423A true CN112800423A (zh) | 2021-05-14 |
CN112800423B CN112800423B (zh) | 2022-10-11 |
Family
ID=75811791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110103327.1A Active CN112800423B (zh) | 2021-01-26 | 2021-01-26 | 一种二进制代码授权漏洞检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112800423B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112699379A (zh) * | 2020-12-31 | 2021-04-23 | 上海戎磐网络科技有限公司 | 一种基于软件基因的固件漏洞扫描系统和方法 |
CN113360912A (zh) * | 2021-08-09 | 2021-09-07 | 四川大学 | 恶意软件检测方法、装置、设备及存储介质 |
CN113434870A (zh) * | 2021-07-14 | 2021-09-24 | 中国电子科技网络信息安全有限公司 | 基于软件依赖分析的漏洞检测方法、装置、设备及介质 |
CN114357454A (zh) * | 2021-12-13 | 2022-04-15 | 安天科技集团股份有限公司 | 二进制可执行文件依赖库分析方法、装置、电子设备及存储介质 |
CN114417355A (zh) * | 2022-01-07 | 2022-04-29 | 上海交通大学 | 针对工业控制系统的轻量级安全性检测系统及方法 |
CN114491566A (zh) * | 2022-04-18 | 2022-05-13 | 中国长江三峡集团有限公司 | 一种基于代码相似性的模糊测试方法、装置及存储介质 |
CN114666134A (zh) * | 2022-03-23 | 2022-06-24 | 南昌大学 | 网络漏洞智能发现、挖掘方法与系统 |
CN114756871A (zh) * | 2022-04-22 | 2022-07-15 | Oppo广东移动通信有限公司 | 漏洞检测方法、装置、电子设备及存储介质 |
CN115563627A (zh) * | 2022-12-06 | 2023-01-03 | 中国电子科技集团公司第三十研究所 | 一种基于人机协同的二进制程序漏洞静态分析方法 |
CN115687111A (zh) * | 2022-10-27 | 2023-02-03 | 中国人民解放军国防科技大学 | 面向计算机二进制程序的直接比对依赖识别方法与系统 |
CN116204892A (zh) * | 2023-05-05 | 2023-06-02 | 中国人民解放军国防科技大学 | 漏洞处理方法、装置、设备以及存储介质 |
CN117033171A (zh) * | 2023-06-28 | 2023-11-10 | 清华大学 | 触发软件漏洞的输入数据的复现方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104503901A (zh) * | 2014-12-04 | 2015-04-08 | 中国人民解放军总参谋部第五十四研究所 | 一种基于静态路径分析的导向符号执行方法 |
CN104794401A (zh) * | 2015-04-15 | 2015-07-22 | 南京大学 | 一种静态分析辅助的符号执行漏洞检测方法 |
CN107273751A (zh) * | 2017-06-21 | 2017-10-20 | 北京计算机技术及应用研究所 | 基于多模式匹配的安全漏洞在线发现方法 |
KR20180060497A (ko) * | 2016-11-29 | 2018-06-07 | 한국전력공사 | 바이너리 코드 기반 임베디드 소프트웨어 취약점 분석 장치 및 그 방법 |
CN111488579A (zh) * | 2020-03-25 | 2020-08-04 | 腾讯科技(深圳)有限公司 | 漏洞检测方法、装置、电子设备和计算机可读存储介质 |
-
2021
- 2021-01-26 CN CN202110103327.1A patent/CN112800423B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104503901A (zh) * | 2014-12-04 | 2015-04-08 | 中国人民解放军总参谋部第五十四研究所 | 一种基于静态路径分析的导向符号执行方法 |
CN104794401A (zh) * | 2015-04-15 | 2015-07-22 | 南京大学 | 一种静态分析辅助的符号执行漏洞检测方法 |
KR20180060497A (ko) * | 2016-11-29 | 2018-06-07 | 한국전력공사 | 바이너리 코드 기반 임베디드 소프트웨어 취약점 분석 장치 및 그 방법 |
CN107273751A (zh) * | 2017-06-21 | 2017-10-20 | 北京计算机技术及应用研究所 | 基于多模式匹配的安全漏洞在线发现方法 |
CN111488579A (zh) * | 2020-03-25 | 2020-08-04 | 腾讯科技(深圳)有限公司 | 漏洞检测方法、装置、电子设备和计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
刘林等: "Android应用威胁等级评估技术的设计与实现", 《信息安全研究》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112699379A (zh) * | 2020-12-31 | 2021-04-23 | 上海戎磐网络科技有限公司 | 一种基于软件基因的固件漏洞扫描系统和方法 |
CN112699379B (zh) * | 2020-12-31 | 2024-05-24 | 上海戎磐网络科技有限公司 | 一种基于软件基因的固件漏洞扫描系统和方法 |
CN113434870A (zh) * | 2021-07-14 | 2021-09-24 | 中国电子科技网络信息安全有限公司 | 基于软件依赖分析的漏洞检测方法、装置、设备及介质 |
CN113360912A (zh) * | 2021-08-09 | 2021-09-07 | 四川大学 | 恶意软件检测方法、装置、设备及存储介质 |
CN114357454A (zh) * | 2021-12-13 | 2022-04-15 | 安天科技集团股份有限公司 | 二进制可执行文件依赖库分析方法、装置、电子设备及存储介质 |
CN114417355A (zh) * | 2022-01-07 | 2022-04-29 | 上海交通大学 | 针对工业控制系统的轻量级安全性检测系统及方法 |
CN114666134B (zh) * | 2022-03-23 | 2023-06-16 | 南昌大学 | 网络漏洞智能发现、挖掘方法 |
CN114666134A (zh) * | 2022-03-23 | 2022-06-24 | 南昌大学 | 网络漏洞智能发现、挖掘方法与系统 |
CN114491566A (zh) * | 2022-04-18 | 2022-05-13 | 中国长江三峡集团有限公司 | 一种基于代码相似性的模糊测试方法、装置及存储介质 |
CN114491566B (zh) * | 2022-04-18 | 2022-07-05 | 中国长江三峡集团有限公司 | 一种基于代码相似性的模糊测试方法、装置及存储介质 |
CN114756871A (zh) * | 2022-04-22 | 2022-07-15 | Oppo广东移动通信有限公司 | 漏洞检测方法、装置、电子设备及存储介质 |
CN115687111A (zh) * | 2022-10-27 | 2023-02-03 | 中国人民解放军国防科技大学 | 面向计算机二进制程序的直接比对依赖识别方法与系统 |
CN115687111B (zh) * | 2022-10-27 | 2024-05-14 | 中国人民解放军国防科技大学 | 面向计算机二进制程序的直接比对依赖识别方法与系统 |
CN115563627B (zh) * | 2022-12-06 | 2023-03-14 | 中国电子科技集团公司第三十研究所 | 一种基于人机协同的二进制程序漏洞静态分析方法 |
CN115563627A (zh) * | 2022-12-06 | 2023-01-03 | 中国电子科技集团公司第三十研究所 | 一种基于人机协同的二进制程序漏洞静态分析方法 |
CN116204892A (zh) * | 2023-05-05 | 2023-06-02 | 中国人民解放军国防科技大学 | 漏洞处理方法、装置、设备以及存储介质 |
CN116204892B (zh) * | 2023-05-05 | 2023-08-08 | 中国人民解放军国防科技大学 | 漏洞处理方法、装置、设备以及存储介质 |
CN117033171A (zh) * | 2023-06-28 | 2023-11-10 | 清华大学 | 触发软件漏洞的输入数据的复现方法、装置、设备及介质 |
CN117033171B (zh) * | 2023-06-28 | 2024-03-26 | 清华大学 | 触发软件漏洞的输入数据的复现方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112800423B (zh) | 2022-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112800423B (zh) | 一种二进制代码授权漏洞检测方法 | |
Manès et al. | The art, science, and engineering of fuzzing: A survey | |
He et al. | Learning to fuzz from symbolic execution with application to smart contracts | |
Tann et al. | Towards safer smart contracts: A sequence learning approach to detecting security threats | |
Zhu et al. | Fuzzing: a survey for roadmap | |
Feng et al. | A performance-sensitive malware detection system using deep learning on mobile devices | |
Cova et al. | Static detection of vulnerabilities in x86 executables | |
Bao et al. | {BYTEWEIGHT}: Learning to recognize functions in binary code | |
Wang et al. | In-memory fuzzing for binary code similarity analysis | |
Saccente et al. | Project achilles: A prototype tool for static method-level vulnerability detection of Java source code using a recurrent neural network | |
CN110287693B (zh) | 基于符号执行路径剪枝的缓冲区溢出漏洞自动检测方法 | |
Howar et al. | Combining black-box and white-box techniques for learning register automata | |
Savenko et al. | Approach for the unknown metamorphic virus detection | |
Ernst et al. | Boolean formulas for the static identification of injection attacks in Java | |
Jin et al. | Exgen: Cross-platform, automated exploit generation for smart contract vulnerabilities | |
Arceri et al. | Analyzing dynamic code: a sound abstract interpreter for evil eval | |
Le et al. | GuruWS: A hybrid platform for detecting malicious web shells and web application vulnerabilities | |
Chaumette et al. | Automated extraction of polymorphic virus signatures using abstract interpretation | |
Lin et al. | A value set analysis refinement approach based on conditional merging and lazy constraint solving | |
Sonnekalb | Machine-learning supported vulnerability detection in source code | |
Partenza et al. | Automatic identification of vulnerable code: Investigations with an ast-based neural network | |
Liu et al. | Learning contract invariants using reinforcement learning | |
CN114969755A (zh) | 一种跨语言的未知可执行程序二进制漏洞分析方法 | |
Brumley et al. | Theory and techniques for automatic generation of vulnerability-based signatures | |
Medeiros et al. | Statically detecting vulnerabilities by processing programming languages as natural languages |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |