Viaggi, bitcoin e steganografia

Come viaggiare segretamente con i vostri bitcoin usando la steganografia. | Lili

Viaggi, bitcoin e steganografia
Viaggi, bitcoin e steganografia

Come viaggiare segretamente con i vostri bitcoin usando la steganografia.

Traduzione a cura di @Wastedtime dall'originale di Lili - pubblicato il 9 ago 2022

Questo articolo vi guiderà attraverso le modalità per viaggiare in maniera discreta con i propri bitcoin, o qualsiasi tipo di informazione che desideriate mantenere privata, usando la steganografia. Questa tecnica elimina l'errore umano coinvolto nell'uso di un brain wallet (che consiste semplicemente nel memorizzare la vostra seedphrase).

Cos'è la steganografia?

La steganografia, applicata all’informatica, è il processo di nascondere un file o un messaggio sensibile all'interno di un altro file ordinario (che si tratti di un file di testo normale, di un'immagine, di un video o di un file audio).

Caso d'uso della steganografia per un detentore di bitcoin

Questo articolo esamina come utilizzare le tecniche di steganografia per offuscare informazioni sensibili come una seedphrase o una chiave privata utilizzando nient'altro che strumenti Linux standard. La tecnica discussa consiste nel nascondere una seedphrase all'interno di una fotografia di un utente (una semplice immagine di una vacanza). In questo caso non è necessario memorizzare una seedphrase, scriverla su carta e/o portare con sé un hardware wallet. Questo metodo è l'ideale per un possessore di bitcoin consapevole di cosa sia l'OPSEC o per chiunque operi in un ambiente a rischio.

AVVISO! L'argomento della steganografia è ampio. Questa guida non vuole essere esaustiva su questo argomento. Un ricercatore di sicurezza competente o un avversario determinato potrebbe, in teoria, trovare i file nascosti o violare questo modello. Questo tutorial è semplicemente un'introduzione a questo argomento e una guida all'implementazione di una tecnica di steganografia utilizzando strumenti comuni da riga di comando. Questa guida serve come punto di partenza per utenti avanzati che desiderano approfondire questo argomento e sviluppare un proprio sistema. Ci sono anche dei rischi associati alla digitazione di una seedphrase in un computer non airgapped, si prega di procedere con cautela. Infine, questo articolo è solamente a scopo informativo, non si tratta di una consulenza legale o finanziaria.

Strumenti richiesti

Per seguire questo tutorial, avrete bisogno di una shell bash o di un emulatore di terminale.

Se non state utilizzando un computer Linux, è possibile procedere nei seguenti modi:

• Utenti Windows: installare Bash per Windows

• Utenti mobile: scaricare Termux per Android da F-Droid (non utilizzare la versione Google Play di termux, non è aggiornato!)

Come usare la steganografia per nascondere la vostra seedphrase

PASSO 1: Iniziate creando una directory in cui archiviare i file che desiderate nascondere, digitate il seguente comando:

mkdir -p stego && cd stego/

PASSO 2: Aprite un nuovo file usando il vostro editor di testo preferito. In questo esempio chiameremo il file `seed.txt`. Inserite le 12-24 parole della seedphrase in questo file, salvate e chiudete l'editor. Potete anche usare il comando "eco" per posizionare le parole nel file in questo modo:

echo "your passphrase" >seed.txt

PASSO 3: Ora crittograferemo il file di testo che abbiamo appena creato utilizzando openssl per fornire un ulteriore livello di sicurezza nel caso in cui il file segreto venga scoperto (inserite il comando di seguito). In alternativa un utente può usare PGP se ha familiarità con questo programma.

openssl enc -aes-256-cbc -salt -a -in seed.txt -out seed.txt.enc

Dopo aver inserito questo comando vi verrà richiesto di inserire una password e verificarla. Una volta fatto ciò e tornati al prompt, ora potete eliminare la versione in chiaro del file usando questo comando:

rm seed.txt

PASSO 4: Create un'altra directory in cui archiviare il vostro file per la compressione e salvate questo file come file .zip per renderlo accessibile dalla maggior parte dei computer moderni. In questo esempio chiameremo la nuova directory "secrets". Immettere i seguenti comandi:

mkdir -p secrets
mv seed.txt.enc secrets/
zip -r secrets.zip secrets/

Ora possiamo eliminare la directory usando il seguente comando:

rm -rf secrets/

NOTA: La directory dei segreti è stata creata semplicemente per comprimere il file in formato zip. Il file secrets.zip è "esterno" alla directory secrets/. Quando comprimete i file usando zip o tar in unix, la cartella originale rimane intatta. Pertanto, dovete eliminare la directory dei segreti (come mostrato nel passaggio precedente) perché contiene le informazioni che state nascondendo. Non vorrete certo lasciarne una copia sul vostro computer perché un avversario possa trovarla.

PASSO 5: Usando il vostro file explorer o altro metodo preferito, scegliete un'immagine da usare per memorizzare il file zip segreto, qui lo chiameremo `image.jpg`. Una volta che avete sia l'immagine che il file zip, combinate i due usando i comandi seguenti. Poiché stiamo usando un'immagine jpg, possiamo rinominare il file di output in "dubai.jpg" poiché utilizza la stessa estensione:

cat image.jpg secrets.zip > dubai.jpg

Ora abbiamo un'immagine contenente il nostro file segreto crittografato (la seedphrase) chiamato "dubai.jpg" e possiamo eliminare in sicurezza tutti gli altri file:

rm secrets.zip image.jpg

Chiunque curiosasse utilizzando un file explorer vedrebbe solo l'immagine (dubai.jpg) senza la minima idea che al suo interno sia nascosto un contenuto segreto:

NOTA: una foto dello skyline di Dubai scattata durante le vacanze è stata scelta per nascondere la frase iniziale perché è improbabile che un'immagine come questa sollevi delle curiosità. Scegliete sempre un'immagine semplice, non siate stravaganti e non utilizzate immagini relative a bitcoin.

PASSO 6: Accedete ai dati nascosti nell'immagine, in questo caso la seedphrase. Per accedere a questi dati, eseguite semplicemente:

unzip dubai.jpg

La cartella contenente le informazioni segrete che avete inserito seguendo i passaggi precedenti sarà ora accessibile. Se avete crittografato i dati utilizzando il passaggio OpenSSL sopra, utilizzate il comando seguente per decrittografarli e inserite la password quando richiesto. Il file sarà disponibile in chiaro dopo questo passaggio.

openssl enc -aes-256-cbc -d -a -in seed.txt.enc -out seed.txt

PASSO 7: Copiate la seedphrase su un pezzo di carta e quindi eliminate il file di testo in chiaro contenente queste informazioni per preservare la vostra segretezza.

PASSO 8: Scaricate un wallet bitcoin (preferibilmente tramite F-Droid o download diretto dell’APK) e caricate la seedphrase al suo interno. Ora potete procedere a spendere e ricevere bitcoin normalmente.

E questo è tutto! Questo metodo non richiede altro che alcuni strumenti Unix standard e un po' di pazienza. Per quanto riguarda i casi d'uso al di fuori delle seedphrase di bitcoin e delle chiavi private... la vostra immaginazione è l’unico limite!

Considerazioni finali

Ricapitolando, la steganografia è una forma di crittografia che consente a chiunque di nascondere un'informazione sensibile all'interno di un file ordinario (che si tratti di un file di testo normale, di un'immagine, di un video o di un file audio).

Questa tecnica è la migliore per coloro che sono estremamente consapevoli dell'OPSEC o che operano in un ambiente a rischio. Indipendentemente da ciò, questa tecnica ha molti casi d'uso ed è utile saperla padroneggiare.

Lili