Oʻzbekiston respublikasi oliy va oʻrta-maxsus ta‟lim vazirligi samarqand davlat universiteti ximmatov ibodilla, abduraxmanov muxtor



Download 6,13 Mb.
Pdf ko'rish
bet148/170
Sana25.10.2022
Hajmi6,13 Mb.
#856169
1   ...   144   145   146   147   148   149   150   151   ...   170
Bog'liq
e8c4cf93f29e87a66f8031109e51623c AXBOROTNI HIMOYALASH

Stackni avariyaga uchratish

Stackni avariyaga uchrash hodisasi asosan 
xotirani toʻlib toshishi natijasida kelib chiqadi. Bu turdagi tahdidda Tridi 
funksiyalarni chaqirilishi davomida stackni tekshiradi. Funksiyani chaqirish 
davomida stackdan foydalanish tartibi quyidagi kodda keltirilgan. 
void func(int a, int b) 

char buffer[10]; 
}
 
void main()
{
func(l,2); 
}
 
Qachonki 
func 
funksiyasi chaqirilganda funksiyaning parametrlari stack da 
itarib chiqariladi (3.7.4 – rasm). 
3.7.4 – rasm. Stackga misol 
Bu erda stack funksiyani bajarilishi davomida 
buffer 
massivini yaratish uchun 
foydalanilmoqda. Bundan tashqari stack funksiyani qaytaruvchi, funksiya bajarilib 
boʻlinganidan keyin oʻtishi kerak boʻlgan manzilini ham oʻzida saqlaydi. Rasmda 
koʻrsatilgani kabi 
buffer 
qaytuvchi manzildan (ret) dan yuqorida joylashgan, ya‘ni, 
qaytaruluvchi manzildan soʻng 
buffer 
stackda yuklanadi. Natijada, agar xotirani 
toʻlib toshishi yuzaga kelsa, u holda xotiraning 
ret 
sohasi qaytadan yoziladi. Bu 
tahdid natijasida olinishi mumkin boʻlgan, real natija. 
Agar Tridi tomonidan xotira toʻldirilsa va qaytaruvchi manzil tasodifiy bitlar 


197 
bilan toʻldirilsa, u holda dastur mavjud boʻlmagan manzilga sakraydi va tizim 
avriyaga uchraydi (3.7.5 – rasm). 
3.7.5 – rasm. Xotiraning toʻlib toshish muammosi 
Bu holda dastur ishini toʻxtatgandan Tridi xursand boʻlishi aniq. Agar Tridi 
yanada aqlliroq boʻlsa va buferni tasodifiy bitlar bilan emas, balki muhim xotira 
manzili bilan toʻldirsa va bu xotira manziliga biror zararli dastur boʻlsa, u holda 
jiddiyroq muammo boʻlishi aniq (3.7.6 – rasm). 
3.7.6 – rasm. Zararli kodni yuklash 
Bu holda Tridi quyidagi ikki muammoga duch kelishi mumkin. Birinchisi
Tridi zararkunanda dusturni xotiraning qaysi manziliga yozilganini bilmaydi. 
Ikkinchisi esa, stackda funksiyani qaytuvchi manzilini aniq bilmaydi. 
Quyidagi ikki sodda xiyla natijasida, xotirani toʻlib toshish jarayonini 
tezlashtirish mumkin. Birinchisi bu, zararkunanda dastur kodini xotira boʻshliqlari 
bilan (NOP) toʻldirish boʻlsa, ikkinchisi esa, istalgan takrorlanuvchi qaytuvchi 
manzilni qoʻyishdir (3.7.7 – rasm). 


198 
3.7.7 – rasm. Xotirani NOP bilan toʻldirish 
Bu tahdid odatda koʻplab, dasturiy mahsulot uchun kerakli boʻlgan
serial kalitlarni buzishda keng foydalaniladi. 

Download 6,13 Mb.

Do'stlaringiz bilan baham:
1   ...   144   145   146   147   148   149   150   151   ...   170




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish