กลับไปหน้าบทความ

อ่าน 3 นาที

โมดูลความปลอดภัยของลินุกซ์

Linux Security Modules ( LSM ) เป็น เฟรมเวิร์ก ที่ช่วยให้ เคอร์เนล Linux สามารถรองรับ โมเดลความปลอดภัยของคอมพิวเตอร์ ได้หลากหลายรูปแบบโดยไม่มีอคติLSM ได้รับอนุญาตภายใต้เงื่อนไขของ...

โมดูลความปลอดภัยของลินุกซ์

Linux Security Modules ( LSM ) เป็นเฟรมเวิร์กที่ช่วยให้เคอร์เนล Linux สามารถรองรับ โมเดลความปลอดภัยของคอมพิวเตอร์ได้หลากหลายรูปแบบโดยไม่มีอคติLSM ได้รับอนุญาตภายใต้เงื่อนไขของGNU General Public Licenseและเป็นส่วนหนึ่งของเคอร์เนล Linux มาตรฐานตั้งแต่ Linux 2.6 ณ ปี 2025 AppArmor , LoadPin , SELinux , Smack , TOMOYO , Yama , SafeSetID , Integrity Policy Enforcement (IPE) และLandlockเป็นโมดูลความปลอดภัยที่ได้รับการอนุมัติในเคอร์เนลอย่างเป็นทางการ[ 1 ] [ 2 ]

ออกแบบ

LSM ถูกออกแบบมาเพื่อตอบสนองความต้องการทั้งหมดสำหรับการใช้งาน โมดูล ควบคุมการเข้าถึงแบบบังคับได้ อย่างประสบความสำเร็จ โดยทำการเปลี่ยนแปลงเคอร์เนล Linux ให้น้อยที่สุดเท่าที่จะเป็นไปได้ LSM หลีกเลี่ยงวิธีการแทรกแซงการเรียกใช้ระบบที่ใช้โดยSystraceเนื่องจากวิธีการดังกล่าวไม่สามารถรองรับ เคอร์เนล แบบมัลติโปรเซสเซอร์ ได้ และเสี่ยงต่อ การโจมตี แบบ TOCTTOU (race condition) แทนที่จะเป็นเช่นนั้น LSM จะแทรก " ฮุก " (การเรียกใช้โมดูลขึ้นไปยังโมดูล) ในทุกจุดในเคอร์เนลที่การเรียกใช้ระบบระดับผู้ใช้กำลังจะส่งผลให้เข้าถึงอ็อบเจ็กต์ภายในเคอร์เนลที่สำคัญ เช่นinodeและบล็อก ควบคุมกระบวนการ

LSM ถูกออกแบบมาอย่างจำกัดเพื่อแก้ปัญหาการควบคุมการเข้าถึงโดยไม่ก่อให้เกิดการเปลี่ยนแปลงแก้ไขที่ซับซ้อนและยุ่งยากกับเคอร์เนลหลัก มันไม่ได้มีจุดประสงค์เพื่อเป็นกลไก " ฮุก " หรือ " อัพคอล " ทั่วไป และไม่รองรับการจำลองเสมือนในระดับระบบปฏิบัติการ

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

การออกแบบ LSM ได้รับการอธิบายไว้ในเอกสาร "Linux Security Modules: General Security Support for the Linux Kernel" [ 3 ]ที่นำเสนอในการประชุมUSENIX Security Symposium 2002 [ 4 ]ในการประชุมเดียวกันนี้ยังมีเอกสาร "Using CQUAL for Static Analysis of Authorization Hook Placement" [ 5 ]ซึ่งศึกษาการวิเคราะห์แบบคงที่อัตโนมัติของโค้ดเคอร์เนลเพื่อตรวจสอบว่าฮุกที่จำเป็นทั้งหมดได้ถูกแทรกเข้าไปในเคอร์เนล Linux แล้วจริง ๆ

การรับเลี้ยงบุตรบุญธรรม

ประวัติศาสตร์

ในการประชุม Linux Kernel Summit ปี 2001 NSA เสนอให้ รวม SELinuxไว้ใน Linux 2.5 [ 12 ] Linus Torvalds ปฏิเสธ SELinux ในเวลานั้น เนื่องจากเขาสังเกตว่ามีโครงการ ด้านความปลอดภัยที่แตกต่างกันมากมายที่กำลังพัฒนาอยู่ และเนื่องจากโครงการเหล่านั้นแตกต่างกันทั้งหมด ชุมชนด้านความปลอดภัยจึงยังไม่สามารถสร้างฉันทามติเกี่ยวกับแบบจำลองความปลอดภัยขั้นสุดท้ายได้ Linus จึงขอให้ชุมชนด้านความปลอดภัย "สร้างเป็นโมดูล" แทน

เพื่อตอบสนองCrispin Cowanจึงเสนอ[ 13 ] LSM: อินเทอร์เฟซสำหรับเคอร์เนล Linux ที่ให้ "ฮุก" (upcalls) เพียงพอจากภายในเคอร์เนล Linux ไปยังโมดูลที่โหลดได้เพื่อให้โมดูลสามารถบังคับใช้การควบคุมการเข้าถึงที่จำเป็นได้ การพัฒนา LSM ในช่วงสองปีถัดมาดำเนินการโดยชุมชน LSM ซึ่งรวมถึงการมีส่วนร่วมอย่างมากจากImmunix Corporation , NSA , McAfee , IBM , Silicon Graphicsและผู้มีส่วนร่วมอิสระจำนวนมาก ในที่สุด LSM ก็ได้รับการยอมรับเข้าสู่กระแสหลักของเคอร์เนล Linux และถูกรวมไว้เป็นส่วนหนึ่งของมาตรฐาน Linux 2.6 ในเดือนธันวาคม พ.ศ. 2546

ในปี 2006 นักพัฒนาเคอร์เนลบางคนสังเกตว่า SELinux เป็นโมดูล LSM ที่ใช้กันอย่างแพร่หลายเพียงโมดูลเดียวที่รวมอยู่ในซอร์สโค้ดเคอร์เนล Linux หลัก พวกเขาให้เหตุผลว่า หากมีโมดูล LSM ที่ใช้กันอย่างแพร่หลายเพียงโมดูลเดียว การใช้งาน LSM ก็ไม่จำเป็น และควรลบ LSM ออกและแทนที่ด้วย SELinux เอง อย่างไรก็ตาม ยังมีโมดูล LSM อื่นๆ ที่ได้รับการดูแลรักษาอยู่นอกซอร์สโค้ดเคอร์เนลหลัก (เช่นAppArmor , Linux Intrusion Detection System , FireFlier , CIPSO , Multi ADMเป็นต้น) ดังนั้นข้อโต้แย้งนี้จึงนำไปสู่ผลลัพธ์สองประการคือ 1. นักพัฒนาโมดูลเหล่านี้เริ่มพยายามนำโมดูลของตนเข้าสู่ซอร์สโค้ดหลัก และ 2. ในการประชุม Linux Kernel Summit ปี 2006 ลินัสได้ยืนยันอีกครั้งว่า LSM จะยังคงอยู่ต่อไป เพราะเขาไม่ต้องการตัดสินว่าโมเดลความปลอดภัยใดดีที่สุด

LSM น่าจะยังคงอยู่ต่อไป เนื่องจากโมดูลรักษาความปลอดภัยเพิ่มเติมอย่างSmack (เวอร์ชัน 2.6.25), TOMOYO Linux (เวอร์ชัน 2.6.30 มิถุนายน 2009) และAppArmor (เวอร์ชัน 2.6.36) ได้รับการยอมรับเข้าสู่เคอร์เนลหลักแล้ว

  • "รหัสต้นฉบับและสถิติโครงการ"เก็บถาวรจากต้นฉบับเมื่อ 2005-03-07 เรียกดูเมื่อ2006-02-08
  • บทความในนิตยสาร SysAdmin เกี่ยวกับระดับความปลอดภัยของ BSD
  • โครงการด้านความปลอดภัยที่ใช้เคอร์เนลลินุกซ์
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Linux_Security_Modules&oldid=1341653422 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ โมดูลความปลอดภัยของลินุกซ์

Linux Security Modules ( LSM ) เป็น เฟรมเวิร์ก ที่ช่วยให้ เคอร์เนล Linux สามารถรองรับ โมเดลความปลอดภัยของคอมพิวเตอร์ ได้หลากหลายรูปแบบโดยไม่มีอคติLSM ได้รับอนุญาตภายใต้เงื่อนไขของ...

ออกแบบ

LSM ถูกออกแบบมาเพื่อตอบสนองความต้องการทั้งหมดสำหรับการใช้งาน โมดูล ควบคุมการเข้าถึงแบบบังคับได้ อย่างประสบความสำเร็จ โดยทำการเปลี่ยนแปลงเคอร์เนล Linux ให้น้อยที่สุดเท่าที่จะเป็นไปได้ LSM หลีกเลี่ยงวิธี การแทรกแซงการเรียกใช้ระบบ ที่ใช้โดย Systrace...

การรับเลี้ยงบุตรบุญธรรม

แอปอาร์มอร์ การบังคับใช้นโยบายความซื่อสัตย์ (IPE) [ 6 ] แผ่นดินปิด [ 7 ] [ 8 ] โหลดพิน [ 9 ] SafeSetID [ 10 ] SELinux ตี โทโมโย ยามา [ 11 ]

ประวัติศาสตร์

ในการ ประชุม Linux Kernel Summit ปี 2001 NSA เสนอให้ รวม SELinux ไว้ใน Linux 2.