Apps werden im Alltag immer wichtiger. Sie erfüllen zahlreiche Funktionen – und speichern, übertragen und verarbeiten dafür sensible bzw. personenbezogene Daten. Um hier Sicherheit zu gewährleisten, muss die App selbst sicher sein und ebenfalls das Betriebssystems des Smartphones.
Prüflabore untersuchen, ob zum Beispiel Apps von Zahlungsdienstleistern dem Anspruch der Mobile Security gerecht werden.
Auch wenn es einen hundertprozentigen Schutz nicht geben kann: einige Sicherheitsmechanismen können zumindest die Aufwände für Angriffe so hoch setzen, dass diese sich für Angreifer nicht mehr lohnen.
Mobile Security betrifft die Sicherheit von Anwendungen, die auf mobilen Endgeräten wie Smartphones und Tablets mit iOS oder Android-Betriebssystemen ausgeführt werden. Im Fokus steht der Schutz von Daten, etwa Gesundheits- oder Bezahlinformationen, und von geistigem Eigentum. Denn alle Daten, die gespeichert, übertragen oder verarbeitet werden, können auch entwendet oder mißbräuchlich verwendet werden: Die Risiken mobiler Anwendungen sind deswegen durchaus mit jenen eines Desktop-Computers vergleichbar.
Die verarbeiteten Daten können für Angreifer aus unterschiedlichen Gründen interessant sein. So ist es zum Beispiel möglich über die Datenerhebung von Fitnesstrackern, den Aufenthaltsort von Personen zu bestimmten Zeitpunkten zu bestimmen – und dann einen Einbruch in Abwesenheit zu planen. Doch Missbrauchsszenarien sind vielfältig: Personenbezogene Daten wie Sozialversicherungsnummern können für Identitätsdiebstahl genutzt werden, Zahlungsdaten wie virtualisierte Kreditkarten können unrechtmäßige Zahlungen erlauben und mit Gesundheitsdaten werden Erpressungsversuche möglich.
Mobile Geräte im Fokus von Angreifern
Mobile Geräte sind für Angreifer auch deswegen interessant, da sie eine immer größere Bandbreite von Anwendungsbereichen abdecken: Schließlich können Smartphones genutzt werden, um Türen aufzuschließen und Autos zu starten oder um bargeldlos bzw. kontaktlos Zahlungen abzuwickeln.
Mobile Security wird auch immer wichtiger, da es zu jeder Anwendung auf dem PC mittlerweile auch eine App gibt. Der Trend zeigt, dass Smartphones im Vergleich zu stationären Computern immer stärker genutzt werden. Auch im Business Bereich wächst ihre Bedeutung – Smartphones werden längst nicht mehr als reine Telefone benutzt, sondern auch zur Datenverwaltung.
Bei mobilen Geräten achten Anwender oft nicht so sehr auf die Sicherheit von Passwörtern, da die Wahrnehmung und die Benutzung eine andere ist: Smartphones haben eine intuitivere Benutzeroberfläche und erleichtern den Einstieg. Apps lassen sich mit wenigen Klicks schnell installieren, am Computer ist die Hürde, durch komplexerer Installationsprozesse und unterschiedliche Bezugsquellen von Software, häufig höher. Am Smartphone ist oft nur eine einmalige Anmeldung bei einer App notwendig, da die Apps in der Regel Anmeldeinformation speichern und den Benutzer zukünftig automatisch anmelden – die Passworteingabe entfällt und alle Dienste funktionieren sofort.
Im Fall einer erfolgreichen Kompromittierung des mobilen Endgerätes ist ein sofortiger Zugriff auf die Daten möglich.
Stellschrauben für Unternehmen und User
Unternehmen müssen deswegen insbesondere die von den Herstellern angebotenen Sicherheitsupdates für ihre Firmenhandys auf dem Schirm haben. Oft werden die Smartphones nicht gewechselt, obwohl keine herstellerseitigen Sicherheitsupdates mehr angeboten werden – personenbezogene Daten und geschäftsrelevante Vorgänge werden dann über potenziell unsichere Geräte verwaltet bzw. abgewickelt. Auch bei privaten Usern besteht die Gefahr, dass Banking Apps oder Kreditkartenzahlungen auf unsicheren Geräten laufen.
Insgesamt hat ein Benutzer drei Stellschrauben, um eine größtmögliche Sicherheit der mobilen Geräte herzustellen: Er nutzt das aktuelle Betriebssystem und nur die offiziellen Appstores und hat die Berechtigungen der Apps im Blick.
Die Gerätehersteller reagieren auf Schwachstellen mit entsprechenden Updates für das Betriebssystem. Deswegen sollte das eigene Smartphone immer in der aktuellen Version laufen. Der Benutzer muss also sicherstellen, dass auch das von ihm verwendete Gerät noch vom Hersteller mit Updates versorgt wird.
Eine große Gefahr für die Sicherheit liegt in der Installation und Nutzung inoffizieller Appstores, über die illegal bzw. kostenlos Apps bezogen werden können. Da diese nicht der Prüfung von Apple (App Store) oder Google (Google Play) unterliegen, steigt hier die Wahrscheinlichkeit, sich mit einer App auch Malware zu installieren.
Benutzer sollten außerdem auf die Rechte achten, die eine App für die Nutzung benötigt. Fordert eine App unnötige Berechtigungen ein, kann das ein Hinweis auf eine unsachgemäße Datennutzung sein.
Gängige Sicherheitsfunktionen von Apps
Abhängig von den verarbeiteten und gespeicherten Daten und den angebotenen Funktionen, muss ein mobiles Endgerät verschiedene Sicherheitsmechanismen mitbringen: Personenbezogene Daten müssen zum Beispiel so gespeichert werden, dass unbefugte Apps nicht darauf zugreifen können, bei Firmenhandys bietet sich ein privater Speicherbereich an. Zudem sollten sensible Daten auf dem Gerät mit Algorithmen verschlüsselt werden, die keine bekannten Schwachstellen haben, so dass nur die befugte App sie entschlüsseln kann. Kommuniziert die App mit anderen System, wie Servern im Internet, sollte eine Transportverschlüsselung der Daten eingesetzt werden.
Bei Bezahl- und Banking-Apps ist eine Bindung der Anwendung an das verwendet Gerät erforderlich, damit sie nicht von Dritten kopiert und auf einem anderen Gerät genutzt werden kann: Dabei werden Informationen des mobilen Endgerätes mit der App verknüpft, so dass die Anwendung nur auf dem Gerät ausgeführt werden kann, auf dem sie installiert wurde.
100-prozentige Sicherheit lässt sich dennoch nicht erreichen: Jede App und jedes Gerät sind kompromittierbar, wenn genügend Zeit und Ressourcen zur Verfügung stehen. Ziel von Mobile Security ist es deswegen, einen Angriff so aufwändig und damit kostspielig zu machen, dass er sich für den Angreifer nicht mehr lohnt.
Dafür werden Sicherheitsmechanismen in einer Art Zwiebelschalenprinzip miteinander kombiniert: Wenn der Angreifer eine Schicht „knackt“, trifft er auf die nächste, tiefer liegende. Sicherheitsfunktionen müssen auf schützenswerte Daten und auf ihren Schutzbedarf abgestimmt werden.
Den Aufwand für Angriffe erhöhen
Um Schwachstellen in einer Anwendung zu erkennen, sammeln Angreifer zunächst Informationen über diese: Mit Hilfe von Reverse Engineering wir versucht die Programmlogik zu erkennen und nachzubilden. Dabei helfen ihnen Toolsets, die zum Beispiel erkennen, welche Dateien zur Laufzeit von der Anwendung geöffnet und welche Befehle ausgeführt werden.
Dem kann mit verschiedenen Techniken vorgebeugt werden: Apps können zum Beispiel erkennen, dass sie analysiert oder dass sie in einer unsicheren Umgebung ausgeführt werden. Um sich selbst vor Manipulation zu schützen, kann eine App beispielsweise zur Laufzeit eine Prüfsumme über den eigenen Programmcode bilden, und die Prüfsumme mit einem fest eingebrannten Wert vergleichen. Unterscheiden sich die Summen, wird der Programmablauf abgebrochen. Manipulationen einer App, um diese zur Laufzeit zu analysieren, werden dynamischen Analysen genannt. Das Erschweren von dynamischen Analysen hilft dabei, sensitive Informationen vor unberechtigtem Zugriff zu schützen.
Im Gegensatz zu der dynamischen Analyse wird bei statischen Analysen versucht die Programmlogik der App anhand des ausführbaren Codes zu extrahieren, ohne die Anwendung auszuführen. Der ausführbare Code der Anwendung muss immer in einer speziellen Form zum Beispiel als Maschinencode, der vom Prozessor interpretiert werden kann, vorliegen. Mit dem entsprechenden Know-how und den richtigen Tools lässt sich der ausführbare Code in einen Code zurückübersetzen, der dem original Source Code ähnelt und so eine erheblich leichtere Analyse erlaubt als Maschinen- oder Bytecode. Um statische Analysen zu erschweren setzen mobile Anwendungen häufig auf eine mit „Obfuskierung“ bezeichnete Technik. Bei dieser Technik wird versucht, die Logik der Anwendung zur verschleiern, damit es für Angreifer schwieriger wird, die eigentliche Logik des Codes zu verstehen. Sogenannte „Obfuskierungstools“ fügen dazu beispielweise zusätzliche Codeteile ohne echte Funktionalität ein, um den Source Code aufzublähen, verschlüsseln Teile des Source Codes oder ersetzen einzelne Befehle durch eine Reihe komplexerer Befehle, die aber in Kombination den gleichen Effekt erzielen.
So wird die Sicherheit von Prüflaboren untersucht
Die Sicherheit von Apps wird von Prüflaboren untersucht und zertifiziert. SRC Security Research & Consulting GmbH aus Bonn ist auf die Prüfung von Apps von Zahlungsdienstleistern und Banken spezialisiert. Apps die beispielsweise verwendet werden können, um Smartphones als Kreditkarte oder als Kartenterminal einsetzen zu können, müssen gewissen Standards genügen. Die Untersuchung endet mit einem Bericht und einer Bescheinigung, dass die Sicherheitsanforderungen umgesetzt wurden. Auf diese Weise können Zahlungsdienstleister ihre Konformität mit den Anforderungen der Zahlungssysteme nachweisen und eine Zulassung für ihre App erhalten.
Bei der Sicherheitsuntersuchung werden verschiedene Ansätze verfolgt. Im White Box-Ansatz wird dem Prüfer der Quellcode der Anwendung offengelegt, so dass er ihn auf Schwachstellen untersuchen kann. Auch Algorithmen zur Verschlüsselungen werden hinsichtlich Aktualität und Schwachstellen untersucht. Beim Black Box-Ansatz gehen die Prüfer wie ein Angreifer vor. Sie laden die App herunter und nutzen Reverse Engineering Techniken um die App anzugreifen: So wird das Vorgehen eines echten Angreifers ohne Vorkenntnisse über die Anwendung simuliert. Interessant dabei ist die Dauer, bis ein Angreifer ans Ziel kommt und zum Beispiel in der Lage ist, Daten zu extrahieren, die er für eine illegale Zahlung verwenden kann. Gängig ist eine Kombination beider Ansätze bei umfangreichen Prüfungen.
Fazit
Apps bieten eine große Angriffsfläche für Missbrauchsversuche – je weiter ihr Funktionsumfang und ihre Verbreitung, desto größer der Anreiz für Missbrauch. Prüflabore untersuchen die Anwendungen sensibler Bereiche wie dem Zahlungsverkehr oder Gesundheit und stellen sicher, dass sie den Standards der Mobile Security entsprechen.
Lutz Weimann verantwortet Projekte und Entwicklung des Themas „Mobile Security“ bei der Security Research & Consulting GmbH.
www.src-gmbh.de