โครงการที่จะใช้ยูทิลิตี้ sudo และ su ใน Rust

ISRG (Internet Security Research Group) ซึ่งเป็นผู้ก่อตั้งโครงการ Let's Encrypt และส่งเสริม HTTPS และการพัฒนาเทคโนโลยีเพื่อเพิ่มความปลอดภัยให้กับอินเทอร์เน็ต ได้นำเสนอโครงการ Sudo-rs เพื่อสร้างการใช้งานยูทิลิตี้ sudo และ su ที่เขียนใน สนิมที่อนุญาตให้คุณดำเนินการคำสั่งในนามของผู้ใช้รายอื่น ภายใต้สิทธิ์การใช้งาน Apache 2.0 และ MIT มีการเผยแพร่ Sudo-rs รุ่นก่อนวางจำหน่ายแล้ว แต่ยังไม่พร้อมสำหรับการใช้งานทั่วไป โครงการดังกล่าวซึ่งเริ่มทำงานในเดือนธันวาคม 2022 มีกำหนดแล้วเสร็จในเดือนกันยายน 2023

ขณะนี้งานมุ่งเน้นไปที่การใช้คุณสมบัติใน Sudo-rs ที่อนุญาตให้ใช้แทน sudo แบบโปร่งใสในกรณีการใช้งานทั่วไป (การกำหนดค่า sudoers เริ่มต้นบน Ubuntu, Fedora และ Debian) ในอนาคต มีแผนจะสร้างไลบรารีที่อนุญาตให้ฝังฟังก์ชัน sudo ลงในโปรแกรมอื่นๆ และจัดเตรียมวิธีการกำหนดค่าทางเลือกที่หลีกเลี่ยงการแยกวิเคราะห์ไวยากรณ์ของไฟล์การกำหนดค่า sudoers ขึ้นอยู่กับฟังก์ชัน sudo ที่นำไปใช้ จะมีการเตรียมตัวแปรของยูทิลิตี su ด้วย นอกจากนี้ แผนยังกล่าวถึงการรองรับ SELinux, AppArmor, LDAP, เครื่องมือตรวจสอบ, ความสามารถในการตรวจสอบสิทธิ์โดยไม่ใช้ PAM และการใช้งานตัวเลือกบรรทัดคำสั่ง sudo ทั้งหมด

จากข้อมูลของ Microsoft และ Google ประมาณ 70% ของช่องโหว่เกิดจากการจัดการหน่วยความจำที่ไม่ปลอดภัย คาดว่าการใช้ภาษา Rust เพื่อพัฒนา su และ sudo จะช่วยลดความเสี่ยงของช่องโหว่ที่เกิดจากการจัดการหน่วยความจำที่ไม่ปลอดภัย และกำจัดข้อผิดพลาดที่เกิดขึ้น เช่น การเข้าถึงพื้นที่หน่วยความจำหลังจากที่พื้นที่หน่วยความจำว่างและบัฟเฟอร์เกิน Sudo-rs ได้รับการพัฒนาโดยวิศวกรจาก Ferrous Systems และ Tweede Golf ด้วยเงินทุนจากบริษัทต่างๆ เช่น Google, Cisco, Amazon Web Services

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

ที่มา: opennet.ru

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