检测网络安全中的未知未知

舒娥轮
导读 2002 年,时任美国国防部长的唐纳德·拉姆斯菲尔德 (Donald Rumsfeld)说: 我总是对那些说某事没有发生的报道很感兴趣,因为我们知道,...

2002 年,时任美国国防部长的唐纳德·拉姆斯菲尔德 (Donald Rumsfeld)说: “我总是对那些说某事没有发生的报道很感兴趣,因为我们知道,有已知的已知;有些事情我们知道我们知道。”

然而,他补充说:“还有未知的未知数——我们不知道我们不知道的那些。如果纵观我国和其他自由国家的历史,往往是后一类是困难的。”

网络安全领域同样缺乏知识。让我们来看看。

网络威胁:简史

第一种网络威胁是臭名昭著的病毒。这是一个创新的计算机程序,可以创建自身的副本并从一台计算机“跳转”到另一台计算机。当时,攻击者使用软盘,但随着时间的推移,他们开始使用计算机网络和互联网。

第一个防病毒软件创建了签名数据库;包含许多不同的此类病毒的二进制代码部分,并将系统上的每个文件与该数据库进行比较。那时,这种策略就足够了,因为开发应用程序很复杂,更重要的是,也很耗时,特别是使用 C/C++/Assembly 等语言。

从那时起,出现了诸如Python之类的动态语言,它们通过允许用户更轻松地协作和重用代码部分来促进软件开发过程。这与加密货币的兴起一起,增加了攻击者的动机,使此类签名数据库的使用变得不可行。此类已知签名的数量以及该列表的增长速度简直令人震惊。

即使在今天,许多安全解决方案仍在尝试使用各种类型的签名来检测恶意文件、网络流量、人类行为等。即使是试图利用大型用户社区的巨大力量来创建包含数万个不同签名的庞大数据库的工具也只能在一定程度上有效。总体而言,这种策略不足以提供针对已知威胁的良好保护。

即使它在防御已知威胁方面是有效的,它仍然无法针对已知未知提供任何保护——当然也不能针对未知未知提供任何保护。这些攻击类型正在某个地方的攻击者构思和开发。

阻止未知威胁的斗争

如前所述,随着新计算机语言的兴起,我们创建海量IOC(妥协迹象——例如,IP、域名、用户)数据库的基于签名的防御策略变得越来越无效。

使这种方法不太有效的另一个趋势是使用 DGA,即域生成算法。使用这种技术,攻击者在恶意软件中嵌入一段代码,该代码使用攻击者和恶意软件已知的变量(例如,当前日期),这将定期和动态地创建一个域名并访问它。

如果成功,它将被使用,如果不成功,它将恢复为最近使用的有效域名。此类技术使基于域名和 IP 的签名基本上毫无用处,因为攻击者可以随时轻松更改这些签名。

我们看到的另一种技术包括几种类型的网络分段和隔离。这种方法通过各种防火墙将网络溢出到几个子网络中。然后,对 Internet 的访问不是直接实现的,而是通过代理或某种终端服务器实现的,它接收击键和鼠标移动并返回图像(即屏幕截图)。

这可以有效地防范某些类型的威胁,但不能保护组织免受所有类型的攻击。此外,此类方法不会为组织提供任何工具来帮助检测攻击或对这些设备或服务使用规避机制。而且它们并没有提高组织的整体可观察性。

另一种非常有效但出于实际原因很少使用的技术是白名单。使用这种方法,组织将创建和维护允许的可执行文件、网站、证书颁发者、文件哈希等的签名数据库。缺点很明显:组织需要收集的数据量和所需的手动维护提供了这样的解决方案对大多数组织来说是不可行的。

结合技术来阻止威胁

与技术中的许多其他情况一样,当面临在两个选项之间进行选择的需要时,最好的前进道路通常是——通常——将两者结合起来,同时获得两个选项的优点并最大限度地减少缺点。

这里同样有效。建议您维护并继续改进您当前的网络隔离和防火墙。但添加一个被动网络监控解决方案,将持续监控组织本地网络上计算机之间的流量以及组织与外部世界之间的流量。此外,使用所谓的蜂蜜令牌 可以极大地帮助提高被动监控解决方案的检测能力。

然后,使用从所有这些解决方案收集的数据,您可以创建警报,只要新值出现在选定字段(选定事件中)就会触发,这将很好地表明恶意活动。

这些字段将包括:

目的地和来源国

由 root/Administrator 用户启动的进程

非内部 DNS 服务器的内部机器访问的外部 DNS 服务器

RDP/VNC 用户

SSH 服务器应用程序

应用类型

外部主机使用的内部托管服务

我们可能仍然无法阻止所有“未知的未知数”,但我们至少会梳理我们目前拥有的最佳技术。

标签:

版权声明:本文由用户上传,如有侵权请联系删除!