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:
- 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?
- 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?
Respuestas:
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
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.
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
root
acceso a un sistema remoto se considera un gran premio. Obtengaroot
acceso 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.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.
fuente
Tus tres puntos:
Si está ingresando SSH como usuario normal, no tiene acceso al dispositivo de disco sin formato. Por lo general, necesita
root
o tiene permiso para acceder a los dispositivos de disco sin procesar y lógicos.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.
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
root
vulnerabilidades, 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.
fuente
open(2)
. por ejemplo, lelinkat(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.