欧洲龙虾计划技术初探
Edited by Benny YE
Last Modified:2011/9/13
概述
龙虾计划(Lobster Program)是由欧盟委员会下的IST资助的一个项目,旨在建立一套提前发现、追踪和消除复杂网络攻击,并分享这些攻击信息的系统。主要承担方是希腊研究与技术基金会。龙虾计划的全称是Large-scale Monitoring of Broadband Internet Infrastructures,即大规模宽带Internet基础设施监测。
项目于2004年1月启动,并已经在2007年6月结项。目前,各参与方仍在继续基于这个项目进行各自的进一步研究与开发。
项目的动因本质上就是为了获得对网络的态势感知,尤其是安全态势感知,尽管当时他们并未用这个词来概括其动因。
该项目的核心目标是:基于被动监测传感器,针对欧洲地区的互联网建立起从2.5Gbps到10Gbps环境下的网络流量监测的试点。另外,值得一提的是该项目中几个具体目标:
1) 实现一个能够实现原始流量数据匿名化的工具与通用的匿名数据流量信息表达方式。因为该项目的一个目标是要在不同的参与者之间分享捕获的攻击数据,以便进行协作分析。而保护每个信息提供者的原始数据隐私是很重要的、也是很实际的一个问题。这就好比如现在的MSSP在给最终用户提供服务的时候,如何既能够发现针对客户的敏感信息窃取攻击,又不看到客户的敏感信息一样。
2) 在这个高性能、分布式的监测传感器(Traffic Monitoring)基础上建立一套应用分析框架和典型应用,支持识别0day蠕虫传播、识别动态端口应用、对互联网服务进行度量,等等。
另外,需要指出的是,龙虾计划很多都与网络安全有关,但并未单纯为了网络安全,还包括网络性能与可用性的监测,例如流量分布、(应用层)流量统计、应用性能度量、Internet服务质量度量,等等。
最后,需要强调的是,Lobster计划做出来的核心是一个应用框架,以及一些基本的应用(NERD、Ruler、Stager等),具体的应用还需要开发者基于这个框架做各自的开发。Lobster支持的创新型应用包括:
1) 精确识别使用动态端口的应用,例如P2P应用;
2) 0day蠕虫扩散的早期预警分析系统;
3) 应用性能度量;
4) 检测与跟踪DoS攻击;
5) 等等。
这个链接提到了其发现的攻击样本。
关键技术
被动监测技术
其本质就是DPI+DFI技术。所谓被动,就是不会对监测网络产生影响,例如不需要在当前的运行网络中注入监测指令(数据包),不会产生监测流量。相对而言,采用注入方式监测的技术就称作主动监测技术,该技术在网络管理中经常用到。例如执行Ping和Traceroute指令去获悉网络状态,实际上是对现有网络产生了一定的流量影响的。又例如SNMP get/set操作等。被动监测技术一般都采用流量镜像的方式来进行数据获取与分析。因此,被动监测技术也被称作是一种非侵入式的监测方式。
Lobster的被动监测技术获取的数据包括:Flow信息、数据包信息(包括包头,并且在必要的时候获取完整的报文——payload)。因此说,Lobster传感器的技术本质是DPI+DFI。此外,由于会获取报文,因而数据匿名化技术很有必要。
高性能硬件支撑
Lobster的软件系统是一个十分具有伸缩性的系统,既能够在简单的设备上运行,例如PC机和IA服务器,借助以太网卡即可被动监测百兆和千兆的网络;也支持在高性能服务器和专门的高速硬件设备上运行。对于支持高速硬件设备,主要就是指高速捕包网络接口卡。Lobster支持Endace的DAG卡,也支持IST另一个更加基础的项目——SCAMPI计划——中研制出来基于 Combo6的硬件加速卡,以及基于Intel或IBM的NP的硬件加速卡(例如Intel的IXP1200)。
图:Combo6卡
SCAMPI是欧盟的另一只龙虾。他更加底层,重点是解决高速网络环境(10Gbps)下的高速数据分析技术,包括开发一套高速硬件数据采集卡,以及进行网络和安全分析的开放式网络监测架构及其工具包(API)。该项目启动于2002年,在2004年9月结项。
SCAMPI包括两个核心:MAPI(监测API)和适配器。适配器是一套特制的硬件卡,可以支持10Gbps的数据捕获;MAPI就是一套给开发人员使用的编程接口,用于操控适配器卡。
SCAMPI的硬件卡
借助SCAMPI适配器,从硬件的层面上实现了数据包过滤、哈希、采样、字符查找、包头匹配等操作。
此外,Lobster的底层还支持基于硬件的包过滤技术。这种技术建立了一个包解析的流水线,并配上了一套可视化的编辑工具。
其他
Lobster也采用了类似爱因斯坦3的全包检测技术(Full Packet Inspection),这意味着Lobster的传感器不仅要有高性能的数据包捕获和解析能力,还要有巨大的存储能力。
与爱因斯坦计划的异同对比
龙虾(Lobster)计划是一个欧盟资助的民间计划,监测的范围主要是欧盟的互联网,其部署传感器的节点大部分是学校、研究性组织、以及一些电信运营商。而爱因斯坦计划很明确就是针对美国联邦政府机构,DHS负责本土机构,DoD和NSA负责海外机构。
龙虾计划资金也就百万欧元级别,偏研究与验证性质,自愿参与,并且是不完整的,很多具体的应用是缺乏的。而爱因斯坦计划投入资金庞大(可能达数十亿美元),是大规模实施类项目,里面涉及的很多内容都是运用成熟的商业化技术和产品。
两个计划最大的共同之处就在于都采用了DPI+DFI技术,都强调了高性能的数据处理,实时的全数据包检测(FPI)。
总之,龙虾计划的很多思想和成果可以为态势感知研究提供借鉴,但总体上距离美国的爱因斯坦计划的蓝图还比较远。
【参考】 美国爱因斯坦计划技术分析
【后记】网络安全态势感知的研究理论上可以分为态势要素的获取、态势理解和态势预测三个部分。我们谈到态势要素获取更多地是谈到如何更广泛地获取各种要素信息,进而涉及到异构数据源支持、多种采集协议、数据标准化和归并,等等相关议题。而实际上,对于具体的一个态势感知项目而言,感知的目标是很重要的,他决定了需要什么样的要素。要素质量很关键。高质量的要素信息,能够准确的帮助我们进行态势感知;相反,低质量的要素信息,无异于给系统输入一堆垃圾数据,加大分析难度。对于网络安全的态势感知,尤其是CyberSpace的SA而言,基于DPI+DFI分析得到的要素信息很有意义。而这些要素信息是现有的绝大多数安全设备并不能完全提供的。或者说,现在的安全产品在技术上还需要进阶。
而谈及进阶,可以有两个维度,一个是将DPI+DFI往深了做,例如NetWitness,另一个就是将多种DPI+DFI的功能进行有机组合。