
Linux แตก! เจาะช่องโหว่ความปลอดภัยระดับรูทผ่าน AppArmor และ sudo
เมื่อพูดถึงความปลอดภัยของระบบปฏิบัติการ Linux หลายคนคงนึกถึงเครื่องมือป้องกันมากมายที่ทำงานอย่างแข็งขัน แต่ล่าสุดมีการค้นพบ ช่องโหว่ ร้ายแรงที่เปรียบเสมือน “ผู้ช่วยที่สับสน” (Confused Deputy) ซึ่งสามารถหลอกเครื่องมือความปลอดภัยสำคัญอย่าง AppArmor และ sudo ให้มอบ สิทธิ์สูงสุด หรือ root access แก่ผู้โจมตีได้
มันคือการโจมตีที่ชาญฉลาด เพราะแทนที่จะพยายามทะลวงกำแพงโดยตรง กลับใช้วิธีหลอกให้ยามรักษาความปลอดภัยเป็นคนเปิดประตูให้เอง ฟังดูน่ากลัว แต่หลักการมันน่าสนใจไม่น้อย
AppArmor คืออะไร และมันถูกหลอกได้อย่างไร
AppArmor คือเครื่องมือควบคุมการเข้าถึงที่เข้มงวดของ Linux หรือที่เรียกว่า Mandatory Access Control (MAC) มันทำงานเหมือนผู้คุมกฎที่กำหนดว่าแต่ละโปรแกรมสามารถทำอะไรได้บ้าง เช่น เข้าถึงไฟล์ไหนได้บ้าง หรือรันคำสั่งอะไรได้บ้าง เพื่อจำกัดความเสียหายหากโปรแกรมนั้นถูกเจาะ
แต่ ช่องโหว่ นี้กลับอาศัยจุดอ่อนในการทำงานร่วมกันระหว่าง AppArmor, sudo และ systemd-run โดยเฉพาะ
โดยปกติแล้ว sudo จะช่วยให้ผู้ใช้ทั่วไปรันคำสั่งด้วย สิทธิ์สูงสุด ได้อย่างปลอดภัยภายใต้การควบคุม ส่วน systemd-run เป็นคำสั่งที่ใช้ในการรันบริการหรือโปรเซสแบบชั่วคราว เมื่อผู้โจมตีใช้ sudo รันคำสั่ง systemd-run เพื่อเปิดเชลล์ bash โดยที่ AppArmor มองว่านี่คือคำสั่งที่ได้รับอนุญาตและปลอดภัยตามโปรไฟล์ที่ตั้งไว้
ปัญหาคือ ภายในการรัน systemd-run นั้น ผู้โจมตีสามารถปรับแต่งตัวแปรสภาพแวดล้อมต่างๆ เช่น PATH หรือ LD_PRELOAD เพื่อให้รันโค้ดอันตรายที่อยู่นอกขอบเขตการตรวจสอบที่เข้มงวดของ AppArmor ในตอนแรกได้ ทำให้ AppArmor ซึ่งทำหน้าที่เฝ้าระวังโปรแกรมหลัก คิดว่าทุกอย่างอยู่ภายใต้การควบคุม ทั้งที่จริงแล้วมีกิจกรรมผิดปกติแอบเกิดขึ้นภายใน
เบื้องหลังการโจมตี: Confused Deputy ที่ไร้เดียงสา
แนวคิด Confused Deputy อธิบายถึงสถานการณ์ที่ระบบที่มีสิทธิ์ (เช่น AppArmor หรือ sudo) ถูกหลอกให้ดำเนินการในนามของผู้บุกรุก แทนที่จะทำในนามของเจ้าของที่ถูกต้อง
ลองนึกภาพผู้ช่วยนายอำเภอ (Deputy) ที่ได้รับมอบหมายให้ดูแลการเข้าออก ผู้โจมตีมาหาผู้ช่วยพร้อมเอกสารที่ดูเหมือนถูกต้อง (คำสั่ง systemd-run ที่ AppArmor อนุญาต) ทำให้ผู้ช่วยเชื่อว่ากำลังทำหน้าที่อย่างถูกต้อง และเปิดประตูให้
แต่เมื่อประตูเปิดแล้ว ผู้โจมตีก็สามารถกระทำการอื่น ๆ ที่เป็นอันตรายได้ภายใน โดยที่ผู้ช่วยไม่ได้ตรวจสอบอย่างละเอียดอีกต่อไป เพราะคิดว่าได้ทำตามหน้าที่เสร็จสิ้นแล้ว นี่คือหลักการที่ทำให้ ช่องโหว่ นี้ร้ายแรงมาก เพราะมันเล่นงานกับความเชื่อมั่นของระบบรักษาความปลอดภัยเอง
ผลกระทบและแนวทางป้องกัน
ผลกระทบของการถูกเจาะด้วย ช่องโหว่ ลักษณะนี้คือ ผู้โจมตีสามารถเข้าควบคุมระบบ Linux ได้อย่างสมบูรณ์ หรือที่เรียกว่าได้ root access ซึ่งหมายถึงการเปลี่ยนแปลง ตั้งค่า ลบ หรือติดตั้งอะไรก็ได้บนระบบ ทำให้ข้อมูลสำคัญตกอยู่ในความเสี่ยงอย่างมหาศาล
โชคดีที่ ช่องโหว่ ประเภทนี้มักจะถูกค้นพบและแก้ไขได้อย่างรวดเร็ว ผู้เชี่ยวชาญด้านความปลอดภัยได้รายงานปัญหานี้และผู้พัฒนา Linux, AppArmor และ sudo ก็ได้ออกแพตช์แก้ไขเรียบร้อยแล้ว
สิ่งที่สำคัญที่สุดสำหรับผู้ใช้งานและผู้ดูแลระบบ Linux ทุกคน คือการ อัปเดตระบบ และซอฟต์แวร์ที่เกี่ยวข้องอย่างสม่ำเสมอ การติดตามข่าวสารด้านความปลอดภัยและนำแพตช์ล่าสุดมาใช้ทันที เป็นเกราะป้องกันที่ดีที่สุดเพื่อปกป้องระบบจากภัยคุกคามเหล่านี้อยู่เสมอ