dc.contributor.author | Δήμου, Φανή | el |
dc.contributor.author | Dimou, Fani | en |
dc.date.accessioned | 2019-09-06T11:41:51Z | |
dc.date.available | 2019-09-06T11:41:51Z | |
dc.date.issued | 2019-09-06 | |
dc.identifier.uri | https://dspace.lib.ntua.gr/xmlui/handle/123456789/49202 | |
dc.identifier.uri | http://dx.doi.org/10.26240/heal.ntua.16814 | |
dc.rights | Αναφορά Δημιουργού-Μη Εμπορική Χρήση 3.0 Ελλάδα | * |
dc.rights.uri | http://creativecommons.org/licenses/by-nc/3.0/gr/ | * |
dc.subject | Εικονοποίηση υπολογιστών επιπέδου λειτουργικού συστήματος | el |
dc.subject | Ασφάλεια | el |
dc.subject | Docker | en |
dc.subject | Mandatory Access Control (MAC) | en |
dc.subject | Containers | en |
dc.subject | AppArmor | en |
dc.subject | Επιθέσεις | el |
dc.subject | Cloud | en |
dc.subject | Κατανεμημένα συστήματα | el |
dc.subject | Προστασία εφαρμογών | el |
dc.title | Automatic security hardening of Docker containers using Mandatory Access Control, specialized in defending isolation | en |
heal.type | bachelorThesis | |
heal.classification | Software engineering | en |
heal.language | el | |
heal.language | en | |
heal.access | free | |
heal.recordProvider | ntua | el |
heal.publicationDate | 2019-05-23 | |
heal.abstract | Nowadays, we are encountering virtualization in most of our computing environments. Docker, a software which performs operating-system-level virtualization, has revolutionized virtualization, as it made it possible to package an application with all of its dependencies into a lightweight container. It became prominent rapidly and companies are adopting Docker at a remarkable rate, including well known names such as Paypal, Visa, Ebay, etc. Its success derives from the multiple benefits it offers comparing to virtual machines, such as portability, better resource management, lighter overhead and faster boot up time. On the other side of the coin, Docker also brings some disadvantages, which were not encountered in VMs. The most concerning drawback is security, and more specifically, isolation between host and containers as well as between containers themselves. Containers have walls to protect isolation, but it is much easier to violate them than it is in VMs, and it is usual to do this because of bad-configured containers. The goal of the current thesis is to design and implement a software, which will provide automatic security hardening of docker containers, using Mandatory Access Control. The software we created, named SecureWilly, handles either single or multi service docker projects and produces AppArmor profiles, one for each service. The profiles are adjusted to a given test plan that the user is asked to provide, and are completely tied to their service's task, which constitutes them efficient. They are also secure, since they are created in accordance to the principle of Least Privilege, which demands to allow only the necessary actions defined in the test plan, while any other action will be considered as redundant and will be blocked. Moreover, we present an extensive research on vulnerable features of docker that could lead to violation of container's isolation and we implement specific examples of container breakout attacks, in the context of ethical hacking, which we created in order to extract rules that prevent these attacks, for our software. Finally, we evaluate our software in functionality, performance and scalability using some benchmarks from CloudSuite, a very useful benchmark suite for cloud services, as well as a real program, Nextcloud, which is a widely used open source, self-hosted file share and communication platform. We successfully produced AppArmor profiles for the services of the benchmarks of CloudSuite and Nextcloud, hoping it will be a useful contribution to the respective communities. | en |
heal.abstract | Σήμερα, η εικονοποίηση υπολογιστών χρησιμοποιείται στα περισσότερα υπολογιστικά περιβάλλοντα. Το Docker, ένα λογισμικό που υλοποιεί εικονοποίηση επιπέδου λειτουργικού συστήματος, έφερε την επανάσταση στην εικονοποίηση υπολογιστών, καθώς κατέστησε εφικτό το πακετάρισμα μιας εφαρμογής μαζί με όλες τις εξαρτήσεις της μέσα σε ένα ελαφρύ container. Έγινε γρήγορα περίφημο και οι εταιρείες το υιοθετούν με αξιοσημείωτους ρυθμούς, συμπεριλαμβανομένων μεγάλων ονομάτων, όπως Paypal, Visa, Ebay, κ.ά. Η επιτυχία του πηγάζει από τα πολλαπλά οφέλη που προσφέρει έναντι στα εικονικά μηχανήματα, όπως μεταφερσιμότητα, καλύτερη διαχείρηση πόρων, πιο ελαφρύ και γρήγορη εκκίνηση. Από την άλλη πλευρά, το Docker έχει και κάποια μειονεκτήματα, τα οποία δεν συναντάμε σε ένα εικονικό μηχάνημα. Το πιο ανησυχητικό από αυτά είναι η ασφάλεια, και πιο συγκεκριμένα, η απομόνωση μεταξύ του host και του container καθώς και των containers μεταξύ τους. Υπάρχουν τρόποι για τα containers να προστατέψουν την απομόνωση, αλλά είναι πολύ πιο εύκολο να παραβιαστεί, απ'ότι είναι στα εικονικά μηχανήματα, και αυτό συμβαίνει συνήθως εξαιτίας των κακώς ρυθμισμένων containers. Ο στόχος της παρούσας διπλωματικής εργασίας είναι η σχεδίαση και υλοποίηση ενός λογισμικού, το οποίο θα προσφέρει αυτόματη ενίσχυση της ασφάλειας των docker containers, χρησιμοποιώντας Mandatory Access Control. Το λογισμικό που δημιουργήθηκε, ονομάζεται SecureWilly και χειρίζεται τόσο single όσο και multi-service docker projects και παράγει AppArmor profiles για κάθε service. Τα profiles είναι προσαρμοσμένα σε ένα πλάνο χρήσης που παρέχει ο χρήστης και είναι ολοκληρωτικά δεμένα με την αποστολή του κάθε service, πράγμα που τα καθιστά αποδοτικά. Είναι επίσης ασφαλή, αφού δημιουργούνται με βάση την Αρχή των Ελαχίστων Προνομιών, η οποία απαιτεί να επιτρέπονται μόνο οι απαραίτητες ενέργειες όπως ορίζονται στο πλάνο χρήσης, ενώ κάθε άλλη ενέργεια θα θεωρείται περιττή και θα μπλοκάρεται. Επιπλέον, παρουσιάζουμε μια εκτενής έρευνα στα ευπαθή χαρακτηριστικά του docker τα οποία θα μπορούσαν να οδηγήσουν στην παραβίαση της απομόνωσης και υλοποιούμε συγκεκριμένα παραδείγματα από επιθέσεις τύπου container breakout, στα πλαίσια του ηθικού hacking, τα οποία δημιουργήσαμε προκειμένου να εξάγουμε κανόνες που θα προλαμβάνουν τέτοιες επιθέσεις. Τέλος, αξιολογούμε το λογισμικό που δημιουργήθηκε ως προς τη λειτουργικότητα, την απόδοση και την επεκτασιμότητα χρησιμοποιώντας benchmarks από το CloudSuite, μια πολύ χρήσιμη σουίτα με benchmarks για cloud υπηρεσίες, καθώς και ένα υπαρκτό πρόγραμμα, το Nextcloud, μια ευρέως διαδεδομένη open source πλατφόρμα με self-hosting υπηρεσίες. | el |
heal.advisorName | Κοζύρης, Νεκτάριος | el |
heal.committeeMemberName | Κοζύρης, Νεκτάριος | el |
heal.committeeMemberName | Παπασπύρου, Νικόλαος | el |
heal.committeeMemberName | Γκούμας, Γεώργιος | el |
heal.academicPublisher | Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών | el |
heal.academicPublisherID | ntua | |
heal.numberOfPages | 174 σ. | |
heal.fullTextAvailability | true |
Οι παρακάτω άδειες σχετίζονται με αυτό το τεκμήριο: