© 2004 – ACM E! Computer Security Research 1
Spam
Spam e e Scam Scam
Adriano Mauro Cansian Arnaldo Candido Junior
Implementando um Servidor de Correio Eletrônico com Filtros contra Vírus e Spam
© 2004 – ACM E! Computer Security Research 2
• Introdução
• O sistema proposto
• A implementação
• Políticas adotadas
• Testes realizados
• Resultados obtidos
Roteiro
© 2004 – ACM E! Computer Security Research
http://www.acmesecurity.org
3
Vírus, Worms e Trojans (1)
• Vírus
– programas capazes de multiplicar-se mediante a infecção de outros programas maiores
• Worms
– não necessitam infectar outros arquivos para se multiplicar. Se espalham usando recursos da rede. O e-mail é um dos seus principais canais de distribuição
• Trojans
– não têm capacidade de se auto-reproduzir ou infectar outros programas. São comumente distribuídos em scams
© 2004 – ACM E! Computer Security Research
http://www.acmesecurity.org
4
Vírus, Worms e Trojans (2)
• Atravessam os firewalls quando enviados na
forma de e-mail
• Causam prejuízos a empresas e pessoas
– Em 2002 os danos foram entre US$ 20 e 30 bilhões e em 2001, US$ 13 bilhões.*
• Há pouca concientização entre os usuários.
– Anexos perigosos são abertos com freqüência. – Atualizações de segurnça e anti-vírus não são atualizados
adequadamente
* Fonte: Trend Micro, 16 de janeiro de 2004 (Computer World Article at http://www.computerworld.com)
© 2004 – ACM E! Computer Security Research
http://www.acmesecurity.org
5
Spam (1)
• Spam: envio abusivo de correio eletrônico não
solicitado em grande quantidade
– Mensagens comerciais não solicitadas – Correntes
– Hoaxes (boatos)
• Scam: é o spam criminoso
– Enviados por estelionatários com o objetivo de obter números de cartão de crédito, senhas de banco e informações privilegiadas das vítimas – Banco do Brasil, BBB5, SERASA
© 2004 – ACM E! Computer Security Research
http://www.acmesecurity.org
6
Spam (2)
• Difícil de calcular os prejuízos
– Banda utilizada desnecessariamente
– Tempo desperdiçado pelos usuários para excluir o lixo eletrônico e perda de produtividade
– Usuários deixam de receber mensagens úteis quando sua caixa de entrada é “entupida” por spam
• Só não há prejuízos para quem envia
© 2004 – ACM E! Computer Security Research 7
Spam (3)
• Mais de 50% de cada e-mail que trafega na Internet é Spam – O aumento sofrido pelo spam ano a ano poderá inviabilizar o uso de correio
eletrônico num futuro não muito distante – Brasil é o quarto maior produtor de spam no mundo
http://www.sophos.com/spaminfo/articles/dirtydozenaug04.html – Spim: spam por instant messenger
• A história do spam
– http://www.templetons.com/brad/spamterm.html
© 2004 – ACM E! Computer Security Research 8
Funcionamento do Correio eletrônico
MUA: Mail User Agent MTA: Mail Transfer Agent MDA: Mail Delivery Agent MAA: Mail Access Agent
© 2004 – ACM E! Computer Security Research
http://www.acmesecurity.org
9
Os protocolos
• SMTP: Simple Mail Transfer Protocol
– Definido nos RFCs 821 e 2821 – RFC 1425: Extend SMTP – RFC 2142 e caixas abuse (/dev/null) – RFC 2505: recomendações anti-spam
• POP: Post Office Protocol
– Definido no RFC 1939
• IMAP: Internet Mail Access Protocol
– IMAP 4 revisão 1: RFC 2060
– RFCs 2061 e 2062 tratam de compatibilidade com versões anteriores
© 2004 – ACM E! Computer Security Research
http://www.acmesecurity.org
10
Mensagens SMTP
> telnet xxx.xxx.xxx.xxx 25 ehlo <[nome do servidor de origem]> mail from: <e-mail de origem> rcpt to: <e-mail de destino> data
<cabeçalhos e dados da mensagem>
http://www.acmesecurity.org
Cabeçalhos de E-mail
Return-Path: <xxxx@xxxxxxxx.xxx> Delivered-To: xxxxx@xxxxx.xxx Received: from localhost (localhost [127.0.0.1]) by xxxxxxxxxxxxxxg (Postfix) with ESMTP id DD62D10342 for <xxxx@xxxxxxxxxx.xxx>; Tue, 26 Oct 2004 11:59:59 -0300 (BRST) Received: from xxxxx.xxxxxxx.xxx ([127.0.0.1])
by localhost (xxxxx [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 26751-02 for <xxxx@xxxxxxxxxxxx.xxx>;
Tue, 26 Oct 2004 11:59:56 -0300 (BRST) Received: from xxxxxxxxxx.xxx (unknown [192.168.xx.xx]) by xxxxx.xxxxxxxxx.xxx (Postfix) with ESMTP id 6A39310341 for <xxxx@xxxxxxxx.xxx>; Tue, 26 Oct 2004 11:59:56 -0300 (BRDT) Message-ID: <417E6660.6070704@xxxxxxxxxx.xxx> Date: Tue, 26 Oct 2004 11:59:44 -0300 From: XXXXXXXXXXXXXXXXXXXX <xxxxxxx@xxxxxxxxxxxx.xxx>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031107 Debian/1.5-3 X-Accept-Language: en
MIME-Version: 1.0 To: xxx@xxxxxxxxxxx.xxx
http://www.acmesecurity.org
Motivação
• Usuários do campus descontentes recebendo
vírus e spams
• Máquinas infectadas propagando worms
• Um servidor de correio para cada
departamento dificultando políticas unificadas
de segurança
© 2004 – ACM E! Computer Security Research 13
O sistema E-bilce
• Servidor unificado de e-mail para o campus
• Acesso a Webmail, POP, IMAP
• Filtros de spam e vírus
• Regras de filtragem personalizadas para cada
usuário
• Versões seguras dos protocolos de correio
eletrônico
© 2004 – ACM E! Computer Security Research 14
Protocolos Seguros
• Utilizam SSL ou TLS para o envio de dados
– SMTP+TLS+SASL – POPS
– IMAPS
– HPPTS (Webmail) – SASL desativado
• Nota: o envio e recebimento é seguro apenas
entre MTA local e o MUA dos usuários do
sistema
– Dica: PGP (Pretty Good Privacy)
© 2004 – ACM E! Computer Security Research
http://www.acmesecurity.org
15
Configurações do servidor
• Máquina Compaq Alpha DS-20
– Processamento RISC – 1 GB de RAM
– Raid Array com capacidade atual de 60 GB
• Debian GNU/Linux
– Kernel 2.4.26 + grsecurity – Stable/Unstable
– Distribuição voltada para servidores e segurança – Security Updates via Apt-get
© 2004 – ACM E! Computer Security Research
http://www.acmesecurity.org
16
O Servidor SMTP
• Postfix
– Seguro – Rápido – Flexível
– Configurações enxutas – Implementa TLS
– Utiliza o Procmail como MDA
© 2004 – ACM E! Computer Security Research
http://www.acmesecurity.org
17
Softwares utilizados (2)
• Qpopper
– Simples implementação – Compatível com SSL
• Wu-imapd-ssl
– Servidor IMAP voltado para a segurança – Compatível com SSL
© 2004 – ACM E! Computer Security Research
http://www.acmesecurity.org
18
Antivírus
• Clamav
– 100% OpenSource
– Identifica corretamente a maioria dos malwares – Verifica arquivos compactados
– Atualizações automáticas da base de vírus utilizando o daemon Freshclam
© 2004 – ACM E! Computer Security Research 19
Anti-spam
Spamassassin
Amplo espectro de testes (filtro bayesiano, SPF, RBL, etc) Baixo índice de falsos positivos e falsos negativos Flexível
Não tão rápido
Procura padrões presentes em mensagens de spam. A cada padrão encontrado uma pontuação é atribuída a mensagem
Quando a pontuação atinge um limite, a mensagem é marcada como spam
© 2004 – ACM E! Computer Security Research 20
Cabeçalhos do Spamassassin
X-Virus-Scanned: by amavisd-new-20030616-p10 at acmesecurity.org
X-Spam-Status: Yes, hits=11.2 tagged_above=-999.0 required=4.0 tests=BigEvilList_2520, FORGED_RCVD_HELO, FRONTPAGE,
HTML_FONT_BIG, HTML_MESSAGE, MIME_HTML_ONLY, MSGID_FROM_MTA_ID,
RCVD_FAKE_HELO_DOTCOM, URIBL_OB_SURBL, URIBL_WS_SURBL, WLS_URI_OPT_497
X-Spam-Level: *********** X-Spam-Flag: YES
© 2004 – ACM E! Computer Security Research
http://www.acmesecurity.org
21
Amavis (1)
• Amavis
– Altamente adaptável
– Pode ser usado para distribuir a carga entre máquinas diferentes
– Desencapsula e descompacta os anexos para a procura de vírus
– Oferece bloqueio de anexos
© 2004 – ACM E! Computer Security Research
http://www.acmesecurity.org
22
Amavis (2)
Postfix Amavis MTA
Remoto
Clamav Spamassassi n
Procmail
INBOX SPAM 25
1002 4
1002 5
http://www.acmesecurity.org
Webmail
• Horde: framework que suporta diversos aplicativos relacionados a webmail
– Imp: o Webmail propriamente dito. Utiliza IMAP para obter as mensagens
– Turba: fornece um catálogo de endereços
– Passwd: permite ao usuário trocar a senha através do programa pop- passd
– Ingo: regras para o gerenciamento de mensagens
– Sam: módulo que permite que o usuário personalize as regras de spam
http://www.acmesecurity.org
IMP
Caixas de Correio
WU- IMAP
IMP 143
© 2004 – ACM E! Computer Security Research 25
SAM
SAM
Mysql
Amavis – Pontuação personalizada para cada usuário – Opções para marcar e mover os spams – Listas de bloqueio e permissão
© 2004 – ACM E! Computer Security Research 26
Mais softwares
• Apache: base para o Webmail
– PHP – SSL (HTTPS)
• Mysql:
– Banco de dados do Horde – Banco de dados do Amavis
• Iptables: firewall
© 2004 – ACM E! Computer Security Research
http://www.acmesecurity.org
27
Versões (1)
• Versões utilizadas:
– Postfix 1.1.11-0.woody3 – Procmail 3.22-5 – Qpopper 4.0.4-2.woody.3 – Uw-imapd 7:2002edebian1-4 – Amavisd-new 20030616p10-3 – Clamav 0.80-2
– Clamav-freshclam 0.80-2 – Spamassassin 3.0.0-1
© 2004 – ACM E! Computer Security Research
http://www.acmesecurity.org
28
Versões (2)
– Apache 1.3.33-1 – Mysql 3.23.49-8.8 – Horde 3.0-alpha – Imp 4.0-alpha
– SAM, Ingo e Passwd cvs (em desenvolvimento)
• Problemas com compatibilidade
© 2004 – ACM E! Computer Security Research
http://www.acmesecurity.org
29
Políticas de uso do E-bilce
• Relay externo apenas para as redes do IBILCE
– Relay interno: destinatário da mensagem é local – Relay externo: destinatário é remoto portanto a mensagem
será transferida para outro servidor
• Acesso a POP e IMAP do campus
• Acesso a Webmail externo
© 2004 – ACM E! Computer Security Research
http://www.acmesecurity.org
30
Políticas para verificação de
mensagens (1)
• Mensagens com cabeçalhos ruins ou que não cumpram o RFC 821 são bloqueadas
– A conexão TCP é encerrada no momento do envio. Remetente é informado sobre o erro pelo MTA de origem
– Não existem falsos positivos. Apenas software spammer apresenta esta característica
• Mensagens com anexos suspeitos serão bloqueadas – O sistem envia uma mensagem de aviso ao remetente – Esta política será implementada em breve
© 2004 – ACM E! Computer Security Research 31
Políticas para verificação de
mensagens (2)
• Mensagens com vírus serão bloqueadas
– O sistema envia uma mensagem de erro ao remetente – caso não se trate de um vírus que falsifique o remetente
• Mensagens com padrões de spam são movidas
para uma caixa especial
– Usuários POP podem desabilitar esta regra
• Nota: mensagens legítimas nunca são
perdidas. Caso aconteça um erro no envio, o
remetente é sempre informado
© 2004 – ACM E! Computer Security Research 32
Detecção de SPAM
• Diversas técnicas existentes
• Testes locais (no próprio servidor)
• Testes remotos
• Análise de cabeçalhos
• Reverso de DNS
• Etc...
© 2004 – ACM E! Computer Security Research
http://www.acmesecurity.org
33
Checagens feitas no MTA
• Helo/Ehlo requerido
• Rejeita remetentes inválidos (mail from)
• Rejeita remetentes com dominíos inválidos
• Checagens nos cabeçalhos
– Bloqueia alguns vírus mais conhecidos (Hi, Thanks, ...) – Não é necessário repassar a mensagem ao clamav – Bloqueia algumas redes que enviam spam
• Tentativas de envio para usuários inválidos são bloqueadas
– A verificação era feita no MDA (Procmail)
– Evita o problema de ter um grande número de mensagens na fila
© 2004 – ACM E! Computer Security Research
http://www.acmesecurity.org
34
Checagens no Spamassassin (1)
• Regras de pontuação: expressões contidas no
corpo e no cabeçalho são pontuadas
– Palavras chaves freqüentemente contidas em spams:
“Order now”, “Low prices”, “Unsubscribe”, “Viagra”,
“Nigeria”
– Uso do formato HTML – Links para outras páginas
– Mensagens sem nenhum texto e apenas uma figura – Cabeçalhos suspeitos, Etc
– Muito efetivo
http://www.acmesecurity.org
Checagens no Spamassassin (2)
• AWL (Auto WhiteList)
– Faz uma média na pontuação das últimas N mensagens de um remetente ao classificar uma mensagem
– Dessa forma a pontuação de mensagens de remetentes com “bons antecedentes” é diminuida e de spammers é aumentada
• Listas de permissão e bloqueio
– Também conhecidas como blacklists e whitelists
– Remetentes cadastrados na lista de permissão recebem pontuação zero
http://www.acmesecurity.org
Novas checagens (1)
• SPF: Sender Policy Framework
– Ainda não implementado (Bug no Spamassassin) – Possui um Draft no IETF
– Cada domínio divulga seus servidores autorizados a fazer relay externo
– O MTA verifica se o IP do remetente é um IP autorizado no domínio
© 2004 – ACM E! Computer Security Research 37
Novas checagens (2)
• SPF – continuação
– Não é específico para o combate ao spam e sim para evitar remetentes forjados. Contudo, dificulta muito a vida dos spammers
– Ampla adoção de grandes instituições nacionais e internacionais (locaweb, uol, pop, bol) – Bancos ainda não adotaram
© 2004 – ACM E! Computer Security Research 38
Novas checagens (3)
• URIDNSRBL: Role Black Lists para URIs
– Ainda não implementado (Bug no Spamassassin) – Em spams comerciais é comum links para páginas de
vendedores
– Existe um lista mantida pela Spamhaus que contém as páginas mais referenciadas em spams
– Mensagens referenciando estas páginas recebem um pontuação alta
– Mais informações em www.spamhaus.org
© 2004 – ACM E! Computer Security Research
http://www.acmesecurity.org
39
Filtro Bayesiano
• Permite ao usuário indicar ao sistema quais
mensagens são spams e quais não são (ham)
– Auto índice de acertos – AutoLearn
– Facilmente implementado em servidores onde os usuários tem acesso e intimidade com o shell
– Não implementado no servidor E-bilce
– Possíveis soluções: reporte de spam e ham, mudanças no horde para executar algum script de shell a partir do php
© 2004 – ACM E! Computer Security Research
http://www.acmesecurity.org
40
Outras técnicas
• Outras técnicas utilizadas no combate ao spam
– RBLs: Role Black Lists
Algumas listam os blocos 200/8 e 201/8 – Greylistings
– Razor, Pyzor
– DNS reverso (gera falsos positivos)
– Domains Keys (Yahoo) e Sender ID (Microsoft) – Existem mais
© 2004 – ACM E! Computer Security Research
http://www.acmesecurity.org
41
Considerações sobre as checagens
– Habilitar todas as técnicas de checagem disponível causaria um grande overhead no servidor
– Muitas técnicas podem ser implementadas no MTA ou no filtro de spam. É melhor usar o filtro para técnicas que causam falsos positivos.
– Não utilizar muitas checagens remotas
– Limitar o tempo máximo que para uma mensagem ser filtrada (1s, 2s)
– O Spamassassin não é recomendado para servidores de grande porte (no máximo 3000 usuários)
© 2004 – ACM E! Computer Security Research
http://www.acmesecurity.org
42
Desempenho
• Testes realizados
– Sem filtros: mais de 500 mensagens por minuto sem atraso – Com antivírus: 250 mensagens por minuto sem atraso – Com antivírus e anti-spam: 100 mensagens por minuto
com um atraso máximo de entrega de 1 minuto. – Utilização do software Postal para benchmark de
servidores SMTP e o software Mailgraph para a geração dos gráficos
© 2004 – ACM E! Computer Security Research 43
Usando antivírus
© 2004 – ACM E! Computer Security Research 44
Filtro antívirus e anti-spam
© 2004 – ACM E! Computer Security Research
http://www.acmesecurity.org
45
O Webmail
© 2004 – ACM E! Computer Security Research
http://www.acmesecurity.org
46
http://www.acmesecurity.org http://www.acmesecurity.org
A fase de testes
• Cerca de 20 usuários entre os usuários do polo
e voluntários de outros departamentos
• Iniciados os testes no início de outubro
• Usuários com o índice de erros em torno 5%
• Casos em que a taxa de erro foi menor do que
1%
© 2004 – ACM E! Computer Security Research 49
Dados sobre a Detecção
• Dados da primeira quinzena de outubro
– Volume médio de mensagens recebidas por dia: 2300 – Mensagens entregues na caixa de entrada: 42% – Mensagens entregues na pasta spam: 21% – Mensagens com vírus: 5%
– Mensagens de spam rejeitadas: 32%
– Cerca de 10 tentativas de relay não autorizadas por dia e 250 mensagens para usuários inválidos
– Esses dados indicam que cerca de 42% das mensagens recebidas são legitimas enquando que 58% tratam-se de vírus e spam.
© 2004 – ACM E! Computer Security Research 50
Situação atual
• Três departamentos além do polo já migraram
– Física, Biologia e Engenharia de alimentos
• Dentro de três semanas a migração deve estar
concluída
• As contas dos alunos da computação e da
graduação não serão migradas no momento
© 2004 – ACM E! Computer Security Research
http://www.acmesecurity.org
51
Informações sobre o tráfego (1)
© 2004 – ACM E! Computer Security Research
http://www.acmesecurity.org
52
Informações sobre o tráfego (2)
© 2004 – ACM E! Computer Security Research
http://www.acmesecurity.org
53
Informações sobre o tráfego (3)
© 2004 – ACM E! Computer Security Research
http://www.acmesecurity.org
54
Pendências
• Bloqueio de anexos suspeitos
• SPF e URIDNSRBL no spamassassin
• Habilitar filtro bayesiano (como?)
© 2004 – ACM E! Computer Security Research 55
Conclusão
– Os filtros apresentaram um índice bom de acerto (100% para vírus e 95% para spam) no período de testes
• Os usuários que desejarem aumentar o índice de acertos devem usar as listas de bloqueio e permissão – Espera-se que o sistema seja útil a todos os usuários,
principalmente aos que sofrem mais com vírus e spam. – Espare-se que o número de máquinas infectadas por vírus e
worms no campus caia
– O sistema é 100% OpenSource. Não há nenhum tipo de custo relativo a software
© 2004 – ACM E! Computer Security Research 56
Duvidas ?
?
? ?
?
?
?
?
?
?
? ?
?
? ?
?
?
?
?
© 2004 – ACM E! Computer Security Research
http://www.acmesecurity.org
57
Obrigado!
Para entrar em contato e obter mais informações: Arnaldo Candido Junior arnaldo@acmesecurity.org
Adriano Mauro Cansian adriano@acmesecurity.org
http://www.acmesecurity.org ACME! Computer Security Reseach Labs
UNESP – IBILCE São José do Rio Preto - Brasil