防火墙安全措施都永久有效吗?

描述

数据包的激流将涌入数据中心,其中包括源源不断的物联网 (IoT) 数据流,大规模进入虚拟网络功能的蜂窝网络流量,以及对 Web 应用程序的大量信息输入。在信息瀑布的深处,隐藏着试图蒙混过关的黑暗面:网络攻击。他们可能企图干扰应用程序、窃取私有数据、将服务器纳入僵尸网络、感染数据中心客户端、加密并勒索重要文件,甚至对物联网造成物理损伤。他们总是伺机而动,寻找破绽,改变他们的伪装,尝试新型攻击。

在我们的世界和这种蓄意破坏之间隔着一道防火墙,在长久以来摇摇欲坠的基础之上构建了层层防御,总是在试图追赶攻击者的节奏(图 1)。多年来,防火墙已经从轻量级的软件包成长为多层级硬件强化的防御系统。他们已经整合了新的计算技术。通过观察他们持续的战斗,我们可以理解安全的含义,安全不仅仅发生在数据中心,同时还发生在物联网的边缘,包括边缘计算和终端。

图 1.并不是所有的安全措施都永久有效。

细说起源

防火墙的起源比人们想象的要简单得多。他们的想法是要建立一个轻量级的软件层,用于暗中检查互联网流量中的可疑内容。开始时,这可能很简单,比如检查 TCP 标头中的端口号,确保它们在上下文环境中有意义。但是,攻击者很快就学会了使用不可疑的端口号。

然后,防火墙在传输层下进行更深入的挖掘,从而检查单个 IP 包的标头,试图找出可疑的源地址。这个任务并不简单:IPv6 地址 128 位宽,防火墙的拦截地址列表可能会很长,地址会广泛分散在整个空间中。而且 IP 包的标头比 TCP 标头出现的频率更频繁:通常每 20 个字节就出现一次。在一个 40 Gbps 的链接上,它只会给您 4 纳秒以线速处理数据包。显然,这无法将源地址与大型数据表中的每个条目进行比较。您需要某种硬件加速。

但是,即使您速度够快,源地址检查也无法保证安全。源地址可轻松进行伪装,以使数据包看起来似乎来自于一个受信或至少不可疑的来源。如果攻击者征用了僵尸网络,恶意的数据包可能来自许多完全不知情的地址。

随着地址筛选效率的降低,防火墙探索了两种截然不同的更激进的策略:用检测有效载荷替代检测标头,并在有效载荷抵达后监测其行为。

有效载荷检测

随着端口和地址筛选逐渐失去了对猛烈攻击的有效性,防火墙开发人员将关注的范围扩展到了数据包的数据部分。深度包检测 (DPI) 由此诞生(图 2)。

.图 2.两个不同的安全层依赖于检测 IP 包标头部分。

DPI 背后的原理很简单。一旦发现攻击,就可以识别签名,包括奇怪的系统调用、代码或具有攻击专有特征的数据。理想情况下,这些碎片是攻击发挥作用的必要条件。因此,您只需扫描每个包的数据部分以获得已知签名,并删除包含匹配签名的任何消息。

DPI 存在一些天生的计算问题。即便可以用简单的字符串匹配来扫描包的有效载荷,种类繁多的已知攻击也会使基于软件的筛选变得无法实行。网络处理器、FPGA、甚至图形处理单元 (GPU) 等基于硬件的字符串匹配有助于达到线速水平。但是,要使这些加速器的更新速度足以应对新出现的威胁可能非常困难。

有一种简单的方法可以让攻击者躲避字符串匹配。它们可以更改签名中与功能无关的数据位,从而使字符串不再匹配。针对这种方法的对策是从字符串的精确匹配转变为对正则表达式求值。正则表达式可以准确地描述哪些是攻击发挥作用的必要数据,哪些是攻击者可能用来掩饰签名的数据。但是,线速正则表达式处理再次成为一个硬件任务。幸运的是,有一些产品能够提供此类支持,包括上面的列表和专用的正则表达式处理器芯片。

遗憾的是,有一种让人尴尬的简单方法可以绕过正则表达式分析,只需确保恶意软件中的签名都位于包与包的过渡边界上即可。现在没有任何数据包包含签名,也没有任何 DPS 可以检测到攻击。

数据包和对象

原则上,正则表达式处理器可以保存从一个包移动到下一个包时的状态,希望以这种方式检测到被数据包边界分割的签名。但总体而言,防火墙开发人员和电子邮件网关开发人员正在转向一个要求更高的解决方案:将完整消息集中在一个缓冲区,进行一次性检查。为了与 DPI 进行区分,这种方法有时被称为“深度内容检测 (DCI)”。

由于能够对完整的信息进行检测,也就出现了各种各样的可能性。您可以进行更复杂的正则表达式评估,以便嗅出可疑的签名。您第一次可以将消息放在上下文中,将其视为具有意义的对象,而不是毫无意义的字符串。它是带有链接或附件的电子邮件?一个图像或视频吗?一组非结构化数据模块,还是代码模块?一旦将其分类,您就可以将其与接收方期望的内容进行比较,并应用相应策略。是否有人向您的首席技术官发送可执行附件?这一行的文本是否以一个 SQL 字符串结尾?这条消息是否表现为加密信息?

这种新发现的能力是有代价的。我们已经默默放弃了以线速进行流入流量检测的概念。以打开数据包的方式来显示其有效载荷带来了新的延迟,并且对缓冲区的要求比数据包级检查更大。而且,有效载荷可能需要发挥作用才能更容易理解。它可能被编码或压缩。也可能被加密。防火墙需要访问算法和密钥才能使有效载荷可读,这个要求可能很难满足,尤其是在公有云中。但 DCI 也带来了新的可能性。一种可能性是能够通过对代码段进行静态分析来评估其能力。这段代码是否可以更改系统文件,或是否会将数据导出到未知的目的地?

机器学习?

另一种可能得到很多关注的可能性是,既然您正在研究整个对象,那么就可以应用机器学习技术。凭借在杂乱的非结构化数据中识别模式的能力,深度学习网络 (DNN) 似乎至少是在信息中发现问题信号的理想方法,但它也有其局限性。DNN 需要训练,专家们必须收集数以百万计的样本,通过标记来表明威胁存在与否,并将其逐一输入网络。这一过程需要人类专家工作很长时间,并且对准备 DNN 识别新威胁所需的时间设定了下限。

更糟糕的是,由于数据的概念漂移,经过训练的网络不太可能在没有经过继续训练的情况下识别出新的威胁。当新的威胁出现时,人们不得不识别它的签名,准备示例,对其添加标记,将其添加到训练集,然后再次对网络进行训练。这个过程是否可能呈递增趋势,或者是否需要重复数以百万计的输入,仍然是一个悬而未决的问题。

一个潜在的解决方案是采用训练方法完全不同的神经网络:强化学习。正如英特尔安全架构师 Jason Martin 所解释的那样,“在获得数百万个标签样本、且数据分布不会频繁变化的情况下,监督型学习网络是成功的。”但在安全方面,却不算成功。

“相比之下,强化学习更像是一个反馈回路:网络吸收观察结果,做出预测,根据预测做出反应,根据行为的结果获得回报,然后根据回报调整权重。”

例如,一个安全网络将因为传递无害信息或标记可疑信息而获得正面反馈,因为误报获得负面反馈,因为放行真正的威胁而获得非常负面的反馈。

Martin 说,强化学习仍然需要大量的训练,但强化网络无需灌输训练数据,而是“即使在部署之后仍然能自行探索。”这可能会让这种网络的部署远远早于监督型学习网络被训练完毕,并且能够处理概念漂移,并且使强化学习网络更快地应对新的威胁。

沙盒

人工神经网络给防火墙带来了一种全新的可能性:能够在没有精确匹配已知签名或正则表达式的情况下识别一个对象。接下来出现的问题是如何处理那些可疑但又不确定是否危险的对象。答案会随着上下文的不同而有所差异。在最保险的低风险情况下,将对象传递给接收任务并仅向用户发出警告可能有效。在高度安全环境中,可能有必要摧毁可疑对象。但是在资源和延迟允许的情况下,还有另一种选择:沙盒。

“我们可以把沙盒看作是一种特殊的虚拟化技术,”英特尔首席工程师 Ravi Sahita 说,“一种可以用于试验一条信息会导致什么结果的引爆盒。”(图 3)

图 3.沙盒可创建出一个安全的人工环境,用于测试对象并了解它们的实际行为。

假设您有一个可疑的电子邮件附件。您可以创建一个电子邮件环境的实例,在这个环境中,系统调用的不是常规管理程序,而是一个安全监控程序,它将检查这些调用中是否有不合理的请求。安全监控程序还可以监视不合理的读取、写入或提取行为。因此,如果沙盒中的对象尝试了任何异常行为,监控程序就会观察并进行标记。由于沙盒在逻辑上被虚拟化隔离(有时在设备中物理隔离)因此对象不会对实际系统造成损害。

当与强化学习组合使用时,沙盒可能特别有价值。网络可以判断可疑对象,将其转移到沙盒中,然后从该对象的实际行为中获得即时反馈,所有这些都不会对实际系统造成任何风险。这样的策略可以采用流水线方式实现,这样防火墙就能够以很低的延迟迅速响应容易识别的威胁,而将可疑的对象传递到沙盒中进行进一步的分析。Martin 说,这种方法还可以在循环中加入人类专家,分析来自沙盒的结果,并可以根据需要对流水线的前端进行再训练,以便识别新的威胁。

Sahita 指出,攻击者仍然有备选方案。他们已经学会了延迟代码的不良行为,等待超过沙盒中设定的对象隔离时间。一些攻击者已经学会识别指纹,用于指示其对象位于沙盒中,而不是在真实的操作环境中,这使恶意软件可以在被释放到真实系统之前隐藏自身。

安全开发人员正在全力反击。“理想情况下,沙盒应与终端相融合,”Sahita 说。这就意味着要构建系统调用监控,处理对生产监管程序的监听,从而保证没有可供检测的明显沙盒指纹,那么就无法对隔离对象附加延迟。但这需要额外的保护:建议您不仅要监控系统调用和内存引用,还要监控数据流,以确保对象不能以某种方式将自己与系统中其它特权代码连接起来,否则就会失控。

这是英特尔控制流程执行技术 (Control Flow Enforcement Technology) 的关键所在,该技术监控返回堆栈和间接分支使用的寄存器,寻找试图转移程序流的尝试。但 Sahita 表示,监视可能会更深入。

“您可以在运行时直接从现代化的英特尔 CPU 生成跟踪数据,”他说。“您可以获得大约 250MB/分钟的控制流数据,您可以用 GPU 或 FPGA 实时评分。有趣的是,您可以解码、注释和分析代码内容。”

有一种新的推测,这可能会成为另一种强化学习网络的应用方式。在检查跟踪数据方面,它们可能比人类程序员速度更快、洞察力更敏锐。

边缘情况如何?

这些措施构成了一个合理的数据中心安全路线图。在邮件网关和应用程序环境中集成 DCI 等先进的防火墙功能和沙盒级保护可以显著提高安全性,同时将延迟保持在网络功能虚拟化和物联网架构师的预想范围内。但物联网的另一端:边缘计算节点和物联网设备又如何呢?

在那边,防火墙和沙盒设备是无法想象的奢侈品。在目前的情况下,虚拟机监控程序并没有考虑这个级别的安全性。加速神经网络推理或强化学习的加速器几乎不为人知,对于许多嵌入式处理器来说,通过分析进行实时追踪相当于科幻故事。

查看数据中心可能会向我们展示物联网终端面临的威胁,以及应对这些威胁的已知方法。但是它不能告诉我们如何实现随着这些应对方法而日益增长的内存要求和计算负载。我们可能会发现,必须重新审视网络边缘真正需要的资源级别。物联网边缘可能并不像我们所希望的那样轻量化和节约能源。


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分