美国“监控门”情报收集系统 X-Keyscore 技术揭秘
英文原文: NSA X-Keyscore Program Full Presentation
美国“棱镜”监控计划曝光者爱德华·斯诺登近日再度爆出猛料,曝光了美国国家安全局的情报收集系统X-Keyscore 的相关技术细节。
根据资料显示,美国情报机构分析人员可以通过X-Keyscore 对个人的互联网活动进行实时监控。据悉,2012 年X-Keyscore 在 1 个月内存储的各类监控数据记录高达 410 亿条。
斯诺登曝光了 NSA(美国国家安全局)内部关于X-Keyscore 的培训幻灯片,从中你可以看出这个系统有多么强大。幻灯片内容编译如下:
什么是X-Keyscore
- DNI(国家情报局)采集系统/分析框架
- 可针对邮件、内容等执行强大的查询操作
- 提供实时的目标活动信息
- 所有未过滤的数据可在X-Keyscore 缓冲区存放 3 天(通过X-Keyscore,可存储所监控网站的完整数据,并为元数据建立索引,并可以为通用数据类型提供一系列视图)
这是一个联合查询系统——执行 1 次查询将会扫描所有网站,并通过挖掘元数据,来找到你之前闻所未闻的目标事件。
系统相关细节
- 大规模分布式 Linux 集群
- 超过 700 台服务器分布在世界各地
- 系统可以线性扩展——只需添加新的服务器即可
- 服务器群集
- 联合查询机制
X-Keyscore查询层级
X-Keyscore 部署在哪?
X-Keyscore 部署在 150 多个地点,拥有超过 700 个服务器。(注意地图上中国境内的红点)
X-Keyscore 的独特功能
你可以执行浅显分析,作用是:
- 你可以看更多数据
- 如果数据率过高, X-Keyscore 也能被配置为浅显分析
也可以执行深入分析,理由和作用是:
- Strong Selection 本身只提供了一个非常有限的能力
- 人们在网上执行的大部分活动基本上都是匿名的
- 可以使用这个通信量及时发现异常情况,然后指导我们去做情报工作,或针对传统任务执行 strong selectors
X-Keyscore 可以在收集到的会话上做什么?
X-Keyscore 可以通过插件来提取信息,并索引元数据到表中。
X-Keyscore 中包含了如下插件:
- E-mail 地址插件:通过用户名和域名来索引会话中的所有E-mail 地址
- 提取文件插件:通过文件名和扩展来索引会话中的任何文件
- 完整日志插件:索引收集到的每个 DNI 会话。通过标准的N-tupple(IP、端口、Casenotation)来索引数据
- HTTP 解析器插件:索引客户端 HTTP 流量(然后跟踪)
- 电话号码插件:索引会话中的每个电话号码(例如电话本或签名处的号码)
- 用户活动信息插件:索引 Webmail 和聊天内容,包括用户名、在线好友、特定 cookies 等
X-Keyscore 可以存储哪些信息?
可以存储所有你希望提取的内容,你只需选择你的元数据,进行存储设置后,交给 HTTP 解析器即可。
可以使用X-Keyscore 来做什么?
1. 找到目标
如何通过 strong-selectors 来找到一个已知目标?如何找到一个 strong-selectors 中没有相关信息的恐怖分子?
你可以通过查找异常事件和人,比如:
- 那些所使用的语言不是所在地区的人
- 使用加密技术的人
- 搜索网络中可疑东西的人
2. 查找加密信息
比如:
- 显示来自伊朗的所有加密的 word 文档
- 显示伊朗的所有加密软件使用情况
这些查询数据量可能太大,也不可能返回所有信息,无法使用 strong-selector,这种情况可以执行追溯查询,然后从相应的网站上找到你感兴趣的内容。
3. 技术侦查
比如显示X国家中的所有 VPN 启动数据,并显示出能够找到用户的一些信息。
这些事件在X-Keyscore 中很容易浏览到。X-Keyscore 可以提取并存储许多主要文档类型的作者信息,然后执行追溯调查,来跟踪文档起源,这种元数据通常可保存 30 天。
4. 收集个人会话
方法如下:
- 传统上可通过 strong-selector 事件触发,但这不是唯一途径
- 反向 PSC——将异常事件返回到 strong selector。当数据首次被强力查询时,你不能执行这种分析
- 配合 Marina——允许在事件发生后执行 PSC 收集
5. 语言跟踪
比如:如何找到在巴基斯坦讲德语的人?
你可以通过X-Keyscore 的 HTTP 活动插件提取和存储所有能够被搜索的 HTML 语言标签,然后进行分析。
6. Web 搜索事件跟踪
比如:我追踪的人使用了 Google Maps 服务来查找位置,我能通过这个信息找到他的邮件地址吗?或者能否从他的 Web 搜索信息中找到可疑信息?
X-Keyscore 可以提取和存储所有基于 Web 的搜索事件,你可以使用回顾性查询来找到感兴趣的内容
7. 文档跟踪
比如:我发现了一个关于“圣战”的文档,但已经经过无数人之手,如何找出这是谁写的,他们在哪里?具体的方法在幻灯片中已经删除,因为这涉及国家安全局的特定操作。
8. 发现感兴趣的文档
比如:能否显示所有包含来自伊拉克的 MAC 地址的微软 Excel 电子表格,以便我可以执行网络映射?
X-Keyscore 中新的提取器允许在文档/电子邮件的正文中执行不同的字典,这些复杂的字典可以生成并存储这些信息,针对特定的数据类型有多个字典
9. 分析指纹信息
可以从 TAO 中加载指纹信息到 X-Keyscore 的应用/指纹引擎中进行分析。这种操作需要复杂的布尔运算和正则表达式。
10. 发现新的 Web 服务目标
每天都会有新的 Web 服务,X-Keyscore 可以根据用户 ID 来扫描服务而不是执行 strong selection,这意味着你可以检测之前所不知道的应用程序相关活动信息。
11. 实体提取
X-Keyscore 拥有针对英语、阿拉伯语和中文的技术,允许你查询:
- 显示所有涉及 IAEO(伊朗原子能组织)的 word 文档
- 显示所有涉及奥萨马·本·拉登的文档
- 还可以查询显示“类似于 xxx 的 xxx”
X-Keyscore 的成功案例
通过X-Keyscore 生成的情报,成功捕获了 300 多名恐怖分子。
X-Keyscore 的创新点:
- 高速查询
- 工具栏
- 集成 Marina
- 集成 GPRS、WLAN
- SSO CRDB
- 工作流
- 多级别字典
X-Keyscore 的未来计划
- 再次提速(算法和单元处理器)
- 更好地呈现
- 实体提取
- VoIP(网络语音电话业务)
- 更多的网络协议
- 更多类型的元数据(Google-Earth、EXIF 标记、CES-AppProcs 等)
- 更易于安装、维护和升级
这个幻灯片是 2008 年 NSA 内部的培训资料,从上面显示的内容可知,该系统无孔不入,基本上只要你在网上有相关的活动,相关信息即有可能被监控。
斯诺登称,他受雇于 NSA 时,曾有机会使用X-Keyscore,他形容,只要有相应的电子邮件地址,他可以对任何人进行监控,下至平民百姓,上至法官总统。
外界对如此大规模的监控计划普遍感到担忧。