VM ปลอดภัยกว่าคอนเทนเนอร์หรือไม่

เรามักพูดว่า“ HTTPS ปลอดภัย” หรือ“ HTTP ไม่ปลอดภัย” แต่สิ่งที่เราหมายถึงก็คือ“ HTTPS ยากที่จะสอดแนมและทำให้การโจมตีจากคนตรงกลางทำได้ยาก” หรือ“ ยายของฉันไม่มีปัญหาในการสอดแนม HTTP”

อย่างไรก็ตาม HTTPS ถูกแฮ็กและในบางสถานการณ์ HTTP มีความปลอดภัยเพียงพอ นอกจากนี้หากฉันพบข้อบกพร่องที่หาประโยชน์ได้ในการใช้งานทั่วไปที่รองรับ HTTPS (คิดว่า OpenSSL และ Heartbleed) HTTPS อาจกลายเป็นเกตเวย์การแฮ็กได้จนกว่าการใช้งานจะได้รับการแก้ไข

HTTP และ HTTPS เป็นโปรโตคอลที่กำหนดไว้ใน IETF RFCs 7230-7237 และ 2828 HTTPS ได้รับการออกแบบให้เป็น HTTP ที่ปลอดภัย แต่การบอกว่า HTTPS นั้นปลอดภัยและ HTTP ยังไม่ซ่อนข้อยกเว้นที่สำคัญ

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

เหตุใดฉันจึงเชื่อว่า VM ปลอดภัยกว่าคอนเทนเนอร์

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

คอนเทนเนอร์เป็นตัวอย่างของการแบ่งและพิชิตที่ใช้ในแนวนอนกับแอปพลิเคชัน ด้วยการล็อกแต่ละแอปพลิเคชันไว้ในคุกของตัวเองจุดอ่อนของแอปพลิเคชันเดียวจะไม่ทำให้แอปพลิเคชันในคอนเทนเนอร์อื่นลดลง VMs ยังแบ่งและพิชิต แต่พวกเขาไปอีกขั้นในการแยก

มาวิน Waschke /

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

+ นอกจากนี้ใน Network World: ราคาไหนถูกกว่า: ตู้คอนเทนเนอร์หรือเครื่องเสมือน? +

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

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

VM เหนือศีรษะ

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

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

ช่องโหว่ของ Hypervisor

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

สถาปัตยกรรมที่แข็งแกร่งยังคงมีข้อบกพร่องในการใช้งานที่ทำให้ระบบอ่อนแอลงอย่างมาก การละเมิดของไฮเปอร์ไวเซอร์มักถูกหลอกโดยอ้างว่าพวกเขาจะไม่มีวันเกิดขึ้น: เรื่องราวดังกล่าวเกิดขึ้นว่าไฮเปอร์ไวเซอร์นั้นเรียบง่ายเขียนได้ดีดังนั้นจึงได้รับการตรวจสอบอย่างรอบคอบว่าพวกเขาไม่เคยล้มเหลว การละเมิดไฮเปอร์ไวเซอร์อาจร้ายแรงพอ ๆ กับ WannaCry แต่ไม่ต้องกังวลไป แต่ Heartbleed ก็เกิดขึ้น และ OpenSSL มีบรรทัดโค้ดน้อยกว่าไฮเปอร์ไวเซอร์ ฉันต้องออกไปเดี๋ยวนี้ - หมูบินของฉันต้องการฮอกวอชมากกว่านี้

ฉันไม่รู้ว่ามีการละเมิดไฮเปอร์ไวเซอร์ที่สำคัญใด ๆ จนถึงปัจจุบัน แต่การดูฐานข้อมูล Common Vulnerabilities and Exposures (CVE) อย่างรวดเร็วพบว่านักวิจัยพบจุดอ่อนของไฮเปอร์ไวเซอร์ที่หาประโยชน์ได้ นักพัฒนาและผู้จำหน่ายไฮเปอร์ไวเซอร์ได้แก้ไขช่องโหว่อย่างรวดเร็วเมื่อเกิดขึ้น ในเดือนมีนาคม 2017 Microsoft ได้ออก Security Bulletin MS17-008 โดยมีการบันทึกช่องโหว่ที่ได้รับการแก้ไข 7 ช่องในไฮเปอร์ไวเซอร์ Hyper-V ซึ่งกำหนดไว้ทั้งหมดที่สำคัญหรือสำคัญ

ฉันยังเชื่อว่า VM ให้ความปลอดภัยที่ดีกว่าคอนเทนเนอร์ แต่เราต้องดูความปลอดภัยของระบบ VM ด้วยตาที่ชัดเจน ฉันวางแผนที่จะหารือเกี่ยวกับจุดอ่อนของไฮเปอร์ไวเซอร์โดยละเอียดในอนาคต นอกจากนี้คอนเทนเนอร์และ VM มักจะรวมกัน ยังมีอีกมากที่จะต้องพูด