QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE - Presentation Transcript

    1. QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Fabiano G. Souza – Arquiteto de Sistemas – Unisys [email_address] Jun 7, 2009 MISSÃO CRÍTICA Page
    2. Objetivos
      • Apresentar uma visão geral sobre segurança e qualidade de software
      • Demonstrar a importância da integração de práticas de segurança ao ciclo de desenvolvimento de software
      • Duração: aproximadamente 40 minutos
      Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page
    3. Agenda
      • Cenário atual da segurança
      • Visão geral de segurança de software
      • Demandas da segurança de TI
      • Integrando qualidade de código ao processo de desenvolvimento
      Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page
    4. Cenário atual
      • Pesquisa Computer Associates (Julho 2006)
        • 642 grandes empresas americanas
      • Empresas afetadas nos últimos 12 meses: 84%
        • 54% das empresas enfrentaram queda de produtividade dos funcionários
        • 25% algum tipo de constrangimento público, perda de confiança e danos à reputação
        • 20% perda de receita, clientes ou outros ativos.
      Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page
    5. Cenário atual
      • “ Mais de 70% das vulnerabilidades de segurança existe na camada de aplicativos, não na camada de rede” - Gartner
      • “ A conclusão é inevitável: qualquer noção de que a segurança é apenas uma questão de proteger o perímetro de rede é totalmente ultrapassada” - IDC and Symantec
      Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page
    6. Cenário atual
      • Organizações que atingiram um alto nível de maturidade na segurança de seus sistemas podem reduzir os gastos anuais com TI entre 3% e 4% até 2008, aponta pesquisa do Gartner.
      • Por outro lado, organizações que não atingiram um nível desejável de eficiência ou têm investido pouco na proteção da infra-estrutura deverão ver seus investimentos em segurança crescerem até 8% no período.
      Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page
    7. Objetivos de segurança
      • 100% de segurança é impossível
      • É necessário decidir:
        • O que precisa ser seguro
        • O quanto precisa ser seguro
      • Segurança deve ser equilibrada com usabilidade (e acessibilidade)
        • Super seguro = pouco usável
        • Muito usável = inseguro
      • Aprender a equilibrar segurança/usabilidade baseado nos riscos
      Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page
    8. Segurança e custo Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page
    9. Segurança
      • Segurança é como uma corrente que é tão forte quanto o elo mais fraco
      • Três componentes essenciais:
        • Serviços de rede
        • Sistema operacional
        • Aplicativo
      Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page
    10. Rede e algo mais
      • Muito já foi feito para aumentar a segurança na camada de rede como:
        • Ferramentas de detecção de intrusão, anti-virus, firewalls, VPNs, detecção de ataques Denial of Service, etc.
      • Mas... somente segurança no nível de rede não é mais suficiente
        • Os aplicativos são disponíveis na internet ou extranets
        • A mesma porta de acesso ao aplicativo é a porta de ataque
        • O ataque tem características de um acesso “inofensivo”
      Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page
    11. Software é mais complexo a cada dia Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page
    12. Produtos seguros são produtos de qualidade Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page
    13. O estado da segurança de TI
      • Segurança geralmente é considerada de forma adicional e não integrada ao desenvolvimento. Em geral:
        • Casos de uso não capturam requisitos de segurança
        • Segurança é vista como uma requisito não funcional e não um alavancador de negócios
        • Considerações de segurança somente são feitas na fase de deployment
      Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page
    14. O estado da segurança de TI
      • Necessidade crescente de interações sem fronteiras preservando a segurança
        • Organizações centradas nas redes
        • Necessidade cada vez maior de agilidade e acesso rápido as informações
        • Cada vez maior dependência inter-sistemas
      Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page
    15. Preocupações básicas
      • Confidencialidade
        • Apenas indivíduos com privilégios tem acesso a informação.
      • Integridade
        • A garantia que a informação permanece correta todo o tempo e não foi alterada ou destruída.
      • Disponibilidade
        • Assegurar que os usuários autorizados tenham acesso à informação e seus recursos associados sempre que se torne necessário.
      Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page
    16. Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page
    17. Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page
    18. Falhas críticas nas aplicações Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page • Input validation • Output sanitation • Buffer overflow • Data injection • Improper error handling • Weak session identifiers • Weak Password exploits • Session theft • Cross-site scripting • Insecure configuration data • Broken authentication/ access control • Audit and logging failures • Improper error handling • Denial of Service • Man-in-the-middle • Multiple sign-on issues • Weak Encryption • Coding / Deployment problems
    19. Visão do SEI - Software Engineering Institute Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page
    20. Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page
    21. Atividades integradas ao desenvolvimento
      • Análise e eliminação de riscos
        • Identificar as ameaças e considerar o possível dano para justificar as ações preventivas.
        • Análise de custo-benefício.
        • Identificar riscos residuais.
      • Análise comparativa
        • Medir os prós e contras de uma ação preventiva.
        • Identificar e comparar alternativas.
      • Definição de políticas
        • Definir regras e práticas que regulam a proteção de uma aplicação.
      • Análise de fatores
        • Identificar os fatores de segurança de cada componente da infra-estrutura (dispositivos clientes, suporte a single sign-on, etc).
      Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page
    22. Atividades integradas ao desenvolvimento
      • Análise por camada de software
        • Rever os fatores que impactam os mecanismos de segurança em cada camada do sistema
      • Testes caixa branca e caixa preta
        • Teste caixa preta ou de conhecimento zero (teste de penetração)
        • Teste caixa branca ou interno para ataques conhecidos e níveis de tolerância (ataques DoS, etc.)
      • Continuidade de serviço e Disaster Recovery
        • Determinar o nível de tolerância para ameaças potenciais
        • Definir mecanismos de proteção de falhas e gerenciamento de exceções
      Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page
    23. Como melhorar a qualidade do software?
      • Reuso
        • Código melhor testado
        • Menor superfície de ataque
      • Geração automática de código
      • Verificação automatizada de código fonte
      • Inspeções por terceiros
      • Programação em par
      Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page
    24. Padrões de Projeto
      • Um design pattern é uma solução reutilizável para um problema recorrente de projeto de software
      • Melhora o reuso de componentes e frameworks de segurança
      • No projeto permite melhor comunicação do conhecimento de segurança e identificação de riscos tradicionalmente identificados apenas através de protótipos ou experiência.
      Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page
    25. Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page
    26. Plataformas de desenvolvimento mais seguras
      • Plataformas mais modernas são inerentemente mais seguras
        • J2EE e Microsoft .NET
          • Código intermediário
          • Máquinas virtuais
          • Modelos de execução segura de código
          • APIs extensas de segurança e criptografia
          • Modelos de autenticação e autorização integrados
      Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page
    27. Ferramentas de verificação de código
      • Microsoft .NET
        • FxCop com integração ao Visual Studio .NET
          • Procura por 200 defeitos no código fonte:
            • Projeto de bibliotecas
            • Internacionalização
            • Convenções de nomenclatura
            • Performance
            • Segurança
      Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page
    28. Ferramentas de verificação de código
      • J2EE (ferramentas Open-Source)
        • Checkstyle
          • Aderência a padrões de codificação e melhores práticas
        • PMD
          • Alerta sobre possíveis bugs
          • Código morto
          • Código duplicado
        • FindBugs
          • Procura por padrões no código típicos de bugs
      Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page
    29. Conclusão
      • Segurança deve ser parte integral do negócio.
      • Devemos garantir a segurança em todos aspectos de uma solução.
      • O ciclo de desenvolvimento deve possuir atividades voltadas a segurança de forma integrada desde o início do projeto.
      • O uso de padrões e melhores práticas é fundamental para mantermos os custos baixos e obter a qualidade e robustez desejadas.
      Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page
    30. Obrigado pela atenção! Perguntas? [email_address] Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page
    31. Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page
    32. Método de Threat Modeling
      • É uma abordagem estruturada para identificar e planejar a eliminação de todas ameaças a qualquer aplicação.
      • Deve começar na fase de análise e projeto.
      • Devemos enumerar todos possíveis ameaças para a aplicação e os recursos associados, construindo um modelo que irá ajudar no projeto e desenvolvimento.
      Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page
    33. Threat Modeling Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page
    34. Técnicas - Threat Modeling
      • Entry point identification
      • Privilege boundaries
      • Threat trees
      Jun 7, 2009 QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE Page
    SlideShare Zeitgeist 2009

    + Fabiano SouzaFabiano Souza Nominate

    custom

    743 views, 1 favs, 0 embeds more stats

    Uma visão geral sobre segurança e qualidade de so more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 743
      • 743 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 0
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Tags