1-Labaratoreya ishi Mavzu: Dasturiy vositalarda xavfsizlik muammolarini aniqlash Ishdan maqsad



Yüklə 72,61 Kb.
səhifə2/4
tarix07.01.2024
ölçüsü72,61 Kb.
#205760
1   2   3   4
1-labaratoreya

Tizim

Dasturdagi kodlar uzunligi

Netscape

17 mil.

Space Shuttle

10 mil.

Linuxkernel 2.6.0

5 mil.

Windows XP

40 mil.

Mac OS X 10.4

86 mil.

Boeing 777

7 mil.

Tahlillar natijasi har 10 000 qator kodda 5 ta bag mavjudligini ko’rsatadi. Boshqacha qilib aytilganda, o’rtacha 3kbayt .exe faylda 50 taga yaqin bag bo’ladi. Dasturiy vositalar injineriyasida dasturni kafolatli o’z maqsadini bajarishiga harakat qilinsa, xavfsiz dasturiy vositalar injineriyasida esa o’z maqsadini bajarishi talab etiladi. Biroq, butunlay xavfsiz dasturiy vositani bo’lishi amalda mumkin emas.
Dasturiy mahsulotlarda xavfsizlik muammolari. Dasturiy mahsulotlarda quyidagi zaiflikka tegishli tushunchalar mavjud.
Nuqson. Dasturni amalga oshirishdagi va loyihalashdagi zaifliklarning barchasi nuqson hisoblanib, uning dasturiy vositalardagi mavjudligi yillar davomida bilinmasligi mumkin.
Bag. Bag dasturiy ta’minotni amalga oshirish bosqichiga tegishli bo’lgan muammo bo’lib, dasturiy vositalardagi baglarni oson aniqlash mumkin. Masalan, bagga dasturlashdagi buferni to’lib toshish (Buffer overflow) holatini misol keltirish mumkin.
Xotirani to’lib toshishi. Amalda ko’p uchraydigan dasturlash tillaridagi kamchiliklar odatda, taqiqlangan formatdagi yoki hajmdagi ma’lumotlar kiritilishi natijasida kelib chiqadi. Bu turdagi tahdidlar ichida keng tarqalgani bu – xotiraning to’lib toshish tahdidi hisoblanadi.
Masalan, veb saytda foydalanuvchidan ma’lumotlar kiritilishi talab etilsa (ismi, familiyasi, yili va hak.), foydalanuvchi tomonidan kiritilgan “ism” maydonidagi ma’lumot serverdagi 𝑁 ta belgi hajmiga ega sohaga yoziladi. Agar kiritilgan ma’lumot uzunligi 𝑁 dan katta bo’lgan holda, xotiraning to’lib toshishi hodisasi yuzaga keladi.
Agar buzg’unchi tomonidan “kerakli” ma’lumot kiritilsa, bu o’z navbatida kompyuterni buzulishiga olib keladi.
Quyida S dasturlash tilida yozilgan kod keltirilgan bo’lib, agar bu kod kompilyasiya qilinsa, xotiraning to’lib toshishi hodisasi kelib chiqadi.
int main()
{
int buffer [10];
buffer [20] =37;
}
Bu yerdi mavjud muammo bu - 10 bayt o’lchamli xotiraga 20 baytli ma’lumot yozilishida. Bu esa xotiraning ruxsat etilmagan manziliga ham murojaatni keltirib chiqaradi.


    1. Yüklə 72,61 Kb.

      Dostları ilə paylaş:
1   2   3   4




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin