SlideShare a Scribd company logo
1 of 35
Download to read offline
O que eu deveria ter aprendido sobre
segurança na graduação
Rafael Correia
2010-2017
1. Extensões de arquivos não são o tipo do arquivo
● Extensão é parte do nome do arquivo.
● Abrir um arquivo em um programa automaticamente é apenas uma
amarração entre extensão/programa.
● Magic bytes são amigos.
1. Extensões de arquivos não são o tipo do arquivo
2. Hex não é a única representação de binário
● Binário são bits.
● Geralmente armazenados como uma sequência de bytes em programação.
● Representados por diversas formas diferentes.
● ASCII.
2. Hex não é a única representação de binário
2. Hex não é a única representação de binário
2. Hex não é a única representação de binário
​
otpauth://totp/Teste:Rafael?secret=3
SSRNV2445TNZWCQGDS64KGTRP
DQKYAX&issuer=Teste&period=30&
algorithm=SHA1
3. Características e aplicação da criptografia
● Simétrica a mesma chave para os dois processos. Mais leve.
● Assimétrica um par de chaves. Mais pesado.
● Hashing para transformação de um dado em uma sequência suficientemente
aleatória. Irreversível.
3. Características e aplicação da criptografia
3. Características e aplicação da criptografia
3. Características e aplicação da criptografia
4. Hashing puro não é suficiente para a senha
● Rainbow tables.
● Salt atrapalha a vida do atacante.
● Rounds atrapalham mais ainda a vida do atacante.
4. Hashing puro não é suficiente para a senha
4. Hashing puro não é suficiente para a senha
5. Entender as requisições HTTP
● Tim Bernes-Lee.
● O que são todos esses cabeçalhos?
● Achar um DELETE ou PUT em uma página não significa que você vai
conseguir fazer algo.
● É possível enviar informações no corpo de requisições GET.
● Analisar um sistema pelas suas requisições é muito eficiente.
5. Entender as requisições HTTP
5. Entender as requisições HTTP
5. Entender as requisições HTTP
6. Se está na mão do usuário, não está seguro
● O código é reversível, muitas vezes de forma fácil.
● Subiu para memória, não é seu mais.
● Sistemas cliente/servidor.
6. Se está na mão do usuário, não está seguro
6. Se está na mão do usuário, não está seguro
6. Se está na mão do usuário, não está seguro
6. Se está na mão do usuário, não está seguro
6. Se está na mão do usuário, não está seguro
7. Entender de infraestrutura
● A internet e os sistemas que você usa estão em cima de infra, sabia?
● Entender de infra é fundamental para entender a segurança como um todo.
● Storage, redes, AD, backup...
● Aprendizado contínuo.
● Diagramas são boas fontes.
7. Entender de infraestrutura
8. Segurança na arquitetura é muito importante
● Implementar no começo é sempre mais barato.
● Visão do todo.
● Pensar em camadas.
8. Segurança na arquitetura é muito importante
● XSS
○ XSS Auditor
○ Http-Only
○ Content-Security-Policy
○ Data Encoding
8. Segurança na arquitetura é muito importante
9. Você é humano
● Você não sabe tudo.
● Nem vai saber.
● E nem deve.
Referências
● Assinaturas de arquivos - https://www.filesignatures.net/
● Trid - http://mark0.net/soft-trid-e.html
● RFC-4648 (The Base16, Base32, and Base64 Data Encodings) -
https://tools.ietf.org/html/rfc4648
● Cipher Suites in TLS/SSL (Schannel SSP) -
https://msdn.microsoft.com/en-us/library/windows/desktop/aa374757.aspx
● Transport Layer Security (TLS) Parameters -
https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-par
ameters-4
● BCrypt: Hash Passwords Correctly - http://davismj.me/blog/bcrypt/
Referências
● SQL Injection Prevention Cheat Sheet -
https://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet#D
efense_Option_1:_Prepared_Statements_.28with_Parameterized_Queries.29
● OS MOTORES PARARAM EM VOO, VEJA O QUE ACONTECEU. EP #113 -
https://www.youtube.com/watch?v=4n1eGul6fpU&t=131s
● AVOIDING THE TOP 10 SOFTWARE SECURITY DESIGN FLAWS -
https://www.computer.org/cms/CYBSI/docs/Top-10-Flaws.pdf
● Recommended Practice: Improving Industrial Control System Cybersecurity
with Defense-in-Depth Strategies -
https://ics-cert.us-cert.gov/sites/default/files/recommended_practices/NCCIC_
ICS-CERT_Defense_in_Depth_2016_S508C.pdf
Obrigado!
Rafael Correia
rcorreia@outlook.com
https://goo.gl/W84pF7

More Related Content

Similar to Palestra Rafael Correia - O que eu deveria ter aprendido sobre segurança na graduação

Ferramentas de Segurança
Ferramentas de SegurançaFerramentas de Segurança
Ferramentas de SegurançaAlefe Variani
 
Dicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHPDicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHPDouglas V. Pasqua
 
P01 - Como ser um desenvolvedor melhor
P01 - Como ser um desenvolvedor melhorP01 - Como ser um desenvolvedor melhor
P01 - Como ser um desenvolvedor melhorLeandro Ferreira
 
Segurança em servidores Linux
Segurança em servidores LinuxSegurança em servidores Linux
Segurança em servidores LinuxImpacta Eventos
 
O poder do Python/Django
O poder do Python/DjangoO poder do Python/Django
O poder do Python/DjangoÁtila Bezerra
 
Ampliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do PythonAmpliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do PythonIP10
 
RFC 2196 em Português do Brasil PT-BR
RFC 2196 em Português do Brasil PT-BRRFC 2196 em Português do Brasil PT-BR
RFC 2196 em Português do Brasil PT-BRSamir Coutinho
 
Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Flávio Lisboa
 
Seguranca - docker
Seguranca - dockerSeguranca - docker
Seguranca - dockerStefani Lima
 
Novidades no OpenBSD 4.3 - Leonardo Menezes Vaz
Novidades no OpenBSD 4.3 - Leonardo Menezes VazNovidades no OpenBSD 4.3 - Leonardo Menezes Vaz
Novidades no OpenBSD 4.3 - Leonardo Menezes VazTchelinux
 
It skills para rh aprender e contratar
It skills para rh  aprender e contratarIt skills para rh  aprender e contratar
It skills para rh aprender e contratarAle Uehara
 
DDD e PHP - TDC 2012
DDD e PHP - TDC 2012DDD e PHP - TDC 2012
DDD e PHP - TDC 2012Luís Cobucci
 
A importância do ecossistema Java em aplicações baseadas em Big Data
A importância do ecossistema Java em aplicações baseadas em Big DataA importância do ecossistema Java em aplicações baseadas em Big Data
A importância do ecossistema Java em aplicações baseadas em Big DataVinícius Barros
 
Trabalho sobre a linguagem Python
Trabalho sobre a linguagem PythonTrabalho sobre a linguagem Python
Trabalho sobre a linguagem PythonRicardo Zalla
 

Similar to Palestra Rafael Correia - O que eu deveria ter aprendido sobre segurança na graduação (20)

Ferramentas de Segurança
Ferramentas de SegurançaFerramentas de Segurança
Ferramentas de Segurança
 
Dicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHPDicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHP
 
Snort
SnortSnort
Snort
 
Webcast Luiz Vieira criptografia on-the-fly com software livre
Webcast Luiz Vieira criptografia on-the-fly com software livreWebcast Luiz Vieira criptografia on-the-fly com software livre
Webcast Luiz Vieira criptografia on-the-fly com software livre
 
P01 - Como ser um desenvolvedor melhor
P01 - Como ser um desenvolvedor melhorP01 - Como ser um desenvolvedor melhor
P01 - Como ser um desenvolvedor melhor
 
Inf seg redinf_semana5
Inf seg redinf_semana5Inf seg redinf_semana5
Inf seg redinf_semana5
 
Segurança em servidores Linux
Segurança em servidores LinuxSegurança em servidores Linux
Segurança em servidores Linux
 
Snort "O sniffer"
Snort "O sniffer"Snort "O sniffer"
Snort "O sniffer"
 
O poder do Python/Django
O poder do Python/DjangoO poder do Python/Django
O poder do Python/Django
 
Ampliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do PythonAmpliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do Python
 
RFC 2196 em Português do Brasil PT-BR
RFC 2196 em Português do Brasil PT-BRRFC 2196 em Português do Brasil PT-BR
RFC 2196 em Português do Brasil PT-BR
 
Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011
 
Palestra nosql
Palestra nosqlPalestra nosql
Palestra nosql
 
Seguranca - docker
Seguranca - dockerSeguranca - docker
Seguranca - docker
 
Novidades no OpenBSD 4.3 - Leonardo Menezes Vaz
Novidades no OpenBSD 4.3 - Leonardo Menezes VazNovidades no OpenBSD 4.3 - Leonardo Menezes Vaz
Novidades no OpenBSD 4.3 - Leonardo Menezes Vaz
 
Forense Computacional com Software Livre
Forense Computacional com Software LivreForense Computacional com Software Livre
Forense Computacional com Software Livre
 
It skills para rh aprender e contratar
It skills para rh  aprender e contratarIt skills para rh  aprender e contratar
It skills para rh aprender e contratar
 
DDD e PHP - TDC 2012
DDD e PHP - TDC 2012DDD e PHP - TDC 2012
DDD e PHP - TDC 2012
 
A importância do ecossistema Java em aplicações baseadas em Big Data
A importância do ecossistema Java em aplicações baseadas em Big DataA importância do ecossistema Java em aplicações baseadas em Big Data
A importância do ecossistema Java em aplicações baseadas em Big Data
 
Trabalho sobre a linguagem Python
Trabalho sobre a linguagem PythonTrabalho sobre a linguagem Python
Trabalho sobre a linguagem Python
 

More from BHack Conference

Palestra William Costa - Pentester Raiz vs Pentester Goumert
Palestra William Costa - Pentester Raiz vs Pentester GoumertPalestra William Costa - Pentester Raiz vs Pentester Goumert
Palestra William Costa - Pentester Raiz vs Pentester GoumertBHack Conference
 
Palestra Daniel Peres - Modelo de Responsabilidade compartilhada AWS e as imp...
Palestra Daniel Peres - Modelo de Responsabilidade compartilhada AWS e as imp...Palestra Daniel Peres - Modelo de Responsabilidade compartilhada AWS e as imp...
Palestra Daniel Peres - Modelo de Responsabilidade compartilhada AWS e as imp...BHack Conference
 
Palestra Murilo Santana - Ownando sistemas por uma porta USB
Palestra Murilo Santana - Ownando sistemas por uma porta USBPalestra Murilo Santana - Ownando sistemas por uma porta USB
Palestra Murilo Santana - Ownando sistemas por uma porta USBBHack Conference
 
Palestra Filipi Pires - Ransomware – Existe proteção para isso?
Palestra Filipi Pires - Ransomware – Existe proteção para isso?Palestra Filipi Pires - Ransomware – Existe proteção para isso?
Palestra Filipi Pires - Ransomware – Existe proteção para isso?BHack Conference
 
Palestra Tony Rodrigues - OctaneLabs WarpSpeed Project – Computação Forense e...
Palestra Tony Rodrigues - OctaneLabs WarpSpeed Project – Computação Forense e...Palestra Tony Rodrigues - OctaneLabs WarpSpeed Project – Computação Forense e...
Palestra Tony Rodrigues - OctaneLabs WarpSpeed Project – Computação Forense e...BHack Conference
 
Palestra Pedro Lopes e Victor Martins - Incidentes na Segurança da Informação...
Palestra Pedro Lopes e Victor Martins - Incidentes na Segurança da Informação...Palestra Pedro Lopes e Victor Martins - Incidentes na Segurança da Informação...
Palestra Pedro Lopes e Victor Martins - Incidentes na Segurança da Informação...BHack Conference
 
Palestra Jeferson Propheta - Wanna Cry more
Palestra Jeferson Propheta - Wanna Cry morePalestra Jeferson Propheta - Wanna Cry more
Palestra Jeferson Propheta - Wanna Cry moreBHack Conference
 
Palestra Lucas França - 802.1x e 802.1ae
Palestra Lucas França - 802.1x e 802.1aePalestra Lucas França - 802.1x e 802.1ae
Palestra Lucas França - 802.1x e 802.1aeBHack Conference
 
Palestra Walter Capanema - Liberdade de expressão na internet
Palestra Walter Capanema - Liberdade de expressão na internet Palestra Walter Capanema - Liberdade de expressão na internet
Palestra Walter Capanema - Liberdade de expressão na internet BHack Conference
 
Palestra Regilberto Girão - Segurança digital em camadas – Digital layered se...
Palestra Regilberto Girão - Segurança digital em camadas – Digital layered se...Palestra Regilberto Girão - Segurança digital em camadas – Digital layered se...
Palestra Regilberto Girão - Segurança digital em camadas – Digital layered se...BHack Conference
 

More from BHack Conference (10)

Palestra William Costa - Pentester Raiz vs Pentester Goumert
Palestra William Costa - Pentester Raiz vs Pentester GoumertPalestra William Costa - Pentester Raiz vs Pentester Goumert
Palestra William Costa - Pentester Raiz vs Pentester Goumert
 
Palestra Daniel Peres - Modelo de Responsabilidade compartilhada AWS e as imp...
Palestra Daniel Peres - Modelo de Responsabilidade compartilhada AWS e as imp...Palestra Daniel Peres - Modelo de Responsabilidade compartilhada AWS e as imp...
Palestra Daniel Peres - Modelo de Responsabilidade compartilhada AWS e as imp...
 
Palestra Murilo Santana - Ownando sistemas por uma porta USB
Palestra Murilo Santana - Ownando sistemas por uma porta USBPalestra Murilo Santana - Ownando sistemas por uma porta USB
Palestra Murilo Santana - Ownando sistemas por uma porta USB
 
Palestra Filipi Pires - Ransomware – Existe proteção para isso?
Palestra Filipi Pires - Ransomware – Existe proteção para isso?Palestra Filipi Pires - Ransomware – Existe proteção para isso?
Palestra Filipi Pires - Ransomware – Existe proteção para isso?
 
Palestra Tony Rodrigues - OctaneLabs WarpSpeed Project – Computação Forense e...
Palestra Tony Rodrigues - OctaneLabs WarpSpeed Project – Computação Forense e...Palestra Tony Rodrigues - OctaneLabs WarpSpeed Project – Computação Forense e...
Palestra Tony Rodrigues - OctaneLabs WarpSpeed Project – Computação Forense e...
 
Palestra Pedro Lopes e Victor Martins - Incidentes na Segurança da Informação...
Palestra Pedro Lopes e Victor Martins - Incidentes na Segurança da Informação...Palestra Pedro Lopes e Victor Martins - Incidentes na Segurança da Informação...
Palestra Pedro Lopes e Victor Martins - Incidentes na Segurança da Informação...
 
Palestra Jeferson Propheta - Wanna Cry more
Palestra Jeferson Propheta - Wanna Cry morePalestra Jeferson Propheta - Wanna Cry more
Palestra Jeferson Propheta - Wanna Cry more
 
Palestra Lucas França - 802.1x e 802.1ae
Palestra Lucas França - 802.1x e 802.1aePalestra Lucas França - 802.1x e 802.1ae
Palestra Lucas França - 802.1x e 802.1ae
 
Palestra Walter Capanema - Liberdade de expressão na internet
Palestra Walter Capanema - Liberdade de expressão na internet Palestra Walter Capanema - Liberdade de expressão na internet
Palestra Walter Capanema - Liberdade de expressão na internet
 
Palestra Regilberto Girão - Segurança digital em camadas – Digital layered se...
Palestra Regilberto Girão - Segurança digital em camadas – Digital layered se...Palestra Regilberto Girão - Segurança digital em camadas – Digital layered se...
Palestra Regilberto Girão - Segurança digital em camadas – Digital layered se...
 

Palestra Rafael Correia - O que eu deveria ter aprendido sobre segurança na graduação

  • 1. O que eu deveria ter aprendido sobre segurança na graduação Rafael Correia
  • 3. 1. Extensões de arquivos não são o tipo do arquivo ● Extensão é parte do nome do arquivo. ● Abrir um arquivo em um programa automaticamente é apenas uma amarração entre extensão/programa. ● Magic bytes são amigos.
  • 4. 1. Extensões de arquivos não são o tipo do arquivo
  • 5. 2. Hex não é a única representação de binário ● Binário são bits. ● Geralmente armazenados como uma sequência de bytes em programação. ● Representados por diversas formas diferentes. ● ASCII.
  • 6. 2. Hex não é a única representação de binário
  • 7. 2. Hex não é a única representação de binário
  • 8. 2. Hex não é a única representação de binário ​ otpauth://totp/Teste:Rafael?secret=3 SSRNV2445TNZWCQGDS64KGTRP DQKYAX&issuer=Teste&period=30& algorithm=SHA1
  • 9. 3. Características e aplicação da criptografia ● Simétrica a mesma chave para os dois processos. Mais leve. ● Assimétrica um par de chaves. Mais pesado. ● Hashing para transformação de um dado em uma sequência suficientemente aleatória. Irreversível.
  • 10. 3. Características e aplicação da criptografia
  • 11. 3. Características e aplicação da criptografia
  • 12. 3. Características e aplicação da criptografia
  • 13. 4. Hashing puro não é suficiente para a senha ● Rainbow tables. ● Salt atrapalha a vida do atacante. ● Rounds atrapalham mais ainda a vida do atacante.
  • 14. 4. Hashing puro não é suficiente para a senha
  • 15. 4. Hashing puro não é suficiente para a senha
  • 16. 5. Entender as requisições HTTP ● Tim Bernes-Lee. ● O que são todos esses cabeçalhos? ● Achar um DELETE ou PUT em uma página não significa que você vai conseguir fazer algo. ● É possível enviar informações no corpo de requisições GET. ● Analisar um sistema pelas suas requisições é muito eficiente.
  • 17. 5. Entender as requisições HTTP
  • 18. 5. Entender as requisições HTTP
  • 19. 5. Entender as requisições HTTP
  • 20. 6. Se está na mão do usuário, não está seguro ● O código é reversível, muitas vezes de forma fácil. ● Subiu para memória, não é seu mais. ● Sistemas cliente/servidor.
  • 21. 6. Se está na mão do usuário, não está seguro
  • 22. 6. Se está na mão do usuário, não está seguro
  • 23. 6. Se está na mão do usuário, não está seguro
  • 24. 6. Se está na mão do usuário, não está seguro
  • 25. 6. Se está na mão do usuário, não está seguro
  • 26. 7. Entender de infraestrutura ● A internet e os sistemas que você usa estão em cima de infra, sabia? ● Entender de infra é fundamental para entender a segurança como um todo. ● Storage, redes, AD, backup... ● Aprendizado contínuo. ● Diagramas são boas fontes.
  • 27. 7. Entender de infraestrutura
  • 28. 8. Segurança na arquitetura é muito importante ● Implementar no começo é sempre mais barato. ● Visão do todo. ● Pensar em camadas.
  • 29. 8. Segurança na arquitetura é muito importante ● XSS ○ XSS Auditor ○ Http-Only ○ Content-Security-Policy ○ Data Encoding
  • 30. 8. Segurança na arquitetura é muito importante
  • 31. 9. Você é humano ● Você não sabe tudo. ● Nem vai saber. ● E nem deve.
  • 32.
  • 33. Referências ● Assinaturas de arquivos - https://www.filesignatures.net/ ● Trid - http://mark0.net/soft-trid-e.html ● RFC-4648 (The Base16, Base32, and Base64 Data Encodings) - https://tools.ietf.org/html/rfc4648 ● Cipher Suites in TLS/SSL (Schannel SSP) - https://msdn.microsoft.com/en-us/library/windows/desktop/aa374757.aspx ● Transport Layer Security (TLS) Parameters - https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-par ameters-4 ● BCrypt: Hash Passwords Correctly - http://davismj.me/blog/bcrypt/
  • 34. Referências ● SQL Injection Prevention Cheat Sheet - https://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet#D efense_Option_1:_Prepared_Statements_.28with_Parameterized_Queries.29 ● OS MOTORES PARARAM EM VOO, VEJA O QUE ACONTECEU. EP #113 - https://www.youtube.com/watch?v=4n1eGul6fpU&t=131s ● AVOIDING THE TOP 10 SOFTWARE SECURITY DESIGN FLAWS - https://www.computer.org/cms/CYBSI/docs/Top-10-Flaws.pdf ● Recommended Practice: Improving Industrial Control System Cybersecurity with Defense-in-Depth Strategies - https://ics-cert.us-cert.gov/sites/default/files/recommended_practices/NCCIC_ ICS-CERT_Defense_in_Depth_2016_S508C.pdf