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.
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.
É isso que precisamos para começar!
Vamos lá?
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 CompanyDessa 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á!
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.
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á?
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:
Impulsione a sua carreira com os melhores cursos e faça parte da maior comunidade tech.
1 ano de Alura
Assine o PLUS e garanta:
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você tem acesso a eventos exclusivos, grupos de estudos e mentorias com especialistas de diferentes áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Acelere o seu aprendizado com a IA da Alura e prepare-se para o mercado internacional.
1 ano de Alura
Todos os benefícios do PLUS e mais vantagens exclusivas:
Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos, corrige exercícios e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com a Luri até 100 mensagens por semana.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Transforme a sua jornada com benefícios exclusivos e evolua ainda mais na sua carreira.
1 ano de Alura
Todos os benefícios do PRO e mais vantagens exclusivas:
Mensagens ilimitadas para estudar com a Luri, a IA da Alura, disponível 24hs para tirar suas dúvidas, dar exemplos práticos, corrigir exercícios e impulsionar seus estudos.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.