
iPhone haqiqatan ham xavfsizmi? iOS ilovalari pentesti orqali Jailbreak, Keychain va Face ID himoyasi tahlili
Ko‘pchilik iOS operatsion tizimini eng xavfsiz mobil platformalardan biri sifatida qabul qiladi. Darhaqiqat, Apple tomonidan yaratilgan ko‘p qatlamli himoya mexanizmlari — App Sandbox, Secure Enclave, Keychain, Code Signing va boshqa texnologiyalar mobil qurilmalar xavfsizligini yuqori darajada ta’minlaydi. Biroq amaliyot shuni ko‘rsatadiki, platformaning o‘zi qanchalik himoyalangan bo‘lmasin, ilova ishlab chiqilishidagi xatolar va noto‘g‘ri konfiguratsiyalar jiddiy xavfsizlik muammolariga olib kelishi mumkin.
Kiberxavfsizlik mutaxassislari tomonidan o‘tkaziladigan iOS ilovalari pentesti aynan shu zaif nuqtalarni aniqlashga qaratilgan. Pentest jarayonida ilovaning ichki tuzilishi, ma’lumotlarni saqlash mexanizmlari, autentifikatsiya tizimlari, tarmoq orqali uzatilayotgan trafik va himoya mexanizmlarining ishonchliligi chuqur tahlil qilinadi.
Bugungi kunda moliyaviy xizmatlar, elektron tijorat, davlat xizmatlari va korporativ tizimlar uchun mo‘ljallangan ko‘plab iOS ilovalari foydalanuvchilarning maxfiy ma’lumotlarini qayta ishlaydi. Shu sababli ulardagi har qanday zaiflik katta moliyaviy zarar yoki ma’lumotlar sizib chiqishiga sabab bo‘lishi mumkin.
iOS pentestining asosiy bosqichlari
iOS ilovasini sinovdan o‘tkazish odatda bir-biri bilan bog‘liq bo‘lgan bir nechta bosqichlardan iborat bo‘ladi:
- Qurilmada jailbreak amalga oshirish;
- Ilova paketini (IPA) olish va tahlil qilish;
- Statik tahlil;
- Dinamik tahlil;
- Tarmoq trafikini kuzatish;
- Maxfiy ma’lumotlar saqlanishini tekshirish;
- Biometrik autentifikatsiyani sinovdan o‘tkazish;
- Jailbreak aniqlash mexanizmlarini tahlil qilish;
- Yakuniy xavfsizlik baholash va tavsiyalar ishlab chiqish.
Mazkur bosqichlar MITRE ATT&CK mobil texnikalari hamda OWASP Mobile Application Security Verification Standard (MASVS) talablariga mos ravishda amalga oshiriladi.
Jailbreak – chuqur tahlil uchun zarur qadam
Apple odatda foydalanuvchilarga tizimning ichki qismlariga kirish imkoniyatini bermaydi. Shu sababli xavfsizlik tadqiqotchilari va pentesterlar qurilmada jailbreak amalga oshiradilar.
Jailbreak natijasida:
- Root huquqlari olinadi;
- Fayl tizimiga to‘liq kirish imkoniyati paydo bo‘ladi;
- Ilova jarayonlariga tashqi kod ulash mumkin bo‘ladi;
- Xotiradagi ma’lumotlarni kuzatish imkoniyati yaratiladi;
- Frida va Objection kabi vositalardan foydalanish osonlashadi.
Eski avlod Apple protsessorlari (A11 va undan oldingi chiplar) uchun checkm8 apparat zaifligi asosidagi jailbreak usullari mavjud bo‘lib, ular iOS yangilanishlari orqali to‘liq bartaraf etilishi mumkin emas.
Bugungi kunda iOS xavfsizligini o‘rganishda eng ko‘p foydalaniladigan vositalar:
- palera1n;
- checkra1n;
- Frida;
- Objection;
- Sileo paket menejeri.
IPA faylini olish va statik tahlil
iOS ilovalari IPA formatida tarqatiladi. IPA aslida ZIP arxiv bo‘lib, uning ichida ilovaning barcha komponentlari joylashgan bo‘ladi.
Statik tahlil jarayonida quyidagilar o‘rganiladi:
Info.plist fayli
Bu fayl ilovaning konfiguratsiyasini o‘z ichiga oladi:
- server manzillari;
- URL sxemalari;
- ruxsatlar;
- integratsiyalar;
- ilova identifikatorlari.
Ko‘plab holatlarda test muhiti yoki ichki API manzillari aynan shu yerda aniqlanadi.
Binar fayl tahlili
Ilovaning asosiy bajariluvchi kodi ARM64 arxitekturasida kompilyatsiya qilinadi.
Pentesterlar quyidagilarni tekshiradilar:
- ASLR (Address Space Layout Randomization);
- PIE (Position Independent Executable);
- Stack Canary himoyasi;
- ARC (Automatic Reference Counting);
- Kod obfuskatsiyasi darajasi.
Agar ushbu himoya mexanizmlaridan biri noto‘g‘ri sozlangan bo‘lsa yoki umuman qo‘llanilmagan bo‘lsa, ekspluatatsiya imkoniyati ortadi.
Qattiq kodlangan (Hardcoded) ma’lumotlar
Statik tahlil davomida quyidagilar izlanadi:
- API kalitlari;
- JWT tokenlari;
- Kriptografik kalitlar;
- OAuth konfiguratsiyalari;
- Sinov muhitiga oid ma’lumotlar.
Amaliyotda ko‘plab ilovalarda maxfiy kalitlarning to‘g‘ridan-to‘g‘ri kod ichida saqlanishi uchrab turadi.
Dinamik tahlil va Frida imkoniyatlari
Statik tahlil ilovaning tuzilishini ko‘rsatib bersa, dinamik tahlil uning real ish jarayonini kuzatishga imkon beradi.
Buning uchun Frida keng qo‘llaniladi.
Frida yordamida:
- metodlarni kuzatish;
- funksiyalar natijasini o‘zgartirish;
- xotiradagi ma’lumotlarni olish;
- autentifikatsiya mexanizmlarini tekshirish;
- SSL Pinning himoyasini sinash mumkin.
Dinamik tahlil orqali ilovaning ish vaqtida qanday qarorlar qabul qilayotgani aniqlanadi.
SSL Pinning himoyasi va uning ahamiyati
SSL Pinning ilovaning faqat ma’lum sertifikatga ishonishini ta’minlaydi.
Agar SSL Pinning mavjud bo‘lmasa:
- trafikni ushlab qolish;
- HTTPS aloqani kuzatish;
- API so‘rovlarini o‘zgartirish;
- sessiya tokenlarini olish mumkin bo‘ladi.
OWASP MASVS standartlariga ko‘ra, moliyaviy va maxfiy ma’lumotlar bilan ishlovchi ilovalarda SSL Pinning qo‘llanilishi tavsiya etiladi.
Pentest davomida Burp Suite va Frida yordamida ushbu himoya mexanizmi sinovdan o‘tkaziladi.
Ko‘plab ilovalarda SSL Pinning noto‘g‘ri amalga oshirilgani sababli, himoya osongina chetlab o‘tilishi mumkin.
Keychain xavfsizligi
Apple Keychain mexanizmi maxfiy ma’lumotlarni saqlash uchun mo‘ljallangan.
Unda odatda:
- parollar;
- autentifikatsiya tokenlari;
- sertifikatlar;
- API kalitlari saqlanadi.
Ammo xavfsizlikning asosiy omili ma’lumotning qayerda emas, qanday saqlanishida namoyon bo‘ladi.
Pentest vaqtida quyidagi holatlar aniqlanishi mumkin:
kSecAttrAccessibleAlways
Bu parametr noto‘g‘ri tanlanganda ma’lumotlar qurilma qulflangan holatda ham o‘qilishi mumkin.
Natijada:
- JWT tokenlari;
- autentifikatsiya sessiyalari;
- API kalitlari
hujumchi tomonidan osongina qo‘lga kiritilishi mumkin.
Biometriyaga bog‘lanmagan ma’lumotlar
Agar Keychain elementi Face ID yoki Touch ID bilan bog‘lanmagan bo‘lsa, jailbreak qilingan qurilmada unga kirish imkoniyati ancha osonlashadi.
Eng xavfsiz yondashuvlardan biri:
- Secure Enclave;
- Face ID;
- Keychain Access Control
mexanizmlarini birgalikda qo‘llash hisoblanadi.
Biometrik autentifikatsiyani sinovdan o‘tkazish
Ko‘plab iOS ilovalari Face ID va Touch ID texnologiyalaridan foydalanadi.
Buning uchun odatda LocalAuthentication frameworkidagi LAContext obyektidan foydalaniladi.
Agar ilova:
- autentifikatsiya natijasini oddiy mantiqiy qiymat (true/false) sifatida qabul qilsa;
- muhim operatsiyalarni faqat mijoz tomonida tekshirsa;
unda runtime manipulyatsiya orqali ushbu natijani o‘zgartirish mumkin bo‘ladi.
Bunday holatda foydalanuvchi biometrik tekshiruvdan o‘tmagani holda ham ilova uni muvaffaqiyatli autentifikatsiyadan o‘tgan deb qabul qilishi mumkin.
Biroq Secure Enclave asosida yaratilgan apparat darajasidagi himoyalar ancha ishonchli hisoblanadi. Chunki ular operatsion tizimdan alohida ishlaydi va ularga Frida yoki boshqa foydalanuvchi darajasidagi vositalar orqali bevosita ta’sir qilish deyarli imkonsiz.
Jailbreak aniqlash mexanizmlari
Xavfsiz ishlab chiqilgan ilovalar jailbreak qilingan qurilmalarni aniqlashga harakat qiladi.
Buning uchun quyidagi usullar qo‘llaniladi:
- Cydia fayllarini qidirish;
- SSH xizmatini tekshirish;
- Sandbox cheklovlarini sinash;
- Dinamik kutubxonalarni aniqlash;
- Frida server mavjudligini tekshirish;
- Maxsus URL sxemalarini chaqirish.
Biroq aksariyat hollarda ushbu tekshiruvlar dastur darajasida amalga oshiriladi va Frida yordamida ularni chetlab o‘tish mumkin.
Shu sababli jailbreak aniqlash mexanizmi mustaqil himoya emas, balki qo‘shimcha xavfsizlik qatlami sifatida qaralishi kerak.
Pentest davomida eng ko‘p uchraydigan zaifliklar
Amaliy tajribalar shuni ko‘rsatadiki, iOS ilovalarida quyidagi kamchiliklar muntazam uchraydi:
- SSL Pinning mavjud emasligi;
- Tokenlarning Keychain’da noto‘g‘ri saqlanishi;
- API kalitlarining kod ichida saqlanishi;
- Face ID natijalariga haddan tashqari ishonish;
- Jailbreak aniqlashning sust amalga oshirilishi;
- Server tomonida qo‘shimcha tekshiruvlarning yo‘qligi;
- Kriptografik algoritmlarning noto‘g‘ri qo‘llanishi;
- Ma’lumotlarning ochiq SQLite bazalarida saqlanishi.
iOS platformasi mobil xavfsizlik sohasidagi eng ilg‘or ekotizimlardan biri hisoblanadi. Biroq platformaning o‘zi xavfsiz bo‘lishi ilovaning ham avtomatik ravishda xavfsiz ekanligini anglatmaydi.
Pentest jarayonlari shuni ko‘rsatadiki, aksariyat zaifliklar Apple infratuzilmasidan emas, balki ilovalarni ishlab chiqish jarayonidagi noto‘g‘ri qarorlar va xavfsizlik talablariga yetarli e’tibor berilmagani sababli yuzaga keladi.
Zamonaviy iOS ilovalari uchun xavfsizlikning eng muhim tamoyillari quyidagilardan iborat:
- Maxfiy ma’lumotlarni Secure Enclave bilan himoyalash;
- Keychain elementlarini biometrik autentifikatsiyaga bog‘lash;
- SSL Pinning’dan to‘g‘ri foydalanish;
- Server tomonida qo‘shimcha tekshiruvlarni joriy etish;
- OWASP MASVS talablariga muvofiqlikni ta’minlash;
- Muntazam mobil ilova pentestlarini o‘tkazish.
Faqat shu yondashuvgina iOS ilovalarini zamonaviy kiberxavflarga nisbatan barqaror va ishonchli holatda saqlash imkonini beradi.



