El Problema Del Confinamiento


  Share  
|


Considere un cliente y un servidor. Cuando el cliente publica una petición al servidor, el cliente envía el servidor un ciertos datos. El servidor después utiliza los datos para realizar una cierta función y vuelve un resultado (o ningún resultado) al cliente. El control de acceso afecta la función del servidor de dos maneras.

  1. El servidor debe asegurarse de que los recursos que tiene acceso a nombre del cliente incluyan solamente esos recursos que autoricen el cliente a tener acceso.

  2. El servidor debe asegurarse de que no revele los datos del cliente a ninguna otra entidad no autorizada para ver los datos del cliente.

El primer requisito representa la meta del abastecedor de servicio. Esa meta es evitar que el cliente envíe los mensajes al servidor que lo causan al acceso, alteran, transmiten, o consumen los recursos que no autorizan el cliente a tener acceso, a alterarse, a transmitir, o a consumir. El segundo requisito representa la meta del usuario de servicio. Esa meta es evitar que el servidor transmita la información confidencial al abastecedor de servicio. En ambos casos, el servidor se debe confinar a tener acceso solamente a un sistema específico de recursos.

EJEMPLO: Cuentas de balances de un servidor para los suscriptores. Los suscriptores utilizan a cliente para transmitir las entradas del registro, el balance bancario actual, y esos retiros y depósitos que han despejado el banco al servidor. El servidor vuelve la lista de cheques y de depósitos excepcionales y cualquier discrepancia entre el equilibrio del registro y el balance bancario. Los suscriptores pagan un honorario cada uso.

El abastecedor de servicio requiere que el expediente del servidor que utilizó el servicio cada vez él esté utilizado correctamente. Si no, el abastecedor de servicio no puede mandar la cuenta para el uso del servicio. La amenaza es que alguien puede utilizar el servicio sin la detección (y por lo tanto sin la carga) o que el usuario puede personificar a otro suscriptor (dando por resultado el suscriptor incorrecto que es cargado). El abastecedor de servicio también no quisiera que el servidor transmitiera expedientes de la facturación o ninguna otra información desautorizada al cliente. El servidor debe enviar solamente la información que derivó de los datos que el cliente envió. El servidor se debe confinar tan al funcionamiento solamente en los datos que se envía.

El suscriptor cuenta con ciertos servicios de seguridad del servidor. El servidor debe registrar correctamente la invocación del usuario para no cargar el usuario incorrectamente. (esto empareja la necesidad del abastecedor de servicio.) El servidor no debe registrar o transmitir los datos que el suscriptor le envía porque los datos del suscriptor son confidenciales al suscriptor y no son relevantes al abastecedor de servicio. El servidor se debe confinar tan a guardar los datos a sí mismo y a enviar los resultados solamente al suscriptor.


Lampson llama esto el problema del confinamiento.

El problema del confinamiento es el problema de prevenir un servidor de la información que se escapa que el usuario del servicio considera confidencial.

Una característica de los procesos que no se escapan la información viene de la observación que un proceso debe almacenar los datos para una recuperación más última (el escaparse). Un proceso que no almacena la información no puede escaparse la. Sin embargo, en el extremo, tales procesos también no pueden realizar ninguna cómputos, porque un analista podría observar el flujo del control (o el estado del proceso) y de ese flujo deduzca la información sobre las entradas. Esto conduce a la observación que un proceso que no se puede observar y no puede comunicarse con otros procesos no puede escaparse la información. Lampson llama este aislamiento total.

En la práctica, la realización del aislamiento total es difícil. Los procesos a ser generalmente confinados recursos de la parte tales como CPUs, redes, y almacenamiento en discos con otro, unconfined procesos. Unconfined procesos puede transmitir el excedente de la información esos recursos compartidos.

Un canal secreto es una trayectoria de la comunicación que no fue diseñada para ser utilizada para la comunicación.

EJEMPLO: El proceso p debe ser confinado tales que no puede comunicarse con el proceso q. Sin embargo, los procesos p y q comparten un sistema de ficheros. En la orden para el proceso p para enviar un mensaje al proceso q, crea un archivo llamado envía en un directorio que ambos procesos puedan leer. Momentos antes que el proceso q es leer la información, q suprime el archivo del enviar. El proceso p entonces transmite un pedacito creando un archivo nombrado 0bit o 1bit, como apropiado. Cuando q detecta cualquier archivo, registra el pedacito y suprime el archivo. Esto continúa hasta que p crea un archivo llamado el extremo, en que punto la comunicación cesa.


El confinamiento es transitivo. Asuma que un proceso p está confinado para prevenir salida. Si invoca un segundo proceso q, entonces q debe ser confinado semejantemente o q podría escaparse la información que p pasa.

La regla del confinamiento transitivo indica que si un proceso confinado invoca un segundo proceso, el segundo proceso debe estar como confinado como el llamador.

El confinamiento es un mecanismo para hacer cumplir el principio de menos privilegio. Un proceso correctamente confinado no puede transmitir datos a un segundo proceso a menos que la transmisión sea necesaria terminar su tarea. El problema es que el proceso confinado necesita el acceso a los datos ser transmitido y así que el confinamiento debe estar en la transmisión, no en el acceso de los datos. Para complicar materias, el proceso puede tener que transmitir una cierta información al segundo proceso. En este caso, el mecanismo del confinamiento debe distinguir entre la transmisión de datos autorizados y la transmisión de datos desautorizados.

La combinación de estos problemas ilustra la dificultad de prevenir salida. El dilema es que las computadoras modernas están diseñadas para compartir recursos, pero por el acto que comparte de ellos crea los canales de la comunicación a lo largo de los cuales la información puede ser escapada.

Lipner examina el problema de una política y aspecto el modelar. Él considera dos tipos de canales secretos. El primer implica el uso del almacenaje de transmitir la información. Si un modelo describe correctamente todas las maneras en las cuales la información pueda ser almacenada y leer, entonces el modelo abstrae los canales legítimos y secretos a lo largo de los cuales la información puede fluir. El modelo obliga todos los accesos al almacenaje. Los únicos accesos permitidos son ésos autorizados por la política, así que los flujos de la información son legítimos. Sin embargo, si el modelo no captura todos tales flujos, entonces flujos desautorizados, o los canales secretos, preséntese.

Lipner entonces observa que todos los procesos pueden obtener por lo menos una idea aproximada del tiempo. Esto hace tiempo un canal de comunicaciones. Una lata del programa "leyó" tiempo comprobando el reloj del sistema o (alternativomente) contando el número de instrucciones que se ha ejecutado durante un período del tiempo de reloj de la pared. Una lata del programa "escribe" tiempo ejecutando un número del sistema de instrucciones y parando, permitiendo que otro proceso se ejecute. Este canal compartido no puede ser hecho exclusivo a menos que un proceso no comparta la computadora con otro proceso, que sugiere el aislamiento como remedio.

Los ataques de la sincronización de Kocher contra cryptosystems ilustran este problema. Kocher observa que las instrucciones ejecutadas por puestas en práctica de cryptosystems dependen del ajuste de pedacitos en la llave. Por ejemplo, el algoritmo debajo de los instrumentos una función modular rápida del exponentiation. Si un pedacito es 1, dos multiplicaciones ocurren; si no, una multiplicación ocurre. La multiplicación adicional toma tiempo adicional. Kocher determina pedacitos del exponente confidencial midiendo tiempo del cómputo.

Una rutina modular rápida del exponentiation. Esta rutina computa x = MOD n del az. Los pedacitos de z son zk1. . . ,z0.
x: = 1; atmp: = a; para i: = 
0 a k-1 comienza        si zi = 1 entonces           x:
= (x * atmp) MOD n;        atmp: = (atmp * atmp) MOD
n; extremo; resultado: = x;

Exploramos el mecanismo del aislamiento primero. Entonces examinamos los canales secretos más detalladamente y discutimos otros acercamientos a analizarlos, incluyendo las técnicas para identificar los canales secretos y aislarlos.

esto es un artículo agregado por Bill Kuriko


Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions