SlideShare uma empresa Scribd logo
1 de 24
AULA 04
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
AUTORIZAÇÃO
Objetivos
Reconhecer a diferença entre autorização horizontal e vertical.
Reconhecer a diferença entre referências diretas e indiretas.
Reconhecer envenenamento de sessão e condições de corrida.
Autorização de horizontal e Vertical
Editor Jornalista A Jornalista B
Criar X
√ √
Leitura
√ √ √
Modificar
√ √ √
Publicar
√
X X
Problemas de Autorização
Escalonamento de Privilégios;
Acesso a Objetos Não Autorizados;
Como mitigar estes problemas?
Condições de corrida (ataque TOCTOU)
if (!access("/tmp/mydata.txt",W_OK)) {
// TOC: verifica se tem permissões de
escrita
// ...
// JANELA DE ATAQUE
f = fopen("/tmp/mydata.txt","w+");
// TOU: abre o arquivo para edição
write_data_to_file(f);
} else {
fprintf(stderr,“Não é permitido abrir o
arquivo!n");
}
Revisão
Autorização Horizontal e Vertical
Escalada de Privilégios
Problemas de Autorização e Como Mitigar estes Problemas
Condições de Corrida
Envenenamento de Sessão
Exercício
Qual a diferença entre Autorização e Autenticação?
A. Autorização é o processo de verificar a identidade de alguém e Autenticação é
o processo de verificar se alguém tem permissão para realizar uma operação.
B. Autenticação é o processo de verificar a identidade de alguém e Autorização é
o processo de verificar se alguém tem permissão para realizar uma operação.
C. Autenticação e Autorização são processos para verificar a identidade de
alguém.
D. Autenticação e Autorização são processos para verificar se alguém tem
permissão para realizar uma operação.
MÓDULO
CONFIGURAÇÃO, MANEJO E REGISTRO DE
ERROS
Objetivos
Justificar a necessidade de endurecimento.
Reconhecer métodos de endurecimento.
Reconhecer diferentes vazamentos de informação.
Explicar a importância do registro para a segurança.
Explicar o princípio de 'Falhar com Segurança'.
Reconhecer ataques por recusa de serviço e mitigações.
Componentes de Terceiros, Configuração e
Endurecimento
Aplicando os patches ou correções de segurança
mais recentes
Restringir o acesso a funcionalidades perigosas
Configurando privilégios de acesso
Desativar ou remover recursos de depuração (debug)
Removendo arquivos desnecessários
Alterando senhas padrão
Vazamentos de informações
• Inocente?
• Não ajude o hacker.
• Exemplos de vazamento:
• Comentários HTML
• Informações sobre a versão
• Rastreamento de Pilha, IP e servidores em Produção
• Endereços de e-mail pessoais
Como evitar definitivamente o
Vazamentos de informações
• Os cabeçalhos de resposta HTTP vazam informações de versão, permitindo ao
invasor procurar por vulnerabilidades específicas.
• As páginas de erro pode exibir exatamente como o erro aconteceu, dando ao
atacante pistas de como a vulnerabilidade poderia ser explorada.
• Endereços IP internos e caminhos de servidores ajudam o atacante a definir
novas metas depois que um sistema tenha sido comprometido ou se o
atacante usa o browser de alguém para realizar ataques de dentro.
• Comentários nas páginas HTML mostrando os nomes e emails ajudam a
realizar o ataque de engenharia social.
• Arquivos de gerenciamento de versão podem vazar informações do código
fonte da aplicação.
Manejo e Registro de erros
• Falhar de forma segura!
• Guarde todas as informações necessárias para detectar um ataque. (Logs)
• Tratamento de Erros
• Registro de Erros ou Logs
Recusa de Serviço (Distribuído) - dDoS
Hacker
Vitima
5 dicas para mitigar o dDos
•Mitigar:
- Limitar a quantidade de recursos que podem ser alocados
- Utilizar ferramentas que auxiliam contra o DoS ou DDoS
- Aplicar patches de segurança
- Limitar o tamanho da banda
- Construir um plano de contingência
Revisão
Configuração
Endurecimento
Vazamento de informações
Registro e Tratamento de Erros
Negação de Serviço, DOS ou DDoS
Exercício
Qual a diferença entre Autorização e Autenticação?
A. Autorização é o processo de verificar a identidade de alguém e Autenticação é
o processo de verificar se alguém tem permissão para realizar uma operação.
B. Autenticação é o processo de verificar a identidade de alguém e Autorização é
o processo de verificar se alguém tem permissão para realizar uma operação.
C. Autenticação e Autorização são processos para verificar a identidade de
alguém.
D. Autenticação e Autorização são processos para verificar se alguém tem
permissão para realizar uma operação.
Exercício
Qual das alternativas lista um meio de endurecimento, visando reduzir a
superfície de ataque de um software ?
A. Evitar aplicar patches ou pacotes de correção;
B. No caso de erro, exibir registro com todos os IPs utilizados, inclusive dos
servidores de produção internos;
C. Alterar senhas padrão;
D. Manter acesso as funcionalidades perigosas ou desnecessárias.

Mais conteúdo relacionado

Mais procurados

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 27002Cleber Fonseca
 
SQL injection prevention techniques
SQL injection prevention techniquesSQL injection prevention techniques
SQL injection prevention techniquesSongchaiDuangpan
 
Introduction to Web Application Penetration Testing
Introduction to Web Application Penetration TestingIntroduction to Web Application Penetration Testing
Introduction to Web Application Penetration TestingAnurag Srivastava
 
Siber güvenlik ve hacking
Siber güvenlik ve hackingSiber güvenlik ve hacking
Siber güvenlik ve hackingAlper Başaran
 
Sql injection
Sql injectionSql injection
Sql injectionZidh
 
Some Tatbikatları ve SIEM Testleri İçin Siber Saldırıları Nasıl Optimize Ederiz?
Some Tatbikatları ve SIEM Testleri İçin Siber Saldırıları Nasıl Optimize Ederiz?Some Tatbikatları ve SIEM Testleri İçin Siber Saldırıları Nasıl Optimize Ederiz?
Some Tatbikatları ve SIEM Testleri İçin Siber Saldırıları Nasıl Optimize Ederiz?BGA Cyber Security
 
Windows İşletim Sistemi Yetki Yükseltme Çalışmaları
Windows İşletim Sistemi Yetki Yükseltme ÇalışmalarıWindows İşletim Sistemi Yetki Yükseltme Çalışmaları
Windows İşletim Sistemi Yetki Yükseltme ÇalışmalarıBGA Cyber Security
 
Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64
Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64
Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64Santa Edith De La Cruz Gonzalez
 
SQL Injections - A Powerpoint Presentation
SQL Injections - A Powerpoint PresentationSQL Injections - A Powerpoint Presentation
SQL Injections - A Powerpoint PresentationRapid Purple
 
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
 
Advanced SQL Injection
Advanced SQL InjectionAdvanced SQL Injection
Advanced SQL Injectionamiable_indian
 
Başarılı Bir Siber Saldırının Perde Arkası ve Vaka Analizi
Başarılı Bir Siber Saldırının Perde Arkası ve Vaka AnaliziBaşarılı Bir Siber Saldırının Perde Arkası ve Vaka Analizi
Başarılı Bir Siber Saldırının Perde Arkası ve Vaka AnaliziBGA Cyber Security
 
A Brief Introduction in SQL Injection
A Brief Introduction in SQL InjectionA Brief Introduction in SQL Injection
A Brief Introduction in SQL InjectionSina Manavi
 
Faq10 netis wf2409 e無線橋接模式 – repeater
Faq10 netis wf2409 e無線橋接模式 – repeaterFaq10 netis wf2409 e無線橋接模式 – repeater
Faq10 netis wf2409 e無線橋接模式 – repeater臺灣塔米歐
 

Mais procurados (20)

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
 
TDD com Python
TDD com PythonTDD com Python
TDD com Python
 
SQL injection prevention techniques
SQL injection prevention techniquesSQL injection prevention techniques
SQL injection prevention techniques
 
Introduction to Web Application Penetration Testing
Introduction to Web Application Penetration TestingIntroduction to Web Application Penetration Testing
Introduction to Web Application Penetration Testing
 
Siber güvenlik ve hacking
Siber güvenlik ve hackingSiber güvenlik ve hacking
Siber güvenlik ve hacking
 
Sql injection
Sql injectionSql injection
Sql injection
 
Some Tatbikatları ve SIEM Testleri İçin Siber Saldırıları Nasıl Optimize Ederiz?
Some Tatbikatları ve SIEM Testleri İçin Siber Saldırıları Nasıl Optimize Ederiz?Some Tatbikatları ve SIEM Testleri İçin Siber Saldırıları Nasıl Optimize Ederiz?
Some Tatbikatları ve SIEM Testleri İçin Siber Saldırıları Nasıl Optimize Ederiz?
 
Windows İşletim Sistemi Yetki Yükseltme Çalışmaları
Windows İşletim Sistemi Yetki Yükseltme ÇalışmalarıWindows İşletim Sistemi Yetki Yükseltme Çalışmaları
Windows İşletim Sistemi Yetki Yükseltme Çalışmaları
 
Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64
Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64
Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64
 
5 Important Secure Coding Practices
5 Important Secure Coding Practices5 Important Secure Coding Practices
5 Important Secure Coding Practices
 
Oscp - Journey
Oscp - JourneyOscp - Journey
Oscp - Journey
 
SQL Injections - A Powerpoint Presentation
SQL Injections - A Powerpoint PresentationSQL Injections - A Powerpoint Presentation
SQL Injections - A Powerpoint Presentation
 
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ç...
 
Entendendo o Ciclo de Desenvolvimento Seguro
Entendendo o Ciclo de Desenvolvimento SeguroEntendendo o Ciclo de Desenvolvimento Seguro
Entendendo o Ciclo de Desenvolvimento Seguro
 
Advanced SQL Injection
Advanced SQL InjectionAdvanced SQL Injection
Advanced SQL Injection
 
Başarılı Bir Siber Saldırının Perde Arkası ve Vaka Analizi
Başarılı Bir Siber Saldırının Perde Arkası ve Vaka AnaliziBaşarılı Bir Siber Saldırının Perde Arkası ve Vaka Analizi
Başarılı Bir Siber Saldırının Perde Arkası ve Vaka Analizi
 
A Brief Introduction in SQL Injection
A Brief Introduction in SQL InjectionA Brief Introduction in SQL Injection
A Brief Introduction in SQL Injection
 
Faq10 netis wf2409 e無線橋接模式 – repeater
Faq10 netis wf2409 e無線橋接模式 – repeaterFaq10 netis wf2409 e無線橋接模式 – repeater
Faq10 netis wf2409 e無線橋接模式 – repeater
 
SQL injection
SQL injectionSQL injection
SQL injection
 
SQL Injection
SQL Injection SQL Injection
SQL Injection
 

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

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 SoftwareAlcyon Ferreira de Souza Junior, MSc
 
DevSecOps - Workshop do Bem
DevSecOps - Workshop do BemDevSecOps - Workshop do Bem
DevSecOps - Workshop do BemBruno Dantas
 
[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 planejarGUTS-RS
 
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!Welington Monteiro
 
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çasLeandro Bennaton
 
Testes de segurança desafios e oportunidades
Testes de segurança desafios e oportunidadesTestes de segurança desafios e oportunidades
Testes de segurança desafios e oportunidadesQualister
 
Desafios Futuros e Oportunidades
Desafios Futuros e OportunidadesDesafios Futuros e Oportunidades
Desafios Futuros e OportunidadesMarcio Cunha
 
Introdução Segurança e Auditoria.pptx
Introdução Segurança e Auditoria.pptxIntrodução Segurança e Auditoria.pptx
Introdução Segurança e Auditoria.pptxJadna Almeida
 
Reduzindo riscos através do controle de usuários privilegiados, auditoria e v...
Reduzindo riscos através do controle de usuários privilegiados, auditoria e v...Reduzindo riscos através do controle de usuários privilegiados, auditoria e v...
Reduzindo riscos através do controle de usuários privilegiados, auditoria e v...Bruno Caseiro
 
SEGURANÇA DE REDES.ppt
SEGURANÇA DE REDES.pptSEGURANÇA DE REDES.ppt
SEGURANÇA DE REDES.pptAgostinho9
 
Sistemas Distribuídos - Aspectos de Segurança em Sistemas Distribuídos e JAAS
Sistemas Distribuídos - Aspectos de Segurança em Sistemas Distribuídos e JAASSistemas Distribuídos - Aspectos de Segurança em Sistemas Distribuídos e JAAS
Sistemas Distribuídos - Aspectos de Segurança em Sistemas Distribuídos e JAASAdriano Teixeira de Souza
 
Webinar Segurança de DevOps
Webinar Segurança de DevOpsWebinar Segurança de DevOps
Webinar Segurança de DevOpsTenchi Security
 
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...tdc-globalcode
 

Semelhante a Aula 04 - 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
 
DevSecOps - Workshop do Bem
DevSecOps - Workshop do BemDevSecOps - Workshop do Bem
DevSecOps - Workshop do Bem
 
Segurança de código
Segurança de códigoSegurança de código
Segurança de código
 
Defensive Programming - by Alcyon Junior
Defensive Programming - by Alcyon JuniorDefensive Programming - by Alcyon Junior
Defensive Programming - by Alcyon Junior
 
[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
 
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!
 
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
 
Testes de segurança desafios e oportunidades
Testes de segurança desafios e oportunidadesTestes de segurança desafios e oportunidades
Testes de segurança desafios e oportunidades
 
Desafios Futuros e Oportunidades
Desafios Futuros e OportunidadesDesafios Futuros e Oportunidades
Desafios Futuros e Oportunidades
 
Introdução Segurança e Auditoria.pptx
Introdução Segurança e Auditoria.pptxIntrodução Segurança e Auditoria.pptx
Introdução Segurança e Auditoria.pptx
 
Reduzindo riscos através do controle de usuários privilegiados, auditoria e v...
Reduzindo riscos através do controle de usuários privilegiados, auditoria e v...Reduzindo riscos através do controle de usuários privilegiados, auditoria e v...
Reduzindo riscos através do controle de usuários privilegiados, auditoria e v...
 
SEGURANÇA DE REDES.ppt
SEGURANÇA DE REDES.pptSEGURANÇA DE REDES.ppt
SEGURANÇA DE REDES.ppt
 
Sistemas Distribuídos - Aspectos de Segurança em Sistemas Distribuídos e JAAS
Sistemas Distribuídos - Aspectos de Segurança em Sistemas Distribuídos e JAASSistemas Distribuídos - Aspectos de Segurança em Sistemas Distribuídos e JAAS
Sistemas Distribuídos - Aspectos de Segurança em Sistemas Distribuídos e JAAS
 
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
 
CNASI 2014 - Servicos Confiaveis
CNASI 2014 - Servicos ConfiaveisCNASI 2014 - Servicos Confiaveis
CNASI 2014 - Servicos Confiaveis
 
Webinar Segurança de DevOps
Webinar Segurança de DevOpsWebinar Segurança de DevOps
Webinar Segurança de DevOps
 
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...
 
Desenvolvimento seguro - WorkSec 2019
Desenvolvimento seguro - WorkSec 2019Desenvolvimento seguro - WorkSec 2019
Desenvolvimento seguro - WorkSec 2019
 
Seg redes 1
Seg redes 1Seg redes 1
Seg redes 1
 
Java security
Java securityJava security
Java security
 

Mais de Alcyon Ferreira de Souza Junior, MSc

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 Alcyon Ferreira de Souza Junior, MSc
 
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 cometemAlcyon Ferreira de Souza Junior, MSc
 
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...Alcyon Ferreira de Souza Junior, MSc
 
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 2018Alcyon Ferreira de Souza Junior, MSc
 
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...Alcyon Ferreira de Souza Junior, MSc
 
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...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
 
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
 
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
 
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 04 - 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 Reconhecer a diferença entre autorização horizontal e vertical. Reconhecer a diferença entre referências diretas e indiretas. Reconhecer envenenamento de sessão e condições de corrida.
  • 9. Autorização de horizontal e Vertical Editor Jornalista A Jornalista B Criar X √ √ Leitura √ √ √ Modificar √ √ √ Publicar √ X X
  • 10. Problemas de Autorização Escalonamento de Privilégios; Acesso a Objetos Não Autorizados; Como mitigar estes problemas?
  • 11. Condições de corrida (ataque TOCTOU) if (!access("/tmp/mydata.txt",W_OK)) { // TOC: verifica se tem permissões de escrita // ... // JANELA DE ATAQUE f = fopen("/tmp/mydata.txt","w+"); // TOU: abre o arquivo para edição write_data_to_file(f); } else { fprintf(stderr,“Não é permitido abrir o arquivo!n"); }
  • 12. Revisão Autorização Horizontal e Vertical Escalada de Privilégios Problemas de Autorização e Como Mitigar estes Problemas Condições de Corrida Envenenamento de Sessão
  • 13. Exercício Qual a diferença entre Autorização e Autenticação? A. Autorização é o processo de verificar a identidade de alguém e Autenticação é o processo de verificar se alguém tem permissão para realizar uma operação. B. Autenticação é o processo de verificar a identidade de alguém e Autorização é o processo de verificar se alguém tem permissão para realizar uma operação. C. Autenticação e Autorização são processos para verificar a identidade de alguém. D. Autenticação e Autorização são processos para verificar se alguém tem permissão para realizar uma operação.
  • 14. MÓDULO CONFIGURAÇÃO, MANEJO E REGISTRO DE ERROS
  • 15. Objetivos Justificar a necessidade de endurecimento. Reconhecer métodos de endurecimento. Reconhecer diferentes vazamentos de informação. Explicar a importância do registro para a segurança. Explicar o princípio de 'Falhar com Segurança'. Reconhecer ataques por recusa de serviço e mitigações.
  • 16. Componentes de Terceiros, Configuração e Endurecimento Aplicando os patches ou correções de segurança mais recentes Restringir o acesso a funcionalidades perigosas Configurando privilégios de acesso Desativar ou remover recursos de depuração (debug) Removendo arquivos desnecessários Alterando senhas padrão
  • 17. Vazamentos de informações • Inocente? • Não ajude o hacker. • Exemplos de vazamento: • Comentários HTML • Informações sobre a versão • Rastreamento de Pilha, IP e servidores em Produção • Endereços de e-mail pessoais
  • 18. Como evitar definitivamente o Vazamentos de informações • Os cabeçalhos de resposta HTTP vazam informações de versão, permitindo ao invasor procurar por vulnerabilidades específicas. • As páginas de erro pode exibir exatamente como o erro aconteceu, dando ao atacante pistas de como a vulnerabilidade poderia ser explorada. • Endereços IP internos e caminhos de servidores ajudam o atacante a definir novas metas depois que um sistema tenha sido comprometido ou se o atacante usa o browser de alguém para realizar ataques de dentro. • Comentários nas páginas HTML mostrando os nomes e emails ajudam a realizar o ataque de engenharia social. • Arquivos de gerenciamento de versão podem vazar informações do código fonte da aplicação.
  • 19. Manejo e Registro de erros • Falhar de forma segura! • Guarde todas as informações necessárias para detectar um ataque. (Logs) • Tratamento de Erros • Registro de Erros ou Logs
  • 20. Recusa de Serviço (Distribuído) - dDoS Hacker Vitima
  • 21. 5 dicas para mitigar o dDos •Mitigar: - Limitar a quantidade de recursos que podem ser alocados - Utilizar ferramentas que auxiliam contra o DoS ou DDoS - Aplicar patches de segurança - Limitar o tamanho da banda - Construir um plano de contingência
  • 22. Revisão Configuração Endurecimento Vazamento de informações Registro e Tratamento de Erros Negação de Serviço, DOS ou DDoS
  • 23. Exercício Qual a diferença entre Autorização e Autenticação? A. Autorização é o processo de verificar a identidade de alguém e Autenticação é o processo de verificar se alguém tem permissão para realizar uma operação. B. Autenticação é o processo de verificar a identidade de alguém e Autorização é o processo de verificar se alguém tem permissão para realizar uma operação. C. Autenticação e Autorização são processos para verificar a identidade de alguém. D. Autenticação e Autorização são processos para verificar se alguém tem permissão para realizar uma operação.
  • 24. Exercício Qual das alternativas lista um meio de endurecimento, visando reduzir a superfície de ataque de um software ? A. Evitar aplicar patches ou pacotes de correção; B. No caso de erro, exibir registro com todos os IPs utilizados, inclusive dos servidores de produção internos; C. Alterar senhas padrão; D. Manter acesso as funcionalidades perigosas ou desnecessárias.

Notas do Editor

  1. Page 1
  2. Page 2
  3. Objetivos Reconhecer a diferença entre autorização horizontal e vertical. Reconhecer a diferença entre referências diretas e indiretas. Reconhecer envenenamento de sessão e condições de corrida.
  4. Especificação 4.1.1 Reconhecer a diferença entre autorização horizontal e vertical. 4.1.2 Reconhecer a diferença entre referências diretas e indiretas. Explicar a autorização horizontal e vertical: Autorização Horizontal: Diagrama Azul: Jornalista A trabalha num artigo que pertence ao Jornalista B. Na autorização horizontal, é verificado se uma certa operação pode ser realizada por um certo objeto. Por exemplo: o editor do jornal só tem a permissão de ler, modificar e publicar artigos dentro de uma certa seção do jornal. (Acesso não autorizado ao objeto). Fique atento: o Jornalista A não pode pegar a identidade do Jornalista B (problema de autorização), porque pode alterar um artigo que não é o seu. Autorização Vertical: Cenário Amarelo: o Jornalista A publica seu próprio artigo, o que não poderia ser permitido. Na autorização vertical, é verificado se alguém é permitido a executar uma certa ação, independentemente dos objetos que esta ação afeta. Por exemplo: ao editor do jornal é permitido ler, modificar e publicar artigos, enquanto que ao jornalista só é permitido ler e modificar artigos, mas não publicá-los. (Escalação de Privilégios). Veja a seção 4.1 do workbook. Autenticação é o processo de verificar a identidade de alguém e Autorização é o process de verificar se alguém tem permissão para realizar uma operação. Na autorização vertical verificamos se alguém tem permissão de executar uma determinada ação. Enquanto que na autorização horizontal é verificado se uma operação pode ser realizada por um determinado objeto.
  5. Escalonamento de Privilégio Permite a um usuário privilégios de acesso concedidos a outro usuário, potencialmente criando uma vulnerabilidade em que um hacker pode reconfigurar um sistema e executar operações ilegais. Acesso a Objetos Não Autorizados Quando ocorre a falta de implementação de problemas de autorização Como Mitigar estes problemas? Verificar as autorizações Garantir que o código seja executado com o menor privilégio possível Cuidar das referências diretas e indiretas
  6. Especificação 4.2.1 Reconhece o envenenamento de sessão e condições de corrida. Discute o ataque TOC TOU, ver a seção 4.1.6 do Workbook. Um recurso é acessado sob certas condições de permissões. Criar e configurar as permissões adequadas antes de gravar dados sensíveis. Tempo de verificação – TOC Tempo de Uso – DOU A condição de corrida é uma situação indesejável quando um dispositivo ou sistema tenta executar duas operações ao mesmo tempo; Operação atômica é quando se combina o TOC e o TOU em uma única operação atômica. Falar sobre o Ataque de Envenenamento de Sessão - Ataque que aproveita um problema no fluxo de trabalho em um aplicativo web quando executado fora da ordem.
  7. Revisar conceitos e termos.
  8. Resposta - B
  9. Objetivos Justificar a necessidade de endurecimento. Reconhecer métodos de endurecimento. Reconhecer diferentes vazamentos de informação. Explicar a importância do registro para a segurança. Explicar o princípio de 'Falhar com Segurança'. Reconhecer ataques por recusa de serviço e mitigações.
  10. Especificações 5.1.1 Justificar a necessidade de endurecimento. 5.1.2 Reconhecer os métodos de endurecimento. Ver a sessão 5.1 do Workbook. Boas práticas recomendam a reutilização de software, que acabam utilizando aplicativo ou software de terceiros e precisamos ajustá-los para um ambiente específico. Este processo é chamado de Endurecimento, visa reduzir a sua vulnerabilidade, reduzir as áreas de ataque, retirando funcionalidade ou código desnecessário, usernames ou logins desnecessários. Endurecimento visa reduzir a superfície de ataque.
  11. Especificação 5.2.1 Reconhecer as diferenças de vazamento de informações. Veja alguns exemplos: Os cabeçalhos de resposta HTTP vazam informações de versão, permitindo ao invasor procurar por vulnerabilidades específicas. As páginas de erro pode exibir exatamente como o erro aconteceu, dando ao atacante pistas de como a vulnerabilidade poderia ser explorada. Endereços IP internos e caminhos de servidores ajudam o atacante a definir novas metas depois que um sistema tenha sido comprometido ou se o atacante usa o browser de alguém para realizar ataques de dentro. Comentários nas páginas HTML mostrando os nomes e emails ajudam a realizar o ataque de engenharia social. (Neste tipo de ataque, o atacante explora as fraquezas no ser humano para convencer pessoas a realizar ações específicas que ajudam o atacante. Arquivos de gerenciamento de versão podem vazar informações do código fonte da aplicação. O vazamento de informações ajudam o atacante a atacar de forma mais efetiva. Ver a sessão 5.2 do Workbook Frequentemente o vazamento de informação é considerado de baixo risco, porém é preciso ter cuidado.
  12. Especificação 5.2.1 Reconhecer as diferenças de vazamento de informações. Veja alguns exemplos: Os cabeçalhos de resposta HTTP vazam informações de versão, permitindo ao invasor procurar por vulnerabilidades específicas. As páginas de erro pode exibir exatamente como o erro aconteceu, dando ao atacante pistas de como a vulnerabilidade poderia ser explorada. Endereços IP internos e caminhos de servidores ajudam o atacante a definir novas metas depois que um sistema tenha sido comprometido ou se o atacante usa o browser de alguém para realizar ataques de dentro. Comentários nas páginas HTML mostrando os nomes e emails ajudam a realizar o ataque de engenharia social. (Neste tipo de ataque, o atacante explora as fraquezas no ser humano para convencer pessoas a realizar ações específicas que ajudam o atacante. Arquivos de gerenciamento de versão podem vazar informações do código fonte da aplicação. O vazamento de informações ajudam o atacante a atacar de forma mais efetiva. Ver a sessão 5.2 do Workbook Frequentemente o vazamento de informação é considerado de baixo risco, porém é preciso ter cuidado.
  13. Especificações 5.3.1 Explicar a importância de guardar os logs por segurança. 5.3.2 Explicar o princípio do “Falhar de Forma Segura”. Explicar o princípio de falhar de forma segura: não dar aos usuários mais informações do que eles precisam. Não ajude os hackers. Veja a seção 5.3 do Workbook. Descreva como e porquê guardar os logs dos problemas: tenha certeza que você possa identificar novos ataques. Veja a seção 5.4 do Workbook - Uso do try – catch – finally para tratamento de erros - Checar se os recursos usados são suficientes, como disco e memória em uso Registros ou Logs - Ajudam a diagnosticar problemas e detectar ataques em um sistema, desde que a informação adequada esteja registrada. - Informações que devem ser registradas são: registro das tentativas e falhas de login, registro de logins bem sucedidos. - Não registrar as senhas dos usuários - Deve conter data e hora de cada registro - Os registros devem ser armazenados em discos do tipo escreve uma vez ou podem ser automatizados por alguma ferramenta;
  14. Especificação 5.4.1 Reconhecer o Ataque de Recusa de Serviço e suas mitigações. Explicar como o ataque de DDoS funciona: o atacante assegura que vários atacantes façam a requisição de um simples servidor web, deixando o servidor indisponível. Por exemplo, criando criando computadores escravos para aumentar seu número de requisições. Veja a seção 5.5 do Workbook. Recusa ou Negação de Serviço é quando se consome muitos recursos do sistema até que o sistema não consiga continuar disponível ou oferecendo seus serviços. Mitigar: Limitar a quantidade de recursos que podem ser alocados Utilizar ferramentas que auxiliam contra o DoS ou DDoS Aplicar patches de segurança Limitar o tamanho da banda Construir um plano de contingência
  15. Revisar conceitos e termos.
  16. Revisar conceitos e termos.
  17. Resposta - B
  18. Resposta - C