UX-ontwerp en cognitieve psychologie PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

UX-ontwerp en cognitieve psychologie

Cyberaanvallen en gegevensdiefstal zijn tegenwoordig zo gewoon geworden, vooral als het gaat om mobiele applicaties. Als gevolg hiervan kunnen mobiele apps die beveiligingsinbreuken ondervinden, financiële verliezen lijden. Met veel hackers die klantgegevens willen stelen, is het beveiligen van deze applicaties de eerste prioriteit geworden voor organisaties en een serieuze uitdaging voor ontwikkelaars. Volgens het recente onderzoek van Gartner, Hype Cycle voor applicatiebeveiliging, zullen de investeringen in applicatiebeveiliging de komende jaren meer dan verdubbelen, van 6 miljard dollar dit jaar tot 13.7 miljard dollar in 2026. Verder stelt het rapport: “Applicatiebeveiliging is nu top-of-mind voor ontwikkelaars en professionals, en de nadruk komt nu te liggen op apps die in openbare clouds worden gehost.” Het is cruciaal om de fundamentele componenten van DevOps-beveiliging correct te krijgen. Hier zijn de 12 tips om uw mobiele applicatie te beveiligen: 

1. Installeer apps van vertrouwde bronnen:

Het is gebruikelijk dat Android-applicaties opnieuw worden gepubliceerd op alternatieve markten of dat hun APK's en IPA's beschikbaar worden gemaakt om te downloaden. Zowel APK als IPA kunnen vanaf verschillende plaatsen worden gedownload en geïnstalleerd, waaronder websites, cloudservices, stations, sociale media en sociale netwerken. Alleen de Play Store en de App Store mogen betrouwbare APK- en IPA-bestanden installeren. Om te voorkomen dat deze apps worden gebruikt, moeten we een broncontroledetectie hebben (Play Store of App Store) bij het starten van de app.

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

2. Worteldetectie:

Android: een aanvaller kan een mobiele applicatie op een geroot apparaat starten en toegang krijgen tot het lokale geheugen of specifieke activiteiten of intenties oproepen om kwaadaardige activiteiten in de applicatie uit te voeren. 

iOS: Applicaties op een gejailbreakt apparaat draaien als root buiten de iOS-sandbox. Hierdoor kunnen applicaties toegang krijgen tot gevoelige gegevens die zijn opgeslagen in andere apps of schadelijke software installeren die de sandbox-functionaliteit tenietdoet. 

Meer over worteldetectie- https://owasp.org/www-project-mobile-top-10/2016-risks/m8-code-tampering

3. Gegevensopslag:

Ontwikkelaars gebruiken gedeelde voorkeuren en gebruikersstandaarden om sleutel-waardeparen op te slaan, zoals tokens, mobiele nummers, e-mail, Booleaanse waarden, enz. Bovendien geven ontwikkelaars bij het maken van apps de voorkeur aan SQLite-databases voor gestructureerde gegevens. Het wordt aanbevolen om alle gegevens op te slaan in het formaat van codering, zodat het moeilijk is om de informatie door hackers te extraheren.

4. Beveiligde geheime sleutels:

API-sleutels, wachtwoorden en tokens mogen niet hard gecodeerd zijn in de code. Het verdient aanbeveling om verschillende technieken te gebruiken om deze waarden op te slaan, zodat hackers niet snel weg kunnen komen door met de applicatie te knoeien. 

Hier is een referentielink: https://guides.codepath.com/android/Storing-Secret-Keys-in-Android

5. Code verduistering

Een aanvaller kan het APK-bestand decompileren en de broncode van de applicatie extraheren. Hierdoor kan gevoelige informatie die is opgeslagen in de broncode van de toepassing aan de aanvaller worden blootgesteld, die kan worden gebruikt om op maat gemaakte aanvallen uit te voeren. 

Het is beter om de broncode te verbergen om alle gevoelige informatie in de broncode te voorkomen.

6. Veilige communicatie:

Een aanvaller kan kwaadaardige activiteiten uitvoeren om het niveau van aanvallen te benutten, aangezien alle communicatie via niet-versleutelde kanalen plaatsvindt. Gebruik dus altijd HTTPS-URL's in plaats van HTTP-URL's.

7. SSL-vastzetten:

Door het vastzetten van certificaten kunnen mobiele toepassingen de communicatie beperken tot alleen servers met een geldig certificaat dat overeenkomt met de verwachte waarde (pincode). Pinnen zorgt daarvoor er worden geen netwerkgegevens aangetast, zelfs niet als een gebruiker wordt misleid om een ​​kwaadaardig basiscertificaat op zijn mobiele apparaat te installeren. Elke app die zijn certificaten pint, zou dergelijke phishing-pogingen dwarsbomen door te weigeren gegevens over een gecompromitteerde verbinding te verzenden

Zie: 

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

8. Beveiligde API-verzoek- en antwoordgegevens

De standaardpraktijk is om HTTPS te gebruiken voor de basisbeveiliging van REST API-aanroepen. De informatie die naar de server wordt verzonden of van de server wordt ontvangen, kan verder worden versleuteld met AES, enz. Als er bijvoorbeeld gevoelige inhoud is, kunt u ervoor kiezen om die te versleutelen, zodat u, zelfs als de HTTPS op de een of andere manier is verbroken of verkeerd is geconfigureerd, hebben nog een beschermingslaag tegen uw codering.

9. Veilige mobiele app-authenticatie:

Als een applicatie na het inloggen geen afzonderlijke en complexe sessietokens aan een gebruiker toewijst, kan een aanvaller phishing uitvoeren om het slachtoffer te verleiden een op maat gemaakt token te gebruiken dat door de aanvaller is verstrekt en gemakkelijk de inlogpagina met de vastgelegde sessie te omzeilen door een MiTM-aanval te gebruiken.

i) Wijs een afzonderlijk en complex sessietoken toe aan een gebruiker telkens wanneer hij/zij zich met succes aanmeldt bij de applicatie. 

ii) Beëindig de levensduur van de sessie onmiddellijk na het uitloggen. 

iii) Gebruik niet hetzelfde sessietoken voor twee of meer IP-adressen. 

iv) Beperk de vervaltijd voor elk sessietoken.

10. Sta back-up toe 

Gebruikers niet toestaan ​​een back-up te maken van een app als deze gevoelige gegevens bevat. Toegang hebben tot back-upbestanden (dwz wanneer android:allowBackup=”true”), is het mogelijk om de inhoud van een app te wijzigen/lezen, zelfs op een niet-geroot apparaat. Het wordt dus aanbevolen om back-up toestaan ​​op false te zetten. 

11. Beperk de toegang tot Android-applicatieschermen van andere apps

Idealiter zouden uw activiteiten geen voorziening moeten zijn voor het openen van andere diensten of applicaties. Maak het alleen waar als u een specifieke vereiste hebt om toegang te krijgen tot uw flutter-schermen vanuit andere apps, anders verandert u naar android:geëxporteerd= ”onwaar”

12. Beperk het installeren van pakketten vanuit de Android-applicatie

REQUEST_INSTALL_PAKKETTEN toestemming staat apps toe installeer nieuwe pakketten op het apparaat van een gebruiker. We zetten ons in om misbruik op het Android-platform te voorkomen en gebruikers te beschermen tegen apps die zichzelf updaten via een andere methode dan het updatemechanisme van Google Play of die schadelijke APK's downloaden.

Conclusie: 

Mobiele apps zijn persoonlijker dan ooit tevoren en er worden elke dag enorm veel persoonlijke gegevens van klanten in opgeslagen. Om vertrouwen en loyaliteit onder gebruikers op te bouwen en aanzienlijke financiële en referentieverliezen voor de bedrijven te voorkomen, is het nu cruciaal om ervoor te zorgen dat de applicatie veilig is voor de gebruiker. Het volgen van de bovengenoemde beveiligingschecklists voor mobiele apps zal zeker helpen voorkomen dat hackers de app hacken.

Over de auteur:

Raviteja Aketi is een Senior Software Engineer bij Mantra Labs. Hij heeft ruime ervaring met B2B projecten. Raviteja houdt ervan nieuwe technologieën te ontdekken, films te kijken en tijd door te brengen met familie en vrienden.

Lees onze nieuwste blog: Een schone architectuur implementeren met Nest.JS

Kennis die de moeite waard is om in je inbox te krijgen

Tijdstempel:

Meer van Mantra Labs