RedHat Bolt aggiunge sicurezza al Thunderbolt

L’ultimo progetto nato dalla collaborazione tra Red Hat ed il team di sviluppo di GNOME ha lo scopo di migliorare la sicurezza delle connessioni Thunderbolt 3 su Linux.

Thunderbolt è nata da una collaborazione tra Intel ed Apple, ed ha lo scopo di fornire connessioni ad altissima velocità su tratte medio-corte (le specifiche danno massimo 3 metri con cavo in rame e 60 metri con cavo in fibra ottica).

Giunto alla versione 3, questa connessione supporta fino a 40 Gbps di velocità di trasferimento dati, e può veicolare oltre a questi anche il segnale video ed audio. Un sacco di vantaggi, dunque, ma ovviamente “da grandi poteri derivano grandi compromessi” per parafrasare una famosa frase del mondo dei fumetti.

Infatti, essendo pensato fin dall’origine per connessioni Peer-to-Peer, e cercando di ottenere la maggior velocità possibile, questa connessione (semplificando parecchio) interfaccia il dispositivo collegato alla porta direttamente al bus PCI Express presente sulla macchina, senza alcun tipo di filtro. E questo è sicuramente un problema per quanto riguarda la sicurezza, facendo si che un malintenzionato con accesso fisico alla macchina abbia, di fatto, una porta con cui collegarsi direttamente all’hardware a bassissimo livello. Certo, con l’ultima release della specifica (Thunderbolt 3), sono stati implementati livelli di sicurezza, ma questi sono molto limitati, comprendendo le modalità:

  • none: un nome una garanzia; nessuna sicurezza nella connessione;
  • dponly: connessione Display Only, senza alcun supporto al PCI-E;
  • user: autorizzazione richiesta all’utente per abilitare la connessione;
  • secure: simile al livello user, ma con chiave;

Con il kernel 4.13 è stato introdotto il supporto a questi livelli, aprendo la possibilità a sistemi in user-space di poterli gestire ed estenderli; ed è qui che entra in gioco Bolt.

Bolt, infatti, si compone di due parti: un demone D-Bus generico per la gestione dei dispositivi collegati tramite Thunderbolt e dei suoi relativi livelli di sicurezza, e di un componente dell’interfaccia GNOME che permette di gestire questo demone.

(source: phoronix.com)

Il risultato è che per qualsiasi dispositivo Thunderbolt 3 collegato alla macchina due sono gli scenari possibili:

  • Se l’utente è davanti al PC, viene informato da una notifica del nuovo dispositivo collegato, con la richiesta su come procedere;
  • Se l’utente non è davanti al PC, quindi con il sistema bloccato, Bolt sconnetterà immediatamente il dispositivo informando l’utente di “scollegarlo e ricollegarlo” quando questi sarà tornato alla postazione;

L’implementazione al momento è semplice, ma l’avere finalmente uno strato software (e kernel) che permetta di gestire in toto questi dispositivi potrebbe permettere in futuro comportamenti più articolati, come autorizzare sempre dispositivi solo per determinati utenti, o creare blacklist per dispositivi considerati insicuri.

Maggiori dettagli nell’articolo di Christian Kellner. Secondo voi avrà futuro questa tecnologia ed è giusto lavorare in tal senso?

Utente Linux/Unix da più di 20 anni, cerco sempre di condividere il mio know-how; occasionalmente, litigo con lo sviluppatore di Postfix e risolvo piccoli bug in GNOME. Adoro tutto ciò che può essere automatizzato e reso dinamico, l'HA e l'universo container. Autore dal 2011, provo a condividere quei piccoli tips&tricks che migliorano il lavoro e la giornata.

Tags: , ,