Software-Defined Security for Distributed Clouds Maxime Compastié
Total Page:16
File Type:pdf, Size:1020Kb
Software-defined Security for Distributed Clouds Maxime Compastié To cite this version: Maxime Compastié. Software-defined Security for Distributed Clouds. Networking and Internet Ar- chitecture [cs.NI]. Université de Lorraine, 2018. English. NNT : 2018LORR0307. tel-02096145 HAL Id: tel-02096145 https://hal.univ-lorraine.fr/tel-02096145 Submitted on 14 Jan 2020 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. AVERTISSEMENT Ce document est le fruit d'un long travail approuvé par le jury de soutenance et mis à disposition de l'ensemble de la communauté universitaire élargie. Il est soumis à la propriété intellectuelle de l'auteur. Ceci implique une obligation de citation et de référencement lors de l’utilisation de ce document. D'autre part, toute contrefaçon, plagiat, reproduction illicite encourt une poursuite pénale. Contact : [email protected] LIENS Code de la Propriété Intellectuelle. articles L 122. 4 Code de la Propriété Intellectuelle. articles L 335.2- L 335.10 http://www.cfcopies.com/V2/leg/leg_droi.php http://www.culture.gouv.fr/culture/infos-pratiques/droits/protection.htm Ecole´ doctorale IAEM Lorraine Software-defined Security for Distributed Clouds THESE` pr´esent´eeet soutenue publiquement le 18 Decembre 2018 pour l'obtention du Doctorat de l'Universit´ede Lorraine (mention informatique) par Maxime COMPASTIE´ Composition du jury Directeur de th`ese: Olivier FESTOR Professeur, Universit´ede Lorraine Co-Directeur de th`ese: R´emiBADONNEL Ma^ıtrede Conf´erences,Universit´ede Lorraine Rapporteurs : Nora CUPPENS Professeur, IMT Atlantique Thierry GAYRAUD Professeur, Universit´ede Toulouse Examinateurs : V´eroniqueLEGRAND Professeure, CNAM Pierre-Etienne MOREAU Professeur, Universit´ede Lorraine Examinateurs Invit´es: Ruan HE Chief Cloud Architect, Tencent Sok-Yen LOUI Ing´enieurede Recherche, Orange Labs Laboratoire Lorrain de Recherche en Informatique et ses Applications | UMR 7503 Mis en page avec la classe thesul. i To my family. ii iii Acknowledgement Foremost, I would like to express gratitude to my supervisors, Pr. Olivier Festor and Dr. Rémi badonnel, for their guidance all along my PhD. Their precious advices and countless discussions have helped me in elaborating this work and making this PhD concrete. Their patience and their rigor have enabled me to a scientific level I couldn’t have expected otherwise. I am also accountable to Dr. Ruan HE and Ms. Sok-Yen LOUI for their time as industrial advisors. They were an inexhaustible source of inspiration, thoughtful comments and motivation. I would also thank my former project manager, Dr. Mohamed Kassi Lahlou, for contribibuting in bootstrapping this thesis and giving me the opportunity to join Orange. I would like to thanks my PhD reviewers, Nora Cuppens and Thierry Gayraud, to have accepted to review my manuscript and their supporting comments. Besides, my thanks also goes to the whole members of my PhD commitee for having accepted to evaluate my work and attending my defense. My thanks also go to the members APPCRM department at Orange Labs Service. Their warm welcome and good mood has given me the courage to begin my research and to move forward. Thanks to Hervé, Eliane, Roger, Sylvain, Guy, Guillaume, Alexandre D. Philippe K, Stéphane A., Stéphane C.. Rémi H., Bart, Jérôme, Christine, Thomas and Alioune. I also address very special thanks to Claire and Leo for our pinball contest. Also, I want to express my gratitude to the members of the ARSEC department at Orange. They were source of support and fruitful discussion that have contributed to enrich the content of this work. Thanks to Ghada, Christophe, Matthieu, Philippe C., Philippe L.G., Jean-Philippe, Adam, Khaoula, Sebastien, Michael, Xavier G., Émilie, Marc, Xiao, Mahdi, Gilles, Alicia, San- dra, Alex, David, Benoît, Pascal, Paul, Kahina and Todor. I also want to thanks my colleagues from the RESIST research team in the LORIA laboratory. Although I was located most of the time at Orange, I have greatly appreciated the time we spent together. Thanks to Nicolas, Pierre-Olivier, Soline, Thomas, Adrien, Alexandre M., Loïc, Daishi, Abdulqawi, Abir and Mingxiao My final thanks are devoted to my friends and my family that have supported me during the whole of this experience. Thanks to all those who has contributed directly or directly to this work ! iv Contents 1 Introduction 1 1.1 Research Context . .1 1.1.1 Involvement of Virtualization in Cloud Computing . .2 1.1.2 Distribution of Resources over Cloud Environments . .2 1.1.3 Exposure to Security Attacks . .3 1.2 Problem Statement . .3 1.3 Contributions . .4 1.3.1 Analysis of Virtualization Models for Cloud Security . .5 1.3.2 Software-Defined Security Architecture for Distributed Clouds . .5 1.3.3 Generation of Protected Unikernel Resources . .6 1.3.4 Extensions of a Cloud Orchestration Language . .6 1.4 Outline of the Dissertation . .6 2 System Virtualization: from Threats to Cloud Protection Opportunities 9 2.1 Introduction . .9 2.2 System Virtualization Models . 11 2.2.1 Context . 11 2.2.2 System Virtualization . 12 2.2.3 OS-Level Virtualization . 15 2.2.4 Unikernel Virtualization . 16 2.2.5 Synthesis . 18 2.3 Security Analysis based on the Reference Architecture . 19 2.3.1 Identification of Vulnerabilities . 20 2.3.2 Considered Threats and Attacks . 26 2.3.3 Compromise-Free Attacks . 26 2.3.4 Compromising Attacks . 29 2.3.5 Compromise-Based Attacks . 30 2.4 Counter-Measures . 33 2.4.1 Integration of security mechanisms at design time . 33 v vi Contents 2.4.2 Minimization of the attack surface . 35 2.4.3 Adaptation based on security programmability . 36 2.5 Conclusions . 37 3 SDSec Architecture for Distributed Clouds 39 3.1 Introduction . 39 3.2 Related Work . 40 3.3 Software-Defined Security Overview . 44 3.3.1 Objectives . 44 3.3.2 Design principles . 44 3.4 Software-Defined Security Architecture . 45 3.4.1 Security Orchestrator . 46 3.4.2 Policy Decision Points . 49 3.4.3 Policy Enforcement Points . 49 3.4.4 Interactions Amongst Components . 50 3.5 Architecture Evaluation . 53 3.5.1 Validation Scenarios . 53 3.5.2 Practical Considerations . 57 3.6 Summary . 58 4 On-the-Fly Protected Unikernel Generation 61 4.1 Introduction . 61 4.2 Related Work . 62 4.3 Background on Unikernels . 63 4.4 Software-defined Security Framework Based on Unikernels . 66 4.4.1 On-the-fly Unikernel Generation . 67 4.4.2 Benefits of Unikernels for Software-defined Security . 71 4.4.3 Reactivity Improvement through Image Pooling . 72 4.4.4 Integration with the SDSec Architecture for Distributed Clouds . 73 4.5 Performance Evaluation . 75 4.5.1 Prototype Implementation . 75 4.5.2 Qualitative and Quantitative Evaluations . 77 4.6 Summary . 80 5 Topology and Orchestration Specification for SDSec 83 5.1 Introduction . 83 5.2 Related Work . 84 5.3 TOSCA-Oriented Software-defined Security Approach . 85 vii 5.4 Extensions of the TOSCA Language . 86 5.4.1 The TOSCA Language . 87 5.4.2 Describing Unikernels . 88 5.4.3 Specifying Security Requirements . 90 5.4.4 An Illustrative Case . 91 5.5 Underlying Security Framework . 92 5.5.1 Main Components . 92 5.5.2 Interpreting SecTOSCA Specifications . 93 5.5.3 Building and Orchestrating Unikernel Resources . 94 5.5.4 Adapting to Contextual Changes . 95 5.6 Summary . 95 6 Prototyping and Evaluation 105 6.1 Introduction . 105 6.2 Implementation Prototypes . 106 6.2.1 Young Unikernel Generator . 106 6.2.2 Moon Framework . 110 6.2.3 HTTP Authentication and Authorization for MirageOS Unikernels . 111 6.2.4 Application Firewalling for Mirage OS Unikernels . 112 6.3 Evaluation Scenarios . 113 6.3.1 Experimental testbed . 113 6.3.2 Performance of the three approaches . 114 6.3.3 Performance with a pool of protected unikernels . 115 6.3.4 Security policy propagation and enforcement . 116 6.4 Summary . 120 7 Conclusions 121 7.1 Summary of Contributions . 121 7.1.1 Analyzing Virtualization Models for Cloud Security . 122 7.1.2 Designing a Software-defined Security Architecture . 123 7.1.3 Generating Protected Unikernel Resources on The Fly . 123 7.1.4 Extending the TOSCA Cloud Orchestration Language . 123 7.1.5 Prototyping and Evaluating the Solution . 124 7.2 Discussions . 124 7.3 Research Perspectives . 124 7.3.1 Exploiting Infrastructure-As-Code for Security Programmability . 125 7.3.2 Supporting the Security of IoT Devices . 125 viii Contents 7.3.3 Checking the Consistency of Security Policies . 125 7.3.4 Contributing to Cloud Resilience . ..