Appomart
PortfolioBlog
Idi na Blog
02.04.2018
Vreme čitanja ~4 minuta

Zaštita Android mobilne aplikacije

Zaštita mobilne aplikacije (posebno za Android) je jedna od najvažnijih faza njenog razvoja. Bez preduzimanja neophodnih mera opreza, hakovana verzija aplikacije može se brzo pojaviti na internetu, u kojoj su, na primer, onemogućeni oglasi i/ili verifikacija socijalnih usluga. Međutim, glavna opasnost je da pirat može dekompilirati aplikaciju kako bi stekao uvid i kreirao sličnu verziju. Postoji nekoliko mera koje imaju za cilj zaštitu aplikacije. Konkretna mera koja se koristi zavisi od specifičnosti projekta.

Podeli
Zaštita mobilne aplikacije (posebno za Android) je jedna od najvažnijih faza njenog razvoja. Bez preduzimanja neophodnih mera opreza, hakovana verzija aplikacije može se brzo pojaviti na internetu, u kojoj su, na primer, onemogućeni oglasi i/ili verifikacija socijalnih usluga. Međutim, glavna opasnost je da pirat može dekompilirati aplikaciju kako bi stekao uvid i kreirao sličnu verziju. Postoji nekoliko mera koje imaju za cilj zaštitu aplikacije. Konkretna mera koja se koristi zavisi od specifičnosti projekta.

Nacini za Prevenciju Hakovanja Aplikacija

Predstavljamo vam 9 trikova koje koristi naša kompanija kako bi sačuvala informacije.

1. Prevencija Dekompilacije

Dobijanje izvornog koda nezaštićene Android aplikacije nije izazov za iskusnog programera. Dovoljno je konvertovati .dex datoteke u .jar i zatim izvući izvorni kod koji je lako čitljiv. Ovo se može sprečiti korišćenjem specijalizovanih alatki poput JAD-a, JD-GUI-a i dex2jar-a. Međutim, treba razumeti da potpuna zaštita aplikacije od reverznog inženjeringa nije moguća. Moguće je samo otežati posao piratu do te mere da mu se ne isplati.

Obfuskacija Koda za Prevenciju

Appomart koristi alatku ProGuard kako bi minimizirao verovatnoću hakovanja programa. Ova alatka radi mnogo toga, ali glavna prednost je njena sposobnost da obfuskuje kod, čineći ga konfuznim za hakere. Princip rada ove alatke je sledeći: - Pronalaženje nepotrebnih blokova koda i brisanje istih; - Analiza bajtkoda metoda sa naknadnom optimizacijom; - Preimenovanje promenljivih, klasa i imena metoda, i tako dalje. Prva dva postupka optimizuju kod, dok treći otežava čitanje.

Pisanje Neke Programske Module u C/C++

Da bi se povećala zaštita podataka koji moraju biti sačuvani na uređaju korisnika, Appomart koristi NDK. Pomoću njega, deo koda može da se premesti u .so datoteke koje su napisane u C ili C++. Rezultati dekompilacije i disasembilacije takvog koda su teško čitljivi, što smanjuje verovatnoću njihove neovlašćene upotrebe u drugim projektima.

2. Premestiti Deo Aplikacije na Server

Jedan od najefikasnijih načina zaštite aplikacije je prenos kritičnog dela programa na server, kao što su jedinstveni algoritmi. U ovom slučaju, važni podaci će biti zaštićeni od hakovanja zbog teškoća u probijanju pravilno konfigurisanog servera.

3. Kriptovanje Aplikacije

Ako aplikacija šalje podatke na server, treba primeniti SSL. Međutim, njegovu upotrebu treba shvatiti ozbiljno. Prema našim podacima, oko 40% svih aplikacija koje koriste SSL su podložne «čoveku u sredini» napadu.

4. Čuvanje Važnih Korisničkih Podataka u Obradjenom Obliku

Čuvanje važnih korisničkih informacija, kao što su informacije o stanju računa, u otvorenom obliku je loša ideja. Bolje je obraditi ih pomoću posebnog algoritma, što mi i radimo.

5. Upravljanje Podacima o Računu

Da bi se osigurala sigurnost aplikacije, treba izbegavati čuvanje lozinke na uređaju korisnika (za trajnu prijavu, bolje je koristiti Credential objekat). Takođe je važno minimizirati broj zahteva za podacima o računu u aplikaciji.

6. Odgovorno Korišćenje API Ključeva

Korišćenje API ključeva je praktičan način da se proveri autentičnost veze za određenog korisnika. Međutim, ne smeju se čuvati na mestima sa slobodnim pristupom, jer bi inače haker mogao dobiti tajni kod dekompilacijom APK datoteke.

7. Korišćenje Pouzdanih Hash Funkcija

Još jedan važan aspekt koji utiče na sigurnost aplikacije je korišćenje pouzdane hash funkcije. Trenutno se SHA-2 smatra pouzdanim. Drugi, kao što su MD2, MD5 i SHA1, imaju poznate ranjivosti koje mogu ugroziti obradjene poverljive informacije (npr. lozinke). Važno je da hash funkcija ne bude samo otporna, već i dovoljno spora, što otežava brute force napade. Među takvim funkcijama su scrypt, bcrypt i PBKDF2.

8. Prevencija Neovlašćene Upotrebe Argumenata

U sigurnoj aplikaciji nema mogućnosti za izvršavanje proizvoljnih naredbi. Da biste to postigli, neophodno je napraviti belu listu dozvoljenih naredbi i omogućiti korisnicima da biraju samo iz nje prisutne. Inače, zlonamernom akteru će biti omogućeno da prosledi argument funkciji koji nije bio predviđen od strane razvojnog programera, što može dovesti do, na primer, zaobilaznog ograničenja pristupa.

9. Zabrana Instalacije Podataka na Spoljno Skladište

Kada korisnik poveže uređaj sa računarom kao USB skladište, otvara se potpuni pristup datotekama na memorijskoj kartici. Pored toga, nakon brisanja aplikacije, informacije koje je zabeležila na MicroSD kartici mogu ostati tamo. To, pak, može dovesti do ugrožavanja poverljivih podataka. Mi koristimo SQLite kako bismo sprečili štetu od čuvanja kritično važnih informacija na spoljnom skladištu. Iako navedene mere ne garantuju potpunu sigurnost, minimiziraju verovatnoću hakovanja. Zato obavezno uključite zahteve u tehnički zadatak (možete saznati na stranici: Izrada tehničke dokumentacije za mobilnu aplikaciju) koji se odnose na zaštitu aplikacije. Ako želite da naručite Android aplikaciju, kontaktirajte nas putem telefona ili na drugi pogodan način.

Svi kontakti su navedeni na stranici: https://appomart.com/contacts.

Otkrijte budućnost IT-a uz Appomart

Spremni ste da revolucionizujete svoj IT pejzaž? Partnerstvo sa Appomartom, pouzdanim provajderom rešenja. Dajte našim ekspertima da vas vode ka uspehu uz prilagođene strategije.

Ne oklevajte - zatražite poziv sada! Popunite obrazac i krenite na svoje putovanje digitalnom transformacijom. Osigurajte svoju budućnost uz Appomart danas.

Tip projekta
Appomart - contacts