You are on page 1of 32

Propostas de Autenticação para o Protocolo de Gerência de Redes SNMP

Mauro Tapajós Santos
Rafael T. De Sousa Jr. (Orientador)
ENE - FT - UnB

Proposta deste Trabalho
Realizar um estudo sobre a segurança do protocolo de gerência de redes SNMP Analisar o desenvolvimento da nova versão do SNMP: SNMPv3 Propor soluções para o problema da segurança em SNMP Implementar as soluções propostas e discuti-las

Estudo Teórico e Análises

SNMP
É o protocolo de gerência mais usado por fabricantes e operadores de redes de comunicação Baseado na arquitetura TCP/IP Simples para ser implementado em todo tipo de equipamentos Flexível o bastante para aceitar futuras modificações

Arquitetura SNMP
Interface FDDI MIB Agente SNMP Software de aplicação Agente SNMP MIB

Gerente SNMP

PC MIB Agente SNMP

Roteador Agente SNMP MIB

Operações SNMP
GetRequest GetResponse

Porta 161

GetNextRequest GetResponse

Porta 161

SetRequest GetResponse

MIB

Porta 162

Trap

Gerente

Agente

Mensagem SNMP
Versão Community-string PDU (Protocol Data Unit)

Dados efetivos de gerência a serem analisados e processados

Este campo carrega o nome de comunidade que o originador da mensagem está usando.

Número inteiro indicando a versão do SNMP sendo usada

SNMPv2
Evolução natural para corrigir falhas, limitações e, principalmente, falta de segurança A abrangente proposta SNMPv2 ³Clássica´ baseada em parties   fracasso SNMPv2c: assimilou somente as novas mensagens e correções, esperando ainda:
Segurança Configuração Remota Infra-estrutura Administrativa

SNMPv2c é a atual versão do protocolo

Operações SNMPv2
GetRequest GetResponse

Porta 161

informRequest GetResponse

Porta 161

GetNextRequest GetResponse

Porta 161

SetRequest GetResponse

MIB

Porta 162

Trap

Gerente

Gerente

Agente

SNMPv3
Não é toda uma nova versão, e sim um complemento para as atuais versões do SNMP Pretende oferecer serviços de segurança, infra-estrutura administrativa e configuração remota de agentes Muda o formato da mensagem SNMP Ainda está em discussão

Modelo de Segurança Baseado em Usuário (USM)
É o único modelo sendo proposto para SNMPv3 Cada usuário armazena dados de segurança próprios Serviços/protocolos de segurança:
Autenticação (HMAC - MD5 ou SHA) Proteção de replays Privacidade (DES)

Observações sobre o Modelo USM
Apenas um único método é proposto para a troca de chaves no modelo USM Esta troca depende de serviços de privacidade Seu único protocolo de privacidade sendo proposto é baseado no algoritmo DES Neste modelo, autentica-se um usuário definido dentro do mesmo

Situação Atual do Protocolo SNMP
SNMP v1 e v2c são largamente usadas por fabricantes e operadores Utiliza esquema de segurança trivial baseada em community-strings Inibição do uso das operação de controle (sets) A aceitação de SNMPv3 é uma incógnita

Diretrizes para a solução
Tentar manter a coerência com os esforços de desenvolvimento do SNMPv3 Oferecer um serviço de autenticação sem a necessidade de um serviço de privacidade Não mudar a operação normal do protocolo nem o formato básico de sua mensagem As especificações não impedem a utilização de outros procedimentos de autenticação

Desenvolvimento das Propostas

Ameaças à Segurança do Protocolo SNMP Consideradas
Quem está requisitando a operação? (Mascaramento/Identificação da origem) Os dados foram alterados no seu percurso pela rede? (Modificação da Informação) Serviços de Segurança Desejados
Autenticação da origem Integridade dos dados

Idéias Básicas das Propostas
Implementar chaves de autenticação que variam constantemente (chaves dinâmicas) Propor solução integrada com a operaçao do protocolo, sem prejudicá-la Utilizar o campo community para transportar a informação de autenticação Autenticar as respostas com as mesmas chaves usadas no requests Usar um novo reqID e uma nova chave de autenticação para cada novo request

Chaves Dinâmicas
A informação de autenticação deverá ser gerada em função da mensagem, da chave de autenticação e do nome de comunidade (controle de acesso) No caso de um ataque, somente a mensagem em questão é comprometida Tamanho das chaves de autenticação: 128 bits

Novo campo community

Campo community total (OCTET STRING)

T

L

T L

NOME DA COMUNIDADE

T L

INFORMAÇÃO DE CHAVE

T L

DIGEST DA MENSAGEM

Processo de Autenticação de uma Mensagem
Informação de autenticação gerada é inserida no campo community da mensagem

PDU

Informação de Autenticação
Mensagem SNMP enviada

Versão Agente SNMP

Gerente SNMP

Na recepção é gerada a informação de autenticação da mensagem a partir das informações da mensagem e da chave de autenticação local esperada. Se forem iguais, a mensagem é aceita

Protocolo Auth-P
Gerador Aleatório

Gerente SNMP

Kmestre Ktransação
C

Geração do Digest (H)

Agente SNMP

comunidade Kcipher

digest (Ktransação) C

Kmestre

Ktransação
Teste da Autenticação (H)

Protocolo Auth-N
Gerente SNMP

Kgeradora hn Ktransação
Geração do Digest (H) Agente SNMP

comunidade

n

digest (Ktransação)

Kgeradora hn Ktransação

Teste da Autenticação (H)

Algoritmos Criptográficos Utilizados
j Protocolo Auth-N

Função de hash chaveada H : HMAC-MD5 Função de hash h : MD5
j Protocolo Auth-P

Função de hash chaveada H : HMAC-MD5 Cifrador de blocos C : blowfish

Análise dos Protocolos Auth-P e Auth-N
A origem sendo autenticada é um endereço de rede Existirá uma tabela Endereço de Rede/Chaves de Autenticaçao para cada entidade SNMP Implementações Auth-P ou Auth-N conviverão na mesma rede com dispositivos SNMPv1/v2c básicos

Análise dos Protocolos Auth-P e Auth-N (cont.)
Auth-P atravessa a chave de autenticação criptografada pela rede Auth-N não atravessa qualquer informação direta da chave de autenticação usada Auth-N depende da sequência de mensagens, está sujeito à perda de sincronismo das chaves

Demonstração da Implementação Realizada

Esquema da Demonstração
Requests SNMP Responses SNMP

Hub

Máquina Linux agente_snmp: Agente SNMP

Máquina Linux aplic_snmp: aplicações SNMP de teste, simulando um gerente

Máquina Windows Controle da Apresentação

Tabela Comparativa
Auth-P Auth-N Geração de Necessita de um bom Não precisa Informação Aleatória gerador aleatório Dados a Serem 1 chave: chave 2 chaves: chaves matriz e Inicializados mestre geradora inicial 2, MD5 para a função Algoritmos Apenas 1, MD5 para as H (HMAC-MD5) e Criptográficos funções h (MD5) e H (HMACblowfish para a Implementados MD5) função C Aumento do Código 9% 4,43 % Executável Aumento da 2% 0,4 % Utilização de Memória Depende do valor de w. Os valores testados estão entre Velocidade da 2,37 a velocidade do 3 (w=50) a 22 (w=1000) Autenticação agente SNMP normal vezes a velocidade do agente SNMP normal. Autenticação de Mensagens Sim Não Espontâneas (traps) ?

Conclusão
Ainda é possível se implementar segurança nas versões v1 e v2c do protocolo SNMP Existe a necessidade de inicialização de dados de segurança, assim como SNMPv3 Auth-P e Auth-N poderiam ser outras opções para protocolo de autenticação dentro do modelo USM de SNMPv3) Com estes protocolos, o agente ainda permanece simples

Sugestões
Implementação de um possível ³escudo autenticador´ para dispositivos SNMP que usam autenticação trivial Projeto de novos protocolo de autenticacão para o modelo USM, baseados na propostas apresentadas Estudo da possibilidade de se autenticar somente algumas mensagens (como os sets)

Perguntas / Observações

Mauro Tapajós Santos e-mail: maurotapajos@gmail.com