¿Cómo funciona la zona de pruebas del motor de la aplicación Google? ¿Qué tendría que hacer para crear mi propia caja de arena (para permitir de forma segura a mis clientes ejecutar sus aplicaciones en mi motor sin darles la capacidad de formatear mi unidad de disco)? ¿Es solo magia de cargador de clases, manipulación de bytes o algo así?¿Cómo funciona el sandbox del motor de la aplicación Google?
Respuesta
En el caso de Java, creo que se hace principalmente mediante la restricción de las bibliotecas disponibles. Como Java no tiene un concepto de puntero y no puede cargar código compilado de forma nativa (solo código de byte JVM), no puede salir del entorno limitado. Agregue un poco de programación apretada del proceso, ¡y listo!
Supongo que la parte más difícil es elegir las bibliotecas, para que sea útil mientras se está a salvo.
En el caso de Python, tuvieron que modificar la máquina virtual en sí, porque no se diseñó teniendo en cuenta la seguridad. Afortunadamente, tienen el propio Guido para hacerlo.
Probablemente necesites una combinación de un cargador de clases restrictivo y un conocimiento completo del Java Security Architecture. Probablemente ejecutará su JVM con un SecurityManager muy estricto especificado.
Nota importante: SecurityManager NO le permite restringir el uso de la memoria del montón ni el uso de la CPU. No tiene otra opción que generar procesos separados para cada tarea/script. – Zorkus
para permitir con seguridad mis clientes ejecutar sus aplicaciones en mi motor sin darles la posibilidad de formatear el disco
Esto se puede lograr fácilmente usando el Administrador de seguridad de Java. Refiera this respuesta para un ejemplo.
Se puede lograr, pero no fácilmente, incluso con 'SecurityManager' es toda una tarea. – Gautam
- 1. Implementación OSS del motor de la aplicación Google?
- 2. sesión en el motor de la aplicación de Google
- 3. ¿es posible eliminar "Google Frontend" del encabezado de respuesta del motor de la aplicación de Google?
- 4. ¿El motor de la aplicación Google admite JDBC?
- 5. Uso de Google Chrome Sandbox
- 6. velocity framework en el motor de la aplicación de google
- 7. Javascript del lado del servidor en el motor de la aplicación de Google
- 8. ¿Cuál es la mejor manera de perfilar/optimizar la aplicación del motor de la aplicación Google?
- 9. problema con el autoescape de jinja2 en la aplicación del motor de aplicaciones de Google
- 10. proveedor de motor de aplicación google oauth2
- 11. Comprobando si la entidad existe en el almacén de datos del motor de la aplicación google.
- 12. curl en el motor de la aplicación
- 13. Cargue el archivo .war en el motor de la aplicación Google (GAE) usando la aplicación
- 14. obtener de Android a Google motor de la aplicación
- 15. Google Analytics Realtime Sandbox Entorno
- 16. limitaciones de api del canal del motor de la aplicación de google
- 17. servicio de motor de la aplicación de google no disponible
- 18. Problema de codificación de cadena de datastore del motor de la aplicación de Google
- 19. ¿Qué es la expansión de la plantilla y cómo podemos reducirla si nuestra aplicación del motor de la aplicación google?
- 20. Cómo ejecutar el proyecto maven en el motor de la aplicación google
- 21. Cómo usar la sesión en el motor de la aplicación de Google
- 22. ¿Cómo funciona el motor de simulación Simulink?
- 23. Acceder a los correos electrónicos de Gmail a través del motor de la aplicación de Google
- 24. ¿Cómo se usa numpy en el motor de la aplicación de google (Python)
- 25. https sólo en motor de aplicación de Google
- 26. ¿Cómo obtengo una lista de espacios de nombres en el motor de la aplicación de Google?
- 27. Cómo funciona un motor RegEx
- 28. Sandbox IronPython?
- 29. Desactivar el escaneo taglib en el motor de la aplicación de google (Jetty)
- 30. ¿podemos usar cassandra/couchdb/mongodb con la infraestructura del motor de la aplicación Google?
eliminé la etiqueta de gas porque no creo que represente sandbox de la aplicación google, y no creo que gnu assembler esté relacionado con esta pregunta. –
Lo siento, podría haber escrito mal algo, he creado esta pregunta a través de un dispositivo portátil sin teclado. – Shahbaz