CN110287693A - 一种基于符号执行路径剪枝的缓冲区溢出漏洞自动检测方法 - Google Patents
一种基于符号执行路径剪枝的缓冲区溢出漏洞自动检测方法 Download PDFInfo
- Publication number
- CN110287693A CN110287693A CN201910509701.0A CN201910509701A CN110287693A CN 110287693 A CN110287693 A CN 110287693A CN 201910509701 A CN201910509701 A CN 201910509701A CN 110287693 A CN110287693 A CN 110287693A
- Authority
- CN
- China
- Prior art keywords
- path
- buffer
- semiology analysis
- overflow
- analysis
- 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
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/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- 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/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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种基于符号执行路径剪枝的缓冲区溢出漏洞自动检测方法,包括:A.初始化缓存;B.获取待测试的二进制程序的控制流图;C.对当前符号执行的跳转路径进行评分;D.调整待执行路径的执行顺序;E.对于和已符号执行的路径相同路径后缀的待执行路径,直接调用已执行结果;F.对缓冲区溢出的约束条件进行求解,判断当前的符号执行路径是否能够触发缓冲区溢出,并将已经求解的路径加入缓存中;G.从步骤C重复执行,直到所有路径执行完毕。本发明能够通过动/静态结合的方式自动检测缓冲区溢出漏洞,能够运用于漏洞检测以及安全审计,以及够快速进行自动检测并生成溢出漏洞触发测试用例,极大程度的节省了检测时间和人力成本。
Description
技术领域
本发明涉及软件测试的方法,具体讲是一种基于符号执行路径剪枝的缓冲区溢出漏洞自动检测方法。
背景技术
软件安全是一种旨在保护软件免受恶意攻击和黑客攻击,以便软件在这些潜在风险下继续正常运行的思想。然而由于种种局限,如语言本身的安全缺陷或者开发者在开发过程中的疏漏等,使得软件往往存在一些可利用的漏洞。这些漏洞的存在使得软件的安全性大大降低,一旦被攻击者找到并利用,将对软件用户和版权拥有者造成巨大损失。缓冲区溢出是一种最为常见的软件漏洞。
内存错误漏洞是软件漏洞的一种重要表现形式,而内存错误漏洞主要表现为缓冲区溢出(Buffer Overflow)。缓冲区在系统中的表现形式是多样的,高级语言定义的变量、数组、结构体等在运行时可以说都是保存在缓冲区内的,按照冯.诺依曼存储程序原理,程序代码是作为二进制数据存储在内存的,同样程序的数据也在内存中,因此直接从内存的二进制形式上是无法区分哪些是数据哪些是代码的,这也为缓冲区溢出攻击提供了可能。缓冲区溢出分为堆溢出,栈溢出和BSS段溢出等形式。攻击者通过注入ShellCode(一段用于利用软件漏洞而执行的代码)的方式来跳转执行任意代码,进行破坏、控制等。该攻击方式危害大,影响范围广,难以彻底消除。缓冲区溢出漏洞指的是通过往程序的缓冲区写超出其长度的内容,从而造成缓冲区的溢出,破坏程序的堆栈,造成程序转而执行其它指令以达到攻击的目的。缓冲区溢出攻击可以导致攻击者非法提升权限获取系统控制权限等,可造成严重后果。
目前存在动态测试和静态分析两种手段来发现程序中的缓冲区溢出漏洞。静态分析不涉及被测软件的动态执行,并且可以在运行程序之前的早期阶段检测可能的缺陷。在编码之后和执行单元测试之前完成。可以由机器完成,以自动“遍历”源代码并检测不合规规则。经典的例子是一个编译器,它可以找到词汇、句法甚至一些语义错误。由于漏洞可能发生在某条特定的路径中,所以静态分析技术往往是路径相关的,分析的结果可能会给出一条不完整的路径片段。静态分析工具为了保证分析结果的准确性而产生了大量的警报,这些警报绝大部分是冗余的,只包含了小部分真正漏洞。真正在使用这些工具的过程中,需要安全审计人员手工检查上述缓冲区溢出警报,编写测试用例覆盖静态分析产生的路径,以分析该路径是否存在缓冲区溢出的可能。动态测试通过编写测试用例运行不同的程序路径,分析是否能够触发潜在漏洞。动态分析的缺点十分明显,即需要软件测试人员手动设计测试用例,而测试用例一旦设计的不够完善,将可能导致漏洞无法被检测到。
符号执行(Symbolic Execution)是一种程序分析技术,它可以通过分析程序来得到让特定代码区域执行的输入。顾名思义,使用符号执行分析一个程序时,该程序会使用符号值作为输入,而非一般执行程序时使用的具体值。在达到目标代码时,分析器可以得到相应的路径约束,然后通过约束求解器来得到可以触发目标代码的具体值。
Angr是一个基于python的二进制程序符号执行分析框架,它将以前多种分析技术集成进来,它能够进行动态的符号执行分析(如:KLEE或Mayhem),也能够进行多种静态分析。在二进制代码中寻找并且利用漏洞是一项非常具有挑战性的工作,它的挑战性主要在于人工很难直观的看出二进制代码中的数据结构、控制流信息等。Angr的基本工作原理如下:首先将二进制程序载入Angr分析系统,将二进制程序转换成中间语言(intermediaterepresentation,IR),随后将IR语言转换成语义较强的表达形式再执行进一步的分析,如完整的或者部分的静态分析(依赖关系分析,程序分块)、程序空间的符号执行探索(挖掘溢出漏洞)、一些对于上面方式的结合。
专利申请号201510161507.X的公开文本就是一种典型的静态分析缓冲区溢出漏洞的方法。其输入的基础数据是源代码,此种方式只适合对开源软件的检测,而闭源软件因无法获得其源代码,因此该方法并不适用。同时,随着技术的更新迭代,新的分析框架(如Angr)已经可以将静态分析步骤自动化,因此该公开方法中的重要组成部分手动的静态控制流图分析不再需要。并且,该方法中所述的剪枝方案,即跳过基本代码块中不必要执行的中间码和直接跳转,该方式在Angr框架中已成为基本功能之一,不需再手动实现,因此Angr框架已经实现了该公开方法的内容。
发明内容
本发明提供了一种基于符号执行路径剪枝的缓冲区溢出漏洞自动检测方法,通过动静态结合的检测方式,代替人工分析缓冲区溢出漏洞,快速进行自动检测并生成溢出漏洞触发测试用例,以节省时间和人力成本。
本发明一种基于符号执行路径剪枝的缓冲区溢出漏洞自动检测方法,包括:
A.初始化缓存:通过随机或根据操作者的经验预先选取相应的路径,符号执行所述的路径,并将执行后的结果添加到缓存中;
B.获取待测试的二进制程序的控制流图(CFG图),并且对控制流图中的基本块的内部不存在跳转的指令进行约简,以及对基本块之间的直接跳转指令进行合并。CFG图为一个有向图,图中节点称为基本块(block),程序中的每个执行路径都和CFG图中的block一一映射对应。由block特性可知,每个block内部不可能存在跳转指令,只可能在两个block之间存在跳转指令,而跳转指令分为直接跳转和间接跳转;动态符号执行只需要提取存在间接跳转的路径即可完成完整的路径分析,故对block内部不存在跳转的指令进行约简,以及对block之间的直接跳转指令进行合并。
C.符号执行主要问题之一在于路径爆炸问题,因此根据缓存中已符号执行完的路径的历史触发漏洞情况,对当前符号执行的跳转路径进行动态评分。
D.根据评分结果,调整待执行路径队列中待执行路径的执行顺序。
E.对于和已符号执行的路径具有相同路径后缀的待执行路径,直接调用已符号执行路径的执行结果,不再执行该待执行路径。通过步骤E和步骤E,有效提高了符号执行的效率,降低了大规模应用程序在符号执行时较为严重的路径爆炸问题。
F.对缓冲区溢出的约束条件进行求解,判断当前的符号执行路径是否能够触发缓冲区溢出,并将已经求解的路径加入缓存中;
G.从步骤C重复执行,直到所有根据评分判断为可能缓冲区溢出的路径执行完毕,则认为符号执行结束,统计步骤E得到的缓冲区溢出漏洞路径并输出结果。
通过本发明的检测方法,有效抑制了符号执行过程中的状态爆炸问题。
具体的,步骤C包括:对已经符号执行完成的路径的结果进行缓存,根据当前符号执行的跳转路径是否为已检测路径的子路径,以及该跳转路径和已缓存路径的相似度,结合已缓存路径的历史触发漏洞情况,对所有当前各跳转路径进行动态评分。
具体的,步骤D所述的调整待执行路径队列中待执行路径的执行顺序为:让更可能存在缓冲区溢出漏洞的路径优先执行,对评分低于设定阈值的路径认为其不具备缓冲区溢出的可能,将其从待执行路径队列中删除。
具体的,步骤F中,先将缓冲区溢出的约束条件添加到当前符号执行路径中得到新的约束条件集,然后对所述的约束条件集进行求解,判断当前的符号执行路径是否能够触发缓冲区溢出,并将已经求解的路径加入缓存中。
在此基础上,步骤B中,先对待测试的二进制程序进行逆向分析,获取其程序的类源码信息,再根据所述的类源码信息获取待测试的二进制程序的控制流图。类源码信息是一种类似源码的对二进制信息的翻译信息,通过这种方式,不需要程序执行源码,更符合实际生产中对非开源商用软件分析需求,实用性更广泛。
优选的,待测试的二进制程序通过二进制程序分析框架Angr进行读取解析,然后进行逆向分析。所获取的类源码信息为Angr框架可识别的中间语言(IR)。
优选的,在每次循环执行到步骤C时,动态更新有变动部分的评分。
与背景技术中所述的专利申请号201510161507.X的公开文本相比,本发明中对路径动态评分以及对于和已符号执行的路径具有相同路径后缀的待执行路径,直接调用已符号执行路径的执行结果的方式,与该公开文本中所述的中间代码约简,属于完全不同的两个优化方向。如果采用控制变量的方法,在与公开文本相同的框架上,通过本发明的方法也可提升框架动态分析效率,并减缓其路径爆炸问题。
因此本发明能够通过动/静态结合的方式自动检测缓冲区溢出漏洞,能够运用于漏洞检测以及安全审计,不需要人工验证静态分析缓冲区溢出漏洞的结果,还能够快速进行自动检测并生成溢出漏洞触发测试用例,极大程度的节省了检测时间和人力成本。
以下结合实施例的具体实施方式,对本发明的上述内容再作进一步的详细说明。但不应将此理解为本发明上述主题的范围仅限于以下的实例。在不脱离本发明上述技术思想情况下,根据本领域普通技术知识和惯用手段做出的各种替换或变更,均应包括在本发明的范围内。
附图说明
图1为本发明一种基于符号执行路径剪枝的缓冲区溢出漏洞自动检测方法的流程图。
具体实施方式
如图1所示本发明一种基于符号执行路径剪枝的缓冲区溢出漏洞自动检测方法,包括:一、获取静态分析路径并对结果进行约简:
A.初始化缓存:通过随机或根据操作者的经验预先选取相应的路径,符号执行所述的路径,并将执行后的结果添加到缓存中;
B.对待测试的二进制程序通过二进制程序分析框架Angr进行逆向分析,获取其程序的类源码信息,所述的类源码信息为Angr框架可识别的中间语言(IR)。再根据类源码信息,通过二进制程序分析框架Angr获取待测试的二进制程序的控制流图(CFG图)。通过这种方式,不需要程序执行源码,更符合实际生产中对非开源商用软件分析需求。
获取到控制流图后,对控制流图中的基本块的内部不存在跳转的指令进行约简,以及对基本块之间的直接跳转指令进行合并。CFG图为一个有向图,图中节点称为基本块(block),程序中的每个执行路径都和CFG图中的block一一映射对应。动态符号执行只需要提取存在间接跳转的路径即可完成完整的路径分析,故对block内部不存在跳转的指令进行约简,以及对block之间的直接跳转指令进行合并。
二、符号执行与路径剪枝:
C.符号执行主要问题之一在于路径爆炸问题,因此对已经符号执行完成的路径的结果进行缓存,将当前路径的约束条件与缓存信息进行对比,根据当前符号执行的跳转路径是否为已检测路径的子路径,以及该跳转路径和已缓存路径的相似度,结合已缓存路径的历史触发漏洞情况,对所有当前各跳转路径进行动态评分,评分越高的路径越可能存在缓冲区溢出漏洞,评分越低的路径越安全。同时,在每次执行本步骤时,都要动态更新有变动部分的评分。
D.对路径进行剪枝。根据评分结果,调整待执行路径队列中待执行路径的执行顺序,让评分高于设定阈值的更可能存在缓冲区溢出漏洞的路径优先执行,对评分低于设定阈值的路径认为其不具备缓冲区溢出的可能,将其从待执行路径队列中删除。
E.对于和已符号执行的路径具有相同路径后缀的待执行路径,直接调用已符号执行路径的执行结果,不再执行该待执行路径。通过步骤D和步骤E,有效提高了符号执行的效率,降低了大规模应用程序在符号执行时较为严重的路径爆炸问题。
三、缓冲区溢出漏洞疑似路径验证:
F.当符号执行到达了静态缓冲区溢出的程序点后,先通过程序位置行号的匹配,确认符号执行的进程是否到达缓冲区溢出漏洞的疑似点。然后构建缓冲区溢出漏洞约束条件,通过分析将缓冲区内存相关操作分为两类:指针访问操作以及数组访问操作,根据不同的操作设定不同的缓冲区溢出约束条件。
将缓冲区溢出的约束条件添加到当前符号执行路径中得到新的约束条件集,然后通过求解器对所述的约束条件集进行求解,如果可解,则说明当前符号执行路径存在漏洞,属于溢出路径,如果不可解,则说明当前符号执行路径是安全路径。由此判断当前的符号执行路径是否能够触发缓冲区溢出,并将已经求解的路径加入缓存中。
G.从步骤C重复执行,直到所有评分高于设定阈值、判断为可能缓冲区溢出的路径执行完毕,则认为符号执行结束,统计步骤E得到的缓冲区溢出漏洞路径并输出结果。
Claims (7)
1.一种基于符号执行路径剪枝的缓冲区溢出漏洞自动检测方法,其特征包括:
A.初始化缓存:预先选取相应的路径,符号执行所述的路径,并将执行后的结果添加到缓存中;
B.获取待测试的二进制程序的控制流图,并且对控制流图中的基本块的内部不存在跳转的指令进行约简,以及对基本块之间的直接跳转指令进行合并;
C.根据缓存中已符号执行完的路径的历史触发漏洞情况,对当前符号执行的跳转路径进行动态评分;
D.根据评分结果,调整待执行路径队列中待执行路径的执行顺序;
E.对于和已符号执行的路径具有相同路径后缀的待执行路径,直接调用已符号执行路径的执行结果,不再执行该待执行路径;
F.对缓冲区溢出的约束条件进行求解,判断当前的符号执行路径是否能够触发缓冲区溢出,并将已经求解的路径加入缓存中;
G.从步骤C重复执行,直到所有根据评分判断为可能缓冲区溢出的路径执行完毕,则认为符号执行结束,统计步骤E得到的缓冲区溢出漏洞路径并输出结果。
2.如权利要求1所述的一种基于符号执行路径剪枝的缓冲区溢出漏洞自动检测方法,其特征为:步骤C包括:对已经符号执行完成的路径的结果进行缓存,根据当前符号执行的跳转路径是否为已检测路径的子路径,以及该跳转路径和已缓存路径的相似度,结合已缓存路径的历史触发漏洞情况,对所有当前各跳转路径进行动态评分。
3.如权利要求1所述的一种基于符号执行路径剪枝的缓冲区溢出漏洞自动检测方法,其特征为:步骤D所述的调整待执行路径队列中待执行路径的执行顺序为:让更可能存在缓冲区溢出漏洞的路径优先执行,对评分低于设定阈值的路径认为其不具备缓冲区溢出的可能,将其从待执行路径队列中删除。
4.如权利要求1所述的一种基于符号执行路径剪枝的缓冲区溢出漏洞自动检测方法,其特征为:步骤F中,先将缓冲区溢出的约束条件添加到当前符号执行路径中得到新的约束条件集,然后对所述的约束条件集进行求解,判断当前的符号执行路径是否能够触发缓冲区溢出,并将已经求解的路径加入缓存中。
5.如权利要求1至4之一所述的一种基于符号执行路径剪枝的缓冲区溢出漏洞自动检测方法,其特征为:步骤B中,先对待测试的二进制程序进行逆向分析,获取其程序的类源码信息,再根据所述的类源码信息获取待测试的二进制程序的控制流图。
6.如权利要求5所述的一种基于符号执行路径剪枝的缓冲区溢出漏洞自动检测方法,其特征为:待测试的二进制程序通过二进制程序分析框架Angr进行读取解析,然后进行逆向分析。
7.如权利要求1至4之一所述的一种基于符号执行路径剪枝的缓冲区溢出漏洞自动检测方法,其特征为:在每次循环执行到步骤C时,动态更新有变动部分的评分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910509701.0A CN110287693B (zh) | 2019-06-13 | 2019-06-13 | 基于符号执行路径剪枝的缓冲区溢出漏洞自动检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910509701.0A CN110287693B (zh) | 2019-06-13 | 2019-06-13 | 基于符号执行路径剪枝的缓冲区溢出漏洞自动检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110287693A true CN110287693A (zh) | 2019-09-27 |
CN110287693B CN110287693B (zh) | 2023-07-21 |
Family
ID=68004271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910509701.0A Active CN110287693B (zh) | 2019-06-13 | 2019-06-13 | 基于符号执行路径剪枝的缓冲区溢出漏洞自动检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110287693B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111581099A (zh) * | 2020-05-11 | 2020-08-25 | 全球能源互联网研究院有限公司 | 一种漏洞路径优先级的符号执行调度方法及系统 |
CN111581106A (zh) * | 2020-05-12 | 2020-08-25 | 全球能源互联网研究院有限公司 | 二进制程序漏洞测试方法、装置及可读存储介质 |
CN112163218A (zh) * | 2020-08-13 | 2021-01-01 | 中国人民解放军战略支援部队信息工程大学 | 一种基于代码注入的反漏洞挖掘方法及装置 |
CN112650681A (zh) * | 2020-12-28 | 2021-04-13 | 广州品唯软件有限公司 | 自动化测试方法、装置、电子设备及可读存储介质 |
CN113030422A (zh) * | 2021-03-02 | 2021-06-25 | 成都积微物联电子商务有限公司 | 基于表检仪检测的冷轧带钢质量判定的方法 |
EP3872663A1 (en) * | 2020-02-28 | 2021-09-01 | BlackBerry Limited | Method and device for symbolic analysis of a software program |
CN113497809A (zh) * | 2021-09-07 | 2021-10-12 | 中国人民解放军国防科技大学 | 基于控制流和数据流分析的mips架构漏洞挖掘方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104008053A (zh) * | 2014-05-28 | 2014-08-27 | 电子科技大学 | 一种用于漏洞发掘的动态符号执行路径搜索方法 |
CN104732152A (zh) * | 2015-04-07 | 2015-06-24 | 南京大学 | 基于符号执行路径剪枝的缓冲区溢出漏洞自动检测方法 |
CN104794401A (zh) * | 2015-04-15 | 2015-07-22 | 南京大学 | 一种静态分析辅助的符号执行漏洞检测方法 |
US20180114026A1 (en) * | 2016-10-25 | 2018-04-26 | Nanjing University | Method and system automatic buffer overflow warning inspection and bug repair |
CN108959936A (zh) * | 2018-06-28 | 2018-12-07 | 中国人民解放军国防科技大学 | 一种基于路径分析的缓冲区溢出漏洞自动利用方法 |
CN109376535A (zh) * | 2018-08-14 | 2019-02-22 | 中国信息安全测评中心 | 一种基于智能化符号执行的漏洞分析方法及系统 |
-
2019
- 2019-06-13 CN CN201910509701.0A patent/CN110287693B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104008053A (zh) * | 2014-05-28 | 2014-08-27 | 电子科技大学 | 一种用于漏洞发掘的动态符号执行路径搜索方法 |
CN104732152A (zh) * | 2015-04-07 | 2015-06-24 | 南京大学 | 基于符号执行路径剪枝的缓冲区溢出漏洞自动检测方法 |
CN104794401A (zh) * | 2015-04-15 | 2015-07-22 | 南京大学 | 一种静态分析辅助的符号执行漏洞检测方法 |
US20180114026A1 (en) * | 2016-10-25 | 2018-04-26 | Nanjing University | Method and system automatic buffer overflow warning inspection and bug repair |
CN108959936A (zh) * | 2018-06-28 | 2018-12-07 | 中国人民解放军国防科技大学 | 一种基于路径分析的缓冲区溢出漏洞自动利用方法 |
CN109376535A (zh) * | 2018-08-14 | 2019-02-22 | 中国信息安全测评中心 | 一种基于智能化符号执行的漏洞分析方法及系统 |
Non-Patent Citations (2)
Title |
---|
JIE LIU等: "Trigger condition based test generation for finding security bugs" * |
邵思豪;高庆;马森;段富尧;马骁;张世琨;胡津华;: "缓冲区溢出漏洞分析技术研究进展" * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3872663A1 (en) * | 2020-02-28 | 2021-09-01 | BlackBerry Limited | Method and device for symbolic analysis of a software program |
CN111581099A (zh) * | 2020-05-11 | 2020-08-25 | 全球能源互联网研究院有限公司 | 一种漏洞路径优先级的符号执行调度方法及系统 |
CN111581099B (zh) * | 2020-05-11 | 2023-02-10 | 全球能源互联网研究院有限公司 | 一种漏洞路径优先级的符号执行调度方法及系统 |
CN111581106A (zh) * | 2020-05-12 | 2020-08-25 | 全球能源互联网研究院有限公司 | 二进制程序漏洞测试方法、装置及可读存储介质 |
CN111581106B (zh) * | 2020-05-12 | 2023-05-23 | 全球能源互联网研究院有限公司 | 二进制程序漏洞测试方法、装置及可读存储介质 |
CN112163218A (zh) * | 2020-08-13 | 2021-01-01 | 中国人民解放军战略支援部队信息工程大学 | 一种基于代码注入的反漏洞挖掘方法及装置 |
CN112163218B (zh) * | 2020-08-13 | 2022-11-15 | 中国人民解放军战略支援部队信息工程大学 | 一种基于代码注入的反漏洞挖掘方法及装置 |
CN112650681A (zh) * | 2020-12-28 | 2021-04-13 | 广州品唯软件有限公司 | 自动化测试方法、装置、电子设备及可读存储介质 |
CN113030422A (zh) * | 2021-03-02 | 2021-06-25 | 成都积微物联电子商务有限公司 | 基于表检仪检测的冷轧带钢质量判定的方法 |
CN113030422B (zh) * | 2021-03-02 | 2022-12-16 | 成都积微物联电子商务有限公司 | 基于表检仪检测的冷轧带钢质量判定的方法 |
CN113497809A (zh) * | 2021-09-07 | 2021-10-12 | 中国人民解放军国防科技大学 | 基于控制流和数据流分析的mips架构漏洞挖掘方法 |
CN113497809B (zh) * | 2021-09-07 | 2021-11-26 | 中国人民解放军国防科技大学 | 基于控制流和数据流分析的mips架构漏洞挖掘方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110287693B (zh) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110287693A (zh) | 一种基于符号执行路径剪枝的缓冲区溢出漏洞自动检测方法 | |
CN104732152B (zh) | 基于符号执行路径剪枝的缓冲区溢出漏洞自动检测方法 | |
US10664601B2 (en) | Method and system automatic buffer overflow warning inspection and bug repair | |
US10387655B2 (en) | Method, system and product for using a predictive model to predict if inputs reach a vulnerability of a program | |
JP7164017B2 (ja) | フォールトツリー分析を使用して機能安全のため制御フローグラフを最適化するシステム及び方法 | |
CN105678169B (zh) | 一种二进制程序漏洞挖掘方法和系统 | |
Huang et al. | Crax: Software crash analysis for automatic exploit generation by modeling attacks as symbolic continuations | |
CN104834859B (zh) | 一种Android应用中恶意行为的动态检测方法 | |
Gao et al. | Bovinspector: automatic inspection and repair of buffer overflow vulnerabilities | |
CN104573524A (zh) | 一种基于静态检测的模糊测试方法 | |
JP7218793B2 (ja) | プログラムの機能を向上するための制御フローシステム、非一時的可読媒体、および方法 | |
CN106055479B (zh) | 一种基于强制执行的Android应用软件测试方法 | |
CN102063328B (zh) | 一种用于检测中断驱动型程序数据竞争的系统 | |
CN105701016B (zh) | 一种针对异常处理代码的测试方法 | |
US20150156202A1 (en) | Privilege Separation | |
CN105487983B (zh) | 基于智能路径引导的敏感点逼近方法 | |
CN108959936A (zh) | 一种基于路径分析的缓冲区溢出漏洞自动利用方法 | |
Jiang et al. | Aem: Facilitating cross-version exploitability assessment of linux kernel vulnerabilities | |
Brito et al. | Study of javascript static analysis tools for vulnerability detection in node. js packages | |
Wi et al. | Diffcsp: Finding browser bugs in content security policy enforcement through differential testing | |
Jeon et al. | Automated crash filtering using interprocedural static analysis for binary codes | |
US11283836B2 (en) | Automatic decoy derivation through patch transformation | |
CN107491387A (zh) | 一种文件处理程序的加密点和检查点定位方法及系统 | |
CN116431516A (zh) | 一种用于变异测试的程序语句选择方法及系统 | |
Kang | A review on javascript engine vulnerability mining |
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 |