SlideShare uma empresa Scribd logo
Explorando 5 falhas
graves de segurança que
os programadores
sempre cometem
Alcyon Junior
Aviso Legal
Meu empregador não tem qualquer
responsabilidade sobre o que será
tratado aqui. Este documento
contém informações confidenciais
e/ou privilegiadas.
AVISO DE CONFIDENCIALIDADE
Se você não for o destinatário ou a
pessoa autorizada a receber este
documento, não deve usar, copiar ou
divulgar as informações nele
contidas ou tomar qualquer ação
baseada nessas informações.
Alcyon Junior
Head of Cyber Security na
POUPEX
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
http://t.me/SecCastOficial http://t.me/devsecica
@seccast @devsecica
DESAFIOS DA SEGURANÇA
DA INFORMAÇÃO
AGENDA
• CONCEITOS
• OS 5 ERROS
1. CSRF
2. CLICKJACKING
3. SQLInjection
4. Crypto
5. APIs
• COMO PROTEJER MEU CÓDIGO?
• CONCLUSÕES
CONCEITOS
DESAFIOS DA SEGURANÇA
DA INFORMAÇÃO
CONCEITOS
S Spoofing Forjamento de Identidade
Fingir ser alguém ou algo
que você não é
Autenticação
A2-Broken Authentication
and Session Management;
A3-Cross-Site Scripting (XSS)
T Tampering Adulteração de Dados
Modificar dados
armazenados ou dados
em trânsito
Integridade
A1-Injection;
A3-Cross-Site Scripting (XSS);
A4- Insecure Direct Object
References;
A6- Sensitive Data Exposure
R Repudiation Rejeição
Negar que fez ou não fez
algo
Não Repúdio
AA2-Broken Authentication and
Session Management;
A10-Unvalidated Redirects and
Forwards
I
Information
Discosure
Divulgação de
Informações
Ver informações que você
não está permitido a ver
Confidencialidade
A1-Injection;
A3- Cross-Site Scripting (XSS);
A4- Insecure Direct Object
References;
A6- Sensitive Data Exposure
D Denial of Service Recusa de Serviço
Negar um serviço, deixar o
sistema indisponível.
Disponibilidade
A5-Security Misconfiguration;
A9- Using Components with Known
Vulnerabilities
E
Elevation of
Privilege
Elevação de Privilégio Fazer algo sem permissão Autorização
A2-Broken Authentication and
Session Management;
A7- Missing Function Level Access
Control;
A8- Cross-Site Request Forgery (CSRF)
OS 5 ERROS
DESAFIOS DA SEGURANÇA
DA INFORMAÇÃO
OS 5 ERROS - CSRF
<form action="transfer.do" method="GET">
<input type="text" name="acct" value="BETO">
<input type="text" name="amount" value="100">
</form>
DESAFIOS DA SEGURANÇA
DA INFORMAÇÃO
OS 5 ERROS - CSRF
GET /transfer.do?acct=BETO&amount=100 HTTP/1.1
Host: bank.com
(...)
GET /transfer.do?acct=BETO&amount=50 HTTP/1.1
Host: bank.com
(...)
DESAFIOS DA SEGURANÇA
DA INFORMAÇÃO
OS 5 ERROS - CSRF
GET /transfer.do?acct=HACKER&amount=500 HTTP/1.1
Host: bank.com
(...)
Para explorar a vulnerabilidade, o atacante prepara um link específico para tirar vantagem desta transação:
http://bank.co/transfer.do?acct=HACKER&amount=500
DESAFIOS DA SEGURANÇA
DA INFORMAÇÃO
OS 5 ERROS - CLICKJACKING
DEMO
DESAFIOS DA SEGURANÇA
DA INFORMAÇÃO
OS 5 ERROS - SQLi
SELECT * FROM Users WHERE Username='$username' AND Password='$password'
1' or '1' = '1
1' or '1' = ‘1
Resultado da Query:
SELECT * FROM Users WHERE Username='1' OR '1' = '1' AND Password='1' OR
'1' = '1'
DESAFIOS DA SEGURANÇA
DA INFORMAÇÃO
OS 5 ERROS - SQLi
http://192.168.15.51/cgi-
bin/badstore.cgi?searchquery=1%27%3D%270%27+UNION+SELECT+1%2C+1%2C+1%2C+1
+from+userdb+%23+&action=search&x=0&y=0
1'='0' UNION SELECT 1, 1, 1, 1 from userdb #
DESAFIOS DA SEGURANÇA
DA INFORMAÇÃO
OS 5 ERROS - SQLi
DEMO
DESAFIOS DA SEGURANÇA
DA INFORMAÇÃO
• Um bom algoritmo de criptografia não deve
depender do sigilo do próprio algoritmo.
• A única parte que precisa ser secreta é a chave.
• SALT + PEPPER
OS 5 ERROS - CRYPTO
DESAFIOS DA SEGURANÇA
DA INFORMAÇÃO
• Identifique APIs como possíveis pontos de
entrada;
• Evite APIs banidas e preteridas que são
suscetíveis a brechas de segurança;
• Use a autenticação adequada e faça auditoria de
todo o uso daAPI
OS 5 ERROS - API
COMO PROTEGER MEU CÓDIGO?
DESAFIOS DA SEGURANÇA
DA INFORMAÇÃO
• A codificação defensiva é uma forma de codificação proativa e segura
pretendida para garantir a função contínua do software sob imprevisto
circunstâncias. Técnicas de programação defensiva são usadas
especialmente quando um software pode ser mal utilizado.
• Os benefícios da codificação de defesa geralmente melhoram:
• Qualidade geral - reduzindo o número de erros e falhas associado ao
software
• Tornar o código fonte compreensível - o código fonte deve ser legível
e compreensível por isso é aprovado em um revisão de código
• Fazer com que o software se comporte de maneira previsível, apesar
entradas inesperadas ou ações do usuário.
COMO PROTEGER MEU CÓDIGO?
DESAFIOS DA SEGURANÇA
DA INFORMAÇÃO
• Sanitização
• Converta algo que é considerado perigoso em seu
forma segura. Ambas as entradas e saídas podem ser
higienizadas.
•Tipos de saneamento:
• Decapagem: Removendo caracteres nocivos do
usuário entrada fornecida
• Substituição: Substituir a entrada fornecida pelo
usuário por uma alternativa mais segura
COMO PROTEGER MEU CÓDIGO?
DISPOSIÇÕES FINAIS
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.”
SunTzu (A arte da Guerra)

Mais conteúdo relacionado

Mais procurados

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
Alcyon Ferreira de Souza Junior, MSc
 
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEBDica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
Alcyon Ferreira de Souza Junior, MSc
 
Segurança em aplicações web: pequenas ideias, grandes resultados
Segurança em aplicações web: pequenas ideias, grandes resultadosSegurança em aplicações web: pequenas ideias, grandes resultados
Segurança em aplicações web: pequenas ideias, grandes resultados
Alex Camargo
 
Teste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testingTeste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testing
Cristiano Caetano
 
Segurança em Aplicações Web
Segurança em Aplicações WebSegurança em Aplicações Web
Segurança em Aplicações Web
Cassio Ramos
 
Segurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASPSegurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASP
Fabiano Pereira
 
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
 
Webgoat Project - Apresentação
Webgoat Project - ApresentaçãoWebgoat Project - Apresentação
Webgoat Project - Apresentação
Décio Castaldi, MBA/FIAP
 
Testes de segurança em aplicações web
Testes de segurança em aplicações webTestes de segurança em aplicações web
Testes de segurança em aplicações web
Synergia - Engenharia de Software e Sistemas
 
Webgoat como ferramenta de aprendizado
Webgoat como ferramenta de aprendizadoWebgoat como ferramenta de aprendizado
Webgoat como ferramenta de aprendizado
Luiz Vieira .´. CISSP, OSCE, GXPN, CEH
 
Antar ferreira
Antar ferreiraAntar ferreira
Antar ferreira
Antar Ferreira
 
Segurança na web
Segurança na webSegurança na web
Segurança na web
Kaito Queiroz
 
Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )
Pablo Ribeiro
 
Ameacas e Vulnerabilidades em Apps Web-2013
Ameacas e Vulnerabilidades em Apps Web-2013Ameacas e Vulnerabilidades em Apps Web-2013
Ameacas e Vulnerabilidades em Apps Web-2013
Kleitor Franklint Correa Araujo
 
Clavis e Cyberark promovem almoço para sobre soluções para a área de Seguranç...
Clavis e Cyberark promovem almoço para sobre soluções para a área de Seguranç...Clavis e Cyberark promovem almoço para sobre soluções para a área de Seguranç...
Clavis e Cyberark promovem almoço para sobre soluções para a área de Seguranç...
Clavis Segurança da Informação
 
THE WebSec
THE WebSecTHE WebSec
THE WebSec
Kelvin Campelo
 
Experiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
Experiência e Cases com Auditorias Teste de Invasão em Redes e SistemasExperiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
Experiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
Clavis Segurança da Informação
 
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
Alcyon Ferreira de Souza Junior, MSc
 
Testes de Segurança de Software (tech-ed 2008)
Testes de Segurança de Software (tech-ed 2008)Testes de Segurança de Software (tech-ed 2008)
Testes de Segurança de Software (tech-ed 2008)
Conviso Application Security
 
7 Segredos sobre o PenTest e Software Livre que Todos deveriam Saber
 7 Segredos sobre o PenTest e Software Livre que Todos deveriam Saber 7 Segredos sobre o PenTest e Software Livre que Todos deveriam Saber
7 Segredos sobre o PenTest e Software Livre que Todos deveriam Saber
Alcyon Ferreira de Souza Junior, MSc
 

Mais procurados (20)

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 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEBDica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
 
Segurança em aplicações web: pequenas ideias, grandes resultados
Segurança em aplicações web: pequenas ideias, grandes resultadosSegurança em aplicações web: pequenas ideias, grandes resultados
Segurança em aplicações web: pequenas ideias, grandes resultados
 
Teste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testingTeste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testing
 
Segurança em Aplicações Web
Segurança em Aplicações WebSegurança em Aplicações Web
Segurança em Aplicações Web
 
Segurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASPSegurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASP
 
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ç...
 
Webgoat Project - Apresentação
Webgoat Project - ApresentaçãoWebgoat Project - Apresentação
Webgoat Project - Apresentação
 
Testes de segurança em aplicações web
Testes de segurança em aplicações webTestes de segurança em aplicações web
Testes de segurança em aplicações web
 
Webgoat como ferramenta de aprendizado
Webgoat como ferramenta de aprendizadoWebgoat como ferramenta de aprendizado
Webgoat como ferramenta de aprendizado
 
Antar ferreira
Antar ferreiraAntar ferreira
Antar ferreira
 
Segurança na web
Segurança na webSegurança na web
Segurança na web
 
Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )
 
Ameacas e Vulnerabilidades em Apps Web-2013
Ameacas e Vulnerabilidades em Apps Web-2013Ameacas e Vulnerabilidades em Apps Web-2013
Ameacas e Vulnerabilidades em Apps Web-2013
 
Clavis e Cyberark promovem almoço para sobre soluções para a área de Seguranç...
Clavis e Cyberark promovem almoço para sobre soluções para a área de Seguranç...Clavis e Cyberark promovem almoço para sobre soluções para a área de Seguranç...
Clavis e Cyberark promovem almoço para sobre soluções para a área de Seguranç...
 
THE WebSec
THE WebSecTHE WebSec
THE WebSec
 
Experiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
Experiência e Cases com Auditorias Teste de Invasão em Redes e SistemasExperiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
Experiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
 
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
 
Testes de Segurança de Software (tech-ed 2008)
Testes de Segurança de Software (tech-ed 2008)Testes de Segurança de Software (tech-ed 2008)
Testes de Segurança de Software (tech-ed 2008)
 
7 Segredos sobre o PenTest e Software Livre que Todos deveriam Saber
 7 Segredos sobre o PenTest e Software Livre que Todos deveriam Saber 7 Segredos sobre o PenTest e Software Livre que Todos deveriam Saber
7 Segredos sobre o PenTest e Software Livre que Todos deveriam Saber
 

Semelhante a Explorando 5 falhas graves de segurança que todos programadores cometem

Segurança na web
Segurança na webSegurança na web
Segurança na web
Kaito Queiroz
 
Segurança de Aplicações WEB e OpenSource
Segurança de Aplicações WEB e OpenSourceSegurança de Aplicações WEB e OpenSource
Segurança de Aplicações WEB e OpenSource
Alexandre Jesus Marcolino
 
TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...
TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...
TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...
tdc-globalcode
 
Java security
Java securityJava security
Java security
armeniocardoso
 
Pentest com Kali Linux - LatinoWare 2015
Pentest com Kali Linux  - LatinoWare 2015Pentest com Kali Linux  - LatinoWare 2015
Pentest com Kali Linux - LatinoWare 2015
Alcyon Ferreira de Souza Junior, MSc
 
Os 10 erros mais comuns de segurança na operação de um ecommerce
Os 10 erros mais comuns de segurança na operação de um ecommerceOs 10 erros mais comuns de segurança na operação de um ecommerce
Os 10 erros mais comuns de segurança na operação de um ecommerce
E-Commerce Brasil
 
Segurança em Aplicativos Web
Segurança em Aplicativos WebSegurança em Aplicativos Web
Segurança em Aplicativos Web
Sergio Henrique
 
Webinar Segurança de DevOps
Webinar Segurança de DevOpsWebinar Segurança de DevOps
Webinar Segurança de DevOps
Tenchi Security
 
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
Magno Logan
 
Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...
Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...
Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...
LeandroTrindade19
 
Segurança de código
Segurança de códigoSegurança de código
Segurança de código
Wanderlei Silva do Carmo
 
Gerenciamento de Vulnerabilidades em Aplicações e Servidores Web
Gerenciamento de Vulnerabilidades em Aplicações e Servidores WebGerenciamento de Vulnerabilidades em Aplicações e Servidores Web
Gerenciamento de Vulnerabilidades em Aplicações e Servidores Web
Eduardo Lanna
 
Seguranca web Testday2012
Seguranca web Testday2012Seguranca web Testday2012
Seguranca web Testday2012
Marcio Cunha
 
Construindo aplicações seguras na era da agilidade
Construindo aplicações seguras na era da agilidadeConstruindo aplicações seguras na era da agilidade
Construindo aplicações seguras na era da agilidade
marlongaspar
 
PHP Desenvolvimento Seguro
PHP Desenvolvimento SeguroPHP Desenvolvimento Seguro
PHP Desenvolvimento Seguro
Flávio Lisboa
 
PHP Conference Brasil 2011 - Desenvolvendo Seguro (do rascunho ao deploy)
PHP Conference Brasil 2011 - Desenvolvendo Seguro (do rascunho ao deploy)PHP Conference Brasil 2011 - Desenvolvendo Seguro (do rascunho ao deploy)
PHP Conference Brasil 2011 - Desenvolvendo Seguro (do rascunho ao deploy)
Erick Belluci Tedeschi
 
Validando a Segurança de Software
Validando a Segurança de SoftwareValidando a Segurança de Software
Validando a Segurança de Software
Jeronimo Zucco
 
Segurança em PHP
Segurança em PHPSegurança em PHP
Segurança em PHP
Augusto Pascutti
 
Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?
Alex Hübner
 
ENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na WebENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na Web
Magno Logan
 

Semelhante a Explorando 5 falhas graves de segurança que todos programadores cometem (20)

Segurança na web
Segurança na webSegurança na web
Segurança na web
 
Segurança de Aplicações WEB e OpenSource
Segurança de Aplicações WEB e OpenSourceSegurança de Aplicações WEB e OpenSource
Segurança de Aplicações WEB e OpenSource
 
TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...
TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...
TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...
 
Java security
Java securityJava security
Java security
 
Pentest com Kali Linux - LatinoWare 2015
Pentest com Kali Linux  - LatinoWare 2015Pentest com Kali Linux  - LatinoWare 2015
Pentest com Kali Linux - LatinoWare 2015
 
Os 10 erros mais comuns de segurança na operação de um ecommerce
Os 10 erros mais comuns de segurança na operação de um ecommerceOs 10 erros mais comuns de segurança na operação de um ecommerce
Os 10 erros mais comuns de segurança na operação de um ecommerce
 
Segurança em Aplicativos Web
Segurança em Aplicativos WebSegurança em Aplicativos Web
Segurança em Aplicativos Web
 
Webinar Segurança de DevOps
Webinar Segurança de DevOpsWebinar Segurança de DevOps
Webinar Segurança de DevOps
 
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
 
Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...
Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...
Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...
 
Segurança de código
Segurança de códigoSegurança de código
Segurança de código
 
Gerenciamento de Vulnerabilidades em Aplicações e Servidores Web
Gerenciamento de Vulnerabilidades em Aplicações e Servidores WebGerenciamento de Vulnerabilidades em Aplicações e Servidores Web
Gerenciamento de Vulnerabilidades em Aplicações e Servidores Web
 
Seguranca web Testday2012
Seguranca web Testday2012Seguranca web Testday2012
Seguranca web Testday2012
 
Construindo aplicações seguras na era da agilidade
Construindo aplicações seguras na era da agilidadeConstruindo aplicações seguras na era da agilidade
Construindo aplicações seguras na era da agilidade
 
PHP Desenvolvimento Seguro
PHP Desenvolvimento SeguroPHP Desenvolvimento Seguro
PHP Desenvolvimento Seguro
 
PHP Conference Brasil 2011 - Desenvolvendo Seguro (do rascunho ao deploy)
PHP Conference Brasil 2011 - Desenvolvendo Seguro (do rascunho ao deploy)PHP Conference Brasil 2011 - Desenvolvendo Seguro (do rascunho ao deploy)
PHP Conference Brasil 2011 - Desenvolvendo Seguro (do rascunho ao deploy)
 
Validando a Segurança de Software
Validando a Segurança de SoftwareValidando a Segurança de Software
Validando a Segurança de Software
 
Segurança em PHP
Segurança em PHPSegurança em PHP
Segurança em PHP
 
Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?
 
ENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na WebENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na Web
 

Mais de Alcyon Ferreira de Souza Junior, MSc

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
Alcyon Ferreira de Souza Junior, MSc
 
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
Alcyon Ferreira de Souza Junior, MSc
 
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
Alcyon Ferreira de Souza Junior, MSc
 
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
Alcyon Ferreira de Souza Junior, MSc
 
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
Alcyon 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 2018
Alcyon Ferreira de Souza Junior, MSc
 
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
Alcyon Ferreira de Souza Junior, MSc
 
PenTest com Kali linux - VI Engitec
PenTest com Kali linux - VI EngitecPenTest com Kali linux - VI Engitec
PenTest com Kali linux - VI Engitec
Alcyon Ferreira de Souza Junior, MSc
 
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!
Alcyon Ferreira de Souza Junior, MSc
 
Red Teaming and Alternative Analysis
Red Teaming and Alternative AnalysisRed Teaming and Alternative Analysis
Red Teaming and Alternative Analysis
Alcyon Ferreira de Souza Junior, MSc
 
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
Alcyon Ferreira de Souza Junior, MSc
 
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
Alcyon Ferreira de Souza Junior, MSc
 
Palestra alcyon junior - LatinoWare 2016
Palestra alcyon junior - LatinoWare 2016Palestra alcyon junior - LatinoWare 2016
Palestra alcyon junior - LatinoWare 2016
Alcyon Ferreira de Souza Junior, MSc
 
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
Alcyon 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
 
Pentest com BackTrack - Campus Party Brasil 2013
Pentest com BackTrack - Campus Party Brasil 2013Pentest com BackTrack - Campus Party Brasil 2013
Pentest com BackTrack - Campus Party Brasil 2013
Alcyon Ferreira de Souza Junior, MSc
 
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!
Alcyon Ferreira de Souza Junior, MSc
 

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

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
 
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
 
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...
 
Pentest com BackTrack - Campus Party Brasil 2013
Pentest com BackTrack - Campus Party Brasil 2013Pentest com BackTrack - Campus Party Brasil 2013
Pentest com BackTrack - Campus Party Brasil 2013
 
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!
 

Explorando 5 falhas graves de segurança que todos programadores cometem

  • 1. Explorando 5 falhas graves de segurança que os programadores sempre cometem Alcyon Junior
  • 2. Aviso Legal Meu empregador não tem qualquer responsabilidade sobre o que será tratado aqui. Este documento contém informações confidenciais e/ou privilegiadas. AVISO DE CONFIDENCIALIDADE Se você não for o destinatário ou a pessoa autorizada a receber este documento, não deve usar, copiar ou divulgar as informações nele contidas ou tomar qualquer ação baseada nessas informações.
  • 3. Alcyon Junior Head of Cyber Security na POUPEX 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.
  • 7. DESAFIOS DA SEGURANÇA DA INFORMAÇÃO AGENDA • CONCEITOS • OS 5 ERROS 1. CSRF 2. CLICKJACKING 3. SQLInjection 4. Crypto 5. APIs • COMO PROTEJER MEU CÓDIGO? • CONCLUSÕES
  • 9.
  • 10. DESAFIOS DA SEGURANÇA DA INFORMAÇÃO CONCEITOS S Spoofing Forjamento de Identidade Fingir ser alguém ou algo que você não é Autenticação A2-Broken Authentication and Session Management; A3-Cross-Site Scripting (XSS) T Tampering Adulteração de Dados Modificar dados armazenados ou dados em trânsito Integridade A1-Injection; A3-Cross-Site Scripting (XSS); A4- Insecure Direct Object References; A6- Sensitive Data Exposure R Repudiation Rejeição Negar que fez ou não fez algo Não Repúdio AA2-Broken Authentication and Session Management; A10-Unvalidated Redirects and Forwards I Information Discosure Divulgação de Informações Ver informações que você não está permitido a ver Confidencialidade A1-Injection; A3- Cross-Site Scripting (XSS); A4- Insecure Direct Object References; A6- Sensitive Data Exposure D Denial of Service Recusa de Serviço Negar um serviço, deixar o sistema indisponível. Disponibilidade A5-Security Misconfiguration; A9- Using Components with Known Vulnerabilities E Elevation of Privilege Elevação de Privilégio Fazer algo sem permissão Autorização A2-Broken Authentication and Session Management; A7- Missing Function Level Access Control; A8- Cross-Site Request Forgery (CSRF)
  • 11.
  • 12.
  • 13.
  • 15. DESAFIOS DA SEGURANÇA DA INFORMAÇÃO OS 5 ERROS - CSRF <form action="transfer.do" method="GET"> <input type="text" name="acct" value="BETO"> <input type="text" name="amount" value="100"> </form>
  • 16. DESAFIOS DA SEGURANÇA DA INFORMAÇÃO OS 5 ERROS - CSRF GET /transfer.do?acct=BETO&amount=100 HTTP/1.1 Host: bank.com (...) GET /transfer.do?acct=BETO&amount=50 HTTP/1.1 Host: bank.com (...)
  • 17. DESAFIOS DA SEGURANÇA DA INFORMAÇÃO OS 5 ERROS - CSRF GET /transfer.do?acct=HACKER&amount=500 HTTP/1.1 Host: bank.com (...) Para explorar a vulnerabilidade, o atacante prepara um link específico para tirar vantagem desta transação: http://bank.co/transfer.do?acct=HACKER&amount=500
  • 18. DESAFIOS DA SEGURANÇA DA INFORMAÇÃO OS 5 ERROS - CLICKJACKING DEMO
  • 19. DESAFIOS DA SEGURANÇA DA INFORMAÇÃO OS 5 ERROS - SQLi SELECT * FROM Users WHERE Username='$username' AND Password='$password' 1' or '1' = '1 1' or '1' = ‘1 Resultado da Query: SELECT * FROM Users WHERE Username='1' OR '1' = '1' AND Password='1' OR '1' = '1'
  • 20. DESAFIOS DA SEGURANÇA DA INFORMAÇÃO OS 5 ERROS - SQLi http://192.168.15.51/cgi- bin/badstore.cgi?searchquery=1%27%3D%270%27+UNION+SELECT+1%2C+1%2C+1%2C+1 +from+userdb+%23+&action=search&x=0&y=0 1'='0' UNION SELECT 1, 1, 1, 1 from userdb #
  • 21. DESAFIOS DA SEGURANÇA DA INFORMAÇÃO OS 5 ERROS - SQLi DEMO
  • 22. DESAFIOS DA SEGURANÇA DA INFORMAÇÃO • Um bom algoritmo de criptografia não deve depender do sigilo do próprio algoritmo. • A única parte que precisa ser secreta é a chave. • SALT + PEPPER OS 5 ERROS - CRYPTO
  • 23. DESAFIOS DA SEGURANÇA DA INFORMAÇÃO • Identifique APIs como possíveis pontos de entrada; • Evite APIs banidas e preteridas que são suscetíveis a brechas de segurança; • Use a autenticação adequada e faça auditoria de todo o uso daAPI OS 5 ERROS - API
  • 24. COMO PROTEGER MEU CÓDIGO?
  • 25.
  • 26. DESAFIOS DA SEGURANÇA DA INFORMAÇÃO • A codificação defensiva é uma forma de codificação proativa e segura pretendida para garantir a função contínua do software sob imprevisto circunstâncias. Técnicas de programação defensiva são usadas especialmente quando um software pode ser mal utilizado. • Os benefícios da codificação de defesa geralmente melhoram: • Qualidade geral - reduzindo o número de erros e falhas associado ao software • Tornar o código fonte compreensível - o código fonte deve ser legível e compreensível por isso é aprovado em um revisão de código • Fazer com que o software se comporte de maneira previsível, apesar entradas inesperadas ou ações do usuário. COMO PROTEGER MEU CÓDIGO?
  • 27. DESAFIOS DA SEGURANÇA DA INFORMAÇÃO • Sanitização • Converta algo que é considerado perigoso em seu forma segura. Ambas as entradas e saídas podem ser higienizadas. •Tipos de saneamento: • Decapagem: Removendo caracteres nocivos do usuário entrada fornecida • Substituição: Substituir a entrada fornecida pelo usuário por uma alternativa mais segura COMO PROTEGER MEU CÓDIGO?
  • 29. 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.” SunTzu (A arte da Guerra)