Dasturiy vositalar xavfsizligi Amaliy ish 8 Bajardi: Amonov. R tekshirdi: Tursunov. O guruh


Download 172.79 Kb.
Sana21.04.2023
Hajmi172.79 Kb.
#1375043
Bog'liq
Amonov.R DVX-5



O‘ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA
KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI



Dasturiy vositalar xavfsizligi

Amaliy ish - 8
Bajardi: Amonov. R


Tekshirdi: Tursunov. O


Guruh: 714-19


Amaliy ish - 5
Mavzu: Time-Of-Check-To-Time-Of-Use tahdidini amalga oshirish va himoyalash.
Ishdan maqsad: Tezkor murojaat sharti tahdidi haqida tushumcha hosil qilish, TOCTOU tahdidi haqida tushumcha hosil qilish, tahdidlarning oldini olish ko‘nikmasini shakllantirish.
TOCTOU (Time-of-Check to Time-of-Use) va Race Condition haqida ma'lumotlar quyidagicha:

TOCTOU xavfsizligi, amalni tekshirish va amalni bajargandan keyin uni bajarish jarayonida yuzaga keladigan xavfsizlik xato turi hisoblanadi. Bu xatolik, tekshirish jarayonida biror xususiyatni tekshirgandan keyin, amalni bajargandan oldin yoki bajarish jarayonida yuzaga kelishi mumkin. Misol uchun, fayl mavjudligini tekshirishdan oldin fayl o'chirishga urinildi va fayl o'chirildi. Bunday holatlar tarmoq oqimlarida yoki sistemda o'zgartirish kiritishga sabab bo'ladi.


Race condition esa, biror amal bajarilishining nato'g'ri tartibi tufayli yuzaga keladigan xatolik turi. Bu xatolik, bir nechta xodim yoki tarmoq ishlab chiqaruvchilarining bir xizmatdan foydalanishiga vaqtni yaratadi, va shuning uchun bir xizmat o'zgarishlarini yoki ma'lumotlarini boshqalarning xizmatiga yuborishdan oldin tekshirishni bajarishi mumkin. Misol uchun, ikki xodim bir fayl ustiga yozish uchun har biri uni o'qishga va o'zgartirishga urinadi. Birinchi xodim faylni o'qib, o'zgartirib va saqlashga urinib, ikkinchi xodim esa tayyorlangan faylni qo'llab-quvvatlamagan holatda faylni o'qishga va o'zgartirishga urinadi. Bu holatda, faylning oxirgi holati aniq emas va fayl o'zgarishlaridan xabardor bo'lmaydi.
Tabii, Python tilida TOCTOU va Race Condition xavfsizligi uchun bir necha tegishli usullar mavjud. Quyidagi misolda, faylga yozish amalini bajargandan oldin faylni tekshirish uchun TOCTOU xavfsizligini yechish uchun "os.path.exists" funksiyasi va Race Condition xavfsizligini yechish uchun "threading.Lock" kiritishdan foydalanilgan:


Bu dasturda, "write_to_file" funksiyasi fayl mavjudligini tekshiradi va faylga yozish amalini bajargandan oldin faylni tekshiradi. "write_thread" funksiyasi, "threading.Lock" obyektini ishlatib, yozishga urinishni muhim tartibda saqlaydi. Keyingi qadamda, "write_thread" funksiyasi 10 ta marta chaqiriladi va har biri bir xil faylga yozishga urinishni saqlab turadi. "join" metodida barcha "write_thread" xodimlari tugab ketgandan keyin "Finished writing to file" xabarini chiqariladi. Bu usul yordamida, faylga yozish amaliyotlari Race Condition va TOCTOU xavfsizliklaridan xam oqimlarida saqlanadi.



Download 172.79 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling