Você está na página 1de 7

CYBER SECURITY INNOVATION STUDIO

APPLICATION SECURITY

Programa de Bolsas – Secure Coding


Dojo – Exercícios

Data de Emissão: 01/06/2022

Confidencialidade das Informações: As obrigações de sigilo e confidencialidade previstas vincularão as


partes durante a vigência deste contrato e serão preservadas após sua conclusão. A não obediência do
previsto nesta cláusula torna a parte sujeita às penalidades cabíveis, nos estritos termos da lei.

compass.uol
CYBER SECURITY INNOVATION STUDIO
APPLICATION SECURITY

Controle de versões:

Versão: Data Elaborado por Observações


1.0 25/05/2022 Francisco Silva Adicionado primeiros passos.

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.

1.1 HISTÓRIA DA 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.

Porém tudo mudou quando o usuário “Malvadinho123” se registrou na aplicação. Malvadinho123 é um


BlackHat que gosta nas horas vagas de realizar ataques a aplicações. Ele viu que o CompassOrkut tem
futuro e potencial e decidiu acabar com os planos, explorando várias vulnerabilidades na aplicação que
os desenvolvedores não notaram antes.

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

3. COMANDOS PARA RODAR NO TERMINAL

npm run start : O comando serve para poder iniciar a aplicação.

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.

npm install : O comando serve para instalar as dependências da aplicação.

compass.uol
CYBER SECURITY INNOVATION STUDIO
APPLICATION SECURITY

4. FAQ

Está precisando de ajuda relacionado a entender a aplicação?

• 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.

Estou com problema no ambiente, e agora?

• Chame um dos Anjos para poderem te ajudar a configurar o ambiente e continuar seu code
review e correção dos códigos.

Finalizei a análise e agora?

• 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.

Como testar as minhas implementações?

• 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.

E lembre-se, se estiver perdido na escuridão chame um anjo para-lhe dar a mão.

compass.uol

Você também pode gostar