En el administrador de políticas de seguridad se pueden escribir las políticas de seguridad mediante dos formas: i) a través de tablas de control de acceso y/o ii) insertando la política directamente utilizando la interfaz gráfica. En las siguientes secciones se muestra cómo se formalizan cada una de estas políticas.
3.3.1 POLÍTICAS ESCRITAS A TRAVÉS DE TABLAS DE CONTROL DE ACCESO.
En el escenario juguete que estamos manejando, los permisos sobre la información están definidos en las siguientes listas de acceso:
Puesto Permisos Puesto Permisos
Director R,-- ,-- ,I Director --,-- ,-- ,-- Administrador de seguridad --,-- ,-- ,-- Administrador de seguridad R,W,E,I Gerente de finanzas R,W,E,I Gerente de finanzas --,-- ,-- ,-- Analista de finanzas R,-- ,-- ,-- Analista de finanzas --,-- ,-- ,-- Gerente de sistemas --,-- ,-- ,-- Gerente de sistemas R,---,--,-- Programador de sistemas --,-- ,-- ,-- Programador de sistemas --,-- ,-- ,-- Gerente de Recursos H --,-- ,-- ,-- Gerente de Recursos H --,-- ,-- ,--
Archivo de passwords Estados financieros
Puesto Permisos Puesto Permisos
Director R,-- ,-- ,I Director R,-- ,-- ,I Administrador de seguridad --,-- ,-- ,-- Administrador de seguridad --,-- ,-- ,-- Gerente de finanzas R,W,E,I Gerente de finanzas --,-- ,-- ,-- Analista de finanzas R,W,--,-- Analista de finanzas --,-- ,-- ,-- Gerente de sistemas --,-- ,-- ,-- Gerente de sistemas --,-- ,-- ,-- Programador de sistemas --,-- ,-- ,-- Programador de sistemas --,-- ,-- ,-- Gerente de Recursos H --,-- ,-- ,-- Gerente de Recursos H R,W,E,I
Lista de precios Nomina
Las tablas anteriores fueron capturadas en el administrador de políticas de seguridad, por lo que dichas tablas quedaron almacenadas en la tabla “control” dentro de la base de datos. Para explicar cómo se formalizan estas políticas tomaremos como ejemplo la lista de control de acceso de los estados financieros. De acuerdo a lo anterior, se tienen las siguientes políticas: 1. El Analista de Finanzas puede leer los estados financieros.
2. El Director de Dirección puede leer e imprimir los estados financieros.
3. El Gerente de Finanzas puede leer, escribir, ejecutar e imprimir los estados financieros. El administrador de políticas traduce estas políticas a lógica de primer orden utilizando el lenguaje seleccionado del trabajo de Halpern y Weissman, explicados en el capítulo anterior. Por tal motivo, las políticas son formalizadas de la siguiente forma:
∀x…… xm ((C → (¬)Puede(t,t’)) ,
donde C representa las literales fijas que no pueden contener el predicado Puede(t,t’), t es un término que representa al sujeto y t’ un término que representa la acción que realiza.
Siguiendo este formato, las políticas anteriores quedan expresadas automáticamente por el administrador de políticas de la siguiente forma:
all x (Puesto(x,Analista,Finanzas) -> Puede(x,R(Estados_Financieros))).
all x (Puesto(x,Director,Direccion) -> Puede(x,RI(Estados_Financieros))).
all x (Puesto(x,Gerente,Finanzas) -> Puede(x,RWEI(Estados_Financieros))).
Como se puede observar, para formalizar estas políticas se aplican los modos de acceso descritos en la tabla 3.4.
3.3.2 POLÍTICAS ESCRITAS A TRAVÉS DE LA INTERFAZ GRÁFICA.
Como se comentó anteriormente, en la herramienta se puede escribir una política a través de la interfaz gráfica. Esto se hace siguiendo una secuencia de ventanas en las cuales se le va indicando al administrador que seleccione el sujeto, la acción y el complemento de la política.
que “el gerente de sistemas puede modificar el archivo de passwords”. Esta política es almacenada en la base de datos para que posteriormente el administrador de políticas la formalice.
La formalización que sigue el administrador de políticas es de acuerdo a los lineamientos del lenguaje L7 definido el trabajo de Halpern y Weissman [14] por lo que sigue el mismo formato mostrado en la sección anterior. Sin embargo, debido a que en este tipo de políticas existen acciones equivalentes se han creado dos tablas (una a nivel archivo y la otra a nivel directorio) para manejar sinónimos. Por ejemplo, si el administrador de seguridad captura una política y selecciona la acción “modificar”, entonces el administrador de políticas al momento de formalizarla buscará en las tablas de sinónimos la acción correspondiente, que en este caso es escribir.
El objetivo que se persigue con este cambio es unificar descripciones y evitar redundancias en las acciones de las políticas de seguridad. A continuación se muestran en la siguiente tabla los diferentes verbos que se pueden utilizar para escribir una política de control de acceso sobre archivos y su sinónimo correspondiente:
Acciones a nivel archivo
Verbo de la política Sustitución en la formalización
Escribir, agregar, insertar, modificar o cambiar
Escribir
Salvar, almacenar, guardar, respaldar o realizar backups
Escribir
Leer Leer
Ejecutar o cargar Ejecutar
Imprimir Imprimir
Tabla 3.6 Tabla de acciones a nivel archivo
La siguiente tabla nos muestra los diferentes verbos que se utilizan para escribir políticas a nivel directorio:
Acciones a nivel directorio
Verbo de la política Sustitución en la formalización
Crear, Generar, Borrar, Eliminar o Quitar EscribirD Copiar, Duplicar, Cortar, Mover,
Renombrar o Cambiar de nombre
EscribirD
Leer Directorio, Navegar LeerD
Compartir CompartirD
Tabla 3.7 Tabla de acciones a nivel directorio
Utilizando las tablas anteriores, la herramienta formaliza la política “el gerente de sistemas puede modificar el archivo de passwords” de la siguiente forma:
all x (Puesto(x,Gerente,Sistemas) -> - Puede(x,Escribir(Archivo_de_passwords))).
Una vez expresadas estas políticas, el administrador de políticas debe crear una cerradura. Esta cerradura nos sirve para indicar que todo lo que no está expresado en dicha política está prohibido. Es decir, se necesita poner una cerradura, la cual indique que todos los puestos que no estén especificados en las políticas anteriores no tendrán ningún tipo de permisos.
Como se mencionó anteriormente, el administrador de seguridad se está basando en el lenguaje L7 descrito en el trabajo de Halpern y Weissman. Sin embargo, la formalización de esta cerradura no cumple con la condición 2 de este lenguaje. Recordando, esta condición nos dice que n+o podemos tener desigualdades en los antecedentes de las políticas.
En la siguiente sección se explica cómo la herramienta crea esta cerradura.