Mit GateKeeper kann ich alles installieren, es werden keine Überprüfungen durchgeführt

9

Ich kann Anwendungen von benutzerdefinierten Websites herunterladen und ausführen, auch wenn sich meine Gatekeeper-Einstellungen auf "Nur AppStore" befinden. Dies ist meine Bewerbung - sie ist nicht einmal unterschrieben.

Was könnte der Grund dafür sein? Ich kann dieses Verhalten auf allen meinen 3 Macs reproduzieren.

JasonGenX
quelle
2
Wie laden Sie die Apps herunter und erweitern sie?
Gordon Davisson
über einen smb: // Server Dateispeicherort. Kopieren Sie sie auf meinen Desktop. Bei anderen Maschinen werden dadurch die Sicherheitsmechanismen korrekt ausgelöst. Auf meinen Computern ist, obwohl ich "AppStore Only" habe und dieselbe Datei verwendet, der gleiche Weg zulässig, ohne Einschränkungen für die Installation und Ausführung. Geheimnis.
JasonGenX
2
Was passiert, wenn Sie dieselbe Datei über http herunterladen?
stuffe

Antworten:

7

Dies ist eine Status-by-Design-Funktion, bei der ein Administrator Gatekeeper jederzeit überschreiben und eine Anwendung öffnen kann, indem er mit der rechten Maustaste auf die App im Finder klickt.

Ein Administrator kann auch die Gatekeeper-Einstellungen ändern oder ganz deaktivieren, sodass die Anzeige eines einmaligen Dialogfelds mit einer weißen Liste (zumindest in meinen Augen) keinen wirklichen Schaden anrichtet, um sicherzustellen, dass der Administrator beabsichtigt, eine nicht konforme (nicht signierte) Einstellung zuzulassen oder Nicht-Mac App Store) Anwendung ausführen.

Apples Trainingsdialog für Gatekeeper - unter support.apple.com/kb/HT5290

Wenn Sie nun einen Weg gefunden haben, wie ein Benutzer ohne Administratorrechte Gatekeeper umgehen kann, würde ich erwarten, dass eine Sicherheitslücke bei Apple eingereicht wird, um eine Gutschrift für das Auffinden einer Lücke zu erhalten, sobald sie einen Implementierungsfehler behoben haben, der die Ausführung von Apps außerhalb der Richtlinie ermöglicht.

Apple dokumentiert diese Funktion ausführlich, um eine Anwendung explizit auf die weiße Liste zu setzen.

Gatekeeper ist kein Malware-Schutz und keine schwarze Liste. Es handelt sich um eine Reihe von Richtlinien, die den ersten Start ordnungsgemäß signierter Anwendungen und / oder die Validierung von Mac App Store-Belegen ermöglichen. Wenn ein Administrator explizit die Ausführung nicht konformer Software startet und dann genehmigt, liegt ein Bildungs- oder Richtlinienproblem vor , anstatt einen Fehler in Gatekeeper aufzudecken.

Im Detail habe ich die relevanten Abschnitte der Apple-Hilfe in der weißen Liste aller Apps zusammengefasst (und größtenteils kopiert), damit Gatekeeper sie ungehindert und unaufgefordert ausführen kann:

So öffnen Sie eine App von einem nicht identifizierten Entwickler und befreien sie von Gatekeeper

Wenn Sie sicher sind, dass die aus dem Internet heruntergeladene App die neueste Version ist und von einer Quelle stammt, der Sie vertrauen, können Sie eine App von einem nicht identifizierten Entwickler öffnen, indem Sie die folgenden Schritte ausführen.

Wichtig: Einige von Apple überprüfte Apps von Entwicklern, die gerade Entwickler-ID-Signaturen abrufen, zeigen die Option "Öffnen" an, wenn sie doppelklicken.

Hinweis: In den meisten Fällen müssen Sie diese Schritte für alle Benutzerkonten auf dem Mac nur einmal ausführen:

  • Klicken Sie im Finder bei gedrückter Ctrl-Taste oder Rechtsklick auf das Symbol der App.
  • Wählen Sie oben im angezeigten Kontextmenü die Option Öffnen.
  • Klicken Sie im Dialogfeld auf Öffnen. Wenn Sie dazu aufgefordert werden, geben Sie einen Administratornamen und ein Kennwort ein.

Hinweis: Wenn es eine App gibt, die mehrere Gatekeeper-Dialogfelder anzeigt, können Sie die Gatekeeper-Option "Immer" vorübergehend verwenden. Stellen Sie sicher, dass Sie die zuvor vorhandene Gatekeeper-Option wiederherstellen, um die Gatekeeper-Funktion wiederherzustellen.

Sie können einfach steuern, wer Anwendungen auf die weiße Liste setzen kann, indem Sie Benutzernamen, die diese Funktionalität nicht kennen, nicht mit Administratorbenutzernamen und -kennwörtern versorgen. Außerdem können Sie Gatekeeper über das Terminal oder den Profilmanager und andere verwaltete Einstellungssoftware wie Casper von JAMF verwalten. Sie können Ihre Computer auch auf Software prüfen, die auf der weißen Liste steht, um die Liste der zulässigen Apps regelmäßig zurückzusetzen und festzustellen, wer diese Funktion ausübt, falls Sie Richtlinien und Gewohnheiten ändern möchten.

bmike
quelle
Gibt es eine Einstellung, die diesen einmaligen Dialog zurücksetzt? ist das pro Anwendung? Wie werden Apps identifiziert? Name? Pfad? Wenn ich "MyApp.app" einmal geöffnet habe, sind alle nächsten Downloads und Installationen von "MyApp.app" unabhängig von den GateKeeper-Einstellungen erfolgreich?
JasonGenX
Jeder Benutzer hat verschiedene Regeln , die in gespeichert zu bekommen / var / db / SystemPolicy - so würde man ein bisschen schwer sein geben , das wischen und von vorn beginnen, aber Sie können mit bestimmten Regeln entfernen , spctlso spctl --assess -v /Applications/Whatever.appwürden Ihnen zeigen , wenn es erlaubt oder abgelehnt und spctl --remove /Applications/Whatever.appwürden zurückgesetzt den "Dialog" und den Status für eine bestimmte Anwendung. Ich verwende ein Tool, um alle Apps auf Systemen zu sammeln, damit ich die Nutzung überwachen und bei Bedarf mit einem kurzen Skript korrigieren kann.
bmike
Laut Gordons Antwort hängt dies jedoch auch vom gesetzten Quarantänebit ab. Nur weil GateKeeper keinen Eintrag in der weißen Liste hat (oder entfernt wird), muss das Quarantänebit zurückgesetzt oder die App gelöscht werden, um das " Gatekeeper "Dialogfeld und Schutz öffnen.
bmike
10

Das Herunterladen einer Datei über SMB löst keine Quarantäne aus. Da die App nicht unter Quarantäne gestellt wird, wird die Gatekeeper-Richtlinie nie überprüft. Ich bin nicht sicher, warum es auf Ihren anderen Computern als unter Quarantäne gestellt markiert ist ...

Verwenden Sie den ls -ld@Befehl, um zu jedem Zeitpunkt nach Quarantäne zu suchen, und suchen Sie nach dem Attribut com.apple.quarantine:

$ ls -ld@ /Applications/TextWrangler.app
drwxrwxr-x@ 3 gordon  staff  102 Apr 30  2012 /Applications/TextWrangler.app
    com.apple.FinderInfo     32 
    com.apple.quarantine     57 

Wenn dieses Quarantäneattribut an die App angehängt ist, wird die Gatekeeper-Richtlinie überprüft. Wenn nicht, wird es nicht. Die interessante Frage ist, warum es auf Ihren anderen Computern unter Quarantäne gestellt wurde. Wenn Sie diesen Befehl verwenden, um die Anwendung an verschiedenen Stellen beim Verteilen zu überprüfen, können Sie herausfinden, wann das Attribut angehängt wird (und warum es angehängt wird).

BEARBEITEN: Diesen Hinweis finden Sie im Abschnitt "Klicken Sie hier, um weitere Informationen zu erhalten" in Apples KB-Artikel # HT5290 :

Wichtig: Die Entwickler-ID-Signatur gilt für Apps, die aus dem Internet heruntergeladen wurden. Apps aus anderen Quellen wie Dateiservern, externen Laufwerken oder optischen Datenträgern sind davon ausgenommen, es sei denn, die Apps wurden ursprünglich aus dem Internet heruntergeladen.

Gordon Davisson
quelle
Gatekeeper unterscheidet sich von Quarantäne, obwohl sie zusammen vor versehentlichem Ausführen neuer Software schützen, die nicht signiert ist und / oder nicht aus dem Mac App Store stammt. Siehe meine Antwort für Details.
bmike
1
@bmike: Tatsächlich ist Gatekeeper eine Erweiterung des Quarantänesystems. Wenn Sie eine App herunterladen und dann ausführen, xattr -d com.apple.quarantinekönnen Sie sie öffnen, auch wenn sie gegen die Gatekeeper-Richtlinie verstößt.
Gordon Davisson
Sie können bereits jede App öffnen, die gegen die Gatekeeper-Richtlinie verstößt. Sie erhalten nur (möglicherweise einen Administrationsdialog und) dann die Möglichkeit, aus Richtlinien-Apps eine weiße Liste zu erstellen. Wollen Sie damit sagen, dass ein Nicht-Administrator einen Befehl ausgeben könnte, der die Prüfung umgeht, wenn Sie nur Mac App Store haben oder nur Apps signiert haben?
bmike
1
@bmike: Ja, ich habe gerade das Herunterladen, Dequarantieren und Ausführen einer nicht signierten App von einem Nicht-Administratorkonto getestet. Es hat einwandfrei funktioniert, obwohl Gatekeeper auf den Nur-Mac-App-Store-Modus eingestellt war. Aber ich würde dies nicht als signifikante Sicherheitslücke betrachten, denn wenn ein Schurke einen Benutzer dazu überreden kann, einen Befehl wie diesen auszuführen, kann er sie zu allem überreden, und der Benutzer ist sowieso zum Scheitern verurteilt (und da er kein Administrator ist, Alles, was sie beschädigen können, ist ihr eigenes Konto.
Gordon Davisson
1
Diese. Quarantäne ist nicht dasselbe wie Gatekeeper, aber Gatekeeper verwendet die Metadaten aus Quarantäne, die als erweiterte Attributmetadaten an heruntergeladene Dateien angehängt werden. Wenn ich das Kopfgeld vergeben könnte, würde ich es hier vergeben.
Daniel
4

Wenn Sie diese versteckte Einstellung aktiviert haben, wird auch Gatekeeper deaktiviert:

defaults write com.apple.LaunchServices LSQuarantine -bool false

Oder OS X ermöglicht das Öffnen aller Anwendungen unabhängig von der Einstellung in den Systemeinstellungen.

Lri
quelle
Hoppla, ich habe das komplett verpasst und das Gleiche als separate Antwort gepostet. Jetzt löschen ...
TJ Luoma
2

Gatekeeper verhindert, dass Apps durch Doppelklick ausgeführt werden. Sie können sie jedoch jederzeit überschreiben, indem Sie im Kontextmenü die Option Öffnen auswählen .

Wenn Sie heruntergeladene nicht signierte Apps durch Doppelklicken ausführen können, ist dies ein Problem mit Gatekeeper. Dateien speichern ihren Quarantänestatus in einem erweiterten Attribut namens com.apple.quarantine . Wenn dieses Attribut aus irgendeinem Grund aus Ihren heruntergeladenen Dateien gelöscht wird, behandelt Gatekeeper heruntergeladene Dateien so, dass sie sich nicht von anderen Dateien auf Ihrem Computer unterscheiden. Daher würde ich vorschlagen, dass das Herunterladen eines Programms und die anschließende Verwendung xattr -l filenamein Terminal ein gutes Diagnosetool ist, wenn Sie Xcode installiert haben.

Wenn Sie sie über den Befehl Öffnen in einem Menü ausführen, ist dies das entworfene Verhalten. Beachten Sie, dass ein einmal ausgeführtes Programm über das Menü für immer aktiviert werden kann, unabhängig von Ihren Gatekeeper-Einstellungen.

Daniel
quelle