IPv6 security

IPv6 Attacks

 

 

IPv6 Attacks

In today’s digital age, the internet has become an integral part of our lives. The transition from IPv4 to IPv6 was necessary to accommodate the growing number of devices connected to the internet. However, with this transition, new security challenges have emerged. In this blog post, we will delve into IPv6 attacks, exploring their potential risks and how organizations can protect themselves.

Before diving into the potential attacks targeting IPv6, it is essential to understand why the transition from IPv4 to IPv6 was necessary. IPv4, with its limited address space, could no longer sustain the increasing number of internet-connected devices. IPv6, on the other hand, provides an enormous number of unique addresses, ensuring the growth of the internet for years to come.

Highlights: IPv6 Attacks

  • Change in perception and landscape

In the early days of the Internet, interconnected systems comprised research organizations and universities. There wasn’t a sinister dark side, and the Internet was used for trusted sharing, designed without security. However, things rapidly changed, and now the Internet consists of interconnected commercial groups of systems running IPv4 and IPv6. Now, Internet-facing components are challenged with large-scale Internet threats, such as malware, worms, and various service exhaustion DoS attacks.

  • New types of IPv6 attacks

Along with the birth of new IPv6 attacks based on, for example, IPv6 broadcast that requires new mitigation techniques such as IPv6 filtering and the ability to manage against security issues from IPv6 fragmentation. IP networks carry data and control packets in a common “pipe.” The common “pipe” and its payload require secured infrastructure. Legacy is the same for both versions of the IP protocol. IPv4 and IPv6 systems need security to protect the “pipe” from outside intrusion. 

 

Before you proceed, you may find the following useful:

  1. IPv6 RA
  2. IPv6 Host Exposure.
  3. Technology Insight for Microsegmentation
  4. Virtual Firewalls
  5. Data Center Network Design
  6. WAN SDN

 



IPv6 Attacks

Key IPv6 Attacks Discussion Points:


  • Introduction to IPv6 Attacks and what is involved.

  • Highlighting how IPv6 works and the use of Multicast.

  • Critical points on amplification attacks.

  • Technical details on ICMPv6 messages.

 

Back to basics with IPv6 Security

IPv6 Security

In those early days of IPv4-connected hosts, the Internet consisted of a few trusted networks of well-known researchers. If security was needed, it was usually just the fundamentals of authentication/authorization, which could have been included in the application code. Numerous years later, IPsec was introduced when IPv4 had already been widely deployed.

However, it was cumbersome to deploy into existing networks. As a result, IPsec could be more commonly deployed in many IPv4 scenarios. This is in contrast to IPv6, which initially had the notion that fundamental security functionality had to be included in the base protocol to be used on any Internet platform.

The main difference between IPv6 and IPv4 is the size of addresses: 128 bits for IPv6 versus 32 bits for IPv4—the increase in address size results in a larger IPv6 header. The minimum size of the IPv6 header is twice the size of the IPv4 minimum header. The Internet has evolved to use IPv6 and the new structures of IPv6. The threats have also evolved to cope with the size and hierarchical nature of IPv6.

IPv6 attacks
Diagram: Dealing with IPv6 attacks. A new landscape to deal with.
  • A key point: Lab using IPv6 Filters

In the following, we have an IPv6 filter configured on R1. An IPv6 filter is similar to that of IPv4 access lists. However, it would be best if you kept in mind the following:

  • IPv4 access-lists can be standard or extended, numbered or named. IPv6 only has named extended access-lists.
  • IPv4 access-lists have an invisible implicit deny any at the bottom of every access-list. IPv6 access-lists have three invisible statements at the bottom:
    • permit icmp any any nd-na
    • permit icmp any any nd-ns
    • deny ipv6 any any

As a security best practice, I would also have the command: no ipv6 unreachables on the interface.

IPv6 security
Diagram: IPv6 security

 

Highlighting the types of IPv6 Attacks:

Neighbor Discovery Protocol (NDP) Attacks:

The Neighbor Discovery Protocol (NDP) is a fundamental component of IPv6 networks. Attackers can exploit vulnerabilities in NDP to launch various attacks, such as Neighbor Advertisement Spoofing, Router Advertisement Spoofing, and Neighbor Unreachability Detection (NUD) attacks. These attacks can result in traffic interception, denial of service, or even network infiltration.

Flood Attacks:

IPv6 flood attacks, similar to their IPv4 counterparts, aim to overwhelm a target device or network with excessive traffic. These attacks can lead to network congestion, service disruption, and resource exhaustion. Flood attacks targeting IPv6, such as ICMPv6, NDP, or UDP floods, can exploit vulnerabilities in network infrastructure or exhaust network resources like bandwidth or CPU.

Fragmentation Attacks:

IPv6 fragmentation allows large packets to be divided into smaller fragments, which are reassembled at the receiving end. Attackers can exploit fragmentation vulnerabilities to bypass security measures, evade detection, or launch Denial of Service (DoS) attacks. Fragmentation attacks can overload network resources or cause packet loss, disrupting communication.

  • A key point: Lab guide on IPv6 fragmentation attacks

To prevent fragmentation attacks, you can have IPv6 virtual reassembly set on the interface.IPv6 virtual-reassembly is a process that reconstructs fragmented packets at the receiving end of a network transmission. When transmitted across the Internet, data is divided into smaller units called packets. Due to various factors, such as network congestion, these packets may arrive out of order or get fragmented.

Virtual reassembly ensures these packets are correctly reassembled and delivered to the intended recipient. This mechanism is crucial for maintaining data integrity, reducing latency, and optimizing network performance.

Detailing IPv6 Attacks

One of the most basic forms of IPv6 security is ingress and egress filtering at Internet Edge. However, attackers can forge an IPv6 packet with specially crafted packets and spoofed IPv6 addresses, so filtering based on IP addresses is a requirement. Spoofing modifies source IP addresses or ports to appear if packets are initiated from another location.

IPv4 networks are susceptible to “Smurf” broadcast amplification attacks where a packet from a forged unknowing victim’s address is sent to the subnet broadcast of an IPv4 segment. The attack type employs the Spoofing technique where the victim’s IP address is used as the source of the attack. The broadcast subnet is the all-ones host address of each subnet (example 192.168.1.255 255.255.255.0).

As we send to the broadcast address, all hosts on the subnet receive a packet consisting of an ICMP-ECHO with a payload. Hosts automatically send back an ECHO-REPLY to the victim’s spoofed address. As a result, the victim gets bombarded with packets (ECHO-REPLIES), forcing CPU interrupts, eventually resulting in a Denial of Service (DoS) attack. Cisco IOS has the command “no IP directed-broadcast” on by default, but some poorly designed networks use directed broadcast for next-hop processing.

 

So we don’t have to worry about this in IPv6? IPv6 uses multicasts and is not broadcast for communication.

 

Multicast amplification attacks

IPv6 does not use a type of IPv6 broadcast as its communication, but it uses various multicast addresses. You are essentially doing the same thing but differently. Multicast is the method for one-to-many communications. For this reason-IPv6, multicast addresses can be used for traffic amplification.

The Smurf6 tools are a type of Smurf attack run with Kali Linux. It generates lots of local ICMPv6 traffic used to DoS attack-local systems. Smurf6 sends locally generated ICMPv6 ECHO REQUEST packets toward the “all routers” multicast address of FF02::2.

As this multicast address represents all routers on the segment, they all respond with ICMPv6 ECHO RESPONSE to the victims’ source address. The multicast address can be used for DoS attacks. Essential to control who can send to these multicast addresses and who can respond to a multicast packet.

 

IPv6 security and important IPv6 RFCs

RFC 2463 “Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 Specification” states that no ICMP message can be generated in response to an IPv6 packet destined for multicast groups. This protects your host’s IPv6 stack and is designed with RFC 2463 specifications. Smurf attacks should not be a threat if all hosts comply with RFC 2463. However, there are two exemptions to this rule. “The “packet too big” and “parameter problem ICMP” is generated in response to packets destined for a multicast group.

Prevent uncontrolled forwarding of these ICMPv6 message types, filter based on ICMPv6 type. To prevent packet amplification attacks for “packet too big” and “parameter problem ICMP” filter based on ICMPv6 Type 2: “Packet too big” and ICMPv6 Type 4: “Parameter problem.” You can also rate-limit these message types with the ipv6 ICMP rate-limit command.

Ipv6 filtering
Diagram: IPv6 filtering.

 

RFC 4890 outlines guidelines for filtering ICMPv6 messages in firewalls. Filter these options or only allow trusted sources and deny everything else. If you are unsure hosts comply with these RFCs, perform ingress filtering of packets with IPv6 multicast source addresses. As a recommendation, purchase firewalls that support stateful filtering of IPv6 packets and ICMPv6 messages. It’s always better to prevent an attack than react to one.

 

Mitigating IPv6 Attacks:

a) Network Segmentation:

Segmenting networks into smaller subnets can limit the impact of potential attacks by containing them within specific network segments. By implementing strict access controls, organizations can minimize the lateral movement of attackers within their network infrastructure.

b. Intrusion Detection and Prevention Systems (IDPS):

Deploying IDPS solutions can help organizations detect and prevent IPv6 attacks. IDPS solutions monitor network traffic, identify suspicious patterns, and take appropriate actions to mitigate the attacks in real time.

c. Regular Security Audits:

Regular security audits of network infrastructure, systems, and applications can help identify and address vulnerabilities before attackers exploit them. Organizations should also keep their network equipment and software patched and up to date.

Conclusion:

The need for robust security measures to protect against IPv6 attacks is paramount as the world becomes more connected. Understanding the risks associated with IPv6 and implementing appropriate security measures can help organizations safeguard their networks and data. By staying vigilant and proactive, we can ensure a secure and reliable internet experience for all users in the IPv6 era.

 

ICMPv6

IPv6 RA

 

ipv6 load balancing

 

IPv6 RA

In the realm of IPv6 network configuration, ICMPv6 Router Advertisement (RA) plays a crucial role. As the successor to ICMPv4 Router Discovery Protocol, ICMPv6 RA facilitates the automatic configuration of IPv6 hosts, allowing them to obtain network information and effectively communicate within an IPv6 network. In this blog post, we will delve into the intricacies of ICMPv6 R-Advertisement, its importance, and its impact on network functionality.

ICMPv6 Router Advertisement is a vital component of IPv6 network configuration, specifically designed to simplify configuring hosts within an IPv6 network. Routers periodically send RAs to notify neighboring IPv6 hosts about the network’s presence, configuration parameters, and other relevant information.

Highlights: IPv6 RA

  • IPv6: At the Network Layer

IPv6 is a Network-layer replacement for IPv4. Before we delve into IPv6 high availability, the different IPv6 RA ( router advertisement ), and VRRPv3, you should first consider that IPv6 does not solve all the problems experienced with IPv4 and will still have security concerns with, for example, the drawbacks and negative consequences that can arise from a UDP scan and IPv6 fragmentation.

Also, issues experienced with multihoming and Network Address Translation ( NAT ) still exist in IPv6. Locator/ID Separation Protocol (LISP) solves the problem of multihoming, not IPv6, and Network Address Translation ( NAT ) is still needed for IPv6 load balancing. The main change with IPv6 is longer addresses. We now have 128 bits to play with instead of 32 with IPv4.

  • Additional Address Families

Increasing bits means we cannot transport IPv6 packets using existing routing protocols—some protocols like ISIS, EIGRP, and BGP support address families offering multiprotocol capabilities. Protocols supporting families made enabling IPv6 with IPv6 extended address families easy. However, other protocols, such as OSPF, were too tightly coupled with IPv4, and a complete protocol redesign was required to support IPv6, including new LSA types, flooding rules, and internal packet formats.

 

Before you proceed, you may find the following post helpful:

  1. Technology Insight for Microsegmentation
  2. ICMPv6
  3. SIIT IPv6

 



IPv6 RA

Key IPv6 RA Discussion Points:


  • Introduction to IPv6 RA and what is involved.

  • Highlighting the details of IPv6 best practices and IPv6 host exposure.

  • Critical points on the issues of dual-stack networks. IPv6 & IPv4.

  • Technical details on the IPv6 HA components.

  • Technical details on IPv6 Flags.

 

Back to basics with IPv6

IPv6 is the newest Internet protocol (IP) version developed by the Internet Engineering Task Force (IETF). The common theme is that IPv6 helps address the IPv4 address depletion due to prolonged use. But IPv6 is much more than just a lot of addresses.

The creators of IPv6 took the possibility to improve IP and related protocols; IPv6 is now enabled by default on every central host operating system, including Windows, Mac OS, and Linux. In addition, all mobile operating systems are IPv6-enabled, including Google Android, Apple iOS, and Windows Mobile.

Ipv6 high availability
Diagram: Similarities to IPv6 and IPv4.

IPv6 and ICMPv6

IPv6 uses Internet Control Message Protocol version 6 ( ICMPv6 ) and acts as a control plane for the v6 world. Then we have IPv6 Neighbor Discovery ( ND ) replacing IPv4 Address Resolution Protocol ( ARP ). In PPP’s IPCP, we now have IPv6 IPCP. IPCP in IPv6 does not negotiate the endpoint address as it does with IPv4 IPCP. IPv6 IPCP is just negotiating the use of protocols.

ICMPv6, an extension of ICMPv4, is an integral part of the IPv6 protocol suite. It primarily sends control messages and reports error conditions within an IPv6 network. ICMPv6 operates at the network layer of the TCP/IP model and aids in the diagnosis and troubleshooting of network-related issues.

Functions of ICMPv6:

  • Neighbor Discovery:

One of the essential functions of ICMPv6 is neighbor discovery. In IPv6 networks, devices use ICMPv6 to determine the link-layer addresses of neighboring devices. This process helps efficiently route packets and ensures the accurate delivery of data across the network.

  • Error Reporting:

ICMPv6 serves as a vital tool for reporting errors in IPv6 networks. When a packet encounters an error during transmission, ICMPv6 generates error messages to inform the sender about the issue. These error messages assist network administrators in identifying and resolving network problems promptly.

  • Path MTU Discovery:

Path Maximum Transmission Unit (PMTU) refers to the maximum packet size that can be transmitted without fragmentation across a network path. ICMPv6 aids in path MTU discovery by allowing devices to determine the optimal packet size for efficient data transmission. This ensures that packets are not unnecessarily fragmented, reducing network overhead.

  • Multicast Listener Discovery:

ICMPv6 enables devices to discover and manage multicast group memberships. By exchanging multicast-related messages, devices can efficiently join or leave multicast groups, allowing them to receive or send multicast traffic across the network.

  • Redirect Messages:

In IPv6 networks, routers use ICMPv6 redirect messages to inform devices of a better next-hop address for a particular destination. This helps in optimizing the routing path and improving network performance.

  • ICMPv6 Router Advertisement:

IPv6 RA is an essential mechanism for configuring hosts in an IPv6 network. By providing critical network information, such as prefixes, default routers, and configuration parameters, RAs enable hosts to autonomously configure their IPv6 addresses and establish seamless communication within the network. Understanding the intricacies of ICMPv6 R-Advertisement is vital for network administrators and engineers, as it forms the cornerstone of IPv6 network configuration and ensures the efficient functioning of modern networks.

 

  • A key point: Lab guide on ICMPv6  

In the following lab, we demonstrate ICMPv6 RA messages. I have enabled IPv6 with the command: ipv6 enable and left everything else to the defaults. IPv6 is not enabled anywhere else on the network. Therefore, when I do a shut and no shut on the IPv6 interfaces, you will see that we are sending ICMPv6 RA but not receiving it.

ICMPv6
Diagram: Lab guide on ICMPv6 debug

What is ICMPv6 Router Advertisement?

ICMPv6 Router Advertisement (RA) is a crucial component of the Neighbor Discovery Protocol (NDP) in IPv6 networks. Its primary function is to allow routers to advertise their presence and provide essential network configuration information to neighboring devices. Unlike its IPv4 counterpart, ICMPv6 RA is an integral part of the IPv6 protocol suite and plays a vital role in the auto-configuration of IPv6 hosts.

Key Features and Benefits:

1. Stateless Address Autoconfiguration: ICMPv6 RA enables the automatic configuration of IPv6 addresses for hosts within a network. By broadcasting periodic RAs, routers inform neighboring devices about the network prefix, allowing hosts to generate their unique IPv6 addresses accordingly. This stateless address autoconfiguration eliminates the need for manual address assignment, simplifying network administration.

2. Default Gateway Discovery: Routers use ICMPv6 RAs to advertise as default gateways. Hosts within the network listen to these advertisements and determine the most suitable default gateway based on the information provided. This process ensures efficient routing and enables seamless connectivity to external networks.

3. Prefix Information: ICMPv6 RAs include vital network prefixes and length information. This information is crucial for hosts to generate their IPv6 addresses and determine the appropriate subnet for communication. By advertising the prefix length, routers enable hosts to configure their subnets and ensure proper network segmentation.

4. Router Lifetime: RAs contain a router lifetime parameter that specifies the validity period of the advertised information. This parameter allows hosts to determine the duration for which the router’s information is valid. Hosts can actively seek updated RAs upon expiration to ensure uninterrupted network connectivity.

5. Duplicate Address Detection (DAD): ICMPv6 RAs facilitate the DAD process, which ensures the uniqueness of generated IPv6 addresses within a network. Routers indicate whether the address should undergo DAD by including the ‘A’ flag in RAs. This process prevents address conflicts and ensures the integrity of the network.

 

  • A key point: Lab guide on IPv6 RA

Hosts can use Router advertisements to automatically configure their IPv6 address and set a default route using the information they see in the RA. With the command ipv6 address autoconfig default we are setting an IPv6 address along with a default route.

However, hosts automatically select a router advertisement and don’t care where it originated. This is how it was meant to be, but it does introduce a security risk since any device can send router advertisements, and your hosts will happily accept it.

IPv6 RA
Diagram: IPv6 RA

 

IPv6 Best Practices & IPv6 Happy Eyeballs

IPv6 Host Exposure

Few things to keep in mind when deploying mission-critical applications in an IPv6 environment. Significant problems arise from deployments of multiprotocol networks, i.e., dual stacking IPv4 and IPv6 on the same host. Best practices are quickly forgotten when you deploy IPv6. For example, network implementations forget to add IPv6 access lists to LAN interfaces and access-lists VTY lines to secure device telnet access, leading to IPv6 attacks.

Consistently implement IPv6 first-hop security mechanisms such as IPv6 RA guard and source address validation. In an IPv4 world, we have an IP source guard, ARP guard, and DHCP snooping. Existing IPv4 security measures are available with corresponding IPv6 counterparts; you must make the switches support these mechanisms. And in virtual worlds, all these features are implemented on the hypervisor.

 

The first issue with dual-stack networks

The first problem we experience with dual-stack networks is that the same application can run over IPv4 and IPv6, and application transports (either IPv4 & or IPv6 transports) could change dynamically without any engineering control, i.e., application X is available over IPv4 one day and dynamically changes to IPv6 the next day. The dynamic change between IPv4 and IPv6 transports is known as the effect of the happy eyeball. Different Operating Systems (Windows, Linux) may react differently to this change, and no single operating system reacts the same.

Having IPv4 and IPv6 sessions established ( almost ) in parallel introduces significant layers of complexity to network troubleshooting and is non-deterministic. Therefore, designers should always attempt to design with simplicity with determinism in mind.

 

  • A key point: IPv6 high availability and IPv6 best practices

Avoid dual stack at all costs due to its non-deterministic and happy eyeballs effect. Instead, disable IPv6 unless needed or ensure that the connected switches only pass IPv4 and not IPv6.

 

IPv6 High Availability Components

High availability and IPv6 load balancing is not just network function. It goes deep into the application architecture and structures. Users should get the most they can, regardless of the operational network. The issue is that we have designed an end-to-end network because we usually do not control the first hop between the user and the network—for example, a smartphone connecting to 4G to download a piece of information.

We do not control the initial network entry points. Application developers are changing the concepts of high availability methods within the Application. New applications are now carrying out what is known as graceful degradation to be more resilient to failures. In scenarios with no network, graceful degradation permits some local action for users. For example, if the database server is down, users may still be able to connect but not perform any writing to the database.

 

IPv6 load balancing: First hop IPv6 High Availability mechanism

You can configure static or automatic configuration with Stateless Address Autoconfiguration ( SLAAC ) or Dynamic Host Configuration Protocol ( DHCP ). Many prefer to use SLAAC. But for security or legal reason, you need to know exactly what address you are using for what client forces you down the path of DHCPv6. In addition, IPv6 security concerns exist, and clients may set addresses manually and circumvent DHCPv6 rules.

 

IPv6 basic communication

Whenever a host starts, it creates an IPv6 link-local address from the Media Access Control Address ( MAC ) interface. First, nodes attempt to determine if anyone else is trying to use that address, and duplicate address detection ( DAD ) is carried out. Then, the host sends out Router Solicitation ( RS ) from its link-local to determine the routes on the network. All IPv6 routers respond with IPV6 RA (Router Advertisement).

 

IPv6 RA
Diagram: IPv6 RA.

 

IPv6 best practices and IPv6 Flags

Every IPv6 prefix has several flags. One type of flag configured with all prefixes is the “A” flag. “A” flag enables hosts to generate their IPv6 address on that link. If the “A” flag is set, the server may create another IPv6 address ( in addition to a static address ).

They result in servers having link-local, static, and auto-generated addresses. Numerous IPv6 addresses will not affect inbound sessions as inbound sessions can accept traffic on all IPv6 addresses. However, complications may arise when the server establishes sessions outbound, which can be unpredictable. To ensure this does not happen, ensure the A flag is cleared on IPv6 subnets.

 

IPv6 RA messages

RA messages can also indicate more information available, for example, when the IPv6 host sends a DHCP information request. This is indicated with the “O” flag in the RA message. Usually needed to find out who the DNS server is.

Every prefix has “A” and “L” flags. When the “L” flag is set, two hosts can communicate directly, even if they are not on the same subnet (the router is advertising two subnets ), allowing them to communicate directly.

For example, if Host A and Host B are on the same or in different subnets and the routing device advertises the subnet without the “L” flag, the absence of the L flag tells the hosts not to communicate directly. All traffic goes via the router even if both hosts are in the same subnet.

If you are running an IPv4-only subnet and an intruder compromises the network and starts to send RA messages. All servers will auto-configure. The intruder can advertise as an IPv6 default router and IPv6 DNS server. Once the IPv6 attackers hit the default routers, it owns the subnet and can do whatever it wants with that traffic. With the “L” flag cleared, all the traffic will go through the intruder’s device. Intercepts everything.

 

First Hop IPv6 High Availability

IPv6 load balancing and VRRPv3

Multi-Chassis Link Aggregation ( MLAG ) and switch stack technology are identical to IPv4 and IPv6—no changes to Layer 2 switches. You need to implement changes at Layer 3. Routers advertise their presence with IPv6 RA messages, and host behavior will vary from one Operating System to the other. It will use the first valid RA message received and the load balance between all first-hop routers.

RA-based failures are appropriate for convergence of around 2 to 3 seconds. Possible to tweak this by setting RA timers? The minimum RA interval is 30 msec, and the minimum RA lifetime is 1 second. Avoid low timer values as RA-based failover consumes CPU cycles to process.

 

VRRPv3
Diagram: IPv6 load balancing and the potential need for VRRPv3.

 

If you have stricter-convergence requirements, implement HSRP or VRRPv3 as the IPv6 first-hop redundancy protocol. It works the same way as it did in version 2. The master is the only one sending RA messages. All hosts send traffic to VRRP IP address, which is resolved to the VRRP MAC address. Sub-second convergence is possible.

Load balancing between two boxes is possible. You could configure two VRRPv3 groups to server-facing subnets using the old trick. The implementation includes multiple VRRPv3 groups configured on the same interface with multiple VRRPv3 masters ( one per group ). Instead of having one VRRPv3 Master sending out RA advertisements, we now have multiple masters, and each Master sends RA messages with its group’s IPv6 and virtual MAC address.

The host will receive two RA messages and can do whatever the OS supports. Arista EOS has a technology known as Virtual ARP: both Layer 3 devices will listen to the same IPv6 MAC address, and whichever one gets the packet will process it.

 

Essential Functions and Features of ICMPv6 RA:

1. Prefix Information:

RAs contain prefix information that allows hosts to autoconfigure their IPv6 addresses. This information includes the network prefix, length, and configuration flags.

2. Default Router Information:

ICMPv6 RAs also provide information about the default routers on the network. This allows hosts to determine the best path for outbound traffic and ensures smooth communication with other nodes on the network.

3. MTU Discovery:

ICMPv6 RAs assist in determining the Maximum Transmission Unit (MTU) for hosts, enabling efficient packet delivery without fragmentation.

4. Other Configuration Parameters:

RAs can include additional configuration parameters such as DNS server addresses, network time protocol (NTP) server addresses, and other network-specific information.

ICMPv6 RA Configuration Options:

1. Managed Configuration Flag (M-Flag):

The M-Flag indicates whether hosts should use stateful address configuration methods, such as DHCPv6, to obtain their IPv6 addresses. When set, hosts will rely on DHCPv6 servers for address assignment.

2. Other Configuration Flag (O-Flag):

The O-Flag indicates whether additional configuration information, such as DNS server addresses, is available via DHCPv6. When set, hosts will use DHCPv6 to obtain this information.

3. Router Lifetime:

The router lifetime field in RAs specifies the duration for which the router’s information should be considered valid. Hosts can use this value to determine how long to rely on a router for network connectivity.

ICMPv6 RA and Neighbor Discovery:

ICMPv6 RA is closely tied to the Neighbor Discovery Protocol (NDP), which facilitates the discovery and management of neighboring nodes within an IPv6 network. RAs play a significant role in the NDP process, ensuring proper address autoconfiguration, router selection, and maintaining network reachability.

ICMPv6 Router Advertisement is essential to IPv6 networking, enabling efficient auto-configuration and seamless connectivity. By leveraging ICMPv6 RAs, routers can efficiently advertise network configuration information, including address prefix, default gateway, and router lifetime. Hosts within the network can then utilize this information to generate IPv6 addresses and ensure proper network segmentation. Understanding the significance of ICMPv6 Router Advertisement is crucial for network administrators and IT professionals working with IPv6 networks, as it forms the backbone of automatic address configuration and routing within these networks.

 

ipv6 load balancing

rsz_ipv6_fragmentatin

IPv6 Host Exposure

 

ipv6 security vulnerabilities

 

IPv6 Host Exposure

The Internet Protocol version 6 (IPv6) has emerged as the next-generation addressing protocol in today’s interconnected world. With the depletion of IPv4 addresses, IPv6 offers a larger address space and improved security features. However, the widespread adoption of IPv6 has also introduced new challenges, particularly regarding host exposure. In this blog post, we will explore the concept of IPv6 host exposure, its implications, and effective mitigation strategies.

IPv6 host exposure refers to the visibility or accessibility of a particular host or device connected to the IPv6 network. Unlike IPv4, where Network Address Translation (NAT) provides security by hiding internal IP addresses, IPv6 assigns globally unique addresses to each device. This means that every device connected to the IPv6 network is directly reachable from the Internet, making it more susceptible to potential risks.

 

Highlights: IPv6 Host Exposure

  • No NAT in IPv6

IPv6, or Internet Protocol version 6, is the latest version of the Internet Protocol, designed to replace the older IPv4. IPv6 provides a larger address space, improved security, and better support for mobile devices and multimedia applications. However, as with any new technology, IPv6 introduces new security challenges, including IPv6 host exposure.

Host exposure refers to a host being directly accessible from the Internet without any network address translation (NAT) or firewall protection. In IPv4, host exposure is typically prevented by using NAT, which maps private IP addresses to public IP addresses and hides the internal network from the outside world. However, in IPv6, there is no need for NAT, as each device can have a unique public address.

This means IPv6 hosts are more exposed to the Internet than their IPv4 counterparts. Attackers can scan for and exploit vulnerabilities in IPv6 hosts directly without penetrating any firewalls or NAT devices. Therefore, taking appropriate measures to protect IPv6 hosts from exposure is essential.

  • The Role of Firewalls and IPsec

One way to protect IPv6 hosts is to use firewalls that support IPv6. These firewalls can filter incoming and outgoing traffic based on predefined rules, providing protection similar to NAT in IPv4. It is also important to regularly apply security patches and updates to IPv6 hosts to prevent known vulnerabilities from being exploited.

Another way to protect IPv6 hosts is to use IPv6 security protocols, such as IPsec. IPsec provides authentication and encryption for IPv6 packets, ensuring they are not tampered with or intercepted by attackers. IPsec can secure communication between hosts or between hosts and routers.

 

Before you proceed, you may find the following post helpful:

  1. SITT IPv6
  2. Port 179
  3. Technology Insight For Microsegmentation
  4. ICMPv6
  5. IPv6 Fragmentation

 



IPv6 Attacks

Key IPv6 Host Exposure Discussion Points:


  • Introduction to IPv6 Host Exposure and what is involved.

  • Highlighting the details of the different types of IPv6 attacks.

  • Critical points on IPv6 security vulnerabilities. 

  • Technical details on the issues with dual stack ( IPv4 & IPv6 ) deployments.  

  • Technical details on IPv6 First Hop vulnerabilities.

 

Back to basics with IPv6 Security.

IPv6 Security 

IPv6 security is an essential component of modern network architecture. By utilizing the latest security technology, organizations can ensure their networks are secure from malicious actors and threats. IPv6 is an upgrade from the IPv4 protocol and has many advantages. It is faster, with a larger address space and more efficient routing protocols. It also provides better options for network segmentation, making it easier to create secure networks.

So, what is IPv6 Host Exposure? Firstly, IPv6 as a protocol suite isn’t inherently more or less secure than its predecessor. However, as with IPv4, most IPv6 attacks and security incidents arise from design and implementation issues rather than weaknesses in the underlying technology. Therefore, we need to consider critical areas of IPv6 security, such as IPv6 host exposure and the numerous ipv6 security vulnerabilities that IPv6 stacks are susceptible to.

Many organizations already have IPv6 running on their networks and must realize it. In addition, many computer operating systems now default to running both IPv4 and IPv6. This is known as dual-stack mode, which could cause security vulnerabilities if one is less secure than the other. IPv6 security vulnerabilities currently exist, and as the popularity of the IPv6 protocol increases, so does the number of IPv6 security vulnerabilities and threats.

 

  • A key point: Lab on IPv6 security with access lists

Access lists in IPv6 are used more a less the same as they are in IPv4. Access lists are used for filtering and selecting traffic. If you recall that IPv6 access lists have 3 invisible statements at the bottom:

  1. permit icmp any any nd-na
  2. permit icmp any any nd-ns
  3. deny ipv6 any any

In the following screenshot, I have IPv6 access set inbound on R1 to permit telnet traffic from R2 explicitly. Any other type of traffic, such as ping, will be blocked by the access list, known as an access filter. As a security best practice, I recommend you also turn on “no ipv6 unreachables” on the interface.  This will stop the AAAA from appearing, which is a security threat.

You don’t want a bad actor to know that an access filter is dropping their packets, as they will try to circumvent it. With the following command enabled under the interface, packets are dropped silently.

IPv6 security
Diagram: IPv6 security

 

Implications of IPv6 Host Exposure:

1. Increased attack surface: The larger address space in IPv6 makes it easier for attackers to scan and identify vulnerable devices. With direct access to each device, attackers can exploit security vulnerabilities, potentially leading to unauthorized access, data breaches, or service disruptions.

2. Lack of visibility: Traditional security tools and monitoring systems primarily designed for IPv4 networks may struggle to detect and defend against threats in an IPv6 environment effectively. This lack of visibility can leave organizations unaware of potential security breaches or ongoing attacks.

3. Misconfiguration risks: IPv6 addressing and configuration complexity can result in misconfigurations, inadvertently exposing hosts to the Internet. These misconfigurations can open up opportunities for attackers to exploit and compromise devices or networks.

4. Privacy concerns: IPv6 addresses can contain unique identifiers, potentially compromising users’ privacy. This can enable tracking and profiling of individuals, raising privacy concerns for individuals and organizations.

 

Challenges with IPv4 designs

In IPv4’s initial design, network security was given minor concern. However, as IPv4 was developed and the Internet explosion occurred in the 1990s, Internet threats became prolific, and we were essentially wide open to attack. If the current circumstances of Internet threats could have been predicted when IPv4 was being developed, the protocol would have had more security measures incorporated.

IP Next Generation (IPng) was created, becoming IPv6 (RFC 1883). IPv6 is the second network layer standard protocol that follows IPv4, offers several compelling functions, and is the next step in the evolution of the Internet Protocol.

IPv6 provides several improvements over its predecessor. The following list summarizes the characteristics of IPv6 and the improvements it can deliver:

  1. Larger address space: Increased address size from 32 bits to 128 bits
  2. Streamlined protocol header: Improves packet-forwarding efficiency
  3. Stateless autoconfiguration: The ability for nodes to determine their address
  4. Multicast: Increased use of efficient one-to-many communications
  5. Jumbograms: The ability to have huge packet payloads for greater efficiency
  6. Network layer security: Encryption and authentication of communications
  7. Quality of service (QoS) capabilities: QoS markings of packets and flow labels that help identify priority traffic,

 

IPv6 security
Diagram: IPv6 security. Source is Varonis

 

Nothing changes above the Layer 3 “Network” layer.

Deploying IPv6 changes nothing above the Layer 3 “Network” layer. IPv4 and IPv6 are network layer protocols, and protocols above and below remain the same for either IP version. Problems such as a lack of a session layer with Transmission Control Protocol ( TCP ) continue to exist in IPv6, along with new security issues of IPv6 fragmentation. In addition, the limitations of multihoming and the exponential growth of the Default Free Zone ( DFZ ) table size are not solved by deploying IPv6. Attacks against any IPv6 network fall within the following areas and are similar to those related to IPv4 attacks,

Securty Attack

Security Attack Area

Attack Type 1

Internet ( DMZ, fragmentation, web pages )

Attack Type 2

IP Spoofing, protocol fuzzing, header manipulation, sessions hijacking

Attack Type 3

Buffer overflows, SQL Injection, cross-site  scripting

Attack Type 4

Email ( attachements, phishing )

Attack Type 5

Worms, viruses, DDoS

Attack Type 6

Chat, peer to peer

We have similar security problems but with different countermeasures. For example, instead of IPv4 ARP spoofing, we have IPv6 ND spoofingExisting network attacks such as Flooding / DDoS, eavesdropping, session hijacking, DNS attacks, man-in-the-middle attacks, and routing security problems are still present with IPv6.

 

Application-level attacks

The majority of vulnerabilities are at the application layer. Application layer attacks in IPv4 and IPv6 are identical, and security concerns with SQL injections still occur at layers operating over IPv6. However, new IPv6 security considerations such as Dual-Stack-exposures and Tunneling exposures not concerned with IPv4 must be addressed as some of the principal IPv6 security vulnerabilities.

 

IPv6 Security Vulnerabilities

IPv6 dual-stack problems

Running both IPv4 and IPv6 at the same time is called Dual-Stack. A router can support two or more different routed protocols and forward for each type of traffic. The IPv4 and IPv6 protocols can share the same physical node but act independently. Dual stacking refers to the concept known as “ships-in-the-night-routing”; packets from each protocol can pass without affecting one another.

Diagram: IPv6 security vulnerabilities and Dual Stack mode.

 

Avoid Dual Stack when possible.

It is recommended to avoid Dual Stack as the Multi-Protocol world is tricky. The problem may arise if someone configures IPv6 without prior knowledge. All servers and hosts would then expose themselves to IPv6 threats. For example, imagine you have a protected server segment-running IP tables, NIC-level firewalls, and stateful aggregation layer firewalls on the servers.

Best practices are followed, resulting in a protected segment. What you do not control is whether servers have IPv6 enabled. When a router sends IPv6 Router Advertisement ( RA ) messages, these servers will auto-configure themselves and become reachable over IPv6 transport. This may not be a problem with Windows servers. Windows firewall works for both IPv4 and IPv6. Unfortunately, Linux servers have different IP tables for IPv4 and IPv6; Iptable for IPv4 and IP6tables for IPv6.

ipv6 host exposure
Diagram: IPv6 host exposure and common mistakes.

 

Linux hosts receive IPv6 RA messages, and some Linux hosts that are dual-stack with link-local addresses establish outbound IPv6 sessions. The link-local is local to the link, and the first-hop router sends an ICMP reply saying “out of scope.” Most Linux OS will terminate IPv6 sessions so you can fall back to IPv4.

However, other versions of Linux do not fall back immediately and wait for TCP to time out, causing significant application outages. As a temporary measure, people started to build IPv6 tunnels. As a result, tunnel-related exposure exists. Teredo is the most notorious attack on IPv6. Therefore, all IPv6 tunnels should be blocked by the firewall.

 

Pay Close Attention To Tunnels

To handle mixed networks, IPv4 and IPv6 are not natively compatible. Using tunnels, IPv6 traffic can be carried over IPv4 native networks. However, tunnels may have security drawbacks, such as reducing visibility into traffic, traversing them, and bypassing firewalls. In addition, the traffic flow can also be manipulated by an attacker by abusing auto-tunneling mechanisms.

As a result, tunnels should be treated with caution. Generally, static tunnels are preferred over dynamic tunnels, and they should only be enabled when explicitly needed. It is also possible to control which hosts can act as tunnel endpoints at the firewall level by filtering.

 

  • A key point: Lab with IPv6 RA

In the following we address IPv6 RA. IPv6 Router Advertisement (RA) is a key mechanism in IPv6 networks that allows routers to inform neighboring hosts and networks about their presence and provide essential network configuration information. Routers periodically send RA messages, enabling hosts to autoconfigure their network settings, such as IPv6 addresses, default gateways, and other parameters.

The command: ipv6 address autoconfig default creates a static route on R2, potentially creating a security flaw in certain use cases.

 

IPv6 RA
Diagram: IPv6 RA

 

Use a random addressing scheme instead of a predictable one

The predictability of IPv6 addresses has contributed significantly to the success of reconnaissance attacks against IPv6 subnets. Even though this can be helpful for network administration, it dramatically hinders IPv6 security. In many cases, these attacks can be mitigated by using random addresses, especially for static assignments.

Autoconfiguration once resulted in Layer 3 IPv6 addresses being derived partly from Layer 2 MAC addresses where autoconfiguration is used. As a result, attackers may find it easier to discover hosts. Now, most operating systems can generate random or pseudo-random addresses, so check if this feature is enabled on your endpoints when autoconfiguration is allowed.

 

IPv6 First Hop Vulnerabilities

Fake router advertisement ( RA ) messages

IPv6 routers advertise themselves via router advertisement ( RA ) messages. Hosts listen to these messages and can figure out what the first hop/gateway router is. If a host needs to send traffic off its local LAN ( off-net traffic ), it sends it to the first-hop router with the best RA message. In addition, RA messages contain priority fields that can be used for backup routing.

IPv6 router advertisements
Diagram: Fake IPv6 router advertisements and IPv6 host exposure.

 

IPv6 first-hop routers

Intruders can advertise themselves as IPv6 first-hop routers, and any hosts that believe it will send the intruder its off-net traffic. Once intercepted, attackers have numerous attacking options. It can respond to hosts’ Domain Name System ( DNS ) requests instead of sending them to a legitimate DNS server. Potential DoS attacking hosts. RFC 6101 introduced mitigation techniques in Port ACL, RA-guard lite, and RA-guard.

 

IPv6 DHCPv6 attacks

An intruder could pretend to be a DHCPv6 server. If hosts use Stateless Address Autoconfiguration ( SLAAC ) for address configuration, they still require the address of the IPv6 DNS server. Hosts obtain their IPv6 address automatically; it’s sent out DHCP information requests asking for the IPv6 address of the DNS server. Intruders can intercept and send in Bogus IPv6 for the hostnames that the client is querying for.

 

Fake neighbor advertisement messages

When a device receives a neighbor solicitation, it looks into the source address of the message and stores the result in the cache. Excessive neighbor solicitation from an intruder can fill up this, cache-causing router ND cache overflow and increased CPU load on the router, overloading the control plane.

Well-known problems

Well-known countermeasures

Large scale flooding

Traffic scrubbing

Source address spoofing 

RPF checks

TCP SYN attacks

TCP SYN cookies

TCP slowdown attacks

Load balancers and Proxies

Application-level attacks

Web Application Firewalls ( WAFs )

IP Fragmentation attacks

ACL's and stateless filters

 

Remote neighbor discovery attacks

Remote neighbor discovery occurs when an intruder scans IPv6 subnets with “valid” IPv6 packets, either “valid” TCP SYN packets or PINGs. Unknown directly connected destination IPv6 addresses trigger Router Solicitation neighbor discovery mechanism causing ND cache overload and CPU overload. The critical point is an attacker can trigger the attack remotely.

This may not have been a problem with IPv4, as subnets are small. But in IPv6, you have large subnets; you can try to scan them and generate neighbor cache problems on the last layer 3 switches.

Input ACL that allows known IPv6 subnets. But some devices do the ND process before checking the inbound ACL. Check the order of operation in the forwarding path. Control plane policing. Cache limits. Prefix longer than /64. People are using /128 on server subnets. Use with care. Better to use Inbound ACL and not with longer prefixes. 

 

IPv6 security
Diagram: IPv6 security. The source is Varonis.

 

Duplicate address detection ( DAD ) attacks

Autoconfiguration works when hosts create their IPv6 address and send a packet asking if anyone else uses it. An intruder can then reply and say yes, I do, which disables auto-configuration on that LAN.

 

IPv6 host exposure and IPv6 fragmented DOS attacks

IPv6 has multiple extension headers, offering attackers-tremendous options for attack. Potentially, stuff too many extension headers attempting to generate fragments. Generating fragments hides the real TCP and UDP port numbers into fragments where firewalls can’t immediately see them. Firewalls should be configured to drop fragmented headers.

  1. Hop-by-hop Header tells each switch to inspect this Header and act on it. It can lead to a great DoS tool.
  2. Routing header, which is the same as IP source-route in IPv4. It should drop by default.

 

  • A key point: Filter on the IPv6 extension headers

Firewalls and ACLs should be able to filter on extension headers. But performing Deep Packet Inspection (DPI) on an IPv6 packet that contains many extension headers is resource-intensive. Firewalls should limit the number of extension headers. 

 

Mitigation Strategies:

1. Network segmentation: By properly segmenting the network and implementing firewalls, organizations can limit the exposure of IPv6 hosts. This approach helps isolate critical assets from threats and reduces the attack surface.

2. Continuous monitoring: Organizations should use network monitoring tools to detect and analyze IPv6 traffic. This ensures timely detection of potential security incidents and allows for effective response and mitigation.

3. Regular security assessments: Conducting periodic security and penetration testing can help identify vulnerabilities and weaknesses in IPv6 deployments. Addressing these issues promptly can prevent potential host exposure and minimize risks.

4. Proper configuration and patch management: Organizations should ensure that IPv6 devices are appropriately configured and regularly updated with the latest security patches. This reduces the likelihood of misconfigurations and minimizes the risk of known vulnerabilities being exploited.

5. Education and awareness: Organizations should prioritize educating their employees about the risks associated with IPv6 host exposure and provide guidelines for secure IPv6 deployment. This empowers individuals to make informed decisions and helps create a security-conscious culture.

Conclusion:

As organizations continue to embrace IPv6, it is crucial to understand the potential risks associated with host exposure. By implementing effective mitigation strategies, such as network segmentation, continuous monitoring, regular security assessments, proper configuration, and education, organizations can enhance their IPv6 security posture and protect against evolving threats. Proactive measures are essential to ensure a secure and resilient IPv6 network environment.

 

ipv6 host exposure