Printsiplar, siyosatlar va himoya Dasturiy ta'minot xavfsizligi


Boshqarish-oqimning yaxlitligi



Download 3,9 Mb.
Pdf ko'rish
bet49/55
Sana07.04.2022
Hajmi3,9 Mb.
#534884
1   ...   45   46   47   48   49   50   51   52   ...   55
Bog'liq
1. M.Payer. Software Security

6.4.6 Boshqarish-oqimning yaxlitligi
CFI statik, ko'pincha kompilyatsiya vaqti tahliliga tayanadi, bu
dasturning nazorat oqimi grafigini ko'rsatadi. Ushbu tahlil tuziladi
Format qatoridagi zaifliklarga qarshi turish uchun Microsoft oddiygina
%n modifikatorini bekor qildi. Bu o'zboshimchalik bilan yozishni
to'xtatadi, lekin baribir raqibga format satrining zaifliklari ostida xotira
tarkibini oqishiga imkon beradi. Linux uchun format satrlari uchun
qo'shimcha tekshiruv qo'shiladi: (i) bufer to'lib ketishini tekshiring
(ya'ni, faqat yaxshi elementlarga kirish mumkin), (ii) birinchi
argument faqat o'qish uchun mo'ljallangan maydonda ekanligini
tekshiring va (iii) tekshiring agar barcha argumentlar ishlatilsa. Linux
quyidagi funksiyalarni tekshiradi: mem{cpy,pcpy,move,set}, st{r,p,nc}
py, str{,n}cat, {,v}s{,n}printf. GCC/glibc fortify source patchi to'rt xil
holatni ajratib ko'rsatadi: (i) ma'lum to'g'ri - tekshirmang; (ii) to'g'ri
yoki yo'qligi ma'lum emas, lekin tekshirilishi mumkin, ya'ni kompilyator
maqsad uzunligini biladi - tekshiring; (iii) noto'g'ri ma'lum - kompilyator
ogohlantirishi va tekshirish; va (iv) to'g'ri yoki tekshirilmaganligi
noma'lum - tekshirish yo'q, toshib ketishlar aniqlanmasdan qolishi
mumkin .
97
6 Mudofaa strategiyasi
Machine Translated by Google


CHECK(fn);
(*fn)(x);
To'g'ridan-to'g'ri to'g'ridan-to'g'ri boshqarish oqimini uzatish ( C/C++
da funktsiya ko'rsatkichlari orqali qo'ng'iroqlar yoki C++ da virtual
jo'natish) hisobga olingan holda, ushbu nazorat oqimi o'tkazmalarining
haqiqiy maqsadlari nima? Ilovaning aniq nazorat-oqim grafigi ushbu
amaldagi barcha maqsadlarni sanab o'tadi, ammo aniq nazorat oqimi
grafigini yaratish boshqa nom tufayli qiyin , ya'ni statik tahlil orqali kod
ko'rsatgichining mumkin bo'lgan haqiqiy qiymatlarini chiqarish qiyin.
Eng yaxshi statik CFI tahlili kontekst va oqimga sezgir taxallus tahlili
asosida har bir joy uchun aniq maqsadlar to'plamini , potentsial
ravishda dinamik yo'l kuzatuvi bilan aniqlaydi [4].
har bir bilvosita, oldinga chekka, nazorat oqimini uzatish uchun joriy
maqsadlar to'plami. Masalan, void (*funcPtr)(int, int) tipidagi funktsiya
ko'rsatkichi faqat prototipga mos keladigan va manzil olingan
dasturdagi funksiyalarni ko'rsatishi mumkin . Ishlash vaqtida CFI
funktsiya ko'rsatkichining kuzatilgan qiymati statik ravishda aniqlangan
haqiqiy maqsadlar to'plamida ekanligini tekshirish uchun asboblardan
foydalanadi . 6.6-rasmda CFI tekshiruvi va maqsad to'plami (va
maqsadni kamaytirish) ko'rsatilgan.
Tahlilning murakkabligi tufayli mavjud CFI mexanizmlari
6 Mudofaa strategiyasi
Shakl 6.6: Boshqarish-oqimning yaxlitligi: ish vaqtida faqat yaroqli tar
olish (qora o'qlar)ga ruxsat beriladi, yaroqsiz maqsadlar
(qizil o'qlar) tugatishga olib keladi.
98
Machine Translated by Google


99
6 Mudofaa strategiyasi
har bir joylashuv asosida haqiqiy maqsadlar to'plamini aniqlash uchun
muqobil sxemalarga e'tibor qarating. Eng oddiy CFI tahlil sxemasi har
qanday bilvosita boshqaruv oqimini uzatish joyidan har qanday joriy
funktsiyani chaqirish mumkin bo'lgan haqiqiy funktsiyalar to'plamidan foydalanadi .
Boshqa, ko'proq jalb qilingan sxema argumentlar sonini hisoblaydi va
har bir hisob uchun bitta to'plam yaratadi, ya'ni argumentsiz barcha
funktsiyalar, 1 argumentli funktsiyalar, ikkita argumentli funktsiyalar va
hokazo. C CFI tahlilining hozirgi holati funktsiya prototipidan foydalanadi
va har bir funktsiya prototipi uchun bitta maqsadlar to'plamini yaratadi. C
uchun qaysi funksiyalar manzili olinganligini o'lchash orqali sxemani
yaxshilash mumkin. Funktsiya ko'rsatkichlaridagi ko'rsatgich arifmetikasi
aniqlanmaganligi sababli, faqat manzili olingan va funktsiya ko'rsatkichiga
tayinlangan funktsiyalardan foydalanish mumkin. C++ uchun bu sxema
sinf ierarxiyasi tahlili orqali takomillashtiriladi. Qo'ng'iroqlar sayti ma'lum
bir turdan foydalanadi va mavjud bo'lishi kerak bo'lgan sinf ierarxiyasini
hisobga olgan holda , ushbu qo'ng'iroq joyi uchun faqat ushbu tur va
meros zanjiridagi quyi turlarga ruxsat beriladi.
Machine Translated by Google


9

Download 3,9 Mb.

Do'stlaringiz bilan baham:
1   ...   45   46   47   48   49   50   51   52   ...   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