|
5 | 5 |
|
6 | 6 |
|
7 | 7 | <Module boilerplate="yes" |
8 | | - target-product="Software Defined Networking Controller" |
9 | | - name="PP-Module for Software Defined Networking Controller" |
| 8 | + target-product="Software-Defined Networking Controller" |
| 9 | + name="PP-Module for Software-Defined Networking Controller" |
10 | 10 | xmlns="https://niap-ccevs.org/cc/v1" |
11 | 11 | xmlns:sec="https://niap-ccevs.org/cc/v1/section" |
12 | 12 | xmlns:h="http://www.w3.org/1999/xhtml"> |
|
17 | 17 | <PPVersion>1.0</PPVersion> |
18 | 18 | <PPAuthor>National Information Assurance Partnership</PPAuthor> |
19 | 19 | <PPPubDate>2026-02-27</PPPubDate> |
20 | | - <Keywords>SDN; software defined networking</Keywords> |
| 20 | + <Keywords>SDN; software-defined networking</Keywords> |
21 | 21 | </ReferenceTable> |
22 | 22 | </PPReference> |
23 | 23 |
|
|
32 | 32 | <sec:Introduction> |
33 | 33 | <sec:Overview> |
34 | 34 |
|
35 | | - The scope of this Protection Profile Module (PP-Module) is to describe the security functionality of a software defined network (SDN) controller in terms of <xref g="CC"/> and to define functional and assurance requirements for such |
36 | | - products. |
| 35 | + The scope of this Protection Profile Module (PP-Module) is to describe the security functionality of a software-defined network (SDN) controller in terms of <xref |
| 36 | + g="CC"/> and to define functional and assurance requirements for such products.<h:p/> |
37 | 37 |
|
| 38 | + An SDN controller is a central component of an SDN system and is available as a logical or physical device. An SDN controller manages and distributes network |
| 39 | + policies, collects network routing and payload information from the control and data planes, and interfaces with user applications in the management plane for |
| 40 | + functions such as configuration and logging. Each of the planes in an SDN system is composed of multiple logical or physical components. The SDN controller logically |
| 41 | + separates the data plane from the control plane and centralizes control which enhances network flexibility and scalability through more efficient network management. |
| 42 | + <h:p/> |
38 | 43 |
|
39 | | - An SDN controller is a central component of an SDN system and is available as a logical or a physical device. An SDN controller manages and distributes network policies, collects network routing and payload information from the control and data planes, and interfaces with user applications in the management plane for functions such as configuration and logging. Each of the planes in an SDN system is composed of multiple logical or physical components. The SDN controller logically separates the data plane from the control plane and centralizes control which enhances network flexibility and scalability through more efficient network management. |
40 | | - |
41 | | - This PP-Module is intended for use with the following Base-PP: |
42 | | - |
| 44 | + This PP-Module is intended for use with the following Base-PP. |
43 | 45 | <h:ul> |
44 | | - <h:li>collaborative Protection Profile for Network Devices (NDcPP), Version 4.0</h:li> |
| 46 | + <h:li>collaborative Protection Profile for Network Devices, Version 4.0</h:li> |
45 | 47 | </h:ul> |
46 | 48 |
|
47 | 49 | This Base-PP is valid because an SDN controller is a specific implementation of a network device. Specifically, an SDN controller is one of many components of an SDN networking architecture. An SDN controller manages and distributes network policies, collects routing and payload information from the data plane, and interfaces with user applications in the management plane. Each of the planes in an SDN system is composed of multiple logical or physical components. SDN controllers logically centralize the network intelligence and state in the control plane. |
|
81 | 83 | <term abbr='IT' full="Information Technology"/> |
82 | 84 |
|
83 | 85 | <term full="Management Plane"> |
84 | | - Composed of programs that communicate behaviors and needed resources with the SDN controller via application programming interfaces (APIs). |
| 86 | + Composed of programs that communicate behaviors and needed resources with the SDN controller via APIs. |
85 | 87 | In addition, the applications can build an abstracted view of the network by collecting information from the controller for decision-making purposes. These |
86 | 88 | applications could include networking management, analytics, or business applications used to run large data centers. For example, an analytics application might be |
87 | 89 | built to recognize suspicious network activity for security purposes. This is sometimes also referred to as the Orchestration Layer. |
|
94 | 96 | <term abbr='REST' full="Representational State Transfer"/> |
95 | 97 | <term abbr='RFC' full="Request for Comment"/> |
96 | 98 |
|
97 | | - <term abbr='SDN' full="Software Defined Networking"/> |
| 99 | + <term abbr='SDN' full="Software-Defined Networking"/> |
98 | 100 | <term full="Southbound">Communications between an SDN and network devices in the data plane.</term> |
99 | 101 | <term abbr='TLS' full="Transport Layer Security"/> |
100 | 102 | <term abbr='USB' full="Universal Serial Bus"/> |
|
107 | 109 | A conformant TOE decouples its data and control planes such that data traffic and control traffic are restricted |
108 | 110 | to their respective planes. It also enforces centralization of control so that all components of the SDN environment |
109 | 111 | are under its control. This can expand across multiple distributed controllers for large, complex, or geographically |
110 | | - dispersed networks. Compliant TOEs will implement the following functionality: |
| 112 | + dispersed networks. Compliant TOEs will implement the following functionality. |
111 | 113 | <h:ul> |
112 | 114 | <h:li>Ability to support secure remote administration.</h:li> |
113 | 115 | <h:li>Ability to apply software or firmware updates from a trusted source.</h:li> |
114 | 116 | <h:li>Secure interfaces to remote entities such as applications, VMs, and other devices (zone of trust).</h:li> |
115 | 117 | <h:li>Reporting of all security-relevant events.</h:li> |
116 | | - <h:li>Logical separateion of the management plane, control plane, and data plane.</h:li> |
| 118 | + <h:li>Logical separation of the management, control, and data planes.</h:li> |
117 | 119 | <h:li>Protection of data that is collected by the control plane and distributed to the data plane, such as flow tables and configuration.</h:li> |
118 | 120 | <h:li>Protection of data that is collected by the control plane and distributed to the management plane, such as auditable events and traffic or packet statistics.</h:li> |
119 | 121 | <h:li>Protection of data that is collected, distributed, and shared within the control plane, such as when multiple SDN controllers exist in the architecture.</h:li> |
|
130 | 132 | <figure entity="images/sdncontroller.png" title="High-Level SDN Representation" id="sdn-toe"/> |
131 | 133 | </h:p> |
132 | 134 | <h:p> |
133 | | - The following elements of an SDN controller are outside the scope of this PP-Module and are therefore considered to be non-interfering with respect to its security, even if they are included as part of a compliant product: |
| 135 | + The following elements of an SDN controller are outside the scope of this PP-Module and are therefore considered to be non-interfering with respect to its security, even if they are included as part of a compliant product. |
134 | 136 | <h:ul> |
135 | 137 | <h:li>Examination of data plane content, such as virus or email scanning.</h:li> |
136 | 138 | <h:li>Intrusion detection or prevention capabilities.</h:li> |
137 | 139 | <h:li>Network Address Translation (NAT) as a security function.</h:li> |
138 | | - <h:li>If the TOE boundary is a single virtual machine, the hardware or firmware of the underlying platform.</h:li> |
139 | | - <h:li>If the TOE boundary is a single virtual machine, the host operating system or runtime environment.</h:li> |
| 140 | + <h:li>If the TOE boundary is a standalone virtual machine, the hardware or firmware of the underlying platform.</h:li> |
| 141 | + <h:li>If the TOE boundary is a standalone virtual machine, the host operating system or runtime environment.</h:li> |
140 | 142 | <h:li>Specific security functionality that is not global to all SDN controllers (e.g., firewall, load balancing).</h:li> |
141 | 143 | <h:li>Other objects belonging in the data plane.</h:li> |
142 | 144 | </h:ul> |
|
148 | 150 | </sec:Compliant_Targets_of_Evaluation> |
149 | 151 | <!-- Information needs to be added here. --> |
150 | 152 | <sec:Use_Cases>Requirements in this PP-Module are designed to address the security problems in at least the following use cases. These use cases are |
151 | | - intentionally very broad, as many specific use cases exist for an SDN controller These use cases may also overlap with one another. An SDN controller's |
152 | | - functionality may even be effectively extended by privileged applications installed on it. However, these are out of scope of this PP. |
| 153 | + intentionally very broad, as many specific use cases exist for an SDN controller. These use cases may also overlap with one another. An SDN controller's |
| 154 | + functionality may even be effectively extended by privileged applications installed on it. However, these are out of scope of this PP-Module. |
153 | 155 | <usecases> |
154 | 156 | <usecase title="Physical Device" id="standalonephysdev"> |
155 | 157 | <description> |
|
183 | 185 | <cc-pt2-conf>extended</cc-pt2-conf> |
184 | 186 | <cc-pt3-conf>conformant</cc-pt3-conf> |
185 | 187 | <cc-pp-conf> |
186 | | - <PP-cc-ref>collaborative Protection Profile for Newtork Device, v4.0</PP-cc-ref> |
| 188 | + <PP-cc-ref>collaborative Protection Profile for Network Devices, v4.0</PP-cc-ref> |
187 | 189 | </cc-pp-conf> |
188 | 190 | <cc-pp-config-with> |
189 | 191 | <Mod-cc-ref>collaborative Protection Profile Module for Stateful Traffic Filter Firewalls, |
|
304 | 306 | and protection of the channel data from disclosure and detection of modification of the channel data. |
305 | 307 | </h:p> |
306 | 308 | <h:p> |
307 | | - <h:b>FTP_ITC.1.2</h:b> The TSF shall <h:b>permit</h:b> [<h:b>selection:</h:b><h:i> the TSF, the authorized IT entities</h:i>] <h:b>to</h:b> initiate |
| 309 | + <h:b>FTP_ITC.1.2</h:b> The TSF shall permit [<h:b>selection:</h:b><h:i> the TSF, the authorized IT entities</h:i>] to initiate |
308 | 310 | communication via the trusted channel. |
309 | 311 | </h:p> |
310 | 312 | <h:p> |
|
379 | 381 | <f-element> |
380 | 382 | <title>The TSF shall record within the <h:b>SDN</h:b> audit data at |
381 | 383 | least the following information: <h:ol type="a"> |
382 | | - <h:li>Date and time of the event, type of event, subject identity, (if relevant) the outcome |
383 | | - (success or failure) of the event; and</h:li> |
384 | | - <h:li>For each audit event type, based on the auditable event definitions of the functional components |
| 384 | + <h:li>Date and time of the event, type of event, subject identity, (if applicable) the outcome |
| 385 | + (success or failure) of the event;</h:li> |
| 386 | + <h:li>For each auditable event type, based on the auditable event definitions of the functional components |
385 | 387 | included in the PP, PP-Module, functional package, or ST, [<h:i>Additional Audit Record Contents as specified in <xref to="at-mandatory"/></h:i>].</h:li> |
386 | 388 | </h:ol> |
387 | 389 | </title> |
|
393 | 395 | </h:p> |
394 | 396 | </note> |
395 | 397 | <aactivity> |
396 | | - <TSS><h:p>The evaluator shall verify that the TSS identifies the auditable events generated by the TOE, and that they include the auditable events specified in this SFR along with the required audit data. The evaluator shall also verify that the TSS identifies the mechanism used for generating audit events such that it can be determined whether the auditable events required by this PP-Module use the same audit mechanism as what the Base-PP requires for FAU_GEN.1 or whether there are alternate mechanisms that are used. |
| 398 | + <TSS><h:p>The evaluator shall verify that the TSS identifies the auditable events generated by the TOE, and that they include the auditable events specified in this SFR along with the required audit data. The evaluator shall also verify that the TSS identifies the mechanism used for generating audit events such that it can be determined whether the auditable events required by this PP-Module use the same audit mechanism as what the Base-PP requires for FAU_GEN.1 or there are alternate mechanisms that are used. |
397 | 399 | </h:p> |
398 | | - <h:p>The requirement in the Base-PP to ensure that all auditable events can be transmitted to the operational environment via a secure channel is applicable to the entire TOE, even when PP-Modules are claimed. Therefore, if the TSF does have any audit mechanisms that are used specifically to generate audit records for this PP-Module's auditable events, the evaluator shall ensure that these mechanisms are discussed in the context of the Base-PP's requirements for protection of audit data in transit, and at rest if applicable. |
| 400 | + <h:p>The evaluator shall check that the requirement in the Base-PP to ensure that all auditable events can be transmitted to the operational environment via a secure channel is applicable to the entire TOE, even when PP-Modules are claimed. Therefore, if the TSF does have any audit mechanisms that are used specifically to generate audit records for this PP-Module's auditable events, the evaluator shall ensure that these mechanisms are discussed in the context of the Base-PP's requirements for protection of audit data in transit, and at rest if applicable. |
399 | 401 | </h:p> |
400 | 402 | </TSS> |
401 | 403 | <Guidance>The evaluator shall verify that the operational guidance identifies the auditable events that are generated by the TOE in support of this SFR and includes representative audit records of each event to demonstrate the format of each record. The evaluator shall verify that each sample audit record includes the fields required for each auditable event per FAU_GEN.1.2/SDN. |
|
583 | 585 | The restriction of modifying API access and validity functions to the API administrator is intended to imply that the API user does not have the ability to modify API functions. The API user role having read-only access to these functions is not precluded by this requirement, as this requirement only relates to the ability to modify the behavior of the API. |
584 | 586 | </note> |
585 | 587 | <aactivity> |
586 | | - <TSS>The evaluator shall examine the TSS to verify that it identifies the API access and API validity functions provided by the TOE and verify that an API administrator is the only subject that is authorized to modify the behavior of these functions (e.g., by determining the subjects that are authorized to access a particular function). Note that the "API administrator" role is a necessary but not sufficient condition to be authorized to perform management functions; if the TSF implements more granular controls (e.g., different API administrators have access to different sets of functions based on role or other subject attribute), the evaluator shall verify that the TSS includes sufficient data to determine that it fully describes the authorizations needed to perform management functions against the TOE's APIs.</TSS> |
| 588 | + <TSS>The evaluator shall examine the TSS to verify that it identifies the API access and API validity functions provided by the TOE and verify that an API administrator is the only subject that is authorized to modify the behavior of these functions (e.g., by determining the subjects that are authorized to access a particular function). Note that the "API administrator" role is a necessary but not sufficient condition to be authorized to perform management functions. If the TSF implements more granular controls (e.g., different API administrators have access to different sets of functions based on role or other subject attribute), the evaluator shall verify that the TSS includes sufficient data to determine that it fully describes the authorizations needed to perform management functions against the TOE's APIs.</TSS> |
587 | 589 | <Guidance>The evaluator shall examine the operational guidance to verify that it describes the TOE's claimed management functions and the privileges required to execute those functions.</Guidance> |
588 | 590 | <Tests>For each claimed management function, the evaluator shall access the TOE as a legitimate user that lacks privileges to perform the function, attempt to perform the function, and verify that it fails (or that there is no mechanism by which an attempt can even be made). If multiple conditions define the ability to perform the function, the evaluator shall repeat this activity as needed to verify that the absence of each condition is sufficient to prevent the execution of the function. The evaluator shall then access the TOE with all necessary authorities to perform the function and verify that it is successful.</Tests> |
589 | 591 | </aactivity> |
|
0 commit comments