Sicherheitsaspekte mobiler Betriebssysteme
Sicherheitsaspekte mobiler Betriebssysteme

Sicherheitsaspekte mobiler Betriebssysteme

Beitrag, Deutsch, 16 Seiten, Software & Support Media GmbH

Autor: Rayko Enz

Herausgeber / Co-Autor: Jörg Weber

Erscheinungsdatum: 02.10.2007


Aufrufe gesamt: 305, letzte 30 Tage: 1

Kontakt

Verlag

Software & Support Media GmbH

Software & Support Media GmbH

Telefon: +49-69-630089-0

Telefax: +49-69-630089-89

Preis: Kostenlos

PDF herunterladen

Symbian OS: Drei Stufen zur mobilen Sicherheit

Rayko Enz

Sicherheitskonzepte für mobile Plattformen
Ein technischer Überblick über Symbian OS und Windows Mobile
Teil 1: Symbian OS

Mit steigender Verbreitung und immer größerer Funktionsvielfalt eines Smartphones erhöht sich auch die Anforderung an die Sicherheitsfunktionen eines modernen mobilen Betriebssystems. Dieser Wunsch nach Sicherheit beeinflusst nun auch die Arbeitsweise und die Aufgaben eines Software-Entwicklers – er muss die Wünsche der Anwender nach einfacher Benutzung und schneller Programmausführung mit den Sicherheitsaspekten eines mobilen Betriebssystems in Einklang bringen. Der nachfolgende Artikel vergleicht die Sicherheitsmechanismen für die beiden verbreitetsten Betriebssysteme – Symbian OS und Microsoft Windows Mobile.

Symbian OS: Dreistufiges Sicherheitsmodell ab Version 9.1
Das Betriebssystem Symbian OS, hergestellt und vertrieben von dem Software-Unternehmen gleichen Namens, ist mit etwa 70 Prozent Marktanteil unter den Smartphones derzeit Marktführer dieses Segments. Tonangebend in der Entwicklung und weiteren Gestaltung des Symbian-Betriebssystems ist als größter Lizenznehmer die Firma Nokia. 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 damals verbreiteten 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 folgenden drei Konzepten, die in den nächsten Abschnitten erklärt werden:

  • Capabilities
  • Signierung der Installationsdateien mit einem Zertifikat
  • Data-Caging

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 jeweiligen 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.

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:

  • 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

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 enthält die Extended-Klasse:

  • 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/li>
  • 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.

Manufacturer Approved Capabilties bezeichnen 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.

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 passenden 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.

Signierung mit eigenem Zertifikat
Ein Entwickler kann seine Anwendung mit einem selbst erstellten Zertifikat signieren. Die notwendigen Tools liefert das Symbian SDK mit. Alternativ signiert die Entwicklungsumgebung Carbide.C++ 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.

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 davon abhängig, welche Capabilities die Anwendung benötigt.

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. Braucht eine Anwendung keinen Zugriff auf Capabilities oder nur Zugriff auf User-Capabilities, wird die Anwendung anstandslos von Symbian Signed signiert – sofern die Anwendung den Test im Testhaus besteht. Der Signierungsvorgang ist allerdings schon komplizierter, wenn die Anwendung Zugriff auf Capabilities aus der Extended-Klasse benötigt. Zusätzlich zum 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.

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.

Signierung mit Entwickler-Zertifikat
Ein Entwickler-Zertifikat (auch Developer Certificate genannt, Infos per PDF-Download) 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.

Der Ablauf (PDF-Anleitung) der Signierung ist wie folgt: 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. Mithilfe des Symbian-Tools MAKESIS wird die SIS-Programmdatei mit der Publisher ID signiert. Anschließend wird die signierte SIS-Datei an das Testhaus übergeben. Dort wird das Testen der Anwendung nach den Symbian-Signed-Kriterien durchgeführt. 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. 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.

Data Caging
Das neue Sicherheitsmodell von Symbian OS beinhaltet auch ein rechtegesteuertes Dateisystem, das 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.

(wird fortgesetzt, zweiter Teil: Windows Mobile)

Jörg Weber, Rayko Enz

Weitere Infos:

SIC! Software GmbH

 

Rayko Enz

DE, Heilbronn

Business Development

SIC! Software GmbH Die Experten für Mobility Software

Publikationen: 1

Aufrufe seit 07/2005: 1614
Aufrufe letzte 30 Tage: 1