Το sandboxing, το οποίο εισήχθη το 2007 και προστέθηκε το 2012, είναι ένα εργαλείο που χρησιμοποιείται από συστήματα macOS για να περιορίσει τη ζημιά που μπορεί να προκαλέσει μια εφαρμογή. λέει η Apple: "αν και Εφαρμογή Sandbox Δεν αποτρέπει επιθέσεις κατά της εφαρμογής σας, αλλά μειώνει με επιτυχία τη ζημιά που μπορεί να προκαλέσει μία από αυτές. Η εφαρμογή Sandboxing macOS φορτώνει τους χρήστες περιορίζοντας τον όγκο προβλημάτων που μπορεί να προκαλέσει μια κακόβουλη εφαρμογή.

Γρήγοροι σύνδεσμοι
Τι είναι το Sandboxing στο macOS;
Κάθε εφαρμογή έχει το δικό της χώρο για παιχνίδι: το "sandbox". Εάν μια εφαρμογή θέλει να έχει πρόσβαση εκτός του sandbox, πρέπει να ζητήσει άδεια από το λειτουργικό σύστημα. Ανάλογα με τις ρυθμίσεις του sandbox, το λειτουργικό σύστημα είτε θα απορρίψει είτε θα εγκρίνει το αίτημα παρέχοντας όσο το δυνατόν λιγότερες πληροφορίες για την ολοκλήρωση του αιτήματος.

Σκεφτείτε ένα αυτοκίνητο. Ο οδηγός προστατεύεται με πολλαπλά χαρακτηριστικά ασφαλείας, όπως αποστάτες αντιμπλοκαρίσματος, αερόσακους, ζώνες τσαλακώματος και άλλα. Το 2007, την εποχή της εισαγωγής του Sandboxing, δεν υπήρχαν παρόμοια συστήματα υπολογιστών. Όπως ρωτήθηκε στην παρουσίαση Πού ήταν οι ζώνες ασφαλείας για τους υπολογιστές; Το Sandboxing προστατεύει τους χρήστες όπως τα αυτοκίνητα προστατεύουν τους οδηγούς τους: αδυναμία αντιμετώπισης συστημάτων μετριασμού της βλάβης. Είτε οφείλεται σε κακόβουλη δραστηριότητα είτε σε σφάλματα κωδικοποίησης, η ζημιά μειώνεται.
Εφόσον το sandbox περιορίζει τις δυνατότητες των εφαρμογών, μπορεί να περιορίσει την ελευθερία των προγραμματιστών. Οι εφαρμογές Sandbox τρέχουν πιο αργά και χρειάζονται περισσότερο χρόνο για να αναπτυχθούν. Με τις τεράστιες δυνατότητες του Mac, τα όρια sandbox μπορούν να έχουν τεράστιο αντίκτυπο στη συμβατότητα διαφορετικών εφαρμογών. Ως αποτέλεσμα, οι πολλά υποσχόμενοι χρήστες συχνά κατευθύνονται να εκτελούν εφαρμογές για να εκτελούνται εκτός του sandbox, είτε για προβλήματα απόδοσης είτε για προβλήματα.
Πώς λειτουργεί το Sandboxing;
Το Sandbox βασίζεται στην αρχή του ελάχιστου προνομίου. Εν ολίγοις, τα συστήματα μπορούν να κάνουν αυτό που χρειάζονται, αλλά όχι περισσότερο. Περιορίζοντας κάθε τμήμα του συστήματος στην ολοκλήρωση μόνο του δηλωμένου στόχου του, μειώνετε την πιθανότητα να παραβιαστεί η εφαρμογή σας. Για παράδειγμα, δεν υπάρχει λόγος για μια εφαρμογή φακού να έχει πρόσβαση στη λίστα επαφών σας.
Οι εφαρμογές μπορούν να έχουν πρόσβαση εκτός της ζώνης προστασίας τους, αλλά μόνο με άδεια λειτουργικού συστήματος. Μεταβείτε στο παράθυρο διαλόγου Αποθήκευση και Άνοιγμα του macOS. Η εφαρμογή, εντός του sandbox της, δεν μπορεί να έχει απευθείας πρόσβαση στους πόρους του συστήματος αρχείων στον σκληρό σας δίσκο. Δεν είναι δυνατό, για παράδειγμα, να σχεδιάσετε ένα ανοιχτό πλαίσιο στο "~/Documents". Αντίθετα, η εφαρμογή θα πρέπει να ρωτήσει Powerbox API Με κλάσεις NSOpenPanel και NSSavePanel για πρόσβαση στον πίνακα.

Η εφαρμογή δεν μπορεί να δει απευθείας τι συμβαίνει μέσα στο Powerbox. Μόνο το ανοιχτό ή αποθηκευμένο αρχείο θα είναι διαθέσιμο στην εφαρμογή. Με αυτόν τον τρόπο οι εφαρμογές μπορούν να εκτελούν κρίσιμες λειτουργίες χωρίς να εκτίθενται σε περιττούς κινδύνους.
Αυτή η λειτουργία είναι ενεργοποιημένη από αξία (συγκεκριμένα com.apple.security.files.user-selected.read-write). Οι προγραμματιστές εφαρμογών ορίζουν δικαιώματα που καθορίζουν τι κάνει η εφαρμογή. Με βάση τα αναφερόμενα πλεονεκτήματα, το λειτουργικό σύστημα επιτρέπει στην εφαρμογή να έχει επαρκώς περιορισμένο επίπεδο λειτουργικότητας.
Αυτή η διαδικασία σκέψης αποτελεί τη βάση του μοντέλου και του μηχανισμού sandboxing ολόκληρης της εφαρμογής: οι εφαρμογές πρέπει να δηλώσουν την πρόθεσή τους και να ζητήσουν άδεια από ένα αφεντικό σε επίπεδο λειτουργικού συστήματος για να κάνουν οτιδήποτε επικίνδυνο.
Εφαρμογές σε περιβάλλον δοκιμών έναντι εφαρμογών χωρίς περιβάλλον δοκιμών
Από την 1η Ιουνίου 2012, όλες οι εφαρμογές τρίτων που διανέμονται μέσω του Mac App Store πρέπει να βρίσκονται σε sandbox. Ενώ το sandboxing επιτρέπει ένα ευρύ φάσμα λειτουργιών εφαρμογών, θα διαπιστώσετε ότι οι εφαρμογές Mac App Store είναι συχνά πιο περιορισμένες από τα μη προστατευμένα στοιχεία τους. Ορισμένοι προγραμματιστές διατηρούν ακόμη και δύο εκδόσεις: μια εφαρμογή με πλήρεις δυνατότητες για άμεση λήψη και ένα πρόγραμμα εγκατάστασης για το Mac App Store. Χάρη στην πιο πολυπλοκότητα της ανάπτυξης sandbox, η προσθήκη νέας λειτουργικότητας σε μια εφαρμογή θεωρείται ακόμη πιο δύσκολη - εάν αυτή η λειτουργικότητα επιτρέπεται ακόμη και από το λειτουργικό σύστημα.
Ενώ οι εφαρμογές με sandbox μπορούν να επωφεληθούν από τη διανομή Mac App Store, μπορείτε να μαντέψετε την αξία που πιστεύουμε ότι είναι καλή. Η λειτουργία Sandbox μπορεί επίσης να επεκταθεί χρησιμοποιώντας δικαιώματα ασφαλείας. Αν και μια εφαρμογή δεν μπορεί Ενεργοποιήστε τα δικαιώματα προσβασιμότητας για το ίδιο Ωστόσο, μπορεί να ζητήσει από τον χρήστη να το κάνει.

Για να δείτε ποιες από τις εφαρμογές σας βρίσκονται σε sandbox, ανοίξτε το Activity Monitor και κάντε δεξί κλικ στις επικεφαλίδες των στηλών για να προσθέσετε ένα "Sandbox" στο παράθυρο.

Υπάρχουν ορισμένες εφαρμογές που δεν μπορούν ποτέ να υπάρξουν σε λειτουργία sandbox. Στην πραγματικότητα, μια ποικιλία από πολύτιμες περιπτώσεις χρήσης αποτρέπονται με το sandboxing. Το Sandbox αποτρέπει την επικοινωνία μεταξύ των εφαρμογών, την παρακολούθηση ή την τροποποίηση, γεγονός που περιορίζει σημαντικά τον τρόπο αλληλεπίδρασης των εφαρμογών. Οι συντομεύσεις σε όλο το σύστημα, όπως το TextExpander, απαγορεύονται πλήρως, καθώς αυτό το επίπεδο λειτουργικότητας μπορεί να επιτραπεί από το sandbox.
συμπέρασμα
Όπως ήταν αναμενόμενο, οι εφαρμογές macOS εισέρχονται Λειτουργία Sandbox ΟΧΙ καλα. Προσδιορίστε τα μοναδικά σημεία πώλησης των εφαρμογών Mac σας, όπως η βελτιωμένη ταχύτητα και λειτουργικότητα. Οι εφαρμογές που εκτελούνται εκτός της ζώνης προστασίας είναι πάντα πιο ικανές και γρήγορες. Από την πλευρά ενός ισχυρού χρήστη, οι εφαρμογές που χρησιμοποιούνται πιο συχνά δεν προστατεύονται. Εφαρμογές όπως το TextExpander, το SnagIt και το TotalFinder είναι όλες ζωτικής σημασίας για την καθημερινή μου εργασία. Για να αποφευχθούν παρόμοια γενικά προβλήματα, τα μελλοντικά συστήματα ασφαλείας χρειάζονται ευελιξία και στιβαρότητα σε συνδυασμό με διαφάνεια.










