RE: Nmap compliance with new RFC 3514

"dave" <[email protected]> Tue, 1 Apr 2003 13:49:39 -0500
Newsgroups gmane.comp.security.nmap.devel,gmane.comp.security.nmap.general
Message-ID <!~!UENERkVCMDkAAQACAAAAAAAAAAAAAAAAABgAAAAAAAAAxrHNZJmS0hGPUgBgCMtslcKAAAAQAAAAq8cc/[email protected]>
http://www.ietf.org/rfc/rfc3093.txt
http://www.ietf.org/rfc/rfc3092.txt
http://www.ietf.org/rfc/rfc3091.txt
http://www.ietf.org/rfc/rfc1149.txt
http://www.ietf.org/rfc/rfc0748.txt


 
_____________________
Dave Kleiman
[email protected]
www.netmedic.net

 


-----Original Message-----
From: Florin Andrei [mailto:[email protected]] 
Sent: Tuesday, April 01, 2003 13:20
To: [email protected]
Cc: [email protected]
Subject: Re: Nmap compliance with new RFC 3514

The Evil Bit should be set to 1 automatically when packets are routed
through Avian Carriers (see RFC1149).

On Mon, 2003-03-31 at 21:49, Fyodor wrote:
> Hey everyone,
> 
> Security expert Steven Bellovin just released RFC 3514 which details
> an innovative new approach to IPv4 security.  The described "security
> bit" flags the intention of IP traffic (0x0 means innocent and 0x1 is
> for "evil" packets).  The RFC (below) specifically notes the
> dual-purpose nature of security scanners such as Nmap:
> 
> "Some hosts scan other hosts in a fashion that can alert intrusion
>  detection systems.  If the scanning is part of a benign research
>  project, the evil bit MUST NOT be set.  If the scanning per se is
>  innocent, but the ultimate intent is evil and the destination site
>  has such an intrusion detection system, the evil bit SHOULD be set."
> 
> I think this leads to two important questions WRT Nmap compliance:
> 
> 1) How should Nmap determine evil intent?  Perhaps an --evil option
>    would be handy, or maybe a standard environmental variable should
>    be used (SCRIPT_KIDDIE=1?) so that all security programs run by the
>    hacker set the flag appropriately?  Or maybe Nmap could ship with a
>    hardcoded list of UNIX usernames used by known malicious hackers?
>    Maybe shady options like "decoy scan" and Idle Stealth scan should
>    always set the bit.
> 
> 2) Should the overall Nmap default be to set the bit unless the user
>    gives a "good intentions" option, or should we assume innocence
>    until proven guilty?
> 
> Let me know what you think :).  As usual, I don't plan to implement
> the IPv6 extensions unless I get sufficient requests to demonstrate
> demand.
> 
> -Fyodor
> 
> Here is the RFC text:
> 
> [ ftp://ftp.rfc-editor.org/in-notes/rfc3514.txt ]
> Network Working Group                                        S. Bellovin
> Request for Comments: 3514                            AT&T Labs Research
> Category: Informational                                     1 April 2003
> 
> 
>                   The Security Flag in the IPv4 Header
> 
> Status of this Memo
> 
>    This memo provides information for the Internet community.  It does
>    not specify an Internet standard of any kind.  Distribution of this
>    memo is unlimited.
> 
> Copyright Notice
> 
>    Copyright (C) The Internet Society (2003).  All Rights Reserved.
> 
> Abstract
> 
>    Firewalls, packet filters, intrusion detection systems, and the like
>    often have difficulty distinguishing between packets that have
>    malicious intent and those that are merely unusual.  We define a
>    security flag in the IPv4 header as a means of distinguishing the two
>    cases.
> 
> 1. Introduction
> 
>    Firewalls [CBR03], packet filters, intrusion detection systems, and
>    the like often have difficulty distinguishing between packets that
>    have malicious intent and those that are merely unusual.  The problem
>    is that making such determinations is hard.  To solve this problem,
>    we define a security flag, known as the "evil" bit, in the IPv4
>    [RFC791] header.  Benign packets have this bit set to 0; those that
>    are used for an attack will have the bit set to 1.
> 
> 1.1. Terminology
> 
>    The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD,
>    SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL, when they appear in this
>    document, are to be interpreted as described in [RFC2119].
> 
> 2. Syntax
> 
>    The high-order bit of the IP fragment offset field is the only unused
>    bit in the IP header.  Accordingly, the selection of the bit position
>    is not left to IANA.
> 
>    The bit field is laid out as follows:
> 
>              0
>             +-+
>             |E|
>             +-+
> 
>    Currently-assigned values are defined as follows:
> 
>    0x0  If the bit is set to 0, the packet has no evil intent.  Hosts,
>         network elements, etc., SHOULD assume that the packet is
>         harmless, and SHOULD NOT take any defensive measures.  (We note
>         that this part of the spec is already implemented by many common
>         desktop operating systems.)
> 
>    0x1  If the bit is set to 1, the packet has evil intent.  Secure
>         systems SHOULD try to defend themselves against such packets.
>         Insecure systems MAY chose to crash, be penetrated, etc.
> 
> 3. Setting the Evil Bit
> 
>    There are a number of ways in which the evil bit may be set.  Attack
>    applications may use a suitable API to request that it be set.
>    Systems that do not have other mechanisms MUST provide such an API;
>    attack programs MUST use it.
> 
>    Multi-level insecure operating systems may have special levels for
>    attack programs; the evil bit MUST be set by default on packets
>    emanating from programs running at such levels.  However, the system
>    MAY provide an API to allow it to be cleared for non-malicious
>    activity by users who normally engage in attack behavior.
> 
>    Fragments that by themselves are dangerous MUST have the evil bit
>    set.  If a packet with the evil bit set is fragmented by an
>    intermediate router and the fragments themselves are not dangerous,
>    the evil bit MUST be cleared in the fragments, and MUST be turned
>    back on in the reassembled packet.
> 
>    Intermediate systems are sometimes used to launder attack
>    connections.  Packets to such systems that are intended to be relayed
>    to a target SHOULD have the evil bit set.
> 
>    Some applications hand-craft their own packets.  If these packets are
>    part of an attack, the application MUST set the evil bit by itself.
> 
>    In networks protected by firewalls, it is axiomatic that all
>    attackers are on the outside of the firewall.  Therefore, hosts
>    inside the firewall MUST NOT set the evil bit on any packets.
>    Because NAT [RFC3022] boxes modify packets, they SHOULD set the evil
>    bit on such packets.  "Transparent" http and email proxies SHOULD set
>    the evil bit on their reply packets to the innocent client host.
> 
>    Some hosts scan other hosts in a fashion that can alert intrusion
>    detection systems.  If the scanning is part of a benign research
>    project, the evil bit MUST NOT be set.  If the scanning per se is
>    innocent, but the ultimate intent is evil and the destination site
>    has such an intrusion detection system, the evil bit SHOULD be set.
> 
> 4. Processing of the Evil Bit
> 
>    Devices such as firewalls MUST drop all inbound packets that have the
>    evil bit set.  Packets with the evil bit off MUST NOT be dropped.
>    Dropped packets SHOULD be noted in the appropriate MIB variable.
> 
>    Intrusion detection systems (IDSs) have a harder problem.  Because of
>    their known propensity for false negatives and false positives, IDSs
>    MUST apply a probabilistic correction factor when evaluating the evil
>    bit.  If the evil bit is set, a suitable random number generator
>    [RFC1750] must be consulted to determine if the attempt should be
>    logged.  Similarly, if the bit is off, another random number
>    generator must be consulted to determine if it should be logged
>    despite the setting.
> 
>    The default probabilities for these tests depends on the type of IDS.
>    Thus, a signature-based IDS would have a low false positive value but
>    a high false negative value.  A suitable administrative interface
>    MUST be provided to permit operators to reset these values.
> 
>    Routers that are not intended as as security devices SHOULD NOT
>    examine this bit.  This will allow them to pass packets at higher
>    speeds.
> 
>    As outlined earlier, host processing of evil packets is operating-
>    system dependent; however, all hosts MUST react appropriately
>    according to their nature.
> 
> 5. Related Work
> 
>    Although this document only defines the IPv4 evil bit, there are
>    complementary mechanisms for other forms of evil.  We sketch some of
>    those here.
> 
>    For IPv6 [RFC2460], evilness is conveyed by two options.  The first,
>    a hop-by-hop option, is used for packets that damage the network,
>    such as DDoS packets.  The second, an end-to-end option, is for
>    packets intended to damage destination hosts.  In either case, the
>    option contains a 128-bit strength indicator, which says how evil the
>    packet is, and a 128-bit type code that describes the particular type
>    of attack intended.
> 
>    Some link layers, notably those based on optical switching, may
>    bypass routers (and hence firewalls) entirely.  Accordingly, some
>    link-layer scheme MUST be used to denote evil.  This may involve evil
>    lambdas, evil polarizations, etc.
> 
>    DDoS attack packets are denoted by a special diffserv code point.
> 
>    An application/evil MIME type is defined for Web- or email-carried
>    mischief.  Other MIME types can be embedded inside of evil sections;
>    this permit easy encoding of word processing documents with macro
>    viruses, etc.
> 
> 6. IANA Considerations
> 
>    This document defines the behavior of security elements for the 0x0
>    and 0x1 values of this bit.  Behavior for other values of the bit may
>    be defined only by IETF consensus [RFC2434].
> 
> 7. Security Considerations
> 
>    Correct functioning of security mechanisms depend critically on the
>    evil bit being set properly.  If faulty components do not set the
>    evil bit to 1 when appropriate, firewalls will not be able to do
>    their jobs properly.  Similarly, if the bit is set to 1 when it
>    shouldn't be, a denial of service condition may occur.
> 
> 8. References
> 
>    [CBR03]   W.R. Cheswick, S.M. Bellovin, and A.D. Rubin, "Firewalls
>              and Internet Security: Repelling the Wily Hacker", Second
>              Edition, Addison-Wesley, 2003.
> 
>    [RFC791]  Postel, J., "Internet Protocol", STD 5, RFC 791, September
>              1981.
> 
>    [RFC1750] Eastlake, D., 3rd, Crocker, S. and J. Schiller, "Randomness
>              Recommendations for Security", RFC 1750, December 1994.
> 
>    [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
>              Requirement Levels", BCP 14, RFC 2119, March 1997.
> 
>    [RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an
>              IANA Considerations Section in RFCs", BCP 26, RFC 2434,
>              October 1998.
> 
>    [RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6
>              (IPv6) Specification", RFC 2460, December 1998.
> 
>    [RFC3022] Srisuresh, P. and K. Egevang, "Traditional IP Network
>              Address Translator (Traditional NAT)", RFC 3022, January
>              2001.
> 
> 9. Author's Address
> 
>    Steven M. Bellovin
>    AT&T Labs Research
>    Shannon Laboratory
>    180 Park Avenue
>    Florham Park, NJ 07932
> 
>    Phone: +1 973-360-8656
>    EMail: [email protected]
> 
> 
> 10. Full Copyright Statement
> 
>    Copyright (C) The Internet Society (2003).  All Rights Reserved.
> 
>    This document and translations of it may be copied and furnished to
>    others, and derivative works that comment on or otherwise explain it
>    or assist in its implementation may be prepared, copied, published
>    and distributed, in whole or in part, without restriction of any
>    kind, provided that the above copyright notice and this paragraph are
>    included on all such copies and derivative works.  However, this
>    document itself may not be modified in any way, such as by removing
>    the copyright notice or references to the Internet Society or other
>    Internet organizations, except as needed for the purpose of
>    developing Internet standards in which case the procedures for
>    copyrights defined in the Internet Standards process must be
>    followed, or as required to translate it into languages other than
>    English.
> 
>    The limited permissions granted above are perpetual and will not be
>    revoked by the Internet Society or its successors or assigns.
> 
>    This document and the information contained herein is provided on an
>    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
>    TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
>    BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
>    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
>    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
> 
> Acknowledgement
> 
>    Funding for the RFC Editor function is currently provided by the
>    Internet Society.
> 
> --------------------------------------------------
> For help using this (nmap-hackers) mailing list, send a blank email to 
> [email protected] . List run by ezmlm-idx (www.ezmlm.org).
> 
-- 
Florin Andrei

"The Internet's elementary laws never figured people would build
careers on not understanding them." -  Doc Searls and David Weinberger


---------------------------------------------------------------------
For help using this (nmap-dev) mailing list, send a blank email to 
[email protected] . List run by ezmlm-idx (www.ezmlm.org).






---------------------------------------------------------------------
For help using this (nmap-dev) mailing list, send a blank email to 
[email protected] . List run by ezmlm-idx (www.ezmlm.org).