Jarayon
Ekspertizaga topshirishdan oldingi checklist: veb va mobil uchun 20 band
Veb-sayt yoki mobil ilovani kiberxavfsizlik ekspertizasiga topshirishdan oldin tekshirib chiqish kerak bo'lgan 20 ta amaliy band — server, kod, ilova va hujjatlar.
· 9 daq. o'qish

Ekspertizaga ariza topshirilgan kundan boshlab har bir topilma vaqt talab qiladi: tuzatish, qayta build, qayta topshirish. Shuning uchun asosiy ishni oldindan qilgan ma'qul. Quyidagi 20 ta band o'z mahsulotimizni — soliq-moliya SaaS platformasi va uning Flutter mobil ilovasini — ekspertizadan o'tkazish tajribasidan va OWASP standartlaridan (Top 10, ASVS, MASVS, Mobile Top 10 2024) yig'ilgan. Ro'yxat to'liq audit o'rnini bosmaydi, lekin eng ko'p uchraydigan muammolarni oldindan yopishga yordam beradi.
Veb-ilova va server (1–10)
1. HTTPS va HSTS
Barcha sahifalar faqat HTTPS orqali ochilsin, http so'rovlar 301 bilan yo'naltirilsin. Sertifikat zanjiri to'liq, eskirgan TLS versiyalari o'chirilgan bo'lsin.
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
2. Xavfsizlik sarlavhalari
Content-Security-Policy, X-Content-Type-Options: nosniff, X-Frame-Options (yoki CSP'da frame-ancestors), Referrer-Policy, Permissions-Policy. Server va freymvork versiyasini ko'rsatuvchi sarlavhalarni olib tashlang.
3. Debug rejimi o'chiq
APP_DEBUG=false yoki freymvorkingizdagi ekvivalenti. Xato sahifalari stek izi, SQL so'rov yoki fayl yo'lini ko'rsatmasin. phpinfo, Telescope va shunga o'xshash panellar yopiq.
4. Ochiq portlar
Server'ni tashqaridan skanerlang (nmap -Pn sayt.uz). Internetga faqat 80 va 443 ochiq bo'lishi kerak. Bizning ekspertizada FTP va boshqaruv paneli portlari ochiq qolgani topilma bo'lgan. Tuzatish: firewall, ishlatilmaydigan xizmatlarni o'chirish, panelni IP allowlist ortiga o'tkazish. SSH'ga kirish kalit bilan va cheklangan manzillardan.
5. Proksi sarlavhalari va Host
Ilova X-Forwarded-Host ga ishonmasin. Faqat X-Forwarded-For/Proto/Port ga va faqat o'z proksingizdan. Production'da asosiy URL majburiy belgilansin — aks holda parolni tiklash havolalari soxta domen bilan yasalishi mumkin.
6. Ma'lumot oshkor bo'lishi
Brauzerga butun marshrutlar ro'yxati (masalan, Ziggy orqali), ichki ID'lar, boshqa foydalanuvchilar ma'lumoti yoki ortiqcha maydonlar uzatilmasin. API javoblarini ko'zdan kechiring: frontend ishlatmaydigan maydon javobda bo'lmasin. .env, .git, storage/logs, zaxira arxivlari brauzerdan ochilmasin.
7. Autentifikatsiya va rate limit
Login, parolni tiklash va OTP marshrutlarida cheklov bor; xabarlar foydalanuvchi mavjudligini oshkor qilmaydi; OTP qisqa muddatli, bir martalik va urinishlar soni cheklangan.
8. Avtorizatsiya
Har bir resurs uchun egalik tekshiriladi: ID'ni o'zgartirib boshqa foydalanuvchining hujjati, to'lovi yoki profili ochilmaydi. Admin funksiyalari oddiy foydalanuvchi tokeni bilan chaqirilmaydi.
9. Biznes-mantiq
To'lov holati faqat provayderning server tomonidagi tasdig'i bilan o'zgaradi — "muvaffaqiyatli" sahifasi bazadagi haqiqiy holatni ko'rsatadi. Har bir holat o'tishi (masalan, ariza yuborish, tasdiqlash) server'da joriy holatni tekshiradi. Bu ikkala holat ham bizning veb ekspertizada topilma sifatida chiqqan.
10. Bog'liqliklar va fayl yuklash
composer audit, npm audit yoki tegishli vositalar ma'lum zaifliklar ko'rsatmaydi. Yuklanadigan fayllar turi va hajmi bo'yicha tekshiriladi va bajariladigan fayl sifatida ochilmaydi.
Mobil ilova (11–18)
11. Root va jailbreak aniqlash
Ilova root qilingan Android va jailbreak qilingan iOS qurilmani aniqlaydi va ishni cheklaydi. Bizning ekspertizada bu ikkala platformada ham yuqori darajali topilma edi (MASWE-0097, OWASP Mobile M7).
12. Emulyator, debugger va hook aniqlash
Frida kabi dinamik tahlil vositalari, debugger ulanishi va emulyatorda ishga tushirish aniqlanadi. Biz buni RASP kutubxonasi (freeRASP) bilan yopganmiz: tahdid aniqlansa, ilova bloklovchi ekran ko'rsatadi.
13. Yaxlitlik tekshiruvi
Ilova qayta imzolangan yoki o'zgartirilgan bo'lsa, buni aniqlaydi (tamper detection). Imzo sertifikati xeshi kutilgan qiymat bilan solishtiriladi.
14. Sertifikat tekshiruvi va pinning
badCertificateCallback yoki "barcha sertifikatlarga ishonish" kodi yo'q. Sertifikat aniq ildiz CA'larga mahkamlangan: Dart'da faqat ishonchli ildizlar bilan SecurityContext, Android'da network_security_config ichida pin-set.
15. Ma'lumotlarni xavfsiz saqlash
Tokenlar va shaxsiy ma'lumotlar SharedPreferences yoki UserDefaults da ochiq holda emas, flutter_secure_storage (Keystore/Keychain) orqali saqlanadi. Chiqishda WebView ma'lumotlari va kesh tozalanadi.
16. Obfuskatsiya
Android'da R8 minifikatsiya yoqilgan, Flutter build --obfuscate --split-debug-info bilan yig'ilgan. Endpoint'lar va maxfiy bo'lmagan konfiguratsiya ham ochiq satr sifatida saqlanmaydi. Server sirlari ilovada umuman yo'q.
17. Zaxira nusxa va eksport
AndroidManifest.xml da:
<application
android:allowBackup="false"
android:dataExtractionRules="@xml/data_extraction_rules"
android:usesCleartextTraffic="false" ...>
Shunda ilova ma'lumotlari zaxira orqali boshqa qurilmaga ko'chmaydi.
18. Shifrlanmagan trafik yo'q
Barcha so'rovlar va ilova ichidagi havolalar https. Cleartext trafik Android'da o'chirilgan, iOS'da ATS istisnolari asoslanmagan holda qo'shilmagan. Bizning ekspertizada http havolalar past darajali topilma sifatida qayd etilgan.
Topshirish (19–20)
19. Nazorat yig'indilari va aynan o'sha build
Ekspertiza topshirilgan APK/IPA uchun MD5, SHA1 va SHA256 nazorat yig'indilarini so'raydi:
sha256sum app-release.apk
md5sum app-release.apk
sha1sum app-release.apk
Yig'indilar aynan topshirilgan fayldan olinsin. Tuzatishdan keyin yangi build — yangi yig'indilar.
Tekshirilgan build va do'konga chiqadigan build bir xil bo'lishi kerak. Aks holda tuzatishlar hujjatda bor, ilovada yo'q bo'lib qoladi.
20. Hujjatlar va test kirishi
Ekspertlar uchun test akkauntlari (turli rollar bilan), tizim tavsifi, ochiq URL'lar va API ro'yxati tayyor bo'lsin. Qayta topshirishda har bir topilma bo'yicha javob hujjati: nima o'zgardi va qanday tekshirildi.
Ro'yxatdan qanday foydalanish kerak
Har bir bandni "ha / yo'q / tegishli emas" bilan belgilang va "ha" uchun dalil saqlang: skrinshot, curl natijasi, konfiguratsiya parchasi. "Yo'q" bandlarini darajasi bo'yicha navbatga qo'ying. Bu jadval keyinchalik ekspertizaga javob tayyorlashda ham ish beradi.
Xulosa
20 ta band — bu ekspertiza nimaga qarashining qisqa xaritasi. Ularni oldindan yopish topshirish va qayta topshirish sikllarini qisqartiradi va jamoaga aniq ish rejasi beradi.
Sipar shu ro'yxat va undan kengroq tekshiruvlarni ekspertizadan oldin bajaradi: Claude AI agenti kod, konfiguratsiya va build'ni tez ko'rib chiqadi, mutaxassis topilmalarni tasdiqlab yopadi. Skanerlash so'rovini qoldiring — teshiklarni auditdan oldin yopamiz.


