Man-in-the-Middle (MITM) — "o'rtadagi odam" hujumi bo'lib, bunda jinoyatchi ikki tomon o'rtasidagi trafikni ularning xabarisiz tutib oladi, o'qiydi yoki o'zgartiradi. Kaspersky, 2025 ma'lumotlariga ko'ra, mobil qurilmalarga qilingan MITM hujumlari soni so'nggi ikki yilda 35% ga oshgan. Trafikni tutib olishning asosiy muammosi shundaki, foydalanuvchi hujum belgilarini ko'rmaydi — ulanish normal ko'rinadi.
Asosiy ma'lumotlar
Man-in-the-Middle (MITM) — jinoyatchi ikki tomon o'rtasidagi aloqa kanaliga yashirincha kirib oladigan kiberhujum turidir. Jinoyatchi uzatilayotgan ma'lumotlarni tutib olishi, o'qishi va o'zgartirishi mumkin, ikkala tomon uchun ko'rinmas qoladi.
Mobil ilovalarda MITM hujumlari ayniqsa xavfli, chunki qurilmalar doimo turli tarmoqlarga — uy, ofis, kafe va aeroportlardagi jamoat Wi-Fi-ga ulanadi. Har bir tarmoq almashinuvi potensial hujum uchun oyna yaratadi. Verizon Mobile Security Index (2025) ma'lumotlariga ko'ra, tashkilotlarning 43% korporativ mobil qurilmalarida kamida bir marta MITM hujumlariga duch kelgan.
MITM ning asosiy xavfi — yashirinlik: foydalanuvchi va server tutib olish haqida signal olmaydi. Sessiya normal ko'rinadi, ma'lumotlar uzatiladi, sertifikat xatolari yo'q (agar jinoyatchi o'z sertifikatidan foydalansa). Hujumni faqat tarmoq infratuzilmasi darajasida yoki maxsus vositalar yordamida aniqlash mumkin.
Dasturchi MITM hujumlarining mexanizmlarini tushunishi kerak, shunda himoyani ilova darajasida loyihalashtirsin, transport qatlami xavfsizligiga to'liq tayanmasin.
MITM hujumlarining tasnifi aloqa kanaliga kirib olish usuliga ko'ra farq qiluvchi bir necha turni o'z ichiga oladi. Mobil ishlanmada eng dolzarb uchtadir.
ARP Spoofing — jinoyatchi mahalliy tarmoqqa soxta ARP paketlarini yuborib, o'z MAC manzilini shlyuzning IP manzili bilan bog'laydigan texnikadir. Shundan so'ng qurbonning barcha trafigi jinoyatchi qurilmasi orqali yo'naltiriladi, u trafikni shlyuzga uzatib, ko'rinmas qoladi.
Hujumni amalga oshirish uchun ARP-spoofingni avtomatlashtiradigan Ettercap yoki BetterCAP kabi vositalar yetarli. Hujum faqat bitta quyi tarmoq ichida mumkin, shuning uchun jamoat Wi-Fi tarmoqlari foydalanuvchilari eng zaifdir. Boshqariladigan kalitlarda dinamik ARP tekshiruvi (DAI) bo'lgan zamonaviy tarmoqlar bu hujum turini bloklaydi.
ARP Spoofing dan ilova darajasida himoyalanish mumkin emas — bu tarmoq infratuzilmasi muammosidir. Biroq, ilova iOS uchun TrustKit yoki Android uchun Network Security Config kabi kutubxonalar yordamida tarmoq ulanishidagi anomaliyalarni aniqlashi mumkin.
DNS Spoofing (yoki DNS Cache Poisoning) — mijozdan DNS serveriga boradigan yo'lda DNS yozuvlarini soxtalashtirishdir. Jinoyatchi ilovaning DNS so'rovini tutib oladi va qonuniy server o'rniga trafikni o'z serveriga yo'naltiradigan soxta IP manzilini qaytaradi.
Hujum DNS serveri DHCP orqali avtomatik tayinlanadigan jamoat tarmoqlarida ayniqsa samarali. Jinoyatchi maqsadli domenlar uchun soxta IP manzillarini qaytaradigan o'z DNS serverini sozlashi mumkin. Foydalanuvchi brauzerda qonuniy URL ni ko'radi, lekin jinoyatchining serveriga ulanadi.
Ilova tomonida DNS Spoofing dan himoya DNS so'rovlarini shifrlaydigan DNS-over-HTTPS (DoH) yoki DNS-over-TLS (DoT) orqali amalga oshiriladi. Android 9+ va iOS 14+ tizim DoH ni qo'llab-quvvatlaydi, ilova bu variantni ochiq yoqishi mumkin.
SSL Stripping — jinoyatchi himoyalangan HTTPS ulanishini himoyalanmagan HTTP ga tushiradigan hujumdir. Texnika ko'p foydalanuvchilar https://example.com o'rniga qo'lda example.com kiritishidan foydalanadi va birinchi ulanish HTTP orqali o'rnatiladi.
sslstrip (Moxie Marlinspike, 2009) va bettercap kabi vositalar avtomatik ravishda HTTP so'rovlarini tutib oladi, o'z nomidan server bilan HTTPS ulanishini o'rnatadi va shifrlangan trafikni HTTP orqali mijozga uzatadi. Brauzer qulf belgisini ko'rsatmaydi — foydalanuvchi ulanish himoyalanmaganligini bilmaydi.
Zamonaviy himoya — HTTP Strict Transport Security (HSTS): server brauzerga barcha kelajakdagi ulanishlar faqat HTTPS orqali bo'lishi kerakligini bildiradi. HSTS Preload List birinchi hujumdan qo'shimcha himoya qiladi, lekin domenning oldindan ro'yxatdan o'tkazilishini talab qiladi.
Oddiy MITM hujumi mobil ilovaga to'rt bosqichdan o'tadi. Har bir bosqich turli zaifliklardan foydalanadi va to'liq himoya uchun barcha vektorlarni bloklash talab etiladi.
Birinchi bosqich — kirib olish: jinoyatchi qurilma va server o'rtasidagi trafik yo'lida joylashadi. Bu mahalliy tarmoqda ARP Spoofing, soxta Wi-Fi nuqtasi (Evil Twin) yoki provayderning DNS serverini buzish bo'lishi mumkin. Mobil qurilmalar ochiq tarmoqlarga avtomatik ulanganda ayniqsa zaifdir.
Ikkinchi bosqich — tutib olish: kirib olgandan so'ng, jinoyatchi ilova va server almashadigan barcha paketlarni o'qiy boshlaydi. Bu bosqichda u metama'lumotlarni to'playdi: so'rov URL lari, paket o'lchamlari, cookies, sarlavhalar. Ma'lumotlar shifrlangan bo'lsa ham, metama'lumotlar ilova tuzilishi va biznes mantiqini ochib berishi mumkin.
Uchinchi bosqich — shifrni ochish (agar trafik shifrlangan bo'lsa): jinoyatchi ikkita TLS ulanishini o'rnatadi — biri server bilan (soxta sertifikat yordamida), ikkinchisi mijoz bilan. Ilova ulanishni xavfsiz deb hisoblaydi, lekin jinoyatchi barcha ma'lumotlarni ochiq ko'rinishda ko'radi. Certificate Pinning bo'lmasa, bu tizim omborida o'rnatilgan har qanday sertifikat uchun ishlaydi.
To'rtinchi bosqich — o'zgartirish va eksfiltratsiya: jinoyatchi nafaqat o'qiy oladi, balki uzatilayotgan ma'lumotlarni o'zgartirishi ham mumkin. Moliyaviy ilovalarda bu oluvchining hisob raqamini o'zgartirish, API so'rovlarida — avtorizatsiya parametrlarini o'zgartirish ma'nosini anglatishi mumkin. iOS va Android javoblarning yaxlitligini tekshirishni ilova darajasida joriy etishni tavsiya qiladi.
Kotlin va Swift da Certificate Pinning yordamida MITM hujumlaridan himoyalanishning amaliy misollarini ko'rib chiqaylik. Bu misollar tizim ombori buzilgan taqdirda ham sertifikat almashinuvini bloklaydi.
OkHttp — CertificatePinner ni qo'llab-quvvatlaydigan Android uchun standart HTTP kutubxonasidir. Server sertifikatingizning SHA-256 hashini ko'rsating — boshqa barcha sertifikatlar rad etiladi.
import okhttp3.CertificatePinner
import okhttp3.OkHttpClient
val certificatePinner = CertificatePinner.Builder()
.add(
"api.example.com",
"sha256/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
)
.build()
val client = OkHttpClient.Builder()
.certificatePinner(certificatePinner)
.build()
iOS da server sertifikatini qo'lda tekshirish uchun URLSessionDelegate dan foydalaning. SecCertificateRef ni mahalliy saqlangan nusxa bilan solishtiring.
class SessionDelegate: NSObject, URLSessionDelegate {
func urlSession(
_ session: URLSession,
didReceive challenge: URLAuthenticationChallenge,
completionHandler: @escaping (
URLSession.AuthChallengeDisposition,
URLCredential?
) -> Void
) {
guard let serverTrust = challenge.protectionSpace
.serverTrust else { return }
let pinnedCert = SecCertificateCreateWithData(
nil,
pinnedCertData as CFData
)
let serverCerts = (0..<SecTrustGetCertificateCount(serverTrust))
.compactMap { SecTrustGetCertificateAtIndex(serverTrust, $0) }
if serverCerts.contains { CFEqual($0, pinnedCert) } {
completionHandler(.useCredential, URLCredential(trust: serverTrust))
} else {
completionHandler(.cancelAuthenticationChallenge, nil)
}
}
}
Android kod yozmasdan OT darajasida trafikni bloklaydigan network_security_config.xml XML fayli orqali deklarativ himoyani qo'llab-quvvatlaydi.
<!-- network_security_config.xml -->
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="false">
<domain includeSubdomains="true">api.example.com</domain>
<pin-set expiration="2027-07-01">
<pin digest="SHA-256">AAAAAAAAAAAAAAAAAAAAAAAAAAAA</pin>
</pin-set>
</domain-config>
</network-security-config>
MITM hujumlaridan kompleks himoya ilova, server va tarmoq infratuzilmasi darajasida chora-tadbirlarni o'z ichiga oladi. Quyida Android va iOS uchun asosiy tavsiyalar keltirilgan.
Certificate Pinning — ilova kodida server sertifikatini bog'lashdan foydalaning. Tizim omboridagi istalgan sertifikatga ishonadigan standart TLS tekshiruvidan farqli o'laroq, Certificate Pinning muayyan sertifikatni yoki uning ochiq kalitini tekshiradi. Android da OkHttp va iOS da TrustKit bu mexanizmning tayyor implementatsiyalarini taqdim etadi.
HTTPS va HSTS ni majburiy qiling: barcha tarmoq so'rovlari HTTPS orqali borishi kerak, server esa Strict-Transport-Security sarlavhasini qaytarishi kerak. Android uchun manifestga android:usesCleartextTraffic="false" qo'shing — bu OT darajasida HTTP ulanishlarini taqiqlaydi. iOS iOS 9 dan boshlab App Transport Security (ATS) orqali HTTP ni sukut bo'yicha taqiqlaydi.
Javoblarning yaxlitligini tekshirishni joriy eting: server javoblarini ilova tekshiradigan raqamli imzo bilan imzolang. Jinoyatchi HTTPS trafikini tutib olsa ham (sertifikatni qayta o'rnatish bilan proksi orqali), serverning shaxsiy kalitisiz imzoni soxtalashtira olmaydi. Kritik operatsiyalar uchun RS256 bilan JWT yoki HMAC imzolaridan foydalaning.
Server tomonida HTTP Public Key Pinning (HPKP) ni yoqing — bu brauzer yoki ilovaga ma'lum domen uchun qaysi sertifikatni haqiqiy deb hisoblashni ko'rsatadigan direktiva. Biroq HPKP ehtiyotkorlikni talab qiladi: noto'g'ri sozlash ilovaga kirishni uzoq muddatga bloklashi mumkin. Google HPKP ni faqat zaxira sertifikatlar bilan birgalikda ishlatishni tavsiya qiladi.
NIST SP 800-52 Rev. 2 (2024) ma'lumotlariga ko'ra, TLS 1.3, Certificate Pinning va HSTS kombinatsiyasi mobil ilovalarga qilingan MITM hujumlarining ma'lum vektorlarining 99% ni yo'q qiladi. Dasturchilarga ilovani nashr etishdan oldin mitmproxy kabi vositalar bilan himoyani sinab ko'rish tavsiya etiladi.
Tez-tez so'raladigan savollar
MITM hujumining belgilariga to'satdan sekinlashish, ishonchsiz sertifikat haqida ogohlantirishlar (ilgari bo'lmagan), URL va sahifa mazmunining nomuvofiqligi kiradi. Mobil ilovalarda — Network Security Config xatolari yoki Certificate Pinning ning ishga tushishi.
VPN trafikni VPN serverigacha shifrlaydi, bu mahalliy tarmoqda tutib olishdan himoya qiladi. Biroq, agar jinoyatchi VPN serverini boshqarsa yoki MITM hujumi provayder tomonida sodir bo'lsa, VPN himoya qilmaydi. Ilova darajasida Certificate Pinning ishonchli usul bo'lib qolmoqda.
Evil Twin — qonuniy tarmoqni (masalan, "Airport_Free_WiFi") taqlid qiladigan soxta Wi-Fi nuqtasidir. Bu alohida MITM turi emas, balki kirib olish usulidir: Evil Twin ga ulanish orqali foydalanuvchi avtomatik ravishda MITM hujumining qurboniga aylanadi, chunki barcha trafik jinoyatchi orqali o'tadi.
Certificate Pinning xavfsizlikni oshiradi, lekin server sertifikati o'zgartirilganda ilovani yangilashni talab qiladi. Bitta emas, bir nechta zaxira sertifikatlar (backup pins) ko'rsatish tavsiya etiladi. Asosiy sertifikat muddati tugagach, ilova yangilashga hojat qolmasdan zaxira sertifikatdan foydalanadi.
Eng mashhur vositalar: mitmproxy — HTTP/HTTPS trafikini tutib olish va o'zgartirish, BetterCAP — mahalliy tarmoqda ARP spoofing va tutib olish, Wireshark — paket tahlili, sslstrip — HTTPS ni HTTP ga tushirish. Bu vositalarni bilish dasturchiga o'z ilovasining himoyasini sinab ko'rishga yordam beradi.
Xulosa
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.