Ejecute una aplicación no confiable de manera segura a través del comando sandbox-exec

5

Estoy intentando ejecutar una aplicación potencialmente no confiable sin los siguientes permisos, a través del comando sandbox-exec :

  1. escritura de archivos (para evitar la corrupción / inyección de archivos)
  2. red (para evitar la comunicación fuera de mi red)
  3. creación de procesos (para evitar bifurcaciones)
  4. acceso a los datos del sistema (para evitar la corrupción del sistema)

Supongamos que necesito ejecutar mi aplicación MyApp . Sé que es posible crear un perfil myprofile.sb como el siguiente, pero no estoy seguro de que todo esté incluido.

(version 1)
(allow default)
# bullet point #1
(deny file-write*)
(deny file-write-data)
# bullet point #2
(deny network*)
# bullet point #3
(deny process-fork)
(deny job-creation)
(deny process-exec)
# bullet point #4
(deny sysctl-write)
# logging every action possible
(trace "/tmp/myapp_output.sb")
(debug all)

En este punto, ejecuto el siguiente comando para ejecutar MyApp de forma segura:

sandbox-exec -f ./myprofile.sb MyApp

Si ejecuto comandos de ejemplo (por ejemplo, ping google.it o touch /tmp/file.txt ), los comandos se ejecutan correctamente. ¿Por qué? ¿Me estoy perdiendo algo?

    
pregunta auino 14.03.2017 - 11:00

1 respuesta

1

Sé que es una pregunta antigua, pero tal vez alguien encuentre útil la respuesta.

La operación trace genera reglas en el archivo de salida dado.

  

Estas reglas son para operaciones que se habrían denegado .   (fuente: Guía de Apple Sandbox )

Lo que significa: las operaciones no son denegadas por las reglas de denegación si el operador trace está en el archivo de perfil.

    
respondido por el peterfoldi 29.09.2017 - 18:58

Lea otras preguntas en las etiquetas