[发明专利]一种主动防御方法和装置有效
申请号: | 201610115377.0 | 申请日: | 2016-03-01 |
公开(公告)号: | CN107145376B | 公开(公告)日: | 2021-04-06 |
发明(设计)人: | 崔云峰;钟卫东;刘东;王继刚 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14;G06F8/41 |
代理公司: | 深圳市力道知识产权代理事务所(普通合伙) 44507 | 代理人: | 张传义 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 主动 防御 方法 装置 | ||
本发明公开一种主动防御方法和装置,该方法包括:根据业务源代码,通过编译生成多个不同的异构版本;根据多个不同的异构版本,将异构版本写入到多个设备中。通过本发明的方案,对于不同的设备安装相同的业务软件时,使用不同的异构版本,将动态、多样、随机等特征集成到现有软件系统中,打破攻击链所依赖的固定的、可预期的、一致性的规律,使软件系统具备拟态主动防御的能力,从而增加攻击者对系统的不确定性和明显的攻击复杂度,减少攻击者的机会时间窗口,并增加攻击者探测和进行攻击的花销。
技术领域
本发明涉及软件安全领域,尤指一种主动防御方法和装置。
背景技术
据相关机构统计,我国80%的关键基础设施(电力、交通、能源)依靠嵌入式系统自动化作业,在2020年物联网设备将达到500亿规模。随着嵌入式系统的发展也发现了越来越多问题,各种恶意软件、病毒、木马威胁个人、行业以及国家的安全。已暴露的漏洞和攻击方法逐年增长,未暴露的问题可能更多,高速发展的嵌入式系统面临很多未知的安全隐患。
在嵌入式系统领域除了需要面对这些未知的安全隐患,还有存在自身的特点:处理器性能相对IT系统的处理器性能低;实时性或关键业务性能指标要求较高;嵌入式系统要求长期持续运行并无需专人维护。因此嵌入式系统的安全问题难以使用IT安全领域的方式(例如病毒扫描、经常更新补丁)解决。
通过对已知的攻击过程进行分析研究,可以发现攻击步骤分为:系统探测、漏洞挖掘、系统突破、系统控制等几个环节。每个环节中攻击者都需要依赖系统中固定的、可预期的、一致性的规律,例如系统探测阶段可收集系统版本信息,确认是否存在某个已知的安全漏洞;在系统突破和系统控制方面可获取固定的特权接口实施系统控制和系统突破。随着开源社区的发展,越来越多的嵌入式设备使用开源软件,但也给攻击者带来了很多便利,更容易获取到系统的漏洞和攻击方案。
发明内容
为了解决上述问题,本发明提出了一种主动防御方法和装置,能够提高应用程序的安全性。
为了达到上述目的,本发明提出了一种主动防御方法,该方法包括:
根据业务源代码,通过编译生成多个不同的异构版本;
根据多个不同的异构版本,将异构版本写入到多个设备中。
优选的,所述根据业务源代码,通过编译生成多个不同的异构版本包括:
生成新的系统调用的头文件;
根据新的系统调用的头文件,对业务源代码进行编译,生成对应的业务镜像文件;
根据新的系统调用的头文件,对操作系统进行编译,生成对应的内核镜像文件;
根据生成的业务镜像文件和内核镜像文件,形成业务源代码对应的一个异构版本。
优选的,所述生成新的系统调用的头文件包括:
读取系统调用头文件,所述系统调用头文件中记录有系统调用号和系统调用功能之间的映射关系;
针对系统调用头文件中记录的任意一个系统调用功能,生成一个随机数;其中,所述随机数没有被其他系统调用功能占用;
将生成的随机数作为当前系统调用功能对应的系统调用号;并将当前系统调用功能和系统调用号之间的映射关系记录在新的系统调用头文件中。
优选的,所述根据多个不同的异构版本,将异构版本写入到多个设备中包括:
将生成的多个不同的异构版本加入到待发布版本列表中;
生成一个随机数,随机数为整数并且小于或等于当前待发布版本列表中异构版本的数目,根据该随机数Na,将待发布版本列表中第Na个异构版本写入到设备中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610115377.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:磁阻膜层结构以及使用此磁阻膜层结构的磁场传感器
- 下一篇:软件编译方法及系统