1
SPAM
Conceitos e Contramedidas
Estudo de caso: Servidor de Correio Eletrônico com Filtros contra SPAM e malware
Redes de Computadores II
Tópicos em Sistemas de Computação
Prof. Dr. Adriano Mauro Cansian adriano@acmesecurity.org
http://www.acmesecurity.org
• Introdução.
• O sistema proposto.
• A implementação.
• Políticas adotadas.
• Testes realizados.
• Resultados obtidos.
Roteiro
3
Problema apresentado e sistema
proposto para solução
http://www.acmesecurity.org
Vírus, Worms e Trojans (1)
• Vírus
– Programas capazes de multiplicar-se mediante a infecção de outros softwares.
• Worms
– Não necessitam infectar outros arquivos para se multiplicar. Se espalham usando recursos da rede. Tem capacidade de se auto-reproduzir. 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
5
Vírus, Worms e Trojans (2)
• Atravessam os firewalls quando enviados na forma de e-mail.
• Causam prejuízos a empresas e pessoas.
• Há pouca conscientização entre os usuários.
– Anexos perigosos são abertos com frequência.
– Atualizações de segurança e antivírus não são atualizados adequadamente.
– Antivírus falham (muito, principalmente nas primeiras 72 horas pós aparecimento de uma nova infecção).
http://www.acmesecurity.org
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 para fins criminosos
– 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
7
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.
http://www.acmesecurity.org
Zero Access Botnet USA - 2012
Botnet Zero-access na Europa – 2012
9
2016
https://securelist.com/analysis/quarterly-spam-reports/76570/spam-and-phishing-in-q3-2016/ https://goo.gl/KsWuZS
http://www.acmesecurity.org
Spam (3)
• A história do spam
– http://www.templetons.com/brad/spamterm.html
• Monty Python SPAM
– https://youtu.be/3kjdrl6qjwY
11
Estudo de caso
http://www.acmesecurity.org
Case / Motivação:
• Máquinas infectadas propagando worms.
• Muitos servidores de E-mail dificultando políticas unificadas de segurança.
– Sem padronização de softwares.
– Resultando em dificuldade em fazer atualizações de segurança nos servidores.
13
O sistema idealizado
• 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.
– Criptografadas.
http://www.acmesecurity.org
Os protocolos envolvidos
• 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.
15
Pensando nos componentes do Correio Eletrônico
MUA: Mail User Agent MTA: Mail Transfer Agent MDA: Mail Delivery Agent
MAA: Mail Access Agent Adriano Cansian & Adriano 15 Ribeiro
http://www.acmesecurity.org
Arquitetura idealizada
SMTP
Disassembly / Decoder da mensagem
Antivirus Antispam Filtros
INBOX SPAM 25
Outras verificações
MTA
externo servidor
servidor
17
Softwares propostos
Sistemas e subsistemas utilizados
http://www.acmesecurity.org
O Servidor SMTP
• Opção adotada: Postfix
• http://www.postfix.org
– Seguro. – Rápido. – Flexível.
– Configurações enxutas. – Implementa TLS.
– Utiliza o Procmail como MDA.
19
Protocolos Seguros
• Utilizam SSL ou TLS para comunicação entre servidores ou entre clientes e
servidores.
– SMTP + TLS + SASL. – POPS.
– IMAPS.
– HPPTS (Webmail).
http://www.acmesecurity.org
Softwares utilizados (2)
• Qpopper
http://www.eudora.com/qpopper/
• Simples implementação.
• Compatível com SSL.
• Wu-imapd-ssl
http://www.washington.edu/imap/
• Servidor IMAP voltado para a segurança
• Compatível com SSL.
21
Antivírus
• Clamav
• http://www.clamav.net/
– 100% OpenSource.
– Identifica corretamente a maioria dos malwares.
– Verifica arquivos compactados.
– Atualizações automáticas da base de vírus utilizando o daemon Freshclam.
http://linux.die.net/man/1/freshclam
http://www.acmesecurity.org
Anti-spam: Spamassassin (1)
• Open Source.
• Amplo espectro de testes:
• Filtro bayesiano, SPF, RBL, etc…
• Baixo índice de falsos positivos e
falsos negativos.
23
Anti-spam: Spamassassin (2)
• Flexível.
• Procura padrões em mensagens de spam.
• É atribuída uma pontuação à mensagem.
• Quando a pontuação atinge um limite
(configurável), a mensagem é marcada como spam.
• Pontos contra:
• Grande consumo de memória.
• Não tão rápido.
http://www.acmesecurity.org
Cabeçalhos do Spamassassin
X-Virus-Scanned: by amavisd-new-20130616-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
25
Amavis
• Amavis – “A Mail Virus Scanner”
• http://www.amavis.org/
• Desencapsula e descompacta os anexos para a procura de vírus.
– Altamente adaptável.
– Pode ser usado para distribuir a carga entre máquinas diferentes.
– Oferece bloqueio de anexos e muitas opções para desmontar e montar mensagens.
http://www.acmesecurity.org
Arquitetura idealizada
SMTP
Disassembly / Decoder da mensagem
Antivirus Antispam Filtros
INBOX SPAM 25
MTA
externo servidor
27
Arquitetura da solução
Postfix
Amavis MTA
externo
Clamav Spamassassin
Procmail
INBOX SPAM 25
10024 10025
servidor
servidor
http://www.acmesecurity.org
Webmail
• Horde:
– http://www.horde.org/
• Roundcube
– http://roundcube.net/
• Opensource.
• Framework que suporta diversos aplicativos relacionados a webmail.
29
Alternativa ao Horde
• Roundcube
• http://roundcube.net/
http://www.acmesecurity.org
E mais softwares…
• Apache: base para o Webmail
– PHP .
– SSL (HTTPS).
• Mysql:
– Banco de dados do Horde. – Banco de dados do Amavis.
• Iptables: firewall
31
Políticas e regras aplicadas
http://www.acmesecurity.org
Políticas de uso do E-bilce
• Relay apenas para as redes do IBILCE.
• Acesso a POP e IMAP somente na rede interna do campus.
– (Opções equivocadas??)
• Acesso a Webmail externo.
• Complaince com Gerência da porta 25.
http://www.antispam.br/admin/porta25/
33
Políticas para verificação de mensagens (1)
• Mensagens com cabeçalhos ruins ou que não atendam 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 sistema envia uma mensagem de aviso ao remetente.
http://www.acmesecurity.org
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 caixa especial
– Caixa de spam / junk.
– Usuários POP podem desabilitar esta regra.
• Nota: mensagens legítimas nunca são perdidas.
• Caso aconteça um erro no envio, o remetente é
35
Detecção de SPAM
• Diversas técnicas existentes.
• Testes locais (no próprio servidor).
• Testes remotos.
• Análise de cabeçalhos
• SPF.
• Reverso de DNS.
• Etc...
http://www.acmesecurity.org
Checagens feitas no MTA (1)
• Helo/Ehlo requerido.
• Rejeita remetentes inválidos (mail
from).
• Rejeita remetentes com domínios
inválidos.
37
Checagens feitas no MTA (2)
• 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.
– Evita o problema de ter um grande número de mensagens na fila.
http://www.acmesecurity.org
Checagens no Spamassassin (1)
• Regras de pontuação: expressões contidas no corpo e no cabeçalho são pontuadas.
– Palavras chaves frequentemente 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…
39
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” é diminuída e de spammers é aumentada.
http://www.acmesecurity.org
Checagens no Spamassassin (3)
• Listas de permissão e bloqueio
• Também conhecidas como blacklists e whitelists.
– Remetentes cadastrados na lista de permissão recebem pontuação zero.
– Remetentes cadastrados na lista de bloqueio recebem pontuação infinita.
– Ajudam a diminuir o número de falsos positivos e falsos negativos.
41
Outras checagens (1)
• SPF: Sender Policy Framework
– 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, via
anúncio de DNS.
– Usado apenas para pontuação.
http://www.acmesecurity.org
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.
43
Novas checagens (3)
• RBL para URLs e DNS :
– Role Black Lists para URLs
• 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
http://www.acmesecurity.org
Outras técnicas
• Greylistings: relativamente efetivo.
– (veja discussão em sala)
• Teste de DNS reverso (gera falsos positivos).
• Domains Keys (Yahoo) e Sender ID (Microsoft).
• DANE DNS-Based Authentication of Named Entities Protocol.
– http://www.internetsociety.org/deploy360/resources/dane/
• DKIM - DomainKeys Identified Mail
– http://www.dkim.org/
• Existem mais…
45
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).
http://www.acmesecurity.org
Desempenho
Resultados sobre o caso
47
Desempenho
• Testes realizados
– Sem filtros: > 5000 mensagens por minuto sem atraso – Com antivírus: até 2500 mensagens por minuto sem atraso – Com antivírus e anti-spam: 1000 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.
• http://sourceforge.net/projects/postal/
• http://mailgraph.schweikert.ch/
• http://oss.oetiker.ch/rrdtool/
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
• Usuários com o índice de erros em torno 5%
• Houve casos em que a taxa de erro foi menor do que 1%
49
Dados sobre a Detecção
• Dados da primeira quinzena de testes
– 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.
http://www.acmesecurity.org
Conclusão
• Os filtros apresentaram um índice bom de acerto (100% para vírus e 95% para
spam) no período de testes.
• O sistema é 100% OpenSource. Não há nenhum tipo de custo relativo a software
51
( homework )
DKIM - DomainKeys Identified Mail
É um método para associar um nome de domínio a uma mensagem de e-mail, permitindo assim uma pessoa, função ou organização para reivindicar alguma responsabilidade por uma mensagem. A associação é constituída por meio de uma assinatura digital, que pode ser validada pelos destinatários. A responsabilidade é reivindicada por um signatário, independentemente dos autores ou reais destinatários da mensagem, adicionando um campo DKIM- Signature no cabeçalho da mensagem.
O verificador recupera a chave pública do signatário usando o DNS e, em seguida, verifica se a assinatura corresponde ao conteúdo da mensagem real
http://www.ietf.org/rfc/rfc4871.txt http://www.dkim.org/