Uma Proposta de Gerenciamento de Atualizações de Segurança (patches) Renato Navajas CEGSIC 2009 O que é um patch “Correção temporária efetuada em um programa; pequena correção executada pelo usuário no software, com as instruções do fabricante do software”. ABNT ISO/IEC 27002 Tipos de patches Funcionalidade Correção de um problema funcional – bug fix Recursos Introduzem um novo recurso a um software já existente. Segurança Correção de vulnerabilidades identificadas em um software; Empregado para mitigar uma vulnerabilidade de forma permanente; Objeto primordial do gerenciamento de patches. O paradoxo do patch “Sem um patch um ativo é vulnerável a um ataque e com um patch o ativo é vulnerável à falha.” Dominic White Vulnerabilidades de software As vulnerabilidades dos softwares são produto de erros de programadores. “Os patches são um fato da vida para os administradores de sistemas”. Jesper M. Johansson e Steve Riley Ciclo de vida de uma vulnerabilidade Evolução das vulnerabilidades de software 7000 6000 5000 4000 3000 2000 1000 0 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 National Vulnerability Database Sofisticação do ataque Lipson Outras dificuldades… A janela de vulnerabilidade está encolhendo. “Cerca de 95% de todas as intrusões de rede poderiam ser evitadas se os sistemas fossem atualizados com os patches apropriados”. CERT Os patches podem ser imprevisíveis e complexos. Período ótimo para implementação Shostack O processo deve ser formalizado e definido O processo de gerenciamento de patches deve ser formalizado e definido em uma política, de forma a minimizar o risco dessa atividade ser relegada a um segundo plano. “A ênfase na documentação nunca é demais, pois as políticas e procedimentos devem ser aptos a sobreviver à rotatividade da equipe.” (Voldal) Principais normas sobre gerenciamento de patches ISO/IEC 27002 NIST SP 800-40 v. 2.0 Práticas recomendadas pela indústria de software Práticas recomendadas para um processo 1. Coleta de informações 2. Análise de risco 3. Agendamento e estratégia de implementação 4. Testes 5. Planejamento e gerência de mudanças 6. Implementação de patches e instalação 7. Verificação e relatórios 8. Manutenção Dominic White Práticas recomendadas para um processo - 2 1. Coleta de informações Inventário de hosts e ativos. Pesquisa de patches e vulnerabilidades. Pesquisa de exploits e ameaças. 2. Análise de risco Patch e ameaças de segurança. Patch e impactos de segurança. Análise de risco. 3. Agendamento e estratégia de implementação Definir agendamento de patches. Minimizar mudanças. 4. Testes Espelhar ambiente de produção em laboratório de testes. Verificar autenticidade do patch, dependências e requisitos, se a vulnerabilidade é remediada, conflitos com outras aplicações. Criar passos repetitivos para verificar a instalação do patch. Testar etapas de desinstalação. 5. Planejamento e gerência de mudanças Mudança proposta. Planos de contingência e desinstalação. Mitigação de risco. Monitoramento de patches e aceitação. 6. Implementação de patches e instalação Automatizar onde for possível. Mecanismo seguro de distribuição de patch. Utilizar tecnologia para acelerar o gerenciamento de patches. 7. Verificação e relatórios Verificar se os patches foram instalados em todas as máquinas relevantes. Seguir planos de contingência caso o patch seja defeituoso. Gerar métricas. Relatar e documentar progresso. 8. Manutenção Analisar a política para aperfeiçoamento. Treinar a equipe. Gerenciamento de patches não é tudo... (1) “O gerenciamento de patches é apenas parte de uma estratégia de segurança global.” Outros componentes requeridos incluem: políticas de segurança, padrões; arquitetura de segurança; resposta a incidentes de segurança; antivírus; defesa de perímetro; detecção de intrusões.” Gregory Gerenciamento de patches não é tudo... (2) Outras estratégias complementares ao processo de gerenciamento de patches são: padronização de softwares; fortalecimento (hardening) do sistema operacional; gerência do ciclo de vida dos softwares da organização. Recomendações para a APF Inclusão nos contratos de fornecimento de mãode-obra terceirizada para suporte de redes, cláusulas que especifiquem: que deve ser executado o gerenciamento de patches; quais deverão ser os níveis de serviço para esta atividade; quais os relatórios que deverão ser fornecidos para o monitoramento desta atividade por parte do contratante. Obrigado! Renato Navajas [email protected] [email protected]