rfc9414xml2.original.xml | rfc9414.xml | |||
---|---|---|---|---|
<?xml version="1.0" encoding="US-ASCII"?> | <?xml version='1.0' encoding='utf-8'?> | |||
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [ | <!DOCTYPE rfc [ | |||
<!ENTITY nbsp " "> | ||||
<!ENTITY zwsp "​"> | ||||
<!ENTITY nbhy "‑"> | ||||
<!ENTITY wj "⁠"> | ||||
]> | ]> | |||
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?> <!-- used by XSLT proces | ||||
sors --> | ||||
<!-- OPTIONS, known as processing instructions (PIs) go here. --> | ||||
<?rfc toc="yes" ?> | ||||
<?rfc symrefs="yes" ?> | ||||
<?rfc strict="no" ?> | ||||
<rfc category="info" docName="draft-irtf-pearg-numeric-ids-history-11" ipr="trus | <!-- used by XSLT processors --> | |||
t200902" submissionType="IRTF"> | <!-- OPTIONS, known as processing instructions (PIs) go here. --> | |||
<front> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IRTF" category=" | |||
<title abbrev="Predictable Transient Numeric IDs">Unfortunate History of Transie | info" consensus="true" docName="draft-irtf-pearg-numeric-ids-history-11" number= | |||
nt Numeric Identifiers</title> | "9414" ipr="trust200902" obsoletes="" updates="" xml:lang="en" tocInclude="true" | |||
symRefs="true" sortRefs="true" version="3"> | ||||
<!-- xml2rfc v2v3 conversion 3.16.0 --> | ||||
<front> | ||||
<title abbrev="Predictable Transient Numeric IDs">Unfortunate History of Tra | ||||
nsient Numeric Identifiers</title> | ||||
<seriesInfo name="RFC" value="9414"/> | ||||
<author fullname="Fernando Gont" initials="F." surname="Gont"> | <author fullname="Fernando Gont" initials="F." surname="Gont"> | |||
<organization abbrev="SI6 Networks">SI6 Networks</organization> | <organization abbrev="SI6 Networks">SI6 Networks</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>Segurola y Habana 4310 7mo piso</street> | <extaddr>Segurola y Habana</extaddr> | |||
<street>4310 7mo piso</street> | ||||
<city>Ciudad Autonoma de Buenos Aires</city> | <city>Ciudad Autonoma de Buenos Aires</city> | |||
<region>Buenos Aires</region> | ||||
<country>Argentina</country> | <country>Argentina</country> | |||
</postal> | </postal> | |||
<!-- <phone>+54 11 4650 8472</phone> --> | ||||
<email>fgont@si6networks.com</email> | <email>fgont@si6networks.com</email> | |||
<uri>https://www.si6networks.com</uri> | <uri>https://www.si6networks.com</uri> | |||
</address> | ||||
</address> | ||||
</author> | </author> | |||
<author fullname="Ivan Arce" initials="I." surname="Arce"> | <author fullname="Ivan Arce" initials="I." surname="Arce"> | |||
<organization abbrev="Quarkslab">Quarkslab</organization> | <organization abbrev="Quarkslab">Quarkslab</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>Segurola y Habana 4310 7mo piso</street> | <extaddr>Segurola y Habana</extaddr> | |||
<street>4310 7mo piso</street> | ||||
<city>Ciudad Autonoma de Buenos Aires</city> | <city>Ciudad Autonoma de Buenos Aires</city> | |||
<region>Buenos Aires</region> | ||||
<country>Argentina</country> | <country>Argentina</country> | |||
</postal> | </postal> | |||
<email>iarce@quarkslab.com</email> | <email>iarce@quarkslab.com</email> | |||
<uri>https://www.quarkslab.com</uri> | <uri>https://www.quarkslab.com</uri> | |||
</address> | ||||
</address> | ||||
</author> | </author> | |||
<date year="2023" month="July"/> | ||||
<workgroup>Privacy Enhancements and Assessments</workgroup> | ||||
<date/> | <keyword>security</keyword> | |||
<keyword>vulnerability</keyword> | ||||
<workgroup>Internet Research Task Force (IRTF)</workgroup> | <keyword>algorithm</keyword> | |||
<!-- | <keyword>attack</keyword> | |||
<area>Internet</area> | <keyword>fingerprinting</keyword> | |||
<workgroup>Dynamic Host Configuration (dhc)</workgroup> | ||||
<!-- <area/> --> | ||||
<!-- <workgroup/> --> | ||||
<abstract> | <abstract> | |||
<t> | <t> | |||
This document analyzes the timeline of the specification and implementation of d | This document analyzes the timeline of the specification and implementation of d | |||
ifferent types of "transient numeric identifiers" used in IETF protocols, and ho | ifferent types of "transient numeric identifiers" used in IETF protocols and how | |||
w the security and privacy properties of such protocols have been affected as a | the security and privacy properties of such protocols have been affected as a r | |||
result of it. It provides empirical evidence that advice in this area is warrant | esult of it. It provides empirical evidence that advice in this area is warrante | |||
ed. This document is a product of the Privacy Enhancement and Assessment Researc | d. This document is a product of the Privacy Enhancements and Assessments Resear | |||
h Group (PEARG) in the IRTF. | ch Group (PEARG) in the IRTF. | |||
</t> | </t> | |||
</abstract> | </abstract> | |||
</front> | </front> | |||
<middle> | <middle> | |||
<section anchor="intro" numbered="true" toc="default"> | ||||
<name>Introduction</name> | ||||
<t> | ||||
Networking protocols employ a variety of transient numeric identifiers for diffe | ||||
rent protocol objects, such as IPv4 and IPv6 Identification values <xref target= | ||||
"RFC0791" format="default"/> <xref target="RFC8200" format="default"/>, IPv6 Int | ||||
erface Identifiers (IIDs) <xref target="RFC4291" format="default"/>, transport-p | ||||
rotocol ephemeral port numbers <xref target="RFC6056" format="default"/>, TCP In | ||||
itial Sequence Numbers (ISNs) <xref target="RFC9293" format="default"/>, NTP Ref | ||||
erence IDs (REFIDs) <xref target="RFC5905" format="default"/>, and DNS IDs <xref | ||||
target="RFC1035" format="default"/>. These identifiers typically have specific | ||||
requirements (e.g., uniqueness during a specified period of time) that must be s | ||||
atisfied such that they do not result in negative interoperability implications | ||||
and an associated failure severity when such requirements are not met <xref targ | ||||
et="RFC9415" format="default"/>.</t> | ||||
<aside> | ||||
<t>NOTE: Some documents refer to the DNS ID as the DNS "Query ID" or "TxID".</t> | ||||
</aside> | ||||
<section title="Introduction" anchor="intro"> | <t>For more than 30 years, a large number of implementations of IETF protocols h | |||
<t> | ave been subject to a variety of attacks, with effects ranging from Denial of Se | |||
Networking protocols employ a variety of transient numeric identifiers for diffe | rvice (DoS) or data injection to information leakages that could be exploited fo | |||
rent protocol objects, such as IPv4 and IPv6 Fragment Identifiers <xref target=" | r pervasive monitoring <xref target="RFC7258" format="default"/>. The root cause | |||
RFC0791"/> <xref target="RFC8200"/>, IPv6 Interface Identifiers (IIDs) <xref tar | of these issues has been, in many cases, the poor selection of transient numeri | |||
get="RFC4291"/>, transport protocol ephemeral port numbers <xref target="RFC6056 | c identifiers in such protocols, usually as a result of insufficient or misleadi | |||
"/>, TCP Initial Sequence Numbers (ISNs) <xref target="RFC0793"/>, NTP Reference | ng specifications. While it is generally trivial to identify an algorithm that c | |||
IDs (REFIDs) <xref target="RFC5905"/>, and DNS Query IDs <xref target="RFC1035" | an satisfy the interoperability requirements of a given transient numeric identi | |||
/>. These identifiers typically have specific interoperability requirements (e.g | fier, empirical evidence exists that doing so without negatively affecting the s | |||
. uniqueness during a specified period of time), and associated failure severiti | ecurity and/or privacy properties of the aforementioned protocols is prone to er | |||
es when such requirements are not met <xref target="I-D.irtf-pearg-numeric-ids-g | ror.</t> | |||
eneration"/>. | <t>For example, implementations have been subject to security and/or priva | |||
</t> | cy issues resulting from:</t> | |||
<ul spacing="normal"> | ||||
<t>For more than 30 years, a large number of implementations of the IETF protoco | <li>predictable IPv4 or IPv6 Identification values (e.g., see <xref targ | |||
ls have been subject to a variety of attacks, with effects ranging from Denial o | et="Sanfilippo1998a" format="default"/>, <xref target="RFC6274" format="default" | |||
f Service (DoS) or data injection, to information leakages that could be exploit | />, and <xref target="RFC7739" format="default"/>),</li> | |||
ed for pervasive monitoring <xref target="RFC7258"/>. The root cause of these is | <li>predictable IPv6 IIDs (e.g., see <xref target="RFC7217" format="defa | |||
sues has been, in many cases, poor selection of transient numeric identifiers, u | ult"/>, <xref target="RFC7707" format="default"/>, and <xref target="RFC7721" fo | |||
sually as a result of insufficient or misleading specifications.</t> | rmat="default"/>),</li> | |||
<li>predictable transport-protocol ephemeral port numbers (e.g., see <xr | ||||
<t>For example, implementations have been subject to security or privacy issues | ef target="RFC6056" format="default"/> and <xref target="Silbersack2005" format= | |||
resulting from: | "default"/>),</li> | |||
<li>predictable TCP Initial Sequence Numbers (ISNs) (e.g., see <xref tar | ||||
<list style="symbols"> | get="Morris1985" format="default"/>, <xref target="Bellovin1989" format="default | |||
<t>Predictable IPv4 or IPv6 Fragment Identifiers (see e.g. <xref target="Sanfili | "/>, and <xref target="RFC6528" format="default"/>),</li> | |||
ppo1998a"/>, <xref target="RFC6274"/>, and <xref target="RFC7739"/>)</t> | <li>predictable initial timestamps in TCP timestamps options (e.g., see | |||
<t>Predictable IPv6 IIDs (see e.g. <xref target="RFC7721"/>, <xref target="RFC77 | <xref target="TCPT-uptime" format="default"/> and <xref target="RFC7323" format= | |||
07"/>, and <xref target="RFC7217"/>)</t> | "default"/>), and</li> | |||
<t>Predictable transport protocol ephemeral port numbers (see e.g. <xref target= | <li>predictable DNS IDs (see, e.g., <xref target="Schuba1993" format="de | |||
"RFC6056"/> and <xref target="Silbersack2005"/>)</t> | fault"/> and <xref target="Klein2007" format="default"/>).</li> | |||
<t>Predictable TCP Initial Sequence Numbers (ISNs) (see e.g. <xref target="Morri | </ul> | |||
s1985"/>, <xref target="Bellovin1989"/>, and <xref target="RFC6528"/>)</t> | <t>Recent history indicates that, when new protocols are standardized or n | |||
<t>Predictable DNS Query IDs (see e.g. <xref target="Arce1997"/> and <xref targe | ew protocol implementations are produced, the security and privacy properties of | |||
t="Klein2007"/>)</t> | the associated transient numeric identifiers tend to be overlooked, and inappro | |||
</list> | priate algorithms to generate such identifiers are either suggested in the speci | |||
fications or selected by implementers. As a result, advice in this area is warra | ||||
These examples indicate that when new protocols are standardized or implemented, | nted. | |||
the security and privacy properties of the associated transient numeric identif | ||||
iers tend to be overlooked, and inappropriate algorithms to generate such identi | ||||
fiers (i.e. that negatively affect the security or privacy properties of the pro | ||||
tocol) are either suggested in the specification or selected by implementers. | ||||
</t> | ||||
<t>This document contains a non-exhaustive timeline of the specification and vul | ||||
nerability disclosures related to some sample transient numeric identifiers, inc | ||||
luding other work that has led to advances in this area. This analysis indicates | ||||
that: | ||||
<list style="symbols"> | ||||
<t>Vulnerabilities associated with the inappropriate generation of transient num | ||||
eric identifiers have affected protocol implementations for an extremely long pe | ||||
riod of time.</t> | ||||
<t>Such vulnerabilities, even when addressed for a given protocol version, were | ||||
later reintroduced in new versions or new implementations of the same protocol.< | ||||
/t> | ||||
<t>Standardization efforts that discuss and provide advice in this area can have | ||||
a positive effect on IETF specifications and their corresponding implementation | ||||
s.</t> | ||||
</list> | ||||
</t> | ||||
<t>While it is generally possible to identify an algorithm that can satisfy the | ||||
interoperability requirements for a given transient numeric identifier, this doc | ||||
ument provides empirical evidence that doing so without negatively affecting the | ||||
security or privacy properties of the aforementioned protocols is non-trivial. | ||||
Other related documents (<xref target="I-D.irtf-pearg-numeric-ids-generation"/> | ||||
and <xref target="I-D.gont-numeric-ids-sec-considerations"/>) provide guidance i | ||||
n this area, as motivated by the present document.</t> | ||||
<t>This document represents the consensus of the Privacy Enhancement and Assessm | ||||
ent Research Group (PEARG).</t> | ||||
</section> | ||||
<section title="Terminology" anchor="terminology"> | ||||
<t> | ||||
<list style="hanging"> | ||||
<t hangText="Transient Numeric Identifier:"> | ||||
<vspace blankLines="0" />A data object in a protocol specification that can be u | ||||
sed to definitely distinguish a protocol object (a datagram, network interface, | ||||
transport protocol endpoint, session, etc) from all other objects of the same ty | ||||
pe, in a given context. Transient numeric identifiers are usually defined as a s | ||||
eries of bits, and represented using integer values. These identifiers are typic | ||||
ally dynamically selected, as opposed to statically-assigned numeric identifiers | ||||
(see e.g. <xref target="IANA-PROT"/>). We note that different identifiers may h | ||||
ave additional requirements or properties depending on their specific use in a p | ||||
rotocol. We use the term "transient numeric identifier" (or simply "numeric iden | ||||
tifier" or "identifier" as short forms) as a generic term to refer to any data o | ||||
bject in a protocol specification that satisfies the identification property sta | ||||
ted above. | ||||
</t> | </t> | |||
<t>This document contains a non-exhaustive timeline of the specification a | ||||
</list> | nd vulnerability disclosures related to some sample transient numeric identifier | |||
s, including other work that has led to advances in this area. This analysis ind | ||||
icates that: | ||||
</t> | </t> | |||
<ul spacing="normal"> | ||||
<li>vulnerabilities associated with the inappropriate generation of tran | ||||
sient numeric identifiers have affected protocol implementations for an extremel | ||||
y long period of time,</li> | ||||
<li>such vulnerabilities, even when addressed for a given protocol versi | ||||
on, were later reintroduced in new versions or new implementations of the same p | ||||
rotocol, and</li> | ||||
<li>standardization efforts that discuss and provide advice in this area | ||||
can have a positive effect on IETF specifications and their corresponding imple | ||||
mentations.</li> | ||||
</ul> | ||||
<t>While it is generally possible to identify an algorithm that can satisf | ||||
y the interoperability requirements for a given transient numeric identifier, th | ||||
is document provides empirical evidence that doing so without negatively affecti | ||||
ng the security and/or privacy properties of the corresponding protocols is nont | ||||
rivial. Other related documents (<xref target="RFC9415" format="default"/> and < | ||||
xref target="RFC9416" format="default"/>) provide guidance in this area, as moti | ||||
vated by the present document.</t> | ||||
<t>This document represents the consensus of the Privacy Enhancements and | ||||
Assessments Research Group (PEARG).</t> | ||||
</section> | ||||
<t> | <section anchor="terminology" numbered="true" toc="default"> | |||
<name>Terminology</name> | ||||
<dl newline="true" spacing="normal"> | ||||
<dt>Transient Numeric Identifier:</dt> | ||||
<dd>A data object in a protocol specification that can be used to defini | ||||
tely distinguish a protocol object (a datagram, network interface, transport-pro | ||||
tocol endpoint, session, etc.) from all other objects of the same type, in a giv | ||||
en context. Transient numeric identifiers are usually defined as a series of bit | ||||
s and represented using integer values. These identifiers are typically dynamica | ||||
lly selected, as opposed to statically assigned numeric identifiers (e.g., see < | ||||
xref target="IANA-PROT" format="default"/>). We note that different transient nu | ||||
meric identifiers may have additional requirements or properties depending on th | ||||
eir specific use in a protocol. We use the term "transient numeric identifier" ( | ||||
or simply "numeric identifier" or "identifier" as short forms) as a generic term | ||||
to refer to any data object in a protocol specification that satisfies the iden | ||||
tification property stated above. | ||||
</dd> | ||||
</dl> | ||||
<t> | ||||
The terms "constant IID", "stable IID", and "temporary IID" are to be | The terms "constant IID", "stable IID", and "temporary IID" are to be | |||
interpreted as defined in <xref target="RFC7721"/>. | interpreted as defined in <xref target="RFC7721" format="default"/>. | |||
</t> | ||||
<!-- | ||||
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", | ||||
"SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", | ||||
"MAY", and "OPTIONAL" in this document are to be interpreted as | ||||
described in BCP 14 <xref target='RFC2119' /> <xref target='RFC8174' /> wh | ||||
en, and only when, they | ||||
appear in all capitals, as shown here. | ||||
</t> | ||||
</section> | ||||
<!-- | ||||
<section title="Threat Model" anchor="threat-model"> | ||||
<t>Throughout this document, we assume an attacker does not have physical or log | ||||
ical access to the system(s) being attacked, and cannot necessarily observe all | ||||
the packets being transferred between the sender and the receiver(s) of the | ||||
target protocol, but may be able to observe some of them. However, we assume the | ||||
attacker can send any traffic to the target device(s), to e.g. sample transient | ||||
numeric identifiers employed by such device(s). | ||||
</t> | ||||
</section> | ||||
<section title="Threat Model" anchor="threat-model"> | ||||
<!-- | ||||
<t>Throughout this document, we assume an attacker does not have physical or log | ||||
ical access to the system(s) being attacked, and cannot necessarily observe all | ||||
the packets being transferred between the sender and the receiver(s) of the | ||||
target protocol, but may be able to observe some of them. However, we assume the | ||||
attacker can send any traffic to the target device(s), to e.g. sample transient | ||||
numeric identifiers employed by such device(s). | ||||
</t> | ||||
<t>Throughout this document, we do not consider on-path attacks. That is, we ass | ||||
ume the attacker does not have physical or logical access to the system(s) being | ||||
attacked, and that the attacker can only observe traffic explicitly directed to | ||||
the attacker. Similarly, an attacker cannot observe traffic transferred between | ||||
a sender and the receiver(s) of a target protocol, but may be able to interact | ||||
with any of these entities, including by e.g. sending any traffic to them to sam | ||||
ple transient numeric identifiers employed by the target systems when communicat | ||||
ing with the attacker. | ||||
</t> | ||||
<t>For example, when analyzing vulnerabilities associated with TCP Initial Seque | ||||
nce Numbers (ISNs), we consider the attacker is unable to capture network traffi | ||||
c corresponding to a TCP connection between two other hosts. However, we conside | ||||
r the attacker is able to communicate with any of these hosts (e.g., establish a | ||||
TCP connection with any of them), to e.g. sample the TCP ISNs employed by these | ||||
systems when communicating with the attacker.</t> | ||||
<t>Similarly, when considering host-tracking attacks based on IPv6 interface ide | ||||
ntifiers, we consider an attacker may learn the IPv6 address employed by a victi | ||||
m node if e.g. the address becomes exposed as a result of the victim node commun | ||||
icating with an attacker-operated server. Subsequently, an attacker may perform | ||||
host-tracking by probing a set of target addresses composed by a set of target p | ||||
refixes and the IPv6 interface identifier originally learned by the attacker. Al | ||||
ternatively, an attacker may perform host tracking if e.g. the victim node commu | ||||
nicates with an attacker-operated server as it moves from one location to anothe | ||||
r, those exposing its configured addresses. We note that none of these scenarios | ||||
requires the attacker observe traffic not explicitly directed to the attacker. | ||||
</t> | ||||
</section> | ||||
<section title="Issues with the Specification of Transient Numeric Identifiers" | ||||
anchor="issues"> | ||||
<t>While assessing IETF protocol specifications regarding the use of transient n | ||||
umeric identifiers, we have found that most of the issues discussed in this docu | ||||
ment arise as a result of one of the following conditions: | ||||
<list style="symbols"> | ||||
<t>Protocol specifications that under-specify the requirements for their transie | ||||
nt numeric identifiers</t> | ||||
<t>Protocol specifications that over-specify their transient numeric identifiers | ||||
</t> | ||||
<t>Protocol implementations that simply fail to comply with the specified requir | ||||
ements</t> | ||||
</list> | ||||
</t> | ||||
<t>A number of IETF protocol specifications have simply overlooked the security | ||||
and privacy implications of transient numeric identifiers. Examples of them are | ||||
the specification of TCP ephemeral ports in <xref target="RFC0793"/>, the specif | ||||
ication of TCP sequence numbers in <xref target="RFC0793"/>, or the specificatio | ||||
n of the DNS TxID in <xref target="RFC1035"/>.</t> | ||||
<t>On the other hand, there are a number of IETF protocol specifications that ov | ||||
er-specify some of their associated transient numeric identifiers. For example, | ||||
<xref target="RFC4291"/> essentially overloads the semantics of IPv6 Interface I | ||||
dentifiers (IIDs) by embedding link-layer addresses in the IPv6 IIDs, when the i | ||||
nteroperability requirement of uniqueness could be achieved in other ways that d | ||||
o not result in negative security and privacy implications <xref target="RFC7721 | ||||
"/>. Similarly, <xref target="RFC2460"/> suggested the use of a global counter f | ||||
or the generation of Fragment Identification values, when the interoperability p | ||||
roperties of uniqueness per {Src IP, Dst IP} could be achieved with other algori | ||||
thms that do not result in negative security and privacy implications <xref targ | ||||
et="RFC7739"/>.</t> | ||||
<t>Finally, there are implementations that simply fail to comply with the corres | ||||
ponding IETF protocol specifications or recommendations. For example, some popul | ||||
ar operating systems (notably Microsoft Windows) still fail to implement transpo | ||||
rt protocol ephemeral port randomization, as recommended in <xref target="RFC605 | ||||
6"/>.</t> | ||||
<t>The following subsections document the timelines for a number of sample trans | ||||
ient numeric identifiers, that illustrate how the problem discussed in this docu | ||||
ment has affected protocols from different layers over time. These sample transi | ||||
ent numeric identifiers have different interoperability requirements and failure | ||||
severities (see Section 6 of <xref target="I-D.irtf-pearg-numeric-ids-generatio | ||||
n"/>), and thus are considered to be representative of the problem being analyze | ||||
d in this document.</t> | ||||
<section title="IPv4/IPv6 Identification" anchor="ipid"> | ||||
<t>This section presents the timeline of the Identification field employed by IP | ||||
v4 (in the base header) and IPv6 (in Fragment Headers). The reason for presentin | ||||
g both cases in the same section is to make it evident that while the Identifica | ||||
tion value serves the same purpose in both IPv4 and IPv6, the work and research | ||||
done for the IPv4 case did not affect IPv6 specifications or implementations.</t | ||||
> | ||||
<t>The IPv4 Identification is specified in <xref target="RFC0791"/>, which speci | ||||
fies the interoperability requirements for the Identification field: the sender | ||||
must choose the Identification field to be unique for a given source address, d | ||||
estination address, and protocol, for the time the datagram (or any fragment of | ||||
it) could be alive in the internet. It suggests that a node may keep "a table of | ||||
Identifiers, one entry for each destination it has communicated with in the las | ||||
t maximum packet lifetime for the internet", and suggests that "since the Identi | ||||
fier field allows 65,536 different values, hosts may be able to simply use uniqu | ||||
e identifiers independent of destination". The above has been interpreted numero | ||||
us times as a suggestion to employ per-destination or global counters for the ge | ||||
neration of Identification values. While <xref target="RFC0791"/> does not sugge | ||||
st any flawed algorithm for the generation of Identification values, the specifi | ||||
cation omits a discussion of the security and privacy implications of predictabl | ||||
e Identification values. This has resulted in many IPv4 implementations generati | ||||
ng predictable fragment Identification values by means of a global counter, at l | ||||
east at some point in time. | ||||
</t> | ||||
<t> | ||||
The IPv6 Identification was originally specified in <xref target="RFC1883"/>. It | ||||
serves the same purpose as its IPv4 counterpart, with the only difference resid | ||||
ing in the length of the corresponding field, and that while the IPv4 Identifica | ||||
tion field is part of the base IPv4 header, in the IPv6 case it is part of the F | ||||
ragment header (which may or may not be present in an IPv6 packet). <xref target | ||||
="RFC1883"/> states, in Section 4.5, that the Identification must be different t | ||||
han that of any other fragmented packet sent recently (within the maximum likely | ||||
lifetime of a packet) with the same Source Address and Destination Address. Sub | ||||
sequently, it notes that this requirement can be met by means of a wrap-around 3 | ||||
2-bit counter that is incremented each time a packet must be fragmented, and tha | ||||
t it is an implementation choice whether to use a global or a per-destination co | ||||
unter. Thus, the implementation of the IPv6 Identification is similar to that of | ||||
the IPv4 case, with the only difference that in the IPv6 case the suggestions t | ||||
o use simple counters is more explicit. <xref target="RFC2460"/> was the first r | ||||
evision of the core IPv6 specification, and maintained the same text for the spe | ||||
cification of the IPv6 Identification field. <xref target="RFC8200"/>, the secon | ||||
d revision of the core IPv6 specification, removes the suggestion from <xref tar | ||||
get="RFC2460"/> to use a counter for the generation of IPv6 Identification value | ||||
s, and points to <xref target="RFC7739"/> for sample algorithms for their genera | ||||
tion. | ||||
</t> | ||||
<t> | ||||
<list style="hanging"> | ||||
<t hangText="September 1981:"> | ||||
<vspace blankLines="0" /><xref target="RFC0791"/> specifies the interoperability | ||||
requirements for IPv4 Identification value, but does not perform a vulnerabilit | ||||
y assessment of this transient numeric identifier. | ||||
</t> | ||||
<t hangText="December 1995:"> | ||||
<vspace blankLines="0" /><xref target="RFC1883"/>, the first specification of th | ||||
e IPv6 protocol, is published. It suggests that a counter be used to generate th | ||||
e IPv6 Identification value, and notes that it is an implementation choice wheth | ||||
er to maintain a single counter for the node or multiple counters, e.g., one for | ||||
each of the node's possible source addresses, or one for each active (source ad | ||||
dress, destination address) combination. | ||||
</t> | ||||
<t hangText="December 1998:"> | ||||
<vspace blankLines="0" /><xref target="Sanfilippo1998a"/> finds that predictable | ||||
IPv4 Identification values (generated by most popular implementations) can be l | ||||
everaged to count the number of packets sent by a target node. <xref target="San | ||||
filippo1998b"/> explains how to leverage the same vulnerability to implement a p | ||||
ort-scanning technique known as "dumb/idle scan". A tool that implemen | ||||
ts this attack is publicly released. | ||||
</t> | ||||
<t hangText="December 1998:"> | ||||
<vspace blankLines="0" /><xref target="RFC2460"/>, a revision of the IPv6 specif | ||||
ication, is published, obsoleting <xref target="RFC1883"/>. It maintains the sam | ||||
e specification of the IPv6 Identification field as its predecessor (<xref targe | ||||
t="RFC1883"/>). | ||||
</t> | ||||
<t hangText="December 1998:"> | ||||
<vspace blankLines="0" />OpenBSD implements randomization of the IPv4 Identifica | ||||
tion field <xref target="OpenBSD-IPv4-ID"/>. <!--This feature eventually shipped | ||||
with OpenBSD 2.5.--> | ||||
</t> | ||||
<t hangText="November 1999:"> | ||||
<vspace blankLines="0" /><xref target="Sanfilippo1999"/> discusses how to levera | ||||
ge predictable IPv4 Identification to uncover the rules of a number of firewalls | ||||
. | ||||
</t> | ||||
<t hangText="September 2002:"> | ||||
<vspace blankLines="0" /><xref target="Fyodor2002"/> documents the implementatio | ||||
n of the "idle/dumb scan" technique in the popular nmap tool. | ||||
</t> | ||||
<t hangText="November 2002:"> | ||||
<vspace blankLines="0" /><xref target="Bellovin2002"/> explains how the IPv4 Ide | ||||
ntification field can be exploited to count the number of systems behind a NAT. | ||||
</t> | ||||
<t hangText="October 2003:"> | ||||
<vspace blankLines="0" />OpenBSD implements randomization of the IPv6 Identifica | ||||
tion field <xref target="OpenBSD-IPv6-ID"/>.<!-- This feature eventually shipped | ||||
with OpenBSD 3.4.--> | ||||
</t> | ||||
<t hangText="December 2003:"> | ||||
<vspace blankLines="0" /><xref target="Zalewski2003"/> explains a technique to p | ||||
erform TCP data injection attacks based on predictable IPv4 identification value | ||||
s, which requires less effort than TCP injection attacks performed with bare TCP | ||||
packets. | ||||
</t> | ||||
<t hangText="November 2005:"> | ||||
<vspace blankLines="0" /><xref target="Silbersack2005"/> discusses shortcomings | ||||
in a number of techniques to mitigate predictable IPv4 Identification values. | ||||
</t> | ||||
<t hangText="October 2007:"> | ||||
<vspace blankLines="0" /><xref target="Klein2007"/> describes a weakness in the | ||||
pseudo random number generator (PRNG) in use for the generation of the IP Identi | ||||
fication by a number of operating systems. | ||||
</t> | ||||
<t hangText="June 2011:"> | ||||
<vspace blankLines="0" /><xref target="Gont2011"/> describes how to perform dumb | ||||
/idle scan attacks in IPv6. | ||||
</t> | ||||
<t hangText="November 2011:"> | ||||
<vspace blankLines="0" />Linux mitigates predictable IPv6 Identification values | ||||
<xref target="RedHat2011"/> <xref target="SUSE2011"/> <xref target="Ubuntu2011"/ | ||||
>. | ||||
</t> | ||||
<t hangText="December 2011:"> | ||||
<vspace blankLines="0" /><xref target="draft-gont-6man-predictable-fragment-id-0 | ||||
0"/> describes the security implications of predictable IPv6 Identification valu | ||||
es, and possible mitigations. This document has the Intended Status of "Sta | ||||
ndards Track", with the intention to formally update <xref target="RFC2460" | ||||
/>, to introduce security and privacy requirements on the generation of IPv6 Ide | ||||
ntification values. | ||||
</t> | ||||
<t hangText="May 2012:"> | ||||
<vspace blankLines="0" /><xref target="Gont2012"/> notes that some major IPv6 im | ||||
plementations still employ predictable IPv6 Identification values. | ||||
</t> | ||||
<!-- [fgont] Historia de RFC7739 --> | ||||
<t hangText="March 2013:"> | ||||
<vspace blankLines="0" />The 6man WG adopts <xref target="I-D.gont-6man-predicta | ||||
ble-fragment-id"/>, but changes the track to "BCP" (while still formally updatin | ||||
g <xref target="RFC2460"/>), publishing the resulting document as <xref target=" | ||||
draft-ietf-6man-predictable-fragment-id-00"/>. | ||||
</t> | ||||
<t hangText="June 2013:"> | ||||
<vspace blankLines="0" />A patch to incorporate support for IPv6-based idle/dumb | ||||
scans in nmap is submitted <xref target="Morbitzer2013"/>. | ||||
</t> | ||||
<t hangText="December 2014:"> | ||||
<vspace blankLines="0" />The 6man WG changes the Intended Status of <xref target | ||||
="draft-ietf-6man-predictable-fragment-id-01"/> to "Informational" and publishes | ||||
it as <xref target="draft-ietf-6man-predictable-fragment-id-02"/>. As a result, | ||||
it no longer formally updates <xref target="RFC2460"/>, and security and privac | ||||
y requirements on the generation of IPv6 Identification values are eliminated. | ||||
</t> | ||||
<t hangText="June 2015:"> | ||||
<vspace blankLines="0" /><xref target="draft-ietf-6man-predictable-fragment-id-0 | ||||
8"/> notes that some popular host and router implementations still employ predic | ||||
table IPv6 Identification values. | ||||
</t> | ||||
<t hangText="February 2016:"> | ||||
<vspace blankLines="0" /><xref target="RFC7739"/> (based on <xref target="I-D.ie | ||||
tf-6man-predictable-fragment-id"/>) analyzes the security and privacy implicatio | ||||
ns of predictable IPv6 Identification values, and provides guidance for selectin | ||||
g an algorithm to generate such values. However, being published with the Intend | ||||
ed Status of "Informational", it does not formally update <xref target | ||||
="RFC2460"/>, and does not introduce security and privacy requirements on the ge | ||||
neration of IPv6 Identification values. <!--Note: The oiginal individual submiss | ||||
ion IP, revision of <xref target="RFC2460"/> removes the suggestion from RFC2460 | ||||
to employ a global counter for the generation of IPv6 Identification values, bu | ||||
t does specify any security and privacy requirements for the IPv6 Identification | ||||
value.--> | ||||
</t> | ||||
<t hangText="June 2016:"> | ||||
<vspace blankLines="0" /><xref target="I-D.ietf-6man-rfc2460bis"/>, revision of | ||||
<xref target="RFC2460"/>, removes the suggestion from RFC2460 to use a counter f | ||||
or the generation of IPv6 Identification values, but does not perform a vulnerab | ||||
ility assessment of the generation of IPv6 Identification values, and does not i | ||||
ntroduce security and privacy requirements on the generation of IPv6 Identificat | ||||
ion values. | ||||
</t> | ||||
<t hangText="July 2017:"> | ||||
<vspace blankLines="0" /><xref target="I-D.ietf-6man-rfc2460bis"/> is finally pu | ||||
blished as <xref target="RFC8200"/>, obsoleting <xref target="RFC2460"/>, and po | ||||
inting to <xref target="RFC7739"/> for sample algorithms for the generation of I | ||||
Pv6 Fragment Identification values. However, it does not introduce security and | ||||
privacy requirements on the generation of IPv6 Identification values. | ||||
</t> | ||||
<t hangText="June 2019:"> | ||||
<vspace blankLines="0" /><xref target="IPID-DEV"/> notes that the IPv6 ID genera | ||||
tors of two popular operating systems are flawed. | ||||
</t> | ||||
</list> | ||||
</t> | ||||
</section> | ||||
<section title="TCP Initial Sequence Numbers (ISNs)" anchor="tcp-isns"> | ||||
<t> | ||||
<xref target="RFC0793"/> suggests that the choice of the ISN of a connection is | ||||
not arbitrary, but aims to reduce the chances of a stale segment from being acce | ||||
pted by a new incarnation of a previous connection. <xref target="RFC0793"/> sug | ||||
gests the use of a global 32-bit ISN generator that is incremented by 1 roughly | ||||
every 4 microseconds. However, as a matter of fact, protection against stale seg | ||||
ments from a previous incarnation of the connection is enforced by preventing th | ||||
e creation of a new incarnation of a previous connection before 2*MSL have passe | ||||
d since a segment corresponding to the old incarnation was last seen (where "MSL | ||||
" is the "Maximum Segment Lifetime" <xref target="RFC0793"/>). This is accomplis | ||||
hed by the TIME-WAIT state and TCP's "quiet time" concept (see Appendix B of <xr | ||||
ef target="RFC1323"/>). Based on the assumption that ISNs are monotonically incr | ||||
easing across connections, many stacks (e.g., 4.2BSD-derived) use the ISN of an | ||||
incoming SYN segment to perform "heuristics" that enable the creation of a new i | ||||
ncarnation of a connection while the previous incarnation is still in the TIME-W | ||||
AIT state (see p. 945 of <xref target="Wright1994"/>). This avoids an interopera | ||||
bility problem that may arise when a node establishes connections to a specific | ||||
TCP end-point at a high rate <xref target="Silbersack2005"/>.</t> | ||||
<t>The interoperability requirements for TCP ISNs are probably not as clearly sp | ||||
elled out as one would expect. Furthermore, the suggestion of employing a global | ||||
counter in <xref target="RFC0793"/> negatively affects the security and privacy | ||||
properties of the protocol.</t> | ||||
<t> | ||||
<list style="hanging"> | ||||
<t hangText="September 1981:"> | ||||
<vspace blankLines="0" /><xref target="RFC0793"/>, suggests the use of a global | ||||
32-bit ISN | ||||
generator, whose lower bit is incremented roughly every 4 microseconds. However, | ||||
such an ISN generator makes it trivial to predict the ISN that a TCP instance w | ||||
ill use for new connections, thus allowing a variety of attacks against TCP. | ||||
</t> | ||||
<!-- | ||||
<t hangText="September 1981:"> | ||||
<vspace blankLines="0" /><xref target="RFC0793"/>, suggests the use of a global | ||||
32-bit ISN | ||||
generator, whose lower bit is incremented roughly every 4 microseconds. However, | ||||
such an ISN generator makes it trivial to predict the ISN that a TCP will use f | ||||
or new connections, thus allowing a variety of attacks against TCP. | ||||
</t> | ||||
<t hangText="February 1985:"> | ||||
<vspace blankLines="0" /><xref target="Morris1985"/> was the first to describe h | ||||
ow to exploit predictable TCP ISNs for forging TCP connections that could then b | ||||
e leveraged for trust relationship exploitation. | ||||
</t> | ||||
<t hangText="April 1989:"> | ||||
<vspace blankLines="0" /><xref target="Bellovin1989"/> discussed the security co | ||||
nsiderations for predictable ISNs (along with a range of other protocol-based vu | ||||
lnerabilities). | ||||
</t> | ||||
<t hangText="February 1995:"> | ||||
<vspace blankLines="0" /><xref target="Shimomura1995"/> reported a real-world ex | ||||
ploitation of the attack described in <xref target="Morris1985"/> ten years befo | ||||
re (in 1985). | ||||
</t> | ||||
<t hangText="May 1996:"> | ||||
<vspace blankLines="0" /><xref target="RFC1948"/> was the first IETF effort, aut | ||||
hored by Steven Bellovin, to address predictable TCP ISNs. However, <xref target | ||||
="RFC1948"/> does not formally update <xref target="RFC0793"/>. The same concept | ||||
specified in this document for TCP ISNs was later proposed for TCP ephemeral po | ||||
rts <xref target="RFC6056"/>, TCP Timestamps, and eventually even IPv6 Interface | ||||
Identifiers <xref target="RFC7217"/>. | ||||
</t> | ||||
<t hangText="July 1996:"> | ||||
<vspace blankLines="0" />OpenBSD implements TCP ISN randomization based on rando | ||||
m increments (please see Appendix A.2 of <xref target="I-D.irtf-pearg-numeric-id | ||||
s-generation"/>) <xref target="OpenBSD-TCP-ISN-I"/>. <!-- This feature eventuall | ||||
y shipped with OpenBSD 2.0. --> | ||||
</t> | ||||
<t hangText="December 2000:"> | ||||
<vspace blankLines="0" />OpenBSD implements TCP ISN randomization using simple r | ||||
andomization (please see Section 7.1 of <xref target="I-D.irtf-pearg-numeric-ids | ||||
-generation"/>) <xref target="OpenBSD-TCP-ISN-R"/>. <!-- This feature eventuall | ||||
y shipped with OpenBSD 2.9. --> | ||||
</t> | ||||
<t hangText="March 2001:"> | ||||
<vspace blankLines="0" /><xref target="Zalewski2001"/> provides a detailed analy | ||||
sis of statistical weaknesses in some ISN generators, and includes a survey of t | ||||
he algorithms in use by popular TCP implementations. | ||||
</t> | ||||
<t hangText="May 2001:"> | ||||
<vspace blankLines="0" />Vulnerability advisories <xref target="CERT2001"/> <xre | ||||
f target="USCERT2001"/> were released regarding statistical weaknesses in some I | ||||
SN generators, affecting popular TCP implementations. | ||||
</t> | ||||
<t hangText="March 2002:"> | ||||
<vspace blankLines="0" /><xref target="Zalewski2002"/> updates and complements < | ||||
xref target="Zalewski2001"/>. It concludes that "while some vendors [...] reacte | ||||
d promptly and tested their solutions properly, many still either ignored the is | ||||
sue and never evaluated their implementations, or implemented a flawed solution | ||||
that apparently was not tested using a known approach" <xref target="Zalewski200 | ||||
2"/>. | ||||
</t> | ||||
<t hangText="June 2007:"> | ||||
<vspace blankLines="0" />OpenBSD implements TCP ISN randomization based on the a | ||||
lgorithm specified in <xref target="RFC1948"/> (currently obsoleted and replaced | ||||
by <xref target="RFC6528"/>) for the TCP endpoint that performs the active open | ||||
, while keeping the simple randomization scheme for the endpoint performing the | ||||
passive open <xref target="OpenBSD-TCP-ISN-H"/>. This provides monotonically-inc | ||||
reasing ISNs for the client side (allowing the BSD heuristics to work as expecte | ||||
d), while avoiding any patterns in the ISN generation for the server side.<!-- T | ||||
his feature eventually shipped with OpenBSD 4.2. --> | ||||
</t> | ||||
<t hangText="February 2012:"> | ||||
<vspace blankLines="0" /><xref target="RFC6528"/>, published 27 years after Morr | ||||
is' original work <xref target="Morris1985"/>, formally updates <xref target="RF | ||||
C0793"/> to mitigate predictable TCP ISNs. | ||||
</t> | ||||
<t hangText="August 2014:"> | ||||
<vspace blankLines="0" /><xref target="I-D.eddy-rfc793bis-04"/>, the upcoming re | ||||
vision of the core TCP protocol specification, incorporates the algorithm specif | ||||
ied in <xref target="RFC6528"/> as the recommended ("SHOULD") algorithm for TCP | ||||
ISN generation. | ||||
</t> | ||||
</list> | ||||
</t> | ||||
</section> | ||||
<section title="IPv6 Interface Identifiers (IIDs)" anchor="ipv6-iids"> | ||||
<t>IPv6 Interface Identifiers can be generated as a result of different mechanis | ||||
ms, including SLAAC <xref target="RFC4862"/>, DHCPv6 <xref target="RFC8415"/>, a | ||||
nd manual configuration. This section focuses on Interface Identifiers resulting | ||||
from SLAAC.</t> | ||||
<t>The Interface Identifier of stable (traditional) IPv6 addresses resulting fro | ||||
m SLAAC have traditionally resulted in the underlying link-layer address being e | ||||
mbedded in the IID.<!-- IPv6 addresses resulting from SLAAC are currently requir | ||||
ed to employ Modified EUI-64 format identifiers, which essentially embed the und | ||||
erlying link-layer address of the corresponding network interface. --> At the t | ||||
ime, employing the underlying link-layer address for the IID was seen as a conve | ||||
nient way to obtain a unique address. However, recent awareness about the securi | ||||
ty and privacy properties of this approach <xref target="RFC7707"/> <xref target | ||||
="RFC7721"/> has led to the replacement of this flawed scheme with an alternativ | ||||
e one <xref target="RFC7217"/> <xref target="RFC8064"/> that does not negatively | ||||
affect the security and privacy properties of the protocol. | ||||
</t> | ||||
<t> | ||||
<list style="hanging"> | ||||
<t hangText="January 1997:"> | ||||
<vspace blankLines="0" /><xref target="RFC2073"/> specifies the syntax of IPv6 g | ||||
lobal addresses (referred to as "An IPv6 Provider-Based Unicast Address Format" | ||||
at the time), consistent with the IPv6 addressing architecture specified in <xre | ||||
f target="RFC1884"/>. Hosts are recommended to "generate addresses using link-sp | ||||
ecific addresses as Interface ID such as 48 bit IEEE-802 MAC addresses". | ||||
</t> | ||||
<t hangText="July 1998:"> | ||||
<vspace blankLines="0" /><xref target="RFC2374"/> specifies "An IPv6 Aggregatabl | ||||
e Global Unicast Address Format" (obsoleting <xref target="RFC2373"/>) changing | ||||
the size of the IID to 64 bits, and specifies that IIDs must be constructed in I | ||||
EEE EUI-64 format. How such identifiers are constructed becomes specified in the | ||||
corresponding "IPv6 over <link>" specifications, such as "IPv6 over Ether | ||||
net". | ||||
</t> | ||||
<t hangText="January 2001:"> | ||||
<vspace blankLines="0" /><xref target="RFC3041"/> recognizes the problem of netw | ||||
ork activity correlation, and specifies temporary addresses. Temporary addresses | ||||
are to be used along with stable addresses. | ||||
</t> | ||||
<t hangText="August 2003:"> | ||||
<vspace blankLines="0" /><xref target="RFC3587"/> obsoletes <xref target="RFC237 | ||||
4"/>, making the TLA/NLA structure historic. The syntax and recommendations for | ||||
the traditional stable IIDs remain unchanged, though. | ||||
</t> | ||||
<t hangText="February 2006:"> | ||||
<vspace blankLines="0" /><xref target="RFC4291"/> is published as the latest "IP | ||||
Version 6 Addressing Architecture", requiring the IIDs of the traditional (stab | ||||
le) IPv6 addresses resulting from SLAAC to employ the Modified EUI-64 format. Th | ||||
e details of constructing such interface identifiers are defined in the correspo | ||||
nding "IPv6 over <link>" specifications. | ||||
</t> | ||||
<t hangText="March 2008:"> | ||||
<vspace blankLines="0" /><xref target="RFC5157"/> provides hints regarding how p | ||||
atterns in IPv6 addresses could be leveraged for the purpose of address scanning | ||||
. | ||||
</t> | ||||
<t hangText="December 2011:"> | ||||
<vspace blankLines="0" /><xref target="draft-gont-6man-stable-privacy-addresses- | ||||
00"/> notes that the traditional scheme for generating stable addresses allows f | ||||
or address scanning, and also does not prevent active node tracking. It also spe | ||||
cifies an alternative algorithm meant to replace IIDs based on Modified EUI-64 f | ||||
ormat identifiers. | ||||
</t> | ||||
<t hangText="November 2012:"> | ||||
<vspace blankLines="0" />The 6man WG adopts <xref target="I-D.gont-6man-stable-p | ||||
rivacy-addresses"/> as a working group item (as <xref target="draft-ietf-6man-st | ||||
able-privacy-addresses-00"/>). However, the document no longer formally updates | ||||
<xref target="RFC4291"/>, and therefore the specified algorithm no longer formal | ||||
ly replaces the Modified EUI-64 format identifiers. | ||||
</t> | ||||
<t hangText="February 2013:"> | ||||
<vspace blankLines="0" />An address-scanning tool (scan6 of <xref target="IPv6-T | ||||
oolkit"/>) that leverages IPv6 address patterns is released <xref target="Gont20 | ||||
13"/>. | ||||
</t> | ||||
<t hangText="July 2013:"> | ||||
<vspace blankLines="0" /><xref target="I-D.cooper-6man-ipv6-address-generation-p | ||||
rivacy"/> elaborates on the security and privacy properties of all known algorit | ||||
hms for generating IPv6 IIDs. | ||||
</t> | ||||
<t hangText="January 2014:"> | ||||
<vspace blankLines="0" />The 6man WG publishes <xref target="draft-ietf-6man-def | ||||
ault-iids-00"/> ("Recommendation on Stable IPv6 Interface Identifiers"), recomme | ||||
nding <xref target="I-D.ietf-6man-stable-privacy-addresses"/> for the generation | ||||
of stable addresses. | ||||
</t> | ||||
<t hangText="April 2014:"> | ||||
<vspace blankLines="0" /><xref target="RFC7217"/> (formerly <xref target="I-D.ie | ||||
tf-6man-stable-privacy-addresses"/>) is published, specifying "A Method for Gene | ||||
rating Semantically Opaque Interface Identifiers with IPv6 Stateless Address Aut | ||||
oconfiguration (SLAAC)" as an alternative to (but *not* replacement of) Modified | ||||
EUI-64 format IIDs. | ||||
</t> | ||||
<t hangText="March 2016:"> | ||||
<vspace blankLines="0" /><xref target="RFC7707"/> (formerly <xref target="I-D.go | ||||
nt-opsec-ipv6-host-scanning"/>, and later <xref target="I-D.ietf-opsec-ipv6-host | ||||
-scanning"/>), about "Network Reconnaissance in IPv6 Networks", is published. | ||||
</t> | ||||
<t hangText="March 2016:"> | ||||
<vspace blankLines="0" /><xref target="RFC7721"/> (formerly <xref target="I-D.co | ||||
oper-6man-ipv6-address-generation-privacy"/> and later <xref target="I-D.ietf-6m | ||||
an-ipv6-address-generation-privacy"/>), about "Security and Privacy Consideratio | ||||
ns for IPv6 Address Generation Mechanisms", is published. | ||||
</t> | ||||
<t hangText="May 2016:"> | ||||
<vspace blankLines="0" /><xref target="draft-gont-6man-non-stable-iids-00"/> is | ||||
published, with the goal of specifying requirements for non-stable addresses, an | ||||
d updating <xref target="RFC4941"/> such that use of only temporary addresses is | ||||
allowed. | ||||
</t> | ||||
<t hangText="May 2016:"> | ||||
<vspace blankLines="0" /><xref target="draft-gont-6man-address-usage-recommendat | ||||
ions-00"/> is published, providing an analysis of how different aspects on an ad | ||||
dress (from stability to usage mode) affect their corresponding security and pri | ||||
vacy properties, and meaning to eventually provide advice in this area. | ||||
</t> | ||||
<t hangText="February 2017:"> | ||||
<vspace blankLines="0" />The 6man WG publishes <xref target="RFC8064"/> ("Recomm | ||||
endation on Stable IPv6 Interface Identifiers") (formerly <xref target="I-D.ietf | ||||
-6man-default-iids"/>), with requirements for stable addresses and a recommendat | ||||
ion to employ <xref target="RFC7217"/> for the generation of stable addresses. I | ||||
t formally updates a large number of RFCs. | ||||
</t> | ||||
<t hangText="March 2018:"> | ||||
<vspace blankLines="0" /><xref target="draft-fgont-6man-rfc4941bis-00"/> is publ | ||||
ished (as suggested by the 6man WG), to address flaws in <xref target="RFC4941"/ | ||||
> by revising it (as an alternative to the <xref target="draft-gont-6man-non-sta | ||||
ble-iids-00"/> effort, published in March 2016). | ||||
</t> | ||||
<t hangText="July 2018:"> | ||||
<vspace blankLines="0" /><xref target="draft-fgont-6man-rfc4941bis-00"/> is adop | ||||
ted (as <xref target="draft-ietf-6man-rfc4941bis-00"/>) as a WG item of the 6man | ||||
WG. | ||||
</t> | ||||
<t hangText="December 2020:"> | ||||
<vspace blankLines="0" /><xref target="I-D.ietf-6man-rfc4941bis"/> is approved b | ||||
y the IESG for publication as an RFC. | ||||
</t> | ||||
<t hangText="February 2021:"> | ||||
<vspace blankLines="0" /><xref target="I-D.ietf-6man-rfc4941bis"/> is finally pu | ||||
blished as <xref target="RFC8981"/>. | ||||
</t> | ||||
</list> | ||||
</t> | ||||
</section> | ||||
<section title="NTP Reference IDs (REFIDs)" anchor="ntp-refid"> | ||||
<t>The NTP <xref target="RFC5905"/> Reference ID is a 32-bit code identifying th | ||||
e particular server or reference clock. Above stratum 1 (secondary servers and c | ||||
lients), this value can be employed to avoid degree-one timing loops; that is, s | ||||
cenarios where two NTP peers are (mutually) the time source of each other. If us | ||||
ing the IPv4 address family, the identifier is the four-octet IPv4 address. If | ||||
using the IPv6 address family, it is the first four octets of the MD5 hash of th | ||||
e IPv6 address.</t> | ||||
<t> | ||||
<list style="hanging"> | ||||
<t hangText="June 2010:"> | ||||
<vspace blankLines="0" /><xref target="RFC5905"/>, "Network Time Protocol Versio | ||||
n 4: Protocol and Algorithms Specification" is published. It specifies that for | ||||
NTP peers with stratum higher than 1 the REFID embeds the IPv4 Address of the ti | ||||
me source or an MD5 hash of the IPv6 address of the time source. | ||||
</t> | ||||
<t hangText="July 2016:"> | ||||
<vspace blankLines="0" /><xref target="draft-stenn-ntp-not-you-refid-00"/> is pu | ||||
blished, describing the information leakage produced via the NTP REFID. It propo | ||||
ses that NTP returns a special REFID when a packet employs an IP Source Address | ||||
that is not believed to be a current NTP peer, but otherwise generates and retur | ||||
ns the traditional REFID. It is subsequently adopted by the NTP WG as <xref targ | ||||
et="I-D.ietf-ntp-refid-updates"/>. | ||||
</t> | ||||
<t hangText="April 2019:"> | ||||
<vspace blankLines="0" /><xref target="Gont-NTP"/> notes that the proposed fix s | ||||
pecified in <xref target="draft-ietf-ntp-refid-updates-00"/> is, at the very lea | ||||
st, sub-optimal. As a result of lack of WG support, the effort is eventually aba | ||||
ndoned. | ||||
</t> | ||||
</list> | ||||
</t> | ||||
</section> | ||||
<section title="Transport Protocol Ephemeral Port Numbers" anchor="port-numbers" | ||||
> | ||||
<t>Most (if not all) transport protocols employ "port numbers" to demultiplex pa | ||||
ckets to the corresponding transport protocol instances.</t> | ||||
<!-- [fgont] esto hay que expandirlo, como en los otros casos --> | ||||
<t> | ||||
<list style="hanging"> | ||||
<t hangText="August 1980:"> | ||||
<vspace blankLines="0" /><xref target="RFC0768"/> notes that the UDP source port | ||||
is optional and identifies the port of the sending process. It does not specify | ||||
interoperability requirements for source port selection, nor does it suggest po | ||||
ssible ways to select port numbers. Most popular implementations end up selectin | ||||
g source ports from a system-wide global counter.</t> | ||||
<t hangText="September 1981:"> | ||||
<vspace blankLines="0" /><xref target="RFC0793"/> (the TCP specification) essent | ||||
ially describes the use of port numbers, and specifies that port numbers should | ||||
result in a unique socket pair (local address, local port, remote address, remot | ||||
e port). How ephemeral ports (i.e. port numbers for "active opens") are selected | ||||
, and the port range from which they are selected, are left unspecified. | ||||
</t> | ||||
<t hangText="July 1996:"> | ||||
<vspace blankLines="0" />OpenBSD implements ephemeral port randomization <xref t | ||||
arget="OpenBSD-PR"/>.<!-- This feature eventually shipped with OpenBSD 2.0.--> | ||||
</t> | ||||
<t hangText="July 2008:"> | ||||
<vspace blankLines="0" />The CERT Coordination Centre published details of what | ||||
became known as the "Kaminsky Attack" <xref target="VU-800113"/> <xref | ||||
target="Kaminsky2008"/> on the DNS. The attack exploited the lack of source por | ||||
t randomization in many major DNS implementations to perform cache poisoning in | ||||
an effective and practical manner. | ||||
</t> | ||||
<t hangText="January 2009:"> | ||||
<vspace blankLines="0" /><xref target="RFC5452"/> mandates the use of port rando | ||||
mization for DNS resolvers, and mandates that implementations must randomize por | ||||
ts from the range (53 or 1024, and above) or the largest possible port range. It | ||||
does not recommend possible algorithms for port randomization, although the doc | ||||
ument specifically targets DNS resolvers, for which a simple port randomization | ||||
suffices (e.g. Algorithm 1 of <xref target="RFC6056"/>). This document led to th | ||||
e implementation of port randomization in the DNS resolver themselves, rather th | ||||
an in the underlying transport-protocols. | ||||
</t> | </t> | |||
</section> | ||||
<t hangText="January 2011:"> | <section anchor="threat-model" numbered="true" toc="default"> | |||
<vspace blankLines="0" /><xref target="RFC6056"/> notes that many TCP and UDP im | <name>Threat Model</name> | |||
plementations result in predictable port numbers, and also notes that many imple | ||||
mentations select port numbers from a small portion of the whole port number spa | ||||
ce. It recommends the implementation and use of ephemeral port randomization, pr | ||||
oposes a number of possible algorithms for port randomization, and also recommen | ||||
ds to randomize port numbers over the range 1024-65535. | ||||
</t> | ||||
<t hangText="March 2016:"> | <t>Throughout this document, we do not consider on-path attacks. That is, we ass | |||
<vspace blankLines="0" /><xref target="NIST-NTP"/> reports a non-normal distribu | ume the attacker does not have physical or logical access to the system(s) being | |||
tion of the ephemeral port numbers employed by the NTP clients of an Internet Ti | attacked and that the attacker can only observe traffic explicitly directed to | |||
me Service. | the attacker. Similarly, an attacker cannot observe traffic transferred between | |||
the sender and the receiver(s) of a target protocol but may be able to interact | ||||
with any of these entities, including by, e.g., sending any traffic to them to s | ||||
ample transient numeric identifiers employed by the target hosts when communicat | ||||
ing with the attacker. | ||||
</t> | </t> | |||
<t hangText="April 2019:"> | <t>For example, when analyzing vulnerabilities associated with TCP Initial | |||
<vspace blankLines="0" /><xref target="I-D.gont-ntp-port-randomization"/> notes | Sequence Numbers (ISNs), we consider the attacker is unable to capture network | |||
that some NTP implementations employ the NTP service port (123) as the local por | traffic corresponding to a TCP connection between two other hosts. However, we c | |||
t for non-symmetric modes, and aims to update the NTP specification to recommend | onsider the attacker is able to communicate with any of these hosts (e.g., estab | |||
port randomization in such cases, in line with <xref target="RFC6056"/>. The pr | lish a TCP connection with any of them) to, e.g., sample the TCP ISNs employed b | |||
oposal experiences some push-back in the relevant working group (NTP WG) <xref t | y these hosts when communicating with the attacker.</t> | |||
arget="NTP-PORTR"/>, but is finally adopted as a working group item as <xref tar | <t>Similarly, when considering host-tracking attacks based on IPv6 Interfa | |||
get="I-D.ietf-ntp-port-randomization"/>. | ce Identifiers, we consider an attacker may learn the IPv6 address employed by a | |||
victim host if, e.g., the address becomes exposed as a result of the victim hos | ||||
t communicating with an attacker-operated server. Subsequently, an attacker may | ||||
perform host-tracking by probing a set of target addresses composed by a set of | ||||
target prefixes and the IPv6 Interface Identifier originally learned by the atta | ||||
cker. | ||||
Alternatively, an attacker may perform host-tracking if, e.g., the victim | ||||
host communicates with an attacker-operated server as it moves from one location | ||||
to another, thereby exposing its configured addresses. We note that none of the | ||||
se scenarios require the attacker observe traffic not explicitly directed to the | ||||
attacker. | ||||
</t> | </t> | |||
</section> | ||||
<section anchor="issues" numbered="true" toc="default"> | ||||
<name>Issues with the Specification of Transient Numeric Identifiers</name | ||||
> | ||||
<t>While assessing IETF protocol specifications regarding the use of trans | ||||
ient numeric identifiers, we have found that most of the issues discussed in thi | ||||
s document arise as a result of one of the following conditions: | ||||
<t hangText="August 2021:"> | ||||
<vspace blankLines="0" /><xref target="I-D.ietf-ntp-port-randomization"/> is fin | ||||
ally published as <xref target="RFC9109"/>. | ||||
</t> | ||||
</list> | ||||
</t> | </t> | |||
<ul spacing="normal"> | ||||
<li>protocol specifications that under specify their transient numeric i | ||||
dentifiers</li> | ||||
<li>protocol specifications that over specify their transient numeric id | ||||
entifiers</li> | ||||
<li>protocol implementations that simply fail to comply with the specifi | ||||
ed requirements</li> | ||||
</ul> | ||||
<t>A number of IETF protocol specifications under specified their transien | ||||
t numeric identifiers, thus leading to implementations that were vulnerable to n | ||||
umerous off-path | ||||
attacks. Examples of them are the specification of TCP local ports in <xref t | ||||
arget="RFC0793" format="default"/> or the specification of the DNS ID in <xref t | ||||
arget="RFC1035" format="default"/>.</t> | ||||
</section> | <aside><t>NOTE: The TCP local port in an active OPEN request is commonly known a | |||
s the "ephemeral port" of the corresponding TCP connection <xref target="RFC6056 | ||||
<section title="DNS Query ID" anchor="dns-query-id"> | " format="default"/>.</t></aside> | |||
<t>The DNS Query ID <xref target="RFC1035"/> can be employed to match DNS replie | ||||
s to outstanding DNS queries. | ||||
<list style="hanging"> | ||||
<t hangText="November 1987:"> | ||||
<vspace blankLines="0" /><xref target="RFC1035"/> specifies that the ID is a 16 | ||||
bit identifier assigned by the program that | ||||
generates any kind of query, and that this identifier is copied in the correspon | ||||
ding reply and can be used by the requester to match up replies to outstanding q | ||||
ueries. It does not specify the interoperability requirements for these numeric | ||||
identifiers, nor does it suggest an algorithm for generating them.</t> | ||||
<t hangText="1993:"> | ||||
<vspace blankLines="0" /><xref target="Schuba1993"/> describes DNS cache poisoni | ||||
ng attacks that require the attacker to guess the Query ID.</t> | ||||
<t hangText="June 1995:"> | ||||
<vspace blankLines="0" /><xref target="Vixie1995"/> suggests that both the UDP s | ||||
ource port and the ID of query packets should be randomized, although that might | ||||
not provide enough entropy to prevent an attacker from guessing these values.</ | ||||
t> | ||||
<t hangText="April 1997:"> | ||||
<vspace blankLines="0" /><xref target="Arce1997"/> finds that implementations em | ||||
ploy predictable UDP source ports and predictable Query IDs, and argues that bot | ||||
h should be randomized.</t> | ||||
<t hangText="November 2002:"> | ||||
<vspace blankLines="0" /><xref target="Sacramento2002"/> finds that by spoofing | ||||
multiple requests for the same domain name from different IP addresses, an attac | ||||
ker may guess the Query ID employed for a victim with a high probability of succ | ||||
ess, thus performing DNS cache poisoning attacks.</t> | ||||
<t hangText="July 2007:"> | <t>On the other hand, there are a number of IETF protocol specifications t | |||
<vspace blankLines="0" /><xref target="Klein2007b"/> finds that a popular DNS se | hat over specify some of their associated transient numeric identifiers. For exa | |||
rver software (BIND 9) that randomizes the Query ID is still subject to DNS cach | mple, <xref target="RFC4291" format="default"/> essentially overloads the semant | |||
e poisoning attacks by forging a large number of queries and leveraging the birt | ics of IPv6 Interface Identifiers (IIDs) by embedding link-layer addresses in th | |||
hday paradox. | e IPv6 IIDs when the interoperability requirement of uniqueness could be achieve | |||
d in other ways that do not result in negative security and privacy implications | ||||
<xref target="RFC7721" format="default"/>. Similarly, <xref target="RFC2460" fo | ||||
rmat="default"/> suggests the use of a global counter for the generation of Iden | ||||
tification values when the interoperability requirement of uniqueness per {IPv6 | ||||
Source Address, IPv6 Destination Address} could be achieved with other algorithm | ||||
s that do not result in negative security and privacy implications <xref target= | ||||
"RFC7739" format="default"/>.</t> | ||||
<t>Finally, there are protocol implementations that simply fail to comply | ||||
with existing protocol specifications. For example, some popular operating syste | ||||
ms still fail to implement transport-protocol ephemeral port randomization, as r | ||||
ecommended in <xref target="RFC6056" format="default"/>, or TCP Initial Sequence | ||||
Number randomization, as recommended in <xref target="RFC9293"/>.</t> | ||||
<t>The following subsections document the timelines for a number of sample | ||||
transient numeric identifiers that illustrate how the problem discussed in this | ||||
document has affected protocols from different layers over time. These sample t | ||||
ransient numeric identifiers have different interoperability requirements and fa | ||||
ilure severities (see <xref target="RFC9415" section="6" sectionFormat="of" form | ||||
at="default"/>), and thus are considered to be representative of the problem bei | ||||
ng analyzed in this document.</t> | ||||
<section anchor="ipid" numbered="true" toc="default"> | ||||
<name>IPv4/IPv6 Identification</name> | ||||
<t>This section presents the timeline of the Identification field employ | ||||
ed by IPv4 (in the base header) and IPv6 (in Fragment Headers). The reason for p | ||||
resenting both cases in the same section is to make it evident that, while the I | ||||
dentification value serves the same purpose in both protocols, the work and rese | ||||
arch done for the IPv4 case did not influence IPv6 specifications or implementat | ||||
ions.</t> | ||||
<t>The IPv4 Identification is specified in <xref target="RFC0791" format | ||||
="default"/>, which specifies the interoperability requirements for the Identifi | ||||
cation field, i.e., the sender must choose the Identification field to be unique | ||||
for a given {Source Address, Destination Address, Protocol} for the time the da | ||||
tagram (or any fragment of it) could be alive in the Internet. It suggests that | ||||
a sending protocol module may keep "a table of Identifiers, one entry for each | ||||
destination it has communicated with in the last maximum packet lifetime for the | ||||
[I]nternet", and it also suggests that "since the Identifier field allows 65,53 | ||||
6 different values, hosts may be able to simply use unique identifiers independe | ||||
nt of destination". The above has been interpreted numerous times as a suggestio | ||||
n to employ per-destination or global counters for the generation of Identificat | ||||
ion values. While <xref target="RFC0791" format="default"/> does not suggest any | ||||
flawed algorithm for the generation of Identification values, the specification | ||||
omits a discussion of the security and privacy implications of predictable Iden | ||||
tification values. This resulted in many IPv4 implementations generating predict | ||||
able Identification values by means of a global counter, at least at some point | ||||
in time. | ||||
</t> | </t> | |||
<t> | ||||
<t hangText="March 2007:"> | The IPv6 Identification was originally specified in <xref target="RFC1883" forma | |||
<vspace blankLines="0" /><xref target="Klein2007c"/> finds that Microsoft Window | t="default"/>. It serves the same purpose as its IPv4 counterpart, but rather th | |||
s DNS Server generates predictable Query ID values. | an being part of the base header (as in the IPv4 case), it is part of the Fragme | |||
nt Header (which may or may not be present in an IPv6 packet). <xref target="RFC | ||||
1883" format="default" sectionFormat="of" section ="4.5"/> states that the Ident | ||||
ification must be different than that of any other fragmented packet sent recent | ||||
ly (within the maximum likely lifetime of a packet) with the same Source Address | ||||
and Destination Address. Subsequently, it notes that this requirement can be me | ||||
t by means of a wrap-around 32-bit counter that is incremented each time a packe | ||||
t must be fragmented and that it is an implementation choice whether to use a gl | ||||
obal or a per-destination counter. Thus, the specification of the IPv6 Identific | ||||
ation is similar to that of the IPv4 case, with the only difference that, in the | ||||
IPv6 case, the suggestions to use simple counters is more explicit. <xref targe | ||||
t="RFC2460" format="default"/> is the first revision of the core IPv6 specificat | ||||
ion and maintains the same text for the specification of the IPv6 Identification | ||||
field. <xref target="RFC8200" format="default"/>, the second revision of the co | ||||
re IPv6 specification, removes the suggestion from <xref target="RFC2460" format | ||||
="default"/> to use a counter for the generation of IPv6 Identification values a | ||||
nd points to <xref target="RFC7739" format="default"/> for sample algorithms for | ||||
their generation. | ||||
</t> | </t> | |||
<dl newline="true" spacing="normal"> | ||||
<dt>September 1981:</dt> | ||||
<dd> | ||||
<xref target="RFC0791" format="default"/> specifies the interoperabi | ||||
lity requirements for the IPv4 Identification but does not perform a vulnerabili | ||||
ty assessment of this transient numeric identifier. | ||||
</dd> | ||||
<dt>December 1995:</dt> | ||||
<dd> | ||||
<xref target="RFC1883" format="default"/>, the first specification o | ||||
f the IPv6 protocol, is published. It suggests that a counter be used to generat | ||||
e the IPv6 Identification values and notes that it is an implementation choice w | ||||
hether to maintain a single counter for the node or multiple counters (e.g., one | ||||
for each of the node's possible Source Addresses, or one for each active {Sourc | ||||
e Address, Destination Address} set). | ||||
</dd> | ||||
<dt>December 1998:</dt> | ||||
<dd> | ||||
<xref target="Sanfilippo1998a" format="default"/> finds that predict | ||||
able IPv4 Identification values (as generated by most popular implementations) c | ||||
an be leveraged to count the number of packets sent by a target node. <xref targ | ||||
et="Sanfilippo1998b" format="default"/> explains how to leverage the same vulner | ||||
ability to implement a port-scanning technique known as "idle scan". A tool that | ||||
implements this attack is publicly released. | ||||
</dd> | ||||
<dt>December 1998:</dt> | ||||
<dd> | ||||
<xref target="RFC2460" format="default"/>, a revision of the IPv6 sp | ||||
ecification, is published, obsoleting <xref target="RFC1883" format="default"/>. | ||||
It maintains the same specification of the IPv6 Identification field as its pre | ||||
decessor <xref target="RFC1883" format="default"/>. | ||||
</dd> | ||||
<dt>December 1998:</dt> | ||||
<dd>OpenBSD implements randomization of the IPv4 Identification field | ||||
<xref target="OpenBSD-IPv4-ID" format="default"/>. | ||||
</dd> | ||||
<dt>November 1999:</dt> | ||||
<dd> | ||||
<xref target="Sanfilippo1999" format="default"/> discusses how to le | ||||
verage predictable IPv4 Identification values to uncover the rules of a number o | ||||
f firewalls. | ||||
</dd> | ||||
<dt>September 2002:</dt> | ||||
<dd> | ||||
<xref target="Fyodor2002" format="default"/> documents the implement | ||||
ation of the "idle scan" technique in the popular Network Mapper (nmap) tool. | ||||
</dd> | ||||
<dt>November 2002:</dt> | ||||
<dd> | ||||
<xref target="Bellovin2002" format="default"/> explains how the IPv4 | ||||
Identification field can be exploited to count the number of systems behind a N | ||||
AT. | ||||
</dd> | ||||
<dt>October 2003:</dt> | ||||
<dd>OpenBSD implements randomization of the IPv6 Identification field | ||||
<xref target="OpenBSD-IPv6-ID" format="default"/>. | ||||
</dd> | ||||
<dt>December 2003:</dt> | ||||
<dd> | ||||
<xref target="Zalewski2003" format="default"/> explains a technique | ||||
to perform TCP data injection attacks based on predictable IPv4 Identification v | ||||
alues, which requires less effort than TCP injection attacks performed with bare | ||||
TCP packets. | ||||
</dd> | ||||
<dt>January 2005:</dt> | ||||
<dd> | ||||
<xref target="Silbersack2005" format="default"/> discusses shortcomi | ||||
ngs in a number of techniques to mitigate predictable IPv4 Identification values | ||||
. | ||||
</dd> | ||||
<dt>October 2007:</dt> | ||||
<dd> | ||||
<xref target="Klein2007" format="default"/> describes a weakness in | ||||
the pseudorandom number generator (PRNG) in use for the generation of IP Identif | ||||
ication values by a number of operating systems. | ||||
</dd> | ||||
<dt>June 2011:</dt> | ||||
<dd> | ||||
<xref target="Gont2011" format="default"/> describes how to perform | ||||
idle scan attacks in IPv6. | ||||
</dd> | ||||
<dt>November 2011:</dt> | ||||
<dd>Linux mitigates predictable IPv6 Identification values <xref targe | ||||
t="RedHat2011" format="default"/> <xref target="SUSE2011" format="default"/> <xr | ||||
ef target="Ubuntu2011" format="default"/>. | ||||
</dd> | ||||
<dt>December 2011:</dt> | ||||
<dd> | ||||
<xref target="draft-gont-6man-predictable-fragment-id-00" format="de | ||||
fault"/> describes the security implications of predictable IPv6 Identification | ||||
values and possible mitigations. This document has the intended status of "Stand | ||||
ards Track", with the intention to formally update <xref target="RFC2460" format | ||||
="default"/> to introduce security and privacy requirements on the generation of | ||||
IPv6 Identification values. | ||||
</dd> | ||||
<dt>May 2012:</dt> | ||||
<dd> | ||||
<xref target="Gont2012" format="default"/> notes that some major IPv | ||||
6 implementations still employ predictable IPv6 Identification values. | ||||
</dd> | ||||
<t hangText="October 2007:"> | <dt>March 2013:</dt> | |||
<vspace blankLines="0" /><xref target="Klein2007"/> finds that OpenBSD's DNS sof | <dd>The 6man WG adopts <xref target="draft-gont-6man-predictable-fragm | |||
tware (based on ISC's BIND DNS Server) generates predictable Query ID values. | ent-id-03" format="default"/> but changes the track to "BCP" (while still formal | |||
</t> | ly updating <xref target="RFC2460" format="default"/>), posting the resulting do | |||
cument as <xref target="draft-ietf-6man-predictable-fragment-id-00" format="defa | ||||
ult"/>. | ||||
</dd> | ||||
<dt>June 2013:</dt> | ||||
<dd>A patch to incorporate support for IPv6-based idle scans in nmap i | ||||
s submitted <xref target="Morbitzer2013" format="default"/>. | ||||
</dd> | ||||
<dt>December 2014:</dt> | ||||
<dd>The 6man WG changes the intended status of <xref target="draft-iet | ||||
f-6man-predictable-fragment-id-01" format="default"/> to "Informational" and pos | ||||
ts it as <xref target="draft-ietf-6man-predictable-fragment-id-02" format="defau | ||||
lt"/>. As a result, it no longer formally updates <xref target="RFC2460" format= | ||||
"default"/>, and security and privacy requirements on the generation of IPv6 Ide | ||||
ntification values are eliminated. | ||||
</dd> | ||||
<dt>June 2015:</dt> | ||||
<dd> | ||||
<xref target="draft-ietf-6man-predictable-fragment-id-08" format="de | ||||
fault"/> notes that some popular host and router implementations still employ pr | ||||
edictable IPv6 Identification values. | ||||
</dd> | ||||
<dt>February 2016:</dt> | ||||
<dd> | ||||
<xref target="RFC7739" format="default"/> (based on <xref target="dr | ||||
aft-ietf-6man-predictable-fragment-id-10" format="default"/>) analyzes the secur | ||||
ity and privacy implications of predictable IPv6 Identification values and provi | ||||
des guidance for selecting an algorithm to generate such values. However, being | ||||
published as an "Informational" RFC, it does not formally update <xref target="R | ||||
FC2460" format="default"/> and does not introduce security and privacy requireme | ||||
nts on the generation of IPv6 Identification values. | ||||
</dd> | ||||
<dt>June 2016:</dt> | ||||
<dd> | ||||
<xref target="draft-ietf-6man-rfc2460bis-05" format="default"/>, a d | ||||
raft revision of <xref target="RFC2460" format="default"/>, removes the suggesti | ||||
on from <xref target="RFC2460" format="default"/> to use a counter for the gener | ||||
ation of IPv6 Identification values but does not perform a vulnerability assessm | ||||
ent of the generation of IPv6 Identification values and does not introduce secur | ||||
ity and privacy requirements on the generation of IPv6 Identification values. | ||||
</dd> | ||||
<dt>July 2017:</dt> | ||||
<dd> | ||||
<xref target="draft-ietf-6man-rfc2460bis-13" format="default"/> is f | ||||
inally published as <xref target="RFC8200" format="default"/>, obsoleting <xref | ||||
target="RFC2460" format="default"/> and pointing to <xref target="RFC7739" forma | ||||
t="default"/> for sample algorithms for the generation of IPv6 Identification va | ||||
lues. However, it does not introduce security and privacy requirements on the ge | ||||
neration of IPv6 Identification values. | ||||
</dd> | ||||
<dt>October 2019:</dt> | ||||
<dd> | ||||
<xref target="IPID-DEV" format="default"/> notes that the IPv6 Ident | ||||
ification generators of two popular operating systems are flawed. | ||||
</dd> | ||||
</dl> | ||||
</section> | ||||
<section anchor="tcp-isns" numbered="true" toc="default"> | ||||
<name>TCP Initial Sequence Numbers (ISNs)</name> | ||||
<t> | ||||
<xref target="RFC0793" format="default"/> suggests that the choice of the ISN of | ||||
a connection is not arbitrary but aims to reduce the chances of a stale segment | ||||
from being accepted by a new incarnation of a previous connection. <xref target | ||||
="RFC0793" format="default"/> suggests the use of a global 32-bit ISN generator | ||||
that is incremented by 1 roughly every 4 microseconds. However, as a matter of f | ||||
act, protection against stale segments from a previous incarnation of the connec | ||||
tion is enforced by preventing the creation of a new incarnation of a previous c | ||||
onnection before 2*MSL has passed since a segment corresponding to the old incar | ||||
nation was last seen (where "MSL" is the "Maximum Segment Lifetime" <xref target | ||||
="RFC0793" format="default"/>). This is accomplished by the TIME-WAIT state and | ||||
TCP's "quiet time" concept (see <xref target="RFC1323" format="default" sectionF | ||||
ormat="of" section="B"/>). Based on the assumption that ISNs are monotonically i | ||||
ncreasing across connections, many stacks (e.g., 4.2BSD-derived) use the ISN of | ||||
an incoming SYN segment to perform "heuristics" that enable the creation of a ne | ||||
w incarnation of a connection while the previous incarnation is still in the TIM | ||||
E-WAIT state (see p. 945 of <xref target="Wright1994" format="default"/>). This | ||||
avoids an interoperability problem that may arise when a node establishes connec | ||||
tions to a specific TCP end-point at a high rate <xref target="Silbersack2005" f | ||||
ormat="default"/>.</t> | ||||
<t>The interoperability requirements for TCP ISNs are probably not as cl | ||||
early spelled out as one would expect. Furthermore, the suggestion of employing | ||||
a global counter in <xref target="RFC0793" format="default"/> negatively affects | ||||
the security and privacy properties of the protocol.</t> | ||||
<dl newline="true" spacing="normal"> | ||||
<dt>September 1981:</dt> | ||||
<dd> | ||||
<xref target="RFC0793" format="default"/> suggests the use of a glob | ||||
al 32-bit ISN | ||||
generator, whose lower bit is incremented roughly every 4 microseconds. However, | ||||
such an ISN generator makes it trivial to predict the ISN that a TCP implementa | ||||
tion will use for new connections, thus allowing a variety of attacks against TC | ||||
P. | ||||
</dd> | ||||
<t hangText="January 2009:"> | <dt>February 1985:</dt> | |||
<vspace blankLines="0" /><xref target="RFC5452"/> is published, requiring resolv | <dd> | |||
ers to randomize the Query ID of DNS queries, and to verify that the Query ID of | <xref target="Morris1985" format="default"/> is the first to describ | |||
a DNS reply matches that of the DNS query as part of the DNS reply validation p | e how to exploit predictable TCP ISNs for forging TCP connections that could the | |||
rocess. | n be leveraged for trust relationship exploitation. | |||
</t> | </dd> | |||
<dt>April 1989:</dt> | ||||
<dd> | ||||
<xref target="Bellovin1989" format="default"/> discusses the securit | ||||
y considerations for predictable ISNs (along with a range of other protocol-base | ||||
d vulnerabilities). | ||||
</dd> | ||||
<dt>January 1995:</dt> | ||||
<dd> | ||||
<xref target="Shimomura1995" format="default"/> reports a real-world | ||||
exploitation of the vulnerability described in <xref target="Morris1985" format | ||||
="default"/> ten years before (in 1985). | ||||
</dd> | ||||
<dt>May 1996:</dt> | ||||
<dd> | ||||
<xref target="RFC1948" format="default"/> is the first IETF effort, | ||||
authored by Steven Bellovin, to address predictable TCP ISNs. However, <xref tar | ||||
get="RFC1948" format="default"/> does not formally update <xref target="RFC0793" | ||||
format="default"/>. Note: The same concept specified in this document for TCP I | ||||
SNs was later proposed for TCP ephemeral ports <xref target="RFC6056" format="de | ||||
fault"/>, TCP Timestamps, and eventually even IPv6 Interface Identifiers <xref t | ||||
arget="RFC7217" format="default"/>. | ||||
</dd> | ||||
<dt>July 1996:</dt> | ||||
<dd>OpenBSD implements TCP ISN randomization based on random increment | ||||
s (please see <xref target="RFC9415" format="default" sectionFormat="of" section | ||||
="A.2"/>) <xref target="OpenBSD-TCP-ISN-I" format="default"/>. | ||||
</dd> | ||||
<dt>December 2000:</dt> | ||||
<dd>OpenBSD implements TCP ISN randomization using simple randomizatio | ||||
n (please see <xref target="RFC9415" section="7.1" sectionFormat="of" format="de | ||||
fault"/>) <xref target="OpenBSD-TCP-ISN-R" format="default"/>. | ||||
</dd> | ||||
<dt>March 2001:</dt> | ||||
<dd> | ||||
<xref target="Zalewski2001" format="default"/> provides a detailed a | ||||
nalysis of statistical weaknesses in some TCP ISN generators and includes a surv | ||||
ey of the algorithms in use by popular TCP implementations. Vulnerability adviso | ||||
ries <xref target="USCERT2001" format="default"/> were released regarding statis | ||||
tical weaknesses in some TCP ISN generators, affecting popular TCP implementatio | ||||
ns. Other vulnerability advisories on the same vulnerability, such as <xref targ | ||||
et="CERT2001" format="default"/>, were published later on.</dd> | ||||
<t hangText="May 2010:"> | <dt>March 2002:</dt> | |||
<vspace blankLines="0" /><xref target="Economou2010"/> finds that Windows SMTP S | <dd> | |||
ervice implements its own DNS resolver that results in predictable Query ID valu | <t><xref target="Zalewski2002" format="default"/> updates and comple | |||
es. Additionally, it fails to validate that the Query ID of DNS reply matches th | ments <xref target="Zalewski2001" format="default"/>. It concludes that "while s | |||
e one from the DNS query that supposedly elicited the reply. | ome vendors [...] reacted promptly and tested their solutions properly, many sti | |||
ll either ignored the issue and never evaluated their implementations, or implem | ||||
ented a flawed solution that apparently was not tested using a known approach" < | ||||
xref target="Zalewski2002" format="default"/>.</t> | ||||
</dd> | ||||
<dt>June 2007:</dt> | ||||
<dd>OpenBSD implements TCP ISN randomization based on the algorithm sp | ||||
ecified in <xref target="RFC1948" format="default"/> (currently obsoleted and re | ||||
placed by <xref target="RFC6528" format="default"/>) for the TCP endpoint that p | ||||
erforms the active open while keeping the simple randomization scheme for the en | ||||
dpoint performing the passive open <xref target="OpenBSD-TCP-ISN-H" format="defa | ||||
ult"/>. This provides monotonically increasing ISNs for the "client side" (allow | ||||
ing the BSD heuristics to work as expected) while avoiding any patterns in the I | ||||
SN generation for the "server side". | ||||
</dd> | ||||
<dt>February 2012:</dt> | ||||
<dd> | ||||
<xref target="RFC6528" format="default"/>, published 27 years after | ||||
Morris's original work <xref target="Morris1985" format="default"/>, formally up | ||||
dates <xref target="RFC0793" format="default"/> to mitigate predictable TCP ISNs | ||||
. | ||||
</dd> | ||||
<dt>August 2014:</dt> | ||||
<dd> | ||||
The algorithm specified in <xref target="RFC6528" format="default"/> | ||||
becomes the recommended ("<bcp14>SHOULD</bcp14>") algorithm for TCP ISN generat | ||||
ion in <xref target="draft-eddy-rfc793bis-04"/>, an early revision of the core T | ||||
CP specification <xref target="RFC9293"/>. | ||||
</dd> | ||||
<dt>August 2022:</dt> | ||||
<dd> | ||||
<xref target="RFC9293" format="default"/>, a revision of the core TCP specificat | ||||
ion, is published, adopting the algorithm specified in <xref target="RFC6528" fo | ||||
rmat="default"/> as the recommended ("SHOULD") algorithm for TCP ISN generation. | ||||
</dd> | ||||
</dl> | ||||
</section> | ||||
<section anchor="ipv6-iids" numbered="true" toc="default"> | ||||
<name>IPv6 Interface Identifiers (IIDs)</name> | ||||
<t>IPv6 Interface Identifiers can be generated as a result of different | ||||
mechanisms, including Stateless Address Autoconfiguration (SLAAC) <xref target=" | ||||
RFC4862" format="default"/>, DHCPv6 <xref target="RFC8415" format="default"/>, a | ||||
nd manual configuration. This section focuses on Interface Identifiers resulting | ||||
from SLAAC.</t> | ||||
<t>The Interface Identifier of stable IPv6 addresses resulting from SLAA | ||||
C originally resulted in the underlying link-layer address being embedded in the | ||||
IID. At the time, employing the underlying link-layer address for the IID was s | ||||
een as a convenient way to obtain a unique address. However, recent awareness ab | ||||
out the security and privacy properties of this approach <xref target="RFC7707" | ||||
format="default"/> <xref target="RFC7721" format="default"/> has led to the repl | ||||
acement of this flawed scheme with an alternative one <xref target="RFC7217" for | ||||
mat="default"/> <xref target="RFC8064" format="default"/> that does not negative | ||||
ly affect the security and privacy properties of the protocol. | ||||
</t> | </t> | |||
<dl newline="true" spacing="normal"> | ||||
<dt>January 1997:</dt> | ||||
<dd> | ||||
<xref target="RFC2073" format="default"/> specifies the syntax of IP | ||||
v6 global addresses (referred to as "An IPv6 Provider-Based Unicast Address Form | ||||
at" at the time), which is consistent with the IPv6 addressing architecture spec | ||||
ified in <xref target="RFC1884" format="default"/>. | ||||
Hosts are recommended to "generate addresses using link-specific addr | ||||
esses as Interface ID such as 48 bit IEEE-802 MAC addresses". | ||||
</dd> | ||||
<dt>July 1998:</dt> | ||||
<dd> | ||||
<xref target="RFC2374" format="default"/> specifies "An IPv6 Aggrega | ||||
table Global Unicast Address Format" (obsoleting <xref target="RFC2073" format=" | ||||
default"/>), changing the size of the IID to 64 bits, and specifies that IIDs mu | ||||
st be constructed in IEEE 64-bit Extended Unique Identifier (EUI-64) format. How | ||||
such identifiers are constructed is specified in the corresponding "IPv6 over & | ||||
lt;link>" specifications, such as "IPv6 over Ethernet". | ||||
</dd> | ||||
<dt>January 2001:</dt> | ||||
<dd> | ||||
<xref target="RFC3041" format="default"/> recognizes the problem of | ||||
IPv6 network activity correlation and specifies IPv6 temporary addresses. Tempor | ||||
ary addresses are to be used along with stable addresses. | ||||
</dd> | ||||
<dt>August 2003:</dt> | ||||
<dd> | ||||
<xref target="RFC3587" format="default"/> obsoletes <xref target="RF | ||||
C2374" format="default"/>, making the Top-Level Aggregator (TLA) / Next-Level | ||||
Aggregator (NLA) structure historic, though the syntax and recommendations fo | ||||
r the stable IIDs remain unchanged. | ||||
</dd> | ||||
<dt>February 2006:</dt> | ||||
<dd> | ||||
<xref target="RFC4291" format="default"/> is published as the latest | ||||
"IP Version 6 Addressing Architecture", requiring the IIDs of "all unicast addr | ||||
esses, except those that start with the binary value 000" to employ the Modified | ||||
EUI-64 format. The details of constructing such interface identifiers are defin | ||||
ed in the corresponding "IPv6 over <link>" specifications. | ||||
</dd> | ||||
<dt>March 2008:</dt> | ||||
<dd> | ||||
<xref target="RFC5157" format="default"/> provides hints regarding h | ||||
ow patterns in IPv6 addresses could be leveraged for the purpose of address scan | ||||
ning. | ||||
</dd> | ||||
<dt>December 2011:</dt> | ||||
<dd> | ||||
<xref target="draft-gont-6man-stable-privacy-addresses-00" format="d | ||||
efault"/> notes that the original scheme for generating stable addresses allows | ||||
for IPv6 address scanning and for active host tracking (even when IPv6 temporary | ||||
addresses are employed). It also specifies an alternative algorithm meant to re | ||||
place IIDs based on Modified EUI-64 format identifiers. | ||||
</dd> | ||||
<dt>November 2012:</dt> | ||||
<dd>The 6man WG adopts <xref target="draft-gont-6man-stable-privacy-ad | ||||
dresses-01" format="default"/> as a working group item (as <xref target="draft-i | ||||
etf-6man-stable-privacy-addresses-00" format="default"/>). However, the document | ||||
no longer formally updates <xref target="RFC4291" format="default"/>; therefore | ||||
, the specified algorithm no longer formally replaces the Modified EUI-64 format | ||||
identifiers. | ||||
</dd> | ||||
<dt>February 2013:</dt> | ||||
<dd>An address-scanning tool (scan6 of <xref target="IPv6-Toolkit" for | ||||
mat="default"/>) that leverages IPv6 address patterns is released <xref target=" | ||||
Gont2013" format="default"/>. | ||||
</dd> | ||||
<dt>July 2013:</dt> | ||||
<dd> | ||||
<xref target="draft-cooper-6man-ipv6-address-generation-privacy-00" | ||||
format="default"/> elaborates on the security and privacy properties of all know | ||||
n algorithms for generating IPv6 IIDs. | ||||
</dd> | ||||
<dt>January 2014:</dt> | ||||
<dd>The 6man WG posts <xref target="draft-ietf-6man-default-iids-00" f | ||||
ormat="default"/> ("Recommendation on Stable IPv6 Interface Identifiers"), recom | ||||
mending <xref target="draft-ietf-6man-stable-privacy-addresses-17" format="defau | ||||
lt"/> for the generation of stable addresses. | ||||
</dd> | ||||
<dt>April 2014:</dt> | ||||
<dd> | ||||
</list> | <xref target="RFC7217" format="default"/> (formerly <xref target="dr | |||
</t> | aft-ietf-6man-stable-privacy-addresses-17" format="default"/>) is published, spe | |||
</section> | cifying "A Method for Generating Semantically Opaque Interface Identifiers with | |||
IPv6 Stateless Address Autoconfiguration (SLAAC)" as an alternative to (but <str | ||||
ong>not</strong> replacement of) Modified EUI-64 format IIDs. | ||||
</dd> | ||||
<dt>March 2016:</dt> | ||||
<dd> | ||||
<xref target="RFC7707" format="default"/> (formerly <xref target="dr | ||||
aft-gont-opsec-ipv6-host-scanning-02" format="default"/> and later <xref target= | ||||
"draft-ietf-opsec-ipv6-host-scanning-08" format="default"/>), about "Network Rec | ||||
onnaissance in IPv6 Networks", is published. | ||||
</dd> | ||||
<dt>March 2016:</dt> | ||||
<dd> | ||||
<xref target="RFC7721" format="default"/> (formerly <xref target="dr | ||||
aft-cooper-6man-ipv6-address-generation-privacy-00" format="default"/> and later | ||||
<xref target="draft-ietf-6man-ipv6-address-generation-privacy-08" format="defau | ||||
lt"/>), about "Security and Privacy Considerations for IPv6 Address Generation M | ||||
echanisms", is published. | ||||
</dd> | ||||
<dt>May 2016:</dt> | ||||
<dd> | ||||
<xref target="draft-gont-6man-non-stable-iids-00" format="default"/> | ||||
is posted, with the goal of specifying requirements for non-stable addresses an | ||||
d updating <xref target="RFC4941" format="default"/> such that use of only tempo | ||||
rary addresses is allowed. | ||||
</dd> | ||||
<dt>May 2016:</dt> | ||||
<dd> | ||||
<xref target="draft-gont-6man-address-usage-recommendations-00" form | ||||
at="default"/> is posted, providing an analysis of how different aspects on an a | ||||
ddress (from stability to usage mode) affect their corresponding security and pr | ||||
ivacy properties and meaning to eventually provide advice in this area. | ||||
</dd> | ||||
<dt>February 2017:</dt> | ||||
<dd><xref target="draft-ietf-6man-default-iids-16" format="default"/>, | ||||
produced by the 6man WG, is published as <xref target="RFC8064" format="default | ||||
"/> ("Recommendation on Stable IPv6 Interface Identifiers"), with requirements f | ||||
or stable addresses and a recommendation to employ <xref target="RFC7217" format | ||||
="default"/> for the generation of stable addresses. It formally updates a large | ||||
number of RFCs. | ||||
</dd> | ||||
<dt>March 2018:</dt> | ||||
<dd> | ||||
<xref target="draft-fgont-6man-rfc4941bis-00" format="default"/> is | ||||
posted (as suggested by the 6man WG) to address flaws in <xref target="RFC4941" | ||||
format="default"/> by revising it (as an alternative to the <xref target="draft- | ||||
gont-6man-non-stable-iids-00" format="default"/> effort, posted in March 2016). | ||||
</dd> | ||||
<dt>July 2018:</dt> | ||||
<dd> | ||||
<xref target="draft-fgont-6man-rfc4941bis-00" format="default"/> is | ||||
adopted (as <xref target="draft-ietf-6man-rfc4941bis-00" format="default"/>) as | ||||
a WG item of the 6man WG. | ||||
</dd> | ||||
<dt>December 2020:</dt> | ||||
<dd> | ||||
<xref target="draft-ietf-6man-rfc4941bis-12" format="default"/> is a | ||||
pproved by the IESG for publication as an RFC. | ||||
</dd> | ||||
<dt>February 2021:</dt> | ||||
<dd> | ||||
<xref target="draft-ietf-6man-rfc4941bis-12" format="default"/> is f | ||||
inally published as <xref target="RFC8981" format="default"/>. | ||||
</dd> | ||||
</dl> | ||||
</section> | ||||
<section anchor="ntp-refid" numbered="true" toc="default"> | ||||
<name>NTP Reference IDs (REFIDs)</name> | ||||
<t>The NTP <xref target="RFC5905" format="default"/> Reference ID is a 3 | ||||
2-bit code identifying the particular server or reference clock. Above stratum 1 | ||||
(secondary servers and clients), this value can be employed to avoid degree-one | ||||
timing loops, that is, scenarios where two NTP peers are (mutually) the time so | ||||
urce of each other. If using the IPv4 address family, the identifier is the four | ||||
-octet IPv4 address. If using the IPv6 address family, it is the first four oct | ||||
ets of the MD5 hash of the IPv6 address.</t> | ||||
<dl newline="true" spacing="normal"> | ||||
<dt>June 2010:</dt> | ||||
<dd> | ||||
<xref target="RFC5905" format="default"/> ("Network Time Protocol Ve | ||||
rsion 4: Protocol and Algorithms Specification") is published. It specifies that | ||||
, for NTP peers with stratum higher than 1, the REFID embeds the IPv4 address of | ||||
the time source or the first four octets of the MD5 hash of the IPv6 address of | ||||
the time source. | ||||
</dd> | ||||
<dt>July 2016:</dt> | ||||
<dd> | ||||
<xref target="draft-stenn-ntp-not-you-refid-00" format="default"/> i | ||||
s posted, describing the information leakage produced via the NTP REFID. It prop | ||||
oses that NTP returns a special REFID when a packet employs an IP Source Address | ||||
that is not believed to be a current NTP peer but otherwise generates and retur | ||||
ns the common REFID. It is subsequently adopted by the NTP WG as <xref target="d | ||||
raft-ietf-ntp-refid-updates-00" format="default"/>. | ||||
</dd> | ||||
<dt>April 2019:</dt> | ||||
<dd> | ||||
<xref target="Gont-NTP" format="default"/> notes that the proposed f | ||||
ix specified in <xref target="draft-ietf-ntp-refid-updates-00" format="default"/ | ||||
> is, at the very least, sub-optimal. As a result of a lack of WG support, the < | ||||
xref target="draft-ietf-ntp-refid-updates-00" format="default"/> effort is event | ||||
ually abandoned. | ||||
</dd> | ||||
</dl> | ||||
</section> | ||||
<section anchor="port-numbers" numbered="true" toc="default"> | ||||
<name>Transport-Protocol Ephemeral Port Numbers</name> | ||||
<t>Most (if not all) transport protocols employ "port numbers" to demult | ||||
iplex packets to the corresponding transport-protocol instances. "Ephemeral port | ||||
s" refer to the local ports employed in active OPEN requests, that is, typically | ||||
the local port numbers employed on the side initiating the communication.</t> | ||||
</section> | <dl newline="true" spacing="normal"> | |||
<dt>August 1980:</dt> | ||||
<dd> | ||||
<xref target="RFC0768" format="default"/> notes that the UDP source | ||||
port is optional and identifies the port of the sending process. It does not spe | ||||
cify interoperability requirements for source port selection, nor does it sugges | ||||
t possible ways to select port numbers. Most popular implementations end up sele | ||||
cting source ports from a system-wide global counter.</dd> | ||||
<dt>September 1981:</dt> | ||||
<dd> | ||||
<xref target="RFC0793" format="default"/> (the TCP specification) es | ||||
sentially describes the use of port numbers and specifies that port numbers shou | ||||
ld result in a unique socket pair {local address, local port, remote address, re | ||||
mote port}. How ephemeral ports are selected and the port range from which they | ||||
are selected are left unspecified. | ||||
</dd> | ||||
<dt>July 1996:</dt> | ||||
<dd>OpenBSD implements ephemeral port randomization <xref target="Open | ||||
BSD-PR" format="default"/>. | ||||
</dd> | ||||
<dt>July 2008:</dt> | ||||
<dd>The CERT Coordination Center publishes details of what became know | ||||
n as the "Kaminsky Attack" <xref target="VU-800113" format="default"/> <xref tar | ||||
get="Kaminsky2008" format="default"/> on the DNS. The attack exploits the lack o | ||||
f ephemeral port randomization and DNS ID randomization in many major DNS implem | ||||
entations to perform cache poisoning in an effective and practical manner. | ||||
</dd> | ||||
<dt>January 2009:</dt> | ||||
<dd> | ||||
<xref target="RFC5452" format="default"/> mandates the use of port r | ||||
andomization for DNS resolvers and mandates that implementations must randomize | ||||
ports from the range of available ports (53 or 1024 and above) that is as large | ||||
as possible and practicable. It does not recommend possible algorithms for port | ||||
randomization, although the document specifically targets DNS resolvers, for whi | ||||
ch a simple port randomization suffices (e.g., Algorithm 1 of <xref target="RFC6 | ||||
056" format="default"/>). This document led to the implementation of port random | ||||
ization in the DNS resolvers themselves, rather than in the underlying transport | ||||
protocols. | ||||
</dd> | ||||
<dt>January 2011:</dt> | ||||
<dd> | ||||
<xref target="RFC6056" format="default"/> notes that many TCP and UD | ||||
P implementations result in predictable ephemeral port numbers and also notes th | ||||
at many implementations select port numbers from a small portion of the whole po | ||||
rt number space. It recommends the implementation and use of ephemeral port rand | ||||
omization, proposes a number of possible algorithms for port randomization, and | ||||
also recommends to randomize port numbers over the range 1024-65535. | ||||
</dd> | ||||
<dt>March 2016:</dt> | ||||
<dd> | ||||
<xref target="NIST-NTP" format="default"/> reports a non-normal dist | ||||
ribution of the ephemeral port numbers employed by the NTP clients of an Interne | ||||
t Time Service. | ||||
</dd> | ||||
<dt>April 2019:</dt> | ||||
<dd> | ||||
<xref target="draft-gont-ntp-port-randomization-00" format="default" | ||||
/> notes that some NTP implementations employ the NTP service port (123) as the | ||||
local port for nonsymmetric modes and aims to update the NTP specification to re | ||||
commend port randomization in such cases, which is in line with <xref target="RF | ||||
C6056" format="default"/>. The proposal experiences some pushback in the relevan | ||||
t working group (NTP WG) <xref target="NTP-PORTR" format="default"/> but is fina | ||||
lly adopted as a working group item as <xref target="draft-ietf-ntp-port-randomi | ||||
zation-00" format="default"/>. | ||||
</dd> | ||||
<dt>August 2021:</dt> | ||||
<dd> | ||||
<xref target="draft-ietf-ntp-port-randomization-08" format="default" | ||||
/> is finally published as <xref target="RFC9109" format="default"/>. | ||||
</dd> | ||||
</dl> | ||||
</section> | ||||
<section anchor="dns-query-id" numbered="true" toc="default"> | ||||
<name>DNS ID</name> | ||||
<t>The DNS ID <xref target="RFC1035" format="default"/> can be employed | ||||
to match DNS replies to outstanding DNS queries.</t> | ||||
<aside> | ||||
<t>NOTE: Some documents refer to the DNS ID as the DNS "Query ID" or "TxID".</t> | ||||
</aside> | ||||
<section title="Conclusions" anchor="conclusions"> | <dl newline="true" spacing="normal"> | |||
<t> | <dt>November 1987:</dt> | |||
For more than 30 years, a large number of implementations of the IETF protoco | <dd> | |||
ls have been subject to a variety of attacks, with | <xref target="RFC1035" format="default"/> specifies that the DNS ID | |||
effects ranging from Denial of Service (DoS) or data injection, to | is a 16-bit identifier assigned by the program that | |||
generates any kind of query and that this identifier is copied in the correspond | ||||
ing reply and can be used by the requester to match up replies to outstanding qu | ||||
eries. It does not specify the interoperability requirements for this numeric id | ||||
entifier, nor does it suggest an algorithm for generating it.</dd> | ||||
<dt>August 1993:</dt> | ||||
<dd> | ||||
<xref target="Schuba1993" format="default"/> describes DNS cache poi | ||||
soning attacks that require the attacker to guess the DNS ID.</dd> | ||||
<dt>June 1995:</dt> | ||||
<dd> | ||||
<xref target="Vixie1995" format="default"/> suggests that both the U | ||||
DP source port and the DNS ID of query packets should be randomized, although th | ||||
at might not provide enough entropy to prevent an attacker from guessing these v | ||||
alues.</dd> | ||||
<dt>April 1997:</dt> | ||||
<dd> | ||||
<xref target="Arce1997" format="default"/> finds that implementation | ||||
s employ predictable UDP source ports and predictable DNS IDs and argues that bo | ||||
th should be randomized.</dd> | ||||
<dt>November 2002:</dt> | ||||
<dd> | ||||
<xref target="Sacramento2002" format="default"/> finds that, by spoo | ||||
fing multiple requests for the same domain name from different IP addresses, an | ||||
attacker may guess the DNS ID employed for a victim with a high probability of s | ||||
uccess, thus allowing for DNS cache poisoning attacks.</dd> | ||||
<dt>March 2007:</dt> | ||||
<dd> | ||||
<xref target="Klein2007c" format="default"/> finds that the Microsof | ||||
t Windows DNS server generates predictable DNS ID values. | ||||
</dd> | ||||
<dt>July 2007:</dt> | ||||
<dd> | ||||
<xref target="Klein2007b" format="default"/> finds that a popular DN | ||||
S server software (BIND 9) that randomizes the DNS ID is still subject to DNS ca | ||||
che poisoning attacks by forging a large number of queries and leveraging the bi | ||||
rthday paradox. | ||||
</dd> | ||||
<dt>October 2007:</dt> | ||||
<dd> | ||||
<xref target="Klein2007" format="default"/> finds that OpenBSD's DNS | ||||
software (based on the BIND DNS server of the Internet Systems Consortium (ISC) | ||||
) generates predictable DNS ID values. | ||||
</dd> | ||||
<dt>January 2009:</dt> | ||||
<dd> | ||||
<xref target="RFC5452" format="default"/> is published, requiring re | ||||
solvers to randomize the DNS ID of queries and to verify that the DNS ID of a re | ||||
ply matches that of the DNS query as part of the DNS reply validation process. | ||||
</dd> | ||||
<dt>May 2010:</dt> | ||||
<dd> | ||||
<xref target="Economou2010" format="default"/> finds that the Window | ||||
s SMTP Service implements its own DNS resolver that results in predictable DNS I | ||||
D values. Additionally, it fails to validate that the DNS ID of a reply matches | ||||
that of the DNS query that supposedly elicited it. | ||||
</dd> | ||||
</dl> | ||||
</section> | ||||
</section> | ||||
<section anchor="conclusions" numbered="true" toc="default"> | ||||
<name>Conclusions</name> | ||||
<t> | ||||
For more than 30 years, a large number of implementations of IETF protocols h | ||||
ave been subject to a variety of attacks, with | ||||
effects ranging from Denial of Service (DoS) or data injection to | ||||
information leakages that could be exploited for pervasive monitoring | information leakages that could be exploited for pervasive monitoring | |||
<xref target="RFC7258"/>. The root cause of these issues has been, in many c | <xref target="RFC7258" format="default"/>. The root cause of these issues ha | |||
ases, | s been, in many cases, the poor selection of transient numeric identifiers in su | |||
poor selection of transient numeric identifiers, usually as a result | ch protocols, usually as a result of insufficient or misleading specifications. | |||
of insufficient or misleading specifications. | ||||
</t> | </t> | |||
<t> | ||||
<t> | ||||
While it is generally possible to identify an algorithm that can | While it is generally possible to identify an algorithm that can | |||
satisfy the interoperability requirements for a given transient | satisfy the interoperability requirements for a given transient | |||
numeric identifier, this document provides empirical evidence that | numeric identifier, this document provides empirical evidence that | |||
doing so without negatively affecting the security or privacy | doing so without negatively affecting the security and/or privacy | |||
properties of the aforementioned protocols is non-trivial. It is thus | properties of the aforementioned protocols is nontrivial. It is thus | |||
evident that advice in this area is warranted. | evident that advice in this area is warranted. | |||
</t> | </t> | |||
<t> | ||||
<t> | <xref target="RFC9416" format="default"/> aims at requiring future | |||
<xref target="I-D.gont-numeric-ids-sec-considerations"/> aims at requiring fu | ||||
ture | ||||
IETF protocol specifications to contain analysis of the security and | IETF protocol specifications to contain analysis of the security and | |||
privacy properties of any transient numeric identifiers specified by | privacy properties of any transient numeric identifiers specified by | |||
the protocol, and to recommend an algorithm for the generation | the protocol and to recommend an algorithm for the generation | |||
of such transient numeric identifiers. <xref target="I-D.irtf-pearg-numeric-i | of such transient numeric identifiers. <xref target="RFC9415" format="default | |||
ds-generation"/> specifies a number of sample algorithms for generating | "/> specifies a number of sample algorithms for generating | |||
transient numeric identifiers with specific interorability | transient numeric identifiers with specific interoperability | |||
requirements and failure severities. | requirements and failure severities. | |||
</t> | </t> | |||
</section> | ||||
<section title="IANA Considerations" anchor="iana-considerations"> | ||||
<t>There are no IANA registries within this document.</t> | ||||
</section> | ||||
<section title="Security Considerations"> | ||||
<t>This document analyzes the timeline of the specification and implementation o | ||||
f the transient numeric identifiers of some sample IETF protocols, and how the s | ||||
ecurity and privacy properties of such protocols have been affected as a result | ||||
of it. It provides concrete evidence that advice in this area is warranted.</t> | ||||
<t><xref target="I-D.gont-numeric-ids-sec-considerations"/> formally requires IE | ||||
TF protocol specifications to specify the interoperability requirements for thei | ||||
r transient numeric identifiers, to do a warranted vulnerability assessment of s | ||||
uch transient numeric identifiers, and to recommend possible algorithms for thei | ||||
r generation, such that the interoperability requirements are complied with, whi | ||||
le any negative security and privacy properties of these transient numeric ident | ||||
ifiers are mitigated.</t> | ||||
<t><xref target="I-D.irtf-pearg-numeric-ids-generation"/> analyzes and categoriz | ||||
es transient numeric identifiers based on their interoperability requirements an | ||||
d their associated failure severities, and recommends possible algorithms that c | ||||
an comply with those requirements without negatively affecting the security and | ||||
privacy properties of the corresponding protocols.</t> | ||||
</section> | </section> | |||
<section anchor="iana-considerations" numbered="true" toc="default"> | ||||
<section title="Acknowledgements"> | <name>IANA Considerations</name> | |||
<t>This document has no IANA actions.</t> | ||||
<t>The authors would like to thank (in alphabetical order) Bernard Aboba, Dave C | </section> | |||
rocker, Spencer Dawkins, Theo de Raadt, Sara Dickinson, Guillermo Gont, Christia | <section numbered="true" toc="default"> | |||
n Huitema, Colin Perkins, Vincent Roca, Kris Shrishak, Joe Touch, Brian Trammell | <name>Security Considerations</name> | |||
, and Christopher Wood, for providing valuable comments on earlier versions of t | <t>This document analyzes the timeline of the specification and implementa | |||
his document.</t> | tion of the transient numeric identifiers of some sample IETF protocols and how | |||
the security and privacy properties of such protocols have been affected as a re | ||||
<t>The authors would like to thank (in alphabetical order) Steven Bellovin, Jose | sult of it. It provides concrete evidence that advice in this area is warranted. | |||
ph Lorenzo Hall, Gre Norcie, and Martin Thomson, for providing valuable comments | </t> | |||
on <xref target="I-D.gont-predictable-numeric-ids"/>, on which this document is | <t><xref target="RFC9415" format="default"/> analyzes and categorizes tran | |||
based.</t> | sient numeric identifiers based on their interoperability requirements and their | |||
associated failure severities and recommends possible algorithms that can be em | ||||
<t><xref target="tcp-isns"/> of this document borrows text from <xref target="RF | ployed to comply with those requirements without negatively affecting the securi | |||
C6528"/>, authored by Fernando Gont and Steven Bellovin.</t> | ty and privacy properties of the corresponding protocols.</t> | |||
<t><xref target="RFC9416" format="default"/> formally requires IETF protoc | ||||
<t>The authors would like to thank Sara Dickinson and Christopher Wood, for thei | ol specifications to specify the interoperability requirements for their transie | |||
r guidance during the publication process of this document.</t> | nt numeric identifiers, to do a warranted vulnerability assessment of such trans | |||
ient numeric identifiers, and to recommend possible algorithms for their generat | ||||
<t>The authors would like to thank Diego Armando Maradona for his magic and ins | ion, such that the interoperability requirements are complied with, while any ne | |||
piration.</t> | gative security or privacy properties of these transient numeric identifiers are | |||
mitigated.</t> | ||||
</section> | </section> | |||
</middle> | </middle> | |||
<back> | <back> | |||
<references title='Normative References'> | <references> | |||
<!-- | ||||
<?rfc include="reference.RFC.2119" ?> | ||||
<?rfc include="reference.RFC.2119" ?> | ||||
<!-- UDP --> | ||||
<?rfc include="reference.RFC.0768" ?> | ||||
<!-- TCP sequence numbers --> | ||||
<?rfc include="reference.RFC.0793" ?> | ||||
<?rfc include="reference.RFC.6528" ?> <!-- TCP SEQ randomization --> | ||||
<!-- IPv4--> | ||||
<?rfc include="reference.RFC.0791" ?> | ||||
<!-- IPv6 --> | ||||
<?rfc include="reference.RFC.1883" ?> | ||||
<?rfc include="reference.RFC.2460" ?> | ||||
<?rfc include="reference.RFC.8200" ?> | ||||
<!-- Randomness requirements--> | ||||
<!-- | ||||
<?rfc include="reference.RFC.4086" ?> | ||||
<!-- | ||||
<?rfc include="reference.RFC.6151" ?> | ||||
<!-- IPv6 Addresses --> | ||||
<?rfc include="reference.RFC.7217" ?> | ||||
<?rfc include="reference.RFC.3041" ?> | ||||
<?rfc include="reference.RFC.2073" ?> | ||||
<?rfc include="reference.RFC.2374" ?> | ||||
<?rfc include="reference.RFC.3587" ?> | ||||
<?rfc include="reference.RFC.1884" ?> | ||||
<?rfc include="reference.RFC.4291" ?> | ||||
<?rfc include="reference.RFC.4941" ?> | ||||
<?rfc include="reference.RFC.2373" ?> | ||||
<?rfc include="reference.RFC.4862" ?> | ||||
<?rfc include="reference.RFC.8415" ?> | ||||
<!-- TCP ISNs --> | ||||
<?rfc include="reference.RFC.1323" ?> | ||||
<!-- Port randomization --> | ||||
<?rfc include="reference.RFC.6056" ?> | ||||
<?rfc include="reference.RFC.5452" ?> | ||||
</references> | ||||
<references title='Informative References'> | ||||
<reference anchor="OpenBSD-PR" target="https://cvsweb.openbsd.org/src/sys | ||||
/netinet/in_pcb.c?rev=1.6"> | ||||
<front> | ||||
<title>Implementation of port randomization</title> | ||||
<author> | ||||
<organization>OpenBSD</organization> | ||||
</author> | ||||
<date day="29" month="July" year="1996"/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="VU-800113" target="https://www.kb.cert.org/vul | ||||
s/id/800113"> | ||||
<front> | ||||
<title>Multiple DNS implementations vulnerable to cache p | ||||
oisoning (Vulnerability Note VU#800113)</title> | ||||
<author> | ||||
<organization>CERT/CC</organization> | ||||
</author> | ||||
<date day="8" month="July" year="2008"/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="IANA-PROT" target="https://www.iana.org/protocols"> | ||||
<front> | ||||
<title>Protocol Registries</title> | ||||
<author initials="" surname="IANA" fullname="IANA"> | ||||
<organization></organization> | ||||
</author> | ||||
<date/> | ||||
</front> | ||||
<!-- | ||||
<seriesInfo name="" value="Federal Information Processing Standar | ||||
ds Publication 180-4"/> | ||||
</reference> | ||||
<!-- IPv6 Addresses --> | ||||
<?rfc include="reference.RFC.5157" ?> | ||||
<?rfc include="reference.RFC.8981" ?> | ||||
<?rfc include="reference.I-D.ietf-6man-rfc4941bis" ?> | ||||
<?rfc include="reference.I-D.gont-opsec-ipv6-host-scanning" ?> | ||||
<?rfc include="reference.I-D.ietf-opsec-ipv6-host-scanning" ?> | ||||
<?rfc include="reference.I-D.gont-6man-stable-privacy-addresses" ?> | ||||
<?rfc include="reference.I-D.ietf-6man-stable-privacy-addresses" ?> | ||||
<?rfc include="reference.I-D.cooper-6man-ipv6-address-generation-privacy" | ||||
?> | ||||
<?rfc include="reference.I-D.ietf-6man-ipv6-address-generation-privacy" ? | ||||
> | ||||
<reference anchor="Gont2013" target="https://lists.si6networks.com/piperm | ||||
ail/ipv6hackers/2013-February/000947.html"> | ||||
<front> | ||||
<title>Beta release of the SI6 Network's IPv6 Toolkit (he | ||||
lp wanted!)</title> | ||||
<author fullname="Fernando Gont" initials="F." surname="Gont"> | ||||
</author> | ||||
<date year="2013"/> | ||||
</front> | ||||
<seriesInfo name="Message posted to the IPv6 Hackers mailing-list | ||||
" value=" Message-ID: <51184548.3030105@si6networks.com>"/> | ||||
</reference> | ||||
<reference anchor="IPv6-Toolkit" target="https://www.si6networks.com/tool | ||||
s/ipv6toolkit"> | ||||
<front> | ||||
<title>SI6 Networks' IPv6 Toolkit</title> | ||||
<author> | ||||
<organization>SI6 Networks</organization> | ||||
</author> | ||||
<date/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor='draft-gont-6man-stable-privacy-addresses-00'> | ||||
<front> | ||||
<title>A method for Generating Stable Privacy-Enhanced Addresses with IPv | ||||
6 Stateless Address Autoconfiguration (SLAAC)</title> | ||||
<author fullname="Fernando Gont" initials="F." surname="Gont"> | ||||
</author> | ||||
<date month='December' day='15' year='2011' /> | ||||
</front> | ||||
<seriesInfo name='Internet-Draft' value='draft-gont-6man-stable-privacy-a | ||||
ddresses-00' /> | ||||
<format type='TXT' | ||||
target='https://tools.ietf.org/id/draft-gont-6man-stable-privacy- | ||||
addresses-00.txt' /> | ||||
</reference> | ||||
<reference anchor='draft-ietf-6man-stable-privacy-addresses-00'> | ||||
<front> | ||||
<title>A method for Generating Stable Privacy-Enhanced Addresses with IPv | ||||
6 Stateless Address Autoconfiguration (SLAAC)</title> | ||||
<author fullname="Fernando Gont" initials="F." surname="Gont"> | ||||
</author> | ||||
<date month='May' day='18' year='2012' /> | ||||
</front> | ||||
<seriesInfo name='Internet-Draft' value='draft-ietf-6man-stable-privacy-a | ||||
ddresses-00' /> | ||||
<format type='TXT' | ||||
target='https://tools.ietf.org/id/draft-ietf-6man-stable-privacy- | ||||
addresses-00.txt' /> | ||||
</reference> | ||||
<reference anchor='draft-gont-6man-address-usage-recommendations-00'> | ||||
<front> | ||||
<title>IPv6 Address Usage Recommendations</title> | ||||
<author fullname="Fernando Gont" initials="F." surname="Gont"> | ||||
</author> | ||||
<author initials="W." surname="Liu" fullname="Will Liu"> | ||||
</author> | ||||
<date month='May' day='27' year='2016' /> | ||||
</front> | ||||
<seriesInfo name='Internet-Draft' value='draft-gont-6man-address-usage-re | ||||
commendations-00' /> | ||||
<format type='TXT' | ||||
target='https://tools.ietf.org/id/draft-gont-6man-address-usage-r | ||||
ecommendations-00.txt' /> | ||||
</reference> | ||||
<reference anchor='draft-gont-6man-non-stable-iids-00'> | ||||
<front> | ||||
<title>Recommendation on Non-Stable IPv6 Interface Identifiers</title> | ||||
<author fullname="Fernando Gont" initials="F." surname="Gont"> | ||||
</author> | ||||
<author initials="W." surname="Liu" fullname="Will Liu"> | ||||
</author> | ||||
<date month='May' day='23' year='2016' /> | ||||
</front> | ||||
<seriesInfo name='Internet-Draft' value='draft-gont-6man-non-stable-iids- | ||||
00' /> | ||||
<format type='TXT' | ||||
target='https://tools.ietf.org/id/draft-gont-6man-non-stable-iids | ||||
-00.txt' /> | ||||
</reference> | ||||
<reference anchor='draft-ietf-6man-default-iids-00'> | ||||
<front> | ||||
<title>Recommendation on Stable IPv6 Interface Identifiers</title> | ||||
<author fullname="Fernando Gont" initials="F." surname="Gont"> | ||||
</author> | ||||
<author initials="A." surname="Cooper" fullname="Alissa Cooper"> | ||||
</author> | ||||
<author | ||||
fullname="Dave Thaler" | ||||
initials="D." | ||||
surname="Thaler"> | ||||
</author> | ||||
<author initials="W." surname="Liu" fullname="Will Liu"> | ||||
</author> | ||||
<date month='July' day='28' year='2014' /> | ||||
</front> | ||||
<seriesInfo name='Internet-Draft' value='draft-ietf-6man-default-iids-00' | ||||
/> | ||||
<format type='TXT' | ||||
target='https://tools.ietf.org/id/draft-ietf-6man-default-iids-00 | ||||
.txt' /> | ||||
</reference> | ||||
<?rfc include="reference.RFC.8064" ?> | ||||
<reference anchor='draft-ietf-6man-rfc4941bis-00'> | ||||
<front> | ||||
<title abbrev="Privacy Extensions to Autoconf">Privacy | ||||
Extensions for Stateless Address Autoconfiguration in | ||||
IPv6</title> | ||||
<author fullname="Fernando Gont" initials="F." surname="Gont"> | ||||
<organization abbrev="SI6 Networks / UTN-FRH">SI6 Networks / | ||||
UTN-FRH</organization> | ||||
</author> | ||||
<author initials="S.K." surname="Krishnan" | ||||
fullname="Suresh Krishnan"> | ||||
<organization>Ericsson Research</organization> | ||||
</author> | ||||
<author initials="T.N." surname="Narten" | ||||
fullname="Thomas Narten"> | ||||
<organization>IBM Corporation</organization> | ||||
</author> | ||||
<author initials="R.D." surname="Draves" | ||||
fullname="Richard Draves"> | ||||
<organization>Microsoft Research</organization> | ||||
</author> | ||||
<date month='July' day='2' year='2018' /> | ||||
</front> | ||||
<seriesInfo name='Internet-Draft' value='draft-ietf-6man-rfc4941bis-00' / | ||||
> | ||||
<format type='TXT' | ||||
target='https://tools.ietf.org/id/draft-ietf-6man-rfc4941bis-00.t | ||||
xt' /> | ||||
</reference> | ||||
<reference anchor='draft-fgont-6man-rfc4941bis-00'> | ||||
<front> | ||||
<title abbrev="Privacy Extensions to Autoconf">Privacy | ||||
Extensions for Stateless Address Autoconfiguration in | ||||
IPv6</title> | ||||
<author fullname="Fernando Gont" initials="F." surname="Gont"> | ||||
<organization abbrev="SI6 Networks / UTN-FRH">SI6 Networks / | ||||
UTN-FRH</organization> | ||||
</author> | ||||
<author initials="S.K." surname="Krishnan" | ||||
fullname="Suresh Krishnan"> | ||||
<organization>Ericsson Research</organization> | ||||
</author> | ||||
<author initials="T.N." surname="Narten" | ||||
fullname="Thomas Narten"> | ||||
<organization>IBM Corporation</organization> | ||||
</author> | ||||
<author initials="R.D." surname="Draves" | ||||
fullname="Richard Draves"> | ||||
<organization>Microsoft Research</organization> | ||||
</author> | ||||
<date month='March' day='25' year='2018' /> | <name>References</name> | |||
<references> | ||||
<name>Normative References</name> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.0768.xml" | ||||
/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.0793.xml" | ||||
/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6528.xml" | ||||
/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.0791.xml" | ||||
/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1883.xml" | ||||
/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2460.xml" | ||||
/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8200.xml" | ||||
/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7217.xml" | ||||
/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3041.xml" | ||||
/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2073.xml" | ||||
/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2374.xml" | ||||
/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3587.xml" | ||||
/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1884.xml" | ||||
/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4291.xml" | ||||
/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4941.xml" | ||||
/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4862.xml" | ||||
/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8415.xml" | ||||
/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1323.xml" | ||||
/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6056.xml" | ||||
/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5452.xml" | ||||
/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9293.xml" | ||||
/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7 | ||||
323.xml"/> | ||||
</front> | </references> | |||
<references> | ||||
<name>Informative References</name> | ||||
<seriesInfo name='Internet-Draft' value='draft-fgont-6man-rfc4941bis-00' | <reference anchor="OpenBSD-PR" target="https://cvsweb.openbsd.org/src/sy | |||
/> | s/netinet/in_pcb.c?rev=1.6"> | |||
<format type='TXT' | <front> | |||
target='https://tools.ietf.org/id/draft-fgont-6man-rfc4941bis-00. | <title>Implementation of port randomization</title> | |||
txt' /> | <author> | |||
</reference> | <organization>OpenBSD</organization> | |||
</author> | ||||
<date month="July" year="1996"/> | ||||
</front> | ||||
</reference> | ||||
<?rfc include="reference.I-D.ietf-6man-default-iids" ?> | <reference anchor="VU-800113" target="https://www.kb.cert.org/vuls/id/80 | |||
<?rfc include="reference.RFC.7721" ?> | 0113"> | |||
<?rfc include="reference.RFC.7707" ?> | <front> | |||
<title>Multiple DNS implementations vulnerable to cache poisoning</t | ||||
itle> | ||||
<author> | ||||
<organization>CERT/CC</organization> | ||||
</author> | ||||
<date month="July" year="2008"/> | ||||
</front> | ||||
<refcontent>Vulnerability Note VU#800113</refcontent> | ||||
</reference> | ||||
<!-- | <reference anchor="IANA-PROT" target="https://www.iana.org/protocols"> | |||
<reference anchor="FIPS-SHS" target="http://csrc.nist.gov/publications/fi | <front> | |||
ps/fips180-4/fips-180-4.pdf"> | <title>Protocol Registries</title> | |||
<front> | <author> | |||
<title>Secure Hash Standard (SHS)</title> | <organization>IANA</organization> | |||
<author initials="" surname="FIPS" fullname="FIPS"> | </author> | |||
<organization></organization> | </front> | |||
</author> | ||||
<date month="March" year="2012"/> | ||||
</front> | ||||
<seriesInfo name="" value="Federal Information Processing Standar | ||||
ds Publication 180-4"/> | ||||
</reference> | </reference> | |||
--> | ||||
<?rfc include="reference.I-D.gont-predictable-numeric-ids" ?> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5157.xml" | |||
<?rfc include="reference.I-D.gont-numeric-ids-sec-considerations" ?> | /> | |||
<?rfc include="reference.I-D.irtf-pearg-numeric-ids-generation" ?> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8981.xml" | |||
/> | ||||
<?rfc include="reference.I-D.ietf-6man-rfc2460bis" ?> | ||||
<!-- NTP --> | <reference anchor="draft-ietf-6man-rfc4941bis-12" target="https://www.ietf.org/a | |||
rchive/id/draft-ietf-6man-rfc4941bis-12.txt"> | ||||
<front> | ||||
<title> | ||||
Temporary Address Extensions for Stateless Address Autoconfiguration in IPv6 | ||||
</title> | ||||
<author initials="F." surname="Gont" fullname="Fernando Gont"> | ||||
<organization>SI6 Networks</organization> | ||||
</author> | ||||
<author initials="S." surname="Krishnan" fullname="Suresh Krishnan"> | ||||
<organization>Kaloom</organization> | ||||
</author> | ||||
<author initials="T." surname="Narten" fullname="Dr. Thomas Narten"> </author> | ||||
<author initials="R." surname="Draves" fullname="Richard P. Draves"> | ||||
<organization>Microsoft Research</organization> | ||||
</author> | ||||
<date month="November" day="2" year="2020"/> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-ietf-6man-rfc4941bis-12"/> | ||||
</reference> | ||||
<reference anchor='draft-stenn-ntp-not-you-refid-00'> | <reference anchor="draft-gont-opsec-ipv6-host-scanning-02" target="https://www.i | |||
<front> | etf.org/archive/id/draft-gont-opsec-ipv6-host-scanning-02.txt"> | |||
<title abbrev="Not You REFID">Network Time Protocol Not You REFID</ti | <front> | |||
tle> | <title>Network Reconnaissance in IPv6 Networks</title> | |||
<author fullname="Fernando Gont" initials="F." surname="Gont"/> | ||||
<author fullname="Tim Chown" initials="T." surname="Chown"/> | ||||
<date day="23" month="October" year="2012"/> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-gont-opsec-ipv6-host-scanning-0 | ||||
2"/> | ||||
</reference> | ||||
<author fullname="Sharon Goldberg" initials="S." surname="Goldberg"> | <reference anchor="draft-ietf-opsec-ipv6-host-scanning-08" target="https://www.i | |||
etf.org/archive/id/draft-ietf-opsec-ipv6-host-scanning-08.txt"> | ||||
<front> | ||||
<title>Network Reconnaissance in IPv6 Networks</title> | ||||
<author fullname="Fernando Gont" initials="F." surname="Gont"/> | ||||
<author fullname="Tim Chown" initials="T." surname="Chown"/> | ||||
<date day="28" month="August" year="2015"/> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-ietf-opsec-ipv6-host-scanning-0 | ||||
8"/> | ||||
</reference> | ||||
<organization>Boston University</organization> | <reference anchor="draft-gont-6man-stable-privacy-addresses-01" target="https:// | |||
www.ietf.org/archive/id/draft-gont-6man-stable-privacy-addresses-01.txt"> | ||||
<front> | ||||
<title> | ||||
A method for Generating Stable Privacy-Enhanced Addresses with IPv6 Stateless Ad | ||||
dress Autoconfiguration (SLAAC) | ||||
</title> | ||||
<author fullname="Fernando Gont" initials="F." surname="Gont"/> | ||||
<date day="31" month="March" year="2012"/> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-gont-6man-stable-privacy-addresse | ||||
s-01"/> | ||||
</reference> | ||||
</author> | <reference anchor="draft-ietf-6man-stable-privacy-addresses-17" target="https:// | |||
www.ietf.org/archive/id/draft-ietf-6man-stable-privacy-addresses-17.txt"> | ||||
<front> | ||||
<title>A Method for Generating Semantically Opaque Interface Identifiers wit | ||||
h IPv6 Stateless Address Autoconfiguration (SLAAC)</title> | ||||
<author fullname="Fernando Gont" initials="F." surname="Gont"/> | ||||
<date day="27" month="January" year="2014"/> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-ietf-6man-stable-privacy-addr | ||||
esses-17"/> | ||||
</reference> | ||||
<author initials="H." surname="Stenn" | <reference anchor="draft-cooper-6man-ipv6-address-generation-privacy-00" target= | |||
fullname="Harlan Stenn"> | "https://www.ietf.org/archive/id/draft-cooper-6man-ipv6-address-generation-priva | |||
<organization>Network Time Foundation</organization> | cy-00.txt"> | |||
<front> | ||||
<title>Privacy Considerations for IPv6 Address Generation Mechanisms</title> | ||||
<author fullname="Alissa Cooper" initials="A." surname="Cooper"/> | ||||
<author fullname="Fernando Gont" initials="F." surname="Gont"/> | ||||
<author fullname="Dave Thaler" initials="D." surname="Thaler"/> | ||||
<date day="15" month="July" year="2013"/> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-cooper-6man-ipv6-address-gene | ||||
ration-privacy-00"/> | ||||
</reference> | ||||
</author> | <reference anchor="draft-ietf-6man-ipv6-address-generation-privacy-08" target="h | |||
ttps://www.ietf.org/archive/id/draft-ietf-6man-ipv6-address-generation-privacy-0 | ||||
8.txt"> | ||||
<front> | ||||
<title>Privacy Considerations for IPv6 Address Generation Mechanisms</title> | ||||
<author fullname="Alissa Cooper" initials="A." surname="Cooper"/> | ||||
<author fullname="Fernando Gont" initials="F." surname="Gont"/> | ||||
<author fullname="Dave Thaler" initials="D." surname="Thaler"/> | ||||
<date day="23" month="September" year="2015"/> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-ietf-6man-ipv6-address-generati | ||||
on-privacy-08"/> | ||||
</reference> | ||||
<date month='July' day='8' year='2016' /> | <reference anchor="Gont2013" target="https://lists.si6networks.com/piper | |||
mail/ipv6hackers/2013-February/000947.html"> | ||||
<front> | ||||
<title>Beta release of the SI6 Network's IPv6 Toolkit (help wanted!) | ||||
</title> | ||||
<author fullname="Fernando Gont" initials="F." surname="Gont"> | ||||
</author> | ||||
<date day="11" year="2013" month="February"/> | ||||
</front> | ||||
<refcontent>message to the IPv6 Hackers mailing list</refcontent> | ||||
</reference> | ||||
</front> | <reference anchor="IPv6-Toolkit" target="https://www.si6networks.com/too | |||
ls/ipv6toolkit"> | ||||
<front> | ||||
<title>IPv6 Toolkit</title> | ||||
<author> | ||||
<organization>SI6 Networks</organization> | ||||
</author> | ||||
</front> | ||||
</reference> | ||||
<seriesInfo name='Internet-Draft' value='draft-stenn-ntp-not-you-refid-00 | <reference anchor="draft-gont-6man-stable-privacy-addresses-00" target="https:// | |||
' /> | www.ietf.org/archive/id/draft-gont-6man-stable-privacy-addresses-00.txt"> | |||
<format type='TXT' | <front> | |||
target='https://tools.ietf.org/id/draft-stenn-ntp-not-you-refid-0 | <title> | |||
0.txt' /> | A method for Generating Stable Privacy-Enhanced Addresses with IPv6 Stateless Ad | |||
</reference> | dress Autoconfiguration (SLAAC) | |||
</title> | ||||
<author fullname="Fernando Gont" initials="F." surname="Gont"/> | ||||
<date day="15" month="December" year="2011"/> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-gont-6man-stable-privacy-addresse | ||||
s-00"/> | ||||
</reference> | ||||
<reference anchor='draft-ietf-ntp-refid-updates-00'> | <reference anchor="draft-ietf-6man-stable-privacy-addresses-00" target="https:// | |||
<front> | www.ietf.org/archive/id/draft-ietf-6man-stable-privacy-addresses-00.txt"> | |||
<title abbrev="Not You REFID">Network Time Protocol Not You REFID</ti | <front> | |||
tle> | <title> | |||
A method for Generating Stable Privacy-Enhanced Addresses with IPv6 Stateless Ad | ||||
dress Autoconfiguration (SLAAC) | ||||
</title> | ||||
<author fullname="Fernando Gont" initials="F." surname="Gont"/> | ||||
<date day="18" month="May" year="2012"/> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-ietf-6man-stable-privacy-addresse | ||||
s-00"/> | ||||
</reference> | ||||
<author fullname="Sharon Goldberg" initials="S." surname="Goldberg"> | <reference anchor="draft-gont-6man-address-usage-recommendations-00" target="htt | |||
ps://www.ietf.org/archive/id/draft-gont-6man-address-usage-recommendations-00.tx | ||||
t"> | ||||
<front> | ||||
<title>IPv6 Address Usage Recommendations</title> | ||||
<author fullname="Fernando Gont" initials="F." surname="Gont"/> | ||||
<author fullname="Will (Shucheng) LIU" initials="W." surname="LIU"/> | ||||
<date day="27" month="May" year="2016"/> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-gont-6man-address-usage-recommend | ||||
ations-00"/> | ||||
</reference> | ||||
<organization>Boston University</organization> | <reference anchor="draft-gont-6man-non-stable-iids-00" target="https://www.ietf. | |||
org/archive/id/draft-gont-6man-non-stable-iids-00.txt"> | ||||
<front> | ||||
<title> | ||||
Recommendation on Non-Stable IPv6 Interface Identifiers | ||||
</title> | ||||
<author fullname="Fernando Gont" initials="F." surname="Gont"/> | ||||
<author fullname="Will (Shucheng) Liu" initials="W." surname="Liu"/> | ||||
<date day="23" month="May" year="2016"/> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-gont-6man-non-stable-iids-00"/> | ||||
</reference> | ||||
</author> | <reference anchor="draft-ietf-6man-default-iids-00" target="https://www.ietf.org | |||
/archive/id/draft-ietf-6man-default-iids-00.txt"> | ||||
<front> | ||||
<title> | ||||
Recommendation on Stable IPv6 Interface Identifiers | ||||
</title> | ||||
<author fullname="Fernando Gont" initials="F." surname="Gont"/> | ||||
<author fullname="Alissa Cooper" initials="A." surname="Cooper"/> | ||||
<author fullname="Dave Thaler" initials="D." surname="Thaler"/> | ||||
<author fullname="Will (Shucheng) Liu" initials="W." surname="Liu"/> | ||||
<date day="24" month="January" year="2014"/> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-ietf-6man-default-iids-00"/> | ||||
</reference> | ||||
<author initials="H." surname="Stenn" | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8064.xml" | |||
fullname="Harlan Stenn"> | /> | |||
<organization>Network Time Foundation</organization> | ||||
</author> | <reference anchor="draft-ietf-6man-rfc4941bis-00" target="https://www.ietf.org/a | |||
rchive/id/draft-ietf-6man-rfc4941bis-00.txt"> | ||||
<front> | ||||
<title> | ||||
Privacy Extensions for Stateless Address Autoconfiguration in IPv6 | ||||
</title> | ||||
<author fullname="Fernando Gont" initials="F." surname="Gont"/> | ||||
<author fullname="Suresh Krishnan" initials="S." surname="Krishnan"> | ||||
<organization>Ericsson Research</organization> | ||||
</author> | ||||
<author fullname="Dr. Thomas Narten" initials="T." surname="Narten"> | ||||
<organization>IBM Corporation</organization> | ||||
</author> | ||||
<author fullname="Richard P. Draves" initials="R." surname="Draves"> | ||||
<organization>Microsoft Research</organization> | ||||
</author> | ||||
<date day="2" month="July" year="2018"/> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-ietf-6man-rfc4941bis-00"/> | ||||
</reference> | ||||
<date month='November' day='13' year='2016' /> | <reference anchor="draft-fgont-6man-rfc4941bis-00" target="https://www.ietf.org/ | |||
archive/id/draft-fgont-6man-rfc4941bis-00.txt"> | ||||
<front> | ||||
<title> | ||||
Privacy Extensions for Stateless Address Autoconfiguration in IPv6 | ||||
</title> | ||||
<author fullname="Fernando Gont" initials="F." surname="Gont"/> | ||||
<author fullname="Suresh Krishnan" initials="S." surname="Krishnan"> | ||||
<organization>Ericsson Research</organization> | ||||
</author> | ||||
<author fullname="Dr. Thomas Narten" initials="T." surname="Narten"> | ||||
<organization>IBM Corporation</organization> | ||||
</author> | ||||
<author fullname="Richard P. Draves" initials="R." surname="Draves"> | ||||
<organization>Microsoft Research</organization> | ||||
</author> | ||||
<date day="25" month="March" year="2018"/> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-fgont-6man-rfc4941bis-00"/> | ||||
</reference> | ||||
</front> | <reference anchor="draft-ietf-6man-default-iids-16" target="https://www.ietf.org | |||
/archive/id/draft-ietf-6man-default-iids-16.txt"> | ||||
<front> | ||||
<title> | ||||
Recommendation on Stable IPv6 Interface Identifiers | ||||
</title> | ||||
<author initials="F." surname="Gont" fullname="Fernando Gont"> </author> | ||||
<author initials="A." surname="Cooper" fullname="Alissa Cooper"> | ||||
<organization>Cisco</organization> | ||||
</author> | ||||
<author initials="D." surname="Thaler" fullname="Dave Thaler"> | ||||
<organization>Microsoft</organization> | ||||
</author> | ||||
<author initials="W." surname="LIU" fullname="Will (Shucheng) LIU"> | ||||
<organization>Huawei Technologies</organization> | ||||
</author> | ||||
<date month="September" day="28" year="2016"/> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-ietf-6man-default-iids-16"/> | ||||
</reference> | ||||
<seriesInfo name='Internet-Draft' value='draft-ietf-ntp-refid-updates-00' | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7721.xml" | |||
/> | /> | |||
<format type='TXT' | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7707.xml" | |||
target='https://tools.ietf.org/id/draft-ietf-ntp-refid-updates-00 | /> | |||
.txt' /> | ||||
</reference> | ||||
<reference anchor="Gont-NTP" target="https://mailarchive.ietf.org/arch/ms | <reference anchor="draft-gont-predictable-numeric-ids-03" target="https://datatr | |||
g/ntp/NkfTHxUUOdp14Agh3h1IPqfcRRg"> | acker.ietf.org/doc/html/draft-gont-predictable-numeric-ids-03"> | |||
<front> | <front> | |||
<title>[Ntp] Comments on draft-ietf-ntp-refid-updates-05< | <title> | |||
/title> | Security and Privacy Implications of Numeric Identifiers Employed in Network Pro | |||
<author initials="F." surname="Gont" fullname="Fernando G | tocols | |||
ont"> | </title> | |||
<organization></organization> | <author initials="F." surname="Gont" fullname="Fernando Gont"> </author> | |||
</author> | <author initials="I." surname="Arce" fullname="Ivan Arce"> | |||
<date month="April" day="16" year="2019"/> | <organization>Quarkslab</organization> | |||
</front> | </author> | |||
<seriesInfo name="Post to the NTP WG mailing list" value= | <date month="March" day="11" year="2019"/> | |||
" Message-ID: <d871d66d-4043-d8d0-f924-2191ebb2e2ce@si6networks.com>"/> | </front> | |||
</reference> | <seriesInfo name="Internet-Draft" value="draft-gont-predictable-numeric-ids-03"/ | |||
> | ||||
</reference> | ||||
<?rfc include="reference.I-D.ietf-ntp-refid-updates" ?> | <reference anchor='RFC9416' target='https://www.rfc-editor.org/info/rfc9416'> | |||
<front> | ||||
<title>Security Considerations for Transient Numeric Identifiers Employed in Net | ||||
work Protocols</title> | ||||
<author initials='F' surname='Gont' fullname='Fernando Gont'> | ||||
<organization /> | ||||
</author> | ||||
<author initials='I' surname='Arce' fullname='Ivan Arce'> | ||||
<organization /> | ||||
</author> | ||||
<date year='2023' month='July'/> | ||||
</front> | ||||
<seriesInfo name="BCP" value="72"/> | ||||
<seriesInfo name="RFC" value="9416"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC9416"/> | ||||
</reference> | ||||
<?rfc include="reference.RFC.5905" ?> | <reference anchor='RFC9415' target='https://www.rfc-editor.org/info/rfc9415'> | |||
<front> | ||||
<title>On the Generation of Transient Numeric Identifiers</title> | ||||
<author initials='F' surname='Gont' fullname='Fernando Gont'> | ||||
<organization /> | ||||
</author> | ||||
<author initials='I' surname='Arce' fullname='Ivan Arce'> | ||||
<organization /> | ||||
</author> | ||||
<date year='2023' month='July'/> | ||||
</front> | ||||
<seriesInfo name="RFC" value="9415"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC9415"/> | ||||
</reference> | ||||
<!-- md5 --> | <reference anchor="draft-ietf-6man-rfc2460bis-05" target="https://www.ietf.org/a | |||
<!-- | rchive/id/draft-ietf-6man-rfc2460bis-05.txt"> | |||
<?rfc include="reference.RFC.1321" ?> | <front> | |||
<title>Internet Protocol, Version 6 (IPv6) Specification</title> | ||||
<author fullname="Stephen E. Deering" initials="S." surname="Deering"/> | ||||
<author fullname="Robert M. Hinden" initials="R." surname="Hinden"/> | ||||
<date day="28" month="June" year="2016"/> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-ietf-6man-rfc2460bis-05"/> | ||||
</reference> | ||||
<!-- Pervasive Monitoring --> | <reference anchor="draft-ietf-6man-rfc2460bis-13" target="https://www.ietf.org/a | |||
<?rfc include="reference.RFC.7258" ?> | rchive/id/draft-ietf-6man-rfc2460bis-13.txt"> | |||
<front> | ||||
<title>draft-ietf-6man-rfc2460bis-13</title> | ||||
<author fullname="Stephen E. Deering" initials="S." surname="Deering"/> | ||||
<author fullname="Robert M. Hinden" initials="R." surname="Hinden"/> | ||||
<date day="19" month="May" year="2017"/> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-ietf-6man-rfc2460bis-13"/> | ||||
</reference> | ||||
<!-- TCP ISNs --> | <reference anchor="draft-stenn-ntp-not-you-refid-00" target="https://www.ietf.or | |||
g/archive/id/draft-stenn-ntp-not-you-refid-00.txt"> | ||||
<front> | ||||
<title>Network Time Protocol Not You REFID</title> | ||||
<author fullname="Sharon Goldberg" initials="S." surname="Goldberg"> | ||||
<organization>Boston University</organization> | ||||
</author> | ||||
<author fullname="Harlan Stenn" initials="H." surname="Stenn"> | ||||
<organization>Network Time Foundation</organization> | ||||
</author> | ||||
<date day="8" month="July" year="2016"/> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-stenn-ntp-not-you-refid-00"/> | ||||
</reference> | ||||
<?rfc include="reference.RFC.1948" ?> | <reference anchor="draft-ietf-ntp-refid-updates-00" target="https://www.ietf.org | |||
/archive/id/draft-ietf-ntp-refid-updates-00.txt"> | ||||
<front> | ||||
<title>Network Time Protocol REFID Updates</title> | ||||
<author fullname="Harlan Stenn" initials="H." surname="Stenn"/> | ||||
<author fullname="Sharon Goldberg" initials="S." surname="Goldberg"/> | ||||
<date day="13" month="November" year="2016"/> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-ietf-ntp-refid-updates-00"/> | ||||
</reference> | ||||
<reference anchor="Wright1994"> | <reference anchor="Gont-NTP" target="https://mailarchive.ietf.org/arch/m | |||
<front> | sg/ntp/NkfTHxUUOdp14Agh3h1IPqfcRRg"> | |||
<title>TCP/IP Illustrated, Volume 2: The Implementation</ | <front> | |||
title> | <title>[Ntp] Comments on draft-ietf-ntp-refid-updates-05</title> | |||
<author initials="G.R." surname="Wright" fullname= "Gary | <author initials="F." surname="Gont" fullname="Fernando Gont"> | |||
R. Wright"> | <organization/></author> | |||
<organization></organization> | <date day="16" month="April" year="2019"/> | |||
</author> | </front> | |||
<refcontent>message to the IETF NTP mailing list</refcontent> | ||||
</reference> | ||||
<author initials="W.R." surname="Stevens" fullname= "W. R | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5905.xml" | |||
ichard Stevens"> | /> | |||
<organization></organization> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7258.xml" | |||
</author> | /> | |||
<date year="Addison-Wesley, 1994"/> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1948.xml" | |||
</front> | /> | |||
<!-- The usage of the date element (above) avoids an extra space | ||||
before the comma. | ||||
<seriesInfo name="Addison-Wesley" value=""/>--> | ||||
</reference> | ||||
<!-- | <reference anchor="Wright1994"> | |||
<reference anchor="CPNI-TCP" target="http://www.gont.com.ar/papers/tn-03- | <front> | |||
09-security-assessment-TCP.pdf"> | <title>TCP/IP Illustrated, Volume 2: The Implementation</title> | |||
<front> | <author initials="G." surname="Wright" fullname="Gary R. Wright"> | |||
<title>Security Assessment of the Transmission Control Pr | <organization/> | |||
otocol (TCP)</title> | </author> | |||
<author initials="F." surname="Gont" fullname= "Fernando | <author initials="W." surname="Stevens" fullname="W. Richard Stevens | |||
Gont"> | "> | |||
<organization></organization> | <organization/> | |||
</author> | </author> | |||
<date year="2009"/> | <date year="1995" month="February"/> | |||
</front> | </front> | |||
<seriesInfo name="" value="United Kingdom's Centre for the Protec | <refcontent>Addison-Wesley</refcontent> | |||
tion of National Infrastructure (CPNI) Technical Report"/> | ||||
</reference> | </reference> | |||
<reference anchor="Zalewski2001" target="https://lcamtuf.coredump.cx/oldt cp/tcpseq.html"> | <reference anchor="Zalewski2001" target="https://lcamtuf.coredump.cx/oldt cp/tcpseq.html"> | |||
<front> | <front> | |||
<title>Strange Attractors and TCP/IP Sequence Number Anal | <title>Strange Attractors and TCP/IP Sequence Number Analysis (2001) | |||
ysis</title> | </title> | |||
<author initials="M." surname="Zalewski" fullname="M. Zal | <author initials="M." surname="Zalewski" fullname="M. Zalewski"> | |||
ewski"> | <organization/> | |||
<organization></organization> | </author> | |||
</author> | <date year="2001" month="March"/> | |||
<date year="2001"/> | </front> | |||
</front> | </reference> | |||
</reference> | ||||
<reference anchor="Zalewski2002" target="https://lcamtuf.coredump.cx/newt | ||||
cp/"> | ||||
<front> | ||||
<title>Strange Attractors and TCP/IP Sequence Number Anal | ||||
ysis - One Year Later</title> | ||||
<author initials="M." surname="Zalewski" fullname="M. Zal | ||||
ewski"> | ||||
<organization></organization> | ||||
</author> | ||||
<date year="2001"/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="Bellovin1989" target="https://www.cs.columbia.edu/~smb | <reference anchor="Zalewski2002" target="https://lcamtuf.coredump.cx/new | |||
/papers/ipext.pdf"> | tcp/"> | |||
<front> | <front> | |||
<title>Security Problems in the TCP/IP Protocol Suite</ti | <title>Strange Attractors and TCP/IP Sequence Number Analysis - One | |||
tle> | Year Later (2002)</title> | |||
<author initials="S." surname="Bellovin" fullname="Bellov | <author initials="M." surname="Zalewski" fullname="M. Zalewski"> | |||
in"> | <organization/> | |||
<organization></organization> | </author> | |||
</author> | <date year="2002"/> | |||
<date year="Computer Communications Review, vol. 19, no. | </front> | |||
2, pp. 32-48, 1989"/> | </reference> | |||
</front> | ||||
</reference> | ||||
<!-- | <reference anchor="Bellovin1989" target="https://www.cs.columbia.edu/~sm | |||
<reference anchor="Joncheray1995"> | b/papers/ipext.pdf"> | |||
<front> | <front> | |||
<title>A Simple Active Attack Against TCP</title> | <title>Security Problems in the TCP/IP Protocol Suite</title> | |||
<author initials="L." surname="Joncheray" fullname="L. Jo | <author initials="S." surname="Bellovin" fullname="S.M. Bellovin"> | |||
ncheray"> | <organization/> | |||
<organization></organization> | </author> | |||
</author> | <date year="1989" month="April"/> | |||
<date year="Proc. Fifth Usenix UNIX Security Symposium, 1 | </front> | |||
995"/> | <refcontent>Computer Communications Review, vol. 19, no. 2, pp. 32-48</ | |||
</front> | refcontent> | |||
</reference> | </reference> | |||
<reference anchor="Morris1985" target="https://pdos.csail.mit.edu/~rtm/pa pers/117.pdf"> | <reference anchor="Morris1985" target="https://pdos.csail.mit.edu/~rtm/pa pers/117.pdf"> | |||
<front> | <front> | |||
<title>A Weakness in the 4.2BSD UNIX TCP/IP Software</tit | <title>A Weakness in the 4.2BSD UNIX TCP/IP Software</title> | |||
le> | <author initials="R." surname="Morris" fullname="Robert Morris"> | |||
<author initials="R." surname="Morris" fullname="Robert M | <organization/> | |||
orris"> | </author> | |||
<organization></organization> | <date year="1985" month="February"/> | |||
</author> | </front> | |||
<date year="1985"/> | <refcontent>CSTR 117, AT&T Bell Laboratories, Murray Hill, NJ</refc | |||
</front> | ontent> | |||
<seriesInfo name="CSTR 117," value="AT&T Bell Laboratories, M | </reference> | |||
urray Hill, NJ"/> | ||||
</reference> | ||||
<reference anchor="USCERT2001" target="https://www.kb.cert.org/vuls/id/49 | ||||
8440"> | ||||
<front> | ||||
<title>US-CERT Vulnerability Note VU#498440: Multiple TCP | ||||
/IP implementations may use statistically predictable initial sequence numbers | ||||
</title> | ||||
<author initials="" surname="US-CERT" fullname= "US-CERT" | ||||
> | ||||
<organization></organization> | ||||
</author> | ||||
<date year="2001"/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="CERT2001" target="https://resources.sei.cmu.edu/asset_ | ||||
files/WhitePaper/2001_019_001_496192.pdf"> | ||||
<front> | ||||
<title>CERT Advisory CA-2001-09: Statistical Weaknesses i | ||||
n TCP/IP Initial Sequence Numbers | ||||
</title> | ||||
<author initials="" surname="CERT" fullname= "CERT"> | ||||
<organization></organization> | ||||
</author> | ||||
<date year="2001"/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="Shimomura1995" target="https://www.gont.com.ar/docs/po | ||||
st-shimomura-usenet.txt"> | ||||
<front> | ||||
<title>Technical details of the attack described by Marko | ||||
ff in NYT</title> | ||||
<author initials="T." surname="Shimomura" fullname= "Tsut | ||||
omu Shimomura"> | ||||
<organization></organization> | ||||
</author> | ||||
<date year="1995"/> | ||||
</front> | ||||
<seriesInfo name="Message posted in USENET's comp.security.misc n | ||||
ewsgroup" value=" Message-ID: <3g5gkl$5j1@ariel.sdsc.edu>"/> | ||||
</reference> | ||||
<reference anchor='I-D.eddy-rfc793bis-04'> | ||||
<front> | ||||
<title>Transmission Control Protocol Specification</title> | ||||
<author initials='W.' surname='Eddy' fullname='Wesley Eddy'> | ||||
<organization /> | ||||
</author> | ||||
<date month='August' day='25' year='2014' /> | ||||
<abstract><t> | ||||
This document specifies the Internet's Transmission Control Protocol | ||||
(TCP). TCP is an important transport layer protocol in the Internet | ||||
stack, and has continuously evolved over decades of use and growth of | ||||
the Internet. Over this time, a number of changes have been made to | ||||
TCP as it was specified in RFC 793, though these have only been | ||||
documented in a piecemeal fashion. This document collects and brings | ||||
those changes together with the protocol specification from RFC 793. | ||||
This document obsoletes RFC 793 and several other RFCs (TODO: list | ||||
all actual RFCs when finished). | ||||
RFC EDITOR NOTE: If approved for publication as an RFC, this should | ||||
be marked additionally as "STD: 7" and replace RFC 793 in that role.</ | ||||
t></abstract> | ||||
</front> | ||||
<seriesInfo name='Internet-Draft' value='draft-eddy-rfc793bis-04' /> | ||||
<format type='TXT' | ||||
target='https://tools.ietf.org/id/draft-eddy-rfc793bis-04.txt' /> | ||||
</reference> | ||||
<reference anchor="OpenBSD-TCP-ISN-I" target="https://cvsweb.openbsd.org/ | ||||
src/sys/netinet/tcp_subr.c?rev=1.6"> | ||||
<front> | ||||
<title>Implementation of TCP ISN randomization based on r | ||||
andom increments</title> | ||||
<author> | ||||
<organization>OpenBSD</organization> | ||||
</author> | ||||
<date day="29" month="July" year="1996"/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="OpenBSD-TCP-ISN-R" target="https://cvsweb.openbsd.org/ | ||||
src/sys/netinet/tcp_subr.c?rev=1.37"> | ||||
<front> | ||||
<title>Implementation of TCP ISN randomization based on s | ||||
imple randomization</title> | ||||
<author> | ||||
<organization>OpenBSD</organization> | ||||
</author> | ||||
<date day="13" month="December" year="2000"/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="OpenBSD-TCP-ISN-H" target="https://cvsweb.openbsd.org/ | <reference anchor="USCERT2001" target="https://www.kb.cert.org/vuls/id/4 | |||
src/sys/netinet/tcp_subr.c?rev=1.97"> | 98440"> | |||
<front> | <front> | |||
<title>Implementation of RFC1948 for TCP ISN randomizatio | <title>Multiple TCP/IP implementations may use statistically predict | |||
n</title> | able initial sequence numbers</title> | |||
<author> | <author> | |||
<organization>OpenBSD</organization> | <organization>CERT CC</organization> | |||
</author> | </author> | |||
<date day="13" month="December" year="2000"/> | <date year="2001" month="March"/> | |||
</front> | </front> | |||
</reference> | <refcontent>Vulnerability Note VU#498440</refcontent> | |||
</reference> | ||||
<!-- NTP Port Randomization --> | <reference anchor="CERT2001" target="https://resources.sei.cmu.edu/asset | |||
_files/WhitePaper/2001_019_001_496192.pdf"> | ||||
<front> | ||||
<title>CERT Advisory CA-2001-09: Statistical Weaknesses in TCP/IP In | ||||
itial Sequence Numbers</title> | ||||
<author> | ||||
<organization>CERT/CC</organization> | ||||
</author> | ||||
<date year="2001" month="May"/> | ||||
</front> | ||||
</reference> | ||||
<?rfc include="reference.I-D.gont-ntp-port-randomization" ?> | <reference anchor="Shimomura1995" target="https://www.gont.com.ar/files/ | |||
<?rfc include="reference.I-D.ietf-ntp-port-randomization" ?> | post-shimomura-usenet.txt"> | |||
<?rfc include="reference.RFC.9109" ?> | <front> | |||
<title>Technical details of the attack described by Markoff in NYT</ | ||||
title> | ||||
<author initials="T." surname="Shimomura" fullname="Tsutomu Shimomur | ||||
a"> | ||||
<organization/> | ||||
</author> | ||||
<date day="25" year="1995" month="January"/> | ||||
</front> | ||||
<refcontent>message to the USENET comp.security.misc newsgroup</refcont | ||||
ent> | ||||
</reference> | ||||
<reference anchor="NTP-PORTR" target="https://mailarchive.ietf.org/arch/b | <reference anchor="draft-eddy-rfc793bis-04" target="https://www.ietf.org | |||
rowse/ntp/?gbt=1&index=n09Sb61WkH03lSRtamkELXwEQN4"> | /archive/id/draft-eddy-rfc793bis-04.txt"> | |||
<front> | <front> | |||
<title>[Ntp] New rev of the NTP port randomization I-D (F | <title>Transmission Control Protocol Specification</title> | |||
wd: New Version Notification for draft-gont-ntp-port-randomization-01.txt)</titl | <author fullname="Wesley Eddy" initials="W." surname="Eddy" role="editor"/> | |||
e> | <date day="25" month="August" year="2014"/> | |||
<author fullname="Fernando Gont" initials="F." surname="Gont"> | </front> | |||
<organization abbrev="SI6 Networks / UTN-FRH">SI6 Networks / UTN-FRH</orga | <seriesInfo name="Internet-Draft" value="draft-eddy-rfc793bis-04"/> | |||
nization> | </reference> | |||
<address> | <reference anchor="OpenBSD-TCP-ISN-I" target="https://cvsweb.openbsd.org | |||
<postal> | /src/sys/netinet/tcp_subr.c?rev=1.6"> | |||
<street>Evaristo Carriego 2644</street> | <front> | |||
<code>1706</code> | <title>Implementation of TCP ISN randomization based on random incre | |||
<city>Haedo</city> | ments</title> | |||
<region>Provincia de Buenos Aires</region> | <author> | |||
<country>Argentina</country> | <organization>OpenBSD</organization> | |||
</postal> | </author> | |||
<date month="July" year="1996"/> | ||||
</front> | ||||
</reference> | ||||
<phone>+54 11 4650 8472</phone> | <reference anchor="OpenBSD-TCP-ISN-R" target="https://cvsweb.openbsd.org | |||
<email>fgont@si6networks.com</email> | /src/sys/netinet/tcp_subr.c?rev=1.37"> | |||
<uri>https://www.si6networks.com</uri> | <front> | |||
<title>Implementation of TCP ISN randomization based on simple rando | ||||
mization</title> | ||||
<author> | ||||
<organization>OpenBSD</organization> | ||||
</author> | ||||
<date month="December" year="2000"/> | ||||
</front> | ||||
</reference> | ||||
</address> | <reference anchor="OpenBSD-TCP-ISN-H" target="https://cvsweb.openbsd.org | |||
</author> | /src/sys/netinet/tcp_subr.c?rev=1.97"> | |||
<date year="2019"/> | <front> | |||
</front> | <title>Implementation of RFC1948 for TCP ISN randomization</title> | |||
<author> | ||||
<organization>OpenBSD</organization> | ||||
</author> | ||||
<date month="June" year="2007"/> | ||||
</front> | ||||
</reference> | ||||
</reference> | <reference anchor="draft-gont-ntp-port-randomization-00" target="https://www.iet | |||
f.org/archive/id/draft-gont-ntp-port-randomization-00.txt"> | ||||
<front> | ||||
<title>Port Randomization in the Network Time Protocol Version 4</title> | ||||
<author fullname="Fernando Gont" initials="F." surname="Gont"/> | ||||
<author fullname="Guillermo Gont" initials="G." surname="Gont"/> | ||||
<date day="16" month="April" year="2019"/> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-gont-ntp-port-randomization-00" | ||||
/> | ||||
</reference> | ||||
<reference anchor="NIST-NTP" target="https://tf.nist.gov/general/pdf/2818 | <reference anchor="draft-ietf-ntp-port-randomization-00" target="https://www.iet | |||
.pdf"> | f.org/archive/id/draft-ietf-ntp-port-randomization-00.txt"> | |||
<front> | <front> | |||
<title>Usage Analysis of the NIST Internet Time Service</ | <title>Port Randomization in the Network Time Protocol Version 4</title> | |||
title> | <author fullname="Fernando Gont" initials="F." surname="Gont"/> | |||
<author fullname="Guillermo Gont" initials="G." surname="Gont"/> | ||||
<author fullname="Miroslav Lichvar" initials="M." surname="Lichvar"/> | ||||
<date day="22" month="October" year="2019"/> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-ietf-ntp-port-randomization-00" | ||||
/> | ||||
</reference> | ||||
<author initials="J.A." surname="Sherman" fullname="Jeff | <reference anchor="draft-ietf-ntp-port-randomization-08" target="https://www.iet | |||
A. Sherman"> | f.org/archive/id/draft-ietf-ntp-port-randomization-08.txt"> | |||
<organization></organization> | <front> | |||
</author> | <title>Port Randomization in the Network Time Protocol Version 4</title> | |||
<author fullname="Fernando Gont" initials="F." surname="Gont"/> | ||||
<author fullname="Guillermo Gont" initials="G." surname="Gont"/> | ||||
<author fullname="Miroslav Lichvar" initials="M." surname="Lichvar"/> | ||||
<date day="10" month="June" year="2021"/> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-ietf-ntp-port-randomization-00" | ||||
/> | ||||
</reference> | ||||
<author initials="J." surname="Levine" fullname="Judah Le | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9109.xml" | |||
vine"> | /> | |||
<organization></organization> | ||||
</author> | ||||
<date year="2016" month="March" day="8"/> | ||||
</front> | ||||
<seriesInfo name="Journal of Research of the National Institute o | ||||
f Standards and Technology" value="Volume 121" /> | ||||
</reference> | ||||
<reference anchor="IPID-DEV" target="https://arxiv.org/pdf/1906.10478.pdf | <reference anchor="NTP-PORTR" target="https://mailarchive.ietf.org/arch/ | |||
"> | msg/ntp/xSCu5Vhb3zoWcqEjUMmzP8pOdW4/"> | |||
<front> | <front> | |||
<title>From IP ID to Device ID and KASLR Bypass (Extended | <title>[Ntp] New rev of the NTP port randomization I-D (Fwd: New Ver | |||
Version)</title> | sion Notification for draft-gont-ntp-port-randomization-01.txt)</title> | |||
<author fullname="Fernando Gont" initials="F." surname="Gont"> | ||||
</author> | ||||
<date day="21" month="May" year="2019"/> | ||||
</front> | ||||
<refcontent>message to the IETF NTP mailing list</refcontent> | ||||
</reference> | ||||
<author initials="A." surname="Klein" fullname="Amit Klei | <reference anchor="NIST-NTP" target="https://tf.nist.gov/general/pdf/281 | |||
n"> | 8.pdf"> | |||
<organization></organization> | <front> | |||
</author> | <title>Usage Analysis of the NIST Internet Time Service</title> | |||
<author initials="J." surname="Sherman" fullname="Jeff A. Sherman"> | ||||
<organization/> | ||||
</author> | ||||
<author initials="J." surname="Levine" fullname="Judah Levine"> | ||||
<organization/> | ||||
</author> | ||||
<date year="2016" month="March"/> | ||||
</front> | ||||
<refcontent>Journal of Research of the National Institute of Standards | ||||
and Technology, Volume 121</refcontent> | ||||
</reference> | ||||
<author initials="B." surname="Pinkas" fullname="Benny Pi | <reference anchor="IPID-DEV" target="https://arxiv.org/pdf/1906.10478.pd | |||
nkas"> | f"> | |||
<organization></organization> | <front> | |||
</author> | <title>From IP ID to Device ID and KASLR Bypass (Extended Version)</ | |||
<date year="2019" month="June"/> | title> | |||
</front> | <author initials="A." surname="Klein" fullname="Amit Klein"> | |||
<!-- | <organization/> | |||
<seriesInfo name="Journal of Research of the National Institute o | </author> | |||
f Standards and Technology" value="Volume 121" /> | <author initials="B." surname="Pinkas" fullname="Benny Pinkas"> | |||
<organization/> | ||||
</author> | ||||
<date year="2019" month="October"/> | ||||
</front> | ||||
<seriesInfo name="DOI" value="10.48550/arXiv.1906.10478"/> | ||||
</reference> | </reference> | |||
<!-- ICMP attacks | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1035.xml" | |||
<?rfc include="reference.RFC.5927" ?> | /> | |||
--> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6274.xml" | |||
/> | ||||
<!-- IPv6 Flow Label | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7739.xml" | |||
<?rfc include="reference.I-D.gont-6man-flowlabel-security" ?> | /> | |||
<?rfc include="reference.RFC.7098" ?> | ||||
<!-- DNS --> | ||||
<?rfc include="reference.RFC.1035" ?> | ||||
<!-- Fragment ID --> | ||||
<!-- IPv4 security --> | ||||
<?rfc include="reference.RFC.6274" ?> | ||||
<?rfc include="reference.RFC.7739" ?> | ||||
<!-- <?rfc include="reference.RFC.4963" ?> --> <!-- IPv4 Reassembly Errors at | ||||
High Data Rates --> | ||||
<reference anchor="Bellovin2002" target="https://www.cs.columbia.edu/~smb /papers/fnat.pdf"> | <reference anchor="Bellovin2002" target="https://www.cs.columbia.edu/~smb /papers/fnat.pdf"> | |||
<front> | <front> | |||
<title>A Technique for Counting NATted Hosts</title> | <title>A Technique for Counting NATted Hosts</title> | |||
<author initials="S. M." surname="Bellovin" fullname= "Be | <author initials="S." surname="Bellovin" fullname="Steven M. Bellovi | |||
llovin, S. M."> | n"> | |||
<organization></organization> | <organization/> | |||
</author> | </author> | |||
<date year="2002"/> | <date year="2002" month="November"/> | |||
</front> | </front> | |||
<seriesInfo name="IMW'02" value="Nov. 6-8, 2002, Marseille, Franc | <refcontent>IMW'02, Marseille, France</refcontent> | |||
e"/> | <seriesInfo name="DOI" value="10.1145/637201.637243"/> | |||
</reference> | </reference> | |||
<reference anchor="Fyodor2002" target="http://www.insecure.org/nmap/idles | ||||
can.html"> | ||||
<front> | ||||
<title>Idle scanning and related IP ID games</title> | ||||
<author initials="" surname="Fyodor" fullname= "Fyodor"> | ||||
<organization></organization> | ||||
</author> | ||||
<date year="2002"/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="Sanfilippo1998a" target="http://seclists.org/bugtraq/1 | ||||
998/Dec/48"> | ||||
<front> | ||||
<title>about the ip header id</title> | ||||
<author initials="S." surname="Sanfilippo" fullname="S. S | ||||
anfilippo"> | ||||
<organization></organization> | ||||
</author> | ||||
<date/> | ||||
</front> | ||||
<seriesInfo name="Post to Bugtraq mailing-list," value="Mon Dec 1 | ||||
4 1998" /> | ||||
</reference> | ||||
<reference anchor="Sanfilippo1998b" target="https://github.com/antirez/hp | ||||
ing/raw/master/docs/SPOOFED_SCAN.txt"> | ||||
<front> | ||||
<title>Idle scan</title> | ||||
<author initials="S." surname="Sanfilippo" fullname="S. S | ||||
anfilippo"> | ||||
<organization></organization> | ||||
</author> | ||||
<date year="1998"/> | ||||
</front> | ||||
<seriesInfo name="Post to Bugtraq" value="mailing-list" /> | ||||
</reference> | ||||
<reference anchor="Sanfilippo1999" target="https://github.com/antirez/hpi | ||||
ng/raw/master/docs/MORE-FUN-WITH-IPID"> | ||||
<front> | ||||
<title>more ip id</title> | ||||
<author initials="S." surname="Sanfilippo" fullname="S. S | ||||
anfilippo"> | ||||
<organization></organization> | ||||
</author> | ||||
<date year="1999"/> | ||||
</front> | ||||
<seriesInfo name="Post to Bugtraq" value="mailing-list" /> | ||||
</reference> | ||||
<reference anchor="Morbitzer2013" target="https://seclists.org/nmap-dev/2 | ||||
013/q2/394"> | ||||
<front> | ||||
<title>[PATCH] TCP Idle Scan in IPv6</title> | ||||
<author initials="M." surname="Morbitzer" fullname= "Math | ||||
ias Morbitzer"> | ||||
<organization></organization> | ||||
</author> | ||||
<date year="2013"/> | ||||
</front> | ||||
<seriesInfo name="" value="Message posted to the nmap-dev mailing | ||||
-list"/> | ||||
</reference> | ||||
<reference anchor="OpenBSD-IPv4-ID" target="https://cvsweb.openbsd.org/sr | ||||
c/sys/netinet/ip_id.c?rev=1.1"> | ||||
<front> | ||||
<title>Randomization of the IPv4 Identification field</ti | ||||
tle> | ||||
<author> | ||||
<organization>OpenBSD</organization> | ||||
</author> | ||||
<date day="26" month="December" year="1998"/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="OpenBSD-IPv6-ID" target="https://cvsweb.openbsd.org/sr | ||||
c/sys/netinet6/ip6_id.c?rev=1.1"> | ||||
<front> | ||||
<title>Randomization of the IPv6 Identification field</ti | ||||
tle> | ||||
<author> | ||||
<organization>OpenBSD</organization> | ||||
</author> | ||||
<date day="1" month="October" year="2003"/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="Silbersack2005" target="https://citeseerx.ist.psu.edu/ | ||||
viewdoc/download?doi=10.1.1.91.4542&rep=rep1&type=pdf"> | ||||
<front> | ||||
<title>Improving TCP/IP security through randomization wi | ||||
thout sacrificing interoperability</title> | ||||
<author initials="M.J." surname="Silbersack" fullname="Mi | ||||
chael James Silbersack"> | ||||
<organization>The FreeBSD Project</organization> | ||||
</author> | ||||
<date year="2005"/> | ||||
</front> | ||||
<seriesInfo name="EuroBSDCon 2005" value="Conference"/> | ||||
</reference> | ||||
<reference anchor="Zalewski2003" target="https://lcamtuf.coredump.cx/ipfr | ||||
ag.txt"> | ||||
<front> | ||||
<title>A new TCP/IP blind data injection technique?</titl | ||||
e> | ||||
<author initials="M." surname="Zalewski" fullname="M. Zal | ||||
ewski"> | ||||
<organization></organization> | ||||
</author> | ||||
<date year="2003"/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="Arce1997" target="http://www.openbsd.org/advisories/sn | ||||
i_12_resolverid.txt"> | ||||
<front> | ||||
<title>BIND Vulnerabilities and Solutions</title> | ||||
<author initials="I." surname="Arce" fullname="Ivan Arce" | ||||
> | ||||
<organization>Core Seguridad del Informacion</org | ||||
anization> | ||||
</author> | ||||
<author initials="E." surname="Kargieman" fullname="Emili | ||||
ano Kargieman"> | ||||
<organization>Core Seguridad del Informacion</org | ||||
anization> | ||||
</author> | ||||
<date year="1997"/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="Klein2007" target="https://dl.packetstormsecurity.net/ | ||||
papers/attack/OpenBSD_DNS_Cache_Poisoning_and_Multiple_OS_Predictable_IP_ID_Vuln | ||||
erability.pdf"> | ||||
<front> | ||||
<title>OpenBSD DNS Cache Poisoning and Multiple O/S Predi | ||||
ctable IP ID Vulnerability</title> | ||||
<author initials="A." surname="Klein" fullname="Amit Klei | ||||
n"> | ||||
<organization></organization> | ||||
</author> | ||||
<date year="2007"/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="Gont2011"> | ||||
<front> | ||||
<title>Hacking IPv6 Networks (training course)</title> | ||||
<author initials="F." surname="Gont" fullname="Fernando G | ||||
ont"> | ||||
<organization></organization> | ||||
</author> | ||||
<date month="June" year="2011"/> | ||||
</front> | ||||
<seriesInfo name="Hack In Paris 2011 Conference" value="P | ||||
aris, France"/> | ||||
</reference> | ||||
<reference anchor="RedHat2011" target="https://rhn.redhat.com/errata/RHSA | ||||
-2011-1465.html"> | ||||
<front> | ||||
<title>RedHat Security Advisory RHSA-2011:1465-1: Importa | ||||
nt: kernel security and bug fix update</title> | ||||
<author initials="" surname="RedHat" fullname="RedHat"> | ||||
<organization></organization> | ||||
</author> | ||||
<date year="2011"/> | ||||
</front> | ||||
<!-- <seriesInfo name="Hack In Paris 2011 Conf | ||||
erence" value="Paris, France"/> --> | ||||
</reference> | ||||
<reference anchor="Ubuntu2011" target="https://ubuntu.com/security/notice | ||||
s/USN-1253-1"> | ||||
<front> | ||||
<title>Ubuntu: USN-1253-1: Linux kernel vulnerabilities</ | ||||
title> | ||||
<author initials="" surname="Ubuntu" fullname="Ubuntu"> | ||||
<organization></organization> | ||||
</author> | ||||
<date year="2011"/> | ||||
</front> | ||||
<!-- <seriesInfo name="Hack In Paris 2011 Conf | ||||
erence" value="Paris, France"/> --> | ||||
</reference> | ||||
<reference anchor="SUSE2011" target="https://lists.opensuse.org/opensuse- | ||||
security-announce/2011-12/msg00011.html"> | ||||
<front> | ||||
<title>SUSE Security Announcement: Linux kernel security | ||||
update (SUSE-SA:2011:046)</title> | ||||
<author initials="" surname="SUSE" fullname="SUSE"> | ||||
<organization></organization> | ||||
</author> | ||||
<date year="2011"/> | ||||
</front> | ||||
<!-- <seriesInfo name="Hack In Paris 2011 Conf | ||||
erence" value="Paris, France"/> --> | ||||
</reference> | ||||
<reference anchor="Gont2012" target="https://www.si6networks.com/files/pr | ||||
esentations/bsdcan2012/fgont-bsdcan2012-recent-advances-in-ipv6-security.pdf"> | ||||
<front> | ||||
<title>Recent Advances in IPv6 Security</title> | ||||
<author initials="F." surname="Gont" fullname="Fernando G | ||||
ont"> | ||||
<organization></organization> | ||||
</author> | ||||
<date month="May" year="2012"/> | ||||
</front> | ||||
<seriesInfo name="BSDCan 2012 Conference" value="Ottawa, | ||||
Canada. May 11-12, 2012"/> | ||||
</reference> | ||||
<?rfc include="reference.I-D.gont-6man-predictable-fragment-id" ?> | <reference anchor="Fyodor2002" target="https://nmap.org/presentations/Ca | |||
<?rfc include="reference.I-D.ietf-6man-predictable-fragment-id" ?> | nSecWest03/CD_Content/idlescan_paper/idlescan.html"> | |||
<front> | ||||
<title>Idle scanning and related IP ID games</title> | ||||
<author> | ||||
<organization>Fyodor</organization> | ||||
</author> | ||||
<date year="2002" month="September"/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor='draft-ietf-6man-predictable-fragment-id-01'> | <reference anchor="Sanfilippo1998a" target="http://seclists.org/bugtraq/ | |||
<front> | 1998/Dec/48"> | |||
<title>Security Implications of Predictable Fragment Identification Value | <front> | |||
s</title> | <title>about the ip header id</title> | |||
<author initials="S." surname="Sanfilippo" fullname="Salvatore Sanfi | ||||
lippo"> | ||||
<organization/> | ||||
</author> | ||||
<date day="14" month="December" year="1998"/> | ||||
</front> | ||||
<refcontent>message to the Bugtraq mailing list</refcontent> | ||||
</reference> | ||||
<author initials='F.' surname='Gont' fullname='Fernando Gont'> | <reference anchor="Sanfilippo1998b" target="https://seclists.org/bugtraq | |||
<organization /> | /1998/Dec/79"> | |||
</author> | <front> | |||
<title>new tcp scan method</title> | ||||
<author initials="S." surname="Sanfilippo" fullname="Salvatore Sanfi | ||||
lippo"> | ||||
<organization/> | ||||
</author> | ||||
<date year="1998" month="December" day="18"/> | ||||
</front> | ||||
<refcontent>message to the Bugtraq mailing list</refcontent> | ||||
</reference> | ||||
<date month='April' day='30' year='2014' /> | <reference anchor="Sanfilippo1999" target="https://github.com/antirez/hp | |||
ing/raw/master/docs/MORE-FUN-WITH-IPID"> | ||||
<front> | ||||
<title>more ip id</title> | ||||
<author initials="S." surname="Sanfilippo" fullname="S. Sanfilippo"> | ||||
<organization/> | ||||
</author> | ||||
<date year="1999" month="November"/> | ||||
</front> | ||||
<refcontent>message to the Bugtraq mailing list</refcontent> | ||||
</reference> | ||||
</front> | <reference anchor="Morbitzer2013" target="https://seclists.org/nmap-dev/ | |||
2013/q2/394"> | ||||
<front> | ||||
<title>[PATCH] TCP Idle Scan in IPv6</title> | ||||
<author initials="M." surname="Morbitzer" fullname="Mathias Morbitze | ||||
r"> | ||||
<organization/> | ||||
</author> | ||||
<date day="3" year="2013" month="June"/> | ||||
</front> | ||||
<refcontent>message to the nmap-dev mailing list</refcontent> | ||||
</reference> | ||||
<seriesInfo name='Internet-Draft' value='draft-ietf-6man-predictable-frag | <reference anchor="OpenBSD-IPv4-ID" target="https://cvsweb.openbsd.org/s | |||
ment-id-01' /> | rc/sys/netinet/ip_id.c?rev=1.1"> | |||
<front> | ||||
<title>Randomization of the IPv4 Identification field</title> | ||||
<author> | ||||
<organization>OpenBSD</organization> | ||||
</author> | ||||
<date month="December" year="1998"/> | ||||
</front> | ||||
</reference> | ||||
<format type='TXT' | <reference anchor="OpenBSD-IPv6-ID" target="https://cvsweb.openbsd.org/s | |||
target='https://tools.ietf.org/id/draft-ietf-6man-predictable-fra | rc/sys/netinet6/ip6_id.c?rev=1.1"> | |||
gment-id-01.txt' /> | <front> | |||
</reference> | <title>Randomization of the IPv6 Identification field</title> | |||
<author> | ||||
<organization>OpenBSD</organization> | ||||
</author> | ||||
<date month="October" year="2003"/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor='draft-ietf-6man-predictable-fragment-id-02'> | <reference anchor="Silbersack2005" target="https://citeseerx.ist.psu.edu | |||
<front> | /viewdoc/download?doi=10.1.1.91.4542&rep=rep1&type=pdf"> | |||
<title>Security Implications of Predictable Fragment Identification Value | <front> | |||
s</title> | <title>Improving TCP/IP security through randomization without sacri | |||
ficing interoperability</title> | ||||
<author initials="M." surname="Silbersack" fullname="Michael James S | ||||
ilbersack"> | ||||
<organization>The FreeBSD Project</organization> | ||||
</author> | ||||
<date year="2005" month="January"/> | ||||
</front> | ||||
<refcontent>EuroBSDCon 2005 Conference</refcontent> | ||||
</reference> | ||||
<author initials='F.' surname='Gont' fullname='Fernando Gont'> | <reference anchor="Zalewski2003" target="https://lcamtuf.coredump.cx/ipf | |||
<organization /> | rag.txt"> | |||
</author> | <front> | |||
<title>A new TCP/IP blind data injection technique?</title> | ||||
<author initials="M." surname="Zalewski" fullname="Michal Zalewski"> | ||||
<organization/> | ||||
</author> | ||||
<date year="2003" month="December"/> | ||||
</front> | ||||
</reference> | ||||
<date month='December' day='19' year='2014' /> | <reference anchor="Arce1997" target="http://www.openbsd.org/advisories/s | |||
ni_12_resolverid.txt"> | ||||
<front> | ||||
<title>BIND Vulnerabilities and Solutions</title> | ||||
<author initials="I." surname="Arce" fullname="Ivan Arce"> | ||||
<organization>Core Seguridad del Informacion</organization> | ||||
</author> | ||||
<author initials="E." surname="Kargieman" fullname="Emiliano Kargiem | ||||
an"> | ||||
<organization>Core Seguridad del Informacion</organization> | ||||
</author> | ||||
<date year="1997" month="April"/> | ||||
</front> | ||||
</reference> | ||||
</front> | <reference anchor="Klein2007" target="https://dl.packetstormsecurity.net | |||
/papers/attack/OpenBSD_DNS_Cache_Poisoning_and_Multiple_OS_Predictable_IP_ID_Vul | ||||
nerability.pdf"> | ||||
<front> | ||||
<title>OpenBSD DNS Cache Poisoning and Multiple O/S Predictable IP I | ||||
D Vulnerability</title> | ||||
<author initials="A." surname="Klein" fullname="Amit Klein"> | ||||
<organization/> | ||||
</author> | ||||
<date year="2007" month="October"/> | ||||
</front> | ||||
</reference> | ||||
<seriesInfo name='Internet-Draft' value='draft-ietf-6man-predictable-frag | <reference anchor="Gont2011" target="https://www.si6networks.com/files/p | |||
ment-id-02' /> | resentations/hip2011/fgont-hip2011-hacking-ipv6-networks.pdf"> | |||
<front> | ||||
<title>Hacking IPv6 Networks (training course)</title> | ||||
<author initials="F." surname="Gont" fullname="Fernando Gont"> | ||||
<organization/> | ||||
</author> | ||||
<date month="June" year="2011"/> | ||||
</front> | ||||
<refcontent>Hack In Paris 2011 Conference, Paris, France</refcontent> | ||||
</reference> | ||||
<format type='TXT' | <reference anchor="RedHat2011" target="https://rhn.redhat.com/errata/RHS | |||
target='https://tools.ietf.org/id/draft-ietf-6man-predictable-fra | A-2011-1465.html"> | |||
gment-id-02.txt' /> | <front> | |||
<title>RHSA-2011:1465-1 - Security Advisory</title> | ||||
<author> | ||||
<organization>Red Hat</organization> | ||||
</author> | ||||
<date year="2011" month="November"/> | ||||
</front> | ||||
</reference> | </reference> | |||
<reference anchor='draft-gont-6man-predictable-fragment-id-00'> | <reference anchor="Ubuntu2011" target="https://ubuntu.com/security/notic | |||
<front> | es/USN-1253-1"> | |||
<title>Security Implications of Predictable Fragment Identification Value | <front> | |||
s</title> | <title>USN-1253-1: Linux kernel vulnerabilities</title> | |||
<author> | ||||
<author initials='F.' surname='Gont' fullname='Fernando Gont'> | <organization>Ubuntu</organization> | |||
<organization /> | </author> | |||
</author> | <date year="2011" month="November"/> | |||
</front> | ||||
<date month='December' day='15' year='2011' /> | ||||
<abstract><t>IPv6 specifies the Fragment Header, which is employed for th | ||||
e | ||||
fragmentation and reassembly mechanisms. The Fragment Header | ||||
contains an "Identification" field which, together with the IPv6 | ||||
Source Address and the IPv6 Destination Address of the packet, | ||||
identifies fragments that correspond to the same original datagram, | ||||
such that they can be reassembled together at the receiving host. | ||||
The only requirement for setting the "Identification" value is that | ||||
it must be different than that of any other fragmented packet sent | ||||
recently with the same Source Address and Destination Address. Some | ||||
implementations simply use a global counter for setting the Fragment | ||||
Identification field, thus leading to predictable values. This | ||||
document analyzes the security implications of predictable | ||||
Identification values, and updates RFC 2460 specifying additional | ||||
requirements for setting the Fragment Identification, such that the | ||||
aforementioned security implications are mitigated.</t></abstract> | ||||
</front> | ||||
<seriesInfo name='Internet-Draft' value='draft-gont-6man-predictable-frag | ||||
ment-id-00' /> | ||||
<format type='TXT' | ||||
target='https://tools.ietf.org/id/draft-gont-6man-predictable-fra | ||||
gment-id-00.txt' /> | ||||
</reference> | </reference> | |||
<reference anchor='draft-ietf-6man-predictable-fragment-id-00'> | <reference anchor="SUSE2011" target="https://lists.opensuse.org/opensuse | |||
<front> | -security-announce/2011-12/msg00011.html"> | |||
<title>Security Implications of Predictable Fragment Identification Value | <front> | |||
s</title> | <title>[security-announce] SUSE Security Announcement: Linux kernel | |||
security update (SUSE-SA:2011:046)</title> | ||||
<author initials='F.' surname='Gont' fullname='Fernando Gont'> | <author initials="M." surname="Meissner" fullname="Marcus Meissner"> | |||
<organization /> | <organization>SUSE</organization> | |||
</author> | </author> | |||
<date day="13" year="2011" month="December"/> | ||||
<date month='March' day='22' year='2013' /> | </front> | |||
<refcontent>message to the openSUSE Security Announce mailing list</ref | ||||
</front> | content> | |||
<seriesInfo name='Internet-Draft' value='draft-ietf-6man-predictable-frag | ||||
ment-id-00' /> | ||||
<format type='TXT' | ||||
target='https://tools.ietf.org/id/draft-ietf-6man-predictable-fra | ||||
gment-id-00.txt' /> | ||||
</reference> | </reference> | |||
<reference anchor='draft-ietf-6man-predictable-fragment-id-08'> | <reference anchor="Gont2012" target="https://www.si6networks.com/files/p | |||
<front> | resentations/bsdcan2012/fgont-bsdcan2012-recent-advances-in-ipv6-security.pdf"> | |||
<title>Security Implications of Predictable Fragment Identification Value | <front> | |||
s</title> | <title>Recent Advances in IPv6 Security</title> | |||
<author initials="F." surname="Gont" fullname="Fernando Gont"> | ||||
<author initials='F.' surname='Gont' fullname='Fernando Gont'> | <organization/></author> | |||
<organization /> | <date month="May" year="2012"/> | |||
</author> | </front> | |||
<refcontent>BSDCan 2012 Conference, Ottawa, Canada</refcontent> | ||||
<date month='June' day='9' year='2015' /> | </reference> | |||
<abstract><t>IPv6 specifies the Fragment Header, which is employed for th | ||||
e | ||||
fragmentation and reassembly mechanisms. The Fragment Header | ||||
contains an "Identification" field which, together with the IPv6 | ||||
Source Address and the IPv6 Destination Address of a packet, | ||||
identifies fragments that correspond to the same original datagram, | ||||
such that they can be reassembled together by the receiving host. | ||||
The only requirement for setting the "Identification" field is that | ||||
the corresponding value must be different than that employed for any | ||||
other fragmented packet sent recently with the same Source Address | ||||
and Destination Address. Some implementations use a simple global | ||||
counter for setting the Identification field, thus leading to | ||||
predictable Identification values. This document analyzes the | ||||
security implications of predictable Identification values, and | ||||
provides implementation guidance for selecting the Identification | ||||
field of the Fragment Header, such that the aforementioned security | ||||
implications are mitigated.</t></abstract> | ||||
</front> | <reference anchor="draft-gont-6man-predictable-fragment-id-03" target="https://w | |||
ww.ietf.org/archive/id/draft-gont-6man-predictable-fragment-id-03.txt"> | ||||
<front> | ||||
<title>Security Implications of Predictable Fragment Identification Values</ | ||||
title> | ||||
<author fullname="Fernando Gont" initials="F." surname="Gont"/> | ||||
<date day="9" month="January" year="2013"/> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-gont-6man-predictable-fragment- | ||||
id-03"/> | ||||
</reference> | ||||
<seriesInfo name='Internet-Draft' value='draft-ietf-6man-predictable-frag | <reference anchor="draft-ietf-6man-predictable-fragment-id-10" target="https://w | |||
ment-id-08' /> | ww.ietf.org/archive/id/draft-ietf-6man-predictable-fragment-id-10.txt"> | |||
<format type='TXT' | <front> | |||
target='https://tools.ietf.org/id/draft-ietf-6man-predictable-fra | <title>Security Implications of Predictable Fragment Identification Values</ | |||
gment-id-08.txt' /> | title> | |||
</reference> | <author fullname="Fernando Gont" initials="F." surname="Gont"/> | |||
<date day="9" month="October" year="2015"/> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-ietf-6man-predictable-fragment- | ||||
id-10"/> | ||||
</reference> | ||||
<!-- | <reference anchor="draft-ietf-6man-predictable-fragment-id-01" target="https://w | |||
<reference anchor='I-D.hinden-6man-rfc2460bis-07'> | ww.ietf.org/archive/id/draft-ietf-6man-predictable-fragment-id-01.txt"> | |||
<front> | <front> | |||
<title>Internet Protocol, Version 6 (IPv6) Specification</title> | <title> | |||
Security Implications of Predictable Fragment Identification Values | ||||
<author initials='S.E.' surname='Deering' fullname='Stephen E. Deering'> | </title> | |||
<author initials='R.M.' surname='Hinden' fullname='Robert M. Hinden'> | <author fullname="Fernando Gont" initials="F." surname="Gont"/> | |||
<date day="29" month="April" year="2014"/> | ||||
<organization /> | ||||
</author> | ||||
<date month='June' day='9' year='2015' /> | ||||
<abstract><t> This document specifies version 6 of the Internet Protocol (IPv6 | ||||
), | ||||
also sometimes referred to as IP Next Generation or IPng. It | ||||
obsoletes RFC2460.</t></abstract> | ||||
</front> | </front> | |||
<seriesInfo name="Internet-Draft" value="draft-ietf-6man-predictable-fragment-id | ||||
<seriesInfo name='Internet-Draft' value='draft-ietf-6man-rfc2460bis-02' /> | -01"/> | |||
<format type='TXT' | ||||
target='http://www.ietf.org/internet-drafts/draft-ietf-6man-rfc2460bis-0 | ||||
2.txt' /> | ||||
</reference> | </reference> | |||
<reference anchor="draft-ietf-6man-predictable-fragment-id-02" target="h | ||||
<!-- http://u.cs.biu.ac.il/~herzbea/security/13-03-frag.pdf --> | ttps://datatracker.ietf.org/doc/html/draft-ietf-6man-predictable-fragment-id-02" | |||
> | ||||
<!-- DNS --> | <front> | |||
<title>Security Implications of Predictable Fragment Identification | ||||
Values</title> | ||||
<author initials="F." surname="Gont" fullname="Fernando Gont"> | ||||
<organization/></author> | ||||
<date month="December" day="19" year="2014"/> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-ietf-6man-predictable-f | ||||
ragment-id-02"/> | ||||
</reference> | ||||
<reference anchor="Schuba1993" target="http://ftp.cerias.purdue.edu/pub/papers/c | <reference anchor="draft-gont-6man-predictable-fragment-id-00" target="https://w | |||
hristoph-schuba/schuba-DNS-msthesis.pdf"> | ww.ietf.org/archive/id/draft-gont-6man-predictable-fragment-id-00.txt"> | |||
<front> | <front> | |||
<title>ADDRESSING WEAKNESSES IN THE DOMAIN NAME SYSTEM PR | <title> | |||
OTOCOL</title> | Security Implications of Predictable Fragment Identification Values | |||
<author initials="C." surname="Schuba" fullname="Christop | </title> | |||
h Schuba"> | <author fullname="Fernando Gont" initials="F." surname="Gont"/> | |||
<organization></organization> | <date day="15" month="December" year="2011"/> | |||
</author> | </front> | |||
<date year="1993"/> | <seriesInfo name="Internet-Draft" value="draft-gont-6man-predictable-fragment-id | |||
</front> | -00"/> | |||
</reference> | </reference> | |||
<reference anchor="Vixie1995" target="https://www.usenix.org/legacy/publi | <reference anchor="draft-ietf-6man-predictable-fragment-id-00" target="https://w | |||
cations/library/proceedings/security95/full_papers/vixie.pdf"> | ww.ietf.org/archive/id/draft-ietf-6man-predictable-fragment-id-00.txt"> | |||
<front> | <front> | |||
<title>DNS and BIND Security Issues</title> | <title> | |||
<author initials="P." surname="Vixie" fullname="Paul Vixi | Security Implications of Predictable Fragment Identification Values | |||
e"> | </title> | |||
<organization></organization> | <author fullname="Fernando Gont" initials="F." surname="Gont"/> | |||
</author> | <date day="22" month="March" year="2013"/> | |||
<date month="May" day="2" year="1995"/> | </front> | |||
</front> | <seriesInfo name="Internet-Draft" value="draft-ietf-6man-predictable-fragment-id | |||
<seriesInfo name="5th Usenix Security Symposium" value="M | -00"/> | |||
ay 2, 1995"/> | </reference> | |||
</reference> | ||||
<reference anchor="Klein2007b" target="https://citeseerx.ist.psu.edu/view | ||||
doc/summary?doi=10.1.1.86.4474"> | ||||
<front> | ||||
<title>BIND 9 DNS Cache Poisoning</title> | ||||
<author initials="A." surname="Klein" fullname="Amit Klei | ||||
n"> | ||||
<organization></organization> | ||||
</author> | ||||
<date month="March" year="2007"/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="Klein2007c" target="https://dl.packetstormsecu | ||||
rity.net/papers/attack/Windows_DNS_Cache_Poisoning.pdf"> | ||||
<front> | ||||
<title>Windows DNS Server Cache Poisoning</title> | ||||
<author initials="A." surname="Klein" fullname="Amit Klei | ||||
n"> | ||||
<organization></organization> | ||||
</author> | ||||
<date month="March" year="2007"/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="Sacramento2002" target="https://seclists.org/bugtraq/2 | <reference anchor="draft-ietf-6man-predictable-fragment-id-08" target="https://w | |||
002/Nov/331"> | ww.ietf.org/archive/id/draft-ietf-6man-predictable-fragment-id-08.txt"> | |||
<front> | <front> | |||
<title>CAIS-ALERT: Vulnerability in the sending requests | <title> | |||
control of BIND</title> | Security Implications of Predictable Fragment Identification Values | |||
<author initials="V." surname="Sacramento " fullname="Vag | </title> | |||
ner Sacramento "> | <author fullname="Fernando Gont" initials="F." surname="Gont"/> | |||
<organization></organization> | <date day="9" month="June" year="2015"/> | |||
</author> | </front> | |||
<seriesInfo name="Internet-Draft" value="draft-ietf-6man-predictable-fragment-id | ||||
-08"/> | ||||
</reference> | ||||
<date month="November" day="19" year="2002"/> | <reference anchor="Schuba1993" target="http://ftp.cerias.purdue.edu/pub/papers/c | |||
</front> | hristoph-schuba/schuba-DNS-msthesis.pdf"> | |||
<front> | ||||
<title>Addressing Weakness in the Domain Name System Protocol</title | ||||
> | ||||
<author initials="C." surname="Schuba" fullname="Christoph Schuba"> | ||||
<organization/> | ||||
</author> | ||||
<date year="1993" month="August"/> | ||||
</front> | ||||
</reference> | ||||
</reference> | <reference anchor="Vixie1995" target="https://www.usenix.org/legacy/publ | |||
ications/library/proceedings/security95/full_papers/vixie.pdf"> | ||||
<front> | ||||
<title>DNS and BIND Security Issues</title> | ||||
<author initials="P." surname="Vixie" fullname="Paul Vixie"> | ||||
<organization/> | ||||
</author> | ||||
<date month="June" year="1995"/> | ||||
</front> | ||||
<refcontent>5th Usenix Security Symposium</refcontent> | ||||
</reference> | ||||
<reference anchor="Kaminsky2008" target="https://www.blackhat.com/present | <reference anchor="Klein2007b" target="https://citeseerx.ist.psu.edu/doc | |||
ations/bh-jp-08/bh-jp-08-Kaminsky/BlackHat-Japan-08-Kaminsky-DNS08-BlackOps.pdf" | /10.1.1.86.4474"> | |||
> | <front> | |||
<front> | <title>BIND 9 DNS Cache Poisoning</title> | |||
<title>Black Ops 2008: It's The End Of The Cache As We Kn | <author initials="A." surname="Klein" fullname="Amit Klein"> | |||
ow It</title> | <organization/> | |||
<author initials="D." surname="Kaminsky " fullname="Dan K | </author> | |||
aminsky "> | <date month="March" year="2007"/> | |||
<organization></organization> | </front> | |||
</author> | </reference> | |||
<date month="August" year="2008"/> | <reference anchor="Klein2007c" target="https://dl.packetstormsecurity.ne | |||
</front> | t/papers/attack/Windows_DNS_Cache_Poisoning.pdf"> | |||
<front> | ||||
<title>Windows DNS Server Cache Poisoning</title> | ||||
<author initials="A." surname="Klein" fullname="Amit Klein"> | ||||
<organization/> | ||||
</author> | ||||
<date month="March" year="2007"/> | ||||
</front> | ||||
</reference> | ||||
</reference> | <reference anchor="Sacramento2002" target="https://seclists.org/bugtraq/ | |||
2002/Nov/331"> | ||||
<front> | ||||
<title>CAIS-ALERT: Vulnerability in the sending requests control of | ||||
BIND</title> | ||||
<author initials="V." surname="Sacramento " fullname="Vagner Sacrame | ||||
nto "> | ||||
<organization/> | ||||
</author> | ||||
<date day="25" month="November" year="2002"/> | ||||
</front> | ||||
<refcontent>message to the Bugtraq mailing list</refcontent> | ||||
</reference> | ||||
<reference anchor="Economou2010" target="https://www.coresecurity.com/cor | <reference anchor="Kaminsky2008" target="https://www.blackhat.com/presen | |||
e-labs/advisories/core-2010-0424-windows-smtp-dns-query-id-bugs"> | tations/bh-jp-08/bh-jp-08-Kaminsky/BlackHat-Japan-08-Kaminsky-DNS08-BlackOps.pdf | |||
<front> | "> | |||
<title>Windows SMTP Service DNS query Id vulnerabilities< | <front> | |||
/title> | <title>Black Ops 2008: It's The End Of The Cache As We Know It</titl | |||
<author initials="N." surname="Economou" fullname="Nicola | e> | |||
s Economou"> | <author initials="D." surname="Kaminsky " fullname="Dan Kaminsky "> | |||
<organization></organization> | <organization/> | |||
</author> | </author> | |||
<date month="August" year="2008"/> | ||||
</front> | ||||
</reference> | ||||
<date month="May" day="4" year="2010"/> | <reference anchor="Economou2010" target="https://www.coresecurity.com/co | |||
</front> | re-labs/advisories/core-2010-0424-windows-smtp-dns-query-id-bugs"> | |||
<seriesInfo name="Advisory ID Internal CORE-2010-0427" va | <front> | |||
lue="May 4, 2010"/> | <title>Windows SMTP Service DNS query Id vulnerabilities</title> | |||
</reference> | <author initials="N." surname="Economou" fullname="Nicolas Economou" | |||
> | ||||
<organization/> | ||||
</author> | ||||
<date month="May" year="2010"/> | ||||
</front> | ||||
<refcontent>Advisory ID Internal CORE-2010-0427</refcontent> | ||||
</reference> | ||||
</references> | <reference anchor="TCPT-uptime" target="https://seclists.org/bugtraq/200 | |||
1/Mar/182"> | ||||
<front> | ||||
<title>TCP Timestamping - Obtaining System Uptime Remotely</title> | ||||
<author initials="B." surname="McDanel" fullname="Bret McDanel"> | ||||
<organization>Securiteam</organization> | ||||
</author> | ||||
<date month="March" year="2001"/> | ||||
</front> | ||||
<refcontent>message to the Bugtraq mailing list</refcontent> | ||||
</reference> | ||||
</references> | ||||
</references> | ||||
<section numbered="false" toc="default"> | ||||
<name>Acknowledgements</name> | ||||
<t>The authors would like to thank (in alphabetical order) <contact fullna | ||||
me="Bernard Aboba"/>, <contact fullname="Dave Crocker"/>, <contact fullname="Spe | ||||
ncer Dawkins"/>, <contact fullname="Theo de Raadt"/>, <contact fullname="Sara Di | ||||
ckinson"/>, <contact fullname="Guillermo Gont"/>, <contact fullname="Christian H | ||||
uitema"/>, <contact fullname="Colin Perkins"/>, <contact fullname="Vincent Roca" | ||||
/>, <contact fullname="Kris Shrishak"/>, <contact fullname="Joe Touch"/>, <conta | ||||
ct fullname="Brian Trammell"/>, and <contact fullname="Christopher Wood"/> for p | ||||
roviding valuable comments on earlier versions of this document.</t> | ||||
<t>The authors would like to thank (in alphabetical order) <contact fullna | ||||
me="Steven Bellovin"/>, <contact fullname="Joseph Lorenzo Hall"/>, <contact full | ||||
name="Gre Norcie"/>, and <contact fullname="Martin Thomson"/> for providing valu | ||||
able comments on <xref target="draft-gont-predictable-numeric-ids-03" format="de | ||||
fault"/>, on which this document is based.</t> | ||||
<t><xref target="tcp-isns" format="default"/> of this document borrows tex | ||||
t from <xref target="RFC6528" format="default"/>, authored by <contact fullname= | ||||
"Fernando Gont"/> and <contact fullname="Steven Bellovin"/>.</t> | ||||
<t>The authors would like to thank <contact fullname="Sara Dickinson"/> an | ||||
d <contact fullname="Christopher Wood"/> for their guidance during the publicati | ||||
on process of this document.</t> | ||||
<t>The authors would like to thank <contact fullname="Diego Armando Marado | ||||
na"/> for his magic and inspiration.</t> | ||||
</section> | ||||
</back> | </back> | |||
</rfc> | </rfc> | |||
End of changes. 146 change blocks. | ||||
2185 lines changed or deleted | 1970 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |