idnits 2.17.1 draft-ietf-i2nsf-applicability-15.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 (July 24, 2019) is 1710 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: January 25, 2020 Chosun University 6 T. Ahn 7 Korea Telecom 8 S. Hares 9 Huawei 10 D. Lopez 11 Telefonica I+D 12 July 24, 2019 14 Applicability of Interfaces to Network Security Functions to Network- 15 Based Security Services 16 draft-ietf-i2nsf-applicability-15 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 January 25, 2020. 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 . . . . . . . . . . 7 63 5. I2NSF Framework with SFC . . . . . . . . . . . . . . . . . . 10 64 6. I2NSF Framework with SDN . . . . . . . . . . . . . . . . . . 12 65 6.1. Firewall: Centralized Firewall System . . . . . . . . . . 14 66 6.2. Deep Packet Inspection: Centralized VoIP/VoLTE Security 67 System . . . . . . . . . . . . . . . . . . . . . . . . . 15 68 6.3. Attack Mitigation: Centralized DDoS-attack Mitigation 69 System . . . . . . . . . . . . . . . . . . . . . . . . . 15 70 7. I2NSF Framework with NFV . . . . . . . . . . . . . . . . . . 16 71 8. Security Considerations . . . . . . . . . . . . . . . . . . . 18 72 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 19 73 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 19 74 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 19 75 11.1. Normative References . . . . . . . . . . . . . . . . . . 19 76 11.2. Informative References . . . . . . . . . . . . . . . . . 21 77 Appendix A. Changes from draft-ietf-i2nsf-applicability-14 . . . 23 78 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 23 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 280 281 block_website 282 283 block_website_during_working_hours 284 285 286 09:00 287 18:00 288 289 290 291 292 293 Staff_Member's_PC 294 295 296 297 298 example.com 299 300 301 302 303 drop 304 305 306 308 Figure 2: An XML Example for Time-based Web-filter 310 4. Time-dependent Web Access Control Service 312 This service scenario assumes that an enterprise network 313 administrator wants to control the staff members' access to a 314 particular Internet service (e.g., example.com) during business 315 hours. The following is an example high-level security policy rule 316 for a web filter that the administrator requests: Block the staff 317 members' access to example.com from 9 AM (i.e., 09:00) to 6 PM (i.e., 318 18:00) by dropping their packets. Figure 2 is an example XML code 319 for this web filter that is sent from the I2NSF User to the Security 320 Controller via the Consumer-Facing Interface 321 [consumer-facing-inf-dm]. 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", and the destination 331 target of a website "example.com" with the tag "dest-target". Note 332 that the destination target can be translated to IP address(es) 333 corresponding to the website's URL, and then either the website's URL 334 or the corresponding IP address(es) can be used by both firewall and 335 web filter. The action is to "drop" the packets satisfying the above 336 event and condition with the tag "primary-action". 338 After receiving the high-level security policy, the Security 339 Controller identifies required security capabilities, e.g., IP 340 address and port number inspection capabilities and URL inspection 341 capability. In this scenario, it is assumed that the IP address and 342 port number inspection capabilities are required to check whether a 343 received packet is an HTTP-session packet from a staff member, which 344 is part of an HTTP session generated by the staff member. The URL 345 inspection capability is required to check whether the target URL of 346 a received packet is in the example.com domain or not. 348 The Security Controller maintains the security capabilities of each 349 active NSF in the I2NSF system, which have been reported by the 350 Developer's Management System via the Registration interface. Based 351 on this information, the Security Controller identifies NSFs that can 352 perform the IP address and port number inspection and URL inspection 353 [policy-translation]. In this scenario, it is assumed that a 354 firewall NSF has the IP address and port number inspection 355 capabilities and a web filter NSF has URL inspection capability. 357 The Security Controller generates low-level security rules for the 358 NSFs to perform IP address and port number inspection, URL 359 inspection, and time checking. Specifically, the Security Controller 360 may interoperate with an access control server in the enterprise 361 network in order to retrieve the information (e.g., IP address in 362 use, company identifier (ID), and role) of each employee that is 363 currently using the network. Based on the retrieved information, the 364 Security Controller generates low-level security rules to check 365 whether the source IP address of a received packet matches any one 366 being used by a staff member. 368 In addition, the low-level security rules should be able to determine 369 that a received packet uses either the HTTP protocol without 370 Transport Layer Security (TLS) [RFC8446] or the HTTP protocol with 371 TLS as HTTPS. The low-level security rules for web filter check that 372 the target URL field of a received packet is equal to example.com, or 373 that the destination IP address of a received packet is an IP address 374 corresponding to example.com. Note that if HTTPS is used for an 375 HTTP-session packet, the HTTP protocol header is encrypted, so the 376 URL information may not be seen from the packet for the web 377 filtering. Thus, the IP address(es) corresponding to the target URL 378 needs to be obtained from the certificate in TLS versions prior to 379 1.3 [RFC8446] or the Server Name Indication (SNI) in a TCP-session 380 packet in TLS versions without the encrypted SNI [tls-esni]. Also, 381 to obtain IP address(es) corresponding to a target URL, the DNS name 382 resolution process can be observed through a packet capturing tool 383 because the DNS name resolution will translate the target URL into IP 384 address(es). The IP addresses obtained through either TLS or DNS can 385 be used by both firewall and web filter for whitelisting or 386 blacklisting the TCP five-tuples of HTTP sessions. 388 Finally, the Security Controller sends the low-level security rules 389 of the IP address and port number inspection to the firewall NSF and 390 the low-level rules for URL inspection to the web filter NSF. 392 The following describes how the time-dependent web access control 393 service is enforced by the NSFs of firewall and web filter. 395 1. A staff member tries to access example.com during business hours, 396 e.g., 10 AM. 398 2. The packet is forwarded from the staff member's device to the 399 firewall, and the firewall checks the source IP address and port 400 number. Now the firewall identifies the received packet is an 401 HTTP-session packet from the staff member. 403 3. The firewall triggers the web filter to further inspect the 404 packet, and the packet is forwarded from the firewall to the web 405 filter. The SFC architecture [RFC7665] can be utilized to 406 support such packet forwarding in the I2NSF framework. 408 4. The web filter checks the received packet's target URL field or 409 its destination IP address corresponding to the target URL, and 410 detects that the packet is being sent to the server for 411 example.com. The web filter then checks that the current time is 412 within business hours. If so, the web filter drops the packet, 413 and consequently the staff member's access to example.com during 414 business hours is blocked. 416 +------------+ 417 | I2NSF User | 418 +------------+ 419 ^ 420 | Consumer-Facing Interface 421 v 422 +-------------------+ Registration +-----------------------+ 423 |Security Controller|<-------------------->|Developer's Mgmt System| 424 +-------------------+ Interface +-----------------------+ 425 ^ ^ 426 | | NSF-Facing Interface 427 | |------------------------- 428 | | 429 | NSF-Facing Interface | 430 +-----v-----------+ +------v-------+ 431 | +-----------+ | ------>| NSF-1 | 432 | |Classifier | | | | (Firewall) | 433 | +-----------+ | | +--------------+ 434 | +-----+ |<-----| +--------------+ 435 | | SFF | | |----->| NSF-2 | 436 | +-----+ | | | (DPI) | 437 +-----------------+ | +--------------+ 438 | . 439 | . 440 | . 441 | +-----------------------+ 442 ------>| NSF-n | 443 |(DDoS-Attack Mitigator)| 444 +-----------------------+ 446 Figure 3: An I2NSF Framework with SFC 448 5. I2NSF Framework with SFC 450 In the I2NSF architecture, an NSF can trigger an advanced security 451 action (e.g., DPI or DDoS attack mitigation) on a packet based on the 452 result of its own security inspection of the packet. For example, a 453 firewall triggers further inspection of a suspicious packet with DPI. 454 For this advanced security action to be fulfilled, the suspicious 455 packet should be forwarded from the current NSF to the successor NSF. 456 SFC [RFC7665] is a technology that enables this advanced security 457 action by steering a packet with multiple service functions (e.g., 458 NSFs), and this technology can be utilized by the I2NSF architecture 459 to support the advanced security action. 461 Figure 3 shows an I2NSF framework with the support of SFC. As shown 462 in the figure, SFC generally requires classifiers and service 463 function forwarders (SFFs); classifiers are responsible for 464 determining which service function path (SFP) (i.e., an ordered 465 sequence of service functions) a given packet should pass through, 466 according to pre-configured classification rules, and SFFs perform 467 forwarding the given packet to the next service function (e.g., NSF) 468 on the SFP of the packet by referring to their forwarding tables. In 469 the I2NSF architecture with SFC, the Security Controller can take 470 responsibilities of generating classification rules for classifiers 471 and forwarding tables for SFFs. By analyzing high-level security 472 policies from I2NSF users, the Security Controller can construct SFPs 473 that are required to meet the high-level security policies, generates 474 classification rules of the SFPs, and then configures classifiers 475 with the classification rules over NSF-Facing Interface so that 476 relevant traffic packets can follow the SFPs. Also, based on the 477 global view of NSF instances available in the system, the Security 478 Controller constructs forwarding tables, which are required for SFFs 479 to forward a given packet to the next NSF over the SFP, and 480 configures SFFs with those forwarding tables over NSF-Facing 481 Interface. 483 To trigger an advanced security action in the I2NSF architecture, the 484 current NSF appends metadata describing the security capability 485 required to the suspicious packet via a network service header (NSH) 486 [RFC8300]. It then sends the packet to the classifier. Based on the 487 metadata information, the classifier searches an SFP which includes 488 an NSF with the required security capability, changes the SFP-related 489 information (e.g., service path identifier and service index 490 [RFC8300]) of the packet with the new SFP that has been found, and 491 then forwards the packet to the SFF. When receiving the packet, the 492 SFF checks the SFP-related information such as the service path 493 identifier and service index contained in the packet and forwards the 494 packet to the next NSF on the SFP of the packet, according to its 495 forwarding table. 497 +------------+ 498 | I2NSF User | 499 +------------+ 500 ^ 501 | Consumer-Facing Interface 502 v 503 +-------------------+ Registration +-----------------------+ 504 |Security Controller|<-------------------->|Developer's Mgmt System| 505 +-------------------+ Interface +-----------------------+ 506 ^ ^ 507 | | NSF-Facing Interface 508 | v 509 | +----------------+ +---------------+ +-----------------------+ 510 | | NSF-1 |-| NSF-2 |...| NSF-n | 511 | | (Firewall) | | (DPI) | |(DDoS-Attack Mitigator)| 512 | +----------------+ +---------------+ +-----------------------+ 513 | 514 | 515 | SDN Network 516 +--|----------------------------------------------------------------+ 517 | V NSF-Facing Interface | 518 | +----------------+ | 519 | | SDN Controller | | 520 | +----------------+ | 521 | ^ | 522 | | SDN Southbound Interface | 523 | v | 524 | +--------+ +------------+ +--------+ +--------+ | 525 | |Switch-1|-| Switch-2 |-|Switch-3|.......|Switch-m| | 526 | | | |(Classifier)| | (SFF) | | | | 527 | +--------+ +------------+ +--------+ +--------+ | 528 +-------------------------------------------------------------------+ 530 Figure 4: An I2NSF Framework with SDN Network 532 6. I2NSF Framework with SDN 534 This section describes an I2NSF framework with SDN for I2NSF 535 applicability and use cases, such as firewall, deep packet 536 inspection, and DDoS-attack mitigation functions. SDN enables some 537 packet filtering rules to be enforced in network forwarding elements 538 (e.g., switch) by controlling their packet forwarding rules. By 539 taking advantage of this capability of SDN, it is possible to 540 optimize the process of security service enforcement in the I2NSF 541 system. For example, for efficient firewall services, simple packet 542 filtering can be performed by SDN forwarding elements (e.g., 543 switches), and complicated packet filtering based on packet payloads 544 can be performed by a firewall NSF. This optimized firewall using 545 both SDN forwarding elements and a firewall NSF is more efficient 546 than a firewall where SDN forwarding elements forward all the packets 547 to a firewall NSF for packet filtering. This is because packets to 548 be filtered out can be early dropped by SDN forwarding elements 549 without consuming further network bandwidth due to the forwarding of 550 the packets to the firewall NSF. 552 Figure 4 shows an I2NSF framework [RFC8329] with SDN networks to 553 support network-based security services. In this system, the 554 enforcement of security policy rules is divided into the SDN 555 forwarding elements (e.g., a switch running as either a hardware 556 middle box or a software virtual switch) and NSFs (e.g., a firewall 557 running in a form of a VNF [ETSI-NFV]). Note that NSFs are created 558 or removed by the NFV Management and Orchestration (MANO) 559 [ETSI-NFV-MANO], performing the lifecycle management of NSFs as VNFs. 560 Refer to Section 7 for the detailed discussion of the NSF lifecycle 561 management in the NFV MANO for I2NSF. For security policy 562 enforcement (e.g., packet filtering), the Security Controller 563 instructs the SDN Controller via NSF-Facing Interface so that SDN 564 forwarding elements can perform the required security services with 565 flow tables under the supervision of the SDN Controller. 567 As an example, let us consider two different types of security rules: 568 Rule A is a simple packet filtering rule that checks only the IP 569 address and port number of a given packet, whereas rule B is a time- 570 consuming packet inspection rule for analyzing whether an attached 571 file being transmitted over a flow of packets contains malware. Rule 572 A can be translated into packet forwarding rules of SDN forwarding 573 elements and thus be enforced by these elements. In contrast, rule B 574 cannot be enforced by forwarding elements, but it has to be enforced 575 by NSFs with anti-malware capability. Specifically, a flow of 576 packets is forwarded to and reassembled by an NSF to reconstruct the 577 attached file stored in the flow of packets. The NSF then analyzes 578 the file to check the existence of malware. If the file contains 579 malware, the NSF drops the packets. 581 In an I2NSF framework with SDN, the Security Controller can analyze 582 given security policy rules and automatically determine which of the 583 given security policy rules should be enforced by SDN forwarding 584 elements and which should be enforced by NSFs. If some of the given 585 rules requires security capabilities that can be provided by SDN 586 forwarding elements, then the Security Controller instructs the SDN 587 Controller via NSF-Facing Interface so that SDN forwarding elements 588 can enforce those security policy rules with flow tables under the 589 supervision of the SDN Controller. Or if some rules require security 590 capabilities that cannot be provided by SDN forwarding elements but 591 by NSFs, then the Security Controller instructs relevant NSFs to 592 enforce those rules. 594 The distinction between software-based SDN forwarding elements and 595 NSFs, which can both run as VNFs, may be necessary for some 596 management purposes in this system. Note that an SDN forwarding 597 element (i.e., switch) is a specific type of VNF rather than an NSF 598 because an NSF is for security services rather than for packet 599 forwarding. For this distinction, we can take advantage of the NFV 600 MANO where there is a subsystem that maintains the descriptions of 601 the capabilities each VNF can offer [ETSI-NFV-MANO]. This subsystem 602 can determine whether a given software element (VNF instance) is an 603 NSF or a virtualized SDN switch. For example, if a VNF instance has 604 anti-malware capability according to the description of the VNF, it 605 could be considered as an NSF. A VNF onboarding system 606 [VNF-ONBOARDING] can be used as such a subsystem that maintains the 607 descriptions of each VNF to tell whether a VNF instance is for an NSF 608 or for a virtualized SDN switch. 610 For the support of SFC in the I2NSF framework with SDN, as shown in 611 Figure 4, network forwarding elements (e.g., switch) can play the 612 role of either SFC Classifier or SFF, which are explained in 613 Section 5. Classifier and SFF have an NSF-Facing Interface with 614 Security Controller. This interface is used to update security 615 service function chaining information for traffic flows. For 616 example, when it needs to update an SFP for a traffic flow in an SDN 617 network, as shown in Figure 4, SFF (denoted as Switch-3) asks 618 Security Controller to update the SFP for the traffic flow (needing 619 another security service as an NSF) via NSF-Facing Interface. This 620 update lets Security Controller ask Classifier (denoted as Switch-2) 621 to update the mapping between the traffic flow and SFP in Classifier 622 via NSF-Facing Interface. 624 The following subsections introduce three use cases from [RFC8192] 625 for cloud-based security services: (i) firewall system, (ii) deep 626 packet inspection system, and (iii) attack mitigation system. 628 6.1. Firewall: Centralized Firewall System 630 A centralized network firewall can manage each network resource and 631 apply common rules to individual network elements (e.g., switch). 632 The centralized network firewall controls each forwarding element, 633 and firewall rules can be added or deleted dynamically. 635 A time-based firewall can be enforced with packet filtering rules and 636 a time span (e.g., work hours). With this time-based firewall, a 637 time-based security policy can be enforced, as explained in 638 Section 4. For example, employees at a company are allowed to access 639 social networking service websites during lunch time or after work 640 hours. 642 6.2. Deep Packet Inspection: Centralized VoIP/VoLTE Security System 644 A centralized VoIP/VoLTE security system can monitor each VoIP/VoLTE 645 flow and manage VoIP/VoLTE security rules, according to the 646 configuration of a VoIP/VoLTE security service called VoIP Intrusion 647 Prevention System (IPS). This centralized VoIP/VoLTE security system 648 controls each switch for the VoIP/VoLTE call flow management by 649 manipulating the rules that can be added, deleted or modified 650 dynamically. 652 The centralized VoIP/VoLTE security system can cooperate with a 653 network firewall to realize VoIP/VoLTE security service. 654 Specifically, a network firewall performs the basic security check of 655 an unknown flow's packet observed by a switch. If the network 656 firewall detects that the packet is an unknown VoIP call flow's 657 packet that exhibits some suspicious patterns, then it triggers the 658 VoIP/VoLTE security system for more specialized security analysis of 659 the suspicious VoIP call packet. 661 6.3. Attack Mitigation: Centralized DDoS-attack Mitigation System 663 A centralized DDoS-attack mitigation can manage each network resource 664 and configure rules to each switch for DDoS-attack mitigation (called 665 DDoS-attack Mitigator) on a common server. The centralized DDoS- 666 attack mitigation system defends servers against DDoS attacks outside 667 the private network, that is, from public networks. 669 Servers are categorized into stateless servers (e.g., DNS servers) 670 and stateful servers (e.g., web servers). For DDoS-attack 671 mitigation, the forwarding of traffic flows in switches can be 672 dynamically configured such that malicious traffic flows are handled 673 by the paths separated from normal traffic flows in order to minimize 674 the impact of those malicious traffic on the servers. This flow path 675 separation can be done by a flow forwarding path management scheme 676 based on [AVANT-GUARD]. This management should consider the load 677 balance among the switches for the defense against DDoS attacks. 679 So far this section has described the three use cases for network- 680 based security services using the I2NSF framework with SDN networks. 681 To support these use cases in the proposed data-driven security 682 service framework, YANG data models described in 683 [consumer-facing-inf-dm], [nsf-facing-inf-dm], and 684 [registration-inf-dm] can be used as Consumer-Facing Interface, NSF- 685 Facing Interface, and Registration Interface, respectively, along 686 with RESTCONF [RFC8040] and NETCONF [RFC6241]. 688 +--------------------+ 689 +-------------------------------------------+ | ---------------- | 690 | I2NSF User (OSS/BSS) | | | NFV | | 691 +------+------------------------------------+ | | Orchestrator +-+ | 692 | Consumer-Facing Interface | -----+---------- | | 693 +------|------------------------------------+ | | | | 694 | -----+---------- (a) ----------------- | | ----+----- | | 695 | | Security +-------+ Developer's | | | | | | | 696 | |Controller(EM)| |Mgmt System(EM)| +-(b)-+ VNFM(s)| | | 697 | -----+---------- ----------------- | | | | | | 698 | | NSF-Facing Interface | | ----+----- | | 699 | ----+----- ----+----- ----+----- | | | | | 700 | |NSF(VNF)| |NSF(VNF)| |NSF(VNF)| | | | | | 701 | ----+----- ----+----- ----+----- | | | | | 702 | | | | | | | | | 703 +------|-------------|-------------|--------+ | | | | 704 | | | | | | | 705 +------+-------------+-------------+--------+ | | | | 706 | NFV Infrastructure (NFVI) | | | | | 707 | ----------- ----------- ----------- | | | | | 708 | | Virtual | | Virtual | | Virtual | | | | | | 709 | | Compute | | Storage | | Network | | | | | | 710 | ----------- ----------- ----------- | | ----+----- | | 711 | +---------------------------------------+ | | | | | | 712 | | Virtualization Layer | +-----+ VIM(s) +------+ | 713 | +---------------------------------------+ | | | | | 714 | +---------------------------------------+ | | ---------- | 715 | | ----------- ----------- ----------- | | | | 716 | | | Compute | | Storage | | Network | | | | | 717 | | | Hardware| | Hardware| | Hardware| | | | | 718 | | ----------- ----------- ----------- | | | | 719 | | Hardware Resources | | | NFV Management | 720 | +---------------------------------------+ | | and Orchestration | 721 | | | (MANO) | 722 +-------------------------------------------+ +--------------------+ 723 (a) = Registration Interface 724 (b) = Ve-Vnfm Interface 726 Figure 5: I2NSF Framework Implementation with respect to the NFV 727 Reference Architectural Framework 729 7. I2NSF Framework with NFV 731 This section discusses the implementation of the I2NSF framework 732 using Network Functions Virtualization (NFV). 734 NFV is a promising technology for improving the elasticity and 735 efficiency of network resource utilization. In NFV environments, 736 NSFs can be deployed in the forms of software-based virtual instances 737 rather than physical appliances. Virtualizing NSFs makes it possible 738 to rapidly and flexibly respond to the amount of service requests by 739 dynamically increasing or decreasing the number of NSF instances. 740 Moreover, NFV technology facilitates flexibly including or excluding 741 NSFs from multiple security solution vendors according to the changes 742 on security requirements. In order to take advantages of the NFV 743 technology, the I2NSF framework can be implemented on top of an NFV 744 infrastructure as show in Figure 5. 746 Figure 5 shows an I2NSF framework implementation based on the NFV 747 reference architecture that the European Telecommunications Standards 748 Institute (ETSI) defines [ETSI-NFV]. The NSFs are deployed as VNFs 749 in Figure 5. The Developer's Management System (DMS) in the I2NSF 750 framework is responsible for registering capability information of 751 NSFs into the Security Controller. However, those NSFs are created 752 or removed by a virtual network function manager (VNFM) in the NFV 753 MANO that performs the lifecycle management of VNFs. Note that the 754 lifecycle management of VNFs is out of scope for I2NSF. The Security 755 Controller controls and monitors the configurations (e.g., function 756 parameters and security policy rules) of VNFs via the NSF-Facing 757 Interface along with the NSF monitoring capability 758 [nsf-facing-inf-dm][nsf-monitoring-dm]. Both the DMS and Security 759 Controller can be implemented as the Element Managements (EMs) in the 760 NFV architecture. Finally, the I2NSF User can be implemented as OSS/ 761 BSS (Operational Support Systems/Business Support Systems) in the NFV 762 architecture that provides interfaces for users in the NFV system. 764 The operation procedure in the I2NSF framework based on the NFV 765 architecture is as follows: 767 1. The VNFM has a set of virtual machine (VM) images of NSFs, and 768 each VM image can be used to create an NSF instance that provides 769 a set of security capabilities. The DMS initially registers a 770 mapping table of the ID of each VM image and the set of 771 capabilities that can be provided by an NSF instance created from 772 the VM image into the Security Controller. 774 2. If the Security Controller does not have any instantiated NSF 775 that has the set of capabilities required to meet the security 776 requirements from users, it searches the mapping table 777 (registered by the DMS) for the VM image ID corresponding to the 778 required set of capabilities. 780 3. The Security Controller requests the DMS to instantiate an NSF 781 with the VM image ID via VNFM. 783 4. When receiving the instantiation request, the VNFM first asks the 784 NFV orchestrator for the permission required to create the NSF 785 instance, requests the VIM to allocate resources for the NSF 786 instance, and finally creates the NSF instance based on the 787 allocated resources. 789 5. Once the NSF instance has been created by the VNFM, the DMS 790 performs the initial configurations of the NSF instance and then 791 notifies the Security Controller of the NSF instance. 793 6. After being notified of the created NSF instance, the Security 794 Controller delivers low-level security policy rules to the NSF 795 instance for policy enforcement. 797 We can conclude that the I2NSF framework can be implemented based on 798 the NFV architecture framework. Note that the registration of the 799 capabilities of NSFs is performed through the Registration Interface 800 and the lifecycle management for NSFs (VNFs) is performed through the 801 Ve-Vnfm interface between the DMS and VNFM, as shown in Figure 5. 803 8. Security Considerations 805 The same security considerations for the I2NSF framework [RFC8329] 806 are applicable to this document. 808 This document shares all the security issues of SDN that are 809 specified in the "Security Considerations" section of [ITU-T.Y.3300]. 811 The role of the DMS is to provide an I2NSF system with the software 812 packages or images for NSF execution. The DMS must not access NSFs 813 in activated status. An inside attacker or a supply chain attacker 814 at the DMS can seriously weaken the I2NSF system's security. A 815 malicious DMS is relevant to an insider attack, and a compromised DMS 816 is relevant to a supply chain attack. A malicious (or compromised) 817 DMS could register an NSF of its choice in response to a capability 818 request by the Security Controller. As a result, a malicious DMS can 819 attack the I2NSF system by providing malicious NSFs with arbitrary 820 capabilities to include potentially controlling those NSFs in real 821 time. An unwitting DMS could be compromised and the infrastructure 822 of the DMS could be coerced into distributing modified NSFs as well. 824 To deal with these types of threats, an I2NSF system should not use 825 NSFs from an untrusted DMS or without prior testing. The practices 826 by which these packages are downloaded and loaded into the system are 827 out of scope for I2NSF. 829 I2NSF system operators should audit and monitor interactions with 830 DMSs. Additionally, the operators should monitor the running NSFs 831 through the I2NSF NSF Monitoring Interface [nsf-monitoring-dm] as 832 part of the I2NSF NSF-Facing Interface. Note that the mechanics for 833 monitoring the DMSs are out of scope for I2NSF. 835 9. Acknowledgments 837 This work was supported by Institute of Information & Communications 838 Technology Planning & Evaluation (IITP) grant funded by the Korea 839 MSIT (Ministry of Science and ICT) (R-20160222-002755, Cloud based 840 Security Intelligence Technology Development for the Customized 841 Security Service Provisioning). 843 This work has been partially supported by the European Commission 844 under Horizon 2020 grant agreement no. 700199 "Securing against 845 intruders and other threats through a NFV-enabled environment 846 (SHIELD)". This support does not imply endorsement. 848 10. Contributors 850 I2NSF is a group effort. I2NSF has had a number of contributing 851 authors. The following are considered co-authors: 853 o Hyoungshick Kim (Sungkyunkwan University) 855 o Jinyong Tim Kim (Sungkyunkwan University) 857 o Hyunsik Yang (Soongsil University) 859 o Younghan Kim (Soongsil University) 861 o Jung-Soo Park (ETRI) 863 o Se-Hui Lee (Korea Telecom) 865 o Mohamed Boucadair (Orange) 867 11. References 869 11.1. Normative References 871 [ETSI-NFV] 872 "Network Functions Virtualisation (NFV); Architectural 873 Framework", Available: 874 https://www.etsi.org/deliver/etsi_gs/ 875 nfv/001_099/002/01.01.01_60/gs_nfv002v010101p.pdf, October 876 2013. 878 [ITU-T.Y.3300] 879 "Framework of Software-Defined Networking", 880 Available: https://www.itu.int/rec/T-REC-Y.3300-201406-I, 881 June 2014. 883 [NFV-Terminology] 884 "Network Functions Virtualisation (NFV); Terminology for 885 Main Concepts in NFV", Available: 886 https://www.etsi.org/deliver/etsi_gs/ 887 NFV/001_099/003/01.02.01_60/gs_nfv003v010201p.pdf, 888 December 2014. 890 [ONF-SDN-Architecture] 891 "SDN Architecture (Issue 1.1)", Available: 892 https://www.opennetworking.org/wp- 893 content/uploads/2014/10/TR- 894 521_SDN_Architecture_issue_1.1.pdf, June 2016. 896 [RFC6020] Bjorklund, M., "YANG - A Data Modeling Language for the 897 Network Configuration Protocol (NETCONF)", RFC 6020, 898 October 2010. 900 [RFC6241] Enns, R., Bjorklund, M., Schoenwaelder, J., and A. 901 Bierman, "Network Configuration Protocol (NETCONF)", 902 RFC 6241, June 2011. 904 [RFC7149] Boucadair, M. and C. Jacquenet, "Software-Defined 905 Networking: A Perspective from within a Service Provider 906 Environment", RFC 7149, March 2014. 908 [RFC7665] Halpern, J. and C. Pignataro, "Service Function Chaining 909 (SFC) Architecture", RFC 7665, October 2015. 911 [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF 912 Protocol", RFC 8040, January 2017. 914 [RFC8192] Hares, S., Lopez, D., Zarny, M., Jacquenet, C., Kumar, R., 915 and J. Jeong, "Interface to Network Security Functions 916 (I2NSF): Problem Statement and Use Cases", RFC 8192, July 917 2017. 919 [RFC8300] Quinn, P., Elzur, U., and C. Pignataro, "Network Service 920 Header (NSH)", RFC 8300, January 2018. 922 [RFC8329] Lopez, D., Lopez, E., Dunbar, L., Strassner, J., and R. 923 Kumar, "Framework for Interface to Network Security 924 Functions", RFC 8329, February 2018. 926 [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol 927 Version 1.3", RFC 8446, August 2018. 929 11.2. Informative References 931 [AVANT-GUARD] 932 Shin, S., Yegneswaran, V., Porras, P., and G. Gu, "AVANT- 933 GUARD: Scalable and Vigilant Switch Flow Management in 934 Software-Defined Networks", ACM CCS, November 2013. 936 [consumer-facing-inf-dm] 937 Jeong, J., Kim, E., Ahn, T., Kumar, R., and S. Hares, 938 "I2NSF Consumer-Facing Interface YANG Data Model", draft- 939 ietf-i2nsf-consumer-facing-interface-dm-06 (work in 940 progress), July 2019. 942 [ETSI-NFV-MANO] 943 "Network Functions Virtualisation (NFV); Management and 944 Orchestration", Available: 945 https://www.etsi.org/deliver/etsi_gs/nfv- 946 man/001_099/001/01.01.01_60/gs_nfv-man001v010101p.pdf, 947 December 2014. 949 [i2nsf-terminology] 950 Hares, S., Strassner, J., Lopez, D., Xia, L., and H. 951 Birkholz, "Interface to Network Security Functions (I2NSF) 952 Terminology", draft-ietf-i2nsf-terminology-08 (work in 953 progress), July 2019. 955 [ITU-T.X.800] 956 "Security Architecture for Open Systems Interconnection 957 for CCITT Applications", March 1991. 959 [nsf-facing-inf-dm] 960 Kim, J., Jeong, J., Park, J., Hares, S., and Q. Lin, 961 "I2NSF Network Security Function-Facing Interface YANG 962 Data Model", draft-ietf-i2nsf-nsf-facing-interface-dm-07 963 (work in progress), July 2019. 965 [nsf-monitoring-dm] 966 Jeong, J., Chung, C., Hares, S., Xia, L., and H. Birkholz, 967 "I2NSF NSF Monitoring YANG Data Model", draft-ietf-i2nsf- 968 nsf-monitoring-data-model-01 (work in progress), July 969 2019. 971 [opsawg-firewalls] 972 Baker, F. and P. Hoffman, "On Firewalls in Internet 973 Security", draft-ietf-opsawg-firewalls-01 (work in 974 progress), October 2012. 976 [policy-translation] 977 Jeong, J., Yang, J., Chung, C., and J. Kim, "Security 978 Policy Translation in Interface to Network Security 979 Functions", draft-yang-i2nsf-security-policy- 980 translation-04 (work in progress), July 2019. 982 [registration-inf-dm] 983 Hyun, S., Jeong, J., Roh, T., Wi, S., and J. Park, "I2NSF 984 Registration Interface YANG Data Model", draft-ietf-i2nsf- 985 registration-interface-dm-05 (work in progress), July 986 2019. 988 [tls-esni] 989 Rescorla, E., Oku, K., Sullivan, N., and C. Wood, 990 "Encrypted Server Name Indication for TLS 1.3", draft- 991 ietf-tls-esni-04 (work in progress), July 2019. 993 [VNF-ONBOARDING] 994 "VNF Onboarding", Available: 995 https://wiki.opnfv.org/display/mano/VNF+Onboarding, 996 November 2016. 998 Appendix A. Changes from draft-ietf-i2nsf-applicability-14 1000 The following changes have been made from draft-ietf-i2nsf- 1001 applicability-14: 1003 o In Section 4, to handle HTTP-session packets using TLS in web 1004 filtering, it is clarified that the Server Name Indication (SNI) 1005 can be used to detect a website's URL if the SNI field is not 1006 encryped in TLS versions without the encrypted SNI. 1008 Authors' Addresses 1010 Jaehoon Paul Jeong 1011 Department of Computer Science and Engineering 1012 Sungkyunkwan University 1013 2066 Seobu-Ro, Jangan-Gu 1014 Suwon, Gyeonggi-Do 16419 1015 Republic of Korea 1017 Phone: +82 31 299 4957 1018 Fax: +82 31 290 7996 1019 EMail: pauljeong@skku.edu 1020 URI: http://iotlab.skku.edu/people-jaehoon-jeong.php 1022 Sangwon Hyun 1023 Department of Computer Engineering 1024 Chosun University 1025 309 Pilmun-daero, Dong-Gu 1026 Gwangju 61452 1027 Republic of Korea 1029 Phone: +82 62 230 7473 1030 EMail: shyun@chosun.ac.kr 1032 Tae-Jin Ahn 1033 Korea Telecom 1034 70 Yuseong-Ro, Yuseong-Gu 1035 Daejeon 305-811 1036 Republic of Korea 1038 Phone: +82 42 870 8409 1039 EMail: taejin.ahn@kt.com 1040 Susan Hares 1041 Huawei 1042 7453 Hickory Hill 1043 Saline, MI 48176 1044 USA 1046 Phone: +1-734-604-0332 1047 EMail: shares@ndzh.com 1049 Diego R. Lopez 1050 Telefonica I+D 1051 Jose Manuel Lara, 9 1052 Seville 41013 1053 Spain 1055 Phone: +34 682 051 091 1056 EMail: diego.r.lopez@telefonica.com