基于静态分析的C/C++源代码漏洞检测系统的设计与实现

来源 :华中科技大学 | 被引量 : 0次 | 上传用户:zty85633278
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机技术和互联网的发展,当今社会中软件已经成为人们生活中必不可少的一个重要部分。软件产品在设计和实现时或多或少会存在一些漏洞,这些漏洞也使软件在被使用的过程中存在着巨大的安全隐患,可能会造成严重的危害。软件产品的功能日益丰富完善的同时,代码量也在不断增多,大大增加了传统的软件测试方法检测软件中漏洞的难度。设计和实现性能更好的漏洞检测系统在软件安全领域已经是一个比较重要的课题。基于静态分析的C/C++源代码漏洞检测系统使用静态分析的方法对C/C++源代码进行漏洞检测,具有自定义检测类的漏洞检测功能和CWE漏洞检测功能。论文中对常见的缺陷进行了分类,并分析了它们产生的原因,系统针对这些缺陷定义了缺陷模式,通过模式匹配算法和缺陷检测算法制定漏洞检测规则。对于自定义检测类的漏洞检测功能,系统先对源代码进行词法分析和语义分析并构造出一个双链表来存储分析的结果,然后遍历链表和自定义的缺陷模式进行匹配,如果匹配成功则报告出该缺陷的信息。对于CWE漏洞检测功能,系统会把源代码和自定义的CWE规则进行匹配,找到可能产生漏洞的函数,验证该函数的参数是否会产生相应的漏洞,若检测出漏洞的存在就输出漏洞的信息。根据以上原理设计和实现了这个C/C++源代码漏洞检测系统。最后设计实验对漏洞检测系统的性能进行测试。选取具有相关漏洞的测试集对该系统进行测试,对于选择的测试集,系统检测漏洞的漏报率和误报率都在预期范围内,说明所设计的漏洞检测系统的性能达到了要求。
其他文献
当今时代,随着互联网的普及和多媒体的发展,图像有了广泛的应用,图像的传输需求越来越高,图像在传输中的安全也越来越重要,所以对图像加密方面的研究愈显重要。PNG是重要的图像格式,PNG图像广泛应用于网络、软件和手机上,所以研究PNG图像的加密将有重要的意义。在数据量巨大的今天,传统的加密技术对称加密和非对称加密,它们都存在着一定的缺陷,可能未加密文件关键属性,密钥密文相关性不高,在计算机技术发展的过
学位
随着医疗影像技术的不断发展,正电子发射断层成像机(PET)设备所需要处理的数据量越来越大,对数据处理及可视化系统的需求越来越强。市面上大部分的可视化系统是对于PET重建数据的二维切片成像,对于重建之前的阶段如采集、符合则需要分阶段处理,无法做到完整过程上的实现。因此对于PET设备来说越来越需要一套集采集、符合、重建、校正及可视化于一体的软件系统。针对PET设备的软件需求,对PET的浓度数据及现有的
学位
文本匹配是自然语言处理领域基础任务之一,实现时往往需要较为复杂的文本交互的过程。论文针对这个实际问题,并结合文本匹配具体的任务场景,设计了一个基于BERT(Bidirectional Encoder Representation from Transformers)预训练模型和图神经网络模型混合的文本匹配算法,该算法可以简化复杂的文本交互的过程,达到一个较好的文本匹配的结果。论文借鉴了Senten
学位
近年来关于机器阅读理解(Machine Reading Comprehension,MRC)的研究持续火热,机器阅读理解任务可以看做是基于文本的问答系统,给定一段上下文和问题,机器得出答案。MRC任务衡量了机器理解人类自然语言的能力,并且在实际生活中具有很高的应用价值。多步推理机器阅读理解相比传统专注单篇文章的阅读理解方法,更加强调机器的推理能力,旨在要求系统结合多篇文档的多个推理事实进行推测,进
学位
近些年来,深度学习方法在图像识别任务上具有良好表现,但其良好表现往往依赖于大量的,数量均衡的样本数据。在现实生活中,不同类别的样本数据量往往呈现出一种长尾分布,当数据集中只存在少量的训练样本,如何更好的对测试图像进行识别,于是提出了小样本学习方法。基于图神经网络的小样本图像识别模型分为表示学习和度量学习两个阶段。在表示学习阶段,通过卷积神经网络将图像映射到特征空间中,获取图像的嵌入表示,但同类样本
学位
在大数据时代,企业每天都会产生海量的日志信息,这些信息里面包含着许多与企业产品相关的重要信息,而日志文件又散落于分布式集群环境中的各个节点上,这极大的增加了日志收集的难度。因此亟需一套海量日志分析系统来解决这些问题,该系统能通过大数据技术手段对这些散落于各个服务器上的海量的日志数据进行统一管理,从而分析提炼出有价值的信息。通过调研国内外日志分析系统的研究现状,结合企业中实际使用的日志分析系统的架构
学位
随着社会的发展和人口数量的增加,我国老年人口数量在逐年增加,患有各种慢性疾病待康复的老年人逐年增多。目前我国康复医疗资源紧缺,使用的大部分运动康复设备存在设计复杂、造价昂贵、使用不便等不足,已经不能满足大多数待康复患者接受充分康复训练的需求。因此,通过开发实现用于康复训练的嵌入式助步车系统可以更好地帮助病人进行行走康复训练并能提供实时数据反馈和监护,使训练过程更加科学合理。用于康复训练的嵌入式助步
学位
Kubernetes将容器视为服务,并提供自动重启、弹性伸缩等功能,是当前部署微服务的主流平台。但kubernetes集群调度在默认实现上是一种在静态资源上进行的机制,在对电商类实际应用场景进行架构部署时,仍然存在扩缩容上的冗余计算以及节点资源利用率不足等弊端,这很容易造成集群并发性能以及高可用性上的瓶颈。针对上述挑战,在借助Kubernetes作为微服务架构的部署框架的基础上,论文对传统电商微服
学位
随着深度学习的飞速发展,神经网络模型变得越来越复杂,在单一数据集上进行模型训练往往难以满足需求,而统一收集各方用户数据上传到服务器进行集中训练则会造成隐私信息泄露。为了解决这个问题,近年来兴起的联邦学习技术可以在保护用户隐私数据的同时,实现分布式数据的联合学习,从而构建全局模型。然而,在联邦学习中由于服务器无法直接获取用户的本地训练数据对其进行检验,极易遭受来自恶意用户的攻击。基于此,首先提出了一
学位
近年来,随着微服务架构的快速兴起,软件系统的技术栈变得日益庞杂,这对软件RT、稳定性等方面性能都提出了更高的要求。压力测试已然成为新系统上线、性能瓶颈探测时不可或缺的关键步骤。随着互联网行业的快速发展和与日俱增的压测需求,传统的压测工具和功能测试方法迎来了巨大挑战,目前业界提出了一种广泛适用的压测概念,即全链路压测系统。全链路压测系统是针对现网的业务场景和需求,模拟真实的洪峰流量,对系统的整个调用
学位