Snuffleupagus loyihasi zaifliklarni blokirovka qilish uchun PHP modulini ishlab chiqmoqda

Loyiha doirasida Qisqichbaqa rivojlanmoqda atrof-muhit xavfsizligini yaxshilash va PHP ilovalarini ishga tushirishda zaifliklarga olib keladigan keng tarqalgan xatolarni blokirovka qilish uchun mo'ljallangan PHP7 tarjimoniga ulanish moduli. Modul, shuningdek, barcha foydalanuvchi ilovalarini yangilab bo‘lmaydigan ommaviy xosting tizimlarida foydalanish uchun qulay bo‘lgan zaif dasturning manba kodini o‘zgartirmasdan muayyan muammolarni bartaraf etish uchun virtual yamoqlarni yaratish imkonini beradi. Modul C tilida yozilgan, umumiy kutubxona shaklida ulangan (php.ini da kengaytma=snuffleupagus.so) va tarqaladi LGPL 3.0 bo'yicha litsenziyalangan.

Snuffleupagus xavfsizlikni yaxshilash uchun standart shablonlardan foydalanish yoki kiritilgan maʼlumotlar va funksiya parametrlarini boshqarish uchun oʻz qoidalarini yaratish imkonini beruvchi qoidalar tizimini taqdim etadi. Masalan, qoida “sp.disable_function.function(“tizim”).param(“buyruq”).value_r(“[$|;&`\\n]”).drop();” dasturni o'zgartirmasdan system() funksiyasi argumentlarida maxsus belgilardan foydalanishni cheklash imkonini beradi. Xuddi shunday, siz ham yaratishingiz mumkin virtual yamalar ma'lum zaifliklarni bloklash uchun.

Ishlab chiquvchilar tomonidan o'tkazilgan testlarga ko'ra, Snuffleupagus unumdorlikni deyarli pasaytirmaydi. O'zining xavfsizligini ta'minlash uchun (xavfsizlik qatlamidagi mumkin bo'lgan zaifliklar hujumlar uchun qo'shimcha vektor bo'lib xizmat qilishi mumkin) loyiha har xil taqsimotlarda har bir topshiriqni sinchkovlik bilan tekshirishdan foydalanadi, statik tahlil tizimlaridan foydalanadi va auditni soddalashtirish uchun kod formatlanadi va hujjatlashtiriladi.

O'rnatilgan usullar zaifliklar sinflarini bloklash uchun taqdim etiladi, masalan, muammolar, bilan bog'liq ma'lumotlarni ketma-ketlashtirish bilan, xavfli PHP mail() funksiyasidan foydalanish, XSS hujumlari paytida Cookie tarkibining sizib chiqishi, bajariladigan kodli fayllarni yuklash bilan bog‘liq muammolar (masalan, formatda) far), sifatsiz tasodifiy sonlarni hosil qilish va almashtirish noto'g'ri XML konstruktsiyalari.

PHP xavfsizligini oshirish uchun quyidagi rejimlar qo'llab-quvvatlanadi:

  • Cookie fayllari uchun "xavfsiz" va "samesite" (CSRF himoyasi) bayroqlarini avtomatik ravishda yoqish, shifrlash Cookie;
  • Hujumlar izlarini va ilovalarning murosasizligini aniqlash uchun o'rnatilgan qoidalar to'plami;
  • Majburiy global faollashtirish "qattiq" (masalan, argument sifatida butun sonni kutayotganda satrni belgilash urinishini bloklaydi) va himoya turdagi manipulyatsiya;
  • Standart blokirovka protokol paketlari (masalan, "phar://" ni taqiqlash) ularning aniq oq ro'yxati bilan;
  • Yozilishi mumkin bo'lgan fayllarni bajarishni taqiqlash;
  • baholash uchun qora va oq ro'yxatlar;
  • Foydalanishda TLS sertifikatini tekshirishni yoqish uchun talab qilinadi
    jingalak;

  • Deserializatsiya asl ilova tomonidan saqlangan ma'lumotlarni olishini ta'minlash uchun ketma-ketlashtirilgan ob'ektlarga HMAC qo'shish;
  • Jurnalga kirish rejimini so'rash;
  • XML hujjatlaridagi havolalar orqali libxml-da tashqi fayllarni yuklashni bloklash;
  • Yuklangan fayllarni tekshirish va skanerlash uchun tashqi ishlov beruvchilarni (upload_validation) ulash imkoniyati;

Loyiha frantsuz yirik hosting operatorlaridan birining infratuzilmasidagi foydalanuvchilarni himoya qilish uchun yaratilgan va foydalanilgan. Qayd etilganoddiygina Snuffleupagus-ni ulash Drupal, WordPress va phpBB-da bu yil aniqlangan ko'plab xavfli zaifliklardan himoya qiladi. Magento va Horde-dagi zaifliklarni yoqish orqali bloklanishi mumkin
"sp.readonly_exec.enable()".

Manba: opennet.ru

a Izoh qo'shish