[发明专利]基于代码相似性分析的操作系统脆弱性检测方法、系统及介质有效
| 申请号: | 202010381909.1 | 申请日: | 2020-05-08 |
| 公开(公告)号: | CN111400724B | 公开(公告)日: | 2023-09-12 |
| 发明(设计)人: | 任怡;汪哲;谭郁松;周凯;黄辰林;李宝;阳国贵;王晓川;丁滟;张建锋;谭霜;蹇松雷 | 申请(专利权)人: | 中国人民解放军国防科技大学 |
| 主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F8/75 |
| 代理公司: | 湖南兆弘专利事务所(普通合伙) 43008 | 代理人: | 谭武艺 |
| 地址: | 410073 湖南*** | 国省代码: | 湖南;43 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 代码 相似性 分析 操作系统 脆弱 检测 方法 系统 介质 | ||
1.一种基于代码相似性分析的操作系统脆弱性检测方法,其特征在于实施步骤包括:
1)基于公共脆弱性数据库提供的信息定位操作系统相关的脆弱性代码段,形成操作系统脆弱性代码库;
2)根据操作系统脆弱性代码库中脆弱性代码段的检测目标对操作系统源码库进行筛选,包括:2.1)从操作系统脆弱性代码库中提取代码样本;2.2)判断代码样本的数量是否超过预设阈值,如果超过预设阈值则直接将整个操作系统源码库作为筛选后的操作系统源码库,跳转执行步骤3);否则,跳转执行下一步;2.3)根据脆弱性代码段所在软件包的类型信息,筛选保留操作系统脆弱性代码库所属软件包类型相同的代码,所述软件包类型依据功能分类包括内核、桌面环境、网络相关、硬件驱动、上层应用及开发环境;2.4)计算脆弱性代码段中各函数包含的代码行数,取最小值和最大值构成脆弱性代码段的行数波动范围;遍历操作系统源码库中各待测函数,若待测函数包含的代码行数相比行数波动范围超过预设阈值,则剔除这个待测函数,否则就将其加入筛选结果,从而得到筛选后的操作系统源码库,跳转执行步骤3);
3)解析操作系统脆弱性代码库的脆弱性代码段和筛选后的操作系统源码库,依据代码属性图的生成规则生成从脆弱性代码段中所有脆弱函数的代码属性图集合、操作系统源码库中各待测函数的代码属性图集合,所述脆弱函数是指脆弱性代码段包含的一个或多个函数;
4)分别从脆弱性代码段中所有脆弱函数的代码属性图集合和操作系统源码库中各待测函数的代码属性图集合提取特征,计算相似性,检测是否存在脆弱性代码的复用,并输出结果,包括:4.1)读取脆弱函数的代码属性图集合,提取脆弱函数的基础信息特征、令牌集合特征以及控制流路径特征作为脆弱性特征集合;4.2)遍历获取操作系统源码库中的一个待测函数作为当前的待测函数,获取当前的待测函数的代码属性图;4.3)从代码属性图中提取当前的待测函数的基础信息,计算每一个脆弱函数与当前的待测函数之间的余弦距离,如果每一个脆弱函数与当前的待测函数之间的余弦距离均高于预设阈值,则判定当前的待测函数与脆弱代码段不相似,跳转执行步骤4.6);否则跳转执行下一步;4.4)提取当前的待测函数的令牌集合,计算每个脆弱函数和当前的待测函数的令牌集合之间的编辑距离,如果编辑距离均大于预设阈值,则认为当前的待测函数不是相似代码,跳转执行步骤4.6);4.5)提取当前的待测函数的控制流路径集合,与脆弱函数的特征进行比较以判断当前的待测函数与脆弱代码段是否相似;4.6)判断操作系统源码库中的待测函数是否全部检测完毕,如果尚未检测完毕则跳转执行步骤4.2);否则输出相似代码检测结果,结束;
步骤1)的详细步骤包括:
1.1)获取公共脆弱性数据库中收集的脆弱性代码信息;
1.2)针对每一个脆弱性代码:判断公共脆弱性数据库是否提供了该脆弱性代码的补丁文件,如果公共脆弱性数据库提供了补丁文件,则直接通过补丁文件内的信息定位脆弱性代码涉及的文件和代码段;如果公共脆弱性数据库没有提供补丁文件,则根据公共脆弱性数据库对脆弱性的描述获取其所在软件被修复的版本号,通过比对修复前后两个软件版本之间的差别,定位到脆弱性涉及到的文件和代码段;
1.3)以函数为单位提取涉及到的完整代码,构建代码样本集合记为操作系统脆弱性代码库,且代码样本集合中的一个代码样本包含一个或多个与该脆弱性相关的脆弱性代码段。
2.根据权利要求1所述的基于代码相似性分析的操作系统脆弱性检测方法,其特征在于,所述操作系统脆弱性代码库以函数为单位、以代码文件的形式保存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010381909.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种三点支撑式石板干挂装置
- 下一篇:一种铝制基板的拼装面板





