摘要
针对程序源代码同源性检测问题,提出一种基于代码指纹的同源性评估方法,基于程序依赖图表现代码逻辑与依赖关系,利用多种简化原则降低图结构复杂度,结合行为特征以及数据结构信息构建代码指纹模型,通过渐进式图同构等算法计算代码指纹相似度,综合评估程序源代码间同源性,实验证明,该方法能够有效应对语句重排、结构替换与冗余插入等常见代码混淆手段,与现有方法相比提高了检测效率.
A homology evaluation method based on code fingerprint is proposed for homology detection of program source code.Program dependency graph is introduced to represent the logic and dependency of source code,and several simplification principles are applied to reduce the complexity of the graph.Code fingerprint is constructed with the simplified graph in combination with the behavioral characteristics and the data structure information.The program homology is evaluated with the similarity of code fingerprints by multiple algorithms such as incremental isomorphism judging algorithm.Experiments show that this method can work effectively under common code obfuscation means such as statement rearrangement,structure replacement and redundant insertion.It can also improve the detecting efficiency compared with the existing methods.
作者
刘臻
魏强
任开磊
LIU Zhen;WEI Qiang;REN Kailei(Information Engineering University.Zhengzhou 450001.China)
出处
《信息工程大学学报》
2018年第5期592-597,共6页
Journal of Information Engineering University
基金
国家重点研发计划资助项目(2016YFB0800203)
上海市科研计划资助项目(14DZ1104800)
关键词
代码指纹
程序同源性
程序依赖图
code fingerprint
program homology
program dependence graph