UX-design och kognitiv psykologi PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

UX-design och kognitiv psykologi

Cyberattacker och datastöld har blivit så vanligt nuförtiden, särskilt när det kommer till mobilapplikationer. Som ett resultat kan mobilappar som upplever säkerhetsintrång drabbas av ekonomiska förluster. Med många hackare som strävar efter att stjäla kunddata har säkrandet av dessa applikationer blivit högsta prioritet för organisationer och en allvarlig utmaning för utvecklare. Enligt Gartners senaste forskning, Hypecykel för applikationssäkerhet, kommer investeringarna i applikationssäkerhet att öka med mer än tvåfaldigt under de närmaste åren, från 6 miljarder USD i år till 13.7 miljarder USD 2026. Vidare konstaterade rapporten, "Applikationssäkerhet är nu top-of-mind för utvecklare och säkerhet proffs, och tyngdpunkten ligger nu på appar som är värdda i offentliga moln,” Det är avgörande att få de grundläggande komponenterna i DevOps-säkerheten korrekta. Här är de 12 tipsen för att säkra din mobilapplikation: 

1. Installera appar från pålitliga källor:

Det är vanligt att Android-appar publiceras om på alternativa marknader eller att deras APK-filer och IPA-filer görs tillgängliga för nedladdning. Både APK och IPA kan laddas ner och installeras från en mängd olika platser, inklusive webbplatser, molntjänster, enheter, sociala medier och sociala nätverk. Endast Play Store och App Store bör tillåtas installera pålitliga APK- och IPA-filer. För att förhindra att dessa appar används bör vi ha en källkontrolldetektering (Play Store eller App Store) när appen startar.

Läs också, https://andresand.medium.com/add-method-to-check-which-app-store-the-android-app-is-installed-from-or-if-its-sideloaded-c9f450a3d069

2. Rotdetektering:

Android: En angripare kan starta en mobilapplikation på en rotad enhet och komma åt det lokala minnet eller anropa specifika aktiviteter eller avsikter för att utföra skadliga aktiviteter i applikationen. 

iOS: Appar på en jailbroken enhet körs som root utanför iOS-sandlådan. Detta kan tillåta appar att komma åt känsliga data lagrade i andra appar eller installera skadlig programvara som negerar sandlådefunktionalitet. 

Mer om rotdetektering- https://owasp.org/www-project-mobile-top-10/2016-risks/m8-code-tampering

3. Datalagring:

Utvecklare använder delade inställningar och användarinställningar för att lagra nyckel-värdepar som tokens, mobilnummer, e-post, booleska värden, etc. Dessutom, när de skapar appar, föredrar utvecklare SQLite-databaser för strukturerad data. Det rekommenderas att lagra all data i krypteringsformatet så att det är svårt att extrahera informationen av hackare.

4. Säkra hemliga nycklar:

API-nycklar, lösenord och tokens bör inte vara hårdkodade i koden. Det rekommenderas att använda olika tekniker för att lagra dessa värden så att hackare inte kan komma undan snabbt genom att manipulera applikationen. 

Här är en referenslänk: https://guides.codepath.com/android/Storing-Secret-Keys-in-Android

5. Kodobfuskation

En angripare kan dekompilera APK-filen och extrahera källkoden för programmet. Detta kan exponera känslig information som lagras i applikationens källkod för angriparen som kan användas för att utföra skräddarsydda attacker. 

Det är bättre att fördunkla källkoden för att förhindra all känslig information som finns i källkoden.

6. Säker kommunikation:

En angripare kan utföra skadliga aktiviteter för att utnyttja nivån av attacker eftersom all kommunikation sker över okrypterade kanaler. Så använd alltid HTTPS-URL:er över HTTP-URL:er.

7. SSL-fästning:

Certifikatpinning tillåter mobilapplikationer att begränsa kommunikation endast till servrar med ett giltigt certifikat som matchar det förväntade värdet (pin). Pinning säkerställer det ingen nätverksdata äventyras även om en användare luras att installera ett skadligt rotcertifikat på sin mobila enhet. Alla appar som fäster sina certifikat skulle omintetgöra sådana nätfiskeförsök genom att vägra överföra data över en komprometterad anslutning

Var god hänvisa: 

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

8. Säkra API-begäran och svarsdata

Standardpraxis är att använda HTTPS för baslinjeskydd för REST API-anrop. Informationen som skickas till servern eller tas emot från servern kan krypteras ytterligare med AES, etc. Om det till exempel finns känsligt innehåll kan du välja att välja dem som ska krypteras så att även om HTTPS på något sätt är trasigt eller felkonfigurerat har ytterligare ett lager av skydd från din kryptering.

9. Säker mobilappautentisering:

Om ett program inte tilldelar distinkta och komplexa sessionstoken efter inloggning till en användare, kan en angripare bedriva nätfiske för att locka offret att använda en specialgenererad token från angriparen och enkelt kringgå inloggningssidan med den fångade sessionen genom att använda en MiTM-attack.

i) Tilldela en distinkt och komplex sessionstoken till en användare varje gång han/hon loggar in på applikationen. 

ii) Avsluta sessionens livslängd omedelbart efter utloggning. 

iii) Använd inte samma sessionstoken för två eller flera IP-adresser. 

iv) Begränsa utgångstiden för varje sessionstoken.

10. Tillåt säkerhetskopiering 

Tillåt inte användare att säkerhetskopiera en app om den innehåller känslig data. Med tillgång till säkerhetskopior (dvs. när android:allowBackup=”true”) är det möjligt att ändra/läsa innehållet i en app även på en enhet som inte är rotad. Så det rekommenderas att tillåta säkerhetskopiering falsk. 

11. Begränsa åtkomst till Android-applikationsskärmar från andra appar

Helst bör dina aktiviteter inte ge någon möjlighet till öppning från andra tjänster eller applikationer. Gör det sant endast när du har ett specifikt krav för att komma åt dina fladderskärmar från andra appar, annars ändras till android:exported= ”false”

12. Begränsa installation av paket från Android-applikationen

REQUEST_INSTALL_PACKAGES behörighet tillåter appar att installera nya paket på en användares enhet. Vi har åtagit oss att förhindra missbruk på Android-plattformen och skydda användare från appar som själv uppdaterar med någon annan metod än Google Plays uppdateringsmekanism eller laddar ner skadliga APK-filer.

Slutsats: 

Mobilappar har blivit mer personliga än någonsin med massor av kunders personliga data lagrade i dem varje dag. För att bygga förtroende och lojalitet bland användarna och förhindra betydande ekonomiska och legitimationsförluster för företagen är det nu avgörande att se till att applikationen är säker för användaren. Att följa de ovan nämnda säkerhetschecklistorna för mobilappar kommer definitivt att hjälpa till att förhindra hackare från att hacka appen.

Om författaren:

Raviteja Aketi är senior mjukvaruingenjör på Mantra Labs. Han har lång erfarenhet av B2B-projekt. Raviteja älskar att utforska ny teknik, titta på film och umgås med familj och vänner.

Läs vår senaste blogg: Implementera en ren arkitektur med Nest.JS

Det är värt att leverera kunskap i din inkorg

Tidsstämpel:

Mer från Mantra Labs