Mobil ishlanmada ilova sandboksi — bu nima, mexanizmi va ishlash prinsipi

Muallif: IT Sectr Nashr etilgan: 2026-05-18 O'qish vaqti: 8 daq

Ilova sandboksi (App Sandbox) — bu ilovaning fayl tizimiga, boshqa ilovalar ma'lumotlariga va operatsion tizimning tizim resurslariga kirishini cheklaydigan izolyatsiya mexanizmi. Har bir ilova minimal imtiyozlar bilan o'z izolyatsiya qilingan muhitida ishlaydi va qo'shimcha imkoniyatlarga kirishni ruxsatnomalar orqali so'raydi. Apple Security Documentation (2025) ma'lumotlariga ko'ra, Sandbox mobil platformalarda ma'lumotlarni himoya qilishning asosiy elementidir. App Sandbox alohida ilova buzilgan taqdirda ham foydalanuvchi ma'lumotlariga ruxsatsiz kirishning oldini oladi.

Asosiylari

  • App Sandbox — operatsion tizim darajasida ilovalarning fayl tizimiga, jarayonlarga va boshqa ilovalar ma'lumotlariga kirishini cheklaydigan izolyatsiya mexanizmi.
  • Ishlash prinsipi — har bir ilova cheklangan huquqlar bilan o'z katalogini oladi va majburiy kirish nazorati (MAC) orqali minimal imtiyozlar bilan ishga tushiriladi.
  • iOS — yadro darajasida qattiq izolyatsiyadan foydalanadi: har bir ilova noyob UID bilan o'z chroot-ga o'xshash muhitida ishlaydi.
  • Android — SELinux va UID ajratish orqali izolyatsiyani qo'llaydi, har bir ilova o'z jarayoni va ma'lumotlari bilan alohida Linux foydalanuvchisi sifatida ishga tushiriladi.
  • Istisnolar — umumiy resurslarga (kontaktlar, fotosuratlar, geolokatsiya) kirish faqat tizim API'lari orqali foydalanuvchining aniq roziligi bilan mumkin.

App Sandbox nima?

Ilova sandboksi (App Sandbox) — bu har bir ilovani tizim resurslariga cheklangan kirish bilan o'z bajarish muhitida izolyatsiya qiluvchi arxitektura xavfsizlik mexanizmi. Bu atama bolalar uchun “quv qutisi” tushunchasidan kelib chiqqan — bolaning xavfli narsalarga kira olmaydigan xavfsiz maydoni. Xuddi shunday, ilova boshqa ilovalarning ma'lumotlariga yoki muhim tizim komponentlariga kira olmaydigan cheklangan muhitda ishlaydi.

Sandboxning asosiy maqsadi minimal imtiyozlar prinsipini amalga oshirishdir: har bir ilova faqat e'lon qilingan funksiyalarni bajarish uchun zarur bo'lgan huquqlarni oladi. Hujumchi ilovada zaiflik topsa ham, sandbox unga boshqa ilovalar ma'lumotlariga, fotosuratlarga, kontaktlarga yoki tizim fayllariga kirishga ruxsat bermaydi. Zarar faqat bitta ilova doirasi bilan cheklanadi.

Mobil operatsion tizimlar sandbokslarni desktop tizimlardan oldin joriy qildi. iOS SDKning birinchi versiyasidan (2008) Sandboxdan foydalanadi, Android — 1.0 versiyasidan (2008), lekin Android 4.3 (2013) da SELinux orqali kuchaytirilgan. Desktop tizimlar yetib olmoqda: macOS 2012 yilda Sandboxni joriy qildi, Windows — Windows 8 da izolyatsiya qilingan UWP ilovalari.

Sandbokda izolyatsiya qanday ishlaydi?

Sandbokdagi izolyatsiya operatsion tizimning turli darajalarida bir necha mexanizmlarning kombinatsiyasi bilan erishiladi. Fayl tizimi darajasida har bir ilovaga faqat o'zi to'liq kirish huquqiga ega bo'lgan himoyalangan katalog ajratiladi. Jarayonlar darajasida har bir ilova uchun noyob foydalanuvchi identifikatori (UID) ishlatiladi. Yadro darajasida SELinux yoki shunga o'xshash mexanizmlar orqali majburiy kirish nazorati (MAC) qo'llaniladi.

Fayl tizimining izolyatsiyasi

Har bir ilova qurilmaning fayl tizimida o'z ildiz katalogini oladi. iOS da bu /var/mobile/Containers/Data/Application/{UUID} katalogi, Android da — /data/data/{package_name}. Ilova faqat shu katalog ichidagi fayllarni o'qishi va yozishi mumkin. Bu katalogdan tashqaridagi har qanday fayllarga kirish operatsion tizim yadrosi darajasida bloklanadi.

Tizim shuningdek cheklangan kirishga ega maxsus umumiy kataloglarni taqdim etadi. iOS da bular foydalanuvchi ma'lumotlari uchun Documents katalogi, sozlamalar uchun Library va vaqtinchalik fayllar uchun Caches. Android da — ichki xotira (getFilesDir) va qo'shimcha ruxsat talab qilmaydigan tashqi xotira (getExternalFilesDir).

Jarayonlar va UID izolyatsiyasi

Android da har bir ilova noyob UID (User ID) bilan alohida Linux jarayoni sifatida ishga tushiriladi. UID ilovani o'rnatish paytida tayinlanadi va butun hayotiy tsikl davomida o'zgarishsiz qoladi. Turli UIDlarga ega jarayonlar yadro darajasida bir-biridan izolyatsiya qilinadi — ular bir-birining xotirasiga yoki fayllariga kira olmaydi. Shunga o'xshash mexanizm iOS da XNU yadrosi va uning himoya tizimi orqali ishlaydi.

Android da qo'shimcha himoya darajasini Android 4.3 versiyasidan enforcing rejimidagi SELinux (Security-Enhanced Linux) ta'minlaydi. SELinux majburiy kirish nazoratini (MAC) amalga oshiradi: jarayonning har bir harakati fayl egasining huquqlaridan qat'iy nazar xavfsizlik siyosatiga muvofiqligi tekshiriladi. Ilova root UID bilan ishlasa ham, SELinux ma'lum resurslarga kirishni bloklashi mumkin.

iOS da sandbox

iOS sandboksi mobil operatsion tizimlar orasida eng qattiqlaridan biri hisoblanadi. Har bir ilova konteyner darajasida izolyatsiya qilinadi — boshqa ilovalardan kirish mumkin bo'lmagan himoyalangan fayl tizimi maydoni. iOS Sandbox Kernel Extension (Sandbox.kext) orqali majburiy kirish nazorati va kengaytirilgan huquqlarni berish uchun entitlement mexanizmi kombinatsiyasidan foydalanadi.

iOS konteyner tuzilishi

iOS ilovasining konteyneri turli kirish darajalariga ega bir necha katalogdan iborat. Documents — iCloud va iTunes orqali zaxiralashda saqlanadigan foydalanuvchi ma'lumotlari uchun. Library — konfiguratsiya fayllari va kesh uchun. tmp — tizim istalgan vaqtda o'chirishi mumkin bo'lgan vaqtinchalik ma'lumotlar uchun. AppName.app — faqat o'qish uchun ochiq bo'lgan ilova paketining o'zi.

Boshqa ilovalarning ma'lumotlariga kirish qat'iyan man etilgan. iOS boshqa ilovaning konteyneridan fayllarni o'qish uchun API taqdim etmaydi. Ma'lumot almashishning yagona yo'li — tizim mexanizmlari: ulashish uchun UIActivityViewController, bufer uchun UIPasteboard, bitta dasturchining ilovalari uchun App Groups. Bu mexanizmlarning har biri operatsion tizim nazorati ostida ishlaydi.

iOS da Entitlements va App Sandbox

Standart sandbokdan tashqari kengaytirilgan imkoniyatlar Entitlements orqali ta'minlanadi — ilova kodi imzosiga qo'shiladigan raqamli imzolar. Masalan, com.apple.security.application-groups entitlementi bir guruhdagi ilovalarga umumiy konteynerga ega bo'lish imkonini beradi. Push bildirishnomalari, iCloud, Apple Pay — bu funksiyalarning barchasi tegishli entitlements talab qiladi.

Shuni ta'kidlash kerakki, iOS da entitlements ruxsatnomalar (permissions) bilan bir xil emas. Ruxsatnomalar ish vaqtida foydalanuvchidan so'raladi (masalan, kameraga kirish), entitlements esa o'rnatish bosqichida tizim tomonidan tekshiriladi va foydalanuvchi tomonidan o'zgartirilmaydi. Entitlement dasturchi tomonidan belgilanadi va ilovani ko'rib chiqish jarayonida Apple tomonidan imzolanadi.

Android da sandbox

Android Linux yadrosiga asoslangan ko'p qatlamli sandbox modelidan foydalanadi. Har bir ilova noyob UID bilan alohida Linux foydalanuvchisi sifatida ishlaydi, bu jarayon va fayl darajasida asosiy izolyatsiyani ta'minlaydi. Qo'shimcha qatlamlar — majburiy kirish nazorati uchun SELinux va tizim API'lariga kirishni boshqarish uchun Permissions.

SELinux va UID izolyatsiyasi

Android da SELinux enforcing rejimida ishlaydi, ya'ni xavfsizlik siyosatlarining majburiy qo'llanilishi. Har bir ilovaga xavfsizlik konteksti (security context) tayinlanadi va barcha tizim chaqiruvlari siyosatga muvofiqligi tekshiriladi. Android da SELinux fayl tizimini, jarayonlararo aloqani, soketlarni va tizim chaqiruvlarini qamrab oluvchi 1500 dan ortiq qoidalarni o'z ichiga oladi.

UID izolyatsiyasi ilovaning boshqa ilova fayllariga to'g'ridan-to'g'ri kirishining oldini oladi. Masalan, UID 10001 bo'lgan A ilovasi UID 10002 bo'lgan B ilovasining fayllarini o'qiy olmaydi, hatto ikkalasi ham bir xil telefon foydalanuvchisi nomidan ishlasa. Bu mobil qurilmalar uchun moslashtirilgan Linuxning ko'p foydalanuvchili xavfsizligining asosiy prinsipidir.

java
// Android da ilovaning o'z katalogiga kirish
File appDir = context.getFilesDir();
File cacheDir = context.getCacheDir();
File externalDir = context.getExternalFilesDir(null);

// Boshqaning katalogiga kirish urinishi SecurityException keltirib chiqaradi
// File otherApp = new File("/data/data/com.other.app/shared_prefs/");

// Fayllarni xavfsiz ulashish uchun FileProvider dan foydalanish
Uri contentUri = FileProvider.getUriForFile(
    context, "com.example.fileprovider", file
);

Android ilovalar o'rtasida xavfsiz ma'lumot almashish uchun qo'shimcha mexanizmlarni taqdim etadi. ContentProvider — ilovaga o'z ma'lumotlariga qat'iy belgilangan URI orqali kirishni ta'minlashga imkon beruvchi Android komponenti. FileProvider — fayl tizimi yo'llarini ochmasdan fayllarni ulashishning xavfsiz usuli.

Sandbokning cheklovlari va xavfsizligi

App Sandbox kuchli himoya mexanizmi bo'lsa-da, uning asosiy cheklovlari bor. Sandbox gorizontal kirishdan (ilovadan-ilovaga) himoya qiladi, lekin vertikal kirishdan (yadro darajasidagi zararli dastur yoki qurilmaga jismoniy kirish) himoya qilmaydi. Jailbreak yoki root kirishi paytida sandbox chetlab o'tilishi mumkin, chunki hujumchi superfoydalanuvchi huquqlarini oladi.

Ikkinchi cheklov — zararli ruxsatnomalar. Agar foydalanuvchi ilovaga kontaktlar va mikrofonga kirish huquqini bersa, sandbox bu ma'lumotlarni yig'ishning oldini olmaydi, chunki ilova qonuniy tizim API'laridan foydalanadi. Bu holda himoya foydalanuvchi xabardorligi va App Store va Google Play ko'rib chiqish darajasiga o'tadi.

Uchinchi cheklov — sandbokslar o'rtasidagi o'zaro ta'sir. Ba'zi tizim xizmatlari (NotificationListenerService, AccessibilityService) boshqa ilovalarning ma'lumotlariga kengaytirilgan kirish huquqiga ega. Hujumchi tegishli ruxsatnomalarni olsa, bu xizmatlardan sandboxni chetlab o'tish uchun foydalanishi mumkin. Google va Apple bunday xizmatlar uchun siyosatlarni doimiy ravishda yangilaydi.

Cheklovlarga qaramay, sandbox mobil operatsion tizimlarning muhim xavfsizlik komponenti hisoblanadi. Android Security Report (2024) ma'lumotlariga ko'ra, sandbox izolyatsiyasi ilovalararo ma'lumotlarga kirish urinishlarining 99% dan ortig'ining oldini oladi. Code Signing, App Review va runtime permissions bilan birgalikda Sandbox zamonaviy mobil qurilmaning ko'p qatlamli himoyasini shakllantiradi.

Tez-tez so'raladigan savollar

App Sandbox oddiy so'zlar bilan nima?

Ilova sandboksi — har bir ilova o'z izolyatsiya qilingan maydonida ishlaydigan, foydalanuvchining aniq roziligisiz boshqa ilovalar ma'lumotlariga kira olmaydigan izolyatsiya tizimi.

iOS va Android sandboksi o'rtasidagi farq nima?

iOS Sandbox.kext va entitlements orqali qattiq konteyner izolyatsiyasidan foydalanadi. Android Linux yadro darajasida UID ajratish va SELinuxdan foydalanadi. Prinsip bir xil, ammo amalga oshirish va moslashuvchanlik farq qiladi.

Ilova sandboksi chetlab o'tilishi mumkinmi?

Sandboxni chetlab o'tish faqat jailbreak (iOS) yoki root kirishi (Android) bilan mumkin. OT modifikatsiyasisiz standart qurilmalarda sandboxni qonuniy API'lar orqali chetlab o'tish mumkin emas.

Ilovalar sandbox orqali ma'lumotlarni qanday almashadi?

iOS UIActivityViewController va App Groups dan foydalanadi. Android — ContentProvider, FileProvider va Intents. Barcha mexanizmlar xavfsizlik nazorati bilan tizim API'lari orqali ishlaydi.

Sandboxda minimal imtiyozlar prinsipi nima?

Prinsip shuni anglatadiki, ilova faqat o'z ishi uchun zarur bo'lgan huquqlarni oladi. Qo'shimcha resurslarga kirish ruxsatnomalar orqali so'raladi va foydalanuvchi tomonidan taqdim etiladi.

Xulosa

  • App Sandbox — ilovalarni fayl tizimi va jarayonlar darajasida bir-biridan izolyatsiya qiluvchi mobil OTlarning asosiy xavfsizlik mexanizmi.
  • Ishlash prinsipi — har bir ilova o'z UID, izolyatsiya qilingan katalog va yadro darajasida kirish nazorati bilan minimal imtiyozlarni oladi.
  • iOS — Sandbox.kext orqali qattiq konteyner izolyatsiyasi, entitlements orqali kengaytirilgan huquqlar, tizim kontrollerlari orqali ma'lumot almashish.
  • Android — Linux UID ajratish, enforcing rejimida SELinux, xavfsiz ulashish uchun ContentProvider va FileProvider.
  • Istisnolar — tizim xizmatlari (AccessibilityService) va foydalanuvchi ruxsatnomalari (kontaktlar, mikrofon) izolyatsiyani qisman chetlab o'tishi mumkin.
  • Cheklovlar — sandbox root/jailbreakdan va ruxsat etilgan API'lar orqali qonuniy ma'lumot yig'ishdan himoya qilmaydi.
  • Samaradorlik — Android Security Report 2024 ga ko'ra, ilovalararo kirish urinishlarining 99% dan ortig'ini oldini oladi.

Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz

IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.

Loyihani muhokama qilish

Shuningdek o'qing