¿Cómo ocultar archivos de dispositivo en linux?

0

Quiero ocultar los archivos /dev en Linux porque algunos archivos se pueden volcar y usar con fines de ingeniería inversa / ataque.

Mi objetivo principal es evitar que los usuarios puedan ver esos archivos desde un shell: al acecho en Internet, he visto que udev puede ser una solución pero quiero evitar su uso.

¿Alguna sugerencia?

    
pregunta Drew Ber 26.10.2018 - 20:06
fuente

2 respuestas

3

Le sugiero que mire si puede o no hacer algo con esos archivos en el sistema que está viendo como usuario regular. Lo más probable es que descubra que la mayoría de los realmente importantes (dispositivos de almacenamiento, por ejemplo) ya no pueden ser accedidos por los usuarios normales, porque esa es la configuración estándar en la gran mayoría de los sistemas UNIX, incluso desde 4.3BSD y SVR4 . Si está siendo verdaderamente realista, es probable que no permita el acceso no root a estos archivos de dispositivo por seguridad (si el atacante tiene acceso de root, los archivos de dispositivo no importan, ya que probablemente pueden ejecutar fácilmente el código en el espacio del kernel, lo que no No necesito archivos de dispositivo para meter hardware. Si el sistema en cuestión está configurado para usar SELinux u otro LSM, también puede aprovechar eso (si la configuración predeterminada no lo tiene) para limitar aún más el acceso.

Sin embargo, incluso si oculta o bloquea rutas en /dev , eso realmente no evita que las personas creen nuevos nodos de dispositivos en otros lugares con los números de dispositivo mayor y menor apropiados y los permisos arbitrarios. No puede impedir fácilmente que la gente cree dichos archivos, pero puede hacerlos prácticamente inútiles montando todo excepto /dev con la opción de montaje nodev , que desactiva el manejo especial de los nodos del dispositivo en el sistema de archivos montado. Hacer esto correctamente requiere que su sistema de archivos raíz esté separado de /dev (que debería ser un sistema de archivos virtual automático provisto por el kernel (como devtmpfs ) o una instancia tmpfs poblada por un administrador de dispositivos).

Más allá de eso, muchos de los realmente desagradables ( /dev/mem , /dev/port , /dev/kmem y /dev/msr , así como /dev/hpet ) se pueden deshabilitar completamente en el momento de la compilación. Esto no solo evita que aparezcan en /dev , sino que, literalmente, nunca puede tener instancias de trabajo de estos nodos de dispositivo en el sistema. La mayoría de las distribuciones de Linux deshabilitan explícitamente /dev/kmem en estos días porque nada lo usa, y muchas de ellas también deshabilitan /dev/mem y /dev/port porque en gran parte son solo usadas por software heredado. Por otro lado, /dev/msr generalmente se construye como un módulo cargable (y, por lo tanto, se puede incluir explícitamente en la lista negra sin reconstruir el kernel) porque existen usos prácticos reales para él que no implican atacar el sistema (por ejemplo, la depuración de la CPU). cuestiones de gestión).

Además, como una vista aparte, no bloquee /dev/null o /dev/urandom , probablemente rompa su sistema si lo hace, y ninguno de ellos es realmente un vector de ataque.

    
respondido por el Austin Hemmelgarn 26.10.2018 - 21:31
fuente
0

No.

La idea de representar la mayoría de los aspectos de un sistema operativo de computadora y su hardware como archivos es central y crítica para el diseño de Unix (el plan 9 lleva esto aún más lejos). Si no implementa esto, entonces no es Unix / POSIX. Si bien Linux tomó esto en una dirección ligeramente diferente con devfs (que fue sucedido por udev) todavía es una característica definitoria del sistema operativo.

YA ESTÁ USANDO UDEV

  

porque algunos archivos se pueden volcar y usar con fines de ingeniería inversa / ataque

... y el acceso a estos está controlado por permisos. Si cree que no es una protección adecuada, le sugiero que investigue la frecuencia con la que se han omitido los permisos de archivos en dichos sistemas (nb, no estoy hablando de programas setuid, estos son ejecutables con privilegios explícitos para comportarse de manera diferente) hazañas).

No ganarías nada haciendo esto, pero romperías el sistema operativo completamente.

Una mejor manera de comenzar a aprender sobre la seguridad de Linux y cómo fortalecer su sistema sería ver algunas de las guías de protección disponibles, por ejemplo. desde CIS o SANS

    
respondido por el symcbean 26.10.2018 - 21:48
fuente

Lea otras preguntas en las etiquetas