关键词:
脆弱性检测
代码克隆
操作系统
代码特征
静态分析
摘要:
基于代码克隆检测技术进行软件脆弱性检测,是软件脆弱性静态分析中的一个重要方向。目前,已有软件脆弱性检测工具在面向大规模代码集的脆弱性检测方面存在不足,且缺乏针对操作系统脆弱性的优化。为此,基于代码克隆检测技术,提出了一种操作系统脆弱性检测方法。首先在一般的"代码表征—提取特征—特征比对"检测流程的基础上,加入了基于操作系统软件包类型和函数代码规模的预筛选机制,在进行代码表征之前排除大部分无关代码。其次选择函数基本信息、符号序列和控制流路径三个角度提取代码特征,逐级比较脆弱代码和待测代码的相似度。最后从公开脆弱性数据库获取脆弱样本,对典型开源操作系统进行了实验,结果显示预筛选能够有效缩减实验对象的代码规模,而检测结果的平均精确度达到了84%。