Escolar Documentos
Profissional Documentos
Cultura Documentos
APPLICATION SECURITY
compass.uol
CYBER SECURITY INNOVATION STUDIO
APPLICATION SECURITY
Controle de versões:
compass.uol
CYBER SECURITY INNOVATION STUDIO
APPLICATION SECURITY
1. INTRODUÇÃO
Este treinamento tem como objetivo aproximar pessoas sem contato com segurança e programação
para entender um cenário vulnerável. Os passos seguintes mostram como montar o ambiente e como a
aplicação funciona e sua arquitetura.
Este documento tem como objetivo auxiliar nos primeiros passos para identificação de uma
vulnerabilidade mostrando cenários reais onde podem acontecer problemas de segurança. Tanto que
ocorrem no front-end como no back-end.
Sabemos que a maioria das vulnerabilidades ocorrem por falta de uma sanitização na entrada e saída de
dados, porém nesse caso vocês vão poder observar mais de perto como tudo isso funciona e afeta uma
aplicação.
A aplicação tem como intuito replicar um cenário onde um usuário consegue realizar o upload de
imagens após estar cadastrado. O nosso famoso CompassOrkut, funcionou muito bem com milhares de
usuários ativos e que se conectavam, conversavam e conseguiam esquecer um pouco do dia a dia
cansativo.
O pior foi quando ele realizou um XSS DOM e todo mundo que entra no CompassOrkut consegue
localizar a página, você acredita?
compass.uol
CYBER SECURITY INNOVATION STUDIO
APPLICATION SECURITY
E agora que Malvadinho123 fez o circo pegar fogo e conseguir impactar milhares de usuários, ele
simplesmente sumiu.
O Analista de Segurança Godofredo quando acordou na manhã seguinte do ataque, a primeira coisa foi
realizar o login na aplicação quando se deparou de cara com essa vulnerabilidade.
Agora Godofredo não sabe o que fazer e pediu a ajuda para a sua squad resolver as vulnerabilidades. Ele
te deu acesso ao código e aos testes que eles realizaram para identificar as falhas. Vocês conseguem
ajudar a Godofredo não perder o seu emprego e identificar e arrumar as vulnerabilidades?
compass.uol
CYBER SECURITY INNOVATION STUDIO
APPLICATION SECURITY
2. EXERCICIOS INDIVIDUAIS
2.1. Dada a vulnerabilidade de Enumeração de Usuários no código abaixo. Explique com suas
palavras o porquê ser considerado uma vulnerabilidade e como você resolveria.
Figura 1 - server/routes/api/apiUserRouter.js
compass.uol
CYBER SECURITY INNOVATION STUDIO
APPLICATION SECURITY
2.2. Dado a vulnerabilidade de Brute Force. Explique com suas palavras o porquê o trecho abaixo de
código ser considerado uma vulnerabilidade e como você resolveria.
Figura 2 - server/routes/api/apiUserRouter.js
npm test jenkins : O comando serve para poder rodar os testes de segurança da aplicação.
npm test tdd : O comando serve para poder rodar os testes unitários da aplicação.
compass.uol
CYBER SECURITY INNOVATION STUDIO
APPLICATION SECURITY
4. FAQ
• Chame seus colegas de outros grupos e realize interações. As vezes os outros colegas podem ter
uma visão de algo que você não viu e pode ser uma oportunidade para trocar experiências.
• Chame um dos Anjos para poderem te ajudar a configurar o ambiente e continuar seu code
review e correção dos códigos.
• Agora é partir para a correção. O que muito ajuda na correção de vulnerabilidades é a tentativa
e erro. Nem sempre o que implementamos vai ser o mais correto, mas o primeiro passo é
tentar.
• Você pode utilizar os comandos da seção 4 para testar se o seu código está seguro.
Como compartilhar meu código para que outras pessoas possam alterar simultaneamente comigo?
• Clique na opção Share no canto inferior esquerdo e compartilhe o link gerado com as pessoas.
compass.uol