3. Inhalt
1. Smartphone Betriebssysteme ........................................................................................................ 4
2. Apple iOS ..................................................................................................................................... 5
2.1. Besonderheiten der iOS-Plattform: .......................................................................................... 5
2.2. Telephony API ........................................................................................................................... 7
Seite 3
4. 1. Smartphone Betriebssysteme
Die zurzeit am häufigsten anzutreffenden Betriebssysteme sind Android, BlackBerry OS,
Apple iOS und Windows Phone. Nur ein kleiner Anteil der im Gebrauch befindlichen
Smartphones verfügt über die jeweils neueste Betriebssystemversion. Alle
Betriebssysteme bis auf WP7 und BlackBerry7 sind für die ARM-Prozessorarchitektur
entwickelt worden.
Android BlackBerry Apple iOS Windows Phone
Aktuell: 4.2 Aktuell: 10 Aktuell: 6 Aktuell: 8
„Jelly Bean“
Vorgänger: 7 Wegen der schnellen Bei Windows Phone
2.3.x „Gingerbread“ Bei der Version 10 Verbreitung der OTA- sind OTA-Updates erst
mit 55% noch sehr handelt es sich um Updates sind Apple- ab Version 8 möglich.
weit verbreitet . eine Neuentwicklung. Geräte meist auf dem Das Updaten von WP7
3.x.x. „Honeycomb“ ist Kein Update von 7 auf neuesten auf WP8 wird nicht
speziell für Tablets 10 vorgesehen. Versionsstand. unterstützt.
Tabelle 1: Betriebssysteme für Smartphones
Von der Firmware bis hin zum fertigen Endprodukt, kann sich der Herstellungsprozess
auf mehrere Unternehmen verteilen. Je größer die Fragmentierung ist, desto länger
dauert es unter anderem, bis ein Patch oder ein Update eingespielt werden kann.
Kernel Plattform Hardware Vertrieb
Open Mobile Google (Dalvik VM), Versch. Hardwarehersteller Provider
Alliance Google-APPs Firmware / Treiber Vorinstallation von
Linux Systemkern Apache-Lizenz (Geschlossener Bereich) APPS
Ausgenommen die (Auch von
GPL2 Lizenz vorinstallierten Google APPS Drittanbietern)
Versch. Hardwarehersteller
Windows Phone OS Provider
komplette Eigenentwicklung – kein offener Quellcode Firmware / Treiber
(Geschlossener Bereich)
Apple iOS: komplette Eigenentwicklung – kein offener Quellcode Provider
BlackBerry OS: komplette Eigenentwicklung – kein offener Quellcode Provider, IT-Firmen
Tabelle 2:Fragmentierung der Betriebssysteme
Seite 4
5. 2. Apple iOS
Apple bietet die kostenlose Entwicklungsumgebung „Xcode“ an, mit der sowohl iDevices
als auch Anwendungen für OS X entwickelt werden können. Das iOS SDK ist ebenfalls
kostenlos. Der Entwickler muss sich registrieren und eine jährliche Gebühr entrichten.
Danach kann die Anwendung über den APP-Store auch auf fremde Geräte installiert
werden.
Abbildung 1: OS-Layer iOS
2.1. Besonderheiten der iOS-Plattform:
o iOS ist ein Derivat des Mac OSX Betriebsystems, dass für ARM-Architektur
optimiert wurde.
o Nativer Code ObjectiveC
o Sonstige Standards: WebKIT (Webbrowser)
o Java und Flash werden nicht unterstützt
o Geschlossenes System, dass die Entwicklung der Software, Herstellung der
Hardware und den Vertrieb bis zum Endkunden vorsieht. Nur RIM verfolgt ein
ähnliches Konzept.
o Das „iOS Enterpise Developer Programm“ ermöglicht das Selbst-Signieren und
Ausliefern eigener APPs (Mobile Application Management) ohne den Umweg über
den Apple-Store.
Das Sandboxing-Konzept von Apple gibt nur ein einziges Regelwerk vor, das für alle
APPs gleichermaßen gilt. Auch die eigenen Anwendungen für Telefonie, SMS und der
Safari Webbrowser laufen in dem „mobile Mode“, der mit den wenigsten Rechten
auskommen muss.
Seite 5
6. Das “ComCenter“, das unter anderem für das Parsen der SMS-Nachrichten
verantwortlich ist und direkt mit dem Modem kommuniziert, läuft im „wireless Mode“.
Als „privileged user“, also mit Root-Rechten, werden nur die wichtigsten Prozesse
ausgeführt.
Der Safari Browser besitzt keine Plugins oder Frameworks, um Web-fremde Formate
wie zum Beispiel PDF anzuzeigen. Hierzu wird eine spezialisierte APP gestartet, die im
Vergleich zu der PC-Version nur einen reduzierten Funktionsumfang bietet. Die
mögliche Angriffsfläche durch Softwarefehler (Exploits) wird so auf ein Minimum
reduziert1. Trotzdem wurde bis heute immer eine Möglichkeit gefunden das Gerät zu
rooten, was bei iDevices als „Jailbreak“ bezeichnet wird.
Bei einem Jailbreak werden neben dem zusätzlichen APP-Store „Cydia“ auch weitere
Anwendungen auf das Gerät installiert. Darunter eine „Command Line Shell“, über die
Zugriffe auf Dienste des Kernels möglich sind. Dazu wird ein SSH-Port geöffnet, über den
man sich über das Netzwerk verbinden kann. Das Standardpasswort „alpine“ wird
wahrscheinlich von den wenigsten Nutzern geändert, was einem Eindringling eine Reihe
von Angriffen ermöglicht.
Die Konfigurationsdaten sowie Passwörter für E-Mail Konto, WLAN, SMS-Center und
VPN-Zugang können mit dem „iPhone Configuration Tool“ in sogenannten „Mobile
Configuration Profiles“2 gespeichert werden. Die Daten werden verschlüsselt an das
jeweilige Endgerät übertragen. Diese Konfigurationsskripte können von Entwicklern
genutzt werden, um Einschränkungen des iOS Systems zu umgehen, wie es bei „Snappli“
3 oder „Wajam“ 4 der Fall ist5.
Für Enterprise-Lösungen gibt es ein MDM, bei dem auch Richtlinien (Policies)
festgelegt werden können. Das MDM-Push-Zertifikat ist durch den kostenlosen
„Certificate Signing Request“ bei Apple erhältlich. Die Auslieferung der Push-Nachricht
(MCP) durch den MDM-Server erfolgt auf TCP-Port 1640 des iPhones.
Softwareupdates werden vom „Apple Push Notification Server“ (APNS) auf dem TCP-
Port 5223 ausgeliefert. Die Quelle der Nachricht muss aus dem IP-Segment 17.0.0.0/8
direkt von Apple stammen. Zum heutigen Zeitpunkt werden MCP über den TCP-Port
5223 gesendet. Diese Portadressen können sich aber im Laufe der Zeit ändern.
1 Charlie Miller, Dionysus Blazakis, Dino Dai Zovi, Stefan Esser, Vincenzo Iozzo, Ralf-Philipp Weinmann
“iOS Hacker‘s Handbook”, 2012, John Wiley & Sons, Inc., ISBN: 978-1-118-20412-2
2 Quelle:
developer.apple.com/library/ios/#featuredarticles/iPhoneConfigurationProfileRef/Introduction/I
ntroduction.html Stand [06.11.2012]
3 Quelle: snappli.com/ Stand [06.11.2012]
4 Quelle: wajam.com/ Stand [06.11.2012]
5 Rachel Metz, C’t Artikel „An Apple vorbei“ vom 02.11.2012 heise.de/-1737936 Stand [19.11.2012]
Seite 6
7. Bei jedem iPhone in der Standardkonfiguration, kann es zwei offene Ports 6 geben. Der
UDP-Port 5353 für das von Apple entwickelte „Bonjour Protokoll“ und der TCP-Port
62078 für die Synchronisation mit iTunes.
2.2. Telephony API
Das „Core Telephony Framework 7“ beinhaltet ebenfalls nur die üblichen Methoden, um
auf das Modem und die SIM-Karte zugreifen zu können: “CTCall”, “CTCallCenter”,
“CTTelefonyNetworkInfo”, „CTCarrier“ mit den Eigenschaften „allowsVOIP“ und
„mobileCountryCode“.
Bei dem iOS Telephony Framework greift der ComCenter-Prozess direkt auf den RIL
Daemon zu. Mittels Workarounds wie „Library Preloading“, „Terminal-in-the-middle“
und „Method interposition“ kann man an die RAW-Daten herankommen, bevor sie vom
ComCenter-Prozess interpretiert werden. Eine genaue Beschreibung findet man
ebenfalls in der Arbeit von Colin Mulliner8.
Dieses Dokument ist am Rande meiner Diplomarbeit „Erkennen und Abwehren von
Angriffen im Mobilfunknetz auf Smartphones“ entstanden.
6 Dipl.-Ing. Peter Teufl „Sicherheitsanalyse iPhone“, 04-2010, Studie des A-SIT
7 Quelle: /System/Library/Frameworks/CoreTelephony.framework
https://developer.apple.com/library/ios/#documentation/NetworkingInternet/Reference/CoreTe
lephonyFrameworkReference/_index.html#//apple_ref/doc/uid/TP40009603
8 Collin Mulliner (TU-Berlin) und Charlie Miller “Injecting SMS Messages into Smart Phones for Security
Analysis”, 2009
Seite 7