Wie man OS X sicherer machen könnte: Zertifikate für alle statt Sandbox

Flavio Trillo
15

Das sogenannte “Sandboxing” wird nun doch erst ab dem 1. März 2012 Pflicht für alle Entwickler, die ihre Anwendungen über den Mac App Store vertreiben wollen. Solche Sicherheitsmaßnahmen sollen Mac OS X weniger anfällig für Malware wie den MacDefender machen. Doch sind sie dafür wirklich geeignet? Nein, meint ein Entwickler und schlägt Apple vor, wie der Mac noch sicherer werden könnte.

Wil Shipley von der Software-Schmiede Delicious Monster stellt die drei Methoden dar, mit deren Hilfe Apple derzeit für die Sicherheit der auf Mac und iPhone laufenden Programme sorgt. Da wäre zunächst die “Sandbox“, der Sandkasten, der den Hersteller in die Lage versetzt, die Berechtigungen jedes einzelnen Programms zu regeln. Da geht es zum Beispiel um den Zugriff auf das Dateisystem oder den Drucker.

Um diese Befugnisse muss der Entwickler bitten und das tut er, indem er sie in eine Datei schreibt, die der Anwendung beigefügt wird. Versucht die App nun etwa, die E-Mails des Anwenders auszulesen und an einen Server zu schicken, erlaubt das Betriebssystem diesen Zugriff nicht.

Das klingt an sich nicht verkehrt, hat aber Shipley zufolge den Nachteil, dass das System absolut wasserfest sein muss. Alle Funktionen von OS X müssten mit einem solchen “Berechtigungsschalter” versehen werden, der es Anwendungen entweder erlaubt oder verbietet, auf sie zuzugreifen. Das dürfte auch der Grund für die Verspätung der Funktion bis zum nächsten Frühjahr sein, Apple hat OS X Lion einfach noch nicht auf dieses umfangreiche Sicherheitssystem vorbereitet.

Der ehemalige Chef-Entwickler bei Apple, Bertrand Serlet, habe Shipley einmal verraten, dass Mac OS X inzwischen über ebenso viele Instruktionen verfüge, wie man im menschlichen Gehirn vermutet. All diese “Schalter” anzulegen und korrekt zu überwachen ist also nicht gerade eine kleine Aufgabe. Man müsste perfekt Programmieren, um keine Sicherheitslecks in der Sandbox zu riskieren. Könnte Apple das aber, hätten sie auch einfach alle aktuellen Exploits unter OS X bereits entfernen können. “Die Antwort lautet: Es gibt keinen perfekten Code. Es gibt nur die Möglichkeit, grazil Fehler zu begehen”, so Shipley.

Mithilfe einer einfachen Analogie illustriert er das Prinzip: Man stelle sich das Berechtigungssystem so vor, als wenn man jeder Anwendung einen Schlüsselbund für ein äußerst sicheres Gebäude mit unzähligen Türen und Schlössern gibt. Allerdings funktionieren manche Schlösser nicht und einige Türen sind überhaupt nicht abgeschlossen. Nur wenn ein Programm zu viele Schlüssel auf einmal beantragt, wird es durch Apple genauer überprüft, alle anderen erhalten ihre Schlüssel ohne nähere Untersuchung. Zudem kann jeder Entwickler sich dafür entscheiden, das Schlüsselsystem abzulehnen, darf dann aber trotzdem alle Türen problemlos öffnen.

Zweitens versucht Apple, neu eingereichte Anwendungen für den Mac App Store durch den Freigabeprozess zu überprüfen. Doch hier beginnt das Katz-und-Maus-Spiel mit den Malware-Entwicklern. Sie versuchen, ihren Schadcode immer tiefer innerhalb einer augenscheinlich harmlosen App zu verbergen; Apple versucht, immer genauer zu prüfen. Auch hier besteht, wie bei der “Sandbox” die Einschränkung, dass nur solche Programme überhaupt geprüft werden, die sich den Regeln des Mac App Store unterwerfen.

Eine Lösung hierfür wäre es, allein solche Programme auf dem Mac zu erlauben, die aus dem eigenen Mac App Store kommen. Doch damit würde der Hersteller nicht nur viele Anwender verärgern. Auch die freie Innovation in solchen Kreisen, die sich nicht leisten können, 30 Prozent ihrer Einnahmen als Provision abzugeben, würde gehemmt.

Also schlägt Shipley vor, Zertifikate auszugeben. Die funktionieren ähnlich wie ein Siegel im Mittelalter: Wurde das Siegel nicht aufgebrochen, kann man davon ausgehen, dass Inhalt und Absender der Nachricht nicht manipuliert wurden. Die einzige Bedingung dabei ist, dass man dem Absender, also dem Aussteller des Zertifikats traut. Ein solch vertrauenswürdiger Aussteller wäre zum Beispiel Apple und dieser gibt bereits eigene Sicherheits-Zertifikate für alle Programme im Mac App Store aus. Doch so gilt natürlich auch hier: Wer Anwendungen über eigene Kanäle anbietet, ist davon ausgenommen.

Sein Lösungsvorschlag, so der Entwickler, sei folgender: Cupertino soll jedem Entwickler erlauben, seine Apps eigens mit dem von Apple ausgestellten Zertifikat zu signieren. Bislang signiert Apple immer noch selbst und wie gesehen nur dann, wenn das Programm über den Mac App Store vertrieben wird. Dank allgemein ausgestellter Zertifikate hätte der Hersteller einerseits die fortschreitende Innovation außerhalb seines Stores ermöglicht, andererseits aber mithilfe eines “Kill-Switches” die Möglichkeit, jeder Anwendung, die sich wie Malware verhält, den Garaus zu machen.

Dafür muss nur das Zertifikat für den betreffenden Entwickler zurückgezogen werden, OS X würde dann die Ausführung des Programms nicht mehr erlauben. Nur noch solche Software, die mit einem gültigen Apple-Zertifikat signiert wurde, könnte so auf dem Mac gestartet werden.

Seiner Ansicht nach schützen die aktuellen Sicherheitsmaßnahmen, nämlich Sandboxing und der Freigabe-Prozess durch die App-Store-Wächter, gegen keine der bekannten Sicherheitslecks in OS X. Jeder Mac erlaubt nämlich auch die Installation von Software, die nicht durch den Mac App Store installiert wurde. Das will er auch gar nicht ändern, nur das Vertrauen in die Quelle, sei sie auch außerhalb des Apple-Ökosystems, könnte durch Zertifikate in der beschriebenen Art und Weise gestärkt werden.

Vom Standpunkt der Sicherheit sicher kein schlechter Gedanke. Die Frage ist nur, ob man tatsächlich auch die Kontrolle über die Inhalte auf dem Computer derart in die Hände eines Herstellers geben möchte, wie man es etwa auf dem iPhone bereit ist zu tun (die Möglichkeit eines Jailbreak einmal außen vor gelassen).

Weitere Themen: AppKack der Woche: Die schlechtesten Mobile Games, Apple

Neue Artikel von GIGA APPLE

GIGA Marktplatz