Carnivore网络监视软件的工作原理
Carnivore工作原理
您可能听说过Carnivore,它是由美国联邦调查局(FBI)开发的一个有争议的程序,能够让该机构监视犯罪嫌疑人的网络/电子邮件活动。对于许多人来说,它就像是乔治奥威尔的小说《1984》中所述故事的恐怖再现。虽然FBI在2005年1月因购买了商业窃听软件而放弃了对Carnivore的使用,但是人们对这个一度延续了FBI在计算机通信监视领域特殊影响力的程序的结构和应用仍然有着强烈的兴趣。
Carnivore究竟是什么?它来自哪里?它是怎样工作的?它的目的是什么?在本文中,您将会了解到这些问题的答案以及其他更多信息!
Carnivore的发展历程
Carnivore是FBI使用的第三代网络监视软件。尽管第一个版本的信息从来没有向外界披露过,但是很多人相信它实际上就是市面上销售的名为Etherpeek的商业程序。
1997年,FBI部署了第二代程序Omnivore。根据FBI发表的信息,Omnivore的目的在于审查特定互联网服务提供商(ISP)网络上的电子邮件流量,并捕获来自目标来源的电子邮件,然后将邮件保存到磁带备份驱动器中或实时打印出来。Omnivore于1999年末停用,因为FBI有了更完善的系统——DragonWare Suite,这个系统允许FBI重新构造出电子邮件和下载的文件,它甚至可以重新构造网页。
DragonWare包含三个部分:
- Carnivore——个基于Windows NT/2000的系统,可用来捕获信息
- Packeteer——没有任何关于它的官方信息。但据推测,它是一个用于将数据包重新合为完整邮件或网页的应用程序。
- Coolminer——没有任何关于它的官方信息。但据推测,它是一个用于推断和分析邮件中数据的应用程序。
正如您所看到的,官方从未透露过有关DragonWare Suite的太多信息,甚至从未发布过有关Packeteer和Coolminer的任何信息,几乎也没有透露过Carnivore的细节信息。但是,我们知道Carnivore大致是一个数据包嗅探器,这是一种很常见的技术,而且应用广泛。
数据包嗅探器
多年以来,计算机网络管理员们一直在使用数据包嗅探器监视网络,执行诊断测试,或者用它来排除网络故障。从本质上说,数据包嗅探器是一种程序,凡是经由它所连接的网络进行传递的信息,它都能察觉得到。当数据流在网络上来回传送时,它便能够查看或“嗅探”每个数据包。
通常,计算机只查看传送给该计算机的数据包,而忽略网络上的其它流量。而当计算机中安装了数据包嗅探器之后,嗅探器的网络接口会设置为杂收模式。也就是说,它会查看经过的所有数据包。流量大小在很大程度上取决于计算机在网络中的位置。处于网络中孤立分支上的客户端系统只能看到网络流量的一小部分,而主要的域服务器则能看到几乎所有的流量。
通常我们可以用以下两种方式之一来设置数据包嗅探器:
- 非过滤——捕获所有数据包
- 过滤——只捕获包含特定数据元素的数据包
包含目标数据的数据包在传输时会被复制。程序将这些副本存储在存储器中或硬盘驱动器上,体取决于程序的配置方式。然后对这些副本进行仔细分析以确定其中是否包含特定的信息或图案。
连接到互联网时,您会加入一个由您的ISP负责维护的网络。ISP的网络再与由其他ISP维护的其他网络进行通信,从而形成了互联网的基础。安装在您的ISP的某一台服务器上的数据包嗅探器有可能监视您的所有在线活动,比如:
- 您访问过哪些网站
- 您在网站上浏览了哪些内容
- 您向谁发送电子邮件
- 您发送的电子邮件中包含什么内容
- 您从网站上下载了哪些内容
- 您用到了哪些数据流活动,如音频、视频和网络电话
- 谁访问了您的网站(如果你有网站)
实际上,许多ISP也使用数据包嗅探器作为诊断工具。此外,很多ISP还会在各自的备份系统中保存数据(例如电子邮件)的副本。Carnivore及其姊妹程序是FBI的一个有争议的举措,但是它们并不是新技术。
Carnivore的工作过程
现在您已经对Carnivore的概念有了一点了解,下面让我们看看它是怎样工作的:
- FBI可以合理地怀疑某人正在从事犯罪活动,并请求法院允许其查看嫌疑人的网络活动。
- 法院会允许FBI仅对电子邮件通信进行全面的内容窃听,并签发相应的许可令。
“内容窃听”是在电话监听中使用的一个术语,意味着可以捕获和使用数据包中的所有数据。另一种窃听是捕获追踪,即FBI只能捕获目的地信息(例如邮件的接收方或者嫌疑人正在访问的网站地址)。捕获追踪的反向形式称作围栏记录,它跟踪发送给嫌疑人的电子邮件来自何处,或者跟踪嫌疑人网站的访问者来自何方。
- FBI联系嫌疑人的ISP并请求获得嫌疑人网络活动的备份文件副本。
- ISP的备份中没有客户的活动数据。
- FBI在ISP处安装一台Carnivore计算机来监视疑犯的活动。该计算机中包含:
- 一个奔腾III Windows NT/2000系统,配备128MB的RAM
- 一个商业通信软件程序
- 一个自定义C++程序,它与上述商业程序配合工作,以提供数据包嗅探和过滤功能
某种类型的物理防范系统,需要特殊的密码才能进入此计算机(保证除FBI之外的任何人都无法实际访问Carnivore系统) - 一台网络隔离设备,使得Carnivore系统对于网络上的其他人是隐身的(防止任何人从另一台计算机上侵入系统)
- 一个2GB的Iomega Jaz驱动器,用于存储捕获到的数据(该Jaz驱动器使用2GB的抽取式磁盘,并且可以像软盘一样很容易地换上新磁盘。)
- FBI使用疑犯的IP地址配置Carnivore软件,以便Carnivore只会捕获来自这个特定地址的数据包。而忽略掉所有其他数据包。
- Carnivore会复制来自疑犯系统的所有数据包,并且不会对网络流量造成妨碍。
- 在获得副本之后,这些副本会通过一个过滤器以便只保存电子邮件数据包。程序根据数据包的协议来确定数据包的内容。例如,所有电子邮件数据包都使用简单邮件传输协议(SMTP)。
- 获得的电子邮件数据包保存在Jaz磁盘中。
- FBI探员每天(或每两天)拜访ISP一次,然后换上新的Jaz磁盘。探员会将取回的磁盘放在一个容器中,然后贴上日期标签和封条。如果封条被打开了,打开它的人就必须签名,然后再次贴上日期标签和封条——否则,这个磁盘中的内容会被认为是“已经受损”的。
- 如果没有法院的延期许可,监听活动的持续时间不应超过一个月。完成监听之后,FBI会从ISP处撤出该系统。
- 然后,使用Packeteer和Coolminer对获得的数据进行处理。
- 如果处理结果提供了足够的证据,FBI可以在案件处理过程中对疑犯使用这些证据。
上面的例子展示了该系统如何识别要进行存储的数据包。
carnivore引发的担忧
FBI可以因为某些特殊的理由而使用Carnivore,尤其是怀疑某人从事以下活动的时候,FBI会请求法院命令以使用Carnivore:
- 恐怖活动
- 儿童色情/剥削
- 间谍
- 信息战
- 欺诈
但是社会各方担心会由此引发许多严重的问题,其中包括:
- 隐私保护——许多人将Carnivore视为对隐私的严重侵犯。
由于确实存在着滥用的可能,因此,电子通信隐私法案(ECPA)为所有类型的电子通信提供了对隐私的法律保护。任何形式的电子监听都需要获得法院的许可,并且必须出示疑犯正在从事犯罪活动的有力证据。因此,无论以何种方式使用Carnivore,都必须遵守ECPA,否则便是非法的,并且有可能被视为违反宪法的行为。 - 管理控制——很多人都相信Carnivore是一个庞大的系统,美国政府可以通过它控制互联网并对互联网的使用进行控制。
真的做到这一点需要建立庞大复杂的基础结构——FBI需要在所有ISP处布置Carnivore系统,包括所有私有、商用和教育用途的ISP。尽管从理论上说,这对于在美国国内运营的所有ISP来说是可能的,但是仍然没有办法控制那些在美国管辖范围以外运营的ISP,而且任何类似的举措都会面临来自社会各方的强烈反对。 - 言论自由——有些人认为Carnivore会监视通过ISP传递的所有内容,而且会查找诸如“炸弹”或“暗杀”之类的关键词。
任何数据包嗅探器都设置为只查找特定模式的字符或数据。而且,如果没有一定的把握,FBI也没有理由监视您的在线活动,否则便会严重违反ECPA以及宪法赋予您的言论自由权利。 - Echelon——这是一个谣传由国家安全局(NSA)开发的秘密网络,据说旨在监测和捕获跨国境传输且包含某些关键词(例如“炸弹”或“暗杀”)的数据包。
但事实上并没有任何可靠的证据表明Echelon的确存在。许多人将这个谣传的系统和Carnivore系统弄混了。
所有这些担心都使FBI部署Carnivore的工作步履维艰。FBI拒绝披露Carnivore的源代码和其他某些技术信息,而这更加剧了人们的疑虑和担心。但是无论如何,只要在ECPA的约束和原则之下使用它,在与犯罪分子的斗争中Carnivore始终都是一件强有力的武器。
[责任编辑:小敏]