- Understanding Key Points of the Follow-Up Phase
- Acquiring the Evidence
- Authenticating, Preserving, and Analyzing Incident Data
- Conducting Post-Incident Activities
- Using Legal, Investigative, and Government Recourses
- Article Series
- About the Author
- Ordering Sun Documents
- Accessing Sun Documentation Online
Acquiring the Evidence
Handling of evidence data is critical when it comes to the first actions taken by the system administrator, support engineer, or field engineer before the geo-based security officer arrives at the affected customer site. Inadequacies in the data processing in storage or transportation could result in the case getting thrown out, if you plan to prosecute the perpetrator.
The organization's geo-based security officer who coordinates the VCSIRT should be jointly responsible with the organization's geo-based customer account manager for gathering the following evidential data:
All chronological events pertaining to the systems and networks in question with what, when, and how it happened, who was involved from the VCSIRT and from the customer, how the staff received the information, and how it should receive it differently
Names and contact information of all of the parties involved in every event
All actions taken by the organization's VCSIRT and its members for the specific incident
All internal and external conversations
Electronically stored data is a vital source for discovery. But, it is imperative that the VCSIRTs gather electronic data in a manner that ensures the admissibility of the evidence. Whenever necessary, legal advice must be sought by the geo-based security officer responsible for the customer site. While the technology continues to evolve, the basic technique for collecting evidence should remain consistent. The following conceptually lists the general steps for securing a system for data collection and for acquiring the data. The steps do not specify any particular operating system or machine type, so depending on the type of system, the procedure can vary.
Secure the customer's physical premises.
Confiscate and/or shut down the system or network, as necessary.
Secure the system and network.
Examine the affected system and/or network.
Prepare the system for data acquisition.
Connect the target clean media with forensic tools.
Securely copy the media of the affected system to the clean system.
Secure the evidence on the media.
This first step is very important to prevent unauthorized personnel from tampering with the compromised system. Also, innocent bystanders could change the environment inadvertently. You should take photographs of any papers, disks, or peripheral devices in the area and collect all of the items in the vicinity that might contain evidence.
You must carefully evaluate the system, its network, and surrounding physical environment before shutting it down. Do not use the keyboard. Use the power button or other methods for graceful shutdown. The procedures you use must save programs that are running in memory onto the system's hard disk before you shut it down. Do not shut down the operating system because it might trigger logic bombs that are sometimes designed to destroy evidence in virtual memory.
Logic bombs are programmed threats that are dormant in commonly used software for an extended period of time until they are triggered. At that point, they perform the function of the program in which they are contained.
If you are seizing the computer or a network of computers, it should be sealed away from the rest of the environment before moving it into the examination area. Label all cables and connectors marking source and end points with evidence tape.
The important action here is to check the current date and time and compare it to the known standard. Make a note of the difference, if any. This could be useful in correlating file timestamps to other incident data gathered as evidence.
The steps for preparing the system might involve changing the boot sequence, if necessary (for example, an alternative, forensic-clean drive and then the system's original hard drive).
Place a forensically clean drive into the system to use as a target drive with a known good operating system kernel and system level binaries and forensic tools.
Boot the system again using the forensic disk. Then use the known good software on the forensic disk to copy the image of the original drive to the target drive. You must create and compare a MD5 cryptographic checksum of the source and the copied files.
Remove all of the drives from the system, and seal them with evidence tape in antistatic bags. Date and sign the evidence tape, and secure the drives in a locked container.
TABLE 1 summarizes the media list. The VCSIRT should take into account all possible data storage devices on the clients and servers as well as residual data in any hardware that could help in the follow-up. The following table does not address incident-related data that exists in various system, network, and manual logs.
TABLE 1 Making a Media List for Incident Related Data Collection
Data Storage Type
Possible Media Device Locations
Office desktop computer or workstation, home computer, notebook computer, and palmtop devices
Backup tapes and disks
System-wide backups (daily, incremental, weekly, and monthly), disaster recovery backups, offsite backups, and personal or ad hoc backups (for example, on diskettes and other portable media)
Other media types
Tape archives, floppy diskettes, CDs, Zip cartridges, and replaced, removed, or discarded hard drives
Making a complete and accurate copy of all of the data on the compromised system's drive is key in capturing the entire image (that is, an image copy or sector-by-sector copy). Otherwise, the acquired data could be deemed inadequate. For instance, in Gates Rubber Company v. Bando Chemical Industries, Ltd., a U.S. court criticized a party's electronic expert for not making an image copy, concluding that when collecting evidence for judicial purposes, a party has "a duty to utilize the method which would yield the most complete and accurate results" (see Gates Rubber Co. v. Bando Chemical Industries, Ltd., 167 F.R.D. 90, 112, D. Colo., 1996).
UNIX File System Imaging
After creating a list of all of the file systems on the suspect host, begin capturing them in a secure manner. There are a number of ways to capture the file systems, depending on the type of the suspect system and the device you have for storage.
Although cat(1) and cp(1) work well, the dd(1M) utility has several advantages on UNIX or Linux, in spite of the fact that it is slower. First, it can copy data using a specified block size that is suitable for specific hardware devices, and it reports how many blocks it processed. Second, it can keep an error log as a proof of your successful backup by using the following example command:
dd if=/dev/fd0 of=/home/doe/test/ 2>/home/blow/errortxt
You can use the dd(1M) utility to clean up the analysis drive (that is, to ensure that no residue exists), and the dd(1M) utility can be used to copy chunks of data that will not fit on the analysis drive. For example, if you have an image that you need to chop up into smaller pieces because the backup media is limited to four 1-gigabyte disks and the evidence contains 4 gigabytes of data, you could use dd(1M) with specific flags to create four images of the evidence, each 1 gigabyte in size, as in the following example:
dd if=/dev/st0 count=1000000 of=/dev/case10img1 dd if=/dev/st0 count=1000000 skip=1000000 of=/dev/case10img2 dd if=/dev/st0 count=1000000 skip=2000000 of=/dev/case10img3 dd if=/dev/st0 count=1000000 skip=3000000 of=/dev/case10img4
Finally, the dd(1M) utility can copy deleted blocks from the compromised drive. After copying, always compare an MD5 hash of the compromised device to that of the copied device. For further details on using this command, refer to the dd(1M) man page.
Copying a file system over a network can be slow, but it is convenient when you cannot remove the hard drive and have no tape drive. Set up Netcat on the listening (that is, target) host, then run dd(1M) on the suspect (that is, compromised) host, as in the following example:
Listening host: # nc -l -p <port#> > suspect.disk1.image Suspect host: # dd bs=1024 < /dev/disk1 | nc <ip_address> <port#> -w 3
Note that using Netcat to transfer a disk image in the clear exposes the contents to anyone tracing the network. You should use the encryption option when necessary.
For data discovery, you must follow a method. As a practical matter, finding the information stored on computers is becoming routine; however, it is an important part of the VCSIRT-employed attorney's discovery efforts. Typically, the data discovery items in TABLE 2 are required for an incident response team to gather data pertaining to legal proceedings. The following list should not be considered all inclusive. For example, meta data, such as the data stored in MS Registry or other similar source (for example, preferences and history files), should also be taken into account.
TABLE 2 Required Data Discovery Items
This includes the layout of the compromised system, if known, and its associated networks, including the number and types of computers and the types of operating systems and application software packages used.
Electronic mail system
This includes the structure of the electronic mail system, the software used, the number of users, the location of mail files, and the password usage.
Applications and specialized utilities
This includes applications such as calenders, accounting programs, word processors, and encryption software. It is important to know when they were installed and when they were upgraded. Any routines for archiving and purging different types of data or databases must also be known.
This includes the personnel who are responsible for the ongoing operation, upgrades, and maintenance of the software, hardware, and network.
Backups and restores
This includes the backup procedures used on all computer systems in the organization. It should also include descriptions of all of the devices (such as tape or floppy drives) and software used to create backups, the personnel responsible for backups, the backup schedules, and the tape rotation schedules. Finally, it should include details on any restoring that has been done.
Policies, processes, and procedures
This includes the process for archiving and retrieving backup media both onsite and offsite, the procedures used by system users, administrators, and superusers to log in to computers and in to the customer's network, and the use of passwords, audit trails, and other security measures used to identify the data created, modified, or otherwise accessed by particular users. It should also include whether access to particular files is controlled and how, along with access lists, if available. Finally, it should include how shared files are structured and named on the system.
Manual Logs and System-Generated Log Files
There are many kinds of logs at a customer site available for follow-up investigation. These include manual logs (for example, telephone logs) created by recording all of the events during a VCSIRT processing of an incident, systems logs, network logs, database logs, web server logs, firewall logs, IDS event logs, and various other application and system level logs. All of these are important, and any of them could provide crucial evidence in a court of law.
Detailed written chronological logs must be maintained in a journal (with specific dates and times) for legal purposes with all of the details recorded during all of the phases of incident processing: discovery and reporting, containment, eradication, recovery, and follow-up. In addition, the logs should include all of the details of contacts, all of the actions taken (with when, where, whom, and why), all of the conversations, all of the audit records, and all of the logs from the affected applications, devices, systems, hosts, networks, and databases.
In practice, every hardware platform, every piece of equipment, all of the software, or other related facilities at the customer site could provide alarms and logs. Alarms are designed to ring when a specific log entry meets a pre-defined alarm criteria. These will be needed by the VCSIRT during the eradication and recovery phases of the incident response so that lessons can be learned for future deterrence or other countermeasures. However, these are also necessary to be gathered with legal advice in the electronic discovery and litigation support in the context of the follow-up phase.
The following two example cases involve logs. The first demonstrates the importance of the need for continuity of recorded information as evidence, and the second stresses the liability issue.
In the Netherlands (State v. Ronald O., 1993-5), an alleged intruder was on trial. The evidence put forward by the prosecution included a set of logs. However, on court examination, several pages were found to be missing. They supposedly contained irrelevant information, so they were removed by the prosecution team. As a result, the defense argued that evidence was being withheld. A proper handling of log files with legal advice could have possibly averted this issue.
The following is a hypothetical case. You, as a member of a CSIRT for a customer or member of the worldwide security team, receive a log file from your organization's customer site. The file has entries that clearly show intruder activities, but you fail to follow up on the leads. If this fact is uncovered by your customer (who is within your SIR constituency), you may be liable for failing to act on the information.
When system created logs are used as evidence in court, their data must be complete from a legal point of view. TABLE 3 contains some notable characteristics of system-generated log files that contribute to the validity of the logged data as evidence.
TABLE 3 Important Log File Characteristics
Description in Support of Evidence
Timestamps in the log file
Timestamps must be present in the log file for every event to be recorded.
Origin of records in the log file
All of the details about the machine or computer-related equipment (for instance, the version, make, and manufacturer ID number) that produced the log file must be collected.
Authentication of the log file
The log file can be questioned in court if it was created before or after the incident, especially if there was no formal and/or built-in authentication process associated with the initial access of the log file.
Auditing logs produced by computer operating systems can provide useful user and kernel-level data. How often audits should be run depends on the criticality of the customer's environment and the customer's security policy. Refer to "Auditing System Security" (Sun BluePrints Online, May 2003) for best practices and facilities available in the Solaris&; Operating System (Solaris OS) at:
The following list emphasizes key points regarding follow-up on all kinds of logs:
Changes within the customer's DNS, DDNS, or DHCP setups might render the IP addresses in the log useless. So, the selected characteristics of the log must be valid for legal purposes.
Full evidential value of the logs might not be realized until they are reviewed along with the configuration files, such as /etc/syslog.conf, that generated the logs.
Response teams must ensure that the network time is maintained at the customer site using industry-standard protocols such as NTP and that system clocks are synchronized. Even the most accurate computer clocks are likely to vary due to manufacturing defects, changes in temperature, electric and magnetic interference, age of oscillator, or even computer load. If NTP is not used, the timestamps from the logs of different systems from the same site or different sites might not correlate and make sound conclusions about the incident impossible. Ideally, customers must be advised to reconcile time deltas between systems and devices with respect to logs. In practice, systems are often not configured to use NTP and therefore have significant deltas that could impact the admission of evidence if prosecution is involved after an incident. For further insightful and useful technical details, see Sun's recommended NTP practices for the Solaris OS and for the Sun Fire&; servers:
Using NTP to Control and Synchronize System
Using NTP to Control and Synchronize System Clocks - Part I: Introduction to NTP at: http://www.sun.com/blueprints/browsesubject.html
Using NTP to Control and Synchronize System Clocks - Part II: Basic NTP Administration and Architecture
Using NTP to Control and Synchronize System Clocks - Part III: NTP Monitoring and Troubleshooting
Using NTP on the Sun Fire 15K/12K Server at: http://www.sun.com/solutions/blueprints/0603/817-2979.html
Consult the xntpd(1M) man page in the Solaris OS for the full list of NTP configuration options. For public NTP servers, check the PUBLIC NTP Server list on http://www.ntp.org. Beginning in the Solaris 2.6 and 7 OE, Sun included an NTP version that was supported on all platforms. In the Solaris 8 OE, the included version was a slightly modified version of the open source version of NTP 3-5.93e.
The following lists important questions to consider:
What category does the log file belong to?
Have you taken care to avoid illegal disclosure by sanitizing the log before sending it to someone?
Are you sending logs in a secure way?
Is the log genuine when you receive it?
Is the relevant log information properly organized so that it follows proper disclosure rules, and at the same time, is meaningful enough in an incident follow-up?
Do you have the tools to analyze logs in a timely manner?
There are various categories for log files depending on who the target consumer is. For example, you should not include a log file that contains specific network configuration information about your constituent customer. In addition, Ethernet sniffer logs have sensitive data including user names and passwords.
For example, you should remove customer passwords. What about privacy related issues? Customer names, addresses, and related information is sensitive. For further information about the implications of privacy violations, see legislation pertaining to COPPA, HIPPA, and GLBA in the U.S. and EU privacy directives (TABLE 7 on page 30).
You should use an encrypted channel to send logs between team members. Another way to secure data exchange is to use read-only copies of log material (for example, CD/DVD-ROMs).
You should have agreed on authentication methods, such as digital signatures, between cooperating parties. MD5 one-way cryptographic hash and RSA digital signatures are popular methods. The latter establishes the identity of the sending party and authenticity of the sent data. After the log is received, storage security also needs attention.
Two competing Internet service providers might exchange logs, with a VCSIRT as the intermediate party. Good judgment is important for information exchange, without compromising competitive data.
Logs can contain an overwhelming amount of information. There are public domain tools that can help, such as Logsurfer at DFN-CERT web site (http://www.cert.dfn.de/eng/logsurf/).
The large amount of log information collected, such as the messages handled by the syslog(1M) daemon or the log files from information services, such as FTP and HTTP services, makes it nearly impossible to check logs manually to find any unusual activity. The Logsurfer program was designed to monitor any text-based log files on a system in real time.
It is well-known that vulnerability assessment tools only find known threats such as worms and unpatched systems rather than the attacks from insiders that can cause significant damage. For such attacks, the CSIRTs need full cooperation from the affected customer to acquire incident-related data from its employees and the physical premises, including the following:
Legal and/or law-enforcement presence or support, as deemed necessary
Names of the HR, physical security, or CSIRT members who will be conducting the interviews
Names of the employees who need to be interviewed
Appropriate place to conduct the interviews
Times, dates, and order of the interviews
Selection and presence of a third party as a witness
With approval from the customer, servicing organization's legal advisors, and the geo-based security officers involved, system-level real-time data should be acquired by auditing, tracing, or setting up honeypots on the customer's systems and networks.
Auditing of the operating system can provide detailed user and kernel-level data to uncover any unauthorized activities by an insider. See the Solaris OS auditing practices described in the articles at:
Prior arrangements must be made with the customer by the VCSIRT to assign an appropriate level of audit without compromising system performance, particularly on business-critical servers.
UNIX systems provide sniffers, such as snoop in the Solaris OS, for watching the network traffic in detail. Sniffers can provide critical data as evidence in unauthorized network intrusions. In the Solaris OS, the presence of unauthorized sniffers can be detected with publicly available tools such as ifstatus that detect promiscuous mode on a system's interface. (Note that ifstatus is not supported by the Solaris 7 OE, and that it is supported only for the hme interface in the Solaris 8 OE. For the 64-bit Solaris OS, use ifstatus64.)
Honeypots are considered well-suited for detecting insider attacks when it comes to computer systems or network abuse or misuse. However, some experts argue against using them as a general tool for cybercrime and computer misuse. The following are a few tips for using honeypots:
VCSIRTs at a customer site must consult with a legal representative before deploying a honeypot because the cost of intrusive monitoring might be great, even if there are no legal barriers in the country in which the incident occurred.
Honeypots are potential victims. Therefore, they must be sufficiently secured, except for the functions that must be open to perpetrators.
Dispersed honeypots work better in terms of the number of hits.
Honeypots can be hardened for robustness before they are deployed. For information on hardening the Solaris OS, see: