C/C++源代码级软加固关键技术研究

来源 :国防科学技术大学 | 被引量 : 0次 | 上传用户:JJ415722591
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
宇宙空间中存在的高能粒子所导致的单粒子效应,严重影响航天应用软件的可靠性。为了解决这个问题,国内外相继对容错技术展开了研究。容错技术也称为加固技术,按实现方式分为硬件加固和软件加固。但硬件加固受到功耗、成本等因素的制约,无法大规模的应用。与硬件加固相比,软件加固技术具有开发成本低、灵活度高等优势,因而受到了广泛的关注。但目前对软加固技术的研究主要集中于指令级的错误检测,对源代码级的研究相对较少。相对于指令级容错,源代码级容错具有诸多优势,如独立于具体应用平台和编译器、易于实现容错策略、易于移植和修改等等。本文在分析现有的软加固技术上,针对C/C++代码级软加固关键技术进行研究,主要工作如下。1.提出了一种基于类成员复算的数据流加固方法。在源代码加固中,复算范围越大,加固的难度越大,加固的正确性和有效性就越难保证。在面向对象的程序设计中,大量的变量和对变量的操作被封装在类的范围内,为控制复算范围提供了良好的基础。本文将变量的复算范围控制在类内部,并利用面向对象程序设计的一些特性使加固代码和未加固的原始代码能够共存并正常交互。同时,还利用编码技术使之具有一定的错误恢复能力。2.基于AOP技术,提出了针对虚函数指针和函数返回地址的加固方法,以及基于AOP实现的双标签函数间控制流错误检测方法。其中,虚函数指针的保护,利用AOP进行了函数关键性分析,有选择地针对运行时间较长的函数进行保护;函数返回地址保护,利用AOP技术与编码校验(EDM)或三模冗余(ERM)技术相结合,实现了对函数返回地址的检测或恢复;双标签的函数间控制流错误检测,为每个函数分配两个特定的函数标签,并通过在函数调用和函数执行位置插入的标签入栈、出栈、检测等语句,对函数间的控制流错误进行检测。3.设计了粒子辐照实验方案和故障注入实验方案,对本文提出的加固方法进行了实验验证。粒子辐照实验利用粒子加速器产生的高能粒子,预测加固前后软件模块在近地轨道上的失效概率;故障注入实验基于本文设计并实现的基于二进制动态插桩的故障注入工具PIN_FI,对加固前后的软件模块进行模拟故障注入,分析软件模块的容错能力。结果表明,本文提出的加固方法能够有效提高软件模块的可靠性。
其他文献
随着智能手机的广泛普及,人们的日常行为活动被记录下来,形成轨迹大数据。如何分析用户的大量移动轨迹数据,挖掘这些海量轨迹数据中蕴含着的有价值信息是当前移动对象研究中
互联网上每天都会产生海量数据,累积起来的数据量达到上万亿个网页之多,用户需要通过检索工具获取相关信息,而检索工具需要使用特定的计算机根据一定的策略先从互联网上搜集
QR码(Quick Response Code)属于二维码的一种,人们利用QR码打通线上与线下之间的联通,创造出了支付、信息获取、物联网等全新的应用场景,极大方便了人们的日常生活。随着QR码
广元市中心城区环境地质较为复杂,大致可分为中山、低山丘陵、河谷丘坝;南部临四川盆地,北部邻龙门山脉,城市以东西走向分布在河谷之中,为较为平缓地段,嘉陵江横穿城市。本文以广元市城区环境地质为例,采用层次分析法和灰色聚类法两种方法对城市环境地质进行评价研究。将广元市工程地质环境评价结果作为城市用地规划的重要依据,尝试分析解决广元城市存在的主要环境地质问题,并通过与广元市现行城市规划对比,对现有规划现有
图作为计算机学科中常用的一种数据结构,它可以有效地表达对象之间广泛存在的联系,比线性表和树更加复杂,具备更一般性的表达能力,如道路交通网问题、Web语义分析问题、社交
现今,使用通用图形处理单元(General Purpose Graphics Processing Unit,GPGPU)用于高性能并行计算已经变得越来越流行。GPU的高计算吞吐量和高带宽使之成为加速大规模数据并
人脸是人类重要的身份特征信息,人脸图像的计算机视觉领域相关技术,在现实生活中有着广阔的应用场景。近年来,“换脸”相关内容在互联网上备受关注,人脸图像替换技术逐渐成为当下热门的研究课题。由于传统方法的复杂和低效率,采用深度学习的图像转换方法成为解决人脸替换任务的首选。不同于现如今深度学习技术在判别任务当中成熟表现,人脸图像替换需要使用复杂的生成模型,仍存在大量问题待进一步研究探索。本文使用基于深度学
随着计算机性能的大幅提升和科学技术的快速发展,利用进化算法对工业产品优化设计受到科学研究人员的广泛关注。然而,对复杂工业产品的优化不仅计算复杂,而且仿真过程十分耗
随着虚拟现实、人工智能等领域的进一步发展,三维重建技术发挥着越来越重要的作用。基于双目立体视觉的三维重建方法作为众多重建方法的一种,因其具有低成本、受环境因素影响
大数据及人工智能时代的到来,为人们生活提供了很多便利.要想很好的利用这些工具,前提是必须能很好的处理和利用已有的数据.因素空间理论,作为人工智能的数学基础,为知识的提