Mit der steigenden Verbreitung von mobilen Geräten und Apps zeigen sich Unternehmen zunehmend besorgt über die Gefahren, die der Umstieg auf eine mobile Plattform mit sich bringt. Laut einer Verizon-Befragung aus dem Jahr 2017 von 600 Fachleuten für Mobile Devices gaben mehr als 70 Prozent der Befragten an, dass die mit mobilen Geräten verbundenen Risiken in den letzten 12 Monaten zugenommen haben und mit einer weiteren Steigerung in 2018 gerechnet wird. Laut Juniper Research werden „über 2 Milliarden Nutzer im Jahr 2018 über Smartphones, Tablets, PCs und Smartwatches Zugang zu Retail-Banking-Diensten haben, was einem Plus von 10 Prozent entspricht.“
Trotz dieses Anstiegs bei der Einführung von Mobile Banking „ist ein erheblicher Teil der Verbraucher immer noch zurückhaltend, was das Vertrauen in mobile Dienstleistungen, einschließlich Banking und Zahlungen, angeht.“
Tatsache ist, dass Banken digitale Kanäle für ihr Wachstum nutzen müssen, und dass das Vertrauen der Kunden in den mobilen Kanal das Herzstück dieser digitalen Transformation ist. Um Vertrauen zu stiften, müssen Finanzinstitute drei grundlegende Dinge beachten: Die Identität ihrer Online- und Mobile-Nutzer muss einwandfrei nachweisbar sein, die Integrität der verwendeten mobilen Geräte muss sichergestellt werden und alle Kundentransaktionen sind gegen Manipulation zu schützen.
Angreifer versuchen typischerweise von zwei Seiten gleichzeitig anzugreifen: Zum einen die Client-Seite, zum anderen das Backend. Da Banken die Kontrolle über das Backend haben, können sie sicherstellen, dass ihre Infrastruktur die aktuellen Sicherheitsstandards erfüllt, um erfolgreiche Angriffe zu erschweren. Mobile Banking Apps befinden sich jedoch auf den Geräten der Kunden und entziehen sich somit einer Kontrolle durch die Bank.
Achillesferse ist der Benutzer
Trotz unterschiedlichster Anstrengungen, die mobile Plattform zu sichern, ist und bleibt der Benutzer also die Achillesferse. Denn es ist sehr wahrscheinlich, dass einige Kunden riskante Dinge mit ihrem mobilen Gerät anstellen werden, sei es aus Vorsatz oder Unwissenheit:
• Weit verbreitet ist das sogenannte Jailbreaking bzw. Rooten von Mobilgeräten. Der Nutzer erhält dadurch Administratorrechte auf seinem Gerät. So kann beispielsweise Software aus nicht autorisierten Quellen installiert werden, die unter Umständen schädlichen Code zur Ausführung bringt.
• Auch über eine WLAN-Verbindung zu freien Netzwerken können mobile Geräte kompromittiert werden, ein Umstand, der vielen Anwendern gar nicht bewusst ist.
• Zusätzliche Gefahr droht auch, wenn Anwender kritische Sicherheitsupdates für ihr Gerät verschieben.
Jeder dieser drei Angriffsvektoren für sich alleine stellt für Banken eine echte Herausforderung bei der Betrugsprävention im Mobile Banking dar. Denn wie können sie sicher sein, dass die mobilen Endgeräte, auf denen ihre Banking Apps installiert sind, nicht kompromittiert wurden? Dem gegenüber steht die Erwartungshaltung all jener Kunden, die von ihrer Bank oder ihrem Finanzdienstleister Mobile Banking als zusätzlichen Service erwarten; möglichst sicher und bequem, einfach in der Anwendung.
Leichter gesagt als getan, denn der mobile Channel ist längst im Fokus von Cyberkriminellen, Angriffe auf Bank-Apps sind alltäglich geworden. Wie also können Banken die Quadratur des Kreises lösen und das Vertrauen ihrer Kunden in die Mobile Payment Solution stärken? Mobile App Shielding und Hardening ist ein möglicher Lösungsansatz.
Sicherheitsbedrohungen für mobile Anwendungen
Letztes Jahr war ein Weckruf für Entwickler von mobile Apps, sich stärker mit der Sicherheit ihrer Software zu beschäftigten. Es gab zahlreiche Indikatoren, die auf eine massive Zunahme von Sicherheitsbedrohungen für mobile Geräte hinwiesen:
McAfee Labs verzeichnete einen Zuwachs von 72 Prozent von Malware-Mustern speziell für mobile Geräte. Und die Anzahl an Applikationen, die Google aus dem App Store verbannt hat, stieg um 70 Prozent gegenüber dem Vorjahr. Aber das sind nicht die einzigen schlechten Nachrichten: Malware wird immer komplexer und ausgefeilter. Mittlerweile geht es nicht mehr nur darum, Anwendungen zu fälschen. Tatsächlich können Teile des Codes einer App missbraucht werden. Konkret bedeutet dies, dass die App selbst zur Bedrohung wird, auch wenn sie sorgfältig programmiert wurde.
Zu den Beispielen für hochentwickelte Bedrohungen für mobile Anwendungsumgebungen gehören:
• Korrumpieren der Laufzeitumgebung: Wenn das Application Sandboxing auf einem gerooteten Gerät unterbrochen wird, können die auf dem Gerät gespeicherten Daten von jeder anderen Anwendung ausgelesen oder manipuliert werden. Beispielsweise kann Malware mit Root-Rechten die Banking-Anmeldeinformationen des Benutzers abgreifen.
• Reverse Engineering der Anwendung: Durch Instrumentierung und Debugging können böswillige Akteure die Kernfunktionen einer App verändern oder ein exaktes Duplikat der App erstellen. In beiden Fällen kann die App in einem App Store veröffentlicht und zum Download angeboten werden. Während der Installation lädt die verseuchte App weiteren Schadcode nach, der anschließend Benutzerdaten und weitere Informationen zu stehlen versucht.
• Modifizierung der Anwendung: Geänderte und neu verpackte Anwendungen werden von den Angreifern in alternativen App Stores bereitgestellt. Mittels Phishing-Attacken werden potentielle Opfer dazu gebracht, die manipulierte App herunterzuladen und zu installieren.
Auf diese Art und Weise, verpackt in vermeintliche harmlose Apps, wird häufig Crypto Mining Malware verteilt.
Ein geschütztes mobiles Environment erstellen
Bei der Entwicklung vieler Apps wird der Aspekt der Sicherheit sträflich vernachlässigt, dabei ist gerade Sicherheit der erste Schritt, um ein geschütztes, vertrauenswürdiges mobiles Environment zu schaffen. Mit dem Pflichtenheft erhalten Entwickler präzise Informationen über das Anforderungsprofil und Funktionalitäten einer App. Abgesicherter Code ist aber meistens nicht Bestandteil dieser Spezifikationen. Außerdem können sichere Codierungsstandards in Abhängigkeit von der spezifischen Programmiersprache und den für die Anwendungsentwicklung verwendeten Bibliotheken variieren.
Für Entwickler kann es verlockend sein, Bibliotheken von Drittanbietern zu nutzen, um spezifische Probleme beim Coding zu lösen. Sicherlich macht diese Vorgehensweise das Leben leichter, problematisch wird es aber dann, wenn der verwendete Code nicht auf Sicherheitslücken überprüft wurde. Um diesem Problem aus dem Weg zu gehen, hat ein Entwickler vier Optionen:
1. Er ignoriert den Aspekt der Sicherheit vollständig – keine gute Idee!
2. Es werden Open-Source-Module verwendet – ebenfalls keine gute Idee, da diese nur selten unter Sicherheitsaspekten bzw. hinsichtlich ihres Risikopotenzials geprüft werden.
3. Der Code wird in Eigenregie entwickelt, in der Hoffnung, dass die mobile App sicher ist.
4. Kommerziell verfügbare API-Bibliotheken, die speziell zum Schutz mobiler Anwendungen entwickelt wurden, kommen zu Einsatz.
Best Practice ist auf jeden Fall die Verwendung von API-Bibliotheken, die speziell zum Schutz mobiler Apps entwickelt wurden. Die Verwendung von APIs eines externen Lieferanten spart Zeit, die gewinnbringender für die Umsetzung von Features und Funktionen, entsprechend den Kundenwünschen, genutzt werden kann. Die Technologie des Lieferanten sorgt für die Sicherheit der App. Allein diese Änderung des Habitus leistet einen nicht zu unterschätzenden Beitrag zur Schaffung eines sicheren und damit vertrauenswürdigen mobilen Environments.
Was ist App Shielding?
Mobile Malware kommt in Form von bösartigen Programmen und Keyloggern vor, kann aber auch im Code von Bibliotheken versteckt oder in Anwendungen eingebettet sein. Um einige der Probleme mit unsicheren Apps zu lösen muss daher auf die Sicherheit des Quellcodes der mobilen App selbst geachtet werden. Dies erfordert eine neue Art von App-Schutz, welcher direkt in der App funktioniert. Diese Technologie wird App Shielding genannt.
App Shielding und Hardening ist eine Kombination von Technologien, mit denen Sicherheitsfunktionen direkt zu mobilen Anwendungen hinzugefügt werden können. Damit lassen sich Angriffe auf Anwendungsebene erkennen und abwehren.
App Shielding:
1. schützt die Anwendung proaktiv vor Malware.
2. überwacht die Ausführung der App, um Angriffe in Echtzeit wirkungsvoll zu verhindern.
3. sichert die App, damit Daten und Transaktionen nicht kompromittiert werden können.
4. stellt die Laufzeitintegrität einer mobilen Anwendung sicher, selbst wenn ein Benutzer versehentlich Malware auf sein Gerät herunterlädt.
App Shielding ist Bestandteil der OneSpan Mobile Security Suite, die eine Reihe von Bibliotheken enthält, mit denen sich der Funktionsumfang einer mobilen App schnell erweitern lässt. Die Security APIs für mobile Apps bieten zudem einen automatisierten Implementierungsprozess. So können Banken ohne Beeinflussung des Entwicklungszeitplans schnell und unkompliziert abgesicherte, mobile Apps veröffentlichen.