๐Ÿ“ฑ
blog.cat.ssl

SSL pinning: mobil ilovalarda MITM hujumlardan himoyaning eng samarali usuli

15.06.2036
โ† Barcha maqolalar

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.

O'xshash maqolalar

๐Ÿค SSL handshake jarayoni: TLS muloqotining ichki mexanikasi va bosqichlari ๐Ÿ”“ HTTPS yashil qulf yo'qoldi: sabablar ro'yxati va bosqichma-bosqich tuzatish โฐ SSL sertifikat muddatini kuzatish: monitoring tizimlari va ogohlantirish xizmatlari ๐Ÿ’ฐ SSL narx taqqoslash โ€” Let's Encrypt, Sectigo, DigiCert va GlobalSign
๐ŸŒ Til
๐Ÿ‡บ๐Ÿ‡ฟ O'zbek โœ“ ๐Ÿ‡บ๐Ÿ‡ฟ ะŽะทะฑะตะบ ๐Ÿ‡ท๐Ÿ‡บ ะ ัƒััะบะธะน ๐Ÿ‡ฌ๐Ÿ‡ง English