¿Cuánto podemos confiar en los permisos del sistema de archivos para la seguridad?


31

Mi pregunta es sobre los permisos del sistema de archivos (específicamente los permisos de estilo Unix) y cómo se relacionan con la seguridad.

Digamos que tengo acceso a una computadora con una cuenta de usuario invitado y un usuario llamado Bob. No sé la contraseña de Bob, pero puedo usar la cuenta de invitado. La cuenta de invitado no tiene absolutamente ningún permiso de lectura para todos los archivos de Bob, por lo que no puedo leer ninguno de los archivos de Bob mientras estoy conectado como invitado.

Sin embargo, desde una verdadera perspectiva de "adversario", tengo acceso completo a este disco sin cifrar. Podría crear una imagen, guardarla para más adelante, ejecutar algún otro sistema operativo para simplemente leer los archivos de Bob e ignorar la configuración de permisos del sistema de archivos.

De esto, llego a la pregunta:

  1. Una configuración de permisos del sistema de archivos en un disco sin cifrar es solo un indicador, ¿correcto? Y lo único que me impide leer archivos para los que no tengo permiso es el hecho de que el sistema operativo dirá "Oh, no puedes leer eso, no tienes permiso". Ese archivo todavía está en el disco en forma cruda y podría leerlo simplemente ignorando los indicadores del sistema de archivos (por ejemplo, a través de un sistema operativo de arranque con sombra que simplemente ignora los permisos). ¿Es todo esto correcto?

Ahora digamos que no tengo acceso directo al disco, y solo estoy entrando en una máquina. No tengo permiso para leer ninguno de los archivos de Bob. Realmente no hay nada que pueda hacer al respecto, ¿correcto?

  1. Dados mis permisos limitados, simplemente no puedo acceder a los archivos de Bob, no importa cuánto lo intente, ¿no? ¿Qué pasa si uso algún exploit para obtener acceso de root? ¿Puedo pasar ahora por alto los indicadores de permiso del sistema operativo? ¿Es esto algo que sucede alguna vez?

44
si y si. parece entender los conceptos relacionados correctamente. Se requerirá una escalada de ataques de privilegio para evitar los permisos si no puede obtener acceso físico al sistema.
Frank Thomas

2
¿No sería una buena idea migrar esto a Security.SE ? Parece el lugar más lógico para ello.
Chris Cirefice

3
@ChrisCirefice Una profundización en el concepto de seguridad garantizaría una migración. Pero esta es una pregunta muy básica sobre la comprensión de los permisos del sistema de archivos y su papel específico en el concepto de seguridad del sistema, por lo que se aplica a este Súper Usuario mucho más.
JakeGould

Respuestas:


31

Respuesta más corta

Si tiene acceso físico a un sistema informático (PC o sistema de almacenamiento de datos) y la única "protección" establecida son los permisos de archivos, no tiene protección al 100%.

Esos datos no encriptados pueden copiarse y clonarse con un esfuerzo mínimo, casi sin herramientas, aparte de tener otro dispositivo con el que pueda conectarse al disco del sistema para hacer una copia de los datos.

Y sí, es posible que algunos aspectos evidentes de la penetración física deban tener en cuenta el acceso a nivel físico; como asegurarse de que no queden huellas dactilares y que también se traten los sellos "a prueba de manipulación". Pero, sinceramente, a la gran mayoría de los sistemas se les puede quitar físicamente sus unidades para obtener una copia física de los datos, y el usuario final nunca lo sabrá mejor. Si tiene la unidad, tiene la unidad y luego tiene los datos si no está encriptada.

Esta es la razón por la cual el cifrado por usuario o el cifrado de disco completo es tan importante hoy en día; Las computadoras portátiles y otros dispositivos informáticos portátiles son una parte tan importante del mercado hoy en día que el riesgo de pérdida de datos por robo de dispositivos o préstamos casuales de una PC es mucho mayor que nunca antes.

Si el disco no está encriptado, los datos que contiene son un libro abierto listo para ser leído. Este concepto no se limita a las máquinas Linux / Unix, sino a cualquier sistema operativo en cualquier lugar; Si tiene acceso físico a un sistema sin cifrar, tiene el sistema.

Dicho esto, los permisos de archivos son una medida de seguridad útil para servidores remotos de todo tipo.

Respuesta larga

Mi pregunta es sobre los permisos del sistema de archivos (específicamente los permisos de estilo Unix) y cómo se relacionan con la seguridad.

Primero, tenga en cuenta que la seguridad en las computadoras, y todo, es realmente un elemento disuasorio que ralentiza las cosas y no necesariamente proporciona seguridad absoluta.

Por ejemplo, la pieza de seguridad más débil en cualquier edificio físico es la puerta que tiene que abrir al entrar / salir o la ventana que tiene que abrir para permitir que entre aire. Sí, puede cerrar puertas y ventanas y configurar alarmas, pero si alguien realmente quiere acceder a algo, y tienen el tiempo, los recursos, la riqueza y el esfuerzo para lograrlo, tendrán acceso a él.

Digamos que tengo acceso a una computadora con una cuenta de usuario invitado y un usuario llamado Bob. No sé la contraseña de Bob, pero puedo usar la cuenta de invitado. La cuenta de invitado no tiene absolutamente ningún permiso de lectura para todos los archivos de Bob, por lo que no puedo leer ninguno de los archivos de Bob mientras estoy conectado como invitado.

El problema aquí es el contexto de acceso. Si tiene acceso físico a una computadora, casi todo es posible. Pero si solo está conectado a través de una conexión remota, a través de una red de algún tipo, entonces la propiedad del sistema de archivos es definitivamente un método efectivo de seguridad. Y en el caso de los servidores Linux / Unix, los permisos y la propiedad son formas efectivas de seguridad para disuadir la intrusión remota.

Es por eso que en el mundo Linux / Unix obtener rootacceso a un sistema remoto se considera un gran premio. Obtenga rootacceso a un sistema remoto y luego realmente ha hecho algo que le brinda un mayor acceso sin necesidad de ingresar a un centro de datos y clonar un disco.

Sin embargo, desde una verdadera perspectiva de "adversario", tengo acceso completo a este disco sin cifrar. Podría crear una imagen, guardarla para más adelante, ejecutar algún otro sistema operativo para simplemente leer los archivos de Bob e ignorar la configuración de permisos del sistema de archivos.

Sí. Exactamente. Si tiene acceso físico a la máquina, entonces, como se explicó al principio, todas las apuestas están canceladas. Puede obtener acceso a los archivos y directorios que son propiedad de otros al hacer una imagen del disco, o incluso simplemente buscar el contenido en bruto de la unidad en sí, con poco o ningún esfuerzo técnico profundo.

Cualquiera que, por ejemplo, le preste su computadora personal y establezca una nueva cuenta solo para usted sin pensar en este escenario, básicamente está regalando cualquier información personal que tenga en su máquina sin saberlo realmente.

Ligeramente tangente, pero creo que esta es la razón por la cual tantos usuarios ocasionales donan PC viejas sin hacer el más mínimo esfuerzo para borrar los datos en el disco. Configuran una contraseña de usuario y suponen que mantienen sus datos seguros en la medida en que podrían tirar el disco a la basura y no pensarlo dos veces. Cuando la realidad no tiene un cifrado verdadero o un borrado de datos, cualquier unidad arrojada a la basura o vendida puede ser leída por cualquier persona en cualquier lugar sin mucho trabajo pesado o un gran esfuerzo técnico.


66
Creo que esta respuesta pierde algo bastante obvio que vale la pena mencionar. La seguridad no es solo seguridad computacional. Los modelos de amenazas también importan, porque los atacantes son humanos: los atacantes generalmente quieren evitar dejar rastros. Si le da a alguien acceso físico a un dispositivo pero lo hace de tal manera que el dispositivo no pueda ser manipulado sin dejar rastro (desde huellas dactilares hasta marcadores de manipulación hasta la destrucción del dispositivo durante la manipulación), entonces puede aumentar la seguridad de su sistema a pesar del hecho de que los datos son físicamente accesibles.
Mehrdad

@Mehrdad Este comentario podría tener sentido en una discusión más amplia sobre la seguridad y las protecciones contra el acceso, pero esta pregunta, y mi respuesta relacionada, se centran en los conceptos generales de los permisos lógicos del sistema de archivos versus el acceso físico básico a un sistema. Y en ese caso, estas preocupaciones sobre las huellas digitales y los fabricantes de manipulaciones son solo una conjetura de un escenario de fantasía. Si uno tiene acceso físico a datos no cifrados, tiene acceso físico a datos no cifrados y 9 de cada 10 veces no tiene que ser un "maestro ladrón / espía" para acceder a esos datos en ese momento.
JakeGould

15

Tus tres puntos:

  1. Si está ingresando SSH como usuario normal, no tiene acceso al dispositivo de disco sin formato. Por lo general, necesita rooto tiene permiso para acceder a los dispositivos de disco sin procesar y lógicos.

  2. Si obtiene root a través de un exploit, entonces es el usuario más poderoso del sistema y tiene acceso a casi cualquier cosa, incluido el dispositivo. Como usted es root, puede acceder directamente a los archivos de Bob, por lo que no es necesario acceder al dispositivo de disco.

  3. Acceso físico latidos root. La raíz es una capa lógica. Puede ignorarlo con acceso físico al disco. Esto incluye cargar dicho disco en un sistema operativo separado donde usted es root.

Por supuesto, se supone que los sistemas deben estar reforzados contra las rootvulnerabilidades, pero diariamente surgen nuevas vulnerabilidades. Ningún sistema es 100% seguro, pero puede hacer uno seguro para fines prácticos al limitar el acceso.

Solo se espera que los permisos del sistema de archivos funcionen en situaciones de acceso de usuario limitado, donde el sistema operativo no está comprometido. Es un sistema de "mantener honestos (y típicos) usuarios honestos", como cerraduras de bicicleta. Trabaja para prevenir "delitos de oportunidades" más que una protección total a prueba de fallas.


Las reglas de permiso de FS son bastante robustas. Ellos trabajan todo el tiempo que ningún atacante tiene raíz. La semántica del sistema de archivos POSIX (y las extensiones específicas de Linux) están cuidadosamente diseñadas para no abrir más acceso del que puede obtener con solo open(2). por ejemplo, le linkat(2)permite crear una entrada de directorio para un descriptor de archivo abierto, pero solo si el recuento de enlaces no es cero, por lo que un proceso que recibe un FD abierto para un archivo eliminado no puede vincularlo nuevamente al sistema de archivos. Obviamente, un atacante que obtiene acceso físico o root significa que estás tostado. El cifrado ayuda con la raíz física pero no tanto.
Peter Cordes
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.