Megjelent a Shufflecake, egy eszköz a titkosított, rejtett partíciók létrehozásához a lemezen

A Kudelski Security, a biztonsági auditálásra specializálódott vállalat, közzétette a Shufflecake eszközkészletet, amely lehetővé teszi rejtett fájlrendszerek létrehozását, amelyek a meglévő szabad helyre szétszóródnak a létező partíciókban, és nem különböztethetők meg a véletlenszerű maradék adatoktól. A partíciók úgy jönnek létre, hogy a hozzáférési kulcs ismerete nélkül még kriminális elemzés során is nehezen bizonyítható a létezésük. Az eszközök kódja (shufflecake-userland) és a Linux kernel modul (dm-sflc) C nyelven készült és GPLv3 licenc alatt terjesztik, ez megakadályozza az publikált kernel modulnak a Linux kernel fő összetétele általi integrálását a GPLv2 licenc miatt, amellyel a kernel rendelkezik.

A projekt a Truecrypt és Veracrypt megoldásainál fejlettebbként pozicionálja magát a védendő adatok elrejtésére, amely natív Linux támogatással rendelkezik, és lehetővé teszi akár 15 rejtett partíciót is elhelyezni egy eszközön, amelyek egymásba ágyazhatók, így megnehezítve a létezésük megállapítását. Míg a Shufflecake alkalmazása nem titok, amit például a megfelelő eszközök jelenléte a rendszeren bizonyít, a létrehozott rejtett partíciók összesített száma nem határozható meg. A létrehozott rejtett partíciók a felhasználó döntése szerint bármilyen fájlrendszerrel formázhatók, például ext4, xfs vagy btrfs. Minden partíciót külön virtuális blokkeszközként kezelnek a saját feloldókulcsával.

A nyomok elrejtéséhez a 'plausible deniability' (plausible deniabilitás) viselkedési modellt javasolják, amelynek lényege, hogy az értékes adatokat a kevésbé értékes adatokkal ellátott titkosított partíciókban rejtett rétegekként álcázzák, sajátos rejtett partícióhierarchiát alkotva. Nyomás alatt a készülék tulajdonosa felfedheti a titkosított partícióhoz tartozó kulcsot, de ezen a partíción belül további partíciók rejtőzhetnek (akár 15 beágyazott szinten), és a létezésük állapota és bizonyítása problémás.

A titkosítás a tárolóeszköz véletlenszerű helyein elhelyezett, titkosított szeletekből álló szakaszok létrehozásával biztosított. Minden egyes szelet dinamikusan jön létre, amikor egy szakaszban további tárolóhelyre van szükség. A szeletek keverése révén, hogy nehezebb legyen az elemzés, a különböző szakaszok szeletei felváltva jelennek meg, azaz a Shufflecake szakaszok nem kapcsolódnak folyamatos területekhez, és a szakaszok összes szelete összekeveredik. Az alkalmazott és szabad szeletek információját minden szakaszhoz tartozó elhelyezési térkép tárolja, amelyre a titkosított fejléc hivatkozik. A térképek és a fejléc titkosítva vannak, és a hozzáférési kulcs ismerete nélkül nem különböztethetők meg a véletlenszerű adatoktól.

A fejléc részekre van osztva, mindegyik a saját szakaszát és a hozzá kapcsolódó szeleteket határozza meg. A fejléc slotjai veremrendben helyezkednek el, és rekurzívan összekapcsolódnak - a jelenlegi slot tartalmaz egy kulcsot az előző, hierarchiában lévő (kevésbé rejtett) szakasz paramétereinek dekódolásához, lehetővé téve, hogy egy jelszóval dekódolhassuk az összes, a kiválasztott szakaszhoz kapcsolódó, kevésbé rejtett szakaszt. Minden kevésbé rejtett szakasz úgy tekinti a beágyazott szakaszok szeleteit, mint szabadokat.

Alapértelmezés szerint az összes beágyazott Shufflecake szakasz ugyanakkora látható mérettel rendelkezik, mint a legfelső szakasz. Például, ha egy 1 GB-os eszközön három szakasz található, akkor mindegyik 1 GB-os szakaszként jelenik meg a rendszer számára, és a teljes rendelkezésre álló tárolókapacitás közösen hasznosul az összes szakaszban - ha az összesen tárolt adatok mérete meghaladja az eszköz tényleges méretét, akkor bemeneti/kimeneti hibát jelez.

A fel nem nyitott almappák nem vesznek részt a helyelosztásban, azaz a felső szintű mappa kitöltési kísérlete adatfelülírást eredményez az almappákban, de nem ad lehetőséget a meglétük feltárására az ott elhelyezhető adatok méretének elemzése alapján, a hibaüzenet megjelenése előtt (feltételezve, hogy a felső szintű mappák változatlan adatokat tartalmaznak, hogy eltereljék a figyelmet, és soha nem használják őket külön-külön, a rendes munka mindig a legutolsó almappával történik; a rendszer úgy van megtervezve, hogy fontosabb a meglévő adatok titkának megőrzése, mint ezek elvesztése).

Valójában mindig 15 Shufflecake mappa jön létre — a használt mappákhoz felhasználói jelszó kapcsolódik, míg a nem használtakat véletlenszerűen generált jelszóval látják el (nem lehet megérteni, hogy valójában hány mappa van használatban). A Shufflecake mappák inicializálásakor a kijelölt lemez, mappa vagy virtuális blokk eszköz véletlenszerű adatokat kap, ami megnehezíti a metaadatok és a Shufflecake adatok azonosítását a háttérben.

A Shufflecake megvalósításának elég magas a teljesítménye, de a költségek miatt körülbelül kétszeres késlekedést mutat a LUKS-alapú lemezek titkosításával összehasonlítva. A Shufflecake alkalmazása egyben további memóriaköltségeket és tárolási helyigényt is jelent a lemezen tárolt segédadatok számára. A memória költségei körülbelül 60 MB-ra becsülhetők mappánként, míg a lemezen a helyigény 1% a teljes méretből. Összehasonlításképpen, a hasonló célú WORAM technika akár 5-200-szoros lassulást okozhat, a lemezen hasznos hely 75%-ának elvesztésével.

Az eszközök és a kernel modulja csak Debian és Ubuntu 5.13 és 5.15 kerneljein lett tesztelve (támogatott az Ubuntu 22.04 környezet). Megjegyzendő, hogy a projektet egyelőre mint munkaprototípust kell kezelni, amelyet nem érdemes fontos adatok tárolására használni. A jövőben tervezik a teljesítmény, megbízhatóság és biztonság további optimalizálását, valamint a Shufflecake mappákból való rendszerindítás lehetőségének biztosítását.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster