3.2.3. Parolga qarshi hujum tizimlari
Faraz qilaylik, buzg’unchi tashqarida joylashgan (begona) va biror bir
tizimdan foydalanish huquqiga ega emas. Bu holda buzg’unchining umumiy hujum
yo’li quyidagicha bo’ladi:
begona
normal foydalanuvchi
ma’mur.
90
Boshqacha aytganda, buzg’unchi dastlab ixtiyoriy akkauntga kirish usulini
qidiradi va keyin imtiyoz darajasini oshirishga harakat qiladi. Mazkur ssenariyda,
tizimdagi birgina yoki butun tarmoqdagi birgina zaif parol hujumning birinchi
bosqichini muvaffaqqiyatli amalga oshirilishi uchun yetarli bo’lishi mumkin.
Buning xavfli tomoni zaif parollarning soni juda ham ko’p bo’lishi mumkinligidir.
Bundan tashqari, parolni buzishga urinish holati aniqlanganda unga to’g’ri
javob berish ham muhim jarayon hisoblanadi. Masalan, tizim uch marta
muvaffaqiyatsiz urinishdan so’ng akkauntni bloklaydi. Agar shunday bo’lsa, tizim
qancha vaqt bloklanishi kerak? Besh soniya? Besh daqiqa yoki ma’mur tomonidan
to’g’rilanmagunchami? Besh soniya avtomatik amalga oshirilgan hujumlarni
aniqlash uchun yetarli emas. Ya’ni, buzg’unchi bir akkauntni uch marta noto’g’ri
parolni terib bloklaydi va shundan so’ng bu ishni yana bir necha akkauntlar uchun
amalga oshiradi va bu orada 5 soniya o’tib bo’ladi. Buzg’unchi yana ushbu
akkauntni buzishga harakat qiladi va bu istalgancha davom etishi mumkin. Agar
tizimni bloklash 5 daqiqa davomida amalga oshirilsa, u holda tizimni
foydalanuvchanlik darajasini tushirishga sababchi bo’ladi va buzg’unchi barcha
uchun foydalanuvchanlikni yo’qolishiga sababchi bo’ladi. Mazkur holda to’g’ri
javobni topish juda murakkab hisoblanadi.
3.2.4. Parollarni saqlash va o’zaro taqqoslash
Parolga asoslangan autentifikasiyalashda kiritilgan parolni to’g’riligini
tekshirish muhim ahamiyatga ega. Kompyuter parolni to’g’riligini tekshirish uchun,
parolga taqqoslanuvchi biror bir narsa bo’lishi kerak. Ya’ni, kompyuter kiritilgan
parolni to’g’riligini tekshirish uchun uni biror ko’rinishda boshqarishi kerak bo’ladi.
Parollarni haqiqiy holatda fayllarda saqlashda bu parollar fayllari buzg’unchining
hujum obyektiga aylanib qoladi. Bu muammoni axborot xavfsizligining ko’plab
sohalarida bo’lgani kabi, kriptografik himoya asosida yechiladi.
Parollarni fayllarda simmetrik kriptotizim yordamida shifrlangan holatda
saqlanganda parolni tekshirish uchun faylni deshifrlash lozim. Deshifrlash kaliti
boshqa bir faylda saqlanishi zarur. Bu esa buzg’unchiga kalitlar fayllarini o’g’irlash
91
imkonini yaratadi. Ya’ni, parollarni shifrlangan holatda saqlash ham xavfsizlikni
ta’minlab bera olmaydi.
Parollarni faylda shifrlangan ko’rinishda saqlash o’rniga parolni xeshlangan
qiymatini saqlash ancha xavfsiz usul hisoblanadi. Masalan, Alisaning paroli
Fsa7Yago
ga teng bo’lsa, faylda
𝑦𝑦
=
ℎ
(
𝐹𝐹𝑆𝑆𝑎𝑎
7
𝑌𝑌𝑎𝑎𝑎𝑎𝑒𝑒
)
saqlanadi. Bu yerda
ℎ
-
kriptografik xesh funksiya. Shundan so’ng, tizim Alisadan parol
𝑥𝑥
ni kiritishni talab
etsa, parol dastlab xeshlanadi va
𝑦𝑦
bilan taqqoslanadi. Ya’ni, agar
𝑦𝑦
=
ℎ
(
𝑥𝑥
)
bo’lsa,
kiritilgan parol to’g’ri deb topiladi va Alisa autentifikasiyadan o’tkaziladi [13].
Parollarni xeshlab saqlaganda buzg’unchi parollar faylini qo’lga kiritganda
ham, haqiqiy parolni aniqlash imkonini pasaytirishga harakat qilish muhim
hisoblanadi. Xesh funksiyalarga qo’yilgan bir tomonlamalik xususiyatiga ko’ra,
xesh qiymatdan haqiqiy parolni topib bo’lmaydi. Albatta, buzg’unchi ixtiyoriy
parolning xesh qiymatini taqqoslash orqali parolni aniqlashi mumkin (faraz bo’yicha
hujum yoki parolni barcha variantlarini ko’rib chiqish hujumi). Biroq, buzg’unchi
zarur bo’lgan parolni aniqlashi uchun qo’shimcha vaqt va zarur hisoblash amallarini
bajarishi kerak bo’ladi [13].
Faraz qilaylik, buzg’unchida
𝑁𝑁
ta eng keng foydalanilgan parollar,
𝑑𝑑
0
,
𝑑𝑑
1
,
𝑑𝑑
2
, … ,
𝑑𝑑
𝑁𝑁−1
, saqlangan lug’atdan har bir parolni xeshlab:
𝑦𝑦
0
=
ℎ
(
𝑑𝑑
0
),
𝑦𝑦
1
=
ℎ
(
𝑑𝑑
1
), … ,
𝑦𝑦
𝑁𝑁−1
=
ℎ
(
𝑑𝑑
𝑁𝑁−1
)
va
(
𝑑𝑑
0
,
𝑦𝑦
0
)
juftlik ko’rinishidagi yangi lug’atni hosil
qiladi. Shundan so’ng, agar buzg’unchi biror xesh qiymat ko’rinishidagi parolni
“qayta tiklash” uchun uni
𝑁𝑁
ta xesh qiymat bilan taqqoslaydi. Agar moslik aniqlansa,
u holda parolni haqiqiy qiymati topilgan bo’ladi. Buzg’unchi hosil qilgan yangi
lug’ati asosida ixtiyoriy parollar faylini buzishlari mumkin.
(
𝑑𝑑
0
,
𝑦𝑦
0
)
ko’rinishdagi
ko’plab bepul yoki pullik lug’atlarni Internet tarmog’ida topish mumkin. Bu esa,
mavjud bo’lgan
(
𝑑𝑑
0
,
𝑦𝑦
0
)
ko’rinishdagi lug’at ayrim parollarni aniqlashda
foydalanilishi mumkinligini anglatadi.
Bunday hujumlarni oldini olish yoki buzg’unchi ishini yanada
murakkablashtirish uchun parolga maxfiy bo’lgan kattalikni (
“tuz”, salt
– deb
ataladi) qo’shib, keyin xeshlash tavsiya etiladi. Ya’ni,
𝑦𝑦
=
ℎ
(
𝑆𝑆
,
𝑠𝑠
)
ko’rinishida. Bu
92
yerda,
𝑆𝑆
– parol bo’lsa,
𝑠𝑠
– “tuz”. Bu kattalik, simmetrik blokli shifrlashning
𝐶𝐶𝐵𝐵𝐶𝐶
rejimidagi
𝐿𝐿𝐼𝐼
kattalik hisoblanadi.
𝐿𝐿𝐼𝐼
kattalik bir xil ochiq matnni turlicha
shifrmatnlar ko’rinishida shifrlash uchun foydalanilgan bo’lsa,
𝑠𝑠𝑎𝑎𝑒𝑒𝑆𝑆
har bir parolni
turli xesh qiymatlar ko’rinishida ifodalash uchun ishlatiladi. “Tuz” parollar faylidagi
har bir fayl uchun turlicha bo’ladi [13]. Bu usulning mohiyatini quyida ko’ramiz.
Faraz qilaylik,
𝑆𝑆
yangi kiritilgan parol bo’lsin. Dastlab tasodifiy
𝑠𝑠𝑎𝑎𝑒𝑒𝑆𝑆
,
𝑠𝑠
generasiya qilinadi va
𝑦𝑦
=
ℎ
(
𝑆𝑆
,
𝑠𝑠
)
hisoblanadi hamda parollar faylida
(
𝑠𝑠
,
𝑦𝑦
)
shaklida saqlanadi. Foydalanilgan
𝑠𝑠
qiymat maxfiy emas va shuning uchun u
parollar faylida ochiq ko’rinishda saqlanadi. Kiritilgan parol
𝑥𝑥
ni tekshirish uchun,
buzg’unchi parollar faylidan
(
𝑠𝑠
,
𝑦𝑦
)
ni oladi. Shundan so’ng, buzg’unchi
ℎ
(
𝑥𝑥
,
𝑠𝑠
)
ni
hisoblaydi hamda uni
𝑦𝑦
bilan taqqoslaydi. Bu holda taqqoslash
𝑠𝑠𝑎𝑎𝑒𝑒𝑆𝑆
ishlatilmagani
kabi, bir xil amalga oshiriladi. Biroq, buzg’unchiga murakkablik tug’iladi. Ya’ni, u
kerakli parolni olish uchun juda ko’p hisoblashlarni amalga oshirishi talab etiladi.
Faraz qilaylik, A tomonning paroli “tuz”,
𝑠𝑠
𝑎𝑎
bilan birgalikda xeshlangan, B
tomoning paroli esa
𝑠𝑠
𝑏𝑏
bilan birgalikda xeshlangan. Mazkur holda, buzg’unchi A
tomonning parolini o’zidagi parollar lug’ati asosida tekshirishi uchun lug’atidagi
barcha parollarga
𝑠𝑠
𝑎𝑎
ni biriktirib xeshlashi talab etiladi. Biroq, B tomoning parolini
tekshirish uchun esa o’zidagi barcha parollarga
𝑠𝑠
𝑏𝑏
ni biriktirib xeshlashi talab etiladi.
𝑁𝑁
ta foydalanuvchidan iborat parollar fayli uchun buzg’unchining ishi
𝑁𝑁
faktorialga
ko’payadi. Bundan tashqari, bu holda buzg’unchi o’zi uchun yaratgan
(
𝑑𝑑
0
,
𝑦𝑦
0
)
shaklidagi parollar lug’ati ham foydasiz bo’ladi.
Dostları ilə paylaş: |