一直在写一篇关于人工智能和机器学习在网络安全应用现状的文章,由于时间忙,而且这个领域发展太迅速,迟迟没有成稿。借着年初Gartner的分析师Augusoto Barros发表的一个博文,先谈一个问题:即建立对AI/ML应用网络安全的正确认知,知其所能所不能,先冷静下来,再看看其所能带来的价值。

下面是我的翻译,其中【】中的是我的注释和一点理解。

在理解供应商如何使用ML进行威胁检测的时候有一个非常重要的点需要关注。

通常ML用于识别已知行为,但具有可变参数。这是什么意思?这意味着很多时候我们都知道坏的样子,但不知道确切是什么样子。

例如,我们知道数据泄露尝试通常会利用某些协议,例如DNS。但是,通过DNS进行的数据泄露可以通过多种方式完成。因此,我们要检测它的方法是使用ML算法,根据某些参数来学习正常行为。诸如每个查询的数据量,查询频率等等。这些参数的异常可能指向渗透尝试。

在这种情况下,ML帮助我们找到我们已经知道的东西,但由于我们对已知的定义实在太过模糊,以至于无法使用简单的规则来检测它。这是用于检测威胁检测的相关异常的无监督ML的示例。还有许多使用有监督的ML来学习不良行为的模糊特征的例子。但正如您所看到的,人类必须了解威胁,及其运作方式,然后定义可以检测该威胁相关活动的ML模型。

【请仔细思考一下,ML其实是帮助我们更好地知所已知。如果说ML可以帮我们知所未知的话,其实只是我们无法确切地描述出已知的样子而已。我们通过ML去从海量日志中找寻异常,我们不知道异常具体的样子,但我们知道异常大概什么样子,我们也知道正常应该是什么样子,于是我们基于这些先验知识去建立ML模型,无论是有监督的还是无监督的,我们让ML去工作的时候是有指向性的,然后ML运行的结果揭示了我们想象中的异常,对于这些异常的可解释性也并未超出我们现有的认知。】

如果您要尖叫“深度学习!”,那么请停止吧。您仍然需要知道深度学习要查看哪些数据,如果您使用它来了解坏的长什么样,您仍然需要告诉它什么是坏的。(与ML相比)我们最终在同一个地方。

【不要高估当前的深度学习所能达成的目标。其要能发挥价值还需要大量的先验知识的输入。】

虽然基于ML的检测是一种不同的检测方法,但该过程仍然与签名的开发方式非常相似。

利用AI去找到人类未定义的威胁这一诉求迄今尚未达成。大多数供应商使用误导性语言来引导人们认为他们可以做到这一点,但这并不存在。考虑到这一现实,我对这些供应商最喜欢的问题通常是“您如何确保正确识别新威胁并开发新模型以识别它们”?人们购买“AI”并继续依赖供应商提供的人工技能来保持它有用,这不是很有趣吗?

【不是说AI/ML不好,或者说没有什么突破,而是说需要正确的认识AI/ML现阶段所能达成的效果,机器还不能取代人。客户在咨询有关AI/ML的问题时,与其去问那些不切实际的问题,不如问些靠谱的问题,譬如“你们如何更新你们的ML模型”,“你们如何识别最新的威胁,并将升级后的识别模型给到我们”,“我们可以自己定义ML模型识别我们认为的威胁吗”。】

如果您是这些技术的用户,您通常需要知道供应商如何做到让他们的产品/工具的识别能力看起来与新威胁保持一致。对于成熟的商家,您还需要知道该产品/工具是否允许您在需要的时候可以自己去同步识别最新的威胁。

这是与“安全AI”供应商开始对话的好方法。看看他们有多快陷入“我们能找到未知的未知”的陷阱。

【我一直比较喜欢用知所已知、知所未知、前所未知来描述安全分析(security analysis)的三个能力层次。对应的英文就是known knowns, known unknowns, unknown unknowns。这三个词最著名的引用来自于当年美国国防部长拉姆斯菲尔德在对伊战进行辩护时的讲演。通过下图可以看出这可以对应我们安全分析的三个层次。

知所已知:把我们确切知道的东西找出来,譬如基于规则的关联分析,基于特征签名的恶意代码和入侵攻击的检测;

知所未知:在我们已知的基础上去拓展发现未知的东西。虽然我们不知道未知具体长什么样,但我们对这些未知有个基本的轮廓,也知道去探究它们的方向和路径。譬如当前基于AI/ML建模的安全分析去识别异常,包括有监督的ML和无监督的ML;

前所未知:从未知去探索更大的未知,没有任何先验知识的输入,对于究竟能发现出什么也毫无所知。这是未来AI努力的一个方向,但尚未有可以在安全领域落地的应用成果。】

Gartner的Barros的博客原文位于:https://blogs.gartner.com/augusto-barros/2019/01/04/more-on-ai-for-cybersecurity/

 

声明:本文来自专注安管平台,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如需转载,请联系原作者获取授权。