Child pages
  • 1997 CERT Tech Tip: Denial of Service Attacks

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Note

Original publication date: Oct 02, 1997

HTML
<HR SIZE=2 NOSHADE ALIGN=LEFT>
<P>
<OL TYPE="1">
    <LI><A HREF="#1">Description</A></LI>
    <LI><A HREF="#2">Impact</A></LI>
    <LI><A HREF="#3">Modes of Attack</A>
        <OL TYPE="A">
            <LI><A HREF="#3A">Consumption of Scarce Resources</A>
                <OL TYPE="1">
                    <LI><A HREF="#3A1">Network Connectivity</A></LI>
                    <LI><A HREF="#3A2">Using Your Own Resources Against You</A></LI>
                    <LI><A HREF="#3A3">Bandwidth Consumption</A></LI>
                    <LI><A HREF="#3A4">Consumption of Other Resources</A></LI>
                </OL>
            <LI><A HREF="#3B">Destruction of Alteration of Configuration Information</A></LI>
            <LI><A HREF="#3C">Physical Destruction or Alteration of Network Components</A></LI>
        </OL>
    </LI>
    <LI><A HREF="#4">Prevention and Response</A>
</OL>
<A HREF="#history">Revision History</A>
</P>

<HR SIZE=2 NOSHADE ALIGN=LEFT>
<P>
<OL TYPE="1">
    <LI><A NAME="1"></a>Description
        <P>
        This document provides a general overview of attacks in which the
        primary goal of the attack is to deny the victim(s) access to a
        particular resource. Included is information that may help you respond
        to such an attack.
        </P>

        <P>
        A "denial-of-service" attack is characterized by an explicit attempt
        by attackers to prevent legitimate users of a service from using that
        service. Examples include
        <P>
        <UL>
            <LI>attempts to "flood" a network, thereby preventing legitimate
                network traffic
	    <LI>attempts to disrupt connections between two machines, thereby
                preventing access to a service
            <LI>attempts to prevent a particular individual from accessing a
                service
	    <LI>attempts to disrupt service to a specific system or person
        </UL>
        </P>
        Not all service outages, even those that result from malicious
        activity, are necessarily denial-of-service attacks. Other types of
        attack may include a denial of service as a component, but the denial
        of service may be part of a larger attack.
        </P>
        <P>
        Illegitimate use of resources may also result in denial of service.
        For example, an intruder may use your anonymous ftp area as a place to
        store illegal copies of commercial software, consuming disk space and
        generating network traffic
        </P>
    </LI>
    <LI><A NAME="2"></a>Impact
        <P>
        Denial-of-service attacks can essentially disable your computer or your
        network. Depending on the nature of your enterprise, this can
        effectively disable your organization.
        </P>
        <P>
        Some denial-of-service attacks can be executed with limited resources
        against a large, sophisticated site. This type of attack is sometimes
        called an "asymmetric attack." For example, an attacker with an old PC
        and a slow modem may be able to disable much faster and more
        sophisticated machines or networks.
        </P>
    <LI><A NAME="3"></a>MODES OF ATTACK
        <P>
        Denial-of-service attacks come in a variety of forms and aim at a
        variety of services. There are three basic types of attack:
        <P>
        <UL>
            <LI>consumption of scarce, limited, or non-renewable resources</LI>
            <LI>destruction or alteration of configuration information</LI>
	    <LI>physical destruction or alteration of network components</LI>
        </UL>
        </P>
        <P>
        <OL TYPE="A">
            <LI><A NAME="3A"></a>Consumption of Scarce Resources
                <P>
                Computers and networks need certain things to operate: network
                bandwidth, memory and disk space, CPU time, data structures,
                access to other computers and networks, and certain
                environmental resources such as power, cool air, or even water.
                <OL TYPE="1">
                    <LI><A NAME="3A1"></a>Network Connectivity
                        <P>
                        Denial-of-service attacks are most frequently executed
                        against network connectivity. The goal is to prevent
                        hosts or networks from communicating on the network.
                        An example of this type of attack is the "SYN flood"
                        attack described in
	                <BLOCKQUOTE>
                        <A HREF="http://www.cert.org/advisories/CA-1996-21.html">
                        http://www.cert.org/advisories/CA-1996-21.html</A>
	                </BLOCKQUOTE>
                        In this type of attack, the attacker begins the process
                        of establishing a connection to the victim machine, but
                        does it in such a way as to prevent the ultimate
                        completion of the connection. In the meantime, the
                        victim machine has reserved one of a limited number of
                        data structures required to complete the impending
                        connection. The result is that legitimate connections
                        are denied while the victim machine is waiting to
                        complete bogus "half-open" connections.
                        </P>

                        <P>
                        You should note that this type of attack does not
                        depend on the attacker being able to consume your
                        network bandwidth. In this case, the intruder is
                        consuming kernel data structures involved in
                        establishing a network connection. The implication is
                        that an intruder can execute this attack from a dial-up
                        connection against a machine on a very fast network.
                        (This is a good example of an asymmetric attack.)
                        </P>
                    </LI>
                    <LI><A NAME="3A2"></a>Using Your Own Resources Against You
                        <P>
                        An intruder can also use your own resources against you
                        in unexpected ways. One example is described in
                        <BLOCKQUOTE>
                        <A HREF="http://www.cert.org/advisories/CA-1996-01.html">
                        http://www.cert.org/advisories/CA-1996-01.html</A>
                        </BLOCKQUOTE>
                        In this attack, the intruder uses forged UDP packets to
                        connect the echo service on one machine to the chargen
                        service on another machine. The result is that the two
                        services consume all available network bandwidth
                        between them. Thus, the network connectivity for all
                        machines on the same networks as either of the targeted
                        machines may be affected.
                        </P>
                    </LI>
                    <LI><A NAME="3A3"></a>Bandwidth Consumption
                        <P>
                        An intruder may also be able to consume all the
                        available bandwidth on your network by generating a
                        large number of packets directed to your network.
                        Typically, these packets are ICMP ECHO packets, but in
                        principle they may be anything. Further, the intruder
                        need not be operating from a single machine; he may be
                        able to coordinate or co-opt several machines on
                        different networks to achieve the same effect.
                        </P>
                    </LI>
                    <LI><A NAME="3A4"></a>Consumption of Other Resources
                        <P>
                        In addition to network bandwidth, intruders may be able
                        to consume other resources that your systems need in
                        order to operate. For example, in many systems, a
                        limited number of data structures are available to hold
                        process information (process identifiers, process table
                        entries, process slots, etc.). An intruder may be able
                        to consume these data structures by writing a simple
                        program or script that does nothing but repeatedly
                        create copies of itself. Many modern operating systems
                        have quota facilities to protect against this problem,
                        but not all do. Further, even if the process table is
                        not filled, the CPU may be consumed by a large number
                        of processes and the associated time spent switching
                        between processes. Consult your operating system vendor
                        or operating system manuals for details on available
                        quota facilities for your system.
                        </P>
                        <P>
                        An intruder may also attempt to consume disk space in
                        other ways, including
                        <UL>
                            <LI>generating excessive numbers of mail messages. 
                                For more information, please see
	       	                <BLOCKQUOTE>
                                <A HREF="http://www.cert.org/tech_tips/email_bombing_spamming.html">
                                http://www.cert.org/tech_tips/email_bombing_spamming.html</A>
	       	                </BLOCKQUOTE>
                            </LI>
                            <LI>intentionally generating errors that must be
                                logged
                            </LI>
	                    <LI>placing files in anonymous ftp areas or network
                                shares, For information on proper configuration
                                for anonymous ftp, please see
	       	                <BLOCKQUOTE>
	  	                <A HRE="http://www.cert.org/tech_tips/anonymous_ftp_config.html">
	  	                http://www.cert.org/tech_tips/anonymous_ftp_config.html</A>
	       	                </BLOCKQUOTE>
                            </LI>
                        </UL>
                        In general, anything that allows data to be written to
                        disk can be used to execute a denial-of-service attack
                        if there are no bounds on the amount of data that can
                        be written.
                        </P>

                        <P>
                        Also, many sites have schemes in place to "lockout" an
                        account after a certain number of failed login attempts.
                        A typical set up locks out an account after 3 or 5
                        failed login attempts. An intruder may be able to use
                        this scheme to prevent legitimate users from logging
                        in. In some cases, even the privileged accounts, such
                        as root or administrator, may be subject to this type
                        of attack. Be sure you have a method to gain access to
                        the systems under emergency circumstances. Consult your
                        operating system vendor or your operating systems
                        manual for details on lockout facilities and emergency
                        entry procedures.
                        </P>

                        <P>
                        An intruder may be able to cause your systems to crash
                        or become unstable by sending unexpected data over the
                        network. An example of such an attack is described in
                        <BLOCKQUOTE>
	                <A
                        HREF="http://www.cert.org/advisories/CA-1996-26.html"> 
	                http://www.cert.org/advisories/CA-1996-26.html</A>
                        </BLOCKQUOTE>
                        If your systems are experiencing frequent crashes with
                        no apparent cause, it could be the result of this type
                        of attack.
                        </P>

                        <P>
                        There are other things that may be vulnerable to denial
                        of service that you may wish to monitor. These include
                        <P>
                        <UL>
                            <LI>printers</LI>
                            <LI>tape devices</LI>
	                    <LI>network connections</LI>
	                    <LI>other limited resources important to the 
			        operation of your organization</LI>
                        </UL>
                        </P>
		        </P>
                    </LI>
                </OL>
                </P>
            </LI>
            <LI><A NAME="3B"></a>Destruction or Alteration of Configuration
                Information
                <P>
                An improperly configured computer may not perform well or may
                not operate at all. An intruder may be able to alter or destroy
                configuration information that prevents you from using your
                computer or network.
                </P>
                <P>
                For example, if an intruder can change the routing information
                in your routers, your network may be disabled. If an intruder
                is able to modify the registry on a Windows NT machine, certain
                functions may be unavailable.
                </P>
                <P>
                For information on configuring UNIX machines, see
                <BLOCKQUOTE>
	        <A HREF="http://www.cert.org/tech_tips/unix_configuration_guidelines.html">
	        http://www.cert.org/tech_tips/unix_configuration_guidelines.html</A>
                </BLOCKQUOTE>
                For information on configuring Microsoft Windows NT machines,
                please see
                <BLOCKQUOTE>
	        <A HREF="http://www.microsoft.com/security/">
	        http://www.microsoft.com/security/</A>
                </BLOCKQUOTE>
                </P>
            </LI>
            <LI><A NAME="3C"></a>Physical Destruction or Alteration of Network
                Components
                <P>
                The primary concern with this type of attack is physical
                security. You should guard against unauthorized access to
                computers, routers, network wiring closets, network backbone
                segments, power and cooling stations, and any other critical
                components of your network.
                </P>

                <P>
                Physical security is a prime component in guarding against many
                types of attacks in addition to denial of service. For
                information on securing the physical components of your
                network, we encourage you to consult local or national law
                enforcement agencies or private security companies.
                </P>
            </LI>
        </OL>
        </P>
    </LI>
    <LI><A NAME="4"></a>Prevention and Response
        <P>
        Denial-of-service attacks can result in significant loss of time and
        money for many organizations. We strongly encourage sites to consider
        the extent to which their organization could afford a significant
        service outage and to take steps commensurate with the risk.
        </P>

        <P>
        We encourage you to consider the following options with respect to your
        needs:
        <P>
        <UL>
            <LI>Implement router filters as described in Appendix A of
                CA-96.21.tcp_syn_flooding, referenced above. This will lessen
                your exposure to certain denial-of-service attacks.
                Additionally, it will aid in preventing users on your network
                from effectively launching certain denial-of-service attacks.
            </LI>
	    <LI>If they are available for your system, install patches to guard
                against TCP SYN flooding as described in
                CA-96.21.tcp_syn_flooding, referenced above. This will
                substantially reduce your exposure to these attacks but may
                not eliminate the risk entirely.
            </LI>
            <LI>Disable any unused or unneeded network services. This can limit
                the ability of an intruder to take advantage of those services
                to execute a denial-of-service attack.
            </LI>
            <LI>Enable quota systems on your operating system if they are
                available. For example, if your operating system supports disk
                quotas, enable them for all accounts, especially accounts that
                operate network services. In addition, if your operating system
                supports partitions or volumes (i.e., separately mounted file
                systems with independent attributes) consider partitioning your
                file system so as to separate critical functions from other
                activity.
            </LI>
            <LI>Observe your system performance and establish baselines for
                ordinary activity. Use the baseline to gauge unusual levels of
                disk activity, CPU usage, or network traffic.
            </LI>
            <LI>Routinely examine your physical security with respect to your
                current needs. Consider servers, routers, unattended terminals,
                network access points, wiring closets, environmental systems
                such as air and power, and other components of your system.
            </LI>
            <LI>Use Tripwire or a similar tool to detect changes in
                configuration information or other files.
            </LI>
            <LI>Invest in and maintain "hot spares" - machines that can be
                placed into service quickly in the event that a similar machine
                is disabled.
            </LI>
            <LI>Invest in redundant and fault-tolerant network configurations.
            </LI>
            <LI>Establish and maintain regular backup schedules and policies,
                particularly for important configuration information.
            </LI>
            <LI>Establish and maintain appropriate password policies, 
                especially access to highly privileged accounts such as UNIX
                root or Microsoft Windows NT Administrator.
            </LI>
        </UL>
        </P>
        <P>
        Many organizations can suffer financial loss as a result of a
        denial-of-service attack and may wish to pursue criminal or civil
        charges against the intruder. For legal advice, we recommend that you
        consult with your legal counsel and law enforcement.
        </P>

        <P>
        U.S. sites interested in an investigation of a denial-of-service attack
        can contact their local FBI field office for guidance and information.
        For contact information for your local FBI field office, please consult
        your local telephone directory or see the FBI's contact information
        web page:
        <BLOCKQUOTE>
	<A HREF="http://www.fbi.gov/contactus.htm">
	http://www.fbi.gov/contactus.htm</A>
        </BLOCKQUOTE>
        Non-U.S. sites may want to discuss the activity with their local law
        enforcement agency to determine the appropriate steps that should be
        taken with regard to pursuing an investigation.
        </P>
        <P>
        If you are interested in determining the source of certain types of
        denial-of-service attack, it may require the cooperation of your
        network service provider and the administration of the networks
        involved. Tracking an intruder this way may not always be possible. If
        you are interested in trying do to so, contact your service provider
        directly. The CERT(*) Coordination Center is not able to provide this 
        type of assistance. We do encourage you to report your experiences,
        however. This helps us understand the nature and scope of security
        incidents on the Internet, and we may be able to relate your report to
        other activity that has been reported to us.
        </P>
    </LI>
</OL>
</P>

<p><!--#include virtual="/include/footer_nocopyright.html" --> </p>

<p>Copyright 1997, 1999 Carnegie Mellon University.</p>


<HR SIZE=2 NOSHADE ALIGN=LEFT>

<TABLE>
<A NAME="history"></a>

<TR>
<TD>
<FONT SIZE=3 FACE="Verdana">
Revision History
</TD>
</TR>

<TR>
<TD VALIGN=TOP WIDTH=30%>
<FONT SIZE=2 FACE="Verdana">
Oct 02, 1997<BR>
Feb 12, 1999<BR>
June 4, 2001<BR>
</TD>
<TD VALIGN=TOP WIDTH=70%>
<FONT SIZE=2 FACE="Verdana">
Initial Release<BR>
Converted to new web format<BR>
Updated links<BR>
</TD>
</TR>
</SMALL>
</TABLE>

<HR SIZE=2 NOSHADE ALIGN=LEFT>
<TABLE HEIGHT=50% WIDTH=100%>
<TR>
<TD VALIGN=TOP WIDTH=100%>
</TD>
</TR>
</TABLE>

</TD>
</TR>
</TABLE>