Como funciona

A arquitetura, a deteção de spam e a forma como o filtro fica mais inteligente com o tempo

A arquitetura: transporte IMAP → armazenamento local → análise

O GravesMail usa o servidor IMAP do seu fornecedor de e-mail apenas como camada de transporte. Nunca leio do IMAP para apresentar mensagens — seria lento e pouco fiável. Em vez disso, acontece o seguinte:

  1. Obtenção por IMAP — As mensagens são transferidas do servidor do seu fornecedor através de uma ligação encriptada.
  2. Passagem pela DMZ — As mensagens novas ficam numa área de preparação local (SQLite) antes de as ver.
  3. Análise de segurança em 7 camadas — Cada mensagem e cada anexo passam pelas sete Camadas de proteção na sua máquina, incluindo a análise de malware YARA.
  4. Filtragem pelas Regras rápidas — As mensagens que correspondem às suas Regras rápidas pessoais são tratadas automaticamente pela sua regra: postas de parte na Armadilha de spam para revisão, movidas ou eliminadas.
  5. Promoção para Caixa de entrada, Spam ou Malware — As mensagens limpas chegam à Caixa de entrada. O spam vai para Spam. As mensagens com malware vão para uma pasta Malware separada, com os anexos perigosos removidos e retidos.
  6. Eliminação do servidor (opcional) — Se tiver ativado «Eliminar do servidor após transferência», a mensagem é removida do seu fornecedor.

O SQLite é a única fonte de verdade. Tudo o que vê na interface vem da sua base de dados local, não do IMAP.

Sincronização em duas fases para caixas de correio grandes

Quando liga uma conta pela primeira vez — sobretudo uma com milhares de mensagens —, o GravesMail usa uma abordagem em duas fases:

Fase 1 (Início rápido): as 500 mensagens mais recentes de cada pasta são obtidas primeiro, normalmente em menos de um minuto. Pode começar logo a ler e a trabalhar.

Fase 2 (Sincronização em segundo plano): as restantes mensagens são transferidas discretamente em segundo plano. Um indicador de progresso na barra de estado mostra a percentagem concluída e o tempo restante estimado. Pode pausar, retomar ou parar em qualquer altura. O progresso é guardado se fechar a aplicação.

As sete Camadas de proteção

Cada mensagem recebida e os respetivos anexos passam por sete Camadas de proteção independentes. Cada camada procura um tipo diferente de problema e decide sozinha. Se uma única camada der o alarme, a mensagem é tratada como spam — não há médias nem uma pontuação combinada que tenha de ser atingida. Um alarme basta. É o modelo «OU de 7 camadas».

🌐

1. Validação de domínio

O domínio do remetente existe e tem servidores de correio verdadeiros? A terminação do endereço (o TLD, como .shop, .top, .click ou .xyz) é das que o spam costuma usar abusivamente?

🧠

2. Filtro bayesiano

Uma avaliação aprendida de quão parecidas com spam são as palavras da mensagem. Vem pré-treinado e depois aprende consigo — cada «Marcar como spam» ou «Marcar como não spam» torna-o mais inteligente.

🔒

3. Autenticação de cabeçalhos

SPF, DKIM e DMARC — as verificações padrão que provam que um remetente é quem diz ser.

🔍

4. Pontuação heurística

41 detetores que abrangem padrões de conteúdo e de cabeçalhos: palavras disfarçadas (H0ME, S4LE), frases típicas de burlas de adiantamento de dinheiro e de heranças, cabeçalhos forjados, anomalias de data e o país de origem do remetente.

📊

5. Reputação

As suas listas de remetentes seguros e bloqueados, o histórico do remetente e o seguimento de campanhas entre mensagens — que apanha um spammer que muda constantemente de domínio de remetente, mas reutiliza o mesmo servidor de origem, o mesmo anfitrião do conteúdo ou a mesma ligação de cancelamento de subscrição.

🛡

6. Malware: AV do sistema

No Windows, os anexos são submetidos ao antivírus instalado (Windows Defender, Norton, Bitdefender, Kaspersky e outros) através da interface AMSI. Esta camada não está disponível no macOS, no Linux nem em dispositivos móveis — e nessas plataformas di-lo claramente, em vez de comunicar um resultado limpo que nunca produziu.

🧬

7. Malware: YARA

Analisa os bytes dos anexos e os corpos das mensagens face a milhares de assinaturas de malware da comunidade, do repositório Neo23x0/signature-base. Deteta trojans, ransomware, RAT, macros maliciosas do Office, exploits de PDF e documentos de phishing. Funciona em todas as plataformas, incluindo as móveis, e vem incorporado para utilização offline.

Relatórios honestos — sem falsa confiança

Abra as Propriedades de qualquer mensagem para ver a discriminação por camada: a pontuação de cada camada, o limiar a partir do qual dá o alarme e o seu estado — Em alarme, Limpo ou Indisponível. Quando um analisador não pôde ser executado, o GravesMail indica «Indisponível». Nunca é apresentado como «Limpo». Um antivírus que não arranca e mesmo assim indica que está tudo limpo é o pior tipo de ferramenta de segurança, porque se confia num veredicto que nunca chegou a ser emitido.

O ecrã Motor de segurança (Ferramentas → Motor de segurança, ou Definições → Motor de segurança nos dispositivos móveis) permite ajustar cada uma das sete camadas individualmente com um controlo de deslize de sensibilidade de 0 a 100% — 0% desliga a camada, 100% é o mais sensível. Não há um controlo global único; as camadas ajustam-se uma a uma. O mesmo ecrã mostra o estado do analisador de malware em tempo real, um editor da política de países e um inventário, só de leitura, de todos os detetores e do peso de cada um.

Geolocalização sem consultas externas

A camada heurística tem em conta a origem de uma mensagem. Essa consulta é exclusivamente local. O GravesMail vem com uma tabela incorporada de países e intervalos de IP e consulta-a no seu dispositivo — não há consultas DNS, não há chamadas a API externas e não há nenhum serviço de terceiros pelo meio. Os metadados das suas mensagens nunca saem do seu dispositivo para serem geolocalizados.

É o utilizador que decide o que o resultado significa. No ecrã Motor de segurança pode marcar países como Seguro (sem sinal de spam adicional) ou Ameaça (um sinal forte). Ambas as listas começam vazias, pelo que o correio internacional comum nunca é penalizado enquanto não escolher uma política.

Dados de geolocalização de IP da DB-IP (db-ip.com), sob a licença CC BY 4.0.

Bloqueio de imagens externas e remoção de pixéis de rastreio

Quando recebe um e-mail, os remetentes podem incorporar imagens externas que são carregadas a partir dos servidores deles. Quando a imagem é carregada, o remetente fica a saber o seu endereço IP, que abriu o e-mail, quando o abriu e que dispositivo usou.

O GravesMail bloqueia as imagens externas por predefinição. Em separado, deteta e remove os pixéis de rastreio invisíveis (imagens de 1×1 usadas apenas para saber se a mensagem foi lida). São controlos independentes — pode carregar imagens sem carregar rastreadores, ou o contrário.

Encriptação ponto a ponto (OpenPGP)

O GravesMail suporta OpenPGP — a norma aberta e interoperável para e-mail encriptado e assinado ponto a ponto. Pode trocar correio privado com qualquer pessoa que use PGP, em qualquer sistema de correio (Proton Mail, Thunderbird, gpg e outros), e não apenas com outros utilizadores do GravesMail. Isto é PGP/MIME a sério, não um dialeto do GravesMail.

Chaves

Gere uma chave no Gestor de chaves PGP — recomenda-se Ed25519/Curve25519, estando RSA-4096 disponível para compatibilidade com software PGP mais antigo. Exporte a sua chave pública para que outros lhe possam escrever e importe as deles para lhes escrever. Depois de importar, o GravesMail mostra a impressão digital da chave; confirme-a com a pessoa por outro canal — uma chamada, ou pessoalmente — e marque-a como verificada. Uma chave não verificada funciona na mesma, mas continua assinalada como não verificada, porque essa marca significa exatamente uma coisa: ainda não confirmou que esta chave pertence mesmo a essa pessoa.

As chaves são identificadas pela impressão digital, não pelo endereço de e-mail. Ter duas chaves para um endereço é normal — uma antiga e uma nova, ou uma chave RSA e uma Ed25519 lado a lado —, pelo que cada ação atua sobre a chave que selecionou, e não sobre a primeira que por acaso corresponda ao endereço.

Pode associar uma chave a um contacto, para que encriptar para essa pessoa funcione sem ter de procurar no Gestor de chaves. Associar uma chave não ativa a encriptação; continua a escolhê-la mensagem a mensagem.

Faça uma cópia de segurança da sua chave secreta — esta é mesmo importante

Se perder a sua chave secreta, todas as mensagens alguma vez encriptadas para ela tornam-se irrecuperáveis para sempre. Nem por mim, nem por ninguém. Use Fazer cópia da chave secreta para guardar num sítio seguro um ficheiro de cópia protegido por palavra-passe, e lembre-se da palavra-passe. Restaurar chave secreta repõe-na num dispositivo novo ou reinstalado, confirmando que chave foi restaurada ao mostrar a identidade e a impressão digital. Eliminar uma das suas próprias chaves secretas é irreversível, pelo que o GravesMail reforça o aviso e obriga-o a confirmar.

Enviar e ler

A janela Escrever tem um controlo Segurança com três modos — Assinar, Encriptar ou Assinar + Encriptar (recomendado para correio privado). Por predefinição está desligado, pelo que o correio comum não muda. O correio encriptado que recebe é desencriptado automaticamente e mostra um cadeado fechado 🔒; o correio assinado mostra o estado da assinatura, e uma assinatura inválida é mostrada de forma bem visível, não discreta. Uma mensagem encriptada para uma chave que não tem nesse dispositivo di-lo explicitamente, em vez de lhe mostrar um corpo em branco.

Quando envia correio encriptado, o GravesMail encripta-o também para a sua própria chave, para que a cópia na pasta Enviados continue legível para si. Sem isso, não conseguiria desencriptar a sua própria cópia guardada. Isto está sempre ativo.

A regra que não cede

Se escolher encriptar e um destinatário não tiver uma chave utilizável, o envio é bloqueado. O GravesMail para e pergunta: cancelar, ou escolher explicitamente enviar sem encriptação — uma segunda ação deliberada, que identifica os destinatários em risco, nunca uma predefinição e nunca automática. Não existe nenhum caminho no código em que escolher a encriptação produza discretamente um envio em texto simples. Isto é imposto no próprio motor, não apenas na interface, e está coberto por um teste automatizado.

O que o PGP protege e o que não protege

O PGP encripta o corpo e os anexos da mensagem. Não oculta o assunto, os campos Para/De/Cc nem quando a mensagem foi enviada — esses circulam às claras. É a mesma limitação de todos os sistemas PGP/MIME, incluindo o Proton; não é uma falha do GravesMail, mas deve sabê-lo antes de confiar nele.

O PGP protege o seu correio em trânsito — da interceção e do seu fornecedor de correio. Não é uma ferramenta antiforense: uma vez desencriptado, o correio fica em cache na base de dados local encriptada do GravesMail, para que o possa pesquisar e ler offline.

Mais duas limitações, ditas sem rodeios: o GravesMail não faz consultas automáticas a servidores de chaves nem por WKD e não tem rede de confiança — é o utilizador que importa as chaves e que verifica as impressões digitais, uma escolha deliberada para não ter de confiar num serviço de rede quanto à identidade de alguém. E as mensagens com assinatura em texto claro incorporada (inline) são mostradas como texto legível sem verificação da assinatura; o GravesMail apresenta-as, em vez de afirmar uma assinatura que não verificou de facto.

Interoperabilidade

O PGP do GravesMail é verificado nos dois sentidos face ao GnuPG — a implementação de referência do OpenPGP — com chaves geradas pelo GravesMail, tanto Ed25519 como RSA-4096: o GravesMail encripta e o gpg desencripta, o gpg encripta e o GravesMail desencripta, e as assinaturas são verificadas nos dois sentidos. É um conjunto de testes automatizados, não uma verificação manual pontual.

O Proton Mail também está confirmado — à mão, e não por teste automatizado. Foi enviado e lido correio encriptado real nos dois sentidos entre o GravesMail e uma conta Proton ativa. Foram também esses testes que encontraram e corrigiram três defeitos reais pelo caminho: a validação rigorosa de chaves do Proton a rejeitar as chaves Ed25519 do GravesMail, um erro na expiração de chaves e anexos que desapareciam sem aviso do correio encriptado ao desencriptar. Os três estão corrigidos, e a interoperabilidade com o Proton funciona nos dois sentidos.

O Thunderbird não o testei especificamente para PGP, por isso não o afirmo aqui. É um cliente OpenPGP padrão e deve funcionar, mas «deve» não é o mesmo que verificado, e prefiro dizer-lhe o que foi realmente testado.

E-mail protegido por palavra-passe (sem chave)

O PGP é a ferramenta certa quando o seu correspondente também usa PGP. Quando não usa — e a maioria das pessoas não usa —, recorra antes à opção de proteção por palavra-passe descrita abaixo.

Por vezes precisa de enviar algo privado a alguém que não tem chaves de encriptação nem software especial — apenas uma conta de e-mail comum. A opção Proteger com palavra-passe (sem chave) do GravesMail sela a sua mensagem e os anexos dentro de um ZIP verdadeiro e padrão, encriptado com AES-256, que o destinatário abre com software gratuito e comum em qualquer plataforma.

Isto usa o formato WinZip AES-256 (AE-2), padrão do setor — a mesma encriptação forte que o 7-Zip, o Keka e as aplicações de arquivo para dispositivos móveis já compreendem. Não é um contentor exclusivo do GravesMail, nem é o «ZipCrypto» fraco e quebrável que as ferramentas ZIP mais antigas usavam. A interoperabilidade está comprovada com software de arquivo padrão real, e o formato de encriptação AE-2 do arquivo está fixado por um teste automatizado — pelo que o que sai é um ficheiro genuinamente padrão, não algo que só parece funcionar entre duas cópias da mesma aplicação.

O que sai de facto é um único anexo, protected-message.zip. A sua mensagem verdadeira e todos os anexos estão encriptados lá dentro; o corpo visível do e-mail contém apenas instruções em linguagem simples para o abrir. Os nomes dos anexos dentro do arquivo são substituídos por nomes neutros, e os nomes verdadeiros ficam num manifesto encriptado que aparece quando o destinatário introduz a palavra-passe — pelo que os nomes dos ficheiros também não ficam expostos.

Ao enviar, o GravesMail pede-lhe que defina uma palavra-passe forte (pelo menos 12 caracteres, com maiúsculas e minúsculas, dois algarismos e dois símbolos), com uma lista de verificação em tempo real e um campo de confirmação, para que um erro de escrita nunca deixe o destinatário de fora. Depois mostra a palavra-passe uma vez, com um botão Copiar, e lembra-o de a transmitir por outro canal — por telefone, SMS ou chat. O GravesMail nunca se oferece para enviar a palavra-passe por e-mail, e nunca a guarda nem a transmite para lado nenhum. O GravesMail também consegue abrir, no próprio local, as mensagens protegidas que recebe, em todas as plataformas.

Com honestidade sobre o que isto protege

A segurança está toda na palavra-passe — escolha uma boa e partilhe-a por um canal diferente do próprio e-mail. Não há prazo de validade nem «autodestruição»; sem um servidor, não é possível impô-los, e o GravesMail é centrado no armazenamento local, pelo que não os prometo. O ZIP encripta o conteúdo dos ficheiros, não a estrutura do arquivo, pelo que quem intercetar a mensagem consegue ver quantos ficheiros estão lá dentro e os respetivos tamanhos aproximados e datas — mas não os nomes nem o conteúdo. E o assunto do e-mail, os campos Para/De e a hora de envio continuam a circular às claras, como em qualquer e-mail.

Regras rápidas: a sua triagem pessoal de e-mail

As Regras rápidas permitem criar regras de triagem de um clique para remetentes, domínios ou padrões de assunto específicos. Cada regra tem o seu próprio botão na barra de ferramentas. Quando aplica uma regra a uma mensagem, o remetente é acrescentado automaticamente à lista de correspondências dessa regra — a regra fica mais inteligente à medida que a usa.

Uma regra pode enviar o correio correspondente para a Armadilha de spam, onde fica de parte para revisão, movê-lo para uma pasta, eliminá-lo ou eliminá-lo automaticamente ao fim de um número de dias. As regras podem ser aplicadas automaticamente durante a sincronização, para que as mensagens correspondentes nunca cheguem à Caixa de entrada, e pode analisar pastas inteiras em segundos para apanhar correio antigo em bloco. Tudo o que uma regra apanhou pode ser revisto, restaurado ou eliminado definitivamente em qualquer altura.

As suas regras têm precedência sobre o filtro de spam. Uma mensagem que corresponda a uma das suas regras é tratada pela sua regra antes de o filtro de spam a poder desviar — pelo que um remetente para o qual escreveu uma regra não é enviado por engano para Spam. O filtro continua a ser executado e a pontuar a mensagem, e pode ver o veredicto nas Propriedades; simplesmente não se sobrepõe à sua regra. A única exceção é o malware: a análise de malware ganha sempre, pelo que uma regra nunca pode entregar um anexo perigoso na Caixa de entrada.

A lista Capturas de hoje mostra tudo o que foi apanhado por todas as suas regras dentro de uma janela de tempo deslizante (de 1 a 96 horas no computador, 24 por predefinição). Cada lista de revisão — Regras, Capturas de hoje e Spam — tem a sua própria caixa de pesquisa.

Abra uma mensagem apanhada e o primeiro separador é a Pré-visualização segura: a mensagem apresentada como ficaria no painel de leitura, mas com os scripts neutralizados, os pixéis de rastreio bloqueados e as imagens remotas carregadas apenas para remetentes fidedignos. Tem os botões Responder, Responder a todos e Reencaminhar, pelo que pode responder a uma mensagem apanhada sem a restaurar primeiro para a Caixa de entrada — a mensagem fica onde está e a sua resposta sai como uma mensagem normal.

Anexos retidos

Quando o YARA ou o antivírus do sistema deteta malware num anexo, o GravesMail executa automaticamente as seguintes ações:

  • Mensagem posta de parte — movida para uma pasta Malware própria, separada do Spam.
  • Anexo removido — o ficheiro perigoso é retirado da mensagem. O corpo da mensagem é mantido, para que possa ver quem a enviou.
  • Dados preservados — os bytes do anexo são guardados localmente. Pode rever cada item retido, ver por que motivo foi retido, guardá-lo no disco se confiar nele ou eliminá-lo permanentemente, em Anexos retidos. Os itens retidos são mantidos até decidir; nunca se perdem em silêncio.
  • Explicação completa — as propriedades da mensagem mostram exatamente que regra YARA ou motor antivírus disparou, que ficheiro foi afetado e que ação foi tomada.

Também pode, em qualquer altura, clicar com o botão direito em qualquer anexo e escolher Procurar malware para executar uma análise a pedido. As regras YARA podem ser atualizadas manualmente nas Definições ou automaticamente, todas as semanas.

Cópias de segurança encriptadas automáticas

O GravesMail cria automaticamente cópias de segurança encriptadas de todo o seu perfil — não apenas da base de dados de correio, mas também dos contactos, do calendário, das regras, das listas de remetentes seguros e bloqueados, dos limiares ajustados, da reputação dos remetentes, do filtro de spam treinado, do porta-chaves PGP e das credenciais de conta guardadas. (Os ficheiros que vêm com a aplicação e são substituídos nas atualizações, como a tabela de consulta geográfica e o modelo de spam de base, ficam deliberadamente de fora.)

  • Cópias completas — uma cópia integral do perfil, encriptada com AES-256
  • Cópias diferenciais — apenas o que mudou desde a última cópia completa; ao restaurar uma, a cadeia é percorrida automaticamente para trás
  • Instantâneos pré-operação — antes de qualquer operação destrutiva (análise com regras rápidas, purga, limpeza do lixo)

O agendamento é controlado por si no Gestor de cópias de segurança: ou um intervalo (desativado, diário, semanal ou um número de horas personalizado, com uma cópia completa a cada N dias) ou uma grelha semanal em que cada dia é definido como Nenhuma, Completa ou Diferencial. Os limites de retenção das cópias completas, diferenciais e dos instantâneos são configuráveis e nunca eliminam a sua única cópia.

Como são encriptadas estas cópias de segurança

As cópias de segurança agendadas e manuais do próprio GravesMail são seladas com uma chave mestra de cópia que a aplicação gera e gere por si. A chave em si nunca é escrita no disco em claro — só são guardadas cópias encapsuladas, e é encapsulada de duas formas:

  • O armazenamento seguro de chaves do seu dispositivo — para que as cópias de rotina decorram em silêncio, sem nunca pedir uma palavra-passe.
  • A sua frase-passe de recuperação — que desencapsula a mesma chave em qualquer máquina, sem envolver nenhum armazenamento de chaves.

É esse segundo encapsulamento que torna estas cópias de segurança independentes do dispositivo. As versões anteriores prendiam as cópias automáticas a uma única máquina física; já não acontece só poderem ser restauradas onde foram feitas.

Define a frase-passe de recuperação uma vez, na primeira vez que faz uma cópia de segurança. É obrigatória, não pode ser ignorada — nenhuma cópia fica concluída enquanto não houver uma definida, precisamente para que nunca fique com cópias que não consegue recuperar. Depois disso, as cópias decorrem sem mais pedidos. Pode alterá-la em qualquer altura no Gestor de cópias de segurança, e a alteração mantém todas as cópias existentes restauráveis.

Guarde a sua frase-passe de recuperação em segurança

É a única forma de recuperar estas cópias de segurança num dispositivo novo ou reposto, e eu não a posso recuperar por si — por conceção. Não há ligação de reposição nem porta das traseiras no apoio, porque qualquer uma delas seria uma entrada para alguém que não é o utilizador. Se a esquecer e perder o dispositivo, essas cópias não poderão ser abertas. Guarde-a num local seguro.

O Gestor de cópias de segurança permite percorrer o conteúdo de qualquer cópia, procurar em todas as cópias, comparar com a base de dados atual e recuperar seletivamente mensagens individuais. Um restauro verifica se a cópia está completa e intacta antes de tocar no seu perfil atual — uma cópia truncada ou danificada é recusada e os seus dados existentes ficam intactos — e, quando termina, mostra o que foi recuperado, conjunto de dados a conjunto de dados.

Registo de eliminações e recuperação

Cada mensagem eliminada é registada num registo de eliminações local, com o corpo completo. Pode percorrer, procurar e recuperar com um clique as mensagens eliminadas durante um máximo de 90 dias (configurável). Não é preciso nenhum ficheiro de cópia de segurança — a recuperação é imediata a partir do registo de eliminações.