Curso Developing Secure Software

  • DevOps | CI | CD | Kubernetes | Web3

Curso Developing Secure Software

20 horas
Visão Geral

Este curso capacita desenvolvedores a integrar a segurança em todas as fases do ciclo de vida do desenvolvimento de software (SDLC), transformando a segurança de um item pós-produção em um pilar fundamental da qualidade do código. Do ponto de vista técnico, os participantes aprenderão a identificar, mitigar e prevenir vulnerabilidades comuns em aplicações, como as listadas no OWASP Top 10. O curso abordará princípios de design seguro, práticas de codificação defensiva, segurança de dados em trânsito e em repouso, gerenciamento de autenticação e autorização, e a importância de testes de segurança automatizados e manuais. Serão exploradas estratégias agnósticas a linguagens, permitindo que os conceitos sejam aplicados em qualquer stack tecnológica. o desenvolvimento de software seguro é um diferencial competitivo e uma necessidade crítica para todas as organizações. Violações de segurança resultam em custos financeiros exorbitantes, danos irreparáveis à reputação e perda de confiança do cliente. Este curso equipa as equipes de desenvolvimento com o conhecimento e as habilidades para reduzir o risco de vulnerabilidades, acelerar a conformidade regulatória e entregar produtos mais confiáveis e resilientes. Investir na segurança do software desde o início resulta em economias a longo prazo (prevenir é mais barato que remediar) e na construção de uma cultura de segurança que beneficia toda a empresa, minimizando a superfície de ataque e protegendo ativos críticos.

Objetivo

Após realizar este Developing Secure Software: Práticas Essenciais para Desenvolvedores, você será capaz de:

  • Compreender os princípios fundamentais da segurança de software e as principais ameaças.
  • Identificar e prevenir as vulnerabilidades mais comuns, como as do OWASP Top 10.
  • Aplicar práticas de codificação defensiva em seu dia a dia de desenvolvimento.
  • Implementar mecanismos seguros de autenticação, autorização e gerenciamento de sessões.
  • Proteger dados sensíveis em trânsito e em repouso utilizando criptografia e hashing.
  • Compreender e mitigar riscos relacionados a injeções de código e falhas de validação de entrada.
  • Utilizar ferramentas e técnicas de teste de segurança (SAST, DAST, SCA) em seu processo de desenvolvimento.
  • Integrar considerações de segurança em todas as fases do SDLC (Secure SDLC).
  • Promover uma cultura de segurança proativa dentro da equipe de desenvolvimento.
Publico Alvo
  • Desenvolvedores de Software: Iniciantes, intermediários e seniores em qualquer linguagem ou plataforma.
  • Engenheiros de Qualidade (QA): Que desejam aprofundar seus conhecimentos em testes de segurança.
  • Arquitetos de Software: Interessados em projetar sistemas com segurança por design.
  • Engenheiros de DevOps/DevSecOps: Que buscam integrar segurança nas pipelines de CI/CD.
  • Líderes Técnicos: Que precisam guiar suas equipes em práticas de desenvolvimento seguro.
  • Qualquer profissional de TI: Envolvido no ciclo de vida do software e preocupado com a segurança das aplicações.
Pre-Requisitos
  • Conhecimento intermediário em programação em qualquer linguagem (Python, Java, C#, JavaScript, Go, etc.).
  • Familiaridade com conceitos básicos de redes e sistemas operacionais.
  • Compreensão de lógica de programação e estruturas de dados.
  • Noções básicas de desenvolvimento web (HTTP, cliente-servidor) são úteis, mas não obrigatórias.
Materiais
Inglês/Português/Lab Prático
Conteúdo Programatico

Módulo I: Fundamentos de Segurança de Software e Mentalidade (4 horas)

  • 1.1. O Cenário das Ameaças Modernas (1.5h)
    • O que é segurança de software e por que é importante.
    • Ataques comuns e suas consequências (financeiras, reputacionais, legais).
    • O Ciclo de Vida de Desenvolvimento de Software Seguro (Secure SDLC).
    • Introdução ao OWASP Top 10: as vulnerabilidades mais críticas.
  • 1.2. Princípios de Design Seguro (1.5h)
    • Segurança por Design: incorporando segurança desde o início.
    • Princípio do Privilégio Mínimo (Least Privilege).
    • Princípio da Defesa em Profundidade (Defense in Depth).
    • Não confiar na entrada do usuário ("Never trust user input").
    • Padrões de segurança em arquitetura (e.g., Threat Modeling introdução).
  • 1.3. A Criptografia para Desenvolvedores (1h)
    • Fundamentos de Criptografia: hashing, criptografia simétrica e assimétrica.
    • Uso correto de algoritmos criptográficos (quando usar o quê).
    • Gerenciamento de chaves e segredos.
    • Prática: Uso de bibliotecas de hashing e criptografia em exemplos de código.

Módulo II: Vulnerabilidades Comuns e Prevenção - OWASP Top 10 Parte 1 (6 horas)

  • 2.1. Injeções (A01:2021-Injection) (2h)
    • SQL Injection, NoSQL Injection, Command Injection, LDAP Injection.
    • Prevenção: Prepared Statements, Stored Procedures, ORMs, Validação de Entrada.
    • Prática: Demonstrar SQL Injection e aplicar medidas de prevenção.
  • 2.2. Falhas de Autenticação e Autorização (A07:2021-Identification and Authentication Failures, A01:2017-Broken Access Control) (2h)
    • Autenticação: Senhas fracas, credenciais expostas, falhas de MFA.
    • Autorização: IDOR (Insecure Direct Object References), escalada de privilégios.
    • Melhores práticas de autenticação (SSO, MFA), gerenciamento de sessões, controle de acesso baseado em funções (RBAC/ABAC).
    • Prática: Implementar autenticação e autorização seguras em uma aplicação de exemplo.
  • 2.3. Validação de Entrada e Saída (2h)
    • Validação de entrada robusta (whitelist, sanitização).
    • Cross-Site Scripting (XSS - A03:2021).
    • Prevenção de XSS: Escapamento de saída, CSP (Content Security Policy).
    • Prática: Demonstrar XSS e implementar validação de entrada/escapamento de saída.

Módulo III: Vulnerabilidades Comuns e Prevenção - OWASP Top 10 Parte 2 (6 horas)

  • 3.1. Falhas de Design de Segurança (A04:2021-Insecure Design) (2h)
    • Foco em ameaças como lógica de negócios falha, design de API vulnerável.
    • Modelagem de Ameaças (Threat Modeling) como ferramenta de prevenção.
    • Padrões de design seguro (e.g., Circuit Breaker, Gateway).
    • Prática: Realizar um Threat Modeling simplificado para um módulo de aplicação.
  • 3.2. Falhas de Configuração de Segurança (A05:2021-Security Misconfiguration) (2h)
    • Configurações padrão inseguras, erros de deployment, exposição de dados.
    • Gerenciamento de segredos (Key Vaults, Secrets Managers).
    • Hardening de servidores, contêineres e serviços.
    • Prática: Identificar e corrigir misconfigurações em um ambiente simulado.
  • 3.3. Outras Vulnerabilidades Críticas (A08, A09, A10) (2h)
    • Injeção de Logs, Upload de Arquivos Maliciosos.
    • SSRF (Server-Side Request Forgery - A10:2021).
    • Vulnerabilidades de serialização (A08:2021-Software and Data Integrity Failures).
    • Requisição de Falsificação entre Sites (CSRF).
    • Prática: Demonstrar e mitigar CSRF em um formulário web.

Módulo IV: Teste de Segurança e Práticas de DevSecOps (4 horas)

  • 4.1. Ferramentas de Teste de Segurança de Aplicações (2h)
    • SAST (Static Application Security Testing): Análise de código-fonte.
    • DAST (Dynamic Application Security Testing): Teste de aplicações em execução.
    • SCA (Software Composition Analysis): Análise de dependências de terceiros.
    • IAST (Interactive Application Security Testing).
    • Fuzzing (conceito).
    • Prática: Utilizar ferramentas SAST/SCA básicas em um projeto de exemplo.
  • 4.2. Integrando Segurança no CI/CD (DevSecOps) (1.5h)
    • Automatizando verificações de segurança nas pipelines de CI/CD.
    • "Shift Left": Encontrando vulnerabilidades mais cedo.
    • Git Hooks para validações de segurança.
    • Prática: Adicionar um passo de SAST ou SCA a um pipeline de CI/CD.
  • 4.3. Cultura de Segurança e Próximos Passos (0.5h)
    • Construindo uma cultura de segurança na equipe de desenvolvimento.
    • Treinamento e conscientização contínua.
    • Recursos adicionais: certificações, comunidades, blogs de segurança.
TENHO INTERESSE

Cursos Relacionados

Curso Ansible Red Hat Basics Automation Technical Foundation

16 horas

Curso Terraform Deploying to Oracle Cloud Infrastructure

24 Horas

Curso Ansible Linux Automation with Ansible

24 horas

Ansible Overview of Ansible architecture

16h

Advanced Automation: Ansible Best Practices

32h