[发明专利]基于摘要语法树和语义匹配的软件同源性检测方法及装置无效
申请号: | 201010238409.9 | 申请日: | 2010-07-28 |
公开(公告)号: | CN101894236A | 公开(公告)日: | 2010-11-24 |
发明(设计)人: | 崔宝江;吴世忠;郭涛 | 申请(专利权)人: | 北京华夏信安科技有限公司;中国信息安全测评中心 |
主分类号: | G06F21/00 | 分类号: | G06F21/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100086 北京市海淀区青云里*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 摘要 语法 语义 匹配 软件 同源性 检测 方法 装置 | ||
1.一种基于摘要语法树和语义匹配的软件同源性检测方法,其特征在于,包括:
生成软件源代码对应的摘要语法树,并将所述摘要语法树中匹配相同语义特征规则且语义相同的子树调整为统一结构;
计算所述摘要语法树中子树的哈希值;
通过判断节点数目相同的子树的哈希值是否一致,进行软件同源性检测。
2.根据权利要求1所述的方法,其特征在于,所述生成软件源代码对应的摘要语法树包括:
将所述软件源代码中的文件包含指令、注释和多余的空白符删除;查找所述软件源代码中被宏定义指令所替换的字符串,并换回原来的字符串;判断所述软件源代码中的条件编译指令中的判断条件是否成立,然后选择删除或保留对应的软件源代码段。
3.根据权利要求1所述的方法,其特征在于,所述语义特征规则至少为下列特征中的一种:条件表达式为比较表达式、变量标识、函数调用。
4.根据权利要求1所述的方法,其特征在于,所述计算所述摘要语法树中子树的哈希值包括:
根据所述摘要语法树的节点类型信息,计算得到所述节点的哈希值,并以线性链表格式保存所述节点包括哈希值在内的信息;
将所述摘要语法树中子树所包括的节点的哈希值进行累加,得到所述子树的哈希值。
5.根据权利要求4所述的方法,其特征在于,所述将所述摘要语法树中子树所包括的节点的哈希值进行累加,得到所述子树的哈希值包括:
将除法、减法和取余运算操作前后参与运算的元素赋予不同的权值。
6.根据权利要求4所述的方法,其特征在于,所述通过判断节点数目相同的子树的哈希值是否一致,进行软件同源性检测包括:
根据所述摘要语法树中子树所包括的节点数目,将子树进行分组。
7.一种基于摘要语法树和语义匹配的软件同源性检测装置,其特征在于,包括:
生成模块,用于生成软件源代码对应的摘要语法树,并将所述摘要语法树中匹配相同语义特征规则且语义相同的子树调整为统一结构;
计算模块,用于计算所述生成模块生成的摘要语法树中子树的哈希值;
检测模块,用于根据所述计算模块计算获取的所述哈希值,通过判断节点数目相同的子树的哈希值是否一致,进行软件同源性检测。
8.根据权利要求9所述的装置,其特征在于,所述生成模块包括:
预处理单元,用于将所述软件源代码中的文件包含指令、注释和多余的空白符删除;查找所述软件源代码中被宏定义指令所替换的字符串,并换回原来的字符串;判断所述软件源代码中的条件编译指令中的判断条件是否成立,然后选择删除或保留对应的软件源代码段;
词法分析单元,用于依次读入经过所述预处理单元预处理后的所述软件源代码文本中字符序列,根据所述软件源代码所采用的编程语言语法规则,采用对应的正则表达式将所述字符序列与所述编程语言的匹配规则对应后,返回标识所述字符序列的标记;
语法分析单元,用于根据所述词法分析单元返回的所述标记,将所述标记对应的软件源代码序列,与所述软件源代码所采用的编程语言语法规则匹配后,开辟内存空间,生成所述软件源代码对应的摘要语法树中的节点信息,构建所述摘要语法树;
语义匹配单元,用于分析所述语法分析单元构建的所述摘要语法树的结构信息,将匹配相同语义特征规则且语义相同的子树调整为统一结构。
9.根据权利要求8所述的装置,其特征在于,所述计算模块包括:
节点计算单元,用于根据经过所述语义匹配单元调整之后的所述摘要语法树中的节点类型信息,计算得到所述节点的哈希值;
子树计算单元,用于根据所述节点计算单元计算获取的节点哈希值,将所述摘要语法树中子树所包括的节点的哈希值进行累加,得到所述子树的哈希值。
10.根据权利要求9所述的装置,其特征在于,所述检测模块包括:
分组单元,用于根据所述摘要语法树中子树所包括的节点数目,将所述子树进行分组。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京华夏信安科技有限公司;中国信息安全测评中心,未经北京华夏信安科技有限公司;中国信息安全测评中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010238409.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种鳞片状氧化铝及其制备方法
- 下一篇:双循环即热型太阳能热水器