Fortalecimiento de la seguridad de la máquina del tiempo

Ante la noticia de que ahora existe un ransomware para mac, pensé en la seguridad de mis copias de seguridad de la máquina del tiempo.

permisos

Primero, eché un vistazo a los permisos de los archivos que residen en mi timecapsule, que son los siguientes:

Directorio de datos

Usuario (desconocido) Leer y escribir

Grupo (todos) Leer y escribir

Sparsebundles individuales por computadora respaldada dentro de Data Directory

Usuario (desconocido) Leer y escribir

Grupo (personal) Leer y escribir

Grupo (todos) Leer y escribir

Parece que hay margen de mejora aquí. Primero, no entiendo por qué aparece un usuario desconocido. ¿Hay alguna razón para esto o puedo eliminar este artículo? En segundo lugar, ¿hay alguna necesidad de otorgar permisos de lectura y escritura a "todos" y al "personal"?

Si entiendo correctamente, las copias de seguridad de Time Machine son ejecutadas por el proceso de copia de seguridad que, en mi computadora, se ejecuta como usuario raíz . Por lo tanto, parece que solo el usuario raíz debe tener acceso de lectura y escritura. ¿Es eso correcto? ¿Puedo eliminar los permisos existentes y agregar un usuario "raíz" con permisos de lectura y escritura?

Por último, ¿proporcionaría este cambio una nueva línea de defensa contra el ransomware? Si un ransomware se ejecuta como un usuario normal X y no obtiene la raíz, podría encriptar todos los archivos a los que X tiene acceso de escritura, pero no podría encriptar las copias de seguridad de la máquina del tiempo, porque solo la raíz tiene acceso a ellos. ¿Es correcta esta línea o razonamiento?

Ejecutando OSX El Capitán, 10.11.3.

Respuestas (2)

Actualización después de la discusión con bmike (ver más abajo)

Durante una copia de seguridad real de Time Machine, la copia de seguridad monta dos recursos compartidos. /Volumes/Whatever y /Volumes/Time Machine Backups. Mientras que el primero no puede ser accedido por un usuario que no sea root, el segundo sí puede. De hecho, es posible borrar las ACL de los archivos y sobrescribirlos posteriormente. Así que el tema de la seguridad está abierto de par en par.

respuesta original

Pensando un poco más en el sistema de montaje subyacente, llegué a la conclusión de que mi pregunta original contenía una suposición equivocada, cuya eliminación quizás haga que la pregunta quede obsoleta. Decidí escribir una respuesta en lugar de eliminar la pregunta en beneficio de los igualmente equivocados.

Cuando verifiqué los permisos de mis archivos sparsebundle, monté manualmente el disco Time Capsule. Debido a que monté el disco como un usuario normal, este usuario se convirtió en el propietario del punto de montaje (verificando en la terminal, puedo ver que mi cuenta de usuario es el propietario del punto de montaje, siendo "personal" el grupo).

Ahora mi suposición (que no era transparente para mí) era que si Time Machine monta el disco durante una sesión de copia de seguridad, estaría presente en el sistema como si lo montara manualmente. Pero esto está mal. Dado que la copia de seguridad se ejecuta como raíz, el punto de montaje pertenece a la raíz (verificando en la terminal, el propietario es "raíz", el grupo es "rueda", el grupo y el mundo no tienen derechos) y por lo tanto un proceso que pertenece a una normal el usuario no podría cifrar archivos en un disco de Time Machine montado por copia de seguridad .

Por lo tanto, en una configuración de Time Capsule no parece haber, por el momento, el peligro de un ransomware para cifrar la copia de seguridad. Sin embargo, podría ser diferente con un disco duro externo conectado localmente. Recuerdo vagamente que cuando todavía usaba un disco duro externo, podía ver la partición de Time Machine montada en Finder (algo que no veo ahora) y, por lo tanto, podría estar montada con derechos de usuario. No puedo probar esto, ya que no tengo un disco duro externo de máquina del tiempo, pero tal vez alguien más pueda decir algo al respecto.

Le doy un +1 por pensar en esto y plantear no solo el problema, sino también proponer una respuesta. Sin embargo, no estoy de acuerdo con su evaluación de la seguridad de las copias de seguridad. La protección del punto de montaje solo evita errores casuales y no un programador mínimamente competente. Incluso si el punto de montaje está protegido, siempre que el código funcione archivo por archivo, no se necesita permiso de root para manipular los archivos del usuario.
@bmike, no estoy seguro de entender su comentario sobre mi evaluación. ¿Me entendiste diciendo que solo el punto de montaje pertenece a la raíz, pero los archivos en el montaje no? Este no es el caso: el punto de montaje y todos los archivos en el montaje pertenecen a la raíz. Por lo tanto, la seguridad simplemente sigue el paradigma de permisos de Unix. Se necesitaría más que un programador mínimamente competente para descifrar esto, ya que parece que para descifrar esto, uno necesitaría obtener acceso de root.
Mira mi respuesta. No solo no se necesita sudo/root, sino que los no administradores podrían sabotear sus archivos de usuario (pero no los archivos de otro usuario)

Las copias de seguridad de Time Machine están protegidas principalmente por ACL que niega el permiso para que cualquier persona escriba en un archivo.

$ ls -le /Volumes/Whatever/Backups.backupdb/Mac/Latest/Macintosh\ HD/Users/me/Desktop/file.text 
-rw-r--r--@ 1 me    staff  - 14 Mar  8 11:54 /Volumes/Whatever/Backups.backupdb/Mac/Latest/Macintosh\ HD/Users/me/Desktop/file.text
0: group:everyone deny write,delete,append,writeattr,writeextattr,chown

Para que un programa malicioso cambie un archivo en el subsistema de respaldo, primero necesitaría leer y eliminar cualquier ACL y luego podría realizar un cambio en un archivo que está almacenado en el directorio de Time Machine.

$ chmod -a# 0 /Volumes/Whatever/Backups.backupdb/Mac/Latest/Macintosh\ HD/Users/me/Desktop/file.text 

Después del comando anterior, el archivo está abierto a modificaciones o eliminación total.

El código del programa no necesitaría ningún acceso raíz especial, solo que se ejecutó con un usuario administrador normal para realizar este cambio y luego poder escribir en los archivos.

Ni el sandboxing ni la Protección de integridad del sistema evitarían que cualquier proceso malicioso que se ejecute como administrador cifre/modifique/elimine archivos de datos de usuario en una unidad de copia de seguridad que se pueda montar (unidades de red) o que esté conectada y ya montada.

Para fortalecer sus copias de seguridad, necesitaría tener una copia fuera de línea de una forma u otra, suponiendo que el mal actor sepa verificar y modificar/eliminar ACL antes de que lo manipule.

Revisaría las opciones de encriptación para proteger algunos archivos que no puede permitirse un programa aleatorio para reducir y, opcionalmente, no almacenar su clave de encriptación para un segundo volumen de respaldo en su llavero.

De esa forma, el primer destino de la copia de seguridad podría ejecutarse con frecuencia pero ser vulnerable al malware. El segundo destino le avisará cada dos semanas más o menos que está desactualizado si no lo monta e inicia una copia de seguridad más manual.

No es lo ideal, pero presumiría que Apple podría rediseñar el sistema si este riesgo potencial se convierte en un riesgo real con el tiempo en OS X. lo más probable es que Apple prohíba que se ejecute en máquinas que opten por la protección Gatekeeper. En este caso, parece que tomó menos de 48 horas desde el anuncio público de la amenaza al remedio para desactivarlo disponible en Apple.

Usando una cuenta de administrador, no puedo reproducir esto. ls -le /Volumes/MyBackup/Imac.sparsebundle me da permiso denegado a menos que sudo. Tampoco puedo chmod -a# 0 en un archivo propiedad de root (creé un archivo de prueba, porque no quiero meterme con mis copias de seguridad), ya que me da Operación no permitida.
Phillip y yo tuvimos una breve sesión de control de calidad en el chat para verificar los hallazgos aquí si alguien está interesado.
Problema resuelto. Durante una copia de seguridad real de Time Machine, la copia de seguridad monta dos recursos compartidos. /Volumes/Whatever y /Volumes/Time Machine Backups. Mientras que el primero no puede ser accedido por un usuario que no sea root, el segundo sí puede. De hecho, es posible borrar las ACL de los archivos y sobrescribirlos posteriormente. Así que el tema de la seguridad está abierto de par en par.
no se puede reproducir en la última versión de macOS. no /Volumes/Time Machine Backupsse crea y sin sudo no puedo eliminar cosas de la copia de seguridad real y el cambio de ACL también requiere privilegios elevados.