O documento discute a análise de requisitos de segurança em aplicações web usando UMLsec. Apresenta os problemas das abordagens anteriores, propõe o uso do UMLsec para identificar vulnerabilidades e riscos nos estágios iniciais do desenvolvimento e fornece exemplos de modelos UMLsec para um sistema de comércio exterior e hardware protegido.
1. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Security Requirement Analysis of Web
Application using UML
MC426 - Engenharia de Software
Marcus Felipe Botacin1 Bruno Gustavo Salomão Agostini1
1Instituto de Computação - UNICAMP
November 7, 2012
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
2. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Roteiro
1 Introdução
A Necessidade de Segurança
Alguns Dados
2 Abordagens Anteriores
Modelo Anterior
Falhas
3 Sobre o Paper
Sobre o Paper
Metas
Proposta
4 UMLsec
Definições
Estereótipos
5 Casos Práticos
Exemplos
Exemplos de violação
6 Conclusões
Conclusões
Bibliografia
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
3. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
A Necessidade de Segurança
Alguns Dados
Focos do trabalho
1 Introdução
A Necessidade de Segurança
Alguns Dados
2 Abordagens Anteriores
Modelo Anterior
Falhas
3 Sobre o Paper
Sobre o Paper
Metas
Proposta
4 UMLsec
Definições
Estereótipos
5 Casos Práticos
Exemplos
Exemplos de violação
6 Conclusões
Conclusões
Bibliografia
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
4. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
A Necessidade de Segurança
Alguns Dados
A Necessidade de Segurança
Internet cada vez mais importante
Mais transações são realizadas
Maior Risco de Interceptação
Falta de legislação específica
Especificação funcional tem limitações
Segurança nem sempre é pensada ao longo do processo
de desenvolvimento
Tornar uma aplicação Web segura é difícil e gera
instabilidades
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
5. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
A Necessidade de Segurança
Alguns Dados
Focos do trabalho
1 Introdução
A Necessidade de Segurança
Alguns Dados
2 Abordagens Anteriores
Modelo Anterior
Falhas
3 Sobre o Paper
Sobre o Paper
Metas
Proposta
4 UMLsec
Definições
Estereótipos
5 Casos Práticos
Exemplos
Exemplos de violação
6 Conclusões
Conclusões
Bibliografia
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
6. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
A Necessidade de Segurança
Alguns Dados
Estatísticas de 2011 do NIC.br
127 mil incidentes apenas no Brasil
Crescimento médio de 40% ao ano
Crescimento real de 280% nos últimos anos.
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
7. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Modelo Anterior
Falhas
Focos do trabalho
1 Introdução
A Necessidade de Segurança
Alguns Dados
2 Abordagens Anteriores
Modelo Anterior
Falhas
3 Sobre o Paper
Sobre o Paper
Metas
Proposta
4 UMLsec
Definições
Estereótipos
5 Casos Práticos
Exemplos
Exemplos de violação
6 Conclusões
Conclusões
Bibliografia
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
8. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Modelo Anterior
Falhas
2 Abordagens
"Penetrate And Patch"
"Training"
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
9. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Modelo Anterior
Falhas
Penetrate And Patch
Inseguro
Disruptivo
Quando Termina ?
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
10. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Modelo Anterior
Falhas
Training
Processo Lento
Caro
Nem sempre aplicado
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
11. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Modelo Anterior
Falhas
Focos do trabalho
1 Introdução
A Necessidade de Segurança
Alguns Dados
2 Abordagens Anteriores
Modelo Anterior
Falhas
3 Sobre o Paper
Sobre o Paper
Metas
Proposta
4 UMLsec
Definições
Estereótipos
5 Casos Práticos
Exemplos
Exemplos de violação
6 Conclusões
Conclusões
Bibliografia
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
12. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Modelo Anterior
Falhas
Causas das falhas
Projetar sistemas seguros corretamente é complicado
Projetistas de software não tem conhecimento adequado
de segurança
Segurança é tratada nas fases finais do processo
Segurança pode ser "circunventing"
Falta de feedback do cliente
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
13. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Sobre o Paper
Metas
Proposta
Focos do trabalho
1 Introdução
A Necessidade de Segurança
Alguns Dados
2 Abordagens Anteriores
Modelo Anterior
Falhas
3 Sobre o Paper
Sobre o Paper
Metas
Proposta
4 UMLsec
Definições
Estereótipos
5 Casos Práticos
Exemplos
Exemplos de violação
6 Conclusões
Conclusões
Bibliografia
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
14. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Sobre o Paper
Metas
Proposta
Crítica ao Modelo Atual
Proposta de novos objetivos
Apresenta uma nova visão
O Padrão UMLsec
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
15. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Sobre o Paper
Metas
Proposta
Focos do trabalho
1 Introdução
A Necessidade de Segurança
Alguns Dados
2 Abordagens Anteriores
Modelo Anterior
Falhas
3 Sobre o Paper
Sobre o Paper
Metas
Proposta
4 UMLsec
Definições
Estereótipos
5 Casos Práticos
Exemplos
Exemplos de violação
6 Conclusões
Conclusões
Bibliografia
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
16. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Sobre o Paper
Metas
Proposta
Availability
Confindentialy
Integrity
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
17. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Sobre o Paper
Metas
Proposta
Focos do trabalho
1 Introdução
A Necessidade de Segurança
Alguns Dados
2 Abordagens Anteriores
Modelo Anterior
Falhas
3 Sobre o Paper
Sobre o Paper
Metas
Proposta
4 UMLsec
Definições
Estereótipos
5 Casos Práticos
Exemplos
Exemplos de violação
6 Conclusões
Conclusões
Bibliografia
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
18. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Sobre o Paper
Metas
Proposta
Proposta de uma abordagem atual
Identificar as Vulnerabilidades
Determinar os Riscos
Integração de segurança nos estágios iniciais do
desenvolvimento
Política de segurança reativa não é a melhor opção
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
19. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Sobre o Paper
Metas
Proposta
Perguntas a se fazer
"What Are the treats ?"
"What Are the risks ?"
"What to protect?"
"What tests ?"
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
20. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Definições
Estereótipos
Focos do trabalho
1 Introdução
A Necessidade de Segurança
Alguns Dados
2 Abordagens Anteriores
Modelo Anterior
Falhas
3 Sobre o Paper
Sobre o Paper
Metas
Proposta
4 UMLsec
Definições
Estereótipos
5 Casos Práticos
Exemplos
Exemplos de violação
6 Conclusões
Conclusões
Bibliografia
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
21. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Definições
Estereótipos
O que é ?
Extensão Do UML
Criada em 2002
Por Jan Jurgens
Munich University
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
22. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Definições
Estereótipos
Como Funciona
Baseado em Estereótipos
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
23. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Definições
Estereótipos
Focos do trabalho
1 Introdução
A Necessidade de Segurança
Alguns Dados
2 Abordagens Anteriores
Modelo Anterior
Falhas
3 Sobre o Paper
Sobre o Paper
Metas
Proposta
4 UMLsec
Definições
Estereótipos
5 Casos Práticos
Exemplos
Exemplos de violação
6 Conclusões
Conclusões
Bibliografia
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
24. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Definições
Estereótipos
Estereótipos
Figure: Tabela de estereótipos
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
25. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Definições
Estereótipos
Labels
Figure: Tabela de labels
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
26. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Exemplos
Exemplos de violação
Focos do trabalho
1 Introdução
A Necessidade de Segurança
Alguns Dados
2 Abordagens Anteriores
Modelo Anterior
Falhas
3 Sobre o Paper
Sobre o Paper
Metas
Proposta
4 UMLsec
Definições
Estereótipos
5 Casos Práticos
Exemplos
Exemplos de violação
6 Conclusões
Conclusões
Bibliografia
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
27. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Exemplos
Exemplos de violação
Exemplo IS-COMEX (1)
Figure: Modelo de contexto seguro
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
28. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Exemplos
Exemplos de violação
Exemplo IS-COMEXv(2)
Figure: Modelo de casos seguros
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
29. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Exemplos
Exemplos de violação
Exemplo IS-COMEX (3)
Figure: Modelo de cenários críticos
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
30. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Exemplos
Exemplos de violação
Exemplo IS-COMEX (4)
Figure: Diagrama de classes com segurança
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
31. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Exemplos
Exemplos de violação
Exemplo IS-COMEX (5)
Figure: Diagrama de classes de um sistema seguro
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
32. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Exemplos
Exemplos de violação
Em Hardware
Figure: Modelo de configuração de hardware protegido
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
33. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Exemplos
Exemplos de violação
Focos do trabalho
1 Introdução
A Necessidade de Segurança
Alguns Dados
2 Abordagens Anteriores
Modelo Anterior
Falhas
3 Sobre o Paper
Sobre o Paper
Metas
Proposta
4 UMLsec
Definições
Estereótipos
5 Casos Práticos
Exemplos
Exemplos de violação
6 Conclusões
Conclusões
Bibliografia
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
34. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Exemplos
Exemplos de violação
Figure: Violação de «secure links»
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
35. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Exemplos
Exemplos de violação
Figure: Violação de «secure dependency»
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
36. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Conclusões
Bibliografia
Focos do trabalho
1 Introdução
A Necessidade de Segurança
Alguns Dados
2 Abordagens Anteriores
Modelo Anterior
Falhas
3 Sobre o Paper
Sobre o Paper
Metas
Proposta
4 UMLsec
Definições
Estereótipos
5 Casos Práticos
Exemplos
Exemplos de violação
6 Conclusões
Conclusões
Bibliografia
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
37. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Conclusões
Bibliografia
Conclusões
Segurança deve ser desenvolvida ao longo do processo
UML pode ser estendida
Modelos precisam ser validados
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
38. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Conclusões
Bibliografia
Um Resumo
Domínio do problema: Desenvolvimento de Aplicações
Seguras
Por que modelar: Segurança é essencial nas aplicações
Por que UML : Linguagem de modelagem padrão, muito
flexível
Objetivo do trabalho: Apresentar uma extensão da UML
para segurança
Estudo de caso: Apresentação do UMLsec
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
39. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Conclusões
Bibliografia
Um Resumo
Modelos utilizados: UML, com diagrama de
sequencia,classes,usos,modelos de casos de uso seguro
Avaliação da solução: Boa
Pontos Fortes: Ser extensão do UML; Não depender de
implementação
Pontos Fracos: Todos os casos críticos devem ser
percebidos na modelagem
Uma melhoria: Adicionar uma fase de teste com o usuário
final,objetivando determinar os requisitos de segurança
despercebidos
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
40. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Conclusões
Bibliografia
Focos do trabalho
1 Introdução
A Necessidade de Segurança
Alguns Dados
2 Abordagens Anteriores
Modelo Anterior
Falhas
3 Sobre o Paper
Sobre o Paper
Metas
Proposta
4 UMLsec
Definições
Estereótipos
5 Casos Práticos
Exemplos
Exemplos de violação
6 Conclusões
Conclusões
Bibliografia
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
41. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Conclusões
Bibliografia
Security Requirements Analisys of Web Applications using
UML, Chehida Rahmouni
UMLsec: Extending UML for Secure System Development,
Jurgen
UMLsec: Presenting the Profiles : Jurgens
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML
42. Introdução
Abordagens Anteriores
Sobre o Paper
UMLsec
Casos Práticos
Conclusões
Conclusões
Bibliografia
Obrigado!
Marcus Botacin, Bruno Agostini Security Requirement Analysis of Web Application using UML