Shufflecake, alat za kreiranje skrivenih volumena

shufflecake

Shufflecake je alat za Linux koji omogućava stvaranje više skrivenih volumena na uređaju za skladištenje na takav način da je vrlo teško, čak i pod forenzičkom inspekcijom, dokazati postojanje takvih volumena.

Firma za reviziju sigurnosti Kudelski Security objavila je set alata Shufflecake , koji omogućava kreiranje skrivenih datotečnih sistema distribuiranih po raspoloživom slobodnom prostoru na postojećim particijama, nerazlučivih od slučajnih rezidualnih podataka. Ovi odjeljci su kreirani na takav način da je, bez poznavanja ključa za pristup, dokazivanje njihovog postojanja problematično, čak i tokom forenzičke analize.

Projekat se pozicionira kao naprednije rješenje za skrivanje povjerljivih podataka od Truecrypta i Veracrypta, nudeći izvornu podršku za Linux platformu i omogućavajući vam da na uređaj postavite do 15 skrivenih particija, ugniježđenih jedna u drugu kako bi se prikrila analiza njihovog postojanja.

Skrivene particije koje korisnik kreira, po želji, mogu se formatirati tako da odgovaraju bilo kojem datotečnom sistemu, na primjer, ext4, xfs ili btrfs. Svaka particija se tretira kao nezavisni virtuelni blok uređaj sa svojim vlastitim ključem za otključavanje.

Da bi se prikrili tragovi, predlaže se model ponašanja "vjerovatnog poricanja". U suštini, vrijedni podaci su skriveni kao dodatni slojevi unutar šifriranih odjeljaka koji sadrže manje vrijedne podatke, formirajući neku vrstu skrivene hijerarhije odjeljaka. Pod pritiskom, vlasnik uređaja može otkriti ključ šifriranog odjeljka, ali drugi odjeljci (do 15 ugniježđenih nivoa) mogu biti skriveni unutar njega, što otežava utvrđivanje njihovog prisustva i dokazivanje njihovog postojanja.

Shufflecake i kernel modul su testirani samo na Debianu i Ubuntuu sa kernelima 5.13 i 5.15 (Ubuntu 22.04 je podržan). Treba napomenuti da projekat i dalje treba smatrati radnim prototipom i ne treba ga koristiti za pohranjivanje osjetljivih podataka.

U budućnosti planiramo napraviti dodatne optimizacije za performanse, pouzdanost i sigurnost, kao i omogućiti mogućnost pokretanja sa Shufflecake particija.

O Shufflecakeu

Prikrivanje se postiže formiranjem svake particije kao skupa šifriranih segmenata postavljenih na nasumične pozicije na uređaju za pohranu. Svaki segment se kreira dinamički kada particiji treba dodatni prostor za pohranu. Da bi se otežala analiza, dijelovi iz različitih sekcija se isprepliću.

Odjeljci kolača za miješanje nisu povezani sa susjednim regijama, a dijelovi iz svih sekcija se miješaju zajedno. Informacije o korištenim i besplatnim dijelovima pohranjene su u mapi lokacija priloženoj uz svaki odjeljak, na koju upućuje šifrirano zaglavlje. Kartice i zaglavlje su šifrirani i, bez poznavanja lozinke, ne mogu se razlikovati od nasumičnih podataka.

Zaglavlje je podijeljeno na slotove , od kojih svaki definira vlastiti odjeljak i pridružene sektore. Slotovi u zaglavlju su složeni i rekurzivno povezani: trenutni slot sadrži ključ za dešifriranje parametara prethodnog (manje skrivenog) odjeljka u hijerarhiji, što omogućava jednoj lozinki da dešifrira sve manje skrivene odjeljke povezane s odabranom stavkom. Svaki manje skriveni odjeljak tretira dijelove ugniježđenih sekcija kao slobodne.

Podrazumevano, sve ugniježđene Shufflecake particije imaju istu vidljivu veličinu kao i particija najvišeg nivoa. Na primjer, ako se na uređaju od 1 GB koriste tri particije, svaka će biti vidljiva sistemu kao particija od 1 GB, a ukupan dostupan prostor na disku će se dijeliti između svih particija. Ako ukupna količina pohranjenih podataka premaši stvarnu veličinu uređaja, počet će se javljati I/O greške.

Neotvorene ugniježđene sekcije ne učestvuju u alokaciji prostora; to jest, pokušaj popunjavanja sekcije višeg nivoa će prepisati podatke u ugniježđenim sekcijama, ali neće otkriti njihovo prisustvo kroz analizu veličine podataka koji se mogu smjestiti u sekciju prije nego što se generiše greška (pretpostavlja se da sekcije višeg nivoa sadrže nepromjenjive podatke). Podaci se ne koriste slučajno i nikada odvojeno, a redovan rad se uvijek obavlja sa najnovijom ugniježđenom sekcijom; sama shema implicira da je glavna stvar čuvati postojanje podataka u tajnosti, čak i po cijenu gubitka podataka.

Implementacija Shufflecake-a nudi relativno visoke performanse, ali zbog dodatnih troškova, postiže otprilike upola manje performansi od šifriranja diska zasnovanog na LUKS podsistemu. Korištenje Shufflecake-a također uzrokuje dodatne troškove RAM-a i prostora na disku za pohranu servisnih podataka. Troškovi memorije procjenjuju se na 60 MB po particiji , a korištenje prostora na disku procjenjuje se na 1% ukupne veličine particije. Poređenja radi, slično namjenska WORAM tehnika rezultira usporavanjem od 5 do 200 puta sa gubitkom upotrebljivog prostora na disku od 75%.

Kod za uslužne programe (shufflecake-userland) i modul jezgre Linuxa (dm-sflc) je napisan u C i objavljen pod GPLv3 licencom, što onemogućuje uključivanje objavljenog modula kernela u glavni Linux kernel. zbog nekompatibilnosti pod GPLv2 licencom pod kojom se isporučuje kernel.

Ako ste zainteresovani da saznate više, detalje možete pronaći na sljedećem linku.


Dodaj kao preferirani izvor na Googleu