Shufflecake, sada nástrojů pro vytváření skrytých šifrovaných diskových oddílů, byla zveřejněna

Společnost pro bezpečnostní audit Kudelski Security zveřejnila nástroj nazvaný Shufflecake, který umožňuje vytvářet skryté souborové systémy rozptýlené po dostupném volném místě na stávajících oddílech a nerozeznatelné od náhodných zbytkových dat. Oddíly jsou vytvořeny tak, že bez znalosti přístupového klíče je obtížné prokázat jejich existenci i při provádění forenzních analýz. Kód utilit (shufflecake-userland) a modulu linuxového jádra (dm-sflc) je napsán v jazyce C a distribuován pod licencí GPLv3, což znemožňuje zahrnutí publikovaného modulu jádra do hlavního linuxového jádra z důvodu nekompatibility s licence GPLv2, pod kterou je jádro dodáváno.

Projekt je umístěn jako pokročilejší řešení než Truecrypt a Veracrypt pro skrývání dat, která vyžadují ochranu, který má nativní podporu pro platformu Linux a umožňuje umístit až 15 skrytých oddílů na zařízení, vnořených do sebe, aby se zmátla analýza. jejich existence. Pokud použití samotného Shufflecake není tajemstvím, jak lze soudit například podle přítomnosti odpovídajících utilit v systému, pak nelze celkový počet vytvořených skrytých oddílů určit. Vytvořené skryté oddíly lze naformátovat podle uvážení uživatele tak, aby vyhovovaly jakémukoli systému souborů, například ext4, xfs nebo btrfs. Každý oddíl je považován za samostatné virtuální blokové zařízení s vlastním odemykacím klíčem.

Pro zmatení stop se navrhuje použít model chování „věrohodné popření“, jehož podstatou je, že cenná data jsou skryta jako další vrstvy v zašifrovaných sekcích s méně cennými daty, což tvoří jakousi skrytou hierarchii sekcí. V případě nátlaku může majitel zařízení odhalit klíč k zašifrovanému oddílu, ale v tomto oddílu mohou být skryty další oddíly (až 15 vnořených úrovní) a určení jejich přítomnosti a prokázání existence je problematické.

Skrytí je dosaženo vytvořením každého oddílu jako sady zašifrovaných řezů umístěných na náhodných pozicích na úložném zařízení. Každý řez je vytvořen dynamicky, když je v oddílu potřeba další úložný prostor. Pro ztížení analýzy se střídají řezy různých sekcí, tzn. Sekce Shufflecake nejsou spojeny se souvislými oblastmi a plátky ze všech sekcí jsou smíchány. Informace o použitých a volných řezech jsou uloženy v mapě umístění spojené s každým oddílem, na který odkazuje zašifrovaná hlavička. Karty a hlavička 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 související řezy. Sloty v záhlaví jsou naskládané a rekurzivně propojené – aktuální slot obsahuje klíč k dešifrování parametrů předchozí sekce v hierarchii (méně skryté), což umožňuje použití jednoho hesla k dešifrování všech méně skrytých sekcí spojených s vybranou sekci. Každý méně skrytý oddíl považuje řezy vnořených oddílů za volné.

Ve výchozím nastavení mají všechny podsekce Shufflecake stejnou viditelnou velikost jako sekce nejvyšší úrovně. Pokud jsou například na zařízení s kapacitou 1 GB tři oddíly, každý z nich bude systému viditelný jako oddíl o velikosti 1 GB a celkový dostupný prostor na disku bude sdílen mezi všemi oddíly – pokud celková velikost uložených dat překročí skutečné velikosti zařízení, spustí se chyba I/O.

Vnořené sekce, které nejsou otevřené, se neúčastní alokace prostoru, tzn. pokus o zaplnění oddílu nejvyšší úrovně povede ke skartování dat ve vnořených oddílech, ale neumožní odhalit jejich přítomnost analýzou velikosti dat, která lze umístit do oddílu před začátkem chyby (to předpokládá se, že horní oddíly obsahují neměnná data k odvedení pozornosti a nikdy se nepoužívají samostatně a pravidelná práce se vždy provádí s nejnovější vnořenou sekcí, ze samotného schématu vyplývá, že je důležitější zachovat tajemství existence data než o tato data přijít).

Ve skutečnosti je vždy vytvořeno 15 oddílů Shufflecake - uživatelské heslo je připojeno k používaným oddílům a nepoužívané oddíly jsou dodávány s náhodně generovaným heslem (není možné pochopit, kolik oddílů se skutečně používá). Když jsou oddíly Shufflecake inicializovány, disk, oddíl nebo virtuální blokové zařízení přidělené pro jejich umístění se zaplní náhodnými daty, což znemožňuje identifikaci metadat a dat Shufflecake na obecném pozadí.

Implementace Shufflecake má poměrně vysoký výkon, ale kvůli přítomnosti režie je přibližně dvakrát pomalejší v propustnosti ve srovnání s šifrováním disků založeným na subsystému LUKS. Použití Shufflecake má také za následek dodatečné náklady na RAM a diskový prostor pro ukládání servisních dat. Spotřeba paměti se odhaduje na 60 MB na oddíl a místo na disku na 1 % celkové velikosti. Pro srovnání, technika WORAM, podobného účelu, vede k 5 až 200násobnému zpomalení se 75% ztrátou využitelného místa na disku.

Sada nástrojů a modul jádra byly testovány pouze na Debianu a Ubuntu s jádry 5.13 a 5.15 (podporované na Ubuntu 22.04). Je třeba poznamenat, že projekt by měl být stále považován za funkční prototyp, který by neměl být používán k ukládání důležitý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.

Zdroj: opennet.ru

Přidat komentář