Shufflecake, ett verktyg för att skapa dolda volymer

shufflecake

Shufflecake är ett verktyg för Linux som tillåter skapandet av flera dolda volymer på en lagringsenhet på ett sådant sätt att det är mycket svårt, även under rättsmedicinsk inspektion, att bevisa förekomsten av sådana volymer.

Säkerhetsrevisionsföretaget Kudelski Security har släppt verktygsuppsättningen Shufflecake , som möjliggör skapandet av dolda filsystem fördelade över tillgängligt ledigt utrymme på befintliga partitioner, omöjliga att skilja från slumpmässiga restdata. Dessa sektioner är skapade på ett sådant sätt att det är problematiskt att bevisa deras existens utan att känna till åtkomstnyckeln, även under forensisk analys.

Projektet positionerar sig som en mer avancerad lösning än Truecrypt och Veracrypt för att dölja konfidentiell data, erbjuder inbyggt stöd för Linux-plattformen och låter dig placera upp till 15 dolda partitioner på enheten, kapslade i varandra för att dölja analysen av deras existens.

De dolda partitioner som skapas kan , efter användarens gottfinnande, formateras för att passa alla filsystem, till exempel ext4, xfs eller btrfs. Varje partition behandlas som en oberoende virtuell blockenhet med sin egen upplåsningsnyckel.

För att dölja spår föreslås beteendemodellen "plausible deniability" (trolig förnekelse). I huvudsak döljs värdefulla data som ytterligare lager inom krypterade sektioner som innehåller mindre värdefulla data, vilket bildar en slags dold hierarki av sektioner. Under press kan enhetsägaren avslöja nyckeln till den krypterade sektionen, men andra sektioner (upp till 15 kapslade nivåer) kan döljas inom den, vilket gör det svårt att fastställa deras närvaro och bevisa deras existens.

Shufflecake och kärnmodulen har endast testats på Debian och Ubuntu med kärnor 5.13 och 5.15 (Ubuntu 22.04 stöds). Det bör noteras att projektet fortfarande bör betraktas som en fungerande prototyp och inte bör användas för att lagra känsliga data.

I framtiden planerar vi att göra ytterligare optimeringar för prestanda, tillförlitlighet och säkerhet, samt tillhandahålla möjligheten att starta från Shufflecake-partitioner.

Om Shufflecake

Doldning uppnås genom att varje partition formas som en uppsättning krypterade segment placerade på slumpmässiga positioner på lagringsenheten. Varje segment skapas dynamiskt när partitionen kräver ytterligare lagringsutrymme. För att komplicera analysen sammanflätas skivor från olika sektioner.

Shufflecake-sektioner är inte kopplade till sammanhängande regioner, och delar från alla sektioner blandas ihop. Information om de använda och de fria delarna lagras i platskartan som är bifogad till varje avsnitt, som refereras till av den krypterade rubriken. Korten och rubriken är krypterade och går inte att skilja från slumpmässiga data utan att känna till lösenordet.

Rubriken är uppdelad i platser , som var och en definierar sin egen sektion och tillhörande sektorer. Platserna i rubriken är staplade och rekursivt länkade: den aktuella platsen innehåller nyckeln för att dekryptera parametrarna för den föregående (mindre dolda) sektionen i hierarkin, vilket gör att ett enda lösenord kan dekryptera alla mindre dolda sektioner som är associerade med det valda objektet. Varje mindre dold sektion behandlar delar av kapslade sektioner som lediga.

Som standard har alla kapslade Shufflecake-partitioner samma synliga storlek som partitionen på översta nivån. Om till exempel tre partitioner används på en 1 GB-enhet kommer var och en att vara synlig för systemet som en 1 GB-partition, och det totala tillgängliga diskutrymmet kommer att delas mellan alla partitioner. Om den totala mängden lagrad data överstiger den faktiska enhetsstorleken kommer I/O-fel att börja uppstå.

Oöppnade kapslade avsnitt deltar inte i utrymmesallokering; det vill säga, ett försök att fylla ett avsnitt på högre nivå kommer att skriva över data i de kapslade avsnitten, men kommer inte att avslöja deras närvaro genom analys av storleken på de data som kan placeras i avsnittet innan ett fel genereras (det antas att avsnitten på högre nivå innehåller oföränderliga data). Data används inte av en slump och aldrig separat, och regelbundet arbete utförs alltid med det senaste kapslade avsnittet; själva schemat antyder att det viktigaste är att hålla datas existens hemlig, även på bekostnad av att förlora data.

Shufflecake-implementeringen erbjuder relativt hög prestanda, men på grund av omkostnader presterar den ungefär hälften så bra som diskkryptering baserad på LUKS-undersystemet. Användning av Shufflecake medför också ytterligare RAM- och diskutrymmeskostnader för lagring av servicedata. Minneskostnaderna uppskattas till 60 MB per partition , och diskutrymmesanvändningen uppskattas till 1 % av den totala partitionsstorleken. Som jämförelse resulterar den liknande ändamålsenliga WORAM-tekniken i en 5- till 200-faldig nedgång med en 75 % förlust av användbart diskutrymme.

Koden för verktygen (shufflecake-userland) och Linux-kärnmodulen (dm-sflc) är skriven i C och släpps under GPLv3-licensen, vilket gör det omöjligt att inkludera den publicerade kärnmodulen i Linux-huvudkärnan. på grund av inkompatibilitet under GPLv2-licensen under vilken kärnan skickas.

Om du är intresserad av att lära dig mer kan du hitta detaljerna på följande länk.


Lägg till som prioriterad källa i Google