development pitfalls

Download Development pitfalls

Post on 12-Jan-2015

192 views

Category:

Software

0 download

Embed Size (px)

DESCRIPTION

Armadilhas comuns em desenvolvimento...

TRANSCRIPT

  • Development Pitfalls

    11 de julho de 2014

    Apresentao:

  • Development Pitfalls

    2/ 34

    Quem sou ?Antonio Costa Cooler_

    Experincia de 4 anos em desenvolvimento de sistemas webe web spiders em geral, automaes diversas, soluesdiversas para problemas em unix...

    Desenvolvedor, pesquisador... Fao parte do grupo de pesquisa BugSec. Programador em ASM, C, C++,Common

    Lisp(SBCL,Clisp),Perl,PHP,Python... Trabalho na CONVISO.

    https://github.com/CoolerVoid/ http://code.google.com/p/bugsec/ @Cooler_freenode

  • Development Pitfalls

    3/ 34

    Development Pitfalls

  • Development Pitfalls

    4/ 34

  • Development Pitfalls

    5/ 34

    Versionamento CVS

    .cvsignore

    GIT .git/info/exclude .gitignore

    SVN .svnignore

  • Development Pitfalls

    6/ 34

    Qual o problema ?

    Vazamento de informaes

  • Development Pitfalls

    7/ 34

    Qual o problema ?

    Atacante pode obter estes arquivosArquivos de interesse...

  • Development Pitfalls

    8/ 34

    Qual o problema ?

    Lista para gerar captcha Obviamente o atacante vai usar a lista Cada informao acaba sendo til...

  • Development Pitfalls

    9/ 34

    Acessando o arquivo db_connector.yml

    Qual o problema ?

  • Development Pitfalls

    10/ 34

    Qual o problema ?

    Agora sim... OK!

  • Development Pitfalls

    11/ 34

    Tubares em todos os lugares

    Bots,scanners... s procurando uma brecha...

  • Development Pitfalls

    12/ 34

    SQL-injection

  • Development Pitfalls

    13/ 34

    Buffer Overflow

  • Development Pitfalls

    14/ 34

    Senhas

    Dork: extension:yml password database

  • Development Pitfalls

    15/ 34

    Senhas

    Dork: extension:bak user= password=

  • Development Pitfalls

    16/ 34

    Difcil de achar ? Automao

    convisoappsec/research_github_hack/

  • Development Pitfalls

    17/ 34

    Difcil de achar ?

  • Development Pitfalls

    18/ 34

    Difcil de achar ?

  • Development Pitfalls

    19/ 34

    Automao

  • Development Pitfalls

    20/ 34

    Explorando tudo em massa

  • Development Pitfalls

    21/ 34

    Dicas para evitar o pior

  • Development Pitfalls

    22/ 34

    Boas prticas

    Leia documentao No use funes deprecated Resolva os Warnings Faa validao de todas as entradas de dados Procure saber se foi feito Hardening no ambiente Use polticas para forar complexidade nas senhas No deixe a pblico informaes desnecessrias Use SSL ao transportar dados Se necessrio tcnicas anti-tampering Teste o software de todas as formas possveis

    Contrate um servio para Pentest de tempos em tempos...

  • Development Pitfalls

    23/ 34

    Procure boas prticas... Exemplo para evitar memory leaks

    Em C: char *x=(char *)malloc(sizeof(char)*20); ... free(x);

    Em C++: int *x=(int *)new int;

    delete x;

    Use o Valgrind para auditar a memria...

  • Development Pitfalls

    24/ 34

    Exemplo evitar command injection

    10 sprintf(buffer, "/bin/mail %s < /log/mail_loja.txt", input); 11 12 system(buffer);

    Para mitigar faa validao:

    Posix Regex, Pcre... ^([a-zA-Z0-9.-])*([@])([a-z0-9]).([a-z]{2,3}) Black list... Strncmp()...

    Faa sempre validao... execv(), execl(), system(), eval()...

    Procure boas prticas

  • Development Pitfalls

    25/ 34

    Validao

  • Development Pitfalls

    26/ 34

    Validao

    ' or 2=2 --

  • Development Pitfalls

    27/ 34

    Validao Sanitizao

  • Development Pitfalls

    28/ 34

  • Development Pitfalls

    29/ 34

    Conhea a OWASP

    O que Owasp?

    Open Web Application Security Project (OWASP)

    Uma entidade sem fins lucrativos e de reconhecimento internacional.

    Rene informaes importantes para permitir avaliar riscos de segurana e combater formas de ataques atravs da internet.

    www.owasp.org

  • Development Pitfalls

    30/ 34

    Agora tudo OK ?

  • Development Pitfalls

    31/ 34

    No falei tudo !

  • Development Pitfalls

    32/ 34

    I'm trying to free your mind, Neo. But I can onlyshow you the door. You're the one that has towalk through it.

    Morpheus - The Matrix

  • Development Pitfalls

    33/ 34

    Agradecimentos

    Pelos testes com git: Victor Ramos m0nad

    Pela pesquisa: Marcos Alvares Ulisses Castro Rodrigo Montoro

    CONVISO

  • Development Pitfalls

    34/ 34

    Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30Slide 31Slide 32Slide 33Slide 34