SlideShare une entreprise Scribd logo
1  sur  10
Télécharger pour lire hors ligne
Smartphone Betriebssystem

       “Android”




     Security & Telephony API
             Teil 1/4



              2013
Seite 2
Inhalt

1. Smartphone Betriebssysteme ........................................................................................................ 4
2. Android ........................................................................................................................................ 5
  2.1. Besonderheiten der Android-Plattform: .................................................................................. 6
  2.2. Telephony API ........................................................................................................................... 8




                                                                                                                                          Seite 3
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 (Auch von
                           Ausgenommen die                                              Drittanbietern)
  GPL2 Lizenz              vorinstallierten Google APPS

                                                          Versch. Hardwarehersteller
  Windows Phone OS
                                                          Firmware / Treiber           Provider
  komplette Eigenentwicklung – kein offener Quellcode
                                                          (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
2. Android


Android-Applikationen können mit Entwicklungsumgebungen wie „Eclipse“ oder
„Aptana Studio“ in Java programmiert werden. Dazu muss das Java-SDK (Software
Development Kit) und Android-SDK1 installiert sein.
 Der Compiler erzeugt einen Bytecode, der von jeder „DALVIK Virtual Maschine“
ausgeführt werden kann. Die VM startet einen isolierten Prozess, der durch eine
eindeutige UID (Unix User ID) referenziert ist.
 Um bei Bedarf die Kommunikation zwischen den Prozessen zu ermöglichen, gibt es
verschiedene Methoden, wie die „Explizit deklarierten Richtlinien“ 2 , die bei der
Installation festgelegt werden, IPCs (Inter-Prozess-Kommunikation mit Intents, Service-
und Broadcast-Receiver) und Shared UID3, bei der mehrere APPs eines Entwicklers die
gleiche Signatur erhalten. Es stehen also Mittel zur Verfügung, das Sandbox-Prinzip zu
umgehen.

Die Betriebssystemschichten von Android (Quelle: Open Handset Alliance)




       Abbildung 1: OS-Layer Android




 1   Open Handset Alliance www.openhandsetalliance.com/
 2   AndroidManifest.xml” siehe Android Developer Guides:
       http://developer.android.com/guide/basics/what-is-android.html

                                                                                 Seite 5
2.1. Besonderheiten der Android-Plattform:

    o NDK (Native Development Kit) für die Entwicklung mit C/C++
    o Weitere Standards: WebKIT (Web-Browser), SQLite, Open GL 3D
    o Die eigene Software kann vom Entwickler selbst signiert werden (Self Signed). Es
       gibt keine zentrale Vergabestelle von digital signierten Zertifikaten.
    o Ein sogenanntes „Custom Rom“4 besteht aus einem Softwarepaket, dass für ein
       bestimmtes Modell angepasst wurde. Der Linux-Kernel, die gewünschten APPs, das
       Radio-ROM       (Firmware      für   das    Baseband)      und     das   Theme       (optische
       Erscheinungsbild) werden mit einem Software-Kit, dem sogenannten „ROM-
       Kitchen“, zusammengeführt. Mit diesen Tools wäre es möglich, eine modifizierte
       Baseband-Software auf ein Smartphone aufzuspielen, um zum Beispiel an die
       Informationen des GSM-Protokoll-Stacks zu gelangen. ROM-Kitchen sind auch für
       WP7 verfügbar, jedoch in einem früheren Entwicklungsstadium.
    o Die Distribution der eigenen APPs kann über den „Google Play Store“ oder auch
       über eine Reihe von alternativen Stores erfolgen. Die Installationsdatei mit der
       Endung .apk (Android Package) lässt sich aber auch lokal, also zum Beispiel von
       einer SD-Karte, starten.
    o Das Konzept zum Ausliefern der Updates und Patches ist noch sehr lückenhaft in
       Bezug auf die breite Produktpalette an unterschiedlicher Hardware, für die
       Updates angepasst werden müssen. Ein Betriebssystem-Update auf die aktuelle
       Version 4.2 ist bei vielen Android-Smartphones nicht möglich.
    o Die vorinstallierten Java-Anwendungen für Telefonie und SMS können jederzeit
       durch alternative APPs von Drittanbietern ausgetauscht werden. Gerätehersteller
       und Provider passen so das System nach Ihren Bedürfnissen an, was als Stock-
       ROM bezeichnet wird. Der Quellcode der eingefügten Applikationen wird in der
       Regel nicht veröffentlicht. Auch Android-Derivate, die ohne Google APPs
       auskommen, sind durch den geschlossenen Baseband-Bereich keine wirklich
       quelloffenen Systeme.




3   Android „Tech Info“ source.android.com/tech/security/index.html
4   Das „Customized ROM“ ist von einem „Stock ROM“, das vom Provider aufgespielt wird, zu
       unterscheiden.
                                                                                               Seite 6
Einzelne Hersteller ermöglichen die Freischaltung des Bootloaders. Darunter HTC,
Motorola und Samsung, die auch alle ein eigenes SDK für ihre Smartphones anbieten. Oft
werden diese Modelle als „Developer-Device“ bezeichnet.
  Durch den quelloffenen Charakter gibt es bereits Dutzende Derivate und
Portierungen von Android, die durch Projekte und Communities realisiert wurden.
  Die SDKs der Hersteller, wie zum Beispiel die „Gorbi SDK“ von Qualcomm, können
umfassender auf die systeminternen Funktionen zugreifen, bieten dann aber nur eine
gerätespezifische Lösung.
   Auf den „Project Hosting“-Webseiten von Google befinden sich über 5000 Projekte,
die sich nur mit Android beschäftigen und eine gute Grundlage bieten, um zusätzliche
Libraries, APIs oder Quellcode zu finden. Die Gruppe „Secure Element Evaluation Kit for
the Android Platform“ entwickelt eine „SmardCard API for Android“ 5. Die Erweiterungen
bieten neben einer Komplettverschlüsselung der Daten auch ein eigenes PKI-
Management. Android wird sogar von der NSA als Basis genutzt, um ein sicheres
„Mobility Capability Package“6 für ihre Mitarbeiter zu entwickeln.




 5   Quelle: http://code.google.com/p/seek-for-android
 6   NSA, “Mobility_Capability_Pkg_(Version_1.1U)”, Februar 2012




                                                                                 Seite 7
2.2. Telephony API

Im folgenden Abschnitt werden die wichtigsten Bereiche der Android-API untersucht,
die für SMS-Dienste und Telefonie nötig sind. Danach sollte eine realistische
Einschätzung möglich sein, in welchem Umfang die „fB-Detection“ oder der „PDU-Filter“
realisierbar ist.
   Die API-Packages „android.telephony“ 7 und „android.telephony.GSM“ stellen die
wichtigsten Zugriffe bereit. Für die Softwareentwicklung sind folgende Klassen
interessant:
     o   “CipherSpi”, Service Provider Interface (SPI)
     o    „NeighboringCellInfo“, Methoden: getCid(), getLac() und getRssi()
     o    „TelephonyManager“ und „PhoneStateListener“
     o    „SmsMessage“, „SMSManager“ und „SmsMessage.SubmitPdu“
     o    „SignalStrength“,      Methoden:        getEvdoSnr(),      getGsmBitErrorRate(),
         getGsmSignalStrength()

Das Package „javax.crypto“8 beinhaltet Klassen („Cipher“, „CipherSpi“9 und „NullCipher“)
und Methoden (getAlgorithm(), getParameters()), mit denen der „Cipher Indicator“
einer Instanz ausgelesen werden kann.




 7 Siehe http://developer.android.com/reference/android/telephony/
 8 Quelle: http://developer.android.com/reference/javax/crypto/package-summary.html
 9 Quelle: http://developer.android.com/reference/javax/crypto/CipherSpi.html Stand [01.11.2012]


                                                                                             Seite 8
Der „Radio Interface Layer“ (RIL) befindet sich zwischen dem „Application Framework“
und dem Baseband Device und besteht aus dem RIL Daemon (rild) und dem
geräteabhängigen Vendor RIL.




        Abbildung 2: Android RIL Quelle: Open Hand Alliance



Die Kommunikation zwischen Telephony API (RILJ) und RIL Daemon findet über eine
Socket-Verbindung statt. Der Vendor RIL greift über eine serielle Schnittstelle auf den
Baseband-Prozessor zu und kommuniziert über AT-Befehle.


   Mit    den      Klassen    „com.android.internal.telephony.RIL.RILSender“ und
„com.android.internal.telephony.RIL.RILReceiver“ kann direkt auf eingehende und
ausgehende Daten zugegriffen werden, die von dem hardwareanhängigen RIL-Layer zur
Verfügung gestellt werden.

   Um die Daten abfangen zu können kann die „Man-in-the-middle“-Methode
angewendet werden, wie sie in der Arbeit „Injecting SMS Messages into Smart Phones
for Security Analysis10“ von Colin Mulliner beschrieben ist.



Dieses Dokument ist am Rande meiner Diplomarbeit „Erkennen und Abwehren von
     Angriffen im Mobilfunknetz auf Smartphones“ entstanden.



 10   Collin Mulliner (TU-Berlin) und Charlie Miller “Injecting SMS Messages into Smart Phones for
        Security Analysis”, 2009

                                                                                                     Seite 9
Weitere Informationen finden Sie unter:
   www.smartphone-attack-vector.de




                                          Seite 10

Contenu connexe

En vedette

Ejemplo 6 dos_ala_k
Ejemplo 6 dos_ala_kEjemplo 6 dos_ala_k
Ejemplo 6 dos_ala_kManny Walker
 
La parábola dr bravo1
La parábola dr bravo1La parábola dr bravo1
La parábola dr bravo1DRJAIMEBRAVO
 
Presentación videoguard
Presentación videoguardPresentación videoguard
Presentación videoguardStamar Project
 
Catalogo Calzados Dromo Invierno 2015
Catalogo Calzados Dromo Invierno 2015Catalogo Calzados Dromo Invierno 2015
Catalogo Calzados Dromo Invierno 2015Elas Del Jean
 
Almacenamiento en la Nube
Almacenamiento en la NubeAlmacenamiento en la Nube
Almacenamiento en la NubeJJoseSolis
 
Socialmediarecruiting2015 120626023458 Phpapp02
Socialmediarecruiting2015 120626023458 Phpapp02Socialmediarecruiting2015 120626023458 Phpapp02
Socialmediarecruiting2015 120626023458 Phpapp02dhoncu
 
Sesion de aprendizaje de profesora martina yucra
Sesion de aprendizaje de profesora martina yucraSesion de aprendizaje de profesora martina yucra
Sesion de aprendizaje de profesora martina yucrayucramar
 
Kick off 2013 erfolg durch nähe-ppt
Kick off 2013 erfolg durch nähe-pptKick off 2013 erfolg durch nähe-ppt
Kick off 2013 erfolg durch nähe-pptJens Schmidt
 
ExposiciónBloggerBlogspot
ExposiciónBloggerBlogspotExposiciónBloggerBlogspot
ExposiciónBloggerBlogspotceciliags77
 
Presentación transferencia tecnológica
Presentación transferencia tecnológicaPresentación transferencia tecnológica
Presentación transferencia tecnológicaStamar Project
 
E82 zafac010 _application-io pt fif module__v5-0__de_en_fr
E82 zafac010 _application-io pt fif module__v5-0__de_en_frE82 zafac010 _application-io pt fif module__v5-0__de_en_fr
E82 zafac010 _application-io pt fif module__v5-0__de_en_frCharles Santos
 
Desafíos de la educación siglo XXI
Desafíos de la educación siglo XXIDesafíos de la educación siglo XXI
Desafíos de la educación siglo XXIDassmi
 
Evolucion de la energia en la informatica
Evolucion de la energia en la informaticaEvolucion de la energia en la informatica
Evolucion de la energia en la informaticaRolando Morales Flores
 
Jdbc logging mit craftsman spy
Jdbc logging mit craftsman spyJdbc logging mit craftsman spy
Jdbc logging mit craftsman spyWalid El Sayed Aly
 
Buscadores y metabuscadores
Buscadores y metabuscadores Buscadores y metabuscadores
Buscadores y metabuscadores Ddbere
 

En vedette (20)

Ejemplo 6 dos_ala_k
Ejemplo 6 dos_ala_kEjemplo 6 dos_ala_k
Ejemplo 6 dos_ala_k
 
La parábola dr bravo1
La parábola dr bravo1La parábola dr bravo1
La parábola dr bravo1
 
Presentación videoguard
Presentación videoguardPresentación videoguard
Presentación videoguard
 
Catalogo Calzados Dromo Invierno 2015
Catalogo Calzados Dromo Invierno 2015Catalogo Calzados Dromo Invierno 2015
Catalogo Calzados Dromo Invierno 2015
 
Búsqueda indrustia ya
Búsqueda indrustia yaBúsqueda indrustia ya
Búsqueda indrustia ya
 
Almacenamiento en la Nube
Almacenamiento en la NubeAlmacenamiento en la Nube
Almacenamiento en la Nube
 
Socialmediarecruiting2015 120626023458 Phpapp02
Socialmediarecruiting2015 120626023458 Phpapp02Socialmediarecruiting2015 120626023458 Phpapp02
Socialmediarecruiting2015 120626023458 Phpapp02
 
Sesion de aprendizaje de profesora martina yucra
Sesion de aprendizaje de profesora martina yucraSesion de aprendizaje de profesora martina yucra
Sesion de aprendizaje de profesora martina yucra
 
Kick off 2013 erfolg durch nähe-ppt
Kick off 2013 erfolg durch nähe-pptKick off 2013 erfolg durch nähe-ppt
Kick off 2013 erfolg durch nähe-ppt
 
ExposiciónBloggerBlogspot
ExposiciónBloggerBlogspotExposiciónBloggerBlogspot
ExposiciónBloggerBlogspot
 
Presentación transferencia tecnológica
Presentación transferencia tecnológicaPresentación transferencia tecnológica
Presentación transferencia tecnológica
 
E82 zafac010 _application-io pt fif module__v5-0__de_en_fr
E82 zafac010 _application-io pt fif module__v5-0__de_en_frE82 zafac010 _application-io pt fif module__v5-0__de_en_fr
E82 zafac010 _application-io pt fif module__v5-0__de_en_fr
 
Business bavaria 03-2013_de
Business bavaria 03-2013_deBusiness bavaria 03-2013_de
Business bavaria 03-2013_de
 
Desafíos de la educación siglo XXI
Desafíos de la educación siglo XXIDesafíos de la educación siglo XXI
Desafíos de la educación siglo XXI
 
Herreamientas
Herreamientas  Herreamientas
Herreamientas
 
Generadores eolicos
Generadores eolicosGeneradores eolicos
Generadores eolicos
 
Presentación
PresentaciónPresentación
Presentación
 
Evolucion de la energia en la informatica
Evolucion de la energia en la informaticaEvolucion de la energia en la informatica
Evolucion de la energia en la informatica
 
Jdbc logging mit craftsman spy
Jdbc logging mit craftsman spyJdbc logging mit craftsman spy
Jdbc logging mit craftsman spy
 
Buscadores y metabuscadores
Buscadores y metabuscadores Buscadores y metabuscadores
Buscadores y metabuscadores
 

Similaire à Smartphone Betriebssysteme Android

CSI: WP - Dem Windows Phone auf der Spur, Internetspecial: SDK & Development-...
CSI: WP - Dem Windows Phone auf der Spur, Internetspecial: SDK & Development-...CSI: WP - Dem Windows Phone auf der Spur, Internetspecial: SDK & Development-...
CSI: WP - Dem Windows Phone auf der Spur, Internetspecial: SDK & Development-...Gordon Breuer
 
Einführung in die Android Applikationsentwicklung
Einführung in die Android ApplikationsentwicklungEinführung in die Android Applikationsentwicklung
Einführung in die Android ApplikationsentwicklungThorsten Weiskopf
 
Techtalk Google Android
Techtalk Google AndroidTechtalk Google Android
Techtalk Google AndroidMarkus Litz
 
Apache DeviceMap - Web-Dev-BBQ Stuttgart
Apache DeviceMap - Web-Dev-BBQ StuttgartApache DeviceMap - Web-Dev-BBQ Stuttgart
Apache DeviceMap - Web-Dev-BBQ StuttgartWerner Keil
 
Niemals nach Mitternacht füttern - Grüne Roboter überall!
Niemals nach Mitternacht füttern - Grüne Roboter überall!Niemals nach Mitternacht füttern - Grüne Roboter überall!
Niemals nach Mitternacht füttern - Grüne Roboter überall!inovex GmbH
 
Code-Generierung vereinfacht IoT-Entwicklung
Code-Generierung vereinfacht IoT-EntwicklungCode-Generierung vereinfacht IoT-Entwicklung
Code-Generierung vereinfacht IoT-Entwicklungbhoeck
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Projectinovex GmbH
 
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...Gregor Biswanger
 
Ionic 2 - Hybridapps auf Steroiden
Ionic 2 - Hybridapps auf SteroidenIonic 2 - Hybridapps auf Steroiden
Ionic 2 - Hybridapps auf SteroidenHendrik Lösch
 
Open Source und Free Software unter Windows
Open Source und Free Software unter WindowsOpen Source und Free Software unter Windows
Open Source und Free Software unter WindowsMartin Leyrer
 
Apache DeviceMap - Mobile Geräteerkennung für Java EE - JavaLand 2014
Apache DeviceMap - Mobile Geräteerkennung für Java EE - JavaLand 2014Apache DeviceMap - Mobile Geräteerkennung für Java EE - JavaLand 2014
Apache DeviceMap - Mobile Geräteerkennung für Java EE - JavaLand 2014Werner Keil
 
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge UnternehmenBjoern Reinhold
 
Top 10 Internet Trends 2008
Top 10 Internet Trends 2008Top 10 Internet Trends 2008
Top 10 Internet Trends 2008Jürg Stuker
 
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...DNUG e.V.
 
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch Salzburg
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch SalzburgSlides zum Impulsreferat: HCL UDP - DNUG Stammtisch Salzburg
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch SalzburgDNUG e.V.
 
Introduction to JEE
Introduction to JEEIntroduction to JEE
Introduction to JEEguestc44b7b
 
Top 10 Internet Trends 2006
Top 10 Internet Trends 2006Top 10 Internet Trends 2006
Top 10 Internet Trends 2006Jürg Stuker
 
Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...
Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...
Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...Gregor Biswanger
 

Similaire à Smartphone Betriebssysteme Android (20)

CSI: WP - Dem Windows Phone auf der Spur, Internetspecial: SDK & Development-...
CSI: WP - Dem Windows Phone auf der Spur, Internetspecial: SDK & Development-...CSI: WP - Dem Windows Phone auf der Spur, Internetspecial: SDK & Development-...
CSI: WP - Dem Windows Phone auf der Spur, Internetspecial: SDK & Development-...
 
Einführung in die Android Applikationsentwicklung
Einführung in die Android ApplikationsentwicklungEinführung in die Android Applikationsentwicklung
Einführung in die Android Applikationsentwicklung
 
Techtalk Google Android
Techtalk Google AndroidTechtalk Google Android
Techtalk Google Android
 
Apache DeviceMap - Web-Dev-BBQ Stuttgart
Apache DeviceMap - Web-Dev-BBQ StuttgartApache DeviceMap - Web-Dev-BBQ Stuttgart
Apache DeviceMap - Web-Dev-BBQ Stuttgart
 
Niemals nach Mitternacht füttern - Grüne Roboter überall!
Niemals nach Mitternacht füttern - Grüne Roboter überall!Niemals nach Mitternacht füttern - Grüne Roboter überall!
Niemals nach Mitternacht füttern - Grüne Roboter überall!
 
Code-Generierung vereinfacht IoT-Entwicklung
Code-Generierung vereinfacht IoT-EntwicklungCode-Generierung vereinfacht IoT-Entwicklung
Code-Generierung vereinfacht IoT-Entwicklung
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Project
 
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
 
Ionic 2 - Hybridapps auf Steroiden
Ionic 2 - Hybridapps auf SteroidenIonic 2 - Hybridapps auf Steroiden
Ionic 2 - Hybridapps auf Steroiden
 
Open Source und Free Software unter Windows
Open Source und Free Software unter WindowsOpen Source und Free Software unter Windows
Open Source und Free Software unter Windows
 
Apache DeviceMap - Mobile Geräteerkennung für Java EE - JavaLand 2014
Apache DeviceMap - Mobile Geräteerkennung für Java EE - JavaLand 2014Apache DeviceMap - Mobile Geräteerkennung für Java EE - JavaLand 2014
Apache DeviceMap - Mobile Geräteerkennung für Java EE - JavaLand 2014
 
Cloud – Intune
Cloud – IntuneCloud – Intune
Cloud – Intune
 
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
 
Top 10 Internet Trends 2008
Top 10 Internet Trends 2008Top 10 Internet Trends 2008
Top 10 Internet Trends 2008
 
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
 
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch Salzburg
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch SalzburgSlides zum Impulsreferat: HCL UDP - DNUG Stammtisch Salzburg
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch Salzburg
 
Introduction to JEE
Introduction to JEEIntroduction to JEE
Introduction to JEE
 
Top 10 Internet Trends 2006
Top 10 Internet Trends 2006Top 10 Internet Trends 2006
Top 10 Internet Trends 2006
 
Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...
Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...
Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...
 
Company Appstore Suite
Company Appstore SuiteCompany Appstore Suite
Company Appstore Suite
 

Smartphone Betriebssysteme Android

  • 1. Smartphone Betriebssystem “Android” Security & Telephony API Teil 1/4 2013
  • 3. Inhalt 1. Smartphone Betriebssysteme ........................................................................................................ 4 2. Android ........................................................................................................................................ 5 2.1. Besonderheiten der Android-Plattform: .................................................................................. 6 2.2. Telephony API ........................................................................................................................... 8 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 (Auch von Ausgenommen die Drittanbietern) GPL2 Lizenz vorinstallierten Google APPS Versch. Hardwarehersteller Windows Phone OS Firmware / Treiber Provider komplette Eigenentwicklung – kein offener Quellcode (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. Android Android-Applikationen können mit Entwicklungsumgebungen wie „Eclipse“ oder „Aptana Studio“ in Java programmiert werden. Dazu muss das Java-SDK (Software Development Kit) und Android-SDK1 installiert sein. Der Compiler erzeugt einen Bytecode, der von jeder „DALVIK Virtual Maschine“ ausgeführt werden kann. Die VM startet einen isolierten Prozess, der durch eine eindeutige UID (Unix User ID) referenziert ist. Um bei Bedarf die Kommunikation zwischen den Prozessen zu ermöglichen, gibt es verschiedene Methoden, wie die „Explizit deklarierten Richtlinien“ 2 , die bei der Installation festgelegt werden, IPCs (Inter-Prozess-Kommunikation mit Intents, Service- und Broadcast-Receiver) und Shared UID3, bei der mehrere APPs eines Entwicklers die gleiche Signatur erhalten. Es stehen also Mittel zur Verfügung, das Sandbox-Prinzip zu umgehen. Die Betriebssystemschichten von Android (Quelle: Open Handset Alliance) Abbildung 1: OS-Layer Android 1 Open Handset Alliance www.openhandsetalliance.com/ 2 AndroidManifest.xml” siehe Android Developer Guides: http://developer.android.com/guide/basics/what-is-android.html Seite 5
  • 6. 2.1. Besonderheiten der Android-Plattform: o NDK (Native Development Kit) für die Entwicklung mit C/C++ o Weitere Standards: WebKIT (Web-Browser), SQLite, Open GL 3D o Die eigene Software kann vom Entwickler selbst signiert werden (Self Signed). Es gibt keine zentrale Vergabestelle von digital signierten Zertifikaten. o Ein sogenanntes „Custom Rom“4 besteht aus einem Softwarepaket, dass für ein bestimmtes Modell angepasst wurde. Der Linux-Kernel, die gewünschten APPs, das Radio-ROM (Firmware für das Baseband) und das Theme (optische Erscheinungsbild) werden mit einem Software-Kit, dem sogenannten „ROM- Kitchen“, zusammengeführt. Mit diesen Tools wäre es möglich, eine modifizierte Baseband-Software auf ein Smartphone aufzuspielen, um zum Beispiel an die Informationen des GSM-Protokoll-Stacks zu gelangen. ROM-Kitchen sind auch für WP7 verfügbar, jedoch in einem früheren Entwicklungsstadium. o Die Distribution der eigenen APPs kann über den „Google Play Store“ oder auch über eine Reihe von alternativen Stores erfolgen. Die Installationsdatei mit der Endung .apk (Android Package) lässt sich aber auch lokal, also zum Beispiel von einer SD-Karte, starten. o Das Konzept zum Ausliefern der Updates und Patches ist noch sehr lückenhaft in Bezug auf die breite Produktpalette an unterschiedlicher Hardware, für die Updates angepasst werden müssen. Ein Betriebssystem-Update auf die aktuelle Version 4.2 ist bei vielen Android-Smartphones nicht möglich. o Die vorinstallierten Java-Anwendungen für Telefonie und SMS können jederzeit durch alternative APPs von Drittanbietern ausgetauscht werden. Gerätehersteller und Provider passen so das System nach Ihren Bedürfnissen an, was als Stock- ROM bezeichnet wird. Der Quellcode der eingefügten Applikationen wird in der Regel nicht veröffentlicht. Auch Android-Derivate, die ohne Google APPs auskommen, sind durch den geschlossenen Baseband-Bereich keine wirklich quelloffenen Systeme. 3 Android „Tech Info“ source.android.com/tech/security/index.html 4 Das „Customized ROM“ ist von einem „Stock ROM“, das vom Provider aufgespielt wird, zu unterscheiden. Seite 6
  • 7. Einzelne Hersteller ermöglichen die Freischaltung des Bootloaders. Darunter HTC, Motorola und Samsung, die auch alle ein eigenes SDK für ihre Smartphones anbieten. Oft werden diese Modelle als „Developer-Device“ bezeichnet. Durch den quelloffenen Charakter gibt es bereits Dutzende Derivate und Portierungen von Android, die durch Projekte und Communities realisiert wurden. Die SDKs der Hersteller, wie zum Beispiel die „Gorbi SDK“ von Qualcomm, können umfassender auf die systeminternen Funktionen zugreifen, bieten dann aber nur eine gerätespezifische Lösung. Auf den „Project Hosting“-Webseiten von Google befinden sich über 5000 Projekte, die sich nur mit Android beschäftigen und eine gute Grundlage bieten, um zusätzliche Libraries, APIs oder Quellcode zu finden. Die Gruppe „Secure Element Evaluation Kit for the Android Platform“ entwickelt eine „SmardCard API for Android“ 5. Die Erweiterungen bieten neben einer Komplettverschlüsselung der Daten auch ein eigenes PKI- Management. Android wird sogar von der NSA als Basis genutzt, um ein sicheres „Mobility Capability Package“6 für ihre Mitarbeiter zu entwickeln. 5 Quelle: http://code.google.com/p/seek-for-android 6 NSA, “Mobility_Capability_Pkg_(Version_1.1U)”, Februar 2012 Seite 7
  • 8. 2.2. Telephony API Im folgenden Abschnitt werden die wichtigsten Bereiche der Android-API untersucht, die für SMS-Dienste und Telefonie nötig sind. Danach sollte eine realistische Einschätzung möglich sein, in welchem Umfang die „fB-Detection“ oder der „PDU-Filter“ realisierbar ist. Die API-Packages „android.telephony“ 7 und „android.telephony.GSM“ stellen die wichtigsten Zugriffe bereit. Für die Softwareentwicklung sind folgende Klassen interessant: o “CipherSpi”, Service Provider Interface (SPI) o „NeighboringCellInfo“, Methoden: getCid(), getLac() und getRssi() o „TelephonyManager“ und „PhoneStateListener“ o „SmsMessage“, „SMSManager“ und „SmsMessage.SubmitPdu“ o „SignalStrength“, Methoden: getEvdoSnr(), getGsmBitErrorRate(), getGsmSignalStrength() Das Package „javax.crypto“8 beinhaltet Klassen („Cipher“, „CipherSpi“9 und „NullCipher“) und Methoden (getAlgorithm(), getParameters()), mit denen der „Cipher Indicator“ einer Instanz ausgelesen werden kann. 7 Siehe http://developer.android.com/reference/android/telephony/ 8 Quelle: http://developer.android.com/reference/javax/crypto/package-summary.html 9 Quelle: http://developer.android.com/reference/javax/crypto/CipherSpi.html Stand [01.11.2012] Seite 8
  • 9. Der „Radio Interface Layer“ (RIL) befindet sich zwischen dem „Application Framework“ und dem Baseband Device und besteht aus dem RIL Daemon (rild) und dem geräteabhängigen Vendor RIL. Abbildung 2: Android RIL Quelle: Open Hand Alliance Die Kommunikation zwischen Telephony API (RILJ) und RIL Daemon findet über eine Socket-Verbindung statt. Der Vendor RIL greift über eine serielle Schnittstelle auf den Baseband-Prozessor zu und kommuniziert über AT-Befehle. Mit den Klassen „com.android.internal.telephony.RIL.RILSender“ und „com.android.internal.telephony.RIL.RILReceiver“ kann direkt auf eingehende und ausgehende Daten zugegriffen werden, die von dem hardwareanhängigen RIL-Layer zur Verfügung gestellt werden. Um die Daten abfangen zu können kann die „Man-in-the-middle“-Methode angewendet werden, wie sie in der Arbeit „Injecting SMS Messages into Smart Phones for Security Analysis10“ von Colin Mulliner beschrieben ist. Dieses Dokument ist am Rande meiner Diplomarbeit „Erkennen und Abwehren von Angriffen im Mobilfunknetz auf Smartphones“ entstanden. 10 Collin Mulliner (TU-Berlin) und Charlie Miller “Injecting SMS Messages into Smart Phones for Security Analysis”, 2009 Seite 9
  • 10. Weitere Informationen finden Sie unter: www.smartphone-attack-vector.de Seite 10