minor changes

This commit is contained in:
2023-11-11 19:53:36 +02:00
parent 851cf87cc3
commit cce5963aed

View File

@@ -1103,7 +1103,7 @@ Swarm} ή άλλα για αποδοτικότερη διαχείριση.
περιορισμό χρήσης πόρων και το εύρος του συστήματος στο οποίο έχει πρόσβαση η
μηχανή δοχείων.
\subsubsection{\textlatin{Docker Attack Vector Mitigation}} \label{dockerAttackVectorMitigation}
\subsubsection{\textlatin{Docker Attack Vector Mitigation Using Namespaces}} \label{dockerAttackVectorMitigation}
Με βάση το μοντέλο που περιγράφει το \cite{reshetova2014security} όπως
αναφέρεται στο \cite{bui2015analysis} όπου έχουμε ένα μηχάνημα στο οποίο
@@ -1129,7 +1129,7 @@ Swarm} ή άλλα για αποδοτικότερη διαχείριση.
\textlatin{remountings}.
\item \textbf{\textlatin{Device Whitelist Controller}}, ενός
χαρακτηριστικού των \textlatin{cgroups} για περιοσιμό συσκευών, που
χαρακτηριστικού των \textlatin{cgroups} για περιορισμό συσκευών, που
αναφέρεται στο \cite{deviceWhitelistController} με τη βοήθεια του
οποίου περιορίζεται το σύνολο τον συσκευών στις οποίες έχει πρόσβαση
ένα δοχείο και αποτρέπει αυτό από το να δημιουργήσει καινούριες
@@ -1185,3 +1185,92 @@ Apparmor, Seccomp} (στην περίπτωση χρήσης \textlatin{LXC}) ό
προκειμένου να ανταπεξέλθουν σε κάθε επίθεση ανάλογα το περιβάλλον και τις
ανάγκες τους.
\subsection{Συχνά είδη επιθέσεων σε δοχεία και μέθοδοι πρόληψης} \label{commonAttacksAndPrevention}
Μερικά είδη επιθέσεων και οι τρόποι αντιμετώπισης όπως αναφέρονται στο
\cite{yasrab2018mitigating} είναι τα εξής:
\begin{itemize}
\item \textbf{\textlatin{Kerner Exploits}}:
Ο πυρήνας είναι υπεύθυνος για τη διαχείριση των λειτουργιών και
διεργασιών των δοχείων. Λόγω του διαμοιρασμού του πυρήνα του συστήματος
με κάθε δοχείο το οποίο εκτελείται σε αυτό, εάν οποιοδήποτε από αυτά
τεθεί υπό τον έλεγχο ενός κακόβουλου χρήστη μπορεί δυνητικά να πάρει
τον έλεγχο του συστήματος και όλων των δοχείων αυτού. Ο τρόπος
αντιμετώπισης που προτείνεται είναι η χρήση \textlatin{SELinux} ή
\textlatin{Apparmor} κατά την εκτέλεση δοχείων σε συνδυασμό με
εκμετάλλευση των \textlatin{user namespaces}. Επιπλέον, συνίσταται να
μην εκτελούνται εφαρμογές με δικαιώματα διαχειριστικού λογαριασμού.
Μερικά ακόμα μέτρα προστασίας που μπορεί να παρθούν αλλά πιθανά να μην
είναι εφικτά γιατί ενδεχομένως να πηγαίνουν ενάντια στις λειτουργίες
του εκάστοτε δοχείου, είναι να τεθεί το σύστημα του σε επίπεδο
πρόσβασης που επιτρέπει μόνο την ανάγνωση των αρχείων, να
απενεργοποιηθεί η επικοινωνία μεταξύ δοχείων και να αποφευχθεί η
εγκατάσταση περιττών προγραμμάτων σε αυτό.
\pagebreak
\item \textbf{Άρνηση υπηρεσίας}:
Μια από τις πιο συνηθισμένες επιθέσεις σε πόρους διαθέσιμους μέσω
δικτύου. Κατά τη διάρκεια μιας τέτοιας επίθεσης, μια διεργασία ή ένα
σύνολο διεργασιών επιχειρεί να καταναλώσει όλους τους πόρους του
συστήματος προκειμένου να μην μπορεί να εξυπηρετήσει άλλους χρήστες.
Αυτό μπορεί να συμβεί εάν ένα δοχείο βρεθεί υπό τον έλεγχο ενός
επιτιθέμενου και επιχειρήσει να διεκδικήσει πόρους που κανονικά δε
χρειάζεται. Για να ανταπεξέλθει ένα σύστημα σε μια επίθεση άρνησης
υπηρεσίας πρέπει να γίνει χρήση των δυνατοτήτων που αναφέραμε στο
\ref{dockerAttackVectorMitigation} με σκοπό τον αυστηρότερο έλεγχο
διαμοιρασμού των πόρων του συστήματος. Με τον ορισμό διαθέσιμων πόρων
για κάθε δοχείο εξαρχής δεν υπάρχει κίνδυνος να προσπαθήσει κανένα να
διεκδικήσει περισσότερους.
\item \textbf{\textlatin{Container Breakouts}}:
Σε τέτοιου είδους επιθέσεις ένας επιτιθέμενος προσπαθεί αφού απέκτησε
πρόσβαση σε ένα δοχείο, να αποκτήσει και μέσω αυτού στα αρχεία του
κύριου συστήματος. Αυτό μπορούσε να συμβεί με τη χρήση μιας συνάρτησης
που απαιτούσε δικαιώματα διαχειριστικού λογαριασμού μέσα από το δοχείο
προκειμένου να κάνει κλήση ενός \textlatin{capability} στο οποίο είχε
πρόσβαση εξαρχής. Σύμφωνα με το \textlatin{Docker} η μόνη έκδοση που
είχε αυτή την ευπάθεια ήταν η 0.11 και στην επόμενη διορθώθηκε. Για την
πρόληψη μελλοντικών μεθόδων διεκπεραίωσης τέτοιου είδους επίθεσης
συνίσταται να τίθενται τα δοχεία και οι αποθηκευτικοί τους χώροι σε
κατάσταση μονάχα ανάγνωσης όπως επίσης και να αποφεύγεται η χρήση της
παραμέτρου \textlatin{privileged}.
\item \textbf{Δηλητηριασμένες εικόνες δοχείων}:
Οι εικόνες δοχείων μπορεί να περιέχουν κακόβουλο λογισμικό ή λογισμικό
για το οποίο έχουν βρεθεί πλέον ευπάθειες. Ο τωρινός τρόπος ελέγχου
εγκυρότητας της βασίζεται μονάχα στην παρουσία ενός υπογεγραμμένου
\textlatin{manifest} αλλά δε γίνεται ποτέ αυθεντικοποίηση του
\textlatin{checksum} της εικόνας. Αυτό αφήνει ανοιχτό το ενδεχόμενο
ένας επιτιθέμενος να διαδώσει οποιαδήποτε εικόνα μαζί με το
υπογεγραμμένο \textlatin{manifest} της. Επιβάλλεται οι χρήστες να
κατεβάζουν εικόνες από εγκεκριμένους προμηθευτές ή ακόμα και να τις
ελέγχουν με κατάλληλα εργαλεία προτού τις χρησιμοποιήσουν.
\pagebreak
\item \textbf{Απόκτηση μυστικών κωδικών/κλειδιών}:
Η απόκτηση επιχειρησιακών ή προσωπικών μυστικών ελοχεύει πολλούς
κινδύνους για μια επιχείρηση. Σε περίπτωση που κάτι τέτοιο συμβεί ένας
επιτιθέμενος μπορεί να έχει πρόσβαση σε βάσεις δεδομένων ή άλλα
κομμάτια του συστήματος απειλώντας έτσι την ακεραιότητα, την
εμπιστευτικότητα και διαθεσιμότητα των δεδομένων. Προκειμένου να
αποφευχθεί μια εισβολή σε κάποιο δοχείο που θα προκαλούσε την απόκτηση
τέτοιων μυστικών, είναι επιτακτικό να γίνεται χρήση δοχείων σε
κατάσταση ανάγνωσης και όχι εγγραφής αλλά και να αποφεύγεται η χρήση
μεταβλητών για την αποθήκευση κωδικών. Χρήσιμο επίσης θα ήταν και η
εσκεμμένη παράλειψη της παραμέτρου \textlatin{privileged}.
\item \textbf{\textlatin{Man-in-the-Middle (MitM)}}: