Teranhimoya prinsipi. Ushbu prinsipga ko’ra, 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, kirish qiymatini tekshirishni, markazlashgan auditni boshqarishni va foydaluvchilarni barcha sahifalarga kirishlarini talab qilishlari mumkin.
Agar noto’g’ri ishlab chiqilgan administrator interfeysi, tarmoqqa kirishni to’g’ri bajarsa, foydalanuvchilarni avtorizasiyasini tekshirsa va barcha holatlarni qayd qilsa, u anonim hujumga bardoshsiz bo’lishi mumkin emas.
Xavfsizliknibuzilishi.Ilovalar turli sabablarga ko’ra amalga oshirilish jarayonida buzilishlarga uchraydi. Masalan, quyida e’tiborsizlik natijasida qoldirilgan xavfsizlik holati keltirilgan.
isAdmin = true; try {
codeWhichMayFail();
isAdmin = isUserInRole( “Administrator” );
}
catch (Exception ex) { log.write(ex.toString());
}
Mazkur holda codeWhichMayFail() yoki isUserInRole() funksiyalarida xatolik bo’lsa yoki biror Exception kuzatilgan taqdirda ham foydalanuvchi admin rolida qolaveradi. Bu ko’rinib turgan xavfsizlik riski hisoblanadi.
Xizmatlarga ishonmaslik. Hozirgi kunda ko’plab tashkilotlar uchinchi tomon, sheriklarining hisoblash imkoniyatidan foydalanadi. Masalan, bir tashkilot o’z ma’lumotlarini o’z sherigi tomonidagi dasturiy ta’minot bilan qayta ishlashi mumkin. Bu holda ularga ishonish kafolatlanmaydi. Masalan, Payme yoki shunga o’xshash ilovalar bir nechta bank kartalaridagi ma’lumotlarni taqdim qiladi. Mazkur holda,
har bir bank foydalanuvchi tomonida o’z ma’lumotlarini to’g’ri akslantirilganini tekshirishi kerak bo’ladi.
Vazifalarni ajratish. Firibgarlikni oldini olishga qaratilgan asosiy chora bu – vazifalarni ajratishdir. Masalan, tashkilotda kompyuter uni olish bo’yicha talab yuborgan odam tomonidan qabul qilinmasligi shart. Sababi, bu holda u ko’plab kompyuterlarni so’rashi va qabul qilib olganini rad qilishi mumkin. Ba’zi holatlarda, bir rol uchun oddiy foydalanuvchilarga nisbatan ishonch darajasi turlicha bo’ladi. Masalan, administratorlar tizimni o’chirishi yoki yoqishi, parollar siyosatini o’rnata olishi kerak. Biroq, ular onlayn savdo do’koniga imtiyozga ega foydalanuvchi sifatida kira olmasligi, xususan, tovarlarni boshqalar nomidan sotib olish imkoniyatiga ega bo’lmasligi kerak.
Xavfsizlikni noaniqlikdan saqlash. Noaniqlikka asoslangan xavfsiz bu – zaif xavfsizlik bo’lib, birinchi nazoratning o’zida xatolikka uchraydi. Bu biror sirni saqlash yomon g’oya ekanligini anglatmasada, xavfsizlikning muhim jihatlari tavsilotlarni yashirin bo’lishiga asoslanmasligini bildiradi.
Masalan, dasturning xavfsizligi uni ochiq kodidan xabardor bo’linganda barbod bo’lmasligi kerak. Xavfsizlik ko’plab boshqa omillarga, masalan, parolning oqilona siyosatiga, tarmoq arxitekturasiga, auditni boshqarish vositalariga tayanishi kerak.
Bunga amaliy misol sifatida, Linux operasion tizimini keltirish mumkin. Ushbu operasion tizimning kodi ochiq hisoblansada, to’g’ri himoyalangan va shuning uchun, hozirgi kundagi mustahkam operasion tizimlardan biri hisoblanadi. Xavfsizliknisoddasaqlang.Hujumga uchrash soha maydoni va soddalik bir- biriga bog’liq. Ba’zi dasturiy ta’minot muhundislari kodni sodda ko’rinishidan ko’ra murakkablikni afzal ko’radilar. Biroq, sodda va tushunishga oson bo’lgan ko’rinish tezkor bo’lishi mumkin. Shuning uchun, dasturiy ta’minotni yaratish jarayonida
murakkablikdan qochishga harakat qilish zarur.