Re: Nmap compliance with new RFC 3514
Florin Andrei <[email protected]> 01 Apr 2003 14:04:56 -0800
| Newsgroups | gmane.comp.security.nmap.devel,gmane.comp.security.nmap.general |
|---|---|
| Message-ID | <[email protected]> |
I don't know, my Avian Carrier got killed by a boy with a slingshot, so i didn't got my email. On Tue, 2003-04-01 at 14:06, Steven P. Adelman wrote: > 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). > > > > > -- 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).