ค้นหาเว็บไซต์

OpenSSH แตกแยกอีกครั้ง: เผยโฉมไบนารี่การยืนยันตัวตนใหม่


การแยก sshd กำลังพัฒนาร่วมกับ sshd-auth โดยการแยกส่วนการยืนยันตัวตนออกเป็นไบนารีแยกต่างหากและลดพื้นที่เสี่ยงต่อการโจมตีก่อนการยืนยันตัวตนใน OpenSSH

ความพยายามอย่างต่อเนื่องในการเพิ่มความปลอดภัยของ OpenSSH โดยการแยกฟังก์ชันออกเป็นไบนารีแยกต่างหากยังคงดำเนินต่อไป โดยพัฒนาการล่าสุดได้แนะนำไบนารีใหม่, sshd-auth.

การเปลี่ยนแปลงนี้เป็นส่วนหนึ่งของกลยุทธ์ที่กว้างขึ้นของ OpenBSD เพื่อทำให้การใช้งาน OpenSSH มีความปลอดภัยและมีประสิทธิภาพมากยิ่งขึ้น

เดเมียน มิลเลอร์ นักพัฒนา OpenBSD เพิ่งคอมมิตอัปเดตใหม่นี้ ซึ่งมีเป้าหมายเพื่อแยกฟังก์ชันการทำงานของ sshd ให้ชัดเจนขึ้นโดยสร้างไบนารีเฉพาะสำหรับการยืนยันตัวผู้ใช้

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

พูดอีกอย่างก็คือ สิ่งนี้ช่วยลดความเสี่ยงได้อย่างมีประสิทธิภาพโดยการแยกระยะก่อนการยืนยันตัวตนออกไปและลดพื้นที่ที่สามารถถูกโจมตีโดยรวม

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

การเปลี่ยนแปลงนี้ได้ถูกนำไปผนวกใน OpenBSD snapshots แล้วและได้มีการทดสอบตั้งแต่สัปดาห์ที่แล้ว เช่นเดียวกับส่วนประกอบอื่น ๆ เช่น sshd, ssh-session, และ ssh-agent ไบนารี sshd-auth ตัวใหม่นี้จะถูกสร้างลิงก์ใหม่แบบสุ่มเมื่อบูต ทำให้มีชั้นการป้องกันเพิ่มเติม

สำหรับข้อมูลเพิ่มเติม โปรดดูประกาศในวารสาร OpenBSD

สิ่งนี้เกี่ยวข้องกับการใช้งาน OpenSSH อื่นๆ อย่างไร

ดังที่คุณอาจทราบ OpenSSH เป็นส่วนหนึ่งของโครงการ OpenBSD และถูกใช้อย่างแพร่หลายในระบบปฏิบัติการต่างๆ รวมถึง Linux ดังนั้น การเปลี่ยนแปลงที่เกิดขึ้นในเวอร์ชัน OpenBSD ของ OpenSSH มักจะสะท้อนในการใช้งานเวอร์ชันอื่นๆ เนื่องจากโค้ดหลักถูกแชร์กัน

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