4 votos

Ejecutar una aplicación no fiable de forma segura a través del comando sandbox-exec

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

  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 con seguridad:

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é? ¿Se me escapa algo?

1voto

peterfoldi Puntos 111

Sé que es una pregunta antigua, pero quizás alguien encuentre útil la respuesta.

El rastrear genera reglas en el archivo de salida dado.

Estas normas son para las operaciones que se le habría negado . (fuente: Guía de Apple Sandbox )

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

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X