导读:本文包含了虚函数论文开题报告文献综述、选题提纲参考文献及外文文献翻译,主要关键词:函数,多态性,底层,机制,多态,动态,指针。
虚函数论文文献综述
邹振威[1](2017)在《基于GCC的细粒度的虚函数表劫持攻击防御方法》一文中研究指出虚函数表劫持攻击是破坏C++程序控制流完整性的攻击手段之一,尤其在攻击现代浏览器中得到广泛应用,其攻击目标包括程序中的虚函数表和虚函数表指针。针对性的防御方法通过静态分析程序中虚函数调用点的信息来构造可访问的合法目标集合,并通过代码插桩实现运行时检查来保证程序的控制流完整性。其中,合法目标集合的准确性是评估防御方法安全性的关键因素。现有的针对源码的防御方法根据虚函数调用点的对象类型配合类的继承关系构造的合法目标集合仍然较为宽松。因此,本文以虚函数调用点的对象类型和调用的目标虚函数为依据,改善现有方法实施的限制条件,为虚函数调用点构造更为准确的合法目标集合,在支持增量编译和动态链接的条件下,提升防御方法的有效性。本文的主要研究工作如下:(1)分析总结了现有的虚函数表劫持攻击技术和防御方法。现有工作的分析证实,在可以获取对象类型和类的继承关系等信息的情况下,基于程序源码的方案构造的合法目标集合较为准确,具有防御虚函数表劫持攻击的能力,但合法目标集合仍然不能完全符合程序执行意图,存在被攻击者绕过的可能。在此基础上,本文详细分析了现有的基于源码的虚函数表保护方案的原理,重点分析了现有方案存在的合法目标集合不够精确的问题;(2)针对现有方案的不足,本方法在获得虚函数调用点的对象类型和调用的目标虚函数的基础上,根据对象类型对应的类的子类对所调用的虚函数的定义情况来选择构造合法虚函数集合或者合法虚函数表集合,以此改善现有方案构造合法目标集合的限制条件,尽可能为虚函数调用点构造更为准确的合法目标集合,提高防御方法的有效性;(3)在GCC上,设计并实现了所提方案的原型工具Shrinkharder,该原型工具支持增量编译和动态链接。并在谷歌浏览器上部署,对防御方法的有效性进行了验证。实验结果表明,Shrinkharder为谷歌浏览器构造的合法目标集合的平均大小为24.7,与Shrinkwrap构造的合法目标集合的平均大小(27)相比,缩小了将近9%。(本文来源于《南京大学》期刊2017-08-26)
王子祥[2](2016)在《面向虚函数表劫持的防御方法研究》一文中研究指出随着软件行业的迅速发展,软件已经成为了人们日常的生活和工作中不可缺少的一部分,因此软件安全不可忽视。内存破坏漏洞是软件安全漏洞中最古老的一类漏洞,使用了C/C++、汇编等相对底层的编程语言难免会出现该类漏洞。攻击者通常用一种叫做虚函数表劫持的技术利用内存破坏漏洞。本文提出了一种防御方法,对C++语言编写的二进制文件进行重写及校验虚函数表的完整性来对抗虚函数表劫持攻击。本方法先利用自动化分析方式从二进制程序中提取与虚函数表以及虚函数调用相关的位置信息,随后根据位置信息将所有识别到的虚函数表移入内存只读区域内,然后对虚函数表所在内存只读页的页首插桩标识符;而无法移入内存只读区域的虚函表则对其原有的虚函数表指针及虚函数指针进行备份。最终在虚函数调用时检测虚函数表的标识符是否存在来完成对只读区域内虚函数表完整性的检测;或者通过检测备份的指针数据与当前的指针数据是否一致来完成对可写区域内虚函数表的完整性检测。若完整性遭到破坏,说明程序受到了虚函数表劫持攻击,则立即终止程序对虚函数的调用。最后,本文利用SPEC基准测试程序以及Firefox、Chrome、IE浏览器对本方法进行了实验验证。实验表明,本方法能全面并有效地防御到真实环境中的虚函数表劫持攻击,其性能开销小并具有良好的兼容性。(本文来源于《北京理工大学》期刊2016-05-01)
柯栋梁,李军利[3](2012)在《C++虚函数实现多态之案例驱动教学方法探讨》一文中研究指出多态性是面向对象程序设计方法学的重要特征之一,其中,运行时多态的语法规则对初学者难以掌握。利用反汇编手段,设计虚函数实现运行时多态的教学驱动案例,对加深学生理解虚函数实现运行时多态的基本原理和运行机制,具有良好的效果。(本文来源于《安徽工业大学学报(社会科学版)》期刊2012年04期)
徐明毅[4](2012)在《软件接口的消息方法和虚函数方法的比较》一文中研究指出消息方法和虚函数方法广泛用作软件接口,本文对它们的各自特点及在MFC和COM中的使用特点进行了评述。消息方法一般适用性广,但速度慢;虚函数方法速度快,但适应性差。综合两者的特点,提出了包含消息处理的虚函数方法和构造内部函数表的消息处理方法,该两种方法在VC6.0中测试通过,便于在软件设计时灵活选择。(本文来源于《教育教学论坛》期刊2012年01期)
李强,吴源[5](2011)在《虚函数的多态性机制分析》一文中研究指出在面向对象程序设计中,继承性映射了现实世界中事物之间的层次现象,而多态性则是映射事物自身行为的多外延现象;虚函数可以实现不同的对象在收到相同的消息时,产生不同的动作。重载是同一对象在收到相同的消息时,产生不同的动作。对虚函数、的多态性机制进行深入分析,提出用虚函数实现多态性的四项法则。(本文来源于《科技创业月刊》期刊2011年07期)
李强,吴源[6](2011)在《虚函数的多态性机制分析》一文中研究指出在面向对象程序设计中,继承性映射了现实世界中事物之间的层次现象,而多态性则是映射事物自身行为的多外延现象;虚函数可以实现不同的对象在收到相同的消息时,产生不同的动作。重载是同一对象在收到相同的消息时,产生不同的动作。该文对虚函数的多态性机制进行深入分析,提出用虚函数实现多态性的四项法则。(本文来源于《电脑知识与技术》期刊2011年13期)
张海平,杜军,崔英杰[7](2011)在《C++中虚函数底层实现机制的探讨》一文中研究指出分析了C++中虚函数的使用方法,运用反汇编手段对虚函数底层实现机制进行了探讨,并研究了构造函数和析构函数中的虚函数调用。(本文来源于《电脑编程技巧与维护》期刊2011年02期)
刘丁慧,张海平[8](2010)在《C++中虚函数底层实现机制探讨》一文中研究指出虚函数是C++语言多态性以及动态绑定的关键,分析了C++中虚函数的使用方法,运用反汇编手段对虚函数底层实现机制进行了探讨,并研究了构造函数和析构函数中的虚函数调用。(本文来源于《现代商贸工业》期刊2010年24期)
龚健,牟永敏,张志华[9](2010)在《基于静态分析的C++虚函数匹配算法研究》一文中研究指出在分析C++程序的静态路径时,确定出虚函数调用所对应的函数原型是非常重要的。根据多态性的实现机制,以静态分析建立的虚函数表为基础,从数据流角度出发,分别对赋值和函数调用进行定值和别名分析方法,并建立相应的表,确定出虚函数调用所对应的类的函数原型。对面向路径的C++语言程序自动化测试起到了关键作用。(本文来源于《微计算机信息》期刊2010年27期)
徐启丰,胡勇,万玉成[10](2010)在《C~(++)语言中的虚函数研究》一文中研究指出虚函数是面向对象的C++语言中的一个非常重要的概念。它充分体现了面向对象思想中的继承和多态性这两大特性,动态绑定是C++中实现多态的一个重要途径,虚函数是动态绑定的基础。通过深入分析VC++编译器实现虚函数的汇编代码。给出在继承下的实现模型,并结合实例,在汇编语言层次研究了多态性的实现机理,揭示了虚函数和动态绑定的本质。(本文来源于《现代电子技术》期刊2010年04期)
虚函数论文开题报告
(1)论文研究背景及目的
此处内容要求:
首先简单简介论文所研究问题的基本概念和背景,再而简单明了地指出论文所要研究解决的具体问题,并提出你的论文准备的观点或解决方法。
写法范例:
随着软件行业的迅速发展,软件已经成为了人们日常的生活和工作中不可缺少的一部分,因此软件安全不可忽视。内存破坏漏洞是软件安全漏洞中最古老的一类漏洞,使用了C/C++、汇编等相对底层的编程语言难免会出现该类漏洞。攻击者通常用一种叫做虚函数表劫持的技术利用内存破坏漏洞。本文提出了一种防御方法,对C++语言编写的二进制文件进行重写及校验虚函数表的完整性来对抗虚函数表劫持攻击。本方法先利用自动化分析方式从二进制程序中提取与虚函数表以及虚函数调用相关的位置信息,随后根据位置信息将所有识别到的虚函数表移入内存只读区域内,然后对虚函数表所在内存只读页的页首插桩标识符;而无法移入内存只读区域的虚函表则对其原有的虚函数表指针及虚函数指针进行备份。最终在虚函数调用时检测虚函数表的标识符是否存在来完成对只读区域内虚函数表完整性的检测;或者通过检测备份的指针数据与当前的指针数据是否一致来完成对可写区域内虚函数表的完整性检测。若完整性遭到破坏,说明程序受到了虚函数表劫持攻击,则立即终止程序对虚函数的调用。最后,本文利用SPEC基准测试程序以及Firefox、Chrome、IE浏览器对本方法进行了实验验证。实验表明,本方法能全面并有效地防御到真实环境中的虚函数表劫持攻击,其性能开销小并具有良好的兼容性。
(2)本文研究方法
调查法:该方法是有目的、有系统的搜集有关研究对象的具体信息。
观察法:用自己的感官和辅助工具直接观察研究对象从而得到有关信息。
实验法:通过主支变革、控制研究对象来发现与确认事物间的因果关系。
文献研究法:通过调查文献来获得资料,从而全面的、正确的了解掌握研究方法。
实证研究法:依据现有的科学理论和实践的需要提出设计。
定性分析法:对研究对象进行“质”的方面的研究,这个方法需要计算的数据较少。
定量分析法:通过具体的数字,使人们对研究对象的认识进一步精确化。
跨学科研究法:运用多学科的理论、方法和成果从整体上对某一课题进行研究。
功能分析法:这是社会科学用来分析社会现象的一种方法,从某一功能出发研究多个方面的影响。
模拟法:通过创设一个与原型相似的模型来间接研究原型某种特性的一种形容方法。
虚函数论文参考文献
[1].邹振威.基于GCC的细粒度的虚函数表劫持攻击防御方法[D].南京大学.2017
[2].王子祥.面向虚函数表劫持的防御方法研究[D].北京理工大学.2016
[3].柯栋梁,李军利.C++虚函数实现多态之案例驱动教学方法探讨[J].安徽工业大学学报(社会科学版).2012
[4].徐明毅.软件接口的消息方法和虚函数方法的比较[J].教育教学论坛.2012
[5].李强,吴源.虚函数的多态性机制分析[J].科技创业月刊.2011
[6].李强,吴源.虚函数的多态性机制分析[J].电脑知识与技术.2011
[7].张海平,杜军,崔英杰.C++中虚函数底层实现机制的探讨[J].电脑编程技巧与维护.2011
[8].刘丁慧,张海平.C++中虚函数底层实现机制探讨[J].现代商贸工业.2010
[9].龚健,牟永敏,张志华.基于静态分析的C++虚函数匹配算法研究[J].微计算机信息.2010
[10].徐启丰,胡勇,万玉成.C~(++)语言中的虚函数研究[J].现代电子技术.2010