UX-Design und kognitive Psychologie PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

UX-Design und kognitive Psychologie

Cyber-Angriffe und Datendiebstahl sind heutzutage allgegenwärtig, insbesondere wenn es um mobile Anwendungen geht. Infolgedessen können mobile Apps, bei denen Sicherheitsverletzungen auftreten, finanzielle Verluste erleiden. Da viele Hacker darauf aus sind, Kundendaten zu stehlen, ist die Sicherung dieser Anwendungen zur obersten Priorität für Unternehmen und zu einer ernsthaften Herausforderung für Entwickler geworden. Laut einer aktuellen Studie von Gartner Hype Cycle für Anwendungssicherheit, werden die Investitionen in die Anwendungssicherheit in den nächsten Jahren um mehr als das Doppelte steigen, von 6 Milliarden US-Dollar in diesem Jahr auf 13.7 Milliarden US-Dollar bis 2026. Darüber hinaus heißt es in dem Bericht: „Anwendungssicherheit steht jetzt für Entwickler und Sicherheit an erster Stelle Profis, und der Schwerpunkt liegt jetzt auf Apps, die in Public Clouds gehostet werden.“ Es ist entscheidend, die grundlegenden Komponenten der DevOps-Sicherheit richtig zu machen. Hier sind die 12 Tipps zur Sicherung Ihrer mobilen Anwendung: 

1. Apps aus vertrauenswürdigen Quellen installieren:

Es ist üblich, dass Android-Anwendungen auf alternativen Märkten neu veröffentlicht oder ihre APKs und IPAs zum Download bereitgestellt werden. Sowohl APK als auch IPA können von einer Vielzahl von Orten heruntergeladen und installiert werden, darunter Websites, Cloud-Dienste, Laufwerke, soziale Medien und soziale Netzwerke. Nur der Play Store und der App Store sollten vertrauenswürdige APK- und IPA-Dateien installieren dürfen. Um die Verwendung dieser Apps zu verhindern, sollten wir beim Start der App eine Quellprüfungserkennung (Play Store oder App Store) haben.

Lesen Sie auch, https://andresand.medium.com/add-method-to-check-which-app-store-the-android-app-is-installed-from-or-if-its-sideloaded-c9f450a3d069

2. Wurzelerkennung:

Android: Ein Angreifer könnte eine mobile Anwendung auf einem gerooteten Gerät starten und auf den lokalen Speicher zugreifen oder bestimmte Aktivitäten oder Absichten aufrufen, um böswillige Aktivitäten in der Anwendung auszuführen. 

iOS: Anwendungen auf einem Gerät mit Jailbreak werden außerhalb der iOS-Sandbox als Root ausgeführt. Dadurch können Anwendungen auf vertrauliche Daten zugreifen, die in anderen Apps gespeichert sind, oder bösartige Software installieren, die die Sandboxing-Funktionalität negiert. 

Mehr zur Root-Erkennung- https://owasp.org/www-project-mobile-top-10/2016-risks/m8-code-tampering

3. Datenspeicherung:

Entwickler verwenden Shared Preferences & User Defaults, um Schlüssel-Wert-Paare wie Token, Handynummern, E-Mail, boolesche Werte usw. zu speichern. Darüber hinaus bevorzugen Entwickler beim Erstellen von Apps SQLite-Datenbanken für strukturierte Daten. Es wird empfohlen, alle Daten im verschlüsselten Format zu speichern, damit es schwierig ist, die Informationen von Hackern zu extrahieren.

4. Sichere geheime Schlüssel:

API-Schlüssel, Kennwörter und Token sollten nicht im Code fest codiert sein. Es wird empfohlen, verschiedene Techniken zum Speichern dieser Werte zu verwenden, damit Hacker nicht schnell davonkommen können, indem sie die Anwendung manipulieren. 

Hier ist ein Referenzlink: https://guides.codepath.com/android/Storing-Secret-Keys-in-Android

5. Code-Verschleierung

Ein Angreifer kann die APK-Datei dekompilieren und den Quellcode der Anwendung extrahieren. Dadurch können dem Angreifer im Quellcode der Anwendung gespeicherte vertrauliche Informationen offengelegt werden, die für maßgeschneiderte Angriffe verwendet werden können. 

Es ist besser, den Quellcode zu verschleiern, um zu verhindern, dass alle sensiblen Informationen im Quellcode enthalten sind.

6. Sichere Kommunikation:

Ein Angreifer kann böswillige Aktivitäten ausführen, um die Angriffsebene auszunutzen, da die gesamte Kommunikation über unverschlüsselte Kanäle erfolgt. Verwenden Sie also immer HTTPS-URLs statt HTTP-URLs.

7. SSL-Pinning:

Zertifikat-Pinning ermöglicht es mobilen Anwendungen, die Kommunikation nur auf Server mit einem gültigen Zertifikat zu beschränken, das dem erwarteten Wert (Pin) entspricht. Dafür sorgt das Pinning Es werden keine Netzwerkdaten kompromittiert, selbst wenn ein Benutzer dazu verleitet wird, ein schädliches Stammzertifikat auf seinem Mobilgerät zu installieren. Jede App, die ihre Zertifikate anheftet, würde solche Phishing-Versuche vereiteln, indem sie sich weigert, Daten über eine kompromittierte Verbindung zu übertragen

Siehe: 

https://owasp.org/www-community/controls/Certificate_and_Public_Key_Pinning

8. Sichere API-Anforderungs- und Antwortdaten

Die Standardpraxis besteht darin, HTTPS für den grundlegenden Schutz von REST-API-Aufrufen zu verwenden. Die an den Server gesendeten oder vom Server empfangenen Informationen können weiter mit AES usw. verschlüsselt werden. Wenn es beispielsweise vertrauliche Inhalte gibt, können Sie diese zum Verschlüsseln auswählen, damit Sie selbst dann, wenn HTTPS irgendwie beschädigt oder falsch konfiguriert ist haben eine weitere Schutzebene vor Ihrer Verschlüsselung.

9. Sichere mobile App-Authentifizierung:

Falls eine Anwendung einem Benutzer nach der Anmeldung keine eindeutigen und komplexen Sitzungstoken zuweist, kann ein Angreifer Phishing durchführen, um das Opfer dazu zu verleiten, ein vom Angreifer bereitgestelltes benutzerdefiniertes Token zu verwenden und die Anmeldeseite mit der erfassten Sitzung einfach zu umgehen B. durch einen MiTM-Angriff.

i) Weisen Sie einem Benutzer jedes Mal, wenn er sich erfolgreich bei der Anwendung anmeldet, ein eindeutiges und komplexes Sitzungstoken zu. 

ii) Beenden Sie die Sitzungsdauer sofort nach dem Abmelden. 

iii) Verwenden Sie nicht dasselbe Sitzungstoken für zwei oder mehr IP-Adressen. 

iv) Begrenzen Sie die Ablaufzeit für jedes Sitzungstoken.

10. Sicherung zulassen 

Verhindern Sie, dass Benutzer eine App sichern, wenn sie vertrauliche Daten enthält. Mit Zugriff auf Backup-Dateien (dh wenn android:allowBackup="true") ist es möglich, den Inhalt einer App auch auf einem nicht gerooteten Gerät zu ändern/lesen. Daher wird empfohlen, Allow Backup auf false zu setzen. 

11. Beschränken Sie den Zugriff auf Android-Anwendungsbildschirme von anderen Apps

Idealerweise sollten Ihre Aktivitäten keine Öffnung von anderen Diensten oder Anwendungen vorsehen. Machen Sie es nur wahr, wenn Sie eine bestimmte Anforderung haben, auf Ihre Flatterbildschirme von anderen Apps zuzugreifen, andernfalls zu ändern androide:exported= „false“

12. Beschränken Sie die Installation von Paketen aus der Android-Anwendung

REQUEST_INSTALL_PACKAGES Berechtigung erlaubt es Apps neue Pakete auf dem Gerät eines Benutzers installieren. Wir setzen uns dafür ein, Missbrauch auf der Android-Plattform zu verhindern und Nutzer vor Apps zu schützen, die sich mit anderen Methoden als dem Update-Mechanismus von Google Play selbst aktualisieren oder schädliche APKs herunterladen.

Fazit: 

Mobile Apps sind personalisierter denn je, da täglich Unmengen an persönlichen Kundendaten darin gespeichert werden. Um Vertrauen und Loyalität unter den Benutzern aufzubauen und erhebliche finanzielle Verluste und Verlust von Anmeldeinformationen für die Unternehmen zu vermeiden, ist es jetzt entscheidend sicherzustellen, dass die Anwendung für den Benutzer sicher ist. Das Befolgen der oben genannten Sicherheitschecklisten für mobile Apps wird definitiv dazu beitragen, Hacker daran zu hindern, die App zu hacken.

Über den Autor:

Raviteja Aketi ist Senior Software Engineer bei Mantra Labs. Er verfügt über umfangreiche Erfahrung mit B2B-Projekten. Raviteja liebt es, neue Technologien zu erforschen, Filme anzusehen und Zeit mit Familie und Freunden zu verbringen.

Lesen Sie unseren neusten Blog: Implementieren einer sauberen Architektur mit Nest.JS

Wissen, das es wert ist, in Ihrem Posteingang geliefert zu werden

Zeitstempel:

Mehr von Mantra-Labors