[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