Teste de Segurança em Aplicações Prontas. Apresentação Albene Teixeira Chaves Borges Carlos...

28
Teste de Segurança em Aplicações Prontas

Transcript of Teste de Segurança em Aplicações Prontas. Apresentação Albene Teixeira Chaves Borges Carlos...

Page 1: Teste de Segurança em Aplicações Prontas. Apresentação Albene Teixeira Chaves Borges Carlos Henrique de Barros Carlos Henrique Oliveira Bispo Eduardo.

Teste de Segurança em Aplicações Prontas

Page 2: Teste de Segurança em Aplicações Prontas. Apresentação Albene Teixeira Chaves Borges Carlos Henrique de Barros Carlos Henrique Oliveira Bispo Eduardo.

Teste de Segurança em Aplicações Prontas

Apresentação

Albene Teixeira Chaves Borges

Carlos Henrique de Barros

Carlos Henrique Oliveira Bispo

Eduardo Henrique Pontes

Humberto Luis Floriano de Toledo

Leonardo Santana Gunes Amorim

Paulo Henrique Borges Megda

Page 3: Teste de Segurança em Aplicações Prontas. Apresentação Albene Teixeira Chaves Borges Carlos Henrique de Barros Carlos Henrique Oliveira Bispo Eduardo.

Agenda

▪ Introdução.▪ Testes de segurança em aplicações.▪ SFR - Security Functional Requirements.▪ Modelo de ameaças.▪ Testes de penetração.▪ Tipos de testes de penetração. ▪ Conclusão.▪ Bibliografia.

Teste de Segurança em Aplicações Prontas

Page 4: Teste de Segurança em Aplicações Prontas. Apresentação Albene Teixeira Chaves Borges Carlos Henrique de Barros Carlos Henrique Oliveira Bispo Eduardo.

Teste de Segurança em Aplicações Prontas

Introdução

Expansão da Internet

Globalização

Page 5: Teste de Segurança em Aplicações Prontas. Apresentação Albene Teixeira Chaves Borges Carlos Henrique de Barros Carlos Henrique Oliveira Bispo Eduardo.

Empresa gera demandas Software gera Solução

Teste de Segurança em Aplicações Prontas

Page 6: Teste de Segurança em Aplicações Prontas. Apresentação Albene Teixeira Chaves Borges Carlos Henrique de Barros Carlos Henrique Oliveira Bispo Eduardo.

Teste de Segurança em Aplicações Prontas

INFORMAÇÃO = BEM DE ALTO VALOR

Page 7: Teste de Segurança em Aplicações Prontas. Apresentação Albene Teixeira Chaves Borges Carlos Henrique de Barros Carlos Henrique Oliveira Bispo Eduardo.

Teste de Segurança em Aplicações Prontas

1. Informação RÁPIDA2. Informação CONFIÁVEL

NECESSIDADE

DESAFIO

Informação SEGURA

Page 8: Teste de Segurança em Aplicações Prontas. Apresentação Albene Teixeira Chaves Borges Carlos Henrique de Barros Carlos Henrique Oliveira Bispo Eduardo.

Teste de Segurança em Aplicações Prontas

Segurança = +

tecnologia Cuidados com aplicações

Page 9: Teste de Segurança em Aplicações Prontas. Apresentação Albene Teixeira Chaves Borges Carlos Henrique de Barros Carlos Henrique Oliveira Bispo Eduardo.

Teste de Segurança em Aplicações Prontas

Testes de segurança em aplicações

Teste sistemático de avaliação de um software - Independente da plataforma de desenvolvimento.

Objetivo

- Garantir que o desenvolvimento seguiu práticas de segurança.

Possibilita encontrar falhas

- Interface;

- Código.

Page 10: Teste de Segurança em Aplicações Prontas. Apresentação Albene Teixeira Chaves Borges Carlos Henrique de Barros Carlos Henrique Oliveira Bispo Eduardo.

Teste de Segurança em Aplicações Prontas

Erros - Comprometem a confiabilidade e segurança das aplicações.

Origens

- Cronogramas apertados; - Alto nível de complexidade da aplicação; - Orçamentos reduzidos. Processo de teste eficiente

- Verifica adequação(software) aos requisitos de segurança (SFR); - Revisão / criação e teste do modelo de ameaças; - Testes de ataque e penetração no sistema.

Page 11: Teste de Segurança em Aplicações Prontas. Apresentação Albene Teixeira Chaves Borges Carlos Henrique de Barros Carlos Henrique Oliveira Bispo Eduardo.

Teste de Segurança em Aplicações Prontas

SFR - Security Functional Requirements

Fase de desenvolvimento

-Identificação dos objetivos de segurança para atender ao nível EAL (Evaluation Assurance Level).

Fase de teste

- Identificação dos requisitos funcionais; - Testes dos itens; - Garantia de conformidade com EAL.

Page 12: Teste de Segurança em Aplicações Prontas. Apresentação Albene Teixeira Chaves Borges Carlos Henrique de Barros Carlos Henrique Oliveira Bispo Eduardo.

Teste de Segurança em Aplicações Prontas

Modelo de ameaças

- permite identificar e estimar ameaças à aplicação.

Fase de testes - Levantado e atualizado; - Filtra; - Direciona para áreas críticas.

Page 13: Teste de Segurança em Aplicações Prontas. Apresentação Albene Teixeira Chaves Borges Carlos Henrique de Barros Carlos Henrique Oliveira Bispo Eduardo.

Teste de Segurança em Aplicações Prontas

Testes de penetração

- Avaliar a segurança de uma aplicação. * Simulação de um ataque. Objetivos

- Encontrar falhas técnicas; - Fragilidades; - Vulnerabilidades.

Problemas + Riscos + Impactos + Solução técnica = Relatório

Page 14: Teste de Segurança em Aplicações Prontas. Apresentação Albene Teixeira Chaves Borges Carlos Henrique de Barros Carlos Henrique Oliveira Bispo Eduardo.

O modelo de testes

- Testador: quem executa as atividades; - A metodologia e ferramentas: guia de testes; - Aplicação: testes de caixa preta (Black Box Testing).

Teste de Segurança em Aplicações Prontas

Page 15: Teste de Segurança em Aplicações Prontas. Apresentação Albene Teixeira Chaves Borges Carlos Henrique de Barros Carlos Henrique Oliveira Bispo Eduardo.

Teste de Segurança em Aplicações Prontas

Testadores

- Pessoas qualificadas na área de segurança; - Hackers e crackers; - Experiência; - Conhecimento aprofundado.

Metodologia e as ferramentas

- Guia define um caminho mais rápido e fácil; - Guia mostra como utilizar as ferramentas de testes.

Page 16: Teste de Segurança em Aplicações Prontas. Apresentação Albene Teixeira Chaves Borges Carlos Henrique de Barros Carlos Henrique Oliveira Bispo Eduardo.

Teste de Segurança em Aplicações Prontas

TIPOS DE TESTES DE PENETRAÇÃO

Page 17: Teste de Segurança em Aplicações Prontas. Apresentação Albene Teixeira Chaves Borges Carlos Henrique de Barros Carlos Henrique Oliveira Bispo Eduardo.

Teste de Segurança em Aplicações Prontas

Coleta de Informações

- levantar informações sobre a aplicação a ser testada; - ferramentas públicas; - scanners; - envio de requisições http.

Impressão digital da aplicação

- descobrir a versão e o tipo do servidor web; - direcionar testes; - analisa o cabeçalho das respostas HTTP do servidor; - "httprint".

Page 18: Teste de Segurança em Aplicações Prontas. Apresentação Albene Teixeira Chaves Borges Carlos Henrique de Barros Carlos Henrique Oliveira Bispo Eduardo.

Teste de Segurança em Aplicações Prontas

Identificação das aplicações

- identificar aplicações hospedadas em um servidor web; - explorar as vulnerabilidades; - verificar atualização; - checar configuração.

Spidering e Googling(poderosas e úteis)

- bem/mal; - Data Minings(tags/dados/url/link).

Page 19: Teste de Segurança em Aplicações Prontas. Apresentação Albene Teixeira Chaves Borges Carlos Henrique de Barros Carlos Henrique Oliveira Bispo Eduardo.

Código de erros

- revelam informações sobre bd; - bugs.

DB Listener

- componente do Oracle; - trata conexões remotas dos clientes.

Teste da lógica do negócio

- ataques perigosos; - difíceis de detectar e especificar.

Ex. Transferência de valor em dinheiro > maior que permitido.

Teste de Segurança em Aplicações Prontas

Page 20: Teste de Segurança em Aplicações Prontas. Apresentação Albene Teixeira Chaves Borges Carlos Henrique de Barros Carlos Henrique Oliveira Bispo Eduardo.

Teste de Segurança em Aplicações Prontas

Casos de abuso - testar os controles da aplicação; - verifica bloqueio nas operações fora do casos de abuso.

Ex. Vender produto por um preço negativo.

Testes de autenticação - confirmar algo como sendo autêntico.

Ex. Solicitação de usuário e senha para verificação de autenticidade.

Constas de usuários previsíveis

- nomes de usuários e senhas fáceis; - senhas fracas com pouca ou nenhuma atualização periódica.

Page 21: Teste de Segurança em Aplicações Prontas. Apresentação Albene Teixeira Chaves Borges Carlos Henrique de Barros Carlos Henrique Oliveira Bispo Eduardo.

Teste de Segurança em Aplicações Prontas

Força bruta - diferentes caracteres.

Esquema de autenticação - burlar o processo de autenticação; - SQL injection.

Acesso a diretórios - testa de acesso a diretórios e arquivos.

Reset de senhas - testa esta funcionalidade do sistema.

Teste de logout - encerramento de sessão após logout; - logout automático por inatividade.

Page 22: Teste de Segurança em Aplicações Prontas. Apresentação Albene Teixeira Chaves Borges Carlos Henrique de Barros Carlos Henrique Oliveira Bispo Eduardo.

Teste de Segurança em Aplicações Prontas

Testes de gerenciamento de sessão - mantém estado desde a autenticação até o fechamento.

Esquema de gerenciamento - avaliar a confiabilidade.

Cookies - ganhar sessão.

Variáveis de sessão - verifica exposição; - transmissão cliente servidor segura; - usa protocolos com criptografia.

Validação de dados - tratamento e validação de dados.

Page 23: Teste de Segurança em Aplicações Prontas. Apresentação Albene Teixeira Chaves Borges Carlos Henrique de Barros Carlos Henrique Oliveira Bispo Eduardo.

Teste de Segurança em Aplicações Prontas

Cross site scripting

- execução de scripts indesejáveis.

Métodos HTTP

- métodos não seguros de acesso habilitados(PUT, DELETE, CONNECT, TRACE).

SQL Injection

- injeção de código SQL na entrada de dados da aplicação. Bd Oracle

- acesso pelo PL/SQL ; - pontos falhos no gateway.

Page 24: Teste de Segurança em Aplicações Prontas. Apresentação Albene Teixeira Chaves Borges Carlos Henrique de Barros Carlos Henrique Oliveira Bispo Eduardo.

Teste de Segurança em Aplicações Prontas

XML Injection

- XML parser trata corretamente entradas inválidas.

IMAP/SMTP Injection - comandos IMAP/SMTP nos servidores de e-mail(dados não tratados).

Buffer Overflow

- verificar como a aplicação trata as tentativas de buffer overflow.

Page 25: Teste de Segurança em Aplicações Prontas. Apresentação Albene Teixeira Chaves Borges Carlos Henrique de Barros Carlos Henrique Oliveira Bispo Eduardo.

Teste de Segurança em Aplicações Prontas

Negação de serviço(DoS)

- ataque comum; - indisponibiliza servidor.

DDoS (Distruibuted Denial of Service)

- ataque de máquinas zumbis.

Bloqueio de contas válidas

- bloqueio devido password inválido.

Page 26: Teste de Segurança em Aplicações Prontas. Apresentação Albene Teixeira Chaves Borges Carlos Henrique de Barros Carlos Henrique Oliveira Bispo Eduardo.

Teste de Segurança em Aplicações Prontas

Alocação de objetos - paralisação do servidor devido alocação de grande nro de objetos.

Loop por contador - loops por contador na aplicação.

Estouro de logs - enchimento do disco de dados da aplicação através do envio de

alto volume de dados ao servidor.

Liberação de recursos - memória; - arquivos.

Estouro de sessão - encher a sessão com dados e esgotar recursos de memória do

servidor.

Page 27: Teste de Segurança em Aplicações Prontas. Apresentação Albene Teixeira Chaves Borges Carlos Henrique de Barros Carlos Henrique Oliveira Bispo Eduardo.

Teste de Segurança em Aplicações Prontas

Conclusão

Concluímos que o teste de segurança é uma operação essencial eindispensável para garantir que uma aplicação não possua falhas que possam permitir a uma pessoa maliciosa atacar tanto o hardware quantoo software. Também foi possível concluir que para realizar teste de altonível é necessário planejamento, organização e, documentação deresultados e de soluções. Além disso, é extremamente necessário terprofissionais com experiência e conhecimento em segurança para que,utilizando boas ferramentas, possam realizar diversos tipos de testes emaplicações e assim pontuar níveis de segurança.

Page 28: Teste de Segurança em Aplicações Prontas. Apresentação Albene Teixeira Chaves Borges Carlos Henrique de Barros Carlos Henrique Oliveira Bispo Eduardo.

Teste de Segurança em Aplicações Prontas

Referências

Ebook: Addison.Wesley, Software.Security.Building.Security.In. (2006).BBL

http://www.softwaremag.com/l.cfm?doc=2004-09/2004-09software-security-testing - acesso em 25/06/2007

Ebook: OWASP Testing Guide v2 (2007)

http://www.invasao.com.br/coluna-andre-11.htm acesso em 25/06/2007

http://en.wikipedia.org/wiki/Common_Criteria