Printsiplar, siyosatlar va himoya Dasturiy ta'minot xavfsizligi


Xotiraning amaliy xavfsizligi



Download 3,9 Mb.
Pdf ko'rish
bet17/55
Sana07.04.2022
Hajmi3,9 Mb.
#534884
1   ...   13   14   15   16   17   18   19   20   ...   55
Bog'liq
1. M.Payer. Software Security

4.2.4 Xotiraning amaliy xavfsizligi
4.2.3 Xotira xavfsizligi ta'rifi
1 ta
belgi
*c = malloc(26); 2
belgi
*d = c; 3 bepul(d); 4 //
buzilish, chunki c endi haqiqiy
ob'ektga ishora qilmaydi
5 c[23] =
'A';
36
4 Xotira va tur xavfsizligi
Machine Translated by Google


mumkin emas. Ish vaqti tizimiga ma'lumotlarni aniq bo'shatish va
qaytarishning hech qanday usuli yo'q, xotira axlat yig'ish orqali
bilvosita qayta tiklanadi. Ish vaqti tizimi qo'shimcha tekshiruvlar
(masalan, chegaralarni tekshirish) orqali xotirani kuchaytiradi va
foydalanilmagan xotirani passiv ravishda qayta tiklash uchun axlat yig'uvchini eskiradi.
Shuni esda tutingki, Java aniq turdagi xavfsizlik tekshiruvlari bilan turdagi xavfsizligini
ham ta'minlaydi.
37
4 Xotira va tur xavfsizligi
Rust uchun qattiq turdagi tizim va egalik xotira va turdagi xavfsizlikni amalga
oshiradi. Ma'lumotnomalar o'zgaruvchilar bilan bog'langan va aniq egalik
ma'lumotlar poygasidan himoya qiladi: bitta o'zgaruvchan havola yoki nol yoki
ko'proq o'zgarmas havolalar. O'zgaruvchilar doiradan chiqib ketganda xotira
qayta tiklanadi. Qizig'i shundaki, ushbu kafolatlarning ko'pchiligi kompilyator
tomonidan amalga oshirilishi mumkin, bu esa nol xarajat abstraktsiyalariga olib
keladi.
C/ C++ uchun xotira xavfsizligiga erishishning ikkita yondashuvi mavjud: yo
dialekt yaratish orqali xavfli xususiyatlarni olib tashlash yoki asboblar yordamida
xavfli xususiyatlardan foydalanishni himoya qilish.
Dialektlar C/C++ tilini xavfsiz ko'rsatkichlar bilan kengaytiradi va tarqalishning
qat'iy qoidalarini qo'llaydi. Cyclone [12] C dasturlash tilini ko'rsatgich arifmetikasini
cheklash, NULL tekshiruvlarini qo'shish, yig'ish uchun axlat yig'ish va stek uchun
mintaqaning ishlash muddatini (Rustning ishlash muddati uchun ilhomlantiruvchi
manbalardan biri), konversiyalarni cheklash uchun teglangan birlashmalardan
foydalanish orqali xavfsiz kichik to'plam bilan cheklaydi. ko'rsatkichlarni bo'lish
Haskell yoki OCaml kabi tizim bo'lmagan funktsional tillar xotira buzilishiga
e'tibor bermaydilar, chunki ular havolalar tushunchasini talab qilmaydi, balki
ma'lumotlar va boshqaruvni boshqa shakllarda uzatadi. Tilga asoslangan
xavfsizlik bo'yicha qisqacha muhokama uchun 6.2-bo'limga qarang.
Machine Translated by Google


Xavfli xususiyatlardan foydalanishni himoya qilish uchun barcha jonli
ob'ektlar va ko'rsatkichlarni kuzatib borish, har bir ko'rsatkich bilan
chegaralarni va har bir xotira ob'ekti bilan jonlilikni bog'lash uchun ish
vaqti tizimi kerak . Har bir ko'rsatkichni yo'qotish uchun chegaralar va
jonlilik tekshiruvi xotiraga kirishning haqiqiyligini ta'minlaydi. Ko'rsatgichni
tayinlash uchun ko'rsatgich tayinlangan havola chegaralarini meros qilib oladi.
uch sinf normal, hech qachon NULL, yog'li ko'rsatgichlar va o'rnini bosuvchi
setjmp (setjmp maxsus holatlarni ko'rib chiqishning arxaik shaklini
ta'minlaydi, ishlab chiquvchiga qaytish nuqtasini yozib, so'ngra talab
bo'yicha o'sha nuqtaga o'tish imkonini beradi) istisnolar va polimor fizma
bilan . Siklon ham fazoviy, ham vaqtinchalik xotira xavfsizligini ta'minlaydi.
CCured [23] shunga o'xshash g'oyaga amal qiladi va markerni belgilash
va ko'rsatgichni kuzatish xarajatlarini kamaytirish uchun ko'rsatgichni
xulosa qilish tizimini joriy qiladi. Xuddi shunday, C++ 1X kabi zamonaviy
C++ variantlari ishlash muddatini kuzatish uchun maÿlumotnomalar va
xotira obÿyektlari uchun qatÿiy egalikdan foydalanadigan xotira xavfsiz
kichik toÿplamini qoÿllab-quvvatlaydi . Faqat xavfsiz kichik to'plamlardan
foydalanilganda, C++ xotira (va turi) xavfsiz bo'lishi mumkin.
4 Xotira va tur xavfsizligi
38
SoftBound [21] C/C++ uchun fazoviy xotira xavfsizligini taÿminlash uchun
kompilyatorga asoslangan asbobdir . Umumiy g'oya barcha ko'rsatkichlar
haqidagi ma'lumotlarni ko'rsatgichning joylashuvi bo'yicha indekslangan
ajratilgan metama'lumotlarda saqlashdir. Yondashuvning salbiy tomoni
SPEC CPU2006 uchun 67% ni tashkil etadi.
Machine Translated by Google


Kod misoli SoftBound uchun asboblarni ko'rsatadi.
CETS [22], SoftBound uchun kengaytma, temporalni amalga oshiradi
Ko'rsatkich o'qish yoki yozish uchun bekor qilinganda ,
chegaralar tekshiriladi.
1

Download 3,9 Mb.

Do'stlaringiz bilan baham:
1   ...   13   14   15   16   17   18   19   20   ...   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