Shufflecake, uno strumento per creare volumi nascosti

torta casuale

Shufflecake è uno strumento per Linux che consente la creazione di più volumi nascosti su un dispositivo di archiviazione in modo tale che sia molto difficile, anche sotto ispezione forense, provare l'esistenza di tali volumi.

La società di controllo della sicurezza Kudelski Security ha svelato il set di strumenti Shufflecake, che consente di creare file system nascosti che sono distribuiti nello spazio libero disponibile su partizioni esistenti e non possono essere distinti dai dati residui casuali. Le sezioni sono create in modo tale che, senza conoscere la chiave di accesso, sia problematico dimostrarne l'esistenza anche durante l'esecuzione di analisi forensi.

El proyecto si posiziona come una soluzione più avanzata rispetto a Truecrypt e Veracrypt per nascondere i dati sensibili, che ha il supporto nativo per la piattaforma Linux e consente di posizionare fino a 15 partizioni nascoste sul dispositivo, annidate l'una nell'altra per offuscare l'analisi della loro esistenza.

Le partizioni nascoste create, a discrezione dell'utente, può essere formattato per adattarsi a qualsiasi file system, ad esempio, ext4, xfs o btrfs. Ogni partizione viene trattata come un dispositivo di blocco virtuale separato con la propria chiave di sblocco.

Per offuscare le tracce si propone il modello comportamentale della «negabilità plausibile», la cui essenza è che i dati preziosi sono nascosti come livelli aggiuntivi in ​​​​sezioni crittografate con dati meno preziosi, formando una sorta di gerarchia nascosta di sezioni. In caso di pressione, il proprietario del dispositivo può rivelare la chiave della sezione crittografata, ma in questa sezione possono essere nascoste altre sezioni (fino a 15 livelli nidificati) ed è problematico determinarne la presenza e dimostrarne l'esistenza.

Shufflecake e il modulo del kernel sono stati testati solo su Debian e Ubuntu con i kernel 5.13 e 5.15 (è supportato Ubuntu 22.04). Si dovrebbe notare che il progetto deve comunque essere considerato come un prototipo funzionante, che non deve essere utilizzato per archiviare dati importanti.

In futuro, prevediamo di apportare ulteriori ottimizzazioni per prestazioni, affidabilità e sicurezza, oltre a fornire la possibilità di eseguire l'avvio dalle partizioni Shufflecake.

A proposito di Shufflecake

l'occultamento si ottiene formando ciascuna partizione come un insieme di segmenti crittografati posizionati in posizioni casuali sul dispositivo di archiviazione. Ogni slice viene creata dinamicamente quando la partizione necessita di spazio di archiviazione aggiuntivo. Per complicare l'analisi, si alternano tagli di diverse sezioni.

Le sezioni di Shufflecake non sono legate alle regioni adiacenti e le porzioni di tutte le sezioni vengono mescolate. Le informazioni sulle porzioni utilizzate e libere sono memorizzate nella mappa della posizione allegata a ciascuna sezione, a cui fa riferimento l'intestazione crittografata. Le carte e l'intestazione sono crittografate e, senza conoscere la passkey, sono indistinguibili dai dati casuali.

L'intestazione è divisa in spazi, ognuno di quelli definisce la propria sezione e i settori associati. Gli slot nell'intestazione sono impilati e collegati in modo ricorsivo: lo slot corrente contiene la chiave per decrittografare i parametri della sezione precedente (meno nascosta) nella gerarchia, consentendo di utilizzare un'unica password per decrittografare tutte le sezioni meno nascoste associate all'intestazione selezionato. Ogni sezione meno nascosta tratta le parti delle sezioni nidificate come libere.

Per impostazione predefinita, tutte le sezioni nidificate di Shufflecake hanno la stessa dimensione visibile rispetto alla sezione di livello superiore. Ad esempio, se vengono utilizzate tre partizioni su un dispositivo da 1 GB, ciascuna partizione sarà visibile al sistema come partizione da 1 GB e lo spazio su disco totale disponibile verrà condiviso tra tutte le partizioni, se la quantità di dati salvati in totale supera la dimensione effettiva del dispositivo, inizierà a generare un errore di I/O.

Le sezioni nidificate non aperte non partecipano all'allocazione dello spazio, cioè il tentativo di riempire una sezione di primo livello sovrascriverà i dati nelle sezioni nidificate, ma non rivelerà la sua presenza attraverso l'analisi della dimensione dei dati che possono essere inseriti nella sezione prima che venga generato un errore (si presume che le sezioni superiori contengano dati immutabili) i dati per distrazione e mai separatamente non vengono utilizzati, e il lavoro regolare viene sempre svolto con la sezione nidificata più recente, lo schema stesso implica che l'importante è mantenere il segreto dell'esistenza dei dati, anche a costo di perderli).

L'implementazione di Shufflecake ha prestazioni abbastanza elevate, ma a causa della presenza di costi generali, ha prestazioni due volte inferiori rispetto alla crittografia del disco basata sul sottosistema LUKS. L'utilizzo di Shufflecake comporta anche costi aggiuntivi per la RAM e lo spazio per archiviare i dati di servizio su disco. I costi di memoria sono stimati a 60 MB per partizione e lo spazio su disco è stimato all'1% della dimensione totale. Per fare un confronto, la tecnica WORAM per scopi simili porta a un rallentamento di 5-200 volte con una perdita del 75% di spazio su disco utilizzabile.

Il codice per le utility (shufflecake-userland) e il modulo del kernel Linux (dm-sflc) è scritto in C e rilasciato sotto licenza GPLv3, il che rende impossibile includere il modulo del kernel rilasciato nel kernel principale di Linux. sotto la licenza GPLv2 in base alla quale viene distribuito il kernel.

Se sei interessato a saperne di più, puoi consultare i dettagli nel seguente link


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.