Lisex  
 
 

 

Especificación formal

Lisex Security Model (LSM 0.0)

La especificación es un modelo abstracto de un sistema de archivos compatible con Linux (o UNIX en general). Toma la forma de una máquina de estados. Toda la especificación está escrita en Coq y documentada con coqdoc. El código formal de la especificación ha sido comentado mínimamente; el lector que desee una explicación más detallada puede consultar [Cristiá]. El código fuente de la especificación y verificación formal listo para ser compilado en Coq 7.3 está en el archivo LSM00.tar.gz.

Se define el estado del sistema de archivos como un registro que comprende los elementos relevantes al problema de seguridad (archivos, directorios, clases de acceso, ACLs, archivos abiertos, etc.). En particular se define un estado inicial para el sistema.

Se definen operaciones que representan cada una de las llamadas al sistema que tienen relación con el sistema de archivos. Cada operación se define constructivamente mediante un tipo inductivo en términos de sus precondiciones y post-condiciones. Existen dos tipos de operaciones:

Consulta
Aquellas operaciones que solicitan datos sobre el estado del sistema pero no tienen la capacidad de efectuar un cambio de estado:
aclstat
oscstat
read
readdir
sscstat
stat
Modificación
Aquellas operaciones que llevan el sistema de un estado a otro:
addUsrGrpToAcl
chmod
chobjsc
chown
chsubsc
close
create
delUsrGrpFromAlc
mkdir
open
owner_close
rmdir
unlink
write

Debido a que la especificación es un modelo abstracto del sistema de archivos, no se describen todas las llamadas al sistema. Sin embargo, se relacionan todas las llamadas al sistema de archivos con alguna operación del modelo, dicha información puede hallarse en el documento de diseño.

Además, se especificaron las propiedades de seguridad que se espera que el sistema de archivos posea. Se escribe un predicado por cada propiedad que se desea. En general, cada predicado define el significado de estado seguro o transición segura del sistema desde un punto de vista diferente a los demás. En LSM 0.0 se definieron cuatro predicados:
Seguridad discrecional
Seguridad simple
Confinamiento
Cambio de atributos de seguridad

Finalmente, se verificó formalmente que el modelo cumple con todas las propiedades esperadas.

 

   
© 2003 por Grupo Gidis. Todos los derechos reservados.
Sitio diseñado por Lorena Cantarini [mailto]