基于静态分析的代码安全缺陷检测系统

被引量 : 12次 | 上传用户:tzsxf668
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
得益于经济和科学技术的飞速发展,计算机技术日益普及,软件应用越来越广泛,整个软件行业取得了跨越式的发展。软件行业的发展给人们的工作生活带来了极大的便利,为经济社会的进步提供了动力支撑。然而伴随着软件应用范围的不断扩大和深入,软件规模越来越庞大,软件结构越来越复杂,由此引发了诸多严峻的安全问题。这些问题在给人们工作生活带来不便的同时,耗费了大量的人力财力。因此,如何及早检测出软件源代码中存在的安全缺陷问题成为行业研究的一个热点问题。目前,存在两种主要的代码安全缺陷检测方法:动态检测和静态检测。相对动态检测而言,静态检测不需要运行软件,它通过分析软件的源代码,查找软件中存在的安全缺陷问题。这类方法具备高效和低成本等特点,适用于大规模软件系统的安全缺陷检测。但是现有静态检测技术无法准确确定一些问题的上下文执行环境以及无法高效解决代码中的循环、分支等情况下的检测问题,使得该技术面临着路径爆炸的问题,导致检测存在较高的误报率等问题,这些问题的存在也使得代码的静态检测方法未能在商业中得到广泛应用。本文总结分析了国内外相关问题的研究现状,在已有的研究基础上,实现了一个基于静态分析的代码安全缺陷检测系统,用于检测c/c++源代码中存在的缓冲区溢出、内存泄露、空指针引用等安全缺陷。该系统在检测过程中,通过遍历生成的控制流图,提取有关变量的属性信息,运用区问运算、递归求解等技术确定了问题的上下文执行环境,能够有效检测出系统中存在的问题。此外,系统通过对指针变量间关系的研究,设计了解决别名问题的数据结构和算法,提高了检测的准确性。而且通过对分支循环语句部分进行特殊处理、生成函数摘要等技术避免了路径爆炸问题,降低了问题检测的复杂性。最后,本文分类测试了包含缓冲区溢出、内存泄露、空指针引用等问题的源代码,测试结果表明该系统能够准确检测代码中存在的安全缺陷问题,达到了系统设计的预期目的。
其他文献
副词'只'有只、衹、祇三个基本字形。'衹''祇'表示副词的用法各自独立产生于先秦,'只'表示副词的用法出现较晚,三者相互混用。在三个基本字
【正】一、问题的提出红色电影是指遵循时代要求,以歌颂英雄事迹与思想风貌、歌颂战争生活为主题进行创作的电影。红色电影伴随着一代代人的成长,塑造了一批批值得赞颂的英雄
监察权伴随着权力机关的出现应运而生,其权力设置的原因一为治权、一为治官,其在任何政体中都处于举足轻重的地位。辛亥革命后我国传统政体受到了致命的打击,民国期间的各个
东营市历来重视信息化建设,连续三年建设的“数字化东营”等项目建设取得了显著成果,为东营市其他政府部门和机构的信息化建设提供了坚实的基础[4]-[5]。东营市妇女联合会作为
随着全球经济的一体化,跨文化传播已成为企业在国际竞争中的现实挑战。由于消费者文化背景的差异,广告必须要深入地了解不同民族的文化,才能避免触犯对方的文化禁忌,这是实现
以水泥、石英砂等为主要基材,并掺入多种活性化学物质制备水泥基渗透结晶型防水涂料.探讨了水泥的品种及加量、石英砂的级配及活性物等对水泥基渗透结晶型防水涂料性能的影响。
研究了在40℃和80℃温度下,干热养护及湿热养护对三元体系的性能影响,设计了9种养护制度,分别对其变形、抗压强度及抗折强度进行测定。同时采用XRD微观分析,定性及半定量分析
对分课堂的应用,需要结合高职会计财务课程的特点进行合理应用,才能将其优势充分发挥出来,从而提高高职财务会计教学质量,满足学生的学习需求,实现学生专业能力的提高。因此,
当今我国社会经济的高速的发展使得公共领域的安全管理呈现出日渐复杂的态势,由于高校中的大学生是突发公共事件最易影响的群体,也是应急管理最易普及和执行的群体,其在应急管理
目的:随着睡眠医学的研究进展阻塞性睡眠呼吸暂停低通气综合征(obstructive sleep apnea hypopnea syndrome, OSAHS)作为呼吸、睡眠医学的交叉边缘学科,引起了人们的广泛关注,