SlideShare uma empresa Scribd logo
Cornucópia – um agile
game para facilitar a
codificação segura
Wagner Mendes Voltz - Fusca
http://www.devsecops.org/
https://www.owasp.org
O que é?
● Um game em forma de
cartas
● Para times de
desenvolvimento de
software
● É independente de
linguagem, plataforma e
tecnologia
● É gratuito
O que é?
● Baseado no:
○ SAFECode
○ Elevation of Privilege (EoP) Card Game – Microsoft
Security Development Lifecycle (SDL)
○ CAPEC - Commom Attack Pattern Enumeration and
Classification
○ OWASP AppSensor, OWASP ASVS, OWASP SCP
O que NÃO é?
● Só para desenvolvedores
● Só da MATERA
● Somente para novos softwares
● Não é poker
● Não é truco
● Não é demorado
O que faz?
● Ajuda a identificar requisitos de segurança
● Gera um backlog baseado em segurança para o time de
desenvolvimento
● Disseminar o conhecimento de segurança da informação
no time
O que NÃO faz?
● Não identifica como solucionar os bugs potenciais de
segurança
● Não dá uma ordem de prioridade para os bugs potenciais
Naipes e cartas
● Valores das cartas
○ Do ÀS até o K (rei)
● Naipes
○ Validação de dados de entrada e codificação de dados de
saída
○ Autenticação e gerenciamento de credenciais
○ Gerenciamento de sessões
○ Controle de acessos
○ Práticas de criptografia
Defina um contexto
● Escolha avaliar todo o software ou uma funcionalidade
específica
● 3 a 6 pessoas, além do facilitador
REGRAS 1 - o ínicio
REGRAS 2 - PONTUAÇÃO
E DESCARTE
Separem o naipe
Autenticação e
gerenciamento de
credenciais
● http://meusite.com/login.jsf
● Administrador do sistema: admin /
admin
● Perfis do sistema: admin,
operacional, estratégico
● As mudanças de perfis de um
usuário só ocorrem mediante nova
autenticação via tela inicial
● Várias pessoas com a senha admin,
não sabendo quem acessa e em
determinado local
● Opção “remember me” armazena
dados em localStorage do
navegador
Pontuação - Autenticação e
gerenciamento de credenciais
Cartas que pontuam:
● 2
● 3
● 4
● 5
● 6
● 7
● 9
Cartas que não
pontuam:
● 8
● J
● Q
● K
Cartas ponto de
atenção:
● 10
Adicionando +1 naipe
Gerenciamento de
sessões
● Após autenticação, é criado um
token de de forma manual. Este
mistura o nome do usuário + data
que o login foi efetuado.
● Este é armazenado no cache para
que o usuário não precise logar
novamente caso não feche o
navegador
● Em todas as telas existe uma
validação para garantir que
somente usuários logados estão
acessando o sistema
● Caso o usuário tente acessar o
sistema da mesma máquina, não
será necessário novo login. Mas de
outro aparelho, será necessário
Cartas que pontuam:
● 2
● 3
● 4
● 5
● 6
● 7
● 9
Cartas que não
pontuam:
● 8
● J
● Q
● K
Cartas ponto de
atenção:
● 10
Pontuação - Autenticação e
gerenciamento de credenciais
Cartas que pontuam:
● K
● J
● 10
● 9
● 8
● 7
● 6
● 5
● 3
Cartas que não
pontuam:
● Q
● 4
● 2
Cartas ponto de
atenção:
●
Pontuação - Gerenciamento de
sessões
Lições aprendidas
● Comece simples
● Rodar o game uma
única vez pode não ser
tão produtivo
Lições aprendidas
● Importante ter um especialista jogando, além do facilitador
● Criamos um help extra por causa da descrição das cartas às
vezes não serem tão claras
Lições aprendidas
● O trabalho do facilitador exige bastante atenção para
descrever bem a vulnerabilidade e marcar a pontuação
● Cuidado com o tempo de discussão de cada carta. Use um
cronômetro.
● A planilha sugerida pela OWASP não é boa.
https://github.com/ecastilho1910/cornucopiagame
Lições aprendidas
● É possível fazer o game
com times remotos.
● Envolver testers geram
muitos resultados
positivos.
Lições aprendidas
● Ter gestor ou cliente participando pode gerar certos
desconfortos aos participantes (mas é possível jogar com
eles)
● Ter uma premiação aguça a estratégia do jogo
● Anote os pontos de atenção
● As vulnerabilidades detectadas demoram para entrar em
desenvolvimento no backlog
Medir é importante!
OWASP Application Security Verification Standard Project (ASVS) -
http://bit.ly/owaspasvs
OWASP
Cornucopia
https://www.owasp.org/index.php/OWASP_Corn
ucopia
https://github.com/wagnerfusca/OWASP-Corn
ucopia-Translate-Cards---PT
Cartas
traduzidas
Dúvidas?
tiofusca
wagnerfusca
@wagnerfusca
wagnerfusca@gmail ou wagner.voltz@matera.com
@tiofusca
WWW.MATERA.COM

Mais conteúdo relacionado

Mais procurados

[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira
[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira
[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira
minastestingconference
 
Metodologias Ágeis: Uma breve introdução
Metodologias Ágeis: Uma breve introduçãoMetodologias Ágeis: Uma breve introdução
Metodologias Ágeis: Uma breve introduçãoAchiles Camilo
 
[ O mercado] desenvolvimento de software [ detalhes & curiosidades]
[ O mercado] desenvolvimento de software [ detalhes & curiosidades][ O mercado] desenvolvimento de software [ detalhes & curiosidades]
[ O mercado] desenvolvimento de software [ detalhes & curiosidades]
Kamilla Queiroz Xavier
 
TDC2018FLN | Trilha Agile - Agilidade e para desenvolvedores?
TDC2018FLN | Trilha Agile - Agilidade e para desenvolvedores?TDC2018FLN | Trilha Agile - Agilidade e para desenvolvedores?
TDC2018FLN | Trilha Agile - Agilidade e para desenvolvedores?
tdc-globalcode
 
Agilidade é para desenvolvedores? Semana da Agilidade
Agilidade é para desenvolvedores? Semana da AgilidadeAgilidade é para desenvolvedores? Semana da Agilidade
Agilidade é para desenvolvedores? Semana da Agilidade
Wagner Mendes Voltz Fusca
 
Como influenciar outras pessoas a adotarem código limpo
Como influenciar outras pessoas a adotarem código limpoComo influenciar outras pessoas a adotarem código limpo
Como influenciar outras pessoas a adotarem código limpo
Mary Provinciatto
 
TDC2018SP | XP - O que nao e XP!
TDC2018SP | XP - O que nao e XP!TDC2018SP | XP - O que nao e XP!
TDC2018SP | XP - O que nao e XP!
tdc-globalcode
 
QA além da automação
QA além da automaçãoQA além da automação
QA além da automação
minastestingconference
 
TDC2018SP | Trilha XP - Faca a diferenca com Code Review
TDC2018SP | Trilha XP - Faca a diferenca com Code ReviewTDC2018SP | Trilha XP - Faca a diferenca com Code Review
TDC2018SP | Trilha XP - Faca a diferenca com Code Review
tdc-globalcode
 
Como se tornar Agile Tester
Como se tornar Agile TesterComo se tornar Agile Tester
Como se tornar Agile Tester
Elias Nogueira
 
Casperjs-tdc-2016.ppt
Casperjs-tdc-2016.pptCasperjs-tdc-2016.ppt
Casperjs-tdc-2016.ppt
Rodrigo Freitas
 
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
Igor Abade
 
TDC2018FLN | Trilha Agile - Transformacao Agil do Ponto de Vista do Dev Team
TDC2018FLN | Trilha Agile - Transformacao Agil do Ponto de Vista do Dev TeamTDC2018FLN | Trilha Agile - Transformacao Agil do Ponto de Vista do Dev Team
TDC2018FLN | Trilha Agile - Transformacao Agil do Ponto de Vista do Dev Team
tdc-globalcode
 
Apresentação tdc 2016 - trilha de testes
Apresentação tdc   2016 - trilha de testesApresentação tdc   2016 - trilha de testes
Apresentação tdc 2016 - trilha de testes
Samuel Lucas
 
Seu código fede e você nem sabia
Seu código fede e você nem sabiaSeu código fede e você nem sabia
Seu código fede e você nem sabia
Wagner Mendes Voltz Fusca
 
Formando Desenvolvedores Efetivos
Formando Desenvolvedores EfetivosFormando Desenvolvedores Efetivos
Formando Desenvolvedores EfetivosDiego Santos
 
Transformação ágil em uma grande empresa, um post-it por vez!
Transformação ágil em uma grande empresa, um post-it por vez! Transformação ágil em uma grande empresa, um post-it por vez!
Transformação ágil em uma grande empresa, um post-it por vez!
Adriano Tavares
 
E so mais um campinho na tela
E so mais um campinho na telaE so mais um campinho na tela
E so mais um campinho na tela
Vandre Ramos, MSc, MBA, CSM
 

Mais procurados (20)

[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira
[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira
[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira
 
Metodologias Ágeis: Uma breve introdução
Metodologias Ágeis: Uma breve introduçãoMetodologias Ágeis: Uma breve introdução
Metodologias Ágeis: Uma breve introdução
 
[ O mercado] desenvolvimento de software [ detalhes & curiosidades]
[ O mercado] desenvolvimento de software [ detalhes & curiosidades][ O mercado] desenvolvimento de software [ detalhes & curiosidades]
[ O mercado] desenvolvimento de software [ detalhes & curiosidades]
 
TDC2018FLN | Trilha Agile - Agilidade e para desenvolvedores?
TDC2018FLN | Trilha Agile - Agilidade e para desenvolvedores?TDC2018FLN | Trilha Agile - Agilidade e para desenvolvedores?
TDC2018FLN | Trilha Agile - Agilidade e para desenvolvedores?
 
Agilidade é para desenvolvedores? Semana da Agilidade
Agilidade é para desenvolvedores? Semana da AgilidadeAgilidade é para desenvolvedores? Semana da Agilidade
Agilidade é para desenvolvedores? Semana da Agilidade
 
Como influenciar outras pessoas a adotarem código limpo
Como influenciar outras pessoas a adotarem código limpoComo influenciar outras pessoas a adotarem código limpo
Como influenciar outras pessoas a adotarem código limpo
 
TDC2018SP | XP - O que nao e XP!
TDC2018SP | XP - O que nao e XP!TDC2018SP | XP - O que nao e XP!
TDC2018SP | XP - O que nao e XP!
 
QA além da automação
QA além da automaçãoQA além da automação
QA além da automação
 
TDC2018SP | Trilha XP - Faca a diferenca com Code Review
TDC2018SP | Trilha XP - Faca a diferenca com Code ReviewTDC2018SP | Trilha XP - Faca a diferenca com Code Review
TDC2018SP | Trilha XP - Faca a diferenca com Code Review
 
Como se tornar Agile Tester
Como se tornar Agile TesterComo se tornar Agile Tester
Como se tornar Agile Tester
 
Refactoring
RefactoringRefactoring
Refactoring
 
Casperjs-tdc-2016.ppt
Casperjs-tdc-2016.pptCasperjs-tdc-2016.ppt
Casperjs-tdc-2016.ppt
 
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
 
TDC2018FLN | Trilha Agile - Transformacao Agil do Ponto de Vista do Dev Team
TDC2018FLN | Trilha Agile - Transformacao Agil do Ponto de Vista do Dev TeamTDC2018FLN | Trilha Agile - Transformacao Agil do Ponto de Vista do Dev Team
TDC2018FLN | Trilha Agile - Transformacao Agil do Ponto de Vista do Dev Team
 
Apresentação tdc 2016 - trilha de testes
Apresentação tdc   2016 - trilha de testesApresentação tdc   2016 - trilha de testes
Apresentação tdc 2016 - trilha de testes
 
Seu código fede e você nem sabia
Seu código fede e você nem sabiaSeu código fede e você nem sabia
Seu código fede e você nem sabia
 
Formando Desenvolvedores Efetivos
Formando Desenvolvedores EfetivosFormando Desenvolvedores Efetivos
Formando Desenvolvedores Efetivos
 
Transformação ágil em uma grande empresa, um post-it por vez!
Transformação ágil em uma grande empresa, um post-it por vez! Transformação ágil em uma grande empresa, um post-it por vez!
Transformação ágil em uma grande empresa, um post-it por vez!
 
Testes Automatizados
Testes AutomatizadosTestes Automatizados
Testes Automatizados
 
E so mais um campinho na tela
E so mais um campinho na telaE so mais um campinho na tela
E so mais um campinho na tela
 

Semelhante a Cornucópia – um agile game para facilitar a codificação segura - Agile Trends SP 2019

OWASP Cornucopia - Scrum Gathering Rio 2018
 OWASP Cornucopia - Scrum Gathering Rio 2018 OWASP Cornucopia - Scrum Gathering Rio 2018
OWASP Cornucopia - Scrum Gathering Rio 2018
Wagner Mendes Voltz Fusca
 
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
tdc-globalcode
 
Codelab: TypeScript
Codelab: TypeScriptCodelab: TypeScript
Codelab: TypeScript
Romualdo Andre
 
Cornucopia - Um game para facilitar o assunto codificação segura
Cornucopia - Um game para facilitar o assunto codificação segura Cornucopia - Um game para facilitar o assunto codificação segura
Cornucopia - Um game para facilitar o assunto codificação segura
Wagner Mendes Voltz Fusca
 
Secomp 2018 - DO Ruby ao Elixir
Secomp 2018 - DO Ruby ao ElixirSecomp 2018 - DO Ruby ao Elixir
Secomp 2018 - DO Ruby ao Elixir
Rodrigo Long Chen Kashiwakura
 
Introdução a Python e Django
Introdução a Python e DjangoIntrodução a Python e Django
Introdução a Python e Django
ledsifes
 
graoJS - A full stack MVC NodeJS framework
graoJS - A full stack MVC NodeJS frameworkgraoJS - A full stack MVC NodeJS framework
graoJS - A full stack MVC NodeJS framework
Marcelo Fleury
 
It skills para rh aprender e contratar
It skills para rh  aprender e contratarIt skills para rh  aprender e contratar
It skills para rh aprender e contratar
Ale Uehara
 
Engenharia de Software para Jogos
Engenharia de  Software para JogosEngenharia de  Software para Jogos
Engenharia de Software para Jogos
Ricardo Leite
 
FLISoL'11: Desenvolvendo Games para Android
FLISoL'11: Desenvolvendo Games para AndroidFLISoL'11: Desenvolvendo Games para Android
FLISoL'11: Desenvolvendo Games para Android
Maurílio Silva
 
T19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificaçãoT19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificaçãoCarlos Santos
 
Mobile Game Development.pptx
Mobile Game Development.pptxMobile Game Development.pptx
Mobile Game Development.pptx
UTAStdVandinelsonGom
 
Game jams e Impacto na indústria local - Campus Party Natal 2018
Game jams e Impacto na indústria local - Campus Party Natal 2018Game jams e Impacto na indústria local - Campus Party Natal 2018
Game jams e Impacto na indústria local - Campus Party Natal 2018
Potiguar Indie Games
 
Visao geralti netshoes01
Visao geralti netshoes01Visao geralti netshoes01
Visao geralti netshoes01
Ale Uehara
 
Design Thinking nos Jogos Digitais: Conceitos enxutos e ágeis
Design Thinking nos Jogos Digitais: Conceitos enxutos e ágeisDesign Thinking nos Jogos Digitais: Conceitos enxutos e ágeis
Design Thinking nos Jogos Digitais: Conceitos enxutos e ágeis
João Ricardo Bittencourt
 
OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)
Ricardo Rufino
 
Aula 9 - Introdução ao Python
Aula 9 - Introdução ao PythonAula 9 - Introdução ao Python
Aula 9 - Introdução ao Python
Paulo Roberto Donatilio Rego
 
Visao geral TI04 2-0
Visao geral TI04 2-0Visao geral TI04 2-0
Visao geral TI04 2-0
Ale Uehara
 

Semelhante a Cornucópia – um agile game para facilitar a codificação segura - Agile Trends SP 2019 (20)

OWASP Cornucopia - Scrum Gathering Rio 2018
 OWASP Cornucopia - Scrum Gathering Rio 2018 OWASP Cornucopia - Scrum Gathering Rio 2018
OWASP Cornucopia - Scrum Gathering Rio 2018
 
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
 
Codelab: TypeScript
Codelab: TypeScriptCodelab: TypeScript
Codelab: TypeScript
 
Cornucopia - Um game para facilitar o assunto codificação segura
Cornucopia - Um game para facilitar o assunto codificação segura Cornucopia - Um game para facilitar o assunto codificação segura
Cornucopia - Um game para facilitar o assunto codificação segura
 
Secomp 2018 - DO Ruby ao Elixir
Secomp 2018 - DO Ruby ao ElixirSecomp 2018 - DO Ruby ao Elixir
Secomp 2018 - DO Ruby ao Elixir
 
Introdução a Python e Django
Introdução a Python e DjangoIntrodução a Python e Django
Introdução a Python e Django
 
graoJS - A full stack MVC NodeJS framework
graoJS - A full stack MVC NodeJS frameworkgraoJS - A full stack MVC NodeJS framework
graoJS - A full stack MVC NodeJS framework
 
It skills para rh aprender e contratar
It skills para rh  aprender e contratarIt skills para rh  aprender e contratar
It skills para rh aprender e contratar
 
Presentation ii
Presentation iiPresentation ii
Presentation ii
 
Engenharia de Software para Jogos
Engenharia de  Software para JogosEngenharia de  Software para Jogos
Engenharia de Software para Jogos
 
FLISoL'11: Desenvolvendo Games para Android
FLISoL'11: Desenvolvendo Games para AndroidFLISoL'11: Desenvolvendo Games para Android
FLISoL'11: Desenvolvendo Games para Android
 
T19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificaçãoT19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificação
 
Mobile Game Development.pptx
Mobile Game Development.pptxMobile Game Development.pptx
Mobile Game Development.pptx
 
Game jams e Impacto na indústria local - Campus Party Natal 2018
Game jams e Impacto na indústria local - Campus Party Natal 2018Game jams e Impacto na indústria local - Campus Party Natal 2018
Game jams e Impacto na indústria local - Campus Party Natal 2018
 
Visao geralti netshoes01
Visao geralti netshoes01Visao geralti netshoes01
Visao geralti netshoes01
 
Visao geralti netshoes01
Visao geralti netshoes01Visao geralti netshoes01
Visao geralti netshoes01
 
Design Thinking nos Jogos Digitais: Conceitos enxutos e ágeis
Design Thinking nos Jogos Digitais: Conceitos enxutos e ágeisDesign Thinking nos Jogos Digitais: Conceitos enxutos e ágeis
Design Thinking nos Jogos Digitais: Conceitos enxutos e ágeis
 
OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)
 
Aula 9 - Introdução ao Python
Aula 9 - Introdução ao PythonAula 9 - Introdução ao Python
Aula 9 - Introdução ao Python
 
Visao geral TI04 2-0
Visao geral TI04 2-0Visao geral TI04 2-0
Visao geral TI04 2-0
 

Mais de Wagner Mendes Voltz Fusca

Como Acabar Com Seu Débito Técnico - Amcom
Como Acabar Com Seu Débito Técnico - AmcomComo Acabar Com Seu Débito Técnico - Amcom
Como Acabar Com Seu Débito Técnico - Amcom
Wagner Mendes Voltz Fusca
 
Seu ágil vai falhar!
Seu ágil vai falhar!Seu ágil vai falhar!
Seu ágil vai falhar!
Wagner Mendes Voltz Fusca
 
Management day PUCPR - Agile coach
Management day PUCPR - Agile coachManagement day PUCPR - Agile coach
Management day PUCPR - Agile coach
Wagner Mendes Voltz Fusca
 
Management 3.0 - Redefinindo liderança: Gerenciando o sistema e não as pessoas
Management 3.0 - Redefinindo liderança: Gerenciando o sistema e não as pessoasManagement 3.0 - Redefinindo liderança: Gerenciando o sistema e não as pessoas
Management 3.0 - Redefinindo liderança: Gerenciando o sistema e não as pessoas
Wagner Mendes Voltz Fusca
 
Como acabar com seu débito técnico - Agile Brazil 2019
Como acabar com seu débito técnico - Agile Brazil 2019Como acabar com seu débito técnico - Agile Brazil 2019
Como acabar com seu débito técnico - Agile Brazil 2019
Wagner Mendes Voltz Fusca
 
Como acabar com seu débito técnico - TDC SP 2019 - Trilha XP
Como acabar com seu débito técnico - TDC SP 2019 - Trilha XPComo acabar com seu débito técnico - TDC SP 2019 - Trilha XP
Como acabar com seu débito técnico - TDC SP 2019 - Trilha XP
Wagner Mendes Voltz Fusca
 
Coragem um valor ágil (talvez esquecido)
Coragem um valor ágil (talvez esquecido)Coragem um valor ágil (talvez esquecido)
Coragem um valor ágil (talvez esquecido)
Wagner Mendes Voltz Fusca
 
As 5 disfunções da minha melhor equipe
As 5 disfunções da minha melhor equipeAs 5 disfunções da minha melhor equipe
As 5 disfunções da minha melhor equipe
Wagner Mendes Voltz Fusca
 
Metodologia ágil - VIII Semana das Engenharias - Unicesumar
Metodologia ágil - VIII Semana das Engenharias - UnicesumarMetodologia ágil - VIII Semana das Engenharias - Unicesumar
Metodologia ágil - VIII Semana das Engenharias - Unicesumar
Wagner Mendes Voltz Fusca
 
Tips to improve your code review
Tips to improve your code reviewTips to improve your code review
Tips to improve your code review
Wagner Mendes Voltz Fusca
 
Agilidade é para desenvolvedores? TDC Florianópolis
Agilidade é para desenvolvedores? TDC FlorianópolisAgilidade é para desenvolvedores? TDC Florianópolis
Agilidade é para desenvolvedores? TDC Florianópolis
Wagner Mendes Voltz Fusca
 
Projetos ágeis falham??
Projetos ágeis falham??Projetos ágeis falham??
Projetos ágeis falham??
Wagner Mendes Voltz Fusca
 
Agilidade é para desenvolvedores
Agilidade é para desenvolvedoresAgilidade é para desenvolvedores
Agilidade é para desenvolvedores
Wagner Mendes Voltz Fusca
 
Um código de conduta para o desenvolvedor
Um código de conduta para o desenvolvedorUm código de conduta para o desenvolvedor
Um código de conduta para o desenvolvedor
Wagner Mendes Voltz Fusca
 
anti padrões - gerenciamento de projetos e design de software
anti padrões - gerenciamento de projetos e design de softwareanti padrões - gerenciamento de projetos e design de software
anti padrões - gerenciamento de projetos e design de software
Wagner Mendes Voltz Fusca
 
anti padrões - organizacionais
anti padrões - organizacionaisanti padrões - organizacionais
anti padrões - organizacionais
Wagner Mendes Voltz Fusca
 
anti padrões metodológicos e analise
anti padrões metodológicos e analise anti padrões metodológicos e analise
anti padrões metodológicos e analise
Wagner Mendes Voltz Fusca
 
Anti padrões de programação
Anti padrões de programaçãoAnti padrões de programação
Anti padrões de programação
Wagner Mendes Voltz Fusca
 
Code smells
Code smells Code smells
APERFEIÇOANDO A COMUNICAÇÃO DO TIME DE DESENVOLVEDORES COM PADRÕES E ANTI-PAD...
APERFEIÇOANDO A COMUNICAÇÃO DO TIME DE DESENVOLVEDORES COM PADRÕES E ANTI-PAD...APERFEIÇOANDO A COMUNICAÇÃO DO TIME DE DESENVOLVEDORES COM PADRÕES E ANTI-PAD...
APERFEIÇOANDO A COMUNICAÇÃO DO TIME DE DESENVOLVEDORES COM PADRÕES E ANTI-PAD...
Wagner Mendes Voltz Fusca
 

Mais de Wagner Mendes Voltz Fusca (20)

Como Acabar Com Seu Débito Técnico - Amcom
Como Acabar Com Seu Débito Técnico - AmcomComo Acabar Com Seu Débito Técnico - Amcom
Como Acabar Com Seu Débito Técnico - Amcom
 
Seu ágil vai falhar!
Seu ágil vai falhar!Seu ágil vai falhar!
Seu ágil vai falhar!
 
Management day PUCPR - Agile coach
Management day PUCPR - Agile coachManagement day PUCPR - Agile coach
Management day PUCPR - Agile coach
 
Management 3.0 - Redefinindo liderança: Gerenciando o sistema e não as pessoas
Management 3.0 - Redefinindo liderança: Gerenciando o sistema e não as pessoasManagement 3.0 - Redefinindo liderança: Gerenciando o sistema e não as pessoas
Management 3.0 - Redefinindo liderança: Gerenciando o sistema e não as pessoas
 
Como acabar com seu débito técnico - Agile Brazil 2019
Como acabar com seu débito técnico - Agile Brazil 2019Como acabar com seu débito técnico - Agile Brazil 2019
Como acabar com seu débito técnico - Agile Brazil 2019
 
Como acabar com seu débito técnico - TDC SP 2019 - Trilha XP
Como acabar com seu débito técnico - TDC SP 2019 - Trilha XPComo acabar com seu débito técnico - TDC SP 2019 - Trilha XP
Como acabar com seu débito técnico - TDC SP 2019 - Trilha XP
 
Coragem um valor ágil (talvez esquecido)
Coragem um valor ágil (talvez esquecido)Coragem um valor ágil (talvez esquecido)
Coragem um valor ágil (talvez esquecido)
 
As 5 disfunções da minha melhor equipe
As 5 disfunções da minha melhor equipeAs 5 disfunções da minha melhor equipe
As 5 disfunções da minha melhor equipe
 
Metodologia ágil - VIII Semana das Engenharias - Unicesumar
Metodologia ágil - VIII Semana das Engenharias - UnicesumarMetodologia ágil - VIII Semana das Engenharias - Unicesumar
Metodologia ágil - VIII Semana das Engenharias - Unicesumar
 
Tips to improve your code review
Tips to improve your code reviewTips to improve your code review
Tips to improve your code review
 
Agilidade é para desenvolvedores? TDC Florianópolis
Agilidade é para desenvolvedores? TDC FlorianópolisAgilidade é para desenvolvedores? TDC Florianópolis
Agilidade é para desenvolvedores? TDC Florianópolis
 
Projetos ágeis falham??
Projetos ágeis falham??Projetos ágeis falham??
Projetos ágeis falham??
 
Agilidade é para desenvolvedores
Agilidade é para desenvolvedoresAgilidade é para desenvolvedores
Agilidade é para desenvolvedores
 
Um código de conduta para o desenvolvedor
Um código de conduta para o desenvolvedorUm código de conduta para o desenvolvedor
Um código de conduta para o desenvolvedor
 
anti padrões - gerenciamento de projetos e design de software
anti padrões - gerenciamento de projetos e design de softwareanti padrões - gerenciamento de projetos e design de software
anti padrões - gerenciamento de projetos e design de software
 
anti padrões - organizacionais
anti padrões - organizacionaisanti padrões - organizacionais
anti padrões - organizacionais
 
anti padrões metodológicos e analise
anti padrões metodológicos e analise anti padrões metodológicos e analise
anti padrões metodológicos e analise
 
Anti padrões de programação
Anti padrões de programaçãoAnti padrões de programação
Anti padrões de programação
 
Code smells
Code smells Code smells
Code smells
 
APERFEIÇOANDO A COMUNICAÇÃO DO TIME DE DESENVOLVEDORES COM PADRÕES E ANTI-PAD...
APERFEIÇOANDO A COMUNICAÇÃO DO TIME DE DESENVOLVEDORES COM PADRÕES E ANTI-PAD...APERFEIÇOANDO A COMUNICAÇÃO DO TIME DE DESENVOLVEDORES COM PADRÕES E ANTI-PAD...
APERFEIÇOANDO A COMUNICAÇÃO DO TIME DE DESENVOLVEDORES COM PADRÕES E ANTI-PAD...
 

Cornucópia – um agile game para facilitar a codificação segura - Agile Trends SP 2019

  • 1. Cornucópia – um agile game para facilitar a codificação segura Wagner Mendes Voltz - Fusca
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 12.
  • 13. O que é? ● Um game em forma de cartas ● Para times de desenvolvimento de software ● É independente de linguagem, plataforma e tecnologia ● É gratuito
  • 14. O que é? ● Baseado no: ○ SAFECode ○ Elevation of Privilege (EoP) Card Game – Microsoft Security Development Lifecycle (SDL) ○ CAPEC - Commom Attack Pattern Enumeration and Classification ○ OWASP AppSensor, OWASP ASVS, OWASP SCP
  • 15. O que NÃO é? ● Só para desenvolvedores ● Só da MATERA ● Somente para novos softwares ● Não é poker ● Não é truco ● Não é demorado
  • 16. O que faz? ● Ajuda a identificar requisitos de segurança ● Gera um backlog baseado em segurança para o time de desenvolvimento ● Disseminar o conhecimento de segurança da informação no time
  • 17. O que NÃO faz? ● Não identifica como solucionar os bugs potenciais de segurança ● Não dá uma ordem de prioridade para os bugs potenciais
  • 18.
  • 19. Naipes e cartas ● Valores das cartas ○ Do ÀS até o K (rei) ● Naipes ○ Validação de dados de entrada e codificação de dados de saída ○ Autenticação e gerenciamento de credenciais ○ Gerenciamento de sessões ○ Controle de acessos ○ Práticas de criptografia
  • 20. Defina um contexto ● Escolha avaliar todo o software ou uma funcionalidade específica ● 3 a 6 pessoas, além do facilitador
  • 21.
  • 22. REGRAS 1 - o ínicio
  • 23. REGRAS 2 - PONTUAÇÃO E DESCARTE
  • 24.
  • 25. Separem o naipe Autenticação e gerenciamento de credenciais
  • 26. ● http://meusite.com/login.jsf ● Administrador do sistema: admin / admin ● Perfis do sistema: admin, operacional, estratégico ● As mudanças de perfis de um usuário só ocorrem mediante nova autenticação via tela inicial ● Várias pessoas com a senha admin, não sabendo quem acessa e em determinado local ● Opção “remember me” armazena dados em localStorage do navegador
  • 27. Pontuação - Autenticação e gerenciamento de credenciais Cartas que pontuam: ● 2 ● 3 ● 4 ● 5 ● 6 ● 7 ● 9 Cartas que não pontuam: ● 8 ● J ● Q ● K Cartas ponto de atenção: ● 10
  • 29. ● Após autenticação, é criado um token de de forma manual. Este mistura o nome do usuário + data que o login foi efetuado. ● Este é armazenado no cache para que o usuário não precise logar novamente caso não feche o navegador ● Em todas as telas existe uma validação para garantir que somente usuários logados estão acessando o sistema ● Caso o usuário tente acessar o sistema da mesma máquina, não será necessário novo login. Mas de outro aparelho, será necessário
  • 30. Cartas que pontuam: ● 2 ● 3 ● 4 ● 5 ● 6 ● 7 ● 9 Cartas que não pontuam: ● 8 ● J ● Q ● K Cartas ponto de atenção: ● 10 Pontuação - Autenticação e gerenciamento de credenciais
  • 31. Cartas que pontuam: ● K ● J ● 10 ● 9 ● 8 ● 7 ● 6 ● 5 ● 3 Cartas que não pontuam: ● Q ● 4 ● 2 Cartas ponto de atenção: ● Pontuação - Gerenciamento de sessões
  • 32. Lições aprendidas ● Comece simples ● Rodar o game uma única vez pode não ser tão produtivo
  • 33. Lições aprendidas ● Importante ter um especialista jogando, além do facilitador ● Criamos um help extra por causa da descrição das cartas às vezes não serem tão claras
  • 34. Lições aprendidas ● O trabalho do facilitador exige bastante atenção para descrever bem a vulnerabilidade e marcar a pontuação ● Cuidado com o tempo de discussão de cada carta. Use um cronômetro. ● A planilha sugerida pela OWASP não é boa.
  • 35.
  • 36.
  • 38. Lições aprendidas ● É possível fazer o game com times remotos. ● Envolver testers geram muitos resultados positivos.
  • 39. Lições aprendidas ● Ter gestor ou cliente participando pode gerar certos desconfortos aos participantes (mas é possível jogar com eles) ● Ter uma premiação aguça a estratégia do jogo ● Anote os pontos de atenção ● As vulnerabilidades detectadas demoram para entrar em desenvolvimento no backlog
  • 40. Medir é importante! OWASP Application Security Verification Standard Project (ASVS) - http://bit.ly/owaspasvs