Nei sistemi Linux e Unix, ma non solo, usare un editor di testo per modificare con comodità delicati file di configurazione del sistema o dell’applicazione è un’operazione comune per molti amministratori IT e sviluppatori software. Il fatto è però che questi editor di testo per programmare, per estendere le funzionalità, spesso consentono l’installazione di plug-in di terze parti, e questi ultimi a loro volta sono sfruttabili da un attaccante locale per prendere il controllo della macchina di un vittima, tramite l’elevazione dei privilegi.
Ma in che modo? Lo spiega Dor Azouri, un ricercatore nel campo della security che lavora per la società SafeBreach, entrando nel dettaglio ed esaminando come i plug-in dei più diffusi editor di testo (Emacs, Vim, Sublime, gedit, pico, nano) possano nascondere vulnerabilità sfruttabili da un hacker per attuare la cosiddetta ‘privilege escalation’, ossia una tipologia di attacco che, avvantaggiandosi di una vulnerabilità o di un errore di programmazione, consente di elevare i privilegi di accesso al sistema ed eseguire codice in modo arbitrario, mettendo in pericolo la sicurezza del codice.
Spesso gli amministratori IT hanno la necessità di editare file per i quali sono richiesti i permessi, o i privilegi, di root (amministratore). Può trattarsi, ad esempio, dei file di configurazione del sistema: per questi utilizzi, gli editor di testo per programmare possono essere lanciati anche nella modalità con permessi elevati (root), solitamente attraverso il comando Unix ‘sudo’. Tuttavia, quando il test editor viene aperto nella modalità con permessi elevati, anche il plug-in di terze parti viene ricaricato, ed è a questo punto che un attaccante può elevare i propri privilegi, guadagnando l’accesso di amministratore, ed eseguendo codice malevolo.
Un caso possibile può essere quello in cui il sistema-‘vittima’ viene lasciato incustodito e senza protezione password dall’amministratore di sistema, aprendo all’attaccante la possibilità di installare un plug-in malevolo, che verrà poi ricaricato la prossima volta che il sysadmin riaccederà con privilegi elevati all’editor di testo. Gli attacchi descritti da Azouri hanno comunque successo solo dopo che il plug-in malevolo viene installato, e che la vittima usa il text editor nella modalità con permessi di root.
Tra l’altro, puntualizza Azouri, le modalità normale ed elevata in Linux e Unix non risultano separate in maniera adeguata, quando i plug-in si caricano in text editor vulnerabili; inoltre, aggiunge, alcuni file di configurazione degli editor di testo per programmare si possono editare senza disporre dell’accesso root.
Tra i metodi di mitigazione raccomandati per ovviare al problema vengono indicati il monitoraggio delle modificazioni dei file e delle cartelle identificati come vulnerabili, ma anche l’applicazione di livelli di permessi più rigorosi per l’accesso alle risorse del sistema colpito, nonché l’adozione di sudoedit, un comando integrato in Unix/Linux che non supporta l’integrazione di plug-in.