Ocultar datos en sistemas de archivos

Ocultar datos en sistemas de archivos

Quiero ocultar algunos archivos de modo que ni siquiera ls -apueda encontrarlos. No estoy hablando de agregar '.' delante del nombre del archivo. Estaba pensando si podría crear llamadas al sistema separadas para acceder a esos archivos. La necesidad real es ocultar algunos archivos de registro al usuario. Estoy almacenando los datos MAC de algunos archivos y no quiero que el usuario vea esos archivos de registro. Actualmente sólo conozco una forma de ocultar datos, es decir, añadiendo '.' delante del nombre del archivo. Pero el usuario puede ver el archivo mediante una simple llamada ls -a. Entonces quiero saber si hay alguna otra forma de ocultar esos datos de registro.

Respuesta1

Como otros han señalado, si el propósito de esto es obstaculizar el acceso a un archivo persistente, ocultarlo probablemente sea un enfoque incorrecto. En este caso, el uso de medidas adecuadas de control de acceso o incluso criptografía, si la aplicación lo amerita, podría ser una solución. Por otro lado, crear "ocultos"temporariofiles es un caso de uso perfectamente legítimo.

En Linux, desde la versión 3.11 del kernel,open()La llamada al sistema admite la O_TMPFILEbandera, que se puede usar para crear archivos temporales sin nombre. Cuando se utiliza esta bandera, elnombre de rutaEl argumento to open()se utiliza para especificar un directorio bajo el cual se crea un inodo sin nombre. Sin embargo, como el principal caso de uso O_TMPFILEes, como su nombre lo indica, la creación detemporarioarchivos, esto no es adecuado para el almacenamiento persistente ya que el archivo se perderá cuando se cierre el último descriptor de archivo, a menos que se le dé un nombre al archivo. Al archivo se le puede dar un nombre con ellinkat()llamada al sistema, a menos que O_EXCLse haya especificado el indicador además de O_TMPFILE, en cuyo caso se evita vincular el archivo al sistema de archivos.

La funcionalidad agregada recientemente O_TMPFILEes importante porque se puede utilizar para proporcionar las siguientes propiedades a archivos temporales:

  1. Creación libre de condiciones de carrera.
  2. Eliminación automática al cerrar.
  3. Inalcanzable a través de cualquier nombre de ruta.
  4. No sujeto a ataques de enlaces simbólicos.
  5. No es necesario que la persona que llama idee nombres únicos.

Además, la funcionalidad se puede utilizar para crear archivos que inicialmente son invisibles, momento en el cual se pueden ajustar los atributos apropiados del sistema de archivos en el archivo, antes de vincularlo al sistema de archivos en una operación atómica. Esto puede usarse para evitar ciertosTOCTOUcondiciones de carrera.

Un inconveniente de la O_TMPFILEbandera es que solo un subconjunto de sistemas de archivos la admiten. Inicialmente se proporcionó soporte en los sistemas de archivos ext2, ext3, ext4, UDF, Minix y shmem. La compatibilidad con XFS se agregó en Linux 3.15.

Respuesta2

No importa qué separación hagas, el root aún podrá acceder a ella, por lo que solo tendrás seguridad a través de la oscuridad, lo cual no es realmente seguro. Si desea ocultar el acceso a otros usuarios, puede utilizar el permiso para ello. Negar permisos de lectura a archivos o directorios logrará lo que desea.

Respuesta3

El investigador de seguridad The Grugq ha descubierto una técnica que él llama "puño", "Técnica de subversión e inserción de sistemas de archivos". Sus presentaciones se leen como si hubiera colocado sistemas de archivos en lugares extraños, como archivos de diario EXT3, archivos de directorio y archivos de "bloques defectuosos". Esto parece recomendar seguridad a través de la oscuridad, pero ¿puedes hacer algo como ¿eso?

Respuesta4

Si desea evitar que otros usuarios (incluido el root) lean sus archivos, puede cifrarlos. Si también desea ocultar los nombres de los archivos, puede darles nombres falsos o utilizar un contenedor de archivos cifrados como TrueCrypt. En ese caso, el root seguirá accediendo a los archivos cuando el sistema de archivos esté montado.

información relacionada