Entre para a LISTA VIP da Black Friday

00

DIAS

00

HORAS

00

MIN

00

SEG

Clique para saber mais
Alura > Cursos de DevOps > Cursos de Segurança > Conteúdos de Segurança > Primeiras aulas do curso Modelagem de ameaças: identifique riscos na concepção do software

Modelagem de ameaças: identifique riscos na concepção do software

Introdução à modelagem de ameaças - Apresentação

Boas-vindas ao Curso de Modelagem de ameaças: identifique riscos na concepção do software!

Me chamo Ben-Hur e serei o seu instrutor ao longo deste curso.

Ben-Hur é um homem branco, com os olhos castanhos, e cabelos pretos e cacheados curto. Veste um moletom nas cores preta e marrom, usa óculos e está sentado em um ambiente com iluminação natural. Ao fundo, há uma estante na cor branca, uma mesa na cor marrom escura e uma espada preta pendurada na parede branca.

Este curso foi desenvolvido para pessoas que querem prevenir os principais problemas de segurança em Sistemas Web.

Aprenderemos

Modelagem e ameaças

Com esse curso, você vai conseguir desenvolver sistemas mais seguros. Afinal, vamos obter conhecimento, ferramentas e referências para tratar e mitigar os problemas na concepção de software, ou seja, antes de desenvolvê-lo.

Requisitos recomendados

É isso que precisamos para começar!

Vamos lá?

Introdução à modelagem de ameaças - Metodologia

Olá! Boas-vindas a segunda aula do Curso de Modelagem de ameaças. Neste vídeo falaremos sobre metodologia.

Fomos contratados pela empresa X-Corp para ajudá-los a identificar problemas de segurança no sistema. A empresa vende produtos de tecnologia para pessoas desenvolvedoras e criadores de conteúdo. E está em fase inicial de desenvolvimento.

X-Corp Company

Dessa forma, precisamos verificar se há possíveis problemas de segurança na solução que eles estão propondo. Porém, como é o processo? Quais são as etapas? Será que não existe uma metodologia pronta para executar esse processo? - que esteja validado pela comunidade de segurança.

Sim! Há metodologias construídas por profissionais de segurança, que vamos usar na X-Corp. Muito do nosso trabalho será analisar funcionalidades e procurar por possíveis problemas de segurança, usaremos o Threat Modeling (Modelagem de Ameaças).

Com o Threat Modeling aprenderemos a desenhar o fluxo de software que vamos analisar, para entendermos as entregas de negócios e quais são as ideias do cliente. Vamos aprender a identificar possíveis problemas de segurança, como corrigir ou mitigar esses problemas.

A Modelagem de Ameaças é um processo que, dado um cenário, como o fluxo de pagamento de uma compra, trabalhamos para identificar, compreender e mitigar possíveis adversidades de segurança. Para que as nossas atividades na empresa sejam feitas da melhor forma possível, usaremos o OWASP: Threat Modeling Process.

O Open Web Application Security Project® (OWASP) é uma fundação sem fins lucrativos que trabalha para melhorar a segurança do software. Por meio de projetos de software de código aberto liderados pela comunidade, centenas de grupos locais em todo o mundo, dezenas de milhares de membros e conferências educacionais e de treinamento líderes, a OWASP Foundation é a fonte para desenvolvedores e tecnólogos protegerem a web.

Portanto, usaremos o processo de Threat Modeling da organização OWASP, sendo uma organização sem fins lucrativos que trabalha para melhorar a segurança de software no mundo, sendo bastante confiável.

Nesta aula, conhecemos um pouco da metodologia que utilizaremos ao longo do curso para guiar o nosso processo de validação. Mas ainda precisamos entender algumas palavras-chave da área de segurança, como risco e vulnerabilidades.

Vamos aprender essas terminologias na próxima aula. Até lá!

Introdução à modelagem de ameaças - Terminologias

Olá! Aceitamos o trabalho na empresa X-Corp para ajudá-los a identificar possíveis problemas de segurança no seu projeto de e-commerce. Ao sermos apresentados ao time de tecnologia da empresa, notamos que ninguém é da área de segurança.

Áreas do time de tecnologia

Há vários termos utilizados na área de segurança da informação e a maioria deles fazem parte do cotidiano. Porém, será que essa equipe de tecnologia conhece esses termos? Ao mencionarmos risco e vulnerabilidade, eles(as) vão entender a diferença entre esses termos?

Por exemplo, se falarmos: "Existe uma CVE com Exploit público para esta vulnerabilidade"? Provavelmente teria pessoas que não entenderiam essa pergunta. Por isso, é importante descrevermos quais são os principais termos que utilizaremos na área de segurança da informação.

Vamos começar explicando os atores!

Imagine o seguinte cenário: uma empresa bancária, chamada X-Bank, é alvo de um ataque hacker e teve os dados de seus clientes roubados. Os criminosos estão ameaçando vender os dados para outros criminosos se eles não pagarem 5 milhões de reais.

Vamos agora associar alguns temos com cenário:

Os dados roubados pertenciam aos clientes. Os clientes por acaso são aquelas pessoas que usam os sistemas no cotidiano, como eu ou você? Se sim, a essas pessoas nominamos Usuário.

Quem teve prejuízo? A empresa que está sendo extorquida? Os usuários que tiveram seus dados vazados? Todos os que tiveram algum tipo de perda ou dano são considerados vítimas.

Após entendermos esses termos, vamos aprender um pouco mais do técnico agora.

Os atacantes exploraram uma falha em algum sistema ou servidor da empresa e obtiveram os dados através dessa brecha. Eles(as) exploraram uma vulnerabilidade do sistema, isto é, uma falha que levou eles a correr um risco perante a uma ameaça.

Um problema de segurança revelado publicamente prejudica a imagem da empresa.

Uma ameaça pode ser uma atualização de software automática, inesperada e não monitorada que contém uma vulnerabilidade.

O Ataque!

Os profissionais do banco descobriram que os atacantes exploram uma vulnerabilidade na tecnologia que a aplicação estava rodando e através dela conseguiram roubar o banco de dados.

Eles fizeram o inventário e viram que a aplicação tinha como tecnologia principal o Laravel em uma versão antiga. Essa versão possuía uma vulnerabilidade que permite que o atacante, por técnicas e scripts, execute comandos direto no banco de dados e obtenha as informações que quisesse executando esses scripts.

Laravel: um framework web para aplicações em PHP.

Logo, os atacantes criaram um código capaz de realizar automaticamente esta tarefa. Este conjunto de códigos e técnicas que, quando executado, explora uma vulnerabilidade, chamamos de Exploit.

Vamos supor que os atacantes criaram o código e disponibilizaram na internet para qualquer pessoa usar, apenas colocando um texto descritivo como:

Chamamos esses códigos publicamente acessíveis de Exploit Público.

Ao ouvirmos o termo "Tem exploit público para esta vulnerabilidade", significa que qualquer criminoso minimamente capaz pode usar ele em benefício próprio.

Talvez você esteja se perguntando: "Mas ninguém sabia que esta vulnerabilidade existia? E as outras aplicações no mundo que usam Laravel nessas versões, como que elas ficam?"

Existem organizações que catalogam estas vulnerabilidades: tanto a Mitre.org como a Nist.gov mantêm informações das vulnerabilidades encontradas e afetam tecnologias utilizadas no mundo todo.

Para cada vulnerabilidade encontrada, ela ganha um identificador único. Chamamos esse identificador de CVE (Common Vulnerabilities and Exposures)(em português, "Vulnerabilidades e exposições comuns").

CVE: Common Vulnerabilities and Exposures - é uma lista de registros de ameaças e vulnerabilidades identificadas em softwares.

Temos muitas terminologias que vamos utilizar durante nosso trabalho na X-Corp.

Revisão das terminologias:

Nesta aula aprendemos as principais terminologias que precisaremos para guiar a conversa com a equipe de desenvolvimento da empresa X-Corp.

Na próxima aula, entenderemos o que é a Modelagem de Ameaças.

Vamos lá?

Sobre o curso Modelagem de ameaças: identifique riscos na concepção do software

O curso Modelagem de ameaças: identifique riscos na concepção do software possui 169 minutos de vídeos, em um total de 61 atividades. Gostou? Conheça nossos outros cursos de Segurança em DevOps, ou leia nossos artigos de DevOps.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda Segurança acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas