Automatic security hardening of Docker containers using Mandatory Access Control, specialized in defending isolation

DSpace/Manakin Repository

Show simple item record

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

Files in this item

The following license files are associated with this item:

This item appears in the following Collection(s)

Show simple item record

Αναφορά Δημιουργού-Μη Εμπορική Χρήση 3.0 Ελλάδα Except where otherwise noted, this item's license is described as Αναφορά Δημιουργού-Μη Εμπορική Χρήση 3.0 Ελλάδα