Chapter 11. Security+ Exam Study Guide

This chapter provides a study guide for the Security+ Exam SYO-101. Each section of this chapter is designed to cover specific objectives of the exam. Each section heading identifies the exam domain, and discusses the key details that you should grasp before taking the exam.

An overview of the sections in this chapter that cover the objectives of the Security+ exam is as follows:

General Security Concepts

This section covers the details of general concepts and terms related to IT security. These concepts include methods of access control, authentication, and auditing. This section also includes a study of various types of attacks and malicious code, identifying and disabling nonessential services, and protocols to reduce vulnerability of computers and networks.

Communication Security

This section covers a study of security concepts related to computer communications such as remote access, email, Internet-based services, directory services, and file transfer protocols. You will also learn about the security risks involved in wireless networks.

Infrastructure Security

This section includes a study of implementing security in the IT infrastructure by creating security baselines, implementing Intrusion Detection Systems (IDS), and other security topologies. This also includes a study of vulnerable points in the network, such as network devices and media.

Basics of Cryptography

This section includes a study of concepts related to encryption methods that are used to provide confidentiality, integrity, authentication, and non-repudiation. These encryption methods protect the transfer of data from one location to another in a network. You will learn how encryption algorithms and digital certificates are used to create a Public Key Infrastructure (PKI). The PKI is responsible for the creation, distribution, storage, expiration, and revocation of digital certificates.

Operational and Organizational Security

This section covers concepts related to operational and organizational security. This includes a study of the physical security of the network, as well as creating backup and disaster recovery policies, security policies, and incident response policies. You will also learn about privilege management, computer forensics and risk identification, and guidelines for training end users on how to create documentation related to security practices in an organization.

The sections in this chapter are designed to follow the exam objectives as closely as possible. This Study Guide should be used to reinforce your knowledge of key concepts tested in the exam. If you study a topic and do not understand it completely, I recommend that you go over it again and memorize key facts until you feel comfortable with the concepts. The chapter contains a number of terms, notes, bulleted points, and tables that you will need to review multiple times. Pay special attention to new terms and acronyms (the ones you are not familiar with) because these may be tested in the exam.

Studying for the Security+ certification exam requires that you have access to a computer network. Although it is not essential, it is good to have a Windows-based computer network to perform the exercises included in this chapter. These exercises are a required part of your preparation for the exam. A small network with a Windows XP desktop and a Windows 2000 Server or Windows Server 2003 would serve the purpose as well. Needless to say, you will also need an active Internet connection.

Tip

The exercises included in this Study Guide should be part of your preparation for the exam. Do not perform any exercises in a production environment. Instead, create a test environment where you can work without having to worry about the security risks while performing the given exercises.

The first section of this chapter deals mainly with fundamental knowledge of authentication, access control, and auditing, also known as AAA in the computer security arena. Along with this, you will learn about different types of attacks and about malicious code that can cause significant damage to the organization's security setup. The concepts discussed in the following section are as follows:

Each of these concepts is discussed in the following sections.

In this section, you will learn about different types of access control methods. These methods are used to grant or deny access to a network or computer resource by means of security policies and hardware or software applications. In its simplest form, access control to files, folders, and other shared network resources is achieved by means of assigning permissions. Smart cards and biometric devices are examples of hardware devices used for access control. Access control can also be implemented by means of network devices, such as routers and wireless Access Points (APs). You can also achieve access control by implementing security policies, such as remote access policies and rules for connecting to a virtual private network (VPN). The following are the main models or mechanisms employed for access control:

Authentication is the process of confirming that someone or something is authentic, which means that the claim made about something is true. In the context of computer security, authentication is the method of verifying that the identity of a person or an application seeking access to a system, object, or a resource is true. For example, if a user wants to access a network domain, the authentication of the user (or the user's digital identity) is usually verified by the username and password supplied by the user. These data items are also known as the credentials of the user. If the username and password of the user matches those stored in the security database of the computer, the user is allowed access. This process is known as the authentication process.

Authentication can be a one-way or two-way-process. In one-way authentication, only one of the entities verifies the identity of the other, while in a two-way authentication, both entities verify the identity of each other before a secure communication channel is established. In the previous example, you learned about the simplest form of one-way authentication wherein the identity of the user is verified by the system.

Authentication is termed as the first point of controlling access to a system. Further access can be controlled by using authorization, which is a term very closely related to authentication. Authorization is provided as part of the operating system and is the process of allowing access to only those resources to which a particular user is authorized. These resources may include the system services and devices, data, and application programs.

User credentials sent by the user during the authentication process can be transmitted either in clear text or in encrypted form. Some applications, such as File Transfer Protocol (FTP) and Telnet, transmit usernames and passwords in clear text. User credentials transmitted in clear text are considered security risks, as anyone monitoring the network transmissions can easily capture these credentials and misuse them. There are several methods, as you will learn in the following pages, that can be used to encrypt and secure user credentials as they are transmitted over the network.

The following sections discuss a number of authentication mechanisms that are used in computer networks.

Kerberos is a cross-platform authentication protocol used for mutual authentication of users and services in a secure manner. This protocol is created and maintained by the Massachusetts Institute of Technology (MIT) and is defined in RFC 1510. Kerberos v5 is the current version. The protocol ensures the integrity of data as it is transmitted over the network. Microsoft's Windows-based network operating systems (Windows 2000 and later) use Kerberos v5 as the default authentication protocol. It is also widely used in other operating systems, such as Unix and Cisco IOS. The authentication process is the same in all operating system environments.

Kerberos protocol is built upon Symmetric Key Cryptography and requires a trusted third party. In Windows Server 2003 environments, Kerberos can be implemented in its own Active Directory domains. Kerberos works in a Key Distribution Center (KDC), which is usually a network server used to issue secure encrypted keys and tokens (tickets) to authenticate a user or a service. The tickets carry a timestamp and expire as soon as the user or the service logs off.

Let's look at how Kerberos authentication works. Consider a Kerberos realm that includes a KDC (also known as the authentication server), a client (a user, service, or a computer), and a resource server. Consider that the client needs to access a resource or shared object on the resource server. The following steps are carried out to complete the authentication process:

The Kerberos authentication process is known as a realm, as shown in Figure 11-2.

The TGT remains active for the entire active session. It carries a timestamp to ensure that it is not misused to launch replay, or spoofing, attacks against the network. Replay attacks happen when someone captures network transmissions, modifies this information, and then retransmits the modified information on the network to gain unauthorized access to resources. You will learn more about security attacks later in this section.

Kerberos is heavily dependent on the synchronization of clocks on the clients and servers. Session tickets granted by the KDC to the client must be presented to the server within the established time limits, or else they may be discarded. TGT is not dependent on time and remains valid until the client is logged on. TGT is cached locally by the client and can be used if the user session remains active.

Certificates, or Public Key Certificates, use digital signatures to bind a public key to the identity of a person or a computer. The certificates are used to ensure that the public key belongs to the individual. Certificates are widely used for Internet-based authentications, as well as for authenticating users and computers in network environments, to access network resources and services where directory services are implemented. They are also used when data transmissions are secured using Internet Protocol Security (IPSec) protocol. All of these are parts of the PKI, which is discussed later in this chapter.

In a PKI certificate, servers are used to create, store, distribute, validate, and expire digitally created signatures and other identity information about users and systems. Certificates are created by a trusted third party known as the Certification Authority, or Certificate Authority (CA). Examples of commercially available CAs are Verisign and Thawte. It is also a common practice to create a CA within an organization to manage certificates for users and systems within the organization or with trusted business partners. In Windows 2000 and later operating systems, certificates are used for authenticating users and granting access to Active Directory objects. CA used within an organization is known as an Enterprise CA or a Standalone CA.

Another common use of certificates is for software signing. Software is digitally signed to ensure the user who downloads it that it is legitimate or has been developed by a trusted software vendor. Digitally signed software ensures that the software has not been tampered with since it was developed and made available for download. Certificates are also implemented in Internet services to authenticate users and verify their identity. Web servers must have a certificate installed in order to use the Secure Socket Layer (SSL).

A certificate essentially includes the following information:

The combination of username and password is one of the most common methods of authenticating users in a computer network. Almost all network operating systems implement some kind of authentication mechanism wherein users can simply use a locally created username and password to get access to the network and shared resources within that network. These include Microsoft's Windows, Unix/Linux, Netware OS, and MAC OS X. This is the simplest form of authentication and can be implemented easily, but it also comes with its own limitations. In a secure network environment, simply using the combination of a username and password may not be enough to protect the network against unauthorized access.

Many organizations document and implement password policies that control how users can create and manage their passwords in order to secure network resources. If any user does not follow these policies, her user account may be locked until the administrator manually unlocks it. The following is an example of strong password policy:

With a properly enforced password policy, an organization can attain some security for its network resources.

An authentication token (also known as a security token or a hardware token) is considered the most trusted method to verify the identity of a user or a system. Tokens provide a very high level of security for authenticating users because of the multiple factors employed to verify the identity. It is almost impossible to duplicate the information contained in a security token in order to gain unauthorized access to a secure network. Figure 11-3 shows different types of security tokens.

In its simplest form, an authentication token consists of the following two parts:

Hardware tokens are small enough to be carried on a key chain or in a wallet. Some security tokens may contain cryptographic keys while others may contain biometrics data such as the user's fingerprints. Some tokens have a built-in keypad, and the user is required to key in a Personal Identification Number (PIN).

Authentication tokens come in a variety of packaging and features. RSA's SecureID is one type of security token that employs a two-factor authentication mechanism. Other vendors employ digital signatures methods, while still others use the single sign-on software mechanisms. Some tokens utilize the one-time password technology. With the single sign-on software, the user need not remember his passwords as they are stored on tokens and are regularly changed. With the one-time password technology, the password changes after each successful login or after a specified interval of time.

Auditing is the process of tracking and logging activities of users and processes on computer systems and networks. It can be useful in multiple scenarios such as: troubleshooting a failed process, detecting a security breach on the part of an internal or external user; and tracking unauthorized access to secure data. Auditing and logging enables administrators to link desired or undesired processes to specific user accounts and system processes. When linked to user accounts, it is possible to track a security breach such as unauthorized access to confidential data by identifying the user who made the attempt. When linked to processes, it is helpful in diagnosing problems related to process failures. Auditing and logging, in certain situations, may also be helpful in collecting evidence that can be used against an unauthorized user during criminal investigations.

System scanning is the process of analyzing the current security settings of a system or a network to identify and repair potential vulnerabilities. These vulnerabilities weaken the system security and open it up for possible attacks or security breaches against a particular system or against the entire network. System scanning is performed by software utilities, usually included with network operating systems. Third-party software tools may also be used for this purpose.

Apart from identifying weak or vulnerable areas of the system, system-scanning utilities can also be useful in ensuring system reliability and performance. These utilities make sure that password and account policies are strong enough to prevent unauthorized access. They test the response of a system or the network in scenarios that could lead to a potential attack by an outsider. An example of such an attack is the Denial of Service (DoS) attack.

System scanning tools are generally used to make sure that the system is accessible only through the use of acceptable means of inside and outside access. They are also used to create false attacks against the network to ensure that the network is capable of detecting the attacks and taking appropriate corrective action. Some of the popular scanning tools used for system scanning are the System Administrator's Tool for Analyzing Networks (SATAN) and Nessus. Both of these tools work in Unix and Linux environments. SATAN is mainly used to detect known vulnerabilities in a system and fix them. Nessus is a client/server-based tool that can even launch a false attack against a network. Nessus is very useful for scanning remote systems.

At the time of this writing, Microsoft plans to release Windows Defender, a real-time spyware monitoring tool for Windows-based systems. This tool will mainly be used to detect and block pop-up windows and detect performance problems.

Attacks on computer systems and networks are launched in several different ways and with several different techniques. Attacks on computer networks may be targeted at an application, a service, or the entire network. It may be an active or a passive attack. By definition, attacks can be classified into the following categories:

A brief description of different types of attacks are given in the following sections.

In computer security, a DoS attack is an attack on computer systems, services, resources, or the entire network that results in the unavailability of a network or its resources to its legitimate users. Potential targets of DoS attacks are the main components of Internet services such as high-profile web servers and DNS servers. The intent is to bring down an organization's web site(s). The attacker may use any of the following methods to launch a DoS attack:

DOS attacks generally do not cause an outage of all network services. They are targeted at specific services, such as the Domain Name System (DNS) service. If the attack on a DNS server is successful, the users may not be able to resolve domain names or even to connect to the Internet.

DoS attacks usually result in the following:

All of the given outcomes of a DoS attack prevent legitimate users from using a system, network services, or shared resources. The following are some examples of DoS attacks:

SYN flood

A SYN flood attack is carried out by sending a flood of TCP/SYN packets with forged information about the sender. SYN flood attacks are discussed later in this section.

ICMP flood

An ICMP flood attack includes smurf attacks and ping floods. A smurf attack is launched by using misconfigured network devices. Malicious packets are sent to all hosts on a particular network by using the broadcast messages. These packets carry false IP addresses of the sender. A ping flood attack is launched by sending a large number of ping requests to network hosts, which may result in the consumption of a significant amount of network bandwidth.

UDP flood

A UDP flood attack is carried out by sending a large number of UDP echo packets to a large number of network hosts. The attacker uses a fake source IP address.

Land attack

A land attack involves sending a spoofed (having false information) TCP SYN packet to a target network host. The packet contains the host's own IP address as its source and destination. The result is that after receiving the packet, the host continues to reply to itself until it crashes.

Nukes

Nukes are malformed or specially crafted packets. They usually exploit an open TCP port on a network host to launch an attack. For example, WinNuke uses the NetBIOS open port 139 to send out-of-band data to a network host, causing it to crash.

Application-level floods

Application-level floods usually cause buffer overflows in a system. The system becomes so confused that it consumes all of its resources—such as CPU time or disk space—and then eventually crashes. Buffer overflow is discussed later in this section.

An amplified form of DoS is the DDoS, which is explained in the next section.

A DDoS attack is an amplified form of a DoS attack that is targeted at the entire network instead of at a single system or service. This is a two-step attack. The attacker first compromises a number of computers spread across the Internet and installs a specially created software application on them. The computers are known as masters. The application installed on these compromised computers or masters then helps the attacker further by installing the application on several more computers that are known as zombies. Zombies launch attacks on thousands of computers connected to the Internet and then collectively attack a particular Internet host to make it unavailable to legitimate users. In the event of a DDoS attack, it is nearly impossible to detect the originator of the attack because the attack takes place in multiple steps, and several Internet hosts are involved in attacking a particular Internet host.

Usually, the attacker first employs some kind of technique to detect vulnerabilities in Internet hosts. The applications that detect these vulnerabilities are known as Rootkits. Figure 11-4 illustrates the basic structure of a DDoS attack setup.

In a nutshell, the computers or hosts involved in a DDoS attack include the following:

DDoS attacks are essentially targeted at computers directly connected to the Internet. While some of the target computers become masters, others become zombies. Zombies act upon instructions from masters to launch a collective DDoS attack against the target Internet host.

The following describes the components of a DDoS:

If you are pretending to be someone who you are not, you are spoofing. In other words, spoofing is the process of providing false identity about someone's identity in order to gain unauthorized access to secure resources on a system or the network. In computer security, attackers use IP spoofing in order to gain access to secure system resources or networks. Attackers send IP packets that contain a false IP address.

Computer attacks using IP spoofing can be categorized as follows:

Most IP spoofing occurs between trusted computers on the Internet or on internal networks of large organizations. Trust relationships between networks or domains usually allow users to log on to other domains without supplying credentials. By spoofing the IP address of a trusted computer, the attacker may be able to connect to the target computer without authentication.

The best protection against IP spoofing is to use packet filtering in networks. Packet filtering allows administrators to block packets that originate from outside the network but that carry IP addresses of hosts inside the network. Network routers usually handle this part. TCP/IP has built-in protection against IP spoofing as it uses sequential numbers when computers communicate to each other. Using encryption and mutual authentication can also prevent IP spoofing.

A MITM attack occurs when the attacker is actively listening or monitoring the communications between two hosts. The attacker is able to read, insert, or modify the messages being exchanged between the two hosts, without any of them knowing that the information is being compromised.

As noted earlier in the previous section, a TCP/IP communication session is established after a successful three-way handshake. The computer requesting a connection sends a TCP/SYN packet to the server, and the server then responds with a TCP/SYN-ACK message, which the computer requesting the connection accepts by sending a TCP/ACK message. This is illustrated in Figure 11-5.

When host A wants to communicate with host B, which is a server, it sends a TCP/SYN packet to host B. This packet contains the IP address of the source, which is host A. The attacker can place himself somewhere between hosts A and B and monitor the communication taking place between the two hosts. He can intercept the TCP sequence numbers and successfully use these to falsify information going to host B. From then onwards, the communication takes place between host B and the attacker, and host A keeps waiting for a response from host B.

MITM attacks remain a serious threat to many organizations, even those that use encrypted communications between systems and networks. The best protection against MITM attacks is to use encrypted messaging systems so that the attacker is not able to decrypt or intercept the communication taking place. Other methods of preventing MITM attacks include the following:

Password attacks occur when an attacker attempts to get a user's password by guessing it or finding it stored in a database using a dictionary attack or a brute force attack. A password attack is known as password cracking. These attacks are discussed in the following sections.

Malicious code or malware, is a software application that is designed to infiltrate a user's computer without his knowledge or permission. Malware includes viruses, Trojan horses, worms, and applications such as adware, spyware, botnets, and loggers. The following are main categories of malware:

A Trojan horse, or simply a Trojan, is a malicious code that is embedded inside a legitimate application. The application appears to be very useful or interesting and harmless to the user until it is executed. Trojans are different from other computer viruses because they must be executed by the victim user who falls for the interesting "software."

Trojans fall into the following two categories:

Most of the modern Trojans contain code that is basically used to gather information about the user. These Trojans fall into the category of spyware and appear as pop-up windows on the user's computer screen. Some Trojans are written very precisely to allow the user's computer to be controlled remotely by the attacker.

The main difference between a virus and a Trojan is that viruses are self-replicating programs while Trojans need some action on the part of the user. If the user does not fall into the trap of the Trojan, it does not execute. So, the next time you notice a pop-up window offering you free emoticons or desktop screen savers, be careful. A Trojan may be waiting to execute in order to steal personal information stored on your computer.

To protect computers from Trojan horses, the following precautions can be taken:

Some of the well-known Trojans include Back Orifice (and Back Orifice 2000), Beast Trojan, NetBus, SubSeven, and Downloader EV.

When you install an operating system, several services and protocols are installed by default. Chances are good that most of these services or protocols will never be used, but they may leave the system vulnerable to outside attacks. In order to protect and secure the system from potential attacks, it is necessary that any nonessential services and protocols be identified and disabled or be completely removed from the system. This not only improves system performance but also helps to fill in possible security holes.