Gatekeeper in Mountain Lion: was macht er und was nicht?

Gatekeeper in Mountain Lion: was macht er und was nicht?

Kaum ist gestern Mountain Lion erschienen und die Downloads laufen, schon wird in den Userforen diskutiert, was denn Mountain Lion so mit sich bringt, wie es funktioniert etc. Leider sind die deutschsprachigen Foren und Newsseiten mal wieder glänzend unterinformiert und es wird viel Stuss geschrieben. Wer eine gute, technisch fundierte Abhandlung lesen will und des Englischen mächtig ist, der sei zu Ars Technica verwiesen, zum exzellenten Artikel von John Syracusa zu Mountain Lion.

Ansonsten war Gatekeeper einer der am meisten missverstandenen Punkte in 10.8. Zugegebenermassen ist auch Apples Erklärung nicht jedermanns Sache. Daher will ich hier auch mal versuchen, ein wenig Licht ins Dunkel zu bringen:

Gatekeeper ist ein Systembestandteil, der je nach Einstellung vor der ersten Benutzung von aus dem Internet erhaltener Software warnt, bzw. deren Start verhindert. Er hat keinerlei Auswirkung auf Programme, die schon auf dem Mac drauf sind oder die man z.B. mittels CD/DVD, USB-Stick, Drag & Drop oder einer Software-Verteilungslösung installiert. Wer ein Programm auf eine dieser Arten installiert, macht das ja wissentlich und will dieses Programm auch haben. Der mündige User ist hier nach wie vor selbst verantwortlich was er installiert und kann selbstverständlich auch nach wie vor seinen Mac „vollmüllen“ (ihr glaubt gar nicht, was wir da schon alles gesehen haben, aber OK, das wäre eine andere Geschichte). Gatekeeper ist also nur für neue Programme aus dem Internet zuständig – zum Beispiel mit Safari runtergeladen, als Mailanhang bekommen oder als Chat-Nachricht verschickt. Mac OS X nimmt solche Dateien schon länger in Quarantäne. Dazu wird beim Laden das sogenannte Quarantäne-Bit gesetzt. Wird ein solches Programm zum ersten mal ausgeführt, gab es bisher den Warndialog, dass dies ein Programm aus dem Internet sei und ob man es wirklich benutzen will.

Genau hier setzt jetzt Gatekeeper an. Es gibt drei Sicherheitsstufen:

  • Nur Programme aus dem Mac App Store
  • Programme aus Mac App Store und von verifizierten Entwicklern (Voreinstellung)
  • Alle Programme zulassen (keine Sicherheit)

Gatekeeper prüft die Codesignatur des Programmes. Nur wenn diese intakt ist und der eingestellten Sicherheitsrichtlinie (Policy) für Gatekeeper entspricht, kann das Programm geöffnet werden. Die Codesignatur kann nichts darüber aussagen, was das Programm macht, ob es „gut“ oder  „böse“ ist, aber die Codesignatur stellt zwei Dinge sicher:

  1. Der Hersteller des Programms ist auch wirklich der, der draufsteht. (Es kann nicht einfach jemand vorgeben, der Entwickler von etwas zu sein und unter falschem Namen eine „böse“ Version veröffentlichen. Das würde Auffallen.)
  2. Das Programm wurde bei der Übertragung zwischen Hersteller und User nicht modifiziert. Dadurch konnte „unterwegs“ kein böser Code eingeschleust werden. Ansonsten würde die Überprüfung der Codesignatur fehlschlagen.

Apple kann natürlich weder für die Programme im Mac App Store, noch für die ausserhalb des Mac App Store vertriebenen Programme von drittanbietern eine Garantie geben, aber wenn über die Codesignatur klar ist, welches Unternehmen die App herausgibt, ist ein Missbrauch sehr viel unwahrscheinlicher, weil man ja den Verursacher eindeutig identifizieren kann. Damit ist Code-Signing und die Überprüfung durch Gatekeeper keine absolute Sicherheit, aber eine höhere ohne, denn die typische, übers Internet verteilte Malware, die sich in „I love you“ ähnlichen Mails versteckt, sich als QuickTime oder Flash Codec tarnt, wird durch Gatekeeper abgehalten.

Drei praktische Beispiele. Mein MacBook Pro ist in der Voreinstellung von Gatekeeper, d.h. Programme vom Mac App Store und verifizierten Entwicklern sind erlaubt.

  1. Installation von Evernote aus dem Mac Apps Store: Wie erwartet, keine Frage, keine Warnung, runterladen und geht.
  2. Installation von VLC, dem beliebten Video-Player: VLC ist nicht im Mac App Store. Man lädt es von der Projekt-Homepage. Ich lade es, installiere VLC und starte es. Ich bekomme die gleiche Warnung wie in 10.7.:
    Ich klicke auf öffnen und von da an kann ich VLC benutzen. Bei weiteren Starts keine weitere Frage. Gatekeeper hat hier VLC „durchgelassen“, weil die Entwickler von VLC sich bei Apple angemeldet haben und sich verifizieren haben lassen.  Das Gute für den User ist, dass man sicher sein kann, dass es sich um das Original handelt und dieses auch nicht verändert wurde, obwohl es ein Programm von ausserhalb des Mac App Stores ist. Ich kann also VLC mit gutem Gewissen nutzen.
  3. Installation von Sub Etha Edit von den Coding Monkeys: Ich lade es runter und siehe da, Gatekeeper schlägt zu:
    Gatekeeper erlaubt den Start nicht, da dieser Entwickler nicht verifiziert ist, d.h. SubEthaEdit verfügt über keine für meinen Mac gültige Codesignatur. Es könnte also von jemand ganz anderem stammen oder der Download könnte manipuliert sein. Darum sperrt Gatekeeper.

Möchte man übrigens trotzdem dieses Programm nutzen, reicht ein Control-Klick (oder Rechts-Klick) und man kann es nach Eingabe eines Admin Kennwortes starten, indem man im Kontextmenü den Punkt „Öffnen“ anwählt. Danach ist dieses Programm immer benutzbar (sprich: Das Quarantäne Flag ist weg).

Gatekeeper verhindert also bei weitem nicht die Installation von Programmen, die nicht aus dem Apple Store kommen, sondern ist eine weitere Warnung vor potentiell gefährlicher Software aus dem Internet. Und ja, auch ein Programm eines verifizierten Entwicklers könnte schadhaft sein, aber wenn der Herausgeber bei Apple registriert und bekannt ist, ist doch das Risiko für so etwas geringer.

Ich hoffe, dass es nun etwas klarer ist.

1 Comment
  • Alex
    Posted at 15:53h, 30 Juli

    Danke für den guten Artikel.