Tag Archives: Crypto

Come crearsi il proprio Cloud cifrato con Tomb e SSHFS

Questo HowTo va letto con la consapevolezza che il concetto di cloud (avere i propri file sparsi per la rete) va nella direzione opposta alla sicurezza. Nonostante questo HowTo renda i tentativi di “farsi gli affari nostri” molto difficili, evitare di spargere in giro i nostri dati è sicuramente la soluzione migliore.

Da un po di tempo ero alla ricerca di una soluzione che mi permettesse di avere a disposizione alcuni dei miei file tra diversi PC senza però dovermi affidare all’uso di servizi commmerciali come DropBox o UbuntuONE.

Innanzitutto per una limitazione tecnica di queste soluzioni:
entrambi i servizi si basano sulla sincronizzazione di una cartella locale del PC su un server remoto (senza gestione dei delta) e questo se si parla di un file “contenitore” cifrato si traduce in una sua completa ri-sincronizzazione ad ogni seppur minima modifica degli elementi contenuti al suo interno (potete immaginare quanto sia scomoda una soluzione del genere se il file “contenitore” cifrato è grande qualche GigaByte).
Di conseguenza utilizzare in maniera sicura questi servizi diventa molto scomdo e non resta quindi che scartare l’ipotesi di una cifratura controllata da noi ed affidarsi all’onestà dei gestori.
Come si dice: fidarsi è bene ma non fidarsi è molto meglio, soprattutto se ad essere in ballo sono i nostri dati personali, la nostra privacy o la nostra sicurezza.

A supporto di una soluzione cloud sicura “fatta in casa” (di cui abbiamo il completo controllo) possiamo utilizzare programmi completamente open-sources e free.
Oltre ad un server remoto da utilizzare come storage dei nostri dati, avremmo quindi bisogno di:

  1. Tomb
  2. openssh
  3. sshfs

Tomb permette di creare dei file contenitori cifrati con AES-256, inoltre contiene interessanti feature per la gestione della chiave segreta come:

  • la possibilità di salvarla in una pendrive usb,
  • la possibilità di proteggerla attraverso la tecnica della steganografia all’interno di un’immagine]

A queto punto, dopo aver installato sul nostro PC tomb e sshfs, passiamo alla creazione della tomba sul nostro PC.
NB: anche se “scomodo” (soprattuto per file di grandi dimensioni) è importate creare la tomba sul nostro PC e successivamente spostarla sul server (soprattutto se il server che pensiamo di utilizzare è condiviso e non ha la partizione swap cifrata).

Il comando per la creazione della tomba è il seguente:

$ tomb-open
Invalid number of options.
[*] Tomb – simple commandline tool for encrypted storage
. version 1.2 (Nov/2011) by Jaromil @ dyne.org

[*] Guided creation of a new Tomb

A Tomb is a special folder that keeps files safe using a password:
it makes use of strong encryption and helps you keep the keys on a
separate USB storage for safer transports.

Inside a Tomb you can store private informations without fear that
other people possessing it will discover your secrets, unless they
have your USB key and your password.

If you choose to proceed now, we’ll guide you through the creation
of a new Tomb.

If you will, I’ll be your Crypto Undertaker.

Do you want to proceed, Master? (y/n) y

[*] Please type in the name for your new tomb file:
> test

[*] How big you want the Tomb to be?
. Type a size number in Megabytes:
> 500

A questo punto inserire la propria password e successivamente scegliere la passphrase della tomba.
Terminata la creazione della tomba, la carichiamo sul server utilizzando scp in questo modo:

scp -P PORT /home/user/test.tomb user@IP.IP.IP.IP:/home/user/cloud

Al termine dell’operazione, montiamo la cartella remota attraverso sshfs in questo modo:

sshfs -o allow_root user@IP.IP.IP.IP:/home/user/cloud /home/user/cloud

Se non dovesse funzionare controllare che all’interno del file di confurazione /etc/fuse.conf sia decommentata la seguente entry:

# Allow non-root users to specify the ‘allow_other’ or ‘allow_root’
# mount options.
#
user_allow_other

L’utilizzo di sshfs ci garantisce il transito dei dati tra il nostro server e noi avvenga in maniera cifrata.

A questo punto apriamo la tomba in questo modo:

$ tomb –ignore-swap open /home/user/cloud/test.tomb -k /home/user/test.tomb.key

La tomba si monta automaticamente dentro /mount/test.tomb/.
Tenete presente che la tomba inizia a sincronizzare gli elementi al suo interno al momento della chiusura, ovvero quando si lancia il seguente comando:

$ tomb close

Considerate che l’esecuzione del comando non sarà immediata e dipenderà dalla dimensione dei file caricati e dalla velocità in upload della vostra connessione. Mettetevi comodi ed aspettate.

Twitter It!

Open Source Encryption Vs. FBI: 1-0!

Articolo originale pubblicato da Maddler su Linux Security:

L’FBI ha recentemente ammesso di aver fallito nel tentativo di forzare la cifratura offerta da TrueCrypt nell’ambito di una indagine della polizia brasiliana, risalente al 2008, che indaga sulle attività illecite del banchiere Daniel Dantas reo di aver corrotto-tentato di corrompere numerosi poliziotti e di aver riciclato ingenti quantitativi di denaro denaro. Attualmente Dantas è detenuto a seguito di una condanna a 10 anni per la corruzione di un poliziotto. Nessuna condanna invece per quanto concerne il riciclaggio a causa della difficoltà di reperire prove, sapientemente celate dal banchiere utilizzando, secondo gli investigatori brasiliani, almeno due diversi software di cifratura. Uno dei due applicativi è TrueCrypt, uno dei migliori programmi di cifratura attualmente in commercio e distribuito sotto licenza open source.

I cervelloni dei due paesi avrebbero impegato mesi nel tentativo di individuare la passphrase utilizzata per la cifratura delle informazioni. Il metodo scelto, a quanto pare, è stato quello di un attacco bastato su dizionario. Non è dato sapere nel dettaglio la potenza di fuoco messa in campo e se siano stati effettuati anche tentativi di bruteforcing. Certo invece il fatto che la complessità della password ha rappresentato una difesa invalicabile.

Forse non è l’esempio più edificante, ma permette di evidenziare due punti fondamentali:

1) L’anello più debole in un contesto di sicurezza è sempre l’utente.

2) L’adozione di una password/passphrase solida è fondamentale.

Nel caso di TrueCrypt, il lavoro degli investigatori, potrebbe essere stato reso ancora più difficile da una delle caratteristiche più interessanti presenti nel software: la deniable cryptography, ovvero l’impossibilità di dimostrare che un determinato disco/file contenga effettivamente informazioni cifrate e la conseguente possibilità per il proprietario di poter negare la cifratura senza paura di poter essere smentito (certo in questo caso si aprirebbero scenari diversi, ma non è il post giusto per parlarne). In alcuni ordinamenti giudiziari il rifiuto di fornire la credenziali di accesso ai dati cifrati costituisce a sua volta un reato penale.

Va evidenziato come abbastanza curiosamente nel medesimo periodo in cui Dantas veniva arrestato era stata trovata una debolezza nell’algoritmo di TrueCrypt che in determinate circostanze poteva rendere non efficace il meccanismo di deniable cryptography utilizzato e che potrebbe aver consentito agli investigatori di aver conferma della presenza di dati cifrati, ma non di accedere a tali dati.

Twitter It!

Tomb – Crypto Undertaker

Tomb is a simple tool to manage encrypted storage on GNU/Linux, from the hashes of the dyne:bolic nesting mechanism.

Tomb aims to be an 100% free and open source system for easy encryption and backup of personal files, written in code that is easy to review and links commonly shared components.

Tomb generates encrypted storage files to be opened and closed using their associated keyfiles, which are also protected with a password chosen by the user.

A tomb is like a locked folder that can be safely transported and hidden in a filesystem; its keys can be kept separate, for instance keeping the tomb file on your computer harddisk and the key files on a USB stick.

Sito ufficiale del progetto: http://tomb.dyne.org/

Per l’installazione su Ubuntu è sufficiente aggiungere il ppa di Jaromil usando questo comando:

sudo apt-add-repository ppa:jaromil/rastasoft

poi passare dopo un update, all’installazione del software utilizzando questo comando:

sudo apt-get install tomb-gtk

Twitter It!

PGP Song

Dal sito della EFF questa divertente canzone folk di Leslie Fish sul PGP. Qui il testo

The G-men all are cryin’
And tearin’ out their hair,
‘Cause there’s a new cryptography
That’s shown up everywhere.
Nobody can break it,
However good they be.
Everybody’s PC got the PGP.

It guarantees who’s callin’
And just who gets the call.
If you ain’t got your code-word,
You can’t get in at all.
Oh, there ain’t nothin’ like it
To keep your privacy.
Half the world’s computers got the PGP.

There’s not a way to crack it,
Not in a hundred years.
All the spooks & wiretappers
Are cryin’ in their beers.
They can’t spy on E-mail
Here or oversea
When every home computer’s got the PGP.

Bless the man who made it,
And pray that he ain’t dead.
He could’ve made a million
If he’d sold it to the feds,
But he was hot for freedom;
He gave it out for free.
Now every common citizen’s got PGP.

So go say what you want to,
Of love or war or hate,
Kinky sex, or dirty words,
Or overthrow the state.
Nobody can stop you.
Speech is really free
When everybody’s PC got the PGP.

Ascolta:

Twitter It!

Steghide howto

Dopo aver parlato tempo fa della steganografia e di OpenStego un programma opensource scritto in java, ho scoperto da poco l’esistenza di Steghide scritto in C++ e presente nei repository di Debian/Ubuntu.

Di seguito riporto un estratto della documentazione che ho consultato, pubblicata sul sito di Nicola Cocchiaro e consultabile per intero in questa pagina.

Steghide è un programma di steganografia scritto in C++, per Linux e Windows, rilasciato sotto licenza GNU/GPL. Esso permette di sfruttare immagini digitali nei formati Windows Bitmap e JPEG quest’ultimo tramite la libreria Libjpeg) e file audio digitale nei formati Windows Wave e Sun/NeXT AU come cover file; qualsiasi tipo di file può venire usato invece come payload. I dati del payload possono inoltre venire criptati (con le librerie MCrypt e MHash) e compressi (grazie alla libreria Zlib).
Oltre ai dati veri e propri è possibile includere anche il nome del file di payload e un checksum per verificare l’integrità dei dati all’atto dell’estrazione.

read more »

Twitter It!

Arm – The anonymizing relay monitor

Da un post pubblicato sul blog del progetto tor, ho appreso della nuova release di Arm arrivato ora alla versione 1.4.1

Di seguito alcune caratteristiche della nuova versione:

  • Vastly Better Resolver PerformanceBy far the most expensive thing that arm does is ps and netstat/lsof/etc lookups. While wandering around development forums I discovered psutil, an awesome library for cross platform resolution of system and process information. For OSX and BSD they’re using ps and lsof lookups just like arm. However, for Linux they had a very different approach, querying proc contents directly. I adapted the functions for arm and it cut the runtime for resource and connection resolution by 90%. Many thanks to the authors of psutil (Jay Loden, Dave Daeschler, and Giampaolo Rodola’)!
  • BSD CompatibilityFor a long time FreeBSD has been arm’s nemesis. Its variant of netstat can’t get connection pids, the ss resolving utility belongs to a spreadsheet program instead, and even pid resolution failed (breaking resource stats and numerous other things). However, thanks to patches and testing by Fabian Keil and Hans Schnehl arm now has BSD counterparts for all of these, plus autodetection for BSD Jails.
  • Expanded DistributionPeter and I have finished revisions for the arm deb and it’s now pending feedback from the Debian FTP admins. Arm is also now available on ArchLinux thanks to Spider.007 and Fabian mentioned that he might be interested in doing a FreeBSD port.
  • Volunteer Recruiting

Questo il sito del progetto dove è possibile scaricare ed installare il pacchetto .deb:
http://www.atagar.com/arm/

Twitter It!

Security

fonte: http://xkcd.com/538/

Twitter It!