Asosiy kontentga o‘tish
Innovialabs

OWASP MASVS bo‘yicha mobil ilova xavfsizligi chek-listi

Chuqur3 daq

Qisqacha

OWASP MASVS mobil xavfsizlikni saqlash, kriptografiya, avtorizatsiya, tarmoq, platforma, kod, barqarorlik va maxfiylik guruhlariga bo‘ladi; relizdan oldin har bir guruh bo‘yicha qisqa aniq tekshiruvlardan o‘tib, topilganlarni yopish kifoya.

MASVS nima va undan qanday foydalaniladi

OWASP MASVS (Mobile Application Security Verification Standard) — mobil ilovalar xavfsizligiga qo‘yiladigan talablarning ochiq standarti. Unga test metodikalari jamlangan MASTG qo‘llanmasi ilova qilingan. Standart kodni qanday yozishni aytmaydi, balki nima tekshirilishi kerakligini belgilaydi.

MASVS toifalari:

ToifaNima haqida
STORAGEMaxfiy ma’lumotlar qayerda va qanday saqlanadi
CRYPTOKriptografiyadan to‘g‘ri foydalanish
AUTHAutentifikatsiya va avtorizatsiya
NETWORKTarmoq almashinuvini himoyalash
PLATFORMOT va boshqa ilovalar bilan o‘zaro ishlash
CODEKod sifati, bog‘liqliklar, yangilanishlar
RESILIENCERevers va o‘zgartirishdan himoya
PRIVACYShaxsiy ma’lumotlarni yig‘ish va qayta ishlash

Har bir ilovaga barcha talablar kerak emas. Bank yoki tibbiy servisga reversga chidamlilik kerak, mahsulotlar katalogiga odatda yo‘q. Avval tahdidlar modelini aniqlang, keyin tekshiruvlar chuqurligini tanlang.

Ma’lumotlarni saqlash (STORAGE, CRYPTO)

  • Tokenlar va kalitlar faqat Keychain (iOS) va Android Keystore / EncryptedSharedPreferences’da saqlanadi, UserDefaults, SharedPreferences yoki oddiy fayllarda emas.
  • Loglarda tokenlar, parollar, karta raqamlari va shaxsiy ma’lumotlar yo‘q — reliz build’da ham.
  • Kesh, ilovalar almashtirgichidagi skrinshotlar va bufer maxfiy ekranlarni oshkor qilmaydi.
  • Zaxira nusxalar sirlarni olib ketmaydi: Android’dagi backup sozlamalarini va iOS’dagi fayl himoyasi atributlarini tekshiring.
  • O‘zingiz yozgan kriptografiya va kodga yozib qo‘yilgan kalitlar yo‘q; faqat platformaning standart API lari.

Tarmoq va certificate pinning (NETWORK)

  • Barcha trafik TLS orqali o‘tadi; iOS’dagi ATS va Android’dagi Network Security Config’da «hammasiga ruxsat» istisnolari yo‘q.
  • Ilova o‘zi imzolagan yoki yaroqsiz sertifikatlarni qabul qilmaydi — debug kod relizga tushmaganini tekshiring.
  • Certificate pinning — yuqori xavfli ilovalar uchun. Ochiq kalitni pin qiling, zaxira pin saqlang va rotatsiyani o‘ylab qo‘ying: pinning’dagi xato yangilanish chiqquncha barcha foydalanuvchilarni serverdan uzib qo‘yishi mumkin.
<network-security-config>
  <base-config cleartextTrafficPermitted="false" />
</network-security-config>

Avtorizatsiya (AUTH)

  • Kirish huquqi haqidagi qarorni ilova emas, server qabul qiladi. Yashirilgan tugma — himoya emas.
  • Access-tokenlar qisqa muddatli, refresh-tokenlarni bekor qilish mumkin, akkauntdan chiqish serverdagi sessiyani yopadi.
  • Biometriya «foydalanuvchi Face ID’dan o‘tdi» degan mantiqiy bayroqqa emas, xavfsiz xotiradagi kalitga bog‘langan.
  • Maxfiy amallar (telefon raqamini o‘zgartirish, mablag‘ yechish) qayta tasdiqlashni talab qiladi.

Platforma va kod (PLATFORM, CODE)

  • Deep link va intent’lar kiruvchi ma’lumotlarni tekshiradi va avtorizatsiyasiz ichki ekranlarni ochmaydi.
  • Android’ning eksport qilinadigan komponentlari minimal; WebView ixtiyoriy URL larni ochmaydi va ortiqcha JS ko‘priklarini bermaydi.
  • Faqat kerakli ruxsatlar so‘raladi.
  • Bog‘liqliklar yangilanadi, ma’lum zaifliklar kuzatiladi; majburiy yangilash mexanizmi mavjud.

Revers va o‘zgartirish (RESILIENCE)

Har qanday klient ilovani qismlarga ajratish mumkin. Maqsad buni imkonsiz qilish emas, balki haqiqatan qimmatli ma’lumotlar uchun hujum narxini oshirish:

  • obfuskatsiya (R8, Dart obfuskatsiyasi, native vositalar);
  • root/jailbreak, debugger va hook’larni aniqlash — yagona himoya sifatida emas, signal sifatida;
  • yaxlitlikni server tomonida Play Integrity API va App Attest orqali tekshirish;
  • oshkor bo‘lmasligi kerak bo‘lgan sirlar ilovada umuman saqlanmaydi.

Relizdan oldingi bazaviy ko‘rik

  1. Tahdidlar modeli va talablar darajasini aniqlang.
  2. Yuqoridagi chek-list bo‘yicha dasturchilar bilan birga o‘ting.
  3. Reliz build’ga statik tahlil (masalan, MobSF) ishga tushiring.
  4. Test qurilmasida trafikni proksi orqali tekshiring.
  5. Odatiy ssenariydan keyin ilova sandbox’i tarkibini ko‘rib chiqing.
  6. Topilganlarni qayd eting, ustuvorlikni belgilang va kritiklarini relizgacha yoping.

Ko‘p beriladigan savollar

Yo‘q. Saqlash, tarmoq va avtorizatsiya bo‘yicha bazaviy talablar hammaga kerak, reversga chidamlilik esa pul, tibbiy yoki boshqa qimmatli ma’lumotlar bilan ishlaydigan ilovalarga.

Bunda yordam beramiz

O‘zingiz shug‘ullanmasdan natija olishni istasangiz — biz har kuni shu bilan shug‘ullanamiz.

Loyihani muhokama qilish

Yana o‘qing

G‘oya yoki vazifangiz bormi? Bizga aytib bering

Ish kuni davomida javob beramiz va yechim taklif qilamiz. Konsultatsiya bepul.