Stampanti attaccate da… font

Esaminiamo come le popolari stampanti Canon possano diventare un punto d’appoggio per aggredire la rete di un’organizzazione.

Al giorno d’oggi, gli autori degli attacchi che sondano l’infrastruttura di un’organizzazione raramente si imbattono in una workstation priva di un [EDR placeholder] agente EDR [/placeholder], pertanto si concentrano sulla compromissione di server o dispositivi specializzati connessi alla rete con privilegi di accesso abbastanza ampi, ma privi della protezione EDR e, spesso, privi persino di capacità di registro. In passato abbiamo descritto in dettaglio i tipi di dispositivi per ufficio vulnerabili. Nel mondo reale del 2025 gli attacchi si concentrano sui dispositivi di rete (ad esempio gateway VPN, firewall e router), sui sistemi di videosorveglianza e sui server stessi. Ma non vanno trascurate le stampanti, come ha ricordato il ricercatore indipendente Peter Geissler al pubblico del Security Analyst Summit 2025. Geisser ha descritto una vulnerabilità riscontrata nelle stampanti Canon (CVE-2024-12649, CVSS 9.8), che consente di eseguire codice dannoso su questi dispositivi. L’aspetto più interessante di questa vulnerabilità è che per sfruttarla è necessario semplicemente inviare la stampa di un file dall’aspetto innocente.

Tipo di carattere trojan: un attacco tramite CVE-2024-12649

L’attacco inizia con l’invio di un file XPS da stampare. Questo formato, creato da Microsoft, contiene tutti i prerequisiti per una corretta stampa dei documenti e funge da contenitore alternativo al PDF. XPS è essenzialmente un archivio ZIP contenente una descrizione dettagliata del documento, di tutte le relative immagini e dei caratteri utilizzati. I caratteri sono generalmente archiviati nel popolare formato TTF (TrueType Font) inventato da Apple. Ed è proprio il carattere stesso, qualcosa che generalmente non viene percepito come pericoloso, a contenere il codice dannoso.

Il formato TTF è stato progettato sia per rendere le lettere identiche su qualsiasi supporto, sia per ridimensionarle correttamente, dal carattere più minuscolo su schermo a quello più grande possibile per la stampa su poster. A questo scopo, per ogni lettera possono essere scritte istruzioni di suggerimento sui caratteri, che descrivono le sfumature della visualizzazione per dimensioni ridotte. Le istruzioni di suggerimento sono essenzialmente comandi per una macchina virtuale compatta che, nonostante la sua semplicità, supporta tutti gli elementi costitutivi di base della programmazione: gestione della memoria, passaggi e diramazioni. Geissler e i suoi colleghi hanno studiato come questa macchina virtuale viene implementata nelle stampanti Canon. Hanno scoperto che alcune istruzioni di suggerimento TTF vengono eseguite in modo non sicuro. Ad esempio, i comandi della macchina virtuale che gestiscono lo stack non verificano l’overflow.

I ricercatori sono quindi riusciti a creare un tipo di carattere dannoso. Quando un documento che contiene il carattere dannoso viene stampato con determinate stampanti Canon, questo provoca un overflow del buffer dello stack, scrive i dati oltre i contenitori della macchina virtuale e, infine, ottiene l’esecuzione del codice nel processore della stampante. L’intero attacco viene condotto tramite il file TTF; il resto del contenuto del file XPS è benigno. Di fatto, rilevare il codice dannoso all’interno del file TTF è piuttosto difficile: non è molto lungo, la prima parte è composta dalle istruzioni della macchina virtuale TTF e la seconda parte viene eseguita sull’esotico sistema operativo proprietario di Canon (DryOS).

Va notato che negli ultimi anni Canon si è concentrata sulla protezione del firmware delle proprie stampanti. Ad esempio, il firmware Canon usa i registri DACR e i flag NX (no-execute) supportati nei processori ARM per limitare la possibilità di modificare il codice di sistema o eseguire codice in frammenti di memoria destinati esclusivamente all’archiviazione dei dati. Nonostante questi sforzi, l’architettura DryOS nel suo complesso non consente l’implementazione efficace dei meccanismi di protezione della memoria, ad esempio ASLR o stack canary, tipici dei sistemi operativi moderni di grandi dimensioni. Questo è il motivo per cui i ricercatori occasionalmente trovano modi per aggirare la protezione esistente. Ad esempio, nell’attacco di cui stiamo parlando il codice dannoso è stato eseguito correttamente inserendolo, tramite il trucco TTF, in un buffer di memoria destinato a un differente protocollo di stampa: il protocollo IPP.

Uno scenario di sfruttamento realistico

Nel bollettino che descrive la vulnerabilità, Canon afferma che può essere sfruttata in remoto se la stampante è accessibile tramite Internet. Di conseguenza, suggeriscono di configurare un firewall in modo che la stampante possa essere utilizzata solo dalla rete interna dell’ufficio. Sebbene questo sia un buon consiglio e la stampante dovrebbe effettivamente essere rimossa dall’accesso pubblico, non è l’unico scenario possibile.

Nel suo rapporto, Geissler ha indicato uno scenario ibrido molto più realistico in cui un utente malintenzionato invia a un dipendente un allegato e-mail o via messenger e, con un pretesto, suggerisce di stamparlo. Se la vittima invia il documento in stampa (dall’interno della rete dell’organizzazione e senza contatto con Internet) il codice dannoso viene eseguito nella stampante. Naturalmente, le capacità del malware in esecuzione sulla stampante saranno limitate rispetto a un normale malware che infetta un computer. Tuttavia questo malware potrebbe, ad esempio, creare un tunnel stabilendo una connessione al server dell’utente malintenzionato, consentendogli di prendere di mira altri computer dell’organizzazione. Un altro potenziale caso d’uso potrebbe comportare l’inoltro di tutte le informazioni stampate in azienda direttamente al server dell’utente malintenzionato. In alcune organizzazioni, come gli studi legali, ciò potrebbe rappresentare una grave violazione dei dati sensibili.

Come respingere questa minaccia alle stampanti

La vulnerabilità CVE-2024-12649 e altri difetti strettamente correlati possono essere eliminati installando l’aggiornamento del firmware della stampante seguendo le istruzioni di Canon. Sfortunatamente, molte organizzazioni, anche quelle che aggiornano diligentemente il software su computer e server, non seguono un processo sistematico per l’aggiornamento del firmware della stampante. Il processo deve essere implementato per tutte le apparecchiature connesse alla rete informatica.

Allo stesso tempo, i ricercatori nel campo della sicurezza sottolineano l’esistenza di una moltitudine di vettori di attacco contro apparecchiature specializzate. Pertanto, non vi è alcuna garanzia che gli autori degli attacchi non si armino in futuro di un simile exploit oggi sconosciuto ai produttori di stampanti o ai loro clienti. Per ridurre al minimo il rischio:

  • Segmenta la rete: limita la capacità della stampante di stabilire connessioni in uscita e accettare connessioni da dispositivi e utenti non autorizzati a stampare.
  • Disabilita tutti i servizi inutilizzati sulla stampante.
  • Imposta una password amministratore univoca e complessa su ogni stampante/dispositivo.
  • Implementa un sistema di sicurezza completo all’interno dell’organizzazione, incluso EDR installato su tutti i computer e server, un firewall moderno e un monitoraggio completo della rete basato su un Sistema SIEM.
Consigli