Detecting Cloud Virtual Network Isolation Security for Data Leakage
Total Page:16
File Type:pdf, Size:1020Kb
DETECTING CLOUD VIRTUAL NETWORK ISOLATION SECURITY FOR DATA LEAKAGE Haifa Mohammed Al Nasseri A Thesis Submitted for the Degree of PhD at the University of St Andrews 2019 Full metadata for this item is available in St Andrews Research Repository at: http://research-repository.st-andrews.ac.uk/ Please use this identifier to cite or link to this item: http://hdl.handle.net/10023/17524 This item is protected by original copyright Detecting Cloud Virtual Network Isolation Security for Data Leakage Haifa Mohamed Al Nasseri This thesis is submitted in partial fulfilment for the degree of Doctor of Philosophy at the University of St Andrews January 2019 Abstract This thesis considers information leakage in cloud virtually isolated networks. Virtual Network (VN) Isolation is a core element of cloud security yet research literature shows that no experimental work, to date, has been conducted to test, discover and evaluate VN isolation data leakage. Consequently, this research focussed on that gap. Deep Dives of the cloud infrastructures were performed, followed by (Kali) penetration tests to detect any leakage. This data was compared to information gathered in the Deep Dive, to determine the level of cloud network infrastructure being exposed. As a major contribution to research, this is the first empirical work to use a Deep Dive approach and a penetration testing methodology applied to both CloudStack and OpenStack to demonstrate cloud network isolation vulnerabilities. The outcomes indicated that Cloud manufacturers need to test their isolation mechanisms more fully and enhance them with available solutions. However, this field needs more industrial data to confirm if the found issues are applicable to non open source cloud technologies. If the problems revealed are widespread then this is a major issue for cloud security. Due to the time constraints, only two cloud testbeds were built and analysed, but many potential future works are listed for analysing more complicated VN, analysing leveraged VN plugins and testing if system complexity will cause more leakage or protect the VN. This research is one of the first empirical building blocks in the field, and gives future researchers the basis for building their research on top of the presented methodology and results and for proposing more effective solutions. Acknowledgements To Allah, who provides me with unlimited strength and guidance, and who was beside me all the time when no one was able to understand me and when the PhD stress reached its peak. To you, my lord, my profound gratitude and thanks. To my late father, Mohamed, and my mother, Aisha, the most precious gifts I have in this life, who have instilled the love of learning in me and my nine siblings, Khalid, Mahfoodah, Samya, Ibrahim, Laila, Ashraf, Omar, Isaa and Khamis. We are a big family with a big heart and strong bonds. My thanks to my lovely family. To whom prayed for me secretly. To my grandparents, my uncle and aunt that I lost during my PhD journey. My further acknowledgement and thanks to my beloved country Oman for supporting me in my higher education since my BSc (Sultan Qaboos University, 2004) and providing full scholarships for both my MSc (Loughborough, 2006) and PhD (St Andrews, 2018). To all my teachers throughout my life who have participated in building my teaching and learning skills. To my supervisor Dr.Ishbel Duncan, who has given me her best guidance and support. To St Andrews University, School of computer science, and all its student support fa- cilities. To all my friends -Thamra and Ildiko- and PhD colleagues in St Andrews . Declaration Candidate’s Declaration I, Haifa Mohamed Khamis Al Nasseri, do hereby certify that this thesis, submitted for the degree of PhD, which is approximately 66265 words in length, has been written by me, and that it is the record of work carried out by me, or principally by myself in collaboration with others as acknowledged, and that it has not been submitted in any previous application for any degree. I was admitted as a research student at the University of St Andrews in September 2013. I received funding from an organisation or institution and have acknowledged the funder(s) in the full text of my thesis. Date: 30 January 2019 Signature of candidate: Supervisor’s Declaration I hereby certify that the candidate has fulfilled the conditions of the Resolution and Regulations appropriate for the degree of PhD in the University of St Andrews and that the candidate is qualified to submit this thesis in application for that degree. Date: 30 January 2019 Signature of supervisor: Permission for Electronic Publication In submitting this thesis to the University of St Andrews we understand that we are giving permission for it to be made available for use in accordance with the regulations of the University Library for the time being in force, subject to any copyright vested in the work not being affected thereby. We also understand, unless exempt by an award of an embargo as requested below, that the title and the abstract will be published, and that a copy of the work may be made and supplied to any bona fide library or research worker, that this thesis will be electronically accessible for personal or research use and that the library has the right to migrate this thesis into new electronic forms as required to ensure continued access to the thesis. I, Haifa Mohamed Khamis Al Nasseri, confirm that my thesis does not contain any third-party material that requires copyright clearance. The following is an agreed request by candidate and supervisor regarding the publication of this thesis: Printed copy No embargo on print copy. Electronic copy No embargo on electronic copy. Date: 30 January 2019 Signature of candidate: Date: 30 January 2019 Signature of supervisor: CONTENTS Contents i List of Figures v List of Tables vii Glossary ix 1 Introduction and Overview 1 1.1 Background Facts . 1 1.2 Importance of the Field . 3 1.3 The Research Gap . 5 1.4 Contributions . 7 1.5 Research Hypothesis . 11 1.6 Problem Statement . 11 1.7 Thesis Map . 13 1.8 Thesis Structure . 14 1.9 Publications . 14 2 Context Survey 15 2.1 Cloud Computing . 15 2.1.1 Infrastructure as a Service (IaaS) . 16 2.1.2 IaaS Examples . 17 2.2 Terminology Definitions . 18 2.3 Cloud Networks . 19 2.3.1 SAIL and CloNE . 20 2.4 SDN . 20 2.4.1 OpenFlow . 21 2.4.2 Control plane and Data Plane . 22 2.4.3 Abstraction . 23 2.4.4 Northbound and Southbound interfaces . 23 2.5 Network Function Virtualization (NFV) . 23 2.6 Virtual Networks . 24 2.7 Network as a Service . 28 2.7.1 VN Technologies . 29 2.7.2 Network Management . 31 i II CONTENTS 2.7.3 Customer Requirements . 31 2.7.4 Cloud Networking in CloudStack and OpenStack . 33 2.8 SDN Management . 34 2.9 Virtual Network Isolation . 36 2.9.1 VN Isolation Approaches . 38 2.10 Isolation Configuration Issues . 45 2.10.1 Attacks . 49 2.10.2 Security Aspects . 51 2.10.3 Testing and Evaluation . 54 2.10.4 Open Issues in Isolation . 54 2.10.5 Data Leakage . 55 2.11 Penetration Testing . 60 2.11.1 Security Testing Methodologies . 62 2.11.2 Examples in Academic Research . 63 2.11.3 Kali Linux . 65 2.12 Conclusions . 67 3 OpenStack Testbed and Infrastructure Deep Dive 69 3.1 Overview . 69 3.2 Testbed Building . 72 3.2.1 Cloud Environment Preparation . 72 3.2.2 OpenStack Environment . 74 3.2.3 Cloud Network Configuration . 74 3.2.4 External connection . 75 3.2.5 Preparing the Testing Scenario . 75 3.3 Technologies and Terminologies . 77 3.3.1 OpenStack Networking . 77 3.3.2 Virtual Network and Isolation Mechanisms . 78 3.3.3 Instance . 78 3.3.4 Linux Bridges . 79 3.3.5 Open vSwitch (OVS) . 79 3.3.6 Namespaces . 81 3.4 The OpenStack Cloud Network Infrastructure DeepDive . 83 3.4.1 Sources to Collect Information . 84 3.4.2 The DeepDive Diagram of the Cloud . 85 3.4.3 Cloud Ports and vRouter Commands Used . 89 3.4.4 Initial Important Findings . 89 3.4.5 Compute Node . 92 3.4.6 Controller Node . 99 3.5 Technical Implications . 104 3.5.1 OpenStack Testbed Construction . 104 3.5.2 OpenStack DeepDive Application . 105 3.6 Conclusions . 106 4 CloudStack IaaS Testbed and Infrastructure DeepDive 109 CONTENTS III 4.1 CloudStack Testbed . 109 4.1.1 Requirements . 110 4.1.2 Testbed Setup . 113 4.2 CloudStack Terminologies . 115 4.3 Preparing the Testing Scenario . 117 4.3.1 Network and Routers . 119 4.3.2 Instances . 121 4.4 CloudStack Infrastructure DeepDive . 121 4.4.1 Cloud Network Infrastructure Map . 123 4.4.2 DeepDive Analysis . 124 4.5 Technical implications . 138 4.5.1 Testbed Constructing Obstacles . 138 4.5.2 The DeepDive Obstacles . 139 4.6 Conclusions . 140 5 Penetration Testing for Data Leakage 143 5.1 Penetration testing and tools . ..