上下文敏感的程序控制流完整性保护

来源 :西安电子科技大学 | 被引量 : 0次 | 上传用户:woaini009
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
C、C++等低级别编程语言具有运行高效、扩展灵活等优点,现有的很多计算机程序,尤其是对性能要求较高的程序都是使用该类型语言编写而成的。但是,这类编程语言在设计上存在内存安全问题。例如,由于C、C++等语言没有对内存缓冲区边界进行检查的机制,攻击者可以利用缓冲区溢出等漏洞对程序实施控制流劫持攻击,通过覆盖某个控制数据,例如函数指针或返回地址,恶意改变程序的执行流程。控制流完整性保护(Control-Flow Integrity,CFI)是一种使程序按照既定的控制流程图(Control-Flow Graph,CFG)运行,防止控制流劫持攻击的安全机制。在CFG中,每一条间接控制转移(Indirect Control Transfer,ICT)指令(例如,间接call或间接jmp)都对应一个目标集合,被称为当前ICT指令的等价类(Equivalence Class,EC),它包含了该指令所能跳转到的所有有效目标。为了提高CFI保护的精确度,一种有效的方法是使用程序运行时的上下文信息区分ICT指令目标集合中的有效目标,降低ICT指令的EC集合尺寸。为此,本文提出一种基于源点辅助上下文敏感的控制流完整性保护方法。该方法可以有效地划分较大目标集合中的目标条目,同时减小程序整体ICT指令的平均EC集合大小,从而提高程序控制流完整性保护的精确度。具体来说,本文利用程序全局变量中函数指针的初始化位置信息,或者函数指针写入指令的源点信息作为上下文信息,为每个目标指针生成唯一的标识并划分目标集合。首先,本文通过修改开源的SVF(Static Value-Flow)指针分析工具,对程序的中间代码进行静态分析,使用origin或者position计算得到的hash值标识程序中的函数指针,生成一个上下文敏感的CFG。CFG以元组的形式表示:(origin/position,ICT,target),其中origin代表函数指针写入指令的源点信息,position代表全局变量中函数指针的位置信息,ICT代表当前间接调用指令,target为跳转目标。然后,使用优化脚本文件筛选出所有目标集合中的函数指针,并将CFG中的元组信息导入到程序文件中,以hash表的形式存储。最后,在编译器的中间代码生成阶段进行指令插桩,并在程序运行时完成CFI保护。通过指令插装,本文在写入函数指针的指令处收集程序运行时的上下文信息,并将该信息以(key,value)对的形式存储(key是函数指针的地址,value是与key对应的全局变量位置信息position或者源点信息origin)。而后,在每条ICT指令执行前,根据目标指针查询收集到的上下文信息,并结合收集的上下文信息、ICT指令信息和目标指针信息生成CFG元组(origin/position,ICT,target),查找hash表中是否存在相应的CFG元组条目,验证跳转目标的合法性,保护程序控制流的完整性。本文通过修改LLVM编译器,生成指令插桩后的安全可执行程序文件,并利用Intel MPX硬件支持功能记录程序运行时的上下文信息,提高系统的安全性和运行效率。基于SPEC CPU2006的基准测试表明,与已有的最新研究成果相比,在性能开销可接受的前提下(平均性能损耗10.3%),本文提出的CFI改进方法可以有效地降低程序ICT指令的最大EC集合尺寸(最高达99.8%),并减小整体的平均EC集合尺寸(最高达99.6%),大大提高了CFI保护的精确度。
其他文献
促进科技创新活动的关键在于科技创新政策,提高科技创新政策有效性在科技创新事业发展中有着重要的指导和推动作用。构建了网络搜索数据与科技创新政策有效性的关系框架模型,对新疆2012年1月1日至2020年3月31日网络搜索指数与科技创新产出数据进行实证分析。结果表明,网络搜索数据与科技创新政策有效性存在较强的动态关联性,公共服务和知识产权对科技创新产出影响最为显著,对科技创新政策有效性影响最大,基础建设
为深入贯彻十四五规划,加快建设交通强国,我国对高速公路建设的投入日益增加,高速公路建设正处在蓬勃发展之中。然而,在高速发展的背景之下,高速公路施工安全管理系统还有待完备,重大安全事故时有出现,引发了较大的人员伤亡和经济财产的损耗。坍塌事故作为高速公路施工中较为常见的事故,在高速公路施工事故中占据较大的比例,且致险因素繁多。当前我国对于施工过程中的坍塌事故,还处在“就塌治塌”的阶段,未能深入研究坍塌
怒族是我国人口较少的民族之一,也是云南特有7个人口较少民族之一;怒族和古代的氐羌族群有密切的关系,在不断的迁徙和融合下,形成了今天在云南怒江傈僳族自治州的泸水、福贡、贡山等县,以及相邻缅甸缅北地区的分布格局;通过对境内外怒族语言生态开展调查和研究,比较不同国度下语言生态呈现的差异,促进语言生态调查监测的实践,了解相邻国家语言国情。
在培养学生全面发展的过程中,音乐教育有着其他学科不能替代的作用和价值。教师应当尝试改变过去比较被动的教学模式,通过提升学生学习音乐的兴趣,增加学生对音乐学习的主动性,引导学生积极参与到音乐活动当中,让音乐课堂真正“活”起来。
为优化山西省青年科技创新的支持政策,以2016—2021年间山西省政府、共青团等相关部门颁布的围绕青年参与科技创新的政策文本为研究对象,设计和采用政策工具与政策内容二维结合的分析框架,对20个政策文本进行编码统计与量化分析,探明目前山西省关于青年参与科技创新政策上存在的问题,对优化青年科技创新支持政策提出建议。
对于线上复杂的计算机编程类课程学习,拥有一套成熟的智能教学系统是实现优质教学的关键。目前已经研发出辅助学生C语言编程实践的智能教学系统,如慕课、黑马程序员等,但这类系统却没有给编程实践教学的效果带来质的提升。例如系统在线编程开发环境比较欠缺,智能交互提示功能差,学生无法在实践教学中学习知识。系统测试针对性不强,组卷策略单一,学生无法得知哪部分知识没有掌握,达不到实践巩固学习的效果。从教学角度来看,
建立了免疫磁珠分离(IMS)结合环介导等温扩增(LAMP)检测巴氏杀菌乳中蜡样芽孢杆菌的四环素耐药基因tet L的方法。结果表明:经优化后,每微克链霉亲和素纳米磁珠与375 ng生物素标记的芽孢杆菌抗体偶联,在含有1×103 CFU/mL耐四环素蜡样芽孢杆菌的巴氏杀菌乳中,25μL免疫磁珠孵育1 h后,对蜡样芽孢杆菌BA117的捕获率为68.1%。该IMS-LAMP方法特异性高,2 h内对巴氏杀菌
在新媒体时代,以抖音为代表的短视频平台得到快速发展。时代的进步促使文化朝着多元化方向发展。经过历代学者的研究,作为独具特色的创作和表现形式的戏仿理论所涉及的领域不断扩大。在现代的影视艺术、文学著作等方面,都可能会涉及戏仿的多重理念和内涵。当戏仿理论运用到短视频领域时,不仅会丰富短视频平台的内容呈现,也会改变短视频的叙事风格。本文在充分总结前人对戏仿理论的研究成果的同时,依托传播学、文学等多学科的相
人类文明的延续离不开材料的贡献并且随着科技的快速发展和社会的不断进步,高分子材料出现在人们生活之中并且对高分子材料的性能提出了更高的要求。高分子材料具有比强度高、绝缘性好、防腐性强和密度低等优异的性能,已经发展成为科学研究和经济建设中常用的重要材料。本文详细地介绍了高分子材料的常见合成方法以及高分子材料在食品包装和生物医学等方面的应用。
律师辩护率的高低是衡量一国刑事司法现代化程度的重要标志。为提高刑事案件律师辩护率,2017年10月,最高人民法院、司法部联合发布了《关于开展刑事案件律师辩护全覆盖试点工作的办法》,旨在通过一系列的制度手段,最终实现刑事案件律师辩护全覆盖的目标。但是从目标设置、责任厘定和方式选择的角度看,试点工作和2021年8月出台的《中华人民共和国法律援助法》所采用的实际上是一种以计划为主导的“政策推动型”实现模