VM sandbox - จะเกิดอะไรขึ้น


2

VM sandbox ทำอย่างไรกันแน่? แน่นอนว่ามันยังคงใช้ทรัพยากรฮาร์ดแวร์เดียวกันและระบบปฏิบัติการพื้นฐานเดียวกันอยู่ใช่ไหม ฉันไม่เข้าใจว่าทำไม VMs หลายตัวในระบบปฏิบัติการถึงปลอดภัย แต่แอปพลิเคชัน / กระบวนการหลายอย่างอาจไม่ปลอดภัย

มีอะไรพิเศษเกี่ยวกับสถาปัตยกรรม VM?


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

คำตอบ:


2

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

ตัวอย่างเช่นสมมุติว่าโปรแกรม A ต้องการสร้างไฟล์ชื่อ document.txt

โดยปกติไฟล์นี้จะถูกสร้างขึ้นบนฮาร์ดไดรฟ์โดยตรง แต่ถ้าโปรแกรม B ต้องการใช้document.txtอย่างอื่นล่ะ?

ภายในกล่องทรายฮาร์ดไดรฟ์ไม่มีอยู่จริง ทั้งหมดที่มีอินเทอร์เฟซที่อ้างว่าเป็นฮาร์ดไดร document.txtโปรแกรมประยุกต์ที่สามารถอ่านได้จากมันและโปรแกรมประยุกต์ที่สามารถเขียนไปและจากจุดของโปรแกรมประยุกต์ในมุมมองของมันดูเหมือนว่ามันเป็นเพียงการใช้โปรแกรม

แต่เนื่องจาก sandbox ที่สามารถมองเห็นและสกัดกั้นทุกอย่างว่าโปรแกรมประยุกต์ไม่ข้อมูลที่โปรแกรมที่เขียนdocument.txtจะถูกเก็บไว้อย่างปลอดภัยโดย Sandbox ในแฟ้มพิเศษที่สงวนไว้เฉพาะสำหรับโปรแกรม A. เมื่อโปรแกรมอ่านจากdocument.txt, sandbox ที่ฟีดมัน ข้อมูลจากไฟล์พิเศษของโปรแกรม A


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

วิธีที่ง่ายกว่าที่จะคิดเกี่ยวกับมันเป็นเช่นนี้:

โดยปกติแล้ว Windows จะบอกคอมพิวเตอร์ว่าจะต้องทำอย่างไร ด้วย Windows ที่อยู่ใน VM ในฐานะ "ระบบปฏิบัติการของแขก" Guest-Windows จะบอก VM ว่าจะทำอย่างไรและถ้า VM คิดว่ามันใช้ได้ OK จากนั้น VM จะหันกลับและบอกคอมพิวเตอร์ให้ทำสิ่งเดียวกัน หาก VM ไม่ชอบสิ่งที่ Guest-Windows พยายามทำมันจะบล็อกมัน เนื่องจากวิธีการใช้งานนี้ Guest-Windows ไม่ทราบแน่ชัดว่ากำลังทำงานอยู่ใน VM หรือไม่และเนื่องจาก VM มีการควบคุมที่สมบูรณ์อยู่เสมอGuest-Windows จะต้องอยู่ภายในกฎที่กำหนดโดย VM


นี่คือการทำให้เข้าใจง่ายมาก แต่หวังว่ามันจะอธิบายแนวคิด
Darth Android
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.