A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Especialização em Segurança da Informação Segurança em Aplicações 4. Processo Desenvolvimento Seguro Márcio Aurélio Ribeiro Moreira

Apresentações semelhantes


Apresentação em tema: "Especialização em Segurança da Informação Segurança em Aplicações 4. Processo Desenvolvimento Seguro Márcio Aurélio Ribeiro Moreira"— Transcrição da apresentação:

1 Especialização em Segurança da Informação Segurança em Aplicações 4. Processo Desenvolvimento Seguro Márcio Aurélio Ribeiro Moreira

2 Márcio Moreira4. Processo de Desenvolvimento Seguro – slide 2Segurança em Aplicações Cenário atual Volume de ataquesTipos de ataques de 2010 Fonte:

3 Márcio Moreira4. Processo de Desenvolvimento Seguro – slide 3Segurança em Aplicações Quantidade de vulnerabilidades Por IndústriaPor porte Fonte:

4 Márcio Moreira4. Processo de Desenvolvimento Seguro – slide 4Segurança em Aplicações Qualificação dos ataques Camadas exploradasTipos de ataques Fonte:

5 Márcio Moreira4. Processo de Desenvolvimento Seguro – slide 5Segurança em Aplicações Impactos gerados pelos ataques Prejuízos com fraudesFontes dos ataques Fonte: Fonte: CSI/FBI citado por: insider-threat-myth-documentation.html Us$70M de custos de resposta, sendo Us$406K devido a acesso não autorizado Us$70M de custos de resposta, sendo Us$406K devido a acesso não autorizado Us$2,8M de custos de resposta Us$2,8M de custos de resposta

6 Márcio Moreira4. Processo de Desenvolvimento Seguro – slide 6Segurança em Aplicações Alvos e ferramentas de segurança  Produto: Devemos desenvolver com segurança e Garantir a segurança da aplicação desenvolvida  Processo: Para isto precisamos de um processo seguro  Pessoas: As pessoas precisam pensar, usar e multiplicar os princípios de segurança  Ferramentas & Ambientes: Devem atender as premissas de segurança

7 Márcio Moreira4. Processo de Desenvolvimento Seguro – slide 7Segurança em Aplicações Processo de desenvolvimento seguro  Princípios: Segurança por projeto  O software deve se projetado, arquitetado e implementado para ser resistente aos ataques Segurança por default  Considerar o ambiente de produção inseguro  Usar privilégios mínimos e só disponibilizar o necessário Segurança no desenvolvimento e produção  Ferramentas e guias de segurança devem ser disponibilizados aos usuários finais e administradores da aplicação Comunicações  Em caso de descoberta de vulnerabilidades comunicar claramente o cliente quais ações a serem tomadas

8 Márcio Moreira4. Processo de Desenvolvimento Seguro – slide 8Segurança em Aplicações Ciclo de vida de vulnerabilidades Fonte: Pascal Meunier, Overview of Secure Programming, 2004,

9 Márcio Moreira4. Processo de Desenvolvimento Seguro – slide 9Segurança em Aplicações Modelagem de negócio  O que fazer? Identificar diretivas estratégicas de segurança Identificar necessidades de segurança Revisar o processo de negócio sob a ótica da segurança Faça uma modelagem de ameaças e riscos no nível de negócio Classifique os processos de negócio quanto à segurança  Como fazer? Acrescentar as atividades acima nas atividades do processo de modelagem

10 Márcio Moreira4. Processo de Desenvolvimento Seguro – slide 10Segurança em Aplicações Requisitos  Os requisitos de segurança e privacidade devem ser definidos e especificados Classifique as informações quanto à segurança Deixe claro o que os casos de uso e os atores podem e não podem fazer em termos de segurança  Os papéis e responsabilidades de segurança devem ser especificados  A norma internacional ISO/IEC (Common Criteria): É usada para definir os requisitos de uma aplicação Mas, também é utilizada para avaliar a segurança de uma aplicação pronta

11 Márcio Moreira4. Processo de Desenvolvimento Seguro – slide 11Segurança em Aplicações Common Criteria – Conceitos 1  TOE - Target Of Evaluation: Sistema a ser avaliado  PP - Protection Profile: Padrão de segurança (definido pelo mercado) que um tipo de aplicação precisa ter  SFR - Security Functional Requirements: Especificação dos requisitos funcionais de segurança  ST - Security Target: Propriedades de segurança de cada elemento do TOE avaliado contra os SFR

12 Márcio Moreira4. Processo de Desenvolvimento Seguro – slide 12Segurança em Aplicações Common Criteria – Conceitos 2  SAR - Security Assurance Requirements: Que medidas tomadas no desenvolvimento e na avaliação para garantir os requisitos de segurança da aplicação  EAL – Evaluation Assurance Level: Nível de segurança do ST e do TOE (sistema). Valores de 1 a 7, especificados pelo PP.  Padrão ISO: 1 a 4, Exemplo: Windows 2000 (EAL4).  Os níveis de 5 a 7 são muito rígidos, normalmente usados por agências de segurança governamental.

13 Márcio Moreira4. Processo de Desenvolvimento Seguro – slide 13Segurança em Aplicações Como usar a CC no desenvolvimento?  Use padrões (PP) como guia  Especifique os requisitos de segurança (SFR)  Especifique como garantir a segurança (SAR)  Mantenha todos ambientes com no mínimo EAL3  Analise e projete a implementação dos SFR  Use boas práticas de programação  Teste a implementação dos SFR usando os SAR Gere evidências de aderências à norma Se o TOE for crítico, utilize entidades certificadoras para avaliar a segurança

14 Márcio Moreira4. Processo de Desenvolvimento Seguro – slide 14Segurança em Aplicações Como usar a CC em aplicações prontas?  Levante o padrão (PP) aplicável  Levante os SFR da aplicação e dos ambientes (desenvolvimento e produção)  Teste se os SFR foram implementados adequadamente Utilizando os níveis de EAL1 a EAL3 Os níveis superiores requerem testes durante o desenvolvimento  Realize testes de penetração e de ataques que forem aplicáveis  Verifique as evidências apresentadas dos SAR

15 Márcio Moreira4. Processo de Desenvolvimento Seguro – slide 15Segurança em Aplicações Referências e exemplos da CC  Referências: Common Criteria portal Common Criteria – parte 1 (modelo geral) Common Criteria – parte 1 Common Criteria – parte 2 (funcionalidades) Common Criteria – parte 2 Common Criteria – parte 3 (garantias) Common Criteria – parte 3  Exemplos de uso: Especificação dos Requisitos de Segurança do Lotus Notes da EMPRESA X Especificação dos Requisitos de Segurança do Lotus Notes da EMPRESA X Protection Profile – Controlled Access - NSA Windows 2000 – Security Target

16 Márcio Moreira4. Processo de Desenvolvimento Seguro – slide 16Segurança em Aplicações Análise & Projeto  Faça a modelagem de ameaças a nível de componentes (ativo  ameaça  risco) & requisitos  projeto  Defina e revise a segurança da arquitetura  Crie guias de análise e projeto seguros  Crie e use padrões de projeto seguro Camadas, parâmetros fortemente tipados, menor privilégio e minimize as áreas de exposição  Documente as áreas de exposição  Defina critérios para eliminar vulnerabilidades

17 Márcio Moreira4. Processo de Desenvolvimento Seguro – slide 17Segurança em Aplicações Implementação  Use padrões de codificação e testes Isto evita a introdução de novas vulnerabilidades  Use ferramentas de testes de segurança Existem ferramentas que testam até a entrada de dados inválidos para as APIs e interfaces de rede  Use ferramentas de varredura estática de código Algumas ferramentas podem detectar fluxos de código que resultam em vulnerabilidades  Faça revisões Treine os desenvolvedores para fazer revisões e eliminar vulnerabilidades

18 Márcio Moreira4. Processo de Desenvolvimento Seguro – slide 18Segurança em Aplicações Equipe de Implementação  Inclua nos treinamentos os padrões de segurança  Faça treinamentos por perfil: gerente de projeto, arquiteto, analista, desenvolvedor, testador, etc.  Apoie iniciativas de melhorias de padrões  Tenha um especialista em segurança na equipe  Disponibilize o conhecimento existente Escrevendo código seguro Modelagem de ameaças Padrões de projeto Guias de melhores práticas

19 Márcio Moreira4. Processo de Desenvolvimento Seguro – slide 19Segurança em Aplicações Um pequeno descuido  Blaster  Duas linhas de código C no RPCSS (CERT Blaster):CERT Blaster while (*pwszTemp != L'\\') *pwszServerName++ = *pwszTemp++;  Levaram a: >15 milhões de computadores infectados 3.3M de chamados de suporte em Set/2003 (volume normal relacionado a vírus é de 350K) Muita repercussão negativa “Isto aumentará o nível de frustração ao ponto que várias organizações irão contemplar seriamente alternativas à Microsoft”. Gartner Group “É realmente recomendado ter cautela aqui. Os esforços [de segurança da Microsoft] foram sinceros, mas não estou certo se foram sinceros o suficiente.” Forrester Research  Fonte: Microsoft – TechEd José Antonio das Neves Neto

20 Márcio Moreira4. Processo de Desenvolvimento Seguro – slide 20Segurança em Aplicações Testes  Revise código legado  Faça testes de segurança nos componentes  Faça testes de segurança da interface com usuário  Faça testes de ataque e penetração no sistema How to Break Software Security – Addison Wesley 2003  Faça testes de abuso dos SRF e SAR  Faça testes que cubram código novo, código alterado e código antigo  Revise o modelo de ameaças (técnicas e negócio)  Teste todo o modelo de ameaças  Prepare o plano de resposta a ataques

21 Márcio Moreira4. Processo de Desenvolvimento Seguro – slide 21Segurança em Aplicações Custo de correções de falhas Fonte: Research for IBM, publicado por Corsaire Limited em 2004 Fase %

22 Márcio Moreira4. Processo de Desenvolvimento Seguro – slide 22Segurança em Aplicações Distribuição  Crie baselines de distribuições seguras  Atualize as bases de distribuição somente através de ferramentas seguras  Planeje a integridade dos meios físicos  Disponibilize chaves hash de verificação  Inclua verificações de segurança no ambiente antes de instalar o produto  Prepare material orientando o cliente e o usuário sobre procedimentos de segurança

23 Márcio Moreira4. Processo de Desenvolvimento Seguro – slide 23Segurança em Aplicações Gestão de configuração e mudança  Os elementos de segurança devem ser planejados, validados, verificados e corrigidos durante as mudanças  Revisar os requisitos das mudanças em face dos elementos de segurança  Garantir atualização da modelagem de ameaças  Garantir atualização da implementação dos novos elementos de segurança

24 Márcio Moreira4. Processo de Desenvolvimento Seguro – slide 24Segurança em Aplicações Gerência de projetos  O gerente de projeto deve garantir a segurança durante o desenvolvimento  Deve garantir a execução das revisões e dos demais elementos do processo seguro  Deve validar os SFR, SAR e outras questões de segurança com o cliente  Executar a revisão final de segurança

25 Márcio Moreira4. Processo de Desenvolvimento Seguro – slide 25Segurança em Aplicações Ambientes  Ambientes livres de ataques Desenvolvimento, testes, homologação e produção Redes, wireless, servidores, acesso remoto, , impressão, atualização de SO, etc.  Cuidar da segurança física  Planejar os procedimentos de atualização  Use: Single Sign-On, políticas de grupos e processos de gestão de usuários e perfis Mercado de Serviços de Diretórios Fonte: Microsoft TechEd 2005

26 Márcio Moreira4. Processo de Desenvolvimento Seguro – slide 26Segurança em Aplicações Resumo do processo seguro Identifique as diretrizes estratégicas de segurança Identifique as necessidades de segurança Revise o processo de negócio sob a ótica de segurança Modelagem de Negócios Levante os requisitos de segurança e de garantia de segurança Defina os papéis e responsabilidades de segurança Combine os critérios de aceite de segurança Requisitos Analise as ameaças no nível de componentes Defina e revise a arquitetura de segurança Prepare os guias de segurança e treine a equipe Análise & Projeto Use padrões seguros de codificação Faça revisões cruzadas Teste a segurança das unidades e de varredura de código Implementação Faça testes de segurança Faça testes externos Prepare o plano de resposta a ataques Testes Resolva os problemas críticos Crie baslines de distribuições seguras em ambientes seguros Prepare procedimentos de uso e administração seguros Distribuição & Ambiente Faça análise de impacto de segurança das mudanças Garanta a atualização dos artefatos de segurança Avalie as lições aprendidas e refine o processo Gestão de Projetos, Configuração & Mudanças

27 Márcio Moreira4. Processo de Desenvolvimento Seguro – slide 27Segurança em Aplicações Fatores críticos de sucesso  Aplicação obrigatória do processo  Capacitação dos desenvolvedores  Definição das métricas de segurança Estabeleça indicadores, métricas, objetivos e metas  Política de segurança  Grupo de segurança  Especialista em segurança na equipe  Execução das revisões (parcial e final)

28 Márcio Moreira4. Processo de Desenvolvimento Seguro – slide 28Segurança em Aplicações Complexidade x Vulnerabilidades  Webserver market share Apache: 67%, MS-IIS: 25% (Fev/03)  Com SSL: Apache: 54%, MS-IIS: 35% (Set/02)  Fonte: CGI International Fonte: Microsoft Fonte: CERT/CC

29 Márcio Moreira4. Processo de Desenvolvimento Seguro – slide 29Segurança em Aplicações Resultados da aplicação do processo  Microsoft Security Bulletin Search: 1 vulnerabilidade no IIS 6 em dois anos 1 vulnerabilidade no SQL 2000 em dois anos Boletins Críticos + Importantes divulgados após lançamento do produto

30 Márcio Moreira4. Processo de Desenvolvimento Seguro – slide 30Segurança em Aplicações Processos em ascensão  Microsoft SDL - Secure Development Life  Oracle SDP - Secure Development Process Oracle Software Security Assurance Process  IBM CLASP - Comprehensive, Lightweight Application Security Process  SUN SDP - Secure Development Process


Carregar ppt "Especialização em Segurança da Informação Segurança em Aplicações 4. Processo Desenvolvimento Seguro Márcio Aurélio Ribeiro Moreira"

Apresentações semelhantes


Anúncios Google