Full Transcript

1.1 Einleitung In den letzten Jahren haben sich Smartphones sehr stark verbreitet. Es handelt sich hierbei um eine Kombination aus Mobiltelefon und Computer. Man kann damit mobil telefonieren, aber auch Programme (engl. application) installieren und laufen lassen. Diese Programme werden kurz App gen...

1.1 Einleitung In den letzten Jahren haben sich Smartphones sehr stark verbreitet. Es handelt sich hierbei um eine Kombination aus Mobiltelefon und Computer. Man kann damit mobil telefonieren, aber auch Programme (engl. application) installieren und laufen lassen. Diese Programme werden kurz App genannt. Mit Hilfe dieser Programme lässt sich komfortabler kommunizieren. Eine kleine Kontaktdatenbank enthält die Namen, Telefonnummern und weitere Kontaktdaten von Familie, Freunden, Kollegen, usw. Statt umständlich lange Telefonnummern eintippen zu müssen, kann man jetzt bequem einen Eintrag der Kontaktliste auswählen und diesen direkt anrufen. Über das Mobilfunknetz oder ein WLAN kann ein Smartphone ständig mit dem Internet verbunden sein. Es kann Webanwendungen benutzen und Daten aus dem Internet laden, aber natürlich auch Daten ins Internet senden. Weiterhin sind moderne Smartphones auch mit einem GPS-Empfänger ausgestattet. Mit Hilfe dieses Empfängers ist der jeweilige Standort des Smartphones bekannt. Weiterhin können Smartphones auch beliebige andere Programme ausführen. Hierzu gehören Spiele oder auch Anwendungen, die vom aktuellen Standort des Smartphones abhängen1, ebenso wie Büroanwendungen. Asokan et al. [2] charakterisieren Smartphones anhand dieser drei Eigenschaften: 1. Sie können ihre Funktionalität erweitern, indem neue Software-Komponenten installiert werden. 2. Sie können auf das Internet zugreifen und man kann aus dem Internet auf das Smartphone zugreifen. 3. Auf einem Smartphone liegen private und vertrauliche Daten. Smartphones werden nicht nur privat benutzt, sondern auf ihnen werden immer mehr dienstliche Anwendungen installiert. Daraus ergeben sich eine Reihe von Sicherheitsproblemen. Sie werden in Abschnitt 1.2 besprochen. Danach werden in Abschnitt 1.4 einige allgemeine Sicherheitstechniken vorgestellt, um den Bedrohungen begegnen zu können. Den Abschluss dieses Kursteils bildet Abschnitt 1.5. Dort werden zu den aktuell verbreitetsten Betriebssystemen von Smartphones die dort implementierten Sicherheitsmechanismen vorgestellt. 1.2 Allgemeine Bedrohungen In diesem Abschnitt sollen allgemeine Bedrohungen im mobilen Kontext besprochen werden, denen Smartphones und vergleichbare mobile Endgeräte sowie ihre Nutzer unterliegen. Verlust des Endgerätes und seine Folgen: Die erste und nächstliegende Bedrohung bei so kleinen und handlichen Geräten besteht im Verlust des Smartphones. Normalerweise führt man sein Smartphone immer mit und somit gibt es auch viele Gelegenheiten, bei denen das Smartphone vergessen und liegen gelassen werden kann. Aber auch bei Dieben sind Smartphones begehrt und so werden sie häufig gestohlen. Ein unredlicher Finder oder ein Dieb soll das Gerät aber nicht benutzen und damit dann auf Kosten des legitimen Eigentümers kommunizieren können. Um das zu erschweren wird der PIN-Mechanismus benutzt, der immer schon bei der Mobilfunktechnik eingesetzt wurde. Der Dieb soll aber natürlich auch keine Gelegenheit bekommen, die (vertraulichen) Daten auf dem Gerät auslesen zu können. Häufig ist der Speicherplatz auf Smartphones knapp, so dass alle Systeme auch die Speicherung von Benutzerdaten im Internet ermöglichen. Diese Dienste nennt man auch Cloud Services. Da das Smartphone ständig im Netz ist, kann es die Benutzerdaten auch jederzeit aus der Cloud des Benutzers laden und dann verarbeiten. Damit kann man beispielsweise seinen Kalender einfach zwischen PC und Smartphone synchronisieren. Aber auch Dokumente und Fotos werden gerne in der Cloud gespeichert. Natürlich möchte man nicht, dass andere diese Daten mitlesen können. Die Daten müssen also bei der Übertragung verschlüsselt werden und die Cloud muss einen guten und sicheren Mechanismus zur Benutzerauthentifizierung einsetzen. Hier kommen heute überwiegend passwortbasierte Verfahren zum Einsatz. Ist so ein Passwort auf dem Smartphone gespeichert – vielen Benutzern ist es zu unbequem, das Passwort immer wieder einzugeben – dann kann ein Dieb möglicherweise mit dem Smartphone alle Daten des Benutzers mitlesen. Sind in der Cloud jetzt noch die Benutzerpasswörter bei den vielen Internetdiensten (Online-Händler, Banking, eBay, Foren, usw.) gespeichert, so kennt der Dieb alle Informationen, um im Internet an die Stelle desjenigen zu treten, der das Smartphone verloren hat. Damit könnte der Dieb das Konto des Opfers plündern, seinen Ruf ruinieren und andere schlimme Dinge tun. Spionierende Anwendungen: Durch das GPS-Modul im Smartphone können die dort installierten Programme den Aufenthaltsort des Besitzers verfolgen. Voraussetzung ist, dass dem jeweiligen Programm der Zugriff auf das GPS-Modul erlaubt ist. Für alle location based services ist das auch erforderlich. Was ein Programm dann mit diesen Daten macht, bleibt häufig unklar. Gerade kostenlos vertriebene Programme sind oft so programmiert, dass sie diese Daten irgendwie kommerziell verwerten. Das Recht hierzu bekommen sie vom Benutzer bei der Installation oder Laufzeit des Programms erteilt. In den Lizenzbedingungen des Programms bekommt der Benutzer das Recht, das Programm installieren und benutzen zu dürfen und im Gegenzug gewähren die Benutzer dem Programmautor oft das Recht, die gewonnenen Daten zu verwerten. Neben diesen Aufenthaltsdaten gibt es viele weitere Daten, die kommerziell interessant sind.Wie oben schon erwähnt, gibt es die persönliche Kontaktliste des Benutzers. Sie enthält die Namen und Kontaktdaten von Familie, Freunden, Kollegen, usw. Mit diesen Daten kann man Beziehungsnetze erstellen, aus denen hervorgeht, wer wen kennt. Diese Daten lassen sich gut für Marketingzwecke einsetzen. Wenn viele Ihrer Kontakte als Tennisspieler bekannt sind, dann sind Sie vermutlich auch empfänglicher für Werbung für Tenniszubehör als der Durchschnittsmensch. Spezielle Programme wie z. B. WhatsApp, die einfache Kommunikationsmöglichkeiten ähnlich zur SMS anbieten, können bessere und bequemere Dienste anbieten, wenn der Benutzer ihnen den Zugriff auf die Kontaktliste gewährt. Diese Kontaktinformationen werden dann auf den Servern des Programmanbieters (also WhatsApp) gespeichert. Auch wenn Sie selbst kein WhatsApp-Benutzer sind, so können Ihre Kontaktdaten dort auf den Servern gespeichert sein. Dazu muss nur einer Ihrer Freunde, Familienmitglieder, Kollegen, usw. Ihre Daten in seiner Kontaktliste stehen haben und Benutzer von WhatsApp sein. Stehen die Server des Programmanbieters dann nicht in der EU und unterliegen den europäischen Vorschriften zum Datenschutz, so kann man nicht wissen, wer alles Zugriff auf diese Daten hat. Manipulierte Anwendungen: Neue Programme werden auf einem Smartphone normalerweise installiert, indem sie aus dem Internet geladen und dann installiert werden. Die früher üblichen Installationsmedien wie DVDs lassen sich bei Smartphones nicht mehr einsetzen. Woran kann ein Benutzer aber erkennen, dass ein Programm beim Herunterladen nicht unbemerkt manipuliert wurde? Für die verbreiteten Systeme Android und iOS gibt es sogenannte App Stores. Dort kann im Prinzip jeder Entwickler seine Programme anbieten. Die Verteilung des Programms und die Abrechnung des Kaufpreises übernimmt der Betreiber des App Stores. Entwickler müssen sich dort zwar registrieren, aber man kann als Käufer nicht sicher davon ausgehen, welche Person oder Firma denn ein Programm dort eingestellt hat. Obwohl die Plattform-Anbieter in ihren App Stores Schutzmechanismen einbauen, die schädliches Verhalten der von ihnen verteilten Apps aufdecken sollen und dies auch den Endnutzern kundtun (was ein falsches Sicherheitsgefühl hervorruft), muss man trotzdem davon ausgehen, dass Programme aus den App Stores möglicherweise von Hackern erstellt wurden und neben ihrer angepriesenen Funktion auch weitere unbekannte Funktionen enthalten. Man nennt solche Programme trojanisches Pferd. Damit ein trojanisches Pferd die anderen laufenden Programme nicht beeinträchtigen kann, bieten alle modernen Betriebssysteme für mobile Geräte spezielle Abschottungsmechanismen zwischen den Programmen an. Social Engineering: Die Gutgläubigkeit oder dasWohlwollen von Personen wird ausgenutzt, um sie dazu zu bringen, unabsichtlich Schadcode zu installieren und auszuführen. Dieser kann in vermeintlich harmlosen Apps versteckt worden sein oder auch nachträglich über einen Update-Mechanismus einer App seinen Weg auf das Smartphone finden. Auch durch den Besuch speziell präparierter Webseiten kann automatisch schadhafter Code heruntergeladen werden. Generell sind aber auch persönliche und sensible Informationen auf den Endgeräten bedroht. Zum Beispiel ist die unverschlüsselte Speicherung persönlicher Bilder in der Standard- Galerie-App als gefährlich anzusehen. Ein Angreifer, welcher Zugang zum Gerät hat, kann diese auf einfache Art und Weise extrahieren und zum Zwecke des eigenen finanziellen Vorteils nutzen, indem sie verkauft oder gar zum Erpressen von Lösegeld genutzt werden. Durch aktivierte Ortsdienste und das Senden des persönlichen Aufenthaltsortes in sozialen Netzwerken setzen sich Nutzer auch bewusst Angreifern aus, die ihnen physisch schaden oder die Tatsache ausnutzen wollen, dass sie sich an einem speziellen Ort aufhalten (Einbruch, Raub, Diebstahl). Drahtlose Datenübertragung: Mobile Endgeräte verbinden sich i. d. R. drahtlos mit dem Internet. Dabei wird entweder WLAN oder ein Mobilfunknetz (GSM, UMTS, LTE, 5G, . . . ) benutzt. Durch Funk übertragene Daten lassen sich einfacher abhören oder manipulieren als bei kabelgebundener Übertragung. Ihr eigenes WLAN zu Hause können Sie durch den Einsatz von WPA3 einfach vor Abhören schützen. Aber über die vielen anderen, freien WLANs haben Sie keine Kontrolle. Häufig benutzen diese WLANs keine oder nur schwache Verschlüsselung. Sie müssen also davon ausgehen, dass andere im WLAN Ihren Datenverkehr mitlesen können. Ein Smartphone ist ständig im Netz, man kann nicht am herausgezogenen Kabel erkennen, dass es gerade offline ist. Auch fehlt eine dedizierte Firewall zwischen dem Smartphone und dem Internet. Zu Hause haben Sie i. d. R. eine Firewall, die die Kommunikation Ihrer Heimrechner mit Rechnern im Internet kontrolliert. Ein Smartphone kann ständig „angefunkt“ werden und muss sich selbst darum kümmern, dass nur die vom Benutzer erlaubte Kommunikation stattfinden kann. Auch über Kommunikationswege wie SMS/MMS, Bluetooth und neuerdings auch Near-field Communication (NFC) sind mobile Geräte Bedrohungen ausgesetzt. Designfehler in der SMS-Architektur können ausgenutzt werden, um Schadcode beim Opfer-System einzuschleusen. Auch ist es möglich, über so genannte „stille SMS“ den ungefähren Aufenthaltsort des angefragten Gerätes zu bestimmen oder zu herauszufinden, ob das Gerät überhaupt eingeschaltet ist. Dies passiert, ohne dass der Nutzer davon in Kenntnis gesetzt wird. Auch über Bluetooth kann schadhafter Code zwischen Geräten übertragen werden. Ein kompromittiertes Gerät kann sich selbst mit anderen Geräten mittels Standard-Passwörtern paaren und dann Kopien des Codes an das Zielgerät senden. Mittels so genannter Drive-by-Angriffe über NFC können Smartphones dazu gebracht werden, Webseiten aufzurufen, die Schadcode auf dem Gerät ausführen. Malware, die die NFC-Funktion des Smartphones nutzt, kann aber auch mit (entsprechend ausgerüsteten) Zahlungskarten in der näheren Umgebung kontaktlos interagieren und unerwünschte Transaktionen auslösen, ggf. sogar unbemerkt. Finanzielle Schäden: In Telefonnetzen werden seit längerem sogenannte Mehrwert-Dienste angeboten. Sie sind unter speziellen Rufnummern erreichbar und kosten den Anrufer mehr als ein „normaler“ Anruf. Diese Rufnummern werden von den heute üblichen Flatrates i. d. R. nicht abgedeckt. Ein Programm auf dem Smartphone, das im Hintergrund ständig solche Nummern anruft, kann den Besitzer des Smartphones sehr teuer zu stehen kommen. Beim Internet-Banking bieten einige Banken das MTAN-Verfahren an. Möchte der Benutzer eine Überweisung tätigen, so erzeugt der Server der Bank eine neue Transaktionsnummer (TAN) und sendet diese per SMS an die hinterlegte Mobiltelefonnummer des Kontoinhabers. Der Inhaber tippt diese Nummer dann ab und autorisiert damit die Überweisung. Ein Angreifer muss also (1) den PC des Benutzers erfolgreich angreifen, um an an die PIN zu kommen und (2) irgendwie an die SMS mit der TAN kommen. Hierzu kann man ein Programm schreiben, das, wenn es auf dem Smartphone des Kontoinhabers installiert ist, die SMS der Bank im Hintergrund abfängt und an einen Anschluss des Angreifers umleitet. Sollte der Benutzer seine PIN auch auf dem Smartphone gespeichert haben, dann fällt Schritt (1) für den Angreifer weg und die Anwendung auf dem Smartphone kann auch die PIN ausspionieren und dem Angreifer verraten. Benutzer eines Smartphones haben i. d. R. ihre Bezahlinformationen oder ein Guthaben (pre paid) beim App Store hinterlegt und können so einfach und bequem neue Programme kaufen, direkt herunterladen und installieren. Diese Funktion kann auch von Programmen ausgenutzt werden. Beispielsweise kann ein Benutzer nach dem Kauf eines Programms aus diesem Programm heraus weitere Komponenten „nachkaufen“. Spieleprogrammierer können so neue Levels erstellen und Spieler können diese dann aus dem Spiel heraus nachkaufen. Man nennt das auch In-App- Käufe. Eine bösartige App könnte ihre Benutzer nun durch In-App-Käufe dazu bringen, ihr Guthaben/Geld für nutzlose Dienste auszugeben. Neben dem Programmierer der bösartigen App profitieren auch die Betreiber der App Stores hiervon, sie bekommen ja eine Provision bei allen Käufen. Für Benutzer muss es also immer eindeutig und klar erkennbar sein, ob ein Klick auf einen Button in einer App einen kostenpflichtigen Einkauf auslöst oder nicht. Beteiligte Parteien: Beim Einsatz von Smartphones gibt es verschiedene beteiligte Parteien (engl. stakeholder) mit unterschiedlichen Interessen und Sicherheitsanforderungen [2]. Benutzer: Da ist als erstes der Benutzer des Smartphones. Sein Hauptinteresse liegt darin, dass seine Daten auf dem Smartphone sicher sind und dass das Gerät keinen „Unsinn“ macht. Außerdem möchte der Benutzer die völlige Freiheit mit dem Gerät haben, also beliebige Software installieren können. Ein sicheres Smartphone bedeutet in diesem Kontext und aus Nutzersicht, dass es der Nutzer zwanglos verwenden kann und sich somit die persönliche Nutzererfahrung verbessert. Das Smartphone ist primär durch einen externen Angreifer gefährdet, der entweder direkten Zugriff auf das Gerät erlangt oder über das Netz das Smartphone angreift. Aber auch die Hersteller wollen manchmal verhindern, dass Benutzer bestimmte Änderungen am Smartphone vornehmen. Hardware-Hersteller: Jedes Smartphone hat einen Hersteller. Er ist dafür verantwortlich, dass beispielsweise die elektromagnetische Strahlung im vorgesehenen Rahmen bleibt. Außerdem muss er sicher stellen, dass die weltweit eindeutige Gerätenummer International Mobile Equipment Identifier (IMEI) beispielsweise von einem Dieb nicht nachträglich verändert werden kann. Diese Daten müssen also in einem speziell geschützten Speicherbereich des Gerätes abgelegt sein. Weiterhin muss sich der Hardware-Hersteller um die Abwicklung von Garantieansprüchen kümmern und sollte Firmware-Updates für seine zumindest aktuellen Endgeräte bereitstellen. Hierbei hat der Hersteller nicht nur ein Interesse daran, Sicherheitslücken zu beseitigen, sondern auch neue Sicherheitsfunktionen und -optionen einzuführen, die die Konkurrenz (noch) nicht anbietet und somit neue Kunden zu gewinnen. Die Schutzziele des Herstellers sind primär durch den Besitzer des Gerätes (der legitime oder ein Dieb) gefährdet. Netzbetreiber: Die Betreiber von Mobilfunknetzen haben auch oft spezielle Interessen an Smartphones, die beispielsweise subventioniert an Kunden abgegeben werden. Solche Geräte sollen nur im Netz dieses Betreibers eingesetzt werden. Auch könnte das Geschäftsmodell des Betreibers dazu führen, dass bestimmte Programme, wie beispielsweise Voice over IP Anwendungen, nicht vom Benutzer installiert werden sollen. Statt dessen soll der Benutzer die kostenpflichtigen Dienste des Netzbetreibers benutzen. Software-Entwickler und Dienstanbieter: Sie möchten gerne beliebige Anwendungen installieren können und den kompletten Funktionsumfang des Smartphones in der Anwendung einsetzen können. Allerdings möchten sie nicht, dass die Benutzer des Smartphones beispielsweise die Anwendung beliebig kopieren können oder auf die Daten der Anwendung / des Dienstes zugreifen. Hierbei könnte es sich um kopiergeschütztes Material (Musik oder Filme) handeln. Der Benutzer soll diese Daten nur auf dem Gerät einsetzen können, für das er diese Daten gekauft hat. Plattform-Anbieter: Zum Smartphone gehört auch der Anbieter des Betriebssystems. Dieser ist für die Implementierung, Bereitstellung, Pflege und Support des jeweiligen Betriebssystems verantwortlich und muss hierzu auch regelmäßige Updates bereitstellen, um das Vertrauen seiner Nutzer und Kunden nicht zu verlieren. Er bietet meist auch die Entwicklungsumgebung für Anwendungsentwickler und einige „Basis-Anwendungen“ des Systems an. Der Plattform-Anbieter legt auch die Regeln fest, wie zusätzliche Software auf das Smartphone kommen soll. Das führt zum nächsten Beteiligten. Marktplatzbetreiber: Programme für Smartphones werden i. d. R. über einen Marktplatz vertrieben. Er wird oft auch App Store genannt. Sein Betreiber hat ein Geschäftsmodell und verdient am Verkauf der Software für die Smartphones. An diesen Erlösen werden die Software-Entwickler normalerweise beteiligt. Unlautere Software-Entwickler oder unlautere Smartphonebesitzer können die Interessen der Marktplatzbetreiber gefährden. Neben offiziellen App Stores, die von den Plattform-Anbietern betrieben werden, gibt es auch alternative App Stores von Drittanbietern und firmenbezogene App Stores (Corporate oder Enterprise App Stores), die oftmals ein App-Angebot mit einer speziellen Ausrichtung (z. B. freie und Open-Source-Software) bereitstellen. Administratoren: Immer wenn Smartphones von Arbeitgebern gestellt werden und von den Angestellten auch privat benutzt werden, haben die Administratoren des Arbeitgebers Sorgen. Sie möchten gerne sicherstellen, dass vertrauliche Firmendaten nicht durch die private Nutzung des Smartphones gefährdet werden. Neben den ohnehin vorhandenen Gefährdungen führen privat installierte Apps zusätzliche (und meist größere) Gefährdungen hinzu. Unvorsichtige Smartphonebenutzer sind hier die größte Gefährdung. 1.3 Riskantes Nutzerverhalten Viele Nutzer setzen durch ihr eigenes Verhalten im Umgang mit Smartphones diese selbst und ihre (persönlichen) Informationen einer erhöhten Gefahr aus. Diese Geräte sind – wie oben angesprochen – oftmals dauerhaft in Betrieb und mit dem Internet verbunden. Dieses als “Always-on” bekannte Paradigma ist den (technisch weniger versierten) Nutzern oftmals wichtiger als der Sicherheitsstatus der WLANNetzwerke, mit denen Sie sich verbinden. Auch ist die leichtsinnige und ungeprüfte Installation von Apps (auch aus bekannten App Stores) in diesem Kontext bedenklich. Die folgende, keinesfalls als abschließend zu betrachtende Liste führt weitere nutzerbedingte Ursachen auf, die die Sicherheit von Endgeräten und die darauf gespeicherten Informationen gefährden: • Nutzer sind sich oft über Gefahren im Hinblick auf die Sicherheit ihrer Geräte und den Schutz ihrer Informationen nicht bewusst. • Nutzer haben auch meist geringes Wissen über die Vermeidung von Sicherheitsproblemen und über Mechanismen zum Schutz ihrer Informationen auf ihren Geräten. • Anfragen von Apps, ihnen Berechtigungen zu geben, werden oft bedenkenlos bewilligt, auch wenn der Zweck solch einer Anfrage wenig Sinn macht (falls er überhaupt erklärt wird). • Apps aus externen (unbekannten) Quellen werden insbesondere unter Android trotz eingeblendeter Warnungen des Systems installiert und entsprechende Risiken in Kauf genommen. Die betreffende Option muss sogar erst aktiv eingeschaltet werden (siehe Abbildung 1.1). • Wichtige oder sensible Daten auf den Endgeräten werden zumeist nicht verschlüsselt abgelegt. Wie oben dargelegt, ist es so für Angreifer leicht, an persönliche Informationen zu gelangen. • Geräteeigene Dienste, z. B. zur Erfassung der Position, werden bedenkenlos genutzt oder Zugriffe darauf bereitwillig gewährt. Aufgrund der hohen Verbundenheit der Nutzer mit ihren Geräten, müssen Firmen, in denen der Einsatz privater Smartphones erlaubt wird, Maßnahmen ergreifen und darauf hinwirken, solche Einstellungen und Verhaltensweisen zu ändern, um Sicherheitsrisiken zu minimieren. Ein bedeutsames Informationsleck kann etwa zu enormen Kosten bei der Regulierung des Schadens führen. Weiterhin können solche Vorfälle (sofern sie nach außen bekannt gemacht werden) das Ansehen des Unternehmens schmälern und Kunden zur Abwanderung bewegen, was Umsatz- und Gewinneinbußen zur Folge hat. Darum ist es in solchen Umgebungen angeraten, Sicherheitsfunktionen in mobilen Endgeräten standardmäßig zu aktivieren sowie die Angestellten in sicherheitsbezogenen Praktiken und Denkweisen zu schulen, in diesem Zuge aber auch die Security-Awareness im privaten und betrieblichen Umfeld zu erhöhen. 1.4 Allgemeine Sicherheitsmechanismen Schichtenarchitektur: Für alle Smartphones gibt es eine gemeinsame in Schichten angeordnete Systemstruktur, siehe Abbildung 1.2. Die Basis der Struktur ist die Hardware des Smartphones. Sie muss nicht nur die Programme ausführen, sondern auch bestimmte Sicherheitsfunktionen bereitstellen. Darüber befindet sich ein Betriebssystem, dessen Kern sich u. a. um die Steuerung der Hardware kümmern muss. Weiterhin bietet das Betriebssystem auch die Schnittstelle zu den Anwendungsprogrammen. Sie besteht aus den System-Diensten und den System-Bibliotheken. Darauf bauen die Anwendungsprogramme auf. Anwendungsprogramme können „klassische“ Programme mit einer Benutzerschnittstelle (engl. user interface) sein oder ein Dienst (engl. service) ohne eigene Benutzerschnittstelle. Das Betriebssystem muss auch eine Reihe von Sicherheitsfunktionen anbieten. Abbildung 1.3 zeigt, wie man sich eine nächste Detaillierungsstufe vorstellen kann. Die Platform Security Architecture ist eine Menge von Software-Komponenten, die einerseits die zugrunde liegende Hardware ansprechen und andererseits von den darüber liegenden Anwendungen und Diensten benutzt werden. Die Platform- Security-Architecture-Komponenten sind in den grau hinterlegten Rechtecken dargestellt. Sie werden vom Hersteller des Smartphones typischerweise mitgeliefert. Rechtecke mit weißem Hintergrund stellen die von Dritten bereitgestellten Programme oder Dienste dar. In Ovalen sind die o. g. Beteiligten am Gesamtsystem dargestellt. Sie benutzen bestimmte Komponenten der Security Architecture. Grundprinzipien: Ausgehend von der Architektur aus Abbildung 1.3 erfüllt jede Plattform dieselben drei Prinzipien [2]: 1. Isolierung der Programme: Jedes Programm (engl. application) läuft in seiner eigenen Laufzeitumgebung und hat seine eigene persistente Speicherumgebung. Man nennt das oft auch Sandkasten (engl. sandbox). Ein Programm agiert nur in seiner Sandbox und kann nicht mit anderen Programmen, bzw. deren Sandbox, interagieren. Eine spezielle Komponente der Security Architecture, die in Abbildung 1.3 IPC (Inter-Process Communication) genannt wird, ist die einzige Möglichkeit, über die verschiedene Programme miteinander interagieren. 2. Zugriffskontrollmodell: Damit der Benutzer die Kontrolle behält, welche Programme auf Daten welcher anderen Programme zugreifen können, arbeitet die IPC-Komponente sehr eng mit einem sogenannten Reference Monitor zusammen. Nur wenn entsprechende Berechtigungen eingetragen sind, wird die Kommunikation über die IPC-Komponente erlaubt. 3. Digital signierte Programme: Bei der Zugriffskontrolle müssen Subjekte eindeutig authentisiert werden. Dazu werden Programme digital signiert. Dadurch wird nicht nur sichergestellt, wer das Programm geschrieben hat, sondern auch, dass das Programm unverändert vorliegt. Software-Verteilung: Die Softwareverteilung erfolgt i. d. R. über das Internet. Auf einem Marktplatz werden Programme angeboten und die Benutzer können die Programme über den Marktplatz erwerben und herunterladen. Im Prinzip kann jeder Anbieter auf diesem Marktplatz sein. Ein Benutzer kann nicht ohne weiteres erkennen, ob es sich um einen seriösen Anbieter oder einen Hacker handelt. Einige Marktplatzbetreiber versuchen den Zugang zu ihrem Marktplatz zu kontrollieren. So müssen sich Programmierer beispielsweise namentlich registrieren. Trotzdem bleibt das Problem, dass niemand weiß ob der Entwickler „Meier, Kurt aus Saarbrücken“ zu den seriösen Anbietern oder den Hackern gehört. Also werden meist auch die Programme selbst überprüft. Aber auch das ist sehr schwierig, denn man kann nicht automatisch herausfinden, ob ein Programm etwas „böses“ macht oder nicht. Das vergleichsweise viel einfachere Halteproblem ist ja schon nicht entscheidbar. Daher müssen Menschen die Programme prüfen, bevor sie auf dem Marktplatz angeboten werden. Hat man ein passendes Programm im Marktplatz gefunden und möchte es installieren, dann ergibt sich das nächste Problem. Der Benutzer muss kontrollieren können, welche Berechtigungen das Programm denn bekommen soll. Letztlich konfiguriert der Benutzer hierbei den Reference Monitor. Das Programm muss dem Benutzer mitteilen, welche Berechtigungen es gerne haben möchte und der Benutzer muss hierüber entscheiden. Die konkreten, evtl. sehr detaillierten Berechtigungen überfordern häufig den normalen Benutzer. Das System muss also eine vereinfachte Abstraktion des Berechtigungsmodells anbieten, so dass der Benutzer sich nicht mit den vielen Details beschäftigen muss. Das MS Windows Dateisystem bietet auch eine solche Abstraktion. Hinter dem „abstrakten“ Recht Vollzugriff verbergen sich die vielen einzelnen Rechte wie Lesen, Schreiben, Ändern, Rechte vergeben, usw. Wichtig ist hierbei, dass dem Benutzer nur Abstraktionen angeboten werden, die (1) für den Benutzer verständlich sind und (2) hinter denen sich tatsächlich auch nur die detaillierten Berechtigungen verbergen, die man normalerweise dort auch erwarten würde. Das abstrakte Recht Kontaktdaten lesen dürfen darf daher nicht auch den Zugriff auf das GPS-Modul erlauben oder Zugriff auf andere vertrauliche Daten ermöglichen. Außerdem ist es wichtig, dass die Benutzerentscheidungen so gespeichert werden, dass sie nicht nachträglich von der Anwendung verändert werden können. Also darf nur ein spezielles Installationsprogramm diese Informationen erheben und speichern. Trotzdem sollte der Benutzer seine Entscheidungen auch nach der Installation eines Programms noch einmal ändern können. Laufzeitumgebungen: Das Betriebssystem auf dem Smartphone sollte eine Benutzerverwaltung realisieren. Sie ist die Basis für die Implementierung des Reference Monitors. Alle Zugriffe von Programmen auf kritische Ressourcen müssen vom Reference Monitor vorab überprüft werden. Hat der Benutzer bei der Installation des Programms die Berechtigung erteilt, dann darf das Programm den Zugriff ausführen. Fehlt die Berechtigung, dann wird dem Benutzer häufig eine Dialogbox angezeigt. Dort steht, dass das Programm xy auf die Ressource z zugreifen will und die Berechtigung fehlt. Das wird mit der Frage an den Benutzer verbunden, ob er die Berechtigung jetzt erteilen mag. Weiterhin müssen Laufzeitumgebungen verhindern, dass Anwendungen das Berechtigungssystem umgehen oder auf den Adressraum einer anderen Anwendung zugreifen kann. Die Konzepte hierfür sind bekannt und sie werden bei Betriebssystemen schon seit Jahren angewendet. Das Konzept der virtuellen Maschinen trennt nicht nur einzelne Prozesse, sondern komplette virtuelle Computer voneinander. Sie werden daher auch in den Betriebssystemen von Smartphones oft eingesetzt. Persistent gespeicherte Daten, z. B. auf Speicherkarten, müssen verschlüsselt sein, damit die Vertraulichkeit der Daten auch nach Verlust der Speicherkarte gewahrt bleibt. Es ist besser, wenn sich nicht jedes Programm selbst um die Verschlüsselung der Daten kümmern muss. Statt dessen sollen die Programme so wie immer geschrieben werden. Die Laufzeitumgebung muss nun transparent für den Programmierer sicherstellen, dass alle Systemaufrufe zur Speicherung von Daten erst die erforderliche Verschlüsselung durchführen und danach die Daten auf das Speichermedium schreiben. In den Systemaufrufen zum Lesen muss dann natürlich eine entsprechende Entschlüsselung vorgesehen werden. Da Smartphones oft in „unsicheren“ WLANs eingesetzt werden müssen die Netzverbindungen immer verschlüsselt werden. Die Smartphone-Betriebssysteme unterstützen daher alle die Verschlüsselungsprotokolle SSL bzw. TLS. Surft man mit dem Smartphone im Internet, kann man damit vertrauliche und authentische Verbindungen zu Web-Servern realisieren. Auch der Abruf von E-Mails von einem Server kann hiermit geschützt werden. Auch Virtual Private Network (VPN)- Software gehört zu einem Smartphone-Betriebssystem.

Use Quizgecko on...
Browser
Browser