Printsiplar, siyosatlar va himoya Dasturiy ta'minot xavfsizligi



Download 3,9 Mb.
Pdf ko'rish
bet46/55
Sana07.04.2022
Hajmi3,9 Mb.
#534884
1   ...   42   43   44   45   46   47   48   49   ...   55
Bog'liq
1. M.Payer. Software Security

6.4.3.3 Xavfsiz stek
92
xavfsiz soya stekini amalga oshirish uchun teng xavfsizlik. Rasm
Faqat xavfli ob'ektlarni tekshirishni amalga oshirish orqali past ishlash
ko'rsatkichlariga ega bo'lgan soya stacklarining xavfsizlik kafolatlariga erishing.
ob'ektlar. Bu xavfsiz bo'lmagan stek ramka ajratish kationlari
miqdorini kamaytiradi va shu bilan birga past unumdorlikka erishadi.
Xavfsiz steklar stekning yaxlitligining bir shakli bo'lib , soyali
steklarga nisbatan ishlash jazosini kamaytiradi. Soya to'plami
int r; r =
scanf (“%s”, buf);
ret manzili
}
r
qaytish r;
char buf[16];
buf
int foo() {
arifmetik va ob'ektga hech qanday havola tahlildan qochib qutula olmaydi
har doim har bir funktsiya chaqiruvi uchun ikkita ajratilgan stek freymlarini saqlaydi ,
bu esa qo'shimcha xarajatlarga olib keladi. Stack kanareykalar faqat agar qo'shiladi
agar mahalliy o'zgaruvchilarga havolalar joriy funktsiyadan chiqsa. Har qanday
scope) xavfsiz stack ramkasida qoling. Xavfli stek ramkalar
xavfsiz stack. Ixtiyoriy xavfli stek ramkasi xavfli tarzda kirish mumkin bo'lgan barcha
o'zgaruvchilarni o'z ichiga oladi . Kompilyatorga asoslangan
tahlil ob'ektlarda xavfli ko'rsatkich arifmetikasidan foydalanilganligini yoki yo'qligini aniqlaydi
faqat xavfsiz yo'llar bilan kirish mumkin bo'lgan ob'ektlar (ya'ni, g'alati ko'rsatgich yo'q
xavfli buferlar stek ramkasida. Xavfsiz steklarning maqsadi
Xavfsiz stack
Muntazam stack
Xavfsiz tarzda kirish mumkin bo'lgan barcha o'zgaruvchilar taqsimlanadi
faqat xavfli funktsiyani o'z ichiga olgan funksiya kiritilganda ajratiladi
Machine Translated by Google


6 Mudofaa strategiyasi
93
6.4.4 Xavfsiz istisnolardan foydalanish (SEH)
Dasturlar ko'pincha tartibsiz boshqaruv oqimini boshqaradi,
masalan, xato holatlari bir nechta funktsiya chaqiruvi ramkalari
bo'ylab ular qayta ishlanadigan joyga o'tkazilganda. C tartibsiz
boshqaruv oqimi uchun setjmp/longjmp va goto ga ruxsat bersa,
C++ tartibsiz boshqaruv oqimini boshqarish uchun yanada
oqlangan va tuzilgan variantni taqdim etadi: istisnolar. C-uslubidagi
xatolarni qayta ishlash boshqaruv oqimini muqobil joylarga
majburlash uchun qo'pol vositadir . Yuqori tartibsizlik va ulkan
moslashuvchanlik (asosan, bu dasturchining nazorati ostida bir
nechta kontekstlar va stek freymlari bo'ylab shartsiz o'tishdir )
kompilyatorning semantikasi haqida fikr yuritishni imkonsiz qiladi va xatolar uchun imkoniyatlar ochadi.
Istisnolar yuqori darajada tuzilgan va kompilyatorga nazorat oqimi
qachon va qanday o'tkazilishini kerakli shartlarni kodlash imkonini
beradi. Istisno-xavfsiz kod buzilgan sharoitlardan xavfsiz tarzda
tiklanishi mumkin. C bilan solishtirganda, boshqaruv-oqim
semantikasi dasturlash tilida aniq.
Machine Translated by Google


6 ...
2
3
5 }
10
11 }
4
Istisnolarni qayta ishlash uchun kod ishlab chiqaruvchisi
(kompilyator) va ish vaqti tizimi (libc yoki libc++) yordamini
talab qiladi. Istisnolar uchun dastur kompilyatorga xosdir
( LLVM uchun libunwind). Istisnolarni amalga oshirishda
ikkita turli xil ilovalar chiqadi: (a) stek freymidagi inline istisno
ma'lumotlari yoki (b) istisno o'rnatilganda foydalaniladigan
istisno jadvallarini yaratadi .
Inline istisnolarni qayta ishlash uchun kompilyator har bir funktsiya
kiritilganda istisnolarni qayd qiluvchi kod ishlab chiqaradi. Alohida
istisno freymlari stek freymlari bo'ylab bog'langan (bog'langan
ro'yxatga o'xshash) . Istisno o'rnatilganda, ish vaqti tizimi mos
keladigan ishlov beruvchini topish uchun istisno ramkalar zanjirini
kuzatadi . Ushbu yondashuv ixcham, lekin har bir funktsiya chaqiruvi
uchun qo'shimcha xarajatlarga olib keladi (chunki istisnolar haqida
metama'lumotlar ajratilishi kerak).
6 Mudofaa strategiyasi
Listing 6.5: C++ da istisnolardan foydalanish
94

Download 3,9 Mb.

Do'stlaringiz bilan baham:
1   ...   42   43   44   45   46   47   48   49   ...   55




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