• No se han encontrado resultados

ANEXO 4: CASOS DE PRUEBA Y REPORTE DE APLICACIÓN ANALIZADOR ESTÁTICO DE CÓDIGO PARA POLÍTICAS DE CONTROL DE ACCESO

N/A
N/A
Protected

Academic year: 2021

Share "ANEXO 4: CASOS DE PRUEBA Y REPORTE DE APLICACIÓN ANALIZADOR ESTÁTICO DE CÓDIGO PARA POLÍTICAS DE CONTROL DE ACCESO"

Copied!
10
0
0

Texto completo

(1)

ANALIZADOR ESTÁTICO DE CÓDIGO PARA POLÍTICAS DE

CONTROL DE ACCESO

ARIEL ARTURO LÓPEZ LESMES

ING. JAIME ANDRÉS PAVLICH MARISCAL, Ph.D.

PONTIFICIA UNIVERSIDAD JAVERIANA

FACULTAD DE INGENIERÍA

CARRERA DE INGENIERÍA DE SISTEMAS

BOGOTÁ, D.C.

(2)

Analizador Estático de Código Para Políticas de Control de Acceso 2

TABLA  DE  CONTENIDO  

1  INTRODUCCIÓN.   3

 

2  RESTRICCIÓN:  MÉTODO  DESPROTEGIDO   3

 

2.1  OBJETIVO   3

 

2.2  RESULTADO   3

 

2.3  CONTEXTO   3

 

2.4  REGISTRO  DE  APLICACIÓN:   4

 

(3)

Aplicación Práctica 3 nivel de cumplimiento alto y no se pueden encontrar fallos en la revisión del código. La aplicación del caso de prueba se realizará hasta evaluar todos los casos posibles en los que se podría presentar la falla. Si el caso de prueba se ejecuta sin retornar errores se procederá a aplicar un siguiente caso.

1.1  Contexto  

Se tiene un proyecto Java compuesto por las Entidades Banco, Cuenta, y Persona. La Entidad Banco cuenta con seis métodos, la Entidad Cuenta tiene cuatro métodos y la clase persona tiene ocho métodos. El analizador funciona de la misma forma sobre entidades o sobre EJBs de sesión, simplemente se debe garantizar la presencia de las anotaciones en el código y la referencia de los permisos en el modelo, ya sea a métodos de entidades o de EJBs de sesión.

Además se especifica un modelo de control de acceso compuesto por dos roles: Admin y User. Estos roles, dependiendo de cada restricción, tendrán permisos sobre los métodos de cada una de las cases anteriores.

Para cada restricción se especifican casos de prueba diferentes como se muestra en las siguientes secciones, donde para cada caso de prueba se especifican las condiciones de entrada de las anotaciones de seguridad y el modelo de control de acceso.

2  RESTRICCIÓN:  Método  desprotegido  

2.1  Objetivo    

Encontrar métodos en Entidades JEE5 para los cuales no existe una anotación de seguridad “@Restrict()” que restringa el acceso a dicho método.

2.2  Resultado  

(4)

Analizador Estático de Código Para Políticas de Control de Acceso 4

2.3  Registro  de  aplicación:    

• MP: Numero de métodos protegidos en la Entidad. • MD: Numero de métodos desprotegidos en la Entidad.

• FP: Falsos positivos encontrados después de la ejecución del caso de prueba. • FN: Falsos negativos encontrados después de la ejecución del caso de prueba.

Ejecución #1: Entidad MP MD FP FN Banco 0 6 0 0 Cuenta 3 1 0 0 Persona 8 0 0 0 Ejecución #2: Entidad MP MD FP FN Banco 1 7 0 0 Cuenta 4 0 0 0 Persona 8 0 0 0 Ejecución #3: Entidad MP MD FP FN Banco 3 5 0 0 Cuenta 2 2 0 0 Persona 2 7 0 0

Tras ejecutar tres veces la aplicación, no se encontraron falsos positivos ni falsos negativos, y se encontró que la aplicación encontró las fallas esperadas.

3  RESTRICCIÓN:  Rol  no  existente  en  el  Modelo  

3.1  Objetivo    

Encontrar métodos en Entidades JEE5 para los cuales se define una anotación de seguridad “@Restrict()” que hace referencia a un rol que no está definido en el modelo de políticas de control de acceso.

(5)

Aplicación Práctica 5

3.3  Registro  de  aplicación:    

• R: Numero de métodos que tienen roles no existentes en el modelo de control de acceso. • FP: Falsos positivos encontrados después de la ejecución del caso de prueba.

• FN: Falsos negativos encontrados después de la ejecución del caso de prueba.

Ejecución #1: Entidad R FP FN Banco 6 0 0 Cuenta 1 0 0 Persona 0 0 0 Ejecución #2: Entidad R FP FN Banco 7 0 0 Cuenta 1 0 0 Persona 3 0 0 Ejecución #3: Entidad R FP FN Banco 2 0 0 Cuenta 0 0 0 Persona 4 0 0

Tras ejecutar tres veces la aplicación, no se encontraron falsos positivos ni falsos negativos, y se encontró que la aplicación encontró las fallas esperadas.

4  RESTRICCIÓN:  Permiso  no  existente  

4.1  Objetivo    

(6)

Analizador Estático de Código Para Políticas de Control de Acceso 6 Encontrar métodos en Entidades JEE5 para los cuales se define una anotación de seguridad “@Restrict()” que hace referencia a un rol y a un método, en el que el método no está asignado al rol en el modelo de políticas de control de acceso.

4.2  Resultado  

4.3  Registro  de  aplicación:    

• R: Numero de métodos que tienen Permisos no asignados a roles existentes en el modelo de control de acceso.

• FP: Falsos positivos encontrados después de la ejecución del caso de prueba. • FN: Falsos negativos encontrados después de la ejecución del caso de prueba.

Ejecución #1: Entidad R FP FN Banco 6 0 0 Cuenta 0 0 0 Persona 1 0 0 Ejecución #2: Entidad R FP FN Banco 3 0 0 Cuenta 1 0 0 Persona 1 0 0 Ejecución #3: Entidad R FP FN Banco 0 0 0 Cuenta 0 0 0 Persona 0 0 0

Tras ejecutar tres veces la aplicación, no se encontraron falsos positivos ni falsos negativos, y se encontró que la aplicación encontró las fallas esperadas.

(7)

Aplicación Práctica 7 “@Restrict()” que hace referencia a un rol y a un método, en el que el método no corresponde al método que hace referencia la anotación.

5.2  Resultado  

5.3  Registro  de  aplicación:    

• R: Numero de métodos que tienen permisos que referencian un método diferente al método en el que se ubican.

• FP: Falsos positivos encontrados después de la ejecución del caso de prueba. • FN: Falsos negativos encontrados después de la ejecución del caso de prueba.

Ejecución #1: Entidad R FP FN Banco 4 0 0 Cuenta 0 0 0 Persona 1 0 0 Ejecución #2: Entidad R FP FN Banco 2 0 0 Cuenta 0 0 0 Persona 3 0 0 Ejecución #3: Entidad R FP FN Banco 0 0 0 Cuenta 2 0 0 Persona 3 0 0

Tras ejecutar tres veces la aplicación, no se encontraron falsos positivos ni falsos negativos, y se encontró que la aplicación encontró las fallas esperadas.

(8)

Analizador Estático de Código Para Políticas de Control de Acceso 8

6  RESTRICCIÓN:  Permiso  inconsistente  

6.1  Objetivo    

Encontrar métodos en Entidades JEE5 para los cuales se define un permiso el modelo de control de acceso y no está presente en el código.

6.2  Resultado  

6.3  Registro  de  aplicación:    

• R: Numero de métodos en el modelo de control de acceso tiene un permiso, pero que ese permiso no se refleja en el código.

• FP: Falsos positivos encontrados después de la ejecución del caso de prueba. • FN: Falsos negativos encontrados después de la ejecución del caso de prueba.

Ejecución #1: Entidad R FP FN Banco 0 0 0 Cuenta 3 0 0 Persona 2 0 0 Ejecución #2: Entidad R FP FN Banco 2 0 0 Cuenta 1 0 0 Persona 3 0 0 Ejecución #3: Entidad R FP FN Banco 4 0 0 Cuenta 0 0 0 Persona 1 0 0

Tras ejecutar tres veces la aplicación, no se encontraron falsos positivos ni falsos negativos, y se encontró que la aplicación encontró las fallas esperadas.

(9)

Aplicación Práctica 9

7.1  Objetivo    

Encontrar métodos en Entidades JEE5 para los cuales se define una anotación de seguridad “@Restrict()” que hace más de una referencia al mismo rol y método.

7.2  Resultado  

7.3  Registro  de  aplicación:    

• R: Numero de métodos en el modelo de control de acceso tiene un permiso, pero que ese permiso no se refleja en el código.

• FP: Falsos positivos encontrados después de la ejecución del caso de prueba. • FN: Falsos negativos encontrados después de la ejecución del caso de prueba.

Ejecución #1: Entidad R FP FN Banco 0 0 0 Cuenta 4 0 0 Persona 0 0 0 Ejecución #2: Entidad R FP FN Banco 1 0 0 Cuenta 3 0 0 Persona 1 0 0 Ejecución #3: Entidad R FP FN Banco 4 0 0 Cuenta 2 0 0 Persona 3 0 0

Tras ejecutar tres veces la aplicación, no se encontraron falsos positivos ni falsos negativos, y se encontró que la aplicación encontró las fallas esperadas.

(10)

Analizador Estático de Código Para Políticas de Control de Acceso 10

8  RESTRICCIÓN:  Error  de  sintaxis    

8.1  Objetivo    

Encontrar métodos en Entidades JEE5 para los cuales se define una anotación de seguridad “@Restrict()” que contiene errores de sintaxis.

8.2  Resultado  

8.3  Registro  de  aplicación:    

• R: Numero de métodos que tiene una anotación con errores de sintaxis . • FP: Falsos positivos encontrados después de la ejecución del caso de prueba. • FN: Falsos negativos encontrados después de la ejecución del caso de prueba.

Ejecución #1: Entidad R FP FN Banco 0 0 0 Cuenta 4 0 0 Persona 0 0 0 Ejecución #2: Entidad R FP FN Banco 1 0 0 Cuenta 2 0 0 Persona 4 0 0 Ejecución #3: Entidad R FP FN Banco 0 0 0 Cuenta 3 0 0 Persona 4 0 0

Tras ejecutar tres veces la aplicación, no se encontraron falsos positivos ni falsos negativos, y se encontró que la aplicación encontró las fallas esperadas.

Referencias

Documento similar