SlideShare uma empresa Scribd logo
AULA 05
O objetivo deste curso é capacitar os treinandos em Codificação
Segura – Fundamentos, com habilidades e conhecimento em
Secure Programming - Foundation.
Objetivo do Curso
“A revolução começa com a informação e termina
com o resultado."
(Bernardo Morais)
Público-Alvo
 Todos que desejam ter conhecimento em Fundamentos de Programação
Segura
 Todos que tenham interesse no desenvolvimento de softwares seguros e
auditores que irão trabalhar com o Framework Secure Software.
Alcyon Junior
Gestor de Segurança da
Informação no
SEBRAE
Três graduações
Redes de
Computadores
Pós em Redes pela
Cisco | MBA em
Governança de TI |
Pós em
CyberSecurity
Mestrado em
Segurança
Cibernética
Autor de livros
sobre Segurança
Cibernética
EHF | ISO27002
| ITILF | CNAP |
CEH | MVM |
LPIC-1
Instrutor
credenciado
pela EXIN e
Líder da OWASP
BSB
#WHOAMI
Autor do capítulo 19
Configurações de segurança
DISCLAIMER
The information contained in this document may be privileged
and confidential and protected from disclosure. If the reader of
this document is not the intended recipient, or an employee
agent responsible for delivering this document to the
intended recipient, you are hereby notified that any
dissemination, distribution or copying of this communication is
strictly prohibited.
MÓDULO
CRIPTOGRAFIA
Objetivos
Explicar a importância do Princípio de Kerckhoff, Manejo de Chaves e
Aleatoriedade.
Descrever a criptografia de chave pública, ataques de homem do meio e
certificados.
Reconhecer as ameaças a SSL/TLS/HTTPS.
Aplicar HTTPS corretamente.
Princípio de Kerckhoff
Um bom algoritmo de criptografia não deve depender do sigilo do próprio algoritmo.
A única parte que precisa ser secreta é a chave.
Auguste Kerckhoffs, 1883
Criptografia de chave pública
HTTPS
Revisão
Criptografia Simétrica e Assimétrica
Chave pública e chave privada
Ataque Homem-do-Meio ou Man-In-The-Midde
Certificado Digital
HTTPS
HSTS
Exercício
Como aplicar corretamente o HTTPS? Escolha uma das alternativas:
A. Utilizar sempre a criptografia mais forte possível (CIPHER – CIFRA);
B. Permitir tanto o uso do HTTP quanto do HTTPS;
C. Implementar a verificação do certificado, verificar se a autoridade que emitiu
o certificado não está comprometida, se a chave não está comprometida, se
o certificado não foi revogado;
D. Ignorar os alertas e mensagens de certificado inválido;
MÓDULO
ENGENHARIA DE SOFTWARE SEGURO
Objetivos
Identificar requisitos de segurança em falta.
Reconhecer ambiguidades e pressupostos ocultos em determinadas condições e
contextos.
Reconhecer ameaças que são inerentes a uma arquitetura específica.
Reconhecer soluções adequadas a ameaças e as imperfeições nessas soluções.
Reconhecer o escopo, objetivo e vantagens da revisão de código para as práticas
de desenvolvimento.
Lembrar diferentes métodos para testes de segurança.
Reconhecer o melhor teste para um determinado cenário.
Identificar formas de melhorar o desenvolvimento de software e processos de
testes, incorporando resultados de testes.
Requisitos de segurança
• Sua Importância
• STRIDE
#DICA – STRIDE para Requisito de Seg
S Forjamento de Identidade / Requisito de Segurança Autenticação, uso de senhas
T Adulteração de Dados / Requisito de Segurança Integridade, manipulação ou validação de entrada
R Rejeição / Requisito de Segurança Não rejeição, registro
I Divulgação de Informações / Requisito de Segurança Confidencialidade, criptografia
D Recusa de Serviço / Requisito de Segurança Disponibilidade, limitar o consumo de recursos
E Elevação de Privilégios / Requisito de Segurança Autorização, realizar verificações de autorização
Design Seguro
Group
member
Group
member
Group
administrator
Group
administrator
Web
server
Web
server
Mobile
app
Mobile
app
System administratorSystem administrator
Mobile
app
Mobile
app
GUI
events
GUI
events
SOAP
HTTP
responses
HTTP
requests
SOAP
SQL
AgentAgent
ProcessProcessDatabase
Data store
Data flow
Codificação Segura
• Enumeração das Fraquezas Comuns de Projetos
• Revisões de Código
• Ferramentas de Análise Estática
Testes de Segurança
Testes de penetração;
Testes de abuso;
Varreduras de vulnerabilidade;
Fuzzing;
Testes de Feedback;
Revisão
Requisitos de Segurança
Design Seguro
Codificação Segura
Testes de Segurança
Exercício
Quais destes é uma técnica de Teste de Segurança que pode gerar uma
grande quantidade de dados de testes, executar os testes a partir dos
dados gerados, monitorar os resultados e reestabelecer o sistema em
caso de falha?
A. Teste de Penetração
B. Teste de Abuso
C. Teste de Feedback
D. Fuzzing
VAMOS PENSAR UM POUCO?
“- aquele que conhece o inimigo e a si mesmo,
lutará cem batalhas sem perigo de derrota;
- para aquele que não conhece o inimigo, mas
conhece a si mesmo, as chances para a
vitória ou para a derrota serão iguais;
- aquele que não conhece nem o inimigo e
nem a si próprio, será derrotado em todas as
batalhas.”
Sun Tzu (A arte da Guerra)
REVISÃO E SIMULADO
Estou pronto?
• Simulado de prova – será disponibilizado no Telegram
• Grupo de dúvidas – t.me/devsecica

Mais conteúdo relacionado

Mais procurados

OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
Clavis Segurança da Informação
 
Yazılım Güvenliği Temelleri
Yazılım Güvenliği TemelleriYazılım Güvenliği Temelleri
Yazılım Güvenliği Temelleri
BGA Cyber Security
 

Mais procurados (20)

OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
 
Yazılım Güvenliği Temelleri
Yazılım Güvenliği TemelleriYazılım Güvenliği Temelleri
Yazılım Güvenliği Temelleri
 
Siber Tehdit Gözetleme ve SIEM Olarak Açık Kaynak Sistemlerin Kullanımı
Siber Tehdit Gözetleme ve SIEM Olarak Açık Kaynak Sistemlerin KullanımıSiber Tehdit Gözetleme ve SIEM Olarak Açık Kaynak Sistemlerin Kullanımı
Siber Tehdit Gözetleme ve SIEM Olarak Açık Kaynak Sistemlerin Kullanımı
 
Segurança da Informação - Aula 4 - Malwares
Segurança da Informação - Aula 4 - MalwaresSegurança da Informação - Aula 4 - Malwares
Segurança da Informação - Aula 4 - Malwares
 
Segurança da informação - Aula 3 - Ciclo de vida, classificação de ativos
Segurança da informação - Aula 3 - Ciclo de vida, classificação de ativosSegurança da informação - Aula 3 - Ciclo de vida, classificação de ativos
Segurança da informação - Aula 3 - Ciclo de vida, classificação de ativos
 
Log Yönetimi ve Saldırı Analizi Eğitimi -1
Log Yönetimi ve Saldırı Analizi Eğitimi -1Log Yönetimi ve Saldırı Analizi Eğitimi -1
Log Yönetimi ve Saldırı Analizi Eğitimi -1
 
Iso 27002-2013
Iso 27002-2013Iso 27002-2013
Iso 27002-2013
 
Kablosuz Ağlarda Adli Analiz
Kablosuz Ağlarda Adli AnalizKablosuz Ağlarda Adli Analiz
Kablosuz Ağlarda Adli Analiz
 
Segurança da Informação e Políticas de Segurança
Segurança da Informação e Políticas de SegurançaSegurança da Informação e Políticas de Segurança
Segurança da Informação e Políticas de Segurança
 
Segurança da informação - Aula 7 - ISO 27002
Segurança da informação - Aula 7 - ISO 27002Segurança da informação - Aula 7 - ISO 27002
Segurança da informação - Aula 7 - ISO 27002
 
Uygulamalı Ağ Güvenliği Eğitim Notları
Uygulamalı Ağ Güvenliği Eğitim NotlarıUygulamalı Ağ Güvenliği Eğitim Notları
Uygulamalı Ağ Güvenliği Eğitim Notları
 
Güvenli Veri Silme ve Dosya Kurtarma
Güvenli Veri Silme ve Dosya KurtarmaGüvenli Veri Silme ve Dosya Kurtarma
Güvenli Veri Silme ve Dosya Kurtarma
 
Aula 1 - Introdução a Segurança da Informação
Aula 1 - Introdução a Segurança da InformaçãoAula 1 - Introdução a Segurança da Informação
Aula 1 - Introdução a Segurança da Informação
 
Desafios da cibersegurança - ontem, hoje e amanhã
Desafios da cibersegurança - ontem, hoje e amanhãDesafios da cibersegurança - ontem, hoje e amanhã
Desafios da cibersegurança - ontem, hoje e amanhã
 
Kaynak Kod Analiz Süreci
Kaynak Kod Analiz SüreciKaynak Kod Analiz Süreci
Kaynak Kod Analiz Süreci
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 10, 11, 12
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 10, 11, 12Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 10, 11, 12
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 10, 11, 12
 
Segurança da Informação
Segurança da InformaçãoSegurança da Informação
Segurança da Informação
 
Desenvolvimento Seguro- 2011
Desenvolvimento Seguro- 2011Desenvolvimento Seguro- 2011
Desenvolvimento Seguro- 2011
 
Palestra: Fundamentos do Desenvolvimento Seguro de Softwares
Palestra: Fundamentos do Desenvolvimento Seguro de SoftwaresPalestra: Fundamentos do Desenvolvimento Seguro de Softwares
Palestra: Fundamentos do Desenvolvimento Seguro de Softwares
 
Yeni Nesil DDOS Saldırıları ve Korunma Yöntemleri
Yeni Nesil DDOS Saldırıları ve Korunma YöntemleriYeni Nesil DDOS Saldırıları ve Korunma Yöntemleri
Yeni Nesil DDOS Saldırıları ve Korunma Yöntemleri
 

Semelhante a Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon Junior

Gestão De Riscos Com Base No Monitoramento De Ameaças
Gestão De Riscos Com Base No Monitoramento De AmeaçasGestão De Riscos Com Base No Monitoramento De Ameaças
Gestão De Riscos Com Base No Monitoramento De Ameaças
Leandro Bennaton
 

Semelhante a Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon Junior (20)

Como se tornar um especialista em Desenvolvimento Seguro de Software
Como se tornar um especialista em Desenvolvimento Seguro de SoftwareComo se tornar um especialista em Desenvolvimento Seguro de Software
Como se tornar um especialista em Desenvolvimento Seguro de Software
 
Java security
Java securityJava security
Java security
 
Explorando 5 falhas graves de segurança que os programadores sempre cometem
Explorando 5 falhas graves de segurança que os programadores sempre cometemExplorando 5 falhas graves de segurança que os programadores sempre cometem
Explorando 5 falhas graves de segurança que os programadores sempre cometem
 
Qa test roadsec-bh - testes de segurança, não comece pelo fim!
Qa test   roadsec-bh - testes de segurança, não comece pelo fim!Qa test   roadsec-bh - testes de segurança, não comece pelo fim!
Qa test roadsec-bh - testes de segurança, não comece pelo fim!
 
Explorando 5 falhas graves de segurança que todos programadores cometem
Explorando 5 falhas graves de segurança que todos programadores cometem Explorando 5 falhas graves de segurança que todos programadores cometem
Explorando 5 falhas graves de segurança que todos programadores cometem
 
[GUTS-RS] - Testes de Segurança: O que preciso saber para planejar
 [GUTS-RS] - Testes de Segurança: O que preciso saber para planejar [GUTS-RS] - Testes de Segurança: O que preciso saber para planejar
[GUTS-RS] - Testes de Segurança: O que preciso saber para planejar
 
Katana Security - Consultoria em Segurança da Informação
Katana Security - Consultoria em Segurança da InformaçãoKatana Security - Consultoria em Segurança da Informação
Katana Security - Consultoria em Segurança da Informação
 
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no AzureGlobal Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
 
Validando a Segurança de Software
Validando a Segurança de SoftwareValidando a Segurança de Software
Validando a Segurança de Software
 
Analista de Defesa Cibernética (link).pdf
Analista de Defesa Cibernética (link).pdfAnalista de Defesa Cibernética (link).pdf
Analista de Defesa Cibernética (link).pdf
 
Segurança de código
Segurança de códigoSegurança de código
Segurança de código
 
Segurança em Desenvolvimento de Software
Segurança em Desenvolvimento de SoftwareSegurança em Desenvolvimento de Software
Segurança em Desenvolvimento de Software
 
Lista de desejos de um Chief Security Officer
Lista de desejos de um Chief Security OfficerLista de desejos de um Chief Security Officer
Lista de desejos de um Chief Security Officer
 
Projeto de Avaliação de Segurança de TI
Projeto de Avaliação de Segurança de TIProjeto de Avaliação de Segurança de TI
Projeto de Avaliação de Segurança de TI
 
Webinar Segurança de DevOps
Webinar Segurança de DevOpsWebinar Segurança de DevOps
Webinar Segurança de DevOps
 
QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE
QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWAREQUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE
QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE
 
Como começar na área de PenTest - Womcy Security Day Fatec
Como começar na área de PenTest - Womcy Security Day FatecComo começar na área de PenTest - Womcy Security Day Fatec
Como começar na área de PenTest - Womcy Security Day Fatec
 
Sunlit technologies portfolio produtos & serviços agosto2016
Sunlit technologies   portfolio produtos & serviços  agosto2016Sunlit technologies   portfolio produtos & serviços  agosto2016
Sunlit technologies portfolio produtos & serviços agosto2016
 
Ethical Hacking - Campus Party Brasília 2017
Ethical Hacking - Campus Party Brasília 2017Ethical Hacking - Campus Party Brasília 2017
Ethical Hacking - Campus Party Brasília 2017
 
Gestão De Riscos Com Base No Monitoramento De Ameaças
Gestão De Riscos Com Base No Monitoramento De AmeaçasGestão De Riscos Com Base No Monitoramento De Ameaças
Gestão De Riscos Com Base No Monitoramento De Ameaças
 

Mais de Alcyon Ferreira de Souza Junior, MSc

Mais de Alcyon Ferreira de Souza Junior, MSc (20)

Defensive programming - MindTheSec São Paulo 2019
Defensive programming - MindTheSec São Paulo 2019Defensive programming - MindTheSec São Paulo 2019
Defensive programming - MindTheSec São Paulo 2019
 
Defensive Programming - by Alcyon Junior
Defensive Programming - by Alcyon JuniorDefensive Programming - by Alcyon Junior
Defensive Programming - by Alcyon Junior
 
Desenvolvimento seguro - WorkSec 2019
Desenvolvimento seguro - WorkSec 2019Desenvolvimento seguro - WorkSec 2019
Desenvolvimento seguro - WorkSec 2019
 
Dica 01 - Hash de Senhas e sua utilização Segura
Dica 01 - Hash de Senhas e sua utilização SeguraDica 01 - Hash de Senhas e sua utilização Segura
Dica 01 - Hash de Senhas e sua utilização Segura
 
Mapa mental de Desenvolvimento seguro de software
Mapa mental de Desenvolvimento seguro de softwareMapa mental de Desenvolvimento seguro de software
Mapa mental de Desenvolvimento seguro de software
 
A nova onda da Segurança Cibernética e seus times coloridos
A nova onda da Segurança Cibernética e seus times coloridosA nova onda da Segurança Cibernética e seus times coloridos
A nova onda da Segurança Cibernética e seus times coloridos
 
Como hackear tudo! na Campus Party BSB 2
Como hackear tudo! na Campus Party BSB 2Como hackear tudo! na Campus Party BSB 2
Como hackear tudo! na Campus Party BSB 2
 
SEGURANÇA DA INFORMAÇÃO​ E A TRANSFORMAÇÃO DIGITAL: COMO SOBREVIVER NESTE NOV...
SEGURANÇA DA INFORMAÇÃO​ E A TRANSFORMAÇÃO DIGITAL: COMO SOBREVIVER NESTE NOV...SEGURANÇA DA INFORMAÇÃO​ E A TRANSFORMAÇÃO DIGITAL: COMO SOBREVIVER NESTE NOV...
SEGURANÇA DA INFORMAÇÃO​ E A TRANSFORMAÇÃO DIGITAL: COMO SOBREVIVER NESTE NOV...
 
7 segredos para a criação de malware - Campus Party Brasil 2018
7 segredos para a criação de malware - Campus Party Brasil 20187 segredos para a criação de malware - Campus Party Brasil 2018
7 segredos para a criação de malware - Campus Party Brasil 2018
 
7 segredos sobre o PenTest e software livre - VI Engitec
7 segredos sobre o PenTest e software livre - VI Engitec 7 segredos sobre o PenTest e software livre - VI Engitec
7 segredos sobre o PenTest e software livre - VI Engitec
 
PenTest com Kali linux - VI Engitec
PenTest com Kali linux - VI EngitecPenTest com Kali linux - VI Engitec
PenTest com Kali linux - VI Engitec
 
Google hacking e SQL Injection: Tudo junto e misturado!
Google hacking e SQL Injection: Tudo junto e misturado!Google hacking e SQL Injection: Tudo junto e misturado!
Google hacking e SQL Injection: Tudo junto e misturado!
 
Red Teaming and Alternative Analysis
Red Teaming and Alternative AnalysisRed Teaming and Alternative Analysis
Red Teaming and Alternative Analysis
 
PenTest com Kali Linux - Palestra na UPIS 2014
PenTest com Kali Linux - Palestra na UPIS 2014PenTest com Kali Linux - Palestra na UPIS 2014
PenTest com Kali Linux - Palestra na UPIS 2014
 
Segurança da Informação na era do software livre - Volday III
Segurança da Informação na era do software livre - Volday IIISegurança da Informação na era do software livre - Volday III
Segurança da Informação na era do software livre - Volday III
 
Pentest com Kali Linux - LatinoWare 2015
Pentest com Kali Linux  - LatinoWare 2015Pentest com Kali Linux  - LatinoWare 2015
Pentest com Kali Linux - LatinoWare 2015
 
Palestra alcyon junior - LatinoWare 2016
Palestra alcyon junior - LatinoWare 2016Palestra alcyon junior - LatinoWare 2016
Palestra alcyon junior - LatinoWare 2016
 
7 segredos para a criação de malware - LatinoWare 2017
7 segredos para a criação de malware - LatinoWare 20177 segredos para a criação de malware - LatinoWare 2017
7 segredos para a criação de malware - LatinoWare 2017
 
Segurança cibernetica na era do software livre utilizando o BackTrack - Debi...
Segurança cibernetica na era do software livre utilizando o BackTrack - Debi...Segurança cibernetica na era do software livre utilizando o BackTrack - Debi...
Segurança cibernetica na era do software livre utilizando o BackTrack - Debi...
 
7 Segredos sobre o PenTest e o Softeware Livre que todos deveriam saber - Con...
7 Segredos sobre o PenTest e o Softeware Livre que todos deveriam saber - Con...7 Segredos sobre o PenTest e o Softeware Livre que todos deveriam saber - Con...
7 Segredos sobre o PenTest e o Softeware Livre que todos deveriam saber - Con...
 

Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon Junior

  • 2. O objetivo deste curso é capacitar os treinandos em Codificação Segura – Fundamentos, com habilidades e conhecimento em Secure Programming - Foundation. Objetivo do Curso “A revolução começa com a informação e termina com o resultado." (Bernardo Morais) Público-Alvo  Todos que desejam ter conhecimento em Fundamentos de Programação Segura  Todos que tenham interesse no desenvolvimento de softwares seguros e auditores que irão trabalhar com o Framework Secure Software.
  • 3. Alcyon Junior Gestor de Segurança da Informação no SEBRAE Três graduações Redes de Computadores Pós em Redes pela Cisco | MBA em Governança de TI | Pós em CyberSecurity Mestrado em Segurança Cibernética Autor de livros sobre Segurança Cibernética EHF | ISO27002 | ITILF | CNAP | CEH | MVM | LPIC-1 Instrutor credenciado pela EXIN e Líder da OWASP BSB #WHOAMI
  • 4. Autor do capítulo 19 Configurações de segurança
  • 5.
  • 6. DISCLAIMER The information contained in this document may be privileged and confidential and protected from disclosure. If the reader of this document is not the intended recipient, or an employee agent responsible for delivering this document to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited.
  • 8. Objetivos Explicar a importância do Princípio de Kerckhoff, Manejo de Chaves e Aleatoriedade. Descrever a criptografia de chave pública, ataques de homem do meio e certificados. Reconhecer as ameaças a SSL/TLS/HTTPS. Aplicar HTTPS corretamente.
  • 9. Princípio de Kerckhoff Um bom algoritmo de criptografia não deve depender do sigilo do próprio algoritmo. A única parte que precisa ser secreta é a chave. Auguste Kerckhoffs, 1883
  • 11. HTTPS
  • 12. Revisão Criptografia Simétrica e Assimétrica Chave pública e chave privada Ataque Homem-do-Meio ou Man-In-The-Midde Certificado Digital HTTPS HSTS
  • 13. Exercício Como aplicar corretamente o HTTPS? Escolha uma das alternativas: A. Utilizar sempre a criptografia mais forte possível (CIPHER – CIFRA); B. Permitir tanto o uso do HTTP quanto do HTTPS; C. Implementar a verificação do certificado, verificar se a autoridade que emitiu o certificado não está comprometida, se a chave não está comprometida, se o certificado não foi revogado; D. Ignorar os alertas e mensagens de certificado inválido;
  • 15. Objetivos Identificar requisitos de segurança em falta. Reconhecer ambiguidades e pressupostos ocultos em determinadas condições e contextos. Reconhecer ameaças que são inerentes a uma arquitetura específica. Reconhecer soluções adequadas a ameaças e as imperfeições nessas soluções. Reconhecer o escopo, objetivo e vantagens da revisão de código para as práticas de desenvolvimento. Lembrar diferentes métodos para testes de segurança. Reconhecer o melhor teste para um determinado cenário. Identificar formas de melhorar o desenvolvimento de software e processos de testes, incorporando resultados de testes.
  • 16. Requisitos de segurança • Sua Importância • STRIDE
  • 17. #DICA – STRIDE para Requisito de Seg S Forjamento de Identidade / Requisito de Segurança Autenticação, uso de senhas T Adulteração de Dados / Requisito de Segurança Integridade, manipulação ou validação de entrada R Rejeição / Requisito de Segurança Não rejeição, registro I Divulgação de Informações / Requisito de Segurança Confidencialidade, criptografia D Recusa de Serviço / Requisito de Segurança Disponibilidade, limitar o consumo de recursos E Elevação de Privilégios / Requisito de Segurança Autorização, realizar verificações de autorização
  • 18. Design Seguro Group member Group member Group administrator Group administrator Web server Web server Mobile app Mobile app System administratorSystem administrator Mobile app Mobile app GUI events GUI events SOAP HTTP responses HTTP requests SOAP SQL AgentAgent ProcessProcessDatabase Data store Data flow
  • 19. Codificação Segura • Enumeração das Fraquezas Comuns de Projetos • Revisões de Código • Ferramentas de Análise Estática
  • 20. Testes de Segurança Testes de penetração; Testes de abuso; Varreduras de vulnerabilidade; Fuzzing; Testes de Feedback;
  • 21. Revisão Requisitos de Segurança Design Seguro Codificação Segura Testes de Segurança
  • 22. Exercício Quais destes é uma técnica de Teste de Segurança que pode gerar uma grande quantidade de dados de testes, executar os testes a partir dos dados gerados, monitorar os resultados e reestabelecer o sistema em caso de falha? A. Teste de Penetração B. Teste de Abuso C. Teste de Feedback D. Fuzzing
  • 23. VAMOS PENSAR UM POUCO? “- aquele que conhece o inimigo e a si mesmo, lutará cem batalhas sem perigo de derrota; - para aquele que não conhece o inimigo, mas conhece a si mesmo, as chances para a vitória ou para a derrota serão iguais; - aquele que não conhece nem o inimigo e nem a si próprio, será derrotado em todas as batalhas.” Sun Tzu (A arte da Guerra)
  • 25. Estou pronto? • Simulado de prova – será disponibilizado no Telegram • Grupo de dúvidas – t.me/devsecica

Notas do Editor

  1. Page 1
  2. Page 2
  3. Objetivos Explicar a importância do Princípio de Kerckhoff, Manejo de Chaves e Aleatoriedade. Descrever a criptografia de chave pública, ataques de homem do meio e certificados. Reconhecer as ameaças a SSL/TLS/HTTPS. Aplicar HTTPS corretamente.
  4. Especificação 6.1.1 Explicar a importância do Princípio de Kerckhoffs, do Gerenciamento de Chave e da Aleatoriedade. Discutir o princípio de Kerckhoffs. Ver a seção 6 do workbook. Explicar os termos de Criptografia - Confidencialidade - Integridade - Autenticação - Não Repúdio - Assinatura Digital
  5. Especificação: 6.2.1 Descrever a Criptografia de Chave Pública, Ataque do Homem-do-Meio e Certificados. Discutir a simetria e assimetria criptográfica. Ver as seções 6.1 e 6.2 do Workbook. - Explicar as Diferenças da Criptografia Simétrica e Assimétrica - Explicar as Diferenças entre chave secreta e chave pública - Algoritmo de criptografia. - Ataque Homem-do-Meio ou Man-In-The-Middle - Certificado Digital, Assinatura Digital e Autoridade Certificadora
  6. Especificação: 6.3.1 Reconhecer as ameaças ao SSL/TLS/HTTPS. 6.3.2 Aplicar corretamente o HTTPS . Discutir o HTTPS como uma medida contra acesso não autorizado. Mostrar exemplos de certificados HTTP e discutir autoridades confiáveis. Veja a seção 6.3 do Workbook. - Explicar a diferença entre HTTP e HTTPS. - HTTPS é um protocolo para criptografar uma conexão e autenticar a parte remota, baseado em chave pública. - Erros do HTTPS
  7. HSTS - HTTP Strict Transport Security, recorda um certificado de servidor e recusa qualquer comunicação se aquele servidor não for usado.
  8. Especificação: 6.3.2 Aplicar corretamente o HTTPS. Completar o treinamento com uma atribuição que permite que os candidatos possam mostrar que eles podem aplicar corretamente o HTTPS. Resposta - C
  9. Objetivos Identificar requisitos de segurança em falta. Reconhecer ambiguidades e pressupostos ocultos em determinadas condições e contextos. Reconhecer ameaças que são inerentes a uma arquitetura específica. Reconhecer soluções adequadas a ameaças e as imperfeições nessas soluções. Reconhecer o escopo, objetivo e vantagens da revisão de código para as práticas de desenvolvimento. Lembrar diferentes métodos para testes de segurança. Reconhecer o melhor teste para um determinado cenário. Identificar formas de melhorar o desenvolvimento de software e processos de testes, incorporando resultados de testes.
  10. Especificações 7.1.1 Identificar requisitos de segurança que estão faltando. missing security requirements. 7.1.2 Reconhecer suposições ocultas e ambiguidades em determinados requisitos e contextos. Discutir que os requisitos de segurança geralmente não são solicitados pelo cliente, mas ainda assim são importantes. Explicar as fases de Engenharia de Software Seguro: Requisitos de Software Seguro, fase em que os requisitos de segurança são esquecidos Projeto Implementação Verificação Discutir utilizando STRIDE para encontrar requisitos de segurança necessários. S - Forjamento de Identidade / Requisito de Segurança: Autenticação, uso de senhas T – Adulteração de Dados / Requisito de Segurança: Integridade, manipulação ou validação de entrada R – Rejeição / Requisito de Segurança: não rejeição, registro I – Divulgação de Informações / Requisito de Segurança: confidencialidade, criptografia D – Recusa de Serviço / Requisito de Segurança: disponibilidade, limitar o consumo de recursos E – Elevação de Privilégios / Requisito de Segurança: Autorização, realizar verificações de autorização
  11. Especificações 7.1.1 Identificar requisitos de segurança que estão faltando. missing security requirements. 7.1.2 Reconhecer suposições ocultas e ambiguidades em determinados requisitos e contextos. Discutir que os requisitos de segurança geralmente não são solicitados pelo cliente, mas ainda assim são importantes. Explicar as fases de Engenharia de Software Seguro: Requisitos de Software Seguro, fase em que os requisitos de segurança são esquecidos Projeto Implementação Verificação Discutir utilizando STRIDE para encontrar requisitos de segurança necessários. S - Forjamento de Identidade / Requisito de Segurança: Autenticação, uso de senhas T – Adulteração de Dados / Requisito de Segurança: Integridade, manipulação ou validação de entrada R – Rejeição / Requisito de Segurança: não rejeição, registro I – Divulgação de Informações / Requisito de Segurança: confidencialidade, criptografia D – Recusa de Serviço / Requisito de Segurança: disponibilidade, limitar o consumo de recursos E – Elevação de Privilégios / Requisito de Segurança: Autorização, realizar verificações de autorização
  12. Especificações: 7.2.1 Reconhecer as ameaças que são inerentes à determinada arquitetura. 7.2.2 Reconhecer soluções apropriadas para ameaças e as imperfeições dessas soluções. Discutir sobre o diagrama de fluxo de e os limites de confiança como parte do design seguro. Veja a seção 7.2 do Workbook. Explicar o exemplo do DFD – Diagrama de Fluxo de Dados Retangulo Setas Circulo
  13. Especificação 7.3.1 Identificar o escopo, objetivos e vantagens da revisão de código como prática de desenvolvimento. Discutir os princípios de codificação segura. Ver a seção 7.3 do Workbook. Enumeração das Fraquezas Comuns de Projeto - CWE - CAPEC – ataque comum padrao de enumeração e classificação, possui mais de 500 padrões de ataque Revisões de Código - Padrão de Codificação Segura Ferramentas de Análise Estática Verificam o fluxo de dados Precisam de personalização
  14. Especificações: 7.4.1 Relembrar os diferentes métodos para testes de segurança. 7.4.2 Reconhecer o melhor teste para um determinado cenário. 7.4.3 Identificar meios para melhorar o processo de desenvolvimento e testes de software para incorporar descobertas dos testes. Discutir medidas de teste para o desenvolvimento seguro de software. Ver a seção 7.4 do Workbook. Teste de Penetração ou PenTest Tentar atacar o sistema antes dos invasores tentarem Teste de Abuso - Teste de segurança específico de um aplicativo, com um especialista naquela tecnologia do sistema Varredura de Vulnerabilidade Uso de ferramentas para identificar ou escanear as vulnerabilidades Escaneamento para endurecimento e para cross-site-scripting Economizam tempo, porém não detecta todas as vulnerabilidades, é preciso combinar com outros tipos de testes de segurança Fuzzing Recebe uma entrada para ver o comportamento do aplicativo A entrada de teste pode ser gerada por um gerador, tem um mecanismo para garantir que o sistema processe a entrada Tem um monitor que observa como o sistema responde Tem um agente que pode reiniciar o sistema ou recuperar após um incidente Pode executar por muito tempo e executar muitos casos de teste Testes de Feedback - Fornecem redes seguras em diferentes ponto no processo de desenvolvimento de software
  15. Revisar em grupo todos os assuntos e termos deste módulo.
  16. Resposta - D
  17. Revisar de forma estruturada todos os tópicos previstos (dias 1 e 2) Aplicar e corrigir o simulado (debater os não-acertos e dúvidas)