OWASP TOP-10. Veb saytlarda uchraydigan eng xavfli zaifliklar.
Veb saytlar xavfsizligini ta’minlashda Open Web Application Security Project(OWASP) tavsiyalariga amal qilish zarurati yuqori bo’lganidan ushbu tavsiyalar ma’lum manoda standartga aylanib ulgirdi. Ushbu maqolamizda tashkilot hozirda veb saytlardagi qaysi 10 ta zaiflikni eng xavfli deb bilishini ko’rib chiqaylik.
OWASP nima?
Open Web Application Security Project® (OWASP) — bu veb saytlar xavfsizligi buyicha turli mualliflik maqolalari, video darsliklar yaratadigan, shuningdek forumlar konferensiyalar o’tkazadagigan onlayn hamjamiyat.
OWASP hamjamiyati dunyo miqyosidagi onlayn hamjamiyat bo’lib korporatsiyalar, ta’lim tashkilotlar va xavfsizlik sohasida faoliyat yuritadigan shaxslardan tashkil topgan.
Hamjamiyatning eng ko’zga ko’ringan loyihalari sifatida OWASP TOP 10 hisoboti, OWASP CLASP va OWASP ZAP veb prototokllari shuningdek veb sahifalarni tekshiruvdan o’tkazish uchun yaratilgan ochiq kodli skanerlarini keltirish mumkin. Yana ham batafsil ma’lumotni hamjamiyat saytidan olishingiz mumkin.
OWASP Top 10 nima?
OWASP Top 10 — bu hozirda eng keng tarqalgan o’nta veb saytlar zaifliklari ro’yxati. Ushbu ro’yxat tufayli dasturchilar, pentesterlar, xavfsizlik buyicha mas’ul xodimlar eng muhim xavf va tahdidlar, ularning oqibatlari va ularga qarshi choralar haqida o’z vaqtida xabardor bo’lishlari mumkin.
OWASP ro’yxati har uch-to’rt yilda bir marta yangilanadi (u oxirgi marta 2021 yilda yangilangan). OWASP TOP 10 hisoboti butun dunyo bo’ylab xavfsizlik bo’yicha ekspertlarning fikr-mulohazalariga asoslanadi.
OWASPning soʻnggi hisobotida eng xavfli va keng tarqalgan 10 ta zaifliklar roʻyxati keltirilgan:
1. Broken Access Control — Kirish nazorati buzilishi
2. Cryptographic Failures — Kriptografik xatolar
3. Injection — Inyeksiya hujumlari
4.Insecure Design — Ishonchsiz dizayn
5.Security Misconfiguration — Notug’ri xavfsizlikkonfiguratsiyasi
6.Vulnerable and Outdated Components — Zaif va eskirgan komponentlar
7.Identification and Authentication Failures — Identifikatsiya va autentifikatsiyadagi xatolar
8.Software and Data Integrity Failures — Dasturiy ta’minot va ma’lumotlar yaxlitligidagi xatolar
9.Security Logging and Monitoring Failures — Xavfsizlik jurnali va monitoringdagi nosozliklar
10.Server-Side Request Forgery — Server tomoni so’rovini qalbakilashtirish yoki
SSRF (Server-Side Request Forgery)
1. Broken Access Control -Kirish nazorati buzilishi
Sayt xavfsizligi sohasida kirish nazoratini boshqarish — bu foydalanuvchilarga alohida bo’limlar yoki sahifalarga kirishini cheklash. Misol keltiramiz, deylik sizda internet magazin bor. Saytga yangi mahsulotlarni qo’shish yoki chegirmalarni o’rnatish uchun siz saytning administrator paneliga kirishingiz kerak bo’ladi.
Administrator paneliga kirish sizdan boshqa hech kimga kerak emas. Agar saytingizni boshqa tashrif buyuruvchilari ham administrator paneliga kirish imkoniga ega bo’lsa, onlayn do’koningiz bu turdagi hujumga ochiq bo’ladi.
Kirish nazorati bilan bog’liq muammolar xakerga cheklovlarni chetlab o’tib, tizimlar va maxfiy ma’lumotlarga ruxsatsiz kirishga, shuningdek, administrator va imtiyozli foydalanuvchi login parollarini qo’lga kiritish potensil xavfini yuzaga keltiradi.
Buzilgan kirish boshqaruviga misollar:
Xosting boshqaruv paneliga/Admin panelga kirish.
FTP/SFTP/SSH orqali serverga kirish.
Sayt boshqaruv paneliga kirish
Ma’lumotlar bazasiga kirish
2. Cryptographic Failures- Kriptografik xatolar
Kriptografik xatolar-Bu nisbatan yangicha nomlanish bulib oldinki TOP 10 hisobotlarda maxfiy ma’lumotlarni oshkor qilish(Sensitive Data Exposure) nomi bilan atalgan.
Asosiy e’tibor kriptografiya bilan bog’liq nosozliklarga (yoki uning mavjud emasligiga) qaratilgan. Bu ko’pincha maxfiy ma’lumotlarning tarqalib ketishiga ketishiga olib keladi.
Muhim ma’lumotlarning oshkor bo’lish xavfining asosiy sababi shifrlashning yo’qligi yoki kalitlarni yaratish va boshqarishning ishonchsiz usullaridan foydalanish, zaif shifrlash algoritmlari, xavfsiz parollarni saqlash usullari va boshqalar bilan bog’liq. Yana bir sabablaridan biri shundaki bazida dasturchilar zarurat bo’lmaganda ham muhim ma’lumotlarni saqlab boradilar.
Maxfiy ma’lumotlarga misollar
Himoya qilinishi kerak bo’lgan ba’zi maxfiy ma’lumotlar:
- kredit karta raqamlari
- tibbiy ma’lumotlar
- Shaxsiy identifikatsiya qilinadigan ma’lumotlar (PII)
Boshqa shaxsiy ma’lumotlar.
3. Injection- Inyeksiya hujumlari
Inyeksion hujumlar ma’lumotlar kod interpretatoriga saytdagi forma yoki ma’lumotni veb-ilovaga yuborishning boshqa usuli orqali uzatilganda sodir bo’ladi. Masalan, xaker ruyxatdan o’tish formasidagi foydalanuvchidan ism kiritishi suraladigan maydonga SQL kodini kiritishi mumkin.
Agar formadagi kiruvchi ma’lumotlar dasturchi tomonidan to’g’ri tekshirilmasa himoyalanmagan bo’lsa, bu xaker tomonidan yuborilgan SQL kodning bajarilishiga olib keladi — bunday hujumlar SQL inyektsiya nomi bilan ancha tanilgan.
Inyeksion hujumlarni foydalanuvchi tomonidan taqdim etilgan ma’lumotlarni tekshirish va/yoki tozalash orqali oldini olish mumkin.Birinchi navbatda foydalanuvchi tomonidan junatilayotgan xar bir maydondagi ma’lumotlarni qanday ma’lumot ekanligini tekshirish tug’ridan tug’ri ma’lumotlar bazasiga saqlamaslik kerak.
Inyeksion hujumlar sayt egalari uchun jiddiy xavf tug’diradi.Bu turdagi hujumlarga saytni tekshirish oldini olish buyicha keyingi darslarimizda batafsil gaplashamiz.
4. Insecure Design — Ishonchsiz dizayn
Dizayn kamchiliklari bilan bog’liq xavflarga e’tibor qaratiladigan 2021 yil uchun yangi yunalish.Ishonchsiz dizayn — bu «yo’qolgan yoki samarasiz boshqaruv dizayni» sifatida ifodalangan turli kamchiliklarni ifodalovchi keng kategoriya.
Ishonchsiz dizayn bu dastur ishlashidagi mantiqiy xatoliklar bilan bog’liq xatoliklarni o’z ichiga oladi.
Parollarni ochiq mantda(textda) saqlash.
Xatolik haqidagi xabarlarda muhim ma’lumotlarni ko’rsatib yuborish.
Ma’lumotlar kiritish formasida spam yoki xar xil botlardan himoya interfeysining mavjud emasligi.
5. Security Misconfiguration — Notug’ri xavfsizlik konfiguratsiyasi
Xavfsizlik konfiguratsiyalarini noto’g’ri sozlash OWASP Top 10 da eng keng tarqalgan zaiflik hisoblanadi.Bu turdagi zaifliklar asosan dasturchilarning sayt xavfsizligiga e’tiborsizligidan kelib chiqadi. Dasturchilar qiladigan eng keng tarqalgan xatolardan biri bu standart CMS sozlamalarini o’zgartirmaslik ya’ni uz holatida saqlash.Veb saytga hujum qilish imkonini beradigan eng keng tarqalgan xatolarni keltirib o’tamiz:
- Tuzatilmagan kamchiliklar;
- Standart konfiguratsiyalar(default);
- Foydalanilmayotgan sahifalar mavjudligi;
- Himoyalanmagan fayllar va kataloglar;
- Zaif xeshlangan yoki shifrlanmagan parollar
Zamonaviy CMS(WordPress,Joomla va boshqalar)lar ishni oson qilishi vaqtni tejashi mumkin,lekin ularning xavfsizlik sozlamalarini o’z holatida qoldirilsa bu oqibati yomon holatlarga olib kelishi mumkin. Hozirgi kunda juda ko’p xakerlik hujumlari avtomatlashtirilgan instrumentlar(tools)lar yordamida amalga oshiriladi.
Xakerlik hujumlari ham standart sozlamalar o’zgaritirlmagan tizimlarda ko’p uchraydi.Bu shuni anglatadiki, CMSni o’rnatish vaqtida standart sozlamalarni o’zgartirish orqali ko’p sonli hujumlarning oldini olish mumkin.
6. Vulnerable and Outdated Components — Zaif va eskirgan komponentlar
Saytning server va mijoz(client) qismidagi har bir dasturiy ta’minotni yangilamaslik ertami-kechmi jiddiy xavfsizlik xatarlarini keltirib chiqarishini hammamiz tushunamiz.
Masalan, 2019 yilda barcha CMS da qilingan saytlarning kiber hujumga uchragan vaqtidagi statistikaasiga qarasak ularning 56 foizi buzib kirilgan vaqtda eskirgan versiyalari ishlab turganligi aniqlangan. Ya’ni dasturchilar o’z vaqtida pluginlar, modullar yoki frameworklarni yangilanish chiqqan vaqtida yangilashmagan.
Statistika
Nega biz dasturiy ta’minotni o’z vaqtida yangilamaymiz? Nima uchun bugungi kunda bu juda katta muammo?
Bu savolga bir nechta javoblar keltirish mumkin masalan:
- Dasturchilar yangilanish(updates) chiqqanidan o’z vaqtida xabardor bo’lmaydi yoki yangilashga ulgurmaydi (to’g’ri yangilash vaqt talab etadi).
- Eski kod bog’liqliklar(dependencies)ning yangi versiyalari bilan mos kelmaydi, ishlamaydi.
- Dasturchi yangilanishlarni qilgandan keyin sayt funksionali o’zgarib qolishidan yoki ishlamay qolishidan xavfsiraydi.
- Dasturchilar yangilanishni to’g’ri o’rnatish tajribasiga ega bo’lmasliklari mumkin.
Bu haddan tashqari oddiy tuyulishi mumkin, lekin har safar yangilanish ogohlantirishiga e’tibor bermasangiz, saytingizda yoki serveringizda ma’lum bo’lgan zaiflik saqlanib qolishiga ruxsat berasiz. Menga ishoning, xakerlar serveragi dasturiy ta’minot yoki saytlardagi modullar versiyalarini zaifliklarga albatta tekshirishadi.
7. Identification and Authentication Failures — Identifikatsiya va autentifikatsiyadagi xatolar
Noto’g’ri autentifikatsiya orqali xaker qo’lda yoki avtomatik usullardan foydalanib, tizimdagi istalgan akkauntni boshqarishga yoki undan ham yomoni, tizimni to’liq nazorat qilishga urinishi mumkin.
Autentifikatsiyasi buzilgan saytlar internetda juda keng tarqalgan. Autentifikatsiya buzilishi odatda saytning autentifikatsiya mexanizmidagi mantiqiy muammolar, masalan, foydalanuvchining tizimdagi sessiyalarini yomon boshqarish bilan bog’liq.
Bu turagi zaiflikdan xaker brutu-force hujum tashkillashtirib ya’ni tizim foydalanuvchilarining login parollarini taxminiy varinantlarini birin ketin tekshirib ko’rish orqali natijaga erishishi mumkin.
Autentifikatsiya bilan bog’liq xavflarni minimallashtirish uchun saytning administrator paneliga kirish sahifasini ochiq qoldirmang:
/administrator Joomlada,
/wp-admin/ WordPressda,
/index.php/admin Magentoda,
/user/login Drupalda.
Keyingi maqolalarimizda bu mavzu haqida tuliq gaplashamiz.Bu yerda ma’lumotlar shunchaki tanishib chiqib bilib quyish maqsadida berilmoqda.
9. Security Logging and Monitoring Failures — Xavfsizlik jurnali va monitoringdagi nosozliklar
Muvaffaqiyatli xakerlik hujumlarini aniqlash har doim ham oson emas. Ko’pincha xakerlar nafaqat axborot tizimlariga ruxsatsiz kirishadi, balki xech qanday iz qoldirmagan sezdirmagan holda bir necha oy yoki yillar davomida tizimga ruxsatga ega bo’lib yurishadi.Bazida veb sayt egasi saytining xakerlar tomonidan buzib kirilganini xatto oylab bilmasligi mumkin. Buning oldini olish uchun saytda,serverda yoki tizimda bo’layotgan xar bir xarakatni monitoring,analiz qilib borish xavfsizlik jurnalalrini yuritib kuzatib borish kerak.
Sayt faoliyatini audit,monitoring qilish,loglar bilan tug’ri ishlash saytingizdagi har qanday shubhali o’zgarishlardan xabardor bo’lish imkonini beradi.Loglar saytdagi barcha hodisalarni qayd etadigan hujjatdir. Bu sizga potensial hujumlarningning oldini olish yoki hujum sodir bo’lganda zudlik aniqlash uning oqibatlarini kamaytirishga yordam beradi.
10. Server-Side Request Forgery — Server tomonidagi so’rovlarni qalbakilashtirish yoki SSRF
Server tomonidagi so’rovlarni qalbakilashtirish qisqacha SSRF OWASP TOP 10 ning yangilangan 2021 yidlagi ruyxatiga hamjamiyat soʻrovidan keyin qushildi. Bu turdagi hujum so’ngi yillarda nisbatan ko’p uchramoqda buni quyidagi statistikadan ham ko’rish mumkin.
Statistika
SSRF — bu nima?
Server tomonidagi so’rovlarni qalbakilashtirish – bu server nomidan tashqi yoki ichki resurslarga so’rov yuborish imkonini beruvchi hujum. Bunday holda, xaker butun so’rovni yoki uning alohida qismlarini boshqarishi mumkin.
Quyidagi diagrammada bunday hujumning oddiy misoli ko’rsatilgan:
SSRF example
Asosan ichki servislar bilan o’zaro aloqada bo’lgan yoki URL lar orqali ma’lumotlarni yuklab oladigan veb saytlar ushbu hujumga nisbatan zaifdir. Bunday tizimlarda qilingan so’rovlar foydalanuvchilar tomonidan nazorat qilinadi. URL ni almashtirish natijasida so’rov boshqa manbalarga o’tadi
Hozircha, OWASP ekspertlarining fikriga ko’ra, SSRF hujumlarini amalga oshirishga imkon beruvchi yuqori darajadagi kritik zaifliklar kam uchraydi.Ammo bu turdagi hujumni ekspluatatsiya qilish imkoniyati yuqori va tez orada SSRF jiddiy kiber tahdidga aylanishi mumkin.
Mavzu buyicha savollar bo’lsa telegram guruhimizga yozishingiz mumkin.
Xavfsizlik
OWASP TOP-10.Veb saytlarda uchraydigan eng xavfli zaifliklar.