The invention discloses a method of software security strengthening, which divides software safety and reinforcement into 3 levels according to the whole life cycle of software: software source code, executable file and software running environment. According to the characteristics of different layers, different reinforcement measures are put forward, software source layer is mainly based on software vulnerability scanning, and the executable file layer is divided into two aspects, static and dynamic. The former prevents software from disassembling and is mainly software obfuscation technology. The latter prevents soft parts from being debugged dynamically. The main business environment is the cloud based isolation and deployment technology, which provides independent and controllable operating environment for software products. In the method of the invention, the software reinforcement is realized by hierarchical level, and different technical means are used in different layers to ensure the security of the software, improve the security of the software in all directions, ensure that the software is not damaged by malware and the infringement is spread, and the software is safe.
【技术实现步骤摘要】
一种软件安全加固方法
本专利技术涉及计算机软件安全领域,特别是一种全方位的、分层次的软件安全加固方法。
技术介绍
软件安全是指采用工程化的方法使得软件在敌对攻击的情况下仍能够正常工作的思想,即采用系统化、规范化和数量化的方法来指导构建安全的软件。软件安全作为信息技术发展的基石,对社会经济增长、国家发展具有重要推动力,标志着一个国家的战略方向,成为衡量一个国家综合国力的标志之一。软件安全面临的主要问题包括:软件被非法传播使用导致知识产权被破坏、软件被逆向分析而导致软件的恶意破坏、软件潜在漏洞被发掘并被恶意利用等。2015年丹麦安全公司Secunia的研究团队对来自263个软件供应商的2484款软件进行漏洞扫描,结果发现总漏洞数为16081个。与此同时,软件盗版带来的层出不穷的侵权事件是造成信息泄露的重要原因。目前针对软件安全加固方面的研究,通常以软件的某一侧面为保护对象,主要集中软件防盗版、防逆向、授权加密和防篡改等方面,所使用的技术包括软件水印、代码混淆、软件加壳、虚拟机保护技术等。综上可知,当前软件安全形势严峻,同时对应的安全加固技术仅从一个或某几个侧面来对软件进行增强保护,没有形成一套完整的软件安全加固保护体系,不能对软件进行全面有效的保护。
技术实现思路
本专利技术所要解决的技术问题是提供一种软件安全加固方法,针对软件侵权、软件逆向、软件漏洞等各种软件安全问题,实现软件的安全加固防护。为解决上述技术问题,本专利技术采用的技术方案是:一种软件安全加固方法,包括以下步骤:步骤1:对软件的源代码进行安全加固,包括源代码自身的安全及形式安全,即:首先根据源代码的 ...
【技术保护点】
一种软件安全加固方法,其特征在于,包括以下步骤:步骤1:对软件的源代码进行安全加固,包括源代码自身的安全及形式安全,即:首先根据源代码的类型来初步选择工具集;其次根据当前扫描的目标,在选择的工具集中选择最适合的漏洞扫描工具;再次是执行漏洞扫描,生成扫描结果报告;最后根据扫描结果报告来对源文件做修改;步骤2:把源代码编译为可执行文件级后,对可执行文件进行加固,包括静态防护与动态防护;其中,静态防护为:首先对软件实施布局混淆,将可读性好的代码修改为人为难以阅读的代码,其次实施数据混淆,对软件涉及的数据做等价替换,最后实施控制混淆,从软件执行流程上做等价替换,达到软件不能分析出原软件算法逻辑的程度;动态防护为:利用技术手段检测当前进程是否处于被调试环境中,如果正在被调试则改变正常的执行路径或者修改自身程序让自身崩溃,从而增加调试时间和复杂度,以此阻止可执行文件被调试跟踪;步骤3:将软件与使用者物理隔离,保护软件运行环境安全。
【技术特征摘要】
1.一种软件安全加固方法,其特征在于,包括以下步骤:步骤1:对软件的源代码进行安全加固,包括源代码自身的安全及形式安全,即:首先根据源代码的类型来初步选择工具集;其次根据当前扫描的目标,在选择的工具集中选择最适合的漏洞扫描工具;再次是执行漏洞扫描,生成扫描结果报告;最后根据扫描结果报告来对源文件做修改;步骤2:把源代码编译为可执行文件级后,对可执行文件进行加固,包括静态防护与动态防护;其中,静态防护为:首先对软件实施布局混淆,将可读性好的代码修改为人为难以阅读的代码,其次实施数据混淆,对软件涉及的数据做等价替换,最后实施控制混淆,从软件执行流程上做等价替换,达到软件不能分析出原软件算法逻辑的程度;动态防护为:利用技术手段检测当前进程是否处于被调试环境中,如果正在被调试则改变正常的执行路径或者修改自身程序让自身崩溃,从而增加调试时间和复杂度,以此阻止可执行文件被调试跟踪;步骤3:将软件与使用者物理隔离,保护软件运行环境安全。...
【专利技术属性】
技术研发人员:王俊峰,吴鹏,田斌,王标,刘东,
申请(专利权)人:四川大学,
类型:发明
国别省市:四川,51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。