美国爱因斯坦计划技术分析
【本文与2014年6月16日再次编辑,增加了一个续文的链接】
【本文于2011年8月30日再次更新,修订并补充了有关爱因斯坦3的一些内容】
【本文于2011年8月20日更新】
【前言】本文始于对网络安全态势感知的研究。而美国的这个爱因斯坦计划可以看成是网络态势感知的实际大规模运用。我发表此文,不担保文中的内容正确性,仅在于传播更多有关态势感知和爱因斯坦计划的信息。此外,本文在博客发表,也冀希望于借助开放的网络平台让更多人士看到本文,从而更好的指出其中的错误,深化其中的内容。
美国爱因斯坦计划技术分析
1 爱因斯坦-1
1.1概述
爱因斯坦计划1始于2003年,系统能够自动地收集、关联、分析和共享美国联邦国内政府之间的计算机安全信息,从而使得各联邦机构能够接近实时地感知其网络基础设施面临的威胁,并更迅速地采取恰当的对策。通过收集参与该计划的联邦政府机构的信息,US-CERT能够建立和增强对美国网络空间态势感知的能力。这种态势感知的能力将使得国家能够更好地识别和响应网络威胁与***,提高网络安全性,提升关键的电子政务服务的弹性,增强Internet的可生存性。
1.2动因
爱因斯坦1计划的最根本动因就在于美国联邦机构各自都有自己的互联网出口,这种各自为战的情形使得联邦政府整体安全性难以得到保障,也无法获悉整个联邦政府的安全态势,不利于相互之间的信息共享、信息安全的协同。
1.3 收益
原来US-CERT更多的是分享弱点信息,而通过爱因斯坦1计划,则能够从更多的方面帮助联邦政府,这些方面包括:
1) 蠕虫检测:尤其是可以形成一幅跨政府部门的蠕虫***图;
2) 异常行为检测:通过跨政府部门的带内和带外的异常行为分析,能够更加全面的分析异常行为,并对其它部门提供预警信息和***线索;这个功能是爱因斯坦计划1 的核心;
3) 配置管理建议:通过爱因斯坦计划,US-CERT能够为联邦政府机构提供更有价值的配置管理建议;
4) 趋势分析:帮助联邦政府从整体上了解政府网络的健康度。
1.4技术分析
爱因斯坦1的技术本质是基于流量的分析技术(DFI)来进行异常行为的检测与总体趋势分析,具体的说就是基于*Flow数据的DFI技术。这里的*Flow最典型的一种就是NetFlow,此外还有sFlow,jFlow,IPFIX等等。US-CERT通过采集各个联邦政府机构的这些Flow信息,进行分析,获悉网络态势。
爱因斯坦1通过采集Flow信息,获得的数据包括以下几个部分:
1) ASN自治域号
2) ICMP类型/代号
3) 流字节长度
4) TCP/IP协议类型
5) 传感器编号:整个系统将在参与的联邦政府机构的网络中部署Flow采集传感器
6) 传感器状态
7) 源IP地址(IPv4)
8) 目的IP地址(IPv4)
9) 源端口
10) 目的端口
11) TCP标志位信息
12) 时间戳
13) 持续时间
1.5系统工作流程
1) 各联邦机构通过部署传感器采集Flow数据,然后在本地进行一次分析,仅将关键的分析结果或者必要的信息传递给US-CERT,确保传输数据量受控;
2) US-CERT的分析师对传上来的数据进行二次分析,
3) 如果发现了可疑的行为或者其他异常,US-CERT分析师将与信息来源方联邦机构取得联系,一起检查与此可疑行为有关的其他网络行为;
4) 除了分析潜在的异常行为,US-CERT还将为联邦机构提供配置管理的设置建议。
1.6 系统管理界面截图
2 爱因斯坦-2
2.1 概述
爱因斯坦2计划是1号计划的增强,始于2007年,该系统在原来对异常行为分析的基础上,增加了对恶意行为的分析能力,以期使得US-CERT获得更好的网络态势感知能力。同时,2号计划将配合美国政府的TIC(可信Internet接入,旨在减少和收拢联邦政府机构分散的互联网出口)计划一起实施。
而实现该恶意行为分析能力的技术是网络***检测技术。而爱因斯坦2计划主要以商业的IDS技术为基础进行了定制开发,而特征库即有商业的,也有US-CERT自己的。爱因斯坦2计划中的特征库是US-CERT精选的,做到尽可能的少。
2.2 技术分析
爱因斯坦2计划的技术本质是IDS技术,它对TCP/IP通讯的数据包进行DPI分析,来发现恶意行为(***和***)。
爱因斯坦2计划的IDS技术中既有基于特征库(Signature,也有叫指纹库、指纹信息、签名库)的检测,也有基于异常的检测,二者互为补充。
爱因斯坦2通过DPI,获得的数据包包括以下几个部分:
1) 源IP:sIP
2) 目的IP:dIP
3) 源端口:sPort
4) 目的端口:dPort
5) 协议类型:protocol,例如TCP、ICMP、UDP等
6) 包数量:packets,通过传感器计算出来的一次连接的包数量
7) 字节数:bytes
8) 连接开始时间:sTime
9) 连接持续时间:dur
10) 连接结束时间:eTime
11) 传感器编号
12) 数据流方向:type,分为进(in/inweb/inimcp)、出(out/outweb/outicmp)、内到内(int2tint)、外到外(ext2ext)
13)初始标志位:intialFlag,例如C(WR)/E(CE)/U(RG)/A(CK)/P(SH)/R(ST)/S(YN)/F(IN)
2.3 传感器设计
爱因斯坦2计划的传感器中包括了商业的软件,政府定制的软件,以及商业的IDS软件。该传感器放置于联邦机构的互联网出口处(IAP,Internet Access Point),并且最终就是TIC计划中的那些统一互联网出口。
2.4 系统工作流程
1) 各传感器在本地互联网出口处进行DPI分析,通过特征检测技术和异常检测技术发现恶意行为,并产生告警;
2) 告警信息(Alert),相关的数据包信息(Flow-Records),以及必要的与恶意行为相关的网络原始报文信息(Traffic),都被送到US-CERT,供分析师进行深入分析;
3) US-CERT负责统一对传感器的特征库进行升级维护;
4) 所有US-CERT收集到的信息保存3年。
3 爱因斯坦-3
3.1概述
从2008年开始,美国政府启动了“全面国家网络空间安全计划(CNCI)【注1】”。作为其中的一部分,就是DHS的爱因斯坦3计划(DHS称其为下一代爱因斯坦计划)。目前,该计划披露的信息甚少。作为实施爱因斯坦3计划的一个重要步骤,DHS启动了一个“第三阶段演练”的项目,其中就有爱因斯坦3的部分技术可行性分析与验证的工作。根据“第三阶段演练”项目,可以得知,爱因斯坦3计划的主要技术支撑是IPS。而该***防御技术是由NSA(国家安全局)主导开发出来的,代号为称作“Tutelage”(已经用于保护军方网络),主要就是他们做出来的一套识别特定***的特征库(Signature)。“第三阶段演练”项目旨在验证有关技术,确定用于爱因斯坦3的技术方案。整个演练分为4各阶段实施。
根据“全面国家网络空间安全计划”(CNCI)中的TIC,提出了TICAP(可信Internet连接访问提供商)的概念,即将为联邦政府提供网络接入的ISP也纳入其中,例如AT&T公司。在“第三阶段演练”项目中,AT&T预计将参与其中。其中有一个演练的内容就是由TICAP将政府网络的流量有选择性的镜像并重定向出来,供US-CERT对这些流量进行***检测与防御分析的实验。
根据3号计划,DHS希望最终能够将TIC与爱因斯坦融合起来,成为联邦政府网络基础设施的基本保障。
另外,从爱因斯坦3计划开始,NSA(国家安全局)和DoD(国防部)都明确加入其中。
3.2 总体技术分析
在爱因斯坦3计划中,将综合运用商业技术和NSA的技术对政府机构的互联网出口的进出双向的流量进行实时的全包检测(Full Packet Inspection,FPI),以及基于威胁的决策分析。特别的,借助在电信运营商处(ITCAP)部署传感器,能够在***进入政府网络之前就进行分析和阻断。
爱因斯坦3计划的总体目标是识别并标记恶意网络传输(尤其是恶意邮件),以增强网络空间的安全分析、态势感知和安全响应能力。系统将能够自动地检测网络威胁并在危害发生之前作出适当的响应,也就是具备IPS的动态防御能力。
爱因斯坦3计划还增加了一个联动单位——NSA。US-CERT在获得DHS的许可后,会将必要的告警信息送给NSA进行进一步分析。
爱因斯坦3计划主要要解决的问题是网络空间威胁(Cyber Threat),至少包括钓鱼、IP欺骗、僵尸网络、DoS、DDoS、中间人***,以及其他恶意代码插入。
初步可以判断,爱因斯坦3计划依然是以使用DPI+DFI技术为主,获取的数据包信息没有超过1号和2号计划,最多也就相当于上述之和。
综上所述,爱因斯坦3的技术本质可以概括为:依托商业IPS技术,通过FPI,DPI+DFI等手段,与TIC计划紧密结合,实现对网络空间威胁(Cyber Threat)的识别和阻断。
爱因斯坦3计划的关键创新之处在于其部署方式(TICAP的加入使得原先的传感器专为在TICAP端部署,并采用所谓“重定向”技术)和运作流程。 在分析端,亮点在于加入了IPS的技术(主动响应技术),还有实时FPI全包分析的技术。进一步分析,这就涉及到更加精准的特征库、超高的传感器处理性能、更多高级的威胁分析技术。
另外,没有证据表明爱因斯坦3计划中的FPI不会对数据包的payload进行内容检测。
下图进一步说明了爱因斯坦3的传感器与TIC联合部署的逻辑拓扑:
上图展示了在四种接入方式下的爱因斯坦3号传感器的部署。图中,Networx是TIC下的另一个项目,旨在帮助联邦政府机构选择TIC接入的路由。
爱因斯坦计划不仅需要最先进的技术,还需要大量的人力资源,尤其是安全分析师。2009年的时候,US-CERT和DHS宣布在未来3年要为爱因斯坦计划招聘1000人的安全分析师。
【注1】关于CNCI,再多说一下,TIC与爱因斯坦是CNCI涉及的12项计划中的最重要的两个。CNCI计划由美国总统在2008年1月签署实施(NPSD54)。实际上,TIC和爱因斯坦都比CNCI提出的要早,但是后来都被合并到CNCI中去了。另外,在2008年底,DHS将爱因斯坦计划又合并到了NCPS(National Cyberseucrity Protection System)项目中了。因为原来对爱因斯坦的定义更多的是部署传感器,而在NCPS中则更加强调基于这些传感器获得的数据做关联与分析。
【后记】美国的爱因斯坦计划十分庞大,目标旨在保护其电子政务网络,同理,类似的技术也可以用户保护私人网络。爱因斯坦计划所对应的系统可以分为两个部分:传感器部分和分析中心部分,抑或称之为前端和后端。在前端,可以运用NAV技术,而后端可以运用SIEM技术。整个分布式的前端和集中化的后端和起来就构成了一个态势感知网络。而正在建设中的这个爱因斯坦系统,可以说是真正大规模实用的态势感知系统。事实上,爱因斯坦计划就是一个政府主导的,商业厂商参与的项目。在这个项目中处处可见商业厂商的影子,而这些参与的厂商,从技术上肯定有NAV和SIEM厂商。NAV,说到底,就是DPI+DFI。根据美国某公司的市场分析,美国政府的DPI市场从2010年到2015年将有36%的年均复合增长率,2015年将有18亿美元市场容量。市场中将包括DPI厂商,政府的合同供应商(SI),政府相关机构等。例如,国防外包商SAIC公司就在2010年收购了做DPI的公司。
通过了解最前沿的这些厂商的技术及其他们所服务的客户,也可以一窥网络态势感知的发展趋势。
此外,网络空间的安全态势感知(Cyber Security SA)与一般的网络安全态势感知(Network Security SA)还是有所不同的。
【参考】
欧洲的民间版爱因斯坦计划:欧洲龙虾计划技术初探
转载于:https://blog.51cto.com/yepeng/641002
相关文章:

[C].运算符
运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C 语言内置了丰富的运算符,并提供了以下类型的运算符: 算术运算符关系运算符逻辑运算符位运算符赋值运算符杂项运算符本章将逐一介绍算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符和…

[kuangbin带你飞]专题六 最小生成树 L - 还是畅通工程 (简单最小生成树)
L - 还是畅通工程 题目链接:https://vjudge.net/contest/66965#problem/L 题目: 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直…

[建议] GCC 新手入门【转】
本文是写给 gcc 新手的入门文章,所以内容比较简单。如果你知道下面3条命令都可以编译c的话,就不用在本文浪费时间了 g -Wall hellocpp.cpp gcc -Wall hellocpp.cpp -lstdc gfortran -Wall hellocpp.cpp -lstdc 注:本文最新版在wiki中 http:…

【java】如何判断数组中的内容是否重复
代码实现: public static boolean judgeArray(long[] arraySample) {HashSet<Long> hashSet new HashSet<Long>();for (int i 0; i < arraySample.length; i) {hashSet.add(arraySample[i]);}if (hashSet.size() arraySample.length) {return tr…

html标签的赋值与取值
现在有一个Add.ascx 和一个Add.aspx页面,Add.ascx中有一个html标签,如果标签有默认值的话在Add.ascx.cs的Page_Load中有Request.Form["标签ID"]就可以取到。 下面说赋值,因为我的标签是有默认值的,所以也就不能用<%%…

Entity Framework应用:根据实体的EntityState状态实现增删改查
在上一篇文章中,我们讲解了使用EF实现简单的增删改成,在这篇文章中我们使用实体的EntityState状态来优化数据的增删改查。 一、修改数据 上篇文章中的修改数据的方法是EF官方推荐的方式,即先查询出来要修改的数据,然后在修改。但是…

几种Normalization算法.md
神经网络有各种归一化算法,BN,LN,IN,GN。 1. Batch Normalization 实现流程:对Tensor为[N, C, H, W], 把第1个样本的第1个通道,加上第2个样本的第1个通道, 加上第N个样本的第1个通道,求平均&…

【java】浅谈注释
java中的注释可以分为三大类:行注释、块注释以及文档注释 行注释: 基本语法: //注释的内容 产生 效果:该行//之后的内容就都被注释了 块注释: 基本语法: /* 注释内容 */ 注:块注释禁止嵌套…

一个“复制/删除”方式的滚动
一个利用复制和删除节点的方式做的滚动。。。不知性能怎样呢? 一个滚动Left Right 12345678转载于:https://www.cnblogs.com/lbsgood/archive/2012/06/08/2541177.html

OSPF-网络类型(ip ospf network ?)
在介绍之前首先看个表!二层链路与OSPF网络类型有什么联系呢?其实中间的关系可大了,OSPF网络类型应该说是根据二层链路的类型来选择的,而且两者应用匹配,也就是当OSPF网络类型支持组播时,如果二层链路不支持…

E20180525-hm
sensitive adj. 敏感的; 感觉的; [仪] 灵敏的; 易受影响的; lookup v. 查找; 查表; speedy adj. 快的,迅速的; 敏捷的 marshal vt. 整理,排列,集结; vi. 排列; 编队; n. 元帅; 典礼官; 执法官; 消防局长; feature n. 特征,特点;…

[题解]RGB Substring (hard version)-前缀和(codeforces 1196D2)
题目链接:https://codeforces.com/problemset/problem/1196/D2 题意: q 个询问,每个查询将给你一个由 n 个字符组成的字符串s,每个字符都是 “R”、“G” 或 “B”。 求出更改初始字符串 s 中的最小字符数,以便更改后将…

C#连接MySql
1.从http://prdownloads.sourceforge.net/mysqldrivercs/MySQLDriverCS-n-EasyQueryTools-3.0.18.exe?download上下载MySQLDriverCS. 然后安装。2.从安装目录中把MySQLDriverCS.dll.添加到.net的组件 1 public void Connect_Net()2 {3 MySQLConnection m…

【java】快速复制数组方法arraycopy的使用
通常进行数组的复制需要使用到循环,然而jdk中已经给我们封装好了一个专门用来复制数组的快捷方法 arraycopy() 使用方法: System.arraycopy(src, srcPos, dest, destPos, length); 注: src:被复制的数组 srcPos&am…

【指针的高级声明】
在分享这些高级声明之前,我想,大家有必要知道各个操作符在C、C语言中的优先级,以便识别欲讲述的高级声明。这里先列举一些高级声明的例子,能自己揣摩清楚最好不过了,如果有想不懂的地方,请参见下方的识别方…

【大数据实时计算框架】Storm框架
一、大数据实时计算框架 1、什么是实时计算?流式计算? (一)什么是Storm?Storm为分布式实时计算提供了一组通用原语,可被用于“流处理”之中,实时处理消息并更新数据库。这是管理队列及工作者集群的另一种方…

引用-ZIGBEE-ZSTACK网络配置相关问题
下面是以道友问的问题,这里简单做分析,仅供交流学习用,有什么不对之处还请各位大虾指正。鄙人邮箱为:peterpanjy163.com. 欢迎交流!!1: 最主要的就是路由问题。我用06协议栈自带的例子程序sampl…

GHOST还原教程详细
要提醒您注意的是在使用 GHSOT 软件恢复系统时,请勿中途中止!如果您在恢复过程中重新启动了计算机那么您的计算机将无法启动!必定要接双硬盘或用光盘系统启动才可恢复 在您的系统遇到以下的情况之一 怀疑或确定您的系统中了病毒或木马 系统运…

【java】增强for循环的简单使用(遍历数组)
public class Test4 {public static void main(String[] args) {int[] intArray {1, 2, 4, 5, 7, 8};for(int number : intArray) {System.out.println(number);}} }

字符设备驱动程序 2
三、字符设备的注册内核内部使用struct cdev结构来表示字符设备。在内核调用设备的操作之前,必须分配并注册一个或多个struct cdev。代码应包含<linux/cdev.h>,它定义了struct cdev以及与其相关的一些辅助函数。 注册一个独立的cdev设备的基本过程…

qmake 简易教程
qmake 简易教程 qmake是Qt开发中默认的构建工具。posted on 2018-05-27 00:09 JichengTang 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/tangjicheng/p/9094857.html

MSF连环攻击实验
MSF连续攻击实验 一、实验拓扑 二、实验环境 Windows XP BT 5 32位 三、实验原理 通过扫描 XP主机,利用扫描出的漏洞建立 TCP会话,通过进程的提权,进一步获取目标机的控制权限 四、实验目的 掌握MSF连续攻击的原理和利用MSF攻击检测技术进行服…

【java】关于面向对象优点的个人理解
本文只是一些个人的理解,没有过多的进行基础理论的堆积,尽量说人话,让不懂的人也可以有一点概念。 相同的目标: 去第一餐厅吃饭 面向过程: 进入第一餐厅、买饭、吃饭 面向对象: 创建对象 第一餐厅、同…

(转)flash的Socket通讯沙箱和安全策略问题
一、沙箱和安全策略问题 1、此问题发生在连接时,准确地说是连接前,分别两种情况: 1.本地播放 本地播放时,默认情况下Flash Player将不允许swf访问任何网络。 访问http://www.macromedia.com/suppor…

asp.net code-behind
asp.net code-behind 技术是指页面与代码分离。 asp.net framework允许创建两种不同的页面,一种是单页面(页面包含页面代码与控件,页面代码包含在<script runat"server"></script>标签中),另外一…

python 基础_列表的其他操作 4
一.查找某个元素在数组中出现的次数 ,count的运用 a [a,b,c,c,c,a] print(a.count(c)) 二.把一个元素插入到另一个元素的末尾,extend。如下面,把b里面的值赋予给a。 a [a,b,c] b [d,e,f] a.extend(b) print (a) print (b) 输出的结果为 [a…

DataGrid和GridView单击背景变色双击颜色还原
DataGrid中 首先我们假设.aspx文件中DataGrid的数据行的样式为 <AlternatingItemStyle BackColor"White" ForeColor"#284775" /><ItemStyle BackColor"#F7F6F3" ForeColor"#333333" /> 则在DataGrid的ItemDataBound事件中…

elasticsearch的备份和恢复(转)
vim /etc/elasticsearch/elasticsearch.yml path.repo: ["/data/backups/es_backup"] #备份目录,根据自己情况进行填写 systemctl restart elasticsearch.service mkdir -pv /data/backups/es_backup chmod 755 /data/backups/es_backup chown elas…

【javamatlab】以一个简单的例子实现java和matlab混编
目录 使用环境: MATLAB: matlab代码: 将matlab代码打包: eclipse: jar包配置: 使用jar包: 使用环境: jdk8(ide使用eclipse2019-6)、matlab2019a 应该从2018开始m…

转载CSDN - 从程序员到HR——面试经验分享
CSDN博客一周热文推荐,为您总结回顾过去一周的CSDN博客热门文章,推荐优质的博客作者,分享精华文章和优质博客。 [1] 谭海燕:北漂之惠普H3C面试经历 上一篇讲到了《北漂之百度面试》,今天跟大家分享我在H3C的面试经历。…