Back to Blog

นักวิจัยเจาะสิทธิ์ root บน OpenBSD ด้วยบั๊กหน่วยความจำร่วมอายุ 37 ปี

บริษัท Calif เปิดเผยโค้ดยึด root บน OpenBSD 7.9 เชื่อมโยงบั๊ก integer overflow ในกลไก shared memory อายุกว่า 37 ปี กับข้อผิดพลาดในเคอร์เนล หลบเลี่ยง KARL, SMAP และ SMEP สำเร็จ

Sales
1 min read
นักวิจัยเจาะสิทธิ์ root บน OpenBSD ด้วยบั๊กหน่วยความจำร่วมอายุ 37 ปี

เมื่อวันนี้มีการเผยแพร่โค้ดสาธิตการโจมตีแบบ local privilege escalation ที่สามารถยกระดับสิทธิ์จนเข้าถึง root บนระบบปฏิบัติการ OpenBSD เวอร์ชัน 7.9 ได้สำเร็จ โดยเทคนิคดังกล่าวอาศัยการเชื่อมโยงช่องโหว่ integer overflow ที่มีมานานกว่า 37 ปี เข้ากับข้อผิดพลาดอีกหนึ่งจุดในเคอร์เนล ทำให้สามารถหลบเลี่ยงมาตรการป้องกันหลายชั้นของ OpenBSD ได้

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


ลักษณะของช่องโหว่ที่ถูกนำมาใช้


ช่องโหว่หลักที่ถูกนำมาใช้ในการโจมตีครั้งนี้คือบั๊ก integer overflow ที่อยู่ในกลไก shared memory ของระบบ ซึ่งเป็นปัญหาที่มีมานานราว 37 ปี บ่งชี้ว่าจุดบกพร่องนี้ฝังอยู่ในเคอร์เนลของ OpenBSD มาตั้งแต่ยุคแรกเริ่ม นักวิจัยสามารถใช้บั๊กนี้เพื่อสร้างเงื่อนไขที่ทำให้สามารถเขียนหรืออ่านข้อมูลนอกขอบเขตที่ตั้งใจได้

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


กลไกการยกระดับสิทธิ์


การโจมตีเริ่มต้นจากผู้ใช้ที่มีสิทธิ์ระดับทั่วไปภายในเครื่อง จากนั้นอาศัยบั๊ก integer overflow เพื่อกระทบต่อโครงสร้างข้อมูลภายในเคอร์เนล เมื่อรวมกับข้อผิดพลาดในเคอร์เนลอีกหนึ่งจุด ทำให้สามารถรันโค้ดในระดับสิทธิ์ของเคอร์เนลได้ ซึ่งเทียบเท่ากับการเข้าถึง root ทั้งระบบ


การหลบเลี่ยงมาตรการป้องกันของ OpenBSD


OpenBSD ขึ้นชื่อเรื่องความปลอดภัยและมีการป้องกันหลายชั้น โดยเฉพาะ KARL ซึ่งเป็นการสุ่มเลือกที่อยู่ของเคอร์เนลในหน่วยความจำ รวมถึงคุณสมบัติด้านฮาร์ดแวร์อย่าง SMAP และ SMEP ที่ช่วยป้องกันไม่ให้เคอร์เนลเข้าถึงพื้นที่หน่วยความจำของผู้ใช้โดยตรง อย่างไรก็ตาม โค้ดสาธิตการโจมตีครั้งนี้สามารถหลบเลี่ยงมาตรการเหล่านี้ได้ทั้งหมด ทำให้เห็นว่าแม้แต่ระบบที่เน้นความปลอดภัยสูงก็ยังมีจุดอ่อน


การเปิดเผยและผลกระทบ


หลังจากที่ทีมพัฒนา OpenBSD จัดส่งแพตช์แก้ไขเรียบร้อยแล้ว บริษัท Calif จึงเปิดเผยรายละเอียดทางเทคนิคฉบับเต็มพร้อมโค้ดต้นแบบสำหรับพิสูจน์แนวคิด การเปิดเผยในลักษณะนี้ช่วยให้ผู้ดูแลระบบที่ใช้ OpenBSD เวอร์ชัน 7.9 สามารถตรวจสอบและอัปเดตระบบได้ทันท่วงที แม้ช่องโหว่จะถูกค้นพบมานานกว่า 37 ปี แต่การที่มันยังคงทำงานได้แสดงให้เห็นถึงความสำคัญของการตรวจสอบโค้ดเก่าอย่างต่อเนื่อง


Reference


The Hacker News

หากสนใจสินค้า หรือต้องการคำปรึกษาเพิ่มเติม

💬 Line @monsteronline

☎️ Tel 02-026-6664

📩 Email [email protected]

🌐 Website mon.co.th