Essa formação é antiga e não faz mais parte da grade oficial, confira as mudanças.

Desenvolvimento Seguro

Aprenda Desenvolvimento Seguro, aplicando medidas de segurança no ciclo de desenvolvimento de software!

0/0 passos finalizados
Esta formação faz parte da escola DevOps
45h

Para conclusão

5

Cursos

2

Vídeos extras

4

Artigos

Desenvolvimento Seguro

O que você vai aprender nesta formação

A área de Desenvolvimento Seguro é de extrema importância no cenário atual, onde a segurança de software é uma das principais preocupações das organizações. Levando em consideração o ciclo de desenvolvimento de software seguro, também conhecido como Secure Software Development Life Cycle (SSDLC), onde resumidamente temos: Requisitos → Design → Desenvolvimento → Testes → Deploy/Produção. Nele, muitas organizações ainda optam por fazer validações de segurança somente nas últimas fases dos projetos, o que pode gerar um custo de correção maior, caso vulnerabilidades fossem tratadas desde a fase inicial de requisitos.

Dessa forma, o desenvolvimento seguro (ou AppSec) deve estar presente em todas as fases de desenvolvimento do projeto, de forma que o ciclo tenha maturidade em relação à segurança. Para isso, pode ser orientado pelo projeto OWASP SAMM, mantido pela OWASP (Open Worldwide Application Security Project), que tem como objetivo auxiliar a avaliação do nível de maturidade da produção de um sistema, considerando os seguintes aspectos:

  • Requisitos: Avaliar se durante o momento de construção do software, é feito o levantamento das necessidades de segurança e privacidade.

  • Design: Certificar-se de que, ao iniciar um novo projeto de software, são feitas ações para identificar as ameaças às quais o software pode estar exposto.

  • Coding: Aplicar avaliação do código, também conhecido como Code Review, onde todo o código fonte de uma aplicação é vasculhado em busca de vulnerabilidades, sejam elas de lógica ou funções perigosas que possam trazer riscos à aplicação.

  • Testes: Durante a fase de testes de sua aplicação, verificar se testes estáticos com o objetivo de validar os requisitos de segurança definidos são realizados.

  • Produção: Certificar-se de que, na operacionalização do software, há a aplicação de testes de intrusão (pentests) de forma a garantir que a aplicação está protegida.

Nesta formação, seguindo esse modelo e tendo por base esses princípios, você irá agregar conhecimentos essenciais para tornar o desenvolvimento de software mais seguro e resistente a ameaças. Prepare-se para se destacar no mercado, aprendendo a aplicar medidas de segurança desde o início do ciclo de desenvolvimento, protegendo aplicações contra potenciais riscos cibernéticos e ampliando sua expertise em segurança da informação!

Pré-requisitos

Para aproveitar melhor essa formação, sugerimos que você já tenha feito ou tenha conhecimentos equivalentes ao conteúdo desta formação:

  • 0%
    A partir do zero: iniciante em programação

Passo a passo

  1. 1

    Princípios do Desenvolvimento Seguro

    Neste passo, você terá uma primeira imersão aos princípios fundamentais do Desenvolvimento Seguro, compreendendo conceitos essenciais, como Secure Software Development Life Cycle, práticas de DevSecOps, estratégia Shift Left e o modelo de segurança Zero Trust. Conhecer e compreender esses conceitos é fundamental para garantir um desenvolvimento seguro e resiliente contra ameaças cibernéticas, assegurando que a segurança esteja incorporada em todas as etapas do ciclo de desenvolvimento de software.

  2. 2

    Desenvolvimento seguro na etapas de Planejamento e Design

    Neste segundo passo, você explorará a importância da segurança no planejamento e design de software. Aprenderá sobre a Modelagem de Ameaças, além de se familiarizar com as regulamentações GDPR, LGPD e NIST, que auxiliam na proteção de dados pessoais. Também entenderá os conceitos de Security by Design, garantindo que a segurança seja considerada desde o início do processo de desenvolvimento.

  3. 3

    Desenvolvimento seguro na Etapa de codificação

    Neste passo, você irá focar na etapa de codificação do ciclo de desenvolvimento seguro. Por meio de uma revisão de código, aprenderá sobre estratégias de segurança para dados de entrada, garantindo que o código desenvolvido seja robusto e resiliente a ameaças. Além de analisar como manter mensagens de erros e logs de forma segura, tendo por base fontes da OWASP. Em seguida, você aprenderá a tratar erros de forma segura, também vai aprender a lidar com logs, como monitorar, configurar, lidar com informações sensíveis e fazer análise de logs.

  4. 4

    Integração contínua com Secret Scanning e SAST

    Neste passo, você terá aprenderá a identificar e remediar vulnerabilidades de segurança no código através da análise estática, implementar medidas eficazes de Secret Scanning para proteger informações sensíveis no repositório, e interpretar relatórios gerados por ferramentas de análise estática. Além disso, vai integrar de maneira fluida essas práticas no ciclo de desenvolvimento, configurando workflows automatizados usando o GitHub Actions. Por fim, vai realizar a inclusão da integração do SonarQube na esteira de integração contínua, que vai proporcionar uma visão abrangente da qualidade do código, fortalecendo ainda mais a postura de segurança durante todo o processo de desenvolvimento.

  5. 5

    Técnicas DAST e SCA

    Neste último passo da formação, você aprenderá a identificar e resolver vulnerabilidades em dependências de software usando técnicas de Análise de Composição de Software (SCA). Aprenderá a automatizar essa análise dentro do processo de Integração Contínua (CI), garantindo que as verificações de segurança sejam uma parte constante do ciclo de desenvolvimento. Além disso, implementará Testes de Segurança Dinâmicos (DAST) para avaliar a segurança da aplicação em tempo real. Você também descobrirá como tratar vulnerabilidades críticas que possam surgir durante a execução da aplicação. Por fim, explorará ferramentas que aprimoram o fluxo de desenvolvimento seguro, mantendo um alto padrão de segurança em todo o processo de desenvolvimento de software.