著录项信息
专利名称 | 提供预测的安全产品以及评分现有安全产品的方法与产品 |
申请号 | CN201480019991.6 | 申请日期 | 2014-02-10 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2015-12-09 | 公开/公告号 | CN105144187A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F21/56 | IPC分类号 | G06F21/56查看分类表>
|
申请人 | 配拨股份有限公司 | 申请人地址 | 美国加利福尼亚州圣***
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 配拨股份有限公司 | 当前权利人 | 配拨股份有限公司 |
发明人 | 施洛米·波拿鲁;利兰·坦客曼;麦可·马克宗 |
代理机构 | 上海翼胜专利商标事务所(普通合伙) | 代理人 | 翟羽 |
摘要
一种用于影响恶意软件的进化过程的方法、产品与计算器程序产品,所述方法包含步骤有:(a)接收一恶意软件标本;(b)产生所述恶意软件标本的变种;(c)评估所述变种并给予每个变种一体质分数;(d)选择具有至少一默认的体质分数的所述变种;以及(e)使用所述选择的变种当作步骤(a)中的恶意软件标本,以产生新一代变种。
1.一种恶意软件处理系统,其特征在于,包含:
(a)一恶意软件进化引擎,用于产生恶意标本的恶意软件变种;以及
(b)一评估器,被配置用于基于一恶毒等级和一回避等级的其中至少一者,来评估所述恶意软件变种,其中所述评估器基于以下至少一项将变种分级:
(a)一恶毒等级判断;以及
(b)一回避等级判断;
所述恶毒等级判断是至少部分基于所述变种是否展现至少部分恶意软件标本所展现的恶意的特性所做出;
所述回避等级判断是至少部分基于所述变种是否展现至少部分所述恶意软件标本所展现的回避的特性所做出;
所述回避等级是至少部分通过提交所述恶意软件标本或变种给复数个恶意软件侦测系统中的每一个所判断出;
所述系统还包括(c)一侦测器建立器,用于基于所述恶意软件进化引擎所产生与所述评估器所评估的所述恶意软件变种来产生一侦测器机制。
2.如权利要求1所述的恶意软件处理系统,其特征在于,另包含:
(d)一恶意软件提取器,用于在从知识库、生产系统,与第三方产品所组成的集合中所选出的至少一来源,收集所述恶意软件标本给所述恶意软件进化引擎。
3.如权利要求1所述的恶意软件处理系统,其特征在于,所述恶意软件进化引擎是被设制成用于通过执行从施加突变至所述恶意软件标本的可执行编码、施加突变至恶意软件发送的网络流量、施加突变至来源编码、施加突变至汇编语言编码,以及交叉合并所述恶意软件变种所组成的集合中选出的至少一者动作,来产生所述恶意软件变种。
4.如权利要求3所述的恶意软件处理系统,其特征在于,被施加于可执行的编码的所述突变是从由以下构成的一集合所选出:
(i)随机突变;
(ii)将一给定指令序列替换为另一功能相同的指令序列;
(iii)将一选出的程序库呼叫替换为一功能相同的不同程序库呼叫;
(iv)将一选出使用的程序库替换为一功能相同的不同程序库;
(v)增加被辨识为具有恶意功能的区域中的所述突变的各别概率;
(vi)增加被辨识为不倾向阻止所述可执行的编码的适当执行的区域中的所述突变的各别概率;
(vii)增加安全产品所签署的区域中的所述突变的概率;
(viii)增加所述突变导致体质分数增加的区域中的所述突变的概率;
(ix)针对已加入二元编码的一区段重写所述可执行的编码的标头,造成所述区段的扩张;
(x)将所述可执行的编码与其他所述可执行的编码结合,以产出合并的编码,以及重写相关标头,以允许所述合并的编码的适当执行;以及
(xi)修改所述可执行的编码的特定区段,以将相关操作系统呼叫的动态功能呼叫调用改变为静态调用。
5.如权利要求3所述的恶意软件处理系统,其特征在于,一攻击机器是被配置成用于寄送所述恶意软件发送的网络流量至所述恶意软件进化引擎,所述恶意软件进化引擎另被配置成用于施加所述突变至所述恶意软件发送的网络流量并寄送变异的恶意软件发送的网络流量至受害机器;
其中所述变异的恶意软件发送的网络流量在所述受害机器上造成的结果是由所述评估器评估,以判断所述恶毒等级。
6.如权利要求5所述的恶意软件处理系统,其特征在于,施加至所述恶意软件发送的网络流量的所述突变包含修正CRC/校验和值字段,或是在各种协议中的网络封包的任何其他字段,以在封包的载荷中或标头的各种突变之后,使所述CRC/校验和值或是其他字段为有效。
7.如权利要求5所述的恶意软件处理系统,其特征在于,在一安全频道中,通过包住含有所述恶意软件发送的网络流量的网络通讯,导致所述恶意软件发送的网络流量被混淆。
8.如权利要求3所述的恶意软件处理系统,其特征在于,使用从包含打包、加密与编码的所述集合所选出的技术,致使所述恶意软件标本的可执行编码被混淆。
9.如权利要求1所述的恶意软件处理系统,其特征在于,所述评估器对所述变种加大体质分数,以及,其中基于所述体质分数,所述系统选择所述变种的至少一部分作为新的所述恶意软件标本。
10.如权利要求1所述的恶意软件处理系统,其特征在于,所述评估器对所述变种加大体质分数,以及,其中基于所述体质分数,所述系统针对所述侦测器建立器选择所述变种的至少一部份。
11.如权利要求1所述的恶意软件处理系统,其特征在于,所述侦测器建立器是用于制作出一侦测器,透过处理以下组件的其中至少一者:
(a)所述恶意软件变种的可执行二元;
(b)所述恶意软件变种所发送或接收的网络流量;
(c)所述恶意软件变种的系统呼叫;
(d)所述恶意软件变种的API呼叫;以及
(e)所述恶意软件变种的内存脚印与内容。
12.如权利要求11所述的恶意软件处理系统,其特征在于,所述侦测器建立器制作至少一个侦测器,所述侦测器用以侦测以下至少一者:
(a)网络行为签署;
(b)网络行为类型;
(c)可执行的签署;
(d)可执行的类型;
(e)系统呼叫签署;
(f)系统呼叫类型;
(g)CPU动作签署;
(h)CPU动作类型;
(i)API呼叫签署;以及
(j)API呼叫类型。
13.如权利要求12所述的恶意软件处理系统,其特征在于,所述侦测器是被设置作为一平台上的独立侦测模块,所述平台是选自包含一终端点、一网关、一网络组件、一网络设备,以及一整合的第三方侦测平台的集合。
14.如权利要求10所述的恶意软件处理系统,其特征在于,所述回避等级另通过运行与所述侦测器建立器所建立的侦测器相抵触的所述恶意软件标本或所述恶意软件变种来判断。
15.如权利要求1所述的恶意软件处理系统,其特征在于,所述评估器另用于通过运行所述变种在一虚拟机与一实体计算器其中的至少一者上,来评估所述恶毒等级。
16.一种用以影响恶意软件上的进化过程的方法,所述方法包含以下步骤:
接收一恶意软件标本;
产生所述恶意软件标本的变种;
评估所述变种的回避与恶毒并给予每一所述变种一各别体质分数;所述回避是经由扫描具有安全系统的一所选择集合的每一所述变种来量测,并基于安全产品没有侦测所述变种的能力,来给予一回避分数;对所述恶毒的量测是通过针对每一所述变种,来判断所述变种是否造成恶意的活动,并基于所述判断给予恶毒分数;
选择具有至少一默认的各别体质分数的所述变种;
使用所选择的所述变种做为步骤中的所述恶意软件标本,从步骤产生所述变种的新一代;
收集所述变种的踪迹数据与良性的档案或网络流;
将所述踪迹资料分类为以下范畴其中的至少一者:恶意的变种的踪迹、良性档案的踪迹,以及在所述进化过程期间失去恶意活动的退化的恶意软件变种的踪迹;以及建立能够侦测以及分辨恶意特性与非恶意特性的侦测器;以及
从所述侦测器中选择,其中的至少一所述侦测器具有在一默认等级之上的一分级,所述分级是基于:
(i)被正确地侦测的恶意特性的一数目;
(ii)被正确地侦测的非恶意特性的一数目;以及
(iii)所述侦测器的不足,是由以下项目其中的至少一者所判断:长度、内存与计算的工作负荷。
17.如权利要求16所述的方法,其特征在于,产生所述恶意软件变种的所述步骤包含执行从所述集合选择的至少一动作,所述集合包含:施加突变所述恶意软件标本的可执行编码、施加突变至恶意软件发送的网络流量,以及交叉合并所述恶意软件变种。
18.如权利要求17所述的方法,其特征在于,被施加于可执行的编码的所述突变是从由以下构成的一集合所选出:
(i)随机突变;
(ii)将一给定指令序列替换为另一功能相同的指令序列;
(iii)一选出的程序库呼叫被替换为一功能相同的不同程序库呼叫;
(iv)一选出的被使用的程序库被替换为一功能相同的不同程序库;
(v)增加被辨识为具有恶意功能的区域中的所述突变的各别概率;
(vi)增加被辨识为不倾向阻止所述可执行的编码的适当执行的区域中的所述突变的各别概率;
(vii)增加安全产品所签署的区域中的所述突变的概率;
(viii)增加所述突变导致所述体质分数增加的区域中的所述突变的概率;
(ix)针对已加入二元编码的一区段重写所述可执行的编码的标头,造成所述区段的扩张;
(x)将所述可执行的编码与其他所述可执行的编码结合,以产出所合并的编码,以及重写相关标头,以允许所述合并的编码的适当执行;以及
(xi)修改所述可执行的编码的特定区段,以将相关操作系统呼叫的动态功能呼叫调用改变为静态调用。
19.如权利要求17所述的方法,其特征在于,施加所述突变至恶意软件发送的网络流量包含以下步骤:
(i)将所述恶意软件发送的网络流量从一攻击机器寄送至一路由器;
(ii)将所述恶意软件发送的网络流量的组件变异;以及
(iii)将所变异的所述恶意软件发送的网络流量寄送至一受害机器。
20.如权利要求19所述的方法,其特征在于,另包含评估所变异的所述恶意软件发送的网络流量,评估步骤包含:
(iv)纪录在所述受害机器上所变异的所述恶意软件发送的网络流量的一结果;以及(v)评估所述结果以判断所述体质分数。
21.如权利要求16所述的方法,其特征在于,每一所述变种是被执行于一虚拟机与一实体机器其中的至少一者上。
22.如权利要求21所述的方法,其特征在于,另包含以下步骤:
(f)监控执行所述变种时的编码涵盖,以鉴别未被执行的编码区域,所述未被执行的编码区域是指示所述变种中整合的触发。
23.如权利要求16所述的方法,其特征在于,对所述体质分数的计算是基于至少所述回避分数与所述恶毒分数。
24.如权利要求23所述的方法,其特征在于,对所述体质分数的计算另基于来自所述恶意软件标本的所述变种的一发散程度。
25.如权利要求16所述的方法,其特征在于,另包含以下步骤:
基于侦测所述变种中成功的一等级,来给予每一安全产品一分级。
26.如权利要求25所述的方法,其特征在于,所述分级是基于相关于其他所述安全产品的成功的所述等级。
27.如权利要求21所述的方法,其特征在于,另包含以下步骤:
执行所述变种在所述虚拟机与所述实体机器上;以及
将在所述虚拟机上,与在所述实体机器上执行的所述变种进行比较,以侦测结果之间的一差异。
28.如权利要求27所述的方法,其特征在于,如果发现所述差异,只会以所述实体机器执行所述变种在所述实体机器上的所述结果来评估所述变种。
29.如权利要求21所述的方法,其特征在于,另包含以下步骤:
寄送其中的选自以下的至少一者:在执行所述变种时的默认系统信号、通信数据、参数,以抵销整合的触发,其中至少一信号已被终端设备或网络设备上的媒介架构所捕捉。
30.一种用于训练针对一字节串流的一恶意软件侦测器的方法,所述方法包含以下步骤:
(a)捕捉一网络交谈或任何其他二元数据的一字节串流;以及以一正整数的一线性向量来代表所述字节串流,其中所述字节串流包含恶意软件变种、良性网络活动或档案的一踪迹;
(b)重整所述线性向量成为一正方矩阵,从而接收一灰阶图像;
(c)将所述灰阶图像进行标准化为统一分辨率;
(d)使用其中的至少一图像处理技术来从标准化图像取出特征;
(e)重复步骤(a)至(d)并储存恶意的变种于一第一数据库,而良性的流量是储存于一第二数据库;
(f)训练一恶意软件侦测器以分辨所述恶意软件变种与所述良性的流量,其中训练步骤是由一支持向量机所实行。
31.如权利要求30所述的方法,其特征在于,所述至少一图像处理技术是选自集合,所述集合包含:Gabor小波系数,统计系数、主成分分析、线性判别分析、以及独立成分分析。
提供预测的安全产品以及评分现有安全产品的方法与产品
技术领域
[0001] 本发明是关于网络安全(Cyber security),更确切地,是关于一种提供一预测的安全产品的方法与产品,以及评分现有安全系统的方法与产品。
背景技术
[0002] 网络安全供货商与黑客之间持续着猫抓老鼠的竞赛:当供货商发出静与动态签署以及侦测类型来辨识恶意软件时,所有黑客需要做的只有在已被鉴别与认证恶意软件中执行微小的改变,因此有系统地回避了这些侦测方法。这是广泛且一般的现象:99%以上的新恶意软件,至少部分,实际上是伴随着微小改变的再生恶意软件。
[0003] 为了提供了能保护个人与公司网络免于不同恶意软件与意外入侵危害的恶意软件侦测套件,现今已有不同的尝试。全部所知的恶意软件侦测器是使用互动方式与相关技术来防范已知的计算器病毒、攻击方法、恶意软件行为、恶意软件类型、漏洞、可利用的部分等等。尚未有能以预测以及主动的方式来防范未知恶意软件的技术的供货商、产品或包装。
另外,更困难的是以客观的方式与经验决定出较好的安全产品。
[0004] 能用于预测未知恶意软件以及防范这种恶意软件的方法、计算器程序与系统是很有用处的。能评估并衡量安全产品能力的方法也对进行抗衡有很大好处。
[0005] 定义
[0006] 术语「恶意软件」指的是来自以编码、可执行内容、脚本、主动内容、以及其他软件形式以及输入/输出潜在串流,像是能造成攻击的网络封包串流,为形式的恶意软件。恶意软件包含病毒、exploits病毒、木马程序、臭虫,rootkits病毒、间谍软件等等,但不限于这些。
[0007] 术语「恶意软件标本」指的是用于进化过程的恶意软件片段,如下详述,所述恶意软件片段一般是被所提供系统或第三方系统、方法或处理所不定时取得或纪录。一些标本是在被感染的/污染的计算器上找到,或是被存于特殊数据库。在进化过程中,恶意软件标本是被用在所提供处理的后续阶段中(以下有更清楚说明)。
[0008] 术语「变种」是借自生物的辞库,是关于进化且指的是恶意软件标本的版本或「突变」,所述恶意软件标本的版本或「突变」能被以随机、部分随机、假随机的刻意方法来变换或变异。变种可通过在恶意软件编码上执行「突变」、合并两个或更多组编码、或是熟习技艺者所知的遗传程序的任何其他形式所产生。
[0009] 术语「突变」,在此使用也是借自生物的辞库且指的是对恶意软件标本的编码所做的改变。举例来说,突变会包含增加或移除程序码行、重组程序码行、复制程序码行、改变参数、替换给第三方编码的呼叫、改变端口、改变所使用的程序库等。
[0010] 术语「恶意变种」在此使用于意指仍有恶意的恶意软件标本的一改变版本。失去恶意特性的变种在此被指为「无恶意变种」。
[0011] 术语「回避变种」在此使用于意指恶意软件标本的一改变版本,且所述恶意软件标本的改变版本仍有与标本的回避等级可相比的回避等级(例如,像是原本恶意软件标本,被相同或更少数目的恶意软件侦测系统所侦测)。已失去回避特性的变种(例如,相比于原本标本较不会回避)在此被指为「无回避变种」。
[0012] 一般来说,除非特定,否则,术语「恶意特性」指的是恶意编码(例如,用于执行的指令组)、恶意行为(例如,当分开执行时不一定是恶意,但在特定方式一起执行时会有恶意意图的动作/指令)或两者的结合。
[0013] 侦测器是用于侦测的计算器程序产品,并在一些状况中抵抗在目标系统或网络上的恶意软件。侦测器也会采用被使用一或多个侦测方法的第三方产品所使用,并为熟习技艺者所知的定义形式,以侦测可疑恶意软件。
[0014] 术语「脚印」、「踪迹」或「攻击踪迹」等是关于档案或其他恶意的编码(举例来说,像是连续的网络封包)所遗留的所有类型的脚印/证据,包含:网络流量、二元编码、操作系统与API呼叫、CPU活动、内存脚印(memory footprint),上述的任何内容与结合。所述术语脚印/踪迹可附带不同的修饰语。
[0015] 术语「遗传运算符」指的是使恶意软件变种变异与合并/交叉的运算符。
发明内容
[0016] 本发明提供用以基于进化原则并防止这样的恶意组件与其他相似组件的产品、方法与系统。
[0017] 依据本发明提供了一系统,包含(a)一恶意软件进化引擎,用于产生恶意标本的恶意软件变种;以及(b)一评估器,被配置用于基于一恶毒等级和一回避等级的其中至少一者,来评估所述恶意软件变种。以及在一些实施例中的(c)一恶意软件提取器,用于在从知识库、生产系统,与第三方产品所组成的集合中所选出的至少一来源,收集恶意软件标本给所述进化引擎;以及/或是(c)一侦测器建立器,用于基于所述进化引擎所产生与所述评估器所评估的所述恶意软件变种来产生一侦测器机制。
[0018] 依据以下描述的本发明的另外特征,或在一方法中,所述进化引擎是被设制成用于通过执行从施加突变至所述恶意软件标本的可执行编码、施加突变至恶意软件发送的网络流量、施加突变至来源编码、施加突变至汇编语言编码,以及交叉合并所述恶意软件变种所组成的所述集合中选出的至少一动作,来产生所述恶意软件变种。又依据其他特征,或在一方法中,所述突变是从由以下构成的一集合所选出:(i)随机突变;(ii)将一给定指令序列替换为另一功能相同的指令序列;(iii)一选出的程序库呼叫被替换为一功能相同的不同程序库呼叫;(iv)一选出的被使用的程序库被替换为一功能相同的不同程序库;(v)增加被辨识为具有恶意功能的区域中的所述突变的各别概率;(vi)增加被辨识为不倾向阻止所述可执行的编码的适当执行的区域中的所述突变的各别概率;(vii)增加安全产品所签署的区域中的所述突变的概率;(viii)增加所述突变导致所述体质分数增加的区域中的所述突变的概率;(ix)针对已加入二元编码的一区段重写所述可执行的编码的标头,造成所述区段的扩张;(x)将所述可执行的编码与其他所述可执行的编码结合,以产出所合并的编码,以及重写相关标头,以允许所述结合编码的适当执行;(xi)修改所述可执行的编码的特定区段,以改变对相关作业有系统地的静态调用的的动态功能呼叫。
[0019] 又依据其他特征或一平行方法,一攻击机器是被设制成用于寄送所述恶意软件发送的网络流量至所述进化引擎,所述进化引擎另被设置于施加所述突变至所述恶意软件发送的网络流量并寄送所述变异的恶意软件发送的网络流量至受害机器,其中所述变异的恶意软件发送的网络流量在所述受害机器上造成的结果是由所述评估器评估,以判断所述恶毒等级。
[0020] 又依据其他特征,被施加至所述恶意软件发送的网络流量的所述突变包含修正CRC/校验和值字段,或是在不同协议中的一网络封包的任何其他字段,以在所述封包的载荷中或标头的各种突变之后,使所述CRC/校验和值或是其他字段。
[0021] 又依据其他特征,在一安全频道中,通过包住含有所述恶意软件发送的网络流量的网络通讯,或使用加密与编码,导致所述恶意软件发送的网络流量被混淆。
[0022] 依据另一实施例,提供了一种用以影响恶意软件上的进化过程的方法,所述方法包含以下步骤:(a)接收一恶意软件标本;(b)产生所述恶意软件标本的变种;(c)评估所述变种并给予每一所述变种一各别体质分数;(d)选择具有至少一默认的各别体质分数的所述变种;以及(e)使用所选择的所述变种做为步骤(a)中的所述恶意软件标本,从步骤(a)产生所述变种的新一代。
[0023] 在一些实施例中,所述方法另包含以下步骤:(f)收集所述变种的踪迹数据与良性的档案或网络流;以及(g)将所述踪迹数据分类为以下范畴其中的至少一者:恶意的变种的踪迹、良性档案的踪迹,以及在所述进化过程期间失去恶意活动的退化的恶意软件变种的踪迹。以及(h)建立能够侦测以及分辨所述恶意特性与非恶意特性的侦测器。
[0024] 在其他特征中,所述方法另包含以下步骤:(i)从所述侦测器中选择,其中的至少一所述侦测器具有在一默认等级之上的一分级,所述分级是基于:(i)被正确地侦测的所述恶意特性的一数目;(ii)被正确地侦测的所述非恶意特性的一数目;以及(iii)被正确地侦测的恶意特性的不足,其中会给予较短恶意特性的侦测一较高分级。
[0025] 又依据其他特征,所述方法另包含以下步骤:执行所述变种在所述虚拟机(VM)与所述实体机器上;以及将在所述虚拟机上,与在所述实体机器上执行的所述变种进行比较,以侦测所述结果之间的一差异,其中当发现所述差异时,只会以所述实体机器执行所述变种在所述实体机器上的所述结果来评估所述变种。
[0026] 又依据其他特征所述方法另包含以下步骤:寄送其中的选自以下的至少一者:在执行所述变种时的默认系统信号、通信数据、参数,以抵销整合的触发。
[0027] 又依据其他特征所述方法另包含以下步骤:监控执行所述变种时的编码涵盖,以鉴别未被执行的编码区域,所述没被执行的编码区域是指示所述变种中整合的触发。
[0028] 依据另一实施例,提供一种用于训练针对一字节串流的一恶意软件侦测器的方法,所述方法包含以下步骤:(a)捕捉一网络交谈(session)或任何其他二元数据的一字节串流;以及以一正整数的一线性向量来代表所述字节串流,其中所述字节串流包含恶意软件变种、良性网络活动或档案的一踪迹;(b)重整所述线性向量成为一正方矩阵,从而接收一灰阶图像;(c)将所述灰阶图像进行标准化(normalize)为统一分辨率;(d)使用其中的至少一图像处理技术来从所述标准化图像取出特征;(e)重复步骤(a)至(d)并储存恶意的变种于一第一数据库,而良性的流量是储存于一第二数据库;(f)训练一恶意软件侦测器以分辨所述恶意软件变种与所述良性流量。
[0029] 依据其他特征,所述至少一图像处理技术是选自所述集合,所述集合包含:Gabor小波系数,统计系数、主成分分析、线性判别分析、以及独立成分分析。依据其他特征,所述训练步骤是由一支持向量机所实行。
[0030] 依据另一实施例,提供一种用于从一恶意软件标本产生恶意软件变种的方法,所述方法包含以下步骤:产生所述恶意软件变种,通过执行以下集合其中至少一动作:施加突变至所述恶意软件标本的可执行编码;施加突变至恶意软件发送的网络流量;以及交叉合并所述恶意软件变种。
[0031] 依据另一实施例,提供一种方法,所述方法包含以下步骤:(a)接收一恶意软件标本;(b)产生所述恶意软件标本的变种;(c)扫描具有安全产品的一所选择集合的每一所述变种,并给予回避分数,基于所述安全产品没有侦测所述变种能力。依据其他特征,所述方法包含以下步骤:(d)基于侦测所述变种中成功的一等级,来给予每一所述安全产品一分级。以及在一些实施例中,所述分级是基于相关于其他所述安全产品的成功的所述等级。
附图说明
[0032] 本发明在本文中的描述仅作为示例,并参照附图所示,其中:
[0033] 图1是防毒引擎扫描恶意软件的一对示范性结果;
[0034] 图2A-C是一示范性侦测器产生过程的阶段;
[0035] 图3是本发明的所述进化过程的流程图;
[0036] 图4是建立一侦测器的一过程的流程图;
[0037] 图5是评估回避并给定所选择安全产品评分与标准的所述过程的流程图;
[0038] 图6A-6C是示范性客户端实行脚本的示意图;
[0039] 图7是一图像处理算法的流程图;
[0040] 图8是网络流量进化的一实施例的示意图。
具体实施方式
[0041] 考虑到发明人可恰当地限定术语以描述实施例,应该理解的是在此所使用的术语不应该理解为被限制在一般的和字典的意思上,而是应该基于实施例的对应的技术方案的含义和概念来解释。
[0042] 透过参考图示与相应的描述可了解依据本发明的一系统的原理与作业。在本发明一实施例中,提供了一系统,所述系统包含服务器端组件客户端组件。所述服务器端组件包含以下组件:一选择的恶意软件提取器、一预测引擎与一侦测器建立器。所述预测引擎包含一进化引擎与一评估器。在本发明一实施例中,可选择地,在所述客户[机器]端,所述系统包含端点媒介架构(代理)以及/或是网络设备。所述服务器端组件可以被实用于一单一服务器上、同位置的服务器或一云端基础配置。
[0043] 恶意软件提取器
[0044] 所述恶意软件提取器是一选择的模块,被指定于从以下不同来源,但不限制,收集恶意软件标本:开放的恶意软件知识库、封闭的恶意软件知识库、用户端等等。所述恶意软件提取器,在一些实施例中,另被配置于将所述标本依据踪迹特性以及/或是现有技术或元数据来分类。在一些实施例中,所述恶意软件提取器收集相关于所收集的恶意软件标本的额外数据(例如所述恶意软件类型、所述恶意软件被指定的所述平台等等。)。
[0045] 恶意软件的所述标本,所述恶意软件提取器来源,被用作所述进化过程的基本,所述进化过程会创造新变种。所述系统后的所述原理,如其他地方所提,是所述新恶意软件的绝大多数(95%以上),包含恶意软件组件或现有恶意软件重复使用而来的组件(80%左右)。也就是说,相反于创造全新的恶意软件,所述绝大多数的黑客只是将老旧恶意软件用新配置再组合。纵使「完全新的」恶意软件也会至少在一些已知的编码或行为重复使用(脚印)。在维持相同恶毒等级或增加所述等级时,新恶意软件的好的部分相比于较老旧的配置是较难侦测的。当新的恶意软件持续浮现,所述恶意软件提取器开始具有寻找所述预测引擎的新恶意软件的工作,以开始所述进化过程。如此一来,就算是真的「新」恶意软件或恶意软件组件也会被所述的创新系统快速地发现与处理。通过提供能预先防护几乎所有既有组件的变种的系统,经济且简单地创造新恶意软件的所述能力会被有效压制,使得黑客的工作更昂贵且费时,因此打击所述恶意软件产品的实施。
[0046] 预测引擎
[0047] 所述预测引擎通过产生大量的所述恶意软件标本的随机或半随机变种,来复制黑客用来创造新恶意软件的所述方法。其中,所述黑客做出转换所述老旧恶意软件的质量驱动选择以制作所述新的且更好的恶意软件,所述预测引擎使用大量的「盲目」方法来创造大数量(数百至数百万)的使用所述进化引擎的变种。
[0048] 进化引擎
[0049] 在一实施例中,所述进化引擎接收一恶意软件标本并用以下方法产生所述基本标本的变种:
[0050] a)所述引擎产生大量的所述恶意软件标本的半随机突变,在所述二元编码或所述其他方面的恶意软件(例如发送的网络封包,来源编码,组合编码等等),以创造所述原始恶意软件标本的新一代大量变化(或变种)。所述的改变都以不同的方式进行。所述的改变可能包括添加到所述编码以及/或是去除部分编码,用一随机、半随机以及/或是假随机方法、一所述编码的重组、改变参数、复制程序码行等等。
[0051] b)可选择地,所述进化引擎也可以合并两个或更或恶意软件部分来制作大量的附加变种。如此一来,会产生很多所述基本标本的变化。
[0052] c)「自然选择」(或适者生存)-所述预测引擎则使用了进化元选择过程来选择所述最佳变种。所述特性与所述变种的追踪数据被会记录下来,且所述变种会被回馈到所述进化引擎,以制作出新一代的变种。连续世代的所述最适合变种会经过突变的所述进化过程,合并/交叉,并选择了一遍又一遍,直到达到一预定目标,像是一预定数目的世代的生产,或其中连续世代不再显示重要的进化等等。
[0053] 为了增加所述的连续几代的变种的存活率(例如展现恶意行为的所述新变种的比率),并增强的所述进化过程的所述潜力,一些所述突变要求用于此目的的已开发复杂技术。因此,在一些实施例中,所述进化进制引擎可以包括,但不限于,以下所述遗传作业器中的一或多个(即变异所述恶意软件变种的作业器):
[0054] 修改可执行者(PE/ELF/MachO/LE/等等):
[0055] 1.鉴别和映像可执行的(例如,文字/程序码区段)所述不同的区段,并增加区域中所述突变相关于所述恶意功能,或不太可能防止所述可执行被正确地加载与执行的概率。
[0056] 2.增加由其他安全产品所签署的编码区域中的所述突变的概率(假设黑客会先改变那些区域)。
[0057] 3.增加接近于被变异,导致所述变种的体质分数中的签署改变的点的编码区域中的所述突变概率。
[0058] 4.通过加入二元编码与重写所述可执行标头来扩张所述相关区段,如此一来所重写的可执行的标头对于所扩张区段的新大小是足够的。
[0059] 5.结合来自两个或可执行的档案中的区段,以创造新的可执行文件案,同时重写所述相关标头以允许所述新档案被加载与执行。
[0060] 6.黑客所广泛使用的自动模拟方法,例如:
[0061] i)修改所述可执行的进口地址表格(import address table,IAT)与其他相关区段,以改变对所述相关作业有系统地的静态调用的动态功能呼叫,以及/或是将所述动态呼叫所执行的所述编码注入至所述可执行者,以上是举例。
[0062] ii)使用以下例子来增加疑惑至不同档案区段:打包、加密或编码(这可由相同目的的黑客所使用的工具与方法做到)。
[0063] 所述进化过程与引擎的一可能实施例中,所述引擎是以允许网络流量进化(例如变异网络封包)的方式来建立。图8叙述网络流量进化800的一实施例。所述引擎包含一「攻击」机器,所述攻击机器会送出恶意封包802给一「受害者」机器810。所述封包会被传过(步骤804)路由器806,路由器806会变异所述封包的所述字段或载荷,在被传至(步骤808)所述「受害者」机器。只有所述被变异的封包被传送至所述「受害者」。所述受害者被攻击的结果(成功/失败),被传送至(步骤812)所述评估器814,以决定所述新攻击变种是否仍是恶意的。在一实施例中,所述「受害者」是一沙盒。在另一实施例中是一实体机器。
[0064] 为了增加所述变异的网络攻击的存活率,所述系统会修正不同协议中(例如以太网络或网络协议)的网络封包的所述CRC/校验和值字段,以在所述封包的所述载荷或标头中的不同突变后呈现所述有效字段。
[0065] 所述系统会使用相似于黑客用于丰富与增大所述恶意软件进化的疑惑技术。这样的技术会包含,举例来说,在一安全频道(例如加密)中包住网络通讯。
[0066] 评估器
[0067] 在本发明一实施例中,所述竞天择的过程是由一第二组件,评估器来实行,所述评估器评估每个变化或「突变」。所述评估器从所述进化引擎接收恶意软件标本变种,并用已知的安全产品与所述侦测器建立器所创造的侦测器,来扫描所述编码/标本,基于先前群体以及/或是恶意软件变种的世代(共同进化侦测器或后进化侦测器)。所述评估器传回两种类型的数据组:所述第一种是所述进化引擎使用在所述选择过程的值或分数,而所述第二种是关于帮助所述侦测器建立器创造改进的侦测器的特性与数据(脚印)。所述评估器依据不同参数评估所述变种,其中最重要的参数是所述恶毒与回避参数。所给予的分数或分级是要鼓励变种的所述进化,所述进化能够逃避安全产品侦测,同时保持恶意的特性。所述评分方法本身可以在所述进化过程中动态地改变,以增强不同的所需特性(所述变种群的多样性以及/或是所述算法的计算效率)。
[0068] 在其他实施例中,所述评估器还可以对所述变种以多样性/距离来分级,例如来自所述原始恶意软件的现有变种的多样程度或不同程度。评估的额外潜在参数包含与良性档案相似度的等级等等。
[0069] 所述评估器会另判断回避所变异的编码已达到的等级。较佳地,所述编码是通过已知的恶意软件侦测器运行的,恶意软件侦测器包含安全产品(例如不同的防毒引擎、基于主机的IPS、网关产品、像是FireEye公司的FireEyeTM、网络的IDS系统等等)以及,在一些实施例中,由所述侦测器产生器所产生的侦测器。所述回避分数反映所述的所述变种回避一或侦测机制的能力。对一些安全形式,所述结果是二元的,无论是所述变种是否已被侦测。
其他侦测器可以传回一个侦测率,例如侦测器会传回关于一处理或档案室恶意软件的可能性的一统计分数。图1是来自示范性防毒(AV)引擎的结果的两个表格,所述防毒引擎扫描了两件示范性恶意软件,其中所述恶意软件的其中一件是其他件的进化变种。所述左侧表格描述所述九个安全产品,所述九个安全产品在所述恶意软件经过进化(所述进化过程)前,扫描到一Java漏洞。所述九个AV引擎中的六个辨识所述编码为恶意软件。所述右侧表格描述来自所述相同AV引擎运行于所述相同Java漏洞(例如在运行所述Java漏洞恶意软件上的本发明的所述进化过程之后)的一变种(一世代之后)上的结果。所述变种展示回避的高等级,所述AV引擎中只有一个所述辨识编码是恶意的。
[0070] 在一些实施例中,所述评估器判断所变异的编码是否仍是恶意的或不使用动态分析。在一些实施例中,所述评估器简单用「是/否」的值回答此问题。在其他实施例中,恶毒的等级或真实程度会被判断。一动态分析器执行所述动态分析于所述变种上,以确认或证实所述变种仍执行着恶意的活动(例如,与所述一远程木马(RemoteAccessTrojan,RAT)型的恶意软件的作业器通信,或倾倒载荷于一再使用漏洞中),以及,在一些实施例中,用以判断所述变种的一恶毒等级,基于不同预设参数以及/或是执行于虚拟机(VM)或实体机器上的测试。在其他实施例中,在运行所述变种在一沙盒中之后会给予一真/假或二元分数。
[0071] 同时,在一些实施例中,所述评估过程会提供行为数据等等。(踪迹数据)关于所述变种活动(事件、系统呼叫等等。),会被纪录以及使用于产生新的侦测器。
[0072] 所述评估器会使用一或多个方法来处理或面对黑客所使用的方法以防止恶意档案被分析:
[0073] 1.将一虚拟机中的恶意档案的所述运行踪迹/脚印,与一实体机器中相同档案的另一运行踪迹/脚印比较。显著差异指出,所述恶意软件使用反虚拟机技术且其变种应该只能在实体机器上评估。
[0074] 2.黑客通常整合恶意软件中的触发,以让所述恶意软件的执行回避所述需要的内容之外。为了应对这些技术,所述评估器会使用以下技术:
[0075] A.在运行所评估变种时,所述评估器会发送已被端点装置与网络设备上的媒介架构(代理)所捕捉的相关操作系统信号、通信、参数等等。
[0076] B.监控所述处理所加载的所述二元编的码遮盖(可执行的与被分享的涵式库)以鉴别没被执行(或只在一些条件满足时被执行)的编码区域。这种区域大部分指示前在触发。
[0077] 每一变种接收,以下其中的至少一者,来自所述评估器的一恶毒分数与一回避分数。从所述变种从所述评估器接收的不同的参数/分数所述变种来计算一体质分数,当中最重要的是所述恶毒与回避分数。变种通过所述选择过程并接收所述体质分数。视被处理的变种与所述系统的目标可使用不同的选择方法。不同时间可使用不同方法(就算是相同进化过程),且所述方法在所述过程中会自己改变。一变种在所述选择过程中存活的可能性一般与所述体质分数直接相关。在一些实施例中,如果所述体质分数高于一默认等级,则所述变种会存活在所述选择过程中(如前所述,所述体质分数会由一动态评估器达到,结果会有一动态体质参数)。在其他实施例中,所述选择过程会是竞争的选择过程,其中最适合的变种会被选择在一「击倒制」脚本中。又在其他实施例中,所述选择过程会是一导引过程,其中特定特性会被选择而生存。所述选择过程会是两或更多的方法所结合,或没提到的现有技术中所知的其他方法。
[0078] 在一些实施例中,已显示能完成或补足所述进化过程的一特定特性的变种会被选择于更进一步的传播。例如,显示回避一特定侦测器的能力,或是更会回避的一变种,而另一方面较无恶意的或不再有恶意的,纵使不是恶意的仍可被选择于传播。在下一排列/世代中,相同变种可被合并于一恶意的变种以制作具有已被发现/显示的所述特定回避特性的恶意变种。
[0079] 无论使用哪个选择过程,所选择的变种会被送回所述进化引擎当作新的恶意软件标本,以进行所述进化过程的更进一步排列。在一些实施例中,所述系统纪录所述恶意的编码、脚本、数据等等,以及恶意变种的恶意的行为(例如所述变种的踪迹数据)。在一些实施例中,所述系统也会记录所述无恶意的或被拒的变种的所述踪迹资料。这些纪录会被传至所述侦测器建立器以做更进一步的处理与分析。
[0080] 综上所述,所述预测引擎使用所述生物的进化模型为创造未来会被黑客创造的所述恶意软件标本的大量变种群的样板。所述进化模型指示自然选择的一些形势发生,以制作最适变种或多个变种。为此,具有足够高的体质分数的所述变种会被选择以制作下一代的变种。所述高评分变种会被送回所述进化引擎,而所述低评分变种会从所述变种池中移除。所述高评分变种现在会当作新变种开始产生的所述基本标本。所述过程可无限延续,直到达到一所要的/默认的目标,或是直到没有变种显示恶毒或足够的回避等等。
[0081] 所述系统会令使用高评分或变种的其他,以制作能够侦测并较佳地能抵销所述恶意的变种的侦测器。纵使一黑客没创造所述预测引擎所提供的相同变种,而只是相似的产物,所述系统仍可以侦测所述黑客所创造的所述件恶意软件,基于相似变种的所分享特性/脚印。所述侦测器建立器执行此功能。
[0082] 侦测器建立器
[0083] 所述侦测器建立器是,接收所有所述编码与关于所述变种的所记录行为/踪迹数据的所述系统的所述组件。在一些实施例中,所述侦测器建立器接收同时来自/关于所述恶意与无恶意变种的资料。在其他实施例中,所述侦测器建立器只从所述新产生的变种接收资料,所述新产生的变种显示所述最佳「潜能」(例如,具有比所述基本标本更好的回避等级,其中新产生的变种是从所述基本标本所「演进」且维持或增加恶毒等级,或维持回避等级但具有更好的恶毒等级)并创造能侦测所述新变种的侦测器。在一些实施例中,所述建立器会从所述进化引擎所产生的所述变种收集全部所述踪迹,或脚印(如所述定义区段中所定义)。所述建立器所产生的所述侦测器会被配置所记录的踪迹。所述数据会被非类为多个范围,所述范围是来自:恶意的变种「( 恶意的踪迹」);已经退化的变种(「退化踪迹」),在所述意思中,所述变种已经在所述进化过程中丧失全部恶意特性,并不再显示恶意的特性(例如-不再与其作业器通信的一远程访问工具);以及良性档案或一般网络数据(「良性踪迹」)。
[0084] 所述侦测器建立器会使用一或多个被监督学习算法来训练能将良性从恶意的脚印中分出的一分类器。所述侦测器建立器会使用所述恶意的与良性的踪迹,以及在一些实施例中,也会使用退化的踪迹,当作是所述被监督学习的训练数据。在其他实施例中,所述侦测器建立器也会使用不被监督学习算法。
[0085] 所述侦测器会被训练于与所述恶意软件变种一同进化(例如所述侦测器建立器接收恶意的踪迹并产生能侦测这些踪迹的侦测器),或是一次进化,当所述进化过程已停止时(后进化)。在所述一同进化脚本中,所述侦测器会是所述进化过程的部分,特别是在所述选择过程期间。所述变种会被包含至少一些所产生的侦测器的安全机制所扫描。在所述脚本中,所述侦测器是被创造后进化,所述进化过程中所收集的所述踪迹资料是被用于训练所述侦测器去分出良性的与恶意的踪迹资料。
[0086] 在一示范性实施例中,所述侦测器建立器是使用句法学习/文法感应。
[0087] 在此实施例中,所述侦测器建立器会代表使用一组符号(「字母」)的所述恶意的踪迹。较佳地,当忽略较不相关参数时,所述建立器只代表所述文法中的相关参数。
[0088] 另外以及/或是替代地,所述建立器也会照所述踪迹的方法去使用所述踪迹(且所述「字母」会参照使用于所述踪迹中的所述原本符号)。
[0089] 之后,所述建立器使用一文法感应算法来创造一规则,或一文法(例如像是一正规的叙述),所述文法会地句法,所述句法会从良性的踪迹中分辨出恶意的踪迹(例如,在组成所述踪迹的字母中只有恶意的踪迹会被认为有效字符串)。
[0090] 在本发明一实施例中,所述侦测器建立器会找寻尽可能接收多一点恶意踪迹的最短正规叙述,所述最短正规叙述同时会接受尽可能少一点的良性与退化的踪迹。达到此目的的一方法是使用一进化算法去创造一文法。示范性地,正规叙述的一第一世代是随机创造的,每一正规叙述会依据下列参数被分级、评分或给分(为所述选择过程):
[0091] 1)侦测/辨识一恶意变种的所奖励点数;
[0092] 2)侦测一无恶意的变种或正规档案的所减损点数;以及
[0093] 3)长度不足的所奖励点数。
[0094] 所述系统接着选择最好的正规叙述以继续所述进化过程,重复地被变异、评分、以及选择。
[0095] 图2是使用所述侦测器建立器来创造与纯化/训练一侦测器/分类器的三个不同的可能阶段的代表。在此例子中,所述侦测器会被训练在基于被称为「毒藤女」的恶意软件所创造的变种的WindowsAPI呼叫上。所述侦测器是被写作对于所述系统是唯一的一字母(符号组)上的一正规叙述。图2a是所述WindowsAPI呼叫的一取出。每一行是一不同的API呼叫。
图2b是被翻译为所述「字母」的一取出的一代表。图2c是一示范性编码-从所述充足代表汇出的取出(以及其他变种的其他代表)。通过上述选择过程,所描述的取出已被汇出。理想地,所述短编码-取出是最恶意的踪迹中所发现或相匹配的最短的正规叙述,以及可能的最不良性的以及/或是退化的踪迹。
[0096] 一旦所述踪迹数据已经被选择地减小为最小形式,包含所述短编码-取出或特性的任何相似的编码或行为,会被所述新侦测器辨识为恶意的。因此,纵使黑客不创造与所述预测引擎产生的所述变种其中之一完全相同的恶意软件的新配置,所述相似的恶意软件仍会被侦测,只要所述恶意软件包含所述文法所代表的所述短编码-取出或是显示行为。在此方法中,所述侦测器将可以侦测/辨识所述新恶意软件是恶意的。
[0097] 在另一实施例中,所述侦测器使用图像处理算法去训练分类器以分辨良性的与恶意的踪迹。图7描述图像处理算法700的一流程图。举例来说,所述学习算法会执行以下过程:
[0098] 在所述过程的步骤702中,一字节串流(来自一网络交谈(会议)的一二元档案或任何其他编码)会被捕捉并代表为正整数(0至255)的一向量。
[0099] 在所述过程的步骤704中,所述向量被重整为一正方(或其他形状)矩阵(例如:
10000字节会变成一100x100矩阵)。所述正方矩阵提供一灰阶图像。
[0100] 在所述过程的步骤706中,所述图像/矩阵会被标准化以统一分辨率。
[0101] 在所述过程的步骤708中,使用不同技术从图像中取出多个特征,例如:Gabor小波系数;统计系数-{平均、标准偏差、偏态、峰值};主成分分析;线性判别分析;独立成分分析I。
[0102] 在所述过程的步骤710中,步骤702-708会被重复于恶意的与良性的踪迹上,且此过程的所述产物会基于其原本(恶意的对比于良性的,或退化的踪迹)被分别成两个所标记的数据库。
[0103] 在所述过程的步骤712中,从步骤5所述标记数据库用于训练的统计模型(例如使用支持向量机),将用于作为侦测器来区分恶意的与良性的追踪。
[0104] 设置实施例
[0105] 在一些实施例中,所述侦测器会被创造以及/或是储存于所述云端上。所述侦测器会被配置去调查「踪迹」,像是网络流量、二元编码、操作系统与API呼叫,CPU活动与内存脚印以及/或是内容(例如任何前述的结合)。所述侦测器可存在于网络设备(接收流量的防火墙、网关、机器等等。),所述网络设备是在媒介架构(代理)以及/或是第三方系统中。在一些实施例中,所述设备会接收从所述媒介架构(代理)以及/或是第三方系统端点所取出的数据。在又其他实施例中,所述设备会发送查询、更新、分析与侦测结果等等给所述媒介架构(代理)。
[0106] 在本发明一实施例中,所述侦测器被创造于所述系统云端,并且针对所述预测引擎所预测的未来攻击而被训练。所述侦测器接着被设置在所述客户系统/网络上(例如一般企业网络、SCADA设备、嵌入装置等等)。
[0107] 以下详述针对所调查资料所决定的所述侦测器的所述设置的三个示范性脚本:
[0108] 1.使用网络数据防范未来恶意软件
[0109] 图6a描述针对客户端设置的第一示范性脚本。网络流从一开关或防火墙装置被镜射,并在一网络设备中被处理。所述设备是直接从所述云端被更新,(替换地以及/或是另外地,所述设备会通过手动下载更新来被脱机更新)。
[0110] 2.使用端点数据防范未来恶意软件
[0111] 图6b描述针对客户端设置的第二示范性脚本。踪迹数据是从端点装置上的媒介架构(代理)所取出。所述媒介架构(代理)使用在所述云端上所训练的所述侦测器来侦测并防堵恶意的行为。所述设备管理并更新所述侦测器,给予网络(cyber)威胁的组织规模的预测,并传送建议样本至所述云端。在一些实施例中,所述端点媒介架构(代理)可直接被连接至所述云端。
[0112] 3.同时使用网络与端点数据防范未来恶意软件
[0113] 图6c描述针对客户端设置的第三示范性脚本。踪迹数据是从端点装置上的媒介架构(代理)取出,以及示范性地从所镜射网络流中取出。
[0114] 侦测与防范是被同时施加于网络流(在所述设备中)与端点行为中行为(例如,对所述设备报告的使用媒介架构(代理))。所述设备会管理与更新所述侦测器,给予网络(cyber)威胁的组织规模的预测,并传送建议样本至所述云端。
[0115] 方法
[0116] 图3描述所述进化过程300的一流程图。在所述进化过程的步骤302中,所述进化引擎接收一恶意软件标本。在步骤304中,所述进化引擎产生所述恶意软件标本的变种。每个变种是所述原始标本的后代,其中所述恶意软件的所述踪迹的至少一部分已被变异。所述突变可以是随机突变、半随机突变或任意随机突变。所述突变会是非随机突变。突变的例子包含:增加程序码行至所述标本;移除部分所述编码;复制程序码行;重组程序码行;将一给定的指令序列替换为另一个功能相同的指令序列;将一选定的程序库呼叫替换为另一个功能相同的不同程序库呼叫;将一选定的程序库替换为另一个功能相同的不同程序库等等。
参照图8,有对网络封包的突变进行讨论。
[0117] 在可选择的步骤306中,变种是通过将一编码的至少部分与另一编码的至少部分合并所产生。在一些实施例中,会跳过所述可选择的步骤306,同时在其他实施例中,不会跳过所述步骤。另又在一些实施例中,一些世代会对一些变种使用一合并步骤,而其他世代以及/或是变种并不会。大量的额外后代可由此方法生产。在步骤308中,所述变种是用「体质」来评估,通常做为一选择过程的部分。在步骤310中,每个变种会被以回避来评估。回避可以通过使用安全产品的一辈选择的集合来扫描每一变种来量测,并授予每个变种一回避分数,基于无法侦测所述变种的安全产品的所述数量以及/或是质量。在一些实施例中,与所述变种的所述进化过程(上述的共进化实施例)前后连续被发展的侦测器是被用于所述变种的所述回避的所述评估中的示范性安全产品。
[0118] 在步骤312中,每一变种是以恶毒来评估。在一些实施例中,恶毒的量测是通过针对每一变种去判断所述变种是否造成恶意的活动,并基于所述判断授予一恶毒分数。所述分数会是指示所述变种是否造成恶意的活动/显示恶意的行为/包含恶意的编码的二元或真/假格式。在其他可能实施例中,恶毒的一真实等级(例如,1-10分的一分数之类)会被评估,且所述恶毒分数会反映评估。在一些实施例中,所述变种是运行在一虚拟机(VM)上,而在其他实施例中,所述变种是运行在实体机器。相同的过程也用于编码以及其他踪迹类型(例如一网络攻击)。
[0119] 在步骤314,一可选择的步骤中,所述评估器测试指示所述变种的所述体质的其他/额外的参数。一潜在例子是依发散参数,其中所述变种会被分析以决定所述变种与所述原始标本以及/或是先前的排列/世代,以及/或是相同世代中的其他变种之间分散或差异的程度。在步骤316中,所述踪迹数据会被记录以用于更进一步的分析与使用。举例来说,所述数据会被用于训练或创造新侦测器(参照图4)。
[0120] 在步骤316中,所述体质分数会被基于至少所述恶毒分数与所述回避分数来计算。
在步骤318中,会决定所述变种是否足够「合适」以能在所述选择过程中生存。在所述选择过程中生存的一变种被送回所述进化机器(至步骤302)做为新的恶意软件标本,以能经历更进一步的进化。不同方法会被用于考虑要选择那一变种,不同方法会在不同时间被使用,且在所述过程中会自行改变。一变种在所述选择过程中生存的所述可能性一般是直接相关于所述体质分数。在一些实施例中,如果所述体质分数高于一默认等级,则所述变种会存活在所述选择过程中(如前所述,所述体质分数会由一动态评估器达到,结果会有一动态体质参数)。在其他实施例中,所述选择过程会是竞争的选择过程,其中所述前N个最适合变种会通过运行于变种之间的竞争而被选择(其中「胜利」会被授予在所述竞争中每一回合的竞争中的最适合变种),通过采取具有较高分数(相关体质)的所述变种。在又其他实施例中,所述选择过程会是一被导引过程,其中特定特性会被选择以生存。所述选择过程会是两个或更多方法、或其他没提到的方法的一结合。在一些实施例中,如果没发现适合的所述变种,则所述变种会在步骤322中被丢弃。
[0121] 图4描述用于建立一侦测器的一示范过程的流程图400。所述流程图的步骤402等于图3的步骤316。在一实施例中,所述变种的所述踪迹数据会被记录。在一些实施例中,所述数据会被分类为恶意的踪迹与非恶意的踪迹,如在步骤404中。此外,以及/或是不同分类也会存在。在一些实施例中,回避特性也会被记录并用于训练新侦测器。
[0122] 在步骤406中,所述侦测器建立器(或一些相同组件)建立/产生/创造能够侦测,与分辨所述恶意特性与非恶意特性的侦测器。这可以使用学习机器(神经网络、遗传算法、SVM与核心机器等等。)来做到。步骤406的实施例例子被描述于图7与2中。
[0123] 所述侦测器会经历一重学过程。在所述重学过程中,所述侦测器会各别基于下述准则被分级:
[0124] 1)依据被正确地侦测的恶意特性的数量而被授予的点数;
[0125] 2)依据被正确地侦测为恶意中的非恶意特性的数量而被减去的点数(假的正向);
以及
[0126] 3)所述编码所述侦测器越短或越轻是越好的。针对较短或较轻的侦测器会授予一较高分级(以长度、内存与计算负载等的用词)。
[0127] 回避评估器/安全产品基准
[0128] 图5描述评估回避以及对所选的安全产品分级或标准化的所述过程的一流程图
500。在步骤502中,所述恶意软件标本会被收集/取回。可选择地,在恶意软件编码中,这是意指寻找安全产品所签署的所述编码/行为序列。对于其他踪迹,这是意指寻找所述已知的或被辨识的,以及被记录的类型。在步骤504中,所述标本是透过所述进化引擎来运行,以通过在这些序列网络封包中插入随机与半随机,以及伪随机等等,来创造所述原始恶意软件的变种。在一些实施例中,如上所述,这些改变是以所述机器编码,或所述机器编码的组合代表,或任何其他计算器语言,来执行。在步骤506中,所述变种是使用所选择的安全扫描仪(安全封包的安全扫描仪)来扫描。在一些实施例中,所述侦测器建立器所产生的侦测器也被用于扫描所述变种。
[0129] 在步骤508中,基于无法侦测所述变种(例如,所述变种所回避的所述安全产品数量)的扫描仪数量,以及/或是一或该些安全产品所签署的所述警告或不正常分级,会授予每个变种一回避分数。所述回避分数反映所述变种回避一或侦测机制的所述能力。针对一些安全实体,所述变种是否已被侦测的所述结果是二元的。其他侦测器回传回一侦测分级,例如侦测器传回关于一过程或档案是恶意软件,或是恶意软件的所述结果的可能性的一统计分数。
[0130] 在步骤510中,每个安全产品(在一些实施例中,这包含所述侦测器建立器所产生的侦测器)是基于侦测恶意变种的能力而被分级。在一些实施例中,所述分级是基于所述扫描仪的绝对成功/失败分级。在一些实施例中,在步骤512中,所述安全产品是关于所述其他产品来分级(例如,哪个产品比较好的判断)。
[0131] 计算器程序产品
[0132] 本发明的所述方法、系统与程序产品的实行是关于手动地、自动地、或手动自动结合地去执行或完成被选择的任务或步骤。而且,依据本发明的所述方法与系统的一可能实施例的真实仪表与设备,可通过在任何任体的任何操作系统上的硬件或软件,或软件硬件的结合来实行数个被选择的步骤。举例来说,使用硬件的话,本发明的所选择步骤可用一芯片或一电路来实施。使用软件的话,本发明的所选择步骤可用一过程所执行的非短暂储存媒体上实施的软件指令,或使用任何适合操作系统的计算器的非短暂储存媒体上实施的软件指令来实施。在任何情形中,本发明的所述方法与系统的被选择步骤可被叙述为被一数据过程,或用于执行指令的计算器平台所执行。
[0133] 在所述系统的一可能实施例中,一计算器程序产品是被实施在一非短暂储存媒体上,并由一过程来执行,或是被配置去执行上述方法。
[0134] 当本发明已经被以有限数量的实施例来描述时,可做出本发明的许多变化、修改以及其他应用。很清楚的是前述用于分级所述恶意软件的法则只是一可行的实施例,且所述法规的变化以及/或是修改也被包含于本发明的范畴。另外,一完全不同的分级系统可以替换地或额外地被用于分级所述恶意软件。因此,本发明与伴随的所述权力要求项不会被上述实施例所限制。
[0135] 尽管已经参照多个例证性的实施例描述了实施例,但是应该理解的是,可以由本领域技术人员设计的许多其它改进和实施例将落入本公开的原理的精神和范围内。更具体地,在本公开、附图和所述权利要求的范围内,在主题合并设置的部件和/或设置内的多种变化和改进是可能的。除了在部件和/或设置中的变化和改进,可选的使用对本领域技术人员来说也将变得明显。
法律信息
- 2019-01-22
- 2016-01-06
实质审查的生效
IPC(主分类): G06F 21/56
专利申请号: 201480019991.6
申请日: 2014.02.10
- 2015-12-09
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2008-07-30
|
2007-12-12
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |