Abstract
The recent trend toward Network Softwarization is driving an unprecedented technoeconomic shift in the Telecom and ICT (Information and Communication Technologies) industries. By separating the hardware on which network functions/services run and the software that realizes and controls the network functions/services, Software-Defined Networking (SDN) and Network Function Virtualization (NFV) are creating an open ecosystem that drastically reduces the cost of building networks and changes the way operators operate their networks. SDN and NFV paradigms add more flexibility and enable more control over networks, thus, related technologies are expected to dominate a large part of the networking market in the next few years (estimated at USD 3.68B in 2017 and forecasted by some to reach $54B by 2022 at a Compound Annual Growth Rate (CAGR) of 71.4%). However, one of the major operators’ concerns about Network Softwarization is security. In this thesis, we have first designed and implemented a pentesting (penetration testing) framework for SDN controllers. We have proposed a set of algorithms to fingerprint a remote SDN controller without having direct connection to it. Using our framework, network operators can evaluate the security of their SDN deployments (including Opendaylight, Floodlight and Cisco Open SDN Controller) before putting them into production. Second, we have studied the Topology Discovery problem in SDN controllers and discovered major security (as well as performance) issues around the current de-facto OpenFlow Topology Discovery Protocol (OFDP). In order to fix these major issues, we have designed and implemented a new secure and efficient OpenFlow Topology Discovery Protocol (called sOFTDP). sOFTDP requires minimal changes to the OpenFlow switch design and is shown to be more secure than previous workarounds on traditional OFDP. Also, sOFTDP outperforms OFDP by several orders of magnitude which we confirmed by extensive experiments. The second axis of our research in this thesis is smart management in softwarized networks. Inspired by the recent breakthroughs in machine learning techniques, notably, Deep Neural Networks (DNNs), we have built a traffic engineering engine for SDN called NeuRoute, entirely based on DNNs. Current SDN/OpenFlow controllers use a default routing based on Dijkstra’s algorithm for shortest paths, and provide APIs to develop custom routing applications. NeuRoute is a controller-agnostic dynamic routing framework that (i) predicts traffic matrix in real time, (ii) uses a neural network to learn traffic characteristics and (iii) generates forwarding rules accordingly to optimize the network throughput. NeuRoute is composed of two main components: NeuTM and NeuRoute-TRU. NeuTM is a traffic matrix (TM) prediction framework that uses Long Short Term Memory (LSTM) Neural Network architecture to learn long-range traffic dependencies and characteristics then accurately predicts future TMs. NeuRoute-TRU is a path selection engine that computes optimal paths for traffic matrices predicted by NeuTM. NeuRoute-TRU achieves the same results as the most efficient dynamic routing heuristic but in much less execution time.; La tendance récente vers la “Softwarization” des réseaux entraîne un changement techno-économique sans précédent dans les secteurs des TIC (technologies de l'information et de la communication). En séparant le matériel sur lequel fonctionnent les fonctions/services réseau et le logiciel qui réalise et contrôle de ces fonctions/services, les réseaux logiciels (ou SDN, Software-Defined Networking) et la virtualisation des fonctions réseau (NFV, Network Function Virtualizatino) créent un écosystème ouvert qui réduit considérablement le coût de provisionnement des réseaux et change la façon dont les opérateurs gèrent et exploitent leurs réseaux. Les paradigmes SDN et NFV introduisent plus de flexibilité et permettent un meilleur contrôle, ainsi les technologies associées devraient dominer une grande partie du marché du réseautage dans les prochaines années (estimé à 3,68 milliards USD en 2017 et prévu par certains pour atteindre 54 milliards USD d'ici 2022 à un taux de croissance annuel composé (TCAC) de 71,4%). Cependant, l'un des soucis majeurs des opérateurs à propos de Network Softwarization est la sécurité. Dans cette thèse, nous avons d'abord conçu et implémenté un framework de test de pénétration (pentesting) pour les contrôleurs SDN. Nous avons proposé un ensemble d'algorithmes pour l'empreinte digitale d'un contrôleur SDN distant, i.e. sans avoir besoin d’une connexion directe au contrôleur. En utilisant notre framework, les opérateurs réseau peuvent évaluer la sécurité de leurs déploiements SDN (y compris Opendaylight, Floodlight et Cisco Open SDN Controller) avant de les mettre en production. Deuxièmement, nous avons étudié le problème de découverte de topologie dans les réseaux SDN. Nous avons constaté des problèmes de sécurité, ainsi que de performance, majeurs autour du protocole OFDP (OpenFlow Topology Discovery Protocol). Afin de résoudre ces problèmes majeurs, nous avons conçu et implémenté un nouveau protocole, sécurisé et efficace, pour la découverte de topologie dans les réseaux OpenFlow. Notre protocole est appelé sOFTDP; secure and efficient OpenFlow Topology Discovery Protocol. sOFTDP nécessite des modifications minimales à la conception de base du commutateur OpenFlow et s'avère plus sûr que le OFDP traditionnel et les améliorations plus récente sur OFDP. En outre, sOFTDP surpasse OFDP de plusieurs ordres de grandeur en terme de performance, ce que nous avons confirmé par des tests approfondies. Le deuxième axe de notre recherche dans cette thèse est la gestion intelligente et automatique des réseaux logiciels. Inspirés par les avancées récentes dans les techniques d'apprentissage automatique, notamment les réseaux de neurones profonds (DNN, Deep Neural Networks), nous avons créé un moteur d'ingénierie de trafic pour le SDN appelé NeuRoute, entièrement basé sur les DNN. Les contrôleurs SDN/OpenFlow actuels utilisent par défaut un routage basé sur l'algorithme de Dijkstra pour les chemins les plus courts mais fournissent des API pour développer des applications de routage personnalisées. NeuRoute est un framework de routage dynamique indépendant du contrôleur qui (i) prédit la matrice de trafic en temps réel, (ii) utilise un réseau neuronal pour apprendre les caractéristiques du trafic et (iii) génère automatiquement des règles de routage pour optimiser le débit du trafic. NeuRoute est composé de deux composants principaux: NeuTM et NeuRoute-TRU. NeuTM prédit la matrice de trafic (TM, Traffic Matrix) en utilisant une architecture de réseau neuronal à mémoire à long terme (LSTM, Long Short Term Memory) pour apprendre les dépendances et les caractéristiques du trafic sur une longue période, puis prédire avec précision les futures TM. NeuRoute-TRU est un moteur de sélection de chemin qui calcule les chemins optimaux pour les matrices de trafic prédites par NeuTM. NeuRoute-TRU obtient les mêmes résultats que l'heuristique de routage dynamique la plus efficace, mais avec beaucoup moins de temps d'exécution.Abstract
The recent trend toward Network Softwarization is driving an unprecedented technoeconomic shift in the Telecom and ICT (Information and Communication Technologies) industries. By separating the hardware on which network functions/services run and the software that realizes and controls [...]Abstract
This paper discusses some challenges that user mobility imposes over the user-centric protection model against security threats. This model is based on the idea of offloading the security applications from the end user device, and placing them in a trusted network node at the network's edge. Our research perspective is particularly centered around three interrelated mobility challenges, i) the allocation of the security applications “close” to the user, i.e., on network nodes with enhanced processing capabilities, ii) seamless mobility with negligible disruption of ongoing network connections, and iii) dynamic orchestration and management with support of security applications migration. Based on our arguments, we expose the main requirements and trade-offs to be considered in the attempt to support mobility in such environment. We propose a flexible solution that leverages Software Defined Networking, Network Function Virtualization and Computing at the Network Edge to offer a seamless on-path security protection to mobile users. Our preliminary experiments' results considering a WiFi mobile user show that seamless security migration and mobility are feasible in a simple real scenario. Vertical mobility and more complex use cases scenarios are envisioned for future research. Peer Reviewed Document type: Conference objectAbstract
This paper discusses some challenges that user mobility imposes over the user-centric protection model against security threats. This model is based on the idea of offloading the security applications from the end user device, and placing them in a trusted network node at the network's [...]Abstract
[ANGLÈS]Lately, the emerging paradigm of Software-Defined Networking has grown in presence and claims to simplify future networking. The decoupling of network control and forwarding plane proposed by this architecture allows the control of the entire network behavior by means of a logically centralized software program (controller). Such separation of planes opens the way to Network Virtualization, which provides users a logical abstraction of underlying network resources. However, network virtualization requires a mapping phase of the virtual resources over the physical resources, which is not trivial, formally known as the virtual network embedding problem. The present document focuses in the development of a variant of one of the proposed strategies to solve this critical step, prioritizing the real-time response. The proposed algorithm uses the properties offered by the Paths Algebra mathematical framework to provide a flexible environment where it is possible to combine any number of both linear and non-linear metrics. In addition, it is also used the multi-lexical ordination, a criterion to better distinguish paths that may be considered equal by other approaches. Such algorithm has been implemented as a software application that provides a simulation environment where the virtual network embedding process can be tested for any given topology. Subsequently, all the algorithm features have been checked in a set of performance tests, focusing on those oriented to the commitment among the real-time response and the quality of the embedding solutions. In general, testing results are very promising even in densely populated backbone topologies, where the number of alternative paths among each possible pair of origin and destination nodes grows exponentially. [CASTELLÀ] Software-Defined Networking (o Redes Definidas por Software) es un nuevo paradigma que tiene como objetivo simplificar la creación y gestión de redes de ordenadores. El desacoplamiento entre el control de la red y el plano de reenvío propuesto por esta arquitectura permite el control de todo el comportamiento de la red mediante un elemento lógico centralizado, llamado controlador. Esta separación de los planos abre la puerta a la virtualización de redes, proporcionando a los usuarios una abstracción lógica de los recursos de red subyacentes. Sin embargo, la virtualización de red requiere de una fase de asignación de los recursos virtuales a los recursos físicos, que no es trivial y que se conoce formalmente como el problema de incrustación de redes virtuales. El presente documento se centra en el desarrollo de una variante de una de las estrategias propuestas para resolver este paso crítico, dando prioridad a la respuesta en tiempo real. El algoritmo propuesto utiliza las propiedades ofrecidas por el marco matemático de Paths Algebra (o Álgebra de Caminos) para proporcionar un entorno flexible donde es posible combinar cualquier número de métricas lineales y no lineales. Además, también utiliza la ordenación multi-léxica, un criterio para distinguir mejor aquellos caminos que podrían ser considerados equivalentes por otros enfoques. Este algoritmo se ha implementado como una aplicación de software que proporciona un entorno de simulación en el que se puede probar el proceso de incrustación de redes virtuales para cualquier topología. Posteriormente, se han comprobado todas las características del algoritmo mediante un conjunto de pruebas de rendimiento, priorizando aquellas orientadas al compromiso entre la respuesta en tiempo real y la calidad de las soluciones de incrustación. En general, los resultados de las pruebas son muy prometedores incluso en topologías de redes troncales densamente pobladas, donde el número de caminos alternativos entre cada posible nodo origen y destino crece exponencialmente.Abstract
[ANGLÈS]Lately, the emerging paradigm of Software-Defined Networking has grown in presence and claims to simplify future networking. The decoupling of network control and forwarding plane proposed by this architecture allows the control of the entire network behavior by means of [...]