Upload
carlos-eduardo-dantas
View
49
Download
4
Tags:
Embed Size (px)
Citation preview
Estudo de caso: Cisco Catalyst SwitchApresentadores: Carlos Eduardo Dantas; e
Guilherme Otávio de Sena
1
Roteiro
• Introdução• Definições gerais;
• Cisco;• Switch;• Catalyst;• Telnet;• Memory Leak.
• Bug no Catalyst Switch;• Descrição;• Monitoramento;• Produtos afetados;• Soluções alternativas;• Correções.
• O Fenômeno do Envelhecimento;• Estudando o caso.
• Conclusão;• Referências.
2
INTRODUÇÃO 3
Introdução
• Em 2000, a Cisco Systems relatou uma falha de Softwareafetando vários produtos de switch de rede, incluindo oCatalyst 2900,4000,5000 e 6000 [1].
• A falta estava relacionada com:
• Serviço telnet oferecido por estes produtos;
• Interface de gerenciamento Web permitindo que o administradorda rede tenha acesso às opções através de um console virtualremoto.
• Os efeitos de ativação da falta era um vazamento de memórianos processos telnetd que implementavam estes serviços;
• Com a memória física esgotada o Switch não executouquaisquer outros processos.
4
DEFINIÇÕES GERAIS 5
CISCO SYSTEMS
• Cisco Systems, Inc. é uma empresa multinacional americanasediada em San Jose, Califórnia, que projeta, fabrica e vendeequipamentos de rede [3];
• Oferece soluções para redes e comunicações, como Switches eRoteadores [3].
Figura 1 – Sede da Cisco em San Jose, USA [10]
6
SWITCH
• Equipamento que interliga os computadores em uma rede,direcionando os dados enviados de um computadorespecificamente para outro [6];
• Possui maior eficiência do que HUBs [6].
Figura 2 – Imagem de um Switch Cisco [11]7
CATALYST
• Nome da marca para uma variedade de Switches de redevendidos pela Cisco Systems [7];
• Projetado para atender clientes de pequenas e médiasempresas, e até grandes redes corporativas e provedores deserviços [8].
Figura 3 – Imagem de um Switch Cisco Catalyst 6000 series [12].
8
TELNET
• Protocolo de rede utilizado na Internet ou redes locais [9].;
• Proporciona uma ligação de um cliente a um intérprete decomando do lado servidor [9];
• O Telnet é provavelmente o protocolo de acesso remoto maisantigo. A primeira demonstração foi feita em 1969, muitoantes de ser inventado o padrão Ethernet e antes mesmo daprimeira versão do TCP/IP [9].
• Porta 23
Figura 4 – Execução do telnet em equipamentos Cisco [13].
9
Memory Leak
• Memory leak, ou vazamento de memória, é um fenômenoque ocorre em sistemas computacionais quando uma porçãode memória, alocada para uma determinada operação, não éliberada quando não é mais necessária;
• A ocorrência de vazamentos de memória é quase semprerelacionada a erros de programação e pode levar a falhas nosistema se a memória for completamente consumida;
• O programa de computador incorretamente gerenciaalocações de memória de tal forma que a memória que não émais necessária não é liberada.
10
BUG NO CATALYST SWITCH 11
DESCRIÇÃO
• Cisco Systems em [1] relatou uma falha de software afetando váriosprodutos de switch de rede, incluindo o Catalyst 2900, 4000, 5000 e6000;
• A falta estava relacionada com o serviço de gerenciamentofornecido por esses produtos (Telnet e interface web);
• Vazamento de memória nos processos que implementaram essesserviços.
• A acumulação de tais erros gradualmente degradou todo o estadodo sistema em termos de disponibilidade de memória física.
• Prejudicando serviço de encaminhamento de tráfego egerenciamento.
12
DESCRIÇÃO
• A incorreta liberação de memória acontecia sob duas circunstâncias:
• Uma conexão telnet fechada devido à falha de autenticação; ou
• Um login bem sucedido com duração extremamente curta.
• A falta estava relacionada com o serviço telnet fornecido por esses produtos, bem como a sua interface de gerenciamento web permitindo que o administrador da rede tenha acesso às opções através de um console virtual remoto.
13
Figura 5 – Interface web Catalyst Switch 3550 Series [14].
14
MONITORAMENTO
• O comando “show process memory” vai indica aumento davariável “Holding” de memória depois de tentativasfracassadas de autenticação telnet.
• O valor não irá diminuir ao longo do tempo, exceto quandoum reboot, reload ou um ciclo de energia ocorre.
15
MONITORAMENTO• Allocated - a quantidade total de bytes que foram afetados pelo
processo desde o router inicializado [15];
• Freed - a quantidade total de bytes que foram lançados por esteprocesso [15];
• Holding - quantidade total de bytes atualmente ocupado por esteprocesso. Esta é a coluna mais importante para a solução deproblemas, porque mostra a quantidade real de memória atribuídaa este processo [15].
• Holding não é necessariamente igual a Allocated subtraída de Freed
Figura 6 – Comando “show process memory” [1].
16
MONITORAMENTO• A versão 4.5 do Catalyst não inclui o comando "show process
memory“;
• Usar o comando "show mbuf total" para monitorar a memória doswitch;
• O que pode indicar o vazamento:
• os valores de "free mbufs" ou "clusters" quando nunca aumentam;
• o valor de "lowest free mbufs" tem um valor aproximado a zero ou zero;
Figura 7 – Execução do comando “show mbuf total” [1].
17
PRODUTOS AFETADOS• Séries Catalyst 4000 e 5000 executando as versões 4.5(2) até
5.5(4) e 5.5(4a).
• Série Catalyst 6000 executando a versão 5.3(1)CSX, incluindo aversão 5.5(4) e 5.5(4a).
• As versões 6.1 e 6.1b destas séries não foram afetadas nostestes, mas também foram geradas correções de código paraestas versões, por medidas de precaução.
18
SOLUÇÕES ALTERNATIVAS
• Usar outros dispositivos para controlar estritamente ou proibiro acesso de telnet para o switch, permitindo apenas asconexões de sua rede local;• Listas de controle de acesso no switch pode limitar a exploração
remota da vulnerabilidade;• set ip permit enable telnet
• set ip permit <addr> [mask]
• O gerenciamento remoto do switch também pode serdesativado;
• As soluções acima são fornecidas como uma opção; noentanto, a recomendação é atualizar o código corrigido, logoque possível.
19
CORREÇÕES
• Catalyst Release 4.5(10) para Catalyst 4000 e 5000;
• Catalyst Release 5.5(4b) para Catalyst 4000, 5000 e 6000;
• Catalyst Release 6.1(1)b e 6.1(2) para Catalyst 6000.
20
O FENÔMENO DO ENVELHECIMENTO 21
ESTUDANDO O CASO
• Considerando uma falha gerada no ambiente dedesenvolvimento, ou seja, algum desenvolvedor falhou naprestação de seu serviço, resultando em uma falta internadormente (AR Fault), presente no código-fonte do programa;
• Ativada na presença de padrões específicos de ativação,denominados fatores de envelhecimento (Aging Factors):
• Conexão telnet fechada devido à falha de autenticação; ou
• Login bem sucedido que teve uma duração extremamente curta,via interface web.
22
ESTUDANDO O CASO
• A AR Fault resulta na não liberação de memória alocadadinamicamente para o processo dentro do Switch;
• A AR Fault ocasiona um erro (AR Error) - o vazamento dememória, cujos efeitos acumulados com o tempo de execuçãocausam a degradação do sistema/aplicação - nesse caso, oserviço fornecido pelo Switch;
• Esses efeitos acumulados em sucessivas ocorrências sãodenominados efeitos de envelhecimento (Aging Effects);
• Provoca o deslocamento gradual do estado interno do sistema decorreto para um estado de falha provável. Esses estados podemser divididos em:
• Saudável;
• Falha provável;
• Falha.
23
ESTUDANDO O CASO
• Os efeitos de envelhecimento são classificados quanto à suapersistência:
• Voláteis
• Não Voláteis.
• Em [1]:
• “A series of failed telnet authentication attempts to the switchcan cause the Catalyst Switch to fail to pass traffic or acceptmanagement connections until the system is rebooted or a powercycle is performed.”
24
ESTUDANDO O CASO
• Depois de um certo tempo de execução interrupto do sistema,somado ao acúmulo de AR Error, acontecerá uma falha nosistema (AR Failure), impedindo o Switch de realizar quaisqueroutros processos;
• Encaminhamento de tráfego;
• Conexões de gerenciamento.
• Uma AR Failure acontece sempre na presença de condiçõesambientais.
• Quantidade de memória disponível.
• No caso em questão a memória varia de equipamento paraequipamento.
25
ESTUDANDO O CASO
Figura 8 – Diagrama representando o estudo do caso
26
CONCLUSÃO 27
CONCLUSÃO
• As faltas, erros e falhas são relacionadas com oenvelhecimento, pois os efeitos de envelhecimento não sãoreversíveis sem intervenção externa, no melhor caso, osefeitos param de se acumular como consequência da nãoativação de AR Faults - na ausência de Aging Factors).
• O problema relatado é relevância importância para indústria,devido grande utilização de redes de computadores eequipamentos Cisco – especialmente Catalyst Switches.
28
REFERÊNCIAS• GROTTKE, M., MATIAS JR., R, TRIVEDI, K.S.. The Fundamentals of Software Aging. 2008. 6 pág.
Software Reliability Engineering Workshops.• [1] "http://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20001206-
catalyst-memleak". Acesso em 30 de Março de 2015.• [2] "http://www.securityfocus.com/advisories/2948". Acesso em 30 de Março de 2015.• [3] "Cisco, Form 10-K, Annual Report, Filing Date Sep 12, 2012". secdatabase.com. Retrieved
March 25, 2013". Acesso em 30 de Março de 2015.• [4] "http://www.ciscopress.com/articles/article.asp?p=25172&rl=1". Acesso em 30 de Março de
2015.• [5] "http://newsroom.cisco.com/press-release-content?type=webcontent&articleId=456320".
Acesso em 30 de Março de 2015.• [6] "http://en.wikipedia.org/wiki/Network_switch#cite_ref-1". Acesso em 30 de Março de 2015.• [7] "http://en.wikipedia.org/wiki/Cisco_Catalyst#cite_note-1". Acesso em 30 de Março de 2015.• [8] "https://www.informit.com/library/content.aspx?b=CCNP_Studies_Switching&seqNum=7".
Acesso em 30 de Março de 2015.• [9] "http://tools.ietf.org/html/rfc15". Acesso em 30 de Março de 2015.• [10] "http://news.theregistrysf.com/wp-content/uploads/2012/07/Cisco-Tower.jpg". Acesso em
30 de Março de 2015. • [11] "http://www.oficinadosbits.com.br/products/Informacao/Images/9157.jpg". Acesso em 30
de Março de 2015.• [12] "http://www.cisco.com/c/en/us/products/switches/nexus-6000-series-
switches/index/_jcr_content/series_data_hero/data-hero-image/data-hero-image-trigger/parsys-for-c26v4/frameworkimage.img.jpg/n6k_large_photo.jpg". Acesso em 30 de Março de 2015.
• [13] "https://araihan.files.wordpress.com/2010/07/11.jpg". Acesso em 30 de Março de 2015.• [14] "http://www.petri.com/images/csc_basics_of_cisco_switch_administration_b_04.jpg".
Acesso em 30 de Março de 2015.• [15] "http://www.cisco.com/c/en/us/support/docs/ios-nx-os-software/ios-software-releases-121-
mainline/6507-mallocfail.html". Acesso em 30 de Março de 2015.• [16] "http://www.cisco.com/c/en/us/support/docs/switches/catalyst-4000-series-
switches/18935-121.html". Acesso em 30 de Março de 2015.
29