数据类型识别技术研究与改进

来源 :南京大学 | 被引量 : 0次 | 上传用户:fc2sql
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件漏洞使系统容易受到攻击,影响系统的可用性。软件漏洞中,复杂数据类型相关的漏洞占了较大的比例。在可执行程序中实现对此类漏洞有效检测,复杂数据类型的识别是关键。由于程序中对此类变量的访问是通过指针实现的,故对其识别大多采用指针分析的方法,然而现有的指针分析方法,由于缺乏指针连通性分析等缺陷,导致在程序较为复杂时算法对基地址的分析会产生遗漏和错误,从而影响复杂数据类型识别的精确性。本文主要针对数据类型识别技术进行研究,特别是针对复杂数据类型识别技术的改进与实现:(1)从程序分析对数据类型识别的需求出发,研究、总结了当前数据类型识别工作。根据分析环境的不同,将类型识别方法分为静态的识别方法和动态的识别方法,总结各自的优势与局限性。分析、概括目前数据类型识别工作的三个热点研究问题,通过热点研究问题对比分析现有工作的优缺点。(2)调研现有的程序漏洞库,发现部分漏洞是内嵌结构相关的,此类内嵌信息的缺失使得漏洞检测变得困难,从而表明了内嵌结构识别的重要性。(3)针对在目前的指针分析方法中,当指针的偏移地址没有被显式的计算时无法正确分析指针基地址的问题,提出通过分析指令的寻址方式获得指令基地址的方法,并且利用该基址分析方法识别出内嵌结构。(4)针对现实程序中一个变量存在多个实例,而对每个变量实例只能识别出部分的类型信息的问题,提出基于指针联通性的指针分析方法,利用指针集合收集同类型的指针,合并集合中指针的类型信息,进而把多个实例的类型信息结合起来,提高类型识别的精确度。(5)基于上述方法,在Valgrind插桩平台上实现了原型工具dataStuRec。利用该工具对9个Linux下常见的程序进行测试,通过将实验结果与现有工作、工具不同版本间以及与源文件中类型信息的比较,表明两个改进方法可以提高类型识别的数量和精确性。
其他文献
随着计算机软件技术和硬件设备的快速发展,近年来人机交互模式发生了巨大改变,传统的鼠标与图形界面的交互方式已无法满足人们日益增长的交互需求,各类更加自然的交互模式应
随着软件技术的发展,程序的规模逐渐增大,复杂度也逐渐增加。在软件的开发过程中,完全依靠人力进行分析测试效率太低,而且不能保证软件质量。测试过程中的一个主要问题是生成具有
入侵检测技术是继“防火墙”、“数据加密”等传统安全保护措施后的新一代安全保障技术。它可以识别针对计算机或网络资源的恶意企图和行为,并对此作出相应的反应。入侵检测技
随着信息化的深入发展,智能小区应运而生。智能小区的最典型的两个信息 化增值服务是卫星数字电视的接入和视频点播。数字电视比起传统的采用模拟信