Bosh sahifa Wiki Security testing

Security testing

Security testing — tizimning maxfiylik, yaxlitlik, mavjudlik va kirishni boshqarish xususiyatlarini tekshirish jarayonidir. U faqat zaiflik skanerini ishga tushirish emas; threat modeldan kelib chiqib arxitektura, kod, dependency, konfiguratsiya va ishlayotgan xizmatdagi nazoratlar noto‘g‘ri chetlab o‘tilmasligini dalillar bilan baholaydi.

Tekshiruv doirasi

Scope tekshiriladigan host, API, mobil ilova, cloud account va vaqt oralig‘ini aniq belgilaydi. Productionga ta’sir qilishi mumkin bo‘lgan DoS, ma’lumot o‘zgartirish yoki phishing amallari alohida ruxsat talab qiladi. Test accountlari turli rol va tenantga ega bo‘lib, horizontal hamda vertical privilege escalationni tekshirishga imkon beradi.

Threat model aktivlar, trust boundary, attacker imkoniyati va muhim data flowlarni ko‘rsatadi. Internetdan ochiq endpoint bilan faqat ichki build pipeline bir xil test ustuvorligiga ega emas. Nazoratlar real xavf ssenariysi bilan bog‘langanda natija oddiy uzun zaiflik ro‘yxatidan foydaliroq bo‘ladi.

Asosiy usullar

SAST source yoki bytecode ichida xavfli data flow va API ishlatilishini izlaydi. DAST ishlayotgan ilovaga tashqaridan so‘rov yuboradi. SCA dependency versiyalari va ma’lum zaifliklarni, secret scanning esa repositorydagi credential izlarini tekshiradi. IaC va container scanning cloud konfiguratsiyasi, image paketi va permission xatolarini topadi.

Bu usullar bir-birini almashtirmaydi. SAST runtime konfiguratsiyasini ko‘rmaydi, DAST esa bajarilmagan ichki kod yo‘lini bilmasligi mumkin. Manual penetration testing authentication, authorization va biznes mantiqidagi kontekstga bog‘liq xatolarni sinaydi. Code review cryptographic misuse va trust boundary buzilishini chuqurroq ko‘rishi mumkin.

Autentifikatsiya va vakolat

Login rate limit, MFA recovery, session rotation, logout va password reset alohida sinovdan o‘tadi. Tokenning signature si to‘g‘ri bo‘lsa ham audience, issuer, expiry va scope tekshirilmasa boshqa xizmat tokeni qabul qilinishi mumkin.

Authorization har obyekt va amalda server tomonida tekshiriladi. Foydalanuvchi URLdagi IDni almashtirib boshqa tenant ma’lumotini olishi, UI yashirgan tugmani API orqali chaqirishi yoki mass assignment bilan ruxsat etilmagan maydonni yozishi mumkin. Negative testlar aynan rad etilishi kerak bo‘lgan holatlarni qamrab oladi.

Natijani boshqarish

Finding zaif komponent, prerequisite, qayta tiklash qadamlari, kuzatilgan natija va xavfsiz dalilni o‘z ichiga oladi. Severity faqat umumiy CVSS soni bilan emas, muhitdagi exposure, data sezgirligi va mavjud kompensatsion nazorat bilan baholanadi. False positive tekshiriladi, duplicate findinglar bitta root causega birlashtiriladi.

Tuzatishdan keyin retest dastlabki exploit yo‘li yopilganini va regressiya paydo bo‘lmaganini ko‘rsatadi. Bir martalik tekshiruv yetarli emas: CI dagi tez avtomatik nazorat, release gate va davriy chuqur test turli vaqt masshtabida ishlaydi. Test credentiallari yakunda bekor qilinadi, yozilgan data tozalanadi va audit logi saqlanadi.

Ma’lumotlarni himoyalash

Security test davomida productionga o‘xshash shaxsiy ma’lumotdan foydalanish alohida xavfdir. Sintetik yoki maskalangan dataset ustun turadi. Request, screenshot va proxy history finding uchun zarur minimal dalilni saqlaydi; access token, cookie va to‘liq database dump hisobotga qo‘shilmaydi. Test vositasining o‘zi yangilanadi va uning pluginlari ishonchli manbadan olinadi, chunki scanner keng tarmoq kirishi hamda credentialga ega bo‘lishi mumkin.

Third-party komponentdagi zaiflik topilganda faqat paket versiyasini almashtirish emas, u haqiqatan build artifactdan yo‘qolgani tekshiriladi. Transitive dependency, statik binary va eski container layer zaif nusxani saqlab qolishi mumkin. SBOM va qayta scan tuzatish dalilini mustahkamlaydi.

Bog‘liq tushunchalar

Threat modeling, Penetration testing, SAST, DAST, Software composition analysis, Authorization, Vulnerability management