2 Symbian OS
Das Betriebssystem Symbian OS, hergestellt und vertrieben von dem Softwareunternehmen gleichen Namens, ist mit etwa 70% Marktanteil unter den Smartphones derzeit der absolute Marktführer dieses Segments. Dabei tonangebend in der Entwicklung und weiteren Gestaltung des Symbian-Betriebssystems ist als größter Lizenznehmer die Firma Nokia.
2.1 Dreistufiges Sicherheitsmodell ab Symbian OS v9.1
Durch die hohe Verbreitung und die offene Konzeption von Symbian OS ist das Betriebssystem auch als erste mobile Plattform Opfer virtueller Attacken geworden. Den Anfang machte der Wurm Cabir Anfang des Jahres 2004. Dieser war zwar keine eigentliche Gefahr, zeigte jedoch die Verletzbarkeit der damaligen Symbian OS-Versionen 7 und 8.
Auf Druck der Netzbetreiber und professioneller Anwender und nicht zuletzt durch die große Marktdurchdringung von Symbian OS, hat sich Symbian dann Ende 2005 entschieden das Sicherheitskonzept für die Version 9.1 radikal in ein mehrstufiges, mit Zertifikaten steuerbares Rechtesystem umzuwandeln.
Im Detail besteht das neue Sicherheitsmodell mit dem Namen Symbian Platform Security aus den drei folgenden drei Konzepten, die in den folgenden Abschnitten erklärt werden:
1. Capabilities
2. Signierung der Installationsdateien mit einem Zertifikat
3. Data-Caging
2.2 Capabilities bestimmen den Systemzugriff
In Symbian OS ab Version 9.1 werden bestimmte, als gefährdet eingestufte Funktionen des Systems über sogenannte Capabilities geschützt. Zu diesen Funktionen gehören bestimmte APIs, die beispielsweise bei nicht autorisierter Benutzung Kosten verursachen können oder die Datenintegrität gefährden.
Solche geschützten APIs besitzen immer eine damit verknüpfte Capability. Die API kann nur dann genutzt werden, wenn die Anwendung beziehungsweise der Code Rechte an der entsprechenden Capability besitzt. Das bedeutet, dass eine Anwendung, die Zugriff auf Capabilties benötigt, nur dann ausgeführt werden kann, wenn sie mit einem akzeptierten Zertifikat signiert ist, mit dem diese freigeschaltet werden.
2.2.1 User Capabilities
Die User Capabilities (je nach Quelle auch Basic Capabilities oder Basic Set genannt) sind die „einfachsten“ Capabilities. Der Name leitet sich von User Grantable – also vom Nutzer zustimmbar – ab, da der Nutzer der Anwendung bestimmen kann, ob er sie ausführen will oder nicht. Näheres dazu wird im Abschnitt Signierung behandelt.
Die folgenden Capabilities befinden sich in der User-Klasse:
Capability Beschreibung
LocalServices Erlaubt Zugriff auf lokale Netzwerk-Dienste, die keine Kosten verursachen können (beispielsweise Infrarot und Bluetooth)
Location Erlaubt Zugriff auf die Position des Geräts, beispielsweise über die Netzwerkzellen ID
NetworkServices Erlaubt Zugriff auf remote Netzwerk-Dienste, die Kosten verursachen können (beispielsweise Telefonfunktion, SMS, GPRS/UMTS)
UserEnvironment Erlaubt Zugriff auf vertrauliche Informationen über den Nutzer und seine direkte Umgebung (diese Capability schützt beispielsweise die Kamera eines Gerätes)
ReadUserData Erlaubt Lesezugriff auf vertrauliche Nutzerdaten, beispielsweise Adressbuch oder Textnachrichten
WriteUserData Erlaubt Schreibzugriff auf vertrauliche Nutzerdaten.
2.2.2 Extended Capabilities
Die Klasse der Extended Capabilities beinhaltet sowohl die vorher genannten User Capabilities als auch einige als kritisch eingestufte Capabilities. Der Zugriff auf diese Capabilities wird nur über ein Symbian Signed Zertifikat erlaubt.
Folgende Capabilities beinhaltet die Extended-Klasse:
Capability Beschreibung
PowerMgmt Ermöglicht das Abschalten ungenutzter Systemperipherie, das versetzen/aufwecken aus dem Standby-Modus und das Abschalten des Geräts.
ProtServ Erlaubt einem Server die Registrierung mit einem geschützten Namen. Server ohne ProtServ Capability können sich somit nicht registrieren.
ReadDeviceData Erlaubt Lesezugriff auf vertrauliche Netzwerkbetreiber-, Gerätehersteller- und Gerätedaten (beispielsweise die PIN für die Gerätesperre)
SurroundingsDD Erlaubt Zugriff auf Gerätetreiber die Informationen über die Geräteumgebung liefern (beispielsweise GPS)
SwEvent Ermöglicht die Simulation von Tastatur-/Stifteingaben und diese Eingaben von jedem anderen Programm abzuhören.
TrustedUI Ermöglicht das Erstellen von Dialogen in einer gesicherten UI-Umgebung (beispielsweise bei der Eingabe von Passwörtern)
WriteDeviceData Erlaubt Schreibzugriff auf Einstellungen, die das Geräteverhalten bestimmen, beispielsweise Systemuhr, Zeitzone, Alarme.
2.2.3 Manufacturer Approved Capabilities
In der Klasse der Manufacturer Approved Capabilties befinden sich die kritischsten Capabilities, da sie nahezu das gesamte System des betroffenen Gerätes offen legen. Rechte an Capabilities aus dieser Klasse können nur vom Gerätehersteller gewährt werden (daher der Name Manufacturer Approved),
Rechte an den beiden Capabilities AllFiles und TCB (für Trusted Computing Base), werden nur nach besonders strengen Kriterien (in der Regel eine Analyse des Quellcodes der Anwendung durch den Gerätehersteller) vergeben, da sie Zugriff auf das komplette System erlauben.
2.3 Die Signierung bestimmt die Zugriffsstufe
Die Signierung mit einem Zertifikat ist das zentrale Element der Platform Security. Die Idee hinter diesem Konzept ist, dass eine Anwendung nur dann installiert und ausgeführt werden kann, wenn sie mit einem entsprechenden Zertifikat signiert ist.
Je nachdem, welche Capabilities die Anwendung benötigt, kann sie auf unterschiedliche Arten signiert werden, die in den folgenden Abschnitten erklärt werden.
2.3.1 Signierung mit eigenem Zertifikat
Ein Entwickler kann seine Anwendung mit einem selbst erstellten Zertifikat signieren. Die notwendigen Tools liefert das Symbian SDK mit oder die Entwicklungsumgebung Carbide.C++ signiert die Anwendung beim Bauen automatisch.
Ein solches Zertifikat und der Signierungsprozess sind kostenlos und sehr schnell, da die Anwendung keinen Umweg über die Symbian-Signierungsstelle (Symbian Signed) machen muss. Allerdings erlaubt ein eigenes Zertifikat nur Zugriff auf die oben genannten, einfachen Capabilities der User-Klasse.
Der Nachteil der eigenen Signierung ist jedoch, dass bei der Installation der Anwendung eine Sicherheitswarnung erscheint.
2.3.2 Signierung über Symbian Signed
Symbian Signed ist die offizielle Signierungsstelle für Anwendungen, die für Symbian OS entwickelt wurden. Nur hier können Zertifikate erworben werden, die Rechte an sämtliche Capabilities gewähren.
Anwendungen, die ein Symbian Signed Zertifikat besitzen, werden ohne jeglichen Warnhinweis auf dem Gerät installiert und ausgeführt.
Um eine solche Signatur zu erwerben, muss die für die Entwicklung zuständige Firma sich gegenüber Symbian Signed eindeutig identifizieren.
Diese Identifikation wird über die ACS Publisher ID vorgenommen Eine solche ID wird nur von einer Certification Authority (CA) ausgegeben und ist zwingend notwendig, wenn eine kommerzielle Anwendung über Symbian Signed signiert werden soll.
Zusätzlich wird jede Anwendung von Symbian Signed daraufhin getestet, ob sie sich schädlich auf einem Gerät verhält. Diese Tests werden in unabhängigen, von Symbian autorisierten Testhäusern durchgeführt.
Der Preis eines solchen Tests ist dabei davon abhängig, welche Capabilities die Anwendung benötigt. [ ].
2.3.2.1 Zugriff auf Capabilities
So wie sich der Preis des Testens danach richtet, welche Zugriffsrechte die Anwendung benötigt, so verändert sich auch der Symbian Signed Signierungsprozess je nachdem, ob und welche Capabilities die Anwendung benötigt.
Benötigt eine Anwendung keinen Zugriff auf Capabilities oder nur Zugriff auf User-Capabilities, wird die Anwendung anstandslos von Symbian Signed signiert – sofern die Anwendung den entsprechenden Test im Testhaus besteht.
Der Signierungsvorgang ist allerdings schon komplizierter, wenn die Anwendung Zugriff auf Capabilities aus der Extended-Klasse benötigt. Zusätzlich zu dem Funktionstest, muss beim Einreichen der Anwendung beim Testhaus eine Erklärung abgegeben werden, warum die Anwendung überhaupt Zugriff auf diese Capabilities benötigt.
Wesentlich komplexer ist die Signierung, wenn Zugriff auf Manufacturer Approved Capabilities benötigt wird. Hier muss der Gerätehersteller dem Zugriff auf diese Capabilities zustimmen. Bei der Übermittlung der Anwendung zum Testhaus muss der Entwickler auch eine detaillierte Erklärung abgeben, welche APIs und warum er sie ansprechen muss.
Symbian Signed ist aber in jedem Fall die Plattform, über die der Administrative Teil jedes Signierungsprozesses abgewickelt wird.
2.3.3 Signierung über Symbian Signed Freeware
Freeware und Open Source Entwickler haben die Möglichkeit, ihre Anwendungen ohne Kosten von Symbian Signed signieren zu lassen. Da außerdem keine ACS Publisher ID benötigt wird, ist der Signierungsvorgang vollständig kostenlos [ ].
2.3.4 Signierung mit Entwickler-Zertifikat
Ein Entwickler-Zertifikat (auch Developer Certificate genannt) wird genutzt, um eine Anwendung während der Entwicklungsphase auf einem Gerät zu testen. Zwar kann eine Anwendung während der Entwicklung auch mit einem eigenen Zertifikat signiert und getestet werden, allerdings funktioniert dies nicht, falls die Anwendung mehr als die einfachen User-Capabilities benötigt [ ].
2.3.5 Beispiel: Ablauf der Symbian Signed Signierung
Das folgende Ablaufdiagramm zeigt beispielhaft wie der Symbian Signed Signierungsprozess einer Anwendung funktioniert, die keine Manufacturer Approved Capabilities benötigt [ ].
1. Der Entwickler beantragt eine ACS Publisher ID bei der Certificate Authority TC TrustCenter. Diese identifiziert die für die Entwicklung verantwortliche Organisation und ist für den folgenden Signierungsprozess zwingend erforderlich.
2. Mithilfe des Symbian-Tools MAKESIS wird die SIS-Programmdatei mit der Publisher ID signiert.
3. Anschließend wird die signierte SIS-Datei an das Testhaus übergeben. Dort wird das Testen der Anwendung nach den Symbian Signed Kriterien durchgeführt.
4. Ist das Testen erfolgreich abgeschlossen, leitet das Testhaus die Anwendung an die Certificate Authority weiter. Die CA signiert abschließend mit dem endgültigen Zertifikat, das von Symbian-Smartphones als offizielles Zertifikat erkannt wird.
5. Anschließend wird der Entwickler informiert, dass die Signierung der Anwendung abgeschlossen ist und sie zum Download auf dem Symbian Signed Portal bereit steht.
Nach Abschluss dieses Vorganges kann die signierte Installationsdatei nicht mehr verändert werden, ohne ihre Gültigkeit zu verlieren.
2.4 Data Caging
Das neue Sicherheitsmodell von Symbian OS beinhaltet auch ein rechtegesteuertes Dateisystem, dass System- und private Daten effektiver schützen soll. Die Anwendung wird sozusagen in ihrem eigenen Bereich des Dateisystems eingesperrt.
Data Caging ist automatisch für alle Anwendungen gesetzt und greift auch für Anwendungen, die TCB beziehungsweise AllFiles Capabilities besitzen, dann jedoch in anderem Umfang. Im Detail besteht das Dateisystem aus drei geschützten Ordnern. Alle anderen Ordner im Telefonspeicher oder auf einer Speicherkarte hingegen sind für jede Anwendung frei zugänglich [ ].
Sie muessen eingeloggt sein um einen Kommentar zu schreiben Einloggen