7.2. Dasturiy vosita xavfsizligining fundamental prinsiplari
Dasturiy ta’minot yaratilganida va foydalanilganida qator prinsiplarga amal
qilish talab qilinadi. Quyida OWASP tashkiloti tomonidan taqdim etilgan prinsiplar
keltirilgan:
Hujumga uchrashi mumkin bo‘lgan soha maydonini minimallashtirish.
Dasturiy ta’minotga qo‘shilgan har bir xususiyat dasturga ma’lum miqdordagi xavf
darajasini ham qo‘shadi. Dasturni xavfsiz amalga oshirishning maqsadi – hujumga
uchrashi mumkin bo‘lgan sohani toraytirish orqali umumiy dasturdagi xavfni
kamaytirish. Masalan, web saytlarda onlayn yordamini amalga oshirish uchun
qidirish funksiyasi mavjud. Biroq, ushbu imkoniyat web saytga SQL – inyeksiya
hujumi bo‘lishi ehtimolini keltirib chiqarishi mumkin. Qidiruv imkoniyati
autentifikatsiyadan o‘tgan foydalanuvchilar uchun bo‘lsa, hujum bo‘lishi ehtimoli
kamayadi. Agar qidiruv ma’lumotlari markazlashgan tarzda tekshirilsa, ushbu
hujum ehtimoli yanada kamayadi.
Xavfsiz standart sozlanmalarini o‘rnatish. Amalda, aksariyat dasturiy
ta’minotlarda va operatsion tizimlarda ko‘plab xavfsizlik sozlanmalari standart
tartibda o‘rnatilgan bo‘ladi. Biroq, bu foydalanuvchilar tomonidan yaxshi qabul
qilinmaydi va shuning uchun, aksariyat hollarda, ushbu sozlanmalarni o‘chirib
qo‘yish amalga oshiriladi. Masalan, operatsion tizimlarda parollarni eskirish vaqti
standart holda o‘rnatilgan bo‘lsada, aksariyat foydalanuvchilar tomonidan ushbu
sozlanma o‘chirib qo‘yiladi.
Minimal imtiyozlar prinsipi. Axborot xavfsizligi, informatika, dasturlash va
boshqa sohalarda keng qo‘llaniluvchi minimal imtiyozlar prinsipi (Principle of
least privilege) – hisoblash muhitidagi u yoki bu abstraksiya darajasida resurslarga
murojaatni tashkil qilish. Bunga ko‘ra har bir modul o‘z vazifasini to‘laqonli
bajarishi uchun zarur bo‘lgan resurs yoki axborotdan minimal darajada foydalanish
talab etiladi.
Bu prinsip foydalanuvchi yoki dasturchiga faqat o‘z vazifasi uchun zarur
bo‘lgan imtiyozlarga ega bo‘lishi kerakligini anglatadi. Masalan, vaqt o‘tkazish
uchun ishlab chiqilgan turli mobil o‘yin dasturlari SMS xabarni o‘qish yoki
qo‘ng‘iroq qiluvchilar ro‘yxatini bilish imkoniyatiga ega bo‘lishi shart emas.
Masalan, dasturlash tillarida (Java dasturlash tilida keltirilgan) obyektlardan
foydanishni cheklash uchun turli kalit so‘zlardan foydalaniladi (7.2-jadval).
7.2-jadval
Teran himoya prinsipi. Ushbu prinsipga binoan, bitta nazoratning bo‘lishi
yaxshi, ko‘plab nazoratlardan foydalanish esa yaxshiroq deb qaraladi. Teran
himoyada foydalanilgan nazoratlar turli zaiflik orqali bo‘lishi mumkin bo‘lgan
tahdidlarni oldini oladi. Xavfsiz dastur yozish orqali esa, foydalanish qiymatini
tekshirish, markazlashgan auditni boshqarish va foydaluvchilarning barcha
sahifalardan foydalanishlari ta’minlanishi mumkin.
Agar to‘g‘ri ishlab chiqilgan ma’mur interfeysi, tarmoqdan foydalanish
qoidalarini to‘g‘ri bajarsa, foydalanuvchilarning avtorizatsiyasini tekshirsa va
barcha holatlarni qaydlasa, u anonim hujumga bardoshsiz bo‘lishi mumkin emas.
Xavfsizlikning buzilishi. Ilovalar, amalga oshirilishi jarayonida turli
sabablarga ko‘ra, buzilishlarga uchraydi. Masalan, quyida e’tiborsizlik oqibatida
qoldirilgan xavfsizlik holati keltirilgan.
Mazkur holda codeWhichMayFail() yoki isUserInRole() funksiyalarida
xatolik bo‘lsa yoki biror Exception kuzatilgan taqdirda ham foydalanuvchi ma’mur
rolida qolaveradi. Bu ko‘rinib turgan xavfsizlik riski hisoblanadi.
Xizmatlarga ishonmaslik
. Hozirgi kunda ko‘plab tashkilotlar uchinchi
tomon, sheriklarining hisoblash imkoniyatidan foydalanadi. Masalan, Payme yoki
shunga o‘xshash ilovalar bir necha bank kartalaridagi ma’lumotlarni taqdim qiladi.
Vazifalarni ajratish
. Firibgarlikni oldini olishga qaratilgan asosiy chora –
vazifalarni ajratish. Masalan, tashkilotda kompyuter olish bo‘yicha talab yuborgan
odam tomonidan uni qabul qilinmasligi shart. Sababi, bu holda u ko‘plab
kompyuterlarni so‘rashi va qabul qilib olganini rad qilishi mumkin.
Xavfsizlikni noaniqlikdan saqlash
. Noaniqlikka asoslangan xavfsiz – zaif
xavfsizlik bo‘lib, birinchi nazoratning o‘zida xatolikka uchraydi. Bu biror sirni
saqlash yomon g‘oya ekanligini anglatmasada, xavfsizlikning muhim jihatlari
tafsilotlarining yashirin bo‘lishiga asoslanmasligini bildiradi.
Xavfsizlikni soddaligi
. Hujumga uchrash soha maydoni va soddalik bir-
biriga bog‘liq. Ba’zi dasturiy ta’minot muhandislari kodning sodda ko‘rinishidan
ko‘ra murakkabligini afzal ko‘radilar. Biroq, sodda va tushunishga oson ko‘rinish
tezkor bo‘lishi mumkin. Shuning uchun, dasturiy ta’minotni yaratish jarayonida
murakkablikdan qochishga harakat qilish zarur.
Dasturiy mahsulotlarga qo‘yiladigan talablar uch turga bo‘linadi:
- vazifaviy talablar:
tizim amalga oshirilishida kerak bo‘lgan vazifalar. - novazifaviy talablar:
tizimning xususiyatlariga qo‘yilgan talablar.
Vazifaviy talablar
. Bu talablar quyidagilarni o‘z ichiga oladi:
- tizim kutgan kirishga qo‘yilgan talablar;
- tizimdan chiqqan natijaga qo‘yilgan talablar;
- kirish va chiqishga aloqador bo‘lgan talablar.
Novazifaviy talablarga
quyidagilar taalluqli:
- audit qilish imkoniyati;
- kengaytirish mumkinligi;
- foydalanishga qulayligi;
- bajarilishi;
- ixchamligi;
- ishonchliligi;
- xavfsizligi;
- testlash imkoniyati;
- foydalanuvchanligi va h.
Dasturlash tiliga asoslangan xavfsizlik
. Turli dasturlash tillari o‘ziga xos
imkoniyatlarga ega, dasturlash sathida xavfsizlikni taminlash muhim ahamiyat
kasb etadi. Mavjud dasturlash tillarini xavfsiz yoki xavfsiz emas turlariga ajratish
nisbiy tushuncha bo‘lib, ularni quyidagicha tasvirlash mumkin (7.5-rasm).
|