软件安全防护方法、装置、电子设备及计算机存储介质制造方法及图纸

技术编号:19866185 阅读:24 留言:0更新日期:2018-12-22 13:52
本申请涉及互联网安全领域,公开了一种软件安全防护方法、装置、电子设备及计算机可读存储介质,其中,软件安全防护方法包括:将构成目标软件的各个程序库的源码文件分别编译成相应的至少两个二进制库文件;当满足预定更新条件时,将目标软件中的预设个数的原始二进制库文件分别更新为相应的目标二进制库文件,原始二进制库文件与目标二进制库文件是基于相同源码文件编译生成且用不同指令序列表示的。本申请实施例的方法,实现了目标软件的多态效果,有效增加逆向攻击难度,极大提高各级各类网络及终端设备的安全性,而且无需目标软件停止对外服务,就可以随时更新,极大增强了用户体验。

【技术实现步骤摘要】
软件安全防护方法、装置、电子设备及计算机存储介质
本申请涉及互联网安全
,具体而言,本申请涉及一种软件安全防护方法、装置、电子设备及计算机存储介质。
技术介绍
近年来,APT(AdvancedPersistentThreat,高级持续性威胁)成为网络空间对抗的主流形态,它使得安全威胁从随机攻击变成有目的、有组织、有预谋的群体式攻击。其中,逆向工程是APT攻击的一种常用的基础手段,大部分的攻击都以逆向工程为基础。逆向工程简单的讲就是根据二进制程序和运行实体,推导出程序的运行逻辑,或者是根据二进制程序的运性特点和规律通过篡改原始运行逻辑而达到攻击的目的。APT的核心是恶意攻击者通过细致的观察,精心的布局,使用各种各样的手段,悄然入侵,长期潜伏,搜索寻找机密数据、高价值数据、偷走数据而不触发任何警戒,让用户丢失了数据还毫无察觉,而且APT的攻击者在持续不断地发现问题,持续不断地研发出攻击武器,也在持续不断地盯紧目标,这使得传统的基于规则、基于知识的防火墙、入侵检测和预防系统的静态防御技术,很难先于某威胁发生来对该威胁进行准确预测,即传统的安全机制面临新的挑战,导致攻击变得防不胜防,而且确定性、相似性、静止性是现有软件系统及架构信息系统致命安全缺陷,这些缺陷导致当前的软件信息系统始终处于被动挨打的局面。另外,由于攻击者和防守者处于不对等的地位,防守者在明处,且系统的运行状态完全可以被攻击者掌握或观察到,导致无论多么先进的防护技术,多么先进的防护软件和系统,都经不起攻击者长期的观察、分析和反复攻击,而且一旦被攻击者得手,将会引起大面积的攻击蔓延。
技术实现思路
克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:第一方面,提供了一种软件安全防护方法,包括:将构成目标软件的各个程序库的源码文件分别编译成相应的至少两个二进制库文件;当满足预定更新条件时,将目标软件中的预设个数的原始二进制库文件分别更新为相应的目标二进制库文件,原始二进制库文件与目标二进制库文件是基于相同源码文件编译生成且用不同指令序列表示的。第二方面,提供了一种软件安全防护装置,包括:编译模块,用于将构成目标软件的各个程序库的源码文件分别编译成相应的至少两个二进制库文件;更新模块,用于当满足预定更新条件时,将目标软件中的预设个数的原始二进制库文件分别更新为相应的目标二进制库文件,原始二进制库文件与目标二进制库文件是基于相同源码文件编译生成且用不同指令序列表示的。第三方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述程序时实现上述的软件安全防护方法。第四方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述的软件安全防护方法。本申请实施提供的软件安全防护方法,将构成目标软件的各个程序库的源码文件分别编译成相应的至少两个二进制库文件,为后续运行过程中的目标软件的动态变化奠定必要基础;当满足预定更新条件时,将目标软件中的预设个数的原始二进制库文件分别更新为相应的目标二进制库文件,原始二进制库文件与目标二进制库文件是基于相同源码文件编译生成且用不同指令序列表示的,从而在满足预定更新条件时,即可将目标软件中的原始二进制库文件动态更新为相应的目标二进制库文件,不仅实现了目标软件的多态效果,令APT攻击者难以寻找攻击规律而放弃,且即使APT攻击者获得某一二进制库文件并采用逆向工程进行攻破成功,针对同一目标软件的其他二进制库文件却不能进行参考,避免相同的攻击方法蔓延,有效增加APT逆向攻击难度,极大提高各级各类网络及终端设备的安全性,而且即使目标软件正在运行中,也无需停止对外服务,即可随时更新,极大增强了用户体验。本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。附图说明本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为本申请实施例的操作系统动态防御体系的结构示意图;图2为本申请实施例的软件安全防护方法的流程示意图;图3为本申请实施例的二进制库文件的多个版本的示意图;图4为本申请实施例的透明切换二进制库文件的示意图;图5为本申请实施例的冻结变换二进制库文件的示意图;图6为本申请实施例的软件安全防护装置的基本结构示意图;图7为本申请实施例的软件安全防护装置的详细结构示意图;图8为本申请实施例的电子设备的结构示意图。具体实施方式下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。本
技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。随着APT成为当今网络空间对抗的主流形态,攻击入侵变得防不胜防,传统静态防御技术很难先于威胁发生准确进行预测,传统安全机制面临新的挑战。本申请根据当前安全环境的新变化,巧妙地将动态防御机制引入OS(OperationSystem,操作系统)体系化的安全设计,通过实时侦测感知计算,主动变换、伪装等,在攻击者找到漏洞之前主动变化,使其永远不能有效发现可利用目标,以满足高安全场景的需求。一种操作系统的动态防御体系如图1所示,包括三部分:态势感知,态势计算与主动防御。其中,态势感知是在程序执行路径的关键节点加入探针,对可能导致系统安全状态变化的异常行为进行记录并上报,包括鉴权失败、异常退出等各种异常行为,以实时侦测细微探测;态势计算是根据各安全要素的动态变化数据,在本地或云端通过人工智能计算,综合判定当前安全形势;主动防御是根据当前安全形势输出对系统的动态变换策略,并据此变换系统形态,主动降低系统面临的风险。本申请在主动防御的动态变换阶段,提供了一种软件安全防护方法,在恶意程序进行漏洞扫描,生成攻击代码并进行攻击前,就完成被攻击目标的变换,增加攻击者攻击难度。整体思路可以概括为:通过配置不同的编译参数,将软件核心库编译成功能相同但用不同二进制机器码表示的版本,在软件运行时,动态切换不同核心库的版本,降低被攻击的风险,将核心库的不同二进制码版本进行组合,将产生非常巨大的变体空间,从而让恶意程序很难锁定目标。本申请提供的软件安全防护方法、装置、电子设备和计算机可读存储介质,旨在解决现有技术的如上技术问题。下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解本文档来自技高网
...

【技术保护点】
1.一种软件安全防护方法,其特征在于,包括:将构成目标软件的各个程序库的源码文件分别编译成相应的至少两个二进制库文件;当满足预定更新条件时,将目标软件中的预设个数的原始二进制库文件分别更新为相应的目标二进制库文件,所述原始二进制库文件与所述目标二进制库文件是基于相同源码文件编译生成且用不同指令序列表示的。

【技术特征摘要】
1.一种软件安全防护方法,其特征在于,包括:将构成目标软件的各个程序库的源码文件分别编译成相应的至少两个二进制库文件;当满足预定更新条件时,将目标软件中的预设个数的原始二进制库文件分别更新为相应的目标二进制库文件,所述原始二进制库文件与所述目标二进制库文件是基于相同源码文件编译生成且用不同指令序列表示的。2.根据权利要求1所述的方法,其特征在于,预定更新条件包括以下至少一项:启动目标软件;目标软件运行预设时长;监测到异常行为;其中,异常行为包括鉴权失败、异常退出、资源访问冲突及非法内存访问中的至少一种。3.根据权利要求2所述的方法,其特征在于,当满足预定更新条件时,将目标软件中的预设个数的原始二进制库文件分别更新为相应的目标二进制库文件,包括:基于所述目标软件的运行状态,从与任一原始二进制库文件对应的多个目标二进制库文件中任选一个,来替换该任一原始二进制库文件。4.根据权利要求3所述的方法,其特征在于,基于所述目标软件的运行状态,从与任一原始二进制库文件对应的多个目标二进制库文件中任选一个,来替换该任一原始二进制库文件,包括:当目标程序正在运行时,加载与该任一原始二进制库文件对应的任一目标二进制库文件,并由该任一目标二进制库文件执行后续新发生的对该任一原始二进制库文件的调用,由该任一原始二进制库文件继续执行原先尚未结束的调用。5.根据权利要求3所述的方法,其特征在于,基于所述目标软件的运行状态,从与任一原始二进制库文件对应的多个目标二进制库文件中任选一个,来替换该任...

【专利技术属性】
技术研发人员:卜东超
申请(专利权)人:北京元心科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1