Advances in software virtualization and network processing lead to increasing network softwarization. Software network elements running on commodity platforms replace or complement hardware components in cloud and mobile network infrastructure. However, such commodity platforms have a large attack surface and often lack granular control and tight integration of the underlying hardware and software stack. Often, software network elements are either themselves vulnerable to software attacks or can be compromised through the bloated trusted computing base. To address this, we protect the core security assets of network elements -authentication credentials and cryptographic context -by provisioning them to and maintaining them exclusively in isolated execution environments. We complement this with a secure and scalable mechanism to enroll network elements into software defined networks. Our evaluation results show a negligible impact on run-time performance and only a moderate performance impact at the deployment stage. arXiv:1806.07302v1 [cs.NI] 19 Jun 2018 directly (by intercepting or modifying traffic), or indirectly through horizontal attacks aimed to leak authentication credentials and encryption keys [54].Earlier research addressed SDN security through additional services [48,53,21], formal verification [6] and isolated execution using Intel Software Guard Extensions (SGX) [52,43,28,44], and most popular network element implementation support communication over transport layer security (TLS) [15]. Despite these efforts, the confidentiality and integrity of authentication credentials of network elements in SDN remain unaddressed. In particular, the existing approaches to provision authentication credentials to network elements in SDN are either plain insecure or both insecure and unscalable, requiring manual steps 4 [38]. Moreover, credentials provisioned to network elements in virtualized environments are often stored in plaintext on the file system. Adversaries exploiting vulnerabilities in process and virtualization isolation can access authentication credentials to perform network attacks or impersonate network elements. In this paper, we address two complementary questions: (1) How can authentication credentials be securely provisioned to software network elements in SDN deployments? and (2) How can the TLS context of virtual switches be protected on compromised hosts?
ContributionsIn this work, we present the following contributions:-A secure, practical, and scalable mechanism to provision authentication credentials and bootstrap communication between software network elements. -TLSonSGX 5 , a library allowing to maintain authentication credentials and the TLS context exclusively in isolated execution environments. -A novel approach to restricting the availability of authentication credentials for SDN components to hosts with an attested trusted computing base. -A first thorough analysis of the performance trade-offs of deploying components of network elements in SGX enclaves.
StructureThe remainder of thi...