Asosiy matnga o'tish
Blog

Mobil

Root va jailbreak aniqlash: nega kerak va qanday joriy qilinadi

Root yoki jailbreak qilingan qurilmada ilova himoyasi zaiflashadi. Ekspertiza buni nega yuqori xavf deb belgilaydi va aniqlashni qanday to'g'ri joriy qilish mumkin.

· 6 daq. o'qish

Foto: Dmitry G, CC BY-SA 3.0 · Wikimedia Commons

O'z mahsulotimizning mobil ilovasi ekspertizadan o'tganda, hisobotdagi birinchi yuqori darajali topilma shunday edi: "Root aniqlash joriy qilinmagan" (MASWE-0097, OWASP Mobile Top 10 2024 M7). iOS ilovasi uchun ham xuddi shu topilma bor edi — jailbreak aniqlanmagan. Ko'pchilik ishlab chiquvchilar buni ikkinchi darajali masala deb biladi. Ekspertiza esa uni yuqori xavf sifatida baholaydi. Keling, nega shundayligini va qanday yopilishini ko'rib chiqamiz.

Root va jailbreak nima

Android va iOS har bir ilovani alohida "qum qutisi" (sandbox) ichida ishlatadi. Bir ilova boshqasining fayllarini o'qiy olmaydi, tizim fayllarini o'zgartira olmaydi. Mobil xavfsizlikning katta qismi shu ajratishga tayanadi.

Root (Android) va jailbreak (iOS) — bu cheklovlarni olib tashlash. Foydalanuvchi yoki qurilmaga kirgan boshqa shaxs eng yuqori huquqlarni oladi va istalgan ilova papkasini ochishi, tizim chaqiruvlarini ushlashi, xotirani o'qishi mumkin bo'ladi.

Nega bu ilova uchun muammo

Root qilingan qurilmaning o'zi jinoyat emas, ko'pincha uni oddiy qiziquvchi foydalanuvchilar qiladi. Muammo shundaki, bunday qurilmada ilovaning boshqa himoya qatlamlari ham zaiflashadi:

  • Saqlangan ma'lumotlar ochiq bo'ladi. Ichki xotiradagi fayllar, ma'lumotlar bazasi va sozlamalar boshqa jarayonlar uchun o'qiladigan bo'ladi.
  • Dinamik tahlil osonlashadi. Frida kabi vositalar root qilingan qurilmada eng oson ishlaydi.
  • Sertifikat tekshiruvini aylanib o'tish mumkin. Begona CA'ni tizim darajasida o'rnatish yoki tekshiruv funksiyasini hook orqali o'chirish imkoni paydo bo'ladi.
  • Zararli dasturlar kuchliroq bo'ladi. Agar qurilmada root huquqini olgan zararli ilova bo'lsa, u sizning ilovangiz ma'lumotlariga ham yetib boradi.

Fintech, soliq yoki tibbiy ma'lumot bilan ishlaydigan ilova uchun bu muhit qabul qilib bo'lmaydigan darajada xavfli. Shuning uchun MASVS'ning RESILIENCE guruhi ilovadan atrof-muhitni tekshirishni talab qiladi.

Root aniqlash ma'lumotni o'zi himoya qilmaydi. U ilovaga "bu muhitda boshqa himoyalaringizga ishonib bo'lmaydi" degan signalni beradi.

Aniqlash qanday ishlaydi

Bitta ishonchli tekshiruv yo'q, shuning uchun bir nechta belgi birga tekshiriladi.

Android

  • su fayli odatiy joylarda borligi: /system/bin/su, /system/xbin/su, /sbin/su.
  • Magisk, SuperSU kabi root boshqaruvchi ilovalarning paketlari yoki fayllari.
  • Tizim build'i test-keys bilan imzolanganligi (ro.build.tags).
  • /system bo'limi yozish uchun ochiqligi.
  • Xavfli tizim xususiyatlari, masalan ro.debuggable=1.
  • Server tomonda tekshiriladigan qurilma attestatsiyasi — Google Play Integrity API. Bu eng kuchli belgi, chunki natija ilova ichida emas, Google serverida imzolanadi va sizning backend'ingizda tekshiriladi.

iOS

  • Jailbreak ilovalari va fayllari: Cydia, Sileo, /Applications/Cydia.app, /private/var/lib/apt.
  • Sandbox tashqarisiga yozib ko'rish: oddiy ilova /private ichiga fayl yoza olmasligi kerak.
  • Ilova jarayoniga yuklangan begona dinamik kutubxonalar (masalan, MobileSubstrate).
  • cydia:// kabi URL sxemalarini ochish imkoni.

Amalda qanday joriy qildik

Bu tekshiruvlarni o'zingiz yozish mumkin, lekin root yashirish vositalari (masalan, Magisk'ning yashirish modullari) doimiy ravishda yangilanadi. Qo'lda yozilgan tekshiruvlar tez eskiradi. Shuning uchun Flutter ilovamizda RASP kutubxonasi — freeRASP ishlatildi. U root, jailbreak, emulyator, hook, debugger va ilova yaxlitligini bitta joyda tekshiradi va har bir holat uchun alohida signal beradi.

Joriy qilishda e'tibor bergan narsalarimiz:

  1. Tekshiruv ilova ishga tushganda boshlanadi, login ekranidan oldin. Maxfiy ma'lumot hali yuklanmagan bo'lishi kerak.
  2. Xavf aniqlansa, bloklovchi ekran ko'rsatiladi. Foydalanuvchiga nima bo'lgani tushunarli tilda yoziladi: ilova xavfsiz bo'lmagan muhitda ishlay olmaydi. Qo'rqituvchi so'zlar ishlatilmaydi.
  3. Tekshiruv faqat bir marta emas. RASP ish vaqtida ham kuzatadi, chunki root huquqi ilova ochilgandan keyin ham olinishi mumkin.
  4. Release va debug build ajratiladi. Ishlab chiqish paytida emulyator va debugger kerak, shuning uchun bloklash faqat release build'da yoqiladi. Bu sozlama tasodifan release'ga o'tib ketmasligini tekshiring.

Bloklash yoki ogohlantirish?

Bu biznes qarori. Ikki yondashuv bor:

  • Bloklash — ilova root qilingan qurilmada umuman ishlamaydi. Moliyaviy va davlat ilovalari uchun odatiy tanlov, ekspertiza ham buni yaxshi qabul qiladi.
  • Cheklash — ilova ochiladi, lekin to'lov yoki maxfiy ma'lumotni ko'rish kabi muhim amallar o'chiriladi va server bu haqda xabardor qilinadi.

Faqat ogohlantirish chiqarib, hamma narsaga ruxsat berish ekspertiza nuqtai nazaridan yetarli emas.

Yana bir muhim jihat: aniqlash natijasini faqat ilova ichida saqlamang. Iloji bo'lsa, uni server bilan ham baham ko'ring (masalan, Play Integrity tokeni orqali). Ilova ichidagi tekshiruvni hook orqali o'chirib qo'yish mumkin, server tomondagi tekshiruvni esa bunday aylanib o'tish ancha qiyin.

Tekshirib ko'ring

Joriy qilgandan keyin natijani amalda sinang:

  1. Root qilingan Android qurilmada (yoki Magisk o'rnatilgan emulyatorda) release build'ni ishga tushiring.
  2. Root yashirish moduli yoqilgan holda yana sinang.
  3. iOS'da jailbreak qilingan test qurilmasida tekshiring.
  4. Oddiy qurilmada noto'g'ri bloklash (false positive) yo'qligiga ishonch hosil qiling — bu foydalanuvchilar uchun eng yoqimsiz holat.

Xulosa

Root va jailbreak aniqlash ilovaning yagona himoyasi emas, lekin boshqa barcha himoyalar ishonchli ishlashi uchun zarur shart. U RASP, sertifikatni mahkamlash va xavfsiz saqlash bilan birga ishlaganda ekspertiza talablariga javob beradi.

Ilovangizda root va jailbreak aniqlash qanchalik to'g'ri ishlashini bilmoqchi bo'lsangiz, skanerlash uchun ariza qoldiring. Biz APK yoki IPA faylni tekshiramiz va ekspertizaga tayyorlashda yordam beramiz.