CN108959936B - 一种基于路径分析的缓冲区溢出漏洞自动利用方法 - Google Patents

一种基于路径分析的缓冲区溢出漏洞自动利用方法 Download PDF

Info

Publication number
CN108959936B
CN108959936B CN201810687808.XA CN201810687808A CN108959936B CN 108959936 B CN108959936 B CN 108959936B CN 201810687808 A CN201810687808 A CN 201810687808A CN 108959936 B CN108959936 B CN 108959936B
Authority
CN
China
Prior art keywords
program
vulnerability
information
software
utilization
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.)
Active
Application number
CN201810687808.XA
Other languages
English (en)
Other versions
CN108959936A (zh
Inventor
董威
贾维熙
徐鲁杭
尹良泽
陈立前
陈振邦
王戟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201810687808.XA priority Critical patent/CN108959936B/zh
Publication of CN108959936A publication Critical patent/CN108959936A/zh
Application granted granted Critical
Publication of CN108959936B publication Critical patent/CN108959936B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开一种基于路径分析的缓冲区溢出漏洞自动利用方法,步骤包括:S1.获取目标二进制程序的程序信息;S2.根据获取的程序信息使用符号执行方法对目标二进制程序进行遍历,搜索程序中存在的软件漏洞,并获取搜索到的软件漏洞的路径信息;S3.获取当前系统的环境信息,根据获取的环境信息以及程序信息,生成所需的利用规约以绕过系统保护;S4.根据软件漏洞的路径信息以及生成的利用规约进行求解,最终生成所需的漏洞利用输入。本发明具有实现方法简单、能够实现软件漏洞的自动搜索以及漏洞利用的自动生成,且可以自动绕过系统防护,自动化程度与执行效率高等优点。

Description

一种基于路径分析的缓冲区溢出漏洞自动利用方法
技术领域
本发明涉及二进制可执行程序漏洞扫描技术领域,尤其涉及一种基于路径分析的缓冲区溢出漏洞自动利用方法。
背景技术
近些年全球信息化发展迅猛,计算机软件已成为世界经济、科技、军事和社会发展的重要引擎,与此同时软件的安全问题也日益突出,软件漏洞即是信息安全问题的根源之一。伴随互联网和软件技术的不断发展,软件漏洞的数量越来越多,随之造成的危害也越来越大,可能引发包括信息窃取、资源受控、系统崩溃等问题,具有重大威胁。
为保证程序的安全有效运行而不被攻击和恶意利用,首先需要对程序进行分析和漏洞搜索,目前软件漏洞扫描通常都是直接基于源代码进行分析,以检查自身开发的代码是否具有缺陷,但是计算机、移动终端、嵌入式系统等平台中运行的程序绝大多数是无法直接获取到源代码,无法使用传统基于源代码的软件漏洞扫描方法,且即使通过源代码检测,也不能保证源码分析过后的程序不存在缺陷和漏洞,易发生漏报,另外编译器也会存在安全隐患,可能在生成的应用中被插入恶意代码,而发生IOS应用感染等的安全问题。
缓冲区溢出漏洞是一种非常普遍、非常危险的漏洞,在各种操作系统、应用程序中广泛存在,其是利用缓冲区溢出攻击,可以导致程序运行失败、系统宕机、重新启动等,更为严重的是,可以利用它执行非授权指令,甚至可以取得系统特权,进而进行各种非法操作。在当前网络与分布式系统安全中,缓冲区溢出漏洞被广泛利用在当前网络与分布式系统安全中,通常50%以上都是缓冲区溢出,其中最著名的即是1988年利用fingerd漏洞的蠕虫。而缓冲区溢出中,最为危险的是堆栈溢出,因为入侵者可以利用堆栈溢出,在函数返回时改变返回程序的地址,让其跳转到任意地址,带来的危害一种是程序崩溃导致拒绝服务,另外一种就是跳转并且执行一段恶意代码,比如得到shell,然后执行各种非法操作。
漏洞利用,即为通过构造异常的输入使得攻击者可以执行任意的代码或者泄露用户的信息,通过漏洞利用可以提供漏洞的存在位置与漏洞类型,便于加快漏洞发现何补丁修复的速度,从而缓解程序漏洞造成的危害,而目前还尚未有能够有效实现漏洞利用的方法,通常都是通过人工的对二进制代码进行审计,以及采取动态调试的方式来对目标程序进行漏洞利用,因而难以精确确认漏洞的存在位置与漏洞类型,无法及时发现漏洞以及进行补丁修复。因而亟需提供一种针对二进制可执行程序的缓冲区溢出漏洞自动利用方法,以实现缓冲区溢出漏洞的自动扫描及漏洞利用的自动生成。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种实现方法简单、能够实现软件漏洞的自动搜索以及漏洞利用的自动生成,且可以自动绕过系统防护,自动化程度与执行效率高的基于路径分析的缓冲区溢出漏洞自动利用方法。
为解决上述技术问题,本发明提出的技术方案为:
一种基于路径分析的缓冲区溢出漏洞自动利用方法,其特征在于,步骤包括:
S1.获取目标二进制程序的程序信息;
S2.根据获取的所述程序信息使用符号执行方法对目标二进制程序进行遍历,搜索程序中存在的软件漏洞,并获取搜索到的软件漏洞的路径信息;
S3.获取当前系统的环境信息,根据获取的环境信息以及所述程序信息,生成所需的利用规约以绕过系统保护;
S4.根据所述软件漏洞的路径信息以及生成的利用规约进行求解,最终生成所需的漏洞利用输入。
作为本发明的进一步改进,所述步骤S1的具体步骤为:
S11.获取目标二进制程序并进行反汇编,得到目标二进制程序的汇编代码;
S12.根据步骤S11得到的汇编代码获取目标程序中包括控制流信息、程序属性信息的程序信息;
S13.将所述步骤S11得到的目标二进制程序的汇编代码转换成中间表示VEX。
作为本发明的进一步改进:所述步骤S2中对目标二进制程序进行遍历时,具体对转换得到的所述中间表示VEX进行符号执行,寻找出存在缓冲区溢出漏洞的程序路径,得到所述软件漏洞的路径信息。
作为本发明的进一步改进:所述步骤S2中使用符号执行方法时具体使用广度优先的搜索策略进行符号执行。
作为本发明的进一步改进,所述步骤S2中搜索程序中存在的软件漏洞的具体步骤为:
S21.配置符号执行搜索策略为广度优先搜索策略,同时设定符号执行所需的参数;
S22.构建符号执行的过滤器,以用于搜索缓冲区溢出漏洞;
S23.利用符号执行对目标二进制程序进行遍历,遍历过程中使用构建的所述过滤器对程序的所有状态点进行检查,如果发现缓冲区结构以外的内存被外部输入覆盖时,判定为包含缓冲区溢出漏洞并筛选出当前路径,最终得到所述软件漏洞的路径信息。
作为本发明的进一步改进:所述步骤S2中对搜索到软件漏洞时,还包括对搜索的软件漏洞进行验证,判定是否缓冲区溢出可复现,如果无法复现,判定是误报,重新进行软件漏洞的搜索,否则转入执行步骤S3。
作为本发明的进一步改进,所述步骤S3中生成所需的利用规约的具体步骤为:
S31.获取系统属性信息,根据获取的系统属性信息确定系统是否存在地址空间分布随机化的防护措施,以及根据所述程序属性信息,确定程序是否存在堆栈保护和堆栈不可执行防护措施;
S32.根据当前开启的防护措施确定对应的软件漏洞利用实施方法,其中如若开启栈不可执行防护,则采用Ret2libc方法,如若开启地址空间随机化防护,则采用jump esp方法;如果系统中未开启任何防护措施,则直接将恶意代码写在输入的相应位置当中。
作为本发明的进一步改进,所述步骤S4的具体步骤为:将述软件漏洞的路径信息以及生成的利用规约进行整合后提交给约束求解器进行求解,最终生成所需的软件漏洞利用。
与现有技术相比,本发明的优点在于:
1、本发明基于路径分析的缓冲区溢出漏洞自动利用方法,针对二进制可执行程序,通过利用符号执行方法对目标二进制程序进行漏洞搜索,根据系统的环境信息来生成利用规约,结合搜索到的漏洞路径信息以及利用规约来最终生成漏洞利用,可以自动化地对二进制程序进行分析检测,并生成可用漏洞利用,支持无源码的软件漏洞搜索和漏洞利用自动生成扫描程序漏洞,可以方便的确认漏洞的存在位置与漏洞类型,提高漏洞发现和补丁修复的速度,且可以自动绕过系统保护,同时基于路径分析实现漏洞搜索,可以有效提高漏洞搜索的精度,降低漏报率。
2、本发明基于路径分析的缓冲区溢出漏洞自动利用方法,结合符合执行方法,使用过滤器对程序的所有状态点进行检查,由缓冲区结构以外的内存被外部输入覆盖筛选出溢出漏洞,可以高效、全面的搜索到程序中所有的溢出漏洞,可以有效减少漏报率,提高漏洞扫描性能。
附图说明
图1是本实施例基于路径分析的缓冲区溢出漏洞自动利用方法的实现流程示意图。
图2是本实施例基于路径分析的缓冲区溢出漏洞自动利用方法的详细执行流程示意图。
图3是本实施例采用的实现缓冲区溢出漏洞自动利用的系统结构原理示意图。
具体实施方式
以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。
如图1、2所示,本实施例基于路径分析的缓冲区溢出漏洞自动利用方法,步骤包括:
S1.获取目标二进制程序的程序信息;
S2.根据获取的程序信息使用符号执行方法对目标二进制程序进行遍历,搜索程序中存在的软件漏洞,并获取搜索到的软件漏洞的路径信息;
S3.获取当前系统的环境信息,根据获取的环境信息以及程序信息,生成所需的利用规约以绕过系统保护;
S4.根据软件漏洞的路径信息以及生成的利用规约进行求解,最终生成所需的漏洞利用输入。
本实施例首先利用符号执行方法找到一条存在缺陷的路径,以使得在原有的路径约束之上添加所需要的约束,所需要的约束即指利用后所执行的恶意攻击所对应的约束信息,可以根据需求对该约束进行自定义,比如获取对方终端的权限等,然后对路径求解,求解后的输入即可以触发程序漏洞,由所添加的约束即可以执行对应的程序,添加的约束可以是任意的代码,当符号执行发现漏洞路径时,即可以对漏洞进行自动的利用。相比于传统的人工审计和动态调试的方式,本实施例利用符号执行方式,可以自动的准确的生成一个可以到达目标节点的测试用例,以及可以快速找到寄存器与输入之间的关系的特点,实现了自动化的对存在漏洞的目标程序进行漏洞利用,大大节省了生成漏洞利用的时间成本,极大的提高了漏洞利用生成的效率。
本实施例在利用符合执行查找漏洞路径的基础上,实现自动绕过栈不可执行与地址空间随机化的系统保护,具体采用jump esp(将返回地址覆盖为jump esp指令所对应的地址)方法。由于对二进制程序审计存在一定的困难,因此很难直接使用jump esp实现自动栈绕过保护操作,而由于符号执行具有可以静态的快速找到输入与寄存器的之间关系的特点,本实施例通过结合符合执行方法,可以自动化的实现jump esp方法,实现绕过栈保护的自动化操作。
本实施例针对二进制可执行程序,通过利用符号执行方法对目标二进制程序进行漏洞搜索,同时根据软件信息、系统环境信息来生成利用规约,结合搜索到的漏洞路径信息以及利用规约来最终生成漏洞利用,可以自动化地对二进制程序进行分析检测,扫描程序漏洞,并生成可用漏洞利用输入,支持无源码的软件漏洞搜索和漏洞利用自动生成扫描程序漏洞,可以方便的确认漏洞的存在位置与漏洞类型,提高漏洞发现和补丁修复的速度,且可以自动绕过系统保护,同时基于路径分析实现漏洞搜索,可以有效提高漏洞搜索的精度,降低漏报率。
本实施例中,步骤S1的具体步骤为:
S11.获取目标二进制程序并进行反汇编,得到目标二进制程序的汇编代码;
S12.根据步骤S11得到的汇编代码获取目标程序中包括控制流信息、程序属性信息的程序信息;
S13.将步骤S11得到的目标二进制程序的汇编代码转换成中间表示VEX。
本实施例首先对目标可执行二进制程序进行反汇编,将二进制文件翻译成汇编代码,具体可将给定的二进制程序加载到反汇编平台中,判断目标程序是否符合分析要求,如果目标程序符合分析要求,利用逆向反汇编工具IDA对目标程序进行反汇编,获取到目标可执行程序的汇编代码。
由于汇编代码难以直接进行符号执行,为更好地使用符号执行,本实施例在得到目标二进制程序的汇编代码后再转换成中间表示VEX,具体可利用开源库simuvex将汇编代码翻译成中间表示VEX,由中间表示VEX进行符合执行,可以便于符号执行的操作执行,提高符号执行的效率。步骤S2中对目标二进制程序进行遍历时,具体即是对转换得到的中间表示VEX进行符号执行,寻找出存在缓冲区溢出漏洞的程序路径,得到软件漏洞的路径信息。
本实施例中,步骤S2中使用符号执行方法时具体使用广度优先的搜索策略进行符号执行,即从根节点开始,沿着树的宽度遍历树的节点。采用广度优先策略找到的路径具有较低的深度,使得生成的约束表达式相对简单,约束求解器求解效率更高。
本实施例中,步骤S2中搜索程序中存在的软件漏洞的具体步骤为:
S21.配置符号执行搜索策略为广度优先搜索策略,同时设定符号执行所需的参数;
S22.构建符号执行的过滤器,以用于搜索缓冲区溢出漏洞。
S23.利用符号执行对目标二进制程序进行遍历,遍历过程中使用构建的过滤器对程序的所有状态点进行检查,如果发现缓冲区结构以外的内存被外部输入覆盖时,判定为包含缓冲区溢出漏洞并筛选出当前路径,最终得到软件漏洞的路径信息。
缓冲区溢出的特点是当输入的长度大于代码中给定的长度,会将内存中超出缓冲区的位置进行覆盖,当输入足够长时会将栈上的eip(指令寄存器)中的值覆盖。符号执行的过程中会对输入进行符号化,当发生溢出时,会导致eip指向程序以外的地址,本实施例中通过构建过滤器,使得在符号执行的过程中不停的对eip中的值进行检测,判断是否超出程序的地址范围,如果超出该范围,说明该输入导致目标程序溢出,反之正常。通过构建过滤器的方法搜索漏洞,简单易用,不容易出现差错,漏洞搜索的精度及效率高。
通过上述步骤,结合符合执行方法,使用过滤器对程序的所有状态点进行检查,由缓冲区结构以外的内存被外部输入覆盖筛选出溢出漏洞,可以高效、全面的搜索到程序中所有的溢出漏洞,有效减少漏报率,提高漏洞扫描性能。
本实施例中,步骤S2中对搜索到软件漏洞时,还包括对搜索的软件漏洞进行验证,判定是否缓冲区溢出可复现,如果无法复现,判定是误报,重新进行软件漏洞的搜索,否则转入执行步骤S3。由于构建的过滤器通常是不完全的,且是基于静态分析,会存在误报的可能,本实施例在筛选得到软件漏洞的路径后,对筛选出的程序路径进行可利用性分析的验证,以避免误报。
本实施例中,步骤S3中生成所需的利用规约的具体步骤为:
S31.获取系统属性信息,根据获取的系统属性信息确定系统是否存在地址空间分布随机化的防护措施,以及根据程序属性信息,确定程序是否存在堆栈保护和堆栈不可执行防护措施;
S32.根据系统的防护措施判断当前是否能够生成可用的软件漏洞利用,如果可以,根据开启的具体的防护措施确定对应的软件漏洞利用实施方法,如若开启栈不可执行防护,则采用Ret2libc(跳转到库中执行)方法,如若开启地址空间随机化防护,则采用jumpesp方法;如果系统中任何防护都没有开启,则直接将恶意代码写在输入的相应位置当中。
本实施例生成利用规约时,具体首先分析系统属性信息,确定系统是否存在地址空间分布随机化的防护措施,该防护方式使得在多次执行同一程序时,程序加载进内存的地址会产生差异,因此不能直接将eip的地址写成固定的,因为每一次的执行,地址都是不相同的,可能会导致该地址所对应的代码并不是添加进去的恶意代码,导致攻击失败;以及分析程序的属性信息,确定程序是否存在堆栈保护和堆栈不可执行防护措施,堆栈不可执行使得无法执行栈空间上的代码,就会导致添加进去的恶意代码无法被执行,如若开启栈不可执行,具体采取Ret2libc技术对目标程序进行攻击利用,如若开启地址空间随机化,则采取jump ebp技术来对目标程序进行利用,基于所确定下来的漏洞利用方式进行后续漏洞利用生成。
本实施例通过分析软件信息、系统环境信息,根部不同的软件环境和系统属性情况选择不同的方法生成软件漏洞利用,可以针对不同系统绕过系统保护,保证漏洞扫描以及漏洞利用生成的有效执行。本实施例具体使用规范化规约定义不同的绕过方式,以明确具体的漏洞利用绕过方法。
本实施例中,步骤S4的具体步骤为:将软件漏洞的路径信息以及生成的利用规约进行整合后提交给约束求解器进行求解,最终生成所需的软件漏洞利用,即整合软件漏洞的路径信息、利用规约等信息,利用约束求解器来自动生成最终的软件漏洞利用,实现漏洞利用的自动生成。
在具体应用实施例中,采用如图3所示的系统实现上述基于路径分析的缓冲区溢出漏洞自动利用,包括漏洞定位模块、规约生成模块以及利用生成模块,各模块分别对应执行以下三个阶段:
(1)软件漏洞的自动搜索阶段:漏洞定位模块利用符号执行对程序进行遍历,搜索程序中存在的软件漏洞,将获得软件漏洞点的程序状态信息和路径信息进行记录,然后提交利用生成模块。
(2)软件所在系统环境的保护措施绕过阶段:由规约生成模块首先要分析系统环境和软件,根据不同的系统防护策略选取不同的利用绕过方法,把生成的规约提交给利用生成模块。
(3)软件漏洞利用的自动生成阶段:利用生成模块将漏洞定位模块和规约生成模块获取的信息进行整合,利用约束求解器进行求解,生成漏洞利用,对生成的漏洞利用进行验证后,得到最终的漏洞利用。
上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。

Claims (6)

1.一种基于路径分析的缓冲区溢出漏洞自动利用方法,其特征在于,步骤包括:
S1. 获取目标二进制程序的程序信息;
S2. 根据获取的所述程序信息使用符号执行方法对目标二进制程序进行遍历,搜索程序中存在的软件漏洞,并获取搜索到的软件漏洞的路径信息;
S3.获取当前系统的环境信息,根据获取的环境信息以及所述程序信息,生成所需的利用规约以绕过系统保护;
S4. 根据所述软件漏洞的路径信息以及生成的利用规约进行求解,最终生成所需的漏洞利用输入;
所述步骤S2中搜索程序中存在的软件漏洞的具体步骤为:
S21. 配置符号执行搜索策略为广度优先搜索策略,同时设定符号执行所需的参数;
S22. 构建符号执行的过滤器,以用于搜索缓冲区溢出漏洞;
S23. 利用符号执行对目标二进制程序进行遍历,遍历过程中使用构建的所述过滤器对程序的所有状态点进行检查,如果发现缓冲区结构以外的内存被外部输入覆盖时,判定为包含缓冲区溢出漏洞并筛选出当前路径,最终得到所述软件漏洞的路径信息。
2.根据权利要求1所述的基于路径分析的缓冲区溢出漏洞自动利用方法,其特征在于,所述步骤S1的具体步骤为:
S11. 获取目标二进制程序并进行反汇编,得到目标二进制程序的汇编代码;
S12. 根据步骤S11得到的汇编代码获取目标程序中包括控制流信息、程序属性信息的程序信息;
S13. 将所述步骤S11得到的目标二进制程序的汇编代码转换成中间表示VEX。
3.根据权利要求2所述的基于路径分析的缓冲区溢出漏洞自动利用方法,其特征在于,所述步骤S2中对目标二进制程序进行遍历时,具体对转换得到的所述中间表示VEX进行符号执行,寻找出存在缓冲区溢出漏洞的程序路径,得到所述软件漏洞的路径信息。
4.根据权利要求1~3中任意一项所述的基于路径分析的缓冲区溢出漏洞自动利用方法,其特征在于,所述步骤S2中对搜索到软件漏洞时,还包括对搜索的软件漏洞进行验证,判定是否缓冲区溢出可复现,如果无法复现,判定是误报,重新进行软件漏洞的搜索,否则转入执行步骤S3。
5.根据权利要求1~3中任意一项所述的基于路径分析的缓冲区溢出漏洞自动利用方法,其特征在于,所述步骤S3中生成所需的利用规约的具体步骤为:
S31. 获取系统属性信息,根据获取的系统属性信息确定系统是否存在地址空间分布随机化的防护措施,以及根据程序属性信息,确定程序是否存在堆栈保护和堆栈不可执行防护措施;
S32. 根据系统的防护措施判断当前是否能够生成可用的软件漏洞利用,如果是,根据当前开启的防护措施确定对应的软件漏洞利用实施方法,其中如若开启栈不可执行防护,则采用Ret2libc方法,如若开启地址空间随机化防护,则采用jump esp方法;如果系统中未开启任何防护措施,则直接将恶意代码写在输入的相应位置当中。
6.根据权利要求1~3中任意一项所述的基于路径分析的缓冲区溢出漏洞自动利用方法,其特征在于,所述步骤S4的具体步骤为:将所述软件漏洞的路径信息以及生成的利用规约进行整合后提交给约束求解器进行求解,最终生成所需的软件漏洞利用。
CN201810687808.XA 2018-06-28 2018-06-28 一种基于路径分析的缓冲区溢出漏洞自动利用方法 Active CN108959936B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810687808.XA CN108959936B (zh) 2018-06-28 2018-06-28 一种基于路径分析的缓冲区溢出漏洞自动利用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810687808.XA CN108959936B (zh) 2018-06-28 2018-06-28 一种基于路径分析的缓冲区溢出漏洞自动利用方法

Publications (2)

Publication Number Publication Date
CN108959936A CN108959936A (zh) 2018-12-07
CN108959936B true CN108959936B (zh) 2021-05-25

Family

ID=64487543

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810687808.XA Active CN108959936B (zh) 2018-06-28 2018-06-28 一种基于路径分析的缓冲区溢出漏洞自动利用方法

Country Status (1)

Country Link
CN (1) CN108959936B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110287693B (zh) * 2019-06-13 2023-07-21 成都积微物联集团股份有限公司 基于符号执行路径剪枝的缓冲区溢出漏洞自动检测方法
CN110493226B (zh) * 2019-08-20 2020-10-20 北京大学 针对内存破坏漏洞攻击流量漏洞利用生成的方法及系统
CN111832026B (zh) * 2020-06-18 2022-04-26 广州大学 一种漏洞利用定位方法、系统、装置及介质
CN113656280B (zh) * 2021-07-09 2024-04-05 中国科学院信息工程研究所 基于符号执行的漏洞利用点查找方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9081966B2 (en) * 2012-12-21 2015-07-14 International Business Machines Corporation System and method for protection from buffer overflow vulnerability due to placement new constructs in C++
CN104850786B (zh) * 2015-06-03 2018-03-20 舒辉 基于环境重构的恶意代码完整性分析方法
CN107798241B (zh) * 2016-09-07 2020-01-31 龙芯中科技术有限公司 攻击检测装置、系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"基于符号执行的自动利用生成系统";万云鹏等;《计算机系统应用》;20171231;第26卷(第10期);第44-52页 *

Also Published As

Publication number Publication date
CN108959936A (zh) 2018-12-07

Similar Documents

Publication Publication Date Title
EP3039608B1 (en) Hardware and software execution profiling
CN108959936B (zh) 一种基于路径分析的缓冲区溢出漏洞自动利用方法
Schwartz et al. All you ever wanted to know about dynamic taint analysis and forward symbolic execution (but might have been afraid to ask)
CN101661543B (zh) 软件源代码安全漏洞的检测方法及检测装置
KR101647487B1 (ko) 패치파일 분석시스템과 분석방법
Mercaldo et al. Download malware? no, thanks: how formal methods can block update attacks
Bagheri et al. Practical, formal synthesis and automatic enforcement of security policies for android
RU2726032C2 (ru) Системы и способы обнаружения вредоносных программ с алгоритмом генерации доменов (dga)
Hassanshahi et al. Web-to-application injection attacks on android: Characterization and detection
CN111695119B (zh) 一种基于细粒度静态污点分析与符号执行的web漏洞检测方法
US20150047046A1 (en) System and Method for Protecting Computers from Software Vulnerabilities
Chang et al. Inputs of coma: Static detection of denial-of-service vulnerabilities
CN103390130A (zh) 基于云安全的恶意程序查杀的方法、装置和服务器
US20240143739A1 (en) Intelligent obfuscation of mobile applications
CN112685745B (zh) 一种固件检测方法、装置、设备及存储介质
Wang et al. {MetaSymploit}:{Day-One} Defense against Script-based Attacks with {Security-Enhanced} Symbolic Analysis
Khodayari et al. It’s (dom) clobbering time: Attack techniques, prevalence, and defenses
Chen et al. Tabby: Automated gadget chain detection for java deserialization vulnerabilities
CN105791250A (zh) 应用程序检测方法及装置
Yin et al. Automatic malware analysis: an emulator based approach
Ding et al. Accurate and efficient exploit capture and classification
Ma et al. Communication-based attacks detection in android applications
He et al. JNI global references are still vulnerable: Attacks and defenses
Chang et al. Vulnerable service invocation and countermeasures
Liu et al. FITS: Inferring Intermediate Taint Sources for Effective Vulnerability Analysis of IoT Device Firmware

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