我们该如何发现,那些你所不知道的未知威胁突破了你边界防护?而且它还正在做着你无法察觉的事情?答案是,从确定性解决方案的思路转到可能性上来,然后让计算机来完成工作。
这就是机器学习、人工智能和认知计算在网络安全方向上新进展的目标。以上三种方式都依赖于云计算来提供崭新的计算能力和大数据集合与分析才得以实现;每种方式都对影响网络安全的未来拥有巨大潜力。
人工智能和机器学习的定义已经相对得到公认了。尽管需要注意的是,许多用户甚至是一些供应商都在混用这两个词。认知学习仍旧是一个新进展,而且其定义也有很多版本。
机器学习。机器学习可以被看成是“类固醇规则”。巨大的数据量和企业运行的复杂程度让手动生成并检查所有的入侵检测规则成为不可能。机器学习的过程就是让系统自己生成并调整新的、复杂规则的过程。
机器学习可以分为两个小类别:受监控的学习和未受监控的学习。受监控的学习需要分析师介入,帮助机器生成正确的规则。未受监控的学习来自自动发现异常行为,并自动调整规则。机器不会通过人们一般认为的那种方式学习,它只不过是基于预设的算法进行反应而已。
人工智能。人工智能是模仿人类作出决策的过程,也就是让系统自己作出决定。人工智能的核心是针对数据的处理,只有这样才能够生成决策。人工智能是一项很难的技术,我们只是在该技术发展的初步阶段。
认知学习。认知学习是一项近期的发展。它通常被称为“通过计算化的模型模拟人类思维过程。使用基于数据挖掘、模式识别和自然语言处理的自我学习算法,计算机可以模拟人类大脑的工作方式”。通过图像对分析结果进行输出一般也是认知学习的重要部分。
不过,不论使用哪个术语,它们都拥有一个相同的目的:开发切实可行的方法,基于给出的可能性评级,快速检测所有的隐蔽恶意威胁。这三种技术在实际使用时很有可能是相互交叉的。不过这与安全分析师技术水平鸿沟越来越大这一背景相抵触。使用这些技术的动机值得探讨:它们到底是要彻底消灭对安全分析师的需求,还是减轻对分析师的需求。
不管使用什么术语进行描述,几种技术的最终目标都是相同的:使用可能性评分来将合法与可疑活动区分开来。不过它们都面临着另外一个大难题:很难给足以构成“可疑活动”的事件标出一条红线,这样就导致了决策困难。行话里把这些事件称为标签 (Label) ,而且网络安全是一个“标签稀有空间”。在每天发生的数亿计的网络活动中,只有一小部分是恶意的。
大多数厂商将自动化安全分析视为制造产品区分度的方法,特别是寻找、辨别或者为恶意事件加标签这几类方式。
PatternEX是一家最近开始告别隐身模式的公司,它将稀有事件建模和主动式上下文建模结合在一起。该方式的开始阶段是通过自家的算法将系统数据过滤一遍,找到“不合群”,或者相对稀少或不常见的事件。这些不合群者会被手动标记,确定到底是合法还是恶意,这样就能让机器学习到新知识。
不过,PatternEX公司CMO Travis Reed建议称:“我认为所有人将来的必经之路是转移到一个更能够实时化学习的系统。有人把它称为主动学习,我们则将其称为上下文主动建模。它是你可以收集、检视输入数据,并且通过人类参与来训练整套系统,找出攻击。在发现攻击之后,该系统能够检查你所有的数据,并且找到来自类似攻击的其它实例或相关事件,实时保护你所有的入口和出口点位。”
PatternEX在今年4月份的IEEE International Conference on Big Data Security上发布的一篇同行评议论文中支持了自己的说法,证明该途径是有效的。在研究中,系统受到了36亿份日志文件的检测,并能够检测到85%的攻击,而且假阳性率降低到了之前的五分之一。
Vectors Networks公司在产品中同时使用受监控和未受监控的机器学习方式。Vectra公司CSO Gunter Ollmann解释了未受监控的学习所使用的元素来自网络通常行为的基线。系统之后会检测网络上的所有异常行为。CSO补充称,可以利用“暗示”或手动标记的事件来修正结果,但通常而言系统是自主运行的。该系统特别擅长找到隐秘、缓慢的数据渗漏 (Exfiltration) ,甚至是极小的行为异常。不过,它在给异常事件加标记,进行分类方面表现不佳。系统仍旧需要人类分析师来评估找到的结果。
Vectors开发的未受监控学习元件是能够建立并训练数学模型,得到威胁类别。Ollmann将它们称为“N维签名模型”,也即通过可能性建立多个签名矩阵。他以Vectra的新型勒索软件检测解决方案为例,解释了该过程是如何实现的。“需要尽可能多的恶意软件样本,并且在云端将它们全部运行。通过这一过程,我就能记录每个恶意软件的所有网络活动,并获得比如2000个与所有已知恶意软件行为的数据包样本。然后我就拿着相同数量的数据包样本进行比对,比如数据备份或者归档,它们不是恶意软件,但有可能与恶意软件行为混在一起。”
这时候,就获得了一个阳性集合(勒索软件)和一个阴性集合(与恶意行为类似,但本身并不是恶意软件),而且还获得了由数百万计数据包样本组成的样本池。然后,可以利用所有常见的机器学习技术,转而使用配备机器学习模型的专门设备。这些模型被用于归类分析得到的数据和结果。
由于行为好坏是已知的,分析师就能够判断哪个机器学习模型在识别恶意软件痕迹上做得最好。最终,会得到一个勒索软件识别率最高的模型。Ollmann说:“之后,该模型就会被推送给用户进行Beta测试,我则会评估该模型对于实际数据的效果如何。Beta测试结果会返回给云端,并与初始数据进行结合。在有效的新模型诞生之前,该过程将一直重复,并最终被推送给全部用户。”
该方法和一些早期方法的区别在于,新数据和新勒索软件行为会一直传输给模型(模型每天都会重新计算数万次),且模型的新版本会不断推送给用户。机器在不停学习。
不过,仍旧需要注意的是,尽管机器学习了不少处理数据的方法,但真正的智能来自分析师。由他们来给数据恶意与否打标签。
Ollmann认为,基于机器学习的威胁检测和以前的IPS、SIEM技术的巨大区别在于准确度。该技术不会仅仅是看到了一个签名就发出警报,而是收集相关的活动,直到可能性评级达到特定程度之后才会发出准确的警报。这样,模型实际上能够模拟安全分析师或安全专家的工作过程:在发出警报之前,先收集各种各样的证据。
2016年5月,IBM发布了一项新计划:Watson安全。该技术的理念在于利用IBM的Watson认知计算技术,帮助分析师创建并保持更大的网络安全性能。
Watson和大多数人工智能引擎不同。传统上讲,计算机的设计和开发目的是分析结构化数据。这让它能够分析来自多个系统日志的结构化数据。不过,80%的安全知识存在于非结构化文档中:研究论文、安全博客、会议议项等不能通过传统方式处理的数据。
Watson的目标是吸收并理解所有这些非结构化数据,来处理并响应非结构化的查询请求。最终,网络专家将能够直接查询“如何应对xzy零日漏洞攻击”,甚至是“当前的零日漏洞威胁都是什么?”Watson将使用之前从研究论文、博客上收集并处理的信息来进行回答。
该项目也面临着人工智能的常见问题:如何输入数量足够、标签正确的数据,供后续计算过程使用,来返回拥有足够准确度的答案。
IBM Security副总裁Caleb Barlow解释了这一过程:“我们教给它阅读的方法,就像教孩子阅读一样。比如,名词、动词、形容词、攻击事件、受害者、目标、威胁源、恶意软件。然后就是以上概念之间的关系。”
要对单个文档进行标注,这在初期是高度劳动力密集的人工过程;但在该过程结束时,Watson就拥有了理解的能力,还会自动吸收新的文档。
也可能会存在错误。有些文档会提供错误的信息。这里就要运用到两个老概念了:大众智慧和信誉。首先,有些信息来源的信誉较好,而且在过程中会被给予相对其它来源而言更高的信任度。但更重要的是,随着时间推移,Watson将逐渐变成大众智慧的缩影。
Barlow说:“我们的目标是在年末进入用户测试阶段。”但他不认为Watson安全 (Watson for Security) 是一个传统产品:它更像是一个有延续性的计划,会随着时间推移获得更高的效率和准确率。
2016年2月,埃森哲推出了自家的网络情报平台,混合了来自人工智能、机器学习和认知计算的元素。Vikram Desai是埃森哲咨询的常务董事,他对媒体描述了其过程。“埃森哲通过路由器取得计算机的活动信息,并对其进行分析:就像传统情报机构做的那样。使用机器学习和人工智能,我们可以确定任意网络的常态情况。”
这在大量数据之中确定了常态的基准线。“典型的企业网络每天可能会有40到60万次活动。通过理解什么是正常,我们就能分辨那些不正常的活动。它可能意味着‘还行,但是不属于常态’,也可能代表着‘出麻烦了’”。
基准线是通过未受监控的机器学习来创建的。然后是活动分析和受到网络操作员监控的学习。“只要时间够长,这就能保证最初的恶意活动能够整合进‘正常行为’基准线里。”
之后,计算机就能够发现并实时标出那些于正常行为区别开来的异常行为。不过,埃森哲的平台并未止步于此。“最终,可以使用一个认知模块来视觉化呈现输出。我们会用视觉化的方式来呈现攻击的细节。人们有可能无法很快弄清表格数据的含义。视觉化能够帮助分析师区别‘非常态但还行’和‘非常态但出麻烦了’的行为。”
2016年6月26日,谷歌宣布组建谷歌研究欧洲分部,办公室在苏黎世。该机构将专注于三个特定的领域:机器智能、自然语言处理与理解、机器认知。不过,引起人们最大注意的是研究负责人Emmanuel Mogenet对媒体给出的一条回复:关键领域将是训练计算机的“常识”。
常识推理对人工智能而言并不算是新概念了,但谷歌为它专门开了一个研究中心的确不多见。该领域与传统人工智能有所不同。它尝试教育机器作出像人类一样的假定和判断,而传统的人工智能尝试教育机器作出像人类一样的决策。这并非易事。IBM的Watson正尝试吸收全部人类知识,而常识机器需要吸收所有的人类认知。
2016年6月21日谷歌科学家联手伯克利大学发布的一份论文研究了人工智能的“意外事故”。论文给出了一个简单的例子:“假设设计者想要增强学习模块达成莫中目标,比如把盒子从房子的一角挪到对角。有时候最有效的方法包括做一些不相关、甚至对环境有害的事情,比如打碎挡路的花瓶。”
论文中接着说:“换言之,想要实现‘完成任务X’的目标函数往往得到的是不想要的结果,因为设计者真正想要达成的目标是‘在常识对环境的限制下完成X任务’,或者‘完成X任务,但要尽可能避免副作用’。更进一步,有理由认为副作用往往是负面的,因为它们往往会扰乱更广的环境,而不是保持反映了人类偏好的现状。”
要解决该问题,需要教给机器预测其行为后果的能力,也就是能够进行常识推理。谷歌还没有解释具体如何开发该能力。Mogenet说:“四岁的孩子也会通过认知世界获取这些知识,而不会作出牛会飞的判断。计算机需要理解一些显而易见的知识,因此我们希望建立一个常识数据库。”
自我治愈网络的终极潜力极具吸引力:从高层面上实现这一目标的方法十分容易理解。首先,你教育机器系统,通过受监控和未受监控的机器学习来理解当前正在发生的事件;然后你应用人工智能或者认知学习来作出类似人类的决策,应对被检测到的情景。
但不是所有人都对此深信不疑。Bromium公司CTO Simon Crosby认为机器学习在帮助分析师作出决策方面拥有巨大优势。但这可能就是它能做的一切了。他认为,“机器学习,特别是未受监控的机器学习,将不可避免地创造假阳性。这些假阳性将必须通过人类技师予以纠正。你永远无法相信全自动运转的机器。”
“它有助于帮助检测存在的入侵事件,但对于防止未来入侵没有什么帮助。”这就是该问题的本质。它能够帮助将关注点从防护入侵调整到检测入侵;这意味着更多地关注检测,而不是安全设计。Crosby说:“从定义上来看,如果你在寻求入侵检测,你会遇到麻烦:入侵从未发生。”
“认知安全”是怎样一种安全?
Patternex|这家初创企业的平台模拟人类安全分析师