Dasturlardagi xavfsizlik zaifliklarini aniqlash uchun quyidagi vositalar qo'llaniladi:
Dinamik tuzatuvchilar. Dastur ishlayotgan vaqtda disk raskadrovka qilish imkonini beruvchi vositalar.
Statik analizatorlar (statik tuzatuvchilar). Dasturni statik tahlil qilish jarayonida to'plangan ma'lumotlardan foydalanadigan asboblar.
Statik analizatorlar dasturda xatolik topilishi mumkin bo'lgan joylarni ko'rsatadi. Ushbu shubhali kod parchalari xatoni o'z ichiga olishi yoki butunlay zararsiz bo'lishi mumkin.
Ushbu maqolada bir nechta mavjud statik analizatorlar haqida umumiy ma'lumot berilgan. Keling, ularning har birini batafsil ko'rib chiqaylik.
1.BOON
Chuqur semantik tahlilga asoslangan vosita, bufer to'lib ketishiga olib kelishi mumkin bo'lgan zaifliklarni qidirishda C manba matnlarini skanerlash jarayonini avtomatlashtiradi. Ba'zi qiymatlar ma'lum bir bufer hajmiga ega bo'lgan yashirin turning bir qismi ekanligini taxmin qilish orqali mumkin bo'lgan nuqsonlarni aniqlaydi.
2.Sifat
C dasturlarida xatolarni topish uchun tahlil vositasi. Dastur C tilini qo'shimcha foydalanuvchi tomonidan belgilangan turdagi spetsifikatsiyalar bilan kengaytiradi. Dasturchi o'z dasturini tegishli spetsifikatsiyalar bilan izohlaydi va cqual xatolarni tekshiradi. Noto'g'ri izohlar mumkin bo'lgan xatolarni ko'rsatadi. Squal format qatoridagi potentsial zaifliklarni aniqlash uchun ishlatilishi mumkin.
3. MOPS
(Model checking Programs for Security) - bu C dasturlarida xavfsizlik zaifliklarini aniqlash vositasi. Uning maqsadi: C dasturining mos kelishini ta'minlash uchun dinamik sozlash statik model. MOPS dasturiy ta'minotni tekshirish modelidan dastur xavfsiz dasturiy ta'minotni yaratish uchun belgilangan qoidalar to'plamiga mos kelishini aniqlashga yordam beradi.
4.ITS4, RATS, PScan, Flawfinder
Quyidagi statik analizatorlar bufer to'lib ketish xatolarini va qator formatlash xatolarini topish uchun ishlatiladi:
. Aniqlash uchun C/C++ manba kodini statik ravishda skanerlaydigan oddiy vosita potentsial zaifliklar himoya qilish. U strcpy/memcpy kabi potentsial xavfli funksiyalarga qo‘ng‘iroqlarni belgilab beradi va bunday kod qanchalik xavfli ekanligini baholash uchun yuzaki semantik tahlilni amalga oshiradi va uni qanday yaxshilash bo‘yicha maslahatlar beradi.
. RATS (Xavfsizlik uchun Rough Auditing Tool) yordam dasturi C/C++ kodini qayta ishlaydi va Perl, PHP va Python skriptlarini ham qayta ishlashi mumkin. RATS potentsial xavfli funksiya chaqiruvlari uchun manba kodini skanerlaydi. Ushbu vositaning maqsadi xatolarni aniq topish emas, balki asosli xulosalar berishdir, buning asosida mutaxassis kodni tekshirishni qo'lda amalga oshirishi mumkin. RATS ITS4-dagi semantik tekshiruvlardan MOPS-dan olingan bufer to'lib ketish nuqsonlarini izlash uchun chuqur semantik tahlilgacha bo'lgan xavfsizlik mustahkamligini tekshirish kombinatsiyasidan foydalanadi.
. Printf-ga o'xshash funksiyalardan potentsial noto'g'ri foydalanish uchun C manba matnlarini skanerlaydi va format satrlarida zaifliklarni topadi.
. RATS kabi, u C/C++ da yozilgan dasturlar uchun statik manba kodi skaneridir. Eng koʻp notoʻgʻri foydalaniladigan funksiyalarni qidiradi, ularga xavf ballarini beradi (oʻtkazilgan parametrlar kabi maʼlumotlarga asoslanib) va potentsial zaifliklar roʻyxatini tuzib, ularni jiddiylik darajasiga koʻra saralaydi.
Ushbu vositalarning barchasi o'xshash va faqat leksik va oddiy tahlildan foydalanadi. Shu sababli, ushbu dasturlar tomonidan ishlab chiqarilgan natijalar 100% gacha yolg'on xabarlarni o'z ichiga olishi mumkin.