[Joke-RFC] RFC3514 IPv4ヘッダのセキュリティフラグ

# はじめに

* この文書は [RFC3514](https://www.rfc-editor.org/rfc/rfc3514.txt) を勉強と好奇心のため適当に訳したものです。
* 翻訳の正確さは全く保証しません。
* 誤字誤訳等の指摘はいつでも大歓迎です。

# The Security Flag in the IPv4 Header（IPv4ヘッダのセキュリティフラグ）

* Network Working Group
* Request for Comments: 3514
* Category: Informational

- S. Bellovin
- AT&T Labs Research
- 1 April 2003

## 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.

ファイアウォールやパケットフィルター、侵入検知システムなどでは、悪意のあるパケットと単に異常なパケットを区別することが困難な場合が多い。
そこで、この2つのケースを区別する手段として、IPv4ヘッダにセキュリティフラグを定義する。

## 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.

ファイアウォール [CBR03]、パケットフィルタ、侵入検知システムなどは、悪意のあるパケットと単に異常なパケットを区別することが困難な場合が多い。
そのような判断をすることは難しいという問題がある．
この問題を解決するために、IPv4 [RFC791] のヘッダーに「悪意」ビットと呼ばれるセキュリティフラグを定義する。
良性のパケットはこのビットが0に設定され、攻撃に使用されるパケットはこのビットが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].

キーワード MUST、MUST NOT、REQUIRED、SHALL、SHALL NOT、SHOULD、SHOULD NOT、 RECOMMENDED、MAY、OPTIONAL が本文書に登場する場合、[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.

IPフラグメントオフセットフィールドの上位ビットは、IPヘッダーの中で唯一の未使用ビットである。
したがって、ビット位置の選択は 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.)

`0x0`

ビットが0に設定されている場合、そのパケットには悪意がないことを示す。
ホストやネットワークエレメントなどは、そのパケットが無害であると仮定すべきであり、いかなる防御手段もとるべきではない(SHOULD NOT)。
(この仕様のこの部分は、多くの一般的なデスクトップオペレーティングシステムですでに実装されていることに留意すること)。

> 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.

`0x1`

ビットが1に設定されている場合、そのパケットには悪意がある。
安全なシステムは、このようなパケットから身を守るよう努めるべきである。
安全でないシステムは、クラッシュしたり、侵入されたりすることを選択してもよい。

## 3. Setting the Evil Bit（Evilビットの設定）

> 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.

Evil ビットが設定される手段はいくつかある。
攻撃アプリケーションは、適切なAPIを使用して、その設定を要求することができる。
他のメカニズムを持たないシステムは、そのような API を提供しなければならない(MUST)。

> 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.

マルチレベルの安全でないオペレーティングシステムは、攻撃プログラムのための特別なレベルを持つことができる。そのようなレベルで実行されているプログラムから発せられるパケットには、デフォルトでEvilビットが設定されなければならない(MUST)。
しかし、システムは、通常攻撃行動に従事するユーザが悪意のない活動のためにクリアすることを可能にするAPIを提供してもよい(MAY)。

> 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.

それ自体が危険なフラグメントは、Evilビットが設定されていなければならない。
Evilビットが設定されたパケットが中間ルータによって断片化され、その断片自体が危険でない場合、Evilビットは断片の中でクリアされなければならず、再集合したパケットでオンに戻されなければならない。

> 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.

中間システムは、攻撃接続のロンダリングに使用されることがある。
ターゲットに中継されることを意図したそのようなシステムへのパケットは、Evilビットが設定されるべきである(SHOULD)。

> Some applications hand-craft their own packets.
> If these packets are part of an attack, the application MUST set the evil bit by itself.

アプリケーションによっては、独自のパケットを手作りしているものもある。
これらのパケットが攻撃の一部である場合、アプリケーションは自らEvilビットを設定しなければならない(MUST)。

> 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.

ファイアウォールで保護されたネットワークでは、すべての攻撃者はファイアウォールの外側にいることが自明である。
したがって、ファイアウォールの内側のホストは、いかなるパケットにも悪のビットを設定してはならない(MUST NOT)。

> 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.

NAT [RFC3022] のボックスはパケットを修正するので、そのようなパケットにEvilビットを設定すべきである(SHOULD)。
「透過的な」httpと電子メールのプロキシは、無実のクライアントホストへの応答パケットに Evilビットを設定するべきである(SHOULD)。

> 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.

ホストの中には、侵入検知システムに警告を与えるような方法で他のホストをスキャンするものがある。
スキャンが良性の研究プロジェクトの一部である場合、Evilビットは設定されてはならない(MUST NOT)。
スキャン自体は無害だが、最終的な意図が邪悪で、宛先サイトにそのような侵入検知システムがある場合、Evilビットが設定されるべきである(SHOULD)。

## 4. Processing of the Evil Bit（EVilビットの処理）

> 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.

ファイアウォールなどのデバイスは、Evilビットが設定されているすべてのインバウンドパケットをドロップしなければならない（MUST）。
Evilビットがオフのパケットはドロップしてはならない(MUST NOT)。
ドロップされたパケットは、適切なMIB変数に記録されるべきである(SHOULD)。

> 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.

侵入検知システム(IDS)には、もっと難しい問題がある。
IDSは偽陰性および偽陽性の傾向があることが知られているため、IDSはEvilビットを評価する際に確率的な補正係数を適用しなければならない(MUST)。
Evilビットが設定されている場合、試行をログに記録すべきかどうかを判断するために、適切な乱数生成器 [RFC1750] を参照しなければならない。
同様に、ビットがオフの場合、設定されているにもかかわらずログに記録されるべきかどうかを決定するために、別の乱数発生器を参照しなければならない。

> 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.

これらのテストのデフォルトの確率は、IDSのタイプに依存する。
したがって、シグネチャベースの IDS は、低い偽陽性値を持つが、高い偽陰性値を持つことになる。
オペレータがこれらの値をリセットできるように、適切な管理インタフェースを提供しなければならない(MUST)。

> 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.

先に概要を説明したように、Evilパケットのホストの処理はオペレーティングシステムに依存する。
しかし、すべてのホストはその性質に応じて適切に対応しなければならない(MUST)。

## 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.

この文書ではIPv4のEvilビットのみを定義しているが、他の形式のEvilビットのための補完的なメカニズムが存在する。
ここでは、そのいくつかを紹介する。

> 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.

IPv6 [RFC2460]では、悪意は2つのオプションで伝えられる。
1つ目のホップバイホップオプションは、DDoSパケットのようなネットワークにダメージを与えるパケットに使用されます。
2つ目は、エンドツーエンドオプションで、宛先ホストにダメージを与えることを目的としたパケットに使用されます。
いずれの場合も、オプションには、パケットがどの程度悪質かを示す128ビットの強度インジケータと、意図する特定の攻撃の種類を示す128ビットのタイプコードが含まれています。

> 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.

いくつかのリンク層、特に光スイッチングに基づくものは、ルータ（したがってファイアウォール）を完全にバイパスすることができる。
したがって、Evilを示すために、何らかのリンク層のスキームを使わなければならない(MUST)。
これには、Evilラムダ、Evil偏波などが含まれるかもしれない。

> DDoS attack packets are denoted by a special diffserv code point.

DDoS攻撃パケットは、特別なDiffServeコードポイント(DSCP)によって示される。

> 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.

Webや電子メールで悪意ある行為をするために、`application/evil`というMIMEタイプが定義されている。
他のMIMEタイプはEvilセクションの中に埋め込むことができる。
これにより、マクロウイルスなどを含むワープロ文書を簡単にエンコードすることができる。

## 6. IANA Considerations（IANAに関する考察）

> 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].

本書では、このビットの0x0と0x1の値に対するセキュリティエレメントの動作を定義する。
このビットの他の値に対する動作は、IETFの合意によってのみ定義されるだろう [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.

セキュリティ機構が正しく機能するかどうかは、Evilビットが正しく設定されているかどうかに決定的に依存している。
もし、欠陥のあるコンポーネントが適切な時にEvilビットを1にセットしなければ、ファイアウォールはその仕事を適切に行うことができない。
同様に、設定すべきでないときにビットが1に設定されると、サービス拒否状態が発生する可能性がある。

## 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: bellovin@acm.org
```

## 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.
```