diff --git a/Bibliography.bib b/Bibliography.bib index 139260d..8598dcd 100644 --- a/Bibliography.bib +++ b/Bibliography.bib @@ -157,6 +157,21 @@ howpublished="\url{https://cloudnativenow.com/features/security-benefits-docker-containers/}" } +@misc{gVisor, + title={The Container Security Platform}, + author={Google}, + howpublished="\url{https://gvisor.dev/}" +} + +@misc{AkihiroSuda, + author = {Akihiro Suda}, + title = {rootlesskit}, + year = {2020}, + publisher = {GitHub}, + journal = {GitHub repository}, + howpublished = {\url{https://github.com/rootless-containers/rootlesskit}}, +} + @inproceedings{reshetova2014security, title={Security of OS-level virtualization technologies}, author={Reshetova, Elena and Karhunen, Janne and Nyman, Thomas and Asokan, N}, diff --git a/Chapters/1.Introduction.tex b/Chapters/1.Introduction.tex index 3ebad4a..ddb0865 100644 --- a/Chapters/1.Introduction.tex +++ b/Chapters/1.Introduction.tex @@ -163,7 +163,10 @@ Click}. Τις περισσότερες φορές διατίθενται διά εκάστοτε συστήματος και η ευελιξία διαχείρισης των δοχείων του, υπόκειται σε αρκετές ατασθαλίες. Οι πιο αξιοσημείωτες αυτών είναι η ανάγκη του να τρέχει υπό την κυριότητα του \textlatin{root} και η αρχικά ελαστικότερη απ'' ό,τι -χρειάζεται απομόνωση του από τον πυρήνα του συστήματος. +χρειάζεται απομόνωση του από τον πυρήνα του συστήματος. Με τα παραπάνω +δεδομένα, μετά από μία επιτυχημένη επίθεση τύπου \textlatin{Container Escape}, +ο επιτιθέμενος έχει δικαιώματα \textlatin{root} και το σύστημα βρίσκεται υπό το +έλεος του. \subsection{\textlatin{Overcoming Docker's security disadvantages}} \label{overcomingDockerDisadvantages} @@ -171,9 +174,42 @@ Click}. Τις περισσότερες φορές διατίθενται διά του \textlatin{Docker} είναι η ρύθμιση καλύτερων \textlatin{Apparmor} προφίλ ή κανόνων \textlatin{SELinux} προκειμένου να απομονωθεί καλύτερα από το κύριο σύστημα. Στην πραγματικότητα, αυτές οι πρακτικές λαμβάνουν υπόψιν τους κυρίως -τα δοχεία και όχι τη μηχανή δοχείων καθ'' αυτού. Γι 'αυτό τον λόγο πολλές φορές +τα δοχεία και όχι τη μηχανή δοχείων καθ'' αυτού. Γι'' αυτό τον λόγο πολλές φορές πρέπει να ακολουθούνται και καλύτερες πρακτικές κατά τη λειτουργία του όπως η αποφυγή χρήσης του διαχειριστικού λογαριασμού όσον αφορά τα δοχεία και η αποφυγή λήψης δοχείων από μη έμπιστες πηγές. +\pagebreak +Με τη χρήση του εργαλείου \textlatin{SecDep} που θα περιγράψουμε παρακάτω +[\ref{installationANDShowcase}], θα επιτευχθεί η ασφάλιση του +\textlatin{Docker} και του συστήματος με αυτοματοποιημένο τρόπο ακολουθώντας +ορθές πρακτικές, χρησιμοποιώντας ένα ασφαλέστερο από το αρχικό +\textlatin{Container Runtime} και εκτελώντας το \textlatin{Docker} εξολοκλήρου +χωρίς την ανάγκη του \textlatin{root}. Η απεξάρτηση από τον διαχειριστικό +λογαριασμό επιτυγχάνεται χάρη στη δουλειά του \textlatin{Akihiro Suda} πάνω στο +\textlatin{rootlesskit} \cite{AkihiroSuda} επιτρέποντας έτσι έναν πλαστό +διαχειριστικό λογαριασμό προκειμένου να μπορέσει η μηχανή δοχείων να εκτελεστεί +υπό την κυριότητα οποιουδήποτε χρήστη του συστήματος. Επιπροσθέτως, η +αντικατάσταση του αρχικού \textlatin{Container Runtime} με το αντίστοιχο του +\textlatin{gVisor} \cite{gVisor}, εισάγει ένα πιο συμπαγές τοίχος προστασίας +απέναντι σε συνηθισμένες επιθέσεις κατά των δοχείων καθιστώντας το σύστημα μας +πιο ασφαλές συγκριτικά με τις αρχικές ρυθμίσεις. + +\section{Δομή Εργασίας} \label{structure} + +Συνεχίζοντας παρακάτω, η δομή που θα συναντήσει ο αναγνώστης είναι η εξής. Στο +κεφάλαιο [\ref{background}] θα μελετήσουμε τον όρο \textlatin{cloud computing}, +θα αναλύσουμε τις διάφορες τεχνολογίες εικονοποίησης και θα εμβαθύνουμε στην +τεχνολογία των δοχείων και συγκεκριμένα στην ασφάλεια του \textlatin{Docker}. +Στο επόμενο κεφάλαιο [\ref{relevantWork}], θα δούμε εργασίες σχετικές με την +παρούσα και θα πραγματοποιηθεί ανάλυση και σύγκριση αυτών. Αμέσως μετά, στο +[\ref{projectDevelopment}], αναφερόμαστε στον σχεδιασμό του εργαλείου μιλώντας +για τις απαιτήσεις, τα συστατικά του μέρη και πως συνεργάζονται μεταξύ τους. +Προχωρώντας στο [\ref{installationANDShowcase}], θα αναφερθούμε στις οδηγίες +εγκατάστασης και λειτουργίας του εργαλείου με βάση στοχευμένα σενάρια χρήσης. +Έπειτα, στο [\ref{experimentationANDresults}] βλέπουμε την αποδοτικότητα του +μετά από αρκετές χρήσεις και μετρήσεις που έγιναν προκειμένου να αποτιμηθεί +ορθότερα η εξασφάλιση των στόχων του. Τέλος, στο [\ref{conclusions}], γίνεται +αναφορά σημείων που θα μπορούσαν να επωφεληθούν με βελτιώσεις προκειμένου να +μπορέσει να πάρει μια θέση στην αγορά.