29
Estudo de caso: Cisco Catalyst Switch Apresentadores: Carlos Eduardo Dantas; e Guilherme Otávio de Sena 1

Estudo de Caso Envelhecimento de Software - Switch cisco catalyst

Embed Size (px)

Citation preview

Page 1: Estudo de Caso Envelhecimento de Software - Switch cisco catalyst

Estudo de caso: Cisco Catalyst SwitchApresentadores: Carlos Eduardo Dantas; e

Guilherme Otávio de Sena

1

Page 2: Estudo de Caso Envelhecimento de Software - Switch cisco catalyst

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

Page 3: Estudo de Caso Envelhecimento de Software - Switch cisco catalyst

INTRODUÇÃO 3

Page 4: Estudo de Caso Envelhecimento de Software - Switch cisco catalyst

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

Page 5: Estudo de Caso Envelhecimento de Software - Switch cisco catalyst

DEFINIÇÕES GERAIS 5

Page 6: Estudo de Caso Envelhecimento de Software - Switch cisco catalyst

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

Page 7: Estudo de Caso Envelhecimento de Software - Switch cisco catalyst

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

Page 8: Estudo de Caso Envelhecimento de Software - Switch cisco catalyst

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

Page 9: Estudo de Caso Envelhecimento de Software - Switch cisco catalyst

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

Page 10: Estudo de Caso Envelhecimento de Software - Switch cisco catalyst

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

Page 11: Estudo de Caso Envelhecimento de Software - Switch cisco catalyst

BUG NO CATALYST SWITCH 11

Page 12: Estudo de Caso Envelhecimento de Software - Switch cisco catalyst

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

Page 13: Estudo de Caso Envelhecimento de Software - Switch cisco catalyst

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

Page 14: Estudo de Caso Envelhecimento de Software - Switch cisco catalyst

Figura 5 – Interface web Catalyst Switch 3550 Series [14].

14

Page 15: Estudo de Caso Envelhecimento de Software - Switch cisco catalyst

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

Page 16: Estudo de Caso Envelhecimento de Software - Switch cisco catalyst

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

Page 17: Estudo de Caso Envelhecimento de Software - Switch cisco catalyst

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

Page 18: Estudo de Caso Envelhecimento de Software - Switch cisco catalyst

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

Page 19: Estudo de Caso Envelhecimento de Software - Switch cisco catalyst

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

Page 20: Estudo de Caso Envelhecimento de Software - Switch cisco catalyst

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

Page 21: Estudo de Caso Envelhecimento de Software - Switch cisco catalyst

O FENÔMENO DO ENVELHECIMENTO 21

Page 22: Estudo de Caso Envelhecimento de Software - Switch cisco catalyst

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

Page 23: Estudo de Caso Envelhecimento de Software - Switch cisco catalyst

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

Page 24: Estudo de Caso Envelhecimento de Software - Switch cisco catalyst

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

Page 25: Estudo de Caso Envelhecimento de Software - Switch cisco catalyst

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

Page 26: Estudo de Caso Envelhecimento de Software - Switch cisco catalyst

ESTUDANDO O CASO

Figura 8 – Diagrama representando o estudo do caso

26

Page 27: Estudo de Caso Envelhecimento de Software - Switch cisco catalyst

CONCLUSÃO 27

Page 28: Estudo de Caso Envelhecimento de Software - Switch cisco catalyst

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

Page 29: Estudo de Caso Envelhecimento de Software - Switch cisco catalyst

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