Contexto: competición AI. Los usuarios cargan una DLL con una clase que implementa una interfaz provista, luego el corredor de competencia crea una instancia de esa clase e invoca varios métodos en la interfaz.
Obviamente, esto significa que estoy permitiendo intencionalmente que los usuarios ejecuten el código que deseen siempre que lo envuelvan en un punto de entrada que se parezca a mi interfaz.
En este momento es un asunto interno de la compañía, por lo que confiamos al 100% en todos los empleados ( no hay discusión de esto, por favor ), pero sería bueno poder hacerlo más público. / p>
¿Es posible hacer que un sistema como este sea seguro? ¿Cómo se puede hacer la caja de arena de los archivos DLL? Actualmente se está ejecutando en Azure. ¿Supongo que la caja está respaldada por algunas cosas automatizadas de Azure? (No configuré el cuadro de Azure)
A) ¿Puedo evitar que interactúen con cualquier otra cosa en la caja? B) ¿Puedo evitar que accedan a cualquier cosa fuera del cuadro de Azure? C) ¿Puedo evitar que accedan a las copias de seguridad de Azure (es decir, si digo que no me importa si destruyen la caja, porque podría restaurar desde una copia de seguridad, entonces es seguro?)