and 13
×
more activity during and after experimentation, in
comparison with host activities which make indirect contact
with potential scanners (§3).
DNS scanners have a narrow attention space.
Reverse-
DNS scanners focus their attention on scanning the treatment
subnets i.e., subnets hosting the IPv6 application and send
very few scans to subnets outside the treatment subnet. In
contrast, IP scanners have a broader attention span, often
scanning both inside and outside the treatment subnets (§4).
Residual scanning after host activity subsides.
DNS scan-
ning activity persists long after the host activity that evoked
the scans has subsided. In specific, we observe high volume
DNS scans for nearly six weeks in the treatment subnets used
for browsing the Web after the Web browsing activity has
ended. The scans re-start after a break of 2-3 weeks (§4).
Random and low-byte scanning are dominant strategies.
We fingerprint the IPv6 scanners that sent unsolicited traffic
to our subnet during the study and find that IPv6 scanners
have one of two main scanning strategies: they either have
equal interest in the entire address space (random scanners)
or focus more on low-byte addresses (§5).
Finally, we discuss the implications of our findings for
network operators (§6) and place our contributions in the
context of previous work (§7).
2 Background
In this section, we provide a high-level overview of IPv6
addressing and IPv6 scanning strategies.
IPv6 addressing.
An IPv6 address consists of
128
bits which
may be broken down into three parts — an
m
bit routing prefix,
an
n
bit subnet ID, and a
k
(= 128-
m
-
n
) bit interface ID (IID).
The routing prefix and subnet ID are used to route traffic to a
local network where hosts are identified by unique IIDs [44].
Network operators face two questions while allocating IPv6
addresses to networks and hosts (1) how many bits of an IPv6
address should be allocated to host IIDs (i.e., the value of
k
)
and (2) how should IIDs be allocated to hosts in a subnet.
Determining IID lengths. It is considered the best practice
for network operators to leave 64 bits for IIDs according
the RFC4291 [44]. There are many compelling reasons for
this practice. First, a large number of existing IPv6 config-
uration options and RFC recommendations assume a 64-bit
IID. Therefore, not following this recommendation may result
in operational failure when using IPv6-specific features and
technologies. For example, as pointed out in RFC 4291, a
64-bit IID is required to use privacy-enhancing IPv6 features
which allow for cryptographically generated addresses (RFC
3972 [23]), or to use IPv4-to-IPv6 transition protocols such
as 6to4 (RFC 3056 [52]), or to leverage neighbor discovery
protocols implemented in accordance with RFC 4861 [51].
Assigning IIDs. IIDs may be allocated to hosts through (1)
manual configuration, (2) stateless address auto configura-
tion (SLAAC defined in RFC4862) [58], or (3) the DHCPv6
IP leasing protocol (defined in RFC 8415 [49, 55]). Each of
these three methods may result in host addresses having dif-
ferent IID characteristics. For example, network operators
using manual configurations may assign host IPs in a pre-
dictable manner — e.g., using sequential addressing which
results in the lower bytes of the IID being populated with
all leading bytes set to 0 (as per RFC7707 [40]) or assign
host IP addresses based on their 48-bit MAC addresses (the
modified EUI-64 protocol defined in RFC4291 [44]). On the
other hand, operators using SLAAC or other approaches (e.g.,
from RFC 7943 [41], RFC 7217 [39], and RFC 3972 [23])
generate pseudo-random IIDs.
Our address allocation approach. Given the importance of
a 64-bit IID length, it is reasonable to assume that scanners
assume 64-bit IIDs in their scanning targets. Therefore, in
all our subsequent experiments detailed in §3 and §4, we
assign 64-bit IIDs to all our hosts and subnets. Further, we
use both IID generation approaches (lower-byte and pseudo-
random addresses generation) to generate IPs for hosts whose
addresses are leaked to scanners. This allows us to study
the impact of address allocation methods on the subsequent
address generation strategies leveraged by IPv6 scanners —
e.g., does the discovery of a host with a pseudo-random (or,
lower-byte) IID result in scanners only sending probes to
other addresses with a pseudo-random (or, lower-byte) IIDs.
IPv6 address representation.
A common method for rep-
resenting IPv6 addresses uses 32 nybbles, each denoted in
hexadecimal and representing four contiguous bits. Every four
nybbles (two bytes) are separated by a ‘:’ and any leading
zeros in these two byte sections may be dropped.
Representation in DNS reverse zones. DNS reverse
zones map addresses to domains — i.e., the opposite
of what DNS zones do. Sending a DNS PTR query
to the corresponding IPv6 reverse zone returns the do-
mains hosted with the corresponding IP address. IPv6
PTR records are organized under
ip6.arpa
in 32 lev-
els where each nybble of an exploded IPv6 address is a
level. Therefore, the PTR record associated with the ad-
dress
2601::dead:1
is available at
1.0.0.0.d.e.a.d.<20
repeating .0s>.1.0.6.2.ip6.arpa.
Scanning strategies: address discovery.
Unlike IPv4, scan-
ning the entire IPv6 address space for live addresses is infea-
sible. Instead, scanners focus their attention on regions of the
address space near addresses where some activity has been
observed. Prior work has used techniques like monitoring
public lists of IPv6 addresses (e.g., TLD zone files which list
the IPv6 addresses of domains) or hosting public services
to receive contact from previously unseen addresses (e.g.,
hosting a web service).
Our address leaking strategies. In our controlled experiments
described in §3 and §4, we leak the ‘liveness’ of specific
regions of an IPv6 network by the following means: (1) direct
contact with IPv6 capable web services, (2) sending DNS
queries to public DNS resolvers, (3) participation in the NTP