En mis clases de seguridad de TI solía repasar estos términos y me costaba distinguirlos, así que intenté descubrir sus diferencias:
Sandboxing : mecanismo de defensa contra código móvil , que se ejecuta en un entorno de tiempo de ejecución separado. El código y los datos se separan para evitar que el programa se modifique. Esto se usa para aplicaciones pequeñas como applets en la JVM.
Interpretación : mecanismo de defensa contra código móvil . Se impide el acceso directo al hardware y se interpretan y analizan todas las direcciones y llamadas del sistema. Los navegadores web utilizan esta técnica a expensas del rendimiento.
Jailing : mecanismo de defensa contra un programa desconocido . Todas las llamadas al sistema de un prisionero supervisado del programa están controladas por otro encargado del programa que también puede interceptarlas y bloquearlas.
¿Son válidas estas definiciones o hay más diferencias / similitudes que no vi? Especialmente algunos escenarios del mundo real serían útiles, por ejemplo, sé que el sandboxing se utiliza en la JVM como parte de la seguridad de Java.