idnits 2.17.1 draft-ietf-i2nsf-applicability-13.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 seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (June 22, 2019) is 1768 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- No issues found here. Summary: 1 error (**), 0 flaws (~~), 1 warning (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 I2NSF Working Group J. Jeong 3 Internet-Draft Sungkyunkwan University 4 Intended status: Informational S. Hyun 5 Expires: December 24, 2019 Chosun University 6 T. Ahn 7 Korea Telecom 8 S. Hares 9 Huawei 10 D. Lopez 11 Telefonica I+D 12 June 22, 2019 14 Applicability of Interfaces to Network Security Functions to Network- 15 Based Security Services 16 draft-ietf-i2nsf-applicability-13 18 Abstract 20 This document describes the applicability of Interface to Network 21 Security Functions (I2NSF) to network-based security services in 22 Network Functions Virtualization (NFV) environments, such as 23 firewall, deep packet inspection, or attack mitigation engines. 25 Status of This Memo 27 This Internet-Draft is submitted in full conformance with the 28 provisions of BCP 78 and BCP 79. 30 Internet-Drafts are working documents of the Internet Engineering 31 Task Force (IETF). Note that other groups may also distribute 32 working documents as Internet-Drafts. The list of current Internet- 33 Drafts is at https://datatracker.ietf.org/drafts/current/. 35 Internet-Drafts are draft documents valid for a maximum of six months 36 and may be updated, replaced, or obsoleted by other documents at any 37 time. It is inappropriate to use Internet-Drafts as reference 38 material or to cite them other than as "work in progress." 40 This Internet-Draft will expire on December 24, 2019. 42 Copyright Notice 44 Copyright (c) 2019 IETF Trust and the persons identified as the 45 document authors. All rights reserved. 47 This document is subject to BCP 78 and the IETF Trust's Legal 48 Provisions Relating to IETF Documents 49 (https://trustee.ietf.org/license-info) in effect on the date of 50 publication of this document. Please review these documents 51 carefully, as they describe your rights and restrictions with respect 52 to this document. Code Components extracted from this document must 53 include Simplified BSD License text as described in Section 4.e of 54 the Trust Legal Provisions and are provided without warranty as 55 described in the Simplified BSD License. 57 Table of Contents 59 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 60 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 61 3. I2NSF Framework . . . . . . . . . . . . . . . . . . . . . . . 5 62 4. Time-dependent Web Access Control Service . . . . . . . . . . 6 63 5. I2NSF Framework with SFC . . . . . . . . . . . . . . . . . . 9 64 6. I2NSF Framework with SDN . . . . . . . . . . . . . . . . . . 11 65 6.1. Firewall: Centralized Firewall System . . . . . . . . . . 13 66 6.2. Deep Packet Inspection: Centralized VoIP/VoLTE Security 67 System . . . . . . . . . . . . . . . . . . . . . . . . . 14 68 6.3. Attack Mitigation: Centralized DDoS-attack Mitigation 69 System . . . . . . . . . . . . . . . . . . . . . . . . . 14 70 7. I2NSF Framework with NFV . . . . . . . . . . . . . . . . . . 15 71 8. Security Considerations . . . . . . . . . . . . . . . . . . . 17 72 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 18 73 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 18 74 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 18 75 11.1. Normative References . . . . . . . . . . . . . . . . . . 18 76 11.2. Informative References . . . . . . . . . . . . . . . . . 20 77 Appendix A. Changes from draft-ietf-i2nsf-applicability-12 . . . 22 78 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22 80 1. Introduction 82 Interface to Network Security Functions (I2NSF) defines a framework 83 and interfaces for interacting with Network Security Functions 84 (NSFs). Note that an NSF is defined as software that provides a set 85 of security-related services, such as (i) detecting unwanted 86 activity, (ii) blocking or mitigating the effect of such unwanted 87 activity in order to fulfil service requirements, and (iii) 88 supporting communication stream integrity and confidentiality 89 [i2nsf-terminology]. 91 The I2NSF framework allows heterogeneous NSFs developed by different 92 security solution vendors to be used in the Network Functions 93 Virtualization (NFV) environment [ETSI-NFV] by utilizing the 94 capabilities of such NSFs through I2NSF interfaces such as Customer- 95 Facing Interface [consumer-facing-inf-dm] and NSF-Facing Interface 96 [nsf-facing-inf-dm]. In the I2NSF framework, each NSF initially 97 registers the profile of its own capabilities with the Security 98 Controller (i.e., network operator management system [RFC8329]) of 99 the I2NSF system via the Registration Interface 100 [registration-inf-dm]. This registration enables an I2NSF User 101 (i.e., network security administrator) to select and use the NSF to 102 enforce a given security policy. Note that Developer's Management 103 System (DMS) is management software that provides a vendor's security 104 service software as a Virtual Network Function (VNF) in an NFV 105 environment (or middlebox in the legacy network) as an NSF, and 106 registers the capabilities of an NSF into Security Controller via 107 Registration Interface for a security service [RFC8329]. 109 Security Controller maintains the mapping between a capability and an 110 NSF, so it can perform to translate a high-level security policy 111 received from I2NSF User to a low-level security policy configured 112 and enforced in an NSF [policy-translation]. Security Controller can 113 monitor the states and security attacks in NSFs through NSF 114 monitoring [nsf-monitoring-dm]. 116 This document illustrates the applicability of the I2NSF framework 117 with four different scenarios: 119 1. The enforcement of time-dependent web access control. 121 2. The application of I2NSF to a Service Function Chaining (SFC) 122 environment [RFC7665]. 124 3. The integration of the I2NSF framework with Software-Defined 125 Networking (SDN) [RFC7149] to provide different security 126 functionality such as firewalls [opsawg-firewalls], Deep Packet 127 Inspection (DPI), and Distributed Denial of Service (DDoS) attack 128 mitigation. 130 4. The use of Network Functions Virtualization (NFV) [ETSI-NFV] as a 131 supporting technology. 133 The implementation of I2NSF in these scenarios has allowed us to 134 verify the applicability and effectiveness of the I2NSF framework for 135 a variety of use cases. 137 2. Terminology 139 This document uses the terminology described in [RFC7665], [RFC7149], 140 [ITU-T.Y.3300], [ONF-SDN-Architecture], [ITU-T.X.800], 141 [NFV-Terminology], [RFC8329], and [i2nsf-terminology]. In addition, 142 the following terms are defined below: 144 o Software-Defined Networking (SDN): A set of techniques that 145 enables to directly program, orchestrate, control, and manage 146 network resources, which facilitates the design, delivery and 147 operation of network services in a dynamic and scalable manner 148 [ITU-T.Y.3300]. 150 o Network Function: A functional block within a network 151 infrastructure that has well-defined external interfaces and well- 152 defined functional behavior [NFV-Terminology]. 154 o Network Security Function (NSF): Software that provides a set of 155 security-related services. Examples include detecting unwanted 156 activity and blocking or mitigating the effect of such unwanted 157 activity in order to fulfil service requirements. The NSF can 158 also help in supporting communication stream integrity and 159 confidentiality [i2nsf-terminology]. 161 o Network Functions Virtualization (NFV): A principle of separating 162 network functions (or network security functions) from the 163 hardware they run on by using virtual hardware abstraction 164 [NFV-Terminology]. 166 o Service Function Chaining (SFC): The execution of an ordered set 167 of abstract service functions (i.e., network functions) according 168 to ordering constraints that must be applied to packets, frames, 169 and flows selected as a result of classification. The implied 170 order may not be a linear progression as the architecture allows 171 for SFCs that copy to more than one branch, and also allows for 172 cases where there is flexibility in the order in which service 173 functions need to be applied [RFC7665]. 175 o Firewall: A service function at the junction of two network 176 segments that inspects some suspicious packets that attempt to 177 cross the boundary. It also rejects any packet that does not 178 satisfy certain criteria for, for example, disallowed port numbers 179 or IP addresses. 181 o Centralized Firewall System: A centralized firewall that can 182 establish and distribute policy rules into network resources for 183 efficient firewall management. 185 o Centralized VoIP Security System: A centralized security system 186 that handles the security functions required for VoIP and VoLTE 187 services. 189 o Centralized DDoS-attack Mitigation System: A centralized mitigator 190 that can establish and distribute access control policy rules into 191 network resources for efficient DDoS-attack mitigation. 193 +------------+ 194 | I2NSF User | 195 +------------+ 196 ^ 197 | Consumer-Facing Interface 198 v 199 +-------------------+ Registration +-----------------------+ 200 |Security Controller|<-------------------->|Developer's Mgmt System| 201 +-------------------+ Interface +-----------------------+ 202 ^ 203 | NSF-Facing Interface 204 v 205 +----------------+ +---------------+ +-----------------------+ 206 | NSF-1 |-| NSF-2 |...| NSF-n | 207 | (Firewall) | | (Web Filter) | |(DDoS-Attack Mitigator)| 208 +----------------+ +---------------+ +-----------------------+ 210 Figure 1: I2NSF Framework 212 3. I2NSF Framework 214 This section summarizes the I2NSF framework as defined in [RFC8329]. 215 As shown in Figure 1, an I2NSF User can use security functions by 216 delivering high-level security policies, which specify security 217 requirements that the I2NSF user wants to enforce, to the Security 218 Controller via the Consumer-Facing Interface 219 [consumer-facing-inf-dm]. 221 The Security Controller receives and analyzes the high-level security 222 policies from an I2NSF User, and identifies what types of security 223 capabilities are required to meet these high-level security policies. 224 The Security Controller then identifies NSFs that have the required 225 security capabilities, and generates low-level security policies for 226 each of the NSFs so that the high-level security policies are 227 eventually enforced by those NSFs [policy-translation]. Finally, the 228 Security Controller sends the generated low-level security policies 229 to the NSFs via the NSF-Facing Interface [nsf-facing-inf-dm]. 231 As shown in Figure 1, with a Developer's Management System (called 232 DMS), developers (or vendors) inform the Security Controller of the 233 capabilities of the NSFs through the Registration Interface 234 [registration-inf-dm] for registering (or deregistering) the 235 corresponding NSFs. Note that the lifecycle management of NSF code 236 from DMS (e.g., downloading of NSF modules and testing of NSF code) 237 is out of scope for I2NSF. 239 The Consumer-Facing Interface can be implemented with the Consumer- 240 Facing Interface YANG data model [consumer-facing-inf-dm] using 241 RESTCONF [RFC8040] which befits a web-based user interface for an 242 I2NSF User to send a Security Controller a high-level security 243 policy. Data models specified by YANG [RFC6020] describe high-level 244 security policies to be specified by an I2NSF User. The data model 245 defined in [consumer-facing-inf-dm] can be used for the I2NSF 246 Consumer-Facing Interface. Note that an inside attacker at the I2NSF 247 User can misuse the I2NSF system so that the network system under the 248 I2NSF system is vulnerable to security attacks. To handle this type 249 of threat, the Security Controller needs to monitor the activities of 250 all the I2NSF Users as well as the NSFs through the I2NSF NSF 251 monitoring functionality [nsf-monitoring-dm]. Note that the 252 monitoring of the I2NSF Users is out of scope for I2NSF. 254 The NSF-Facing Interface can be implemented with the NSF-Facing 255 Interface YANG data model [nsf-facing-inf-dm] using NETCONF [RFC6241] 256 which befits a command-line-based remote-procedure call for a 257 Security Controller to configure an NSF with a low-level security 258 policy. Data models specified by YANG [RFC6020] describe low-level 259 security policies for the sake of NSFs, which are translated from the 260 high-level security policies by the Security Controller. The data 261 model defined in [nsf-facing-inf-dm] can be used for the I2NSF NSF- 262 Facing Interface. 264 The Registration Interface can be implemented with the Registration 265 Interface YANG data model [registration-inf-dm] using NETCONF 266 [RFC6241] which befits a command-line-based remote-procedure call for 267 a DMS to send a Security Controller an NSF's capability information. 268 Data models specified by YANG [RFC6020] describe the registration of 269 an NSF's capabilities to enforce security services at the NSF. The 270 data model defined in [registration-inf-dm] can be used for the I2NSF 271 Registration Interface. 273 The I2NSF framework can chain multiple NSFs to implement low-level 274 security policies with the SFC architecture [RFC7665]. 276 The following sections describe different security service scenarios 277 illustrating the applicability of the I2NSF framework. 279 4. Time-dependent Web Access Control Service 281 This service scenario assumes that an enterprise network 282 administrator wants to control the staff members' access to a 283 particular Internet service (e.g., Example.com) during business 284 hours. The following is an example high-level security policy rule 285 for a web filter that the administrator requests: Block the staff 286 members' access to Example.com from 9 AM (i.e., 09:00) to 6 PM (i.e., 287 18:00) by dropping their packets. Figure 2 is an example XML code 288 for this web filter that is sent from the I2NSF User to the Security 289 Controller via the Consumer-Facing Interface 290 [consumer-facing-inf-dm]: 292 293 294 block_website 295 296 block_website_during_working_hours 297 298 299 09:00 300 18:00 301 302 303 304 305 306 Staff_Member's_PC 307 308 309 310 311 Example.com 312 313 314 315 316 drop 317 318 319 321 Figure 2: An XML Example for Time-based Web-filter 323 The security policy name is "block_website" with the tag "policy- 324 name", and the security policy rule name is 325 "block_website_during_working_hours" with the tag "rule-name". The 326 filtering event has the time span where the filtering begin time is 327 the time "09:00" (i.e., 9:00AM) with the tag "begin-time", and the 328 filtering end time is the time "18:00" (i.e., 6:00PM) with the tag 329 "end-time". The filtering condition has the source target of 330 "Staff_Member's_PC" with the tag "src-target", the destination target 331 of a website "Example.com" with the tag "dest-target". The action is 332 to "drop" the packets satisfying the above event and condition with 333 the tag "primary-action". 335 After receiving the high-level security policy, the Security 336 Controller identifies required security capabilities, e.g., IP 337 address and port number inspection capabilities and URL inspection 338 capability. In this scenario, it is assumed that the IP address and 339 port number inspection capabilities are required to check whether a 340 received packet is an HTTP packet from a staff member. The URL 341 inspection capability is required to check whether the target URL of 342 a received packet is in the Example.com domain or not. 344 The Security Controller maintains the security capabilities of each 345 active NSF in the I2NSF system, which have been reported by the 346 Developer's Management System via the Registration interface. Based 347 on this information, the Security Controller identifies NSFs that can 348 perform the IP address and port number inspection and URL inspection 349 [policy-translation]. In this scenario, it is assumed that a 350 firewall NSF has the IP address and port number inspection 351 capabilities and a web filter NSF has URL inspection capability. 353 The Security Controller generates low-level security rules for the 354 NSFs to perform IP address and port number inspection, URL 355 inspection, and time checking. Specifically, the Security Controller 356 may interoperate with an access control server in the enterprise 357 network in order to retrieve the information (e.g., IP address in 358 use, company identifier (ID), and role) of each employee that is 359 currently using the network. Based on the retrieved information, the 360 Security Controller generates low-level security rules to check 361 whether the source IP address of a received packet matches any one 362 being used by a staff member. In addition, the low-level security 363 rules should be able to determine that a received packet is of HTTP 364 protocol. The low-level security rules for web filter check that the 365 target URL field of a received packet is equal to Example.com. 366 Finally, the Security Controller sends the low-level security rules 367 of the IP address and port number inspection to the firewall NSF and 368 the low-level rules for URL inspection to the web filter NSF. 370 The following describes how the time-dependent web access control 371 service is enforced by the NSFs of firewall and web filter. 373 1. A staff member tries to access Example.com during business hours, 374 e.g., 10 AM. 376 2. The packet is forwarded from the staff member's device to the 377 firewall, and the firewall checks the source IP address and port 378 number. Now the firewall identifies the received packet is an 379 HTTP packet from the staff member. 381 3. The firewall triggers the web filter to further inspect the 382 packet, and the packet is forwarded from the firewall to the web 383 filter. The SFC architecture [RFC7665] can be utilized to 384 support such packet forwarding in the I2NSF framework. 386 4. The web filter checks the target URL field of the received 387 packet, and realizes the packet is toward Example.com. The web 388 filter then checks that the current time is in business hours. 389 If so, the web filter drops the packet, and consequently the 390 staff member's access to Example.com during business hours is 391 blocked. 393 +------------+ 394 | I2NSF User | 395 +------------+ 396 ^ 397 | Consumer-Facing Interface 398 v 399 +-------------------+ Registration +-----------------------+ 400 |Security Controller|<-------------------->|Developer's Mgmt System| 401 +-------------------+ Interface +-----------------------+ 402 ^ ^ 403 | | NSF-Facing Interface 404 | |------------------------- 405 | | 406 | NSF-Facing Interface | 407 +-----v-----------+ +------v-------+ 408 | +-----------+ | ------>| NSF-1 | 409 | |Classifier | | | | (Firewall) | 410 | +-----------+ | | +--------------+ 411 | +-----+ |<-----| +--------------+ 412 | | SFF | | |----->| NSF-2 | 413 | +-----+ | | | (DPI) | 414 +-----------------+ | +--------------+ 415 | . 416 | . 417 | . 418 | +-----------------------+ 419 ------>| NSF-n | 420 |(DDoS-Attack Mitigator)| 421 +-----------------------+ 423 Figure 3: An I2NSF Framework with SFC 425 5. I2NSF Framework with SFC 427 In the I2NSF architecture, an NSF can trigger an advanced security 428 action (e.g., DPI or DDoS attack mitigation) on a packet based on the 429 result of its own security inspection of the packet. For example, a 430 firewall triggers further inspection of a suspicious packet with DPI. 431 For this advanced security action to be fulfilled, the suspicious 432 packet should be forwarded from the current NSF to the successor NSF. 433 SFC [RFC7665] is a technology that enables this advanced security 434 action by steering a packet with multiple service functions (e.g., 435 NSFs), and this technology can be utilized by the I2NSF architecture 436 to support the advanced security action. 438 Figure 3 shows an I2NSF framework with the support of SFC. As shown 439 in the figure, SFC generally requires classifiers and service 440 function forwarders (SFFs); classifiers are responsible for 441 determining which service function path (SFP) (i.e., an ordered 442 sequence of service functions) a given packet should pass through, 443 according to pre-configured classification rules, and SFFs perform 444 forwarding the given packet to the next service function (e.g., NSF) 445 on the SFP of the packet by referring to their forwarding tables. In 446 the I2NSF architecture with SFC, the Security Controller can take 447 responsibilities of generating classification rules for classifiers 448 and forwarding tables for SFFs. By analyzing high-level security 449 policies from I2NSF users, the Security Controller can construct SFPs 450 that are required to meet the high-level security policies, generates 451 classification rules of the SFPs, and then configures classifiers 452 with the classification rules over NSF-Facing Interface so that 453 relevant traffic packets can follow the SFPs. Also, based on the 454 global view of NSF instances available in the system, the Security 455 Controller constructs forwarding tables, which are required for SFFs 456 to forward a given packet to the next NSF over the SFP, and 457 configures SFFs with those forwarding tables over NSF-Facing 458 Interface. 460 To trigger an advanced security action in the I2NSF architecture, the 461 current NSF appends metadata describing the security capability 462 required to the suspicious packet via a network service header (NSH) 463 [RFC8300]. It then sends the packet to the classifier. Based on the 464 metadata information, the classifier searches an SFP which includes 465 an NSF with the required security capability, changes the SFP-related 466 information (e.g., service path identifier and service index 467 [RFC8300]) of the packet with the new SFP that has been found, and 468 then forwards the packet to the SFF. When receiving the packet, the 469 SFF checks the SFP-related information such as the service path 470 identifier and service index contained in the packet and forwards the 471 packet to the next NSF on the SFP of the packet, according to its 472 forwarding table. 474 +------------+ 475 | I2NSF User | 476 +------------+ 477 ^ 478 | Consumer-Facing Interface 479 v 480 +-------------------+ Registration +-----------------------+ 481 |Security Controller|<-------------------->|Developer's Mgmt System| 482 +-------------------+ Interface +-----------------------+ 483 ^ ^ 484 | | NSF-Facing Interface 485 | v 486 | +----------------+ +---------------+ +-----------------------+ 487 | | NSF-1 |-| NSF-2 |...| NSF-n | 488 | | (Firewall) | | (DPI) | |(DDoS-Attack Mitigator)| 489 | +----------------+ +---------------+ +-----------------------+ 490 | 491 | 492 | SDN Network 493 +--|----------------------------------------------------------------+ 494 | V NSF-Facing Interface | 495 | +----------------+ | 496 | | SDN Controller | | 497 | +----------------+ | 498 | ^ | 499 | | SDN Southbound Interface | 500 | v | 501 | +--------+ +------------+ +--------+ +--------+ | 502 | |Switch-1|-| Switch-2 |-|Switch-3|.......|Switch-m| | 503 | | | |(Classifier)| | (SFF) | | | | 504 | +--------+ +------------+ +--------+ +--------+ | 505 +-------------------------------------------------------------------+ 507 Figure 4: An I2NSF Framework with SDN Network 509 6. I2NSF Framework with SDN 511 This section describes an I2NSF framework with SDN for I2NSF 512 applicability and use cases, such as firewall, deep packet 513 inspection, and DDoS-attack mitigation functions. SDN enables some 514 packet filtering rules to be enforced in network forwarding elements 515 (e.g., switch) by controlling their packet forwarding rules. By 516 taking advantage of this capability of SDN, it is possible to 517 optimize the process of security service enforcement in the I2NSF 518 system. For example, for efficient firewall services, simple packet 519 filtering can be performed by SDN forwarding elements (e.g., 520 switches), and complicated packet filtering based on packet payloads 521 can be performed by a firewall NSF. This optimized firewall using 522 both SDN forwarding elements and a firewall NSF is more efficient 523 than a firewall where SDN forwarding elements forward all the packets 524 to a firewall NSF for packet filtering. This is because packets to 525 be filtered out can be early dropped by SDN forwarding elements 526 without consuming further network bandwidth due to the forwarding of 527 the packets to the firewall NSF. 529 Figure 4 shows an I2NSF framework [RFC8329] with SDN networks to 530 support network-based security services. In this system, the 531 enforcement of security policy rules is divided into the SDN 532 forwarding elements (e.g., a switch running as either a hardware 533 middle box or a software virtual switch) and NSFs (e.g., a firewall 534 running in a form of a VNF [ETSI-NFV]). Note that NSFs are created 535 or removed by the NFV Management and Orchestration (MANO) 536 [ETSI-NFV-MANO], performing the lifecycle management of NSFs as VNFs. 537 Refer to Section 7 for the detailed discussion of the NSF lifecycle 538 management in the NFV MANO for I2NSF. For security policy 539 enforcement (e.g., packet filtering), the Security Controller 540 instructs the SDN Controller via NSF-Facing Interface so that SDN 541 forwarding elements can perform the required security services with 542 flow tables under the supervision of the SDN Controller. 544 As an example, let us consider two different types of security rules: 545 Rule A is a simple packet filtering rule that checks only the IP 546 address and port number of a given packet, whereas rule B is a time- 547 consuming packet inspection rule for analyzing whether an attached 548 file being transmitted over a flow of packets contains malware. Rule 549 A can be translated into packet forwarding rules of SDN forwarding 550 elements and thus be enforced by these elements. In contrast, rule B 551 cannot be enforced by forwarding elements, but it has to be enforced 552 by NSFs with anti-malware capability. Specifically, a flow of 553 packets is forwarded to and reassembled by an NSF to reconstruct the 554 attached file stored in the flow of packets. The NSF then analyzes 555 the file to check the existence of malware. If the file contains 556 malware, the NSF drops the packets. 558 In an I2NSF framework with SDN, the Security Controller can analyze 559 given security policy rules and automatically determine which of the 560 given security policy rules should be enforced by SDN forwarding 561 elements and which should be enforced by NSFs. If some of the given 562 rules requires security capabilities that can be provided by SDN 563 forwarding elements, then the Security Controller instructs the SDN 564 Controller via NSF-Facing Interface so that SDN forwarding elements 565 can enforce those security policy rules with flow tables under the 566 supervision of the SDN Controller. Or if some rules require security 567 capabilities that cannot be provided by SDN forwarding elements but 568 by NSFs, then the Security Controller instructs relevant NSFs to 569 enforce those rules. 571 The distinction between software-based SDN forwarding elements and 572 NSFs, which can both run as VNFs, may be necessary for some 573 management purposes in this system. Note that an SDN forwarding 574 element (i.e., switch) is a specific type of VNF rather than an NSF 575 because an NSF is for security services rather than for packet 576 forwarding. For this distinction, we can take advantage of the NFV 577 MANO where there is a subsystem that maintains the descriptions of 578 the capabilities each VNF can offer [ETSI-NFV-MANO]. This subsystem 579 can determine whether a given software element (VNF instance) is an 580 NSF or a virtualized SDN switch. For example, if a VNF instance has 581 anti-malware capability according to the description of the VNF, it 582 could be considered as an NSF. A VNF onboarding system 583 [VNF-ONBOARDING] can be used as such a subsystem that maintains the 584 descriptions of each VNF to tell whether a VNF instance is for an NSF 585 or for a virtualized SDN switch. 587 For the support of SFC in the I2NSF framework with SDN, as shown in 588 Figure 4, network forwarding elements (e.g., switch) can play the 589 role of either SFC Classifier or SFF, which are explained in 590 Section 5. Classifier and SFF have an NSF-Facing Interface with 591 Security Controller. This interface is used to update security 592 service function chaining information for traffic flows. For 593 example, when it needs to update an SFP for a traffic flow in an SDN 594 network, as shown in Figure 4, SFF (denoted as Switch-3) asks 595 Security Controller to update the SFP for the traffic flow (needing 596 another security service as an NSF) via NSF-Facing Interface. This 597 update lets Security Controller ask Classifier (denoted as Switch-2) 598 to update the mapping between the traffic flow and SFP in Classifier 599 via NSF-Facing Interface. 601 The following subsections introduce three use cases from [RFC8192] 602 for cloud-based security services: (i) firewall system, (ii) deep 603 packet inspection system, and (iii) attack mitigation system. 605 6.1. Firewall: Centralized Firewall System 607 A centralized network firewall can manage each network resource and 608 apply common rules to individual network elements (e.g., switch). 609 The centralized network firewall controls each forwarding element, 610 and firewall rules can be added or deleted dynamically. 612 A time-based firewall can be enforced with packet filtering rules and 613 a time span (e.g., work hours). With this time-based firewall, a 614 time-based security policy can be enforced, as explained in 615 Section 4. For example, employees at a company are allowed to access 616 social networking service websites during lunch time or after work 617 hours. 619 6.2. Deep Packet Inspection: Centralized VoIP/VoLTE Security System 621 A centralized VoIP/VoLTE security system can monitor each VoIP/VoLTE 622 flow and manage VoIP/VoLTE security rules, according to the 623 configuration of a VoIP/VoLTE security service called VoIP Intrusion 624 Prevention System (IPS). This centralized VoIP/VoLTE security system 625 controls each switch for the VoIP/VoLTE call flow management by 626 manipulating the rules that can be added, deleted or modified 627 dynamically. 629 The centralized VoIP/VoLTE security system can cooperate with a 630 network firewall to realize VoIP/VoLTE security service. 631 Specifically, a network firewall performs the basic security check of 632 an unknown flow's packet observed by a switch. If the network 633 firewall detects that the packet is an unknown VoIP call flow's 634 packet that exhibits some suspicious patterns, then it triggers the 635 VoIP/VoLTE security system for more specialized security analysis of 636 the suspicious VoIP call packet. 638 6.3. Attack Mitigation: Centralized DDoS-attack Mitigation System 640 A centralized DDoS-attack mitigation can manage each network resource 641 and configure rules to each switch for DDoS-attack mitigation (called 642 DDoS-attack Mitigator) on a common server. The centralized DDoS- 643 attack mitigation system defends servers against DDoS attacks outside 644 the private network, that is, from public networks. 646 Servers are categorized into stateless servers (e.g., DNS servers) 647 and stateful servers (e.g., web servers). For DDoS-attack 648 mitigation, the forwarding of traffic flows in switches can be 649 dynamically configured such that malicious traffic flows are handled 650 by the paths separated from normal traffic flows in order to minimize 651 the impact of those malicious traffic on the servers. This flow path 652 separation can be done by a flow forwarding path management scheme 653 based on [AVANT-GUARD]. This management should consider the load 654 balance among the switches for the defense against DDoS attacks. 656 So far this section has described the three use cases for network- 657 based security services using the I2NSF framework with SDN networks. 658 To support these use cases in the proposed data-driven security 659 service framework, YANG data models described in 660 [consumer-facing-inf-dm], [nsf-facing-inf-dm], and 661 [registration-inf-dm] can be used as Consumer-Facing Interface, NSF- 662 Facing Interface, and Registration Interface, respectively, along 663 with RESTCONF [RFC8040] and NETCONF [RFC6241]. 665 +--------------------+ 666 +-------------------------------------------+ | ---------------- | 667 | I2NSF User (OSS/BSS) | | | NFV | | 668 +------+------------------------------------+ | | Orchestrator +-+ | 669 | Consumer-Facing Interface | -----+---------- | | 670 +------|------------------------------------+ | | | | 671 | -----+---------- (a) ----------------- | | ----+----- | | 672 | | Security +-------+ Developer's | | | | | | | 673 | |Controller(EM)| |Mgmt System(EM)| +-(b)-+ VNFM(s)| | | 674 | -----+---------- ----------------- | | | | | | 675 | | NSF-Facing Interface | | ----+----- | | 676 | ----+----- ----+----- ----+----- | | | | | 677 | |NSF(VNF)| |NSF(VNF)| |NSF(VNF)| | | | | | 678 | ----+----- ----+----- ----+----- | | | | | 679 | | | | | | | | | 680 +------|-------------|-------------|--------+ | | | | 681 | | | | | | | 682 +------+-------------+-------------+--------+ | | | | 683 | NFV Infrastructure (NFVI) | | | | | 684 | ----------- ----------- ----------- | | | | | 685 | | Virtual | | Virtual | | Virtual | | | | | | 686 | | Compute | | Storage | | Network | | | | | | 687 | ----------- ----------- ----------- | | ----+----- | | 688 | +---------------------------------------+ | | | | | | 689 | | Virtualization Layer | +-----+ VIM(s) +------+ | 690 | +---------------------------------------+ | | | | | 691 | +---------------------------------------+ | | ---------- | 692 | | ----------- ----------- ----------- | | | | 693 | | | Compute | | Storage | | Network | | | | | 694 | | | Hardware| | Hardware| | Hardware| | | | | 695 | | ----------- ----------- ----------- | | | | 696 | | Hardware Resources | | | NFV Management | 697 | +---------------------------------------+ | | and Orchestration | 698 | | | (MANO) | 699 +-------------------------------------------+ +--------------------+ 700 (a) = Registration Interface 701 (b) = Ve-Vnfm Interface 703 Figure 5: I2NSF Framework Implementation with respect to the NFV 704 Reference Architectural Framework 706 7. I2NSF Framework with NFV 708 This section discusses the implementation of the I2NSF framework 709 using Network Functions Virtualization (NFV). 711 NFV is a promising technology for improving the elasticity and 712 efficiency of network resource utilization. In NFV environments, 713 NSFs can be deployed in the forms of software-based virtual instances 714 rather than physical appliances. Virtualizing NSFs makes it possible 715 to rapidly and flexibly respond to the amount of service requests by 716 dynamically increasing or decreasing the number of NSF instances. 717 Moreover, NFV technology facilitates flexibly including or excluding 718 NSFs from multiple security solution vendors according to the changes 719 on security requirements. In order to take advantages of the NFV 720 technology, the I2NSF framework can be implemented on top of an NFV 721 infrastructure as show in Figure 5. 723 Figure 5 shows an I2NSF framework implementation based on the NFV 724 reference architecture that the European Telecommunications Standards 725 Institute (ETSI) defines [ETSI-NFV]. The NSFs are deployed as VNFs 726 in Figure 5. The Developer's Management System (DMS) in the I2NSF 727 framework is responsible for registering capability information of 728 NSFs into the Security Controller. However, those NSFs are created 729 or removed by a virtual network function manager (VNFM) in the NFV 730 MANO that performs the lifecycle management of VNFs. Note that the 731 lifecycle management of VNFs is out of scope for I2NSF. The Security 732 Controller controls and monitors the configurations (e.g., function 733 parameters and security policy rules) of VNFs via the NSF-Facing 734 Interface along with the NSF monitoring capability 735 [nsf-facing-inf-dm][nsf-monitoring-dm]. Both the DMS and Security 736 Controller can be implemented as the Element Managements (EMs) in the 737 NFV architecture. Finally, the I2NSF User can be implemented as OSS/ 738 BSS (Operational Support Systems/Business Support Systems) in the NFV 739 architecture that provides interfaces for users in the NFV system. 741 The operation procedure in the I2NSF framework based on the NFV 742 architecture is as follows: 744 1. The VNFM has a set of virtual machine (VM) images of NSFs, and 745 each VM image can be used to create an NSF instance that provides 746 a set of security capabilities. The DMS initially registers a 747 mapping table of the ID of each VM image and the set of 748 capabilities that can be provided by an NSF instance created from 749 the VM image into the Security Controller. 751 2. If the Security Controller does not have any instantiated NSF 752 that has the set of capabilities required to meet the security 753 requirements from users, it searches the mapping table 754 (registered by the DMS) for the VM image ID corresponding to the 755 required set of capabilities. 757 3. The Security Controller requests the DMS to instantiate an NSF 758 with the VM image ID via VNFM. 760 4. When receiving the instantiation request, the VNFM first asks the 761 NFV orchestrator for the permission required to create the NSF 762 instance, requests the VIM to allocate resources for the NSF 763 instance, and finally creates the NSF instance based on the 764 allocated resources. 766 5. Once the NSF instance has been created by the VNFM, the DMS 767 performs the initial configurations of the NSF instance and then 768 notifies the Security Controller of the NSF instance. 770 6. After being notified of the created NSF instance, the Security 771 Controller delivers low-level security policy rules to the NSF 772 instance for policy enforcement. 774 We can conclude that the I2NSF framework can be implemented based on 775 the NFV architecture framework. Note that the registration of the 776 capabilities of NSFs is performed through the Registration Interface 777 and the lifecycle management for NSFs (VNFs) is performed through the 778 Ve-Vnfm interface between the DMS and VNFM, as shown in Figure 5. 780 8. Security Considerations 782 The same security considerations for the I2NSF framework [RFC8329] 783 are applicable to this document. 785 This document shares all the security issues of SDN that are 786 specified in the "Security Considerations" section of [ITU-T.Y.3300]. 788 The role of the DMS is to provide an I2NSF system with the software 789 packages or images for NSF execution. The DMS must not access NSFs 790 in activated status. An inside attacker or a supply chain attacker 791 at the DMS can seriously weaken the I2NSF system's security. A 792 malicious DMS is relevant to an insider attack, and a compromised DMS 793 is relevant to a supply chain attack. A malicious (or compromised) 794 DMS could register an NSF of its choice in response to a capability 795 request by the Security Controller. As a result, a malicious DMS can 796 attack the I2NSF system by providing malicious NSFs with arbitrary 797 capabilities to include potentially controlling those NSFs in real 798 time. An unwitting DMS could be compromised and the infrastructure 799 of the DMS could be coerced into distributing modified NSFs as well. 801 To deal with these types of threats, an I2NSF system should not use 802 NSFs from an untrusted DMS or without prior testing. The practices 803 by which these packages are downloaded and loaded into the system are 804 out of scope for I2NSF. 806 I2NSF system operators should audit and monitor interactions with 807 DMSs. Additionally, the operators should monitor the running NSFs 808 through the I2NSF NSF Monitoring Interface [nsf-monitoring-dm] as 809 part of the I2NSF NSF-Facing Interface. Note that the mechanics for 810 monitoring the DMSs are out of scope for I2NSF. 812 9. Acknowledgments 814 This work was supported by Institute for Information & communications 815 Technology Promotion (IITP) grant funded by the Korea government 816 (MSIP) (No.R-20160222-002755, Cloud based Security Intelligence 817 Technology Development for the Customized Security Service 818 Provisioning). 820 This work has been partially supported by the European Commission 821 under Horizon 2020 grant agreement no. 700199 "Securing against 822 intruders and other threats through a NFV-enabled environment 823 (SHIELD)". This support does not imply endorsement. 825 10. Contributors 827 I2NSF is a group effort. I2NSF has had a number of contributing 828 authors. The following are considered co-authors: 830 o Hyoungshick Kim (Sungkyunkwan University) 832 o Jinyong Tim Kim (Sungkyunkwan University) 834 o Hyunsik Yang (Soongsil University) 836 o Younghan Kim (Soongsil University) 838 o Jung-Soo Park (ETRI) 840 o Se-Hui Lee (Korea Telecom) 842 o Mohamed Boucadair (Orange) 844 11. References 846 11.1. Normative References 848 [ETSI-NFV] 849 "Network Functions Virtualisation (NFV); Architectural 850 Framework", Available: 851 https://www.etsi.org/deliver/etsi_gs/ 852 nfv/001_099/002/01.01.01_60/gs_nfv002v010101p.pdf, October 853 2013. 855 [ITU-T.Y.3300] 856 "Framework of Software-Defined Networking", 857 Available: https://www.itu.int/rec/T-REC-Y.3300-201406-I, 858 June 2014. 860 [NFV-Terminology] 861 "Network Functions Virtualisation (NFV); Terminology for 862 Main Concepts in NFV", Available: 863 https://www.etsi.org/deliver/etsi_gs/ 864 NFV/001_099/003/01.02.01_60/gs_nfv003v010201p.pdf, 865 December 2014. 867 [ONF-SDN-Architecture] 868 "SDN Architecture (Issue 1.1)", Available: 869 https://www.opennetworking.org/wp- 870 content/uploads/2014/10/TR- 871 521_SDN_Architecture_issue_1.1.pdf, June 2016. 873 [RFC6020] Bjorklund, M., "YANG - A Data Modeling Language for the 874 Network Configuration Protocol (NETCONF)", RFC 6020, 875 October 2010. 877 [RFC6241] Enns, R., Bjorklund, M., Schoenwaelder, J., and A. 878 Bierman, "Network Configuration Protocol (NETCONF)", 879 RFC 6241, June 2011. 881 [RFC7149] Boucadair, M. and C. Jacquenet, "Software-Defined 882 Networking: A Perspective from within a Service Provider 883 Environment", RFC 7149, March 2014. 885 [RFC7665] Halpern, J. and C. Pignataro, "Service Function Chaining 886 (SFC) Architecture", RFC 7665, October 2015. 888 [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF 889 Protocol", RFC 8040, January 2017. 891 [RFC8192] Hares, S., Lopez, D., Zarny, M., Jacquenet, C., Kumar, R., 892 and J. Jeong, "Interface to Network Security Functions 893 (I2NSF): Problem Statement and Use Cases", RFC 8192, July 894 2017. 896 [RFC8300] Quinn, P., Elzur, U., and C. Pignataro, "Network Service 897 Header (NSH)", RFC 8300, January 2018. 899 [RFC8329] Lopez, D., Lopez, E., Dunbar, L., Strassner, J., and R. 900 Kumar, "Framework for Interface to Network Security 901 Functions", RFC 8329, February 2018. 903 11.2. Informative References 905 [AVANT-GUARD] 906 Shin, S., Yegneswaran, V., Porras, P., and G. Gu, "AVANT- 907 GUARD: Scalable and Vigilant Switch Flow Management in 908 Software-Defined Networks", ACM CCS, November 2013. 910 [consumer-facing-inf-dm] 911 Jeong, J., Kim, E., Ahn, T., Kumar, R., and S. Hares, 912 "I2NSF Consumer-Facing Interface YANG Data Model", draft- 913 ietf-i2nsf-consumer-facing-interface-dm-05 (work in 914 progress), June 2019. 916 [ETSI-NFV-MANO] 917 "Network Functions Virtualisation (NFV); Management and 918 Orchestration", Available: 919 https://www.etsi.org/deliver/etsi_gs/nfv- 920 man/001_099/001/01.01.01_60/gs_nfv-man001v010101p.pdf, 921 December 2014. 923 [i2nsf-terminology] 924 Hares, S., Strassner, J., Lopez, D., Xia, L., and H. 925 Birkholz, "Interface to Network Security Functions (I2NSF) 926 Terminology", draft-ietf-i2nsf-terminology-07 (work in 927 progress), January 2019. 929 [ITU-T.X.800] 930 "Security Architecture for Open Systems Interconnection 931 for CCITT Applications", March 1991. 933 [nsf-facing-inf-dm] 934 Kim, J., Jeong, J., Park, J., Hares, S., and Q. Lin, 935 "I2NSF Network Security Function-Facing Interface YANG 936 Data Model", draft-ietf-i2nsf-nsf-facing-interface-dm-06 937 (work in progress), June 2019. 939 [nsf-monitoring-dm] 940 Jeong, J., Chung, C., Hares, S., Xia, L., and H. Birkholz, 941 "I2NSF NSF Monitoring YANG Data Model", draft-ietf-i2nsf- 942 nsf-monitoring-data-model-00 (work in progress), March 943 2019. 945 [opsawg-firewalls] 946 Baker, F. and P. Hoffman, "On Firewalls in Internet 947 Security", draft-ietf-opsawg-firewalls-01 (work in 948 progress), October 2012. 950 [policy-translation] 951 Yang, J., Jeong, J., and J. Kim, "Security Policy 952 Translation in Interface to Network Security Functions", 953 draft-yang-i2nsf-security-policy-translation-03 (work in 954 progress), March 2019. 956 [registration-inf-dm] 957 Hyun, S., Jeong, J., Roh, T., Wi, S., and J. Park, "I2NSF 958 Registration Interface YANG Data Model", draft-ietf-i2nsf- 959 registration-interface-dm-04 (work in progress), June 960 2019. 962 [VNF-ONBOARDING] 963 "VNF Onboarding", Available: 964 https://wiki.opnfv.org/display/mano/VNF+Onboarding, 965 November 2016. 967 Appendix A. Changes from draft-ietf-i2nsf-applicability-12 969 The following changes have been made from draft-ietf-i2nsf- 970 applicability-12: 972 o This version has reflected further questions and comments from 973 Roman Danyliw who is a Security Area Director. 975 o In Section 3, it is mentioned that the lifecycle management of NSF 976 code from Developer's Management System (DMS) is out of scope for 977 I2NSF. 979 o In Section 8, the security issues and discussion related to DMS 980 are refined. 982 Authors' Addresses 984 Jaehoon Paul Jeong 985 Department of Computer Science and Engineering 986 Sungkyunkwan University 987 2066 Seobu-Ro, Jangan-Gu 988 Suwon, Gyeonggi-Do 16419 989 Republic of Korea 991 Phone: +82 31 299 4957 992 Fax: +82 31 290 7996 993 EMail: pauljeong@skku.edu 994 URI: http://iotlab.skku.edu/people-jaehoon-jeong.php 996 Sangwon Hyun 997 Department of Computer Engineering 998 Chosun University 999 309 Pilmun-daero, Dong-Gu 1000 Gwangju 61452 1001 Republic of Korea 1003 Phone: +82 62 230 7473 1004 EMail: shyun@chosun.ac.kr 1005 Tae-Jin Ahn 1006 Korea Telecom 1007 70 Yuseong-Ro, Yuseong-Gu 1008 Daejeon 305-811 1009 Republic of Korea 1011 Phone: +82 42 870 8409 1012 EMail: taejin.ahn@kt.com 1014 Susan Hares 1015 Huawei 1016 7453 Hickory Hill 1017 Saline, MI 48176 1018 USA 1020 Phone: +1-734-604-0332 1021 EMail: shares@ndzh.com 1023 Diego R. Lopez 1024 Telefonica I+D 1025 Jose Manuel Lara, 9 1026 Seville 41013 1027 Spain 1029 Phone: +34 682 051 091 1030 EMail: diego.r.lopez@telefonica.com