Shufflecake, un instrument pentru crearea de volume ascunse

shufflecake

Shufflecake este un instrument pentru Linux care permite crearea mai multor volume ascunse pe un dispozitiv de stocare în așa fel încât să fie foarte dificil, chiar și sub control criminalistic, să se dovedească existența unor astfel de volume.

Firma de audit de securitate Kudelski Security a lansat setul de instrumente Shufflecake , care permite crearea de sisteme de fișiere ascunse distribuite pe spațiul liber disponibil pe partițiile existente, imposibil de distins de datele reziduale aleatorii. Aceste secțiuni sunt create în așa fel încât, fără a cunoaște cheia de acces, demonstrarea existenței lor este problematică, chiar și în timpul analizei criminalistice.

Proiectul se poziționează ca o soluție mai avansată decât Truecrypt și Veracrypt pentru ascunderea datelor confidențiale, oferind suport nativ pentru platforma Linux și permițând plasarea a până la 15 partiții ascunse pe dispozitiv, imbricate una în alta pentru a obfusca analiza existenței lor.

Partițiile ascunse create , la discreția utilizatorului, pot fi formatate pentru a se potrivi oricărui sistem de fișiere, de exemplu, ext4, xfs sau btrfs. Fiecare partiție este tratată ca un dispozitiv bloc virtual independent, cu propria cheie de deblocare.

Pentru a ascunde urmele, se propune modelul comportamental de „negare plauzibilă”. În esență, datele valoroase sunt ascunse sub formă de straturi suplimentare în secțiuni criptate care conțin date mai puțin valoroase, formând un fel de ierarhie ascunsă de secțiuni. Sub presiune, proprietarul dispozitivului poate dezvălui cheia secțiunii criptate, dar alte secțiuni (până la 15 niveluri imbricate) pot fi ascunse în interiorul acesteia, ceea ce face dificilă determinarea prezenței și demonstrarea existenței acestora.

Shufflecake și modulul kernel au fost testate doar pe Debian și Ubuntu cu kerneluri 5.13 și 5.15 (Ubuntu 22.04 este suportat). Trebuie menționat că proiectul ar trebui considerat în continuare un prototip funcțional și nu ar trebui utilizat pentru stocarea de date sensibile.

În viitor, intenționăm să facem optimizări suplimentare pentru performanță, fiabilitate și securitate, precum și să oferim posibilitatea de a porni din partițiile Shufflecake.

Despre Shufflecake

Ascunderea se realizează prin formarea fiecărei partiții ca un set de segmente criptate plasate în poziții aleatorii pe dispozitivul de stocare. Fiecare segment este creat dinamic atunci când partiția necesită spațiu de stocare suplimentar. Pentru a complica analiza, secțiuni din diferite secțiuni sunt intercalate.

Secțiunile Shufflecake nu sunt legate de regiunile învecinate, iar porțiunile din toate secțiunile sunt amestecate. Informațiile despre porțiunile folosite și libere sunt stocate în harta locației atașată fiecărei secțiuni, la care se face referire prin antetul criptat. Cardurile și antetul sunt criptate și, fără a cunoaște cheia de acces, nu se pot distinge de datele aleatorii.

Antetul este împărțit în sloturi , fiecare dintre acestea definind propria secțiune și sectoarele asociate. Sloturile din antet sunt stivuite și legate recursiv: slotul curent conține cheia pentru decriptarea parametrilor secțiunii anterioare (mai puțin ascunse) din ierarhie, permițând unei singure parole să decripteze toate secțiunile mai puțin ascunse asociate cu elementul selectat. Fiecare secțiune mai puțin ascunsă tratează porțiuni din secțiunile imbricate ca fiind libere.

În mod implicit, toate partițiile Shufflecake imbricate au aceeași dimensiune vizibilă ca partiția de nivel superior. De exemplu, dacă se utilizează trei partiții pe un dispozitiv de 1 GB, fiecare va fi vizibilă sistemului ca o partiție de 1 GB, iar spațiul total disponibil pe disc va fi partajat între toate partițiile. Dacă cantitatea totală de date stocate depășește dimensiunea reală a dispozitivului, vor începe să apară erori I/O.

Secțiunile imbricate nedeschise nu participă la alocarea spațiului; adică, încercarea de a umple o secțiune de nivel superior va suprascrie datele din secțiunile imbricate, dar nu va dezvălui prezența acestora prin analiza dimensiunii datelor care pot fi plasate în secțiune înainte de generarea unei erori (se presupune că secțiunile de nivel superior conțin date imuabile). Datele nu sunt utilizate întâmplător și niciodată separat, iar lucrul regulat se desfășoară întotdeauna cu cea mai recentă secțiune imbricată; schema în sine implică faptul că principalul lucru este să se păstreze secretă existența datelor, chiar și cu prețul pierderii datelor.

Implementarea Shufflecake oferă performanțe relativ ridicate, dar din cauza costurilor generale, are performanțe de aproximativ jumătate la fel de bune ca criptarea discului bazată pe subsistemul LUKS. Utilizarea Shufflecake implică, de asemenea, costuri suplimentare de RAM și spațiu pe disc pentru stocarea datelor de service. Costurile de memorie sunt estimate la 60 MB per partiție , iar utilizarea spațiului pe disc este estimată la 1% din dimensiunea totală a partiției. Prin comparație, tehnica WORAM, la fel de eficientă, are ca rezultat o încetinire de 5 până la 200 de ori, cu o pierdere de 75% din spațiul utilizabil pe disc.

Codul pentru utilitare (shufflecake-userland) și modulul de kernel Linux (dm-sflc) este scris în C și eliberat sub licență GPLv3, ceea ce face imposibilă includerea modulului de kernel publicat în kernel-ul principal Linux din cauza incompatibilității. sub licența GPLv2 sub care este livrat nucleul.

Dacă sunteți interesați să aflați mai multe, puteți găsi detalii la linkul următor.


Adăugați ca sursă preferată în Google