IPv6 security overview: a small view of the future [updated 2019]
The current version of Internet Protocol is IPv4. This is used to send data over the Internet and makes interaction between different services possible. As all experts know, this protocol has significant limitations, such as the maximum addressing space and some known security issues. The security problems, in many ways, depend on the original development project, which certainly did not have "security" as a determining factor, and the whole final environment was considered a friendly one. However, over the years, as response to these deficiencies and in consideration of a global network in rapid growth, new technologies, like SSL/TLS and IPSec, have been introduced to remedy these issues.
Learn Network Security Fundamentals
Despite these enhancements, however, the whole architecture is still missing that level of security and flexibility expected. As result of these known limitations, a new project for a new Internet Protocol has been designed by the IETF in the early 90', having in mind "ease-of-configuration", performance and security.
In this paper we will analyze the features of the new suite of internet protocols, its advantages and disadvantages, as well as the possible implications from a security point of view. This document has no pretension to be exhaustive, and must be considered as the result of an independent author's study activity.
The old version four
To better understand the actual new features of IPv6, we must first know its predecessor's. As already mentioned, IPv4 was designed with no security in mind. This means that security in communications through this suite of protocols must or should be guaranteed by "end-nodes". If I need to send or receive highly sensitive data, and then use a secure channel (encryption?), it's the responsibility of that application to provide that service.
Currently, the Internet works this way. This, and many others characteristics that will not be covered in this document, has allowed various types of threats to take off in the digital world. The most famous of these are certainly:
1) Reconnaissance Attacks:
This type of attack takes place thanks to the relative small size of IPv4 addressing, because a whole network can be scanned to find open and/or unpatched services. In fact, it is quite easy to perform a reconnaissance scan of a class C network in a few minutes. In this category we can add "Ping Sweep" (sweep a network with ICMP ping messages that solicit a reply), "Port Scan" (to find active and reachable services) and "Application Vulnerability Scan" (to find known vulnerabilities in discovered services).
2) Denial of Service Attacks:
In this type of attack, a service is rendered unavailable through a flood of large amounts of illegitimate requests. It's possible to mention for this category the smurf attack (remember?).
3) Man-in-the-middle Attacks:
The lack of its own authentication mechanism in communications allows hackers to intercept data in transit.
4) ARP poisoning Attacks:
In IPv4, ARP (Address Resolution Protocol) is responsible for mapping a host's IP address with its physical MAC address. This information is stored locally (ARP Table) by each host which is part of the communication. The "ARP Poisoning" attack occurs when an arbitrary ARP reply with incorrect information inside is sent to a host which is part of the communication, implying that legitimate packets will arrive at unforeseen destinations.
5) Address Spoofing Attacks:
In the current communication protocols, one of the keys to complete cyber attacks is the ability to modify the source address of a packet. IPv4 allows this possibility since it does not provide any type of source-to-end authentication mechanism.
Today these types of attacks are used to spread spam, malware and also to perform DoS/DDoS attacks. IP spoofing also allows masking the true origin of the malicious packets, making the tracking operations more complex.
6) Malware Attacks:
Malware, today, remains one of the biggest security-related problems. Currently, with IPv4, malware can not only damage the host affected, but also saturate (or use part of) the network resources in place. It's necessary to clarify that, with the advent of IPv6, there was no way to eradicate these threats, and the conception of the potential damage by malware infection will essentially remain the same. It's possible to assume that, however, due to the broader spectrum of addressing, its spread could be slower.
What's new in IPv6?
As previously stated, IPv6 is not IPv4's upgrade but a totally new suite of protocols.
This means that the differences between the two are very marked:
1) Address Space:
IPv4 provides as many as 2^32 addresses. IPv6 provides as many as 2^128 addresses.
2) Hierarchical Addressing:
In IPv6 we can find 3 major types of addresses: Unicast, Multicast and Anycast. Unicast addresses are assigned to a single node. Multicast addresses are assigned to multiples node within a single multicast group while anycast addresses are assigned to groups of nodes.
3) QoS (Quality-of-Service) and Performances:
The IPv6 packet header provides for fields that facilitate the support for QoS. In addition, the new standard is a big step forward in terms of performance.
4) Security:
The use of IPSec in IPv6 is not optional, but mandatory.
5) Extensibility:
Despite the new features and the considerable increase of addressing space, the IPv6 header is only slightly larger than that of IPv4 (practically just twice, 40 bytes). The IPv6 header does not include any optional fields or a checksum. For ease of comparison, here are explanatory images of an IPv4 header and an IPv6 header:
In IPv4, the IPv4 header is followed by data of transport protocol (TCP, UDP), also known as "payload."
In IPv6, the IPv6 header is followed by "Extensions Header" and then by data of transport protocol.
6) Auto-Configuration:
IPv6 provides for stateful and stateless auto-configuration of IP addresses. Stateful auto-configuration utilizes DHCP. Stateless auto-configuration occurs without the use of DHCP.
Security enhancements
For a correct point of view, it is fair to consider that IPv6 is not necessarily more secure than IPv4. The approach to security put in place, albeit considerably implemented, is still marginal and not totally new. However, there are some considerations that, without doubt, increase the level of IPng reliability.
1) Mandatory use of IPSec:
IPv4 also offers IPSec support. However, support for IPSec in IPv4 is optional. The RFC4301 instead makes it mandatory to use in IPv6. IPSec consists of a set of cryptographic protocols designed to provide security in data communications. IPSec has some protocols that are part of its suite: AH (Authentication Header) and ESP (Encapsulating Security Payload). The first provides for authentication and data integrity, the second, in addition to these, also for confidentiality. In IPv6 both the AH header and the ESP header are defined as extension headers.
A fundamental concept of IPSec is "Security Association" (SA). SA is uniquely identified by some parameters like SPI (Security Parameters Index – a field in the AH/ESP header), the security protocol and the destination IP address. The SA defines the type of security services for a connection and usually contains the key for data encryption as well as the encryption algorithms to be used. The IKE (Internet Key Exchange) is the process used to negotiate parameters needed to establish a new SA. Following are some details about the AH and ESP:
AH (Authentication Header):
As already said, AH provides for authentication and data integrity for the entire IPv6 packet. "Authentication" means that if an endpoint receives a packet with a specific source address, it can be assured that the IP packet did indeed come from that IP address.
"Integrity," on the other hand, means that if an endpoint receives data, the content of that data has not been modified along the path from the source to the destination. The figure below shows the format for AH:
From the image just shown, we can see some different fields. "Next Header" field identifies the transport type, like TCP. The "Payload Length" identifies the length of Authentication Header. The SPI field identifies the security parameter index which will be used to identifying the SA. The "Sequence Number Field" is a counter that increments by 1 when a sender or receiver receives or transmits data. Through SNF, an anti-replay protection is provided, because when the receiver receives a packet with a duplicate Sequence Number Field, this is discarded (we can see at "Session Replay" attacks in IPv4).
The "Authentication Data" contains the ICV (Integrity Check Value) which provides for data integrity and authentication. The ICV is calculated using the IP header, the IP packet payload and AH header. What happens in reality is that when the receiver receives the packet, it calculates the ICV with the algorithm and the specified key in SA. According with the details shown and the technology used, AH can prevent "IP Spoofing Attack".
ESP (Encapsulating Security Payload):
The ESP provides confidentiality, authentication and data integrity. With the term "confidentiality", we mean that no one else, even the intended receiver, can read the content of communication in transit. As already mentioned for the AH, ESP also provides an anti-replay protection. The image below shows the format of an ESP packet:
As for the AH, ESP also contains an SPI field that is used to identify the SA. The "Sequence Number" field, as in the AH, provides an anti-replay protection. Interesting to note is the "Next Header" filed, which describes the data type contained in the "Payload Data" field (the entire packet if ESP is used in Tunnel Mode or only payload if is used in Transport Mode). The "Authentication Data" field contains the ICV (if auth service is specified by SA associated with SPI), which provides for authentication and data integrity. The authentication algorithm used to calculate the ICV is also specified by the SA.
2) Large Addressing Space:
As mentioned above, in IPv4, reconnaissance attacks and port scanning are relatively simple tasks. The most common network segments in the current Internet Protocol are of class C, with 8 bits allocated for addressing. Currently, performing this type of attacks on these network segments does not require more than a few minutes. Allocating 64 bits for addressing (as expected in an IPv6 subnet) means performing a net scan of 2^64 (18446744073709551616) hosts. It is practically impossible.
3) Neighbor Discovery:
ND (Neighbor Discovery) is the mechanism used for router and prefix discovery. This is a network layer protocol, like IPv4 equivalents ARP and RARP. ND works very closely with address auto-configuration, which is the mechanism used by IPv6 nodes to acquire configuration information. Both ND and address auto-configuration contribute to make IPv6 more secure than its predecessor.
IPng vs old attacks
In this section we will analyze some of the most popular cyber attacks in a perspective focused on the comparison and on the possible impact of these with the IPng.
1) Reconnaissance Attacks:
Reconnaissance attacks, in IPv6, are different for two major reasons: The first is that "Ports Scan" and/or "Ping Sweep" are much less effective in IPv6, because of, as already said, the vastness of the subnet into play. The second is that new multicast addresses in IPv6 will allow finding key systems in a network easier, like routers and some type of servers. In addition, the IPv6 network has a much closer relationship with ICMPv6 (compared to the IPv4 counterparty ICMP) which does not allow too aggressive filters on this protocol. For the rest, the techniques remain the same.
2) Over the Wall:
This class will discuss the type of attacks in which an adversary tries to exploit little restrictive filtering policies. Currently, we are used to developing access lists (ACLs) to restrict unauthorized access to the network we want to be protected by set specific policies on gateway devices in between the IPv4 endpoints. The need for access control is the same in IPv6 as in IPv4. In IPv6, the basic functions for mitigation of unauthorized access are the same. However, considering the significant differences between the headers of the two protocols, it is possible to imagine different ways to implement them.
3) Spoofing Attacks:
While L4 spoofing remains the same, due to the globally aggregated nature of IPv6, spoofing mitigation is expected to be easier to deploy. However the host part of the address is not protected. Layer 4 spoofing attacks are not changed, because L4 protocols do not change in IPv6 with regard to spoofing.
4) DDoS Attacks:
In IPv6, we cannot find the broadcast address. This means that all resulting amplification attacks, like smurf, will be stopped. IPv6 specifications forbid the generation of ICMPv6 packets in response to messages to IPv6 multicast destination address, a link-layer multicast address or a link-layer broadcast address. In general, through the adoption of the new standard, we should find an improvement in this regard.
5) Routing Attacks:
Routing attacks refer to activities that try to redirect traffic flow within a network. Currently, routing protocols are protected using cryptographic authentication (MD5 with Pre-Shared Key) between peers. This protection mechanism will not be changing with IPng. BGP has been updated to carry IPv6 routing information.
6) Malware:
There is no particular implementation in IPv6 which will allow changing the classical approach to malware. However, worms that use the internet to find vulnerable hosts may find difficulties in propagation due to the large address space.
7) Sniffing:
This is the classical attack that involves capturing data in transit across a network. IPv6 provides the technology for the prevention of these types of attacks with IPSec, but it does not simplify the problems for keys management. For this reason, this technique can still continue to be practiced.
8) L7 Attacks:
Here we refer to all those types of attacks performed at Layer 7 of the OSI model. Also considering a worldwide adoption of IPSec, this type of attacks will remain almost unchanged. Buffer Overflow, Web Applications Vulnerability, etc., cannot be stopped through the IPv6 adoption. There is also another consideration: if IPSec will be implemented as a standard for communication between endpoints, all devices such as IDS/IPS, firewalls and antivirus will only see encrypted traffic, promoting this type of attacks.
9) Man-in-the-Middle:
The IPv6 is subjected to the same security risks that we may encounter in a man-in-the-middle attack that affects the suite of IPSec protocols.
10) Flooding Attacks:
A flooding attack is a Denial of Service (DoS) attack wherein the attacker sends a slew of SYN requests to a target's system in order to overwhelm the server and bring down the network / make it unresponsive to actual traffic. So, in short, it's exactly what it sounds like. The core principles of a flooding attack remain the same in IPv6.
Conclusions
Without a doubt, IPv6 represents a big step forward compared to its predecessor. The entire suite of protocols has been designed to bring improvements in both functionality and security. However, despite these, IPv6 raises new challenges in both these fields, without considering the transition problems that occur. In short, it is definitely something that will give much fun to Information Security professionals. For more info on IPv6 security vulnerabilities, check out this article.
Sources
1. "Deploying IPv6 Networks" -Popoviciu C., Levy-Avegnoli E., Grossetete, P. -Cisco Press.
2. RFC 2460 -www.IETF.org.
3. "IPv6 Essentials" -Silvia Hagen -O'Reilly Media.
4. "New Internet Security and Privacy Models Enabled by IPv6" -Ford M. -The 2005
Symposium on Applications and the Internet Workshops, 2005. Saint Workshops 2005.
Learn Network Security Fundamentals
5. "IPv6 Security" – Scott Hogg, Eric Vyncke -Cisco Press.