机器学习,以及人工智能,最近都颇受关注,人们对该技术热情高涨。机器学习的发展,让安全系统更容易被训练,处理动态情况也更灵活,但并非所有的用例都以同样的效率令人受益。
副作用之一,就是什么都被重新贴上“机器学习”的标签,让该术语很难被确定。就像“云”这个字眼儿被拿来指任何发生在网上的事一样,“人工智能”也很快达到几乎任何涉及到计算机的东西都被拍上这一标签的程度。
普华永道美国分析创新主管阿南德·劳说:“炒作太多,都在说AI正变得超级智能,将替代人类和人类决策等等。”
安全工作一项常见任务,就是确定新下载或安装的应用程序是否恶意。传统方法是非常基础的专家系统——该应用程序的特征是否符合已知恶意软件的?
这种标准反病毒方法的缺点,是需要随新恶意软件的出现而经常更新升级,而且防范非常脆弱。恶意软件只要做极微小的修改,就很容易逃过检测。
Deep Instinct,一家初创公司,正在将深度学习技术应用到该问题上,利用的是现有近10亿已知恶意软件样本可供用于训练目的的事实。
该公司CTO艾利·大卫说:“深度学习革新了很多领域。计算机视野每年提升20%到30%,到超人类视野也就是分分钟的事。还有语音识别。难道网络安全上就不行吗?”
甚至基于概率的机器学习系统也有极限。有太多因素可被专家识别、衡量,再为了更好的结果而进行微调。同时,无数的其他因素因为太过微小或不相关而被舍弃。
你扔掉的数据是大多数。
Deep Instinct 的模式是,深度学习系统在实验室被训练,馈送进去的是所有已知恶意软件的样本。训练过程耗时一天,需要功率强劲的图形处理器(GPU)来分析数据。
经过训练的系统大约有1GB大,对大多数应用来说都太大了,然后该公司将之缩减至只有20MB大小。任何终端设备都可轻松安装上,包括移动设备,最慢的机器也能在几毫秒内分析进入系统的威胁。
1MB大小的普通文件,分析时间不超过1毫秒。实验室里的超高端的基础设施做了全部复杂的工作,客户拿到的,是浓缩过的“大脑”。同时,在实验室,新恶意软件样本不断被加入数据集中,每3到4个月左右,终端设备上运行的所有大脑就会收到一次更新升级。
但即便大脑6个月没更新,也能继续检测新文件。深度学习对新修改或变种非常敏感。
每天出现的数百万新恶意软件样本中的大多数,不过是已有恶意软件的微小变种而已。
“即使是出自高级威胁黑客和民族国家黑客之手的全新零日漏洞利用程序,也有80%与旧版相似。传统方法检测不出它们。但深度学习可以轻易检出。”
该公司正与独立测试实验室合作,量化检测结果。不过,对财富500强客户的早期测试显示,该公司的深度学习方法相比已有解决方案,在恶意软件检测率上高出20%到30%。
“我们最近对美国一家大银行的100000个文件做了测试。现有解决方案是测试当天更新的,我们的是2个月前的版本。我们的解决方案得到了99.9%的检出率,他们的是40%。”
找出原因
最新深度学习系统的缺点之一,是它们可以给出答案,但未必能解释是怎么得出的。
不过,也不总是这样。事实上,Nutonian公司专利AI引擎Eureqa的主要工作,就是找到为什么这些事情会发生的解释。比如说,面对物理数据,Eureqa能重新发现牛顿定律。
该公司创始人兼CTO迈克尔·施密特说:“它能找出最简单最优雅的方式来描述发生的事情,以及其间的关系。”
该公司将此引擎对研究人员免费开放,至少为500篇期刊论文提供了帮助。例如,在医学方面,该引擎帮助发现了黄斑变异和阑尾炎等疾病的诊断新模式。在网络安全上也有该引擎的引用。
“最困难的问题之一,是剖析网络攻击。Eureqa的一个AI应用,就是自动完成该过程。”
客户一旦注册该基于云的系统,大约会花1小时左右的时间等待引擎分析数据,然后各种答案就能很快出来了。
“他们原来用了 数月或数年才得到的结果,我们只用几分钟就重现了。”
本地和全球训练
在网络安全界,因为态势改变太快,任何机器学习系统都需要经常性的更新。
缺了经常性更新,所有系统都将过时,因为人类总是遇到新东西。员工又开始玩新玩意儿了,厂商又改变他们的应用了,客户的消费模式又变了等等等等。当然,黑客也不例外,专门设计出绕过已有系统的新恶意软件,是黑客的日常。
同时,下一次更新出现前,总会有感染窗口期的。尤其是,坏人也能购买安全软件并测试他们的攻击,直到找出能有效规避的方法。
托管网络公司 Masergy Communications 的首席科学家麦克·司徒特警告道:“恶意软件变种就能用到厂商的客户身上,直到下一波更新出炉。”解决方案之一,就是转变很多安全系统厂商惯用的“均码”方式。
“可以设置本地模式、对等模式、全行业模式等等,以不同的速率进行更新。”
Masergy公司采用一系列全球因素来查找可疑事件的发生,然后将之与特定本地指标绑定。全球系统可以只关注有限的输入。范围实在是太大了,找那些最经常发生的特征就好。
另外的本地焦点允许添加更多输入。在本地模式下,不用将输入压缩到更小的特征集。这不仅会带来独特性,还能引入更好的准确性。
本地和全球模式的结合,也是 Acuity Solutions 公司采用的方法,其 BluVector 产品就采用机器学习来检测网络威胁。
在美国政府机构高级研究项目的基础上,该系统开启了数年的良好软件产出,知晓良性代码的方方面面。
Acuity首席执行官克里斯·乐福乔伊说:“我们的引擎精于代码分析,可指出给定代码是否缺乏良性代码的特征。”该引擎也结合了来自个人客户的新知识。
我们在交付给客户前已经对引擎进行了预训练,它就像是已离巢的孩子,将在客户环境中继续学习。
主引擎还会基于全球数据进行季度性更新,但客户相关的独特数据是不会跨系统共享的。
这使得每个产品的部署都略有不同,为每一位客户进行特别定制。即便攻击者购买了一套系统,开发出可以规避代码,也不会有什么卵用。
“这是运动防御战,不可能被逆向工程,因为这些技术是特定于客户环境的。”