Wenn Sie TinkerTool System zum ersten Mal starten, integriert sich das Programm automatisch in das Sicherheitsmodell von macOS. Dies ist notwendig, da das Programm benutzt werden kann, um kritische Vorgänge in macOS durchzuführen, zum Beispiel um Betriebssystemdateien zu ändern oder sogar zu löschen. Nur verantwortliche Systemverwalter, die den jeweiligen Computer warten, sollten das Recht für solche Aktionen haben.
Um einen hohen Sicherheitsstandard zu garantieren, arbeitet TinkerTool System zweigeteilt: Das normale Hauptprogramm mit der grafischen Oberfläche koordiniert alle Vorgänge. Es führt außerdem alle Arbeiten durch, für die keinen besonderen Berechtigungen erforderlich sind. Sobald jedoch ein sogenannter privilegierter Vorgang ausgeführt werden muss, also eine besondere, mit Berechtigungen geschützte Operation, wie zum Beispiel das Ändern einer Einstellung, die sich auf alle Benutzer des Computers, nicht nur den aktuellen, auswirkt, hält das Programm an, macht auf den bevorstehenden Vorgang aufmerksam, und prüft, ob der aktuelle Benutzer sich als Systemverwalter ausweisen kann. Wenn dies der Fall ist, wird die Arbeit fortgesetzt und die entsprechende privilegierte Operation kann starten.
Der privilegierte Vorgang wird jedoch nicht vom Hauptprogramm selbst abgearbeitet. Eine zweite Komponente, das privilegierte Hilfsprogramm, übernimmt diese Arbeit, indem es über einen geschützten, abhörsicheren Kanal den Auftrag des Hauptprogramms entgegen nimmt. Selbst wenn es einem unbefugten Angreifer gelingen würde, das Hauptprogramm zu manipulieren, kann es keine kritischen Schadfunktionen im Computer auslösen, weil es dazu nicht berechtigt ist. Nur die privilegierte Komponente, die von macOS überwacht wird und besonders geschützt ist, hat diese technische Möglichkeit. Es findet also eine Trennung der Benutzerrechte statt. Das Hilfsprogramm wird in diesem Zusammenhang auch als Sicherheitskomponente bezeichnet.
Kann sich der aktuelle Benutzer nicht als Systemverwalter ausweisen, wird der privilegierte Vorgang abgewiesen und die Ausführung verweigert. Sie erhalten in der grafischen Oberfläche den Hinweis, dass die anstehende Aktion aus Berechtigungsgründen nicht fortgeführt werden konnte.
Apples Richtlinien erfordern es, dass ein Administrator den automatischen Start der Sicherheitskomponente genehmigt, bevor TinkerTool System genutzt werden kann, da die Sicherheitskomponente Dienste für alle Benutzer gleichzeitig erbringt. Solche Programme werden von Apple als Hintergrundobjekt bezeichnet.
Die Sicherheitskomponente wird von macOS automatisch gestartet, wenn Sie TinkerTool System starten. Sie läuft nicht im Hintergrund, wenn TinkerTool System nicht läuft.
Die Genehmigung kann auf zwei Arten erteilt werden, entweder beim ersten Start des Programms oder jederzeit über das Programm Systemeinstellungen. Beim ersten Start ist der normale Ablauf wie folgt:
In älteren Versionen von macOS kann während des allerersten Starts des Programms ein Neustart des Computers erforderlich sein. Leider wird dieser Schritt von Apple erzwungen.
Sie können die Genehmigung auch jederzeit über das Programm Systemeinstellungen erteilen:
Um die erwähnte, von macOS überwachte Bindung zwischen Hauptprogramm und privilegierter Komponente aufzubauen, fragt macOS beim ersten Start von TinkerTool System nach der Berechtigung, ein Hilfsprogramm einrichten zu dürfen. Wurde das spezielle Vertrauensverhältnis zwischen Hauptprogramm und Hilfsprogramm aufgebaut, übernimmt ab da an TinkerTool System die Steuerung der Sonderrechte. Für das Überprüfen der Berechtigung, einen geschützten Vorgang ausführen zu dürfen, gelten folgende Regeln:
Aus Sicherheitsgründen können nur diejenigen Benutzer einen privilegierten Vorgang in TinkerTool System aufrufen, für die der Punkt Der Benutzer darf diesen Computer verwalten in der Benutzerverwaltung von macOS eingeschaltet ist. Solche Benutzer werden auch als Administratoren bezeichnet. Dieses Sonderrecht ist die Standardeinstellung für denjenigen Benutzer, dem der Computer gehört und der ihn eingerichtet hat.
Das Programm liest Ihr Kennwort nicht mit: Weder das Hauptprogramm noch die privilegierte Komponente sind direkt an der Kennworteingabe und an der Überprüfung dieses Kennworts beteiligt. Beide Vorgänge werden ausschließlich durch macOS vorgenommen, so dass Ihr Kennwort nicht mitgelesen werden kann. Erst nachdem macOS Ihre Identität überprüft hat, wird das Ergebnis dem Programm mitgeteilt.
Die vorgenannte Regel gilt für die Freigabe privilegierter Vorgänge, jedoch nicht für andere Anmeldevorgänge, die ebenso mit Kennworten geschützt sein können. Wenn das Programm sich bei Server-Diensten oder anderen Computern im Netzwerk anmelden muss, kann es aus technischen Gründen erforderlich sein, dass das Programm das Kennwort in diesem Fall vorübergehend selbst entgegennehmen muss. In solch einem Fall werden Sie vorher ausdrücklich auf diesen Umstand hingewiesen.
Auf Computern mit Touch ID kann die Überprüfung auch per Fingerabdruck erfolgen: Ist Ihr Computer mit Apples Fingerabdrucklesegerät Touch ID ausgestattet, kann die Überprüfung Ihrer Identität wahlweise auch per Fingerabdruck erfolgen. Wie in macOS üblich, können Sie jederzeit wählen, ob Sie sich per Kennwort oder per Fingerabdruck identifizieren möchten.
Eine Bestätigung gilt jeweils für den laufenden Vorgang und auf Wunsch fünf (5) Minuten für weitere Vorgänge: In einigen Fällen muss TinkerTool System mehrere privilegierte Einzeloperationen schnell hintereinander ausführen, um einen bestimmten Ablauf zu erreichen, z.B. muss oft eine geschützte Datei gelöscht und dann eine neue Datei in einem geschützten Ordner angelegt werden. Das Programm ist darauf ausgelegt, solche zusammengesetzten Vorgänge als Einheit zu behandeln, auch wenn diese intern als zwei einzelne Operationen verarbeitet werden, die unterschiedliche Rechte erfordern. Sie müssen sich nur einmal und nicht zweimal identifizieren. Aber auch mehrere nicht zusammengehörende Vorgänge führen nicht immer zu einer erneuten Kennworteingabe: Falls zwischen einem privilegierten Vorgang und Ihrer letzten Bestätigung im Programm weniger als fünf Minuten liegen, wird auf eine erneute Überprüfung Ihrer Identität verzichtet.
Falls Sie diese 5-Minuten-Regel aufheben möchten, um jeden zusammenhängenden Vorgang einzeln zu schützen, ist dies möglich. Sie können über die Einstellungen des Programms eine noch strengere Prüfung erzwingen:
Eine Bestätigung wird nicht mit anderen Programmen geteilt: Wenn Sie TinkerTool System Ihre Identität bestätigt haben, um einen privilegierten Vorgang auszuführen zu können, gilt diese Bestätigung nur für das Programm selbst, jedoch nicht für andere Programme. Auch dies ist strenger als die üblichen Sicherheitsregeln in macOS, die es zulassen würden, innerhalb von fünf Minuten nach der Kennworteingabe auf weitere Bestätigungen in allen Programmen der gleichen Anmeldesitzung zu verzichten.
TinkerTool System hält sich streng an die aktuellen Vorgaben von Apple für das Bereitstellen von privilegierten Sicherheitskomponenten. Leider sind die neuesten Techniken, die Apple zur Realisation vorschreibt, nicht immer ausgereift. Das kann im Detail von der macOS-Version abhängen, die Sie einsetzen. Im Moment gelten insbesondere folgende Einschränkungen:
Es darf sich nur ein einziges Exemplar des Programms auf Ihrem Computer befinden. Sie sollten es vermeiden, beim Start des Programms mehrere Versionen oder mehrere Kopien auf Ihrem Mac zu haben. Nur Sicherheitskopien auf Time Machine-Volumes sind zulässig.
Nachdem Sie die Genehmigung Im Hintergrund erlauben wie oben beschrieben erteilt haben, sollten Sie das Programm nicht umbenennen oder in einen anderen Ordner verschieben. Sie müssen sonst den gesamten Genehmigungsvorgang wiederholen.
Während Sie den Mac starten, muss macOS das Programm auf dem Start-Volume „sehen“ können. Es sollte sich also im Ordner Programme des Start-Volumes oder einen Unterordner davon befinden.
In manchen Versionen von macOS können weitere Einschränkungen bestehen. Ausführliche Informationen finden Sie möglicherweise auch im Kapitel Wichtige technische Hinweise.
TinkerTool System weist eine lange Geschichte auf und hat mit seiner Sicherheitsarchitektur bereits viele Generationen des Betriebssystems geschützt. Da Apple die Vorgaben und Techniken für diesen Aspekt des Systems häufig geändert hat, kann es in der Vergangenheit erforderlich gewesen sein, die Sicherheitskomponente auf eine komplett neue Technik umzustellen. Sie müssen sich in der Regel nicht darum kümmern.
In älteren Versionen von macOS konnte es jedoch Fälle geben, in denen sich eine aktualisierte Sicherheitskomponente so stark von den Vorgängerversionen unterscheidet, dass die alte aus technischen Gründen nicht vollautomatisch entfernt werden konnte. Es bleibt also eine veraltete Version des privilegierten Hilfsprogramms im System zurück, auch wenn das Hauptprogramm gelöscht oder aktualisiert wurde. Dies stört normalerweise nicht, da macOS diese Programme nur bei Bedarf startet. Sie können sich jedoch dazu entscheiden, diese alten Komponenten zu löschen, um einen möglichen Missbrauch zu verhindern und Ihren Computer aufzuräumen.
TinkerTool System unterstützt dies mit einer speziellen Wartungsfunktion, die nach alten Hilfsprogrammen sucht und diese auf Wunsch entfernen kann. Führen Sie hierzu folgende Schritte durch:
Es erscheint ein Fenster wie im abgebildeten Beispiel. Die Tabelle listet alle Komponenten auf, die theoretisch aus alten Versionen des Programms vorhanden sein könnten. Fett markierte Komponenten sind tatsächlich vorhanden und werden als entfernbar ausgewiesen. Sie können eine oder mehrere dieser Komponenten auswählen und den Knopf Bereinigen drücken, um diese zu löschen. Sollten Komponenten unerwartet noch in Benutzung sein, wird dies automatisch erkannt. Solche Hilfsprogramme können erst dann gelöscht werden, wenn Sie das zugehörige Programm beenden.
In älteren Versionen des Programms gab es Sonderfälle bei der Genehmigung privilegierter Vorgänge, bei denen eine Anmeldung eines Benutzers mit Verwaltungsrechten aus Sicherheitsgründen nicht erlaubt war. Auf Wunsch können Administratoren dieses frühere, stärker eingeschränkte Verhalten wieder wirksam werden lassen.
Ein Benutzer, der gerade nicht als Administrator bei macOS angemeldet ist, kann trotzdem privilegierte Vorgänge ausführen, falls er die Anmeldedaten eines Administrators kennt. Er braucht dazu die laufende Anmeldesitzung nicht zu unterbrechen. Falls diese Möglichkeit aus Sicherheitsgründen nicht gewünscht ist, kann ein Administrator dies sperren, indem er folgenden Befehl in die Kommandozeile des betroffenen Computers eingibt:
sudo defaults write /Library/Preferences/com.bresink.system.tinkertoolsystem8.plist MBSBlockAuthForNonAdminLogin -bool true
Um Benutzer als berechtigt für einen privilegierten Vorgang zu erkennen, verwendet das Programm eine Funktion von macOS, die als lokale Benutzeridentifikation bekannt ist. macOS überprüft hierbei die Identität des Benutzers durch ein Dialogfenster, das zur Eingabe von Name und Kennwort auffordert. Alternativ ist aber auch die Verwendung von Sicherheits-Hardware möglich, z.B. das Einlesen eines Fingerabdrucks per Touch ID oder die Verwendung einer Smartcard.
Es gibt Sonderfälle, bei denen macOS die lokale Benutzeridentifikation ablehnt und den Benutzer als unberechtigt zurückweist:
In solchen Fällen schaltet das Programm automatisch auf die herkömmliche Anmeldung eines Administrators über Name und Kennwort um. Falls diese Möglichkeit aus Sicherheitsgründen nicht gewünscht ist, kann ein Administrator dies sperren, indem er folgenden Befehl in die Kommandozeile des betroffenen Computers eingibt:
sudo defaults write /Library/Preferences/com.bresink.system.tinkertoolsystem8.plist MBSBlockLocalAuthFallback -bool true
Beide oben genannten Richtlinien können unabhängig voneinander ein- oder ausgeschaltet werden. In der Regel tritt die Änderung beim nächsten Start des Programms in Kraft. Es kann allerdings besondere Betriebssituationen geben, in denen macOS die Aktivierung verzögert. Soll sichergestellt sein, dass die Änderung auf jeden Fall wirksam wird, ist zu empfehlen, den Computer neu zu starten.
Erst am Ende des Befehls darf die Eingabetaste gedrückt werden, auch wenn ein Befehl aus Platzgründen eventuell mehrzeilig angegeben ist. macOS fragt nach der Eingabe nach dem Kennwort des gerade angemeldeten Administrators. Dieses wird verdeckt eingegeben, erscheint also nicht auf dem Bildschirm.
Um das Verhalten wieder auf den Standard zurückzuschalten, können die folgenden Befehle verwendet werden:
sudo defaults delete /Library/Preferences/com.bresink.system.tinkertoolsystem8.plist MBSBlockAuthForNonAdminLogin
beziehungsweise
sudo defaults delete /Library/Preferences/com.bresink.system.tinkertoolsystem8.plist MBSBlockLocalAuthFallback