[发明专利]一种基于母体融合的代码混淆方法有效
申请号: | 202110311243.7 | 申请日: | 2021-03-24 |
公开(公告)号: | CN113158147B | 公开(公告)日: | 2022-12-09 |
发明(设计)人: | 舒辉;熊小兵;于璞;康绯;杨巨;赵耘田 | 申请(专利权)人: | 中国人民解放军战略支援部队信息工程大学 |
主分类号: | G06F21/14 | 分类号: | G06F21/14;G06F8/74;G06F8/41 |
代理公司: | 郑州明华专利代理事务所(普通合伙) 41162 | 代理人: | 高丽华 |
地址: | 450000 河*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 母体 融合 代码 混淆 方法 | ||
本发明属于网络安全技术领域,具体涉及一种基于母体融合的代码混淆方法。本发明通过将母体代码程序与要保护的代码在结构上进行合并,并通过变量共用等方式使母体代码与要保护的代码之间产生逻辑关联,从而将两个代码合并为不易分割,具有原有代码功能,并对原有执行流图结构进行隐藏的新代码,以此保护原程序。该方法摒弃了传统的混淆方法中对源码形式的过度处理,能够有效解决传统混淆方法难以对抗自动化分析手段、具有明显混淆特征的问题,混淆效果较好;而且该混淆方法适用于大多数编程语言,具有良好的普适性。
技术领域
本发明属于网络安全技术领域,具体涉及一种基于母体融合的代码混淆方法。
背景技术
逆向分析技术是恶意代码编写者通用的一项技术。通过对现有程序进行逆向分析,挖掘程序内包含的算法逻辑和关键数据,可有效实施软件盗版甚至基于漏洞的黑客攻击。根据商业软件联盟(the software alliance,简称BSA)2018年发布的软件调查显示,全球范围内有高达36%的已安装软件未经合法授权,对软件产业和用户信息安全均构成极大威胁。
代码混淆技术是进行软件保护的通用技术,通过将代码在语义、逻辑或表现形式上的变化,对代码原有的执行逻辑进行混淆,达到隐藏代码核心功能的目的。代码混淆主要应用于高级语言,即源码层面的代码混淆,通过对源码形态的变换,生成具有抗逆向功能的可执行程序或脚本程序。主要的源码混淆方式有添加冗余代码,数据加密等。其中添加冗余代码属于控制流混淆的一种,是指将基本块结构相似,数据随机生成的无意义代码片段或不透明谓词插入到原代码控制流中,增加原程序的逻辑分支复杂度。数据加密则是通过将关键内容通过加密的方式,以数据形式进行存储,在使用时再进行解密,例如将源代码以数据形式进行加密,在运行时先解密出源码再执行。
然而,上述混淆技术难以对抗以符号执行、模拟执行为主的动态逆向分析技术。研究表明,动态符号执行被广泛应用于添加不透明谓词等通过添加冗余代码的混淆算法的消除:通过分析执行流中每个基本块,对具有分支的基本块进行路径可达性分析,去除不可达路径。而动态模拟执行可将加密数据部分通过模拟解密过程的方式进行提取,以获取加密前形态。动态分析技术有效的消除了传统代码混淆技术对程序破译的阻碍,使得软件保护产业难以取得进一步的突破。
显然,传统的代码混淆算法已经难以适应软件保护的需求,混淆方法的创新显得尤为重要,因此,提出一种混淆强度大,方式新颖的代码保护方法是当前的首要解决的问题。
发明内容
针对传统的代码混淆算法主要通过增添代码冗余,提高程序复杂度,对抗逆向分析,其混淆强度依赖于代码冗余程度,难以应对日趋高效的自动化分析技术,并且传统的源码混淆方式会产生明显的混淆特征,并暴露混淆手法,使程序更容易越过混淆进行分析的缺陷和问题,本发明提供一种混淆强度大、方式新颖的基于母体融合的代码混淆方法。
本发明解决其技术问题所采用的方案是:一种基于母体融合的代码混淆方法,包括以下步骤:
步骤一、选取无害但功能复杂的程序作为母体程序,所述母体程序需要与目标代码属于同种编程语言、具有相同语言规则且不会与目标代码产生冲突;
步骤二、采用抽象语法树结构对母体程序进行遍历,以语法树各结点类型和关系为基础抽象出母体程序控制流结构,提取出母体程序的抽象控制流图,并对母体程序控制流的关键节点或必经节点进行记录;
步骤三、根据执行流刻画所得到的运行点记录数量对目标代码进行分片,根据获取的母体程序的控制流图和节点信息,选取可融合的代码位置,然后将目标代码分片按照母体程序执行点记录位置顺序与母体程序对应位置进行融合,形成新的控制流图进而形成新的程序。
上述的基于母体融合的代码混淆方法,步骤二具体方法为:对顶层语法树结点的子结点进行遍历,获取母体程序的控制流图,按照遍历顺序对每一个语法树结构类型进行判别,根据结构类型确定插入执行探针的结点位置;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军战略支援部队信息工程大学,未经中国人民解放军战略支援部队信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110311243.7/2.html,转载请声明来源钻瓜专利网。