论文摘要
时至今日,软件的安全漏洞已经成为黑客进行攻击的重要途径。任何在软件设计或实现中所带来的安全漏洞,都有可能成为以后安全事件的隐患,给社会带来巨大的损失。数组越界是缓冲区溢出漏洞的一种最常见形式。在使用数组类型进行程序设计的软件中,数组越界是普遍存在的。及早地发现程序中潜在的问题,会减少以后的损失。本文首先分析了软件安全漏洞的分类和几个主流的静态分析方法,并对数组越界问题进行了研究。其次给出了一个用来对Java程序中数组越界错误进行检测的静态分析方法。该方法基于区间整数范围约束,用容量和下标范围刻画数组变量,将各个数组变量的描述属性和各个整型变量一起作为程序状态,用整数范围约束来刻画程序指令对程序状态的改变,生成约束系统。然后对约束系统进行求解,得到其最小解,并对求出的各个数组变量的容量和下标范围进行比较,以此判断是否存在数组越界。该分析方法不考虑存在递归函数的情况,以函数为单位,并沿着函数调用关系自底向上依次处理各个函数。本文最后描述了Java数组越界检测系统的设计与实现,并通过一些实例程序来验证检测方法的有效性。
论文目录
相关论文文献
- [1].基于污点分析的数组越界缺陷的静态检测方法[J]. 软件学报 2020(10)
- [2].二维数组在俄罗斯方块游戏编程中的应用分析[J]. 数码世界 2020(02)
- [3].怎样用给出的数组比例[J]. 数学小灵通(5-6年级版) 2010(03)
- [4].“数组”教学设计[J]. 中小学电教(下) 2011(11)
- [5].C程序数组越界的运行时验证技术研究与实现[J]. 计算机工程与应用 2015(11)
- [6].C语言中二维数组的输出样式辨析[J]. 软件 2013(07)
- [7].不含L连续数组的排列计数问题的研究[J]. 广东技术师范学院学报 2013(07)
- [8].基于容器对象的动态控件数组研究[J]. 现代电子技术 2012(01)
- [9].基于C++二维数组的几个问题研究[J]. 硅谷 2012(22)
- [10].用多位数动态数组实现进制转换的研究[J]. 湖南文理学院学报(自然科学版) 2011(01)
- [11].C++动态数组的实现与重用[J]. 计算机技术与发展 2010(02)
- [12].二维数组复杂性测度的统计复杂度改进[J]. 哈尔滨工业大学学报 2009(10)
- [13].计算机数组分析研究[J]. 硅谷 2008(02)
- [14].运用控件数组提高编程效率[J]. 职业 2008(36)
- [15].关于印度奇妙数组三个性质的证明[J]. 中学数学 2008(21)
- [16].数组越界的静态分析[J]. 电脑编程技巧与维护 2012(04)
- [17].基于链表结构的多维动态数组设计方法[J]. 西北师范大学学报(自然科学版) 2011(01)
- [18].程序符号执行中的数组分析[J]. 长江大学学报(自然科学版)理工卷 2010(01)
- [19].C语言中动态数组的构建[J]. 科技信息 2010(24)
- [20].关于在C++中数组申请归还实现的研究与应用[J]. 福建电脑 2009(04)
- [21].浅析C++中获取数组长度的若干方法[J]. 电脑知识与技术 2018(19)
- [22].两类有趣数组[J]. 吉首大学学报(社会科学版) 2013(S1)
- [23].在C语言中利用动态结构数组处理学生成绩表[J]. 软件导刊 2012(08)
- [24].ABCE:Java冗余数组越界检查消除[J]. 小型微型计算机系统 2010(11)
- [25].影院售票系统开发中动态数组的灵活应用[J]. 计算机应用与软件 2009(07)
- [26].混合计算工程中复合数据的传递(Ⅲ)——派生类型内嵌数组[J]. 武汉大学学报(工学版) 2009(04)
- [27].0LAP中多维数组的一种改进压缩算法[J]. 计算机与现代化 2008(10)
- [28].倍增法之后缀数组解决重复子串的问题[J]. 中国新通信 2016(17)
- [29].抓住特征 分步思考[J]. 数学大世界(小学5-6年级版) 2015(06)
- [30].一种过程内及过程间数组越界故障的静态检测方法[J]. 计算机研究与发展 2010(S1)