Shufflecake, nástroj pro vytváření skrytých svazků

shufflecake

Shufflecake je nástroj pro Linux, který umožňuje vytváření více skrytých svazků na úložném zařízení takovým způsobem, že je velmi obtížné, i při forenzní kontrole, existenci takových svazků prokázat.

Bezpečnostní auditorská firma Kudelski Security vydala sadu nástrojů Shufflecake , která umožňuje vytváření skrytých souborových systémů distribuovaných v dostupném volném prostoru na existujících oddílech, nerozeznatelných od náhodných zbytkových dat. Tyto sekce jsou vytvořeny takovým způsobem, že bez znalosti přístupového klíče je prokázání jejich existence problematické, a to i během forenzní analýzy.

Projekt se prezentuje jako pokročilejší řešení pro skrytí důvěrných dat než Truecrypt a Veracrypt, nabízí nativní podporu pro platformu Linux a umožňuje umístit na zařízení až 15 skrytých oddílů, které jsou do sebe vnořené, aby se zakryla analýza jejich existence.

Skryté oddíly vytvořené dle uvážení uživatele lze formátovat tak, aby vyhovovaly libovolnému souborovému systému, například ext4, xfs nebo btrfs. Každý oddíl je považován za nezávislé virtuální blokové zařízení s vlastním klíčem pro odemknutí.

Pro zakrytí stop je navržen behaviorální model „věrohodného popírání“. V podstatě jsou cenná data skryta jako další vrstvy v šifrovaných sekcích obsahujících méně cenná data, čímž se vytváří jakási skrytá hierarchie sekcí. Pod tlakem může vlastník zařízení odhalit klíč k šifrované sekci, ale v ní mohou být skryty i další sekce (až 15 vnořených úrovní), což ztěžuje určení jejich přítomnosti a prokázání jejich existence.

Shufflecake a modul kernelu byly testovány pouze na Debianu a Ubuntu s jádry 5.13 a 5.15 (Ubuntu 22.04 je podporováno). Je třeba poznamenat, že projekt by měl být stále považován za funkční prototyp a neměl by být používán k ukládání citlivých dat.

V budoucnu plánujeme provést další optimalizace výkonu, spolehlivosti a zabezpečení a také poskytnout možnost spouštění z oddílů Shufflecake.

O Shufflecake

Utajení je dosaženo vytvořením každého oddílu jako sady šifrovaných segmentů umístěných na náhodných pozicích na úložném zařízení. Každý segment je vytvářen dynamicky, když oddíl vyžaduje další úložný prostor. Pro ztížení analýzy jsou prokládány řezy z různých sekcí.

Sekce Shufflecake nejsou svázány s přilehlými oblastmi a části ze všech částí jsou zamíchány. Informace o použitých a volných částech jsou uloženy v mapě umístění připojené ke každé sekci, na kterou odkazuje šifrovaná hlavička. Karty a hlavičky jsou šifrované a bez znalosti přístupového klíče jsou nerozeznatelné od náhodných dat.

Záhlaví je rozděleno do slotů , z nichž každý definuje svou vlastní sekci a přidružené sektory. Sloty v záhlaví jsou naskládané a rekurzivně propojeny: aktuální slot obsahuje klíč pro dešifrování parametrů předchozí (méně skryté) sekce v hierarchii, což umožňuje jedinému heslu dešifrovat všechny méně skryté sekce spojené s vybranou položkou. Každá méně skrytá sekce považuje části vnořených sekcí za volné.

Ve výchozím nastavení mají všechny vnořené oddíly Shufflecake stejnou viditelnou velikost jako oddíl nejvyšší úrovně. Pokud jsou například na zařízení s kapacitou 1 GB použity tři oddíly, každý z nich bude pro systém viditelný jako oddíl s kapacitou 1 GB a celkový dostupný prostor na disku bude sdílen mezi všemi oddíly. Pokud celkové množství uložených dat překročí skutečnou velikost zařízení, začnou se vyskytovat chyby I/O.

Neotevřené vnořené sekce se neúčastní alokace prostoru; to znamená, že pokus o zaplnění sekce vyšší úrovně přepíše data ve vnořených sekcích, ale neodhalí jejich přítomnost analýzou velikosti dat , která lze do sekce umístit, než dojde k vygenerování chyby (předpokládá se, že sekce vyšší úrovně obsahují neměnná data). Data se nepoužívají náhodně a nikdy samostatně a běžná práce se vždy provádí s nejnovější vnořenou sekcí; samotné schéma implikuje, že hlavním úkolem je utajit existenci dat, i za cenu jejich ztráty.

Implementace Shufflecake nabízí relativně vysoký výkon, ale kvůli režijním nákladům dosahuje zhruba poloviční úrovně šifrování disku založeného na subsystému LUKS. Použití Shufflecake také s sebou nese dodatečné náklady na RAM a diskový prostor pro ukládání servisních dat. Náklady na paměť se odhadují na 60 MB na oddíl a využití disku se odhaduje na 1 % celkové velikosti oddílu. Pro srovnání, podobně účelná technika WORAM vede k 5- až 200násobnému zpomalení se 75% ztrátou použitelného disku.

Kód pro nástroje (shufflecake-userland) a modul jádra Linuxu (dm-sflc) je napsán v jazyce C a uvolněn pod licencí GPLv3, což znemožňuje zahrnout uvolněný modul jádra do hlavního jádra Linuxu kvůli nekompatibilitě. pod licencí GPLv2, pod kterou je jádro dodáváno.

Pokud máte zájem dozvědět se více, podrobnosti naleznete na následujícím odkazu.


Přidat jako preferovaný zdroj v Googlu