Re: Nmap compliance with new RFC 3514
"Steven P. Adelman" <[email protected]> Tue, 1 Apr 2003 14:06:36 -0800
| Newsgroups | gmane.comp.security.nmap.devel,gmane.comp.security.nmap.general |
|---|---|
| Message-ID | <[email protected]> |
We all know this was an April fools joke right? SPA On 1 Apr 2003, Florin Andrei wrote: > 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).