Negli ultimi anni abbiamo assistito a un aumento costante dei tentativi di phishing e spoofing, non solo sulle email tradizionali ma anche sulla PEC, che paradossalmente dovrebbe rappresentare il canale più sicuro. In molte amministrazioni e aziende, le caselle di posta sono ormai sommerse da messaggi sospetti e chi come me si occupa di cybersecurity operations si ritrova quotidianamente in prima linea nell’analisi manuale delle intestazioni, verifica dei requisiti RFC 6109, controlli sugli host coinvolti e sul loro livello di affidabilità. Mi chiedevo quindi se esista già, a livello nazionale un tool open-source rfc-compliant e di threat intelligence, in grado di effettuare questo tipo di analisi tecnica sui messaggi PEC e/o in alternativa la disponibilità di api per la verifica e la correlazione tra i nomi dei gestori autorizzati (agid) e dei relativi host mx pec di pertinenza. thx.
Che io sappia una buona fetta dei domini pec ignorano le basi per la validazione del deliverability. SPF, DKIM e DMARC sono una rarità. Quindi basterebbe quello per segare una buona parte del traffico malevolo.
Purtroppo non basta escludere SPF, DKIM e perfino la policy DMARC. Ho messo in piedi un tool che analizza tutto il pacchetto… intestazioni, busta di trasporto, S/MIME e soprattutto la catena completa dei relay. Incrociando i dati sono saltati fuori diversi falsi positivi che, a prima vista, nessuno noterebbe.
Per andare più a fondo ho introdotto anche una comparazione tra hostname dichiarati e IP effettivamente assegnati; usando un servizio affidabile di geolocation e threat intelligence il quadro è diventato ancora più interessante, host che risultano appartenere a domini autorizzati… ma con IP piazzati negli Stati Uniti, in Sudafrica e altri paesi fuori dal circuito PEC. Se la PEC è un sistema chiuso e interamente “italiano”, com’è possibile che certi relay non lo siano affatto?
Il campo From dovrebbe includere la dicitura “per conto di:” e <posta-certificata@…>. infatti non cambiano mai nello spoofing a variare è il mittente con dominio non pertinente.
Una correlazione pubblica e verificabile tra gestore PEC autorizzato e domini mittenti aiuterebbe parecchio a distinguere traffico lecito da traffico sospetto. E non guasterebbe neanche una lista ufficiale, aggiornata e consultabile degli host autorizzati al relay. Senza questi elementi, chi si occupa di sicurezza continua a muoversi alla cieca in un sistema che dovrebbe essere il più trasparente di tutti.
Scusa, mi sfugge un dettaglio. Premesso che, masticandone, sono d’accordo con te che la comparazione degli header alle policy SPF e DMARC è la più veloce ed immediata (e abbiamo sw open a nastro), mi sfugge perchè, nel solo caso delle PEC, tu non vada a fare il controllo S/MIME sul body, che rende legalmente valida la comunicazione. Forse mi risponderai che “è più oneroso”.
O, detta in altre parole, quello che normalmente dovrebbe fare un gestore PEC ordinario “grosso” o “mediamente grosso” è scartare la PEC se la firma S/MIME non coincide. Questo dovrebbe aver già risolto lo spoofing, ma a valle.
Non mi viene particolarmente in mente un caso d’uso di spoofing in cui si possa davvero falsificare una PEC a valore legale dalla segreteria di un qualsiasi Ordine professionale ai suoi iscritti chiedendo di rinnovare la tassa di iscrizione su un sito fasullo. Questo solo perché l’outbound del provider dell’Ordine in oggetto ha le firme digitali e avrebbe la responsabilità di autenticare il mittente.
Il punto che forse non emerge è il contesto operativo in cui avviene l’analisi. Diverse aziende per semplificare la gestione multi-pec adottano servizi extra di workflow documentale dove la PEC viene ingerita, normalizzata, tracciata e successivamente girata a un operatore che chiede una valutazione aggiuntiva di legittimità esportandola in formato eml pronta per l’analisi.
Capisco l’osservazione e sono d’accordo sul fatto che la firma S/MIME attesti la correttezza del canale PEC. Il punto però, non è stabilire se il messaggio ha superato i controlli del circuito PEC ma capire chi sta chiedendo all’utente di compiere un’azione e se quell’azione è plausibile.
In pratica, chi riceve una PEC tende a fidarsi “a prescindere” perché è PEC, quindi è portato a cliccare su link o aprire allegati senza porsi troppe domande. Allo stesso tempo, dopo anni di campagne di phishing, molti utenti sono arrivati all’estremo opposto… hanno paura di cliccare qualunque cosa e delegano completamente la responsabilità alla cybersecurity.
Faccio un esempio reale, una PEC con allegato un documento che invita a svolgere un’attività (ad esempio compilare un questionario) dichiarando di operare nell’ambito di iniziative istituzionali o di interesse pubblico, ma demandando l’azione a un soggetto terzo tramite un dominio non immediatamente riconoscibile come istituzionale. In questi casi la firma può anche essere formalmente valida, ma resta legittima la domanda, perché un ente pubblico mi chiede di cliccare su un link di un dominio terzo che non riconosco? E perché un mittente che non conosco mi scrive “per conto di” un ente pubblico, invece di ricevere una comunicazione diretta?
Non basta l’analisi tecnica sulla firma, è proprio per questo che sia l’utente finale che l’analista hanno bisogno di un riferimento chiaro e verificabile del mittente.