PCF-3

Questões comentadas, artigos e notícias

Prova de 2002: Segurança e Redes, questões 40, 41 e 44

Posted by papacharliefox3 em 14/03/2009

E aí pessoal! Mais umas da prova de 2002. Todas as questões comentadas no blog desta prova podem ser acessadas por meio do menu esquerdo ou clicando aqui.

Questão 40

Com relação aos comprometimentos de máquinas originados a partir da exploração de uma sobrecarga de buffer (buffer overflow), julgue os itens abaixo.

1 A ocorrência de comprometimento está restrita aos sistemas de código aberto.
2 O comprometimento independe da linguagem utilizada na implementação do programa específico que tem seu buffer sobrecarregado.
3 Pode-se evitar o buffer overflow utilizando-se firewalls na proteção das máquinas.
4 O buffer overflow consiste em injetar uma cadeia de caracteres longa o suficiente para ocupar totalmente o buffer atacado, seguindo-se uma chamada de sistema que executa o código malicioso.
5 O buffer overflow genérico utiliza, na sua implementação, o fato de que, na cadeia de caracteres do buffer, só podem ocorrer caracteres distintos do delimitador de cadeias, sendo, então, normalmente utilizado no preenchimento do buffer o código correspondente ao NOOP do sistema-alvo, facilitando a estimação do endereço de retorno da chamada de sistema.

Comentários:

Cinco questões sobre Buffer Overflow, para quem já conhece o assunto, deve lembrar do famoso artigo do moderador da Bugtraq, Aleph One: “Smashing the Stack for Fun and Profit”. O artigo está disponível na e-zine hacker mais famosa (a 2600 era impressa, correto?), mais especificamente na edição 49 da Phrack Magazine, publicada em 1996.

Na item 1, ocorre mais uma das palavras ‘perigosas’: restrita. O BOF pode ocorrer em qualquer sistema, seja ele de código aberto ou proprietário.

Na item 2, entendamos ‘comprometimento’ como a exploração de um BOF (soou meio homosexual isso, não? Deixa pra lá…). Dessa forma, podemos afirmar que explorar um BOF em um programa codificado em C é a mesma coisa que explorar o mesmo tipo de vulnerabilidade em um programa Java, por exemplo? Para tanto, não precisamos saber como ocorre o estouro/sobrecarga de buffer em cada linguagem, mas apenas que serão comportamentos distintos. Logo, depende de cada implementação.

Na item 3, firewalls é citado de forma ampla, a meu ver. Assim, como impedir um BOF inspecionando – no máximo – a camada de transporte (statefull inspection)? O payload do BOF está nos dados (aplicação).

Na item 4 descreve-se perfeitamente características dos BOFs.

Por fim, na item 5, o NOOP significa “No Operation”. Trata-se de uma instrução de máquina utilizada para simplesmente não executar nada (esqueçam o raciocínio lógico aqui), e passar para próxima instrução até chegar ao jump para o código malicioso, previamente armazenando em memória por meio do estouro do buffer.

Questão 41

Um administrador recebeu a tarefa de instalar um sistema de detecção de intrusão (IDS) adequado em sua rede. Considerando que a rede utiliza apenas comutadores (switches), é correto afirmar que o administrador

1 não conseguirá executar a tarefa com sucesso, já que, no switch, ao contrário do hub, cada porta tem um domínio de colisão distinto.
2 pode, na implantação do sistema IDS, configurar com sucesso o switch para modo debug, ou equivalente, em que o mesmo passa a operar como hub, sem prejuízo ao desempenho.
3 pode, na configuração do sistema IDS, espelhar as portas do switch para a porta de backbone, normalmente usada para uplink/downlink, se houver, não precisando se preocupar com o tráfego de todas as portas convergindo para a porta em que está o sensor do IDS.
4 pode instalar, na máquina em que rodará o IDS, um módulo que envie periodicamente pacotes ARP de resposta, contendo o endereço MAC do sensor do IDS e o endereço IP de todas as máquinas que deseja proteger com o IDS, não precisando reconfigurar o switch.
5 pode instalar, na máquina em que rodará o IDS, um módulo que envie periodicamente pacotes ARP de resposta, contendo endereços MAC fictícios para assim preencher totalmente a tabela de endereços físicos do switch, acarretando, porém, prejuízo ao desempenho.

No item 1, fica claro o erro: “não conseguirá executar a tarefa com sucesso…”. É possível instalar um IDS, mesmo em uma rede conectada por meio de switches visto que é possível copiar todo o tráfego para apenas uma porta, onde instala-se o sensor de captura de pacotes.

No item 2, afirma-se que ativar o modo debug, de forma que o switch funcione como um hub não incorre em perda de performance. Desconheço tal modo. Se alguém conhecer, manda aí o modelo! :) Se existir isso, o examinador assumiu que ‘desempenho’ no texto é relacionado ao switch ou a rede? Bem confuso, enfim, eu marcaria errada (felizmente) seguindo o gabarito. O ‘lance’ é ter pulso e coragem pra marcar uma dessas na hora da prova.

No item3, o erro está em direcionar o tráfego para uma porta (up/downlink) e instalar o sensor em outra.

No item 4, é descrito – pobremente – o comportamento de um ataque ARP Spoofing, o que gera o redirecionamento de todos os pacotes ao sensor. (Nota: achei extremamente mal formulada esta questão; sem dúvida, caberiam muitos recursos)

No item5, é descrito – mais porcamente pobremente – o comportamento de um ataque de MAC Flooding, entretanto, novamente, vem a palavra ‘desempenho’, a qual fica empregada de maneira vaga. Desempenho do IDS, da rede ou do switch? Assumindo que seja do último, o switch passará a atuar como um hub, entretanto por meio incomum, sobrecarregando a tabela de registro de endereços MAC. Neste caso, há prejuízo ao desempenho do switch.

Questão 44

Considere uma rede em que há a suspeita da existência de um sniffer instalado em uma das máquinas que compõem a rede, realizando escutas desautorizadas. Com relação a essa situação, julgue os itens abaixo.

1 Constitui boa estratégia de detecção de sniffer aquela que se fundamenta na identificação do tráfego gerado por ele durante a escuta, tráfego que normalmente acontece em grande quantidade, seja o sniffer em redes comutadas ou não.
2 Pode-se detectar a existência de um sniffer na rede usando-se outro sniffer e verificando quem faz consultas de DNS quando uma nova máquina é adicionada à rede.
3 Na identificação de um snnifer, constitui boa estratégia o envio de pings em broadcast e a comparação dos tempos de resposta das várias máquinas no segmento: o tempo de resposta da máquina que contém sniffer provavelmente será maior que o das outras máquinas.
4 Um sniffer comum — passivo — em uma rede comutada consegue capturar tráfego.
5 A detecção de um sniffer quase sempre acontece com sucesso, sendo a sua identificação fundamentada no endereço MAC.

No item 1, o erro está em afirmar que o tráfego gerado pelo sniffer é de grande quantidade.

O item 2 está correto, pois alguns sniffers tentam ‘resolver’ o nome ou IP (reverso) de cada dispositivo ou IP detectado, gerando dessa forma consultas DNS.

Quanto ao item 3, em virtude da grande quantidade de tráfego que um sniffer recebe, o processamento de novos pacotes ou frames é realizado com certo atraso em relação aos demais dispositivos que não atuam em modo promíscuo na rede.

Quanto ao item 4, sem dúvida consegue, o passivo significa que ele não atua na rede enviando frames ou pacotes.

O item final está errado, pois é bastante difícil a detecção de sniffers, principalmente os passivos.

Gabarito Definitivo

40: E E E C C

41: E E E C C

44: E C C C E

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

 
%d blogueiros gostam disto: