网络处理器满足更高安全性需求
扫描二维码
随时随地手机看文章
各种调查、众多事例以及媒体报道都在关注同样一个重大问题,即电信与计算机网络的安全性需求日益增长。
《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]。我们可用网络处理器中提供的精细粒度流量测量功能来识别可疑的流量模式