domingo, 20 de junio de 2010

Seguridad Sistemas Operativos

Como primer post vamos atener una introduccion a la seguridad de los sistemas operativos ,
conforme la informatica y las comunicaciones han ido evolucionando se han hecho más accesibles a los sistemas informáticos y se han incrementado los riesgos vinculados a la seguridad.

El sistema operativo, como administrador de los recursos del sistema:
  • Cumple una función muy importante en la instrumentación de la seguridad.
  • No engloba a todos los aspectos de la seguridad.
  • Debe ser complementado con medidas externas al S. O.
La simple seguridad física resulta insuficiente ante la posibilidad de acceso mediante equipos remotos ya que la tendencia es que los sistemas sean más accesibles y fáciles de usar, pero la facilidad dada ha el usuario puede implicar un aumento de la vulnerabilidad por lo que se deben identificar las amenazas potenciales, que pueden proceder de fuentes maliciosas o no, entonces el nivel de seguridad a proporcionar depende del valor de los recursos que hay que asegurar.

Lo mas importantes dentro de la seguridad de los sistemas de archivos es probablemente los requisitos de seguridad ya que sirven de base para determinar si el sistema implementado es seguro por eso sin una serie de requisitos precisos tiene poco sentido cuestionar la seguridad de un sistema y si los requisitos no están bien establecidos no dicen mucho sobre la verdadera seguridad del sistema.

Algunos ejemplos de formulación de los requisitos de seguridad son los siguientes:
  • Directiva DOD 5200.28 (EE. UU.):
    • Especifica cómo debe manipularse la información clasificada en sistemas de procesamiento de datos.
  • Manual de Referencia de Tecnología de Seguridad de la Computadora (EE. UU.):
    • Especifica cómo evaluar la seguridad de los sistemas de computación de la Fuerza Aérea.
  • Ley de Intimidad de 1974 (EE. UU.):
    • Requiere que las Agencias Federales aseguren la integridad y seguridad de la información acerca de los individuos, especialmente en el contexto del amplio uso de las computadora.

Un tratamiento de seguridad total incluye aspectos de la seguridad del computador distintos a los de la seguridad de los S. O.:

La seguridad externa: debe asegurar la instalación computacional contra intrusos y desastres como incendios e inundaciones:

  • Concediendo el acceso físico el S. O. debe identificar al usuario antes de permitirle el acceso a los recursos: seguridad de la interfaz del usuario.
La seguridad interna: trata de los controles incorporados al hardware y al S. O. para asegurar la confiabilidad, operabilidad y la integridad de los programas y datos.


Seguridad Externa

La seguridad externa consiste en

  • Seguridad física.
  • Seguridad operacional.
La seguridad física incluye:
  • Protección contra desastres.
  • Protección contra intrusos.
En la seguridad física son importantes los mecanismos de detección, algunos ejemplos son:
  • Detectores de humo.
  • Sensores de calor.
  • Detectores de movimiento.
La protección contra desastres puede ser costosa y frecuentemente no se analiza en detalle; depende en gran medida de las consecuencias de la pérdida.

La seguridad física trata especialmente de impedir la entrada de intrusos:

  • Se utilizan sistemas de identificación física:
    • Tarjetas de identificación.
    • Sistemas de huellas digitales.
    • Identificación por medio de la voz.

Seguridad Operacional

Consiste en las diferentes políticas y procedimientos implementados por la administración de la instalación computacional

La autorización determina qué acceso se permite y a quién.

La clasificación divide el problema en subproblemas:

  • Los datos del sistema y los usuarios se dividen en clases:
    • A las clases se conceden diferentes derechos de acceso.
Un aspecto crítico es la selección y asignación de personal:
  • La pregunta es si se puede confiar en la gente.
  • El tratamiento que generalmente se da al problema es la división de responsabilidades:
    • Se otorgan distintos conjuntos de responsabilidades.
    • No es necesario que se conozca la totalidad del sistema para cumplir con esas responsabilidades.
    • Para poder comprometer al sistema puede ser necesaria la cooperación entre muchas personas:
      • Se reduce la probabilidad de violar la seguridad.
    • Debe instrumentarse un gran número de verificaciones y balances en el sistema para ayudar a la detección de brechas en la seguridad.
    • El personal debe estar al tanto de que el sistema dispone de controles, pero:
      • Debe desconocer cuáles son esos controles:
        • Se reduce la probabilidad de poder evitarlos.
      • Debe producirse un efecto disuasivo respecto de posibles intentos de violar la seguridad.
Para diseñar medidas efectivas de seguridad se debe primero:
  • Enumerar y comprender las amenazas potenciales.
  • Definir qué grado de seguridad se desea (y cuánto se está dispuesto a gastar en seguridad).
  • Analizar las contramedidas disponibles.


Vigilancia, Verificación de Amenazas y Amplificación

Vigilancia

La vigilancia tiene que ver con

  • La verificación y la auditoría del sistema.
  • La autentificación de los usuarios.
Los sistemas sofisticados de autentificación de usuarios resultan muy difíciles de evitar por parte de los intrusos.

Un problema existentes es la posibilidad de que el sistema rechace a usuarios legítimos:

  • Un sistema de reconocimiento de voz podría rechazar a un usuario legítimo resfriado.
  • Un sistema de huellas digitales podría rechazar a un usuario legítimo que tenga una cortadura o una quemadura.

Verificación de Amenazas

Es una técnica según la cual los usuarios no pueden tener acceso directo a un recurso:

  • Solo lo tienen las rutinas del S. O. llamadas programas de vigilancia.
  • El usuario solicita el acceso al S. O.
  • El S. O. niega o permite el acceso.
  • El acceso lo hace un programa de vigilancia que luego pasa los resultados al programa del usuario.
  • Permite:
    • Detectar los intentos de penetración en el momento en que se producen.
    • Advertir en consecuencia.
Amplificación

La amplificación se produce cuando

  • Un programa de vigilancia necesita para cumplir su cometido mayores derechos de acceso de los que disponen los usuarios:
    • Ej.: se requiere calcular un promedio para lo cual es necesario leer un conjunto de registros a los que el usuario no tiene acceso individualmente.

Protección por Contraseña

Las clases de elementos de autentificación para establecer la identidad de una persona son

  • Algo sobre la persona:
    • Ej.: huellas digitales, registro de la voz, fotografía, firma, etc.
  • Algo poseído por la persona:
    • Ej.: insignias especiales, tarjetas de identificación, llaves, etc.
  • Algo conocido por la persona:
    • Ej.: contraseñas, combinaciones de cerraduras, etc.
El esquema más común de autentificación es la protección por contraseña:
  • El usuario elige una palabra clave, la memoriza, la teclea para ser admitido en el sistema computarizado:
    • La clave no debe desplegarse en pantalla ni aparecer impresa.
La protección por contraseñas tiene ciertas desventajas si no se utilizan criterios adecuados para:
  • Elegir las contraseñas.
  • Comunicarlas fehacientemente en caso de que sea necesario.
  • Destruir las contraseñas luego de que han sido comunicadas.
  • Modificarlas luego de algún tiempo.
Los usuarios tienden a elegir contraseñas fáciles de recordar:
  • Nombre de un amigo, pariente, perro, gato, etc.
  • Número de documento, domicilio, patente del auto, etc.
Estos datos podrían ser conocidos por quien intente una violación a la seguridad mediante intentos repetidos, por lo tanto debe limitarse la cantidad de intentos fallidos de acierto para el ingreso de la contraseña.

La contraseña no debe ser muy corta para no facilitar la probabilidad de acierto.

Tampoco debe ser muy larga para que no se dificulte su memorización, ya que los usuarios la anotarían por miedo a no recordarla y ello incrementaría los riesgos de que trascienda.

Auditoría y Controles de Acceso

Auditoría

La auditoría suele realizarse cuando examinan las recientes transacciones de una organización para determinar si hubo ilícitos.

La auditoría en un sistema informático puede implicar un procesamiento inmediato, pues se verifican las transacciones que se acaban de producir.

Un registro de auditoría es un registro permanente de acontecimientos importantes en el sistema informático:

  • Se realiza automáticamente cada vez que ocurre tal evento.
  • Se almacena en un área altamente protegida del sistema.
  • Es un mecanismo importante de detección.
El registro de auditoría debe ser revisado cuidadosamente y con frecuencia:
  • Las revisiones deben hacerse:
    • Periódicamente:
      • Se presta atención regularmente a los problemas de seguridad.
    • Al azar:
      • Se intenta atrapar a los intrusos desprevenidos.

Controles de Acceso

Lo fundamental para la seguridad interna es controlar el acceso a los datos almacenados

Los derechos de acceso definen qué acceso tienen varios sujetos o varios objetos.

Los sujetos acceden a los objetos.

Los objetos son entidades que contienen información.

Los objetos pueden ser:

  • Concretos:
    • Ej.: discos, cintas, procesadores, almacenamiento, etc.
  • Abstractos:
    • Ej.: estructuras de datos, de procesos, etc.
Los objetos están protegidos contra los sujetos.

Las autorizaciones a un sistema se conceden a los sujetos.

Los sujetos pueden ser varios tipos de entidades:

  • Ej.: usuarios, procesos, programas, otras entidades, etc.
Los derechos de acceso más comunes son:
  • Acceso de lectura.
  • Acceso de escritura.
  • Acceso de ejecución.
Una forma de implementación es mediante una matriz de control de acceso con:
  • Filas para los sujetos.
  • Columnas para los objetos.
  • Celdas de la matriz para los derechos de acceso que un usuario tiene a un objeto.
Una matriz de control de acceso debe ser muy celosamente protegida por el S. O.


Núcleos de Seguridad y Seguridad por Hardware

Núcleos de Seguridad

Es mucho más fácil hacer un sistema más seguro si la seguridad se ha incorporado desde el principio al diseño del sistema.

Las medidas de seguridad deben ser implementadas en todo el sistema informático.

Un sistema de alta seguridad requiere que el núcleo del S. O. sea seguro.

Las medidas de seguridad más decisivas se implementan en el núcleo, que se mantiene intencionalmente lo más pequeño posible.

Generalmente se da que aislando las funciones que deben ser aseguradas en un S. O. de propósito general a gran escala, se crea un núcleo grande.

La seguridad del sistema depende especialmente de asegurar las funciones que realizan:

  • El control de acceso.
  • La entrada al sistema.
  • La verificación.
  • La administración del almacenamiento real, del almacenamiento virtual y del sistema de archivos.

Seguridad por Hardware

Existe una tendencia a incorporar al hardware funciones del S. O.

  • Las funciones incorporadas al hardware:
    • Resultan mucho más seguras que cuando son accesibles como instrucciones de software que pueden ser modificadas.
    • Pueden operar mucho más rápido que en el software:
      • Mejorando la performance.
      • Permitiendo controles más frecuentes.
Sistemas Supervivientes

El diseño de sistemas de alta seguridad debe asegurar:

  • Su operación de manera continua y confiable.
  • Su disponibilidad.
Un sistema de computación superviviente es aquel que continúa operando aún después de que uno o más de sus componentes falla:
  • Es una cuestión cada vez más importante, especialmente para sistemas en línea.
Generalmente continúan operando con una degradación suave en los niveles de prestación.

Los componentes fallidos deben poder reemplazarse sin interrumpir el funcionamiento del sistema.

Una clave para la capacidad de supervivencia es la redundancia:

  • Si un componente falla, otro equivalente toma su puesto.
  • Se puede implementar como:
    • Un conjunto de recursos idénticos que funcionan en paralelo.
    • Un conjunto separado de recursos redundantes que se activan cuando se produce un fallo.
Algunas características de supervivencia son:
  • La incorporación de mecanismos contra fallos en el hardware en vez de en el software.
  • El uso de multiprocesamiento transparente para permitir mejorar el rendimiento sin modificar el software.
  • El uso de subsistemas múltiples de entrada / salida.
  • La incorporación de mecanismos de detección de fallos en el hardware y en el software.

Capacidades y Sistemas Orientados Hacia el Objeto

Un derecho de acceso permite a algún sujeto acceder a algún objeto de una manera preestablecida

Los sujetos son los usuarios de los sistemas de computación o entidades que actúan en nombre:

  • De los usuarios.
  • Del sistema.
  • Ej.: trabajos, procesos y procedimientos, etc.
Los objetos son los recursos del sistema:
  • Ej.: archivos, programas, semáforos, directorios, terminales, canales, dispositivos, pistas de discos, bloques de almacenamiento primario, etc.
Los sujetos se consideran también como objetos del sistema y un sujeto puede tener derechos de acceder a otro.

Los sujetos son entidades activas y los objetos son pasivos.

Una capacidad es una señal:

  • La posesión de una capacidad por un sujeto le confiere derechos de acceso a un objeto.
Las capacidades no suelen ser modificadas pero suelen ser reproducidas.

Un dominio de protección define los derechos de acceso que un sujeto tiene a los distintos objetos del sistema:

  • Es el conjunto de capacidades que pertenecen al sujeto.
Una capacidad es un nombre protegido para un objeto del sistema:
  • El nombre es único en todo el sistema.
  • Para tener acceso a un objeto determinado, un sujeto debe poseer una capacidad para hacerlo.
La capacidad incluye una instrucción de los derechos de acceso determinados que la capacidad le permite al sujeto respecto del objeto correspondiente.

La creación de capacidades es una función de rutinas de los S. O. cuidadosamente guardadas.

Lo normal es que las capacidades no pueden ser modificadas salvo para reducir los derechos de acceso establecidos.

Un sujeto con una capacidad puede copiarla o pasarla como un parámetro.

Luego de la creación de un objeto se crea una capacidad para ese objeto, que incluye todos los derechos de acceso al nuevo objeto.

El sujeto que crea la capacidad puede pasar copias de la capacidad a otros sujetos:

  • La pueden usar o copiarla a otros sujetos:
    • Sin variantes.
    • Reduciendo (nunca incrementando) los derechos de acceso establecidos.
Si se han integrado capacidades en el hardware de direccionamiento del almacenamiento primario:
  • Se las utiliza en cada referencia al mismo.
  • Tenemos un direccionamiento basado en la capacidad.
En sistemas basados en capacidades se puede presentar el problema del objeto perdido:
  • Si se destruye la última capacidad restante de un objeto, éste no podrá ser usado de ninguna manera.
  • El sistema debe mantener siempre al menos una capacidad para cada objeto.
El control del copiado y movimiento de las capacidades es un problema difícil; generalmente el S. O. realiza la manipulación de capacidades en nombre de los usuarios.

La revocación de las capacidades pasadas a otro sujeto también puede complicarse:

  • La capacidad pudo haber sido copiada muchas veces.
  • Podría ser necesario revocar la capacidad:
    • De un sujeto determinado.
    • De cualquier otro sujeto que hubiera recibido de él esa capacidad.
Una técnica para la revocación selectiva de las capacidades es la siguiente:
  • Todas las capacidades creadas a partir de una principal, apuntan al objeto a través de la capacidad principal.

Referencia:: H. M. Deitel. Introducción a los Sistemas Operativos. Addison-Wesley Iberoamericana, México.

1 comentario:

  1. La seguridad es de lo mas importante ya que así como tenemos la habilidad para construir también la tenemos para destruir.

    ResponderEliminar