Objavljen je Shufflecake, alat za kreiranje skrivenih šifriranih particija diska

Kompanija za reviziju sigurnosti Kudelski Security objavila je alat pod nazivom Shufflecake koji vam omogućava da kreirate skrivene sisteme datoteka razbacanih po dostupnom slobodnom prostoru na postojećim particijama i koji se ne razlikuju od nasumičnih rezidualnih podataka. Particije su kreirane na način da je bez poznavanja pristupnog ključa teško dokazati njihovo postojanje čak i prilikom forenzičke analize. Kod uslužnih programa (shufflecake-userland) i modula jezgre Linuxa (dm-sflc) napisan je u C-u i distribuira se pod GPLv3 licencom, što onemogućava uključivanje objavljenog modula kernela u glavni Linux kernel zbog nekompatibilnosti sa GPLv2 licenca pod kojom se isporučuje kernel.

Projekt je pozicioniran kao naprednije rješenje od Truecrypta i Veracrypta za skrivanje podataka koji zahtijevaju zaštitu, koji ima izvornu podršku za Linux platformu i omogućava vam da postavite do 15 skrivenih particija na uređaj, ugniježđenih jedna u drugu kako biste zbunili raščlanjivanje njihovog postojanja. Ako sama upotreba Shufflecake-a nije tajna, kao što se može suditi, na primjer, po prisutnosti odgovarajućih uslužnih programa u sistemu, tada se ne može odrediti ukupan broj kreiranih skrivenih particija. Stvorene skrivene particije mogu se formatirati prema nahođenju korisnika kako bi se prilagodile bilo kojem sistemu datoteka, na primjer, ext4, xfs ili btrfs. Svaka particija se tretira kao poseban virtuelni blok uređaj sa sopstvenim ključem za otključavanje.

Da bi se zbunili tragovi, predlaže se korištenje modela ponašanja “vjerodostojnog poricanja”, čija je suština da se vrijedni podaci skrivaju kao dodatni slojevi u šifriranim dijelovima s manje vrijednim podacima, formirajući neku vrstu skrivene hijerarhije sekcija. U slučaju pritiska, vlasnik uređaja može otkriti ključ šifrirane particije, ali druge particije (do 15 ugniježđenih nivoa) mogu biti skrivene u ovoj particiji, a utvrđivanje njihovog prisustva i dokazivanje njihovog postojanja je problematično.

Skrivanje se postiže konstruiranjem svake particije kao skupa šifriranih rezova postavljenih na nasumične pozicije na uređaju za pohranu. Svaki odsječak se kreira dinamički kada je potreban dodatni prostor za pohranu u particiji. Da bi analiza bila teža, izmjenjuju se kriške različitih sekcija, tj. Odjeljci kolača za miješanje nisu povezani sa susjednim regijama i kriške iz svih sekcija su pomiješane. Informacije o korištenim i besplatnim rezovima pohranjuju se u mapi lokacija koja je povezana sa svakom particijom, na koju upućuje šifrirano zaglavlje. Kartice i zaglavlje su šifrirani i, bez poznavanja pristupnog ključa, ne mogu se razlikovati od nasumičnih podataka.

Zaglavlje je podijeljeno na utore, od kojih svaki definira svoj vlastiti odjeljak i pripadajuće isječke. Slotovi u zaglavlju su naslagani i rekurzivno povezani - trenutni slot sadrži ključ za dešifrovanje parametara prethodnog odeljka u hijerarhiji (onog manje skrivenog), omogućavajući da se jedna lozinka koristi za dešifrovanje svih manje skrivenih sekcija povezanih sa odabrani dio. Svaka manje skrivena particija tretira kriške ugniježđenih particija kao slobodne.

Podrazumevano, svi pododjeljci Shufflecake-a imaju istu vidljivu veličinu kao i odjeljak najvišeg nivoa. Na primjer, ako postoje tri particije na uređaju od 1 GB, svaka od njih će biti vidljiva sistemu kao particija od 1 GB i ukupni raspoloživi prostor na disku će se dijeliti između svih particija - ako ukupna veličina pohranjenih podataka premašuje stvarne veličine uređaja, pokrenut će se I/O greška.

Ugniježđene sekcije koje nisu otvorene ne učestvuju u dodjeli prostora, tj. pokušaj popunjavanja particije najviše razine rezultirat će usitnjavanjem podataka u ugniježđene particije, ali neće omogućiti otkrivanje njihovog prisustva analizom veličine podataka koji se mogu smjestiti u particiju prije nego što greška počne (ona Pretpostavlja se da gornje particije sadrže nepromjenjive podatke za odvlačenje pažnje i nikada se odvojeno ne koriste, a redovan rad se uvijek obavlja s najnovijim ugniježđenim dijelom, sama shema implicira da je važnije održavati tajnu postojanja podataka nego da izgubite ove podatke).

U stvari, uvijek se kreira 15 Shufflecake particija - korisnička lozinka je pridružena korištenim particijama, a neiskorištene particije se isporučuju sa nasumično generiranom lozinkom (nemoguće je razumjeti koliko se particija zapravo koristi). Kada se Shufflecake particije inicijaliziraju, disk, particija ili virtuelni blok uređaj koji su dodijeljeni za njihovo postavljanje se popunjava nasumičnim podacima, što onemogućuje identifikaciju Shufflecake metapodataka i podataka u općoj pozadini.

Implementacija Shufflecake ima prilično visoke performanse, ali zbog prisustva nadopterećenja, približno je dvostruko sporija u propusnosti u odnosu na šifriranje diska zasnovanog na LUKS podsistemu. Korištenje Shufflecake-a također rezultira dodatnim troškovima za RAM i prostor na disku za pohranjivanje servisnih podataka. Potrošnja memorije se procjenjuje na 60 MB po particiji, a prostor na disku na 1% ukupne veličine. Poređenja radi, WORAM tehnika, slične namjene, dovodi do usporavanja od 5 do 200 puta uz gubitak od 75% korisnog prostora na disku.

Komplet alata i modul kernela testirani su samo na Debianu i Ubuntuu s kernelima 5.13 i 5.15 (podržano na Ubuntu 22.04). Napominje se da se projekat i dalje treba smatrati radnim prototipom, koji se ne bi trebao koristiti za pohranjivanje važnih podataka. U budućnosti planiramo napraviti dodatne optimizacije za performanse, pouzdanost i sigurnost, kao i omogućiti mogućnost pokretanja sa Shufflecake particija.

izvor: opennet.ru

Dodajte komentar