Alcuni bug software sono complessi da capire, altri richiedono un enorme sforzo tecnico per essere sfruttati da malintenzionati, ma ce ne sono anche di così semplici da essere sotto gli occhi di tutti, come quello descritto in un articolo di The Hacker News e che riguarda macOS. Anzi, in verità dovremmo dire Mac OS X, dato che il problema è stato identificato in Quick Look inserito per la prima volta in Leopard oltre 10 anni fa.
Il comodo servizio che consente di avere una preview dei documenti direttamente dal Finder – e che otterrà nuove funzioni con Mojave – realizza delle miniature delle immagini su cui viene avviato per poterle visualizzare più in fretta e le salva in un percorso temporaneo appoggiandosi ad un database SQLite. Non lo si scopre oggi, ovviamente, è una caratteristica by design del servizio che viene sfruttata da sempre in ambito forense, dice l’esperto di sicurezza Wojciech Reguła. Il problema è che questo trattamento viene riservato ad ogni file, anche quelli che sono memorizzati in un volume criptato. Quindi un utente può visionare con Quick Look un’immagine volutamente nascosta ad occhi indiscreti, in un dmg protetto, senza sapere che una miniatura della stessa sarà salvata sul computer in un’area di libero accesso.
Risulta ben chiaro che non si tratta di una falla grave, altrimenti sarebbe già stata risolta diversamente anni addietro, è piuttosto una “caratteristica” del servizio di cui bisogna tener conto, similmente a come si farebbe per la cache del browser, tanto per fare un esempio. Se volete dare uno sguardo al database e al suo archivio di miniature, potete ottenerne facilmente una copia sul desktop con queste righe di codice sul terminale:
mkdir ~/Desktop/ql-database/ cp $TMPDIR../C/com.apple.QuickLook.thumbnailcache/thumbnails.data ~/Desktop/ql-database/ cp $TMPDIR../C/com.apple.QuickLook.thumbnailcache/index.sqlite ~/Desktop/ql-database/
Per aprire il database basta un software come DB Browser for SQLite, il quale vi mostrerà anche alcuni dettagli aggiuntivi sui file, come il loro percorso assoluto sul computer. Successivamente serve un po’ di scripting per tirare fuori le immagini, come descritto dallo stesso Wojciech Reguła che ha utilizzato Python. Onestamente non credo che Apple modificherà questo comportamento. Sono felice che se ne stia parlando visto che non ne ero a conoscenza, ma parliamo certamente di questioni che impattano negativamente su una percentuale piccolissima di utenti, mentre l’informazione è bene che sia nota ai più.