版权所有:内蒙古大学图书馆 技术提供:维普资讯• 智图
内蒙古自治区呼和浩特市赛罕区大学西街235号 邮编: 010021
作者机构:南京航空航天大学计算机科学与技术学院南京210016
出 版 物:《计算机工程与应用》 (Computer Engineering and Applications)
年 卷 期:2015年第51卷第11期
页 面:190-195,211页
学科分类:081203[工学-计算机应用技术] 08[工学] 0835[工学-软件工程] 0812[工学-计算机科学与技术(可授工学、理学学位)]
基 金:国家自然科学基金(No.61100034 No.61170043) 中国博士后科学基金项目(No.20110491411 No.2012T50498) 江苏省博士后科研资助计划项目(No.1101092C)
摘 要:缓存区溢出能引起非常严重的安全问题,对网络和分布式系统(如机群,网格,P2P系统等)构成严重威胁。数组越界在缓存区溢出中占据重要位置,如何检测数组越界错误是一个重要且极具意义的课题。针对该课题,给出一种对C语言数组越界进行运行时验证的方法。分析了数组越界的错误类型,根据这些类型分别研究了数组越界的运行时验证的思想;设计了基于程序插桩进行数组越界动态检测的算法,给出了该方法基于开源编译器Clang的具体实现;用实验证明了该方法是切实可行并且有效的。