done. going to bed now.
This commit is contained in:
@@ -18,6 +18,7 @@
|
|||||||
\textbf{BIOS} & \textbf{B}asic \textbf{I}nput/\textbf{O}utput \textbf{S}ystem \\
|
\textbf{BIOS} & \textbf{B}asic \textbf{I}nput/\textbf{O}utput \textbf{S}ystem \\
|
||||||
\textbf{UEFI} & \textbf{U}nified \textbf{E}xtensible \textbf{F}irmware \textbf{I}nterface \\
|
\textbf{UEFI} & \textbf{U}nified \textbf{E}xtensible \textbf{F}irmware \textbf{I}nterface \\
|
||||||
\textbf{MAC} & \textbf{M}andatory \textbf{A}ccess \textbf{C}ontrol \\
|
\textbf{MAC} & \textbf{M}andatory \textbf{A}ccess \textbf{C}ontrol \\
|
||||||
|
\textbf{MAC} & \textbf{M}edium \textbf{A}ccess \textbf{C}ontrol \\
|
||||||
\textbf{XSS} & \textbf{C}ross \textbf{S}ite \textbf{S}cripting \\
|
\textbf{XSS} & \textbf{C}ross \textbf{S}ite \textbf{S}cripting \\
|
||||||
\textbf{cgroups} & \textbf{c}ontrol \textbf{groups} \\
|
\textbf{cgroups} & \textbf{c}ontrol \textbf{groups} \\
|
||||||
\textbf{CI/CD} & \textbf{C}ontinuous \textbf{I}ntegration / \textbf{C}ontinuous \textbf{D}elivery \\
|
\textbf{CI/CD} & \textbf{C}ontinuous \textbf{I}ntegration / \textbf{C}ontinuous \textbf{D}elivery \\
|
||||||
|
|||||||
@@ -20,10 +20,10 @@ of container technologies such as Docker, has in turn begun to drive the
|
|||||||
adoption of the microservices architecture for application development. An
|
adoption of the microservices architecture for application development. An
|
||||||
architecture based on virtualization technologies for hosting applications in
|
architecture based on virtualization technologies for hosting applications in
|
||||||
cloud infrastructures and container technologies for partitioning their
|
cloud infrastructures and container technologies for partitioning their
|
||||||
functions and thus, providing an appropriate level of performance and
|
functions into a set of containers and thus, providing an appropriate level of
|
||||||
scalability \footfullcite{awsMicroservices}. However, the applications in
|
performance and scalability \footfullcite{awsMicroservices}. However, the
|
||||||
question remain vulnerable to security issues that may be tied to the cloud
|
applications in question remain vulnerable to security issues that may be tied
|
||||||
and/or the technologies on which it is based on.
|
to the cloud and/or the technologies on which it is based on.
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -38,10 +38,10 @@ manner. However, the purpose of this paper goes beyond that and moves to a more
|
|||||||
practical level by proposing the solution of a tool that can implement the
|
practical level by proposing the solution of a tool that can implement the
|
||||||
proposed safe use of these technologies. In particular, this tool can not only
|
proposed safe use of these technologies. In particular, this tool can not only
|
||||||
create virtual machines across multiple cloud providers but also harden them in
|
create virtual machines across multiple cloud providers but also harden them in
|
||||||
an automated manner. In addition, it is capable of installing the Docker
|
an automated manner. In addition to that, it is capable of installing the
|
||||||
container engine on these virtual machines, which it can also harden. The main
|
Docker container engine on these virtual machines, which it can also harden.
|
||||||
goal of this work is to make it easier for an organization to install and
|
The main goal of this work is to make it easier for an organization to install
|
||||||
configure in an automated manner a secure, distributed environment for the
|
and configure in an automated manner a secure, distributed environment for the
|
||||||
deployment and operation of a microservices application. This automation lies
|
deployment and operation of a microservices application. This automation lies
|
||||||
in the correct configuration of the tool, which does not require any special
|
in the correct configuration of the tool, which does not require any special
|
||||||
knowledge on technical or security issues in regard to infrastructure and
|
knowledge on technical or security issues in regard to infrastructure and
|
||||||
|
|||||||
+22
-22
@@ -104,7 +104,7 @@ MySQL και το διακομιστή ιστού Nginx. Με αυτό τον τ
|
|||||||
υποκείμενο διακομιστή προς κατάτμηση. Η επιλογή τύπου υπερ-επόπτη είναι άμεσα
|
υποκείμενο διακομιστή προς κατάτμηση. Η επιλογή τύπου υπερ-επόπτη είναι άμεσα
|
||||||
εξαρτώμενη από τις ανάγκες του κάθε χρήστη. Στην περίπτωση που η ταχύτητα και η
|
εξαρτώμενη από τις ανάγκες του κάθε χρήστη. Στην περίπτωση που η ταχύτητα και η
|
||||||
απόδοση είναι υψίστης σημασίας, η άμεση πρόσβαση του υπερ-επόπτη τύπου 1 στο
|
απόδοση είναι υψίστης σημασίας, η άμεση πρόσβαση του υπερ-επόπτη τύπου 1 στο
|
||||||
υλικό συμβάλει στην επίτευξη της διατήρησης των δύο αυτών προδιαγραφών σε
|
υλικό συμβάλλει στην επίτευξη της διατήρησης των δύο αυτών προδιαγραφών σε
|
||||||
κατάλληλες τιμές. Από την άλλη, ένας υπερ-επόπτης τύπου 2 δεν έρχεται σε
|
κατάλληλες τιμές. Από την άλλη, ένας υπερ-επόπτης τύπου 2 δεν έρχεται σε
|
||||||
αντιπαράθεση με το υποκείμενο ΛΣ και επιτρέπει την χρήση προγραμμάτων που το ΛΣ
|
αντιπαράθεση με το υποκείμενο ΛΣ και επιτρέπει την χρήση προγραμμάτων που το ΛΣ
|
||||||
πιθανόν να μην είναι σε θέση να εκτελέσει.
|
πιθανόν να μην είναι σε θέση να εκτελέσει.
|
||||||
@@ -327,8 +327,8 @@ Container (δοχείο) αν και είναι διαφορετικοί. Παρ
|
|||||||
ακόμα και στις μέρες μας, λόγω ενός συνδυασμού της δυσκολίας στην χρήση τους
|
ακόμα και στις μέρες μας, λόγω ενός συνδυασμού της δυσκολίας στην χρήση τους
|
||||||
και του εξειδικευμένου σκοπού ύπαρξης τους δεν είχαν υιοθετηθεί αρκετά. Όλα τα
|
και του εξειδικευμένου σκοπού ύπαρξης τους δεν είχαν υιοθετηθεί αρκετά. Όλα τα
|
||||||
παραπάνω οδήγησαν στην δημιουργία του Docker το 2013, με την έλευση του οποίου
|
παραπάνω οδήγησαν στην δημιουργία του Docker το 2013, με την έλευση του οποίου
|
||||||
οι τεχνολογία των δοχείων εκτοξεύτηκε. Το Docker αποτελεί μια υπηρεσία PaaS η
|
οι τεχνολογία των δοχείων εκτοξεύτηκε. Το Docker είναι ένα σύνολο προϊόντων
|
||||||
οποία παρέχει μια πλατφόρμα με μηχανισμούς για συναρμολόγηση, θέση σε
|
PaaS, παρέχοντας μια πλατφόρμα με μηχανισμούς για συναρμολόγηση, θέση σε
|
||||||
λειτουργία, εκτέλεση, ενημέρωση και διαχείριση προγραμμάτων σε μορφή δοχείων.
|
λειτουργία, εκτέλεση, ενημέρωση και διαχείριση προγραμμάτων σε μορφή δοχείων.
|
||||||
Σε αντίθεση με το LXC, αποτελεί μια μηχανή δοχείων υψηλού επιπέδου με κύριο
|
Σε αντίθεση με το LXC, αποτελεί μια μηχανή δοχείων υψηλού επιπέδου με κύριο
|
||||||
στόχο την δοχειοποίηση εφαρμογών. Εκτός από τον διαχωρισμό ανάμεσα στον πηγαίο
|
στόχο την δοχειοποίηση εφαρμογών. Εκτός από τον διαχωρισμό ανάμεσα στον πηγαίο
|
||||||
@@ -488,7 +488,7 @@ ECS (Elastic Container Service) της Amazon. Μια υποκατηγορία
|
|||||||
να περάσει από τον εικονικό πυρήνα και έπειτα από τον υπερ-επόπτη. Παράλληλα, ο
|
να περάσει από τον εικονικό πυρήνα και έπειτα από τον υπερ-επόπτη. Παράλληλα, ο
|
||||||
συνδυασμός με την αρχιτεκτονική δοχείων παρέχει ένα επιπρόσθετο επίπεδο
|
συνδυασμός με την αρχιτεκτονική δοχείων παρέχει ένα επιπρόσθετο επίπεδο
|
||||||
απομόνωσης εφόσον στην προκειμένη περίπτωση η άμεση επικοινωνία με τον πυρήνα
|
απομόνωσης εφόσον στην προκειμένη περίπτωση η άμεση επικοινωνία με τον πυρήνα
|
||||||
του συστήματος αφορά το ΛΣ φιλοξενίας και όχι το κύριο σύστημα.
|
του συστήματος αφορά το φιλοξενούμενο ΛΣ και όχι το κύριο σύστημα.
|
||||||
|
|
||||||
Παρ' όλα αυτά, υπάρχουν περιπτώσεις όπου η απόδοση του συστήματος δεν δύναται
|
Παρ' όλα αυτά, υπάρχουν περιπτώσεις όπου η απόδοση του συστήματος δεν δύναται
|
||||||
να θυσιαστεί για χάρη της ασφάλειας. Σε αυτές τις περιπτώσεις, επιβάλλεται η
|
να θυσιαστεί για χάρη της ασφάλειας. Σε αυτές τις περιπτώσεις, επιβάλλεται η
|
||||||
@@ -559,10 +559,10 @@ ECS (Elastic Container Service) της Amazon. Μια υποκατηγορία
|
|||||||
άρνησης υπηρεσιών είναι πως σε αντίθεση με μια εικονική μηχανή όπου επιλέγεται
|
άρνησης υπηρεσιών είναι πως σε αντίθεση με μια εικονική μηχανή όπου επιλέγεται
|
||||||
το εύρος πρόσβασης στους πόρους του συστήματος κατά τη δημιουργία της, η αρχική
|
το εύρος πρόσβασης στους πόρους του συστήματος κατά τη δημιουργία της, η αρχική
|
||||||
ρύθμιση του Docker επιτρέπει στα δοχεία να χρησιμοποιήσουν το ίδιο ποσοστό
|
ρύθμιση του Docker επιτρέπει στα δοχεία να χρησιμοποιήσουν το ίδιο ποσοστό
|
||||||
πόρων με το κύριο σύστημα, δηλαδή χωρίς περιορισμούς. Επομένως, εάν ένα δοχείο
|
πόρων με το κύριο σύστημα, δηλαδή δεν υπάρχουν περιορισμοί. Επομένως, εάν ένα
|
||||||
βρεθεί υπό τον έλεγχο ενός επιτιθέμενου, αυτό μπορεί δυνητικά να εμποδίσει την
|
δοχείο βρεθεί υπό τον έλεγχο ενός επιτιθέμενου, αυτό μπορεί δυνητικά να
|
||||||
εκτέλεση άλλων δοχείων ή ακόμα και την εκτέλεση άλλων εφαρμογών που εκτελούνται
|
εμποδίσει την εκτέλεση άλλων δοχείων ή ακόμα και την εκτέλεση άλλων εφαρμογών
|
||||||
στο σύστημα.
|
που εκτελούνται στο σύστημα.
|
||||||
|
|
||||||
Σχετικά με τις επιθέσεις που αποσκοπούν στην απόκτηση πρόσβασης στο κύριο
|
Σχετικά με τις επιθέσεις που αποσκοπούν στην απόκτηση πρόσβασης στο κύριο
|
||||||
σύστημα μέσω του δοχείου, ο κίνδυνος οφείλεται στον τρόπο λειτουργίας των
|
σύστημα μέσω του δοχείου, ο κίνδυνος οφείλεται στον τρόπο λειτουργίας των
|
||||||
@@ -581,7 +581,7 @@ ECS (Elastic Container Service) της Amazon. Μια υποκατηγορία
|
|||||||
|
|
||||||
Οι πιο συνήθεις τρόποι αντιμετώπισης της ανεπαρκούς προκαθορισμένης ασφάλειας
|
Οι πιο συνήθεις τρόποι αντιμετώπισης της ανεπαρκούς προκαθορισμένης ασφάλειας
|
||||||
του Docker (δηλ. της ελαστικής απομόνωσης) είναι η ρύθμιση καλύτερων προφίλ
|
του Docker (δηλ. της ελαστικής απομόνωσης) είναι η ρύθμιση καλύτερων προφίλ
|
||||||
AppArmor ή κανόνων SELinux προκειμένου να απομονωθεί καλύτερα από το κύριο
|
AppArmor ή κανόνων SELinux προκειμένου να απομονωθεί περισσότερο από το κύριο
|
||||||
σύστημα. Στην πραγματικότητα, αυτές οι πρακτικές λαμβάνουν υπόψιν τους κυρίως
|
σύστημα. Στην πραγματικότητα, αυτές οι πρακτικές λαμβάνουν υπόψιν τους κυρίως
|
||||||
τα δοχεία και όχι τη μηχανή δοχείων καθ' αυτού. Γι' αυτό τον λόγο, πολλές φορές
|
τα δοχεία και όχι τη μηχανή δοχείων καθ' αυτού. Γι' αυτό τον λόγο, πολλές φορές
|
||||||
πρέπει να ακολουθούνται και καλύτερες πρακτικές κατά τη λειτουργία/χρήση του
|
πρέπει να ακολουθούνται και καλύτερες πρακτικές κατά τη λειτουργία/χρήση του
|
||||||
@@ -598,19 +598,19 @@ Docker, όπως η αποφυγή χρήσης του διαχειριστικ
|
|||||||
χρησιμοποιώντας ένα ασφαλέστερο από το αρχικό Container Runtime και εκτελώντας
|
χρησιμοποιώντας ένα ασφαλέστερο από το αρχικό Container Runtime και εκτελώντας
|
||||||
το Docker εξ ολοκλήρου χωρίς την ανάγκη διαχειριστικών δικαιωμάτων. Το εργαλείο
|
το Docker εξ ολοκλήρου χωρίς την ανάγκη διαχειριστικών δικαιωμάτων. Το εργαλείο
|
||||||
αυτό επικοινωνεί με πολλούς παρόχους νέφους στέλνοντας τους παραμέτρους για τις
|
αυτό επικοινωνεί με πολλούς παρόχους νέφους στέλνοντας τους παραμέτρους για τις
|
||||||
προδιαγραφές εικονικών μηχανών προκειμένου να μπορέσουν να δημιουργηθούν με
|
προδιαγραφές εικονικών μηχανών προκειμένου να μπορέσουν να δημιουργηθούν
|
||||||
αυτοματοποιημένο τρόπο, επιτρέποντας έτσι την δημιουργία πολλαπλών ασφαλών
|
αυτόματα, επιτρέποντας έτσι την δημιουργία πολλαπλών ασφαλών περιβαλλόντων ώστε
|
||||||
περιβαλλόντων ώστε να μπορεί ένας χρήστης να εγκαθιστά εκεί τα δοχεία της
|
να μπορεί ένας χρήστης να εγκαθιστά εκεί τα δοχεία της εφαρμογής του. Η
|
||||||
εφαρμογής του. Η σκλήρυνση του ΛΣ επιτυγχάνεται με την εκτέλεση πολλών βημάτων
|
σκλήρυνση του ΛΣ επιτυγχάνεται με την εκτέλεση πολλών βημάτων στα οποία μεταξύ
|
||||||
στα οποία μεταξύ άλλων περιλαμβάνεται η σκλήρυνση του SSH, ο εντοπισμός, η
|
άλλων περιλαμβάνεται η σκλήρυνση του SSH, ο εντοπισμός, η εγκατάσταση, η
|
||||||
εγκατάσταση, η ρύθμιση και η ενεργοποίηση του κατάλληλου προγράμματος για
|
ρύθμιση και η ενεργοποίηση του κατάλληλου προγράμματος για ανάχωμα ασφαλείας
|
||||||
ανάχωμα ασφαλείας και για παροχή MAC (Mandatory Access Control) και η
|
και για παροχή MAC (Mandatory Access Control) και η δημιουργία και ενεργοποίηση
|
||||||
δημιουργία και ενεργοποίηση περιοδικά εκτελέσιμων προγραμμάτων για την
|
περιοδικά εκτελέσιμων προγραμμάτων για την ενημέρωση του συστήματος και το
|
||||||
ενημέρωση του συστήματος και το άνοιγμα/κλείσιμο θυρών προγραμμάτων. Η
|
άνοιγμα/κλείσιμο θυρών προγραμμάτων. Η απεξάρτηση από τον διαχειριστικό
|
||||||
απεξάρτηση από τον διαχειριστικό λογαριασμό επιτυγχάνεται χάρη στη δουλειά του
|
λογαριασμό επιτυγχάνεται χάρη στη δουλειά του Akihiro Suda πάνω στο rootlesskit
|
||||||
Akihiro Suda πάνω στο rootlesskit \footfullcite{AkihiroSuda}, επιτρέποντας έτσι
|
\footfullcite{AkihiroSuda}, επιτρέποντας έτσι την χρήση ενός πλαστού
|
||||||
έναν πλαστό διαχειριστικό λογαριασμό προκειμένου να μπορέσει η μηχανή δοχείων
|
διαχειριστικού λογαριασμού προκειμένου να μπορέσει η μηχανή δοχείων να
|
||||||
να εκτελεστεί υπό την κυριότητα οποιουδήποτε χρήστη του συστήματος. Τέλος, η
|
εκτελεστεί υπό την κυριότητα οποιουδήποτε χρήστη του συστήματος. Τέλος, η
|
||||||
αντικατάσταση του αρχικού Container Runtime με το αντίστοιχο του gVisor
|
αντικατάσταση του αρχικού Container Runtime με το αντίστοιχο του gVisor
|
||||||
\footfullcite{gVisor}, εισάγει ένα πιο συμπαγές τείχος προστασίας απέναντι σε
|
\footfullcite{gVisor}, εισάγει ένα πιο συμπαγές τείχος προστασίας απέναντι σε
|
||||||
συνηθισμένες επιθέσεις κατά των δοχείων, καθιστώντας το σύστημα μας πιο ασφαλές
|
συνηθισμένες επιθέσεις κατά των δοχείων, καθιστώντας το σύστημα μας πιο ασφαλές
|
||||||
|
|||||||
+108
-108
@@ -1,6 +1,6 @@
|
|||||||
\chapter{Υπόβαθρο} \label{background}
|
\chapter{Υπόβαθρο} \label{background}
|
||||||
|
|
||||||
\hyphenation{πολλές}
|
\hyphenation{πολλές μελών/οργανισμών}
|
||||||
|
|
||||||
\noindent Προκειμένου να κατανοήσουμε πλήρως το πρόβλημα που επιλύει η παρούσα
|
\noindent Προκειμένου να κατανοήσουμε πλήρως το πρόβλημα που επιλύει η παρούσα
|
||||||
εργασία πρέπει να αναλύσουμε μερικές βασικές έννοιες. Αρχικά, θα δούμε τι είναι
|
εργασία πρέπει να αναλύσουμε μερικές βασικές έννοιες. Αρχικά, θα δούμε τι είναι
|
||||||
@@ -215,19 +215,19 @@ SDKs (Software Development Kits)).
|
|||||||
|
|
||||||
\item \textbf{Δημόσιο νέφος (Public Cloud)}:
|
\item \textbf{Δημόσιο νέφος (Public Cloud)}:
|
||||||
|
|
||||||
Εδώ, το νέφος υποδομής είναι διαθέσιμο για το γενικό κοινό. Μπορεί να
|
Εδώ, το νέφος υποδομής είναι διαθέσιμο για το γενικό κοινό. Μπορεί να
|
||||||
ανήκει και να διαχειρίζεται από μια επιχείρηση, έναν ακαδημαϊκό ή
|
ανήκει και να διαχειρίζεται από μια επιχείρηση, έναν ακαδημαϊκό ή
|
||||||
κυβερνητικό οργανισμό ή έναν συνδυασμό των παραπάνω. Λειτουργεί εντός
|
κυβερνητικό οργανισμό ή έναν συνδυασμό των παραπάνω. Λειτουργεί εντός
|
||||||
των υποδομών του παρόχου νέφους. Το δημόσιο νέφος είναι ουσιαστικά οι
|
των υποδομών του παρόχου νέφους. Το δημόσιο νέφος είναι ουσιαστικά οι
|
||||||
εικονικές μηχανές που εκτελούνται σε διακομιστές του παρόχου νέφους,
|
εικονικές μηχανές που εκτελούνται σε διακομιστές του παρόχου νέφους,
|
||||||
των οποίων οι υπολογιστικοί πόροι χρησιμοποιούνται από πολλούς
|
των οποίων οι υπολογιστικοί πόροι χρησιμοποιούνται από πολλούς
|
||||||
καταναλωτές ταυτόχρονα. Αποτελεί το πιο δημοφιλές μοντέλο που παρέχουν
|
καταναλωτές ταυτόχρονα. Αποτελεί το πιο δημοφιλές μοντέλο που παρέχουν
|
||||||
εταιρίες υπηρεσιών IaaS λόγω της απουσίας απαίτησης μεγάλου αρχικού
|
εταιρείες υπηρεσιών IaaS λόγω της απουσίας απαίτησης μεγάλου αρχικού
|
||||||
κόστους και της ευελιξίας που παρέχεται μέσω της αυτοεξυπηρέτησης κατά
|
κόστους και της ευελιξίας που παρέχεται μέσω της αυτοεξυπηρέτησης κατά
|
||||||
παραγγελία. Είναι η κατάλληλη επιλογή για μεγάλους φόρτους εργασίας
|
παραγγελία. Είναι η κατάλληλη επιλογή για μεγάλους φόρτους εργασίας
|
||||||
μικρής διάρκειας λόγω του μοντέλου χρέωσης ανά χρήση και διευκολύνει
|
μικρής διάρκειας λόγω του μοντέλου χρέωσης ανά χρήση και διευκολύνει
|
||||||
μια επιχείρηση στην μετέπειτα διαχείριση του κόστους με βάση τις
|
μια επιχείρηση στην μετέπειτα διαχείριση του κόστους με βάση τις
|
||||||
προβλέψεις της ζήτησης της υπηρεσίας που αυτή προσφέρει.
|
προβλέψεις της ζήτησης της υπηρεσίας που αυτή προσφέρει.
|
||||||
|
|
||||||
\item \textbf{Υβριδικό νέφος (Hybrid Cloud)}:
|
\item \textbf{Υβριδικό νέφος (Hybrid Cloud)}:
|
||||||
|
|
||||||
@@ -249,13 +249,13 @@ SDKs (Software Development Kits)).
|
|||||||
\footfullcite{redhatVirtualizationDefinition}, η εικονικοποίηση είναι μια
|
\footfullcite{redhatVirtualizationDefinition}, η εικονικοποίηση είναι μια
|
||||||
τεχνολογία που μας επιτρέπει να δημιουργήσουμε πολλαπλά εικονικά περιβάλλοντα ή
|
τεχνολογία που μας επιτρέπει να δημιουργήσουμε πολλαπλά εικονικά περιβάλλοντα ή
|
||||||
αποκλειστικούς πόρους από ένα μόνο, φυσικό σύστημα υλικού. Ένα λογισμικό
|
αποκλειστικούς πόρους από ένα μόνο, φυσικό σύστημα υλικού. Ένα λογισμικό
|
||||||
ονόματι υπερ-επόπτης (hypervisor) συνδέεται στο υλικό αυτό\footnote{Απευθείας
|
ονόματι υπερ-επόπτης (hypervisor) συνδέεται στο υλικό
|
||||||
στην εικονικοποίηση υποβοηθούμενη από το υλικό και έμμεσα στην
|
αυτό\footnote{\textgreek{Απευθείας στην εικονικοποίηση υποβοηθούμενη από το
|
||||||
εικονικοποίηση υποβοηθούμενη από το λογισμικό.} και δίνει τη δυνατότητα
|
υλικό και έμμεσα στην εικονικοποίηση υποβοηθούμενη από το λογισμικό.}} και
|
||||||
διαμερισμού ενός συστήματος σε ξεχωριστά, διακριτά και ασφαλή περιβάλλοντα,
|
δίνει τη δυνατότητα διαμερισμού ενός συστήματος σε ξεχωριστά, διακριτά και
|
||||||
γνωστά και ως εικονικές μηχανές (Virtual Machines - VMs). Επομένως, αυτές οι
|
ασφαλή περιβάλλοντα, γνωστά και ως εικονικές μηχανές (Virtual Machines - VMs).
|
||||||
εικονικές μηχανές βασίζονται στην ικανότητα του υπερ-επόπτη να διαχωρίζει τους
|
Επομένως, αυτές οι εικονικές μηχανές βασίζονται στην ικανότητα του υπερ-επόπτη
|
||||||
πόρους της μηχανής και να τους κατανέμει κατάλληλα.
|
να διαχωρίζει τους πόρους της μηχανής και να τους κατανέμει κατάλληλα.
|
||||||
|
|
||||||
Το φυσικό υλικό, εξοπλισμένο με έναν υπερ-επόπτη, ονομάζεται ξενιστής (host) ή
|
Το φυσικό υλικό, εξοπλισμένο με έναν υπερ-επόπτη, ονομάζεται ξενιστής (host) ή
|
||||||
μηχάνημα φιλοξενίας, ενώ οι πολλές εικονικές μηχανές που χρησιμοποιούν τους
|
μηχάνημα φιλοξενίας, ενώ οι πολλές εικονικές μηχανές που χρησιμοποιούν τους
|
||||||
@@ -300,7 +300,7 @@ SDKs (Software Development Kits)).
|
|||||||
|
|
||||||
Παραδοσιακά, αυτή η αρχιτεκτονική όπου εκτελούνται μεμονωμένες εργασίες σε
|
Παραδοσιακά, αυτή η αρχιτεκτονική όπου εκτελούνται μεμονωμένες εργασίες σε
|
||||||
μεμονωμένους διακομιστές ήταν ευκολότερη και πιο αξιόπιστη αλλά δεν παύει να
|
μεμονωμένους διακομιστές ήταν ευκολότερη και πιο αξιόπιστη αλλά δεν παύει να
|
||||||
είναι η λιγότερο αποδοτική λύση. Με την άφιξη της τεχνολογίας της
|
είναι και η λιγότερο αποδοτική λύση. Με την άφιξη της τεχνολογίας της
|
||||||
εικονικοποίησης όμως, είναι πλέον εφικτό να χωριστεί ένας διακομιστής σε
|
εικονικοποίησης όμως, είναι πλέον εφικτό να χωριστεί ένας διακομιστής σε
|
||||||
περισσότερα μέρη, έχοντας δύο ή παραπάνω εικονικά μηχανήματα με τη χρήση ενός
|
περισσότερα μέρη, έχοντας δύο ή παραπάνω εικονικά μηχανήματα με τη χρήση ενός
|
||||||
φυσικού.
|
φυσικού.
|
||||||
@@ -378,12 +378,12 @@ off). Το τελευταίο είναι χρήσιμο κυρίως όταν η
|
|||||||
Σήμερα είναι τόσο διαδεδομένη σε όλες τις επιχειρήσεις που συχνά απαιτείται
|
Σήμερα είναι τόσο διαδεδομένη σε όλες τις επιχειρήσεις που συχνά απαιτείται
|
||||||
εξειδικευμένο λογισμικό διαχείρισης των εικονικών πόρων
|
εξειδικευμένο λογισμικό διαχείρισης των εικονικών πόρων
|
||||||
\footfullcite{redhatVirtualizationManagement} για να μπορέσει κανείς να
|
\footfullcite{redhatVirtualizationManagement} για να μπορέσει κανείς να
|
||||||
παρακολουθεί τα δρώμενα της επιχείρησης. Πρόκειται για ένα λογισμικό το οποίο
|
παρακολουθεί τα δρώμενα μιας επιχείρησης. Πρόκειται για ένα λογισμικό το οποίο
|
||||||
διασυνδέεται με εικονικά περιβάλλοντα και το υποκείμενο φυσικό υλικό τους με
|
διασυνδέεται με εικονικά περιβάλλοντα και το υποκείμενο φυσικό υλικό τους με
|
||||||
απώτερο σκοπό την απλοποίηση της διαχείρισης πόρων, τη βελτίωση της ανάλυσης
|
απώτερο σκοπό την απλοποίηση της διαχείρισης πόρων, τη βελτίωση της ανάλυσης
|
||||||
δεδομένων και τον εξορθολογισμό των λειτουργιών. Ουσιαστικά ένα λογισμικό που
|
δεδομένων και τον εξορθολογισμό των λειτουργιών τους. Ουσιαστικά ένα λογισμικό
|
||||||
συνδέεται απομακρυσμένα με υπερ-επόπτες, προσφέροντας φιλική προς τον χρήση
|
που συνδέεται απομακρυσμένα με υπερ-επόπτες, προσφέροντας μια φιλική προς τον
|
||||||
διεπαφή και επιπρόσθετες λειτουργίες όπως η συγκρότηση αναφορών χρήσης, η
|
χρήση διεπαφή και επιπρόσθετες λειτουργίες όπως η συγκρότηση αναφορών χρήσης, η
|
||||||
αυτοματοποίηση επιβολής κανόνων και η παρακολούθηση χρήσης εικονικών
|
αυτοματοποίηση επιβολής κανόνων και η παρακολούθηση χρήσης εικονικών
|
||||||
περιβαλλόντων.
|
περιβαλλόντων.
|
||||||
|
|
||||||
@@ -787,26 +787,26 @@ Machine), που επιτρέπει στο Linux να συμπεριφέρετα
|
|||||||
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
Η εικονικοποίηση μνήμης αποτελεί ένα κομμάτι της ευρύτερης έννοιας της
|
Η εικονικοποίηση μνήμης αποτελεί ένα κομμάτι της ευρύτερης έννοιας της
|
||||||
εικονικοποίησης πόρων \footfullcite{hostitsmartMemoryVirtualization}.
|
εικονικοποίησης πόρων \footfullcite{hostitsmartMemoryVirtualization}.
|
||||||
Συγκεκριμένα, είναι μια τεχνική κατά την οποία δύναται να
|
Συγκεκριμένα, είναι μια τεχνική κατά την οποία δύναται να
|
||||||
διαχειριστούμε με έναν πιο αποδοτικό τρόπο την φυσική μνήμη (RAM) που
|
διαχειριστούμε με έναν πιο αποδοτικό τρόπο την φυσική μνήμη (RAM) που
|
||||||
χρησιμοποιείται στα υπολογιστικά μας συστήματα. Αυτό συμβαίνει διότι
|
χρησιμοποιείται στα υπολογιστικά μας συστήματα. Αυτό συμβαίνει διότι
|
||||||
στην βασικότερη μορφή της, η εικονικοποίηση μνήμης εμφανίζεται ως
|
στην βασικότερη μορφή της, η εικονικοποίηση μνήμης εμφανίζεται ως
|
||||||
εικονική μνήμη ή όπως η μνήμη swap σε διακομιστές και σταθμούς εργασίας
|
εικονική μνήμη ή όπως η μνήμη swap σε διακομιστές και σταθμούς εργασίας
|
||||||
\footfullcite{petriMemoryVirtualization}. Δηλαδή, ως επιπρόσθετη μνήμη
|
\footfullcite{petriMemoryVirtualization}. Δηλαδή, ως επιπρόσθετη μνήμη
|
||||||
την οποία το σύστημα εκλαμβάνει ως πραγματική και μπορεί να την
|
την οποία το σύστημα εκλαμβάνει ως πραγματική και μπορεί να την
|
||||||
χρησιμοποιήσει προτού αναγκαστεί να τερματίσει διεργασίες για να
|
χρησιμοποιήσει προτού αναγκαστεί να τερματίσει διεργασίες για να
|
||||||
απελευθερώσει κομμάτι της μνήμης. Για να επιτευχθεί αυτό, μέσω του
|
απελευθερώσει κομμάτι της δικής του μνήμης. Για να επιτευχθεί αυτό,
|
||||||
υπερ-επόπτη πραγματοποιείται αντιστοίχιση σελίδων φυσικής μνήμης του
|
μέσω του υπερ-επόπτη πραγματοποιείται αντιστοίχιση σελίδων φυσικής
|
||||||
φιλοξενούμενου λειτουργικού συστήματος στις σελίδες φυσικής μνήμης της
|
μνήμης του φιλοξενούμενου λειτουργικού συστήματος στις σελίδες φυσικής
|
||||||
υποκείμενης μηχανής. Καθ' αυτόν τον τρόπο, κάθε εικονική μηχανή βλέπει
|
μνήμης της υποκείμενης μηχανής. Καθ' αυτόν τον τρόπο, κάθε εικονική
|
||||||
έναν συνεχόμενο χώρο διευθύνσεων μνήμης που δύναται να χρησιμοποιήσει
|
μηχανή βλέπει έναν συνεχόμενο χώρο διευθύνσεων μνήμης που δύναται να
|
||||||
\footfullcite{vmwareMemoryVirtualization}. Ως αποτέλεσμα, επιτυγχάνεται
|
χρησιμοποιήσει \footfullcite{vmwareMemoryVirtualization}. Ως
|
||||||
εν γένει υψηλότερη αξιοποίηση της μνήμης και η δυνατότητα διαμοιρασμού
|
αποτέλεσμα, επιτυγχάνεται εν γένει υψηλότερη αξιοποίηση της μνήμης και
|
||||||
μιας κοινής δεξαμενής μνήμης ακόμα και σε κατανεμημένα συστήματα,
|
η δυνατότητα διαμοιρασμού μιας κοινής δεξαμενής μνήμης ακόμα και σε
|
||||||
παρακάμπτοντας τους περιορισμούς της φυσικής μνήμης
|
κατανεμημένα συστήματα, παρακάμπτοντας τους περιορισμούς της φυσικής
|
||||||
\footfullcite{codingninjasMemoryVirtualization}.
|
μνήμης \footfullcite{codingninjasMemoryVirtualization}.
|
||||||
|
|
||||||
\clearpage
|
\clearpage
|
||||||
|
|
||||||
@@ -1159,7 +1159,7 @@ API, ώστε να μπορεί να κάνει χρήση των υπερ-κλ
|
|||||||
\cite{arif2015virtualization} αναφέρεται στην εικονικοποίηση χώρου αποθήκευσης
|
\cite{arif2015virtualization} αναφέρεται στην εικονικοποίηση χώρου αποθήκευσης
|
||||||
μέσω δικτύου αλλά πολλές από τις απειλές δεν περιορίζονται μονάχα εκεί.
|
μέσω δικτύου αλλά πολλές από τις απειλές δεν περιορίζονται μονάχα εκεί.
|
||||||
|
|
||||||
Πολλές από τις απειλές που θα αναφερθούν παρακάτω
|
Πολλές από τις απειλές που θα αναφερθούν παρακάτω στο
|
||||||
\ref{virtualizationThreatsCategorization}, μπορούν να κατηγοριοποιηθούν και ως
|
\ref{virtualizationThreatsCategorization}, μπορούν να κατηγοριοποιηθούν και ως
|
||||||
εξής:
|
εξής:
|
||||||
|
|
||||||
@@ -1215,7 +1215,7 @@ API, ώστε να μπορεί να κάνει χρήση των υπερ-κλ
|
|||||||
|
|
||||||
Διαχειριστή $\Rightarrow$ Εικονική Μηχανή &
|
Διαχειριστή $\Rightarrow$ Εικονική Μηχανή &
|
||||||
|
|
||||||
Απειλές που προέρχονται από τον διαχειριστή εικονικών μηχανών και στοχεύουν τις
|
Απειλές που προέρχονται από τον διαχειριστή εικονικών μηχανών και στοχεύουν
|
||||||
εικονικές μηχανές. \\
|
εικονικές μηχανές. \\
|
||||||
|
|
||||||
\hline
|
\hline
|
||||||
@@ -1267,7 +1267,7 @@ penetration)\cite{arif2015virtualization}.
|
|||||||
προστατεύσει τα δεδομένα της, έτσι και ο πάροχος πρέπει να εμπιστεύεται την
|
προστατεύσει τα δεδομένα της, έτσι και ο πάροχος πρέπει να εμπιστεύεται την
|
||||||
επιχείρηση ότι δε θα προσπαθήσει να προκαλέσει ζημιά στις υπηρεσίες του. Αυτό
|
επιχείρηση ότι δε θα προσπαθήσει να προκαλέσει ζημιά στις υπηρεσίες του. Αυτό
|
||||||
μπορεί να πραγματοποιηθεί με την εκτέλεση κακόβουλου λογισμικού στις εικονικές
|
μπορεί να πραγματοποιηθεί με την εκτέλεση κακόβουλου λογισμικού στις εικονικές
|
||||||
μηχανές του παρόχου είτε από την επιχείρηση την ίδια, είτε μέσω ενός
|
μηχανές του παρόχου είτε από την επιχείρηση την ίδια, είτε από έναν
|
||||||
επιτιθέμενου που παραβίασε τις εικονικές μηχανές της.
|
επιτιθέμενου που παραβίασε τις εικονικές μηχανές της.
|
||||||
|
|
||||||
Ουσιαστικά κάθε εικονική μηχανή που έχει πρόσβαση στο διαδίκτυο είναι ευάλωτη
|
Ουσιαστικά κάθε εικονική μηχανή που έχει πρόσβαση στο διαδίκτυο είναι ευάλωτη
|
||||||
@@ -1278,9 +1278,9 @@ penetration)\cite{arif2015virtualization}.
|
|||||||
απαιτείται να έχει λάβει τα κατάλληλα μέτρα προστασίας έναντι κακόβουλων
|
απαιτείται να έχει λάβει τα κατάλληλα μέτρα προστασίας έναντι κακόβουλων
|
||||||
εικονικών μηχανών.
|
εικονικών μηχανών.
|
||||||
|
|
||||||
Με βάση την ανάλυση που έγινε στο \cite{virtualizationSecurity}, στις απειλές
|
Με βάση την ανάλυση που έγινε στο \cite{virtualizationSecurity}, σχετικά με
|
||||||
από εικονική μηχανή σε εικονική μηχανή, οι πιο συνηθισμένες είναι η επίθεση
|
απειλές από εικονική μηχανή σε εικονική μηχανή, οι πιο συνηθισμένες είναι η
|
||||||
πλευρικού καναλιού (cross VM side channel attack), οι επιθέσεις βάσει
|
επίθεση πλευρικού καναλιού (cross VM side channel attack), οι επιθέσεις βάσει
|
||||||
χρονοπρογραμματιστή (Scheduler based attacks) και οι επιθέσεις που στοχεύουν
|
χρονοπρογραμματιστή (Scheduler based attacks) και οι επιθέσεις που στοχεύουν
|
||||||
τρωτότητες της διαδικασίας μετανάστευσης και επαναφοράς εικονικών μηχανών (VM
|
τρωτότητες της διαδικασίας μετανάστευσης και επαναφοράς εικονικών μηχανών (VM
|
||||||
migration and rollback attacks). Από την άλλη, όσον αφορά τις απειλές από
|
migration and rollback attacks). Από την άλλη, όσον αφορά τις απειλές από
|
||||||
@@ -1424,7 +1424,7 @@ migration and rollback attacks). Από την άλλη, όσον αφορά τ
|
|||||||
προκειμένου να διασφαλίσει την ακεραιότητα, την εμπιστευτικότητα και τη
|
προκειμένου να διασφαλίσει την ακεραιότητα, την εμπιστευτικότητα και τη
|
||||||
διαθεσιμότητα των δεδομένων της. Αυτά τα τρία στοιχεία αποτελούν την τριάδα της
|
διαθεσιμότητα των δεδομένων της. Αυτά τα τρία στοιχεία αποτελούν την τριάδα της
|
||||||
ασφάλειας \footfullcite{ciaTriad} και η απώλεια οποιουδήποτε από αυτά μπορεί να
|
ασφάλειας \footfullcite{ciaTriad} και η απώλεια οποιουδήποτε από αυτά μπορεί να
|
||||||
έχει σοβαρές επιπτώσεις στην επιχείρηση. Η σημασία του καθενός, καθώς και
|
έχει σοβαρές επιπτώσεις για την επιχείρηση. Η σημασία του καθενός, καθώς και
|
||||||
γενικές ορθές πρακτικές διατήρησης τους περιγράφονται ως εξής:
|
γενικές ορθές πρακτικές διατήρησης τους περιγράφονται ως εξής:
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
@@ -1511,12 +1511,12 @@ migration and rollback attacks). Από την άλλη, όσον αφορά τ
|
|||||||
|
|
||||||
\item \textbf{Έλεγχος των μηχανημάτων που έχουν πρόσβαση στον υπερ-επόπτη}:
|
\item \textbf{Έλεγχος των μηχανημάτων που έχουν πρόσβαση στον υπερ-επόπτη}:
|
||||||
|
|
||||||
Οι επιχειρήσεις πρέπει να ελέγχουν συχνά ποια μηχανήματα έχουν πρόσβαση
|
Οι επιχειρήσεις πρέπει να ελέγχουν συχνά ποια μηχανήματα έχουν πρόσβαση
|
||||||
στον υπερ-επόπτη και να προσθέτουν ή να αφαιρούν μηχανήματα από την
|
στον υπερ-επόπτη και να προσθέτουν ή να αφαιρούν μηχανήματα από την
|
||||||
εξουσιοδοτημένη λίστα. Ο συχνός έλεγχος πρόσβασης θα μπορέσει επίσης να
|
λίστα εξουσιοδότησης. Ο συχνός έλεγχος πρόσβασης θα μπορέσει επίσης να
|
||||||
αναδείξει προσπάθειες μη εξουσιοδοτημένης πρόσβασης ώστε να ληφθούν τα
|
αναδείξει προσπάθειες μη εξουσιοδοτημένης πρόσβασης ώστε να ληφθούν τα
|
||||||
κατάλληλα μέτρα περιορισμού των ατόμων που επιχειρούν να εισέλθουν σε
|
κατάλληλα μέτρα περιορισμού των ατόμων που επιχειρούν να εισέλθουν σε
|
||||||
αυτόν.
|
αυτόν.
|
||||||
|
|
||||||
\item \textbf{Περιορισμός δικτυακής πρόσβασης στο διαχειριστικό πάνελ του υπερ-επόπτη}:
|
\item \textbf{Περιορισμός δικτυακής πρόσβασης στο διαχειριστικό πάνελ του υπερ-επόπτη}:
|
||||||
|
|
||||||
@@ -1622,8 +1622,8 @@ migration and rollback attacks). Από την άλλη, όσον αφορά τ
|
|||||||
Τα δοχεία ενθυλακώνουν ένα λογισμικό ή μέρος εφαρμογής ως ένα αυτόνομο πακέτο
|
Τα δοχεία ενθυλακώνουν ένα λογισμικό ή μέρος εφαρμογής ως ένα αυτόνομο πακέτο
|
||||||
που περιέχει τον κώδικα, τις βιβλιοθήκες και τις εξαρτήσεις που χρειάζεται για
|
που περιέχει τον κώδικα, τις βιβλιοθήκες και τις εξαρτήσεις που χρειάζεται για
|
||||||
να εκτελεστεί. Οι διεργασίες ενός δοχείου θεωρούνται απομονωμένες με την έννοια
|
να εκτελεστεί. Οι διεργασίες ενός δοχείου θεωρούνται απομονωμένες με την έννοια
|
||||||
ότι δεν έχουν ανάγκη ένα αντίγραφο του λειτουργικού συστήματος αλλά αντ' αυτού
|
ότι δεν έχουν ανάγκη για ένα αντίγραφο του λειτουργικού συστήματος αλλά αντ'
|
||||||
μια μηχανή εκτέλεσης δοχείων (container execution engine) στο μηχάνημα
|
αυτού μιας μηχανής εκτέλεσης δοχείων (container execution engine) στο μηχάνημα
|
||||||
(φιλοξενίας) που λειτουργεί ως διαμεσολαβητής των δοχείων για να μοιράζονται το
|
(φιλοξενίας) που λειτουργεί ως διαμεσολαβητής των δοχείων για να μοιράζονται το
|
||||||
ίδιο λειτουργικό σύστημα και κατά προέκταση τους υποκείμενους πόρους του μεταξύ
|
ίδιο λειτουργικό σύστημα και κατά προέκταση τους υποκείμενους πόρους του μεταξύ
|
||||||
τους. Κοινές βιβλιοθήκες ή εκτελέσιμα αρχεία μιας στρώσης εικόνας δοχείων
|
τους. Κοινές βιβλιοθήκες ή εκτελέσιμα αρχεία μιας στρώσης εικόνας δοχείων
|
||||||
@@ -1680,15 +1680,15 @@ migration and rollback attacks). Από την άλλη, όσον αφορά τ
|
|||||||
|
|
||||||
\item \textbf{Απομόνωση σφαλμάτων}:
|
\item \textbf{Απομόνωση σφαλμάτων}:
|
||||||
|
|
||||||
Εφόσον κάθε δοχείο είναι απομονωμένο και λειτουργεί ανεξάρτητα από τα
|
Εφόσον κάθε δοχείο είναι απομονωμένο και λειτουργεί ανεξάρτητα από τα
|
||||||
υπόλοιπα, η αποτυχία ενός δοχείου στο ίδιο ΛΣ δε θα επηρεάσει τη συνεχή
|
υπόλοιπα, η αποτυχία ενός δοχείου στο ίδιο ΛΣ δε θα επηρεάσει τη συνεχή
|
||||||
λειτουργία των υπόλοιπων δοχείων. Με αυτόν τον τρόπο, οι ομάδες
|
λειτουργία των υπόλοιπων δοχείων. Με αυτόν τον τρόπο, οι ομάδες
|
||||||
ανάπτυξης λογισμικού μπορούν να εντοπίζουν και να διορθώνουν τυχόν
|
ανάπτυξης λογισμικού μπορούν να εντοπίζουν και να διορθώνουν τυχόν
|
||||||
τεχνικά προβλήματα χωρίς να υπάρχει διακοπή λειτουργίας σε άλλα δοχεία.
|
τεχνικά προβλήματα χωρίς να υπάρχει διακοπή λειτουργίας σε άλλα δοχεία.
|
||||||
Επιπρόσθετα, ο εντοπισμός του προβλήματος είναι εύκολος διότι εστιάζει
|
Επιπρόσθετα, ο εντοπισμός του προβλήματος είναι εύκολος διότι εστιάζει
|
||||||
σε ένα μόνο δοχείο και όχι σε περισσότερα. Αυτό οδηγεί σε πιο γρήγορη
|
σε ένα μόνο δοχείο και όχι σε περισσότερα. Αυτό οδηγεί σε πιο γρήγορη
|
||||||
αποσφαλμάτωση και εν τέλει την πιο γρήγορη ανάπτυξη και διατήρηση
|
αποσφαλμάτωση και εν τέλει την πιο γρήγορη ανάπτυξη και συντήρηση
|
||||||
προγραμμάτων.
|
προγραμμάτων.
|
||||||
|
|
||||||
\item \textbf{Αποδοτικότητα}:
|
\item \textbf{Αποδοτικότητα}:
|
||||||
|
|
||||||
@@ -1712,16 +1712,16 @@ migration and rollback attacks). Από την άλλη, όσον αφορά τ
|
|||||||
|
|
||||||
\item \textbf{Ασφάλεια}:
|
\item \textbf{Ασφάλεια}:
|
||||||
|
|
||||||
Η απομόνωση των εφαρμογών ως δοχεία, όταν εφαρμόζεται ακολουθώντας
|
Η απομόνωση των εφαρμογών ως δοχεία, όταν εφαρμόζεται ακολουθώντας
|
||||||
ορθές πρακτικές, εγγενώς αποτρέπει την εισβολή κακόβουλου λογισμικού
|
ορθές πρακτικές, εγγενώς αποτρέπει την εισβολή κακόβουλου λογισμικού
|
||||||
από το να επηρεάσει τα υπόλοιπα δοχεία ή το σύστημα στο οποίο
|
από το να επηρεάσει τα υπόλοιπα δοχεία ή το σύστημα στο οποίο
|
||||||
εκτελούνται. Συγκεκριμένα, χρησιμοποιώντας Kernel Security Modules όπως
|
εκτελούνται. Συγκεκριμένα, χρησιμοποιώντας Kernel Security Modules όπως
|
||||||
AppArmor ή SELinux μπορούν να ορισθούν άδειες ασφαλείας με σκοπό τον
|
είναι το AppArmor ή το SELinux μπορούν να ορισθούν άδειες ασφαλείας με
|
||||||
περιορισμό του εύρους πρόσβασης του Docker στο σύστημα, ενώ με access
|
σκοπό τον περιορισμό του εύρους πρόσβασης του Docker στο σύστημα, ενώ
|
||||||
authorization plugins \footfullcite{accessAuthorizationPlugin},
|
με access authorization plugins
|
||||||
περιορίζεται η πρόσβαση στον δαίμονα του Docker. Επιπροσθέτως, πολύ
|
\footfullcite{accessAuthorizationPlugin}, περιορίζεται η πρόσβαση στον
|
||||||
εύκολα μπορεί να περιοριστεί και η επικοινωνία μεταξύ δοχείων, καθώς
|
δαίμονα του Docker. Επιπροσθέτως, πολύ εύκολα μπορεί να περιοριστεί και
|
||||||
και με το δίκτυο του συστήματος.
|
η επικοινωνία μεταξύ δοχείων, καθώς και με το δίκτυο του συστήματος.
|
||||||
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
@@ -1768,7 +1768,7 @@ runtimes όπως το LXC και το containerd, το οποίο ήταν γι
|
|||||||
διαχειριστή/ριζικού (root).
|
διαχειριστή/ριζικού (root).
|
||||||
|
|
||||||
Ένα ακόμα εργαλείο που έχει παρόμοια αρχιτεκτονική με το Podman είναι το rkt το
|
Ένα ακόμα εργαλείο που έχει παρόμοια αρχιτεκτονική με το Podman είναι το rkt το
|
||||||
οποίο προσπαθούσε να κρατήσει μια προσέγγιση ασφαλούς σχεδιασμού εξαρχής
|
οποίο προσπαθούσε να κρατήσει μια προσέγγιση ασφαλούς σχεδιασμού εξ αρχής
|
||||||
(Secure-by-design). Μπορούσε να ενσωματώσει χαρακτηριστικά ασφαλείας, όπως
|
(Secure-by-design). Μπορούσε να ενσωματώσει χαρακτηριστικά ασφαλείας, όπως
|
||||||
υποστήριξη SELinux, TPM measurement και εκτέλεση δοχείων σε απομονωμένες από το
|
υποστήριξη SELinux, TPM measurement και εκτέλεση δοχείων σε απομονωμένες από το
|
||||||
υλικό εικονικές μηχανές. Παρ' όλα αυτά, σύμφωνα με το \cite{dockerAlternatives}
|
υλικό εικονικές μηχανές. Παρ' όλα αυτά, σύμφωνα με το \cite{dockerAlternatives}
|
||||||
@@ -1886,8 +1886,8 @@ Docker ώστε να μειωθούν οι επιπτώσεις κατά την
|
|||||||
|
|
||||||
\item \textbf{IPC namespaces} για περιορισμό IPC, δηλαδή της επικοινωνίας
|
\item \textbf{IPC namespaces} για περιορισμό IPC, δηλαδή της επικοινωνίας
|
||||||
των διεργασιών μεταξύ τους. Τα IPC namespaces καθιστούν δυνατή τη
|
των διεργασιών μεταξύ τους. Τα IPC namespaces καθιστούν δυνατή τη
|
||||||
δημιουργία ξεχωριστών συνόλων των διεργασιών, που επικοινωνούν μεταξύ
|
δημιουργία ξεχωριστών συνόλων των διεργασιών που επικοινωνούν μεταξύ τους,
|
||||||
τους αλλά όχι με άλλες διεργασίες πέραν του υποσυνόλου.
|
αλλά όχι με άλλες διεργασίες πέραν του υποσυνόλου.
|
||||||
|
|
||||||
\item \textbf{Network namespaces}. Μία από τις σημαντικότερες απομονώσεις
|
\item \textbf{Network namespaces}. Μία από τις σημαντικότερες απομονώσεις
|
||||||
είναι αυτή του δικτύου. Χωρίς δικτυακή απομόνωση υπάρχει κίνδυνος
|
είναι αυτή του δικτύου. Χωρίς δικτυακή απομόνωση υπάρχει κίνδυνος
|
||||||
@@ -1910,7 +1910,7 @@ Docker ώστε να μειωθούν οι επιπτώσεις κατά την
|
|||||||
|
|
||||||
Αυτές οι δυνατότητες υποστηρίζονται από το Docker και μπορεί κανείς να τις
|
Αυτές οι δυνατότητες υποστηρίζονται από το Docker και μπορεί κανείς να τις
|
||||||
εκμεταλλευτεί για να προστατεύσει το περιβάλλον του από επιθέσεις. Επιπλέον,
|
εκμεταλλευτεί για να προστατεύσει το περιβάλλον του από επιθέσεις. Επιπλέον,
|
||||||
υπάρχει και η δυνατότητα υποστήριξης Kernel Security Modules, όπως SELinux
|
υπάρχει και η δυνατότητα υποστήριξης Kernel Security Modules, όπως τα SELinux
|
||||||
\footfullcite{selinux} και AppArmor \footfullcite{apparmor} αλλά και του
|
\footfullcite{selinux} και AppArmor \footfullcite{apparmor} αλλά και του
|
||||||
Seccomp \footfullcite{seccomp} (στην περίπτωση χρήσης LXC), καθώς επίσης και
|
Seccomp \footfullcite{seccomp} (στην περίπτωση χρήσης LXC), καθώς επίσης και
|
||||||
συμβατότητα με Linux capabilities, που θα μπορούσαν να εισάγουν ένα ακόμα
|
συμβατότητα με Linux capabilities, που θα μπορούσαν να εισάγουν ένα ακόμα
|
||||||
@@ -1925,7 +1925,7 @@ Seccomp \footfullcite{seccomp} (στην περίπτωση χρήσης LXC),
|
|||||||
|
|
||||||
\clearpage
|
\clearpage
|
||||||
|
|
||||||
\subsubsection{Συχνά είδη επιθέσεων σε δοχεία και μέθοδοι πρόληψης} \label{commonAttacksAndPrevention}
|
\subsubsection{Συχνά είδη επιθέσεων σε δοχεία και μέθοδοι πρόληψης τους} \label{commonAttacksAndPrevention}
|
||||||
|
|
||||||
Μερικά είδη επιθέσεων σε δοχεία με τους τρόπους αντιμετώπισής τους, όπως
|
Μερικά είδη επιθέσεων σε δοχεία με τους τρόπους αντιμετώπισής τους, όπως
|
||||||
αναφέρονται στο \cite{yasrab2018mitigating}, είναι τα εξής:
|
αναφέρονται στο \cite{yasrab2018mitigating}, είναι τα εξής:
|
||||||
@@ -1951,34 +1951,34 @@ Seccomp \footfullcite{seccomp} (στην περίπτωση χρήσης LXC),
|
|||||||
|
|
||||||
\item \textbf{Άρνηση υπηρεσίας}:
|
\item \textbf{Άρνηση υπηρεσίας}:
|
||||||
|
|
||||||
Μια από τις πιο συνηθισμένες επιθέσεις σε πόρους διαθέσιμους μέσω
|
Μια από τις πιο συνηθισμένες επιθέσεις σε πόρους διαθέσιμους μέσω
|
||||||
δικτύου. Κατά τη διάρκεια μιας τέτοιας επίθεσης, μια διεργασία ή ένα
|
δικτύου είναι η άρνηση υπηρεσίας. Κατά τη διάρκεια μιας τέτοιας
|
||||||
σύνολο διεργασιών επιχειρεί να καταναλώσει όλους τους πόρους του
|
επίθεσης, μια διεργασία ή ένα σύνολο διεργασιών επιχειρεί να
|
||||||
συστήματος προκειμένου να μην μπορεί να εξυπηρετήσει άλλους χρήστες.
|
καταναλώσει όλους τους πόρους του συστήματος προκειμένου να μην μπορεί
|
||||||
Αυτό μπορεί να συμβεί εάν ένα δοχείο βρεθεί υπό τον έλεγχο ενός
|
να εξυπηρετήσει άλλους χρήστες. Αυτό μπορεί να συμβεί εάν ένα δοχείο
|
||||||
επιτιθέμενου και επιχειρήσει να διεκδικήσει πόρους που κανονικά δε
|
βρεθεί υπό τον έλεγχο ενός επιτιθέμενου και επιχειρήσει να διεκδικήσει
|
||||||
χρειάζεται. Για να ανταπεξέλθει ένα σύστημα σε μια επίθεση άρνησης
|
πόρους που κανονικά δε χρειάζεται. Για να ανταπεξέλθει ένα σύστημα σε
|
||||||
υπηρεσίας, πρέπει να γίνει χρήση των δυνατοτήτων που αναφέραμε στο
|
μια επίθεση άρνησης υπηρεσίας, πρέπει να γίνει χρήση των δυνατοτήτων
|
||||||
\ref{dockerAttackVectorMitigation} με σκοπό τον αυστηρότερο έλεγχο
|
που αναφέραμε στο \ref{dockerAttackVectorMitigation} με σκοπό τον
|
||||||
διαμοιρασμού των πόρων του συστήματος. Με τον καθορισμό διαθέσιμων
|
αυστηρότερο έλεγχο διαμοιρασμού των πόρων του συστήματος. Με τον
|
||||||
πόρων για κάθε δοχείο εξαρχής, δεν υπάρχει κίνδυνος να προσπαθήσει
|
καθορισμό διαθέσιμων πόρων για κάθε δοχείο εξ αρχής, δεν υπάρχει
|
||||||
κάποιο δοχείο να διεκδικήσει περισσότερους.
|
κίνδυνος να προσπαθήσει κάποιο δοχείο να διεκδικήσει περισσότερους.
|
||||||
|
|
||||||
\clearpage
|
\clearpage
|
||||||
|
|
||||||
\item \textbf{Αποδράσεις Δοχείων (Container Breakouts)}:
|
\item \textbf{Αποδράσεις Δοχείων (Container Breakouts)}:
|
||||||
|
|
||||||
Σε τέτοιου είδους επιθέσεις, ένας επιτιθέμενος προσπαθεί αφού απέκτησε
|
Σε τέτοιου είδους επιθέσεις, ένας επιτιθέμενος προσπαθεί αφού απέκτησε
|
||||||
πρόσβαση σε ένα δοχείο, να καταφέρει μέσω αυτού να έχει πρόσβαση στα
|
πρόσβαση σε ένα δοχείο, να καταφέρει μέσω αυτού να έχει πρόσβαση στα
|
||||||
αρχεία του κύριου συστήματος. Αυτό μπορεί να συμβεί με τη χρήση μιας
|
αρχεία του κύριου συστήματος. Αυτό μπορεί να συμβεί με τη χρήση μιας
|
||||||
συνάρτησης που απαιτεί δικαιώματα διαχειριστικού λογαριασμού μέσα από
|
συνάρτησης που απαιτεί δικαιώματα διαχειριστικού λογαριασμού μέσα από
|
||||||
το δοχείο προκειμένου να κάνει κλήση μιας ικανότητας (capability) στην
|
το δοχείο προκειμένου να κάνει κλήση μιας ικανότητας (capability) στην
|
||||||
οποία είχε πρόσβαση εξαρχής. Σύμφωνα με το Docker η μόνη έκδοση που
|
οποία είχε πρόσβαση εξ αρχής. Σύμφωνα με το Docker η μόνη έκδοση που
|
||||||
είχε αυτή την ευπάθεια ήταν η 0.11 και στην επόμενη διορθώθηκε. Για την
|
μπορούσε να επηρεαστεί από αυτή την ευπάθεια ήταν η 0.11 και στην
|
||||||
πρόληψη μελλοντικών μεθόδων διεκπεραίωσης τέτοιου είδους επίθεσης,
|
επόμενη διορθώθηκε. Για την πρόληψη μελλοντικών μεθόδων διεκπεραίωσης
|
||||||
συνίσταται να τίθενται τα δοχεία και οι αποθηκευτικοί τους χώροι σε
|
τέτοιου είδους επίθεσης, συνίσταται να τίθενται τα δοχεία και οι
|
||||||
κατάσταση μονάχα ανάγνωσης, καθώς και να αποφεύγεται η χρήση της
|
αποθηκευτικοί τους χώροι σε κατάσταση μονάχα ανάγνωσης, καθώς και να
|
||||||
παραμέτρου \textquote{privileged}.
|
αποφεύγεται η χρήση της παραμέτρου \textquote{privileged}.
|
||||||
|
|
||||||
\item \textbf{Δηλητηριασμένες εικόνες δοχείων}:
|
\item \textbf{Δηλητηριασμένες εικόνες δοχείων}:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user