@@ -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 { accessA uthorizationP lugin} ,
με access a uthorization p lugins
περιορίζεται η πρόσβαση στον δαίμονα του 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 { Δηλητηριασμένες εικόνες δοχείων} :