LKRG โมดูลที่ออกแบบมาเพื่อตรวจจับและบล็อกการโจมตีและการละเมิดใน Linux Kernel

โครงการ Openwall ได้เปิดตัวรีลีสโมดูลเคอร์เนล LKRG 0.8 (ตัวป้องกันรันไทม์เคอร์เนล Linux) ออกแบบมาเพื่อตรวจจับและบล็อกการโจมตี y การละเมิดความสมบูรณ์ของโครงสร้างหลัก.

โมดูล เหมาะสำหรับทั้งการจัดการป้องกันการหาประโยชน์ที่ทราบอยู่แล้ว สำหรับเคอร์เนล Linux (ตัวอย่างเช่นในสถานการณ์ที่การอัพเดตเคอร์เนลบนระบบมีปัญหา) สำหรับการโจมตีฝ่ายตรงข้ามสำหรับช่องโหว่ที่ไม่รู้จัก

LKRG 0.8 ใหม่คืออะไร?

ในเวอร์ชันใหม่นี้ การวางตำแหน่งของโครงการ LKRG มีการเปลี่ยนแปลงสิ่งที่ต้องทำชั่วโมงไม่ได้ถูกแบ่งออกเป็นระบบย่อยที่แยกจากกัน เพื่อตรวจสอบความสมบูรณ์และกำหนดการใช้ประโยชน์ แต่นำเสนอเป็นผลิตภัณฑ์ที่สมบูรณ์ เพื่อระบุการโจมตีและการละเมิดความซื่อสัตย์ต่างๆ

เกี่ยวกับความเข้ากันได้ของเวอร์ชันใหม่นี้ เราจะพบว่ามันเข้ากันได้กับเคอร์เนลลินุกซ์ตั้งแต่ 5.3 ถึง 5.7เช่นเดียวกับเมล็ดที่รวบรวมด้วยการเพิ่มประสิทธิภาพ GCC เชิงรุกโดยไม่มีตัวเลือก CONFIG_USB และ CONFIG_STACKTRACE หรือด้วยตัวเลือก CONFIG_UNWINDER_ORCเช่นเดียวกับเมล็ดที่ไม่มีฟังก์ชั่นใด ๆ ที่ถูกดักจับโดย LKRG หากคุณสามารถทำได้โดยไม่ต้อง

นอกเหนือไปจาก การสนับสนุนการทดลองสำหรับแพลตฟอร์ม ARM 32 บิต (ทดสอบกับ Raspberry Pi 3 Model B) ในขณะที่ก่อนหน้านี้รองรับ AArch64 (ARM64) เสริมด้วยความเข้ากันได้กับ Raspberry Pi 4

นอกจากนี้ เพิ่มตะขอใหม่ซึ่งรวมถึงเครื่องจัดการการโทร "hook ()" เพื่อให้ระบุช่องโหว่ที่ถูกจัดการโดย "ความสามารถ" ได้ดีขึ้นแทนที่จะเป็นตัวระบุกระบวนการ

บนระบบ x86-64 บิต SMAP จะถูกตรวจสอบและนำไปใช้ (การป้องกันการเข้าถึงในโหมดหัวหน้างาน) งออกแบบมาเพื่อบล็อกการเข้าถึงข้อมูลในพื้นที่ของผู้ใช้ จากรหัสสิทธิพิเศษที่ดำเนินการในระดับเคอร์เนล การป้องกัน SMEP (Supervisor Mode Execution Prevention) ถูกนำมาใช้ก่อนหน้านี้

มันเคยเป็น เพิ่มความสามารถในการปรับขนาดของฐานข้อมูลการติดตามกระบวนการ: แทนที่จะเป็นต้นไม้ RB เดียวที่ได้รับการปกป้องโดย Spinlock ตารางแฮชของต้นไม้ 512 RB มีส่วนเกี่ยวข้องซึ่งได้รับการป้องกันด้วยการล็อกการอ่านและเขียน 512 รายการตามลำดับ;

มีการใช้งานและเปิดใช้งานโหมดเริ่มต้นซึ่งใน การตรวจสอบความสมบูรณ์ของตัวระบุ การประมวลผลมักจะดำเนินการสำหรับงานปัจจุบันเท่านั้นและยังเป็นทางเลือกสำหรับงานที่ถูกทริกเกอร์ (ปลุก) สำหรับงานอื่น ๆ ที่อยู่ในสถานะถูกระงับหรือฟังก์ชันนั้นโดยไม่มีการเรียกใช้เคอร์เนล API ที่ควบคุมด้วย LKRG การตรวจสอบจะดำเนินการน้อยกว่า

นอกเหนือไปจาก ไฟล์หน่วย systemd ได้รับการออกแบบใหม่ เพื่อโหลดโมดูล LKRG ในช่วงเริ่มต้นของการโหลด (สามารถใช้ตัวเลือกบรรทัดคำสั่งเคอร์เนลเพื่อปิดใช้งานโมดูล)

ในระหว่างการคอมไพล์การตั้งค่าเคอร์เนล CONFIG_ * ที่จำเป็นบางอย่างถูกตรวจสอบเพื่อสร้างข้อความแสดงข้อผิดพลาดที่มีความหมายแทนที่จะเป็นข้อบกพร่องที่คลุมเครือ

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

  • เพิ่มการรองรับโหมด Standby (ACPI S3, Suspend to RAM) และ Suspend (S4, Suspend to Disk)
  • เพิ่มการรองรับ DKMS ใน Makefile
  • มีการเสนอตรรกะใหม่เพื่อพิจารณาความพยายามที่จะออกจากข้อ จำกัด ของเนมสเปซ (ตัวอย่างเช่นจากคอนเทนเนอร์ Docker)
  • ในกระบวนการนี้การกำหนดค่า LKRG จะถูกวางไว้บนเพจของหน่วยความจำซึ่งโดยปกติจะเป็นแบบอ่านอย่างเดียว
  • เอาต์พุตไปยังบันทึกข้อมูลที่อาจเป็นประโยชน์สูงสุดสำหรับการโจมตี (ตัวอย่างเช่นข้อมูลที่อยู่ในเคอร์เนล) ถูก จำกัด โดยโหมดดีบัก (log_level = 4 และสูงกว่า) ซึ่งปิดใช้งานโดยค่าเริ่มต้น
  • มีการเพิ่มพารามิเตอร์ sysctl และโมดูลใหม่เพื่อปรับแต่ง LKRG เช่นเดียวกับสอง sysctl สำหรับการกำหนดค่าที่ง่ายขึ้นโดยเลือกจากโปรไฟล์ที่นักพัฒนาเตรียมไว้
  • การตั้งค่าเริ่มต้นจะเปลี่ยนไปเพื่อให้เกิดความสมดุลที่สมดุลยิ่งขึ้นระหว่างความเร็วในการตรวจจับการละเมิดและประสิทธิภาพของปฏิกิริยาในแง่หนึ่งผลกระทบต่อผลผลิตและความเสี่ยงของผลบวกที่ผิดพลาดในอีกด้านหนึ่ง
  • ตามการเพิ่มประสิทธิภาพที่เสนอในเวอร์ชันใหม่ประสิทธิภาพจะลดลงเมื่อใช้ LKRG 0.8 อยู่ที่ 2.5% ในโหมดเริ่มต้น ("หนัก") และ 2% ในโหมดแสง ("เบา")

หากต้องการทราบข้อมูลเพิ่มเติมสามารถปรึกษาได้ รายละเอียดที่นี่ 


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. รับผิดชอบข้อมูล: AB Internet Networks 2008 SL
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา