ข้ามไปเนื้อหาหลัก

Privilege Escalation คืออะไร และผู้ใช้ทั่วไปยกระดับเป็น root ได้อย่างไร

เจาะลึกกลไก Privilege Escalation ช่องโหว่และการยกระดับสิทธิ์ในระบบปฏิบัติการ จากบัญชีผู้ใช้ธรรมดาสู่การควบคุมระบบระดับสูงสุด

เรียบเรียงโดย AI
Inewgen
26 Sep 2026ที่มา: Dev.to3 นาทีอ่าน (0 ครั้ง)
แชร์
Privilege Escalation คืออะไร และผู้ใช้ทั่วไปยกระดับเป็น root ได้อย่างไร

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

ขนาดตัวอักษร
  • Privilege Escalation คือการที่ผู้ใช้ที่มีสิทธิ์จำกัดเข้าถึงอำนาจระดับสูงกว่าโดยไม่ได้รับอนุญาต
  • แบ่งเป็น Vertical Escalation ขยับสิทธิ์ขึ้น และ Horizontal Escalation ย้ายระนาบสิทธิ์
  • หลักการ Least Privilege ช่วยจำกัดสิทธิ์แต่ละบัญชีเฉพาะที่จำเป็นต้องใช้งานเท่านั้น
  • ความผิดพลาดจากการตั้งค่าและช่องโหว่ในโปรแกรม SUID คือสาเหตุหลักของการยกระดับสิทธิ์

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

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

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

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

linux terminal command line workspace no logo

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

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

ไม่อยากพลาดข่าวใหม่?

สมัครรับสรุปข่าวสารใหม่ทางอีเมล ไม่บ่อยจนรำคาญ

โฆษณา

  • Vertical Escalation: การขยับขึ้นไปตามลำดับชั้นสิทธิ์ เช่น จากบัญชีผู้ใช้ปกติเลื่อนขึ้นไปเป็น Administrator หรือ root ซึ่งเป็นรูปแบบที่รู้จักกันมากที่สุด
  • Horizontal Escalation: การย้ายระนาบข้ามบัญชีในระดับสิทธิ์เดียวกัน เช่น บัญชีผู้ใช้ A เข้าถึงไฟล์หรือข้อมูลของบัญชีผู้ใช้ B แม้ทั้งคู่จะเป็นผู้ใช้ธรรมดาก็ตาม

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

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

ในระบบ Linux มีกลไกที่เรียกว่า setuid bit (SUID) ซึ่งโปรแกรมที่ตั้งค่านี้จะรันด้วยตัวตนของผู้ใช้ที่เป็นเจ้าของ ไม่ใช่ผู้ใช้ที่สั่งรันโปรแกรม เช่น คำสั่ง passwd ที่ผู้ใช้ธรรมดาต้องใช้เปลี่ยนรหัสผ่านแต่ต้องเขียนทับไฟล์ระบบที่ root เท่านั้นที่แก้ได้ ตัวกลไกนี้มีความจำเป็นและถูกต้องตามกฎ แต่ปัญหาจะเกิดขึ้นเมื่อโปรแกรม SUID มีข้อบกพร่องด้านความปลอดภัยจนถูกนำไปใช้เป็นสะพานข้ามขอบเขตสิทธิ์

ที่มา: Dev.to

ความคิดเห็น

แสดงความคิดเห็น
0/2000

พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้