12 Tips To Secure Your Mobile Application PlatoBlockchain Data Intelligence. Vertical Search. Ai.

12 sfaturi pentru a vă asigura aplicația mobilă

Atacurile cibernetice și furtul de date au devenit atât de comune în aceste zile, mai ales când vine vorba de aplicații mobile. Drept urmare, aplicațiile mobile care se confruntă cu încălcări de securitate pot suferi pierderi financiare. Cu mulți hackeri care doresc să fure datele clienților, securizarea acestor aplicații a devenit prioritatea numărul unu pentru organizații și o provocare serioasă pentru dezvoltatori. Conform cercetărilor recente ale lui Gartner, Hype Cycle pentru securitatea aplicațiilor, investițiile în securitatea aplicațiilor vor crește de peste două ori în următorii câțiva ani, de la 6 miliarde de dolari în acest an la 13.7 miliarde de dolari până în 2026. Mai mult, raportul a afirmat: „Securitatea aplicațiilor este acum de vârf pentru dezvoltatori și securitate. profesioniști, iar accentul se îndreaptă acum către aplicațiile găzduite în cloud-uri publice.” Este esențial să corectăm componentele fundamentale ale securității DevOps. Iată cele 12 sfaturi pentru a vă asigura aplicația mobilă: 

1. Instalați aplicații din surse de încredere:

Este obișnuit ca aplicațiile Android să fie republicate pe piețe alternative sau APK-urile și IPA-urile lor puse la dispoziție pentru descărcare. Atât APK-ul, cât și IPA pot fi descărcate și instalate dintr-o varietate de locuri, inclusiv site-uri web, servicii cloud, unități, rețele sociale și rețele sociale. Numai Play Store și App Store ar trebui să aibă permisiunea de a instala fișiere APK și IPA de încredere. Pentru a preveni utilizarea acestor aplicații, ar trebui să avem o detectare a verificării sursei (Magazin Play sau App Store) la pornirea aplicației.

Citește, de asemenea, https://andresand.medium.com/add-method-to-check-which-app-store-the-android-app-is-installed-from-or-if-its-sideloaded-c9f450a3d069

2. Detectare rădăcină:

Android: Un atacator ar putea lansa o aplicație mobilă pe un dispozitiv înrădăcinat și să acceseze memoria locală sau să apeleze anumite activități sau intenții de a efectua activități rău intenționate în aplicație. 

iOS: aplicațiile de pe un dispozitiv cu jailbreak rulează ca root în afara sandbox-ului iOS. Acest lucru poate permite aplicațiilor să acceseze date sensibile stocate în alte aplicații sau să instaleze software rău intenționat care anulează funcționalitatea sandboxing. 

Mai multe despre Root Detection- https://owasp.org/www-project-mobile-top-10/2016-risks/m8-code-tampering

3. Stocarea datelor:

Dezvoltatorii folosesc Preferințe partajate și Valori implicite de utilizator pentru a stoca perechi cheie-valoare cum ar fi jetoane, numere de telefon mobil, e-mail, valori booleene etc. În plus, în timp ce creează aplicații, dezvoltatorii preferă bazele de date SQLite pentru datele structurate. Este recomandat să stocați orice date în format de criptare, astfel încât să fie dificilă extragerea informațiilor de către hackeri.

4. Chei secrete sigure:

Cheile API, parolele și tokenurile nu ar trebui să fie codificate în cod. Este recomandat să folosiți diferite tehnici pentru a stoca aceste valori, astfel încât hackerii să nu poată scăpa rapid prin modificarea aplicației. 

Iată un link de referință: https://guides.codepath.com/android/Storing-Secret-Keys-in-Android

5. Obscurcarea codului

Un atacator poate decompila fișierul APK și poate extrage codul sursă al aplicației. Acest lucru poate expune atacatorului informații sensibile stocate în codul sursă al aplicației, care pot fi folosite pentru a efectua atacuri personalizate. 

Este mai bine să ofuscați codul sursă pentru a preveni toate informațiile sensibile conținute în codul sursă.

6. Comunicare sigură:

Un atacator poate efectua activități rău intenționate pentru a valorifica nivelul atacurilor, deoarece toată comunicarea are loc pe canale necriptate. Prin urmare, utilizați întotdeauna adrese URL HTTPS peste adrese URL HTTP.

7. Fixare SSL:

Fixarea certificatelor permite aplicațiilor mobile să restricționeze comunicarea doar la serverele cu un certificat valid care se potrivește cu valoarea așteptată (pin). Fixarea asigură că nicio dată de rețea nu este compromisă, chiar dacă un utilizator este păcălit să instaleze un certificat rădăcină rău intenționat pe dispozitivul său mobil. Orice aplicație care își fixează certificatele ar împiedica astfel de încercări de phishing, refuzând să transmită date printr-o conexiune compromisă

Vă rugăm să consultați: 

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

8. Securizarea datelor de solicitare și răspuns API

Practica standard este utilizarea HTTPS pentru protecția de bază a apelurilor API REST. Informațiile trimise către server sau primite de la server pot fi criptate în continuare cu AES etc. De exemplu, dacă există conținut sensibil, ați putea alege să le selectați pe cele de criptat, astfel încât, chiar dacă HTTPS este cumva defect sau configurat greșit, să aveți un alt nivel de protecție împotriva criptării dvs.

9. Autentificare securizată pentru aplicația mobilă:

În cazul în care o aplicație nu atribuie simboluri de sesiune distincte și complexe după conectarea unui utilizator, un atacator poate efectua phishing pentru a atrage victima să folosească un simbol generat personalizat furnizat de atacator și să ocolească cu ușurință pagina de conectare cu sesiunea capturată. prin utilizarea unui atac MiTM.

i) Atribuiți un simbol de sesiune distinct și complex unui utilizator de fiecare dată când acesta/ea se conectează cu succes la aplicație. 

ii) Încheiați durata de viață a sesiunii imediat după deconectare. 

iii) Nu utilizați același simbol de sesiune pentru două sau mai multe adrese IP. 

iv) Limitați timpul de expirare pentru fiecare jeton de sesiune.

10. Permiteți Backup 

Nu permiteți utilizatorilor să facă copii de rezervă pentru o aplicație dacă aceasta conține date sensibile. Având acces la fișierele de rezervă (adică atunci când android:allowBackup="true"), este posibilă modificarea/citirea conținutului unei aplicații chiar și pe un dispozitiv nerootat. Prin urmare, se recomandă să permiteți backupul fals. 

11. Restricționați accesarea ecranelor aplicațiilor Android din alte aplicații

În mod ideal, activitățile dumneavoastră nu ar trebui să prevadă deschiderea din alte servicii sau aplicații. Faceți-l adevărat numai atunci când aveți o cerință specifică pentru a vă accesa ecranele flutter din alte aplicații, altfel modificați Android:exported= ”fals”

12. Restricționați instalarea pachetelor din aplicația Android

REQUEST_INSTALL_PACKAGES permisiunea permite aplicațiilor să instalați pachete noi pe dispozitivul unui utilizator. Ne angajăm să prevenim abuzurile pe platforma Android și să protejăm utilizatorii de aplicațiile care se autoactualizează folosind orice altă metodă decât mecanismul de actualizare Google Play sau descărcarea APK-uri dăunătoare.

Concluzie: 

Aplicațiile mobile au devenit mai personalizate decât oricând, cu o grămadă de date personale ale clienților stocate în ele în fiecare zi. Pentru a construi încredere și loialitate în rândul utilizatorilor și pentru a preveni pierderile financiare și de acreditări semnificative pentru companii, acum este crucial să ne asigurăm că aplicația este sigură pentru utilizator. Urmărirea listelor de verificare de securitate a aplicației mobile menționate mai sus va ajuta cu siguranță la prevenirea hackerilor să pirateze aplicația.

Despre autor:

Raviteja Aketi este inginer software senior la Mantra Labs. Are o vastă experiență în proiecte B2B. Raviteja îi place să exploreze noi tehnologii, să vizioneze filme și să petreacă timpul cu familia și prietenii.

Citiți cel mai recent blog al nostru: Implementarea unei arhitecturi curate cu Nest.JS

Cunoștințe care merită livrate în căsuța de e-mail

Timestamp-ul:

Mai mult de la Laboratoare Mantra