มีการพัฒนากลไกการแยกที่คล้ายกับ plegde บน FreeBSD

ปรากฏว่า มีการเสนอการดำเนินการ หนึ่ง กลไกการแยกแอปพลิเคชันสำหรับ FreeBSDซึ่งชวนให้นึกถึงการพับและเปิดเผยการเรียกระบบที่พัฒนาโดยโครงการ OpenBSD

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

ความแตกต่างระหว่างพับและเปิดเผย, พัฒนาขึ้นสำหรับ FreeBSD, มันเดือดลงไปให้ชั้นพิเศษ ที่อนุญาตให้คุณแยกแอปพลิเคชันโดยไม่มีการเปลี่ยนแปลงหรือเปลี่ยนแปลงโค้ดเพียงเล็กน้อย โปรดจำไว้ว่าใน OpenBSD plegde and unlocked เป้าหมายสำหรับการบูรณาการอย่างแน่นหนากับสภาพแวดล้อมพื้นฐานและถูกนำไปใช้โดยการเพิ่มคำอธิบายประกอบพิเศษให้กับโค้ดของแต่ละแอปพลิเคชัน

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

ผู้เขียนพับและเปิดเผยพอร์ตสำหรับ FreeBSD มีวัตถุประสงค์เพื่อให้ความสามารถในการแยกแอปพลิเคชันโดยพลการ ซึ่งเสนอยูทิลิตี้ม่านซึ่งอนุญาตให้ใช้กฎที่กำหนดไว้ในไฟล์แยกต่างหากกับแอปพลิเคชัน การกำหนดค่าที่เสนอประกอบด้วยไฟล์ที่มีการตั้งค่าพื้นฐานที่กำหนดคลาสของการเรียกระบบและพาธไฟล์ทั่วไปเฉพาะสำหรับแอปพลิเคชันบางตัว (ทำงานกับเสียง เครือข่าย การบันทึก ฯลฯ) รวมถึงไฟล์ที่มีกฎการเข้าถึงสำหรับแอปพลิเคชันเฉพาะ

ยูทิลิตี้ม่านสามารถใช้เพื่อแยกยูทิลิตี้ส่วนใหญ่ กระบวนการของเซิร์ฟเวอร์ แอปพลิเคชันกราฟิก และแม้แต่เซสชันเดสก์ท็อปทั้งหมดที่ยังไม่ได้รับการแก้ไข รองรับการใช้ม่านร่วมกับกลไกการแยกจากระบบย่อย Jail และ Capsicum

ด้วย เป็นไปได้ที่จะจัดระเบียบการแยกซ้อน เมื่อเปิดใช้งานแอปพลิเคชันจะสืบทอดกฎที่กำหนดโดยแอปพลิเคชันหลัก เสริมด้วยข้อจำกัดที่แยกจากกัน การดำเนินการเคอร์เนลบางอย่าง (เครื่องมือดีบัก POSIX/SysV IPC, PTY) ได้รับการปกป้องเพิ่มเติมโดยกลไกกั้นที่ป้องกันการเข้าถึงวัตถุเคอร์เนลที่สร้างโดยกระบวนการอื่นที่ไม่ใช่กระบวนการปัจจุบันหรือหลัก

กระบวนการสามารถกำหนดค่าการแยกของตัวเองโดยเรียก Curtainctl หรือโดยใช้ฟังก์ชัน plegde() และ Reveal() ที่จัดเตรียมโดยไลบรารี libcurtain คล้ายกับของ OpenBSD sysctl 'security.curtain.log_level' มีไว้เพื่อติดตามการล็อกในขณะที่แอปพลิเคชันกำลังทำงาน

การเข้าถึงโปรโตคอล X11 และ Wayland นั้นเปิดใช้งานแยกกันโดยการระบุตัวเลือก "-X"/"-Y" และ "-W" เมื่อเริ่มต้นม่าน แต่การรองรับแอปพลิเคชันกราฟิกยังไม่เสถียรเพียงพอและมีปัญหามากมายที่ยังไม่ได้แก้ไข ( ปัญหาส่วนใหญ่ปรากฏขึ้นเมื่อใช้ X11 และการรองรับ Wayland นั้นดีกว่ามาก) ผู้ใช้สามารถเพิ่มข้อจำกัดเพิ่มเติมโดยการสร้างไฟล์กฎในเครื่อง (~/.curtain.conf) ตัวอย่างเช่น,

การใช้งานรวมถึงโมดูลเคอร์เนล mac_curtain สำหรับการควบคุมการเข้าถึงที่จำเป็น (MAC) ชุดของแพตช์สำหรับเคอร์เนล FreeBSD พร้อมการใช้งานไดรเวอร์และตัวกรองที่จำเป็น ไลบรารี libcurtain สำหรับการใช้ plegde และฟังก์ชั่นที่เปิดเผยในแอพพลิเคชั่น ม่านยูทิลิตี้ แสดงการกำหนดค่า ไฟล์ ชุดการทดสอบ และโปรแกรมแก้ไขสำหรับโปรแกรมพื้นที่ผู้ใช้บางโปรแกรม (เช่น การใช้ $TMPDIR เพื่อรวมการทำงานกับไฟล์ชั่วคราว) เมื่อใดก็ตามที่เป็นไปได้ ผู้เขียนพยายามลดจำนวนการเปลี่ยนแปลงที่ต้องแก้ไขเคอร์เนลและแอปพลิเคชันให้น้อยที่สุด

ในที่สุด หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติมคุณสามารถตรวจสอบรายละเอียด ในลิงค์ต่อไปนี้.


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

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

*

*

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