โครงการ Snuffleupagus พัฒนาโมดูล PHP เพื่อป้องกันช่องโหว่

ในแนวเขตโครงการ ดมกลิ่น กำลังพัฒนา โมดูลสำหรับเชื่อมต่อกับอินเทอร์พรีเตอร์ PHP7 ออกแบบมาเพื่อปรับปรุงความปลอดภัยของสภาพแวดล้อมและป้องกันข้อผิดพลาดทั่วไปที่นำไปสู่ช่องโหว่ในการใช้งานแอปพลิเคชัน PHP โมดูลนี้ยังอนุญาตให้สร้างแพตช์เสมือนเพื่อแก้ไขปัญหาเฉพาะโดยไม่ต้องแก้ไขซอร์สโค้ดของแอปพลิเคชันที่มีช่องโหว่ ทำให้สะดวกต่อการใช้งานในระบบโฮสติ้งขนาดใหญ่ที่ไม่สามารถอัปเดตแอปพลิเคชันของผู้ใช้ทั้งหมดให้ทันสมัยอยู่เสมอ โมดูลนี้เขียนด้วยภาษา C และรวมอยู่ในไลบรารีที่ใช้ร่วมกัน ("extension=snuffleupagus.so" ใน php.ini) จัดจำหน่ายโดย ได้รับใบอนุญาตภายใต้ LGPL 3.0

Snuffleupagus มีระบบกฎที่อนุญาตให้คุณใช้เทมเพลตมาตรฐานทั้งสองแบบเพื่อเพิ่มความปลอดภัยและสร้างกฎของคุณเองเพื่อควบคุมข้อมูลอินพุตและพารามิเตอร์ของฟังก์ชัน ตัวอย่างเช่น กฎ "sp.disable_function.function("system").param("command").value_r("[$|;&`\\n]").drop();" ช่วยให้คุณสามารถจำกัดการใช้อักขระพิเศษในอาร์กิวเมนต์ของฟังก์ชัน system() ได้โดยไม่ต้องแก้ไขแอปพลิเคชัน ในทำนองเดียวกัน คุณสามารถสร้าง แพทช์เสมือน เพื่อบล็อคช่องโหว่ที่ทราบ

จากการทดสอบที่ดำเนินการโดยนักพัฒนา พบว่า Snuffleupagus แทบไม่มีผลกระทบต่อประสิทธิภาพการทำงานเลย เพื่อให้มั่นใจในความปลอดภัยของตัวมันเอง (ช่องโหว่ที่อาจเกิดขึ้นในเลเยอร์ความปลอดภัยอาจกลายเป็นช่องโหว่เพิ่มเติมในการโจมตี) โปรเจกต์นี้จึงทดสอบการคอมมิตแต่ละครั้งอย่างละเอียดถี่ถ้วนในหลายดิสทริบิวชัน ใช้ระบบวิเคราะห์แบบคงที่ และจัดรูปแบบและบันทึกโค้ดเพื่ออำนวยความสะดวกในการตรวจสอบ

มีวิธีการในตัวเพื่อบล็อกช่องโหว่ประเภทต่างๆ เช่น ปัญหา ที่เกี่ยวข้อง ด้วยการจัดลำดับข้อมูล ไม่ปลอดภัย การใช้ฟังก์ชัน PHP mail() การรั่วไหลของเนื้อหาคุกกี้ระหว่างการโจมตี XSS ปัญหาที่เกิดจากการดาวน์โหลดไฟล์ที่มีโค้ดที่ปฏิบัติการได้ (เช่น ในรูปแบบ ฟาร์), การสร้างตัวเลขสุ่มที่ไม่ดีและ การทดแทน โครงสร้าง XML ที่ไม่ถูกต้อง

โหมดต่อไปนี้ได้รับการรองรับเพื่อเพิ่มความปลอดภัยของ PHP:

  • เปิดใช้งานแฟล็ก "ปลอดภัย" และ "samesite" (การป้องกัน CSRF) สำหรับคุกกี้โดยอัตโนมัติ การเข้ารหัส คุกกี้;
  • ชุดกฎในตัวสำหรับการระบุร่องรอยของการโจมตีและการบุกรุกแอปพลิเคชัน
  • การบังคับให้เปิดใช้งานทั่วโลกของ "เข้มงวด» (ตัวอย่างเช่น มันจะบล็อกความพยายามในการระบุสตริงเมื่อคาดว่าค่าจำนวนเต็มเป็นอาร์กิวเมนต์) และการป้องกันจาก การจัดการประเภท;
  • การบล็อคตามค่าเริ่มต้น ตัวห่อโปรโตคอล (ตัวอย่างเช่น การแบน "phar://") ด้วยการอนุญาตที่ชัดเจนผ่านรายการที่อนุญาต
  • ปิดการใช้งานการดำเนินการของไฟล์ที่สามารถเขียนได้
  • รายการขาวดำสำหรับการประเมิน;
  • เปิดใช้งานการตรวจสอบบังคับของใบรับรอง TLS เมื่อใช้
    ม้วนงอ;
  • การเพิ่ม HMAC ให้กับวัตถุที่ถูกทำให้เป็นอนุกรมเพื่อให้แน่ใจว่าการแยกส่วนจะดึงข้อมูลที่เก็บไว้โดยแอปพลิเคชันเดิม
  • โหมดการบันทึกแบบสอบถาม;
  • บล็อกการโหลดไฟล์ภายนอกใน libxml ผ่านลิงก์ในเอกสาร XML
  • ความเป็นไปได้ในการเชื่อมต่อตัวจัดการภายนอก (upload_validation) เพื่อตรวจสอบและสแกนไฟล์ที่อัปโหลด

โครงการนี้ถูกสร้างขึ้นและใช้เพื่อปกป้องผู้ใช้ในโครงสร้างพื้นฐานของผู้ให้บริการโฮสติ้งรายใหญ่รายหนึ่งของฝรั่งเศส มีข้อสังเกตเพียงแค่เปิดใช้งาน Snuffleupagus ก็จะช่วยป้องกันช่องโหว่อันตรายหลายอย่างที่ถูกค้นพบในปีนี้ได้แล้ว Drupal, WordPress และ phpBB ช่องโหว่ใน Magento และสามารถบล็อก Horde ได้โดยการเปิดโหมดดังกล่าว
"sp.readonly_exec.enable()"

ที่มา: opennet.ru

ซื้อโฮสติ้งที่เชื่อถือได้สำหรับไซต์ที่มีการป้องกัน DDoS เซิร์ฟเวอร์ VPS VDS 🔥 ซื้อบริการเว็บโฮสติ้งที่เชื่อถือได้ พร้อมระบบป้องกัน DDoS และเซิร์ฟเวอร์ VPS/VDS | ProHoster