Introdução do DEVSECOPS
gdgfoz
+ OWASP-PC
gdg_cde
www.gdgfoz.org
copyright 2021 - GDG Foz do Iguacu
Toda guerra é baseada em
ilusão.
- Sun Tzu
Alan Silva
copyright 2021 - GDG Foz do Iguacu
DEV+OPS
copyright 2021 - GDG Foz do Iguacu
WE DO DEVOPS ALREADY
JUST WITHOUT AGILE, STANDUPS, CI, CODE
OR ANY OF THAT OTHER HIPSTER STUFF
copyright 2021 - GDG Foz do Iguacu
Proactive Controls
DEVOPS
• Developers (desenvolvimento) + Operations (operações)
• GOFASTBREAKTHINGS x minha app está foraaaaaaaaaaaa (uptime)
• Criar novas funcionalidades
• Melhorar a disponibilidade
Seguro?
Alan Silva
copyright 2021 - GDG Foz do Iguacu
EXCELENTE
Pegamos os reféns,
garantimos o prédio e
cortamos as linhas de
comunicação conforme
pedido.
Mas uma pessoa veio pelos
dutos de ventilação, andou por
cima de caco de vidro, matando
todo mundo que a gente mandou.
E ela resgatou
os reféns?!?
Não, ignorou. Ela apenas
reconectou os cabos que a
gente cortou, balbuciando
algo sobre “uptime".
MERDA, estamos
lidando com uma
SYSADMIN
copyright 2021 - GDG Foz do Iguacu
Overview
DevOps brings together software development and
operations to shorten development cycles, allow
organizations to be agile, and maintain the pace of
innovation while taking advantage of cloud-native
technology and practices.
DevOps
NIST
copyright 2021 - GDG Foz do Iguacu
DEVOPS
SegurO?
copyright 2021 - GDG Foz do Iguacu
50%
Fonte
copyright 2021 - GDG Foz do Iguacu
50%
Fonte
copyright 2021 - GDG Foz do Iguacu
Fonte
copyright 2021 - GDG Foz do Iguacu
50%
Fonte
copyright 2021 - GDG Foz do Iguacu
O guerreiro sábio evita a
batalha.
- Sun Tzu
Alan Silva
copyright 2021 - GDG Foz do Iguacu
DEV(SEC?)OPS
copyright 2021 - GDG Foz do Iguacu
Essa lib node bacana
Vou usar esse novo framework
Esse código do Stack Overflow
Esse NOVO REPO do GitHub
DEVOPS
Vou instalar esse .deb/.rpm/.bin
Vou adicionar esse source deb/rpm
Esse binário do SourceForge
Esse NOVO REPO do GitHub
Cuidado!
Alan Silva
copyright 2021 - GDG Foz do Iguacu
DEVOPS
1. Alguém tem que fazer alguma coisa!
2. "Criamos um time de segurança”
3. Red Team/Blue Team
4. CISO, CSO, CISSP, CISM, OSCE, CCCP, CEH, CHFI…
Security Team
copyright 2021 - GDG Foz do Iguacu
DEVSECOPS
copyright 2021 - GDG Foz do Iguacu
Overview
DevSecOps helps ensure that security is addressed
as part of all DevOps practices by integrating security
practices and automatically generating security and
compliance artifacts throughout the process.
DevSecOps
NIST
copyright 2021 - GDG Foz do Iguacu
Porquê?
• Redução de vulnerabilidades, código malicioso e outros aspectos de
segurança em software.
• Mitigação de impacto de eventuais explorações de vulnerabilidades
através do ciclo de vida de desenvolvimento
• Identificação de causa raiz de vulnerabilidades prevenindo recorrências
• Redução do atrito entre os times de desenvolvimento, operação e
segurança.
DevSecOps
NIST
copyright 2021 - GDG Foz do Iguacu
OWASP
• Trata-se de uma entidade sem fins lucrativos e com reconhecimento
internacional, atuando com foco na colaboração para o fortalecimento da
segurança de softwares em todo o mundo.
• Projetos aqui destacados:
★ OWASP Top Ten Proactive Controls Project
★ OWASP TOP 10
★ OWASP Cheat Sheet
★ OWASP API Security Top 10
Open Web Application Security Project
Alan Silva
copyright 2021 - GDG Foz do Iguacu
Desenvolvimento Seguro
OWASP
copyright 2021 - GDG Foz do Iguacu
Custo de Reparo
Desenvolvimento Seguro
1 X 4 X 10 X
40 X
640 X
Jones, Capers. 1996
copyright 2021 - GDG Foz do Iguacu
Desenvolvimento Seguro
• Modelo de Maturidade de Garantia de Software - SAMM
• Ciclo de vida de desenvolvimento seguro - efetivo e mensurável
• Agnóstico em tecnologias e processos
• Passível de evolução e focado nos riscos
Ciclo de vida
OWASP
Alan Silva
copyright 2021 - GDG Foz do Iguacu
Ciclo de Vida
Governança
Políticas &
Compliance
Educação &
Capacitação
Estratégia
& Métricas
Projeto
Requisitos de
Segurança
Análise de
ameaças
Arquitetura
Segura
Implementação
Build
Seguro
Gerenciamento
de Defeitos
Deploy
Seguro
Verificação
Testes
Seguros
Avaliação da
Arquitetura
Testes sobre
Requisitos
Operação
Gerenciamento
do Incidentes
Gerenciamento
Operacional
Gerenciamento
do Ambiente
F u n ç õ e s d e
N e g ó c i o
C o n t r o l e s
copyright 2021 - GDG Foz do Iguacu
• A01:2021-Broken Access Control (A05:2017)
• A02:2021-Cryptographic Failures (A03:2017)
• A03:2021-Injection (A01 e A07:2017)
• A04:2021-Insecure Design
• A05:2021-Security Misconfiguration (A04 e A06:2017)
• A06:2021-Vulnerable and Outdated Components (A09:2021)
• A07:2021-Identification and Authentication Failures (A02:2017)
• A08:2021-Software and Data Integrity Failures (A08:2017)
• A09:2021-Security Logging and Monitoring Failures (A09:2017)
• A10:2021-Server-Side Request Forgery (SSRF)
OWASP TOP 10
Alan Silva
copyright 2021 - GDG Foz do Iguacu
OWASP Proactive Controls
copyright 2021 - GDG Foz do Iguacu
• C1: Define Security Requirements
• C2: Leverage Security Frameworks and Libraries
• C3: Secure Database Access
• C4: Encode and Escape Data
• C5: Validate All Inputs
• C6: Implement Digital Identity
• C7: Enforce Access Controls
• C8: Protect Data Everywhere
• C9: Implement Security Logging and Monitoring
• C10: Handle All Errors and Exceptions
Proactive Controls 2018
OWASP TOP 10
copyright 2021 - GDG Foz do Iguacu
copyright 2021 - GDG Foz do Iguacu
C1: Define Security Requirements
copyright 2021 - GDG Foz do Iguacu
• Incluir requisitos de segurança nos projetos e especificações
• Usar o OWASP Application Security Verification Standard
• Exemplo:
V1.1 Secure Software Development Lifecycle Requirements
1.1.3 Verify that all user stories and features contain functional security
constraints, such as “As a user, I should be able to view and edit my profile. I should
not be able to view or edit anyone else's profile”
• OWASP Threat Modeling Cheat Sheet
Proactive Controls: C1
Define Security Requirements
Alan Silva
copyright 2021 - GDG Foz do Iguacu
copyright 2021 - GDG Foz do Iguacu
copyright 2021 - GDG Foz do Iguacu
C2: Leverage Security Frameworks and Libraries
copyright 2021 - GDG Foz do Iguacu
• Mapear e usar bibliotecas consolidadas e ativamente mantidas.
• Manter inventário das bibliotecas e versões
• OWASP Depency Check (tem integração com algumas ferramentas, VS
Code, jenkins, etc..)
• GitHub Actions/DependaBOT, Snyk, HuskyCI, StackHawk, entre outros
• OWASP Vulnerable Dependency Management Cheat Sheet
Proactive Controls: C2
Leverage Security Frameworks and Libraries
Alan Silva
copyright 2021 - GDG Foz do Iguacu
Leverage Security Frameworks and Libraries
copyright 2021 - GDG Foz do Iguacu
Leverage Security Frameworks and Libraries
• +500 software mapeados, +100 afetados (SOLR,
VMware, Cloudera, Cloudflare, Atlassian e contando.. )
copyright 2021 - GDG Foz do Iguacu
copyright 2021 - GDG Foz do Iguacu
C3: Secure Database Access
copyright 2021 - GDG Foz do Iguacu
• Itens de configuração de segurança relacionado a banco de dados
relacionais/NoSQL
• OWASP TOP 10 A03:2021- Injection
• Querys Seguras:
• Bobby Tables
• OWASP Testing for SQL Injection
• OWASP SQL Injection Prevention Cheat Sheet
• OWASP Query Parametrization Cheat Sheet
Proactive Controls: C3
Secure Database Access
API8:2019
copyright 2021 - GDG Foz do Iguacu
copyright 2021 - GDG Foz do Iguacu
C4: Encode and Escape Data
copyright 2021 - GDG Foz do Iguacu
• Tratar entrada com ferramentas disponíveis nas linguagens
• “Escapar” caracteres especiais para não quebrar a entrada
• OWASP TOP 10 A03:2021- Injection
• Ferramentas:
• OWASP Java Encoder Project
• PHP Laminas Escaper (versões antigas: ZendEscaper)
• .NET AntiXXSEncoder
• OWASP Cross Site Scripting Prevention Cheat Sheet
Proactive Controls: C4
Encode and Escape Data
Alan Silva
copyright 2021 - GDG Foz do Iguacu
https://xkcd.com/327
copyright 2021 - GDG Foz do Iguacu
C5: Validate All Inputs
copyright 2021 - GDG Foz do Iguacu
• Validação de entradas para garantir que apenas dados devidamente
tratados entrem nos sistemas
• Validação Sintática (CPF) ou Semântica (data inicio:fim)
• Allow list/Deny list
• Sempre no servidor (nunca no cliente)
• Via expressões regulares (complexo, cuidado)
• Alguns tipos são “perigosos” per se (email/url)
• OWASP TOP 10 A03:2021- Injection
Proactive Controls: C5
Validate All Inputs
API8:2019
copyright 2021 - GDG Foz do Iguacu
• Atenção com dados/objetos serializados!
• Sanitização de html />
• Validação de entrada não deve ser usado como único método para prevenção de XSS,
SQL inject
• Ferramentas:
• OWASP Java HTML Sanitizer Project
• Java JSR-303/JSR-349 Bean Validation / Java Hibernate Validator
• JEP-290 Filter Incoming Serialization Data / Apache Commons Validator
• PHP’s filter functions
• OWASP Input Validation Cheat Sheet
Proactive Controls: C5
Validate All Inputs
copyright 2021 - GDG Foz do Iguacu
copyright 2021 - GDG Foz do Iguacu
C6: Implement Digital Identity
copyright 2021 - GDG Foz do Iguacu
• Padrão NIST 800-63b (3 níveis de autenticação):
• Nível 1: Senhas
• Com mínimo de 8 caracters, caso haja MFA, senão 10
• Caracteres ASCII printáveis (incluindo espaço em branco) - devem ser aceitos
• Encorajar uso de senhas longas ou passphrases (40?80?)
• Ideal validar com dicionários de senhas, pra não serem usadas as 1.000/10.000 senhas
mais comuns
• Implementar mecanismo seguro de recuperação de senhas
• Implementar armazenamento seguro de senhas (ver o OWASP Pass. Stor. Cheat Sheet)
Proactive Controls: C6
Implement Digital Identity
copyright 2021 - GDG Foz do Iguacu
• Nível 2: MFA
• Segundo o NIST 800-63b o nível 2 é requisito para aplicações que
contenham dados pessoais LGPD 👋
• MFA é obrigatório para esse tipo de aplicação, sendo:
• Algo que você sabe: senha ou PIN
• Algo que você detêm: token ou telefone
• Algo que você é: biometria
• Biometria não pode ser um fator único de autenticação
Proactive Controls: C6
Implement Digital Identity
copyright 2021 - GDG Foz do Iguacu
• Nível 3: Autenticação baseada em criptografia
• Segundo o NIST 800-63b o nível 3 é requisito para aplicações que
contenham dados que possam afetar pessoas, materialidade
significante (🤑), interesse público e violações cíveis/criminais.
• Nesta classe de aplicações é necessário um hardware criptográfico.
Proactive Controls: C6
Implement Digital Identity
copyright 2021 - GDG Foz do Iguacu
• Gerenciamento de sessões:
• Garantir que o id da sessão é grande, único e randômico.
• A aplicação deve gerar nova sessão a cada autenticação/re-
autenticação.
• A aplicação deve implementar uma expiração por um período de
inatividade e um tempo de vida máximo definido para cada sessão -
assim os usuários devem se re-autenticar. Sempre relacionado com o
valor do dado.
Proactive Controls: C6
Implement Digital Identity
copyright 2021 - GDG Foz do Iguacu
• Cookies: secure flag por padrão, HttpOnly pra prevenção de acesso
via javascript, adicionar samesite.
• Pensar em tokens/stateless (JWT é um bom exemplo)
• Há muito mais, aqui tá o resumo do resumo.
• OWASP TOP 10 A01:2021 – Broken Access Control
• API1:2019 e API2:2019
Proactive Controls: C6
Implement Digital Identity
copyright 2021 - GDG Foz do Iguacu
• Cheat Sheets:
• OWASP Cheat Sheet: Authentication
• OWASP Cheat Sheet: Password Storage
• OWASP Cheat Sheet: Forgot Password
• OWASP Cheat Sheet: Choosing and Using Security Questions
• OWASP Cheat Sheet: Session Management
• OWASP Cheat Sheet: IOS Developer
• OWASP Testing Guide: Testing for Authentication
• NIST Special Publication 800-63 Revision 3 - Digital Identity Guidelines
Proactive Controls: C6
Implement Digital Identity
copyright 2021 - GDG Foz do Iguacu
copyright 2021 - GDG Foz do Iguacu
C7: Enforce Access Controls
copyright 2021 - GDG Foz do Iguacu
• Controle de acesso nas aplicações:
• Escolher o padrão antes da implementação (RBAC, DAC, ABAC, etc..)
• Forçar todos os pedidos para passar por uma checagem de controle de
acesso (camada específica)
• Proibir por padrão
• Princípio do privilégio mínimo
• Não codifique papéis (hardcode roles)
Proactive Controls: C7
Enforce Access Controls
copyright 2021 - GDG Foz do Iguacu
Proactive Controls: C7
Enforce Access Controls
Alan Silva
copyright 2021 - GDG Foz do Iguacu
• Registrar todos os eventos de Controle de Acesso.
• OWASP TOP 10 A01:2021 – Broken Access Control
• API1:2019 e API2:2019
• Ferramenta:
• OWASP ZAP with the optional Access Control Testing add-on
• OWASP Cheat Sheet: Access Control
• OWASP Testing Guide: Testing for Authorization
Proactive Controls: C7
Enforce Access Controls
copyright 2021 - GDG Foz do Iguacu
copyright 2021 - GDG Foz do Iguacu
C8: Protect Data Everywhere
copyright 2021 - GDG Foz do Iguacu
• Dados sensíveis requerem cuidado maior (senhas, cartão de crédito,
dados pessoais, etc..)
• Classificar os dados do sistema
• Cifrar os dados em trânsito (TLS 👋) e em disco (libsodium, etc..)
• OWASP TOP 10 A02:2021 – Cryptographic Failures
Proactive Controls: C8
Protect Data Everywhere
copyright 2021 - GDG Foz do Iguacu
• Cheat Sheets:
• Ivan Ristic: SSL/TLS Deployment Best Practices
• OWASP Cheat Sheet: Transport Layer Protection
• OWASP Cheat Sheet: HSTS
• OWASP Cheat Sheet: Cryptographic Storage
• OWASP Cheat Sheet: Password Storage
Proactive Controls: C8
Protect Data Everywhere
copyright 2021 - GDG Foz do Iguacu
• Ferramentas:
• OWASP Testing Guide: Testing for TLS
• SSLyze - SSL configuration scanning library and CLI tool
• SSLLabs - Free service for scanning and checking TLS/SSL configuration
• OWASP O-Saft TLS Tool - TLS connection testing tool
★GitRob - Command line tool to find sensitive information in publicly available files on GitHub
★TruffleHog - Searches for secrets accidentally committed
✓KeyWhiz - Secrets manager
✓Hashicorp Vault - Secrets manager
Proactive Controls: C8
Protect Data Everywhere
copyright 2021 - GDG Foz do Iguacu
copyright 2021 - GDG Foz do Iguacu
C9: Implement Security Logging and Monitoring
copyright 2021 - GDG Foz do Iguacu
• Logar é algo que todo mundo usa pra debugar e diagnosticar uma
aplicação.
• Security logging é registrar informações de segurança durante a execução
de uma aplicação.
• Monitoramento é verificar em tempo real os logs e saúde da aplicação.
• As mesmas ferramentas e padrões podem ser usadas para propósito de
operar, debugar ou proteger.
Proactive Controls: C9
Implement Security Logging and Monitoring
Spoiler
copyright 2021 - GDG Foz do Iguacu
• Usar um padrão comum de log entre os sistemas (apache logging services)
• Equilíbrio: logar sempre com timestamp, IPs e userid, mas não dados sensíveis ou
confidenciais
• Logar o comportamento dos dados de entrada:
• Dados submetidos fora de um intervalo esperado
• Dados submetidos que não deveriam serem alterados (texto livre ao invés de
checkbox)
• Pedidos que violam regras de controle de acesso
• Uma lista mais abrangente para pontos de detecção: Appsensor
Proactive Controls: C9
Implement Security Logging and Monitoring
Spoiler
copyright 2021 - GDG Foz do Iguacu
• Tratar e validar quaisquer caracteres antes de logar, para não haver
ataques: log injection/log forging 👋 LOG4J
• Não logar senha, id de sessão, cpf/ci, etc..
• Proteger os logs (infra segura, SYSLOG TLS)
• Ferramentas:
• OWASP Security Logging Project
• Apache Logging Services
Proactive Controls: C9
Implement Security Logging and Monitoring
Spoiler
copyright 2021 - GDG Foz do Iguacu
• Mais infos:
• OWASP Log injection
• OWASP Log forging
• OWASP Cheat Sheet: Logging How to properly implement logging in an
application
• OWASP Development Guide: Logging
• OWASP Code Review Guide: Reviewing Code for Logging Issues
Proactive Controls: C9
Implement Security Logging and Monitoring
Spoiler
copyright 2021 - GDG Foz do Iguacu
copyright 2021 - GDG Foz do Iguacu
copyright 2021 - GDG Foz do Iguacu
C10: Handle All Errors and Exceptions
copyright 2021 - GDG Foz do Iguacu
• Muito cuidado no manejo de exceções, pois pode ocorrer vazamento de
informações, DoS, etc.. (apple "goto fail bug")
• Gerenciar os erros/exceções de maneira centralizada
• Garantir mensagens de erro que não vazem dados críticos, porém
tenham dados suficientes para o usuário tomar ação e auxilie o suporte,
QA, análise forense e resposta a incidentes – todos entenderem o problema
• teste, Teste, TESTE
Proactive Controls: C10
Handle All Errors and Exceptions
copyright 2021 - GDG Foz do Iguacu
• Ferramentas:
• Error Prone
• Chaos Monkey
• Mais infos:
• OWASP Code Review Guide: Error Handling
• OWASP Testing Guide: Testing for Error Handling
• OWASP Improper Error Handling
• CWE 209: Information Exposure Through an Error Message
• CWE 391: Unchecked Error Condition
Proactive Controls: C10
Handle All Errors and Exceptions
Alan Silva
copyright 2021 - GDG Foz do Iguacu
copyright 2021 - GDG Foz do Iguacu
CONCLUSÃO
copyright 2021 - GDG Foz do Iguacu
https://xkcd.com/2347/
17/08/2020
LOG4J
ARIZONA
2013
copyright 2021 - GDG Foz do Iguacu
• DEV:
• Programação para apps/desktop: SEI CERT C/C++ Coding Standards
• Programação: Clean Code
• Caso não seja matemática(o): NÃO CRIE SUA CRIPTOGRAFIA!
• OPS:
• WEB: Qualys SSLLabs, hardenize.com
• Ataques, métodos e técnicas: Mittre ATT&CK
• Tudo: CIS Controls
DEVSECOPS
copyright 2021 - GDG Foz do Iguacu
Rethinking the SDLC
GitHub Universe 2021
copyright 2021 - GDG Foz do Iguacu
• A segurança é responsabilidade de todas pessoas
• Fronteira da “rede interna” <- NÃO EXISTE MAIS!
• “backend seguro”
• Automatizar tudo (use as ferramentas a seu favor)
• TESTES E MAIS TESTES
“A única constância é a mudança” - Buda
Lembrar
copyright 2021 - GDG Foz do Iguacu
• Dicas para se preparar para um incidente:
• Aumente o registro de eventos e processos do SO
• Registre os comandos de shells
• Aumente o tempo de log (espaço em disco é barato, use-o)
• Exercite um incidente, o que faria?
• Não é mais se, e sim quando
“A única constância é a mudança” - Buda
Incidentes
copyright 2021 - GDG Foz do Iguacu
OBRIGADO!
copyright 2021 - GDG Foz do Iguacu
LOG4J
copyright 2021 - GDG Foz do Iguacu

Introdução do DEVSECOPS

  • 1.
    Introdução do DEVSECOPS gdgfoz +OWASP-PC gdg_cde www.gdgfoz.org copyright 2021 - GDG Foz do Iguacu
  • 2.
    Toda guerra ébaseada em ilusão. - Sun Tzu Alan Silva copyright 2021 - GDG Foz do Iguacu
  • 3.
    DEV+OPS copyright 2021 -GDG Foz do Iguacu
  • 4.
    WE DO DEVOPSALREADY JUST WITHOUT AGILE, STANDUPS, CI, CODE OR ANY OF THAT OTHER HIPSTER STUFF copyright 2021 - GDG Foz do Iguacu
  • 5.
    Proactive Controls DEVOPS • Developers(desenvolvimento) + Operations (operações) • GOFASTBREAKTHINGS x minha app está foraaaaaaaaaaaa (uptime) • Criar novas funcionalidades • Melhorar a disponibilidade Seguro? Alan Silva copyright 2021 - GDG Foz do Iguacu
  • 6.
    EXCELENTE Pegamos os reféns, garantimoso prédio e cortamos as linhas de comunicação conforme pedido. Mas uma pessoa veio pelos dutos de ventilação, andou por cima de caco de vidro, matando todo mundo que a gente mandou. E ela resgatou os reféns?!? Não, ignorou. Ela apenas reconectou os cabos que a gente cortou, balbuciando algo sobre “uptime". MERDA, estamos lidando com uma SYSADMIN copyright 2021 - GDG Foz do Iguacu
  • 7.
    Overview DevOps brings togethersoftware development and operations to shorten development cycles, allow organizations to be agile, and maintain the pace of innovation while taking advantage of cloud-native technology and practices. DevOps NIST copyright 2021 - GDG Foz do Iguacu
  • 8.
  • 9.
    50% Fonte copyright 2021 -GDG Foz do Iguacu
  • 10.
    50% Fonte copyright 2021 -GDG Foz do Iguacu
  • 11.
    Fonte copyright 2021 -GDG Foz do Iguacu
  • 12.
    50% Fonte copyright 2021 -GDG Foz do Iguacu
  • 13.
    O guerreiro sábioevita a batalha. - Sun Tzu Alan Silva copyright 2021 - GDG Foz do Iguacu
  • 14.
  • 15.
    Essa lib nodebacana Vou usar esse novo framework Esse código do Stack Overflow Esse NOVO REPO do GitHub DEVOPS Vou instalar esse .deb/.rpm/.bin Vou adicionar esse source deb/rpm Esse binário do SourceForge Esse NOVO REPO do GitHub Cuidado! Alan Silva copyright 2021 - GDG Foz do Iguacu
  • 16.
    DEVOPS 1. Alguém temque fazer alguma coisa! 2. "Criamos um time de segurança” 3. Red Team/Blue Team 4. CISO, CSO, CISSP, CISM, OSCE, CCCP, CEH, CHFI… Security Team copyright 2021 - GDG Foz do Iguacu
  • 17.
    DEVSECOPS copyright 2021 -GDG Foz do Iguacu
  • 18.
    Overview DevSecOps helps ensurethat security is addressed as part of all DevOps practices by integrating security practices and automatically generating security and compliance artifacts throughout the process. DevSecOps NIST copyright 2021 - GDG Foz do Iguacu
  • 19.
    Porquê? • Redução devulnerabilidades, código malicioso e outros aspectos de segurança em software. • Mitigação de impacto de eventuais explorações de vulnerabilidades através do ciclo de vida de desenvolvimento • Identificação de causa raiz de vulnerabilidades prevenindo recorrências • Redução do atrito entre os times de desenvolvimento, operação e segurança. DevSecOps NIST copyright 2021 - GDG Foz do Iguacu
  • 20.
    OWASP • Trata-se deuma entidade sem fins lucrativos e com reconhecimento internacional, atuando com foco na colaboração para o fortalecimento da segurança de softwares em todo o mundo. • Projetos aqui destacados: ★ OWASP Top Ten Proactive Controls Project ★ OWASP TOP 10 ★ OWASP Cheat Sheet ★ OWASP API Security Top 10 Open Web Application Security Project Alan Silva copyright 2021 - GDG Foz do Iguacu
  • 21.
  • 22.
    Custo de Reparo DesenvolvimentoSeguro 1 X 4 X 10 X 40 X 640 X Jones, Capers. 1996 copyright 2021 - GDG Foz do Iguacu
  • 23.
    Desenvolvimento Seguro • Modelode Maturidade de Garantia de Software - SAMM • Ciclo de vida de desenvolvimento seguro - efetivo e mensurável • Agnóstico em tecnologias e processos • Passível de evolução e focado nos riscos Ciclo de vida OWASP Alan Silva copyright 2021 - GDG Foz do Iguacu
  • 24.
    Ciclo de Vida Governança Políticas& Compliance Educação & Capacitação Estratégia & Métricas Projeto Requisitos de Segurança Análise de ameaças Arquitetura Segura Implementação Build Seguro Gerenciamento de Defeitos Deploy Seguro Verificação Testes Seguros Avaliação da Arquitetura Testes sobre Requisitos Operação Gerenciamento do Incidentes Gerenciamento Operacional Gerenciamento do Ambiente F u n ç õ e s d e N e g ó c i o C o n t r o l e s copyright 2021 - GDG Foz do Iguacu
  • 25.
    • A01:2021-Broken AccessControl (A05:2017) • A02:2021-Cryptographic Failures (A03:2017) • A03:2021-Injection (A01 e A07:2017) • A04:2021-Insecure Design • A05:2021-Security Misconfiguration (A04 e A06:2017) • A06:2021-Vulnerable and Outdated Components (A09:2021) • A07:2021-Identification and Authentication Failures (A02:2017) • A08:2021-Software and Data Integrity Failures (A08:2017) • A09:2021-Security Logging and Monitoring Failures (A09:2017) • A10:2021-Server-Side Request Forgery (SSRF) OWASP TOP 10 Alan Silva copyright 2021 - GDG Foz do Iguacu
  • 26.
    OWASP Proactive Controls copyright2021 - GDG Foz do Iguacu
  • 27.
    • C1: DefineSecurity Requirements • C2: Leverage Security Frameworks and Libraries • C3: Secure Database Access • C4: Encode and Escape Data • C5: Validate All Inputs • C6: Implement Digital Identity • C7: Enforce Access Controls • C8: Protect Data Everywhere • C9: Implement Security Logging and Monitoring • C10: Handle All Errors and Exceptions Proactive Controls 2018 OWASP TOP 10 copyright 2021 - GDG Foz do Iguacu
  • 28.
    copyright 2021 -GDG Foz do Iguacu
  • 29.
    C1: Define SecurityRequirements copyright 2021 - GDG Foz do Iguacu
  • 30.
    • Incluir requisitosde segurança nos projetos e especificações • Usar o OWASP Application Security Verification Standard • Exemplo: V1.1 Secure Software Development Lifecycle Requirements 1.1.3 Verify that all user stories and features contain functional security constraints, such as “As a user, I should be able to view and edit my profile. I should not be able to view or edit anyone else's profile” • OWASP Threat Modeling Cheat Sheet Proactive Controls: C1 Define Security Requirements Alan Silva copyright 2021 - GDG Foz do Iguacu
  • 31.
    copyright 2021 -GDG Foz do Iguacu
  • 32.
    copyright 2021 -GDG Foz do Iguacu
  • 33.
    C2: Leverage SecurityFrameworks and Libraries copyright 2021 - GDG Foz do Iguacu
  • 34.
    • Mapear eusar bibliotecas consolidadas e ativamente mantidas. • Manter inventário das bibliotecas e versões • OWASP Depency Check (tem integração com algumas ferramentas, VS Code, jenkins, etc..) • GitHub Actions/DependaBOT, Snyk, HuskyCI, StackHawk, entre outros • OWASP Vulnerable Dependency Management Cheat Sheet Proactive Controls: C2 Leverage Security Frameworks and Libraries Alan Silva copyright 2021 - GDG Foz do Iguacu
  • 35.
    Leverage Security Frameworksand Libraries copyright 2021 - GDG Foz do Iguacu
  • 36.
    Leverage Security Frameworksand Libraries • +500 software mapeados, +100 afetados (SOLR, VMware, Cloudera, Cloudflare, Atlassian e contando.. ) copyright 2021 - GDG Foz do Iguacu
  • 37.
    copyright 2021 -GDG Foz do Iguacu
  • 38.
    C3: Secure DatabaseAccess copyright 2021 - GDG Foz do Iguacu
  • 39.
    • Itens deconfiguração de segurança relacionado a banco de dados relacionais/NoSQL • OWASP TOP 10 A03:2021- Injection • Querys Seguras: • Bobby Tables • OWASP Testing for SQL Injection • OWASP SQL Injection Prevention Cheat Sheet • OWASP Query Parametrization Cheat Sheet Proactive Controls: C3 Secure Database Access API8:2019 copyright 2021 - GDG Foz do Iguacu
  • 40.
    copyright 2021 -GDG Foz do Iguacu
  • 41.
    C4: Encode andEscape Data copyright 2021 - GDG Foz do Iguacu
  • 42.
    • Tratar entradacom ferramentas disponíveis nas linguagens • “Escapar” caracteres especiais para não quebrar a entrada • OWASP TOP 10 A03:2021- Injection • Ferramentas: • OWASP Java Encoder Project • PHP Laminas Escaper (versões antigas: ZendEscaper) • .NET AntiXXSEncoder • OWASP Cross Site Scripting Prevention Cheat Sheet Proactive Controls: C4 Encode and Escape Data Alan Silva copyright 2021 - GDG Foz do Iguacu
  • 43.
  • 44.
    C5: Validate AllInputs copyright 2021 - GDG Foz do Iguacu
  • 45.
    • Validação deentradas para garantir que apenas dados devidamente tratados entrem nos sistemas • Validação Sintática (CPF) ou Semântica (data inicio:fim) • Allow list/Deny list • Sempre no servidor (nunca no cliente) • Via expressões regulares (complexo, cuidado) • Alguns tipos são “perigosos” per se (email/url) • OWASP TOP 10 A03:2021- Injection Proactive Controls: C5 Validate All Inputs API8:2019 copyright 2021 - GDG Foz do Iguacu
  • 46.
    • Atenção comdados/objetos serializados! • Sanitização de html /> • Validação de entrada não deve ser usado como único método para prevenção de XSS, SQL inject • Ferramentas: • OWASP Java HTML Sanitizer Project • Java JSR-303/JSR-349 Bean Validation / Java Hibernate Validator • JEP-290 Filter Incoming Serialization Data / Apache Commons Validator • PHP’s filter functions • OWASP Input Validation Cheat Sheet Proactive Controls: C5 Validate All Inputs copyright 2021 - GDG Foz do Iguacu
  • 47.
    copyright 2021 -GDG Foz do Iguacu
  • 48.
    C6: Implement DigitalIdentity copyright 2021 - GDG Foz do Iguacu
  • 49.
    • Padrão NIST800-63b (3 níveis de autenticação): • Nível 1: Senhas • Com mínimo de 8 caracters, caso haja MFA, senão 10 • Caracteres ASCII printáveis (incluindo espaço em branco) - devem ser aceitos • Encorajar uso de senhas longas ou passphrases (40?80?) • Ideal validar com dicionários de senhas, pra não serem usadas as 1.000/10.000 senhas mais comuns • Implementar mecanismo seguro de recuperação de senhas • Implementar armazenamento seguro de senhas (ver o OWASP Pass. Stor. Cheat Sheet) Proactive Controls: C6 Implement Digital Identity copyright 2021 - GDG Foz do Iguacu
  • 50.
    • Nível 2:MFA • Segundo o NIST 800-63b o nível 2 é requisito para aplicações que contenham dados pessoais LGPD 👋 • MFA é obrigatório para esse tipo de aplicação, sendo: • Algo que você sabe: senha ou PIN • Algo que você detêm: token ou telefone • Algo que você é: biometria • Biometria não pode ser um fator único de autenticação Proactive Controls: C6 Implement Digital Identity copyright 2021 - GDG Foz do Iguacu
  • 51.
    • Nível 3:Autenticação baseada em criptografia • Segundo o NIST 800-63b o nível 3 é requisito para aplicações que contenham dados que possam afetar pessoas, materialidade significante (🤑), interesse público e violações cíveis/criminais. • Nesta classe de aplicações é necessário um hardware criptográfico. Proactive Controls: C6 Implement Digital Identity copyright 2021 - GDG Foz do Iguacu
  • 52.
    • Gerenciamento desessões: • Garantir que o id da sessão é grande, único e randômico. • A aplicação deve gerar nova sessão a cada autenticação/re- autenticação. • A aplicação deve implementar uma expiração por um período de inatividade e um tempo de vida máximo definido para cada sessão - assim os usuários devem se re-autenticar. Sempre relacionado com o valor do dado. Proactive Controls: C6 Implement Digital Identity copyright 2021 - GDG Foz do Iguacu
  • 53.
    • Cookies: secureflag por padrão, HttpOnly pra prevenção de acesso via javascript, adicionar samesite. • Pensar em tokens/stateless (JWT é um bom exemplo) • Há muito mais, aqui tá o resumo do resumo. • OWASP TOP 10 A01:2021 – Broken Access Control • API1:2019 e API2:2019 Proactive Controls: C6 Implement Digital Identity copyright 2021 - GDG Foz do Iguacu
  • 54.
    • Cheat Sheets: •OWASP Cheat Sheet: Authentication • OWASP Cheat Sheet: Password Storage • OWASP Cheat Sheet: Forgot Password • OWASP Cheat Sheet: Choosing and Using Security Questions • OWASP Cheat Sheet: Session Management • OWASP Cheat Sheet: IOS Developer • OWASP Testing Guide: Testing for Authentication • NIST Special Publication 800-63 Revision 3 - Digital Identity Guidelines Proactive Controls: C6 Implement Digital Identity copyright 2021 - GDG Foz do Iguacu
  • 55.
    copyright 2021 -GDG Foz do Iguacu
  • 56.
    C7: Enforce AccessControls copyright 2021 - GDG Foz do Iguacu
  • 57.
    • Controle deacesso nas aplicações: • Escolher o padrão antes da implementação (RBAC, DAC, ABAC, etc..) • Forçar todos os pedidos para passar por uma checagem de controle de acesso (camada específica) • Proibir por padrão • Princípio do privilégio mínimo • Não codifique papéis (hardcode roles) Proactive Controls: C7 Enforce Access Controls copyright 2021 - GDG Foz do Iguacu
  • 58.
    Proactive Controls: C7 EnforceAccess Controls Alan Silva copyright 2021 - GDG Foz do Iguacu
  • 59.
    • Registrar todosos eventos de Controle de Acesso. • OWASP TOP 10 A01:2021 – Broken Access Control • API1:2019 e API2:2019 • Ferramenta: • OWASP ZAP with the optional Access Control Testing add-on • OWASP Cheat Sheet: Access Control • OWASP Testing Guide: Testing for Authorization Proactive Controls: C7 Enforce Access Controls copyright 2021 - GDG Foz do Iguacu
  • 60.
    copyright 2021 -GDG Foz do Iguacu
  • 61.
    C8: Protect DataEverywhere copyright 2021 - GDG Foz do Iguacu
  • 62.
    • Dados sensíveisrequerem cuidado maior (senhas, cartão de crédito, dados pessoais, etc..) • Classificar os dados do sistema • Cifrar os dados em trânsito (TLS 👋) e em disco (libsodium, etc..) • OWASP TOP 10 A02:2021 – Cryptographic Failures Proactive Controls: C8 Protect Data Everywhere copyright 2021 - GDG Foz do Iguacu
  • 63.
    • Cheat Sheets: •Ivan Ristic: SSL/TLS Deployment Best Practices • OWASP Cheat Sheet: Transport Layer Protection • OWASP Cheat Sheet: HSTS • OWASP Cheat Sheet: Cryptographic Storage • OWASP Cheat Sheet: Password Storage Proactive Controls: C8 Protect Data Everywhere copyright 2021 - GDG Foz do Iguacu
  • 64.
    • Ferramentas: • OWASPTesting Guide: Testing for TLS • SSLyze - SSL configuration scanning library and CLI tool • SSLLabs - Free service for scanning and checking TLS/SSL configuration • OWASP O-Saft TLS Tool - TLS connection testing tool ★GitRob - Command line tool to find sensitive information in publicly available files on GitHub ★TruffleHog - Searches for secrets accidentally committed ✓KeyWhiz - Secrets manager ✓Hashicorp Vault - Secrets manager Proactive Controls: C8 Protect Data Everywhere copyright 2021 - GDG Foz do Iguacu
  • 65.
    copyright 2021 -GDG Foz do Iguacu
  • 66.
    C9: Implement SecurityLogging and Monitoring copyright 2021 - GDG Foz do Iguacu
  • 67.
    • Logar éalgo que todo mundo usa pra debugar e diagnosticar uma aplicação. • Security logging é registrar informações de segurança durante a execução de uma aplicação. • Monitoramento é verificar em tempo real os logs e saúde da aplicação. • As mesmas ferramentas e padrões podem ser usadas para propósito de operar, debugar ou proteger. Proactive Controls: C9 Implement Security Logging and Monitoring Spoiler copyright 2021 - GDG Foz do Iguacu
  • 68.
    • Usar umpadrão comum de log entre os sistemas (apache logging services) • Equilíbrio: logar sempre com timestamp, IPs e userid, mas não dados sensíveis ou confidenciais • Logar o comportamento dos dados de entrada: • Dados submetidos fora de um intervalo esperado • Dados submetidos que não deveriam serem alterados (texto livre ao invés de checkbox) • Pedidos que violam regras de controle de acesso • Uma lista mais abrangente para pontos de detecção: Appsensor Proactive Controls: C9 Implement Security Logging and Monitoring Spoiler copyright 2021 - GDG Foz do Iguacu
  • 69.
    • Tratar evalidar quaisquer caracteres antes de logar, para não haver ataques: log injection/log forging 👋 LOG4J • Não logar senha, id de sessão, cpf/ci, etc.. • Proteger os logs (infra segura, SYSLOG TLS) • Ferramentas: • OWASP Security Logging Project • Apache Logging Services Proactive Controls: C9 Implement Security Logging and Monitoring Spoiler copyright 2021 - GDG Foz do Iguacu
  • 70.
    • Mais infos: •OWASP Log injection • OWASP Log forging • OWASP Cheat Sheet: Logging How to properly implement logging in an application • OWASP Development Guide: Logging • OWASP Code Review Guide: Reviewing Code for Logging Issues Proactive Controls: C9 Implement Security Logging and Monitoring Spoiler copyright 2021 - GDG Foz do Iguacu
  • 71.
    copyright 2021 -GDG Foz do Iguacu
  • 72.
    copyright 2021 -GDG Foz do Iguacu
  • 73.
    C10: Handle AllErrors and Exceptions copyright 2021 - GDG Foz do Iguacu
  • 74.
    • Muito cuidadono manejo de exceções, pois pode ocorrer vazamento de informações, DoS, etc.. (apple "goto fail bug") • Gerenciar os erros/exceções de maneira centralizada • Garantir mensagens de erro que não vazem dados críticos, porém tenham dados suficientes para o usuário tomar ação e auxilie o suporte, QA, análise forense e resposta a incidentes – todos entenderem o problema • teste, Teste, TESTE Proactive Controls: C10 Handle All Errors and Exceptions copyright 2021 - GDG Foz do Iguacu
  • 75.
    • Ferramentas: • ErrorProne • Chaos Monkey • Mais infos: • OWASP Code Review Guide: Error Handling • OWASP Testing Guide: Testing for Error Handling • OWASP Improper Error Handling • CWE 209: Information Exposure Through an Error Message • CWE 391: Unchecked Error Condition Proactive Controls: C10 Handle All Errors and Exceptions Alan Silva copyright 2021 - GDG Foz do Iguacu
  • 76.
    copyright 2021 -GDG Foz do Iguacu
  • 77.
    CONCLUSÃO copyright 2021 -GDG Foz do Iguacu
  • 78.
  • 79.
    • DEV: • Programaçãopara apps/desktop: SEI CERT C/C++ Coding Standards • Programação: Clean Code • Caso não seja matemática(o): NÃO CRIE SUA CRIPTOGRAFIA! • OPS: • WEB: Qualys SSLLabs, hardenize.com • Ataques, métodos e técnicas: Mittre ATT&CK • Tudo: CIS Controls DEVSECOPS copyright 2021 - GDG Foz do Iguacu
  • 80.
    Rethinking the SDLC GitHubUniverse 2021 copyright 2021 - GDG Foz do Iguacu
  • 81.
    • A segurançaé responsabilidade de todas pessoas • Fronteira da “rede interna” <- NÃO EXISTE MAIS! • “backend seguro” • Automatizar tudo (use as ferramentas a seu favor) • TESTES E MAIS TESTES “A única constância é a mudança” - Buda Lembrar copyright 2021 - GDG Foz do Iguacu
  • 82.
    • Dicas parase preparar para um incidente: • Aumente o registro de eventos e processos do SO • Registre os comandos de shells • Aumente o tempo de log (espaço em disco é barato, use-o) • Exercite um incidente, o que faria? • Não é mais se, e sim quando “A única constância é a mudança” - Buda Incidentes copyright 2021 - GDG Foz do Iguacu
  • 83.
    OBRIGADO! copyright 2021 -GDG Foz do Iguacu
  • 84.
    LOG4J copyright 2021 -GDG Foz do Iguacu