ผู้สอน: ในบทเรียนนี้
เราจะหารือเกี่ยวกับการโจมตีเครื่องเสมือน
ซึ่งรวมถึง VM Escapes, VM Hopping, Sandbox Escape และข้อกังวลอื่นๆ
ของ VM
ก่อนอื่นเรามี VM Escape หรือ Virtual Machine Escape
VM Escape เป็นการโจมตีประเภทหนึ่งที่ผู้คุกคามพยายามออกจากเครื่องเสมือนที่แยกออกมาแล้วส่งคำสั่งโดยตรงไปยังไฮเปอร์ไวเซอร์ที่อยู่เบื้องหลัง
เนื่องจากเครื่องเสมือนแต่ละเครื่องควรแยกออกจากกัน
การหลบหนี VM จึงทำได้ยากมาก
อย่างไรก็ตาม ระบบปฏิบัติการเกสต์แต่ละระบบไม่ควรรู้ด้วยซ้ำว่าเป็นส่วนหนึ่งของเครื่องเสมือน
เนื่องจากยังคิดว่าสามารถเข้าถึงเครื่องจริงจำลองที่ไฮเปอร์ไวเซอร์ให้บริการได้อย่างเต็มที่
เพื่อให้ VM Escape มีประสิทธิภาพ
ผู้โจมตีต้องหาทางเชื่อมต่อโดยตรงกับทรัพยากรทางกายภาพพื้นฐาน เช่น
หน่วยความจำของเซิร์ฟเวอร์ ฮาร์ดไดรฟ์
หรือการประมวลผล
ซึ่งมักเกิดขึ้นจากการใช้ประโยชน์จากช่องโหว่ในโค้ดของไฮเปอร์ไวเซอร์เอง
มีบางกรณีที่เกิดขึ้นและแพตช์ได้รับการพัฒนาและเผยแพร่โดยผู้ผลิตทันทีที่ค้นพบช่องโหว่เหล่านี้
VM Escape ดำเนินการกับไฮเปอร์ไวเซอร์ประเภทที่สองได้ง่ายกว่าบนไฮเปอร์ไวเซอร์ประเภทที่หนึ่ง
หากคุณกำลังใช้ไฮเปอร์ไวเซอร์ประเภทที่สองหรือโพสต์อิท
ผู้โจมตีอาจสามารถเข้าถึงระบบปฏิบัติการพื้นฐานที่โฮสต์เครื่องเสมือนของคุณได้
หากทำได้ ก็จะสามารถยกระดับสิทธิ์และเข้าถึงเครื่องเสมือนเครื่องอื่นที่โฮสต์บนอุปกรณ์เดียวกันนั้น
และมีผลให้สร้างเครื่องเสมือนหนี
เพื่อป้องกันการหลบหนีของเครื่องเสมือน
สิ่งสำคัญเสมอคือต้องแน่ใจว่าระบบปฏิบัติการเกสต์
ระบบปฏิบัติการโฮสต์ และไฮเปอร์ไวเซอร์ของคุณทั้งหมดยังคงแพตช์และอัปเดตอยู่เสมอ
ประการที่สองเรามี VM hopping หรือการกระโดดของเครื่องเสมือน
ตอนนี้ VM hopping เป็นการโจมตีประเภทหนึ่งที่ผู้คุกคามพยายามย้ายจากเครื่องเสมือนหนึ่งไปยังอีกเครื่องหนึ่งบนโฮสต์เดียวกัน
การโจมตี VM hopping จะมุ่งเน้นไปที่การใช้ประโยชน์จากไฮเปอร์ไวเซอร์ของซอฟต์แวร์เวอร์ชวลไลเซชันหรือคุณสมบัติบางอย่างเพื่อย้ายระหว่างเครื่องเสมือนสองเครื่องที่แยกออกจากกัน
ตอนนี้ VM hopping ฟังดูคล้ายกับ VM Escape แต่มีความแตกต่างที่สำคัญอย่างหนึ่งที่
VM hopping มุ่งเน้นไปที่การย้ายระหว่างเครื่องเสมือนเครื่องหนึ่งไปยังอีกเครื่องหนึ่ง
ในขณะที่เราพูดถึง VM Escape
จะเน้นไปที่การเข้าถึงไฮเปอร์ไวเซอร์หรือระบบปฏิบัติการโฮสต์
เพื่อป้องกันการกระโดดของ VM คุณควรตรวจสอบให้แน่ใจเสมอว่าไฮเปอร์ไวเซอร์ของคุณเป็นปัจจุบันและแพตช์อย่างถูกต้อง
นอกจากนี้ คุณต้องแน่ใจว่าระบบปฏิบัติการแขกและไฮเปอร์ไวเซอร์ของคุณได้รับการกำหนดค่าอย่างปลอดภัยโดยใช้คู่มือการกำหนดค่าแนวทางปฏิบัติที่ดีที่สุด
เพื่อให้แน่ใจว่าไม่มีการเชื่อมต่อที่ผิดพลาดระหว่างเครื่องเสมือนที่ควรแยกออกจากกัน
ประการที่สาม เรามีการหลบหนีแบบแซนด์บ็อกซ์
ปัจจุบัน แซนด์บ็อกซ์เป็นกลไกการรักษาความปลอดภัยที่ใช้เพื่อแยกกระบวนการและโปรแกรมที่กำลังทำงานอยู่
เพื่อลดความล้มเหลวของระบบหรือช่องโหว่ของซอฟต์แวร์ไม่ให้แพร่กระจาย
โดยทั่วไปแล้ว แซนด์บ็อกซ์ถูกสร้างขึ้นโดยใช้เครื่องเสมือนหรือคอนเทนเนอร์
ตัวอย่างเช่น เว็บเบราว์เซอร์มักใช้แนวคิดของแซนด์บ็อกซ์เพื่อแยกรหัสเว็บที่รันอยู่ออกจากระบบปฏิบัติการที่ได้รับการป้องกันหรือซอฟต์แวร์อื่นๆ
ในระบบ
ตอนนี้การหลบหนีจากแซนด์บ็อกซ์จะเกิดขึ้นเมื่อผู้โจมตีสามารถหลีกเลี่ยงการป้องกันแซนด์บ็อกซ์เพื่อเข้าถึงระบบปฏิบัติการที่ได้รับการป้องกันสำหรับกระบวนการพิเศษอื่นๆ
เพื่อปกป้องระบบของคุณจากการหลบหนีจากแซนด์บ็อกซ์
สิ่งสำคัญคือต้องแน่ใจว่าซอฟต์แวร์และระบบปฏิบัติการของคุณได้รับการแพตช์และอัปเดตอยู่เสมอ รวมทั้งต้องแน่ใจว่าคุณมีซอฟต์แวร์ป้องกันปลายทางที่แข็งแกร่งติดตั้งบนไคลเอนต์ของคุณ
และคุณจำกัดส่วนขยายหรือเพิ่ม- ที่ติดตั้งภายในเว็บเบราว์เซอร์ของคุณในกรณีของการป้องกันเว็บเบราว์เซอร์แซนด์บ็อกซ์หนี
ประการที่สี่ เรามีข้อกังวลบางประการที่จำเป็นต้องพูดถึงเช่นกัน
เมื่อเราคิดถึงเครื่องเสมือนและสภาพแวดล้อมเสมือนจริง
ซึ่งรวมถึงสิ่งต่างๆ เช่น การย้ายข้อมูลและส่วนที่เหลือของข้อมูล
ตอนนี้ ประโยชน์หลักประการหนึ่งของการใช้สภาพแวดล้อมเสมือนคือคุณสามารถย้ายเครื่องเสมือนจากโฮสต์หนึ่งไปยังอีกโฮสต์หนึ่งได้
แม้ในขณะที่เครื่องกำลังทำงานอยู่
สิ่งนี้เรียกว่าการย้ายข้อมูลสด
ขณะนี้การโยกย้ายนี้เกิดขึ้นผ่านเครือข่าย
ดังนั้น สิ่งสำคัญคือต้องตรวจสอบให้แน่ใจเสมอว่าการย้ายข้อมูลเกิดขึ้นผ่านเครือข่ายที่เชื่อถือได้หรือเครือข่ายที่ใช้การเข้ารหัสที่เหมาะสมระหว่างเซิร์ฟเวอร์ที่ตั้งค่าเครื่องเสมือนและเซิร์ฟเวอร์ที่รับเครื่องเสมือนนั้น
หากการโยกย้ายสดเกิดขึ้นผ่านการเชื่อมต่อที่ไม่ได้เข้ารหัส
จะมีความเป็นไปได้ที่ข้อมูลที่อยู่ในเครื่องเสมือนนั้นอาจถูกสอดรู้สอดเห็นหรือถูกบุกรุกโดยผู้โจมตีโดยใช้การโจมตีในเส้นทาง
เพื่อป้องกันปัญหานี้ ควรเข้ารหัสอิมเมจเครื่องเสมือนก่อนที่จะส่งจากเซิร์ฟเวอร์หนึ่งไปยังอีกเซิร์ฟเวอร์หนึ่งผ่านเครือข่าย
โปรดจำไว้ว่าเซิร์ฟเวอร์ไม่ได้เป็นเพียงอุปกรณ์ทางกายภาพที่อยู่ภายในศูนย์ข้อมูลของเราอีกต่อไป
แต่ยังเป็นเครื่องเสมือนที่เป็นเพียงไฟล์ที่อยู่ในระบบไฟล์บางประเภท
และไฟล์เหล่านี้อาจถูกขโมยโดยผู้โจมตี
ข้อกังวลหลักอีกประการหนึ่งเมื่อใช้เครื่องเสมือนในสภาพแวดล้อมระบบคลาวด์คือข้อมูลที่เหลืออยู่ซึ่งอาจหลงเหลืออยู่เมื่อคุณยกเลิกการจัดสรรเซิร์ฟเวอร์เสมือนส่วนเกิน
ผู้ให้บริการคลาวด์หลายรายใช้ที่เก็บข้อมูลแบบบล็อกที่สามารถอนุญาตให้ทิ้งข้อมูลที่ไม่ต้องการอีกต่อไปไว้ในอุปกรณ์เก็บข้อมูลของตน
หากไม่ได้ลบอย่างถูกต้อง ข้อมูลนั้นอาจถูกเข้าถึงโดยผู้ใช้ที่ไม่ได้รับอนุญาต
เพื่อบรรเทาภัยคุกคามของข้อมูลที่เหลืออยู่นี้
คุณควรเข้ารหัสตำแหน่งที่จัดเก็บเครื่องเสมือนของคุณเสมอ
และตรวจสอบให้แน่ใจว่าคีย์การเข้ารหัสถูกทำลายเมื่อใดก็ตามที่ไม่จำเป็นต้องใช้เครื่องเสมือนอีกต่อไปและถูกยกเลิกการจัดสรร
สิ่งสุดท้ายที่เราต้องครอบคลุมในแง่ของความปลอดภัยคือ
VM sprawl หรือที่เรียกว่า virtual machine sprawl
ตอนนี้การแผ่กิ่งก้านสาขาของเครื่องเสมือนคือการปรับใช้เครื่องเสมือนตั้งแต่หนึ่งเครื่องขึ้นไปโดยไม่มีการควบคุม
นี่เป็นช่องโหว่ขนาดใหญ่สำหรับคุณในฐานะองค์กร
เนื่องจากคุณมี VM อันธพาลเหล่านี้ซึ่งติดตั้งโดยไม่ได้รับอนุญาตทั่วทั้งเครือข่ายของคุณ
ตอนนี้หมายความว่าการจัดการระบบไม่ได้ดำเนินการกับเครื่องเหล่านั้น
เพราะคุณไม่รู้ว่ามีอยู่
และเนื่องจากคุณไม่ทราบว่ามีอยู่
คุณจึงไม่ได้ทำการแพตช์ความปลอดภัยและอัปเดตและวางโซลูชันป้องกันมัลแวร์หรือโปรแกรมป้องกันไวรัสเพื่อป้องกันเครื่องเหล่านั้น
ด้วยเหตุนี้ VM เหล่านี้จึงไวต่อการโจมตีมาก
และหากผู้โจมตีสามารถค้นพบหนึ่งใน VM อันธพาลเหล่านี้ซึ่งเกิดจากการแผ่ขยายของ
VM พวกเขาจะสามารถเข้าไปโจมตีสิ่งนั้นและรับสิ่งนั้นเป็นจุดหมุนไปยังส่วนที่เหลือของเครือข่ายของคุณ จากนั้นจึงลองใช้
VM หลบหนี หรือ VM ข้ามไปยังส่วนอื่น ๆ ของเครือข่ายของคุณ
ดังนั้นโปรดจำไว้เสมอ เนื่องจากการแพร่กระจายของ
VM นี้เป็นปัญหาใหญ่ โดยเฉพาะอย่างยิ่งหากคุณมีผู้รับเหมาและนักพัฒนาจำนวนมากที่ทำงานบนเครือข่ายของคุณ
และพวกเขาไม่ได้เป็นส่วนหนึ่งของทีมปกติของคุณ และพวกเขาไม่ได้ติดตามการเปลี่ยนแปลงตามปกติของคุณ กระบวนการควบคุม
อีกครั้งในบทเรียนนี้ เราได้พูดคุยเกี่ยวกับข้อกำหนดด้านความปลอดภัยบางประการที่คุณควรคำนึงถึงและช่องโหว่บางประการที่อาจขัดกับข้อกำหนดด้านความปลอดภัยเหล่านั้น
ซึ่งรวมถึงสิ่งต่างๆ เช่น VM Escape, VM Hopping,
Sandbox Escape และ Virtual Machine