[e-privacy] Crowdfunding per l'auditing di Truecrypt: obiettivo raggiunto!

Tommaso Gagliardoni tommaso a gagliardoni.net
Mer 23 Ott 2013 14:55:48 CEST


On 10/23/2013 11:59 AM, Tramaci.Org wrote:
> Un paranoico di tipo tramacioso leggerebbe:

Scusa Epto, non ho capito il tuo punto di vista, quindi perdonami se 
traviso. Cosa intendi dire? E' cosa risaputa che Truecrypt, come 
software per la sicurezza, "puzza" in maniera molto sospetta. Ma 
principalmente per tre motivi:

1) la licenza: e' una licenza non-standard, non considerata "free", che 
ha molte limitazioni, molti punti poco chiari ed e' vista come una 
potenziale "trappola" pronta a scattare per chiunque si prenda delle 
"liberta'" col sorgente, per questo motivo Truecrypt non e' incluso in 
nessuna distro GNU/Linux

2) il codice: e' relativamente difficile da compilare e molto poco 
chiaro. Chiaramente il 99.99% degli utenti non se lo compila per se' ma 
scarica i binari. C'e' teoricamente la possibilita' che il binario 
contenga delle backdoor, in particolare e' stato suggerito che si 
potrebbe inserire la chiave segreta per decrittare una partizione, in 
forma cifrata, nei bit di padding del filesystem

3) la Truecrypt Foundation, vale a dire gli sviluppatori di TC: e' 
un'entita' ESTREMAMENTE "secretive", non si sa chi sono le persone che 
ci stanno dietro, non si sa per chi lavorano, non si sa dove stanno 
fisicamente, l'indirizzo "ufficiale" della fondazione e' palesemente 
fasullo, una volta avevano pure registrato il dominio "truecrypt.org" 
con un indirizzo in Antartide! Teoricamente, se un domani venisse fuori 
che c'e' davvero una backdoor in Truecrypt, e che dietro la TC 
foundation c'e' Satana in persona, "loro" potrebbero semplicemente 
tirare giu' il sito e sparire nel nulla, e nessuno saprebbe piu' niente 
di loro, ne' potrebbe collegare il loro operato a checchessia agenzia di 
intelligence.

Il fatto che dei ricercatori abbiano messo su questa campagna di 
fundraising per analizzare a fondo  TC secondo me e' cosa buona e 
giusta, e di cui si sentiva la mancanza per giunta. Bisogna vedere come 
andra' fatto il lavoro, ma sicuramente siamo nella direzione giusta.


> Provate con truecrack!
> Truecrack è un tool per craccare truecrypt con il sistema del bruteforcing.

Ma qui il problema non e' il bruteforcing, non e' un punto 
interessante... che c'entra con la sicurezza di TC di per se'?


> Contribuirò, seguendo la carota, alla paranoia:
> ”Il boot creato nelle partizioni truecrypt che non sono di sistema ha
> diversi punti di dati tutti a zero allineati a 16 (il blocco di
> cifratura è a 16 bytes). Stessa cosa sugli headers di truecrypt nella
> sezione dedicata agli usi futuri. Consiglerei di usare dd o Winimage
> (pre chi usa win) ed estrarre l'immagine non cifrata per fare dei
> confronti”.

Questo passo da dove l'hai riportato? E' scritto in maniera 
incomprensibile ed e' pieno di nonsense tecnici. Che cos'e' un "boot 
creato nelle partizioni truecrypt che non sono di sistema"? Cosa sono 
"punti di dati tutti a zero allineati a 16"? Una partizione cifrata 
Truecrypt, sia essa di sistema, non sistema, FAT, non-FAT, raw o 
quant'altro, e' per costruzione stessa del software INDISTINGUIBILE da 
dati random. Questo perche' l'header stesso (che dice "questa e' una 
partizione cifrata Truecrypt") e' cifrato.


> Interessante hardening:
> Grazie alle partizioni FAT e FAT32, possiamo spostare il boot, cambiarne
> i parametri e rendere così la FAT irriconoscibile e spostarla, in modo
> che anche dal esterno (dal file crittato di truecrypt) non si sappia
> dove sono.

Altro passaggio, scusami, che non ho compreso. Di che "boot" stai 
parlando? "dove sono" cosa?


> Si, perchè data la dimensione di una partizione si riesce a calcolare
> con precisione dove sono le cose:

Se per "cose" intendi "header TC", vero, ma 1) devi prima dimostrare che 
la suddetta partizione e' una partizione TC, cosa in genere impossibile 
2) se anche identifichi la posizione dell'header, questo e' cifrato, 
senza password non ci fai niente. Poi bisogna fare ulteriore distinzione 
tra partizioni TC "normali" e partizioni "hidden".

Una breve introduzione molto schematica: 
http://e-privacy.winstonsmith.org/2011/atti/e-privacy-2011-14-luci_e_ombre_di_truecrypt-gagliardoni.pdf


> Il codice bootloader all'interno del boot è 0.

Ma stai parlando del bootloader TC per i "fully encrypted OS" e "hidden 
OS"? Questo bootloader non va installato in una partizione TC, ma in una 
piccola partizione di boot che sta in chiaro. Il bootloader in questione 
non contiene alcun dato dipendente dalla password, quindi non ha niente 
di segreto. La sua funzione e', se vogliamo, analoga a quella di un GRUB 
che risiede su una partizione in chiaro /boot e che sblocca (dopo aver 
inserito la giusta password) delle partizioni LUKS di sistema su Linux. 
La differenza e' che le partizioni LUKS hanno degli header in chiaro 
strutturati, quindi e' facile riconoscerle, quelle TC no.

Quello che fa il bootloader TC e' il seguente:

1) parte, e chiede all'utente di inserire una password, la hasha e ne 
ricava una potenziale chiave segreta (SK)

2) legge la lista delle altre partizioni presenti e comincia a 
scorrerle, in ordine. Per ognuna di queste che e' di tipo "filesystem 
raw/sconosciuto":

	2.1) decifra i primi tot KB della partizione usando SK

	2.2) se quello che ottiene e' un header Truecrypt:

		2.2.1) se la partizione e' di tipo "system", decritta la
		partizione e fai passare il processo di boot alla
		partizione decrittata (parte Windows, di solito un OS
		decoy). Termina.

	2.4) decifra gli ULTIMI tot KB della partizione usando SK

	2.5) se quello che ottiene e' un header Truecrypt:

		2.5.1) se la partizione e' di tipo "system", decritta la
		partizione (che comincia non dall'inizio dello spazio
		cifrato, ma da un certo counter contenuto nell'header)
		e fai passare il processo di boot alla partizione
		decrittata (parte l'hidden OS). Termina.

3) se termina la lista senza bootare niente, restituisce un errore 
"password errata".


> Lavorando su quei bytes... É possibile creare un algoritmo che individua
> la chiave di truecrypt?

Decisamente no, proprio perche' la SK non viene mai scritta nella 
partizione, ma ricavata volta per volta dalla password inserita dall'utente.

Per quel che mi riguarda sono proprio contento di questa operazione di 
auditing, anche se temo che analizzare il codice sorgente non portera' a 
molto. Sono abbastanza convinto che il sorgente sia "pulito" e non 
contenga bug eclatanti, ma credo piuttosto che se si potesse fare 
reverse-engineering dei binari per vedere se c'e' merda la' dentro... 
quello si' potrebbe rivelare qualche sorpresa!

Per quel che mi riguarda ho smesso di usare TC da un pezzo, preferisco 
affidarmi a LUKS, tanto la plausible deniability offerta da TC e' nella 
pratica molto debole.

My 2c,
T.




> Il 22/10/2013 18.28, Corrado Primier ha scritto:
>> A quasi due mesi dalla chiusura della campagna, il progetto per
>> l'auditing del sorgente di Truecrypt[1] ha superato i 30.000$ di funding
>> (contro i 25k richiesti), e probabilmente crecserà ancora.
>>
>> Questa è un'ottima notizia, vista la lunga serie di dubbi che da anni i
>> paranoici della sicurezza e della privacy come noi continuano a portare
>> avanti!
>>
>> Se avete qualche soldino da investire nella vostra privacy futura date
>> il vostro contributo...
>>
>>
>> [1] http://www.indiegogo.com/projects/the-truecrypt-audit
>> _______________________________________________
>> e-privacy mailing list
>> e-privacy a winstonsmith.org
>> http://lists.winstonsmith.org/mailman/listinfo/e-privacy
>
> _______________________________________________
> e-privacy mailing list
> e-privacy a winstonsmith.org
> http://lists.winstonsmith.org/mailman/listinfo/e-privacy
>



Maggiori informazioni sulla lista e-privacy