机器学习在网络安全方面的缺点?

信息安全 检测 算法 威胁
2021-08-25 13:59:38

我对该主题进行了一些研究(因为我是新手),坦率地说,这似乎好得令人难以置信。例如,一家名为 Darktrace 的公司利用 AI 算法和 ML 自动检测环境中的威胁。

假设我有一个受感染的网络。据我所知,它已经被感染了。然后我在这个受感染的环境中运行 Darktrace。是否会将受感染的网络视为“正常”网络?如果它只是一个孤立的桌面,我可以看到它是如何工作的,它只会将活动与网络中的其他桌面进行比较。但是它怎么知道整个网络都被感染了呢?

1个回答

您同时提出了几个不同的问题:某个供应商如何实施 ML,以及如何实施才能有效。让我们专注于后者。

我为一家大型全球金融机构设计了这样的算法,我可以给你大致的思路。

这不太好,不可能是真的。任何安全分析师都会查看日志,了解人们在公司中的运作方式,并“了解”“正常”的样子。它被称为“基线”。一段时间后,您“只知道”某些东西看起来可疑并且您需要进行调查,因为:

  • 网络每周五下午都会安静下来(原因对于当时办公室里的任何人来说都是显而易见的)
  • 世界杯开赛时网络带宽达到最大值(流媒体,而不是 DDoS)
  • 该服务器总是抛出该错误(没有人知道如何修复的错误配置)
  • 用户永远不会记住他们的密码并且总是被锁定
  • 我们只是对那个执行官视而不见,因为每个人都不敢告诉他们行为更安全
  • 等等。

其他所有奇怪的东西,无论是过多的错误还是异常低的错误(嘿,为什么那个服务器没有抛出那个错误?)都值得调查。这曾经是信息安全的面包和黄油,但现在属于“威胁狩猎”这个花哨的术语。

但是这个基线很容易教计算机。你是对的,这完全取决于计算机理解什么是“正常”的能力。

获取网络的当前状态并确定这是“正常”是一种粗略的方法。你会训练你的算法来接受不良行为。您仍然将此作为一个因素,但您不能完全依赖它。您需要另一种查看数据的方式。有几种方法可以添加另一个视角。

有很多花哨的术语,但当我与不懂算法的人交谈时,我会使用这些术语:'weirdness''badness'以当前状态为基准有助于确定“怪异”。如果网络已经被黑客入侵,并且黑客在网络中自由流动,那么这对这个网络来说并不“奇怪”。这很“糟糕”,但并不“奇怪”。如果我们擅长判断“怪异”,那么我们就可以看到是否有新的黑客进来,或者当前的黑客是否改变了策略。

我们可以通过为网络的子集建立基线来确定用户类型的“奇怪”是什么来增加网络基线。开发人员以某种方式行事,执行人员以某种方式行事,清洁人员以某种方式行事。如果清洁人员帐户在我们当前状态下通常像执行帐户一样,那么我们就有一些事情需要调查,即使它在当前状态下是“正常的”。因此,这种递归基线是增强 ML 视角的一种方式。

添加到透视图的另一种方法是定义'badness'事情可能是正常的,但我们可以将该活动定义为绝对“坏”。这台打印机尝试登录 DC 中的每台服务器可能是“正常的”,但我们知道这绝对是“不好的”。因此,如果我们可以将这些参数输入到算法中(查找签名表),我们就可以暴露正常网络活动中的不良情况。

大约 3 年前,我在运行一个新的 UBA 产品的演示后第一次进入 UBA。我对我的网络前后了如指掌,并且本能地知道什么是正常的,什么是不正常的。我研究了 UBA 产品作为我和我的小团队的备份,以在人们度假或人们离开团队时涵盖该技能集。我并没有期待太多。但是该产品包含了这种“不良”观点,即刻(在 2 小时内)暴露了我网络中的不良情况,尽管我已经建立了基线并且每天都在执行威胁搜寻,但我从来不知道它的存在。

ML 好得令人难以置信。它并不完美,但在广度、速度和一致性方面都优于人类。