Meu perfil
BRASIL, Centro-Oeste, ANAPOLIS, JARDIM BANDEIRANTE, Homem, de 20 a 25 anos, English, Spanish, Informática e Internet, Música
MSN - gtalk




Arquivos

Votação
 Dê uma nota para meu blog

Outros links
 UOL - O melhor conteúdo
 BOL - E-mail grátis




TI - TECNOLOGIA DA INFORMAÇÃO
 


Segurança em Redes 802.11- WPA - Parte II

WPA

O WPA (Acesso Protegido Wi-Fi), conforme encontra-se descrito no artigo do Cable Guy intitulado Visão Geral do WPA (Acesso Protegido Wi-Fi), é um padrão provisório do mercado que torna seguras as redes locais sem fio 802.11 por meio de uma atualização de firmware para adaptadores de rede baseados em 802.11 e pontos de acesso sem fio (APs).
O WPA substitui o WEP (Wired Equivalent Privacy) com a combinação de TKIP (Temporal Key Integrity Protocol), que oferece confidencialidade de dados por meio de criptografia, e Michael, que fornece integridade de dados. Este artigo descreve os detalhes do processo de criptografia e descriptografia TKIP, Michael e WPA.

Recursos de criptografia de TKIP

O WEP no padrão original IEEE 802.11 possui as seguintes desvantagens criptográficas:

O vetor de inicialização (IV) é muito pequeno
O WEP usa o vetor de inicialização em conjunto com a chave de criptografia WEP como entrada ao PRNG (gerador de números pseudo-aleatório) do RC4, que produz um keystream usado para criptografar a carga de quadros 802.11. Com um vetor de inicialização WEP de 24 bits, é fácil capturar múltiplos quadros WEP com o mesmo valor de vetor, facilitando a descriptografia em tempo real.

Integridade de dados frágil
A integridade de dados WEP consiste na realização de uma soma de comprovação CRC-32 (verificação de redundância cíclica - 32) nos bytes na carga 802.11 sem criptografia e, em seguida, criptografando seu valor com WEP. Mesmo criptografados, é relativamente fácil alterar bits na carga criptografada e atualizar adequadamente o resultado CRC-32 criptografado, evitando que o nós receptores detectem que o conteúdo do quadro foi alterado.

Usa a chave mestre em vez de uma chave derivada
A chave de criptografia WEP, tanto configurada manualmente ou determinada pela autenticação 802.1X, é o único material de chave disponível. Portanto, a chave de criptografia WEP é a chave mestre. O uso de uma chave mestre para criptografar dados é menos seguro que o uso de uma chave derivada da chave mestre.

Sem rechaveamento
A chave WEP não fornece um método para atualizar as chaves de criptografia.

Sem proteção contra repetição
A chave WEP não fornece nenhuma proteção contra ataques repetidos, no qual um invasor envia antes uma série de quadros capturados em uma tentativa de obter acesso ou modificar dados.
A seguinte tabela mostra como o TKIP endereçam as desvantagens criptográficas da WEP.
Desvantagens da WEP Como a desvantagem é endereçada pelo WPA
O IV é muito pequeno No TKIP, o IV foi duplicado em tamanho para 48 bits.
Integridade de dados frágil O cálculo da soma de verificação do CRC-32 criptografado por WEP foi substituído por Michael, um algoritmo criado para fornecer integridade de dados forte. O algoritmo Michael calcula um valor de codificação da integridade da mensagem (MIC) de 64 bits, que é criptografado com TKIP.
Usa a chave mestre em vez de uma chave derivada TKIP e Michael usam um conjunto de chaves temporais derivadas de uma chave mestre e outros valores. A chave mestre é derivada do processo de autenticação do protocolo EAP-TLS ou EAP protegido (PEAP) 802.1X. Além disso, a parte secreta da entrada para o RC4 PRNG é alterada com cada quadro através da função de combinação de pacote.
Sem rechaveamento O WPA executa o rechaveamento automaticamente para derivar novos conjuntos de chaves temporais.
Sem proteção contra repetição O WEP usa o vetor de inicialização como um contador de quadros para fornecer proteção contra repetição.

Recursos de criptografia de TKIP

O WEP no padrão original IEEE 802.11 possui as seguintes desvantagens criptográficas:

O vetor de inicialização (IV) é muito pequeno

O WEP usa o vetor de inicialização em conjunto com a chave de criptografia WEP como entrada ao PRNG (gerador de números pseudo-aleatório) do RC4, que produz um keystream usado para criptografar a carga de quadros 802.11. Com um vetor de inicialização WEP de 24 bits, é fácil capturar múltiplos quadros WEP com o mesmo valor de vetor, facilitando a descriptografia em tempo real.

Integridade de dados frágil
A integridade de dados WEP consiste na realização de uma soma de comprovação CRC-32 (verificação de redundância cíclica - 32) nos bytes na carga 802.11 sem criptografia e, em seguida, criptografando seu valor com WEP. Mesmo criptografados, é relativamente fácil alterar bits na carga criptografada e atualizar adequadamente o resultado CRC-32 criptografado, evitando que o nós receptores detectem que o conteúdo do quadro foi alterado.

Usa a chave mestre em vez de uma chave derivada
A chave de criptografia WEP, tanto configurada manualmente ou determinada pela autenticação 802.1X, é o único material de chave disponível. Portanto, a chave de criptografia WEP é a chave mestre. O uso de uma chave mestre para criptografar dados é menos seguro que o uso de uma chave derivada da chave mestre.

Sem rechaveamento
A chave WEP não fornece um método para atualizar as chaves de criptografia.

Sem proteção contra repetição
A chave WEP não fornece nenhuma proteção contra ataques repetidos, no qual um invasor envia antes uma série de quadros capturados em uma tentativa de obter acesso ou modificar dados.

Chaves temporais WPA

Ao contrário do WEP, que usa uma única chave para a criptografia de dados em unicast e, normalmente, uma chave separada para a criptografia de dados em multicast e de difusão, o WPA usa um conjunto de quatro chaves diferentes para cada par de AP com conexão sem fio com o cliente (conhecidas como chaves temporais emparelhadas) e um conjunto de duas chaves diferentes para o tráfego em multicast e difusão.

O conjunto de chaves emparelhadas usado em dados em unicast e o EAP sobre mensagens de chave LAN (EAPOL) consistem em:

Chave de criptografia de dados Uma chave de 128 bits usada para criptografar quadros em unicast.
Chave de integridade de dados Uma chave de 128 bits usada para calcular o MIC em quadros em unicast.
Chave de criptografia EAPOL Uma chave de 128 bits usada para criptografar mensagens da chave EAPOL.
Chave de integridade EAPOL Uma chave de 128 bits usada para calcular o MIC das mensagens da chave EAPOL.

Para derivar as chaves temporais emparelhadas, o WPA usa os seguintes valores:

• PMK (Pairwise Master Key) Uma chave de 256 bits derivada do processo de autenticação do EAP-TLS ou do PEAP.
• Nonce 1 Um número aleatório determinado pelo AP sem fio.
• MAC 1 O endereço MAC do AP sem fio.
• Nonce 2 Um número aleatório determinado pelo cliente com conexão sem fio.
• MAC 2 O endereço MAC do cliente com conexão sem fio.

Para a autenticação 802.1X que usa um servidor RADIUS, o PMK é mutuamente determinado pelo cliente com conexão sem fio e pelo servidor RADIUS, que conduz o PMK para o AP sem fio na mensagem de aceitação de acesso ao RADIUS. Depois de receber o PMK, o AP sem fio inicia a troca de mensagem da chave temporal, que consiste em:

1. A mensagem da chave EAPOL enviada pelo AP sem fio que contém Nonce 1 e MAC 1. Como as chaves temporais em unicast ainda não estão determinadas, essa mensagem é enviada como texto não criptografado e sem proteção de integridade da mensagem. O cliente com conexão sem fio agora tem todos os elementos necessários para calcular as chaves temporais emparelhadas.

2. A mensagem da chave EAPOL enviada pelo cliente com conexão sem fio que contém Nonce 2, MAC 2 e MIC. Como o cliente com conexão sem fio calculou as chaves temporais emparelhadas, ele calcula um MIC usando a chave de integridade EAPOL derivada. O AP sem fio usa os valores Nonce 2 e MAC 2 para derivar as chaves temporais emparelhadas e validar o valor do MIC.

3. A mensagem da chave EAPOL enviada pelo AP sem fio que contém um MIC e um número inicial em seqüência, indicando que o AP sem fio está pronto para começar a enviar quadros criptografados em unicast e da chave EAPOL.

4. A mensagem da chave EAPOL enviada pelo cliente com conexão sem fio que contém um MIC e um número inicial em seqüência, indicando que o cliente com conexão sem fio está pronto para começar a enviar quadros criptografados em unicast e da chave EAPOL.

Esse conjunto de mensagens troca os valores necessários para determinar as chaves temporais emparelhadas, verifica se cada item de mesmo nível tem conhecimento do PMK (verificando o valor do MIC) e indica que cada item de mesmo nível sem fio está pronto para começar a criptografar e a fornecer a proteção de integridade da mensagem para quadros de dados em unicast subseqüentes e mensagens da chave EAPOL.

No tráfego em multicast e de difusão, o AP sem fio deriva uma chave de criptografia de grupo de 128 bits, uma chave de integridade de grupo de 128 bits e envia esses valores para o cliente com conexão sem fio usando a mensagem da chave EAPOL, criptografada com a chave de criptografia EAPOL e a integridade protegida com a chave de integridade EAPOL. O cliente com conexão sem fio confirma o recebimento da mensagem da chave EAPOL com uma mensagem da chave EAPOL.

Processo de criptografia e descriptografia do WPA

O WPA precisa dos seguintes valores para criptografar e proteger a integridade de um quadro de dados sem fio:

• O IV, que é iniciado em 0 e incrementado para cada quadro subseqüente

• A chave de criptografia de dados (para tráfego em unicast) ou a chave de criptografia de grupo (tráfego em multicast ou de difusão)

• O endereço de destino (DA) e o endereço de origem (SA) do quadro sem fio

• O valor do campo Priority (Prioridade), que é definido como 0 e é reservado para objetivos futuros

A chave de integridade de dados (para tráfego em unicast) ou a chave de integridade de grupo (tráfego em multicast ou de difusão)


WPA2

O WPA2 (Wi-Fi Protected Access 2), como descrito no artigo do The Cable Guy de maio de 2005, Wi-Fi Protected Access 2 (WPA2) Overview (em inglês), é uma certificação de produto disponível através da Wi-Fi Alliance, que certifica o equipamento sem fio quanto à compatibilidade com o padrão IEEE 802.11i.
O padrão IEEE 802.11i substitui formalmente o WEP (Wired Equivalent Privacy) no padrão IEEE 802.11 original com um modo específico do AES (Advanced Encryption Standard) conhecido como protocolo CBC-MAC (Counter Mode Cipher Block Chaining-Message Authentication Code) ou CCMP. O CCMP oferece confidencialidade (criptografia) e integridade dos dados. Este artigo descreve os detalhes da implementação WPA2 do CCMP do AES para criptografia, descriptografia e validação da integridade dos dados dos quadros sem fio 802.11.

Recursos de criptografia do WPA2

Como descrito em Wi-Fi Protected Access Data Encryption and Integrity (em inglês), o artigo do The Cable Guy de novembro de 2004, o WEP no padrão IEEE 802.11 original tinha pontos fracos na criptografia.

Chaves temporais do WPA2

Ao contrário do WEP, que usa uma única chave para a criptografia de dados em unicast e normalmente uma chave separada para a criptografia de dados em multicast e de difusão, o WPA2 usa um conjunto de quatro chaves diferentes para cada par de AP sem fio/cliente sem fio (conhecidas como chaves temporais emparelhadas) e um conjunto de duas chaves diferentes para o tráfego multicast e de difusão.
O conjunto de chaves emparelhadas usadas para dados em unicast e EAP por mensagens de chave EAPOL da LAN consiste no seguinte:

• Chave de criptografia de dados Uma chave de 128 bits usada para criptografar quadros em unicast.
• Chave de integridade de dados Uma chave de 128 bits usada para calcular o MIC em quadros em unicast.
• Chave de criptografia EAPOL Uma chave de 128 bits usada para criptografar mensagens da chave EAPOL.
• Chave de integridade EAPOL Uma chave de 128 bits usada para calcular o MIC das mensagens da chave EAPOL.

O WPA2 deriva as chaves temporais emparelhadas usando um processo de handshake de quatro vias que é o mesmo do WPA. Para obter mais informações, consulte a seção "WPA Temporal Keys" do artigo Wi-Fi Protected Access Data Encryption and Integrity (em inglês).

Processo de criptografia e descriptografia do WPA2

O CCMP do AES usa o CBC-MAC para calcular o MIC e o modo de contador do AES para criptografar a carga do 802.11 e o MIC. Para calcular o valor de um MIC, o CBC-MAC do AES usa o seguinte processo:
1. Criptografa um bloco inicial de 128 bits com o AES e a chave de integridade de dados. Isso produz um resultado de 128 bits (Resultado1).
2. Executa uma operação OR (XOR) exclusiva entre Resultado1 e os 128 bits de dados seguintes pelos quais o MIC está sendo calculado. Isso produz um resultado de 128 bits (XResultado1).
3. Criptografa o XResultado1 com o AES e a chave de integridade de dados. Isso produz o Resultado2.
4. Executa um XOR entre Resultado2 e os 128 bits de dados seguintes. Isso produz o XResultado2.
As etapas 3-4 se repetem para os blocos de 128 bits adicionais dos dados. Os 64 bits de ordem superior do resultado final são o MIC do WPA2.
Para calcular o MIC de um quadro IEEE 802.11, o WPA2 constrói o seguinte:
• O bloco inicial é um bloco de 128 bits descrito posteriormente neste artigo.
• O cabeçalho MAC é o cabeçalho MAC 802.11 com os valores dos campos que podem ser alterados em trânsito definidos como 0.
• O cabeçalho CCMP tem 8 bytes e contém o campo Número do pacote de 48 bits e campos adicionais.
• Os bytes de preenchimento (definidos como 0) são adicionados para garantir que a parte do bloco de dados inteiro até os dados de texto sem formatação seja um número integral de blocos de 128 bits.
• Os dados são a parte de texto sem formatação (não criptografados) da carga do 802.11.
• Os bytes de preenchimento (definidos como 0) são adicionados para garantir que a parte do bloco de dados do MIC que inclui os dados de texto sem formatação seja um número integral de blocos de 128 bits.
Ao contrário da integridade de dados do WEP e do WPA, o WPA2 fornece integridade de dados para o cabeçalho do 802.11 (exceto os campos alteráveis) e a carga do 802.11.

O bloco inicial para o cálculo do MIC consiste no seguinte:
• O campo Sinalizador (8 bits) é definido como 01011001 e contém vários sinalizadores, como um sinalizador que indica que o MIC usado no quadro 802.11 tem 64 bits de comprimento.
• O campo Prioridade (8 bits) é reservado para finalidades futuras e é definido como 0.
• O Endereço de origem (48 bits) é do cabeçalho MAC 802.11.
• O Número do pacote (48 bits) é do cabeçalho CCMP.
• O comprimento dos dados de texto sem formatação em bytes (16 bits).
O algoritmo de criptografia do modo de contador do AES usa o seguinte processo:
1. Criptografa um contador inicial de 128 bits com o AES e a chave de criptografia de dados. Isso produz um resultado de 128 bits (Resultado1).
2. Executa uma operação OR (XOR) exclusiva entre Resultado1 e o primeiro bloco de 128 bits dos dados que estão sendo criptografados. Isso produz o primeiro bloco criptografado de 128 bits.
3. Incrementa o contador e o criptografa com o AES e a chave de criptografia de dados. Isso produz o Resultado2.
4. Executa um XOR entre Resultado2 e os 128 bits de dados seguintes. Isso produz o segundo bloco criptografado de 128 bits.
O modo de contador do AES repete as etapas 3-4 para os blocos de 128 bits adicionais de dados, até o bloco final. Para o bloco final, o modo de contador do AES executa o XOR do contador criptografado com os bits restantes, produzindo dados criptografados do mesmo comprimento que o último bloco de dados.
O valor inicial do contador do modo de contador do AES consiste no seguinte:
• O campo Sinalizador (8 bits) é definido como 01011001, que é o mesmo valor de Sinalizador usado para o cálculo do MIC.
• O campo Prioridade (8 bits) é reservado para finalidades futuras e é definido como 0.
• O Endereço de origem (48 bits) é do cabeçalho MAC 802.11.
• O Número do pacote (48 bits) é do cabeçalho CCMP.
• O campo Contador (16 bits) é definido como 1 e será incrementado apenas se uma carga do 802.11 for fragmentada em cargas menores. Observe que este campo Contador não é o mesmo que o valor do contador de 128 bits usado no algoritmo de criptografia do modo de contador do AES.
Para criptografar um quadro de dados em unicast, o WPA2 usa o seguinte processo:
1. Insere o bloco inicial, o cabeçalho MAC 802.11, o cabeçalho CCMP, o comprimento dos dados e campos de preenchimento no algoritmo CBC-MAC com a chave de integridade de dados para produzir o MIC.
2. Insere o valor do contador inicial e da combinação dos dados com o MIC calculado no algoritmo de criptografia do modo de contador do AES com a chave de criptografia de dados para produzir os dados criptografados e o MIC.
3. Adiciona o cabeçalho CCMP contendo o Número do pacote à parte criptografada da carga do 802.11 e encapsula o resultado com o cabeçalho e as informações finais do 802.11.
Para descriptografar um quadro de dados em unicast e verificar a integridade dos dados, o WPA2 usa o seguinte processo:
1. Determina o valor do contador inicial a partir dos valores nos cabeçalhos do 802.11 e do CCMP.
2. Insere o valor do contador inicial e a parte criptografada da carga do 802.11 no algoritmo de descriptografia do modo de contador do AES com a chave de criptografia de dados para produzir os dados descriptografados e o MIC. Para a descriptografia, o modo de contador do AES executa o XOR do valor do contador criptografado com o bloco de dados criptografados, produzindo o bloco de dados descriptografados.
3. Insere o bloco inicial, o cabeçalho MAC 802.11, o cabeçalho CCMP, o comprimento dos dados e campos de preenchimento no algoritmo CBC-MAC do AES com a chave de integridade de dados para calcular o MIC.
Compara o valor calculado do MIC com o valor do MIC não criptografado. Se os valores do MIC não corresponderem, o WPA2 descartará os dados silenciosamente. Se os valores do MIC corresponderem, o WPA2 passará os dados para as camadas de rede superiores para processamento.







Escrito por Josué Camelo às 13h53
[] [envie esta mensagem
] []





Segurança em Redes 802.11 - WEP

Wep

O processo de disfarçar um dado binário de forma a esconder o conteúdo de sua informação é chamado de criptografia ou cifragem. O processo de recuperação do texto original a partir de um texto cifrado é chamado de descriptografia ou decifragem.
O Wired Equivalent Privancy - WEP - é um algoritmo de criptografia desenvolvido pelos membros voluntários do IEEE. Sua intenção é oferecer segurança através da rede wireless 802.11, enquanto o dado é transmitido de um ponto a outro, através de ondas de rádio. Dessa forma, o WEP pretende proporcionar funcionalidades para wireless LAN, equivalentes àquelas fornecidas pelos atributos de segurança física inerentes ao meio cabeado: oferece proteção da comunicação wireless contra estações não-autorizadas que possam "escutar" os dados (confidencialidade), previne contra acessos não-autorizados (controle de acesso) e contra modificações de mensagens transmitidas (integridade dos dados).
O algoritmo WEP foi o primeiro padrão de segurança proposto para comunicações wireless LAN. Trata-se de um algoritmo simples, que utiliza um gerador de número pseudo-randômico (PRNG) e a cifragem RC4. Um dos motivos da escolha desse algoritmo foi pela rapidez de sua seqüência de criptografia e descriptografia, o que economiza muitos ciclos de CPU. Além disso, o RC4 é bastante simples de ser implementado, tanto em hardware quanto em software. Por sua simplicidade, esse algoritmo já foi quebrado desde 1996. Por isso se apresenta como um algoritmo vulnerável. Em um próximo artigo trataremos de outros métodos de segurança, como o WPA, recentemente homologado.
A segurança fornecida pelo algoritmo WEP reside na dificuldade de se descobrir uma chave secreta. Isso é relacionado com o tamanho da chave secreta e com a freqüência da mudança de chaves.
O conceito de criptografia passa por uma operação "ou exclusivo (XOR)", com uma máscara pré-determinada. O usuário configura os rádios com uma chave de, por exemplo, 40 bits. Os rádios criam uma máscara composta dos 40 bits configurados, mais 24 bits gerados randomicamente.
Quando se deseja transmitir uma informação, o rádio transmissor faz uma operação "ou exclusivo (XOR)" entre a seqüência de dados e a máscara, gerando a seqüência que será realmente transmitida.
No rádio receptor, é feita a mesma operação entre a seqüência recebida e a mesma máscara. Isso resulta na decodificação do dado, recuperando-se o dado original.
O algoritmo basicamente faz uma operação "Ou Exclusivo (XOR)" do texto pleno com uma seqüência pseudo-randômica de igual tamanho. A seqüência-chave é gerada pelo algoritmo WEP.
O processo de cifragem inicia-se com uma chave secreta, que é distribuída entre as estações por um administrador de rede ou por um serviço de gerenciamento de chaves. O WEP é um algoritmo simétrico, no qual a mesma chave é usada para cifragem e decifragem. O processo ocorre da seguinte forma:
1. A chave secreta de 40 ou 104 bits deve ser digitada manualmente pelo administrador da rede em cada estação e em cada access point que compõem a rede;
2. Um Vetor de Inicialização, Initialization Vector - IV, de 24 bits é gerado internamente em cada estação. Esse vetor é gerado a cada pacote a ser transmitido e pode assumir 224 valores, ou seja, 16.777.216 valores válidos. O vetor é usado para que a chave criptográfica não se repita com freqüência no momento da transmissão. Assim, ele deve ser transmitido no frame, de forma clara e não-criptografada, permitindo que o receptor possa uni-lo à sua chave secreta a fim de compor a chave criptográfica e descriptografar a mensagem;
3. O Vetor de Inicialização é então concatenado com a chave secreta, dando origem à chave criptográfica propriamente dita. Esta é enviada para um gerador de número pseudo-randômico, Pseudo Random Number Generator - PRNG;
4. O PRNG gera uma seqüência-chave de tamanho igual ao tamanho do dado que será transmitido mais 4 bits, uma vez que a seqüência-chave é usada para proteger tanto o dado quanto o Valor de Verificação de Integridade Integrity check Value - ICV;
5. Para proteger o texto contra modificações não-autorizadas, um algoritmo de integridade atua sobre ele para produzir o vetor de verificação de integridade (ICV) com tamanho de 4 bits;
6. O ICV é então concatenado com o texto a ser transmitido;
7. A cifragem é então concluída através de uma combinação matemática (operação "Ou Exclusivo") entre a seqüência-chave e o texto pleno concatenado com o ICV. A saída do processo é a mensagem contendo o endereço MAC e o IV, ambos não-cifrados, mais o texto cifrado.
O IV estende a vida de uma chave secreta uma vez que esta permanece constante, enquanto o IV muda periodicamente. Cada novo resultado do IV gera uma nova chave criptográfica e, conseqüentemente, uma nova seqüência-chave. Assim, existe uma correspondência de um para um entre a seqüência-chave e o IV. O IV deve ser modificado a cada unidade de dados a ser transmitida e, como ele viaja com a mensagem, o receptor estará apto a decifrá-la. O IV é transmitido de maneira clara, uma vez que ele não carrega nenhuma informação sobre a chave secreta o receptor tem de conhecê-lo para poder decifrar a mensagem.
Quando o IV e a mensagem cifrada são transmitidos, uma estação que estiver escutando o tráfego poderá determinar partes da seqüência-chave gerada pelo par "Chave secreta/IV". Se o mesmo par "Chave secreta/IV" for transmitido repetidamente a cada dado, o efeito da privacidade do WEP será reduzido, permitindo àquela estação recuperar uma série de dados do usuário sem qualquer conhecimento da chave secreta. Assim, as mudanças de IV a cada dado a ser transmitido é um método simples de preservar a eficiência do WEP.
O algoritmo WEP é aplicado a cada corpo do frame. O tripé IV, corpo do frame, e ICV formam o dado atual a ser enviado no frame de dados.


Escrito por Josué Camelo às 13h47
[] [envie esta mensagem
] []





Segurança em Redes - Ataques e Contra Medidas

O termo utilizado para identificar genericamente quem realiza um ataque em um sistema computacional é hacker – desconsideramos aqui discussões ideológicas dos termos hacker x cracker. Os ataques dos hackers aos sistemas computacionais podem se dar por diversos motivos diferentes, e o sucesso desses ataques depende do nível de segurança do alvo, além da capacidade do hacker para a realização desses tipos de ataques.

Podemos deduzir então que sistemas com um nível de proteção maior são mais difíceis de serem atacados. O aumento do nível de segurança traz algumas conseqüências para a organização, tais como um dado valor de investimento (cuja curva de capital aumenta de acordo com o nível de segurança) e, talvez, restrições que podem influenciar diretamente na produtividade da empresa.

Partindo dessa ótica temos então a realidade que não existe um pacote de proteção que possa ser comprado pelas empresas para garantir a segurança de seus dados. Cada dirigente deve analisar a sua realidade e, de acordo com o valor do sistema computacional para a empresa, definir um nível de segurança adequando.

O que realmente passa na mente da maioria das pessoas ao se pensar em investir em segurança é a pergunta: devo realmente me preocupar? Iremos fazer aqui um prelúdio para apresentar a realidade brasileira a respeito de ataques a sistemas computacionais.

O Cert.br é o Centro de Estudos, Respostas e Tratamento de Incidentes de Segurança do Brasil, e todos os dados contidos nas próximas páginas foram obtidos através do site www.cert.br no dia 26 do mês de abril do ano de 2008.
Até março, no ano de 2008 foram reportados ao Cert.br 29923 ataques que aconteceram no Brasil. E este é um número que pode ser considerado uma vitória se comparado aos 197892 ataques do ano de 2006.

Provavelmente algumas mentes inocentes poderão pensar que esses ataques são realizados somente a grandes empresas que possuem dados valiosíssimos e informações altamente confidenciais. Errado. A Cartilha de Segurança 3.0 do Cert.br lista algumas causas para alguém querer invadir um sistema computacional:

• utilizar seu computador em alguma atividade ilícita, para esconder a real identidade e localização do invasor;
• utilizar seu computador para lançar ataques contra outros computadores;
• utilizar seu disco rígido como repositório de dados;
• destruir informações (vandalismo);
• disseminar mensagens alarmantes e falsas;
• ler e enviar e-mails em seu nome;
• propagar vírus de computador;
• furtar números de cartões de crédito e senhas bancárias;
• furtar a senha da conta de seu provedor, para acessar a Internet se fazendo passar por você;
• furtar dados do seu computador, como por exemplo, informações do seu Imposto de Renda.

Os ataques a sistemas computacionais podem ser divididos da seguinte forma:

• Ataques para obtenção de informações;
• Ataques de negação de serviço;
• Ataques ativos contra TCP;
• Ataques no nível de aplicação.

1.1 - Ataques para obtenção de informações

Dumpster diving ou trashing
Consiste em verificar o lixo do algo em busca de informações que possam facilitar o ataque. É uma técnica eficiente e muito utilizada no Brasil, e o mais interessante é que pode ser considerada legal visto que não existe leis a respeito dos lixos.
Por isso é interessante que informações críticas – dados da organização, senhas, etc – sejam triturados ou consumados de alguma forma.

Engenharia social
Através da engenharia social o atacante pretende explorar as fraquezas humanas e sociais, tentando ludibriar pessoas assumindo-se uma falsa identidade, com o propósito de que elas relem dados confidenciais que comprometem a segurança da organização.
Nakamura diz “ela é capaz de convencer a pessoa que está do outro lado da porta em abri-la, independente do tamanho do cadeado”. É interessante pensarmos sob este aspecto pois se investimos um alto montante em segurança mas esquecemos de educar nossos usuários, toda a nossa estratégia de segurança estará perdida.

Ataque físico
Não importa por quantos firewalls e anti-vírus sua rede esteja protegida, se o seu servidor de banco de dados for roubado, todos os dados dos seus clientes serão levados juntos.
Novamente muitas mentes inocentes irão pensar “é impossível que alguém entre no meu CPD e roube o meu servidor”. Pensamento correto, mas incompleto. O ataque físico também pode ser objetiva em instancias menores: a fita magnética de backup por exemplo.
É importante lembrarmos aqui dos funcionários insatisfeitos e da facilidade de conexão dispositivos USB de memória flash. Os dados podem ser copiados por usuários que possuem acesso às informações e distribuídos à concorrência ou com outros propósitos maléficos.
A sala dos seus servidores deve possuir um controle de acesso rígido, principalmente à pessoas terceirizadas, com um sistema de identificação eficiente.
Também devemos considerar a possibilidade de implantação de hardware para capturar tudo o que o funcionário digita (keystroke logger), além da utilização de sniffers ou analisadores de protocolos para capturar informações e senhas.

Packet Sniffing
Também conhecida como passive eavesdropping, consiste na captura de informações valiosas diretamente pelo fluxo de pacotes na rede.
Com a popularização dos switches esse tipo de ataque diminuiu bastante pois os switchs criam domínios de broadcast limitados. Porém os hubs ainda são muito utilizados para estender o número de pontos de redes daquele departamento que cresceu mais do que o esperado. Cuidado!
Evite a utilização de serviços que possuem senhas abertas, tais como telnet, FTP e POP, pois podem ser facilmente capturadas pela rede dessa forma. Além do cuidado com a utilização de switches, aconselhamos a utilização de serviços que possuem suas mensagens criptografadas (ex: troque o telnet pelo ssh).
Existem diversas formas de se detectar um sniffer na rede, uma delas é chamada “Load Detection” e consiste em analisar o grau de processamentos dos equipamentos da rede. Máquinas que estão realizando um ataque possuem um alto processamento e utilização de rede.
Existem também formas de driblar as restrições impostas pelo swich. Uma delas consiste no envio de quadros com endereços ARP falsos (ARP Spoofing), fazendo com que o tráfego de outros equipamentos seja enviado para o equipamento do atacante, que captura os quadros e os redireciona para o equipamento verdadeiro, que nem percebe a diferença. A utilização de VLANS segmentado o tráfego broadcast pode minimizar esse risco.

Port Scanning
Ataque que ocorre no nível de transporte do modelo OSI, onde é feito um mapeamentos das portas TCP e UDP abertas em um determinado host, deduzindo a partir disto quais os serviços estão ativos.
Um dos métodos de se implementar scanning é a partir de TCP connect() onde a system call connect() é utilizada para abrir uma conexão nas portas do alvo. Se a porta estiver aberta, system call retornará com sucesso.
A utilização de firewalls contribui muito para evitar esse tipo de ataque. Com o firewall, além de limitar as portas que poderão ser acessadas, podemos definir os estados das conexões tcp que serão aceitos. Por exemplo, podemos definir que para a porta 22, somente o endereço Ip xxx.xxx.xxx.xxx poderá acessar.
Um dado interessante aqui é que se por exemplo você mudar a porta de funcionamento do seu ssh por exemplo, você irá filtrar cerca de 50% dos ataques à esse serviço.
Sistemas de Detecção de Intrusão podem ser utilizados também para evitar esse tipo de ataque. Esse tipo de sistema faz o reconhecimento de padrões de scanning, de forma a alertar o administrador ou aplicar automaticamente regras de firewall para bloquear o ataque.

Scanning de vulnerabilidades
Uma vez mapeados os sistemas que podem ser atacados e os serviços que são executados, as vulnerabilidades específicas para cada serviço serão procuradas por meio de scanning de vulnerabilidades.
Assim como os Sistemas de Detecção de Intrusão possuem diversos padrões para detectar ataques, os scanner de vulnerabilidades possuem diversos padrões e testes para detectar vulnerabilidades.
O principal alvo dos scanners de vulnerabilidades são aplicativos desatualizados, por exemplo aquela versão do servidor web que existe em sua empresa na qual foram achadas falhas críticas de segurança mas que você, por não saber dessas falhas não atualizou a versão do mesmo.
Para proteger-se desse tipo de ataque, mantenha senhas seguras, desabilite compartilhamentos de arquivos desnecessários, participe de listas de segurança a respeito dos seus aplicativos de rede e deixe-os sempre quão atualizados quanto possível.

Firewalking
É uma técnica que segue os mesmos princípios do traceroute à fim de ser utilizada para obtenção de informações sobre uma rede remota protegida por um firewall. A possibilidade de modificar o campo Time to Live (TTL) do pacote e as portas utilizadas permite que as portas abertas pelo firewall sejam utilizadas para o mapeamento da rede.
Através dessa técnica, Nakamura afirma que é possível obter informações sobre as regras de filtragem dos firewalls e também criar um mapa da topologia da rede. Uma proposta para a proteção contra essa técnica é a proibição de tráfego de pacotes ICMP.

Ip Spoofing
O IP real do atacante é alterado, evitando assim que ele seja encontrado. Sistemas que possuem a segurança baseada em lista de IP (comumente utilizados por provedores de internet 802.11) são o principal alvo desse tipo de ataque, onde o atacante se passa por um usuário legítimo.
A melhor forma de tentar se proteger desse tipo de ataque é com a aplicação de filtros, de acordo com as interfaces de rede onde os IPs são validados e as interfaces de rede por onde trafegam também.

1.2 - Ataques de negação de serviço

“Os ataques de negação de serviço fazem com que os recursos sejam explorados de maneira agressiva, de modo que usuários legítimos ficam impossibilitados de utilizá-los” Nakamua.

SYN Flooding
Explora a metodologia de estabelecimento de conexões TCP, baseado no three-way-handshake. Entende-se que um grande número de requisições de conexão (pacotes SYN) é enviando, de tal maneira que o servidor não é capaz de responder a todas elas. A pilha de memória sofre um overflow e as requisições de conexões de usuários legítimos são, então, desprezadas, prejudicando a disponibilidade do sistema.
Para proteger-se desse tipo de ataque utilize um time-out e uma taxa máxima de conexões semi-abertas, quando esses limites forem atingidos os pacotes serão descartados. As implementações atuais dos protocolos TCP/IP fornecem métodos de diminuir esse problema, de forma que ele não é muito utilizado atualmente.

Fragmentação de pacotes IP
Os pacotes TCP/IP possuem um campo MTU (maximum transfer unit) que especifica a quantidade máxima de dados que podem passar em um pacote por um meio físico da rede. É possível utilizar-se dessa característica com fins maléficos devido ao modo como a fragmentação e o reagrupamento são implementados. Os sistemas não tentam processar o pacote até que todos os fragmentos sejam recebidos e reagrupados, isso cria a possibilidade de ocorrer um overflow na pilha TCP quando há o reagrupamento.
Esse tipo de ataque não pode ser evitado por meio de filtro de pacotes, apenas com a aplicação de patchs para o kernel. Sistemas operacionais atuais já lidam com esse problema.

Smurf e Fraggle
Consiste em enviar um excessivo número de pacotes PING para o domínio de broadcast da rede, tende como endereço IP de origem, a vítima desejada. Dessa forma todos os hosts do domínio de broadcast irão responder para o IP da vítima, que foi mascarado pelo atacante, ficando desabilitada de suas funções normais. O smurf é idêntico, alterando apenas o fato que utiliza-se de pacotes UDP.
Para evitar esse tipo de ataque o roteador não deve permitir esse tipo de comunicação para endereços broadcast por meio de suas interfaces de rede.

1.3 – Ataques ativos contra TCP

Seqüestros de conexões
Conexões TCP são definidas por quatro informações essenciais: endereço IP de origem, porta TCP de origem, endereço IP do destino, porta TCP do destino. Todo byte enviado por um host é identificado com um número de seqüência que é conhecido pelo receptor. O número de seqüência do primeiro byte é definido durante a abertura da conexão e é diferente para cada uma delas.
Para um ataque, um terceiro host, do atacante, cria os pacotes com números de seqüencias válidos, colocando-se entre os dois hosts e enviando os pacotes válidos para ambos (ataque man-in-the-middle).
Geralmente o atacante descobre um número de seqüência válido a partir da observação (sniffing) de pacotes, descobrindo assim a função matemática utilizada para calcular os números de seqüências.
Implementações do protocolo TCP/IP atuais realização métodos altamente complexo praticamente impossibilitando esse tipo de ataque, que se tornou famoso por ser utilizado pelo Mitnick em conjunto com outras técnicas.

Source Routing
Mecanismo legítimo que foi especificado para o IP, mas que pode ser explorado de forma ilícita definindo-se uma rota reversa para ao tráfego de resposta, em vez de utilizar algum protocolo de roteamento padrão.
A melhor forma de evitar esse tipo de ataque é bloqueando a utilização do source routing, visto que normalmente não é utilizado.


Escrito por Josué Camelo às 13h38
[] [envie esta mensagem
] []





Segurança em Redes - Ataques e Contra Medidas

O termo utilizado para identificar genericamente quem realiza um ataque em um sistema computacional é hacker – desconsideramos aqui discussões ideológicas dos termos hacker x cracker. Os ataques dos hackers aos sistemas computacionais podem se dar por diversos motivos diferentes, e o sucesso desses ataques depende do nível de segurança do alvo, além da capacidade do hacker para a realização desses tipos de ataques.

Podemos deduzir então que sistemas com um nível de proteção maior são mais difíceis de serem atacados. O aumento do nível de segurança traz algumas conseqüências para a organização, tais como um dado valor de investimento (cuja curva de capital aumenta de acordo com o nível de segurança) e, talvez, restrições que podem influenciar diretamente na produtividade da empresa.

Partindo dessa ótica temos então a realidade que não existe um pacote de proteção que possa ser comprado pelas empresas para garantir a segurança de seus dados. Cada dirigente deve analisar a sua realidade e, de acordo com o valor do sistema computacional para a empresa, definir um nível de segurança adequando.

O que realmente passa na mente da maioria das pessoas ao se pensar em investir em segurança é a pergunta: devo realmente me preocupar? Iremos fazer aqui um prelúdio para apresentar a realidade brasileira a respeito de ataques a sistemas computacionais.

O Cert.br é o Centro de Estudos, Respostas e Tratamento de Incidentes de Segurança do Brasil, e todos os dados contidos nas próximas páginas foram obtidos através do site www.cert.br no dia 26 do mês de abril do ano de 2008.
Até março, no ano de 2008 foram reportados ao Cert.br 29923 ataques que aconteceram no Brasil. E este é um número que pode ser considerado uma vitória se comparado aos 197892 ataques do ano de 2006.

Provavelmente algumas mentes inocentes poderão pensar que esses ataques são realizados somente a grandes empresas que possuem dados valiosíssimos e informações altamente confidenciais. Errado. A Cartilha de Segurança 3.0 do Cert.br lista algumas causas para alguém querer invadir um sistema computacional:

• utilizar seu computador em alguma atividade ilícita, para esconder a real identidade e localização do invasor;
• utilizar seu computador para lançar ataques contra outros computadores;
• utilizar seu disco rígido como repositório de dados;
• destruir informações (vandalismo);
• disseminar mensagens alarmantes e falsas;
• ler e enviar e-mails em seu nome;
• propagar vírus de computador;
• furtar números de cartões de crédito e senhas bancárias;
• furtar a senha da conta de seu provedor, para acessar a Internet se fazendo passar por você;
• furtar dados do seu computador, como por exemplo, informações do seu Imposto de Renda.

Os ataques a sistemas computacionais podem ser divididos da seguinte forma:

• Ataques para obtenção de informações;
• Ataques de negação de serviço;
• Ataques ativos contra TCP;
• Ataques no nível de aplicação.

1.1 - Ataques para obtenção de informações

Dumpster diving ou trashing
Consiste em verificar o lixo do algo em busca de informações que possam facilitar o ataque. É uma técnica eficiente e muito utilizada no Brasil, e o mais interessante é que pode ser considerada legal visto que não existe leis a respeito dos lixos.
Por isso é interessante que informações críticas – dados da organização, senhas, etc – sejam triturados ou consumados de alguma forma.

Engenharia social
Através da engenharia social o atacante pretende explorar as fraquezas humanas e sociais, tentando ludibriar pessoas assumindo-se uma falsa identidade, com o propósito de que elas relem dados confidenciais que comprometem a segurança da organização.
Nakamura diz “ela é capaz de convencer a pessoa que está do outro lado da porta em abri-la, independente do tamanho do cadeado”. É interessante pensarmos sob este aspecto pois se investimos um alto montante em segurança mas esquecemos de educar nossos usuários, toda a nossa estratégia de segurança estará perdida.

Ataque físico
Não importa por quantos firewalls e anti-vírus sua rede esteja protegida, se o seu servidor de banco de dados for roubado, todos os dados dos seus clientes serão levados juntos.
Novamente muitas mentes inocentes irão pensar “é impossível que alguém entre no meu CPD e roube o meu servidor”. Pensamento correto, mas incompleto. O ataque físico também pode ser objetiva em instancias menores: a fita magnética de backup por exemplo.
É importante lembrarmos aqui dos funcionários insatisfeitos e da facilidade de conexão dispositivos USB de memória flash. Os dados podem ser copiados por usuários que possuem acesso às informações e distribuídos à concorrência ou com outros propósitos maléficos.
A sala dos seus servidores deve possuir um controle de acesso rígido, principalmente à pessoas terceirizadas, com um sistema de identificação eficiente.
Também devemos considerar a possibilidade de implantação de hardware para capturar tudo o que o funcionário digita (keystroke logger), além da utilização de sniffers ou analisadores de protocolos para capturar informações e senhas.

Packet Sniffing
Também conhecida como passive eavesdropping, consiste na captura de informações valiosas diretamente pelo fluxo de pacotes na rede.
Com a popularização dos switches esse tipo de ataque diminuiu bastante pois os switchs criam domínios de broadcast limitados. Porém os hubs ainda são muito utilizados para estender o número de pontos de redes daquele departamento que cresceu mais do que o esperado. Cuidado!
Evite a utilização de serviços que possuem senhas abertas, tais como telnet, FTP e POP, pois podem ser facilmente capturadas pela rede dessa forma. Além do cuidado com a utilização de switches, aconselhamos a utilização de serviços que possuem suas mensagens criptografadas (ex: troque o telnet pelo ssh).
Existem diversas formas de se detectar um sniffer na rede, uma delas é chamada “Load Detection” e consiste em analisar o grau de processamentos dos equipamentos da rede. Máquinas que estão realizando um ataque possuem um alto processamento e utilização de rede.
Existem também formas de driblar as restrições impostas pelo swich. Uma delas consiste no envio de quadros com endereços ARP falsos (ARP Spoofing), fazendo com que o tráfego de outros equipamentos seja enviado para o equipamento do atacante, que captura os quadros e os redireciona para o equipamento verdadeiro, que nem percebe a diferença. A utilização de VLANS segmentado o tráfego broadcast pode minimizar esse risco.

Port Scanning
Ataque que ocorre no nível de transporte do modelo OSI, onde é feito um mapeamentos das portas TCP e UDP abertas em um determinado host, deduzindo a partir disto quais os serviços estão ativos.
Um dos métodos de se implementar scanning é a partir de TCP connect() onde a system call connect() é utilizada para abrir uma conexão nas portas do alvo. Se a porta estiver aberta, system call retornará com sucesso.
A utilização de firewalls contribui muito para evitar esse tipo de ataque. Com o firewall, além de limitar as portas que poderão ser acessadas, podemos definir os estados das conexões tcp que serão aceitos. Por exemplo, podemos definir que para a porta 22, somente o endereço Ip xxx.xxx.xxx.xxx poderá acessar.
Um dado interessante aqui é que se por exemplo você mudar a porta de funcionamento do seu ssh por exemplo, você irá filtrar cerca de 50% dos ataques à esse serviço.
Sistemas de Detecção de Intrusão podem ser utilizados também para evitar esse tipo de ataque. Esse tipo de sistema faz o reconhecimento de padrões de scanning, de forma a alertar o administrador ou aplicar automaticamente regras de firewall para bloquear o ataque.

Scanning de vulnerabilidades
Uma vez mapeados os sistemas que podem ser atacados e os serviços que são executados, as vulnerabilidades específicas para cada serviço serão procuradas por meio de scanning de vulnerabilidades.
Assim como os Sistemas de Detecção de Intrusão possuem diversos padrões para detectar ataques, os scanner de vulnerabilidades possuem diversos padrões e testes para detectar vulnerabilidades.
O principal alvo dos scanners de vulnerabilidades são aplicativos desatualizados, por exemplo aquela versão do servidor web que existe em sua empresa na qual foram achadas falhas críticas de segurança mas que você, por não saber dessas falhas não atualizou a versão do mesmo.
Para proteger-se desse tipo de ataque, mantenha senhas seguras, desabilite compartilhamentos de arquivos desnecessários, participe de listas de segurança a respeito dos seus aplicativos de rede e deixe-os sempre quão atualizados quanto possível.

Firewalking
É uma técnica que segue os mesmos princípios do traceroute à fim de ser utilizada para obtenção de informações sobre uma rede remota protegida por um firewall. A possibilidade de modificar o campo Time to Live (TTL) do pacote e as portas utilizadas permite que as portas abertas pelo firewall sejam utilizadas para o mapeamento da rede.
Através dessa técnica, Nakamura afirma que é possível obter informações sobre as regras de filtragem dos firewalls e também criar um mapa da topologia da rede. Uma proposta para a proteção contra essa técnica é a proibição de tráfego de pacotes ICMP.

Ip Spoofing
O IP real do atacante é alterado, evitando assim que ele seja encontrado. Sistemas que possuem a segurança baseada em lista de IP (comumente utilizados por provedores de internet 802.11) são o principal alvo desse tipo de ataque, onde o atacante se passa por um usuário legítimo.
A melhor forma de tentar se proteger desse tipo de ataque é com a aplicação de filtros, de acordo com as interfaces de rede onde os IPs são validados e as interfaces de rede por onde trafegam também.

1.2 - Ataques de negação de serviço

“Os ataques de negação de serviço fazem com que os recursos sejam explorados de maneira agressiva, de modo que usuários legítimos ficam impossibilitados de utilizá-los” Nakamua.

SYN Flooding
Explora a metodologia de estabelecimento de conexões TCP, baseado no three-way-handshake. Entende-se que um grande número de requisições de conexão (pacotes SYN) é enviando, de tal maneira que o servidor não é capaz de responder a todas elas. A pilha de memória sofre um overflow e as requisições de conexões de usuários legítimos são, então, desprezadas, prejudicando a disponibilidade do sistema.
Para proteger-se desse tipo de ataque utilize um time-out e uma taxa máxima de conexões semi-abertas, quando esses limites forem atingidos os pacotes serão descartados. As implementações atuais dos protocolos TCP/IP fornecem métodos de diminuir esse problema, de forma que ele não é muito utilizado atualmente.

Fragmentação de pacotes IP
Os pacotes TCP/IP possuem um campo MTU (maximum transfer unit) que especifica a quantidade máxima de dados que podem passar em um pacote por um meio físico da rede. É possível utilizar-se dessa característica com fins maléficos devido ao modo como a fragmentação e o reagrupamento são implementados. Os sistemas não tentam processar o pacote até que todos os fragmentos sejam recebidos e reagrupados, isso cria a possibilidade de ocorrer um overflow na pilha TCP quando há o reagrupamento.
Esse tipo de ataque não pode ser evitado por meio de filtro de pacotes, apenas com a aplicação de patchs para o kernel. Sistemas operacionais atuais já lidam com esse problema.

Smurf e Fraggle
Consiste em enviar um excessivo número de pacotes PING para o domínio de broadcast da rede, tende como endereço IP de origem, a vítima desejada. Dessa forma todos os hosts do domínio de broadcast irão responder para o IP da vítima, que foi mascarado pelo atacante, ficando desabilitada de suas funções normais. O smurf é idêntico, alterando apenas o fato que utiliza-se de pacotes UDP.
Para evitar esse tipo de ataque o roteador não deve permitir esse tipo de comunicação para endereços broadcast por meio de suas interfaces de rede.

1.3 – Ataques ativos contra TCP

Seqüestros de conexões
Conexões TCP são definidas por quatro informações essenciais: endereço IP de origem, porta TCP de origem, endereço IP do destino, porta TCP do destino. Todo byte enviado por um host é identificado com um número de seqüência que é conhecido pelo receptor. O número de seqüência do primeiro byte é definido durante a abertura da conexão e é diferente para cada uma delas.
Para um ataque, um terceiro host, do atacante, cria os pacotes com números de seqüencias válidos, colocando-se entre os dois hosts e enviando os pacotes válidos para ambos (ataque man-in-the-middle).
Geralmente o atacante descobre um número de seqüência válido a partir da observação (sniffing) de pacotes, descobrindo assim a função matemática utilizada para calcular os números de seqüências.
Implementações do protocolo TCP/IP atuais realização métodos altamente complexo praticamente impossibilitando esse tipo de ataque, que se tornou famoso por ser utilizado pelo Mitnick em conjunto com outras técnicas.

Source Routing
Mecanismo legítimo que foi especificado para o IP, mas que pode ser explorado de forma ilícita definindo-se uma rota reversa para ao tráfego de resposta, em vez de utilizar algum protocolo de roteamento padrão.
A melhor forma de evitar esse tipo de ataque é bloqueando a utilização do source routing, visto que normalmente não é utilizado.


Escrito por Josué Camelo às 13h36
[] [envie esta mensagem
] []



 
  [ página principal ] [ ver mensagens anteriores ]