CN101853200A - 一种高效动态软件漏洞挖掘方法 - Google Patents
一种高效动态软件漏洞挖掘方法 Download PDFInfo
- Publication number
- CN101853200A CN101853200A CN 201010171996 CN201010171996A CN101853200A CN 101853200 A CN101853200 A CN 101853200A CN 201010171996 CN201010171996 CN 201010171996 CN 201010171996 A CN201010171996 A CN 201010171996A CN 101853200 A CN101853200 A CN 101853200A
- Authority
- CN
- China
- Prior art keywords
- input data
- function
- byte
- data
- normal input
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种高效动态软件漏洞挖掘方法,其步骤包括:1)目标软件处理正常输入数据,并收集正常输入数据中传播进入系统函数参数、库函数参数的字节;2)在正常输入数据中,修改传播进入系统函数、库函数的字节,生成畸形数据;3)将生成的畸形数据输入至目标软件,如果目标软件处理畸形数据时异常,则生成漏洞报告。本发明方法通过自动识别正常输入数据中传入系统函数、库函数的字节,从而针对性的修改这些字节产生畸形数据,显著提高了畸形数据触发安全漏洞的可能性,充分提高了模糊测试的效率。
Description
技术领域
本发明属于软件工程和信息安全领域,具体涉及一种高效的动态软件漏洞挖掘方法。
背景技术
计算机、网络通信及软件等信息技术的飞速发展与广泛应用,推动了现代社会向信息社会的迈进,而其中存在的大量漏洞和隐患也使得当前信息安全形势日益严峻,信息安全中的一个核心问题就是存在于计算机系统中的软件安全漏洞,恶意的攻击者可以利用这些安全漏洞提升权限,访问未授权资源,甚至破坏敏感数据。软件安全漏洞已经成为诸多系统安全问题的根源之一,因此如何发现软件中的安全漏洞至关重要。
模糊测试(Fuzzing),作为一种黑盒测试技术,是一种著名的软件安全漏洞动态挖掘技术。模糊测试以大量畸形数据作为目标程序输入,观测目标程序处理畸形数据时的表现,从而发掘目标程序内部潜在的缺陷或错误。模糊测试的工作流程包括以下几步:
1)按照一定规则产生一批畸形输入;
2)将畸形输入逐一送入目标软件进行处理,并监视软件是否会抛出异常;
3)记录软件产生的错误信息,如寄存器状态,栈状态等;
4)向测试人员发送异常信息,以便进一步鉴定这些错误是否能被利用。
在上述模糊测试(Fuzzing)技术中,如何生成畸形数据是影响模糊测试效率的关键因素。
很多模糊测试工具通常采用对正常输入进行随机修改的方法生成畸形数据。例如,Idefense公司的FileFuzz可以将正常文件的每一个字节依次替换为随机值或预定义的数值,进而生成畸形文件。但是,这样生成的畸形数据缺乏针对性,很难触发软件安全漏洞,导致模糊测试工具效率低下。
另外,一些模糊测试工具可以根据预定义的规则,自动生成畸形数据。但是这类模糊测试工具严重依赖于人工定义畸形数据的生成规则。对于复杂的数据格式,人工定义生成规则面临巨大的工作量,通常不可能完成;即使对于简单的数据格式,人工定义规则也很容易引入错误,导致生成的畸形数据无法触发安全漏洞。
发明内容
本发明的目的在于克服现有模糊测试技术中的不足,提供一种高效的软件漏洞挖掘方法
为表述方便,目标软件接收的各种类型的输入(包括文件、命令行参数、网络报文等)统称为输入数据。
为了实现本发明的目的,采用的技术方案概述如下:
一种高效动态软件漏洞挖掘方法,其步骤包括:
1)目标软件处理正常输入数据,并收集正常输入数据中传播进入系统函数参数、库函数参数的字节;
2)生成畸形数据;具体地,在正常输入数据中,修改传播进入系统函数、库函数的字节,生成畸形数据;
3)对目标软件测试;将生成的畸形数据输入至目标软件,如果目标软件处理这些畸形数据时异常,则生成漏洞报告。
进一步地,上述步骤1)收集正常输入数据中传播进入系统函数参数、库函数参数的字节的方法包括:
1.1)通过系统函数调用劫持技术(HOOK),劫持文件打开(例如UNIX系统里open()函数)、文件读取(例如UNIX系统里read()函数)、文件关闭(例如UNIX系统中close()函数),以及网络数据操作函数。根据操作系统不同以及对输入数据关注点不同,可以对需要劫持的函数范围适当修改,以达到最佳效果。
1.2)基于1.a)中工作,当目标程序将输入数据读入内存时,进一步地记录相应内存地址与输入数据之间的依赖关系。以每个字节在正常输入数据中的位置偏移标示该字节,并记录每个内存单元来源于哪些字节。
1.3)在程序执行过程中,跟踪输入数据的传播;特别地,采用动态代码插桩方法跟踪正常输入数据的传播,根据每条机器指令(例如mov、add、pop)的语义信息,在运行时刻跟踪、记录每个内存单元依赖于哪些输入字节。
1.4)调用系统函数或库函数时,检查相应参数是否依赖于输入数据。如果依赖,进一步输出相应参数依赖哪些输入字节。特别地,对于简单类型的参数(例如int,char类型),直接检查参数数值是否依赖输入数据;对于指针类型的数据(例如int*,char*类型),进一步检查指针所指向的内存单元是否依赖输入数据。对于其他复杂的函数参数,用户可根据先验知识和系统调用及库函数的原型声明,指定哪些系统调用和库函数需要检查以及相应的检查策略,以达最佳效果。
所述正常输入数据包括文件、命令行参数和网络报文。
进一步地,上述步骤2)包括但不限于以下几种修改模式:
2.1)对每个可以传入系统调用、库函数的字节逐一替换为随机值;
2.2)对每个可以传入系统调用、库函数的字节逐一替换为指定值;
2.3)对可以传入系统调用、库函数的字节进行协同更改,例如将多个字节同时替换为随机值或指定值。
进一步地,上述步骤3)包括:
3.1)在调试模式下运行目标软件;
3.2)逐一将步骤2)中生成的畸形数据输入至目标软件;
3.3)如果目标软件发生异常(包括但不限于内存访问错误、除0异常、死循环等),收集当时软件执行的调用栈以及执行上下文信息(例如当时寄存器信息),将这些信息生成一个漏洞报告,输出至测试人员以便进一步鉴定这些错误是否能被利用。
与现有技术相比,本发明方法的技术效果是:
本发明方法通过自动识别正常输入数据中传入系统函数、库函数的字节,从而针对性的修改这些字节产生畸形数据,显著提高了畸形数据触发安全漏洞的可能性,充分提高了模糊测试的效率。
附图说明
图1是本发明方法总体流程图;
图2是本发明方法步骤1的详细流程图。
具体实施方式
下面结合附图,更详细的描述本发明的具体实施方式。
步骤1.运行正常输入数据,收集运行时敏感信息。
该步骤基于二进制动态代码插桩技术,在插桩模式下运行目标软件,跟踪输入数据的读入、传播、使用。还可以采用二进制改变方法或者源代码的代码插桩方法(参见文献[1]GeorgeC.Necula.CIL:Intermediate Language and Tools for Analysis and Transformation ofC Programs.Proceedings of the 11th International Conference on Compiler Construction.2002.[2]Susanta Nanda.BIRD:Binary Interpretation using Runtime Disassembly.Fourth IEEE/ACM International Symposium on Code Generation and Optimization,2006.)
现有的二进制动态代码插桩技术已经十分成熟,很多著名IT公司如Intel、VMware都已经相继推出了二进制动态代码插桩工具PIN、DynamoRIO等。
本实施实例以PIN平台做二进制动态插桩工具给出详细的实施方式和操作过程,但本发明的保护范围不限于本实施例。参看图2,对步骤1详细说明:
1.1)劫持操作系统文件操作及网络数据操作的系统调用。基于PIN平台的API接口PIN_AddSyscallEntryFunction、PIN_AddSyscallExitFunction,劫持相应的系统调用的参数和返回值。通过对一些文件打开、读入、关闭的系统调用的劫持,例如在windows平台上劫持NtCreateFile、NtOpenFile、NtReadFile,在Linux平台上劫持open、read、close、seek、lseek等,就可以获得传入这些系统调用的参数及返回值。
1.2)如果目标软件将正常输入数据读入了内存,就记录内存单元和输入数据的映射关系。例如,Linux平台上执行read(fd,buf,100)的作用是:从文件fd中读取100字节到以buf为起始地址的内存中。假设fd是输入文件,执行该read系统调用后,我们根据当时fd的文件偏移及buf的数值,详细记录:buf+0来源于第1输入字节,…buf+i来源于第i+1个输入字节…,buf+99来源于第100个输入字节。
1.3)在程序执行过程中,跟踪输入数据的传播;利用代码插桩方法跟踪正常输入数据的传播,基于PIN提供的INS_InsertCall等API接口,在每条指令执行前,根据指令的语义信息,检查该条指令对输入数据传播的影响。
对于算术运算指令,如果原操作依赖于输入数据,则目的操作数也依赖于输入数据。特别的,目的操作数依赖的输入数据等于所有源操作数依赖的输入数据的并集。例如:add eax,ebx;//eax=eax+ebx;假设eax依赖于第i个输入字节,ebx依赖于第j个输入字节,执行该指令后,eax依赖于第i,j两个输入字节。
对于特殊运算指令,例如xor eax,eax;该指令的作用是将eax清0。假设执行该指令前eax依赖于第i个输入字节,执行该指令后eax不依赖任何输入数据。
对于数据传送指令,目的操作数依赖的输入数据依赖于源操作数的输入数据。例如,moveax,ebx;//eax=ebx的作用是将ebx赋值给eax。执行该指令后,eax依赖于ebx所依赖的输入数据。
特别的,代码中的常数不依赖于任何输入数据。例如,mov eax,1,该指令将eax赋值为常数1。执行该指令后eax不依赖任何输入数据。
1.4)调用系统函数或库函数时,检查相应参数是否依赖于输入数据。
结合PIN提供的IMG_AddInstrumentFunction、RTN_FindByName、PIN_AddSyscallEntryFunction、PIN_AddSyscallExitFunction等API接口,可以对指定的系统调用或库函数劫持,进而检查参数是否依赖于输入数据。特别地,对于简单类型的参数(例如int,char类型),直接检查参数数值是否依赖输入数据;对于指针类型的数据(例如int*,char*类型),进一步检查指针所指向的内存单元是否依赖输入数据。对于其他复杂的函数参数(例如int**,结构体指针),用户可根据先验知识和系统调用及库函数的原型声明,指定哪些系统调用和库函数需要检查以及相应的检查策略,以达最佳效果。
步骤2.生成畸形数据;具体地,根据步骤1)中收集的信息,针对性的修改可以传入系统函数、库函数的字节,从而生成畸形数据。
例如,假设步骤1中输出第10、11、12、13和第20、21、22、23等字节会传入系统调用或库函数中。可以采用多种方式对上述字节修改:
2.1)依次将原始样本中第10、11、12、13和第20、21、22、23等字节替换为随机值;每个字节替换若干次。
2.2)依次将原始样本中第10、11、12、13和第20、21、22、23等字节替换为用户指定值;用户可指定任意数值。
2.3)将原始样本中第10、11、12、13和第20、21、22、23等字节写协同更改,例如同时连续的四个字节(第10、11、12、13)视为一个整体,更改为随机值或如用户指定值。用户可指定协同更改规则,以达到最佳效果。
步骤3.Fuzzing测试
将步骤2中产生的畸形样本传递给目标软件,看目标软件是否会产生异常,异常情况包括但不限于内存访问错误、除0异常、死循环等,如果有异常,收集异常情况发生时软件执行的调用栈以及执行上下文信息(例如当时寄存器信息),将这些信息生成一个漏洞报告,输出至测试人员以便进一步鉴定这些错误是否能被利用。
上述步骤1至3可以循环进行。
最后应说明的是:以上实施例仅用以说明而非限制本发明的技术方案,尽管参照上述实施例对本发明进行了详细说明,本领域的技术人员应当理解:依然可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本发明的权利要求范围当中。
Claims (10)
1.一种高效动态软件漏洞挖掘方法,其步骤包括:
1)目标软件处理正常输入数据,并收集正常输入数据中传播进入系统函数参数、库函数参数的字节;
2)在正常输入数据中,修改传播进入系统函数、库函数的字节,生成畸形数据;
3)将生成的畸形数据输入至目标软件,如果目标软件处理畸形数据时异常,则生成漏洞报告。
2.如权利要求1所述的方法,其特征在于,所述正常输入数据包括文件、命令行参数和网络报文。
3.如权利要求1所述的方法,其特征在于,所述步骤1)收集正常输入数据中传播进入系统函数参数、库函数参数的字节的具体方法为:
1.1)通过系统函数调用劫持方法劫持目标软件对正常输入数据的读入;
1.2)当目标软件将正常输入数据读入内存时,记录内存地址与输入数据之间的映射关系;
1.3)跟踪正常输入数据的传播,记录每个内存单元依赖的正常输入数据的字节;
1.4)调用系统函数或库函数时,检查系统函数参数或库函数参数是否依赖于正常输入数据,如果依赖,输出依赖的字节;
4.如权利要求1所述的方法,其特征在于,所述步骤1.3)采用动态代码插桩方法跟踪正常输入数据的传播。
5.如权利要求1所述的方法,其特征在于,所述步骤1.3)记录相应内存地址与输入数据之间的依赖关系的方法为:以每个字节在正常输入数据中的位置偏移标示该字节,并记录每个内存单元来源于哪些字节。
6.如权利要求1所述的方法,其特征在于,所述步骤1.4)对于int,char类型参数,直接检查参数数值是否依赖输入数据;对于指针类型的参数,检查指针所指向的内存单元是否依赖输入数据;对于其他复杂的函数参数,根据先验知识和系统调用及库函数的原型声明,指定需要检查系统调用和库函数。
7.如权利要求1所述的方法,其特征在于,所述步骤2)修改的方式为对每个可以传播进入系统调用、库函数的字节逐一替换为随机值或者指定值。
8.如权利要求1所述的方法,其特征在于,所述步骤2)修改的方式为对可以传播进入系统调用、库函数的字节进行协同更改,将多个字节同时替换为随机值或指定值。
9.如权利要求1所述的方法,其特征在于,所述步骤3)在调试模式下运行目标软件;逐一将生成的畸形数据输入至目标软件。
10.如权利要求1所述的方法,其特征在于,所述步骤3)如果目标软件发生异常,收集当时目标软件执行的调用栈以及执行上下文信息,生成漏洞报告。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101719964A CN101853200B (zh) | 2010-05-07 | 2010-05-07 | 一种高效动态软件漏洞挖掘方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101719964A CN101853200B (zh) | 2010-05-07 | 2010-05-07 | 一种高效动态软件漏洞挖掘方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101853200A true CN101853200A (zh) | 2010-10-06 |
CN101853200B CN101853200B (zh) | 2012-09-26 |
Family
ID=42804705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101719964A Expired - Fee Related CN101853200B (zh) | 2010-05-07 | 2010-05-07 | 一种高效动态软件漏洞挖掘方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101853200B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103209173A (zh) * | 2013-03-08 | 2013-07-17 | 北京理工大学 | 一种网络协议漏洞挖掘方法 |
CN103679034A (zh) * | 2013-12-26 | 2014-03-26 | 南开大学 | 一种基于本体的计算机病毒分析系统及其特征提取方法 |
WO2014102627A1 (en) * | 2012-12-31 | 2014-07-03 | International Business Machines Corporation | Hybrid analysis of vulnerable information flows |
CN104573523A (zh) * | 2013-10-24 | 2015-04-29 | 深圳市腾讯计算机系统有限公司 | 文件漏洞挖掘的实现方法和装置 |
CN105335657A (zh) * | 2015-12-07 | 2016-02-17 | 珠海市君天电子科技有限公司 | 一种程序漏洞检测方法及装置 |
CN106294102A (zh) * | 2015-05-20 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 应用程序的测试方法、客户端、服务器及系统 |
CN107025168A (zh) * | 2015-12-15 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 漏洞检测方法及装置 |
CN110196815A (zh) * | 2019-07-26 | 2019-09-03 | 中国人民解放军国防科技大学 | 一种软件模糊测试方法 |
CN110708279A (zh) * | 2019-08-19 | 2020-01-17 | 中国电子科技网络信息安全有限公司 | 一种基于群体智能的漏洞挖掘模型构建方法 |
CN110795739A (zh) * | 2019-09-25 | 2020-02-14 | 苏州浪潮智能科技有限公司 | 一种基于动态调试的缓冲区漏洞检查系统和方法 |
CN112148253A (zh) * | 2019-06-26 | 2020-12-29 | 北京达佳互联信息技术有限公司 | 一种程序生成方法、Java对象替换方法及装置 |
CN115102774A (zh) * | 2022-07-01 | 2022-09-23 | 四川大学 | 一种面向物联网固件漏洞挖掘与靶场搭建的方法与装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080301647A1 (en) * | 2007-06-01 | 2008-12-04 | Microsoft Corporation | Delivering Malformed Data for Fuzz Testing to Software Applications |
CN101431809A (zh) * | 2008-10-28 | 2009-05-13 | 中国科学院研究生院 | 一种obex协议漏洞挖掘方法及其系统 |
CN101551842A (zh) * | 2009-05-05 | 2009-10-07 | 天津大学 | 一种基于模型驱动的安全测试方法 |
-
2010
- 2010-05-07 CN CN2010101719964A patent/CN101853200B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080301647A1 (en) * | 2007-06-01 | 2008-12-04 | Microsoft Corporation | Delivering Malformed Data for Fuzz Testing to Software Applications |
CN101431809A (zh) * | 2008-10-28 | 2009-05-13 | 中国科学院研究生院 | 一种obex协议漏洞挖掘方法及其系统 |
CN101551842A (zh) * | 2009-05-05 | 2009-10-07 | 天津大学 | 一种基于模型驱动的安全测试方法 |
Non-Patent Citations (2)
Title |
---|
《Proceedings of the 31st International Conference on Software Engineering(ICSE 2009)》 20091231 Vijay Ganesh,Tim Leek,Martin Rinard Taint-based Directed Whitebox Fuzzing 1-11 1-10 , 2 * |
《通信学报》 20071231 诸葛建伟,韩心慧,周勇林,宋程昱,郭晋鹏,邹维 HoneyBow:一个基于高交互式蜜罐技术的恶意代码自动捕获器 8-13 全文 第28卷, 第12期 2 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014102627A1 (en) * | 2012-12-31 | 2014-07-03 | International Business Machines Corporation | Hybrid analysis of vulnerable information flows |
US9177155B2 (en) | 2012-12-31 | 2015-11-03 | International Business Machines Corporation | Hybrid analysis of vulnerable information flows |
CN103209173A (zh) * | 2013-03-08 | 2013-07-17 | 北京理工大学 | 一种网络协议漏洞挖掘方法 |
CN103209173B (zh) * | 2013-03-08 | 2016-07-13 | 北京理工大学 | 一种网络协议漏洞挖掘方法 |
CN104573523A (zh) * | 2013-10-24 | 2015-04-29 | 深圳市腾讯计算机系统有限公司 | 文件漏洞挖掘的实现方法和装置 |
CN104573523B (zh) * | 2013-10-24 | 2018-06-12 | 深圳市腾讯计算机系统有限公司 | 文件漏洞挖掘的实现方法和装置 |
CN103679034A (zh) * | 2013-12-26 | 2014-03-26 | 南开大学 | 一种基于本体的计算机病毒分析系统及其特征提取方法 |
CN103679034B (zh) * | 2013-12-26 | 2016-04-13 | 南开大学 | 一种基于本体的计算机病毒分析系统及其特征提取方法 |
CN106294102A (zh) * | 2015-05-20 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 应用程序的测试方法、客户端、服务器及系统 |
CN105335657A (zh) * | 2015-12-07 | 2016-02-17 | 珠海市君天电子科技有限公司 | 一种程序漏洞检测方法及装置 |
CN105335657B (zh) * | 2015-12-07 | 2019-04-05 | 珠海豹趣科技有限公司 | 一种程序漏洞检测方法及装置 |
CN107025168A (zh) * | 2015-12-15 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 漏洞检测方法及装置 |
CN107025168B (zh) * | 2015-12-15 | 2022-01-07 | 阿里巴巴集团控股有限公司 | 漏洞检测方法及装置 |
CN112148253A (zh) * | 2019-06-26 | 2020-12-29 | 北京达佳互联信息技术有限公司 | 一种程序生成方法、Java对象替换方法及装置 |
CN110196815A (zh) * | 2019-07-26 | 2019-09-03 | 中国人民解放军国防科技大学 | 一种软件模糊测试方法 |
CN110708279A (zh) * | 2019-08-19 | 2020-01-17 | 中国电子科技网络信息安全有限公司 | 一种基于群体智能的漏洞挖掘模型构建方法 |
CN110708279B (zh) * | 2019-08-19 | 2021-08-13 | 中国电子科技网络信息安全有限公司 | 一种基于群体智能的漏洞挖掘模型构建方法 |
CN110795739A (zh) * | 2019-09-25 | 2020-02-14 | 苏州浪潮智能科技有限公司 | 一种基于动态调试的缓冲区漏洞检查系统和方法 |
CN115102774A (zh) * | 2022-07-01 | 2022-09-23 | 四川大学 | 一种面向物联网固件漏洞挖掘与靶场搭建的方法与装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101853200B (zh) | 2012-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101853200B (zh) | 一种高效动态软件漏洞挖掘方法 | |
US9715593B2 (en) | Software vulnerabilities detection system and methods | |
CN104008329B (zh) | 一种基于虚拟化技术的软件隐私泄露行为检测方法及系统 | |
CN102402479B (zh) | 用于静态分析的中间表示结构 | |
CN102081719B (zh) | 基于动态污染传播的软件安全测试系统及方法 | |
CN101847121B (zh) | 一种软件漏洞挖掘方法 | |
CN113497809B (zh) | 基于控制流和数据流分析的mips架构漏洞挖掘方法 | |
CN114996126B (zh) | 一种针对eosio智能合约的漏洞检测方法及系统 | |
CN104766015A (zh) | 一种基于函数调用的缓冲区溢出漏洞动态检测方法 | |
Arzt et al. | The soot-based toolchain for analyzing android apps | |
Chen et al. | A large-scale empirical study on control flow identification of smart contracts | |
Liao et al. | Smartdagger: a bytecode-based static analysis approach for detecting cross-contract vulnerability | |
Hu et al. | A memory-related vulnerability detection approach based on vulnerability features | |
CN112560043A (zh) | 一种基于上下文语义的漏洞相似性度量方法 | |
Di Nardo et al. | Generating complex and faulty test data through model-based mutation analysis | |
Cheng et al. | Logextractor: Extracting digital evidence from android log messages via string and taint analysis | |
CN105164642A (zh) | 对合同的操作系统支持 | |
CN111309589A (zh) | 一种基于代码动态分析的代码安全扫描系统及方法 | |
Zhao et al. | H-fuzzing: A new heuristic method for fuzzing data generation | |
Ren et al. | A dynamic taint analysis framework based on entity equipment | |
CN113836023B (zh) | 一种基于体系结构交叉检查的编译器安全性测试方法 | |
KR102425474B1 (ko) | BinTyper: C++ 프로그램 바이너리 대상의 타입 컨퓨전 버그 탐지 | |
CN114741700A (zh) | 基于符号化污点分析的公共组件库漏洞可利用性分析方法及装置 | |
Yan et al. | SPIDER: Speeding up Side-Channel Vulnerability Detection via Test Suite Reduction | |
Khan et al. | Detecting wake lock leaks in android apps using machine learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120926 Termination date: 20190507 |