Ich habe gerade die iAntivirus-App aus dem Mac App Store heruntergeladen. Ich wollte, dass es meine gesamte Festplatte auf Viren scannt, also präsentierte es mir ein Öffnen-Dialogfeld, das auf das Stammverzeichnis der Festplatte zeigt (damit der Computer außerhalb seiner Sandbox darauf zugreifen kann). Ich habe auf OK geklickt und die App gestartet.
Was ich seltsam fand, war, dass mir nie ein Anmeldefeld angezeigt wurde. Das Programm erhielt Zugriff auf Dateien im Systemordner, Bibliotheksordner usw., die nur ich bearbeiten konnte, indem ich einen Administratorbenutzernamen und ein Kennwort eingab. Ist das ein Sicherheitsproblem beim Sandboxing oder soll es so funktionieren?
Die App kann Lese-/Schreibzugriff auf einen Standort haben, wenn sie Ihre Erlaubnis erhält, indem sie eine Berechtigung als Teil der App-Sandbox verwendet, mit anderen Worten, so soll sie funktionieren. Die App ist codesigniert und vertrauenswürdig, sie bittet um Ihre Erlaubnis, theoretisch sollte alles gut sein.
Wie in der Mac-Technologieübersicht erwähnt :
App-Sandbox
App Sandbox wurde in OS X v10.7 eingeführt und bietet eine letzte Verteidigungslinie gegen gestohlene, beschädigte oder gelöschte Benutzerdaten, wenn bösartiger Code Ihre App ausnutzt. App Sandbox minimiert auch den Schaden durch Codierungsfehler. Seine Strategie ist zweigeteilt:
Mit App Sandbox können Sie beschreiben, wie Ihre App mit dem System interagiert. Das System gewährt Ihrer App dann nur den Zugriff, den sie benötigt, um ihre Aufgabe zu erledigen, und nicht mehr.
App Sandbox ermöglicht es dem Benutzer, Ihrer App transparent zusätzlichen Zugriff zu gewähren, indem er die Dialogfelder „Öffnen“ und „Speichern“, Drag-and-Drop und andere vertraute Benutzerinteraktionen verwendet.
Insbesondere kann ein Entwickler die folgende Berechtigung implementieren, wie hier in Enabling App Sandbox erwähnt, genau das, was Sie in Ihrer Frage beschrieben haben, also ist dies wahrscheinlich die Berechtigung, die der Entwickler des A/V-Programms verwendet hat, um nur Lese- und Schreibzugriff zu erhalten.
com.apple.security.files.user-selected.read-write
Lese-/Schreibzugriff auf Dateien, die der Benutzer über einen Öffnen- oder Speichern-Dialog ausgewählt hat
Beachten Sie, dass dies nicht dasselbe ist wie ein echter Administratorbenutzer, da dem Programm nicht das Ausführungsrecht gewährt würde.
Du siehst es nicht richtig. Sandboxing umgeht keine Dateiberechtigungen. Wenn Sie keinen Schreibzugriff auf eine Datei haben, erhalten Sie mit der Berechtigung zum Schreiben von Dateien keinen Schreibzugriff auf die Datei. Ebenso können die NSOpen/NSSave-Dialoge auf nichts zugreifen, auf das sie bei deaktiviertem Sandboxing nicht zugreifen können.
Jack Humphries
grg