Mobil ilovalar uchun SSL sertifikat oddiy tekshirish ko'pincha yetarli emas. Hujumchi tarmoqqa kirib o'zining yolg'on sertifikatini joylashtirsa va u biron-bir tan olingan Certificate Authority tomonidan imzolangan bo'lsa, ilova bu sertifikatga ishonadi va trafikni ochib o'qishga ruxsat beradi. Bu hujum man-in-the-middle (MITM) deb ataladi va ayniqsa ochiq Wi-Fi tarmoqlarida xavflidir. SSL pinning aynan shu muammoning yechimi sifatida joriy etilgan.
SSL pinning nima
SSL pinning โ bu mobil ilovaning ichida ma'lum bir sertifikat yoki kalitning xeshini "pin" sifatida saqlash usulidir. Server bilan bog'lanish vaqtida ilova standart sertifikat tekshiruvini bajaribgina qolmay, balki taqdim etilgan sertifikat o'sha pin bilan mos kelishini ham nazorat qiladi. Agar mos kelmasa โ masalan, hujumchi boshqa, hatto haqiqiy CA tomonidan imzolangan sertifikatni taqdim etsa โ ilova ulanishni darhol uzadi. Bu yondashuv bank, to'lov va sog'liqni saqlash kabi yuqori xavfsizlik talab qiladigan ilovalarda standart amaliyot bo'lib qoldi.
Pinning turlari
Asosan ikki xil pinning amaliyotda qo'llaniladi. Certificate pinning bunda butun sertifikatning xeshi ilovaga joylashtiriladi, bu eng qattiq tekshiruv beradi, lekin sertifikat har yangilanganda ilovani ham yangilash kerak bo'ladi. Public key pinning esa faqat ochiq kalitning xeshini saqlaydi, bu yondashuv ancha moslashuvchan โ agar siz bir xil kalitni saqlab yangi sertifikat chiqarsangiz, ilova hech qanday muammosiz ishlashda davom etadi. Aksariyat zamonaviy ilovalar public key pinning ni tanlaydi.
iOS va Android amaliyoti
Android platformasida pinning Network Security Configuration XML fayli orqali ko'rsatiladi. Bu yondashuv kod yozmasdan, faqat konfiguratsiya orqali pinning qo'shish imkonini beradi. iOS da esa odatda OkHttp ekvivalenti bo'lgan URLSession bilan custom delegate yoziladi yoki Alamofire ServerTrustManager mexanizmidan foydalaniladi. Har ikkala platformada ham OWASP MASVS standartlari pinningni majburiy talab sifatida belgilaydi.
Pinning bilan bog'liq xavflar
Pinning juda kuchli himoya bersa-da, noto'g'ri joriy etilsa katta muammolar keltirib chiqaradi. Eng tarqalgan xato โ sertifikat o'zgartirilgan kunda ilovaning to'satdan ishlashdan to'xtashi. Foydalanuvchilar yangi versiyani yangilamaguncha ilova ishga tushmaydi. Bu sababli pinning siyosatida har doim bir nechta zaxira pin saqlanishi shart โ birlamchi kalit va keyingi rotatsiya uchun zaxira. Ba'zi kompaniyalar pinningni serverdan dinamik tarzda yangilab turish mexanizmini ham qo'llaydi, lekin bu o'z navbatida MITM xavfini qisman ochib qo'yadi.
Sayt.uz amaliyot
Sayt.uz mobil ilovasi 2036-yilning may oyida SSL pinning siyosatini yangiladi. Ilovaga 3 ta zaxira pin joylashtirildi va sertifikat rotatsiyasi tartibi 6 oyga moslashtirildi. Yangi siyosatdan keyin MITM hujumlari urinishlari soni 84 foizga kamaydi, mobil to'lov tranzaksiyalarining muvaffaqiyat darajasi 99,2 foizga yetdi. Sayt.uz mijozlari uchun mobil ilovalarda SSL pinning integratsiyasi xizmati 1 245 000 so'm, sertifikat rotatsiya bo'yicha texnik konsultatsiya esa 380 000 so'm turadi. Bank va to'lov xizmatlari uchun bu xizmat majburiy talab sifatida tavsiya etiladi.