Especificação e Automação de Testes de Segurança Utilizando a Técnica BDD
-
Upload
igor-carneiro -
Category
Software
-
view
179 -
download
1
Transcript of Especificação e Automação de Testes de Segurança Utilizando a Técnica BDD
O MAIOR EVENTO BRASILEIRO DE HACKING, SEGURANÇA E TECNOLOGIA
Especificação e Automação de Testes de Segurança Utilizando a Técnica BDD
Igor Carneiro
Analista de Testes
Tópicos
* Ontem, Hoje e Amanhã;
* Aplicações Web;
* OWASP;
* Medidas de Segurança;
* BDD - Desenvolvimento Orientado a Comportamento;
* BDD e Testes de Segurança.
3
25/04/15
ONTEM, HOJE E AMANHÃ…
4
25/04/15
O que há de comum?
5
25/04/15
Falhas de segurança no software e não…
6
25/04/15
Isso é novo né?
7
25/04/15
Não!!
8
25/04/15
return(feeling);
9
25/04/15
Deadline…
10
25/04/15
Ei…
11
25/04/15
Se deixar em segundo lugar vira…
12
… um problema
25/04/15
APLICAÇÕES WEB
13
25/04/15
Seja bem vindo, pode entrar!
* Aplicações Web em geral:
- Gerenciamento complexo
1. Uso de criptografia;
2. Restrições de acesso;
3. Prevenção contra Injeção de JavaScript, HTML, SQLi;
4. Prevenção contra ataques força bruta e;
5. Diversos frameworks.
14
25/04/15
OWASP - OPEN WEB APPLICATION SECURITY PROJECT
15
25/04/15
O que é a OWASP?
* A Fundação OWASP é uma entidade sem fins lucrativos focada na melhoria da segurança de software; Junte-se a nós!
16
25/04/15
OWASP TOP 10 2013
17
25/04/15
MEDIDAS DE SEGURANÇA
18
25/04/15
Calma…
19
25/04/15
Exemplos de medidas de segurança
* Testes de Segurança;
* Framework;
* SDLC - Ciclo de Desenvolvimento Seguro.
20
25/04/15
Testes de Segurança
* Complexo;
* Quanto antes melhor (custo);
* Ter bem definido o escopo de testes.
2125/04/15
Framework
* Pronto para uso;
* Especialistas.
2225/04/15
SDL - Ciclo de Desenvolvimento Seguro
* Desenvolvimento seguro;
* Redução de custos;
* Maior credibilidade.
2325/04/15
Review
* Ontem, Hoje e Amanhã;
* Aplicações Web;
* OWASP;
* Medidas de segurança.
2425/04/15
BDD - DESENVOLVIMENTO ORIENTADO A COMPORTAMENTO
2525/04/15
O que é o BDD?
* Técnica de desenvolvimento de software;
* Originalmente concebido em 2003 por Dan North;
* Resposta ao TDD (Evolução) e;
* Foco na entrega de valor.
2625/04/15
Por que usar BDD?
* Encoraja a colaboração entre os envolvidos;
- QA;
- Desenvolvedores;
- Cliente;
* Descreve o comportamento de uma aplicação.
2725/04/15
Como funciona o BDD?Features: representam em alto nível, as principais características do sistema.
Cenários: descrições de dos “test case”, com pré-requisitos, ações e resultado esperado.
Passos(steps): Interações entre agente externo (usuário/sistema) e o resultado esperado.
28
25/04/15
Exemplo de especificação
Dado(given): Pré-condição;
E(and): condição;
Quando(when): ação;
Então(then): resultado esperado.
29
25/04/15
BDD E TESTES DE SEGURANÇA
3025/04/15
União do útil ao agradávelDado que sou[tipo de usuário]
E estou [em algum lugar da aplicação]
Quando eu [ação a realizar]
Então eu [resultado esperado]
Dado que sou[um usuário malicioso]
E estou [na tela de login]
Quando eu [utilizar o login e senha padrão de "admin"]
Então eu [terei acesso a aplicação como "administrador"]
31
25/04/15
Feature
33
25/04/15
Cenário de teste - CT 1
3425/04/15
Cenário de teste - CT 2
35
25/04/15
Automação dos cenários
36
CT 1
25/04/15
Automação dos cenários
37
CT 2
25/04/15
Obrigado!
Twitter: @IgorRibeirooE-mail: [email protected]: http://br.linkedin.com/in/igorcarneiro