【摘 要】
:
嵌入式系统是一种集软件和硬件于一身的特殊计算机系统。随着其在国防、航天、工业控制等若干重要领域的应用越来越广泛,嵌入式软件系统本身的安全性也变得越发重要。C语言是
论文部分内容阅读
嵌入式系统是一种集软件和硬件于一身的特殊计算机系统。随着其在国防、航天、工业控制等若干重要领域的应用越来越广泛,嵌入式软件系统本身的安全性也变得越发重要。C语言是嵌入式软件开发中应用最广的编程语言,因此,对C语言程序的安全性验证成为了保证嵌入式系统安全的关键。C语言程序的检测方法分为动态和静态两大类。动态检查又称为运行时检查,是实际运行时检测程序的方案,在C程序运行过程中,通过选择适当的测试用例,并对程序的运行状态进行监控以发现程序中的错误。静态检测是指不在计算机上实际执行所检测的程序,而是采用分析代码文本、人工模拟或类似动态分析的方法,借助相关的静态分析工具完成程序源代码的分析与检测。由于嵌入式软件特殊的开发模式,静态检测相对于动态检测具有过程简单,检测代价小的优点,是检测嵌入式软件的理想方法。本文通过对国内外该领域相关研究的学习,总结了C语言中常见的安全隐患,介绍了每种隐患产生的原因。在此基础上,主要介绍了两种检测方法,一种是基于标注的检测模型,用来检测指针和内存引用错误。另一种是通过对C语言编译过程中间结果的分析来检测堆栈溢出错误。其中第二种方法是本文的主要工作和创新点。指针和内存错误是C语言安全隐患中最常见同时也是最难检测的错误,本文介绍了一种基于源代码中附加标注的静态检测模型,通过标注每个对象的状态来检测内存和指针访问错误。嵌入式系统有限的硬件资源使得堆栈的溢出检测成为了安全保障的一个重要的环节。本文通过C语言的内存模型和函数调用过程,详细介绍了堆栈溢出错误的产生原因,提出了一种基于编译过程中间结果的静态检测方法,并对所涉及的关键技术进行了详细介绍。最后,给出了整个堆栈静态检查器的系统设计和实现,并通过测试证明了该方法的正确性和可用性。
其他文献
随着半导体技术的不断发展和国内消费电子市场的不断成熟,混合信号类器件市场竞争越来越激烈,控制器件的生产成本成为了取胜重要因素。而测试成本往往占据了器件生产成本的很
在国际分工、全球经济一体化不断深化以及世界性贸易保护主义的阴影进一步扩散的背景下,作为确定进出口货物“经济国籍”的原产地规则,是进口国对货物确定税率待遇,进行贸易
为了探讨病毒性心肌炎(VMC)的诊治特点,本文收集吉林大学第一医院2003年1月至2007年12月期间收治的符合1999年儿童VMC诊断标准的急性VMC160例进行回顾性分析。其中年龄最小的
随着国家经济不断地发展,会计这个行业对我国的经济发展中起着很大的作用。会计作为近几年来热门的职业,对当代的大学生也有很深远的影响。很多刚步入大学的新生都纷纷想对会
针对陕西卤泊滩重度盐碱地治理的具体问题,在近10年期间,尝试了"改排为蓄"的治理新模式。期间,进行了大量的试验观测和重点田间试验。根据观测资料,分析了卤泊滩不同地块、不同
在提高林南仓矿东二采区资源回收率的同时,为了确保该区地表建筑物受到较小的影响,需要对东二采区进行条带开采优化设计,选取最合理的开采方案及参数。本论文通过理论分析、
电子束快速成型技术可以成型高熔点、易氧化等难加工金属,在快速成型领域具有特殊的应用价值。本文提出一种三维扫描电子束快速成型的方法。通过LabVIEW虚拟仪器编辑电子束在
公共危机事件对于社会民众的影响是双重的。一方面是有形的,物质层面上的影响;另一方面是无形的,心理层面上的影响,其中后者更为重要,也最容易被忽视,公共危机给民众带来的心
目前,随着经济的飞速发展和人口的迅猛增长,水、土地、能源和矿产资源的缺乏将会越来越严重,迫切需要节约能源和环境保护。这就意味着大力发展循环经济,加速构建节约型社会的
自广告出现以来,人们便开始探求广告的本质是什么,但这一问题一直没有明确的定论。争论点更多集中在广告是科学还是艺术,不过,伴随着市场经济的逐步发展,广告逐渐开始以市场