Uso de estratégias orientadas a metas para modelagem de requisitos de segurança. Aluno: Herbet de...

Post on 17-Apr-2015

108 views 0 download

Transcript of Uso de estratégias orientadas a metas para modelagem de requisitos de segurança. Aluno: Herbet de...

Uso de estratégias orientadas a metas para modelagem de requisitos de segurança.

Aluno: Herbet de Souza Cunha

Orientador: Julio Cesar Sampaio do Prado Leite

O problema

Modelagem de requisitos de segurança, especificamente confidencialidade e consistência de informações.

Processo original

Fluxograma de processo proposto em: [3] Liu, L.; Yu. E.; Mylopoulos, J. Security and Privacy Requirements Analysis within a Social Setting. Proceedings of the International Conference on Requirements Engineering (RE’03). Monterey, California, September 2003. Pags. 151-161

Processo Evoluído

Refinamento de Atores

Identificação de atores

Identificação de metas e tarefas

Identificação das dependências (entre atores)

Identificação de atacantes

Identificação de intenções maliciosas

Identificação de medidasde ataque

Análise de vulnerabilidades

Análise de medidasde defesa

1

2

7

6

1

2

3

4

5

6

7

Definição deSDsituations

3

Definição de Cenários5

Definição de Requisitos Não-Funcionais (NFRs)

8

4

9

1011

Fluxograma de processo evoluído a partir de: [3] Liu, L.; Yu. E.; Mylopoulos, J. Security and Privacy Requirements Analysis within a Social Setting. Proceedings of the International Conference on Requirements Engineering (RE’03). Monterey, California, September 2003. Pags. 151-161

Aplicação – Estudo de Caso

Expert Committee (EC) - sistema para suporte ao gerenciamento de submissões e revisões de artigos submetidos a uma conferência ou workshop.

Passo 1 – Identificação de atores

Refinamento de Atores

Identificação de atores

Identificação de metas e tarefas

Identificação das dependências (entre atores)

Identificação de atacantes

Identificação de intenções maliciosas

Identificação de medidasde ataque

Análise de vulnerabilidades

Análise de medidasde defesa

1

2

7

6

1

2

3

4

5

6

7

Definição deSDsituations

3

Definição de Cenários5

Definição de Requisitos Não-Funcionais (NFRs)

8

4

9

1011

Passo 1 – Identificação de atores

Tabela #5.1 - Identificação de Atores – versão inicial

Ator Fonte Iteração

Chair Descrição do problema Primeira

Autor Descrição do problema Primeira

Revisor Descrição do problema Primeira

Membro do Comitê de Programa Descrição do problema Primeira

Coordenador Geral Descrição do problema Primeira

Passo 1 (segurança) – Identificação de atacantes

Refinamento de Atores

Identificação de atores

Identificação de metas e tarefas

Identificação das dependências (entre atores)

Identificação de atacantes

Identificação de intenções maliciosas

Identificação de medidasde ataque

Análise de vulnerabilidades

Análise de medidasde defesa

1

2

7

6

1

2

3

4

5

6

7

Definição deSDsituations

3

Definição de Cenários5

Definição de Requisitos Não-Funcionais (NFRs)

8

4

9

1011

Passo 1 (segurança) – Identificação de atacantes

Tabela #5.2 - Identificação de Atacantes – versão inicial

Atacante Fonte Iteração

Atacante do Chair Identificação de atores Primeira

Atacante do Autor Identificação de atores Primeira

Atacante do Revisor Identificação de atores Primeira

Atacante do Membro do Comitê Identificação de atores Primeira

Atacante do Coordenador Geral Identificação de atores Primeira

Atacante Externo Primeira

Passo 2 – Identificação das dependências (entre atores)

Refinamento de Atores

Identificação de atores

Identificação de metas e tarefas

Identificação das dependências (entre atores)

Identificação de atacantes

Identificação de intenções maliciosas

Identificação de medidasde ataque

Análise de vulnerabilidades

Análise de medidasde defesa

1

2

7

6

1

2

3

4

5

6

7

Definição deSDsituations

3

Definição de Cenários5

Definição de Requisitos Não-Funcionais (NFRs)

8

4

9

1011

Passo 2 – Identificação das dependências (entre atores)

Passo 3 – Definição de SDsituations

Refinamento de Atores

Identificação de atores

Identificação de metas e tarefas

Identificação das dependências (entre atores)

Identificação de atacantes

Identificação de intenções maliciosas

Identificação de medidasde ataque

Análise de vulnerabilidades

Análise de medidasde defesa

1

2

7

6

1

2

3

4

5

6

7

Definição deSDsituations

3

Definição de Cenários5

Definição de Requisitos Não-Funcionais (NFRs)

8

4

9

1011

Passo 3 – Definição de SDsituations

Indicação dos Membros do Comitê de Programa (‘Committee Indication’)

Indicação dos Revisores (‘Reviewers Indication’)

Submissão de Artigo (‘Article Submission’) Aceitação de Proposta de Revisão (‘Proposal

Acceptance’) Revisão de Artigos (‘Article Reviews’) Resolução de Conflitos (‘Conflicts Solution’) Recepção das Versões Finais (‘Camera Ready

Reception’). Convite de Pesquisadores (‘Researchers

Invitation’)

Passo 4 – iterativo – identificação de novos atores

Refinamento de Atores

Identificação de atores

Identificação de metas e tarefas

Identificação das dependências (entre atores)

Identificação de atacantes

Identificação de intenções maliciosas

Identificação de medidasde ataque

Análise de vulnerabilidades

Análise de medidasde defesa

1

2

7

6

1

2

3

4

5

6

7

Definição deSDsituations

3

Definição de Cenários5

Definição de Requisitos Não-Funcionais (NFRs)

8

4

9

1011

Passo 4 – iterativo – identificação de novos atores

Passo 3 – Definição de SDsituations

Passo 2 (segurança) – Análise de Vulnerabilidades

Refinamento de Atores

Identificação de atores

Identificação de metas e tarefas

Identificação das dependências (entre atores)

Identificação de atacantes

Identificação de intenções maliciosas

Identificação de medidasde ataque

Análise de vulnerabilidades

Análise de medidasde defesa

1

2

7

6

1

2

3

4

5

6

7

Definição deSDsituations

3

Definição de Cenários5

Definição de Requisitos Não-Funcionais (NFRs)

8

4

9

1011

Passo 2 (segurança) – Análise de Vulnerabilidades

Tabela #5.5 - Identificação de vulnerabilidades

Elementos de dependência Tipo SDSituations Sensível à segurança?

Invitation resource RESEARCHERS INVITATION Não

Response of Invitation resource RESEARCHERS INVITATION Não

Event Dates resource RESEARCHERS INVITATION, COMMITTEE M. INDICATION,

REVIEWERS INDICATION,ARTICLE SUBMISSION,

CAMERA READY RECEPTION

Não

Article resource ARTICLE SUBMISSION, ARTICLES REVIEW,

Sim

Favorites Articles resource PROPOSAL ACCEPTANCE Não

Proposal of Review resource PROPOSAL ACCEPTANCE Não

Response of Proposal resource PROPOSAL ACCEPTANCE Não

Review Article task ARTICLES REVIEW Sim

Reviewed Article resource ARTICLES REVIEW,CAMERA READY RECEPTION,

CONFLICTS SOLUTION

Sim

Vote task CONFLICTS SOLUTION Sim

Result of Review resource ARTICLES REVIEW,CONFLICTS SOLUTION,

CAMERA READY RECEPTION,

Sim

Camera Ready resource CAMERA READY RECEPTION Sim

Passo 5 – Definição de Cenários

Refinamento de Atores

Identificação de atores

Identificação de metas e tarefas

Identificação das dependências (entre atores)

Identificação de atacantes

Identificação de intenções maliciosas

Identificação de medidasde ataque

Análise de vulnerabilidades

Análise de medidasde defesa

1

2

7

6

1

2

3

4

5

6

7

Definição deSDsituations

3

Definição de Cenários5

Definição de Requisitos Não-Funcionais (NFRs)

8

4

9

1011

Passo 6 – Refinamento de Atores

Refinamento de Atores

Identificação de atores

Identificação de metas e tarefas

Identificação das dependências (entre atores)

Identificação de atacantes

Identificação de intenções maliciosas

Identificação de medidasde ataque

Análise de vulnerabilidades

Análise de medidasde defesa

1

2

7

6

1

2

3

4

5

6

7

Definição deSDsituations

3

Definição de Cenários5

Definição de Requisitos Não-Funcionais (NFRs)

8

4

9

1011

Passo 6 – Refinamento de Atores (legítimos)

Passo 6 – Refinamento de Atores (atacantes)

Passo 7 – iterativo – refinamento de SDs

Refinamento de Atores

Identificação de atores

Identificação de metas e tarefas

Identificação das dependências (entre atores)

Identificação de atacantes

Identificação de intenções maliciosas

Identificação de medidasde ataque

Análise de vulnerabilidades

Análise de medidasde defesa

1

2

7

6

1

2

3

4

5

6

7

Definição deSDsituations

3

Definição de Cenários5

Definição de Requisitos Não-Funcionais (NFRs)

8

4

9

1011

Passo 7 – iterativo – refinamento de SDs

Passo 8 – Identificação de metas e tarefas

Refinamento de Atores

Identificação de atores

Identificação de metas e tarefas

Identificação das dependências (entre atores)

Identificação de atacantes

Identificação de intenções maliciosas

Identificação de medidasde ataque

Análise de vulnerabilidades

Análise de medidasde defesa

1

2

7

6

1

2

3

4

5

6

7

Definição deSDsituations

3

Definição de Cenários5

Definição de Requisitos Não-Funcionais (NFRs)

8

4

9

1011

Passo 8 – Identificação de metas e tarefas

Passo 8 – Identificação de metas e tarefas

Passo 3 (segurança) – Identificação de intenções maliciosas

Refinamento de Atores

Identificação de atores

Identificação de metas e tarefas

Identificação das dependências (entre atores)

Identificação de atacantes

Identificação de intenções maliciosas

Identificação de medidasde ataque

Análise de vulnerabilidades

Análise de medidasde defesa

1

2

7

6

1

2

3

4

5

6

7

Definição deSDsituations

3

Definição de Cenários5

Definição de Requisitos Não-Funcionais (NFRs)

8

4

9

1011

Passo 3 (segurança) – Identificação de intenções maliciosas – atacantes internos

Passo 3 (segurança) – Identificação de intenções maliciosas – atacantes externos

Passo 10 – Definição de requisitos não-funcionais

Refinamento de Atores

Identificação de atores

Identificação de metas e tarefas

Identificação das dependências (entre atores)

Identificação de atacantes

Identificação de intenções maliciosas

Identificação de medidasde ataque

Análise de vulnerabilidades

Análise de medidasde defesa

1

2

7

6

1

2

3

4

5

6

7

Definição deSDsituations

3

Definição de Cenários5

Definição de Requisitos Não-Funcionais (NFRs)

8

4

9

1011

Passo 10 – Definição de requisitos não-funcionais – tipos de segurança

Passo 10 – Definição de requisitos não-funcionais – tópicos de confidencialidade

Passo 10 – Definição de requisitos não-funcionais – tópicos de consistência

Passo 11 – iterativo – integração de NFRs

Refinamento de Atores

Identificação de atores

Identificação de metas e tarefas

Identificação das dependências (entre atores)

Identificação de atacantes

Identificação de intenções maliciosas

Identificação de medidasde ataque

Análise de vulnerabilidades

Análise de medidasde defesa

1

2

7

6

1

2

3

4

5

6

7

Definição deSDsituations

3

Definição de Cenários5

Definição de Requisitos Não-Funcionais (NFRs)

8

4

9

1011

Passo 11 – iterativo – integração de NFRs

Passo 11 – iterativo – integração de NFRs

Passo 5 (segurança) – Análise de Medidas de Defesa

Refinamento de Atores

Identificação de atores

Identificação de metas e tarefas

Identificação das dependências (entre atores)

Identificação de atacantes

Identificação de intenções maliciosas

Identificação de medidasde ataque

Análise de vulnerabilidades

Análise de medidasde defesa

1

2

7

6

1

2

3

4

5

6

7

Definição deSDsituations

3

Definição de Cenários5

Definição de Requisitos Não-Funcionais (NFRs)

8

4

9

1011

Passo 5 (segurança) – Análise de Medidas de Defesa – Revisão de artigo

Passo 5 (segurança) – Análise de Medidas de Defesa – Revisão de artigo

Passo 5 (segurança) – Análise de Medidas de Defesa – Revisão de artigo

Passo 5 (segurança) – Análise de Medidas de Defesa – Votação fechada

Passo 5 (segurança) – Análise de Medidas de Defesa – Votação aberta

Bibliografia

[1] Yu, E. Modelling Strategic Relationships for Process Reengineering, PhD Thesis, Graduate Department of Computer Science, University of Toronto, Toronto, Canada, 1995, Pag. 124.

[2] Simon, H. Theories of Decision-Making in Economics and BehavioralScience. Herbert A. Simon. The American Economic Review, Vol. 49, No. 3, Pags. 253-283

[3] Liu, L.; Yu. E.; Mylopoulos, J. Security and Privacy Requirements Analysis within a Social Setting. Proceedings of the International Conference on Requirements Engineering (RE’03). Monterey, California, September 2003. Pags. 151-161.

[4] Oliveira, A.; Cysneiros, L. Defining Strategic Dependency Situations in Requirements Elicitation. Proceedings of IX Workshop on Requirements Engineering (WER’2006). Rio de Janeiro, Brasil, Julho 2006. Pags. 12-23

[5] Leite, J.; Hadad, G.; Doorn, J.; Kaplan, G. A Scenario Construction Process – RE Journal: Vol 5 N. 1, Springer-Verlag London Limited. 2000. Pags. 38-61

[6] Leite, J.; Franco, A.; Client A Strategy for Conceptual Model Acquisition. Proceedings of the Internaional Symposium on Requirements Engineering, IEEE Computer society Press, San Diego. 1993. Pags 243-246.

[7] Chung, L.; Nixon, B.; Yu, E.; Mylopoulos, J. Non-Functional Requirements in Software Engineering. Kluwer Academic Publishers. Boston/Dordrecht/London. 2000

[8] Cysneiros,L.M.; Leite, J.C.S.P; Neto, J.S.M. A Framework for Integrating Non-Functional Requirements into Conceptual Models. RE Journal: Vol 6 , N. 2, Springer-Verlag London Limited. 2001. Pags. 97-115.

[9] Manadhata, P.; Wing, J. M. Measuring a System’s Attack Surface. Technical Report CMUCS-04-102, School of Computer Science, Carnegie Mellon University, Pittsburgh, PA. 2004

[10] van Lamsweerde, A. Elaborating security requirements by construction of intentional anti-models. Proceedings. 26th International Conference on Software Engineering, 2004. ICSE 2004. Pags. 148- 157.