Alura > Cursos de DevOps > Cursos de Segurança > Conteúdos de Segurança > Primeiras aulas do curso OWASP Top 10: Mitigando vulnerabilidades e protegendo aplicações

OWASP Top 10: Mitigando vulnerabilidades e protegendo aplicações

Fundamentos de codificação segura - Apresentação

Apresentando a instrutora

Olá! Meu nome é Michelle Mesquita. Sou formada em Engenharia de Computação, possuo mestrado em Engenharia Biomédica e MBA nas áreas de Cibersegurança em Cloud (nuvem) e Arquitetura de Software.

Audiodescrição: Michelle é uma mulher branca, de cabelo castanho claro e comprido. Ela veste uma blusa azul e está em um ambiente de escritório com uma estante ao fundo.

Compartilhando experiência profissional

Atualmente, trabalho tanto na área de Arquitetura de Segurança quanto na Segurança em Inteligência Artificial (IA). Meu histórico inclui experiência em DevSecOps, Segurança de Aplicações e Red Team. Iniciei minha carreira na área de Computação, com foco em desenvolvimento web, o que me permitiu aplicar conceitos de desenvolvimento na área de Segurança, onde me encontrei plenamente. Utilizo essa experiência para ajudar pessoas desenvolvedoras a criarem softwares cada vez mais seguros.

No meu dia a dia, atuo na automação, desenvolvimento de código e aplicações, além de analisar arquiteturas para mantê-las seguras, com foco em controles, autenticação e autorização. Atualmente, também trabalho com IA para criar mecanismos de controle de modelos, o que é um ponto interessante na área de arquitetura.

Destacando a importância da cultura maker

Um aspecto que sempre gosto de destacar é que, para ingressar na área de Computação, a cultura maker (fazedor) foi fundamental para meu entendimento sobre software e desenvolvimento.

Abordando a programação de forma acessível

Neste curso, é importante abordar a programação de forma acessível, especialmente para aqueles que podem encontrar dificuldades. Utilizar ferramentas como Arduino ou ESP32, que funcionam como controladores, pode facilitar a compreensão. Esses dispositivos permitem que programemos com sensores e visualizemos as informações no computador, o que ajuda a entender a lógica de programação. Essa abordagem tem sido útil para muitos e pode ser benéfica para quem deseja aprofundar seus conhecimentos em programação.

Explorando a ementa do curso

A ementa do curso é focada tanto no OWASP Top 10 quanto na revisão de código. Nosso objetivo é explorar a OWASP desde os fundamentos de codificação segura até tópicos como SSRF (Server-Side Request Forgery), entendendo profundamente as vulnerabilidades. Vamos abordar conceitos como controle de acesso, falhas criptográficas, injeção, design seguro, modelagem de ameaça, componentes vulneráveis e falhas de autenticação, que são extremamente importantes.

Apresentando os objetivos do curso

O curso visa apresentar as principais vulnerabilidades seguindo as diretrizes da OWASP e ensinar como analisar um código em uma aplicação. Durante o curso, disponibilizaremos uma aplicação para estudo, e esperamos que as dicas fornecidas sejam úteis no ambiente de trabalho. Desejamos que todos aproveitem o curso. Obrigado a todos.

Fundamentos de codificação segura - Fundamentos de desenvolvimento seguro

Apresentando o curso e a equipe

Olá, pessoal. Como estão? Hoje, vamos continuar mais um curso no PATH de Application Security. Para nos apresentar, somos a equipe liderada por Rodrigo da Silva Ferreira Caneppele, o instrutor deste curso, no qual abordaremos codificação segura e o OWASP Top 10.

Neste curso, explicaremos as principais diretrizes de segurança, focando na segurança de aplicações. Vamos entender como surgem essas vulnerabilidades, como corrigi-las e, principalmente, como tornar o código cada vez mais seguro. Por que a codificação segura é tão essencial? Porque, ao pensarmos em desenvolvimento, o código é uma camada principal e um dos principais pontos de vulnerabilidade. Se não codificarmos de forma segura, a aplicação pode apresentar pontos de entrada para pessoas mal-intencionadas explorarem vulnerabilidades.

Analisando vulnerabilidades e incorporando segurança

No curso, explicaremos como analisar uma aplicação em busca de vulnerabilidades, identificando pontos que devemos discutir com a equipe de desenvolvimento para mostrar como corrigi-los, entender se realmente são vulnerabilidades e até mesmo explorá-los. Dessa forma, todos poderão compreender esses pontos. O principal objetivo do lado de AppSec é ajudar a equipe de desenvolvimento, incorporando a cultura de desenvolvimento seguro no ciclo de desenvolvimento do software.

Vamos aprofundar nosso entendimento sobre esses temas.

Focando na codificação segura e OWASP Top 10

Tudo bem, pessoal?

O objetivo do curso é abordar a codificação segura, com foco no OWASP Top 10, que é a principal diretriz que discutimos. Vamos entender as principais vulnerabilidades que ocorrem nas aplicações e como podemos mitigá-las. Além disso, vamos analisar um projeto com código para identificar onde esses pontos críticos aparecem.

Explorando pontos de entrada e boas práticas

Também vamos explorar os principais pontos de entrada, como os inputs, e como corrigi-los, implementando um tratamento de erro eficaz para evitar a exposição de informações sensíveis que possam auxiliar um atacante. Vamos aprender a fazer o encode de caracteres para impedir que sejam exibidos na aplicação e, assim, evitar a injeção de códigos maliciosos.

Além disso, vamos discutir boas práticas em autenticação, autorização, prevenção de vulnerabilidades e gestão de componentes. Sabemos que, ao desenvolver uma aplicação, geralmente utilizamos um framework com várias bibliotecas que auxiliam na codificação. No entanto, a gestão de componentes costuma ser feita apenas no início do projeto. Nossa proposta é realizar essa gestão de forma contínua, garantindo que as bibliotecas não apenas mantenham a aplicação estável em produção, mas também estejam livres de vulnerabilidades.

Concluindo a introdução do curso

A ideia é apresentar esses pontos para vocês. Tudo bem, pessoal? Esperamos que apreciem bastante o nosso curso. Obrigado!

Fundamentos de codificação segura - O impacto das falhas de seguranca

Discutindo a importância da segurança na codificação

No curso, discutimos os impactos e as falhas de segurança, além da importância da codificação adequada para evitar problemas de segurança. É crucial entender que, se não codificarmos nossas aplicações de forma preventiva e eficiente, podemos enfrentar sérios problemas de segurança.

Quando pensamos nos impactos das falhas de segurança, um dos principais problemas é a consequência financeira. Por exemplo, em uma aplicação de uma instituição financeira, se houver uma vulnerabilidade que seja explorada, isso pode comprometer a confiança dos usuários. Eles podem não querer manter seu dinheiro em um ambiente que consideram inseguro e mal gerido.

Abordando a segurança de forma proativa

Portanto, a segurança deve ser abordada de forma proativa. É essencial explicar aos usuários a importância da segurança, mostrando que ela está ali para ajudar e não para restringir. Dessa forma, conseguimos auxiliar toda a organização, evitando consequências financeiras ao reduzir a superfície de ataque. Isso é feito ao explicar aos usuários como corrigir o código e torná-lo mais seguro, abordando vulnerabilidades e desenvolvendo de forma proativa, seguindo diretrizes como as da OWASP.

Além disso, ao garantir que a aplicação não tenha vulnerabilidades, evitamos problemas reputacionais. Se a aplicação for segura, os usuários não terão motivos para desistir da empresa ou retirar seus dados do ambiente.

Garantindo o desenvolvimento seguro desde o início

Com isso, conseguimos garantir, pensando na questão do SSDLC, o desenvolvimento de software seguro desde o início, especialmente na fase de codificação. Trouxemos um exemplo de caso real, proveniente do banco de dados NVD, feito pelo NIST, que ilustra alguns casos.

Explorando vulnerabilidades comuns: XSS e SQL Injection

Existem dois tipos de vulnerabilidade que vamos abordar: o XSS e o SQL Injection. Ambos são bastante conhecidos. O SQL Injection tem como objetivo manipular a interação com o banco de dados, tentando encontrar pontos de acesso sem autenticação para obter informações. Já o XSS permite a injeção de códigos no input, utilizando, por exemplo, códigos JavaScript, possibilitando a execução de ações como roubo de sessão do usuário.

Observando o aumento de vulnerabilidades e a importância das diretrizes

Com as informações desse banco de dados, observamos que, nos últimos anos, houve um aumento dessas vulnerabilidades. Isso pode estar relacionado ao uso crescente de Inteligência Artificial, como modelos voltados para LLM, que ajudam a desenvolver código mais rapidamente. No entanto, é importante incorporar diretrizes da OWASP para reduzir a superfície de ataque.

Muitas pessoas desconhecem esses pontos, especialmente o SQL Injection, que é uma das vulnerabilidades mais antigas e ainda persiste. Ao entender mais sobre esse conteúdo, podemos mitigar essas vulnerabilidades.

Concluindo com a importância da segurança da informação

Esperamos que, com os pontos abordados nesta aula, os cenários e a importância da segurança da informação fiquem mais claros. Obrigado!

Sobre o curso OWASP Top 10: Mitigando vulnerabilidades e protegendo aplicações

O curso OWASP Top 10: Mitigando vulnerabilidades e protegendo aplicações possui 223 minutos de vídeos, em um total de 98 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