整数漏洞安全关键问题研究

发布时间:2019-11-06 17:25
【摘要】:随着信息技术的发展,各式各样的软件应用到现代社会的方方面面。由于软件规模不断膨胀、运行环境更加复杂和功能更加多样,如何保障软件的安全性已成为业界日益关注的焦点。软件漏洞是软件安全性的关键,如果被攻击者利用,将会造成不可估量的损失,尤其是在安全攸关的领域(如国防、金融、能源和交通等)。因此,如何有效地检测软件漏洞已经成为世界各国在信息安全领域的研究重点。整型(integer type)是C/C++语言的基本数据类型,广泛应用于整数数值的表示、算术运算、数据下标等。为满足不同的计算需求,C/C++语言提供多种宽度和不同符号类型。由于整型的有限表示范围、不同符号或宽度间的类型转换可能导致计算结果失真或数值被误解,引发整数漏洞(integer-based vulnerability),包括整数上溢、整数下溢、符号错误和截断错误。攻击者常常间接利用整数漏洞实施诸如恶意代码执行、拒绝服务DoS (Denial of Service)等攻击行为。国际权威漏洞披露组织CVE (Common Vulnerabilities and Exposures)在2007年发布的年度报告中指出,整数漏洞已成为威胁软件安全的第二大类漏洞。因此,全面、有效、精确地检测程序中潜在的整数漏洞是当前的研究热点。本文围绕整数漏洞安全问题,深入分析了整数漏洞的安全模型和漏洞特征,提出了基于信息流的整数漏洞插装和验证方法,重点研究了良性整数溢出的识别方法、IO2BO (Integer-Overflow-to-Buffer-Overflow)漏洞的高效动态跟踪方法和符号错误漏洞的精确检测方法。本文主要贡献如下:1.综述了整数漏洞的研究进展。从缺陷发生后行为的角度提出了新的整数漏洞安全模型,总结了判定整数漏洞的充分条件。从漏洞判定规则对充分条件覆盖的角度对现有检测方法进行比较和分析。通过实例分析,讨论了整数漏洞在现实中的特征分布。2.提出了基于信息流的整数漏洞插装和验证方法。信息流包括数据流和控制流,映射程序的语义片段,目前广泛应用于静态或动态检测软件漏洞或提供安全保护。结合整数漏洞的特性,借助信息流分析、污点分析和代码插装,本文提出了基于信息流的整数漏洞插装方法,并在GCC编译平台实现原型系统DRIVER。该方法从限定分析对象范围的角度出发,将插装对象约减为污染信息流路径上的危险操作,从而降低动态验证的运行开销。3.首次提出了一种基于多精度等价验证的良性整数溢出识别方法。在现实软件中,程序员会故意使用整数溢出来实现特殊功能或代码简洁,而现有研究工作对良性整数溢出的识别能力很低。为此,本文提出了基于多精度等价验证的识别方法。给定一个整数溢出报告,该方法首先提取其程序上下文,并创建一个新的高精度版本的程序片段。在高精度版本中,整型用更多的比特来表示,使得原始版本中的整数溢出不复发生。通过验证原始版本和高精度版本的语义等价性,即在所有可能输入下二者的输出是否一致,来判断该溢出是否为良性。实验表明,该方法有较强的良性整数溢出识别能力。4.提出了一种基于动态跟踪的IO2BO漏洞检测方法。IO2BO漏洞是最为常见的一类整数溢出。由于溢出数值被内存相关操作使用,易被攻击者利用并构造严重的恶意行为。经验丰富的程序员会对潜在溢出运算添加清除操作以阻止其影响程序的正常行为,然而现有检测方法无法排除这类被过滤的IO2BO。为提高IO2BO漏洞的检测精度,本文提出了一种高效的动态跟踪方法,选择极大且不常使用的脏数据(dirty value)来代替异常的溢出数值,并使用脏数据作为溢出标签。该方法可以保证溢出标签在随后的算术运算和值传递操作中正常传播,以及遇到清除操作时被自动清除,最后监测内存相关操作是否使用脏数据来生成漏洞报告。5.提出了一种基于数据流模式的符号错误检测方法。从符号类型转换的数据来源是否可信和转换后数值是否能被程序安全性操作使用的角度出发,本文定义了四种无害符号类型转换的数据流模式。借助数据流分析,静态识别程序中无害的符号类型转换为安全操作,并排除对它们的插装,从而提高了符号错误的检测精度。
【图文】:

整数,漏洞,实例,缺陷


邋u>逦andN>M逦Err逡逑图2.1通过现实漏洞实例分别介绍这四类整数缺陷。图2N(1)描述逡逑了GNU标准C运行库班bc-2.12.2中的整数上溢的实例CVE-2011-1659邋[107]。攻逡逑击者可借助带有特制pattern参数的超长UTF8字符串,使得第5行n的取值逡逑■非常大,第7行(n+l)*sizeof(wchar_t)的计算结果超出类型表不的上逡逑界发生整数上溢,,导致mallocO实际分配的内存空间远小于预期值。图逡逑2.1.(2)描述了Linux邋Kemel-2.6.18中利用整数下溢完成无限循环(infinite邋loop)逡逑攻击的实例CVE-2010-4164邋[108]。由于没有界定无符号类型变量len的取逡逑值,可能引起第10行len邋-=邋2发生整数下溢,导致len的实际值变为很大逡逑的正数,进而造成第5行whileden邋>邋0)语句无限执行下去,直到内核逡逑发生崩溃。图2N(3)描述了视频、音频流转换的开源软件FFmpeg-0.8.1在逡逑解码CAVS文件时发生的符号错误实例CVE-2011-3362邋[109]。攻击者可借助逡逑足够大的(uint32_t)gb->cache0赋值给(int)level-code邋(第5行),使逡逑得level_code为负数值

实例图,漏洞,实例,整数


逡逑沮的越界访问。图2N(4)描述了面向对象编程脚本语言Ruby-1.9.2在创逡逑建化gDecimal对象时造成的截断错误实例CVE-2011-0188邋[39]。攻击者可逡逑借助第2行uint64_t的mb转换成uint32_t类型引发的截断漏洞,执行任意代逡逑码或导致拒绝服务。逡逑1逦int邋fnmatch邋(const邋char邋*pattem,***){逦1邋static邋int邋decode_residual_bIock(—){逡逑2逦…逦2逦…逡逑3逦size_t邋n;逦3逦int邋level—code;逡逑4",逦4***逡逑5逦n邋=邋mbsrtowcs邋(NULL
【学位授予单位】:南京大学
【学位级别】:博士
【学位授予年份】:2016
【分类号】:TP309

【相似文献】

相关期刊论文 前10条

1 戎韩桃;王晓斌;郝宗波;崔娟娜;;无陷入插装方式的研究与设计[J];计算机应用研究;2011年01期

2 钟芳挺;刘超;金茂忠;;程序动态分析系统中插装方式的改进[J];计算机工程与设计;2007年19期

3 孙浩;李会朋;曾庆凯;;基于信息流的整数漏洞插装和验证[J];软件学报;2013年12期

4 孙昌爱,金茂忠;基于程序插装的动态测试技术实现[J];小型微型计算机系统;2001年12期

5 晏华,袁海东,尹立孟;代码自动插装技术的研究与实现[J];电子科技大学学报;2002年01期

6 卢庆龄,宫云战,张威,万琳,柳红;汇编语言动态分析工具中的程序插装技术[J];装甲兵工程学院学报;1997年03期

7 谢琳,冯辛安;基于特征的插装阀块类零件产品模型研究[J];大连理工大学学报;1997年03期

8 袁德荣;;插装阀块设计中的CAD技术[J];锻压机械;1986年05期

9 张书经;二通插装电磁溢流阀卸荷压力分析[J];河北科技大学学报;2001年01期

10 常达;李舟军;杨天放;忽朝俭;;基于二进制动态插装程序执行路径追踪[J];信息安全与技术;2011年09期

相关会议论文 前3条

1 宋春明;徐拾义;;C++类测试中的测控技术[A];第十届全国容错计算学术会议论文集[C];2003年

2 杨幸益;;散装LED插件机的技术创新研究[A];2014中国高端SMT学术会议论文集[C];2014年

3 刘同安;刘德发;马洪亮;瞿军;;关于逻辑插装式调速器压力冲击问题的探讨[A];第十八次中国水电设备学术讨论会论文集[C];2011年

相关重要报纸文章 前1条

1 ;单元插装式铝合金杆塔[N];中国有色金属报;2003年

相关博士学位论文 前3条

1 孙浩;整数漏洞安全关键问题研究[D];南京大学;2016年

2 贾春强;插装式集成块智能优化设计理论与方法研究[D];大连理工大学;2007年

3 方锦辉;大流量插装式伺服阀的设计与控制方法研究[D];浙江大学;2013年

相关硕士学位论文 前10条

1 马艳姿;基于多目标遗传算法的插装式比例节流阀动静态特性优化研究[D];燕山大学;2015年

2 秦春艳;二通插装式比例节流阀自抗扰控制方法研究[D];燕山大学;2015年

3 杨松;螺纹插装比例流量控制阀的振动特性研究[D];西南交通大学;2015年

4 邵森寅;插装式顺序阀及背压单向阀动态特性的研究[D];浙江大学;2008年

5 田磊;插装平衡阀的分析及性能优化[D];天津理工大学;2012年

6 杜金凤;螺纹插装电磁换向阀的设计与仿真研究[D];南京理工大学;2013年

7 惠喜强;螺纹插装式平衡阀动态特性和内流场的研究[D];兰州理工大学;2013年

8 王承松;支持二进制执行码调试和测试的插装技术研究[D];国防科学技术大学;2010年

9 刘杰;插装溢流阀动静态性能分析及结构优化[D];天津理工大学;2012年

10 翁秀奇;废钢打包剪切一体机液压系统及其插装阀块的研究与设计[D];南京理工大学;2013年



本文编号:2556813

资料下载
论文发表

本文链接:https://www.wllwen.com/shoufeilunwen/xxkjbs/2556813.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户32e2a***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com