การเปิดตัวโมดูล LKRG 0.7 เพื่อป้องกันการหาประโยชน์จากช่องโหว่ในเคอร์เนล Linux

โครงการโอเพ่นวอลล์ ตีพิมพ์ การเปิดตัวโมดูลเคอร์เนล แอลเคอาร์จี 0.7 (Linux Kernel Runtime Guard) ซึ่งรับประกันการตรวจจับการเปลี่ยนแปลงที่ไม่ได้รับอนุญาตกับเคอร์เนลที่ทำงานอยู่ (การตรวจสอบความสมบูรณ์) หรือความพยายามที่จะเปลี่ยนการอนุญาตของกระบวนการผู้ใช้ (การตรวจจับการใช้ช่องโหว่) โมดูลนี้เหมาะสำหรับทั้งการจัดการการป้องกันช่องโหว่ที่ทราบแล้วสำหรับเคอร์เนล Linux (ตัวอย่างเช่น ในสถานการณ์ที่ยากต่อการอัปเดตเคอร์เนลในระบบ) และสำหรับการตอบโต้การหาช่องโหว่สำหรับช่องโหว่ที่ยังไม่ทราบ คุณสามารถอ่านเกี่ยวกับคุณสมบัติของ LKRG ได้ใน ประกาศโครงการครั้งแรก.

ท่ามกลางการเปลี่ยนแปลงในเวอร์ชันใหม่:

  • โค้ดได้รับการปรับโครงสร้างใหม่เพื่อรองรับสถาปัตยกรรม CPU ต่างๆ เพิ่มการรองรับเบื้องต้นสำหรับสถาปัตยกรรม ARM64
  • รับประกันความเข้ากันได้กับเคอร์เนล Linux 5.1 และ 5.2 รวมถึงเคอร์เนลที่สร้างขึ้นโดยไม่มีตัวเลือก CONFIG_DYNAMIC_DEBUG เมื่อสร้างเคอร์เนล
    CONFIG_ACPI และ CONFIG_STACKTRACE และมีเคอร์เนลที่สร้างด้วยตัวเลือก CONFIG_STATIC_USERMODEHELPER เพิ่มการสนับสนุนการทดลองสำหรับเมล็ดจากโครงการ grsecurity

  • ตรรกะการเริ่มต้นมีการเปลี่ยนแปลงอย่างมีนัยสำคัญ
  • เครื่องมือตรวจสอบความสมบูรณ์ได้เปิดใช้งานการแฮชตัวเองอีกครั้งและแก้ไขสภาวะการแข่งขันในเอ็นจิ้น Jump Label (*_JUMP_LABEL) ที่ทำให้เกิดการหยุดชะงักเมื่อเริ่มต้นในเวลาเดียวกันกับเหตุการณ์โหลดหรือยกเลิกการโหลดของโมดูลอื่น
  • ในโค้ดการตรวจจับช่องโหว่ มีการเพิ่ม sysctl lkrg.smep_panic ใหม่ (เปิดโดยค่าเริ่มต้น) และ lkrg.umh_lock (ปิดโดยค่าเริ่มต้น) มีการเพิ่มการตรวจสอบเพิ่มเติมสำหรับบิต SMEP/WP ตรรกะสำหรับการติดตามงานใหม่ในระบบ มีการเปลี่ยนแปลง ตรรกะภายในของการซิงโครไนซ์กับทรัพยากรงานได้รับการออกแบบใหม่ เพิ่มการรองรับ OverlayFS ซึ่งอยู่ในรายการที่อนุญาตของ Ubuntu Apport

ที่มา: opennet.ru

เพิ่มความคิดเห็น