Come funziona

L’architettura, il rilevamento dello spam e come il filtro diventa più intelligente nel tempo

L’architettura: trasporto IMAP → archiviazione locale → analisi

GravesMail usa il server IMAP del tuo provider di posta soltanto come livello di trasporto. Non leggo mai da IMAP per visualizzare i messaggi: sarebbe lento e inaffidabile. Ecco invece che cosa succede:

  1. Scaricamento da IMAP — I messaggi vengono scaricati dal server del tuo provider attraverso una connessione cifrata.
  2. Sosta nella DMZ — I nuovi messaggi arrivano in un’area di sosta locale (SQLite) prima che tu li veda.
  3. Analisi di sicurezza a 7 livelli — Ogni messaggio e ogni allegato passano per tutti e sette i livelli di protezione sul tuo computer, compresa la scansione malware YARA.
  4. Filtro delle Regole rapide — I messaggi che corrispondono alle tue Regole rapide personali vengono smistati automaticamente dalla tua regola: messi da parte nella Trappola spam per essere esaminati, spostati o eliminati.
  5. Promozione in Posta in arrivo, Spam o Malware — I messaggi puliti arrivano nella Posta in arrivo. Lo spam va in Spam. I messaggi positivi al malware vanno in una cartella Malware separata, con gli allegati pericolosi rimossi e trattenuti.
  6. Eliminazione dal server (facoltativa) — Se hai attivato «Elimina dal server dopo il download», il messaggio viene rimosso dal tuo provider.

SQLite è l’unica fonte di verità. Tutto ciò che vedi nell’interfaccia proviene dal tuo database locale, non da IMAP.

Sincronizzazione in due fasi per le caselle di grandi dimensioni

Quando colleghi un account per la prima volta, soprattutto se contiene migliaia di messaggi, GravesMail procede in due fasi:

Fase 1 (Avvio rapido): vengono scaricati per primi i 500 messaggi più recenti di ogni cartella, di solito in meno di un minuto. Puoi iniziare subito a leggere e a lavorare.

Fase 2 (Sincronizzazione in background): i messaggi rimanenti vengono scaricati in background, senza disturbare. Un indicatore di avanzamento nella barra di stato mostra la percentuale di completamento e il tempo rimanente stimato. Puoi sospendere, riprendere o interrompere in qualsiasi momento. Se chiudi l’app, l’avanzamento viene salvato.

I sette livelli di protezione

Ogni messaggio in arrivo, con i suoi allegati, passa attraverso sette livelli di protezione indipendenti. Ogni livello cerca un tipo diverso di problema e decide per conto proprio. Se anche un solo livello dà l’allarme, il messaggio viene trattato come spam: non c’è nessuna media e nessun punteggio complessivo da raggiungere. Un allarme basta. È il modello «OR a 7 livelli».

🌐

1. Convalida dominio

Il dominio del mittente esiste e ha veri server di posta? La parte finale dell’indirizzo (il suo TLD, come .shop, .top, .click o .xyz) è tra quelle di cui lo spam abusa spesso?

🧠

2. Filtro bayesiano

Una valutazione appresa di quanto le parole del messaggio somiglino a quelle dello spam. Viene fornito già addestrato e poi impara da te: ogni «Segna come spam» o «Segna come non spam» lo rende più intelligente.

🔒

3. Autenticazione intestazioni

SPF, DKIM e DMARC: i controlli standard che dimostrano che un mittente è chi dichiara di essere.

🔍

4. Punteggio euristico

41 rilevatori che coprono schemi ricorrenti nel contenuto e nelle intestazioni: parole camuffate (H0ME, S4LE), formule tipiche delle truffe dell’anticipo e dell’eredità, intestazioni contraffatte, anomalie nelle date e il paese di origine del mittente.

📊

5. Reputazione

I tuoi elenchi di mittenti sicuri e bloccati, la cronologia dei mittenti e il tracciamento delle campagne tra più messaggi, che individua uno spammer che continua a cambiare dominio mittente ma riusa lo stesso server di origine, lo stesso host del payload o lo stesso link di disiscrizione.

🛡

6. Malware: AV di sistema

Su Windows gli allegati vengono sottoposti all’antivirus installato (Windows Defender, Norton, Bitdefender, Kaspersky e altri) tramite l’interfaccia AMSI. Questo livello non è disponibile su macOS, Linux o dispositivi mobili, e su quelle piattaforme lo dice chiaramente, invece di riportare un risultato pulito che non ha mai prodotto.

🧬

7. Malware: YARA

Analizza i byte degli allegati e i corpi dei messaggi confrontandoli con migliaia di firme di malware della comunità, provenienti dal repository Neo23x0/signature-base. Rileva trojan, ransomware, RAT, macro di Office dannose, exploit PDF e documenti di phishing. Funziona su tutte le piattaforme, compresi i dispositivi mobili, ed è incorporato nell’app per l’uso offline.

Resoconti onesti, nessuna falsa sicurezza

Apri le Proprietà di qualsiasi messaggio per vedere il dettaglio livello per livello: il punteggio assegnato da ciascun livello, la soglia oltre la quale dà l’allarme e il suo stato: In allarme, Pulito o Non disponibile. Quando uno scanner non ha potuto funzionare, GravesMail riporta «Non disponibile». Non viene mai mostrato come «Pulito». Un antivirus che non riesce ad avviarsi e poi riporta comunque un risultato pulito è il peggior tipo di strumento di sicurezza, perché ti fidi di un verdetto che non è mai stato davvero emesso.

La schermata Motore di sicurezza (Strumenti → Motore di sicurezza, oppure Impostazioni → Motore di sicurezza sui dispositivi mobili) ti permette di regolare ciascuno dei sette livelli separatamente con un cursore di sensibilità da 0 a 100%: 0% disattiva un livello, 100% è la sensibilità massima. Non esiste un unico controllo globale; i livelli si regolano uno per uno. La stessa schermata mostra lo stato in tempo reale degli scanner malware, un editor dei criteri per paese e un inventario in sola lettura di tutti i rilevatori e del peso di ciascuno.

Geolocalizzazione senza interrogazioni esterne

Il livello euristico considera da dove proviene un messaggio. Questa ricerca è interamente locale. GravesMail include una tabella incorporata che associa gli intervalli di indirizzi IP ai paesi e la consulta sul tuo dispositivo: non ci sono query DNS, né chiamate ad API esterne, né servizi di terze parti lungo il percorso. I metadati dei tuoi messaggi non lasciano mai il dispositivo per essere geolocalizzati.

Decidi tu che cosa significa il risultato. Nella schermata Motore di sicurezza puoi contrassegnare i paesi come Sicuro (nessun segnale di spam aggiuntivo) o Minaccia (un segnale forte). Entrambi gli elenchi sono inizialmente vuoti, quindi la normale posta internazionale non viene mai penalizzata finché non scegli un criterio.

Dati di geolocalizzazione IP di DB-IP (db-ip.com), con licenza CC BY 4.0.

Blocco delle immagini esterne e rimozione dei pixel di tracciamento

Quando ricevi un’e-mail, il mittente può incorporare immagini esterne che vengono caricate dai suoi server. Quando l’immagine viene caricata, il mittente viene a sapere il tuo indirizzo IP, che hai aperto l’e-mail, quando l’hai aperta e quale dispositivo hai usato.

GravesMail blocca le immagini esterne per impostazione predefinita. Separatamente, rileva e rimuove i pixel di tracciamento invisibili (immagini 1×1 usate soltanto per tracciare la lettura). Sono controlli indipendenti: puoi caricare le immagini senza caricare i tracker, o viceversa.

Cifratura end-to-end (OpenPGP)

GravesMail supporta OpenPGP, lo standard aperto e interoperabile per la posta cifrata e firmata end-to-end. Puoi scambiare posta privata con chiunque usi PGP, su qualsiasi sistema di posta (Proton Mail, Thunderbird, gpg e altri), non solo con altri utenti di GravesMail. È vero PGP/MIME, non un dialetto di GravesMail.

Chiavi

Genera una chiave in Gestione chiavi PGP: è consigliato Ed25519/Curve25519, mentre RSA-4096 è disponibile per la compatibilità con i software PGP meno recenti. Esporta la tua chiave pubblica perché gli altri possano scriverti, e importa la loro per scrivere a loro. Dopo l’importazione GravesMail mostra l'impronta digitale della chiave; confermala con la persona attraverso un altro canale (una telefonata, o di persona) e segnala come verificata. Una chiave non verificata funziona comunque, ma resta contrassegnata come non verificata, perché quel contrassegno significa esattamente una cosa: non hai ancora confermato che questa chiave appartenga davvero a quella persona.

Le chiavi sono identificate dall’impronta digitale, non dall’indirizzo e-mail. Avere due chiavi per un solo indirizzo è normale (una vecchia e una nuova, oppure una chiave RSA e una Ed25519 affiancate), quindi ogni azione agisce sulla chiave che hai selezionato, non sulla prima che capita di corrispondere all’indirizzo.

Puoi collegare una chiave a un contatto, così la cifratura verso quella persona funziona senza dover cercare in Gestione chiavi. Collegare una chiave non attiva la cifratura; la scegli comunque messaggio per messaggio.

Fai il backup della tua chiave segreta: questo conta davvero

Se perdi la tua chiave segreta, tutti i messaggi mai cifrati con essa diventano irrecuperabili per sempre. Né da me, né da nessun altro. Usa Esegui backup della chiave segreta per salvare in un posto sicuro un file di backup protetto da password, e ricorda la password. Ripristina chiave segreta la riporta su un dispositivo nuovo o reinstallato, confermando quale chiave è stata ripristinata con la sua identità e la sua impronta digitale. Eliminare una delle tue chiavi segrete è irreversibile, quindi GravesMail rafforza l’avviso e ti chiede conferma.

Inviare e leggere

La finestra Scrivi ha un controllo Sicurezza con tre modalità: Firma, Cifra o Firma + Cifra (consigliata per la posta privata). È disattivato per impostazione predefinita, quindi la posta ordinaria non cambia. La posta cifrata che ricevi viene decifrata automaticamente e mostra un lucchetto chiuso 🔒; la posta firmata mostra lo stato della firma, e una firma non valida viene segnalata in modo ben visibile, non in sordina. Un messaggio cifrato con una chiave che non hai su quel dispositivo lo dice esplicitamente, invece di mostrarti un corpo vuoto.

Quando invii posta cifrata, GravesMail la cifra anche con la tua chiave, così la copia nella cartella Posta inviata resta leggibile per te. Altrimenti la copia che conservi sarebbe indecifrabile per te stesso. Questa funzione è sempre attiva.

La regola che non si piega

Se scegli di cifrare e un destinatario non ha una chiave utilizzabile, l’invio viene bloccato. GravesMail si ferma e chiede: annullare, oppure scegliere esplicitamente di inviare senza cifratura, una seconda azione deliberata che nomina i destinatari a rischio, mai un’impostazione predefinita e mai automatica. Non esiste alcun percorso nel codice in cui la scelta della cifratura produca in silenzio un invio in chiaro. Questo è imposto nel motore stesso, non solo nell’interfaccia, ed è coperto da un test automatico.

Che cosa protegge PGP, e che cosa no

PGP cifra il corpo e gli allegati del messaggio. Non nasconde l'oggetto, i campi A/Da/Cc né quando un messaggio è stato inviato: questi viaggiano in chiaro. È lo stesso limite di ogni sistema PGP/MIME, Proton compreso; non è una carenza di GravesMail, ma è bene saperlo prima di farci affidamento.

PGP protegge la tua posta in transito: dalle intercettazioni e dal tuo provider di posta. Non è uno strumento anti-forense: una volta decifrata, la posta viene memorizzata nel database locale cifrato di GravesMail, così puoi cercarla e leggerla offline.

Altri due limiti, detti chiaramente: GravesMail non esegue ricerche automatiche su keyserver o tramite WKD e non ha una rete di fiducia (web of trust): importi tu le chiavi e verifichi tu le impronte digitali, una scelta deliberata per non doversi fidare di un servizio di rete riguardo all’identità di qualcuno. E i messaggi con firma in chiaro inline sono mostrati come testo leggibile senza verifica della firma; GravesMail li visualizza, invece di dichiarare una firma che non ha realmente controllato.

Interoperabilità

Il PGP di GravesMail è verificato in entrambe le direzioni con GnuPG, l’implementazione di riferimento di OpenPGP, usando chiavi generate da GravesMail, sia Ed25519 sia RSA-4096: GravesMail cifra e gpg decifra, gpg cifra e GravesMail decifra, e le firme vengono verificate in entrambe le direzioni. È una suite di test automatici, non un controllo manuale occasionale.

Anche Proton Mail è confermato, a mano e non con un test automatico. Posta cifrata reale è stata inviata e letta in entrambe le direzioni tra GravesMail e un vero account Proton. Sono state proprio quelle prove a far emergere, e correggere, tre difetti reali: la rigida convalida delle chiavi di Proton che rifiutava le chiavi Ed25519 di GravesMail, un bug nella scadenza delle chiavi e gli allegati che venivano scartati in silenzio dalla posta cifrata al momento della decifratura. Tutti e tre sono stati corretti, e l’interoperabilità con Proton funziona in entrambe le direzioni.

Thunderbird non l’ho provato specificamente per PGP, quindi qui non lo dichiaro. È un client OpenPGP standard e dovrebbe funzionare, ma «dovrebbe» non è lo stesso che verificato, e preferisco dirti che cosa è stato effettivamente controllato.

E-mail protetta da password (nessuna chiave necessaria)

PGP è lo strumento giusto quando anche il tuo corrispondente usa PGP. Quando non lo usa, come la maggior parte delle persone, ricorri invece all’opzione di protezione con password descritta qui sotto.

A volte devi inviare qualcosa di riservato a una persona che non ha chiavi di cifratura né software speciale: solo un normale account di posta. L’opzione Proteggi con password (nessuna chiave necessaria) di GravesMail sigilla il messaggio e gli eventuali allegati in un vero ZIP standard cifrato con AES-256, che il destinatario apre con software comune e gratuito su qualsiasi piattaforma.

Viene usato il formato WinZip AES-256 (AE-2), standard del settore: la stessa cifratura robusta che 7-Zip, Keka e le app di archiviazione per dispositivi mobili già conoscono. Non è un contenitore esclusivo di GravesMail, e non è il debole e violabile «ZipCrypto» usato dai vecchi strumenti ZIP. L’interoperabilità è dimostrata con veri programmi di archiviazione standard, e il formato di cifratura AE-2 dell’archivio è fissato da un test automatico: quello che parte è dunque un file realmente standard, non qualcosa che sembra funzionare solo tra due copie della stessa app.

Quello che parte davvero è un solo allegato, protected-message.zip. Il tuo vero messaggio e tutti gli allegati sono cifrati al suo interno; il corpo visibile dell’e-mail contiene soltanto istruzioni in linguaggio semplice per aprirlo. I nomi degli allegati all’interno dell’archivio sono sostituiti da segnaposto neutri, mentre i nomi reali sono conservati in un manifesto cifrato che compare quando il destinatario inserisce la password: così nemmeno i nomi dei file trapelano.

Al momento dell’invio GravesMail ti chiede di impostare una password robusta (almeno 12 caratteri con maiuscole e minuscole, due cifre e due simboli), con un elenco di controllo in tempo reale e un campo di conferma, così un errore di battitura non può mai lasciare fuori il destinatario. Dopo, mostra la password una sola volta, con un pulsante Copia, e ti ricorda di comunicarla attraverso un altro canale: per telefono, SMS o chat. GravesMail non propone mai di inviare la password per e-mail, e non la conserva né la trasmette mai da nessuna parte. GravesMail può anche aprire i messaggi protetti che riceve, direttamente al suo interno, su tutte le piattaforme.

Essere onesti su ciò che questo protegge

Tutta la sicurezza sta nella password: scegline una buona e comunicala attraverso un canale diverso dall’e-mail stessa. Non c’è scadenza e non c’è «autodistruzione»: non si possono imporre senza un server, e GravesMail si basa sull’archiviazione locale, quindi non le dichiaro. Lo ZIP cifra il contenuto dei file, non la struttura dell’archivio, quindi chi intercetta il messaggio può comunque vedere quanti file ci sono e, approssimativamente, le loro dimensioni e le loro date, ma non i nomi né il contenuto. E l’oggetto dell’e-mail, i campi A/Da e gli orari viaggiano comunque in chiaro, come per qualsiasi e-mail.

Regole rapide: il tuo smistamento personale della posta

Le Regole rapide ti permettono di creare regole di smistamento con un clic per mittenti, domini o schemi nell’oggetto specifici. Ogni regola ha il proprio pulsante nella barra degli strumenti. Quando applichi una regola a un messaggio, il mittente viene aggiunto automaticamente all’elenco di corrispondenze di quella regola: la regola diventa più intelligente man mano che la usi.

Una regola può inviare la posta corrispondente alla Trappola spam per metterla da parte ed esaminarla, spostarla in una cartella, eliminarla oppure eliminarla automaticamente dopo un certo numero di giorni. Le regole possono essere impostate per applicarsi automaticamente durante la sincronizzazione, così i messaggi corrispondenti non arrivano mai nella Posta in arrivo, e puoi analizzare intere cartelle in pochi secondi per catturare in blocco la posta vecchia. Tutto ciò che una regola ha catturato può essere esaminato, ripristinato o eliminato definitivamente in qualsiasi momento.

Le tue regole hanno la precedenza sul filtro antispam. Un messaggio che corrisponde a una delle tue regole viene smistato dalla tua regola prima che il filtro antispam possa deviarlo: un mittente per cui hai scritto una regola non finirà quindi per errore in Spam. Il filtro viene comunque eseguito e assegna comunque un punteggio al messaggio, e puoi vederne il verdetto in Proprietà; semplicemente non prevale sulla tua regola. L’unica eccezione è il malware: la scansione malware vince sempre, quindi una regola non può mai recapitare un allegato pericoloso nella Posta in arrivo.

L’elenco Catture di oggi mostra tutto ciò che è stato catturato da tutte le tue regole entro una finestra temporale mobile (da 1 a 96 ore sul desktop, 24 per impostazione predefinita). Ogni elenco di revisione (Regole, Catture di oggi e Spam) ha la propria casella di ricerca.

Apri un messaggio catturato e la prima scheda è Anteprima sicura: il messaggio visualizzato come apparirebbe nel riquadro di lettura, ma con gli script neutralizzati, i pixel di tracciamento bloccati e le immagini remote caricate solo per i mittenti attendibili. Ha i pulsanti Rispondi, Rispondi a tutti e Inoltra, così puoi rispondere a un messaggio catturato senza prima ripristinarlo nella Posta in arrivo: il messaggio resta dov’è e la tua risposta parte come un messaggio normale.

Allegati trattenuti

Quando YARA o l’antivirus di sistema rileva malware in un allegato, GravesMail esegue automaticamente le seguenti azioni:

  • Messaggio messo da parte — spostato in una cartella Malware dedicata, separata da Spam.
  • Allegato rimosso — il file pericoloso viene rimosso dal messaggio. Il corpo del messaggio viene conservato, così puoi vedere chi l’ha inviato.
  • Dati conservati — i byte dell’allegato restano in locale. Da Allegati trattenuti puoi esaminare ogni elemento trattenuto, vedere perché è stato trattenuto, salvarlo su disco se ti fidi oppure eliminarlo definitivamente. Gli elementi trattenuti restano lì finché non decidi tu: non vanno mai persi senza avviso.
  • Spiegazione completa — le proprietà del messaggio mostrano esattamente quale regola YARA o quale motore antivirus è scattato, quale file era interessato e quale azione è stata eseguita.

Puoi anche fare clic con il pulsante destro su qualsiasi allegato, in qualsiasi momento, e scegliere Cerca malware per avviare una scansione su richiesta. Le regole YARA si possono aggiornare manualmente nelle Impostazioni oppure automaticamente, con cadenza settimanale.

Backup cifrati automatici

GravesMail crea automaticamente backup cifrati dell'intero profilo: non solo il database della posta, ma anche contatti, calendario, regole, elenchi dei mittenti sicuri e bloccati, soglie regolate, reputazione dei mittenti, filtro antispam addestrato, portachiavi PGP e credenziali degli account salvate. (I file forniti con l’app e sostituiti a ogni aggiornamento, come la tabella di ricerca geografica e il modello antispam di base, sono esclusi di proposito.)

  • Backup completi — una copia completa del profilo, cifrata con AES-256
  • Backup differenziali — solo ciò che è cambiato dall’ultimo backup completo; il ripristino di un differenziale risale automaticamente la catena
  • Istantanee pre-operazione — prima di ogni operazione distruttiva (scansione delle Regole rapide, eliminazione in blocco, svuotamento del cestino)

La pianificazione si controlla dal Gestore backup: puoi scegliere un intervallo (disattivato, giornaliero, settimanale o un numero di ore personalizzato, con un backup completo ogni N giorni) oppure una griglia settimanale in cui ogni giorno è impostato su Nessuno, Completo o Differenziale. I limiti di conservazione per backup completi, differenziali e istantanee sono configurabili e non eliminano mai la tua unica copia.

Come sono cifrati questi backup

I backup pianificati e manuali di GravesMail sono sigillati con una chiave master di backup che l’app genera e gestisce per te. La chiave non viene mai scritta su disco in chiaro: ne vengono salvate solo copie incapsulate, e l’incapsulamento avviene in due modi:

  • L’archivio sicuro delle chiavi del tuo dispositivo — così i backup di routine avvengono in silenzio, senza mai chiedere una password.
  • La tua passphrase di recupero — che sblocca la stessa chiave su qualsiasi computer, senza passare da alcun archivio delle chiavi.

È questo secondo incapsulamento a rendere i backup indipendenti dal dispositivo. Le versioni precedenti legavano i backup automatici a un solo computer fisico; ora non sono più ripristinabili soltanto dove sono stati creati.

La passphrase di recupero si imposta una sola volta, al primo backup. È obbligatoria, non si può saltare: il backup non viene completato finché non ne imposti una, proprio perché tu non possa mai ritrovarti con backup che non riesci a recuperare. Dopo di che i backup vengono eseguiti senza altre richieste. Puoi cambiarla in qualsiasi momento dal Gestore backup, e il cambio mantiene ripristinabili tutti i backup esistenti.

Conserva al sicuro la passphrase di recupero

È l’unico modo per recuperare questi backup su un dispositivo nuovo o reinizializzato, e io non posso recuperarla per te: è una scelta di progetto. Non esiste un link di reimpostazione né una porta di servizio per l’assistenza, perché l’uno e l’altra sarebbero una via d’accesso per qualcuno che non sei tu. Se la dimentichi e perdi il dispositivo, quei backup non si possono aprire. Conservala in un posto sicuro.

Il Gestore backup ti permette di sfogliare il contenuto di qualsiasi backup, cercare in tutti i backup, confrontarli con il database attuale e recuperare in modo selettivo singoli messaggi. Un ripristino verifica che il backup sia completo e integro prima di toccare il profilo attuale (un backup troncato o danneggiato viene rifiutato e i dati esistenti restano intatti) e, al termine, ti mostra che cosa è stato recuperato, insieme di dati per insieme di dati.

Registro delle eliminazioni e recupero

Ogni messaggio eliminato viene salvato in un registro locale delle eliminazioni, con il corpo completo. Puoi sfogliare, cercare e recuperare con un clic i messaggi eliminati per un massimo di 90 giorni (configurabile). Non serve alcun file di backup: il recupero dal registro delle eliminazioni è immediato.