Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de desenvolvimento seguro
-
Upload
as-zone -
Category
Technology
-
view
38 -
download
0
Transcript of Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de desenvolvimento seguro
![Page 1: Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de desenvolvimento seguro](https://reader035.fdocuments.net/reader035/viewer/2022062313/55c76ef6bb61eb83578b483c/html5/thumbnails/1.jpg)
Hackeando as principais dicas de desenvolvimento
seguro.
Nem tudo o que reluz é ouro.
![Page 2: Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de desenvolvimento seguro](https://reader035.fdocuments.net/reader035/viewer/2022062313/55c76ef6bb61eb83578b483c/html5/thumbnails/2.jpg)
Quem somos?!Thiago DiebLenon Leite
![Page 3: Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de desenvolvimento seguro](https://reader035.fdocuments.net/reader035/viewer/2022062313/55c76ef6bb61eb83578b483c/html5/thumbnails/3.jpg)
ASZone?! http://www.aszone.com.br
![Page 4: Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de desenvolvimento seguro](https://reader035.fdocuments.net/reader035/viewer/2022062313/55c76ef6bb61eb83578b483c/html5/thumbnails/4.jpg)
Certezas
● Sistemas a prova de balas não existe.● O sucesso do ataque só existe se o outro lado falhar.● Sempre falhamos.● Que ainda será atacado.● Um dia a morte chegará.
![Page 5: Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de desenvolvimento seguro](https://reader035.fdocuments.net/reader035/viewer/2022062313/55c76ef6bb61eb83578b483c/html5/thumbnails/5.jpg)
Incertezas
● Meu sistema será atacado ?● Estou realmente seguro ?● Escrevi o código da forma certa ?● Como ele invadiu ?● Como ele invadiu de novo ?● ET existe mesmo ?
![Page 6: Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de desenvolvimento seguro](https://reader035.fdocuments.net/reader035/viewer/2022062313/55c76ef6bb61eb83578b483c/html5/thumbnails/6.jpg)
Hacking VS DesenvolvimentoQuem conhece?
![Page 7: Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de desenvolvimento seguro](https://reader035.fdocuments.net/reader035/viewer/2022062313/55c76ef6bb61eb83578b483c/html5/thumbnails/7.jpg)
Hacking VS Desenvolvimento
● Robin-Seggelmann - Desenvolvedor do Opennssl.● Responsável pelo HeartBleed, desde 2011.● Revisor - Dr Stephen Henson, até então não deu sinal.
“em uma das novas funcionalidades, infelizmente, eu me esqueci de validar uma variável contendo um comprimento”
![Page 8: Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de desenvolvimento seguro](https://reader035.fdocuments.net/reader035/viewer/2022062313/55c76ef6bb61eb83578b483c/html5/thumbnails/8.jpg)
Hacking VS Desenvolvimento
Falha
2412 /* Read type and payload length first */2413 hbtype = *p++;2414 n2s(p, payload);2415 pl = p;
Correção
+ /* Read type and payload length first */+ if (1 + 2 + 16 > s->s3->rrec.length)+ return 0; /* silently discard */+ hbtype = *p++;+ n2s(p, payload);+ if (1 + 2 + payload + 16 > s->s3->rrec.length)+ return 0; /* silently discard per RFC 6520 sec. 4 */+ pl = p;+
![Page 9: Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de desenvolvimento seguro](https://reader035.fdocuments.net/reader035/viewer/2022062313/55c76ef6bb61eb83578b483c/html5/thumbnails/9.jpg)
Hacking VS Desenvolvimento
![Page 10: Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de desenvolvimento seguro](https://reader035.fdocuments.net/reader035/viewer/2022062313/55c76ef6bb61eb83578b483c/html5/thumbnails/10.jpg)
OWASP - Top 10A1 - Injection
A2 - Broken Authentication and Session Management
A3 - Cross-Site Scripting (XSS)
A4 - Insecure Direct Object References
A5 - Security Misconfiguration
A6 - Sensitive Data Exposure
A7 - Missing Function Level Access Control
A8 - Cross-Site Request Forgery (CSRF)
A9 - Using Components with Known Vulnerabilities
A10 - Unvalidated Redirects and Forwards
![Page 11: Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de desenvolvimento seguro](https://reader035.fdocuments.net/reader035/viewer/2022062313/55c76ef6bb61eb83578b483c/html5/thumbnails/11.jpg)
Sql Injection
“Ataque que proporciona o invasor inserir ou manipular consultas SQL`s utilizadas por uma aplicação”
![Page 12: Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de desenvolvimento seguro](https://reader035.fdocuments.net/reader035/viewer/2022062313/55c76ef6bb61eb83578b483c/html5/thumbnails/12.jpg)
Sql Injection
![Page 13: Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de desenvolvimento seguro](https://reader035.fdocuments.net/reader035/viewer/2022062313/55c76ef6bb61eb83578b483c/html5/thumbnails/13.jpg)
Sql Injection
Artigos relevantes de como evitar sql injection. Será mesmo ?
● http://phpbrasil.com/artigo/v5Ejt4VOld2r/anti-sql-injection--solucao-global● http://www.vivaolinux.com.br/script/Funcao-Anti-MySQL-Injection-Proteja-
sua-aplicacao
…. Hackeando dicas ….
![Page 14: Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de desenvolvimento seguro](https://reader035.fdocuments.net/reader035/viewer/2022062313/55c76ef6bb61eb83578b483c/html5/thumbnails/14.jpg)
Sql Injection
Segredo:*_replace => Age na identificação de algum item setado e altera por outro parametro que desejar.
Exemplo:
“Select login,senha from tabela_x” => “login,senha tabela_x”
$sql = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables|#|\*|--|\\\\)/"), "" ,$sql);
Bypass:
“Sele*ct login,senha frofromm tabela_x” =>
“Select login,senha from tabela_x”
![Page 15: Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de desenvolvimento seguro](https://reader035.fdocuments.net/reader035/viewer/2022062313/55c76ef6bb61eb83578b483c/html5/thumbnails/15.jpg)
Sql Injection
Conclusão
● Sempre aplique validação nas entradas de dados, exemplo:○ Inteiros - valide como inteiro○ Strings - exclua as aspas○ true, false - converta para bollean
● Utilize camada de abstração de dados (ORM).● Recurso a Prepared Statements.
![Page 16: Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de desenvolvimento seguro](https://reader035.fdocuments.net/reader035/viewer/2022062313/55c76ef6bb61eb83578b483c/html5/thumbnails/16.jpg)
File Upload
“Vulnerabilidade que permite efetuar upload de algum arquivo, no qual o sistema não está preparado.”
![Page 17: Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de desenvolvimento seguro](https://reader035.fdocuments.net/reader035/viewer/2022062313/55c76ef6bb61eb83578b483c/html5/thumbnails/17.jpg)
File Upload
![Page 18: Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de desenvolvimento seguro](https://reader035.fdocuments.net/reader035/viewer/2022062313/55c76ef6bb61eb83578b483c/html5/thumbnails/18.jpg)
File UploadArtigos relevantes de como evitar file upload.
Será mesmo ?● http://www.uolhost.com.br/faq/hospedagem/como-fazer-o-upload-de-
arquivos-via-php.html#rmcl● http://wiki.locaweb.com/pt-br/PHP_-_Upload_de_arquivos
…. Hackeando dicas ….
![Page 19: Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de desenvolvimento seguro](https://reader035.fdocuments.net/reader035/viewer/2022062313/55c76ef6bb61eb83578b483c/html5/thumbnails/19.jpg)
File Upload
Segredo:http://www.uolhost.com.br/faq/hospedagem/como-fazer-o-upload-de-arquivos-via-php.html#rmclSimplesmente não valida nada, e ainda diz pra usar 777 na pasta.
http://wiki.locaweb.com/pt-br/PHP_-_Upload_de_arquivosif (!(eregi(".php$", $_FILES[arquivo][name]))) {Esqueceu que apache interpreta, .php3, .php5
![Page 20: Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de desenvolvimento seguro](https://reader035.fdocuments.net/reader035/viewer/2022062313/55c76ef6bb61eb83578b483c/html5/thumbnails/20.jpg)
File Upload
Conclusões:
● Ajustar as configurações dos serviços WEB;● IIS merece atenção;● Não confie apenas no mimetype ou extensão;● Atenção a permissões de pastas, arquivos e usuários;● Monitoramento constante;● Trabalhe com aplicações em ambientes segregados;● Verifique todas possíbilidades do white ou blacklist da função.
![Page 21: Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de desenvolvimento seguro](https://reader035.fdocuments.net/reader035/viewer/2022062313/55c76ef6bb61eb83578b483c/html5/thumbnails/21.jpg)
Local File Download / Disclosure
“É a vulnerabilidade que possibilita a apresentação ou o download de arquivos, independente da linguagem: php, asp, java, etc”
![Page 22: Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de desenvolvimento seguro](https://reader035.fdocuments.net/reader035/viewer/2022062313/55c76ef6bb61eb83578b483c/html5/thumbnails/22.jpg)
Local File Download / Disclosure
![Page 23: Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de desenvolvimento seguro](https://reader035.fdocuments.net/reader035/viewer/2022062313/55c76ef6bb61eb83578b483c/html5/thumbnails/23.jpg)
Local File Download / DisclosureArtigos relevantes sobre o tema.
Será mesmo ?● https://www.developphp.com/video/PHP/Force-File-Download-
Dialog-In-Browser-Tutorial● http://www.devmedia.com.br/forcar-download-de-arquivos-
com-php/17097
…. Hackeando dicas ….
![Page 24: Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de desenvolvimento seguro](https://reader035.fdocuments.net/reader035/viewer/2022062313/55c76ef6bb61eb83578b483c/html5/thumbnails/24.jpg)
Local File Download / Disclosure
Segredo:https://www.developphp.com/video/PHP/Force-File-Download-Dialog-In-Browser-TutorialAlteramos o html do hidden inserindo “../” e o arquivo que queremos.
http://www.devmedia.com.br/forcar-download-de-arquivos-com-php/17097Realmente valida php, mas esquecem que existe arquivos de configurações em ini,yml,inc.
![Page 25: Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de desenvolvimento seguro](https://reader035.fdocuments.net/reader035/viewer/2022062313/55c76ef6bb61eb83578b483c/html5/thumbnails/25.jpg)
Local File Download / Disclosure
Conclusões:
● Validação do lado do Servidor● Crie filtros por "whitelist".● Defina previamente o caminho das pastas.● Não permita navegação - “../”● Validação por registro na base de dados.
![Page 26: Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de desenvolvimento seguro](https://reader035.fdocuments.net/reader035/viewer/2022062313/55c76ef6bb61eb83578b483c/html5/thumbnails/26.jpg)
Desenvolvimento Seguro
Microsoft SDL OpenSAMMOWASP
![Page 27: Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de desenvolvimento seguro](https://reader035.fdocuments.net/reader035/viewer/2022062313/55c76ef6bb61eb83578b483c/html5/thumbnails/27.jpg)
Conclusão● Segurança não é uma coisa e sim um estado.● Segurança em primeiro plano, ela pode acabar detonar sua imagem● Pense como hacker, pense diferente, ataque a si próprio;● Monitore seus sistemas;● Busque utilizer diretrizes de desenvolvimento seguro;● A equipe de Infraestrutura não é seu inimigo, confie neles. ● Nunca esqueça de fazer "Code review" e "Par programming";● Use como regra: Pentest em cada ciclo de desenvolvimento;● Infraestrutura voltada para segurança;● Analise logs e movimentações estranhas;● Mantenha informado e atualizado sempre sobre segurança;
![Page 28: Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de desenvolvimento seguro](https://reader035.fdocuments.net/reader035/viewer/2022062313/55c76ef6bb61eb83578b483c/html5/thumbnails/28.jpg)
http://www.aszone.com.br
@ThiagoDieb@LenonLeite