各种调查、众多事例以及媒体报道都在关注同样一个重大问题,即电信与计算机网络的安全性需求日益增长。
《CSO》-《首席安全官》杂志、美国联邦经济情报局以及 CERT 协调中心于 2004 年进行的一项调查[1]显示,受调查的网络安全或IT部门的管理人员及执法部门人员中有 77% 称其所在机构遭受过电子犯罪(特别是恶意软件代码的攻击)。这种代码的范围十分广泛,其中包括病毒、蠕虫、特洛伊木马、间谍软件以及后门软件等。
第二种最常见的电子犯罪是拒绝服务 (DoS) 攻击,约有 44% 的受调查者受到过其影响。 Cisco 近期收购了一家刚成立一年的新创公司 NetSift,这进一步说明电子犯罪迫切需要我们的高度重视 [2]。
与有关电子犯罪进行斗争,通常采取的方法是签名模式匹配 (signature pattern matching),即扫描进入流量是否包含已知的恶意代码。随着网络的访问节点从快速以太网发展到千兆以太网,骨干网络连接速度也从 OC-192 (10 Gbits/s) 上升到 OC-768 (40 Gbits/s)。
对于这种线路速度而言,采用软件检查数据包的方法已经很不实用了,因为我们几乎没有时间来进行上述检查。这种情况要求我们采用基于硬件的数据包监测工具 (packet monitor) 来跟上线路传输速度的要求。同时,路由器必须处理的签名(或规则)数量也从 10 年前的约 1,000 个增长到了目前支持细分服务的网络中的数千个。
规则数据库规定应如何对进入的数据包进行分类、细分服务、安全性、负载平衡以及流量测量等方面的处理。这些数据库包含有10万条规则,目前正处于探讨之中,在今后一两年内预计就可以应用于网络中[3]。由于网络处理器本身就是高度优化的专用集成电路 (ASIC) 器件,根据数据库中规定的规则执行高速模式匹配工作,因此其能够很好地满足打击电子犯罪的要求。
以上的图 1 显示了典型的入侵检测系统,该系统在 IDS 中采用网络处理器,用于进行签名匹配。
以下图 2 显示的简单 (Aho – Corasick) 算法采用状态机在进入流量中搜索所有已知的恶意签名。搜索从根节点 (root node) 开始。只要有新的字符抵达,就会根据到达字符来改变状态。如果出现红色节点,就意味着找到了签名,并随之采取纠正措施,如避免该数据包进入 LAN,将其存储用作随后的分析并向有关管理部门发出告警等。
如果新字符未发现问题,也没有出现在目录树中,则搜索会重置为 START 节点。我们还采用 Bloom 过滤器等技术来提高效率,从而改善上述工作方法 [4]。 Bloom 过滤器作为预处理器工作,在识别可能有害的代码的同时让大多数正常信息流通过,查到的潜在有害的代码要进行全面检查,从而降低检查系统的负荷。
DDoS 攻击
拒绝服务 (DoS) 攻击会使合法用户不能从所需的资源处获得服务,这种攻击手段通常使用大量无用信息流量使网络处于瘫痪状态。大量无用信息会使服务供应方(如 web 服务器)过载,从而导致无法交付服务。DoS 攻击还有可能导致系统之间不能实现彼此通信。
分布式拒绝服务 (DDoS) 攻击采用“多对一”的方式进行攻击,通常会控制数台僵尸机 (zombie machine)(即在主人不知情的情况下被控制用来进行攻击的系统)同时向目标服务供应方系统进行攻击。针对这种攻击,我们提出了相关解决方案 [6]。典型的方法是将合法信息流量与大量的 DdoS 流量相分离,忽略旨在消耗资源的非法流量,同时继续为合法流量提供服务。我们可以通过同时采用以下技术来实现上述目的:
- 将客户端(如 web 浏览器)重新指向新的服务器 IP 地址与端口号,从而识别包含真实 IP 源地址的数据包,并剔除欺骗性数据包。由于重定向进程可针对客户端的IP 源地址采用消息认证代码 (MAC),因此我们能够识别并剔除欺骗性数据包。
- 如攻击者用合法 IP 地址进行攻击,则应采取配额系统 (quota system) 来应对。这可确保所有客户端系统不会非法消耗大量可用资源,从而避免了客户端不能获得服务的情况发生(即拒绝服务)。
- 让客户端(如 web 浏览器)“解决”密码问题。该技术让客户端(如本例中的 web 浏览器)必须承担一定的计算任务才能获得所需的服务(如下载网页)。相关可行性算法[5]能够确保让请求服务的客户端(通常为最终用户的计算机终端)执行适量的计算任务,这样就能避免过载。我们强制客户端计算机终端每次都为获得所请求的服务执行小量的计算,这样就能查出黑客是否已经控制僵尸机来进行攻击。
有鉴于此,只要系统发生危险,就会向系统主人与主管部门发出告警。只要实施良好的 IT 策略,企业就能解决攻击者控制僵尸机的问题,从而赢得打击电子犯罪的战斗。
-尽管我们事先不能确切了解会发生什么情况,但采用算法可测量通信流量是否正常[7]。我们可用网络处理器中提供的精细粒度流量测量功能来识别可疑的流量模式,一旦发现便可进行隔离检查,避免其进入本地网络。
攻击复杂化
由于在 web 上很容易就能获得恶意代码,造成攻击技术不断升级,在此情况下,恶意代码签名常常分散在多个数据包内(因此只检测单个数据包的机制再也满足不了目前需求),有些签名还会加密,这使检测工作的难度不断加大。这些情况要求 IDS 设备能够保持良好状态,即在各种数据包中跟踪恶意代码签名,同时还要对进入流量进行解密。IDS 设备还应在检测后对正常流量进行加密,这样才能确保按需到达目的地。
过去一两年间,还出现了几种组合型威胁(称作“多重攻击 (Blended Threat)”)的情况。这些攻击会同时采用一系列病毒、蠕虫、特洛伊木马技术的组合,使恶意代码能够利用服务器与因特网的薄弱环节。这种混合式威胁用多样化的手段进行扩散式攻击。因此,上述攻击更难检测和预防。这些多重攻击的情形多样,其中包括在 web服务器中嵌入软件代码,从而造成访客感染;发送带有蠕虫附件的垃圾邮件;以及无需人工干预就能自动扩散传播。这种攻击最好在会话开始时就检测到,否则很难打败它。
在上述情况下,能够对进入的恶意通信流量进行分类以快速避免进一步检测的网络处理器会发挥极高的防止效率。由于安全需要,对 NP 的要求越来越高,这就为专门用于安全性目的的独立 ASIC 设备推广带来了市场。
不过,长远说来,我们应既充分利用模式匹配技术,又要结合采用 NP 中具备精细粒度的流量管理特性,这才是高效解决安全问题的合适方法,而不是依靠多个 ASIC 安全设备并让每个设备专门去处理某种具体领域的安全威胁。
异常协议检测
进行异常协议检测时应遵循网络通信会话的进程,识别各种异常情况。如果浏览器或文件传输协议 (FTP) 会话等应用尝试打开与该应用协议无关的端口,那么我们就会制止该会话,并将其标记为“需要进一步检查”。
此外,我们还需要对上述技术进行扩展,在数据库中建立用法描述。如果有的会话与数据库中规定的用法描述不匹配,那么 IDS 系统就会发出告警,或密切“监视”该会话,或强制终止该会话。
证实入侵的步骤
网络上证实入侵的系统分为四个阶段:检测、预防、保护及薄弱环节检测。专为模式匹配设计的语言,如用于监视签名的环境模式识别语言(CPRL)以及杰尔系统的函数编程语言 (FPL) 等,均可提高扫描效率,从而帮助证实入侵是否发生。
尽管这些工作任务看起来繁重,但网络处理器或路由器制造业并不必为确保网络安全而给所有的网络路由器添加大量计算功能。只要网络上10% 的路由器能够进行内容过滤,我们就可以灵活而熟练地将这些设备布置在恰当的位置上,从而确保检查到通过网络的所有数据包[9]。
总结
打击电子犯罪常常要求高速度的模式匹配功能来检测是否有非法签名入侵网络。此外,我们还应采用流量测量技术来监控流量模式的微妙变化,从而发现攻击会话是否已经启动,尽管事先并不了解相关攻击模式。
我们采用成熟稳定的基于 ASIC 的 IDS 技术可实现上述功能,因为该技术既支持高速模式匹配,又支持精细粒度的流量管理以及统计数据收集功能。
综上所述,网络处理器在打击电子犯罪领域发挥着重要作用,因为这些 ASIC设备经优化后能够以精细粒度级性能快速进行模式处理操作、流量管理以及统计数据收集。
参考资料:
1. http://www.csoonline.com/read/090104/2004ecrimewatchsummary.pdf; 2.http://www.calit2.net/articles/article.php?id=630;
3.作者:F. Baboescu 与 G. Varghese,摘自《IEEE/ACM 网络汇刊》“可扩展数据包分类”,2005 年 2 月第 1 版第 13 卷;
4.作者:S. Dharmapurikar 等,摘自 2003年 8 月版《高性能互连会议文集 (HotI)》44 至 51 页部分“用并行 Bloom 过滤器进行深入的数据包检查”,美国加利福尼亚州斯坦福;
5.作者:X.F. Wang 与 M.K. Reiter,摘自《2003 年 IEEE安全与隐私会议文集 (SP’03)》“用计算任务防止拒绝服务攻击”;
6.作者:J. Xu 与 W. Lee,摘自《IEEE 计算机汇刊》“预防分布式服务攻击,维持 Web 服务的可用性”,2003 年 2 月第 2 版,第 52 卷第 195 页至 208 页;
7.作者:F. Hao 与 M. Kodialam T.V. Lakshman,摘自《第 12 届 IEEE网络协议国际会议备忘录 (ICNP’04)》“实时检测隐藏的流量模式”;
8.作者:F. Hao 等,摘自《IEEE INFOCOM 2005》2080 页至2090 页部分的“通过计算重合情况用存储器的方式快速高效地估算流量”;
9.作者:M. Kodialam、T.V.Lakshman 及 S. Sengupta,“用内容过滤节点配置网络,实施网络安全应用”。