Seguridad en Sistemas Operativos: Ataques, Protección, Control de Acceso y Máquinas Virtuales

Informática y Telecomunicaciones5,23 KB

Seguridad

Se basa en la confianza en la integridad del sistema y previene accesos no autorizados.

Protección

Mecanismos de control de acceso, gestión de permisos de usuarios y procesos, implementados a nivel del sistema operativo.

Técnicas de ataque

  • Suplantación
  • Replay: retransmisión de datos.
  • Man in the middle: el atacante se sitúa en el flujo de datos.

Capas de seguridad

  1. Física
  2. De red: acceso a recursos externos, que abre un vector de ataque.
  3. Del sistema operativo: actualizaciones continuas y servicios innecesarios deshabilitados.
  4. De aplicaciones: aplicaciones maliciosas o con errores (bugs).

Métodos de ataque

1. Malware

1.1 Caballo de Troya

Simula ser legítimo, pero contiene funciones maliciosas.

1.2 Inyección de código

Desbordamiento de buffer: escribir más allá de la memoria permitida.

Virus

Necesitan acción humana para propagarse. Infectan programas o partes del sistema. Tipos: archivo, arranque, macro y rootkits.

Gusano (Worm)

Se propaga por sí solo.

2. Amenazas en red

  • Sistema zombi: máquina comprometida que es utilizada para atacar sin que su dueño lo sepa.
  • DDoS: ataque distribuido desde miles de equipos.
  • Port scanning: descubre puertos abiertos para encontrar vulnerabilidades.

Encriptación

  • Simétrica: la misma clave sirve para cifrar y descifrar.
  • Asimétrica: clave pública (libre, se usa para cifrar) y clave privada (del dueño, sirve para descifrar).

Protección

Mecanismos que controlan qué procesos y usuarios pueden acceder a qué recursos del sistema operativo.

Principio de mínimo privilegio

Programas, procesos y usuarios deben tener solo los permisos necesarios para realizar una tarea.

Anillos de la CPU

  • Anillo 0: kernel.
  • Anillo 3: aplicaciones de usuario.

El cambio entre anillos se realiza mediante instrucciones específicas (syscall).

Dominios de protección

Un dominio es un conjunto de accesos permitidos a objetos. Cada proceso se ejecuta en un dominio específico.

Matriz de acceso

  • Filas: dominios.
  • Columnas: objetos.
  • Celdas: derechos (lectura, escritura, ejecución, etc.).

Operaciones especiales

  1. Switch: cambiar de un dominio a otro.
  2. Copy: copiar un derecho de acceso de una fila a otra dentro de la misma columna.
  3. Transfer: copiar un derecho de un dominio a otro y eliminarlo del origen.
  4. Owner: control de los derechos de acceso en una columna completa.
  5. Control: control de los derechos de acceso en una fila completa.

Implementación de la matriz

  • Lista de acceso (Access list): cada objeto guarda una lista de dominios que tienen derechos sobre él.
  • Lista de capacidades (Capability list): cada dominio guarda los objetos a los que tiene acceso.
  • Lock-key: los dominios poseen una llave que abre las cerraduras de los objetos.

Modelos de control de acceso

  1. RBAC (Role-Based Access Control): los permisos se asignan a roles; los usuarios toman roles y heredan sus permisos.
  2. MAC (Mandatory Access Control): el sistema asigna etiquetas a objetos y procesos; las decisiones de acceso se basan en la comparación de dichas etiquetas.

Máquinas virtuales

Entorno virtual que simula un PC real, permitiendo ejecutar sistemas operativos y aplicaciones dentro de otro sistema.

Componentes

  • Host: el equipo físico real.
  • VMM (Virtual Machine Monitor): crea la capa de virtualización.
  • Guest: el sistema operativo que corre dentro de la VM.

Técnicas de virtualización

1. Trap-and-emulate

  1. El guest intenta ejecutar una instrucción privilegiada.
  2. El hardware genera un trap.
  3. El VMM, que corre en el kernel real, captura el trap.
  4. Lo emula de manera segura y devuelve el control al guest.

2. Binary translation

  1. El VMM lee el código del guest antes de ejecutarlo.
  2. Si hay instrucciones peligrosas o privilegiadas, las traduce a instrucciones seguras.
  3. El código traducido se guarda en la caché de instrucciones.

3. Asistencia por hardware

Existen dos modos: root (VMM) y non-root (guest). Las instrucciones privilegiadas las controla la CPU directamente, sin necesidad de traps hacia el VMM. El estado del guest se guarda en el VMCS (Virtual Machine Control Structure).

Descargar

PDF Word HTML