GURI SoftHouse
Desenvolvimento de Sistemas e
Consultoria em Informática

COMO IDENTIFICAR SPAM - PART 1



DICIONÁRIO DE SIGLAS E DEFINIÇÕES

Antes de qualquer informação, vamos entender o significado de algumas palavras ou siglas:
Protocolo
É um conjunto de regras, ou acordos, previamente definidos e aceitos por duas ou mais partes envolvidas. É o elemento base da comunicação, quer ela seja entre objetos eletrônica ou seres humanos.

Todo protocolo é composto por um conjunto de verbos e valores, que definem a ação e os atributos daquela açao, respectivamente.

SMTP
É o acronismo de Simple Mail Transfer Protocol. É o protocolo que rege a comunicação para o trânsito de mensagens.

O protocolo SMTP foi concebido, originalmente, para a troca de mensagens contendo, apenas, texto. Uma mensagem de texto consiste numa cadeia limitada de caracteres, envolvendo números e o alfabeto, mas sem as letras especiais (tipo cedilha e acentuações).

Algumas extensões do SMTP foram incorporadas para permitir o envio de mensagens contendo caracteres usados por outros idiomas, além de representar audio, figura estática ou vídeo.

CONFIAR OU DESCONFIAR
Na época que o protocolo SMTP foi projetado, consideravam-se que as pessoas envolvidas teriam um mínimo de etiqueta e sempre prestariam informações confiáveis, dispensando qualquer tipo ou método de confirmação.

Hoje aquele cenário é outro, o protocolo continua o mesmo e as soluções sugeridas são inócuas. Mesmo assim ainda é possível identificar alguns furos explorados por spammers, vírus e mensagens maliciosas.

SPAMMER E SPAM
Considero um spammer todo aquele que envia mensagens sem a devida solicitação ou autorização por parte de quem a recebe (o destinatário), oferendo serviços, produtos, alertas fraudulentos e solicitações de credenciais.

Uma mensagem para um amigo pode ser classificada como spam se o assunto não for de interesse de ambas as partes. Repare: "ambas as partes".

ENVELOPE, CABEÇALHO E CORPO
Uma mensagem eletrônica sob o protocolo SMTP é dividida em 3 partes distintas, que são parecidas com as cartas trocadas pelo correio normal.

O ENVELOPE contém informações que representam os valores dos parâmetros dos verbos. Indica o que foi "conversado" entre o sistema que envia a mensagem (Um Agente do Correio = Carteiro) e aquele que receberá a mensagem (O Sr Destinatário).

O CABEÇALHO contém as informações iniciais de um ofício, que no papel datilografado seria quem realmente escreveu a carta, seguido do destinatário real, assunto, data que a carta foi escrita, carimbos e selos (extensões de cabeçlhos do SMTP).

O CORPO é a mensagem propriamente dita. Além de texto e com as extensões é possível conter áudio e imagens (video, fotos figuras quaisquer) e até mesmo arquivos ou programas executáveis.

OS VERBOS E PARÂMETROS DO PROTOCOLO SMTP
PARA o ENVELOPE, o protocolo SMTP utiliza os verbos: HELO, MAIL FROM e RCPT TO.

Em HELO, o sistema que pretende enviar a mensagem deve se identificar com seu nome reconhecido pela Internet.

Em MAIL FROM: especifica-se o email completo do remetente, seguindo a sintaxe "usuário@domínio".

Em RCPT TO: especifica-se o endereço do destinatário. Uma mensagem que tem vários destinatários terá vários RPCT TO:.

O enviador da mensagem deve informar o momento da transição entre o ENVELOPE e o CABEÇALHO. Para isso, o SMTP reserva o verbo DATA.

No CABEÇALHO, o SMTP reserva vários campos. Os mais comuns são: From: , To: , Subject:, Date: e Message-Id:.

O campo From: deve identificar o autor da mensagem. No passado, era necessário que tal campo fosse independente do email definido em MAIL FROM, pois os computadores e contas eram compartilhados por vários usuários. Hoje não é assim! Cada usuário tem a sua conta e email individual.

O campo To: identifica o destinatário real da mensagem. Os mesmos motivos expostos para o campo "From:" são válidos para o campo "To:". Além disso, as RFCs orientam que o e-mail do campo "To:" pode ser diferente do e-mail de destinatário (RCPT TO, acima) quando este último for de uma lista definida ou com varios endereços ocultos.

O campo Subject: define o assunto da mensagem.

O campo Date: deve informar a data que a mensagem foi escrita pelo respectivo autor. A data efetiva de envio e entrega utilizam outros campos específicos.

O campo Message-Id: é um identificador da mensagem para associá-la a um mesmo assunto ou problema, mesmo que o campo Subject: seja modificado. Ele é composto por um número de identificação única e pelo nome do sistema que enviou a mensagem.