Διαφήμιση
Ρίξτε μια ματιά στις εφαρμογές που χρησιμοποιείτε περισσότερο στον υπολογιστή σας. Πιθανότατα, ένας καλός αριθμός τους προσφέρει λειτουργικότητα υψηλής σύνδεσης, κυρίως το πρόγραμμα περιήγησής σας στο Web. Αυτά τα εξαιρετικά συνδετικά προγράμματα μπορούν να κάνουν πολλά, αλλά είναι επίσης μια ανοιχτή πρόσκληση για κακούς χάκερ να κάνουν απεργία.
Για να αποφευχθεί η επιτυχία των προειδοποιήσεων, ένας προγραμματιστής θα πρέπει να εντοπίσει και να κλείσει κάθε τρύπα στον κώδικά του, κάτι που απλά δεν είναι δυνατό. Αντ 'αυτού, οι προγραμματιστές πρέπει να πάρουν αυτό το γεγονός και να σχεδιάσουν τον κώδικά τους λαμβάνοντας υπόψη αυτό. Η πιο κοινή και αποτελεσματική λύση: ένα sandbox.
Άμμος σε κουτί;
Όχι, δεν είναι το τοπικό περιβάλλον άμμου πάρκου που προτιμώ, αλλά λογισμικό. Αυτά τα sandbox έχουν έναν βασικό σκοπό: να αποτρέψουν την εξάπλωση μιας επίθεσης. Όπως ανέφερα παραπάνω, οι έξυπνοι προγραμματιστές γνωρίζουν ότι ο κώδικας δεν είναι τέλειος και ότι το προϊόν τους θα παραβιαστεί ή θα διεισδυθεί με άλλο τρόπο. Προκειμένου να προστατεύσουν τον χρήστη, εφαρμόζουν ένα sandbox που απομονώνει τμήματα του προγράμματος τους. Στην ουσία, ό, τι συμβαίνει σε ένα κουτί άμμου, παραμένει σε αυτό το κουτί.
Sandboxes σε δράση
Προκειμένου να εξηγήσω τα sandbox σε δράση, θα χρησιμοποιήσω το Google Chrome ως το κύριο παράδειγμα. Το Chrome είναι ένα από τα πιο γνωστά προϊόντα για την εφαρμογή sandboxing, το οποίο η Google θεωρεί με υπερηφάνεια ως μια μοναδική δυνατότητα ασφάλειας μεταξύ των προγραμμάτων περιήγησης. Η Google πήρε το Chrome και ουσιαστικά το χωρίζει σε τρεις διαφορετικές κατηγορίες: την κύρια διαδικασία που συνδέεται τα πάντα μαζί, τις διεργασίες καρτέλας που κρατούν τις σελίδες και περιλαμβάνουν το πρόγραμμα απόδοσης και τη διαδικασία προσθήκης (ες). Όλες αυτές οι κατηγορίες έχουν διαφορετικά επίπεδα άδειας, ώστε να είναι σε θέση να εκτελεστούν, αλλά αυτά τα δικαιώματα είναι τα ελάχιστα ελάχιστα, έτσι ώστε όλες αυτές να είναι πολύ περιορισμένες. Επιπλέον, οι διάφορες διαδικασίες δεν μπορούν πραγματικά να μιλούν μεταξύ τους, αλλά συνυπάρχουν. Για παράδειγμα, παρόλο που το περιεχόμενο Flash από την προσθήκη Flash ενδέχεται να υπάρχει σε μια σελίδα, οι διαδικασίες εξακολουθούν να είναι ξεχωριστές και δεν μιλούν μεταξύ τους. Η απόδοση δίνει μόνο χώρο στη σελίδα για να εμφανιστεί αυτή η διαδικασία. Αυτή η αδυναμία επικοινωνίας είναι σημαντική επειδή εάν μια καρτέλα καταρρεύσει ή έχει παραβιαστεί, δεν μπορεί να επηρεάσει τις άλλες καρτέλες ούτε το ίδιο το σύστημα.
Ο Firefox το έχει πάρα πολύ
Ο Firefox έχει επίσης μια δυνατότητα sandboxing, αν και περιορισμένη, διαχωρίζοντάς την από πρόσθετα τρίτων όπως το Flash. Ενώ το πρόγραμμα περιήγησης καθώς και όλες οι καρτέλες του συνδυάζονται σε μία μόνο διαδικασία, υπάρχει μια ξεχωριστή διαδικασία για όλες τις προσθήκες. Στην προσέγγιση του Firefox, αποδίδει περισσότερη εμπιστοσύνη στον δικό του κώδικα από ό, τι το Googles με το Chrome και φέρνει την ευθύνη για τυχόν ζητήματα περιήγησης στις προσθήκες. Επομένως, εάν οι προσθήκες διακόψουν με οποιονδήποτε τρόπο, το πρόγραμμα περιήγησης και οι καρτέλες δεν επηρεάζονται.
Σκέφτομαι ανοικτόμυαλα
Αν και είναι καλή στρατηγική η εφαρμογή τεχνικών sandboxing στον κώδικα ενός προγράμματος, υπάρχουν πολλά άλλα προγράμματα που δεν έχουν απολύτως sandboxing. Αντ 'αυτού, θα θελήσετε να εκτελέσετε ένα εικονικό περιβάλλον δοκιμών όπου μπορείτε να εκτελέσετε προγράμματα τα οποία μπορούν να προκαλέσουν όσο το δυνατόν περισσότερο όλεθρο μέσα στο περιβάλλον δοκιμών, αφήνοντας το σύστημά σας σε τακτική. Παρόλο που αυτό προορίζεται συχνά για τη δοκιμή λογισμικού, είναι επίσης καλή επιλογή να εκτελέσετε ένα πρόγραμμα περιήγησης ιστού ή πραγματικά οποιοδήποτε άλλο λογισμικό εκεί εάν είστε μάλλον παρανοϊκοί (ή εισαγάγετε την άλλη αγαπημένη σας λέξη εδώ). Μια πολύ δημοφιλής επιλογή για αυτό είναι Sandboxie Πώς να απομονώσετε και να δοκιμάσετε μη ασφαλείς εφαρμογές στον υπολογιστή σας Διαβάστε περισσότερα , αλλά υπάρχουν και άλλα προϊόντα, τόσο δωρεάν όσο και επί πληρωμή, τα οποία μπορούν να επιτύχουν το ίδιο.
συμπέρασμα
Το Sandboxing είναι αυτή τη στιγμή ένα από τα πιο καυτά θέματα όσον αφορά την ασφάλεια και σίγουρα κάνει τη δουλειά αρκετά καλά. Φυσικά, οι προγραμματιστές θα πρέπει πάντα να επικεντρώνονται στο να κάνουν τον κώδικά τους όσο το δυνατόν καλύτερα, αλλά σίγουρα δεν βοηθά να έχουμε κάποια σχέδια δράσης για όταν παρουσιαστεί κάποιο πρόβλημα. Λάβετε υπόψη ότι τα sandbox δεν είναι ακόμη τέλεια, καθώς το sandbox του Chrome ηττήθηκε στο Pwn2Own 2012 μετά από εξαιρετικά δύσκολα hacks, αλλά είναι σίγουρα μια πολύ καλύτερη επιλογή από καμία.
Ποια είναι η γνώμη σας για τις εφαρμογές του sandboxing; Τι βελτιώσεις θα θέλατε να δείτε στα προγράμματα περιήγησης ιστού με sandboxing ή σε ποιες εφαρμογές πιστεύετε ότι χρειάζεστε sandboxing; Ενημερώστε μας στα σχόλια!
Συντελεστές εικόνας: Κάτι Γκρέγκορι, Έρντ Βίκν
Ο Ντάνι είναι πρεσβύτερος στο Πανεπιστήμιο του Βόρειου Τέξας που απολαμβάνει όλες τις πτυχές του λογισμικού ανοιχτού κώδικα και του Linux.