导读:本文包含了代码复用论文开题报告文献综述、选题提纲参考文献及外文文献翻译,主要关键词:代码,复用,序列化,软件,漏洞,在线,脆弱性。
代码复用论文文献综述
张贵民,李清宝,张平,程叁军[1](2019)在《基于运行特征监控的代码复用攻击防御》一文中研究指出针对代码复用的攻击与防御已成为网络安全领域研究的热点,但当前的防御方法普遍存在防御类型单一、易被绕过等问题.为此,提出一种基于运行特征监控的代码复用攻击防御方法RCMon.该方法在分析代码复用攻击实现原理的基础上定义了描述程序正常运行过程的运行特征模型RCMod,并提出了验证程序当前运行状态是否满足RCMod约束规则的安全验证自动机模型.实现中,通过直接向目标程序中植入监控代码,使程序运行到监控节点时自动陷入,并由Hypervisor实现运行特征库的构建和安全验证.实验结果表明,RCMon能够有效地防御已知的绝大部分代码复用攻击,平均性能开销约为22%.(本文来源于《软件学报》期刊2019年11期)
张贵民,李清宝,曾光裕,赵宇韬[2](2019)在《运行时代码随机化防御代码复用攻击》一文中研究指出代码复用攻击日趋复杂,传统的代码随机化方法已无法提供足够的防护.为此,提出一种基于运行时代码随机化的代码复用攻击防御方法 LCR.该方法在目标程序正常运行时,实时监控攻击者企图获取或利用gadgets的行为,当发现监控的行为发生时,立即触发对代码进行函数块级的随机化变换,使攻击者最终获取或利用的gadgets信息失效,从而阻止代码复用攻击的实现.设计实现了LCR原型系统,并对提出的方法进行了测试.结果表明:LCR能够有效防御基于直接或间接内存泄漏等实现的代码复用攻击,且在SPEC CPU2006上的平均开销低于5%.(本文来源于《软件学报》期刊2019年09期)
梁白鸥[3](2019)在《一种提高代码复用的C++序列化框架设计》一文中研究指出序列化在各类软件中应用非常普遍。在实际工程应用中可能出现XML、二进制和数据库的序列化操作,由于ANSI C++不支持序列化操作、硬编码通常产生大量重复代码,本文设计了一套支持XML、二进制和数据库序列化的C++框架。该框架引入了MessageObject、Serializer、Stream叁个概念,并提出利用C++宏来屏蔽重复实现的细节。该框架在实际工程应用中大大减少了代码量,提高了代码的复用。(本文来源于《单片机与嵌入式系统应用》期刊2019年05期)
刘臻,武泽慧,曹琰,魏强[4](2018)在《基于漏洞指纹的软件脆弱性代码复用检测方法》一文中研究指出针对传统脆弱性代码复用检测技术漏报率高的问题,提出基于漏洞指纹的检测方法.分析开源项目漏洞补丁的结构与脆弱性代码特征,总结代码复用过程中常见修改手段的特点,设计基于哈希值的漏洞指纹模型.开展代码预处理消除无关因素的影响,选取固定行数的代码块作为特征抽象粒度,利用哈希算法抽取关键代码特征.通过搜集开源项目漏洞信息与相关代码片段构建漏洞样本库,利用基于LCS的相似性评估算法定位漏洞样本的复用并且标记为敏感代码,使用漏洞指纹进行检测并根据识别策略完成对脆弱性代码的判定.实验结果表明,基于漏洞指纹的检测方法能够有效地应对多种代码修改手段的影响,明显提高检测效率,检测时间与输入代码量呈线性增长关系.(本文来源于《浙江大学学报(工学版)》期刊2018年11期)
张军,侯锐,詹志远,张立新,陈明宇[5](2018)在《基于硬件的代码复用攻击防御机制综述》一文中研究指出给出了代码复用攻击挟持控制流的过程,介绍了代码复用攻击防御机制研究现状。重点论述了基于硬件的防御机制,包括基于硬件的存储安全、代码指针完整性、攻击特征检查、控制流完整性、数据执行保护与隔离技术。讨论了基于硬件的防御机制存在的问题、优势及硬件与软件的关系。展望了基于硬件的代码复用攻击防御机制的发展方向:基于硬件的代码指针完整性有望成为防止控制流挟持攻击的有效手段,针对非控制数据的攻击与防御有可能成为新的研究热点,支持可配置的硬件防御架构是硬件防御的重要趋势之一。(本文来源于《高技术通讯》期刊2018年04期)
黄涛[6](2018)在《UVM验证平台自动生成及代码复用技术研究》一文中研究指出专用集成电路(ASIC)和片上系统(SoC)的复杂度和设计规模随着IC工艺的快速发展而日益增加。同时,复杂度和设计规模的增加势必会造成验证工作也变得日趋繁杂,验证的难度越来越大。数据显示,在IC研制的整个过程中,验证所花费的时间约占整个研制周期的60%至80%。所以,在芯片验证上所消耗的时间很大程度影响着SoC芯片上市的时间。可见,提高验证效率显得尤为重要。提高验证效率的途径较多,如使用先进的EDA工具或新的验证方法学。而作为最近被广泛推崇的新一代通用验证方法学,UVM(Universal Verification Methodology)验证方法学在大规模IC设计和FPGA测试中被越来越广泛地使用。然而,随着设计规模的不断增大,基于UVM的验证平台搭建代码工作量成倍增大,代码调试变得困难,验证平台的代码管理也越来越重要和复杂。本文从缩短验证平台搭建的时间和提高代码后期的复用性这两个角度出发,以市场占有率更高的AMBA构架SoC做为研究对象,提出一种为AMBA接口协议的IP核自动生成UVM验证平台或验证组件的代码产生器,且保证所生成的验证组件能够被纵向复用到后期的更高层次的验证工作中,以提高验证效率。Doulos公司的easier_uvm_code_generator代码生成器提供了一种基于Perl的UVM验证平台自动生成的解决方法。该代码生成器能较快速高效搭建UVM验证平台,在大幅提高验证工作效率的同时保证了UVM代码设计的一致性。但是,在使用该代码生成器前,需要大量的配置工作,还需要用户自己提供一些和协议相关的底层驱动代码。考虑到AMBA接口的IP在SoC系统中使用较多,同时为保证新开发的代码生成器的成熟性,本文在Doulos公司的easier_uvm_code_generator的基础上,设计了大量的适用于AMBA接口IP的底层UVM组件模板,在设计模板时,全方面多方位地融入了可复用的技巧和编码方式,使得组件具有较高的复用性。随后,将其融入代码生成器中,并对easier_uvm_code_generator的用户接口进行重新设计,使得新的代码生成器在生成AMBA接口IP的验证环境时,简单易用。实验结果表明,本文所设计的代码生成器能够极大的缩短搭建验证平台的时间,比如,以一个AHB接口从设备DUT为对象,自动生成验证平台只需要1秒钟,但是手动编写验证平台,最少需要3900秒。不仅如此,代码生成器生成的代码还能够很好的被复用。说明该代码生成器能够缩短验证周期,提高验证效率。(本文来源于《西安电子科技大学》期刊2018-04-01)
乔向东,郭戎潇,赵勇[7](2018)在《代码复用对抗技术研究进展》一文中研究指出代码复用攻击利用被攻击目标的固有程序代码实施攻击,打破了恶意行为总是源自外部的传统假设,是先进内存攻击技术的典型代表,也是近期软件安全领域的研究热点。首先,阐述了该技术的产生背景和实现机理;其次,从改进与变体、不同架构平台下的实现方法、自动化以及包括盲代码复用攻击和基于代码复用的非控制数据攻击在内的代码复用攻击技术的重要拓展等方面系统阐述了近年来国内外相关研究进展;再次,对代码复用攻击的防御机制和对抗防御机制的方法进行了讨论;最后,对代码复用对抗技术的发展趋势和研究方向进行了展望。(本文来源于《网络与信息安全学报》期刊2018年03期)
杨浩,杨陟卓[8](2017)在《基于面向对象编程的代码复用技术》一文中研究指出程序代码复用是软件开发中的关键技术,充分利用代码复用技术不仅可以降低程序编写成本,更重要的是可以提高程序执行效率。文中从类的封装、继承、多态性、重载等核心技术入手,通过抽象类、虚方法、类的转换、接口、接口和类的转换、覆盖和多重继承等技术,以Delphi面向对象的程序设计为例,研究如何在具有相同基类的一组派生类及不具有相同基类的一组派生类等几种情况下实现代码复用,并通过实例验证了代码复用的可行性。(本文来源于《信息技术》期刊2017年06期)
袁平海[9](2017)在《代码复用攻击与检测技术研究》一文中研究指出近年来,一些针对软件漏洞利用的防范技术已经得到了广泛部署。典型地,数据执行保护机制(Data Execution Prevention,DEP)被 Windows 和 Linux等主流操作系统用于防范传统的代码注入攻击。DEP通过设置内存页面不能同时具有可写可执行属性,让攻击者不能以输入数据的方式注入并执行shellcode。现在攻击者普遍应用代码复用技术来绕过DEP。代码复用技术利用受害进程地址空间中已有的代码片段(称为gadget)来构造功能代码。返回导向编程(return-oriented programming,ROP)是一种典型的代码复用技术:它通过复用以ret指令结束的代码片段来构造功能代码。当前,主流系统主要通过部署址空间布局随机化(Address Space Layout Randomization,ASLR)机制来缓解代码复用攻击。ASLR将代码模块加载到随机选择的地址空间,让代码片段的地址拥有不确定性,因此可以显着地提高代码复用攻击的难度。本文以Ubuntu系统为例,研究在DEP和ASLR普遍实施的情况下,代码复用攻击技术对主流系统构成的安全威胁。同时,本文提出一个可行的代码复用攻击检测方案。本文具体研究内容如下:●图灵完备功能的普遍可构造性。构造功能复杂的ROP代码比编写shellcode困难得多。在构造ROP代码的过程中,如果缺少某种类型的gadget或不能消除gadgets之间的副作用,都会导致构造失败。在图灵基本功能中,实现条件跳转逻辑是构造ROP代码的一个难点;传统方法需要使用数十个不同的gadgets来实现该功能。本文突破了对条件转移机器指令的传统认知,指出使用条件转移机器指令开始的代码片段(称为if-gadget)能够帮助ROP代码实现条件转移逻辑,而且使用if-gadget能够极大地简化ROP构造条件转移逻辑功能的过程。实验结果证实:引入if-gadget后,图灵完备功能在软件模块中普遍可构造。在Ubuntu等操作系统上,虽然动态库都支持ASLR,但可执行二进制程序普遍地并不支持ASLR,因此攻击者可以通过串接在这些程序上找到的gadgets来构造纯ROP攻击代码,实现恶意功能。●基于Javascript脚本代码块的gadget注入。现代浏览器不但提供脚本执行环境,而且还支持即时编译机制。脚本执行环境有利于攻击者发动即时返回导向编程(just-in-time ROP,JIT-ROP)来绕过ASLR和DEP。同时,即时编译机制为攻击者向浏览器进程注入自定义的gadgets提供了便利。注入自定义的gadgets可以极大地简化攻击者构造ROP代码的难度。通过常数致盲等去毒化处理,现有的基于常数的gadget注入已经得到有效遏制。本文证实不使用常数,转而通过填充Javascript脚本代码块也能实施gadget注入,并得到图灵完备的gadget集合。我们发现,在编译一段给定的Javascript脚本代码时,即时编译器生成的动态代码(机器码)中通常存在着一些固定的指令序列。这些指令序列的存在性不受常数致盲和地址空间布局随机化等安全机制的影响,而且它们可能蕴涵着攻击者期望的gadgets。因此,攻击者在实施攻击时可以把特定的Javascript脚本代码片段填充到攻击脚本中,借助即时编译器来注入gadgets,为发动JIT-ROP攻击提供素材。●硬件辅助的细粒度代码复用攻击检测。代码复用攻击典型地通过串接以间接控制流指令结束的代码片段来构造恶意代码,因此通过检查控制流指令的每次执行是否会导致控制流完整性违规能够有效地检测出代码复用攻击。本文通过巧妙地组合x86处理器上的硬件特性,实现了一种支持分支指令类型过滤的控制流监控机制,且在该机制的基础上实现了一个代码复用攻击检测方案。具体地,使用硬件来跟踪间接控制流指令的每一次执行,即记录其跳转的源地址和目标地址;同时,通过即时地对照细粒度的控制流图来检查每次控制流转移的合法性。在Ubuntu系统上试验表明,该方案可以有效地检测到攻击。对一组典型的服务器应用程序的实验结果表明,该方案引入大约2.9%的微小性能开销。(本文来源于《南京大学》期刊2017-06-20)
王烨[10](2017)在《基于VMM的代码复用攻击防御技术研究》一文中研究指出伴随信息技术的飞速发展,互联网和计算机系统等组成的网络空间正在全面改善人们生产生活方式的同时,计算机和网络环境所面临的攻击方式也不断翻新,网络空间安全形式十分严峻。近年来出现的代码复用攻击(Code Reuse Attack,CRA)正是当前主流的攻击方式之一,与传统的病毒和木马完全不同,它不需要引入额外的恶意代码,仅复用程序已有的代码便能实施恶意攻击。随着代码复用攻击技术的不断成熟,还衍生出了各类新型变种,给现有的代码复用攻击检测和防御技术带来了巨大的挑战。本文以防御代码复用攻击为研究目标,深入分析传统代码复用攻击和新型代码复用攻击的攻击原理,针对现有代码复用攻击防御方法存在的不足,提出了两种保护方法并开展深入的研究。论文的主要工作和贡献如下:(1)针对现有运行时随机化存在的随机化粒度较粗和TOC-TOU(Time Of Check to Time Of Use)问题,提出了一种基于在线式重随机化的代码复用攻击防御方法。该方法通过在虚拟层监控目标进程的输入类系统调用,并根据目标进程的运行状态触发在线式重随机化,对目标进程中的函数进行基本块重排列,使目标进程成为移动目标,防止攻击者利用信息泄露漏洞得到代码在内存中的正确布局,从而实现针对代码复用攻击的有效防御。基于LLVM编译器和虚拟化技术构建了验证平台,在该平台验证了Mixer方法的有效性,并对该方法的性能损耗进行测试分析。测试结果表明,该方法能有效防御代码复用攻击,引入的性能开销也不超过20.3%。(2)针对基于分立式TLB结构的代码复用攻击防御方法依赖特殊硬件结构,普适性较差的问题,提出了一种基于代码防泄漏的代码复用攻击防御方法VXnR。该方法通过对目标进程的可执行代码内存区域进行保护,防止信息泄漏,从而阻止攻击者利用目标进程进行代码复用攻击。VXnR方法在虚拟层实现,无需修改客户操作系统内核,具有良好的兼容性和安全性,最后对VXnR方法的有效性和性能进行了评测。测试结果表明VXnR在有效防御代码复用攻击的同时,引入的性能开销不超过52.1%。(3)设计并实现了一个基于VMM的代码复用攻击防御原型系统HVMdefender。基于该原型系统对在线式重随机化和代码防泄漏相结合的保护方法的有效性进行了验证,并对其引入的性能开销进行了测试与分析。测试结果表明,HVMdefender在可接受的性能开销范围内,既能防御传统代码复用攻击,也能防御新型代码复用攻击。(本文来源于《解放军信息工程大学》期刊2017-04-20)
代码复用论文开题报告
(1)论文研究背景及目的
此处内容要求:
首先简单简介论文所研究问题的基本概念和背景,再而简单明了地指出论文所要研究解决的具体问题,并提出你的论文准备的观点或解决方法。
写法范例:
代码复用攻击日趋复杂,传统的代码随机化方法已无法提供足够的防护.为此,提出一种基于运行时代码随机化的代码复用攻击防御方法 LCR.该方法在目标程序正常运行时,实时监控攻击者企图获取或利用gadgets的行为,当发现监控的行为发生时,立即触发对代码进行函数块级的随机化变换,使攻击者最终获取或利用的gadgets信息失效,从而阻止代码复用攻击的实现.设计实现了LCR原型系统,并对提出的方法进行了测试.结果表明:LCR能够有效防御基于直接或间接内存泄漏等实现的代码复用攻击,且在SPEC CPU2006上的平均开销低于5%.
(2)本文研究方法
调查法:该方法是有目的、有系统的搜集有关研究对象的具体信息。
观察法:用自己的感官和辅助工具直接观察研究对象从而得到有关信息。
实验法:通过主支变革、控制研究对象来发现与确认事物间的因果关系。
文献研究法:通过调查文献来获得资料,从而全面的、正确的了解掌握研究方法。
实证研究法:依据现有的科学理论和实践的需要提出设计。
定性分析法:对研究对象进行“质”的方面的研究,这个方法需要计算的数据较少。
定量分析法:通过具体的数字,使人们对研究对象的认识进一步精确化。
跨学科研究法:运用多学科的理论、方法和成果从整体上对某一课题进行研究。
功能分析法:这是社会科学用来分析社会现象的一种方法,从某一功能出发研究多个方面的影响。
模拟法:通过创设一个与原型相似的模型来间接研究原型某种特性的一种形容方法。
代码复用论文参考文献
[1].张贵民,李清宝,张平,程叁军.基于运行特征监控的代码复用攻击防御[J].软件学报.2019
[2].张贵民,李清宝,曾光裕,赵宇韬.运行时代码随机化防御代码复用攻击[J].软件学报.2019
[3].梁白鸥.一种提高代码复用的C++序列化框架设计[J].单片机与嵌入式系统应用.2019
[4].刘臻,武泽慧,曹琰,魏强.基于漏洞指纹的软件脆弱性代码复用检测方法[J].浙江大学学报(工学版).2018
[5].张军,侯锐,詹志远,张立新,陈明宇.基于硬件的代码复用攻击防御机制综述[J].高技术通讯.2018
[6].黄涛.UVM验证平台自动生成及代码复用技术研究[D].西安电子科技大学.2018
[7].乔向东,郭戎潇,赵勇.代码复用对抗技术研究进展[J].网络与信息安全学报.2018
[8].杨浩,杨陟卓.基于面向对象编程的代码复用技术[J].信息技术.2017
[9].袁平海.代码复用攻击与检测技术研究[D].南京大学.2017
[10].王烨.基于VMM的代码复用攻击防御技术研究[D].解放军信息工程大学.2017