Συλλογές
Τίτλος Kubernetes: pod configuration and security risks
Δημιουργός Μπέμπελος, Ιωάννης
Συντελεστής Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής
Γκρίτζαλης, Δημήτριος
Κωτίδης, Ιωάννης
Καλογεράκη, Βασιλική
Τύπος Text
Φυσική περιγραφή 77σ.
Γλώσσα en
Αναγνωριστικό http://www.pyxida.aueb.gr/index.php?op=view_object&object_id=9407
Περίληψη Kubernetes is a rapidly developing container orchestrator platform with massive application on public cloud host providers like Google Cloud, AWS, Azure and other cloud service providers. Many industry giants and organizations (like Google, Adidas, IBM, CERN, Airbnb etc.) have adopted Kubernetes platform on their daily work and research. However, this wide adoption of Kubernetes has brought up many concerns about how effectively this container orchestration platform can deal with security issues. This is more of a concern for new organizations and companies entering the containerized world which consider Kubernetes as their main and most easy to handle solution. Kubernetes provides many out of the box security tools, which can aid administrators in configuring a robust security environment. Although, the default configurations do not always provide the security level required. It is in the hands of every security administrator to choose the level of safety which suits the application’s environment.In this thesis, we are going to focus on Kubernetes pod configuration and policies. We are going to investigate in which way an overpermissive pod, or a default configured pod can be exploited on the Kubernetes cluster, what are the best practices for mitigating this impact, and how to effectively use the security mechanisms that Kubernetes provides. We are also going to check some options on pod configuration and observe their implication on the cluster security.The first chapter will be an introduction to the main concepts of Kubernetes. We will look in into each Kubernetes’ objects and components in order to get a more specific view of the platform.In the next chapter, we will examine some of the available Kubernetes tools for administrating security issues. We are going to inspect most of the available security options when configuring a pod in Kubernetes. There are also some external tools that we are going to use.Moving to the third and final part of this thesis we are going to assign permissions to pods and, according to the permissions assigned, we will evaluate the risk of exploitation. Part of the exploitation phase is the attempt to escalate the privileges of the pod and trying to reach sensitive information about the cluster. Next, we are going to exploit some of the default options of the pod configuration on a default set up Kubernetes cluster. In every exploitation or security risk that occurs we are going to provide a mitigation technique or risk averting solution.For the purpose of this thesis, we have deployed minikube v1.24.0 cluster on Ubuntu 21.04 operating system with Kubernetes v1.22.3 set up on Docker 20.10.8 container driver. Some of the exploits has also been run on Kubernetes lightweight distribution microk8s v1.22.
H Kubernetes είναι μια ραγδαία αναπτυσσόμενη πλατφόρμα για διαχείριση τεχνολογιών κοντέινερ με μεγάλη εφαρμογή στους μεγαλύτερους παρόχους cloud υπηρεσιών όπως η Google Cloud, AWS, Azure κα. Πολλοί γίγαντες της βιομηχανίας (όπως η Google, Adidas, IBM, CERN, Airbnb etc.) έχουν εντάξει τις Kubernetes στην ημερήσια έρευνα και παραγωγή τους. Ωστόσο, αυτή η ευρεία χρησιμοποίηση της πλατφόρμας Kubernetes έχει δημιουργήσει κάποια ερωτήματα σχετικά με το πόσο αποτελεσματικά μπορεί αυτή η πλατφόρμα να αντιμετωπίσει θέματα ασφαλείας. Αυτό είναι περισσότερο ανησυχητικό για τις νέες επιχειρήσεις και οργανισμούς που εισάγονται σε περιβάλλοντα με τεχνολογίες κοντέινερ και βλέπουν την Kubernetes σαν την πιο δημοφιλή και διαχειρίσιμη λύση. Η Kubernetes παρέχει πολλά εργαλεία ασφάλειας που μπορούν να βοηθήσουν στο στήσιμο ενός ασφαλούς περιβάλλοντος για εφαρμογές σε τεχνολογίες κοντέινερ. Ωστόσο η Kubernetes δεν είναι εξαρχής ρυθμισμένη ώστε να παρέχει τον μέγιστο βαθμό ασφαλείας στον χρήστη. Είναι στο χέρι του διαχειριστή της πλατφόρμας να ρυθμίσει το επιθυμητό επίπεδο ασφάλειας που επιθυμεί για την εφαρμογή του.Σε αυτή την διπλωματική θα εστιάσουμε σε πολιτικές που αφορούν τις ρυθμίσεις των pods (μικρότερη μονάδα στο Kubernetes). Θα εξετάσουμε πώς, δίνοντας προνόμια σε ένα pod (privilege assignment), μπορούν να προκύψουν κίνδυνοι για το cluster στο οποίο δουλεύουμε. Θα αξιολογήσουμε τον κίνδυνο αυτό και θα προσπαθήσουμε να εκμεταλλευτούμε τα προνόμια του pod, προκειμένου να διεισδύσουμε βαθύτερα στο cluster, με σκοπό να κλιμακώσουμε τα υπάρχοντα προνόμια του (privilege escalation) και να αποκτήσουμε πρόσβαση σε ευαίσθητα δεδομένα.To πρώτο κεφάλαιο αποτελεί μια εισαγωγή στις έννοιες της πλατφόρμας Kubernetes. Θα εξετάσουμε κάθε μονάδα (objects) της Kubernetes και κάθε συστατικό της στοιχείο (components) προκειμένου να κατανοήσουμε τη δομή της πλατφόρμας.Στο επόμενο κεφάλαιο θα εξετάσουμε τα διαθέσιμα εργαλεία ασφαλείας της Kubernetes. Μέσα σε αυτά τα εργαλεία περιλαμβάνονται και επιλογές ασφαλείας που προκύπτουν στις ρυθμίσεις των pod. Υπάρχουν επίσης εξωτερικά εργαλεία ασφαλείας κάποια από τα οποία θα χρησιμοποιήσουμε.Στο τρίτο και τελικό κεφάλαιο της εργασίας θα δώσουμε σε κάποια pod προνόμια και σύμφωνα με αυτά τα προνόμια θα εκτιμήσουμε το ρίσκο που προκύπτει και θα προσπαθήσουμε να εκμεταλλευτούμε τα προνόμια αυτά. Μέρος της φάσης της εκμετάλλευσης των προνομίων είναι η προσπάθεια κλιμάκωσης προνομίων (privilege escalation) και η προσπάθεια απόκτησης πρόσβασης σε ευαίσθητες πληροφορίες του cluster. Επίσης θα προσπαθήσουμε να εκμεταλλευτούμε κάποιες από τις προεπιλεγμένες ρυθμίσεις των pods.Για τον σκοπό αυτή της εργασίας έχουμε εγκαταστήσει το minikube v1.24.0 cluster σε Ubuntu 21.04 λειτουργικό σύστημα με έκδοση Kubernetes v1.22.3 στημένη σε Docker 20.10.8.
Λέξη κλειδί Ασφάλεια
Kubernetes
Container
Security
Τεχνολογίες κοντέινερ
Κατανεμημένα
Διαθέσιμο από 2022-04-12 13:19:06
Ημερομηνία έκδοσης 04/12/2022
Ημερομηνία κατάθεσης 2022-04-12 13:19:06
Δικαιώματα χρήσης Free access
Άδεια χρήσης https://creativecommons.org/licenses/by/4.0/