rasman tasvirlangan va murakkab bog'liqliklarni aniqlash uchun
tahlilchi talab qiladi .
Kirish formatini bilish uchun ortogonal ravishda fuzzer dastur
tuzilmasidan xabardor bo'lishi mumkin. Whitebox fuzzing
dasturni
tahlil qilish orqali dastur tuzilmasi haqidagi bilimlarni aniqlaydi
yoki har bir sinovdan o'tgan dastur uchun moslashtirilgan fuzzing
uchun
tahlilchiga tayanadi, bu esa noaniq xarajatlarga olib keladi.
Blackbox fuzzing ko'r-ko'rona aks ettirmasdan yangi kirishni hosil
qiladi , bu esa fuzzerning rivojlanishini keskin cheklaydi. Greybox
fuzzing , tahlil va testni birlashtirib, fuzzing kampaniyasi davomida
qamrovni aniqlash uchun dastur tahlili o'rniga dastur asboblaridan
foydalanadi.
Zamonaviy fuzzing juda optimallashtirilgan va samaradorlikka qaratilgan,
Mutatsiyaga asoslangan ma'lumotni yaratish uchun
dasturda haqiqiy
funksionallikni ishga tushiradigan va keyin bu urug'larni o'zgartirish uchun
tasodifiy mutatsiyani qo'llaydigan bir qator urug'lik kiritishlari talab qilinadi .
To'g'ri kiritilgan ma'lumotlar to'plamini taqdim etish kirish formatini rasmiy
belgilashdan ko'ra ancha oson . Keyin kirish mutatsiyasi jarayoni qiziqarli
xatti-harakatlarni boshlash uchun ushbu kirish urug'larini doimiy ravishda o'zgartiradi.
qamrab olish.
72
6 Mudofaa strategiyasi
Qoplama bo'yicha boshqariladigan greybox fuzzing mutatsiyaga
asoslangan kirish ishlab chiqarishni dastur asboblari bilan birlashtiradi
va mutatsiyaga uchragan kirish har safar yangi qamrovga yetganini
aniqlash uchun. Dastur asboblari kodning qaysi
sohalari bajarilishini
va qamrov profili ma'lum kirishlar bilan bog'langanligini kuzatib
boradi. Har safar kirish mutatsiyasi yangi qoplamani yaratsa, u
mutatsiya uchun kirishlar to'plamiga qo'shiladi. Ushbu yondashuv
arzon asbob-uskunalar tufayli juda samarali, ammo baribir keng dasturga olib keladi
Machine Translated by Google
Sinov holatlarini yaratgandan so'ng, ular qachon xato paydo bo'lishini
kuzatish uchun boshqariladigan muhitda bajarilishi kerak. Amalga oshirish
mexanizmi ishlab chiqarilgan ma'lumotni oladi, sinovdan o'tgan dasturni
bajaradi, qamrov kabi ish vaqti ma'lumotlarini chiqaradi va buzilishlarni
aniqlaydi. Ideal holda, dastur biron bir xato yuzaga kelganda tugatiladi.
Misol uchun, xarita qilinmagan xotira sahifasida noqonuniy ko'rsatkichni
bekor qilish dasturni tugatadigan segmentatsiya xatosiga olib keladi va
bajaruvchi vositaga nuqsonni aniqlash imkonini beradi. Afsuski, xavfsizlik
buzilishining faqat kichik qismi dasturning ishdan chiqishiga olib keladi.
Buferning qo'shni xotira joylariga to'lib ketishi, masalan, agar qayta yozilgan
ma'lumotlardan foydalanish kerak bo'lsa yoki umuman aniqlanmasa,
keyinroq aniqlanishi mumkin. Tugatish jarayonining ushbu komponenti
uchun muammo siyosat buzilishini samarali aniqlash imkonini berishdir.
Masalan, asbob-uskunalarsiz faqat xaritalanmagan xotiraga ko'rsatgichning
noqonuniy
murojaatlari, bajarilmaydigan xotiraga boshqaruv oqimini
o'tkazish, nolga bo'linish yoki shunga o'xshash istisnolar xatoni keltirib
chiqaradi.
vaqt ichida topilgan xatolar soni bilan o'lchanadi. Ba'zida noaniqlik
samaradorligi bir vaqtning o'zida topilgan nosozliklar soni sifatida
umumlashtiriladi, ammo bu muammolarga olib kelishi mumkin, chunki
buzilishlar noyob bo'lmasligi mumkin va ko'plab nosozliklar bir xil xatoga ishora qiladi.
6 Mudofaa strategiyasi
73
Do'stlaringiz bilan baham: