恶意软件感染预测的制作方法

文档序号:22845849发布日期:2020-11-06 16:50阅读:141来源:国知局
恶意软件感染预测的制作方法

本发明涉及在计算机系统中检测恶意软件。具体地,本发明涉及对恶意软件感染的发生的预测。

恶意软件检测技术通常是在注意到威胁或攻击时利用系统之间的通信而逐系统实施的。例如,机构实施标准的恶意软件检测技术,所述标准的恶意软件检测技术安装在连接至内部网的各个系统、设备或资源中或针对连接至内部网的各个系统、设备或资源而安装。这样的方案具有以下缺点:依靠通信速度、恶意软件检测规则的更新速度以及那些规则的实施速度来实际对恶意软件攻击做出响应。

因此,减轻这些缺点将是有益的。

因此,本发明在第一方面中提供了一种保护计算机网络的子网的层次结构中的目标子网免受恶意软件攻击的计算机实现的方法,所述子网包括一组网络连接设备,所述方法包括以下步骤:针对所述网络中的各个子网生成动态系统,各个动态系统对所述子网中的易受恶意软件感染、已被恶意软件感染、被保护免受恶意软件感染以及修复了恶意软件感染的网络连接设备的数量的变化率进行建模,所述动态系统基于恶意软件在子网对之间的传输率;基于针对所述目标子网的所述动态系统,对所述目标子网在预定时间点的感染风险的度量进行评估;以及响应于风险的所述度量达到预定阈值,向所述目标子网中的设备部署恶意软件保护措施。

优选地,所述预定时间点是基于向所述子网中的所有易受感染的设备部署所述恶意软件保护措施所需的时间确定的。

优选地,所述保护措施包括按照使得所述目标子网中的易受感染的设备表现得不易受到恶意软件感染的方式对所述目标子网中的设备进行修改。

优选地,所述保护措施包括针对所述目标子网中的已被恶意软件感染的设备的修复措施。

因此,本发明在第三方面中提供了一种计算机程序单元,所述计算机程序单元包括计算机程序代码,当所述计算机程序代码被加载到计算机系统中并在所述计算机系统上执行时,所述计算机程序代码使所述计算机执行前述方法的步骤。

现在将参照附图仅通过示例的方式描述本发明的实施方式,其中:

图1是适合于本发明实施方式的操作的计算机系统的框图;

图2是根据本发明实施方式的用于对计算机网络的目标子网进行保护的网络保护器的结构的组件图。

图3是根据本发明实施方式的对目标子网进行保护的方法的流程图;

图4是根据本发明实施方式的用于对计算机网络的一部分进行保护的网络保护器的结构的组件图;

图5是根据本发明实施方式的用于对计算机网络的一部分进行保护的方法的流程图;以及

图6是根据本发明实施方式的用于对计算机网络的一部分进行保护的另选方法的流程图。

本发明的实施方式逐子网地提供抵抗恶意软件攻击的保护,其中,如本领域公知的,子网是作为ip网络的逻辑细分的子网络。网络连接设备通过其网络地址的一部分中的共同标识符而与计算机网络中的子网相关联。在互联网协议(ip)版本4寻址中,在ip地址的一组最高有效位中标识子网,如本领域技术人员所知的,特定的一组比特由子网掩码表征。

可以按照使得网络有组织地划分成子网并且子网自身可以进一步细分成另外的子网的方式对子网进行分层地有组织地建模。因此,子网可以由子网的树形结构表示,该树形结构中的各个节点对应于一子网,并且除了该树的根节点之外,各个节点具有父节点。

本发明的实施方式利用作为子网树的子网之间的关系模型来预测子网中的设备的传输以及被作为恶意软件的恶意软件感染。具体地,已知与层次结构上较远的子网之间的传输和交叉感染相比,在子网的层次结构中直接链接的子网之间的传输和交叉感染发生的可能性较高并且发生率较高。本发明的实施方式采用各个子网作为动态系统的模型来确定子网中的易受恶意软件感染、已被恶意软件感染、被保护免受恶意软件感染以及修复了恶意软件感染的网络设备的数量的变化率。各个动态系统是描述各个参数的时间依赖性的函数(诸如本领域中已知的微分方程)。

采用这种动态系统,可以针对一时间点确定层次结构中的特定子网中的设备的感染的风险或可能性。此外,这种风险信息可以用于通过部署恶意软件保护措施(诸如反恶意软件服务或修复、纠正和/或移除恶意软件所依赖的漏洞)来减轻、防止或缓解这种感染的可能性。此外,这种风险信息可以用于识别出网络中的在一时间点感染风险较低的子网,并因此识别出要优先考虑保护措施的子网,以防止与该子网的通信从而提供对恶意软件传播的屏障。

图1是适合于本发明实施方式的操作的计算机系统的框图。中央处理器单元(cpu)102经由数据总线108在通信上连接至存储部104和输入/输出(i/o)接口106。存储部104可以是任何读/写存储设备(诸如随机存取存储器(ram)或非易失性存储设备)。非易失性存储设备的示例包括磁盘或磁带存储设备。i/o接口106是对设备的接口,用于数据的输入或输出,或者用于数据的输入和输出两者。能够连接至i/o接口106的i/o设备的示例包括键盘、鼠标、显示器(诸如监视器)和网络连接。

图2是根据本发明实施方式的用于对计算机网络202的目标子网进行保护的网络保护器200的结构的组件图。网络保护器200是用于对网络202中的目标子网进行保护的软件、硬件、固件或组合组件。网络202包括多个子网,各个子网具有网络连接设备,并且各个子网有组织地分层并表示为树形数据结构,该树形数据结构每子网具有一个节点,其中除了树的根节点之外,各个节点具有父节点。因此,提供了被标识为a到m的子网。例如,实际上,子网a可以由以10.xxx.xxx.xxx开头的ip地址表示,其中子网b由以10.102.xxx.xxx开头的ip地址表示,并且子网c由以10.103.xxx.xxx开头的ip地址表示。这种子网寻址是本领域技术人员熟悉的。

网络保护器200针对网络202中的各个子网生成动态系统,以提供一组动态系统204。因此,图2中用虚线例示的动态系统204分别对应于网络202中的子网。各个动态系统对子网中的易受恶意软件感染、已被恶意软件感染、被保护免受恶意软件感染以及修复了恶意软件感染的网络连接设备的数量的变化率进行建模,动态系统基于恶意软件在子网对之间的传输率。

在本发明实施方式中,各个子网中的网络设备由反恶意软件的软件监测和保护。反恶意软件的软件提供对已感染的设备的检测,因此可以在时间段的任何特定时间点确定已感染的设备的数量。针对各个检测到的恶意软件,可以使用涵盖所有子网的动态系统对已感染的设备的时间序列进行建模。针对各个子网,构建了动态系统以对恶意软件的传播进行建模。针对n个子网,存在n个交互式动态系统以对整个计算机网络202上的传播进行建模。针对任意子网i,将动态系统构建为一组微分方程,以构造来自该组n个子网的子网i的动态系统。

动态系统描述系统在一段时间内的变化,并对网络202中的网络连接设备的状态变化进行建模。在一个示例性实施方式中,设备可以具有以下四种状态中的一种:“易受感染”状态,其表示该设备无法免疫于恶意软件的感染;“已感染”或“有感染性”状态,其表示该设备当前已被恶意软件感染并且可能与恶意软件的传播有关或者可能是恶意软件的传播的源;“被保护”或“已接种”状态,其表示该设备已被修复、打补丁或以其它方式使其免疫于恶意软件的感染;以及“已恢复”状态,其表示以前被感染的设备已被杀毒、清理或重建并且不再受到感染。在一个或多个网络连接设备被特定恶意软件感染时,感染力(infectionforce)迫使易受感染的设备的一部分有感染性;同时,接种力(vaccinationforce)迫使易受感染的设备的一部分免疫于感染;并且恢复力(recoveryforce)迫使有感染性的设备的一部分从感染恢复。

用于子网i的动态系统的示例性方程式(1)至(5)提供如下:

(1)

(2)

(3)

(4)

(5)xi=si+ii+ai+bi

其中:ci是子网i中的网络连接设备的数量;rji是恶意软件在子网i与子网j之间的传输率;ij是子网j中被恶意软件感染的设备的数量;si是子网i中易受恶意软件感染的设备的数量;vi是子网i中的设备可以被保护以免受恶意软件攻击的比率(即,接种比率);yi是子网i中已感染的设备的恢复比率;ai是子网i中已接种的设备的数量;bi是子网i中已恢复的设备的数量;并且xi是子网i中的网络连接设备的总数量。因此:dsi/dt是子网i中的易受感染的设备的数量随时间推移的变化率的微分方程;dii/dt是子网i中的已感染的设备的数量随时间推移的变化率的微分方程;dai/dt是子网i中的已接种的设备的数量随时间推移的变化率的微分方程;并且因此,dbi/dt是子网i中的已恢复的设备的数量随时间推移的变化率的微分方程。

各个动态系统都包含对同一子网内的设备之间的恶意软件传输以及来自不同子网的设备之间的恶意软件传输进行建模的数学项。同一子网内的设备间的传输率以及来自不同子网的设备之间的传输率可以通过设备间就子网的层次结构而言的规模差(scaledifference)来确定,传输率反映了恶意软件从一个设备发送至另一设备的可能性。可以将同一子网内的设备间的传输率设定为基本传输率。可以将不同子网中的设备之间的传输率定义为与基本传输率成比例。比例可以由核函数确定,该核函数包含不同子网之间的规模差:

rij=基本传输率×核函数

核函数可以是缩放和限界函数,该缩放和限界函数利用子网的层次结构模型来确定网络连接设备之间的规模差。规模差可以是根据子网层次结构的模型、例如基于层次结构中的分支计算的整数。例如,同一子网中的两个设备(例如,均在子网10.102.147.xxx中的地址为10.102.147.07和10.102.147.08的设备)之间的规模差可以定义为0。可以将位于不同子网中但共享ip地址的前两部分的两个设备(例如,10.102.147.07和10.102.196.08)之间的传输规模差定义为1。可以将位于不同子网中但共享ip地址的第一部分的两个设备(例如,10.102.147.07和10.171.186.08)的传输规模差定义为2。可以将甚至不共享ip层次结构中的ip地址的头部的设备(例如,10.102.147.07和142.36.196.08)的传输规模差定义为3。

核函数=f(子网之间的规模差)

核函数是用于缩放传输率并确保传输率界定在0至1之间的、指数形式的函数。

子网内的基本传输率、子网间的传输率、接种比率以及恢复比率是各个动态系统的与特定恶意软件有关的参数。这样的参数可以是预定的、预定义的、估计的或根据经验数据学习的。例如,来自反恶意软件的软件的现有报告事件数据可以划分成训练数据集和测试数据集。训练数据可以用于估计或学习这些参数值(诸如通过机器学习技术)。例如,可以使用机器学习方法(诸如回归、贝叶斯推断和马尔可夫链蒙特卡洛(mcmc))来估计参数。然后可以将估计结果构建成动态系统,以建立子网和通过该子网的恶意软件传播的模型。

一旦生成,网络保护器200则可以使用上述方程式基于动态系统204对网络200中的特定目标子网在特定时间点的感染风险的度量进行评估。例如,风险的度量可以是通过使用上述微分方程外推当前设备信息,根据目标子网中的预测在所述时间点易受感染或已感染的设备的比例得出的数值。网络保护器200还接收阈值206作为预定风险阈值水平,当达到该阈值时则表示需要向目标子网部署保护措施。例如,这种保护措施可以包括:针对目标子网中的设备安装修复软件,以为该设备接种从而防止恶意软件感染。因此,这种保护措施可以包括:修改目标子网中的设备;和/或针对目标子网中的被恶意软件感染的设备的修复措施。

在确定目标子网的感染风险时,必须使用被评估了风险的特定时间点。可以基于相对于参考时间点的标准的、预定义的或估计的将来时间点来选择所述时间点。在一些实施方式中,基于向目标子网中的所有易受感染的和/或已感染的设备部署恶意软件保护措施所需的时间的预测、估计或确定来确定所述时间点。也就是说,所述时间点可以选择成在足够远的将来,从而有足够的时间(如果被批准)针对目标子网部署响应性恶意软件保护措施。

图3是根据本发明实施方式的对目标子网进行保护的方法的流程图。首先,在步骤302,网络保护器200针对网络202中的子网生成动态系统204。在步骤304,该方法对目标子网在特定时间点的感染风险的度量进行评估。在步骤306,该方法确定该时间点的感染风险是否达到阈值风险206,并且在达到阈值的情况下,该方法在步骤308向目标子网中的设备部署恶意软件保护措施。

现在将描述本发明的适合于对计算机网络的一部分进行保护的另外的实施方式。图4是根据本发明实施方式的用于对计算机网络402的一部分进行保护的网络保护器400的结构的组件图。图4的许多特征与以上关于图2描述的特征相同,并且在此将不再重复。

图4的网络保护器400与关于图2描述的网络保护器的不同之处在于,网络保护器400被设置为对网络402的作为网络402中的子网的子集的一部分进行保护,而不是对单个目标子网进行保护。这是通过网络保护器400基于动态系统404对网络402中的各个子网在预定时间点的感染风险的度量进行评估来实现的。然后采用子网的(例如,作为树形数据结构的)模型410来记录各个子网的风险度量。优选地,模型410是以下树形数据结构,该树形数据结构包括与各个子网相对应的节点,并且除了树的根节点之外,各个节点具有父节点。因此,模型410包括各个子网的风险度量。

网络保护器400对树形数据结构中的节点的第一子集(第一子集中的所述节点在预定时间点被恶意软件感染的风险低于阈值风险406)进行识别。例如,如图4所例示的,模型410中的节点“i”被加了交叉阴影线以指示其当前已被恶意软件感染,并且节点“c”、“j”和“k”被加了对角阴影线以指示在预定时间点的感染风险的度量处于或高于阈值度量406。所有其它节点未加阴影以指示感染风险的度量低于阈值度量406。因此,由网络保护器400确定的第一子集包括模型410中所有未加阴影的节点。

网络保护器400还对作为第一子集的子集的、节点的第二子集进行识别,其中第二子集中的节点在模型410中与感染风险达到或超过风险阈值度量406的节点连接。请注意,图4的模型410中用突出线指示的节点“a”在模型410中与风险度量达到或超过阈值406的节点“c”如此连接。因此,节点“a”构成了节点的第二子集。

因此,以这样的方式,网络保护器400确定网络402中的以下子网位于第二子集中:所述子网在预定时间点的感染风险低于阈值风险406,但是在子网的层次结构中在拓扑上与感染风险处于或高于阈值风险406的其它子网接近。因此,网络保护器400识别应通过以下方式优先防御网络免遭恶意软件的传播的子网位于第二子集中:通过在第二子集中提供子网屏障来在网络402内在可以部署保护和/或防御措施的子网之间形成边界或界线,以限制恶意软件在网络402中的传播。优选地,虽然网络保护器400优先考虑第二子集中的那些子网以便提供这种屏障,但是针对被识别到第一子集中的所有子网执行了保护动作。

在一些实施方式中,可以基于与节点的第二子集中的各个节点所关联的子网中的设备有关的保护动作将被完成的第二时间点的估计,将预定时间点确定成使得保护动作可以在该预定时间点之前实施。例如,可以将预定时间点与估计的第二时间点进行比较,并且在发现预定时间点在第二时间点之前的情况下,则新的预定时间点可以定义成晚于第二时间点,并且可以重复网络保护器400的处理。

图5是根据本发明实施方式的用于对计算机网络402的一部分进行保护的方法的流程图。首先,在步骤502,如前所述,该方法针对子网生成动态系统。在步骤504,该方法对网络402中的各个子网在预定时间点的感染风险的度量进行评估。在步骤506,该方法对被恶意软件感染的风险确定成低于阈值风险406的子网的第一子集进行识别。在步骤508,该方法对作为第一子集的子集的、子网的第二子集进行识别,该第二子集包括与模型410中的如下节点相关联的子网:所述节点与被确定成在预定时间点的风险度量达到或超过阈值水平306的子网所关联的节点连接。在步骤510,该方法对子网的第一子集中的设备执行保护动作,优先考虑子网的第二子集中的设备。

图6是根据本发明实施方式的用于对计算机网络的一部分进行保护的另选方法的流程图。根据图6的方法,在预定时间点具有低于阈值406的感染风险的子网中的设备与在该预定时间点具有高于阈值的感染风险的子网中的设备之间实现“气隙(air-gap)”、通信屏障或通信妨碍。以这样的方式,可以减少或防止恶意软件的传播,并且可以保护网络的包括感染风险低于阈值406的子网的部分不与网络的已感染的(或可能已感染的)部分进行通信。因此,根据图6的方法,为了识别应被防止进行通信的那些子网,仅需要确定子网的第一子集。可选地,可以附加地确定以上关于图4和图5描述的第二子集,以便在网络402中在应被优先考虑预防通信的第二子集中的子网处提供屏障。

预防不同子网中的设备之间的通信可以通过以下方式实现:例如,强制断开不同子网中的设备之间的通信连接;防止在不同子网之间路由网络通信、分组或数据;防止在不同子网之间进行转发或传递或网络通信;针对要被防止进行通信的子网中的设备,防止进行网络地址转换、地址解析或地址查找;过滤网络分组、数据或通信单元以拦截、删除或防止不同子网之间的通信;拦截不同子网之间的通信;调整路由规则以防止不同子网之间的通信(包括不同子网之间的网络通信的路由);以及物理断开不同子网之间的网络连接。

首先,在步骤602,该方法如前所述针对子网生成动态系统。在步骤604,该方法对网络402中的各个子网在预定时间点的感染风险的度量进行评估。在步骤606,该方法对被恶意软件感染的风险确定成低于阈值风险406的子网的第一子集进行识别。在步骤608,该方法实施预防措施,以防止第一子集中的子网与第一子集外的子网之间的通信。

就所描述的本发明的实施方式而言,至少部分地使用软件控制的可编程处理设备(诸如微处理器、数字信号处理器或其它处理设备、数据处理装置或系统)来实施所述实施方式,将理解,用于配置可编程器件、装置或系统以实现前述方法的计算机程序被设想成本发明的一方面。例如,计算机程序可以被实现为源代码或经过编译以在处理设备、装置或系统上实施,或者可以被实现为目标代码。

适当地,计算机程序以机器或设备可读的形式存储在载体介质上,例如存储在固态存储器、诸如磁盘或磁带的磁存储器、诸如光盘或数字通用盘的光学或磁光可读存储器等中,并且处理设备利用程序或其一部分来配置该处理设备工作。可以从实现在诸如电子信号、射频载波或光载波的通信介质中的远程源提供计算机程序。这种载体介质也被设想为本发明的各方面。本领域技术人员将理解,虽然已经关于上述示例实施方式描述了本发明,但是本发明不限于此,并且存在落入本发明的范围内的许多可能的变型和修改。本发明的范围包括本文公开的任何新颖特征或特征的组合。申请人特此通知,在本申请或从本申请获得的任何这种另外申请的审查期间,可以对这些特征或特征的组合提出新的权利要求。具体地,参照所附权利要求,可以将来自从属权利要求的特征与独立权利要求的特征组合,并且可以以任何适当的方式而不是仅以权利要求中列举的特定组合的方式将来自相应独立权利要求的特征组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1