Android Mobile App-Schutz
Der Schutz einer mobilen App (insbesondere für Android) ist eine der wichtigsten Phasen ihrer Entwicklung. Ohne die erforderlichen Vorsichtsmaßnahmen kann eine gehackte Version der App schnell online erscheinen, in der beispielsweise Werbung und/oder soziale Dienstverifikationen deaktiviert sind. Die Hauptgefahr besteht jedoch darin, dass ein Pirat die App dekompilieren kann, um Einblicke zu gewinnen und eine ähnliche Version zu erstellen. Es gibt eine Reihe von Maßnahmen, die darauf abzielen, die Anwendung zu schützen. Die spezifischen Maßnahmen, die verwendet werden sollen, hängen von den Besonderheiten des Projekts ab.
Möglichkeiten zur Verhinderung von App-Hacking
Wir präsentieren Ihnen 9 Tricks, die unser Unternehmen verwendet, um Informationen zu schützen.
1. Verhinderung der Dekompilierung
Das Erlangen des Quellcodes einer ungeschützten Android-Anwendung ist für erfahrene Entwickler keine Herausforderung. Dazu genügt es, .dex-Dateien in .jar zu konvertieren und dann den Quellcode zu extrahieren, der leicht lesbar ist. Dies kann mit spezialisierten Tools wie JAD, JD-GUI und dex2jar verhindert werden. Es sollte jedoch verstanden werden, dass eine vollständige Absicherung der Anwendung vor Reverse Engineering unmöglich ist. Es ist nur möglich, es einem Piraten so schwer zu machen, dass es sich für ihn nicht lohnt.
Code-Verschleierung zur Vorbeugung
Appomart verwendet das ProGuard-Tool, um die Wahrscheinlichkeit von Programm-Hacking zu minimieren. Es tut viel, aber das Hauptmerkmal besteht darin, den Code zu verschleiern, um Hackern das Verständnis zu erschweren. Das Prinzip der Arbeitsweise dieses Tools ist wie folgt: - Suchen nach ungenutzten Codeblöcken und deren Löschung; - Analyse des Bytecodes von Methoden mit nachfolgender Optimierung; - Umbenennung von Variablennamen, Klassen und Methoden usw. Die ersten beiden Verfahren optimieren den Code, während das dritte das Lesen erschwert.
Schreiben einiger Programmmodule in C/C++
Um den Schutz von Daten zu erhöhen, die auf dem Gerät des Kunden gespeichert werden müssen, verwendet Appomart das NDK. Mit seiner Hilfe kann ein Teil des Codes in .so-Dateien verschoben werden, die wiederum in C oder C++ geschrieben sind. Die Ergebnisse des Dekompilierens/Disassemblierens solcher Codes sind schwer lesbar und minimieren die Wahrscheinlichkeit ihres unbefugten Gebrauchs in anderen Projekten.
2. Verschieben eines Teils der Anwendung auf den Server
Eine der effektivsten Möglichkeiten, eine Anwendung zu schützen, besteht darin, einen kritischen Teil des Programms auf den Server zu verschieben, wie z.B. einzigartige Algorithmen. In diesem Fall werden wichtige Daten aufgrund der Schwierigkeit des Eindringens in einen ordnungsgemäß konfigurierten Server vor Hacking geschützt.
3. Anwendungsverschlüsselung
Wenn die Anwendung Daten an den Server sendet, sollte SSL angewendet werden. Die Verwendung sollte jedoch verantwortungsvoll erfolgen. Nach unseren Daten sind etwa 40% aller Anwendungen, die SSL verwenden, anfällig für einen sogenannten «Man-in-the-Middle»-Angriff.
4. Speicherung wichtiger Benutzerdaten in verarbeiteter Form
Die Speicherung wichtiger Benutzerinformationen, wie z.B. Kontoinformationen, in offener Form ist keine gute Idee. Es ist besser, sie mit einem speziellen Algorithmus zu verarbeiten, was wir tun.
5. Verwaltung von Kontodaten
Um die Sicherheit der Anwendung zu gewährleisten, sollte das Speichern des Passworts auf dem Gerät des Benutzers vermieden werden (für die dauerhafte Anmeldung ist es besser, das Credential-Objekt zu verwenden). Es ist auch wichtig, die Anzahl der Anfragen nach Kontodaten in der Anwendung zu minimieren.
6. Verantwortungsvolle Verwendung von API-Schlüsseln
Die Verwendung von API-Schlüsseln ist eine bequeme Möglichkeit, die Authentizität einer Verbindung für einen bestimmten Benutzer zu überprüfen. Sie sollten jedoch nicht an Orten mit freiem Zugang gespeichert werden, da ein Hacker sonst den geheimen Code durch Dekompilieren der APK-Datei erhalten kann.
7. Verwendung zuverlässiger Hash-Funktionen
Ein weiterer wichtiger Aspekt, der die Anwendungssicherheit beeinflusst, ist die Verwendung einer zuverlässigen Hash-Funktion. Derzeit gilt SHA-2 als zuverlässig. Andere wie MD2, MD5 und SHA1 haben bekannte Schwachstellen, die verarbeitete vertrauliche Informationen (z.B. Passwörter) gefährden können. Es ist wichtig, dass die Hash-Funktion nicht nur widerstandsfähig ist, sondern auch ausreichend langsam, um Brute-Force-Angriffe zu erschweren. Zu solchen Funktionen gehören scrypt, bcrypt und PBKDF2.
8. Verhinderung der Verwendung nicht autorisierter Argumente
In einer sicheren Anwendung besteht keine Möglichkeit, beliebige Befehle auszuführen. Dazu ist es notwendig, eine Whitelist mit erlaubten Befehlen zu erstellen und Benutzern nur die Auswahl aus den darin vorhandenen zu ermöglichen. Andernfalls hat ein bösartiger Akteur die Möglichkeit, ein Argument an eine Funktion zu übergeben, das vom Entwickler nicht vorgesehen war, was beispielsweise zur Umgehung von Zugriffsbeschränkungen führen kann.
9. Verbot der Installation von Daten auf externem Speicher
Wenn ein Benutzer ein Gerät als USB-Speicher an einen Computer anschließt, wird vollständiger Zugriff auf Dateien auf der Speicherkarte ermöglicht. Darüber hinaus kann nach dem Löschen der Anwendung die von ihr auf der MicroSD-Karte aufgezeichnete Information dort verbleiben. Dies kann wiederum zur Gefährdung vertraulicher Daten führen. Wir verwenden SQLite, um Schäden durch die Speicherung von besonders wichtigen Informationen auf externem Speicher zu verhindern. Obwohl die oben genannten Maßnahmen keine vollständige Sicherheit garantieren, minimieren sie die Wahrscheinlichkeit von Hacking. Daher sollten Sie unbedingt in der technischen Aufgabenstellung (die Sie auf der Seite: Entwicklung technischer Dokumentation für eine mobile Anwendung) Anforderungen im Zusammenhang mit dem Schutz der Anwendung aufnehmen. Wenn Sie eine Android-Anwendung bestellen möchten, kontaktieren Sie uns bitte telefonisch oder auf andere bequeme Weise.
Alle Kontakte finden Sie auf der Seite: https://appomart.com/contacts.
Bereit, Ihre IT-Landschaft zu revolutionieren? Arbeiten Sie mit Appomart, dem vertrauenswürdigen Lösungsanbieter, zusammen. Lassen Sie unsere Experten Sie mit maßgeschneiderten Strategien zum Erfolg führen.
Zögern Sie nicht - fordern Sie jetzt einen Rückruf an! Füllen Sie das Formular aus und starten Sie Ihre digitale Transformation. Sichern Sie Ihre Zukunft mit Appomart noch heute.