idnits 2.17.1 draft-ietf-lisp-threats-14.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- -- The document has examples using IPv4 documentation addresses according to RFC6890, but does not use any IPv6 documentation addresses. Maybe there should be IPv6 examples, too? Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (December 20, 2015) is 3043 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- ** Obsolete normative reference: RFC 6830 (Obsoleted by RFC 9300, RFC 9301) ** Obsolete normative reference: RFC 6833 (Obsoleted by RFC 9301) ** Obsolete normative reference: RFC 6834 (Obsoleted by RFC 9302) == Outdated reference: A later version (-09) exists of draft-ietf-lisp-ddt-03 == Outdated reference: A later version (-29) exists of draft-ietf-lisp-sec-09 Summary: 3 errors (**), 0 flaws (~~), 3 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group D. Saucez 3 Internet-Draft INRIA 4 Intended status: Informational L. Iannone 5 Expires: June 22, 2016 Telecom ParisTech 6 O. Bonaventure 7 Universite catholique de Louvain 8 December 20, 2015 10 LISP Threats Analysis 11 draft-ietf-lisp-threats-14.txt 13 Abstract 15 This document provides a threat analysis of the Locator/Identifier 16 Separation Protocol (LISP). 18 Status of this Memo 20 This Internet-Draft is submitted in full conformance with the 21 provisions of BCP 78 and BCP 79. 23 Internet-Drafts are working documents of the Internet Engineering 24 Task Force (IETF). Note that other groups may also distribute 25 working documents as Internet-Drafts. The list of current Internet- 26 Drafts is at http://datatracker.ietf.org/drafts/current/. 28 Internet-Drafts are draft documents valid for a maximum of six months 29 and may be updated, replaced, or obsoleted by other documents at any 30 time. It is inappropriate to use Internet-Drafts as reference 31 material or to cite them other than as "work in progress." 33 This Internet-Draft will expire on June 22, 2016. 35 Copyright Notice 37 Copyright (c) 2015 IETF Trust and the persons identified as the 38 document authors. All rights reserved. 40 This document is subject to BCP 78 and the IETF Trust's Legal 41 Provisions Relating to IETF Documents 42 (http://trustee.ietf.org/license-info) in effect on the date of 43 publication of this document. Please review these documents 44 carefully, as they describe your rights and restrictions with respect 45 to this document. Code Components extracted from this document must 46 include Simplified BSD License text as described in Section 4.e of 47 the Trust Legal Provisions and are provided without warranty as 48 described in the Simplified BSD License. 50 Table of Contents 52 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 53 2. Threat model . . . . . . . . . . . . . . . . . . . . . . . . . 3 54 2.1. Attacker's Operation Modes . . . . . . . . . . . . . . . . 4 55 2.1.1. On-path vs. Off-path Attackers . . . . . . . . . . . . 4 56 2.1.2. Internal vs. External Attackers . . . . . . . . . . . 4 57 2.1.3. Live vs. Time-shifted attackers . . . . . . . . . . . 4 58 2.1.4. Control-plane vs. Data-plane attackers . . . . . . . . 5 59 2.1.5. Cross mode attackers . . . . . . . . . . . . . . . . . 5 60 2.2. Threat categories . . . . . . . . . . . . . . . . . . . . 5 61 2.2.1. Replay attack . . . . . . . . . . . . . . . . . . . . 5 62 2.2.2. Packet manipulation . . . . . . . . . . . . . . . . . 5 63 2.2.3. Packet interception and suppression . . . . . . . . . 6 64 2.2.4. Spoofing . . . . . . . . . . . . . . . . . . . . . . . 6 65 2.2.5. Rogue attack . . . . . . . . . . . . . . . . . . . . . 7 66 2.2.6. Denial of Service (DoS) attack . . . . . . . . . . . . 7 67 2.2.7. Performance attack . . . . . . . . . . . . . . . . . . 7 68 2.2.8. Intrusion attack . . . . . . . . . . . . . . . . . . . 7 69 2.2.9. Amplification attack . . . . . . . . . . . . . . . . . 7 70 2.2.10. Multi-category attacks . . . . . . . . . . . . . . . . 7 71 3. Attack vectors . . . . . . . . . . . . . . . . . . . . . . . . 7 72 3.1. Gleaning . . . . . . . . . . . . . . . . . . . . . . . . . 8 73 3.2. Locator Status Bits . . . . . . . . . . . . . . . . . . . 9 74 3.3. Map-Version . . . . . . . . . . . . . . . . . . . . . . . 10 75 3.4. Routing Locator Reachability . . . . . . . . . . . . . . . 11 76 3.5. Instance ID . . . . . . . . . . . . . . . . . . . . . . . 12 77 3.6. Interworking . . . . . . . . . . . . . . . . . . . . . . . 12 78 3.7. Map-Request messages . . . . . . . . . . . . . . . . . . . 12 79 3.8. Map-Reply messages . . . . . . . . . . . . . . . . . . . . 13 80 3.9. Map-Register messages . . . . . . . . . . . . . . . . . . 14 81 3.10. Map-Notify messages . . . . . . . . . . . . . . . . . . . 15 82 4. Note on Privacy . . . . . . . . . . . . . . . . . . . . . . . 15 83 5. Threats Mitigation . . . . . . . . . . . . . . . . . . . . . . 15 84 6. Security Considerations . . . . . . . . . . . . . . . . . . . 16 85 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 86 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 16 87 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 17 88 9.1. Normative References . . . . . . . . . . . . . . . . . . . 17 89 9.2. Informative References . . . . . . . . . . . . . . . . . . 18 90 Appendix A. Document Change Log (to be removed on publication) . 18 91 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 21 93 1. Introduction 95 The Locator/ID Separation Protocol (LISP) is specified in [RFC6830]. 96 This document provides an assessment of the potential security 97 threats for the current LISP specifications if LISP is deployed in 98 the Internet (i.e., a public non-trustable environment). 100 The document is composed of three main parts: the first defines a 101 general threat model that attackers use to mount attacks. The second 102 part, using this threat model, describes the techniques based on the 103 LISP protocol and LISP architecture that attackers may use to 104 construct attacks. The third part discusses mitigation techniques 105 and general solutions to protect the LISP protocol and architecture 106 from attacks. 108 This document does not consider all the possible uses of LISP as 109 discussed in [RFC6830] and [RFC7215]. The document focuses on LISP 110 unicast, including as well LISP Interworking [RFC6832], LISP Map- 111 Server [RFC6833]), and LISP Map-Versioning [RFC6834]. The reader is 112 assumed to be familiar with these documents for understanding the 113 present document. 115 This document assumes a generic IP service and does not discuss the 116 difference, from a security viewpoint, between using IPv4 or IPv6. 118 2. Threat model 120 This document assumes that attackers can be located anywhere in the 121 Internet (either in LISP sites or outside LISP sites) and that 122 attacks can be mounted either by a single attacker or by the 123 collusion of several attackers. 125 An attacker is a malicious entity that performs the action of 126 attacking a target in a network where LISP is (partially) deployed by 127 leveraging the LISP protocol and/or architecture. 129 An attack is the action of performing an illegitimate action on a 130 target in a network where LISP is (partially) deployed. 132 The target of an attack is the entity (i.e., a device connected to 133 the network or a network) that is aimed to undergo the consequences 134 of an attack. Other entities can potentially undergo side effects of 135 an attack, even though they are not directly targeted by the attack. 136 The target of an attack can be selected specifically, i.e., a 137 particular entity, or arbitrarily, i.e., any entity. Finally, an 138 attacker can aim at attacking one or several targets with a single 139 attack. 141 Section 2.1 specifies the different modes of operation that attackers 142 can follow to mount attacks and Section 2.2 specifies the different 143 categories of attacks that attackers can build. 145 2.1. Attacker's Operation Modes 147 Attackers can be classified according to the following four modes of 148 operation, i.e., the temporal and spacial diversity of the attacker. 150 2.1.1. On-path vs. Off-path Attackers 152 On-path attackers, also known as Men-in-the-Middle, are able to 153 intercept and modify packets between legitimate communicating 154 entities. On-path attackers are located either directly on the 155 normal communication path (either by gaining access to a node on the 156 path or by placing themselves directly on the path) or outside the 157 location path but manage to deviate (or gain a copy of) packets sent 158 between the communication entities. On-path attackers hence mount 159 their attacks by modifying packets initially sent legitimately 160 between communication entities. 162 An attacker is called off-path attacker if it does not have access to 163 packets exchanged during the communication or if there is no 164 communication. In order for their attacks to succeed, off-path 165 attackers must hence generate packets and inject them in the network. 167 2.1.2. Internal vs. External Attackers 169 An internal attacker launches its attack from a node located within a 170 legitimate LISP site. Such an attacker is either a legitimate node 171 of the site or it exploits a vulnerability to gain access to a 172 legitimate node in the site. Because of their location, internal 173 attackers are trusted by the site they are in. 175 On the contrary, an external attacker launches its attacks from the 176 outside of a legitimate LISP site. 178 2.1.3. Live vs. Time-shifted attackers 180 A live attacker mounts attacks for which it must remain connected as 181 long as the attack is mounted. In other words, the attacker must 182 remain active for the whole duration of the attack. Consequently, 183 the attack ends as soon as the attacker (or the used attack vector) 184 is neutralized. 186 On the contrary, a time-shifted attacker mounts attacks that remain 187 active after it disconnects from the Internet. 189 2.1.4. Control-plane vs. Data-plane attackers 191 A control-plane attacker mounts its attack by using control-plane 192 functionalities, typically the mapping system. 194 A data-plane attacker mounts its attack by using data-plane 195 functionalities. 197 As there is no complete isolation between the control-plane and the 198 data-plane, an attacker can operate in the control-plane (or data- 199 plane) to mount attacks targeting the data-plane (or control-plane) 200 or keep the attacked and targeted planes at the same layer (i.e., 201 from control-plane to control-plane or from data-plane to data- 202 plane). 204 2.1.5. Cross mode attackers 206 The attacker modes of operation are not mutually exclusive and hence 207 attackers can combine them to mount attacks. 209 For example, an attacker can launch an attack using the control-plane 210 directly from within a LISP site to which it is able to get temporary 211 access (i.e., internal + control-plane attacker) to create a 212 vulnerability on its target and later on (i.e., time-shifted + 213 external attacker) mount an attack on the data plane (i.e., data- 214 plane attacker) that leverages the vulnerability. 216 2.2. Threat categories 218 Attacks can be classified according to the nine following categories. 220 2.2.1. Replay attack 222 A replay attack happens when an attacker retransmits at a later time, 223 and without modifying it, a packet (or a sequence of packets) that 224 has already been transmitted. 226 2.2.2. Packet manipulation 228 A packet manipulation attack happens when an attacker receives a 229 packet, modifies the packet (i.e., changes some information contained 230 in the packet) and finally transmits the packet to its final 231 destination that can be the initial destination of the packet or a 232 different one. 234 2.2.3. Packet interception and suppression 236 In a packet interception and suppression attack, the attacker 237 captures the packet and drops it before it can reach its final 238 destination. 240 2.2.4. Spoofing 242 With a spoofing attack, the attacker injects packets in the network 243 pretending to be another node. Spoofing attacks are made by forging 244 source addresses in packets. 246 It should be noted that with LISP, packet spoofing is similar to 247 spoofing with any other existing tunneling technology currently 248 deployed in the Internet. Generally the term "spoofed packet" 249 indicates a packet containing a source IP address that is not the 250 actual originator of the packet. Hence, since LISP uses 251 encapsulation, the spoofed address could be in the outer header as 252 well as in the inner header, this translates to two types of 253 spoofing. 255 Inner address spoofing: the attacker uses encapsulation and uses a 256 spoofed source address in the inner packet. In case of data- 257 plane LISP encapsulation, that corresponds to spoofing the 258 source EID (End-point IDentifier) address of the encapsulated 259 packet. 261 Outer address spoofing: the attacker does not use encapsulation and 262 spoofs the source address of the packet. In case of data-plane 263 LISP encapsulation, that corresponds to spoofing the source 264 RLOC (Routing LOCator) address of the encapsulated packet. 266 Note that the two types of spoofing are not mutually exclusive, 267 rather all combinations are possible and could be used to perform 268 different kinds of attacks. For example, an attacker outside a LISP 269 site can generate a packet with a forged source IP address (i.e., 270 outer address spoofing) and forward it to a LISP destination. The 271 packet is then eventually encapsulated by a PITR (Proxy Ingress 272 Tunnel Router) so that once encapsulated the attack corresponds to a 273 inner address spoofing. One can also imagine an attacker forging a 274 packet with encapsulation where both inner and outer source addresses 275 are spoofed. 277 It is important to note that the combination of inner and outer 278 spoofing makes the identification of the attacker complex as the 279 packet may not contain information that allows to detect the origin 280 of the attack. 282 2.2.5. Rogue attack 284 In a rogue attack the attacker manages to appear as a legitimate 285 source of information, without faking its identity (as opposed to a 286 spoofing attacker). 288 2.2.6. Denial of Service (DoS) attack 290 A Denial of Service (DoS) attack aims at disrupting a specific 291 targeted service to make it unable to operate properly. 293 2.2.7. Performance attack 295 A performance attacks aims at exploiting computational resources 296 (e.g., memory, processor) of a targeted node so as to make it unable 297 to operate properly. 299 2.2.8. Intrusion attack 301 In an intrusion attack, the attacker gains remote access to a 302 resource (e.g., a host, a router, or a network) or information that 303 it legitimately should not have access. Intrusion attacks can lead 304 to privacy leakages. 306 2.2.9. Amplification attack 308 In an amplification attack, the traffic generated by the target of 309 the attack in response to the attack is larger than the traffic that 310 the attacker must generate. 312 In some cases, the data-plane can be several orders of magnitude 313 faster than the control-plane at processing packets. This difference 314 can be exploited to overload the control-plane via the data-plane 315 without overloading the data-plane. 317 2.2.10. Multi-category attacks 319 Attacks categories are not mutually exclusive and any combination can 320 be used to perform specific attacks. 322 For example, one can mount a rogue attack to perform a performance 323 attack starving the memory of an ITR (Ingress Tunnel Router) 324 resulting in a DoS (Denial-of-Service) on the ITR. 326 3. Attack vectors 328 This section presents attack techniques that may be used by attackers 329 when leveraging the LISP protocol and/or architecture. 331 3.1. Gleaning 333 To reduce the time required to obtain a mapping, the optional 334 gleaning mechanism defined for LISP allows an xTR ( Ingress and/or 335 Egress Tunnel Router) to directly learn a mapping from the LISP data 336 encapsulated packets and the Map-Request packets that it receives. 337 LISP encapsulated data packets contain a source RLOC, destination 338 RLOC, source EID and destination EID. When an xTR receives an 339 encapsulated data packet coming from a source EID for which it does 340 not already know a mapping, it may insert the mapping between the 341 source RLOC and the source EID in its EID-to-RLOC Cache. The same 342 technique can be used when an xTR receives a Map-Request as the Map- 343 Request also contains a source EID address and a source RLOC. Once a 344 gleaned entry has been added to the EID-to-RLOC cache, the xTR sends 345 a Map-Request to retrieve the actual mapping for the gleaned EID from 346 the mapping system. 348 If a packet injected by an off-path attacker and with a spoofed inner 349 address is gleaned by an xTR then the attacker may divert the traffic 350 meant to be delivered to the spoofed EID as long as the gleaned entry 351 is used by the xTR. This attack can be used as part of replay, 352 packet manipulation, packet interception and suppression, or DoS 353 attacks as the packets are sent to the attacker. 355 If the packet sent by the attacker contains a spoofed outer address 356 instead of a spoofed inner address then it can achieve a DoS or a 357 performance attack as the traffic normally destined to the attacker 358 will be redirected to the spoofed source RLOC. Such traffic may 359 overload the owner of the spoofed source RLOC, preventing it from 360 operating properly. 362 If the packet injected uses both inner and outer spoofing, the 363 attacker can achieve a spoofing, a performance, or an amplification 364 attack as traffic normally destined to the spoofed EID address will 365 be sent to the spoofed RLOC address. If the attacked LISP site also 366 generates traffic to the spoofed EID address, such traffic may have a 367 positive amplification factor. 369 A gleaning attack does not only impact the data-plane but can also 370 have repercussions on the control-plane as a Map-Request is sent 371 after the creation of a gleaned entry. The attacker can then achieve 372 DoS and performance attacks on the control-plane. For example, if an 373 attacker sends a packet for each address of a prefix not yet cached 374 in the EID-to-RLOC cache of an xTR, the xTR will potentially send a 375 Map-Request for each such packet until the mapping is installed which 376 leads to an over-utilisation of the control-plane as each packet 377 generates a control-plane event. In order for this attack to 378 succeed, the attacker may not need to use spoofing. This issue can 379 occur even if gleaning is turned off since whether or not gleaning is 380 used as the ITR may need to send a Map-Request in response to 381 incoming packets whose EID is not currently in the cache. 383 Gleaning attacks are fundamentally involving a time-shifted mode of 384 operation as the attack may last as long as the gleaned entry is kept 385 by the targeted xTR. RFC 6830 [RFC6830] recommends to store the 386 gleaned entries for only a few seconds which limits the duration of 387 the attack. 389 Gleaning attacks always involve external data-plane attackers but 390 results in attacks on either the control-plane or data-plane. 392 Note, the outer spoofed address does not need to be the RLOC of a 393 LISP site, it may be any address. 395 3.2. Locator Status Bits 397 When the L bit in the LISP header is set to 1, it indicates that the 398 second 32-bits longword of the LISP header contains the Locator 399 Status Bits. In this field, each bit position reflects the status of 400 one of the RLOCs mapped to the source EID found in the encapsulated 401 packet. The reaction of a LISP xTR that receives such a packet is 402 left as operational choice in [RFC6830]. 404 When an attacker sends a LISP encapsulated packet with an 405 illegitimately crafted LSB to an xTR, it can influence the xTR's 406 choice of the locators for the prefix associated to the source EID. 407 In case of an off-path attacker, the attacker must inject a forged 408 packet in the network with a spoofed inner address. An on-path 409 attacker can manipulate the LSB of legitimate packets passing through 410 it and hence does not need to use spoofing. Instead of manipulating 411 the LSB field, an on-path attacker can also obtain the same result of 412 injecting packets with invalid LSB values by replaying packets. 414 The LSB field can be leveraged to mount a DoS attack by either 415 declaring all RLOCs as unreachable (all LSB set to 0), or by 416 concentrating all the traffic to one RLOC (e.g., all but one LSB set 417 to 0) and hence overloading the RLOC concentrating all the traffic 418 from the xTR, or by forcing packets to be sent to RLOCs that are 419 actually not reachable (e.g., invert LSB values). 421 The LSB field can also be used to mount a replay, a packet 422 manipulation, or a packet interception and suppression attack. 423 Indeed, if the attacker manages to be on the path between the xTR and 424 one of the RLOCs specified in the mapping, forcing packets to go via 425 that RLOC implies that the attacker will gain access to the packets. 427 Attacks using the LSB are fundamentally involving a time-shifted mode 428 of operation as the attack may last as long as the reachability 429 information gathered from the LSB is used by the xTR to decide the 430 RLOCs to be used. 432 3.3. Map-Version 434 When the Map-Version bit of the LISP header is set to 1, it indicates 435 that the low-order 24 bits of the first 32 bits longword of the LISP 436 header contain a Source and Destination Map-Version. When a LISP xTR 437 receives a LISP encapsulated packet with the Map-Version bit set to 438 1, the following actions are taken: 440 o It compares the Destination Map-Version found in the header with 441 the current version of its own configured EID-to-RLOC mapping, for 442 the destination EID found in the encapsulated packet. If the 443 received Destination Map-Version is smaller (i.e., older) than the 444 current version, the ETR should apply the SMR (Solicit-Map- 445 Request) procedure described in [RFC6830] and send a Map-Request 446 with the SMR bit set. 448 o If a mapping exists in the EID-to-RLOC Cache for the source EID, 449 then it compares the Map-Version of that entry with the Source 450 Map-Version found in the header of the packet. If the stored 451 mapping is older (i.e., the Map-Version is smaller) than the 452 source version of the LISP encapsulated packet, the xTR should 453 send a Map-Request for the source EID. 455 A cross-mode attacker can use the Map-Version bit to mount a DoS 456 attack, an amplification attack, or a spoofing attack. For instance 457 if the mapping cached at the xTR is outdated, the xTR will send a 458 Map-Request to retrieve the new mapping which can yield to a DoS 459 attack (by excess of signalling traffic) or an amplification attack 460 if the data-plane packet sent by the attacker is smaller, or 461 otherwise uses fewer resources, than the control-plane packets sent 462 in response to the attacker's packet. With a spoofing attack, and if 463 the xTR considers that the spoofed ITR has an outdated mapping, it 464 will send an SMR to the spoofed ITR which can result in performance, 465 amplification, or DoS attack as well. 467 Map-Version attackers are inherently cross mode as the Map-Version is 468 a method to put control information in the data-plane. Moreover, 469 this vector involves live attackers. Nevertheless, on-path attackers 470 do not have specific advantage over off-path attackers. 472 3.4. Routing Locator Reachability 474 The Nonce-Present and Echo-Nonce bits in the LISP header are used to 475 verify the reachability of an xTR. A testing xTR sets the Echo-Nonce 476 and the Nonce-Present bits in LISP data encapsulated packets and 477 include a random nonce in the LISP header of packets. Upon reception 478 of these packets, the tested xTR stores the nonce and echoes it 479 whenever it returns a LISP encapsulated data packets to the testing 480 xTR. The reception of the echoed nonce confirms that the tested xTR 481 is reachable. 483 An attacker can interfere with the reachability test by sending two 484 different types of packets: 486 1. LISP data encapsulated packets with the Nonce-Present bit set and 487 a random nonce. Such packets are normally used in response to a 488 reachability test. 490 2. LISP data encapsulated packets with the Nonce-Present and the 491 Echo-Nonce bits both set. These packets will force the receiving 492 ETR to store the received nonce and echo it in the LISP 493 encapsulated packets that it sends. These packets are normally 494 used as a trigger for a reachability test. 496 The first type of packets are used to make xTRs think that an other 497 xTR is reachable while it is not. It is hence a way to mount a DoS 498 attack (i.e., the ITR will send its packet to a non-reachable ETR 499 when it should use another one). 501 The second type of packets could be exploited to attack the nonce- 502 based reachability test. If the attacker sends a continuous flow of 503 packets that each have a different random nonce, the ETR that 504 receives such packets will continuously change the nonce that it 505 returns to the remote ITR, which can yield to a performance attack. 506 If the remote ITR tries a nonce-reachability test, this test may fail 507 because the ETR may echo an invalid nonce. This hence yields to a 508 DoS attack. 510 In the case of an on-path attacker, a packet manipulation attack is 511 necessary to mount the attack. To mount such an attack, an off-path 512 attacker must mount an outer address spoofing attack. 514 If an xTR chooses to periodically check with active probes the 515 liveness of entries in its EID-to-RLOC cache (as described in section 516 6.3 of [RFC6830]), then this may amplify the attack that caused the 517 insertion of entries being checked. 519 3.5. Instance ID 521 LISP allows to carry in its header a 24-bits value called Instance ID 522 and used on the ITR to indicate which local Instance ID has been used 523 for encapsulation, while on the ETR the instance ID decides the 524 forwarding table to use to forward the decapsulated packet in the 525 LISP site. 527 An attacker (either a control-plane or data-plane attacker) can use 528 the instance ID functionality to mount an intrusion attack. 530 3.6. Interworking 532 [RFC6832] defines Proxy-ITR and Proxy-ETR network elements to allow 533 LISP and non-LISP sites to communicate. The Proxy-ITR has 534 functionality similar to the ITR, however, its main purpose is to 535 encapsulate packets arriving from the DFZ (Default-Free Zone) in 536 order to reach LISP sites. A PETR (Proxy Egress Tunnel Router) has 537 functionality similar to the ETR, however, its main purpose is to 538 inject de-encapsulated packets in the DFZ in order to reach non-LISP 539 sites from LISP sites. As a PITR (or PETR) is a particular case of 540 ITR (or ETR), it is subject to similar attacks as ITRs (or ETRs). 542 As any other system relying on proxies, LISP interworking can be used 543 by attackers to hide their exact origin in the network. 545 3.7. Map-Request messages 547 A control-plane off-path attacker can exploit Map-Request messages to 548 mount DoS, performance, or amplification attacks. By sending Map- 549 Request messages at high rate, the attacker can overload nodes 550 involved in the mapping system. For instance sending Map-Requests at 551 high rate can considerably increase the state maintained in a Map- 552 Resolver or consume CPU cycles on ETRs that have to process the Map- 553 Request packets they receive in their slow path (i.e., performance or 554 DoS attack). When the Map-Reply packet is larger than the Map- 555 Request sent by the attacker, that yields to an amplification attack. 556 The attacker can combine the attack with a spoofing attack to 557 overload the node to which the spoofed address is actually attached. 559 Note, if the attacker sets the P bit (Probe Bit) in the Map-Request, 560 it will cause legitimately sending the Map-Request directly to the 561 ETR instead of passing through the mapping system. 563 The SMR bit can be used to mount a variant of these attacks. 565 For efficiency reasons, Map-Records can be appended to Map-Request 566 messages. When an xTR receives a Map-Request with appended Map- 567 Records, it does the same operations as for the other Map-Request 568 messages and so is subject to the same attacks. However, it also 569 installs in its EID-to-RLOC cache the Map-Records contained in the 570 Map-Request. An attacker can then use this vector to force the 571 installation of mappings in its target xTR. Consequently, the EID- 572 to-RLOC cache of the xTR is polluted by potentially forged mappings 573 allowing the attacker to mount any of the attacks categorized in 574 Section 2.2 (see Section 3.8 for more details). Note, the attacker 575 does not need to forge the mappings present in the Map-Request to 576 achieve a performance or DoS attack. Indeed, if the attacker owns a 577 large enough EID prefix it can de-aggregate it in many small 578 prefixes, each corresponding to another mapping and it installs them 579 in the xTR cache by mean of the Map-Request. 581 Moreover, attackers can use Map Resolver and/or Map Server network 582 elements to relay its attacks and hide the origin of the attack. 583 Indeed, on the one hand, a Map Resolver is used to dispatch Map- 584 Request to the mapping system and, on the other hand, a Map Server is 585 used to dispatch Map-Requests coming from the mapping system to ETRs 586 that are authoritative for the EID in the Map-Request. 588 3.8. Map-Reply messages 590 Most of the security risks associated with Map-Reply messages will 591 depend on the 64 bits nonce that is included in a Map-Request and 592 returned in the Map-Reply. If an ETR does not accept Map-Reply 593 messages with an invalid nonce, the risk of an off-path attack is 594 limited given the size of the nonce (64 bits). Nevertheless, the 595 nonce only confirms that the Map-Reply received was sent in response 596 to a Map-Request sent, it does not validate the contents of that Map- 597 Reply. 599 If an attacker manages to send a valid (i.e., in response to a Map- 600 Request and with the correct nonce) Map-Reply to an ITR, then it can 601 perform any of the attacks categorised in Section 2.2 as it can 602 inject forged mappings directly in the ITR EID-to-RLOC cache. For 603 instance, if the mapping injected to the ITR points to the address of 604 a node controlled by the attacker, it can mount replay, packet 605 manipulation, packet interception and suppression, or DoS attacks, as 606 it will receive every packet destined to a destination lying in the 607 EID prefix of the injected mapping. In addition, the attacker can 608 inject a plethora of mappings in the ITR to mount a performance 609 attack by filling up the EID-to-RLOC cache of the ITR. The attacker 610 can also mount an amplification attack if the ITR at that time is 611 sending a large number of packets to the EIDs matching the injected 612 mapping. In this case, the RLOC address associated to the mapping is 613 the address of the real target of the attacker and so all the traffic 614 of the ITR will be sent to the target which means that with one 615 single packet the attacker may generate very high traffic towards its 616 final target. 618 If the attacker is a valid ETR in the system, it can mount a rogue 619 attack if it uses prefixes over-claiming. In such a scenario, the 620 attacker ETR replies to a legitimate Map-Request message which it 621 received with a Map-Reply message that contains an EID-Prefix that is 622 larger than the prefix owned by the attacker. For example if the 623 owned prefix is 192.0.2.0/25 but the Map-Reply contains a mapping for 624 192.0.2.0/24, then the mapping will influence packets destined to 625 other EIDs than the one attacker has authority on. With such 626 technique, the attacker can mount the attacks presented above as it 627 can (partially) control the mappings installed on its target ITR. To 628 force its target ITR to send a Map-Request, nothing prevents the 629 attacker to initiate some communication with the ITR. This method 630 can be used by internal attackers that want to control the mappings 631 installed in their site. To that aim, they simply have to collude 632 with an external attacker ready to over-claim prefixes on behalf of 633 the internal attacker. 635 Note, when the Map-Reply is in response to a Map-Request sent via the 636 mapping system (i.e., not send directly from the ITR to an ETR), the 637 attacker does not need to use a spoofing attack to achieve its attack 638 as by design the source IP address of a Map-Reply is not known in 639 advance by the ITR. 641 Map-Request and Map-Reply messages are exposed to any type of 642 attackers, on-path or off-path but also external or internal 643 attackers. Also, even though they are control message, they can be 644 leveraged by data-plane attackers. As the decision of removing 645 mappings is based on the TTL indicated in the mapping, time-shifted 646 attackers can take advantage of injecting forged mappings as well. 648 3.9. Map-Register messages 650 Map-Register messages are sent by ETRs to Map Servers to indicate to 651 the mapping system the EID prefixes associated to them. The Map- 652 Register message provides an EID prefix and the list of ETRs that are 653 able to provide Map-Replies for the EID covered by the EID prefix. 655 As Map-Register messages are protected by an authentication 656 mechanism, only a compromised ETR can register itself to its 657 allocated Map Server. 659 A compromised ETR can over-claim the prefix it owns in order to 660 influence the route followed by Map-Requests for EIDs outside the 661 scope of its legitimate EID prefix (see Section 3.8 for the list of 662 over-claiming attacks). 664 A compromised ETR can also de-aggregate its EID prefix in order to 665 register more EID prefixes than necessary to its Map Servers (see 666 Section 3.7 for the impact of de-aggregation of prefixes by an 667 attacker). 669 Similarly, a compromised Map Server can accept an invalid 670 registration or advertise an invalid EID prefix to the mapping 671 system. 673 3.10. Map-Notify messages 675 Map-Notify messages are sent by a Map Server to an ETR to acknowledge 676 the reception and processing of a Map-Register message. 678 Similarly to the pair Map-Request/Map-Reply, the pair Map-Register/ 679 Map-Notify is protected by a nonce making it difficult for an 680 attacker to inject a falsified notification to an ETR to make this 681 ETR believe that the registration succeeded when it has not. 683 4. Note on Privacy 685 As reviewed in [RFC6973], universal privacy considerations are 686 difficult to establish as the privacy definitions may vary for 687 different scenarios. As a consequence, this document does not aim at 688 identifying privacy issues related to the LISP protocol but the 689 security threats identified in this document could play a role in 690 privacy threats as defined in section 5 of [RFC6973]. 692 Similar to public deployments of any other control plane protocols, 693 in an Internet deployment, LISP mappings are public and hence provide 694 information about the infrastructure and reachability of LISP sites 695 (i.e., the addresses of the edge routers). Depending upon deployment 696 details, LISP map replies might or might not provide finer grained 697 and more detailed information than is available with currently 698 deployed routing and control protocols. 700 5. Threats Mitigation 702 Most of the above threats can be mitigated with careful deployment 703 and configuration (e.g., filter) and also by applying the general 704 rules of security, e.g. only activating features that are necessary 705 for the deployment and verifying the validity of the information 706 obtained from third parties. 708 The control-plane is the most critical part of LISP from a security 709 viewpoint and it is worth to notice that the LISP specifications 710 already offer an authentication mechanism for mappings registration 711 ([RFC6833]). This mechanism, combined with LISP-SEC 712 [I-D.ietf-lisp-sec], strongly mitigates threats in non-trustable 713 environments such as the Internet. Moreover, an authentication data 714 field for Map-Request messages and Encapsulated Control messages was 715 allocated [RFC6830]. This field provides a general authentication 716 mechanism technique for the LISP control-plane which future 717 specifications may use while staying backward compatible. The usage 718 will be designed and defined specific for the needs of the 719 specification. The exact technique still has to be designed and 720 defined. To maximally mitigate the threats on the mapping system, 721 authentication must be used, whenever possible, for both Map-Request 722 and Map-Reply messages and for messages exchanged internally among 723 elements of the mapping system, such as specified in 724 [I-D.ietf-lisp-sec] and [I-D.ietf-lisp-ddt]. 726 Systematically applying filters and rate-limitation, as proposed in 727 [RFC6830], will mitigate most of the threats presented in this 728 document. In order to minimise the risk of overloading the control- 729 plane with actions triggered from data-plane events, such actions 730 should be rate limited. 732 Moreover, all information opportunistically learned (e.g., with LSB 733 or gleaning) should be used with care until they are verified. For 734 example, a reachability change learned with LSB should not be used 735 directly to decide the destination RLOC, but instead should trigger a 736 rate-limited reachability test. Similarly, a gleaned entry should be 737 used only for the flow that triggered the gleaning procedure until 738 the gleaned entry has been verified [Trilogy]. 740 6. Security Considerations 742 This document provides a threat analysis and proposes mitigation 743 techniques for the Locator/Identifier Separation Protocol. 745 7. IANA Considerations 747 This document makes no request to IANA. 749 8. Acknowledgments 751 This document builds upon the document of Marcelo Bagnulo 752 ([I-D.bagnulo-lisp-threat]), where the flooding attack and the 753 reference environment was first described. 755 The authors would like to thank Deborah Brungard, Ronald Bonica, 756 Albert Cabellos, Ross Callon, Noel Chiappa, Florin Coras, Vina 757 Ermagan, Dino Farinacci, Stephen Farrell, Joel Halpern, Emily 758 Hiltzik, Darrel Lewis, Edward Lopez, Fabio Maino, Terry Manderson, 759 and Jeff Wheeler for their comments. 761 This work has been partially supported by the INFSO-ICT-216372 762 TRILOGY Project (www.trilogy-project.org). 764 The work of Luigi Iannone has been partially supported by the ANR-13- 765 INFR-0009 LISP-Lab Project (www.lisp-lab.org) and the EIT KIC ICT- 766 Labs SOFNETS Project. 768 9. References 770 9.1. Normative References 772 [RFC6830] Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, "The 773 Locator/ID Separation Protocol (LISP)", RFC 6830, 774 DOI 10.17487/RFC6830, January 2013, 775 . 777 [RFC6832] Lewis, D., Meyer, D., Farinacci, D., and V. Fuller, 778 "Interworking between Locator/ID Separation Protocol 779 (LISP) and Non-LISP Sites", RFC 6832, DOI 10.17487/ 780 RFC6832, January 2013, 781 . 783 [RFC6833] Fuller, V. and D. Farinacci, "Locator/ID Separation 784 Protocol (LISP) Map-Server Interface", RFC 6833, 785 DOI 10.17487/RFC6833, January 2013, 786 . 788 [RFC6834] Iannone, L., Saucez, D., and O. Bonaventure, "Locator/ID 789 Separation Protocol (LISP) Map-Versioning", RFC 6834, 790 DOI 10.17487/RFC6834, January 2013, 791 . 793 [RFC6973] Cooper, A., Tschofenig, H., Aboba, B., Peterson, J., 794 Morris, J., Hansen, M., and R. Smith, "Privacy 795 Considerations for Internet Protocols", RFC 6973, 796 DOI 10.17487/RFC6973, July 2013, 797 . 799 9.2. Informative References 801 [I-D.bagnulo-lisp-threat] 802 Bagnulo, M., "Preliminary LISP Threat Analysis", 803 draft-bagnulo-lisp-threat-01 (work in progress), 804 July 2007. 806 [I-D.ietf-lisp-ddt] 807 Fuller, V., Lewis, D., Ermagan, V., and A. Jain, "LISP 808 Delegated Database Tree", draft-ietf-lisp-ddt-03 (work in 809 progress), April 2015. 811 [I-D.ietf-lisp-sec] 812 Maino, F., Ermagan, V., Cabellos-Aparicio, A., and D. 813 Saucez, "LISP-Security (LISP-SEC)", draft-ietf-lisp-sec-09 814 (work in progress), October 2015. 816 [RFC7215] Jakab, L., Cabellos-Aparicio, A., Coras, F., Domingo- 817 Pascual, J., and D. Lewis, "Locator/Identifier Separation 818 Protocol (LISP) Network Element Deployment 819 Considerations", RFC 7215, DOI 10.17487/RFC7215, 820 April 2014, . 822 [Trilogy] Saucez, D. and L. Iannone, "How to mitigate the effect of 823 scans on mapping systems", Trilogy Future Internet Summer 824 School., 2009. 826 Appendix A. Document Change Log (to be removed on publication) 828 o Version 14 Posted December 2015. 830 * Editorial changes according to Deborah Brungard's (Routing AD) 831 review. 833 o Version 13 Posted August 2015. 835 * Keepalive version. 837 o Version 12 Posted March 2015. 839 * Addressed comments by Ross Callon on the mailing list (http:// 840 www.ietf.org/mail-archive/web/lisp/current/msg05829.html). 842 * Addition of a section discussing mitigation techniques for 843 deployments in non-trustable environments. 845 o Version 11 Posted December 2014. 847 * Editorial polishing. Clarifications added in few points. 849 o Version 10 Posted July 2014. 851 * Document completely remodelled according to the discussions on 852 the mailing list in the thread 853 http://www.ietf.org/mail-archive/web/lisp/current/msg05206.html 854 and to address comments from Ronald Bonica and Ross Callon. 856 o Version 09 Posted March 2014. 858 * Updated document according to the review of A. Cabellos. 860 o Version 08 Posted October 2013. 862 * Addition of a privacy consideration note. 864 * Editorial changes 866 o Version 07 Posted October 2013. 868 * This version is updated according to the thorough review made 869 during October 2013 LISP WG interim meeting. 871 * Brief recommendations put in the security consideration 872 section. 874 * Editorial changes 876 o Version 06 Posted October 2013. 878 * Complete restructuration, temporary version to be used at 879 October 2013 interim meeting. 881 o Version 05 Posted August 2013. 883 * Removal of severity levels to become a short recommendation to 884 reduce the risk of the discussed threat. 886 o Version 04 Posted February 2013. 888 * Clear statement that the document compares threats of public 889 LISP deployments with threats in the current Internet 890 architecture. 892 * Addition of a severity level discussion at the end of each 893 section. 895 * Addressed comments from V. Ermagan and D. Lewis' reviews. 897 * Updated References. 899 * Further editorial polishing. 901 o Version 03 Posted October 2012. 903 * Dropped Reference to RFC 2119 notation because it is not 904 actually used in the document. 906 * Deleted future plans section. 908 * Updated References 910 * Deleted/Modified sentences referring to the early status of the 911 LISP WG and documents at the time of writing early versions of 912 the document. 914 * Further editorial polishing. 916 * Fixed all ID nits. 918 o Version 02 Posted September 2012. 920 * Added a new attack that combines over-claiming and de- 921 aggregation (see Section 3.8). 923 * Editorial polishing. 925 o Version 01 Posted February 2012. 927 * Added discussion on LISP-DDT. 929 o Version 00 Posted July 2011. 931 * Added discussion on LISP-MS>. 933 * Added discussion on Instance ID. 935 * Editorial polishing of the whole document. 937 * Added "Change Log" appendix to keep track of main changes. 939 * Renamed "draft-saucez-lisp-security-03.txt. 941 Authors' Addresses 943 Damien Saucez 944 INRIA 945 2004 route des Lucioles BP 93 946 06902 Sophia Antipolis Cedex 947 France 949 Email: damien.saucez@inria.fr 951 Luigi Iannone 952 Telecom ParisTech 953 23, Avenue d'Italie, CS 51327 954 75214 PARIS Cedex 13 955 France 957 Email: ggx@gigix.net 959 Olivier Bonaventure 960 Universite catholique de Louvain 961 Place St. Barbe 2 962 Louvain la Neuve 963 Belgium 965 Email: olivier.bonaventure@uclouvain.be