Software Defined Networking Architecture, Security and Energy Efficiency: A Survey <s> B. Security Attacks in SDN and Countermeasures <s> Software-defined networking empowers network operators with more flexibility to program their networks. With SDN, network management moves from codifying functionality in terms of low-level device configurations to building software that facilitates network management and debugging. By separating the complexity of state distribution from network specification, SDN provides new ways to solve long-standing problems in networking --- routing, for instance --- while simultaneously allowing the use of security and dependability techniques, such as access control or multi-path. However, the security and dependability of the SDN itself is still an open issue. In this position paper we argue for the need to build secure and dependable SDNs by design. As a first step in this direction we describe several threat vectors that may enable the exploit of SDN vulnerabilities. We then sketch the design of a secure and dependable SDN control platform as a materialization of the concept here advocated. We hope that this paper will trigger discussions in the SDN community around these issues and serve as a catalyser to join efforts from the networking and security & dependability communities in the ultimate goal of building resilient control planes. <s> BIB001 </s> Software Defined Networking Architecture, Security and Energy Efficiency: A Survey <s> B. Security Attacks in SDN and Countermeasures <s> Software-defined network (SDN) has become one of the most important architectures for the management of largescale complex networks, which may require repolicing or reconfigurations from time to time. SDN achieves easy repolicing by decoupling the control plane from data plane. Thus, the network routers/switches just simply forward packets by following the flow table rules set by the control plane. Currently, OpenFlow is the most popular SDN protocol/standard and has a set of design specifications. Although SDN/OpenFlow is a relatively new area, it has attracted much attention from both academia and industry. In this paper, we will conduct a comprehensive survey of the important topics in SDN/OpenFlow implementation, including the basic concept, applications, language abstraction, controller, virtualization, quality of service, security, and its integration with wireless and optical networks. We will compare the pros and cons of different schemes and discuss the future research trends in this exciting area. This survey can help both industry and academia R&D people to understand the latest progress of SDN/OpenFlow designs. <s> BIB002
As discussed, SDN offers defense solutions for various security attacks through its programmability features. However, there are several new threats that arise as a result of SDN implementation. Note that attacks are prevalent in SDN as it is mostly dependent on the programs/software for defining its behavior which may keep the security of the entire system at stake making it feasible for the attackers to enter the system. In this section, we present security attacks, challenges and countermeasures in SDN. Security vulnerabilities in SDN can jeopardize the entire network and degrade the performance. The attacks on SDN may occur in different modules such as controller, virtual machines and OpenFlow switches BIB002 . There are several attacks that arise along with SDN implementation BIB001 . Typical attack vectors and their locations of occurrence in SDN are shown in Fig. 6 . The description of each threat vector given in Fig. 6 is given below. • Threat vector 1 represents the fake traffic flows that occur during intercommunication of SDN devices in data plane. The attack may occur using the spoofed identity of legitimate flows or fake identity of the device. • Threat vector 2 represents the attacks at SDN switches in data plane which may occur from the in-flow and out-flow of traffic. • Threat vector 3 represents the attacks that may occur during the communication of data plane devices with control plane device (controller). • Threat vector 4 represents the attacks at the controller. • Threat vector 5 represents the attacks that occur between controller and application layer devices (including admin systems). • Threat vector 6 represents the attacks on administrator's station which is linked with the controller. • Threat vector 7 represents the attacks targeting communications between data layer and application layer. To protect from these threat vectors, defense solutions have been proposed in BIB001 but the most of which are still open to be explored. Table II discusses various attacks in SDN occurring in different layers and provides the results of occurrence of these attacks along with mitigation techniques to prevent these attacks. The description of threats in different layers is discussed in detail below. 1) The controller is the most obvious target for attackers as the entire network functionality and behavior depends on controller. Once the controller is compromised it can pose a threat to entire network. The threat vectors 3, 4 and 5 are associated with control plane. The attacks can be directed from various modules which includes switches in data plane layer, northbound interface, southbound interface and application layer. DoS/DDoS, anomaly and intrusion attacks are the possible attacks that can occur in control plane. 2) The switches in SDN are only capable of performing minimal tasks such as forwarding the packets. However, the threat posed to switches may cause a huge damage to entire network. The threat vector 1 and 2 are associated with vulnerabilities in switches. DoS, DDoS, spoofing attacks and intrusion attacks are some attacks associated with data plane. 3) The threat vectors 5, 6 and 7 are related to attacks in application layer. The software related attacks such as bugs, failure of applications, malicious applications injection, anomaly and intrusion attacks are most common threats in this layer. 4) The threat vectors 3, 5 and 7 are associated with the attacks on interfaces. The interfaces play a important role in enabling communication between two planes. Most of the attacks on the interfaces are similar to attacks that occur in other planes. If the interface is compromised it allows back and forth flow of malicious traffic in the system. The detection and mitigation techniques for the above discussed attacks are presented in detail below.