基于函数调用序列的漏洞定位方法研究

来源 :华中科技大学 | 被引量 : 0次 | 上传用户:wenrou1323
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机软件产业的发展,软件的规模日益增大,软件的质量也受到人们越来越多的关注,往往一个细微的漏洞都有可能被恶意攻击者利用,给用户造成难以估计的损失。因此运用测试技术,定位软件中的缺陷、漏洞,帮助开发者修改程序中的漏洞显得意义非凡。软件中隐含的缺陷数目与可靠性直接相关。基于动态函数调用序列的软件缺陷定位能够很好地与自动化测试相结合,有较强的现实意义。通过多次程序执行(包括正确执行和错误执行),利用面向方面编程框架(如AspectJ)获取函数调用轨迹(包括函数调用结构以及函数调用中的现场信息)。然后通过挖掘、分析软件动态运行中的函数调用轨迹形成的函数调用序列,计算函数中存在缺陷的可能性,提出一种基于函数调用序列的漏洞定位方法,并通过实例验证了此方法的有效性。函数调用序列既体现了函数调用的时间先后次序,又包含了函数调用过程中的现场信息(包括函数调用中传递的参数、隐含传递的参数以及返回值等),同时运用决策树构造算法,信息增益率越大的列对应的函数说明该函数对程序是否正确执行的影响程度越大,从而说明此函数出现漏洞的可能性越大。针对基于函数调用序列的软件缺陷定位方法,一个原型系统得以设计和实现,并给出系统中各功能模块和详细设计。实验环节中,通过在weka开源软件中注入缺陷来验证方法的可行性,测试数据来源于uci机器学习库,实验表明此方法是一种有效的定位软件缺陷的方法,使缺陷定位更精确。
其他文献
计算机技术在飞速地发展,而磁盘的存取速度却提升缓慢,成为了影响计算机系统性能的主要因素。新型的存储介质固态盘(Solid State Driver, SSD)的迅猛发展给存储系统注入了新的
随着单处理机计算速度和网络技术的不断提高与发展,计算机应用范围逐渐扩大,异构计算系统在现实生活和工作中得到了广泛运用。实时硬件任务调度与资源管理是异构计算系统的关键
钢铁工业的发达与否代表了一个国家的工业化水平,而且其在国家的经济组成成分中占了不可忽视的比例。带钢是钢铁工业的主要产品之一,用途非常广泛,可以用来制造自行车车架、轮圈
智能视频监控是机器视觉领域中的一个重要分支,是未来安全监控技术的发展趋势,在机场、银行、商场等场所中有着广泛的应用。其中运动目标检测技术是实现智能视频监控的关键技术
随着信息社会的不断发展,海量数据的作用日益明显。多重检验作为分析高维数据的重要理论,已经引起了许多统计学者的注意。多重检验有着广泛的应用,比如生物信息学、医药行业以及
粗糙集理论(Rough Set Theory, RST)作为一种能够有效分析和处理不精确、不确定和不协调信息的数学理论是波兰数学家Pawlak教授于1982年提出来的。在Pawlak经典粗糙集的研究
教务管理系统是高校教学管理的核心,一个科学的教务管理系统对于提高高校的管理水平、效率、质量以及保障正常的教学秩序起着决定性作用。教务管理系统的设计既要科学,具有完善
基于小波变换的图像压缩方法是一直以来都是图像处理领域比较重要的一个研究方向,而基于提升结构的小波变换能够方便的实现从整数到整数的变换。自适应方向提升(AdaptiveDirec
随着Web服务的普及,服务数量的增多,用户在使用服务时会遇到三个问题:首先,近年来,服务数量呈现出一个剧烈增长的趋势,在实际中存在许多功能相同或相似的服务,这导致用户需要进行多
近年来,随着信息技术和电子技术的快速发展和不断成熟,嵌入式设备已经延伸到了人们日常生活的各个领域。嵌入式设备应用的类型和应用范围的不断扩大也使得嵌入式设备的市场竞争