[发明专利]一种处理软件代码的方法和电子设备在审
申请号: | 202111300044.2 | 申请日: | 2021-11-04 |
公开(公告)号: | CN114003868A | 公开(公告)日: | 2022-02-01 |
发明(设计)人: | 王喆;武成岗;张培华;曾凯 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 北京泛华伟业知识产权代理有限公司 11280 | 代理人: | 王勇 |
地址: | 100190 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 处理软件 代码 方法 电子设备 | ||
本发明实施例提供了一种处理软件代码的方法和电子设备,该方法通过获取待处理的软件代码,构建所述软件代码的控制流图;根据所述控制流图和预设的处理逻辑,对所述软件代码中选定的函数进行拆分处理和/或聚合处理以改变控制流图的原有结构,其中,所述拆分处理是将一个函数裂变成多个函数,将函数内控制流关系转变成函数间调用关系,所述聚合处理是将多个函数聚合成一个函数。由此,该技术方案可以不像现有的代码混淆技术那样增加大量的无关指令而严重影响程序性能,但由于改变了原始的软件代码中的控制流图和调用关系(相当于改变了函数调用图),能够在保障程序性能的情况下,有效对抗基于控制流图和/或函数调用图分析的代码比对技术。
技术领域
本发明涉及软件安全领域,具体来说涉及对抗代码比对技术以及反逆向分析的领域,更具体地说,涉及一种处理软件代码的方法和电子设备。
背景技术
随着计算机技术的飞速发展,软件已经融入到人们生活的各个方面。在软件为人们的生活带来便利的同时,也带来了安全隐患。软件开发商在发布软件后,不同用户有不同的关注点。其中,普通用户往往只关注其功能与性能,而恶意用户(恶意攻击者)通过发掘软件漏洞来威胁着计算机安全和用户隐私,漏洞一旦被恶意利用,将会造成巨大的经济损失。此外,商业软件的核心算法、代码逻辑作为一种知识财产,也常常被逆向分析人员分析,甚至是非法复用。因此,软件安全与知识产权保护的重要性不言而喻。
在不能直接得到软件的源代码时,常常通过逆向工程来理解软件的功能和行为。逆向工程是逆向分析人员寻找软件的漏洞以及分析核心算法的重要手段,是一个冗长耗时的过程。逆向分析的成功与否非常依赖于逆向分析人员的经验以及专家知识,随着被逆向软件的规模增长,逆向分析的难度也随之递增。
代码比对技术可以快速发现反汇编代码中的相似或者不同之处。安全研究人员和工程师可以利用代码比对技术分析补丁程序中的漏洞修复代码,也可以分析可执行程序的多个版本,并复用分析结果从而防止对相同或相似可执行文件的重复分析。但同样地,也为逆向分析人员进行逆向工程提供了捷径。例如,给定一个二进制文件和一个包含已分析和注释代码的存储库,逆向分析人员通过对二进制文件应用代码重用检测来加快分析速度,从而识别存储库中相同或相似的代码,然后只关注二进制文件的新功能或组件。
现有的代码比对技术主要分为两类,一种是基于函数基础信息,如文本比较、词素比较、度量比较、抽象语法树、调用图和控制流图、执行序列等;其中,谷歌公司的反汇编工具(Google Bindiff)是目前广泛使用的基于图分析的二进制比对软件。另一种是将机器学习方法应用到代码比对技术当中,如将反汇编后的代码序列转化为词向量,利用自然语言处理技术分析代码的相似性。
为了对抗代码比对技术,保护软件安全与软件知识产权,现有的代码比对对抗技术主要分为两类,一类是代码加密技术,又称为代码加壳技术,它通过加密程序中的代码和数据来对抗分析和比对工具。具体来说,代码加密技术加密可执行文件的代码和数据,并插入对应的解密逻辑,在程序加载后优先执行解密逻辑以解除代码和数据的加密。常见的代码加壳工具如UPX加壳工具(UPX Shell),将可执行文件加密压缩并提供脱壳程序用以在运行时解压解密。这种加壳方式在对抗基于图分析的代码比对技术时会有很多不足。首先,它是一个独立的工具。用户需要将发布后的可执行文件再经过UPX加壳工具处理过后才能得到受保护的文件,这无疑降低了用户的使用体验。其次,现如今针对各类加壳技术的脱壳方法十分成熟,例如,IDA Pro反汇编器提供多种插件用于不同加壳技术的脱壳。即使脱壳失败,在代码加载进内存后它也会被解密出来,如果此时用内存转储工具转储下整个内存映像,那么代码仍然是明文的形式,这时仍然可以用代码比对工具进行分析。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111300044.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种自旋式炉头通针机构
- 下一篇:一种浓废液低温真空蒸馏浓缩装置