[发明专利]一种软件安全加固方法在审
申请号: | 201711337427.0 | 申请日: | 2017-12-14 |
公开(公告)号: | CN107992724A | 公开(公告)日: | 2018-05-04 |
发明(设计)人: | 王俊峰;吴鹏;田斌;王标;刘东 | 申请(专利权)人: | 四川大学 |
主分类号: | G06F21/14 | 分类号: | G06F21/14;G06F21/56;G06F9/455 |
代理公司: | 成都信博专利代理有限责任公司51200 | 代理人: | 张辉 |
地址: | 610065 四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 安全 加固 方法 | ||
1.一种软件安全加固方法,其特征在于,包括以下步骤:
步骤1:对软件的源代码进行安全加固,包括源代码自身的安全及形式安全,即:
首先根据源代码的类型来初步选择工具集;其次根据当前扫描的目标,在选择的工具集中选择最适合的漏洞扫描工具;再次是执行漏洞扫描,生成扫描结果报告;最后根据扫描结果报告来对源文件做修改;
步骤2:把源代码编译为可执行文件级后,对可执行文件进行加固,包括静态防护与动态防护;其中,静态防护为:
首先对软件实施布局混淆,将可读性好的代码修改为人为难以阅读的代码,其次实施数据混淆,对软件涉及的数据做等价替换,最后实施控制混淆,从软件执行流程上做等价替换,达到软件不能分析出原软件算法逻辑的程度;
动态防护为:利用技术手段检测当前进程是否处于被调试环境中,如果正在被调试则改变正常的执行路径或者修改自身程序让自身崩溃,从而增加调试时间和复杂度,以此阻止可执行文件被调试跟踪;
步骤3:将软件与使用者物理隔离,保护软件运行环境安全。
2.如权利要求1所述的一种软件安全加固方法,其特征在于,所述步骤1对软件的源代码进行安全加固的步骤分为多次执行,其执行的依据是针对不同的源代码,分为通用的漏洞扫描及专用的漏洞扫描。
3.如权利要求1所述的一种软件安全加固方法,其特征在于,所述步骤2中动态防护采用反调试方法:使用系统函数检测、特征检测及行为检测相结合的方式来实现反调试,首先利用操作系统中提供系统函数来检测自身是否正在被调试,其次枚举当前运行的所有进程,并在进程的内存空间中搜索不同调试器的特征代码段及调试器窗口,再次利用软件正常运行与调试运行的行为差异,实现软件的反调试功能。
4.如权利要求1所述的一种软件安全加固方法,其特征在于,所述步骤3具体为:软件部署在专用的云平台中,且应用以独立的虚拟机部署,即单一的应用部署在虚拟机隔离的不同主机上,实现应用的隔离部署;客户端通过云桌面或者SaaS模式来访问应用,用户与软件的交互只有输入与输出,整个使用过程不接触物理的软件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川大学,未经四川大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711337427.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于动态链接库的Java源码保护方法
- 下一篇:包裹机器人