Konseptual jihatdan autentifikatsiya zaifliklarini tushunish oson. Biroq ular odatda juda muhim (kritik), chunki autentifikatsiya bilan xavfsizlik o'rtasida bevosita bog'liqlik bor.
Autentifikatsiya zaifliklari hujumchilarga maxfiy ma'lumot va funksiyalarga kirish imkonini berishi mumkin. Ular, shuningdek, keyingi hujumlar uchun qo'shimcha hujum yuzasini (attack surface) ochib beradi. Shu sabab bu zaifliklarni qanday aniqlash va ulardan foydalanishni, hamda keng tarqalgan himoya choralarini qanday chetlab o'tishni o'rganish muhim.
Ushbu bo'limda quyidagilarni tushuntiramiz:
Autentifikatsiya — foydalanuvchi yoki mijoz (client) shaxsini tasdiqlash jarayoni. Vebsaytlar internetga ulangan istalgan odamga ochiq bo'lishi mumkin. Shu sabab mustahkam autentifikatsiya mexanizmlari samarali veb-xavfsizlikning ajralmas qismidir.
Autentifikatsiyaning uchta asosiy turi bor:
Autentifikatsiya mexanizmlari bu omillarning bir yoki bir nechtasini tekshirish uchun turli texnologiyalarga tayanadi.
Autentifikatsiya — foydalanuvchi o'zi da'vo qilgan shaxs ekanini tasdiqlash jarayoni. Avtorizatsiya esa — foydalanuvchiga biror ishni bajarishga ruxsat bor-yo'qligini tekshirish.
Masalan, autentifikatsiya Carlos123 username bilan saytga kirmoqchi bo'lgan odam haqiqatan ham shu hisobni yaratgan odammi yoki yo'qmi, shuni aniqlaydi.
Carlos123 autentifikatsiyadan o'tgach, uning ruxsatlari nimaga avtorizatsiya qilinganini belgilaydi. Masalan, u boshqa foydalanuvchilar haqidagi shaxsiy ma'lumotga kirishga yoki boshqa foydalanuvchi hisobini o'chirish kabi amallarni bajarishga ruxsatli bo'lishi mumkin.
Autentifikatsiya mexanizmlaridagi ko'pchilik zaifliklar ikki yo'ldan biri bilan yuzaga keladi:
Veb-dasturlashning ko'p sohalarida mantiqiy xatolar saytni kutilmagan tarzda ishlashiga olib keladi — bu xavfsizlik muammosi bo'lishi ham, bo'lmasligi ham mumkin. Biroq autentifikatsiya xavfsizlik uchun juda muhim bo'lgani sabab, buzuq autentifikatsiya mantig'i saytni xavfsizlik muammolariga duchor qilishi katta ehtimol.
Autentifikatsiya zaifliklarining ta'siri jiddiy bo'lishi mumkin. Agar hujumchi autentifikatsiyani chetlab o'tsa yoki boshqa foydalanuvchi hisobiga brute-force bilan kirib olsa, u buzilgan hisobga tegishli barcha ma'lumot va funksiyalarga ega bo'ladi. Agar ular tizim administratori kabi yuqori imtiyozli hisobni buzsa, butun ilova ustidan to'liq nazoratni qo'lga kiritishi va hatto ichki infratuzilmaga kirishi mumkin.
Hatto past imtiyozli hisobni buzish ham hujumchiga ko'rmasligi kerak bo'lgan ma'lumotga (masalan tijoriy maxfiy biznes ma'lumotiga) kirish berishi mumkin. Hisob hech qanday maxfiy ma'lumotga ega bo'lmasa ham, u hujumchiga qo'shimcha sahifalarga kirish imkonini berib, yangi hujum yuzasini ochishi mumkin. Ko'pincha yuqori darajadagi hujumlar ochiq sahifalardan mumkin bo'lmaydi, lekin ichki sahifadan mumkin bo'ladi.
Vebsaytning autentifikatsiya tizimi odatda bir necha alohida mexanizmdan iborat bo'lib, ularning har birida zaifliklar bo'lishi mumkin. Ba'zi zaifliklar barcha kontekstlarda uchraydi, boshqalari esa berilgan funksiyaga xosroq bo'ladi.
Biz quyidagi sohalardagi eng keng tarqalgan zaifliklarni batafsil ko'rib chiqamiz:
Ba'zi laboratoriyalar sizdan username'larni aniqlash (enumerate) va parollarni brute-force qilishni talab qiladi. Bu jarayonda yordam berish uchun laboratoriyalarni yechishda foydalanadigan nomzod username va parollarning qisqa ro'yxati beriladi.
Agar autentifikatsiya mexanizmlarini buzishni yoqtirsangiz va asosiy autentifikatsiya bo'limini tugatgan bo'lsangiz, OAuth autentifikatsiyasi laboratoriyalarini sinab ko'rishingiz mumkin.
Biz vebsaytlar autentifikatsiyani qanday joriy qilishiga qarab qanday zaif bo'lishi mumkinligini bir necha yo'l bilan ko'rsatdik. O'z saytlaringizda bunday hujumlar xavfini kamaytirish uchun doim amal qilishingiz kerak bo'lgan bir nechta tamoyil bor.