Wednesday, November 30, 2005

IPSec Vulnerability


Multiple Vulnerabilities Found by PROTOS IPSec Test Suite


Introduction


Numerous vulnerabilities have been reported in various Internet Key Exchange version 1 (IKEv1) implementations. The impacts of these vulnerabilities may allow an attacker to execute arbitrary code, cause a denial-of-service condition, or cause an IKEv1 implementation to behave in an unstable/unpredictable manner.


What is Affected?


Potentially any configuration of IPsec that uses Encapsulating Security Payload (ESP) in tunnel mode with confidentiality only, or with integrity protection being provided by a higher layer protocol. Some configurations using AH to provide integrity protection are also vulnerable.


Impact


Successful exploitation of the vulnerability on the Cisco MDS Series may result in the restart of the IKE process. All other Cisco MDS device operations will continue normally. Successful exploitation of the vulnerabilities on all other Cisco devices may result in the restart of the device. The device will return to normal operation without any intervention required.


Vulnerable Products
Cisco IOS versions based on 12.2SXD, 12.3T, 12.4 and 12.4T
Cisco PIX Firewall versions up to but not including 6.3(5)
Cisco PIX Firewall/ASA versions up to but not including 7.0.1.4
Cisco Firewall Services Module (FWSM) versions up to but not including 2.3(3)
Cisco VPN 3000 Series Concentrators versions up to but not including 4.1(7)H and 4.7(2)B
Cisco MDS Series SanOS versions up to but not including 2.1(2)


Details

IPsec consists of several separate protocols; these include:
* Authentication Header (AH): provides authenticity guarantees for packets, by attaching strong cryptographic checksum to packets.

* Encapsulating Security Payload (ESP): provides confidentiality guarantees for packets, by encrypting packets with encryption algorithms. ESP also provides optional authentication services for packets.

* Internet Key Exchange (IKE): provides ways to securely negotiate shared keys. AH and ESP have two modes of use: transport mode and tunnel mode. With ESP in tunnel mode, an IP packet (called the inner packet) is encrypted in its entirety and is used to form the payload of a new packet (called the outer packet); ESP typically uses CBC-mode encryption to provide confidentiality. However, without some form of integrity protection, CBC-mode encrypted data is vulnerable to modification by an active attacker.

By making careful modifications to selected portions of the payload of the outer packet, an attacker can effect controlled changes to the header of the inner (encrypted) packet. The modified inner packet is subsequently processed by the IP software on the receiving security gateway or the endpoint host; the inner packet, in cleartext form, may be redirected or certain error messages may be produced and communicated by ICMP. Because of the design of ICMP, these messages directly reveal cleartext segments of the header and payload of the inner packet. If these messages can be intercepted by an attacker, then plaintext data is revealed. Attacks exploiting these vulnerabilities rely on the following:

*Exploitation of the well-known bit flipping weakness of CBC mode encryption.

*Lack of integrity protection for inner packets.

*Interaction between IPsec processing and IP processing on security gateways and end hosts.

These attacks can be fully automated so as to recover the entire contents of multiple IPsec-protected inner packets. In more detail, the three identified attacks on ESP in tunnel mode work as follows:


Destination Address Rewriting


*An attacker modifies the destination IP address of the encrypted (inner) packet by bit-flipping in the payload of the outer packet.


*The security gateway decrypts the outer payload to recover the (modified) inner packet.


*The gateway then routes the inner packet according to its (modified) destination IP address.
If successful, the "plaintext" inner datagram arrives at a host of the attacker's choice.



IP Options

*An attacker modifies the header length of the encrypted (inner) packet by bit-flipping in the payload of the outer packet.

*The security gateway decrypts the outer payload to recover the (modified) inner packet.

*The gateway then performs IP options processing on the inner packet because of the modified header length, with the first part of the inner payload being interpreted as options bytes.

*With some probability, options processing will result in the generation of an ICMP "parameter problem" message.

*The ICMP message is routed to the now modified source address of the inner packet.

*An attacker intercepts the ICMP message and retrieves the "plaintext" payload of the inner packet.


Protocol Field

*An attacker modifies the protocol field and source address field of the encrypted (inner) packet by bit-flipping in the payload of the outer packet.

*The security gateway decrypts the outer payload to recover the (modified) inner packet.

*The gateway forwards the inner packet to the intended recipient.

*The intended recipient inspects the protocol field of the inner packet and generates an ICMP "protocol unreachable" message.

The ICMP message is routed to the now modified source address of the inner packet.
An attacker intercepts the ICMP message and retrieves the "plaintext" payload of the inner packet.


Summary

Multiple Cisco products contain vulnerabilities in the processing of IPSec IKE (Internet Key Exchange) messages. These vulnerabilities were identified by the University of Oulu Secure Programming Group (OUSPG) "PROTOS" Test Suite for IPSec and can be repeatedly exploited to produce a denial of service.

IP Security (IPsec) is a set of protocols developed by the Internet Engineering Task Force (IETF) to support secure exchange of packets at the IP layer; IPsec has been deployed widely to implement Virtual Private Networks (VPNs).

Three attacks that apply to certain configurations of IPsec have been identified. These configurations use Encapsulating Security Payload (ESP) in tunnel mode with confidentiality only, or with integrity protection being provided by a higher layer protocol. Some configurations using AH to provide integrity protection are also vulnerable. In these configurations, an attacker can modify sections of the IPsec packet, causing either the clear text inner packet to be redirected or a network host to generate an error message. In the latter case, these errors are relayed via the Internet Control Message Protocol (ICMP); because of the design of ICMP, these messages directly reveal segments of the header and payload of the inner datagram in clear text. An attacker who can intercept the ICMP messages can then retrieve plaintext data. The attacks have been implemented and demonstrated to work under realistic conditions.


Solution

The attacks are probabilistic in nature and may need to be iterated many times in a first phase in order to be successful. Once this first phase is complete, the results can be reused to efficiently recover the contents of further inner packets. Naturally, the attacker must be able to intercept traffic passing between the security gateways in order to mount the attacks. For the second and third attacks to be successful, the attacker must be able to intercept the relevant ICMP messages. Variants of these attacks in which the destination of the ICMP messages can be controlled by the attacker are also possible. Any of the following methods can be used to rectify this issue:

1. Configure ESP to use both confidentiality and integrity protection. This is the recommended solution.

2. Use the AH protocol alongside ESP to provide integrity protection. However, this must be done carefully: for example, the configuration where AH in transport mode is applied end-to-end and tunneled inside ESP is still vulnerable.

3. Remove the error reporting by restricting the generation of ICMP messages or by filtering these messages at a firewall or security gateway.

Cisco has made free software available to address this vulnerability for affected customers. Prior to deploying software, customers should consult their maintenance provider or check the software for feature set compatibility and known issues specific to their environment. When considering software upgrades, also consult http://www.cisco.com/go/psirt and any subsequent advisories to determine exposure and a complete upgrade solution.

For more information on this Security Advisory please use the following links:Cisco Users: http://www.cisco.com/en/US/customer/products/products_security_advisory09186a0080572f55.shtml
OR

Non Cisco Users: http://www.cisco.com/en/US/products/products_security_advisory09186a0080572f55.shtml In partnering with Cisco, Covetrix has performed many of these upgrades and has determined that some new configuration is necessary to move from the older versions of software to the patched. Please don't hesitate to give us a call for assistance at 1-877-780-1132 option 3.

For more information go to http://www.covetrix.com/index.jsp.