Control de accesos


   Hola amigos, con estas líneas damos comienzo a esta sección de nuestro blog basado en la ingeniería de la seguridad. Soy Miguel y seré el encargado de contaros todo aquello relacionado con el Control de Accesos: modelos, técnicas, políticas, mecanismos, y mucho más.

   También os mantendré informados acerca de la Seguridad Multinivel, en la que trataremos distintos modelos de preservación de la confidencialidad y la integridad, buenos ejemplos de ello son los modelos de Bell-LaPadula y de Biba.

   Por supuesto, no podemos dejar atrás el tema de la Seguridad Multilateral, donde también trabajaremos diferentes modelos e incluso lo relacionaremos con el tema anteriormente mencionado.

   Y por último, os contaré todo lo relacionado con la Evaluación y certificación de la Seguridad, adentrándonos en los diferentes criterios y normas de certificación y evaluación estadounidenses, europeos e internacionales; comparando todas ellas y aprendiendo a evaluar la seguridad informática tanto de productos como de sistemas.

   Todo esto y más, junto con anécdotas relacionadas con este tema, lo podréis encontrar a continuación. Espero que paséis un rato entretenido leyendo acerca de estos temas, cualquier duda o sugerencia mandadla a nuestro correo o dejadnos un comentario en esta entrada. ;)

   Sin más dilación, ¡comenzamos!






Control de Acceso

   Cuando un atacante posee acceso directo a la información, básicamente utiliza técnicas criptográficas para hacer uso de la misma. ¿Pero qué pasa cuando dicho atacante no tiene acceso directo a la información (capa de software entre ambos)? Debe utilizar técnicas de control de acceso.

   Debemos saber que el principal problema en la construcción de sistemas informáticos seguros es el diseño de correctas políticas de seguridad, su exacta representación en modelos y su estricto desarrollo en mecanismos.

   Para comprender todo lo que concierne a las técnicas de control de acceso, primero debemos dejar claros unos cuantos conceptos.

  •           Objeto: Entidad pasiva que contiene, recibe o trata información.
  •           Sujeto: Entidad activa que actúa sobre un objeto.


Política de seguridad técnica
   Conjunto de directrices que regula el tratamiento de los datos y el uso de recursos por un sistema de información. Se expresa mediante un lenguaje natural.
   Nosotros nos centraremos en la política de control de accesos y de flujos de información.

Modelo de seguridad
   Expresión teórica formal (matemática) de una política de seguridad técnica.

Mecanismo de seguridad
   Algoritmo, que puede ser implementado en hardware o software, que representa un modelo de seguridad.

   Veamos ahora la relación entre todos estos conceptos:




   Ahora que conocemos más detalles acerca de estos conceptos, podemos continuar con definir la política de control de accesos.

Política de control de accesos
   Directrices que establecen bajo que condiciones un sujeto identificado en un sistema puede acceder a un objeto presente en él.

   El control de acceso puede, y en múltiples ocasiones debe implementarse en diversos niveles.



Modelo de control de accesos
   Modelo de seguridad que expresa formalmente una política de control de accesos. Entre los más importantes se encuentran; el modelo de Harrison, Ruzzo y Ullman y el modelo de Graham y Denning.
   Este modelo es formalizado mediante estados, los cuales son representados por una matriz, y transiciones entre estos, que son controladas por un monitor.
Un estado Q se define mediante la terna (S, O, A) donde:
S es un conjunto de Sujetos. S {Si}
O es un conjunto de Objetos. O {Oj}
A es una matriz de accesos de entradas. A[s,o] ⊂  R
R es un conjunto finito de derechos de acceso

Mecanismo de control de acceso
   Mecanismo responsable de mediar los intentos de acceso de los sujetos sobre los objetos y monitorizar los comandos que otorgan, transfieren o revocan los derechos de los sujetos sobre los objetos.

Monitor de referencia
   Máquina abstracta que materializa un mecanismo de seguridad.

   A continuación un esquema de dicho funcionamiento:


La matriz de accesos ACM

   ACM[Si, Oj] = operaciones de acceso que el Sujeto Si está autorizado a realizar sobre el Objeto Oj.

   Mostramos un ejemplo de esta matriz y la relación entre Sujetos, Objetos y sus operaciones.


   Comprobamos en este ejemplo de matriz ACM las relaciones de diferentes objetos y sujetos, siendo las operaciones de los primeros sobre los segundos las determinadas como lectura (r), escritura (w) y ejecución (x).

  Con este tipo de matrices existe un problema: su escalabilidad es bastante escasa, puesto que en grandes sistemas, la matriz de acceso ACM es muy grande y la mayoría de sus celdas se encontrarán vacías.

  Las implementaciones más comunes de este tipo de matrices son de los siguientes tipos:

  • Por columnas: Listas de control de acceso (ACL).
  • Por filas: Habilitaciones (capabilities).
  • Enfoques híbridos: relaciones de autorización.
   Comencemos por la primera implementación de estas matrices, por columnas.

Lista de control de acceso ACM




   Como comentamos anteriormente, la lista de control de acceso se trata de una implementación basada en las columnas de la ACM.



  Las ventajas de su uso son que es fácil de determinar y revocar los permisos de un usuario sobre un objeto dado. Al igual que es fácil de revocar todos los permisos sobre un objeto dado.


  Pero también posee un inconveniente, puesto que es bastante costoso determinar, y revocar si procede, todos los términos de un usuario.

  Hablemos ahora de la implementación por filas, las habilitaciones.

Habilitaciones






  En este caso, tanto las ventajas como los inconvenientes son las contrarias (duales) a los descritos anteriormente en las listas de control de accesos ACL.



  Esta implementación está menos adoptada que las listas de control de acceso descritas en el apartado anterior, pero son más apropiadas que las ACLs en sistemas distribuidos, esto es así ya que no precisan múltiples autenticaciones (SSO - Single Sign-On) y además están ligeramente relacionadas con certificados de atributos.



  Como comentamos hace unas líneas, existen también implementaciones híbridas, como es el siguiente caso.

Relaciones de autorización





En este caso da lugar a una representación de tuplas no vacías (Sujeto, Objeto y acceso).

  Por ello combina las ventajas de ACLs y acreditaciones, y el uso de DBMS relacionales da lugar a consultas muy eficientes.



  Por último, cabe destacar que en la matriz de acceso también existe un control de acceso basado en roles.

Control de acceso basado en roles - RBAC


   Este tipo de control de acceso facilita el diseño y la administración, puesto que se ajustan a la estructura y dinámica de la organización.



  Se organizan grupos, que son conjuntos de usuarios. Estos poseen un rol, que es un conjunto de permisos de uno o más sujetos durante un periodo de tiempo determinado.

  De esta forma la política y el modelo de seguridad incorporan grupos y roles, además de sujetos.
  La mayoría de Sistemas Operativos y aplicaciones incorporan soporte para grupos. Aunque está menos incorporado en productos de carácter comercial.


  A continuación analizamos más a fondo la política de control de acceso, sus objetivos y modelos.


Políticas de control de acceso

  El objetivo principal de estas políticas es preservar las propiedades de la seguridad de la información: Integridad, Confidencialidad y Disponibilidad, entre otros.



  Para ello se realiza el análisis descrito anteriormente denominado TM-SP-SM, donde se determinan los conceptos derivados del modelo de amenazas: La política de seguridad, el Modelo de seguridad y el Mecanismo de seguridad.


  Existen dos tipos de políticas de control de acceso:

  • Política discrecional: el propietario de un objeto, discrecionalmente, concede o no su acceso a otros objetos.
  • Política no-discrecional u obligatoria: Los sujetos y objetos están compartimentados. Aquellos sólo pueden acceder a éstos si ambos pertenecen al mismo compartimiento. Además los sujetos y objetos se pueden estructurar en niveles que limitan el acceso de los primeros a los segundos.



  Adentrémonos en el control de acceso discrecional, también denominado DAC.
Control de acceso discrecional - DAC

   El objetivo es el acceso a la información controlado por el creador del objeto.

Modelo: Cada objeto tiene un sujeto propietario, y sólo éste asigna permisos a otros sujetos.



  Está política puede sufrir extensiones: se puede añadir la posibilidad de transferir la propiedad de un objeto a otro sujeto. Además puede existir delegación del derecho a asignar permisos.



  Pero esto puede provocar ciertos problemas. A continuación os mostramos el denominado problema del caballo de Troya, provocado por esta política de carácter discrecional.

Problema del Caballo de Troya



Imaginemos que existen 3 sujetos: S1, S2 y S3.

S1 es el propietario del Objeto O1, y le otorga permiso de lectura de O1 a S2, pero sin embargo, no se lo concede al tercer sujeto S3.



De esta forma puede ocurrir que el sujeto 2, que posee permiso de lectura de O1 lea dicho objeto, cree O2 y copie el contenido de O1 allí. A continuación otorga al Sujeto 3 permiso de lectura de dicho objeto (O2), y no se lo concede al sujeto 1. De esta forma el Tercer sujeto S3 es capaz de leer el objeto 1.



  A continuación mostramos un gráfico de esto, a través de las matrices de control de acceso.


  Esto determina que las políticas discrecionales y el ACM no son suficientes para mantener al 100% la seguridad, por ello llegamos a la conclusión de que se necesita controlar el flujo de información, entrando en conceptos tales como la Seguridad Multinivel y Multilateral. Con este control del flujo de información se imponen otro tipo de restricciones.



   Es curioso remarcar que casi todos los sistemas comerciales únicamente incorporan control de acceso discrecional (DAC).



   En cuanto al control de acceso en sistemas operativos, los sujetos se identifican mediante mecanismos de autenticación (passwords, Kerberos, smart cards, etc.). Además de los archivos, se consideran objetos "especiales" (dispositivos, puertos de red, etc.). Las operaciones más usuales son leer, escribir, ejecutar, cambiar de propietario, eliminar, etc.



Seguridad Multinivel

Sistemas Multinivel - MLS




   Hablamos de sistemas multinivel (MLS) a aquellos sistemas operativos y bases de datos que contienen objetos con diferentes niveles de sensibilidad (confidencialidad o integridad) y registran sujetos con diferentes habilitaciones. El acceso a los objetos se concede, o no, tras comprobar el nivel de sensibilidad del objeto con la habilitación del sujeto.



   El objetivo de esos sistemas es el control estricto del flujo de información. El origen de estos sistemas son centros de investigación militares o financiados por el DoD estadounidense. Y los productos que se basan en este tipo de sistema son Sistemas Operativos y Bases de Datos de carácter militar, aunque algunos han sido comercializados después en mercados de carácter civil.



   Clasificación y habilitación de Seguridad
El origen de esta propuesta proviene de la organización internacional de carácter militar OTAN, con el propósito de etiquetar objetos de acuerdo a la sensibilidad de la información que contienen o pueden tratar. Además del etiquetado de sujetos de acuerdo a su habilitación de seguridad.
Se establece de esta manera una jerarquización de sujetos y objetos.


Modelos formales de confidencialidad
   La principal aplicación de estos modelos van destinados a sectores militares y de inteligencia. Un ejemplo de ello es el modelo de Bell LaPadula.


Modelo de Bell LaPadula


   Este modelo forma de confidencialidad controla el flujo de la información en un sistema para preservar la confidencialidad de los datos, estableciendo unas reglas de control de acceso. Para determinar si un sujeto puede o no acceder, ya sea para leer o escribir, a un objeto se compara la habilitación del primero con la clasificación de sensibilidad del segundo.

   Los autores de este modelo son David Bell y Lel LaPadula, en el año 1973, con la motivación de aplicarlo a Sistemas Operativos complejos y vulnerables y trabajando en tiempo compartido. El objetivo era formalizar el modelo de control de flujo de información de los sistemas del DoD de EEUU, con el fin de preservar la confidencialidad. La política de seguridad adoptada era obligatoria (MAC - Mandatory Access Control).


   Las propiedades de este modelo son:
Propiedad de seguridad simple: Ningún proceso puede leer información de un nivel superior.

Propiedad estrella: Ningún proceso puede escribir información en un nivel inferior.


Modelo de Biba


   Este modelo controla el flujo de información en un sistema para preservar la integridad de los datos, estableciendo unas precisas reglas de control de acceso. Para determinar si un sujeto puede acceder (para leer o escribir) a un objeto se comparan la habilitación del primero con la clasificación del segundo.

   El autor de dicho modelo es Ken Biba, en 1977. Su objetivo es el control de flujo de la información en lo tocante a su integridad. Es un Modelo dual al de Bell LaPadula y hace énfasis en preservar la integridad, que es, generalmente, la dimensión de la seguridad más relevante es sistemas civiles.

   Las propiedades de este modelo son:
Propiedad de seguridad simple: Ningún proceso puede leer información de un nivel inferior.
Propiedad estrella: Ningún proceso puede escribir información en un nivel superior.

   A mayor nivel de etiqueta, mayor confianza en términos de integridad en el sujeto/objeto.


Modelo de Clark-Wilson

   Este modelo expresa formalmente los requisitos de integridad de una política de seguridad. Por atender a la integridad (en vez de a la confidencialidad), está más adaptado a las necesidades empresariales que el modelo de Bell LaPadula.


Problemas de los sistemas MLS

   Son muy costosos, existe un escaso mercado de estos sistemas y la administración es muy compleja debido a su multitud de objetos y sujetos, los cambios de nivel de clasificación frecuentes y la desclasificación problemática. Además, las aplicaciones necesitan ser reescritas para ellos y en ocasiones, además de evitar accesos indeseables, también evitan accesos deseables.



Seguridad Multilateral
Introducción


   Algunas aplicaciones requieren que la información no fluya dentro de un mismo nivel, como los departamentos o unidades de una misma empresa.

   Uno de los modelos que aplican la seguridad multilateral es el siguiente:

Modelo de la muralla china

   Los autores son Brewer y Nash, en el año 1989, con la motivación de evitar que un usuario acceda a datos de empresas competidoras entre sí, preservando la confidencialidad. Este modelo está destinado a empresas cuyos clientes son corporaciones del mismo sector empresarial.

   Un empleado de una empresa que ha trabajado para una empresa cliente de aquella de cierto sector empresarial no debe tener acceso a documentación de otra compañía del mismo sector.

   Existen tres niveles de abstracción:
- Objetos: contienen información de una empresa cliente.
- Grupos de objetos de una empresa cliente.
- Clases de conflictos: Grupos de objetos del mismo sector.

   Posee reglas de restricción conocidas como murallas chinas.


   Propiedad de la seguridad simple del modelo de la muralla china

   El acceso del Sujeto [S] a un Objeto [O] se concede si O está en el mismo conjunto de datos de una empresa ya accedido antes por el sujeto, o bien no pertenece a una clase de conflicto de intereses ya accedida por el S.

   Propiedad estrella del modelo de la muralla china

   El sujeto puede escribir en un objeto sólo si ha leído Objeto', que está en un conjunto de datos de una compañía diferente o bien no ha sido purgado (unsanitized).





Evaluación y certificación de la Seguridad


  Criterios Estadounidenses

   SERIE ARCO IRIS
  
   Iniciado en 1983 por el TCSEC y finalizado en 1990
   Los propositos del TCSEC son suministrar normas de seguridad a los fabricantes, definir métricas de evaluación y certificación y establecer condiciones para la adquisición de sistemas.
Monitor de referencia
   Mecanismo abstracto de control de accesos que media todos los accesos a los objetos por los sujetos.
Criterios de evaluación
   Requisitos de seguridad: funciones a implementar
  • - Política de Seguridad (discrepcional, obligatoria)
  • - Etiquetado de objetos
  • - Identificación de sujetos
  • - Responsabilización (Rendición de cuentas).

   Requisitos de seguridad: Adecuación
  • - Mecanismos de aseguramiento
  • - Fortaleza de los mecanismos


    Podéis contactar con nosotros a través de nuestro Twitter, Facebook y el sistema de comentarios del propio blog. Para cualquier cosa sobra la que queréis más información no dudéis en contactar con nosotros.


¡Un saludo!
Miguel Carvajal

4 comentarios:

  1. ¡Vaya entrada más currada!

    fmdo: pss

    ResponderEliminar
  2. ¡Muchísimas gracias!

    Nos alegramos de que te haya gustado.
    Acabamos de actualizar toda la información relacionada con el control de acceso y la seguridad multinivel, esperamos que os interese.

    Un abrazo

    ResponderEliminar
  3. Muy bueno, ademas habeis dado mucha información y esplicada de una forma muy clara. Gracias!!

    ResponderEliminar
  4. Interesante tu publicación. Me gustaria que me des una opinión respecto a este documento. http://isyou.info/jisis/vol2/no34/jisis-2012-vol2-no34-05.pdf

    ResponderEliminar