SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager
1
Estratégias para proteção e combate ao SPAM
I. INTRODUÇÃO
O correio eletrônico é um dos meios de comunicação mais utilizados atualmente. Estima-se
que cerca de 144 Bilhões de e-mails são enviados diariamente, sendo que mais da metade
correspondem a informações empresariais [1].
Assim, dentre este enorme e constante fluxo de e-mails, há aquelas mensagens não
solicitadas - conhecidas como SPAMs, que insistem em aparecer nas caixas de mensagens nos
momentos mais inoportunos.
O principal perigo dos SPAMS está na possibilidade de conterem, ou levarem a sites que
tenham, malwares e outras ameças digitais, podendo se utilizar de técnicas para enganar o
leitor conhecidas como phishing. Esta prática torna o SPAMS uma ameaça virtual
potencialmente disruptiva e perigosa para pessoas comuns e empresas.
Em nossas recentes pesquisas, nos deparamos com um grande número de SPAMs aparecendo
capazes de burlar mecanismos de segurança empregados. Ao analisar detalhadamente estes
e-mails, verificamos que eles, apesar de serem SPAMs, estavam passando pelas validações de
segurança, contendo ainda técnicas anti-anti-spam.
Este artigo tem o objetivo detalhar as análises realizadas nos SPAMs recebidos e como estão
burlando as validações e técnicas anti-spams.
II.O QUE SÃO E DE ONDE VEM OS SPAMS?
O termo SPAMMING representa o uso de sistemas e dispositivos capazes de enviar informações
(mensagens) não solicitadas. Uma das formas mais comuns de SPAMMING é o e-mail SPAM,
onde informações não requisitadas são recebidas em forma de correio eletrônico.
Os SPAMS podem ser categorizados em:
 UBE (Unsolicited bulk email) - E-mails não solicitados, enviados em larga escala.
 UCE (Unsolicited commercial email) – E-mails com propagandas
comerciais/promocionais, enviadas para consumidores de forma não solicitada.
Os SPAMMERS (pessoas que produzem SPAMS) tem diversas motivações para realizar tal
prática, sendo a maioria relacionada ao ganho monetário. O ganho pode ser decorrente da
obtenção e venda de uma lista de e-mails válida, infecção de sistemas através de malwares e
visualização de propagandas (advertising).
Como uma das formas mais comuns e utilizadas de SPAMMING é feita através de email, as
proximas seções tem como objetivo apresentar a estrutura de uma mensagem eletronica.
III.O ESQUELETO DE UM EMAIL
Uma mensagem de correio eletrônico (e-mail), é composto basicamente de duas partes:
cabeçalho (Header) e corpo (Body).
Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager
2
O Header de uma mensagem de e-mail descreve, em detalhes, as checagens, caminhos e
validações feitas na mensagem, além de conter informações únicas do próprio e-mail
(metadados).
As principais informações contidas no cabeçalho de e-mail podem ser destacadas a seguir:
Received: from BLUPR0201CA0001.namprd02.prod.outlook.com (10.163.116.11) by
MWHPR02MB2847.namprd02.prod.outlook.com (10.175.50.21) with Microsoft SMTP
(...)
Received: from lejmed.undecasionic.com ([199.33.125.179]) by SNT004-
MC1F22.hotmail.com with Microsoft SMTPSVC(7.5.7601.23143);
Wed, 11 Jan 2017 07:24:49 -0800
(…)
Authentication-Results: spf=pass (sender IP is 199.33.125.179)
smtp.mailfrom=lejmed.undecasionic.com; hotmail.com; dkim=pass (signature was
verified) header.d=lejmed.undecasionic.com;hotmail.com; dmarc=permerror
action=none header.from=bwc9c.lejmed.undecasionic.com;
Received-SPF: Pass (protection.outlook.com: domain of lejmed.undecasionic.com
designates 199.33.125.179 as permitted sender)
receiver=protection.outlook.com; client-ip=199.33.125.179; helo=
lejmed.undecasionic.com;
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; s=SELECTOR1;
d=lejmed.undecasionic.com;
h=Subject:From:Reply-to:To:Content-Type:Date:Sender;
i=z1jhir@lejmed.undecasionic.com;
(...)
Subject: =?UTF-8?B?QSBtZXNzYWdlIGZvciA=?={ endereco-email }
From: =?UTF-8?Q?Life Insurance?=<info.bwc9c@bwc9c.lejmed.undecasionic.com>
Reply-to: <info@ignceyenbrig.com>
To: endereco-email@hotmail.com
Sender: zzzzz1jhir@lejmed.undecasionic.com
Return-Path: ooooooooo@lejmed.undecasionic.com
Message-ID: SNT004-MC1F22rVjYKt0058174d@SNT004-MC1F22.hotmail.com
Content-Type: text/html; charset=us-ascii;
Content-Disposition: inline
Date: Wed, 11 Jan 2017 10:24:44 -0500 (EST)
(…)
X-Originating-IP: 199.33.125.179
Disposition-Notification-To: <info@ignceyenbrig.com>
X-Loop: ddddd<slj2qo@lejmed.undecasionic.com>
X-OriginalArrivalTime: 11 Jan 2017 15:24:49.0511 (UTC) FILETIME=[D925AF70:01D26C1E]
X-IncomingHeaderCount: 17
(...)
Header
Body
Contém as informações técnicas do fluxo de interações
do e-mail, desde sua origem até seu destino.
Contém as informações que serão exibidas pelo leitor de
e-mail.
Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager
3
A primeira parte do cabecalho, destacado em vermelho, detalha o caminho pecorrido pelo
email desde o servidor de origem até seu destino. O principal campo é o “Received”, que
Identifica quais servidores de email receberam a mensagem e a processaram. Cada vez que a
mensagem passa por um servidor, um novo registro é adicionado ao cabeçalho com as
informações de processamento. A primeira linha desta seção contém o primeiro servidor a
processar a mensagem (o servidor emissor), mas esta informação pode ser modificada para
ocultar a real origem.
O segundo bloco, destacado em cinza, mostra as validações de segurança feitas na mensagem
eletrônica (spf, dkim, DMARC, etc), conforme veremos com mais detalhes nos próximos
tópicos:
O bloco em azul apresenta os metadados da mensagem. Seus principais campos são:
 Subject: Titulo da mensagem;
 From: Informação de quem enviou o email. Pode ser adulterado (spoofed);
 To: Destinatário do email;
 Sender: Informação do emissor do email. Geralmente similar ao campo From, mas
pode ser modificado pelo servidor SMTP para mandar mensagens usando outra
credencial. Esta troca de credencial é muito usada em emails marketing;
 Date: Data de quando foi enviada a mensagem;
 Message-ID: Contém o ID de identificação único da mensagem, gerado pelo
servidor SMTP emissor.
O último bloco apresentado, destacado em roxo, contém campos adicionais. Todo campo
iniciado po “X” representa uma informação adicional, geralmente adicionado por
servidores/appliances de email.
Mudando o foco para o corpo (body) do email, esta seção contém as informações que serão
lidas pelo receptor do email. Comulmente as informações são codificadas em html.
Com estas informações já é possível ter um bom entendimento da estrutura interna de um
email. Na seção a seguir vamos apresentar os mecanismos anti-spam e como eles utilizam as
informações do cabeçalho para validar uma mensagem eletrônica.
IV.QUAIS SÃO E COMO FUNCIONAM OS MECANISMOS ANTI-SPAM
Atualmente, há um grande número de tecnologias focadas no combate aos spams, utilizando
um ou mais mecanismos de validação conhecidos. A seguir, apresentamos os principais
protocolos e técnicas anti-spam utilizados.
SPF
O Sender Policy Framework (SPF) é um sistema de validação de e-mails cujo objetivo é
verificar se o emissor das mensagens está autorizado a utilizar o nome de domínio para enviar
os e-mails.
Esta verificação se torna necessária pelo fato do campo “MAIL FROM”, responsável por indicar
o emissor do e-mail, ser passível de alteração. Desta forma, podemos criar um e-mail usando
uma conta do provedor X e alterar o campo “mail from” no cabeçalho da mensagem
eletrônica para uma conta do provedor Y, escondendo a real origem da mensagem.
A configuração do SPF nos provedores de e-mail/relays é bastante simples e recomendada,
bastando somente criar um apontamento no DNS indicando quais endereços IPs o sistema
autoriza a enviar mensagens eletrônicas através dele. Como exemplo de configuração SPF,
considere o seguinte registro publicado no domínio teste.com:
Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager
4
IN TXT "v=spf1 ip4:192.0.2.1 ip4:192.0.2.2”
O exemplo acima permite que os endereços IP 192.0.2.1 e 192.0.2.2 enviem e-mails usando o
nome “teste.com” como emissor. Quaisquer outros endereços IPs falharão na checagem do
SPF, feito por outros provedores de e-mail e sistemas AntiSpam.
DKIM
O DKIM (DomainKeys Identify Mail) é um mecanismo de autenticação com foco em mitigar
falsificação de e-mails (spoofing). De maneira geral, o emissor assina digitalmente o
cabeçalho e a mensagem usando uma chave privada. Ao receber o e-mail com a assinatura
digital, o receptor busca a chave pública (usando query DNS) e verifica a autenticidade das
informações. A confiança está no registro DNS do emissor, pois “somente” ele poderia
gerenciar seus registros.
As chaves públicas são disponibilizadas nos registros de TXT de DNS, seguindo o formato:
▪ Selector: Define o registro de DNS que deverá ser consultado. Definido na mensagem
enviada.
▪ _domainkey: Especifica o que está sendo consultado, neste caso será buscado a chave
de domínio.
▪ Domínio: O domínio que será verificado.
Desta forma, podemos obter a chave pulica consultando o DNS desta forma:
dig -t TXT selector._domainkey.dominio
Obtendo o seguinte resultado:
"v=DKIM1; g=*; k=rsa; t=y;p=CHAVE_PUBLICA…
DMARC
O Domain-based Message Authentication, Reporting & Conformance (DMARC) é um protocolo
de autenticação de mensagens eletrônicas, amplamente utilizado por provedores de e-mail.
Ele atua baseado nos protocolos SPF e DKIM e tem como principal característica a definição
de políticas de ações para mensagens não-autorizadas.
Basicamente o DMARC utiliza as mesmas verificações do SPF e DKIM, porém, permite definir o
que será feito com as mensagens que não forem autenticadas. Por exemplo, é possível criar
uma política para “quarantenar” mensagens não autenticadas e enviar um reporte de erro
para o domínio de origem.
Assim como seus protocolos de base, o DMARC depende de configurações no DNS do domínio,
conforme exemplo:
"v=DMARC1; p=quarantine; rua=mailto: report@dominio.com"
Sendo os campos:
V= Versão do protocolo;
P= Política de ação que se deseja tomar caso o e-mail não seja autenticado, podendo ser 3
opções:
• None – Não toma nenhuma ação;
• Quarantine – Envia a mensagem para a quarentena;
• Reject – Rejeita/deleta a mensagem.
Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager
5
Rua= Endereço que deve receber o relatório.
BAYESIAN FILTERING
O Bayesian filtering é uma técnica antispam baseada na classificação probabilística criada por
Naive Bayes.
O filtro correlaciona tokens (expressões, palavras-chave, links etc.) com e-mails classificados
como spams e legítimos. Com base neste correlacionamento, o teorema de Bayes é utilizado
para calcular a probabilidade de um e-mail ser legítimo ou spam.
A fórmula utilizada para o cálculo de probabilidade de uma mensagem ser spam, para um
token específico, é [10]:
Pr(𝑆|𝑊) =
𝑃𝑟(𝑊|𝑆) ∗ 𝑃𝑟(𝑆)
Pr(𝑊|𝑆) ∗ Pr(𝑠) + Pr(𝑊|𝐻) ∗ Pr(𝐻)
Onde:
▪ Pr(S|W) é probabilidade da mensagem ser um spam baseado em um token;
▪ Pr(S) é a probabilidade de uma mensagem qualquer ser classificada como spam;
▪ Pr(W|S) é a probabilidade do token estar em um mensagem classificada como spam;
▪ Pr(H) é a probabilidade de uma mensagem qualquer ser legítima (não spam);
▪ Pr(W|H) é a probabilidade do token estar em uma mensagem legítima (não spam).
A fórmula acima calcula as chances de uma mensagem ser categorizada como spam baseado
em um único tolken. Geralmente mensagens possuem vários tolkens, sendo que suas
probabilidades são combinadas usando a fórmula a seguir:
𝑝 =
1
1 + 𝑒∑ [ln(1−𝑝𝑖)−ln(𝑝𝑖)]𝑁
𝑖=1
Onde:
▪ p = Probabilidade da mensagem ser um spam baseado em todos os tokens;
▪ pi = probabilidade da mensagem ser um spam baseado em um token (calculado pela
fórmula anterior).
Utilizando a formula em um exemplo, vamos considerar que o filtro está avaliando um e-mail
cujos tokens sejam as palavras “saldão” e “casa”, tendo as seguintes probabilidades:
▪ Pr(S) = 30% (probabilidade das mensagens recebidas serem spams baseadas na palavra
“saldão”);
▪ Pr(W|S) = 90% (probabilidade da palavra “saldão” estar em um spam);
▪ Pr(H) = 70% (probabilidade das mensagens recebidas serem legítimas, baseadas na
palavra “saldão”);
▪ Pr(W|H) = 10% (probabilidade da palavra “saldão” estar em mensagens legítimas.
Calculando a probabilidade de uma mensagem com as palavras “saldão” ser classificada como
spam, temos:
Pr(saldão) =
0.9 ∗ 0.3
0.9 ∗ 0.3 + 0.1 ∗ 0.7
≈ 80%
Sendo assim, a probabilidade desta mensagem ser um spam, baseado no token “saldão” é de
aproximadamente 80%.
Vamos considerar que a probabilidade para a palavra “casa” foi calculada como sendo 40%:
Pr(casa) ≈ 40%
Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager
6
Podemos calcular a probabilidade final da mensagem ser spam ou não combinando os
resultados das duas palavras, sendo:
𝑝 =
1
1 + 𝑒∑ [ln(1−𝑝𝑖)−ln(𝑝𝑖)]𝑁
𝑖=1
=
1
1 + 𝑒[(ln(1−0,8)−ln(0,8)) + (ln(1−0,2)−ln(0,2)]
𝑝 =
1
1 + 𝑒[(−0,60206 + (0,176091)]
=
1
1 + 𝑒[−0,42597]
=
1
1 + 0,653137
𝑝 =
1
1 + 0,653137
=
1
1,653137
𝒑 ≈ 𝟔𝟎, 𝟓%
Desta forma, se a filtro Bayesian estiver configurado para bloquear todos os e-mails com
probabilidade de ser spam acima de 60%, um email contendo os tokens “saldão” e “casa”
seriam classificados como spam e bloqueados.
BLACKLIST DE DNS
Outra técnica utilizada contra spams é o bloqueio de DNS considerados “maliciosos”. Desta
forma, cria-se uma lista de bloqueio (blacklist) com todos os domínios relacionados a envio de
spams.
A lista é aplicada diretamente no appliance antispam ou no servidor SMTP, filtrando as
mensagens antes mesmo de chegarem nas caixas postais dos destinatários.
V. ANALISANDO OS E-MAIL SPAMS RECEBIDOS
Agora que conhecemos os principais mecanismos anti-spam, podemos começar a análise dos
e-mails SPAM que foram recebidos diretamente na caixa de entrada do correio eletrônico.
Os e-mails SPAMS analisados foram recebidos em uma conta no provedor de e-mails gratuito.
Os SPAMS estavam na caixa de entrada, isso quer dizer que os filtros e mecanismos AntiSpam
do Hotmail falharam ao identifica-los e excluí-los.
Os e-mails foram disponibilizados no Pastebin, sendo:
SPAM #1: https://pastebin.com/gyePt07s
SPAM #2: https://pastebin.com/Ju606rmp
As figuras 1 e 2 exemplificam os SPAMS mencionados:
Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager
7
Figura 1 - E-mail SPAM #1 recebido na caixa de entrada
Figura 2 – E-mail SPAM #2 recebido na caixa de entrada
Verificamos que os e-mails recebidos não contêm anexos e suas informações são escritas
usando HTML.
Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager
8
ANALISANDO OS CABEÇALHOS
Ao analisar os cabeçalhos dos SPAMS, é possível constatar que eles foram enviados a partir dos
domínios lejmed.undecasionic.com e 3carule.com:
Figura 3 - Cabeçalho do SPAM #1
Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager
9
Figura 4 - Cabeçalho do SPAM #2
Como primeira coincidência, verificamos que, apesar de serem domínios distintos, ambos
possuem praticamente a mesma página web:
Figura 5 - Página do domínio do SPAM #1
Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager
10
Figura 6 - Página do domínio do SPAM #2
Ao clicar na imagem presente em ambos os SPAMS, somos direcionados a uma página da
internet. Ao analisar o código fonte do SPAM #1, encontramos o link que nos leva a esta
página, repetido 4 (quatro) vezes durante o corpo do email:
<a href="http://checkmorr.com/aa.html/?6e.6e.3d.31.6f.31.33.71.75.6f.6f.74.65.5f.76
.6c.5f.6f.5f.55.4b.76.6c.5f.30.76.33.33.2e.6f.6e.76.39.61.73.77.61.2e.41.30.31.33.6
8.72.66.66.6c.34.34.30.77.35.7a.31.6d.6e.5f.72.32.31.31.31.39.2e.67.65.68.6a.63YmU1
NGszM2kydmRq3f2czT">
1.
A URL contém alguns caracteres hexadecimais. Não encontramos scripts dentro do corpo do e-
mail que os convertessem para ASCII. Convertendo a URL para caracteres ASCII, temos:
<a href="http://checkmorr.com/aa.html/?nn=1o13quoote_vl_o_UKvl_0v33.onv9aswa.A013hr
ffl440w5z1mn_r21119.gehjc YmU1NGszM2kydmRq3f2czT">
Ao clicar na imagem, verificamos que, de fato, somos redirecionados para a URL
decodificada:
Figura 7 - Sequência de redirecionamentos feitos ao clicar na Imagem do SPAM #1
No momento destes testes, a página final não se encontrava mais disponível.
Uma similaridade surgiu ao entrarmos na página http://checkmorr.com/, a qual tem grandes
semelhanças com as páginas dos domínios dos SPAMS enviados:
Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager
11
Figura 8 - Página do site de redirecionamento do SPAM #1
Notamos, também, que os campo “From” e “Sender” são diferentes, um informando que o
email foi enviado por “info.bwc9c@bwc9c.lejmed.undecasionic.com” e o outro mostrando
que o email originou-se de z1jhir@lejmed.undecasionic.com, categorizando o emprego de
uma técnica de falsificação de informações conhecida como (email) spoofing:
Figura 9 - Email spoofing
Podemos verificar o spoofing no e-mail recebido:
Figura 10 - Spoofing no endereço de emissão do E-mail
Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager
12
As mesmas situações foram verificadas para o SPAM #2.
Até o momento somente conseguimos confirmar que os e-mails são de fato SPAMS. A seguir
vamos entender o motivo destes e-mails terem sido entregues na caixa de entrada, burlando
as proteções anti-spam presentes.
BURLANDO OS MECANISMOS ANTI-SPAM
Inicialmente, podemos verificar que o SPAM #1 passou pela verificação do SPF:
Figura 11 - Checagem do SPF do SPAM #1
O spam passou pelo SPF pelo fato do IP (199.33.125.179) ter permissão para utilizar o domínio
“lejmed.undecasionic.com” como emissor. Podemos verificar esta informação fazendo uma
query DNS diretamente nos registros TXT do domínio:
Figura 12 - Registro SPF do domínio do SPAM #1
De forma similar ocorreu com o SPAM #2, onde o domínio “3carule.com” autoriza o IP
213.246.63.192 a enviar mensagens por ele.
Figura 13 - Checagem do SPF do SPAM #2
Até este ponto o spam conseguiu passar pela verificação do SPF enviando o email com um IP
autorizado a utilizar o domínio emissor.
A próxima etapa da verificação é o teste do DKIM:
Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager
13
Figura 14 - Verificação do DKIM do SPAM #1
O trecho abaixo demonstra a verificação DKIM feita pelo servidor SMTP. Para facilitar, vamos
separar por partes:
DKIM-Signature:
v=1;
a=rsa-sha1;
c=relaxed/relaxed;
s=SELECTOR1;
d=lejmed.undecasionic.com;
h=Subject:From:Reply-to:To:Content-Type:Date:Sender;
i=z1jhir@lejmed.undecasionic.com;
bh=AznqCr194VANC57Dj6Q166Auq/M=;
b=mmnutEVcq74z+9yNSEKiV6RO83XfCndcjlu5Q5h0cJQJnntJDQDtXrY5jKyMuypYWeoChj
oZeTM8/jTBL+SGrKXE2o0A3QTyt+x8tv7JTGcGBcLvGAYOO1dkkMc7J7+l6L8r7fXbl6wgFnt
cL98SOTzHdGOOcxwwaH0gUA5ukkc=
Sendo que cada parâmetro representa:
▪ b = Assinatura digital do conteúdo da mensagem;
▪ bh = Hash do corpo da mensagem;
▪ d = Domínio;
▪ s = Seletor;
▪ v = Versão;
▪ a = Algoritmo utilizado para assinar a mensagem;
▪ c = Algoritmo canônico;
▪ q = A query padrão utilizada;
▪ t = Timestamp da assinatura;
▪ x = Tempo de expiração;
▪ h = Lista dos campos assinados.
Para validarmos as informações, checamos se podemos obter a chave púlica utilizada para
verificar assinatura da mensagem, fazendo uma requisição (query) dns para o endereço
seletor._domainkey.dominio.
Substituindo para os campos do SPAM #1, temos:
Figura 15 - Chave pública obtida do SPAM #1
Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager
14
Verificamos que esta chave pública valida a assinatura usada no email, conforme consta em
seu cabeçalho:
Figura 16 - Validação da assinatura digital (DKIM) do SPAM #1
O mesmo cenário ocorreu para o SPAM #2.
A próxima validação é a do filtro DMARC. Podemos ver que a validação DMARC falha
(permerror)[9], indicando que não foi possível verificar os registros DMARC no domínio de
origem. Ainda podemos observar que a política padrão de configuração do DMARC, no
provedor de e-mails utilizado, está definida para não fazer nada (none), conforme figuras
abaixo:
Figura 17 - Verificação DMARC SPAM #1
Figura 18 - Ação padrão do filtro DMARC no Hotmail no SPAM #1
Para o SPAM #2 verificamos que o domínio não tem DMARC configurado, lembrando que a
política padrão é a de não fazer nada (none).
Figura 19 - Verificação DMARC SPAM #2
Desta forma, o spam foi aprovado pelas validações SPF, DKIM e “passou” pelo DMARC, sendo
entregue na caixa de entrada de seu destino.
Sumarizando todas as informações que verificamos até o momento, temos:
▪ O criador do spam utilizou um endereço IP autorizado a utilizar o domínio
“lejmed.undercasionic.com” como emissor de emails, passando pelo filtro SPF;
▪ O spam teve seus campos assinados digitalmente e o domínio possui em seus registros
DNS a chave pública capaz de verificar a autenticidade da assinatura, fazendo com
que o spam passasse pelo teste DKIM;
▪ O filtro DMARC não foi verificado em ambos os spams, sendo que a ação padrão do
Hotmail, para estes casos, é o de não fazer nada (none);
▪ Como o spam “passou” por todas as verificações anti-spam do Hotmail, o mesmo foi
entregue na caixa de entrada do mailbox.
BURLANDO O FILTRO BAYESIAN
Conforme apresentado nas seções anteriores, os spams conseguiram passar pelas checagens
de integridade do sistema anti-spam do Hotmail, chegando na caixa de entrada das
mensagens.
Porém, durante as análises do conteúdo do spam, outra coisa chamou nossa atenção. Notamos
a presença de um grande número de strings contidas na tag html <style>:
Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager
15
Figura 20 - Informações contidas dentro da tag <style> no SPAM #1
Note que a parte do HTML finalizou antes do início da tag <style>, fazendo com que toda a
informação contida na tag <style> não seja renderizada pelo aplicativo de email e nem
visualizada pelo leitor da mensagem.
Verificando os dados dados prsentes na tag <style>, percebe-se se tratarem de palavras
pseudo-randomicamente concatenadas com o link “www.youtube.com/”. Este padrão repete-
se aproximadamente 2400 vezes:
Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager
16
Figura 21 - Informações contidas na tag <style> do SPAM #1
O mesmo padrão repete-se no SPAM #2 e em todos os outros SPAMS recebidos:
Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager
17
Figura 22 - Informações dentro da tag <style> no SPAM #2
A princípio, a existência destas informações não fazia sentido, uma vez que não eram
renderizadas nem utilizadas pelo spam. Após futuras análises, identificamos que o objetivo
destas longas linhas de texto ficou claro: driblar o filtro de detecção anti-spam Bayesian.
Conforme explicado anteriormente, o filtro Bayesian é utilizado por soluções e appliances
anti-spam, separando mensagens legítimas de Spams através de sua “inteligência”. Esta
característica é obtida através de cálculos de probabilidade e risco baseados nos textos
contidos em e-mails classificados como legítimos e Spams.
Analisando por esta perspectiva, há uma grande chance de e-mails com links para vídeos do
youtube não serem categorizados como spams, porém a repetição do mesmo link levantaria
uma bandeira. A solução empregada nos Spams analisados foi concatenar os links do youtube
com diversas palavras randômicas, criando diversas combinações diferentes.
Isto se torna particularmente efetivo por explorar o modo como o filtro Bayesian funciona,
pois ele determina se uma mensagem é spam ou não baseado nas palavras contidas no email
(tokens) e em suas probabilidades de serem classificadas como spam.
Desta forma, os SPAMS ao utilizarem um grande número de links do youtube, que geralmente
estão presentes em e-mails válidos, diminuem consideravelmente a chance de a mensagem
ser classificada como SPAM pelo filtro Bayesian.
Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager
18
VI. BLOQUEANDO DE UMA VEZ POR TODAS
Infelizmente o provedor de emails possui opções limitadas quanto a configurações anti-spam.
Basicamente só é possível criar White/black lists e bloquear e-mails com algum conteúdo pré-
definido.
Por conta disto, temos algumas opções para bloquear os spams recebidos:
1. Incluir todos os IPS/domínios dos spams em uma black-list;
2. Somente aceitar e-mails de domínios/ips/remetentes conhecidos;
3. Bloquear e-mails que tiverem alguma palavra/expressão em seu conteúdo.
A primeira opção não seria efetiva, uma vez que os spams recebidos estão relacionados a
diferentes endereços IPs/Domínio. Um outro problema nesta opção é que bastaria o emissor
dos spams mudar de domínio para voltarmos a recebê-los.
A segunda opção é a mais assertiva e, também, mais restritiva, pois somente seria recebido
emails daqueles destinatários previamente liberados.
Considerando tudo, a última opção parece ser a mais viável. Para que seja possível bloquear
os spams, é necessário encontrar algum texto/elemento em comum entre eles.
Decidimos usar um pouco de ironia e utilizar os elementos anti-anti-spam para identificar os
spams e bloqueá-los. Como vimos nas seções anteriores, os spams estão utilizando textos
dentro de tags <style> para burlar o filtro bayesian. Com isto, vamos criar uma regra para
bloquear todos os e-mails que tiverem esta tag. Configurando passo a passo:
Inicialmente vamos criar uma regra na caixa de entrada do provedor:
Figura 23 - Regras de entrada do Hotmail
Iremos criar uma nova regra (inbox rule):
Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager
19
Figura 24 - Criando regra para bloquear o spam
Especificaremos a palavra <style> como a que iremos utilizar para filtrar os e-mails:
Figura 25 - Configurando o filtro para a palavra <style>
Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager
20
Tomaremos como ação o redirecionamento de quaisquer e-mails com a tag <style> para a
pasta “Junk Email”, mas podemos tomar outras ações como a deleção das mensagens.
Figura 26 - Ação a ser tomada pelo filtro criado
Desta forma, os spams pararam de ir para a caixa de entrada e passaram a ser enviados para
a pasta de “junk emails”.
Mission accomplished!
VII. CONCLUSÃO
Após analisar os SPAMS recebidos e como eles estão passando pelas verificações de segurança,
podemos concluir alguns pontos importantes:
▪ Os SPAMs estão evoluindo e se modificando para, cada vez mais, não serem
detectados por soluções de segurança da informação. Este fato os torna uma ameaça
de criticidade alta, uma vez que eles podem ser usados para disseminar malwares e
outras pragas virtuais;
▪ Os criadores de e-mails SPAM tem utilizado novas técnicas anti-anti-spam, capazes de
burlar tecnologias de validações empregadas em appliances e softwares específicos
para este trabalho, podendo chegar ao ponto de as tecnologias empregadas ficarem
totalmente obsoletas e inefetivas;
▪ Ficou evidente a real necessidade de monitorar, analisar e customizar o ambiente e
processos de segurança da informação a fim de estar sempre preparado para
combater estas e outros tipos de ameaças digitais.
VIII. REFERÊNCIAS
[1] https://olhardigital.uol.com.br/noticia/144,8-bilhoes-de-e-mails-sao-enviados-
diariamente-no-mundo/30914
[2] https://en.wikipedia.org/wiki/Email_spam
[4] http://searchcio.techtarget.com/definition/UCE
[5] http://www.antispam.br
[6] http://blog.trendmicro.com/trendlabs-security-intelligence/macro-based-malware-
increases-along-with-spam-volume-now-drops-bartalex/
[7] https://tools.ietf.org/html/rfc7208
[8] https://securityintelligence.com/understanding-the-spf-and-dkim-spam-filtering-
mechanisms/
[9] https://blog.returnpath.com/how-to-explain-dmarc-in-plain-english/
Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager
21
[10] https://www.rfc-editor.org/rfc/rfc7001.txt
[11] https://en.wikipedia.org/wiki/Naive_Bayes_spam_filtering
[12] https://tools.ietf.org/html/rfc4021
[13]
http://www.process.com/psc/fileadmin/user_upload/whitepapers/pmas/explanation_filter_
techniques.pdf

Mais conteúdo relacionado

Semelhante a Proteção contra SPAM e técnicas anti-spam

Como melhorar a entregabilidade dos seus e-mails
Como melhorar a entregabilidade dos seus e-mailsComo melhorar a entregabilidade dos seus e-mails
Como melhorar a entregabilidade dos seus e-mailsAutotic
 
Tabelião Digital - E-mail Notarizado
Tabelião Digital - E-mail NotarizadoTabelião Digital - E-mail Notarizado
Tabelião Digital - E-mail NotarizadoMárcio Marques
 
ativ17_eligiafreitas_spam
ativ17_eligiafreitas_spamativ17_eligiafreitas_spam
ativ17_eligiafreitas_spamEligia2010
 
Mensagens eletronicas o que é um email
Mensagens eletronicas   o que é um emailMensagens eletronicas   o que é um email
Mensagens eletronicas o que é um emailDulcelenacosta
 
Correio eletronico
Correio eletronicoCorreio eletronico
Correio eletronicoZeeMariana
 
03 Servidores De Email Modulo 8 27 A 43
03   Servidores De Email   Modulo 8   27 A 4303   Servidores De Email   Modulo 8   27 A 43
03 Servidores De Email Modulo 8 27 A 43jmpdias.esmaia
 
Correio eletronico
Correio eletronicoCorreio eletronico
Correio eletronicoInesLara01
 
Correio eletronico
Correio eletronicoCorreio eletronico
Correio eletronicoKika_Cris
 
Plataforma de email marketing - Mailrelay
Plataforma de email marketing - MailrelayPlataforma de email marketing - Mailrelay
Plataforma de email marketing - MailrelayMiguel Brandão
 
Introdução ao E-mail Marketing
Introdução ao E-mail MarketingIntrodução ao E-mail Marketing
Introdução ao E-mail MarketingMiguel J C F Brito
 
Cielo guia segurança_ecommerce_0305
Cielo guia segurança_ecommerce_0305Cielo guia segurança_ecommerce_0305
Cielo guia segurança_ecommerce_0305Site Blindado S.A.
 
Atomic mail sender
Atomic mail senderAtomic mail sender
Atomic mail senderPode Pah
 
Correio eletrónico
Correio eletrónicoCorreio eletrónico
Correio eletrónicoyyouyyou
 
Exchange Server 2010 - Compliance
Exchange Server 2010 - ComplianceExchange Server 2010 - Compliance
Exchange Server 2010 - Compliancebrunoestrozi
 

Semelhante a Proteção contra SPAM e técnicas anti-spam (20)

Como melhorar a entregabilidade dos seus e-mails
Como melhorar a entregabilidade dos seus e-mailsComo melhorar a entregabilidade dos seus e-mails
Como melhorar a entregabilidade dos seus e-mails
 
Tabelião Digital - E-mail Notarizado
Tabelião Digital - E-mail NotarizadoTabelião Digital - E-mail Notarizado
Tabelião Digital - E-mail Notarizado
 
ativ17_eligiafreitas_spam
ativ17_eligiafreitas_spamativ17_eligiafreitas_spam
ativ17_eligiafreitas_spam
 
marketing digital aula 8
marketing digital aula 8marketing digital aula 8
marketing digital aula 8
 
Spam
SpamSpam
Spam
 
Internet 2
Internet 2Internet 2
Internet 2
 
Mensagens eletronicas o que é um email
Mensagens eletronicas   o que é um emailMensagens eletronicas   o que é um email
Mensagens eletronicas o que é um email
 
Regras emkt
Regras emktRegras emkt
Regras emkt
 
Correio eletronico
Correio eletronicoCorreio eletronico
Correio eletronico
 
03 Servidores De Email Modulo 8 27 A 43
03   Servidores De Email   Modulo 8   27 A 4303   Servidores De Email   Modulo 8   27 A 43
03 Servidores De Email Modulo 8 27 A 43
 
Correio eletronico
Correio eletronicoCorreio eletronico
Correio eletronico
 
Correio eletronico
Correio eletronicoCorreio eletronico
Correio eletronico
 
Plataforma de email marketing - Mailrelay
Plataforma de email marketing - MailrelayPlataforma de email marketing - Mailrelay
Plataforma de email marketing - Mailrelay
 
Introdução ao E-mail Marketing
Introdução ao E-mail MarketingIntrodução ao E-mail Marketing
Introdução ao E-mail Marketing
 
Cielo guia segurança_ecommerce_0305
Cielo guia segurança_ecommerce_0305Cielo guia segurança_ecommerce_0305
Cielo guia segurança_ecommerce_0305
 
Atomic mail sender
Atomic mail senderAtomic mail sender
Atomic mail sender
 
Palestra Email Marketing
Palestra Email MarketingPalestra Email Marketing
Palestra Email Marketing
 
Correio eletrónico
Correio eletrónicoCorreio eletrónico
Correio eletrónico
 
Spam
SpamSpam
Spam
 
Exchange Server 2010 - Compliance
Exchange Server 2010 - ComplianceExchange Server 2010 - Compliance
Exchange Server 2010 - Compliance
 

Proteção contra SPAM e técnicas anti-spam

  • 1. Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager 1 Estratégias para proteção e combate ao SPAM I. INTRODUÇÃO O correio eletrônico é um dos meios de comunicação mais utilizados atualmente. Estima-se que cerca de 144 Bilhões de e-mails são enviados diariamente, sendo que mais da metade correspondem a informações empresariais [1]. Assim, dentre este enorme e constante fluxo de e-mails, há aquelas mensagens não solicitadas - conhecidas como SPAMs, que insistem em aparecer nas caixas de mensagens nos momentos mais inoportunos. O principal perigo dos SPAMS está na possibilidade de conterem, ou levarem a sites que tenham, malwares e outras ameças digitais, podendo se utilizar de técnicas para enganar o leitor conhecidas como phishing. Esta prática torna o SPAMS uma ameaça virtual potencialmente disruptiva e perigosa para pessoas comuns e empresas. Em nossas recentes pesquisas, nos deparamos com um grande número de SPAMs aparecendo capazes de burlar mecanismos de segurança empregados. Ao analisar detalhadamente estes e-mails, verificamos que eles, apesar de serem SPAMs, estavam passando pelas validações de segurança, contendo ainda técnicas anti-anti-spam. Este artigo tem o objetivo detalhar as análises realizadas nos SPAMs recebidos e como estão burlando as validações e técnicas anti-spams. II.O QUE SÃO E DE ONDE VEM OS SPAMS? O termo SPAMMING representa o uso de sistemas e dispositivos capazes de enviar informações (mensagens) não solicitadas. Uma das formas mais comuns de SPAMMING é o e-mail SPAM, onde informações não requisitadas são recebidas em forma de correio eletrônico. Os SPAMS podem ser categorizados em:  UBE (Unsolicited bulk email) - E-mails não solicitados, enviados em larga escala.  UCE (Unsolicited commercial email) – E-mails com propagandas comerciais/promocionais, enviadas para consumidores de forma não solicitada. Os SPAMMERS (pessoas que produzem SPAMS) tem diversas motivações para realizar tal prática, sendo a maioria relacionada ao ganho monetário. O ganho pode ser decorrente da obtenção e venda de uma lista de e-mails válida, infecção de sistemas através de malwares e visualização de propagandas (advertising). Como uma das formas mais comuns e utilizadas de SPAMMING é feita através de email, as proximas seções tem como objetivo apresentar a estrutura de uma mensagem eletronica. III.O ESQUELETO DE UM EMAIL Uma mensagem de correio eletrônico (e-mail), é composto basicamente de duas partes: cabeçalho (Header) e corpo (Body).
  • 2. Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager 2 O Header de uma mensagem de e-mail descreve, em detalhes, as checagens, caminhos e validações feitas na mensagem, além de conter informações únicas do próprio e-mail (metadados). As principais informações contidas no cabeçalho de e-mail podem ser destacadas a seguir: Received: from BLUPR0201CA0001.namprd02.prod.outlook.com (10.163.116.11) by MWHPR02MB2847.namprd02.prod.outlook.com (10.175.50.21) with Microsoft SMTP (...) Received: from lejmed.undecasionic.com ([199.33.125.179]) by SNT004- MC1F22.hotmail.com with Microsoft SMTPSVC(7.5.7601.23143); Wed, 11 Jan 2017 07:24:49 -0800 (…) Authentication-Results: spf=pass (sender IP is 199.33.125.179) smtp.mailfrom=lejmed.undecasionic.com; hotmail.com; dkim=pass (signature was verified) header.d=lejmed.undecasionic.com;hotmail.com; dmarc=permerror action=none header.from=bwc9c.lejmed.undecasionic.com; Received-SPF: Pass (protection.outlook.com: domain of lejmed.undecasionic.com designates 199.33.125.179 as permitted sender) receiver=protection.outlook.com; client-ip=199.33.125.179; helo= lejmed.undecasionic.com; DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; s=SELECTOR1; d=lejmed.undecasionic.com; h=Subject:From:Reply-to:To:Content-Type:Date:Sender; i=z1jhir@lejmed.undecasionic.com; (...) Subject: =?UTF-8?B?QSBtZXNzYWdlIGZvciA=?={ endereco-email } From: =?UTF-8?Q?Life Insurance?=<info.bwc9c@bwc9c.lejmed.undecasionic.com> Reply-to: <info@ignceyenbrig.com> To: endereco-email@hotmail.com Sender: zzzzz1jhir@lejmed.undecasionic.com Return-Path: ooooooooo@lejmed.undecasionic.com Message-ID: SNT004-MC1F22rVjYKt0058174d@SNT004-MC1F22.hotmail.com Content-Type: text/html; charset=us-ascii; Content-Disposition: inline Date: Wed, 11 Jan 2017 10:24:44 -0500 (EST) (…) X-Originating-IP: 199.33.125.179 Disposition-Notification-To: <info@ignceyenbrig.com> X-Loop: ddddd<slj2qo@lejmed.undecasionic.com> X-OriginalArrivalTime: 11 Jan 2017 15:24:49.0511 (UTC) FILETIME=[D925AF70:01D26C1E] X-IncomingHeaderCount: 17 (...) Header Body Contém as informações técnicas do fluxo de interações do e-mail, desde sua origem até seu destino. Contém as informações que serão exibidas pelo leitor de e-mail.
  • 3. Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager 3 A primeira parte do cabecalho, destacado em vermelho, detalha o caminho pecorrido pelo email desde o servidor de origem até seu destino. O principal campo é o “Received”, que Identifica quais servidores de email receberam a mensagem e a processaram. Cada vez que a mensagem passa por um servidor, um novo registro é adicionado ao cabeçalho com as informações de processamento. A primeira linha desta seção contém o primeiro servidor a processar a mensagem (o servidor emissor), mas esta informação pode ser modificada para ocultar a real origem. O segundo bloco, destacado em cinza, mostra as validações de segurança feitas na mensagem eletrônica (spf, dkim, DMARC, etc), conforme veremos com mais detalhes nos próximos tópicos: O bloco em azul apresenta os metadados da mensagem. Seus principais campos são:  Subject: Titulo da mensagem;  From: Informação de quem enviou o email. Pode ser adulterado (spoofed);  To: Destinatário do email;  Sender: Informação do emissor do email. Geralmente similar ao campo From, mas pode ser modificado pelo servidor SMTP para mandar mensagens usando outra credencial. Esta troca de credencial é muito usada em emails marketing;  Date: Data de quando foi enviada a mensagem;  Message-ID: Contém o ID de identificação único da mensagem, gerado pelo servidor SMTP emissor. O último bloco apresentado, destacado em roxo, contém campos adicionais. Todo campo iniciado po “X” representa uma informação adicional, geralmente adicionado por servidores/appliances de email. Mudando o foco para o corpo (body) do email, esta seção contém as informações que serão lidas pelo receptor do email. Comulmente as informações são codificadas em html. Com estas informações já é possível ter um bom entendimento da estrutura interna de um email. Na seção a seguir vamos apresentar os mecanismos anti-spam e como eles utilizam as informações do cabeçalho para validar uma mensagem eletrônica. IV.QUAIS SÃO E COMO FUNCIONAM OS MECANISMOS ANTI-SPAM Atualmente, há um grande número de tecnologias focadas no combate aos spams, utilizando um ou mais mecanismos de validação conhecidos. A seguir, apresentamos os principais protocolos e técnicas anti-spam utilizados. SPF O Sender Policy Framework (SPF) é um sistema de validação de e-mails cujo objetivo é verificar se o emissor das mensagens está autorizado a utilizar o nome de domínio para enviar os e-mails. Esta verificação se torna necessária pelo fato do campo “MAIL FROM”, responsável por indicar o emissor do e-mail, ser passível de alteração. Desta forma, podemos criar um e-mail usando uma conta do provedor X e alterar o campo “mail from” no cabeçalho da mensagem eletrônica para uma conta do provedor Y, escondendo a real origem da mensagem. A configuração do SPF nos provedores de e-mail/relays é bastante simples e recomendada, bastando somente criar um apontamento no DNS indicando quais endereços IPs o sistema autoriza a enviar mensagens eletrônicas através dele. Como exemplo de configuração SPF, considere o seguinte registro publicado no domínio teste.com:
  • 4. Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager 4 IN TXT "v=spf1 ip4:192.0.2.1 ip4:192.0.2.2” O exemplo acima permite que os endereços IP 192.0.2.1 e 192.0.2.2 enviem e-mails usando o nome “teste.com” como emissor. Quaisquer outros endereços IPs falharão na checagem do SPF, feito por outros provedores de e-mail e sistemas AntiSpam. DKIM O DKIM (DomainKeys Identify Mail) é um mecanismo de autenticação com foco em mitigar falsificação de e-mails (spoofing). De maneira geral, o emissor assina digitalmente o cabeçalho e a mensagem usando uma chave privada. Ao receber o e-mail com a assinatura digital, o receptor busca a chave pública (usando query DNS) e verifica a autenticidade das informações. A confiança está no registro DNS do emissor, pois “somente” ele poderia gerenciar seus registros. As chaves públicas são disponibilizadas nos registros de TXT de DNS, seguindo o formato: ▪ Selector: Define o registro de DNS que deverá ser consultado. Definido na mensagem enviada. ▪ _domainkey: Especifica o que está sendo consultado, neste caso será buscado a chave de domínio. ▪ Domínio: O domínio que será verificado. Desta forma, podemos obter a chave pulica consultando o DNS desta forma: dig -t TXT selector._domainkey.dominio Obtendo o seguinte resultado: "v=DKIM1; g=*; k=rsa; t=y;p=CHAVE_PUBLICA… DMARC O Domain-based Message Authentication, Reporting & Conformance (DMARC) é um protocolo de autenticação de mensagens eletrônicas, amplamente utilizado por provedores de e-mail. Ele atua baseado nos protocolos SPF e DKIM e tem como principal característica a definição de políticas de ações para mensagens não-autorizadas. Basicamente o DMARC utiliza as mesmas verificações do SPF e DKIM, porém, permite definir o que será feito com as mensagens que não forem autenticadas. Por exemplo, é possível criar uma política para “quarantenar” mensagens não autenticadas e enviar um reporte de erro para o domínio de origem. Assim como seus protocolos de base, o DMARC depende de configurações no DNS do domínio, conforme exemplo: "v=DMARC1; p=quarantine; rua=mailto: report@dominio.com" Sendo os campos: V= Versão do protocolo; P= Política de ação que se deseja tomar caso o e-mail não seja autenticado, podendo ser 3 opções: • None – Não toma nenhuma ação; • Quarantine – Envia a mensagem para a quarentena; • Reject – Rejeita/deleta a mensagem.
  • 5. Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager 5 Rua= Endereço que deve receber o relatório. BAYESIAN FILTERING O Bayesian filtering é uma técnica antispam baseada na classificação probabilística criada por Naive Bayes. O filtro correlaciona tokens (expressões, palavras-chave, links etc.) com e-mails classificados como spams e legítimos. Com base neste correlacionamento, o teorema de Bayes é utilizado para calcular a probabilidade de um e-mail ser legítimo ou spam. A fórmula utilizada para o cálculo de probabilidade de uma mensagem ser spam, para um token específico, é [10]: Pr(𝑆|𝑊) = 𝑃𝑟(𝑊|𝑆) ∗ 𝑃𝑟(𝑆) Pr(𝑊|𝑆) ∗ Pr(𝑠) + Pr(𝑊|𝐻) ∗ Pr(𝐻) Onde: ▪ Pr(S|W) é probabilidade da mensagem ser um spam baseado em um token; ▪ Pr(S) é a probabilidade de uma mensagem qualquer ser classificada como spam; ▪ Pr(W|S) é a probabilidade do token estar em um mensagem classificada como spam; ▪ Pr(H) é a probabilidade de uma mensagem qualquer ser legítima (não spam); ▪ Pr(W|H) é a probabilidade do token estar em uma mensagem legítima (não spam). A fórmula acima calcula as chances de uma mensagem ser categorizada como spam baseado em um único tolken. Geralmente mensagens possuem vários tolkens, sendo que suas probabilidades são combinadas usando a fórmula a seguir: 𝑝 = 1 1 + 𝑒∑ [ln(1−𝑝𝑖)−ln(𝑝𝑖)]𝑁 𝑖=1 Onde: ▪ p = Probabilidade da mensagem ser um spam baseado em todos os tokens; ▪ pi = probabilidade da mensagem ser um spam baseado em um token (calculado pela fórmula anterior). Utilizando a formula em um exemplo, vamos considerar que o filtro está avaliando um e-mail cujos tokens sejam as palavras “saldão” e “casa”, tendo as seguintes probabilidades: ▪ Pr(S) = 30% (probabilidade das mensagens recebidas serem spams baseadas na palavra “saldão”); ▪ Pr(W|S) = 90% (probabilidade da palavra “saldão” estar em um spam); ▪ Pr(H) = 70% (probabilidade das mensagens recebidas serem legítimas, baseadas na palavra “saldão”); ▪ Pr(W|H) = 10% (probabilidade da palavra “saldão” estar em mensagens legítimas. Calculando a probabilidade de uma mensagem com as palavras “saldão” ser classificada como spam, temos: Pr(saldão) = 0.9 ∗ 0.3 0.9 ∗ 0.3 + 0.1 ∗ 0.7 ≈ 80% Sendo assim, a probabilidade desta mensagem ser um spam, baseado no token “saldão” é de aproximadamente 80%. Vamos considerar que a probabilidade para a palavra “casa” foi calculada como sendo 40%: Pr(casa) ≈ 40%
  • 6. Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager 6 Podemos calcular a probabilidade final da mensagem ser spam ou não combinando os resultados das duas palavras, sendo: 𝑝 = 1 1 + 𝑒∑ [ln(1−𝑝𝑖)−ln(𝑝𝑖)]𝑁 𝑖=1 = 1 1 + 𝑒[(ln(1−0,8)−ln(0,8)) + (ln(1−0,2)−ln(0,2)] 𝑝 = 1 1 + 𝑒[(−0,60206 + (0,176091)] = 1 1 + 𝑒[−0,42597] = 1 1 + 0,653137 𝑝 = 1 1 + 0,653137 = 1 1,653137 𝒑 ≈ 𝟔𝟎, 𝟓% Desta forma, se a filtro Bayesian estiver configurado para bloquear todos os e-mails com probabilidade de ser spam acima de 60%, um email contendo os tokens “saldão” e “casa” seriam classificados como spam e bloqueados. BLACKLIST DE DNS Outra técnica utilizada contra spams é o bloqueio de DNS considerados “maliciosos”. Desta forma, cria-se uma lista de bloqueio (blacklist) com todos os domínios relacionados a envio de spams. A lista é aplicada diretamente no appliance antispam ou no servidor SMTP, filtrando as mensagens antes mesmo de chegarem nas caixas postais dos destinatários. V. ANALISANDO OS E-MAIL SPAMS RECEBIDOS Agora que conhecemos os principais mecanismos anti-spam, podemos começar a análise dos e-mails SPAM que foram recebidos diretamente na caixa de entrada do correio eletrônico. Os e-mails SPAMS analisados foram recebidos em uma conta no provedor de e-mails gratuito. Os SPAMS estavam na caixa de entrada, isso quer dizer que os filtros e mecanismos AntiSpam do Hotmail falharam ao identifica-los e excluí-los. Os e-mails foram disponibilizados no Pastebin, sendo: SPAM #1: https://pastebin.com/gyePt07s SPAM #2: https://pastebin.com/Ju606rmp As figuras 1 e 2 exemplificam os SPAMS mencionados:
  • 7. Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager 7 Figura 1 - E-mail SPAM #1 recebido na caixa de entrada Figura 2 – E-mail SPAM #2 recebido na caixa de entrada Verificamos que os e-mails recebidos não contêm anexos e suas informações são escritas usando HTML.
  • 8. Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager 8 ANALISANDO OS CABEÇALHOS Ao analisar os cabeçalhos dos SPAMS, é possível constatar que eles foram enviados a partir dos domínios lejmed.undecasionic.com e 3carule.com: Figura 3 - Cabeçalho do SPAM #1
  • 9. Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager 9 Figura 4 - Cabeçalho do SPAM #2 Como primeira coincidência, verificamos que, apesar de serem domínios distintos, ambos possuem praticamente a mesma página web: Figura 5 - Página do domínio do SPAM #1
  • 10. Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager 10 Figura 6 - Página do domínio do SPAM #2 Ao clicar na imagem presente em ambos os SPAMS, somos direcionados a uma página da internet. Ao analisar o código fonte do SPAM #1, encontramos o link que nos leva a esta página, repetido 4 (quatro) vezes durante o corpo do email: <a href="http://checkmorr.com/aa.html/?6e.6e.3d.31.6f.31.33.71.75.6f.6f.74.65.5f.76 .6c.5f.6f.5f.55.4b.76.6c.5f.30.76.33.33.2e.6f.6e.76.39.61.73.77.61.2e.41.30.31.33.6 8.72.66.66.6c.34.34.30.77.35.7a.31.6d.6e.5f.72.32.31.31.31.39.2e.67.65.68.6a.63YmU1 NGszM2kydmRq3f2czT"> 1. A URL contém alguns caracteres hexadecimais. Não encontramos scripts dentro do corpo do e- mail que os convertessem para ASCII. Convertendo a URL para caracteres ASCII, temos: <a href="http://checkmorr.com/aa.html/?nn=1o13quoote_vl_o_UKvl_0v33.onv9aswa.A013hr ffl440w5z1mn_r21119.gehjc YmU1NGszM2kydmRq3f2czT"> Ao clicar na imagem, verificamos que, de fato, somos redirecionados para a URL decodificada: Figura 7 - Sequência de redirecionamentos feitos ao clicar na Imagem do SPAM #1 No momento destes testes, a página final não se encontrava mais disponível. Uma similaridade surgiu ao entrarmos na página http://checkmorr.com/, a qual tem grandes semelhanças com as páginas dos domínios dos SPAMS enviados:
  • 11. Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager 11 Figura 8 - Página do site de redirecionamento do SPAM #1 Notamos, também, que os campo “From” e “Sender” são diferentes, um informando que o email foi enviado por “info.bwc9c@bwc9c.lejmed.undecasionic.com” e o outro mostrando que o email originou-se de z1jhir@lejmed.undecasionic.com, categorizando o emprego de uma técnica de falsificação de informações conhecida como (email) spoofing: Figura 9 - Email spoofing Podemos verificar o spoofing no e-mail recebido: Figura 10 - Spoofing no endereço de emissão do E-mail
  • 12. Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager 12 As mesmas situações foram verificadas para o SPAM #2. Até o momento somente conseguimos confirmar que os e-mails são de fato SPAMS. A seguir vamos entender o motivo destes e-mails terem sido entregues na caixa de entrada, burlando as proteções anti-spam presentes. BURLANDO OS MECANISMOS ANTI-SPAM Inicialmente, podemos verificar que o SPAM #1 passou pela verificação do SPF: Figura 11 - Checagem do SPF do SPAM #1 O spam passou pelo SPF pelo fato do IP (199.33.125.179) ter permissão para utilizar o domínio “lejmed.undecasionic.com” como emissor. Podemos verificar esta informação fazendo uma query DNS diretamente nos registros TXT do domínio: Figura 12 - Registro SPF do domínio do SPAM #1 De forma similar ocorreu com o SPAM #2, onde o domínio “3carule.com” autoriza o IP 213.246.63.192 a enviar mensagens por ele. Figura 13 - Checagem do SPF do SPAM #2 Até este ponto o spam conseguiu passar pela verificação do SPF enviando o email com um IP autorizado a utilizar o domínio emissor. A próxima etapa da verificação é o teste do DKIM:
  • 13. Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager 13 Figura 14 - Verificação do DKIM do SPAM #1 O trecho abaixo demonstra a verificação DKIM feita pelo servidor SMTP. Para facilitar, vamos separar por partes: DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; s=SELECTOR1; d=lejmed.undecasionic.com; h=Subject:From:Reply-to:To:Content-Type:Date:Sender; i=z1jhir@lejmed.undecasionic.com; bh=AznqCr194VANC57Dj6Q166Auq/M=; b=mmnutEVcq74z+9yNSEKiV6RO83XfCndcjlu5Q5h0cJQJnntJDQDtXrY5jKyMuypYWeoChj oZeTM8/jTBL+SGrKXE2o0A3QTyt+x8tv7JTGcGBcLvGAYOO1dkkMc7J7+l6L8r7fXbl6wgFnt cL98SOTzHdGOOcxwwaH0gUA5ukkc= Sendo que cada parâmetro representa: ▪ b = Assinatura digital do conteúdo da mensagem; ▪ bh = Hash do corpo da mensagem; ▪ d = Domínio; ▪ s = Seletor; ▪ v = Versão; ▪ a = Algoritmo utilizado para assinar a mensagem; ▪ c = Algoritmo canônico; ▪ q = A query padrão utilizada; ▪ t = Timestamp da assinatura; ▪ x = Tempo de expiração; ▪ h = Lista dos campos assinados. Para validarmos as informações, checamos se podemos obter a chave púlica utilizada para verificar assinatura da mensagem, fazendo uma requisição (query) dns para o endereço seletor._domainkey.dominio. Substituindo para os campos do SPAM #1, temos: Figura 15 - Chave pública obtida do SPAM #1
  • 14. Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager 14 Verificamos que esta chave pública valida a assinatura usada no email, conforme consta em seu cabeçalho: Figura 16 - Validação da assinatura digital (DKIM) do SPAM #1 O mesmo cenário ocorreu para o SPAM #2. A próxima validação é a do filtro DMARC. Podemos ver que a validação DMARC falha (permerror)[9], indicando que não foi possível verificar os registros DMARC no domínio de origem. Ainda podemos observar que a política padrão de configuração do DMARC, no provedor de e-mails utilizado, está definida para não fazer nada (none), conforme figuras abaixo: Figura 17 - Verificação DMARC SPAM #1 Figura 18 - Ação padrão do filtro DMARC no Hotmail no SPAM #1 Para o SPAM #2 verificamos que o domínio não tem DMARC configurado, lembrando que a política padrão é a de não fazer nada (none). Figura 19 - Verificação DMARC SPAM #2 Desta forma, o spam foi aprovado pelas validações SPF, DKIM e “passou” pelo DMARC, sendo entregue na caixa de entrada de seu destino. Sumarizando todas as informações que verificamos até o momento, temos: ▪ O criador do spam utilizou um endereço IP autorizado a utilizar o domínio “lejmed.undercasionic.com” como emissor de emails, passando pelo filtro SPF; ▪ O spam teve seus campos assinados digitalmente e o domínio possui em seus registros DNS a chave pública capaz de verificar a autenticidade da assinatura, fazendo com que o spam passasse pelo teste DKIM; ▪ O filtro DMARC não foi verificado em ambos os spams, sendo que a ação padrão do Hotmail, para estes casos, é o de não fazer nada (none); ▪ Como o spam “passou” por todas as verificações anti-spam do Hotmail, o mesmo foi entregue na caixa de entrada do mailbox. BURLANDO O FILTRO BAYESIAN Conforme apresentado nas seções anteriores, os spams conseguiram passar pelas checagens de integridade do sistema anti-spam do Hotmail, chegando na caixa de entrada das mensagens. Porém, durante as análises do conteúdo do spam, outra coisa chamou nossa atenção. Notamos a presença de um grande número de strings contidas na tag html <style>:
  • 15. Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager 15 Figura 20 - Informações contidas dentro da tag <style> no SPAM #1 Note que a parte do HTML finalizou antes do início da tag <style>, fazendo com que toda a informação contida na tag <style> não seja renderizada pelo aplicativo de email e nem visualizada pelo leitor da mensagem. Verificando os dados dados prsentes na tag <style>, percebe-se se tratarem de palavras pseudo-randomicamente concatenadas com o link “www.youtube.com/”. Este padrão repete- se aproximadamente 2400 vezes:
  • 16. Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager 16 Figura 21 - Informações contidas na tag <style> do SPAM #1 O mesmo padrão repete-se no SPAM #2 e em todos os outros SPAMS recebidos:
  • 17. Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager 17 Figura 22 - Informações dentro da tag <style> no SPAM #2 A princípio, a existência destas informações não fazia sentido, uma vez que não eram renderizadas nem utilizadas pelo spam. Após futuras análises, identificamos que o objetivo destas longas linhas de texto ficou claro: driblar o filtro de detecção anti-spam Bayesian. Conforme explicado anteriormente, o filtro Bayesian é utilizado por soluções e appliances anti-spam, separando mensagens legítimas de Spams através de sua “inteligência”. Esta característica é obtida através de cálculos de probabilidade e risco baseados nos textos contidos em e-mails classificados como legítimos e Spams. Analisando por esta perspectiva, há uma grande chance de e-mails com links para vídeos do youtube não serem categorizados como spams, porém a repetição do mesmo link levantaria uma bandeira. A solução empregada nos Spams analisados foi concatenar os links do youtube com diversas palavras randômicas, criando diversas combinações diferentes. Isto se torna particularmente efetivo por explorar o modo como o filtro Bayesian funciona, pois ele determina se uma mensagem é spam ou não baseado nas palavras contidas no email (tokens) e em suas probabilidades de serem classificadas como spam. Desta forma, os SPAMS ao utilizarem um grande número de links do youtube, que geralmente estão presentes em e-mails válidos, diminuem consideravelmente a chance de a mensagem ser classificada como SPAM pelo filtro Bayesian.
  • 18. Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager 18 VI. BLOQUEANDO DE UMA VEZ POR TODAS Infelizmente o provedor de emails possui opções limitadas quanto a configurações anti-spam. Basicamente só é possível criar White/black lists e bloquear e-mails com algum conteúdo pré- definido. Por conta disto, temos algumas opções para bloquear os spams recebidos: 1. Incluir todos os IPS/domínios dos spams em uma black-list; 2. Somente aceitar e-mails de domínios/ips/remetentes conhecidos; 3. Bloquear e-mails que tiverem alguma palavra/expressão em seu conteúdo. A primeira opção não seria efetiva, uma vez que os spams recebidos estão relacionados a diferentes endereços IPs/Domínio. Um outro problema nesta opção é que bastaria o emissor dos spams mudar de domínio para voltarmos a recebê-los. A segunda opção é a mais assertiva e, também, mais restritiva, pois somente seria recebido emails daqueles destinatários previamente liberados. Considerando tudo, a última opção parece ser a mais viável. Para que seja possível bloquear os spams, é necessário encontrar algum texto/elemento em comum entre eles. Decidimos usar um pouco de ironia e utilizar os elementos anti-anti-spam para identificar os spams e bloqueá-los. Como vimos nas seções anteriores, os spams estão utilizando textos dentro de tags <style> para burlar o filtro bayesian. Com isto, vamos criar uma regra para bloquear todos os e-mails que tiverem esta tag. Configurando passo a passo: Inicialmente vamos criar uma regra na caixa de entrada do provedor: Figura 23 - Regras de entrada do Hotmail Iremos criar uma nova regra (inbox rule):
  • 19. Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager 19 Figura 24 - Criando regra para bloquear o spam Especificaremos a palavra <style> como a que iremos utilizar para filtrar os e-mails: Figura 25 - Configurando o filtro para a palavra <style>
  • 20. Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager 20 Tomaremos como ação o redirecionamento de quaisquer e-mails com a tag <style> para a pasta “Junk Email”, mas podemos tomar outras ações como a deleção das mensagens. Figura 26 - Ação a ser tomada pelo filtro criado Desta forma, os spams pararam de ir para a caixa de entrada e passaram a ser enviados para a pasta de “junk emails”. Mission accomplished! VII. CONCLUSÃO Após analisar os SPAMS recebidos e como eles estão passando pelas verificações de segurança, podemos concluir alguns pontos importantes: ▪ Os SPAMs estão evoluindo e se modificando para, cada vez mais, não serem detectados por soluções de segurança da informação. Este fato os torna uma ameaça de criticidade alta, uma vez que eles podem ser usados para disseminar malwares e outras pragas virtuais; ▪ Os criadores de e-mails SPAM tem utilizado novas técnicas anti-anti-spam, capazes de burlar tecnologias de validações empregadas em appliances e softwares específicos para este trabalho, podendo chegar ao ponto de as tecnologias empregadas ficarem totalmente obsoletas e inefetivas; ▪ Ficou evidente a real necessidade de monitorar, analisar e customizar o ambiente e processos de segurança da informação a fim de estar sempre preparado para combater estas e outros tipos de ameaças digitais. VIII. REFERÊNCIAS [1] https://olhardigital.uol.com.br/noticia/144,8-bilhoes-de-e-mails-sao-enviados- diariamente-no-mundo/30914 [2] https://en.wikipedia.org/wiki/Email_spam [4] http://searchcio.techtarget.com/definition/UCE [5] http://www.antispam.br [6] http://blog.trendmicro.com/trendlabs-security-intelligence/macro-based-malware- increases-along-with-spam-volume-now-drops-bartalex/ [7] https://tools.ietf.org/html/rfc7208 [8] https://securityintelligence.com/understanding-the-spf-and-dkim-spam-filtering- mechanisms/ [9] https://blog.returnpath.com/how-to-explain-dmarc-in-plain-english/
  • 21. Escrito por Danilo Cardoso – BDO CyberSecurity e Revisado por Thiago Costa RAS-IT Manager 21 [10] https://www.rfc-editor.org/rfc/rfc7001.txt [11] https://en.wikipedia.org/wiki/Naive_Bayes_spam_filtering [12] https://tools.ietf.org/html/rfc4021 [13] http://www.process.com/psc/fileadmin/user_upload/whitepapers/pmas/explanation_filter_ techniques.pdf