Mobil
Dinamik tahlil (Frida) va emulyatordan himoya: RASP nima
Frida bilan ilova funksiyalarini ish vaqtida o'zgartirish mumkin. Ekspertiza buni Android va iOS'da yuqori xavf deb belgilaydi. RASP nima va uni qanday joriy qilish kerak.
· 7 daq. o'qish

O'z ilovamiz ekspertizasida bitta topilma ikki marta takrorlandi: Android'da ham, iOS'da ham "dinamik tahlil vositalaridan himoya yo'q" — ikkalasi ham yuqori xavf. Unga qo'shimcha ravishda Android'da "emulyatorni aniqlash joriy qilinmagan" (o'rta xavf) topilmasi bor edi. Bu topilmalar bir-biriga bog'liq va bitta yondashuv — RASP bilan yopiladi. Bu maqolada Frida nima ekanini, ekspert u bilan nima qilishini va ilova qanday qilib o'zini himoya qilishi mumkinligini ko'rib chiqamiz.
Statik va dinamik tahlil
Ekspert ilovani ikki usulda o'rganadi:
- Statik tahlil — APK yoki IPA ochiladi, kod, resurslar va konfiguratsiya ishga tushirilmasdan o'qiladi. Bunga obfuskatsiya qarshi turadi.
- Dinamik tahlil — ilova ishga tushiriladi va ish vaqtida kuzatiladi: qaysi funksiya chaqirilmoqda, qanday qiymatlar qaytmoqda, xotirada nima bor.
Dinamik tahlilning asosiy vositasi — Frida. U ilova jarayoniga o'z kodini kiritadi va istalgan funksiyani "ushlab" (hook), uning kirish va chiqish qiymatlarini o'qishi yoki o'zgartirishi mumkin.
Frida bilan nima qilish mumkin
Amaliy misollar, ekspert aynan shularni sinaydi:
- Root aniqlashni o'chirish —
isRooted()funksiyasi doimfalseqaytaradigan qilib qo'yiladi. - SSL pinning'ni aylanib o'tish — sertifikat tekshiruvi funksiyasi har doim "muvaffaqiyatli" deb javob beradi va trafik ochiladi.
- Biznes mantiqni o'zgartirish — masalan, ilova ichidagi tekshiruvni o'tkazib yuborish.
- Xotiradan ma'lumot o'qish — shifrlashdan oldingi yoki deshifrlangandan keyingi ochiq ma'lumotlarni ko'rish.
Shuning uchun dinamik tahlildan himoya qolgan barcha himoyalarni himoya qiladi. Hook orqali o'chirib bo'ladigan root aniqlash yoki pinning ekspertiza uchun yetarli emas.
Bu MASVS'ning RESILIENCE guruhiga va OWASP Mobile Top 10 2024'dagi M7 (Insufficient Binary Protections) toifasiga tegishli.
Emulyator nega alohida masala
Emulyatorda ilovani tahlil qilish ancha qulay: snapshot olish, tarmoqni boshqarish, root huquqi va Frida'ni o'rnatish oson. Bundan tashqari, emulyatorlarda ilovani avtomatlashtirilgan tarzda ko'p marta ishga tushirish mumkin, bu esa soxta akkauntlar yoki avtomatik hujumlar uchun qulay. Shuning uchun ekspertiza release ilovadan emulyatorni aniqlashni kutadi.
RASP nima
RASP (Runtime Application Self-Protection) — ilova ichiga o'rnatiladigan va ish vaqtida atrof-muhitni kuzatadigan himoya qatlami. U odatda quyidagilarni aniqlaydi:
- root va jailbreak;
- emulyator va simulyator;
- hook vositalari (Frida, Xposed, Substrate kabilar);
- ulangan debugger;
- ilova yaxlitligi buzilgani (qayta yig'ilgan, boshqa imzo bilan imzolangan APK yoki IPA);
- ilova rasmiy do'kondan emas, boshqa manbadan o'rnatilgani.
Xavf aniqlanganda RASP ilovaga signal beradi, ilova esa o'z siyosatiga ko'ra javob qaytaradi: bloklaydi, muhim funksiyalarni o'chiradi yoki serverga xabar beradi.
Amalda qanday joriy qildik
Flutter ilovamizda freeRASP kutubxonasi ishlatildi. Sxematik ko'rinishi (aniq API kutubxona versiyasiga qarab farq qilishi mumkin, rasmiy hujjatga qarang):
final config = TalsecConfig(
androidConfig: AndroidConfig(
packageName: 'uz.example.app',
signingCertHashes: ['<release imzo sertifikati xeshi>'],
),
iosConfig: IOSConfig(
bundleIds: ['uz.example.app'],
teamId: '<TEAM_ID>',
),
watcherMail: 'security@example.uz',
isProd: true,
);
final callback = ThreatCallback(
onHooks: () => showThreatScreen(),
onPrivilegedAccess: () => showThreatScreen(),
onSimulator: () => showThreatScreen(),
onDebug: () => showThreatScreen(),
onAppIntegrity: () => showThreatScreen(),
);
Talsec.instance.attachListener(callback);
await Talsec.instance.start(config);
E'tibor bergan jihatlarimiz:
- Imzo xeshi release sertifikatidan olinadi. Yaxlitlik tekshiruvi shunga tayanadi: APK boshqa kalit bilan imzolansa,
onAppIntegrityishga tushadi. Google Play App Signing ishlatilsa, Play Console'dagi ilova imzo kalitining xeshini qo'ying, yuklash kalitiniki emas. - Bloklovchi ekran tinch va tushunarli. Foydalanuvchiga ilova xavfsiz bo'lmagan muhitda ishlay olmasligi va nima qilish mumkinligi aytiladi.
isProdfaqat release build'da yoqiladi. Ishlab chiqish paytida emulyator va debugger kerak.- Tekshiruv login'dan oldin boshlanadi va ish vaqtida davom etadi.
RASP yolg'iz ishlamaydi
RASP kuchli, lekin uni ham yetarli vaqt va bilimga ega mutaxassis aylanib o'tishi mumkin. Maqsad — hujum narxini oshirish va ekspertiza talablariga javob berish. Shuning uchun u boshqa qatlamlar bilan birga ishlatiladi:
- Obfuskatsiya. Android uchun R8 minify, Dart kodi uchun:
flutter build apk --release --obfuscate --split-debug-info=build/symbols
split-debug-info papkasini saqlab qo'ying — busiz crash hisobotlarini o'qib bo'lmaydi.
- Kodda ochiq satrlar kamroq. API manzillari va boshqa muhim qiymatlar kod ichida oddiy satr sifatida turmasligi kerak, aks holda ularni
stringsbuyrug'i bilan topish oson. - Server tomondagi tekshiruv. Muhim qarorlar (to'lov, huquqlar) faqat serverda qabul qilinsin. Ilovadagi har qanday tekshiruv yordamchi qatlam, oxirgi himoya emas.
Tekshirib ko'ring
- Root qilingan qurilmada
frida-server'ni ishga tushiring va ilovaga ulanib ko'ring — ilova buni aniqlashi kerak. - Release build'ni Android emulyatorida va iOS simulyatorida ishga tushiring.
- APK'ni
apktoolbilan ochib, qayta yig'ing va boshqa kalit bilan imzolang — ilova yaxlitlik buzilganini sezishi kerak. - Debugger ulab ko'ring.
- Oddiy qurilmada noto'g'ri bloklash yo'qligini tekshiring.
Xulosa
Dinamik tahlildan himoya — mobil ekspertizaning eng ko'p uchraydigan yuqori darajali topilmalaridan biri, chunki u odatiy ishlab chiqish jarayonida rejalashtirilmaydi. RASP, obfuskatsiya va server tomondagi tekshiruvlar birgalikda bu topilmani yopadi va ilovaning boshqa himoyalarini ishonchli qiladi.
Ilovangiz Frida va emulyatorga qanday javob berishini bilmoqchi bo'lsangiz, skanerlash uchun ariza qoldiring. Claude AI agenti va mutaxassisimiz ilovani tekshiradi va ekspertizaga tayyorlashda yordam beradi.


