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]
Download

apresentacao_renato