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