3 Windows Mobile
Seit der Einführung von Windows Mobile im Jahr 2001 hat es das mobile Betriebssystem aus dem Hause Microsoft geschafft, sich nach und nach auf dem Markt mobiler Endgeräte zu etablieren. Dies liegt ganz wesentlich daran, dass Windows Mobile immer dann die erste Wahl ist, wenn die Integration mobiler Geräte in eine existierende Microsoft-Systemumgebung im Vordergrund steht. Daher ist Windows Mobile besonders bei Firmenkunden zunehmend beliebt.
3.1 Versionsvielfalt bei Windows Mobile
Windows Mobile existiert seit der Version 2003 in drei unterschiedlichen Ausführungen, die sich auch in ihren Sicherheitsmodellen unterscheiden:
Die folgende Tabelle zeigt die verschiedenen Ausfürhungen und ihre alte und neue Namensgebung von Windows Mobile 5 und 6:
Windows Mobile 5 Windows Mobile 6
Windows Mobile für Pocket PC Windows Mobile 6 Classic
Windows Mobile für Pocket PC Phone Edition Windows Mobile 6 Professional
Windows Mobile für Smartphone Windows Mobile 6 Standard
Am stärksten verbreitet sind Pocket PC Phones, also Geräte, die wie ein PDA aussehen und meistens per Stifteingabe bedient werden, aber zusätzlich noch eine Telefonfunktion haben.
3.2 Sicherheitsmodell ab Windows Mobile 2005
Microsoft hat bei der Herstellung von Windows Mobile darauf geachtet, die Entwicklung von Anwendungen so ähnlich wie möglich zu Windows für den Desktop-PC zu gestalten. Einem Entwickler, der bereits Windows-Programme in C++ und mit dem .NET-Framework geschrieben hat, sollte die Umstellung auf die Windows Mobile leicht fallen.
Entwickler müssen allerdings auch das neue Sicherheitsmodell von Windows Mobile verstehen, um Anwendungen zielgerichtet programmieren zu können. Es lässt sich für Entwickler auf drei wesentliche Komponenten zusammenfassen, die bei der Erstellung einer Anwendung wichtig und zu beachten sind:
• Security Roles (Sicherheitsrollen)
• Security Policies (Sicherheitsrichtlinien)
• Zertifikate und Signierung
3.3 Gerätesicherheit über Security Policies und Security Roles
Windows Mobile bietet den Ansatz, mithilfe von Security Policies und Security Roles die Gerätesicherheit direkt einstellen zu können. Dadurch kann ein Gerätehersteller oder Netzbetreiber beispielsweise festgelegen, dass nur Anwendungen mit einem gültigen Zertifikat ausgeführt dürfen und dass die Anwendung keine Geräteeinstellungen verändern darf.
3.3.1 Configuration Service Providers (CSPs)
Bei dem Thema Entwicklung für Windows Mobile fällt zwangsläufig der Begriff Configuration Service Provider (CSP). CSPs sind nichts anderes als Gruppierungen verschiedener Geräteeinstellungen, Anwendungen und APIs. Insgesamt existieren 43 CSP, welche nahezu alle Betriebssystem- und Gerätefunktionen steuern können [ ].
3.3.2 Security Policies
Security Policies regeln die grundsätzlichen Sicherheitseinstellungen des Geräts. Eine Security Policy kann erlaubt (allow) oder verboten (deny) sein. Ein Beispiel wäre die Security Policy 4102, „erlaube oder verbiete die Ausführung unsignierter Anwendungen“.
Insgesamt existieren über zwei Dutzend Security Policies, über welche die Sicherheit sehr detailiert geregelt werden kann [ ]. Für Entwickler lässt sich diese große Liste jedoch auf vier maßgebliche Security Policies zusammenfassen:
Tabelle 6
Security Policy Beschreibung Standard
Unsigned Applications Policy (4102) Ausführen von unsignierten Anwendungen Erlaubt
Unsigned CABS Policy (4101) Installieren von unsignierten CAB-Dateien Erlaubt
Unsigned Prompt Policy (4122) Nachfrage beim Nutzer bei der Installation und Ausführung von unsigniertem Code (alle CAB-, DLL- und EXE-Dateien) Erlaubt (Nachfrage-Dialog erscheint)
Privileged Applications Policy (4123) Aktiviert das 1-Tier oder 2-Tier Zugriffsmodell Pocket PC: 1-Tier
Smartphone: 2-Tier
Die Zahl in Klammern hinter dem Namen der Security Policy gibt die Policy ID an. Die Spalte Standard gibt die üblichen Werkseinstellungen bei Consumer-Geräten an.
3.3.3 Security Roles
Als Security Role wird ein Nutzer mit bestimmten Rechten bezeichnet. Das bedeutet, dass nur ein Nutzer mit den entsprechenden Rechten die Einstellungen der jeweiligen Gerätefunktion ändern kann.
Windows Mobile kennt genau ein Dutzend unterschiedliche Security Roles [ ]. Die folgende Tabelle beschränkt sich auf die drei häufigsten:
Tabelle 7
Security Role Beschreibung
Manager
SECROLE_MANAGER Unbeschränkter Zugriff auf Systemressourcen. Kann die meisten Security Policies umstellen. Ist in der Regel nicht der Gerätenutzer!
Authenticated User
SECROLE_USER_AUTH Nur ein authentifizierter Nutzer hat Zugriff auf die entsprechende Systemressource. Der Gerätenutzer hat normalerweise diese Security Role.
Operator
SECROLE_OPERATOR Nur der Netzbetreiber besitzt das Recht an der entsprechenden Systemressource
Die Einstellungen der Security Policies aus der Tabelle 6 können allesamt nur durch die Manager-Role (SECROLE_MANAGER) verändert werden. Das heißt, nur ein Manager kann die Standardeinstellungen der oben genannten Policies umstellen. Ein Entwickler muss also in Betracht ziehen, dass ein potentieller Nutzer seiner Anwendungen nicht die Sicherheitseinstellungen des Geräts verändern kann.
3.4 Zwei Zugriffsmodelle: One-Tier und Two-Tier
Die meisten Geräte werden jedoch mit denen in Tabelle 6 genannten Standardeinstellungen ausgeliefert. Kurz und knapp zusammengefasst bedeutet dies, dass auch unsignierte Anwendungen auf (fast) allen Geräten ausgeführt werden können – allerdings erscheint dann eine Sicherheitsmeldung, die vor der Installation beziehungsweise Ausführung der Anwendung warnt. Bestätigt der Nutzer diese Meldung, wird die Anwendung installiert beziehungsweise ausgeführt [ ].
3.4.1 Zugriffsrechte von Anwendungen (Permissions)
Bevor eine Erklärung der beiden Zugriffsmodelle erfolgt ist es wichtig zu erläutern, wie Anwendungen unter Windows Mobile theoretisch ausgeführt werden können. Dieses Konzept ist grob mit dem Capabilities-Modell von Symbian vergleichbar: durch die Signierung der Anwendung mit einem Zertifikat wird das Zugriffsrecht bestimmt.
Die Möglichkeiten der Ausführung sind:
• Privilegiert
• Normal
Anwendungen, die privilegiert ausgeführt werden, besitzen die höchste Zugriffsstufe. Sie haben vollen Zugriff auf das Dateisystem und die Registry und können jede API ansprechen. Desweiteren besitzen Anwendungen, die privilegiert ausgeführt werden, die SECROLE_MANAGER, also die Manager-Role.
Dagegen besitzen Anwendungen, die normal ausgeführt werden, keinen Zugriff auf kritische, sogenannte Trusted APIs und haben ebenfalls keinen Zugriff auf Systemdaten und geschützte Bereiche der Registry.
Wie eine Anwendung jedoch tatsächlich ausgeführt wird, hängt primär vom Zugriffsmodell des Geräts und der Signierung der Anwendung ab.
3.4.2 One-Tier Zugriffsmodell
Die oben genannten Ausführungsmöglichkeiten treffen allerding nicht auf One-Tier Geräte zu. Diese verfügen über keine echte Rechteverwaltung: eine Anwendung kann nur ganz oder gar nicht ausgeführt werden.
3.4.3 Two-Tier Zugriffsmodell
Geräte, die mit dem Two-Tier Zugriffsmodell konfiguriert sind, haben dagegen die Möglichkeit, Anwendungen mit privilegierten oder normalen Rechten auszuführen. Anwendungen, die mit einem bekannten Zertifikat signiert sind werden wie bei One-Tier Geräten ohne Nachfrage beim Nutzer installiert und ausgeführt. Dabei bestimmt das Zertifikat die Zugriffsstufe. Nur Zertifikate von Privileged Execution Trust Authorities ermöglichen es, Anwendungen mit privilegierten Rechten auszuführen und zu installieren. Diese Zertifikate sind kostenpflichtig und werden nur nach Erfüllung bestimmten Kriterien bereitgestellt (siehe Abschnitt Signierung).
3.4.4 Zusammenfassung der Sicherheitsstruktur
Fasst man die Abschnitte 3.3 und 3.4 zusammen, ergibt sich die folgende Sicherheitsstruktur, wie Anwendungen ausgeführt werden können. Dies gilt allerdings nur für die Standardeinstellungen der Security Policies, wie sie in der Tabelle 6 aufgelistet sind.
Tabelle 8
Signierung der Anwendung One-Tier Geräte
(Pocket PCs) Two-Tier Geräte (Smartphones)
Nicht signiert oder unbekanntes Zertifikat Nachfrage beim Nutzer. Anwendung wird (1) nicht ausgeführt oder (2) mit privilegierten Rechten ausgeführt Nachfrage beim Nutzer. Anwendung wird (1) nicht ausgeführt oder (2) mit normalen Rechten ausgeführt
Signiert für normale Rechte Anwendung wird mit privilegierten Rechten ausgeführt. Anwendung wird mit normalen Rechten ausgeführt.
Signiert für privilegierte Rechte Anwendung wird mit privilegierten Rechten ausgeführt. Anwendung wird mit privilegierten Rechten ausgeführt.
Zusammenfassend lässt sich sagen, dass Windows Mobile Geräte in der Werkseinstellung so konfiguriert sind, dass alle Anwendungen installiert und ausgeführt werden können. Ist die Anwendung nicht oder mit einem unbekannten Zertifikat signiert, erscheint beim Nutzer nur eine Nachfrage (Prompt), die bestätigt werden muss.
Das bedeutet allerdings nicht, dass alle Geräte die Standardeinstellung nutzen, da jeder Netzbetreiber und Netzwerkadministrator die Sicherheitseinstellungen ändern kann.
Die vier gebräuchlichsten Sicherheitseinstellungen verdeutlicht die folgende Abbildung [ ]:
Die oben beschriebene Standardeinstellung der meisten Windows Mobile Geräte ist Prompt, also die Nachfrage beim Nutzer, ob eine unsignierte oder aus unbekannter Quelle signierte Anwendung installiert und ausgeführt werden darf.
Berücksichtigt man diese Abbildung, ist dies die zweitniedrigste Sicherheitsstufe – darunter befindet sich nur Security off, also das Abschalten fast aller Sicherheitsfunktionen. Auf Geräten mit dieser Einstellung werden alle Anwendungen, also auch unsignierte, ohne jegliche Nachfrage installiert und ausgeführt.
Eine Stufe über Prompt steht 3rd Party Signed, in manchen Quellen auch Mobile2Market locked genannt. Auf Geräten dieser Sicherheitsstufe können nur Anwendungen genutzt werden, die mit einem bekannten Zertifikat signiert sind. Der zuletzt genannte Name bezieht sich auf das Mobile2Market Program von Microsoft, über das (ähnlich wie bei Symbian Signed) Zertifikate erworben werden können. Der Signierungsprozess über Mobile2Market wird ausführlich im nächsten Abschnitt erklärt.
Die höchste Sicherheitsstufe ist Locked – gesperrt. Hier wurden alle Mobile2Market Zertifikate entfernt, um das Ausführen ungewollter Drittanwendungen zu verhindern – unsignierte Anwendungen laufen auf solch einem Gerät natürlich auch nicht. Viele Firmen nutzen die Locked-Einstellung um ihrer Belegschaft die Installation von Fremdsoftware zu verbieten.
3.5 Signierung über Mobile2Market Program
Die Signierung einer Anwendung über eine offizielle Certification Authority garantiert die maximale Kompatibilität der Anwendung. Ausgangsbasis der Signierung von Windows Mobile Anwendungen ist Mobile2Market – Microsofts Gegenstück zu Symbian Signed. Nur mit einem Mobile2Market Zertifikat kann sichergestellt werden, dass die Anwendung auf der größtmöglichen Anzahl an Geräten läuft.
Der Signierungsprozess ist im Vergleich zu Symbian wesentlich einfacher. Benötigt die Anwendung nur normale Rechte, funktioniert der gesamte Signierungsablauf über eine Certificate Authority (CA). Benötigt die Anwendung jedoch auch Zugriff auf privilegierte APIs, muss zuerst die Genehmigung von Microsoft über Mobile2Market eingeholt werden.
3.5.1 Designed for Windows Mobile Logos
Ein zusätzliches Angebot von Mobile2Market ist die Application Logo Certification einer Anwendung. Dies bedeutet, dass eine Anwendung nach bestimmten Richtlinien entwickelt wird, um danach das entsprechende Logo zu erhalten [ ] [ ]. Diese Logo ist eine reine werbewirksame Maßnahme. Das Logo wird nur ausgesprochen, nachdem die Anwendung von einem akzeptierten Testhaus getestet wurde.
4 Fazit
Sowohl Symbian als auch Microsoft haben in den letzten Jahren viel für die Sicherheit ihrer Plattformen getan, verfolgen aber unterschiedliche Konzepte. Symbian legt den gesamten Schwerpunkt seines Sicherheitskonzepts auf die Signierung und Schutz von kritischen Gerätefunktion vor gefährlichen Programmen: nur Programme, die durch die Signierung die notwendigen Rechte haben, dürfen auf wichtige APIs zugreifen.
Das Sicherheitskonzept von Windows Mobile dagegen zeigt, dass der Großteil der Kunden Business-Kunden mit einer Microsoft-Infrastruktur sind. Microsoft legt daher besonderen Wert auf eine individuelle und maßgeschneiderte Sicherheitseinstellung der Geräte für Businesskunden.
Denn eins ist sicher: je mehr sich Kunden dem mobilen Markt zuwenden, umso interessanter werden die mobilen Plattformen auch für potentielle Angreifer.
Sie muessen eingeloggt sein um einen Kommentar zu schreiben Einloggen