Table Of ContentHow Carnivore Works
You may have heard about Carnivore, a controversial program developed by the U.S. Federal Bureau of
Investigation (FBI) to give the agency access to the online/e-mail activities of suspected criminals. For many, it
is eerily reminiscent of George Orwell's book "1984." What exactly is Carnivore? Where did it come from? How
does it work? What is its purpose? In this edition of HowStuffWorks, you will learn the answers to these
questions and more!
Carnivorous Evolution
Carnivore is apparently the third generation of online-detection software used by the FBI. While information about
the first version has never been disclosed, many believe that it was actually a readily available commercial
program called Etherpeek. In 1997, the FBI deployed the second generation program, Omnivore. According to
information released by the FBI, Omnivore was designed to look through e-mail traffic travelling over a specific
Internet service provider (ISP) and capture the e-mail from a targeted source, saving it to a tape-backup drive
or printing it in real-time. Omnivore was retired in late 1999 in favor of a more comprehensive system, the
DragonWare Suite, which allows the FBI to reconstruct e-mail messages, downloaded files or even Web
pages. DragonWare contains three parts:
Carnivore - A Windows NT/2000-based system that captures the information
Packeteer - No official information released, but presumably an application for reassembling packets into
cohesive messages or Web pages
Coolminer - No official information released, but presumably an application for extrapolating and analyzing data
found in the messages As you can see, officials have not released much information about the DragonWare
Suite, nothing about Packeteer and Coolminer and very little detailed information about Carnivore. But we do
know that Carnivore is basically a packet sniffer, a technology that is quite common and has been around for a
while.
Packet Sniffing
Computer network administrators have used packet sniffers for years to monitor their networks and perform
diagnostic tests or troubleshoot problems. Essentially, a packet sniffer is a program that can see all of the
information passing over the network it is connected to. As data streams back and forth on the network, the
program looks at, or "sniffs," each packet. Normally, a computer only looks at packets addressed to it and
ignores the rest of the traffic on the network. When a packet sniffer is set up on a computer, the sniffer's network
interface is set to promiscuous mode. This means that it is looking at everything that comes through. The
amount of traffic largely depends on the location of the computer in the network. A client system out on an
isolated branch of the network sees only a small segment of the network traffic, while the main domain server
sees almost all of it. A packet sniffer can usually be set up in one of two ways:
Unfiltered - Captures all of the packets
Filtered - Captures only those packets containing specific data elements Packets that contain targeted data are
copied as they pass through. The program stores the copies in memory or on a hard drive, depending on the
program's configuration. These copies can then be analyzed carefully for specific information or patterns. When
you connect to the Internet, you are joining a network maintained by your ISP. The ISP's network communicates
with other networks maintained by other ISPs to form the foundation of the Internet. A packet sniffer located at
one of the servers of your ISP would potentially be able to monitor all of your online activities, such as:
Which Web sites you visit
What you look at on the site
Whom you send e-mail to
What's in the e-mail you send
What you download from a site
What streaming events you use, such as audio, video and Internet telephony
Who visits your site (if you have a Web site) In fact, many ISPs use packet sniffers as diagnostic tools. Also, a
lot of ISPs maintain copies of data, such as e-mail, as part of their back-up systems. Carnivore (and its sister
programs) may be a controversial step forward for the FBI, but it is not a new technology.
The Process
Now that you know a bit about what Carnivore is, let's take a look at how it works:
The FBI has a reasonable suspicion that someone is engaged in criminal activities and requests a court order
to view the suspect's online activity.
A court grants the request for a full content-wiretap of e-mail traffic only and issues an order. A term used in
telephone surveillance, "content-wiretap" means that everything in the packet can be captured and used. The
other type of wiretap is a trap-and-trace, which means that the FBI can only capture the destination information,
such as the e-mail account of a message being sent out or the Web-site address that the suspect is visiting. A
reverse form of trap-and-trace, called pen-register, tracks where e-mail to the suspect is coming from or where
visits to a suspect's Web site originate.
The FBI contacts the suspect's ISP and requests a copy of the back-up files of the suspect's activity.
The ISP does not maintain customer-activity data as part of its back-up.
The FBI sets up a Carnivore computer at the ISP to monitor the suspect's activity. The computer consists of:
A Pentium III Windows NT/2000 system with 128 megabytes (MB) of RAM
A commercial communications software application
A custom C++ application that works in conjunction with the commercial program above to provide the packet
sniffing and filtering
A type of physical lockout system that requires a special passcode to access the computer (This keeps anyone
but the FBI from physically accessing the Carnivore system.)
A network isolation device that makes the Carnivore system invisible to anything else on the network (This
prevents anyone from hacking into the system from another computer.)
A 2-gigabyte (GB) Iomega Jaz drive for storing the captured data (The Jaz drive uses 2-GB removable
cartridges that can be swapped out as easily as a floppy disk.)
The FBI configures the Carnivore software with the IP address of the suspect so that Carnivore will only capture
packets from this particular location. It ignores all other packets.
Carnivore copies all of the packets from the suspect's system without impeding the flow of the network traffic.
Once the copies are made, they go through a filter that only keeps the e-mail packets. The program determines
what the packets contain based on the protocol of the packet. For example, all e-mail packets use the Simple
Mail Transfer Protocol (SMTP).
The e-mail packets are saved to the Jaz cartridge.
Once every day or two, an FBI agent visits the ISP and swaps out the Jaz cartridge. The agent takes the retrieved
cartridge and puts it in a container that is dated and sealed. If the seal is broken, the person breaking it must
sign, date and reseal it -- otherwise, the cartridge can be considered "compromised."
The surveillance cannot continue for more than a month without an extension from the court. Once complete, the
FBI removes the system from the ISP.
The captured data is processed using Packeteer and Coolminer.
If the results provide enough evidence, the FBI can use them as part of a case against the suspect.
The example above shows how the system identifies which packets to store.
Prey of the Carnivore
The FBI plans to use Carnivore for specific reasons. Particularly, the agency will request a court order to use
Carnivore when a person is suspected of:
Terrorism
Child pornography/exploitation
Espionage
Information warfare
Fraud There are some key issues that are causing a great deal of concern from various sources:
Privacy - Many folks think that Carnivore is a severe violation of privacy. While the potential for abuse is certainly
there, the Electronic Communications Privacy Act (ECPA) provides legal protection of privacy for all types of
electronic communication. Any type of electronics surveillance requires a court order and must show probable
cause that the suspect is engaged in criminal activities. Therefore, use of Carnivore in any way that does not
adhere to ECPA is illegal and can be considered unconstitutional.
Regulation - There is a widespread belief that Carnivore is a huge system that can allow the U.S. government to
seize control of the Internet and regulate its use. To do this would require an amazing infrastructure -- the FBI
would need to place Carnivore systems at every ISP, including private, commercial and educational. While it is
theoretically possible to do so for all of the ISPs operating in the United States, there is still no way to regulate
those operating outside of U.S. jurisdiction. Any such move would also face serious opposition from every
direction.
Free speech - Some people think that Carnivore monitors all of the content flowing through an ISP, looking for
certain keywords such as "bomb" or "assassination." Any packet sniffer can be set to look for certain patterns of
characters or data. Without probable cause, though, the FBI has no justification to monitor your online activity and
would be in severe violation of ECPA and your constitutional right to free speech if it did so.
Echelon - This is a secret network rumored to be under development by the National Security Agency (NSA),
supposedly designed to detect and capture packets crossing international borders that contain certain keywords,
such as "bomb" or "assassination." There is no solid evidence to support the existence of Echelon. Many people
have confused this rumored system with the very real Carnivore system. All of these concerns have made
implementation of Carnivore an uphill battle for the FBI. The FBI has refused to disclose the source code and
certain other pieces of technical information about Carnivore, which has only added to people's concerns. But, as
long as it is used within the constraints and guidelines of ECPA, Carnivore has the potential to be a useful
weapon in the war on crime.