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 Terraform Deploying to Oracle Cloud Infrastructure

24 Horas

Ansible Overview of Ansible architecture

16h

Curso Data Governance Engineering

24 horas

Curso ISO/IEC 20000-1 Certification Service Management

24 horas

Curso Automotive Cloud and Connected Vehicle Security

24 horas

Curso FinOps for AI Practitioners

16 horas