Mobiliosios aplikacijos

Mobiliųjų aplikacijų įsilaužimų testavimas (iOS ir Android)

Mobilioji aplikacija veikia įrenginyje, kurio organizacija nekontroliuoja: užpuolikui atitenka ir pats aplikacijos paketas, ir įrenginyje saugomi duomenys, ir srautas tarp aplikacijos bei serverio. Tikriname visus tris sluoksnius, o kartu ir API, su kuriuo aplikacija bendrauja.

Testuojama pagal OWASP MASVS tikrinimo standartą ir MASTG testavimo vadovą, todėl testavimo aprėptį galima išmatuoti – rezultatas nepriklauso nuo to, kas konkrečią aplikaciją tikrino.

Mumis pasitiki

  • Raiffeisen Processing Centre logotipas
  • Penta Hospitals logotipas
  • Pixel Federation logotipas
  • Slovakijos finansų ministerijos logotipas
  • DanubePay logotipas
  • Alison logotipas
  • Ditec logotipas
  • Sanaclis logotipas
  • Piano logotipas
  • Ultima Payments logotipas
  • Amerge logotipas
  • Digital Systems logotipas

Mobiliosios aplikacijos

Ką tikriname iOS ir Android aplikacijose

Naudotojo sąsaja – tik viršutinis mobiliosios aplikacijos sluoksnis. Dirbame su tikru įrenginiu ir ta pačia laida, kuri patenka į „App Store“ ir „Google Play“: dekompiliuojame kodą, prireikus įsiterpiame į aplikacijos veikimą ir einame kiekvienu keliu, kurį užpuolikui atveria pavogtas telefonas ar įrenginys su root arba jailbreak teisėmis.

Kai aplikacija tėra plonas klientas, tikroji rizika beveik visada slypi už jos veikiančiame API: sesijos raktas lieka įrenginyje, o prieigos teisių serverio pusėje niekas nepatikrina. Todėl API įtraukiame į apimtį.

Aprėptis pagal MASVS kategorijas

SritisKą tikriname
Duomenų saugojimasSlaptažodžiai ir prieigos raktai SharedPreferences ar UserDefaults failuose, nešifruotos duomenų bazės įrenginyje, asmens duomenys išorinėje atmintyje ir duomenys, patenkantys į atsargines kopijas.
Duomenų perdavimasNešifruotas duomenų srautas, netikrinami sertifikatai, sertifikatų susiejimas (pinning), kurį galima apeiti aplikacijos veikimo metu.
Prisijungimo duomenys ir sesijosĮ kodą įrašyti API raktai, į žurnalus patenkantys sesijos raktai, pakartotinai panaudojamos sesijos ir biometrinis patvirtinimas, už kurio nieko neužrakinta.
Dvejetainio kodo apsaugaViešojoje laidoje paliktas derinimo režimas, root ar jailbreak aplinkos neatpažįstanti aplikacija ir silpna apsauga nuo perpakavimo bei kodo keitimo.
Platformos sąsajosEksportuoti komponentai, piktnaudžiavimas giliosiomis nuorodomis, WebView JavaScript tiltai, kelio perėjimo (path traversal) pažeidžiamumai content provider komponentuose.
Tiekimo grandinėKenkėjišku kodu užkrėsti SDK, priklausomybių painiojimas (dependency confusion), nepasirašyto kodo įkėlimas veikimo metu.

Kiekviena eilutė veda į atitinkamą Haxoris Wiki skyrių (anglų kalba): jame aprašome, kaip užpuolikas išnaudoja pažeidžiamumą ir kaip jį pašalinti.

Kaip vyksta mobiliosios aplikacijos testavimas

Tipinei aplikacijai visas darbas kartu su pakartotiniu patikrinimu trunka 2–4 savaites.

1

Apimties derinimas

Suderiname platformas, testuojamą laidą, testines paskyras ir tai, ar į apimtį įeina API. Fiksuotą kainą pateikiame prieš pradedant darbą, o testuojame tik pagal rašytinį užsakovo leidimą ir sutartą apimtį.

2

Statinė analizė

Dekompiliuojame laidą, peržiūrime manifestą ir prašomus leidimus, ieškome kode paliktų raktų, silpno šifravimo ir derinimo liekanų.

3

Dinaminis testavimas

Dirbame su tikru įrenginiu: įsiterpiame į aplikacijos veikimą, perimame duomenų srautą, apeiname sertifikatų susiejimą, tikriname įrenginyje saugomus duomenis ir piktnaudžiaujame eksportuotomis sąsajomis.

4

API ir serverio pusė

API, kuriuo remiasi aplikacija, tikriname taip pat kruopščiai kaip web aplikaciją: prieigos teises, IDOR, užklausų ribojimus ir verslo logiką.

5

Ataskaita ir pakartotinis patikrinimas

Prie kiekvieno rasto pažeidžiamumo pridedame įrodymus ir šalinimo žingsnius. Įdiegus pataisymus, juos pakartotinai patikriname be papildomo mokesčio.

Ką gaunate

Į kiekvieną mobiliosios aplikacijos testavimą įeina:

iOS ir Android aplikacijos, tikrinamos tikrame įrenginyje
Ataskaita, susieta su MASVS kategorijomis
Atkartojimo žingsniai, kuriuos supras programuotojai
Nemokamas pakartotinis patikrinimas įdiegus pataisymus
API testavimas, kai jis įeina į apimtį
Testuoja OSCP ir eMAPT sertifikatus turintys specialistai

Klientų atsiliepimai

Ką apie mus sako klientai

Mobiliųjų aplikacijų įsilaužimų testavimas – dažniausi klausimai

01 Ar reikia pirminio kodo?

Nereikia. Įprastai dirbame juodosios dėžės principu su viešąja laida. Jei galite pateikti pirminį kodą ar derinimo versiją, ja pasinaudosime: pilkosios dėžės testavimas per tą patį laiką randa daugiau. Tačiau tai nėra būtina sąlyga – jei aplikaciją kūrė partneris ir prie kodo prieiti negalima, patikrinimas vyksta lygiai taip pat.

02 Ar testuojate ir iOS, ir Android?

Taip. Dauguma klientų užsako abi platformas, nes klaidos jose skiriasi: Android dažniau praleidžia duomenis per eksportuotus komponentus ir įrenginio atmintį, iOS – per netinkamai naudojamą „Keychain“ ir apeinamą jailbreak aptikimą.

03 Ar į apimtį įtraukiamas ir API?

Paprastai taip. Mobilioji aplikacija dažnai tėra plonas klientas, o tikroji prieigos teisių logika veikia API pusėje. Apimtį aprašome sutartyje, kad vėliau nekiltų ginčų, kas buvo patikrinta, o kas ne.

04 Kiek kainuoja mobiliosios aplikacijos įsilaužimų testavimas?

Kainą lemia apimtis: kiek platformų tikriname, kokio dydžio ir kokio sudėtingumo yra aplikacija, ar joje vykdomi mokėjimai ir ar į apimtį įeina API. Vienos platformos aplikacija kainuoja nuo 2 000 €. Abi platformos kartu su API paprastai pareikalauja 8–15 specialisto darbo dienų. Po trumpo pokalbio apie apimtį pateikiame fiksuotą kainą už visą darbą, įskaitant pakartotinį patikrinimą.

05 Ar galite patikrinti dar nepaskelbtą aplikaciją?

Taip, ir tai – geriausias metas. Atsiųskite pasirašytą laidą: „TestFlight“, APK failą arba prieigą prie vidinio platinimo kanalo, ir patikrinsime ją anksčiau, nei aplikacija pasieks naudotojus.

Patikrinkite savo mobiliąją aplikaciją

Parašykite, kokiose platformose veikia aplikacija ir ką ji daro. Atsakysime pasiūlymu dėl apimties, fiksuota kaina ir terminu. Web aplikacijų ir API įsilaužimų testavimas

Užsisakykite nemokamą konsultaciją