9 de agosto de 2010

Técnicas de Ataque: SYN Flood

Navegar na internet sem um sistema de segurança pode ser perigoso. Uma dica básica, mas importante, para se obter maior segurança na navegação é melhorar a percepção que se tem sobre quais são os riscos envolvidos. Esse é um dos artigos da série sobre técnicas de ataque pela Internet, que publico hoje no blog MAV.

O ataque SYN Flood é mais um na grande categoria de ataques de negação de serviço, ou DOS (Denial-of-Service). O nome “SYN” representa uma das flags do cabeçalho do protocolo TCP, com o significado de abrir uma nova conexão. Já “Flood” vem do inglês “inundação”. Em um ataque de SYN Flood o atacante envia para o servidor alvo uma grande quantidade de pacotes SYN.

Ao receber um pacote SYN, o sistema operacional sinaliza a conexão ao programa que deverá tratar da mesma. O programa então inicializa threads e uma quantidade de memória para cuidar da conexão. Com o número grande de conexões sendo abertas, todos os recursos de hardware do servidor são consumidos e os usuários reais/autenticos não conseguem acessar o servidor. Daí a negação de acesso ao serviço.

Normalmente nestes ataques a negociação da abertura da conexão não se completa. Ficam faltando a troca de outros dois pacotes da rede. Isso se deve ao fato de que é muito mais eficiente enviar apenas o primeiro pacote, que já isso já faz o servidor aceitar a conexão. Um segundo ponto que acontece normalmente neste ataque é que o IP de origem do pacote é camuflado (spoofed), tornando impossível tanto uma negociação completa quanto a identificação do autor do ataque.

No MAV 5.0 – Internet Gateway existe uma solução específica para o caso de ataques de DOS do tipo SYN Flood. Na ocasião de um ataque como este os usuários da rede não tem o acesso negado ao serviço. A questão é que qualquer proteção no nível do gateway da rede não impede que seu link de internet fique cheio devido ao ataque.

A conclusão, como sempre, é que temos que proteger os usuários da rede da empresa das ameaças da Internet. Não podemos contar com a certeza de que o usuário da rede esteja ciente de todos os tipos de ataques e problemas. Para evitar prejuízos ao patrimônio digital da empresa, devemos ter um sistema de segurança de Internet: instalado e bem configurado.

Um abraço e tenham um bom dia.

9 de junho de 2010

Técnicas de Ataque: Man in the Middle

Navegar na internet sem um sistema de segurança pode ser perigoso. Uma dica básica, mas importante, para se obter maior segurança na navegação é melhorar a percepção que se tem sobre quais são os riscos envolvidos. Esse é um dos artigos da série sobre técnicas de ataque pela Internet, que publico hoje no blog MAV.

A tradução literal do nome desse ataque é "homem no meio". Existem várias formas de sofrer o ataque, mas todas têm o mesmo princípio: o usuário está acessando um sistema semelhante ao autêntico, que na verdade é somente uma camada intermediária entre ele e o sistema autêntico. Esta camada intermediária tem acesso a todas as informações do usuário, que são enviadas ou recebidas do sistema. Normalmente o usuário tem dificuldade de identificar o ataque.

Um exemplo comum seria quando um usuário entra num site da web cujo endereço é semelhante ao do site original devido a um erro de digitação. O site falso pode agir como intermediário, com 100% da funcionalidade preservada, tendo acesso completo a tudo que o usuário enviar ou receber no site.

Outro ataque equivalente acontece quando o usuário é direcionado, por um link, ao site cujo endereço é parecido com o site original; o resultado é o mesmo. Nos dois casos pode acontecer do certificado SSL (o do cadeado no canto da tela) para o site ser válido, porém emitido em nome de outra empresa parecida com a autêntica.

Alguns vírus que roubam senhas de bancos o fazem abrindo uma tela por cima do navegador do usuário quando é solicitada a senha. O mesmo vale para alguns dos vírus que roubam senhas de e-mails, redes sociais e instant messenging.

A conclusão, como sempre, é que temos que proteger os usuários da rede da empresa das ameaças da Internet. Não podemos contar com a certeza de que o usuário da rede esteja ciente de todos os tipos de ataques e problemas. Para evitar prejuízos ao patrimônio digital da empresa, devemos ter um sistema de segurança de Internet: instalado e bem configurado.

Um abraço e tenham um bom dia.

15 de abril de 2010

Técnicas de ataques: Cross-Site Request Forgery

Navegar na internet sem um sistema de segurança pode ser perigoso. Uma dica básica, mas importante, para se obter maior segurança na navegação é melhorar a percepção que se tem sobre quais são os riscos envolvidos. Esse é um dos artigos da série sobre técnicas de ataque pela Internet que publico hoje no blog MAV.

Muito se fala dos riscos de se visitar sites falsos: um problema comum. Porém, mesmo quando o usuário está no site correto ainda corre o risco de ter um prejuízo devido à ação de hackers. Uma das técnicas usadas por eles para atingir esse objetivo é chamada de Cross-Site Request Forgery.

Por exemplo: suponhamos que você esteja acessando o seu webmail, usando endereço correto. Nesse momento, o nível de acesso que o seu browser terá no servidor do webmail lhe permite operações usuais: listar as mensagens da caixa de entrada, ler e-mails, enviar e-mails, criar pastas, listar/gerenciar contatos e etc. Qualquer requisição que o browser enviar será executada.

No ataque em pauta, o usuário é direcionado de alguma forma a um site malicioso: pode ser por um e-mail, que lhe pede para visitar um site interessante, ou qualquer outra técnica de engenharia social. A partir daí o site malicioso, supondo que o usuário esteja acessando o webmail neste momento, envia requsições ao servidor do webmail como se ele fosse a própria página do webmail.

Daí o nome do ataque: em português, "Requisição Falsa Entre Sites". O site falso manda requisições que o usuário não fez para o site que ele está acessando.

Só que, para o servidor do webmail, a requisição tem os parâmetros corretos e vem do browser/ip correto. Pela lógica, ele (o servidor) deve aceitar essa requisição. E, normalmente, é o que ele faz.

Um ataque bem sucessido pode ter diversos efeitos: desde do simples uso do seu webmail para envio de spams, a operações mais sofisticadas, tais como acessar informações confidenciais no seu webmail, realizar alterações no sistema de ERP, via web, ou até mesmo trocar o endereço de entrega de uma compra online.

A solução para esse tipo de ataque não é simples. As requisições autênticas enviadas pelo browser para o servidor precisam conter alguma informação secreta, que permita autenticá-la. Normalmente a ação envolve a construção de um sistema de comunicação sofisticado, no site e no servidor. O problema é que a maioria dos desenvolvedores de aplicações web não implementam esse tipo de segurança em seus sistemas.

A conclusão, como sempre, é que temos que proteger os usuários da rede da empresa das ameaças da Internet. Não podemos contar com a certeza de que o usuário da rede esteja ciente de todos os tipos de ataques e problemas. Para evitar prejuízos ao patrimônio digital da empresa devemos ter um sistema de segurança de Internet: instalado e bem configurado.

Um abraço e tenham um bom dia.

8 de março de 2010

MAV 5.0 - Mail Security bloqueando 99,85% dos spams no MPU

O maior cliente, em volume de e-mails, do MAV 5.0 - Mail Security atualmente é o Ministério Público da União, instituição federal que compreende: o Ministério Público Federal (MPF), o Ministério Público do Trabalho (MPT), o Ministério Público Militar (MPM) e o Ministério Público do Distrito Federal e Territórios (MPDFT). Toda a segurança de e-mails para os Procuradores da República do Brasil é provida pelo MAV 5.0.

Recentemente nós atualizamos o produto instalado nos servidores do MPU com a nova versão de Março/2010 do nosso algoritmo antispam (antes a versão era de Setembro/2009). Para verificar a melhora, e como o MPU é um cliente com volume de e-mails/spam bastante alto, nós fizemos um estudo estatístico para analisar a melhoria do produto em duas questões:

  • Dos e-mails que chegam ao usuário, qual é a proporção de spams?
  • Dos spams que chegam ao servidor, qual proporção é bloqueada?
A primeira pergunta reflete a qualidade percebida pelo usuário no antispam. O usuário não conhece o que ele deixou de receber, vê apenas o que passou. A segunda reflete a eficiência real do produto no bloqueio de spams, mostra o que aconteceria caso o produto fosse desativado/retirado.

Originalmente, 9,80% dos e-mails que chegavam para os usuários eram spams e este foi o fato que gerou a urgência da atualização e a necessidade do estudo em questão.

Resultados

A melhoria foi realmente bacana, caindo de 9,80% para apenas 2,4% do que o usuário final recebe ser spam. Uma redução de 75%!

O que foi fantástico descobrir é que com a nova versão 99,85% dos spams foram bloqueados! Ou seja, a cada 660 spams que foram enviados ao servidor apenas 1 passou. Não há como expressar o nível de satisfação que eu sinto com o resultado do novo produto, ainda mais por ter sido medido em um ambiente real e complexo como o do MPU.

Para os curiosos, com a versão de Setembro/2009 o produto estava bloqueando "apenas" 99,37% dos spams, deixando passar 1 a cada 150.

A equipe de desenvolvimento da MAV Tecnologia tem uma pessoa com dedicadação exclusiva a este modulo e é sensasional observar um resultado tão bacana.

Um abraço e tenham um bom dia.

26 de fevereiro de 2010

Parasoft C++Test: um Salto de Qualidade de Software na MAV Tecnologia

É inegável o efeito que falhas de software têm no dia-a-dia das empresas. E a questão é simples: todo software falha! O que diferencia cada empresa e cada projeto é a frequencia com que as falhas ocorrem e o tempo de respostas a elas.

Na MAV nós temos rotinas de testes de software implantadas que buscam cercar toda a lógica do produto, principalmente nos módulos de baixo nível, que tem maior complexidade. Infelizmente todos os testes de unidade, testes de sistemas e testes de interface do mundo juntos não identificariam todos os erros de um software. A causa disso são os erros de implementação. A lógica estaria correta mas existe uma falha na utilização da memória ou um caso de erro não verificado no código. Por exemplo, há um mês identificamos e corrigimos um bug no MAV 5.0 que só acontecia quando o servidor de DNS da rede estava indisponível.

Para resolver este problema a MAV Tecnologia concluiu nesta semana o processo de compra do software C++Test Server Edition da empresa americana Parasoft. A funcionalidade de interesse, chamada BugDetective, é simplesmente fantástica. O BugDetective do C++Test analisa todo o código fonte de um software procurando por erros de implementação. O software analisa cada possível valor de variável, cada possibildade de resultado para cada if/while/for, cada alocação de memória, cada chamada de função chamada e cada possível retorno. O software trilha todos os caminhos possíveis que a execução do software pode ter procurando por condições que levam o software a falhar.

O resultado foi simplesmente incrível. Nós analisamos o código fonte do MAV 5.0 e foram encontradas um número muito grande de situações raras que levariam horas, se não dias, para depurar e identificar a causa. O software identificou situações que eu, com 13 anos de experiência com programação, fui surpreendido. Identificou casos que dependem de uma análise tão profunda e tão longa que é praticamente impossível que um revisor de código humano visualize.

Para mim esta aquisição representa um marco, um salto na nossa qualidade de software. A união de testes de unidade, testes de sistema e testes de interface com a análise estática de código fonte realizada pelo C++Test garantem o nível de qualidade que nós e nossos clientes esperam dos produtos da MAV.

Um abraço e tenham um bom dia.