Sicurezza e stampanti multifunzione

imageLe stampanti multifunzione sono ormai da anni dispositivi presenti in buona parti della maggior parte delle infrastruttura informatiche, ma che spesso non vengono gestite con la sufficiente attenzione dal punto di vista della sicurezza.

Tali dispositivi sono stati negli ultimi anni oggetto di una evoluzione che le ha portate ad avere una ricca dotazione di funzionalità e servizi, spesso attivate per default, che se non gestite correttamente posso far diventare tali dispositivi dei punti di deboli dell’infrastruttura da cui inoculare malware come i ransomware o da cui avviare attacchi informatici.

Molto spesso infatti le stampanti multifunzione oltre ad essere per loro natura un host connesso alla rete aziendale per asservire alle normali attività di stampa possono anche avere le credenziali per connettersi a share su cui memorizzare documenti scannerizzati, consentire funzionalità mediante vari protocolli, rendere disponibili connessioni USB e connettersi ad Internet per una gestione centralizzata.

Tutte queste funzionalità comportano di fatto una componente software a bordo del dispositivo sempre più complessa e quindi maggiormente suscettibile a issue che possono dare origine a vulnerabilità, si vedano ad esempio i numerosi Security Bulletin di Xerox di disponibili al seguente Security @ Xerox, oppure i security alerts di Lexmark disponibili al seguente Lexmark Security Advisories, oppure l’elenco delle Common Vulnerabilities and Exposures (CVE) relative ai vendor di stampanti e multifunzione disponibili su www.cvedetails.com o su www.exploit-db.com.

Per la verità l’allarme sulla possibilità di sfruttare le multifunzioni come veicolo di attacco di infezione era già stato lanciato alla conferenza DEF CON 19 tenutasi a Los Angeles nell’agosto 2011 nella sessione From Printer To Pwnd: Leveraging Multifunction Printers During Penetration Testing (il cui materiale è disponibile al seguente DEF CON 19 Archive). L’autore della sessione ha poi anche rilasciato un tool per il rilevamento dei rischi di sicurezza connessi alle stampanti multifunzione denominato Praeda e disponibile su GitHub al seguente https://github.com/percx/Praeda.

Vari sono i modi con cui una multifunzione potrebbe essere oggetto di attacco come ad esempio sfruttando vulnerabilità documentate o meno (zero day) partendo da un client compromesso o mediante applicazioni su chiavetta usb che sfruttano file pdf, jpg, etc.. malformati ad arte (nel caso si utilizzino funzionalità come scan to usb o print from usb).

Ovviamente lo scopo principale dell’attaccante è quello di prendere il possesso di un host da cui in modo silente poter recuperare dati o proseguire nell’attività di privilege escalation. Una stampante multifunzione da questo punti di vista è perfetta perché in essa transitano spesso dati importati e riservati, ma è anche un host connesso ad una rete aziendale spesso poco considerato dal punto di vista della sicurezza e del monitoraggio.

L’articolo Not securing your printers can be deadly – How to protect IT networks from attack del 13 aprile 2016 riporta infatti le seguenti preoccupanti statistiche:

“A recent Xerox-McAfee study revealed that more than half (54 per cent) of employees think computers pose the biggest security threat to their company’s network compared to other IT devices. But in addition to not recognising the potential vulnerabilities of printers, roughly the same percentage of people (51 per cent) said they have copied, scanned or printed confidential information at work.”

“According to 2,000 IT professionals across North America, EMEA, Latin America, and Asia Pacific surveyed by the Ponemon Institute, only 44 per cent of respondents said their company’s security policy includes network-connected printers.”

“64 per cent of IT managers believe their printers are infected with malware anyway, while 56 per cent of enterprise companies ignore printers in their endpoint security strategy.”

La problematica di sicurezza è tutt’altro che ipotetica infatti come riportato nell’articolo

Researcher hijacks insecure embedded devices en masse for Internet census del marzo 2013 tra il marzo e il dicembre 2012 era attiva una botnet denominata Carna composta da 420.000 embedded device raggiungibili da Internet tra cui stampanti multifunzione che è riuscita a rubare circa 9TB di dati.

Per un excursus delle tecniche più comuni di attacco delle multifunzioni si devano ad esempio:

Oltre alle classiche raccomandazioni di cambiare la password di amministrazione con una più complessa e resistente ad attacchi di brute force, di aggiornare con regolarità il firmware e disabilitare tutte le funzioni non utilizzate o che non si intende utilizzare nell’immediato (protocolli, servizi, connessioni USB), evitare se non necessario che le stampanti multifunzione possano connettersi o essere raggiunte remotamente (si tenga presente che anche la semplice connessione al sito del produttore per l’aggiornamento di app o altre funzionalità potrebbe rivelarsi pericoloso se il sito venisse compromesso), occorre anche prestare molta attenzione a come si configurano le stampanti multifunzione.

Se ad esempio si intende usare la stampante multifunzione come scanner per memorizzare i documenti scansionati su una share di rete occorre memorizzare nella stampante multifunzione stessa le credenziali di un account che abbia privilegi di lettura e scrittura sulla share e sulla cartella. Tale utente deve quindi avere i minimi privilegi possibili, come ad esempio non essere neanche membro del gruppo Domain Users, ma di un gruppo dedicato a tale tipologia di utente e ovviamente deve poter accedere solo alle o alla share/cartelle di scansione (valutare quindi se eventualmente creare un utente per ogni stampante multifunzione per segmentare al massimo il campo di azione e identificare con più facilità eventuali comportamenti anomali).

Uno degli attacchi più pericolosi è quello basato sull’intercettazione delle chiamate LDAP (Lightweight Directory Access Protocol) in modalità man-in-the-middle, si pensi ad esempio al caso di una stampante multifunzione compromessa che richiede agli utenti l’inserimento di credenziali ad esempio per concedere l’utilizzo di determinate funzionalità (come ad esempio la fotocopiatura a colori). In uno scenario di compromissione come questo si otterrebbero in breve tempo le credenziali di vari utenti.

Anche la possibilità di interfacciarsi alle stampanti multifunzione tramite app può offrire grandi vantaggi agli attaccanti, si pensi ad esempio al caso di uno smartphone compromesso che si interfaccia con una stampante multifunzione e che quindi può a sua volta tentare di compromettere la stampante o accedere alle risorse aziendali a cui la stampante è connessa.

Un’altra importante considerazione va fatta sulla scelta dei driver da utilizzare dal momento che questi rappresentano il punto di contatto tra i client o il server di stampa e le stampanti, se disponibili occorre adottare i driver V4 anche se Windows 10 e Windows Server 2016 supportano anche i driver V3. Si noti comunque che Microsoft col rilascio del bollettino di sicurezza MS16-087 per risolvere un problema di sicurezza relativo al servizio spooler ha introdotto delle limitazioni per l’installazione di driver V3, a riguardo si veda MS16-087: Security update for Windows print spooler components: July 12, 2016 e

Pwned by your printer! Microsoft patches critical Printer Spooler bug. Si tenga anche presente che i driver V3 verranno in futuro deprecati, a riguardo si veda Deprecation plan for v3 printer drivers, per maggiori informazioni sui driver V4 si veda V4 Printer Driver e le considerazioni sullo sviluppo di driver V4 sicuri disponibili al seguente

V4 Printer Driver Security Considerations:

“In addition to the usual threats such as elevation of privilege, spoofed devices, or man in the middle attacks, v4 printer drivers also need to be compatible with low-rights applications like Internet Explorer 9.

XPS rendering filters and JavaScript files must all be hardened against all forms of untrusted data from applications, users, or data from across machine boundaries. Malformed PrintTickets, XPS documents, property bags, and even BidiResponses must be validated and parsed carefully and should never be used to store executable code. We recommend that partners use extensive fuzzed file testing to ensure graceful failure without compromising security integrity.”

Concludendo l’approccio da parte degli amministratori di sistema nei confronti delle problematiche di sicurezza deve cambiare approccio, invece di pensare a come un attaccante potrebbe riuscire a compromettere un host (computer, server o apparecchiatura di rete), occorre iniziare a pensare a cosa potrebbe fare un attaccante nell’infrastruttura nel caso in cui abbia compromesso l’host.

Questo significa che occorre ragionare con la logica dei minimi privilegi, della segmentazione delle autorizzazioni e delle minime funzionalità, ovvero ad ogni host vanno concessi ai servizi che eroga i minimi privilegi necessari tramite credenziali specifiche utilizzate solo dallo specifico servizio disattivando tutte le funzionalità non necessarie o non ancora richieste.

Tornando alle stampanti multifunzione oggi così ricche di funzionalità il consiglio è quello di non abilitare funzionalità non essenziali, anteponendo sempre la sicurezza anche a scapito di qualche piccola scomodità da parte degli utenti, attivando servizi, protocolli o funzionalità solo dopo un’attenta analisi delle richieste valutando gli impatti che queste possono avere nel caso di compromissione.

Sebbene questo approccio possa sembrare limitativo nei confronti dell’utente occorre tenere presente che l’evoluzione informatica ha fornito vantaggi sia a chi utilizza un’infrastruttura informatica sia a chi la vuole violare, non per nulla secondo James Comey, l’attuale direttore dell’FBI,  “Ci sono solo due tipi di aziende: quelle che sono state attaccate e quelle che ancora non lo sanno“.