Especificação e Automação de Testes de Segurança Utilizando a Técnica BDD

Preview:

Citation preview

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

Case de exemplo

32

http://testphp.vulnweb.com/

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: igor.ribeiro.carneiro@gmail.comLinkedIn: http://br.linkedin.com/in/igorcarneiro

Recommended