Conteúdos do curso

  • 1

    Apresentação

    • Desenvolvimento Seguro

  • 2

    Boas-vindas ao curso!

    • Instrutor Petter Lopes

    • Apresentação

    • Agenda

    • Conteúdos do curso

    • Referências do curso

    • Guia para Desenvolvimento Seguro de Software | CIASC

    • Check-in

  • 3

    Introdução

    • Introdução

    • CID - Confidencialidade, integridade e disponibilidade

    • Por que testar software é tão importante?

  • 4

    Protocolo HTTP

    • Protocolo HTTP: Modelo OSI e Modelo TCP/IP

    • Modelo OSI

    • Modelo TCP/IP

    • Protocolo HTTP: Timeline

    • Protocolo HTTP

    • Exemplos de requisições

    • O que é uma requisição HTTP?

    • Fluxo básico de uma requisição HTTP

    • Método GET e POST

  • 5

    Conceitos Básicos

    • Conceitos básicos: cookies, sessões, hashs, criptografia

    • Wang Xiaoyun

    • Links da aula

  • 6

    Segurança de Aplicações

    • Segurança de Aplicações

    • Segurança de aplicações: definição

    • Estado da Segurança de Software

  • 7

    Ciclo de Desenvolvimento Seguro (SDL)

    • Ciclo de Desenvolvimento Seguro (SDL)

    • SDL Práticas

  • 8

    OWASP

    • OWASP

    • A Fundação OWASP®

    • OWASP TOP 10 2017

    • OWASP Top 10

    • OWASP Top 10 2017: Overview

    • 10 principais riscos de segurança de aplicativos da Web

    • OWASP Top 10 2017: Overview (continuação)

  • 9

    Exercícios Práticos

    • OWASP Juice Shop

    • Exercícios Práticos: OWASP Juice Shop

    • Setup do Ambiente

    • Material de apoio

    • Material de apoio: Passo a Passo Juice Shop

    • Material de apoio: Passo a Passo Juice Shop (PDF)

    • Exercício Prático: Login

    • Exercício Prático: login

    • Exercícios Práticos: Placar

    • Exercícios Práticos: Placar

  • 10

    OWASP Top 10 2017

    • Falhas de Injeção

    • Riscos principais

    • Falhas de injeção (parte 1)

    • A1 Falhas de injeção (parte 2)

    • A1 Falhas de injeção (parte 3)

    • Ataques de injeção – Injection attacks

    • Revisão

    • A2 Falhas de Injeção - autenticação

    • A2 Falhas de autenticação - Como evitar?

    • Segurança de camada de transporte insuficiente (HTTPS, TLS E SSL)

    • TLS security – identificação, análise, vulnerabilidades, hardening

    • Exercício

    • A3 Exposição de Dados Sensíveis

    • A3 Exposição de Dados Sensíveis - Como evitar?

    • Link: Vault Project

    • Exercício

    • Exercício - Resposta

    • A4 XML External Entities (XXE)

    • A4 XML External Entities (XXE) (parte 2)

    • Link: XML External Entity (XXE) Processing

    • A4 XML External Entities (XXE) - Como evitar?

    • A5 Falhas de controle de acesso

    • A5 Falhas de controle de acesso - Como evitar?

    • Exercício

    • Resposta esperada

    • A6 Falhas de Configuração de Segurança

    • A6 Falhas de Configuração de Segurança – Como evitar

    • A7 Cross Site Scripting (XSS)

    • A7 Cross Site Scripting (XSS) - Tipos

    • A7 Cross Site Scripting (XSS) – Como Evitar

    • A7 Cross Site Scripting (XSS) – Exercício

    • A7 Cross Site Scripting (XSS) – Exercício (Resposta)

    • A8 Desserialização Insegura

    • A8 Desserialização Insegura – Como Evitar

    • A9 Utilização de Componentes Vulneráveis

    • A9 Utilização de Componentes Vulneráveis – Como Evitar

    • A10 Log e Monitoração Insuficiente

  • 11

    Boas Práticas de Desenvolvimento Seguro

    • OWASP Boas Práticas de Desenvolvimento Seguro

  • 12

    OWASP Top 10 Controles Proativos

    • OWASP Top 10 Controles Proativos

    • C1 Defina Requisitos de Segurança

    • C2 Utilize Frameworks e Bibliotecas de Segurança

    • C3 Acesso Seguro ao Banco de Dados

    • C4 Codifique e Sanitize os Dados

    • C5 Valide Todas as Entradas

    • C6 Implemente Identidade Digital

    • C7 Aplique Controles de Acesso

    • C8 Proteja os Dados em todo o lugar

    • C9 Implemente Logs e Monitoramento de Segurança

    • C10 Trate todos os Erros e Exceções

  • 13

    OWASP API Security Top 10 v2019

    • OWASP API Security Top 10 v2019

    • Links citados na aula

  • 14

    Testes de Segurança de Aplicações

    • Testes de Segurança de Aplicações

    • Testes de Segurança de Aplicações – DAST

  • 15

    DevOps e DevSecOps

    • DevOps

    • DevSecOps

    • SAST no CI/CD | OWASPZAP

  • 16

    Modelagem de Ameaças

    • Modelagem de Ameaças

    • Modelagem de Ameaças - Conceitos

    • Modelagem de Ameaças – Exemplo (Kubernetes)

    • Modelagem de Ameaças - STRIDE

    • Indicação de material complementar do professor

    • Modelagem de Ameaças - DREAD

  • 17

    Avaliação de risco

    • Avaliação de Risco ou Análise de Risco (de TI)

    • Avaliação de Risco – Como fazer

  • 18

    Privacidade por Design & Segurança por Design

    • Privacidade por Design

    • Privacy by Design: seven foundational principles

    • Seguro por Design (Secure by Design)

    • Defense in Depth (Defesa em Profundidade)

    • Fail Safe (Proteção contra Falhas)

    • Least Privilege (Princípio do Menor Privilégio)

    • Separation of Duties (Separação de Funções)

    • Economy of Mechanism (Economia de Mecanismo)

    • Complete Mediation (Mediação Completa)

    • Open Design (Design Aberto)

    • Least Common Mechanism (Mecanismo Menos Comum)

    • Psychological Acceptability (Aceitabilidade Psicológica)

    • Weakest Link (Elo Mais Fraco) e Leveraging Existing Components (Utilizando Componentes Existentes)

    • Referências e Encerramento

  • 19

    Material complementar

    • Material extra

    • Material extra - atualização - parte 1

    • Material extra - atualização - parte 2

    • Material extra - atualização - parte 3

  • 20

    Avaliação final

    • Avaliação Desenvolvimento Seguro (Turma 2)

  • 21

    Próximos passos

    • Parabéns!

    • Antes de você ir...