出于安全的原因对各种软件模块的多个功能等效的变型的动态修补制造技术

技术编号:14679135 阅读:60 留言:0更新日期:2017-02-22 12:05
用于对在计算设备上执行的基于多样性的软件进行动态修补的方法、设备和非暂时性存储介质。可以从在执行软件时将使用的可用模块变型列表中,选择软件所使用的各种模块的许多变型中的一个变型。一种用于更新软件的实施例方法可以包括:获得或者接收用于指示特定模块变型的通知,所述特定模块变型不应当被用来作为针对软件的模块;以及响应于所述通知,从针对所述模块的可用模块变型列表中移除所述模块变型。在一些实施例中,该通知可以是移动设备从远程服务器接收的,以及进一步地该通知不包括该软件在运行时期间能够用来作为模块的数据。在一些实施例中,该模块变型可以是有缺陷的、过时的以及被识别为被恶意软件利用的之中的一者。

【技术实现步骤摘要】
【国外来华专利技术】
技术介绍
今天的大多数恶意软件是利用特定软件中的已知易损性的根‘家庭’的变体。例如,不同的恶意软件变体可能抓住特定的操作系统版本、固件或者实现方式中的缺陷、结构、特性或编程错误。通常,恶意软件通过与远程源的网络连接(例如,从“应用”商店下载的软件)和/或经由设备到设备通信(例如,短消息服务(SMS)文本消息、电子邮件等等),来传播到计算设备。尽管移动设备在本质上通常是模块化和具有多样性,使用离散软件(例如,即插即用)来支持各种芯片、驱动程序和外围设备,但恶意软件在移动设备行业中是非常普遍的。用于从被感染的设备中移除恶意软件或者使恶意软件无效的传统软件补丁,可能需要几个月(例如,15-20月)或者几年的时间才能推出。例如,代码修复、固件升级和/或模块更新在终端用户设备处被收到之前,需要由各方进行制作、测试、批准和运输。另外,这种修复可能是昂贵的,其需要移动设备通过下载和安装冗余的或者不必要的代码副本而加重它们的资源和连接。
技术实现思路
各个实施例提供了用于对在移动设备上执行的基于多样性的软件进行动态修补的方法、系统、设备和非暂时性处理器可读存储介质。一种实施例方法可以包括:获得用于指示模块变型的通知,所述模块变型不应当被用来作为针对软件的模块;以及响应于获得所述通知,从针对所述模块的可用模块变型列表中移除所述模块变型,其中,所述可用模块变型列表中的一个可用模块变型在所述软件的运行时被移动设备处理器激活作为所述模块。各种实施例可以利用在软件中使用的任意数量的不同的基于多样性的模块来实现,每个模块都具有多个模块变型以提供多样性。在一些实施例中,所述通知是移动设备从远程服务器接收的。在一些实施例中,该通知可以不包括软件能够用来作为所述模块的数据或者可执行代码。在一些实施例中,模块变型可以是有缺陷的、过时的、以及被识别为被恶意软件利用的之中的一者。在一些实施例中,所述通知可以是移动设备在软件的运行时期间接收的。在一些实施例中,该方法还可以包括:在所述软件的运行时,从针对所述模块的所述可用模块变型列表中选择第一标识符;以及激活与所选择的第一标识符相关联的可用模块变型,以在软件的运行时期间用来作为所述模块。在一些实施例中,在所述软件的运行时,从针对所述模块的所述可用模块变型列表中选择所述第一标识符,可以包括:使用随机选择算法,从可用模块变型列表中选择第一标识符。在一些实施例中,激活与所选择的第一标识符相关联的可用模块变型,以在软件的运行时期间用来作为所述模块,可以包括:在所述软件的运行时生成所述可用模块变型,或者在所述软件的运行时装载预先生成的所述可用模块变型。在一些实施例中,所述模块可以是软件在运行时使用的多个模块中的一个模块,一种实施例方法还可以包括:在所述软件的运行时,从与所述多个模块中的其它模块相关联的可用模块变型列表中选择标识符;以及激活针对与所选择的标识符相关联的所述多个模块中的所述其它模块的可用模块变型,以在所述软件的运行时期间用来作为所述其它模块。另外的实施例包括:配置有处理器可执行指令以执行上面所描述的方法的操作的移动计算设备。另外的实施例包括在其上存储有处理器可执行指令的非暂时性处理器可读介质,其中所述处理器可执行指令被配置为使移动计算设备执行上文所描述的方法的操作。另外的实施例包括具有多个移动计算设备的通信系统,其中所述多个移动计算设备配置有处理器可执行指令以执行上文所描述的方法的操作。附图说明被并入本文并且构成本说明书一部分的附图,描绘了本专利技术的示例性实施例,并且连同上文给出的概括描述以及下文给出的详细描述一起来解释本专利技术的特征。图1是适合于在各个实施例中使用的包括多个移动设备的通信系统的组件框图,其中所述多个移动设备被配置为执行与服务器相关联的软件。图2A是示出适合于在各个实施例中使用的一种示例性移动设备的组件框图,其中该移动设备被配置为使用多个可能的模块变型中的一个可能的模块变型,来实现已安装软件的运行时的模块。图2B是示出供移动设备使用软件的运行时的模块变型的实施例方法的过程流程图。图2C是示出供移动设备发送报告消息的实施例方法的过程流程图,其中报告消息用于指示模块变型遇到的问题。图3A-3B是示出适合于在各个实施例中使用的一种示例性移动设备的组件框图,其中该移动设备被配置为基于接收的受损的模块变型的通知,使用多个可能的模块变型中的一个可能的模块变型来实现软件的运行时的模块。图4是示出供移动设备接收通知,以界定可以在软件的运行时实现的模块的可能模块变型的实施例方法的过程流程图。图5是示出供服务器计算设备(或服务器)针对用户移动设备所执行的软件的模块,发送与受损的模块变型有关的通知的实施例方法的过程流程图。图6是适合于在实施例中使用的移动计算设备的组件框图。图7是适合于在实施例中使用的服务器计算设备的组件框图。具体实施方式现在参照附图来详细地描述各个实施例。在可能的情况下,将贯穿附图来使用相同的附图标记,以指代相同或者类似的部分。对于特定示例和实现方式的引用是出于说明的目的,而不旨在限制本专利技术或者权利要求的保护范围。本文所使用的“示例性的”一词意味着“用作例子、例证或说明”。本文中描述为“示例性”的任何实现方式不必被解释为比其它实现方式更优选或更具优势。本文使用术语“移动计算设备”或“移动设备”指代以下各项中的任何一项或全部:蜂窝电话、智能电话(例如,苹果手机(iPhone))、网络平板(web-pad)、平板计算机、具备互联网能力的蜂窝电话、具备WiFi能力的电子设备、个人数据助理(PDA)、膝上型计算机、个人计算机和类似的装备有至少一个处理器的电子计算设备。在各个实施例中,这样的计算设备可以配置有网络收发机,以建立广域网(WAN)或局域网(LAN)连接(例如,LTE、3G或4G无线广域网收发机、与互联网的有线连接或者WiFi)。使用术语“服务器”或“服务器计算设备”指代能够作为服务器的任何计算设备,例如,主交换服务器、网络服务器、邮件服务器、应用服务器、文档服务器、以及配置有执行服务器功能的软件的个人或移动计算设备(例如,“轻量服务器”)。服务器可以是专用计算设备或者执行服务器软件的计算设备(例如,运行可以使计算设备操作成服务器的应用)。本文使用术语“模块”来指代在计算设备上执行的软件的任何模块化、可替换的和/或分立的组件。模块可以与能够被激活、生成、装载、实现和/或以其它方式被配置为在对软件的执行期间使用的特定信息、操作、逻辑、处理器可读/处理器可执行指令、子例程、应用程序设计接口和/或功能相关联。例如,软件模块可以包括:可以由应用访问以支持该应用的操作的软件库(例如,动态链接库等)、例程、对象和/或数据集。在计算设备上执行的各个应用可以使用模块,和/或用于执行各个应用的计算设备的软件平台(例如,操作系统)可以使用模块。在一些实施例中,在计算设备上执行的各种软件可以使用共同(或者“通用”)模块。通常,现代计算设备的软件(例如,应用和执行应用的操作系统)典型地被构造为高度模块化和面向对象的。例如,诸如Android(安卓)和Linux之类的操作系统使用众多的离散软件组件或者模块来执行计算平台的功能角色。为了提高采用模块的软件的安全性和性能,可以使用软件多样性技本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201580033978.html" title="出于安全的原因对各种软件模块的多个功能等效的变型的动态修补原文来自X技术">出于安全的原因对各种软件模块的多个功能等效的变型的动态修补</a>

【技术保护点】
一种用于对在移动设备上执行的基于多样性的软件进行动态修补的方法,包括:由所述移动设备获得用于指示模块变型的通知,所述模块变型不应当被用来作为针对在所述移动设备上执行的软件的模块;以及响应于获得所述通知,由所述移动设备的处理器从针对所述模块的可用模块变型列表中移除所述模块变型,其中,所述可用模块变型列表中的一个可用模块变型在所述软件的运行时被所述处理器激活作为所述模块。

【技术特征摘要】
【国外来华专利技术】2014.06.27 US 14/316,9611.一种用于对在移动设备上执行的基于多样性的软件进行动态修补的方法,包括:由所述移动设备获得用于指示模块变型的通知,所述模块变型不应当被用来作为针对在所述移动设备上执行的软件的模块;以及响应于获得所述通知,由所述移动设备的处理器从针对所述模块的可用模块变型列表中移除所述模块变型,其中,所述可用模块变型列表中的一个可用模块变型在所述软件的运行时被所述处理器激活作为所述模块。2.根据权利要求1所述的方法,其中,所述通知是所述移动设备从远程服务器接收的。3.根据权利要求2所述的方法,其中,所述通知不包括能够被所述软件用来作为所述模块的数据或者可执行代码。4.根据权利要求1所述的方法,其中,所述模块变型是有缺陷的、过时的以及被识别为被恶意软件利用的之中的一者。5.根据权利要求1所述的方法,还包括:在所述软件的运行时,由所述处理器从针对所述模块的所述可用模块变型列表中选择第一标识符;以及由所述处理器激活与所选择的第一标识符相关联的可用模块变型,以在所述软件的运行时期间用来作为所述模块。6.根据权利要求5所述的方法,其中,在所述软件的运行时,由所述处理器从针对所述模块的所述可用模块变型列表中选择所述第一标识符,包括:由所述处理器使用随机选择算法,从所述可用模块变型列表中选择所述第一标识符。7.根据权利要求5所述的方法,其中,由所述处理器激活与所选择的第一标识符相关联的所述可用模块变型,以在所述软件的运行时期间用来作为所述模块,包括以下各项中的一项:由所述处理器在所述软件的运行时生成所述可用模块变型;以及由所述处理器在所述软件的运行时装载预先生成的所述可用模块变型。8.根据权利要求5所述的方法,其中,所述模块是所述软件在运行时使用的多个模块中的一个模块,所述方法还包括:由所述处理器在所述软件的运行时,从与所述多个模块中的其它模块相关联的可用模块变型列表中选择标识符;以及由所述处理器激活针对与所选择的标识符相关联的所述多个模块中的所述其它模块的可用模块变型,以在所述软件的运行时期间用来作为所述其它模块。9.根据权利要求1所述的方法,其中,所述通知是所述移动设备在所述软件的运行时期间接收的。10.一种包括处理器的计算设备,其中,所述处理器配置有处理器可执行指令以执行包括以下各项的操作:获得用于指示模块变型的通知,所述模块变型不应当被用来作为针对在所述计算设备上执行的软件的模块;以及响应于获得所述通知,从针对所述模块的可用模块变型列表中移除所述模块变型,其中,所述可用模块变型列表中的一个可用模块变型在所述软件的运行时被所述处理器激活作为所述模块。11.根据权利要求10所述的计算设备,其中,所述通知是所述计算设备从远程服务器接收的。12.根据权利要求11所述的计算设备,其中,所述通知不包括能够被所述软件用来作为所述模块的数据或者可执行代码。13.根据权利要求10所述的计算设备,其中,所述模块变型是有缺陷的、过时的以及被识别为被恶意软件利用的之中的一者。14.根据权利要求10所述的计算设备,其中,所述处理器配置有处理器可执行指令以执行还包括以下各项的操作:在所述软件的运行时,从针对所述模块的所述可用模块变型列表中选择第一标识符;以及激活与所选择的第一标识符相关联的可用模块变型,以在所述软件的运行时期间用来作为所述模块。15.根据权利要求14所述的计算设备,其中,所述处理器配置有处理器可执行指令以执行操作,使得在所述软件的运行时,从针对所述模块的所述可用模块变型列表中选择所述第一标识符,包括:使用随机选择算法,从所述可用模块变型列表中选择所述第一标识符。16.根据权利要求14所述的计算设备,其中,所述处理器配置有处理器可执行指令以执行操作,使得激活与所选择的第一标识符相关联的所述可用模块变型,以在所述软件的运行时期间用来作为所述模块,包括以下各项中的一项:在所述软件的运行时生成所述可用模块变型;以及在所述软件...

【专利技术属性】
技术研发人员:N·伊斯兰R·古普塔
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:美国;US

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

1