Snuffleupagus 0.5.1 ning chiqarilishi, PHP ilovalaridagi zaifliklarni bloklash moduli

Bir yillik rivojlanishdan keyin e'lon qilindi loyiha chiqarilishi Snuffleupagus 0.5.1, bu PHP7 tarjimoni uchun muhit xavfsizligini yaxshilash va PHP ilovalarini ishga tushirishda zaifliklarga olib keladigan keng tarqalgan xatolarni bloklash uchun modulni taqdim etadi. Modul ham yaratishga imkon beradi virtual yamalar barcha foydalanuvchi ilovalarini yangilab turish imkoni bo'lmagan ommaviy xosting tizimlarida foydalanish uchun qulay bo'lgan zaif dasturning manba kodini o'zgartirmasdan muayyan muammolarni bartaraf etish. Modulning qo'shimcha xarajatlari minimal deb taxmin qilinadi. 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. O'rnatilgan usullar zaiflik 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.

Snuffleupagus tomonidan taqdim etilgan PHP xavfsizlikni yaxshilash rejimlari:

  • 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;

Orasida o'zgarishlar yangi versiyada: PHP 7.4 uchun takomillashtirilgan qo'llab-quvvatlash va hozirda ishlab chiqilayotgan PHP 8 filiali bilan moslik joriy etildi.Syslog orqali hodisalarni jurnalga kiritish imkoniyati qo'shildi (syslog yoki syslog qiymatlarini olishi mumkin bo'lgan sp.log_media direktivasi qo'shilishi uchun taklif etiladi). Standart qoidalar to'plami yaqinda aniqlangan zaifliklar va veb-ilovalarga qarshi hujum usullari uchun yangi qoidalarni o'z ichiga olgan holda yangilandi. MacOS uchun takomillashtirilgan qo‘llab-quvvatlash va GitLab asosidagi uzluksiz integratsiya platformasidan foydalanish kengaytirildi.

Manba: opennet.ru

a Izoh qo'shish