El modelo Bell-LaPadula es un modelo de gestión y control de acceso basado en el modelo de control de acceso obligatorio . El modelo analiza las condiciones bajo las cuales es imposible crear flujos de información de sujetos con mayor nivel de acceso a sujetos con menor nivel de acceso.
El modelo clásico de Bell-LaPadula fue descrito en 1975 por los empleados de MITRE Corporation , David Bell y Leonard Lapadula, quienes se vieron impulsados a crear un modelo mediante un sistema de seguridad para trabajar con documentos clasificados del gobierno de los EE . UU . [1] [2] [3] . La esencia del sistema era la siguiente: a cada sujeto (persona que trabaja con documentos) y objeto (documentos) se le asigna una etiqueta de confidencialidad, comenzando desde el más alto ("importancia especial"), terminando con el más bajo ("no secreto" o "público"). Además, un sujeto al que solo se le permite acceder a objetos con una etiqueta de sensibilidad más baja no puede acceder a un objeto con una etiqueta de sensibilidad más alta. El sujeto también tiene prohibido escribir información en objetos con un nivel de seguridad más bajo.
El modelo Bell-LaPadula es un modelo para restringir el acceso a la información protegida. Está descrito por un autómata finito con un conjunto válido de estados en los que se puede ubicar un sistema de información . Todos los elementos que componen el sistema de información se dividen en dos categorías: sujetos y objetos. A cada sujeto se le asigna su propio nivel de acceso correspondiente al grado de confidencialidad. De manera similar, a un objeto se le asigna un nivel de seguridad. El concepto de sistema seguro se define de la siguiente manera: cada estado del sistema debe cumplir con la política de seguridad establecida para este sistema de información . La transición entre estados se describe mediante funciones de transición. El sistema está en un estado seguro si cada sujeto tiene acceso solo a aquellos objetos a los que se permite el acceso según la política de seguridad actual . Para determinar si un sujeto tiene derecho a obtener cierto tipo de acceso a un objeto, se compara el nivel de seguridad del sujeto con el nivel de seguridad del objeto y, en base a esta comparación, se decide otorgar o no el acceso solicitado. Los conjuntos de nivel de acceso/nivel de seguridad se describen utilizando una matriz de acceso.
Las principales reglas que aseguran el control de acceso son las siguientes:
Un sujeto con nivel de acceso puede leer información de un objeto con nivel de seguridad solo cuando prevalece sobre . Esta regla también se conoce como No Read Top (NRU). Por ejemplo, si un sujeto con acceso solo a datos no clasificados intenta leer un objeto con un nivel de seguridad de "alto secreto", se le negará.
Un sujeto con nivel de seguridad x s puede escribir información a un objeto con nivel de seguridad x o sólo si x o prevalece sobre . Esta regla también se conoce como No Write Down (NWD). Por ejemplo, si un sujeto con un nivel de acceso de alto secreto intenta escribir en un objeto con un nivel de secreto, se le negará.
Consiste en que los derechos discrecionales de acceso del sujeto al objeto se determinan a partir de la matriz de acceso.
El operador relacional tiene las siguientes propiedades:
El operador Least Upper Bound se define mediante la siguiente relación:
El operador de límite inferior máximo se define mediante la siguiente relación:
Con base en la definición de estos dos operadores, se puede demostrar que para cada par hay un elemento único del límite superior mínimo y un elemento único del límite inferior más grande.
El sistema en el modelo Bell-LaPadula consta de los siguientes elementos:
Se dice que un estado es alcanzable en el sistema si hay una secuencia El estado inicial es alcanzable por definición.
Se dice que un estado del sistema es seguro para lectura (o seguro simple) si para cada sujeto que tiene acceso de lectura a un objeto en ese estado, el nivel de seguridad del sujeto domina el nivel de seguridad del objeto:
Un estado del sistema se denomina escritura segura (o * - segura) si para cada sujeto que realiza acceso de escritura a un objeto en este estado, el nivel de seguridad del objeto domina el nivel de seguridad del sujeto:
Se dice que un estado es seguro si es seguro tanto para lectura como para escritura.
Un sistema se llama seguro si su estado inicial es seguro y todos los estados a los que se puede acceder aplicando una secuencia final de consultas son seguros.
Un sistema es seguro si y solo si se cumplen las siguientes condiciones:
Probemos la necesidad del enunciado
Que el sistema sea seguro. En este caso, el estado inicial es seguro por definición. Suponga que hay un estado seguro al que se puede acceder desde el estado , y para esta transición se viola una de las condiciones 1-4. Es fácil ver que si se violan las condiciones 1 o 2, entonces el estado no será seguro para la lectura, y si se violan las condiciones 3 o 4, no será seguro para la escritura. En ambos casos, obtenemos una contradicción con el hecho de que el estado es seguro.
Probemos la suficiencia de la afirmación.
Un sistema puede ser inseguro en dos casos:
Debido a su simplicidad, el modelo clásico de Bell-Lapadula tiene una serie de inconvenientes graves:
En un sistema distribuido, una solicitud de escritura inicia una lectura en un objeto con un nivel de seguridad más bajo, lo que es una violación de las reglas del modelo clásico de Bell-LaPadula.
ver también