พวกเขาพบปัญหาด้านความปลอดภัยในแพตช์เคอร์เนล Linux ที่พนักงานของ Huawei เสนอ

ผู้พัฒนาโครงการ Grsecurity เปิดเผยข้อมูลเกี่ยวกับปัญหาด้านความปลอดภัย ที่พบ ในแพตช์ที่เสนอเพื่อปรับปรุงความปลอดภัยของเคอร์เนล Linux โดยพนักงานของ Huaweiการมีช่องโหว่ที่ถูกใช้ประโยชน์เล็กน้อยในชุดโปรแกรมแก้ไข สคส (Huawei Kernel Self Protection)

แพตช์“ HKSP” เหล่านี้เผยแพร่โดยพนักงานของ Huawei เมื่อ 5 วันก่อนและรวมถึงการกล่าวถึง Huawei ในโปรไฟล์ GitHub และใช้คำว่า Huawei ในการถอดรหัสชื่อโครงการ (HKSP - Huawei Kernel Self Protection) แม้ว่า emplado จะกล่าวถึง ว่าโครงการไม่มีส่วนเกี่ยวข้องกับ บริษัท และเป็นของเขาเอง

โครงการนี้ได้ทำวิจัยในเวลาว่างชื่อ hksp ตั้งเองไม่เกี่ยวข้องกับ บริษัท Huawei ไม่มีผลิตภัณฑ์ Huawei ที่ใช้รหัสนี้

รหัสโปรแกรมแก้ไขนี้สร้างขึ้นโดยฉันเนื่องจากคน ๆ เดียวไม่มีพลังงานเพียงพอที่จะครอบคลุมทุกอย่าง ดังนั้นจึงขาดการประกันคุณภาพเช่นการทบทวนและการทดสอบ

เกี่ยวกับ HKSP

HKSP ประกอบด้วย การเปลี่ยนแปลงเช่นการสุ่มของ โครงสร้างการแลกเปลี่ยนการป้องกันการโจมตีเนมสเปซ รหัสผู้ใช้ (pid namespace) กระบวนการแยกสแต็ก พื้นที่ mmap, ฟังก์ชั่น kfree ตรวจจับการโทรสองครั้ง, การปิดกั้นการรั่วไหลผ่าน pseudo-FS / proc (/ proc / {โมดูล, คีย์, ผู้ใช้คีย์}, / proc / sys / kernel / * และ / proc / sys / vm / mmap_min_addr, / proc / kallsyms), ปรับปรุงการสุ่มที่อยู่ในพื้นที่ผู้ใช้, การป้องกันเพิ่มเติมของ Ptrace, การป้องกัน smap และ smep ที่ดีขึ้น, ความสามารถในการห้ามไม่ให้ส่งข้อมูลผ่านซ็อกเก็ตดิบ, ที่อยู่บล็อกไม่ถูกต้องในซ็อกเก็ต UDP และการตรวจสอบและความสมบูรณ์ของกระบวนการทำงาน

เฟรมเวิร์กยังรวมถึงโมดูลเคอร์เนล Ksguard ซึ่งมีวัตถุประสงค์เพื่อระบุความพยายามที่จะแนะนำรูทคิททั่วไป

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

Kees Cook (Kees Cook) หัวหน้าโครงการส่งเสริมเทคโนโลยีการป้องกันที่ใช้งานอยู่ในเคอร์เนล Linux ยังพูดในเชิงบวกเกี่ยวกับแพตช์และปัญหาดังกล่าวดึงดูดความสนใจไปที่สถาปัตยกรรม x86 และลักษณะของการแจ้งเตือนของโหมดต่างๆที่บันทึกเฉพาะข้อมูลเกี่ยวกับ ปัญหา แต่ไม่มีความพยายามที่จะปิดกั้น

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

เพื่อแสดงให้เห็นว่าโค้ดถูกเขียนโดยไม่ใช้วิธีการเขียนโปรแกรมที่ปลอดภัย ตัวอย่างของช่องโหว่เล็กน้อยมีให้ในตัวจัดการไฟล์ / proc / ksguard / state ซึ่งสร้างขึ้นด้วยสิทธิ์ 0777 ซึ่งหมายความว่าทุกคนมีสิทธิ์ในการเขียน

ฟังก์ชัน ksg_state_write ที่ใช้ในการแยกวิเคราะห์คำสั่งที่เขียนใน / proc / ksguard / state จะสร้างบัฟเฟอร์ tmp [32] ซึ่งข้อมูลจะถูกเขียนตามขนาดของตัวถูกดำเนินการที่ผ่านโดยไม่พิจารณาขนาดของบัฟเฟอร์ปลายทางและไม่มีการตรวจสอบ พารามิเตอร์ที่มีขนาดของสตริง กล่าวอีกนัยหนึ่งคือในการเขียนทับส่วนหนึ่งของเคอร์เนลสแต็กผู้โจมตีจะต้องเขียนบรรทัดที่สร้างขึ้นมาเป็นพิเศษใน / proc / ksguard / state เท่านั้น

เมื่อได้รับคำตอบ ผู้พัฒนาแสดงความคิดเห็นในหน้า GitHub ของโครงการ“ HKSP” ย้อนหลังหลังจากการค้นพบช่องโหว่เขายังได้กล่าวเพิ่มเติมว่าโครงการกำลังดำเนินไปในเวลาว่างสำหรับการวิจัย

ขอบคุณทีมรักษาความปลอดภัยสำหรับการค้นหาจุดบกพร่องมากมายในแพตช์นี้
ksg_guard เป็นบิตตัวอย่างสำหรับตรวจจับรูทคิทในระดับเคอร์เนลการสื่อสารของผู้ใช้และเคอร์เนลกำลังเปิดตัวอินเทอร์เฟซ proc จุดประสงค์ต้นทางของฉันคือการตรวจสอบแนวคิดอย่างรวดเร็วดังนั้นฉันจึงไม่เพิ่มการตรวจสอบความปลอดภัยให้เพียงพอ

จริงๆแล้วการตรวจสอบรูทคิทในระดับเคอร์เนลคุณยังต้องหารือกับชุมชนหากจำเป็นต้องออกแบบเครื่องมือ ARK (anti rootkit) สำหรับระบบ Linux ...


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

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

*

*

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