Publisearre Shufflecake, in toolkit foar it meitsjen fan ferburgen fersifere skiifpartysjes

Kudelski Security, in bedriuw foar feiligenskontrôle, hat de Shufflecake-toolkit publisearre, dy't it meitsjen fan ferburgen bestânssystemen mooglik makket, ferspraat oer beskikbere frije romte yn besteande partysjes en net te ûnderskieden fan willekeurige oerbleaune gegevens. De partysjes binne sa makke dat har bestean lestich te bewizen is sûnder de tagongssleutel te kennen, sels by forensyske analyze. De koade foar de hulpprogramma's (shufflecake-userland) en kernelmodule Linux (dm-sflc) is skreaun yn C en ferspraat ûnder de GPLv3-lisinsje, wat it ûnmooglik makket om in publisearre kernelmodule yn 'e haadkernel op te nimmen. Linux fanwegen ynkompatibiliteit mei de GPLv2-lisinsje wêrûnder de kernel ferspraat wurdt.

It projekt is posisjonearre as in mear avansearre oplossing foar it ferbergjen fan gegevens dy't beskerming nedich binne as Truecrypt en Veracrypt, dy't native platfoarmstipe hawwe. Linux It makket it mooglik om maksimaal 15 ferburgen partysjes op it apparaat te pleatsen, nestele om har bestean te ferbergjen. Hoewol it gebrûk fan Shufflecake sels gjin geheim is, lykas bygelyks kin wurde ôflaat troch de oanwêzigens fan 'e oerienkommende hulpprogramma's yn it systeem, is it totale oantal ferburgen partysjes dat makke is ûnmooglik te bepalen. De makke ferburgen partysjes kinne nei eigen goedtinken fan 'e brûker opmakke wurde om elk bestânsysteem te akkommodearjen, lykas ext4, xfs of btrfs. Elke partysje wurdt behannele as in apart firtueel blokapparaat mei syn eigen ûntskoattelsleutel.

Om de spoaren te betiizjen, wurdt it foarsteld om it gedrachsmodel "plausibele ûntkenning" te brûken, wêrfan de essinsje is dat weardefolle gegevens ferburgen binne as ekstra lagen yn fersifere seksjes mei minder weardefolle gegevens, en foarmje in soarte fan ferburgen hiërargy fan seksjes. Yn gefal fan druk kin de eigner fan it apparaat de kaai foar de fersifere partysje iepenbierje, mar oare partysjes (oant 15 nestele nivo's) kinne yn dizze partysje ferburgen wurde, en it bepalen fan har oanwêzigens en bewizen fan har bestean is problematysk.

Ferbergjen wurdt berikt troch it bouwen fan elke partysje as in set fan fersifere plakjes pleatst op willekeurige posysjes op it opslachapparaat. Elke slice wurdt dynamysk makke as ekstra opslachromte nedich is yn 'e partysje. Om analyze dreger te meitsjen, wurde plakjes fan ferskate seksjes ôfwiksele, d.w.s. Shufflecake-seksjes binne net keppele oan oanlizzende regio's en plakjes fan alle seksjes wurde mingd. Ynformaasje oer brûkte en frije plakjes wurdt opslein yn in lokaasjekaart dy't ferbûn is mei elke partysje, dy't ferwiisd wurdt troch in fersifere koptekst. De kaarten en koptekst binne fersifere en, sûnder de tagongskaai te witten, binne net te ûnderskieden fan willekeurige gegevens.

De koptekst is ferdield yn slots , elk fan dat definiearret syn eigen seksje en byhearrende plakjes. De slots yn 'e koptekst binne steapele en rekursyf keppele - it hjoeddeistige slot befettet de kaai om de parameters fan' e foarige seksje yn 'e hiërargy te ûntsiferjen (de minder ferburgen), wêrtroch ien wachtwurd kin wurde brûkt om alle minder ferburgen seksjes te ûntsiferjen dy't ferbûn binne mei de selektearre seksje. Elke minder ferburgen partysje behannelet de plakken fan nestele partysjes as fergees.

Standert hawwe alle Shufflecake-ûnderdielen deselde sichtbere grutte as de seksje op boppeste nivo. As d'r bygelyks trije partysjes binne op in 1 GB-apparaat, sil elk fan har sichtber wêze foar it systeem as in 1 GB-partysje en sil de totale beskikbere skiifromte dield wurde tusken alle partysjes - as de totale grutte fan 'e opsleine gegevens grutter is de eigentlike grutte fan it apparaat, it sil begjinne in I / O flater wurdt smiten.

Neste seksjes dy't net iepen binne dogge net mei oan romteferdieling, d.w.s. in besykjen om in partition op it heechste nivo te foljen sil resultearje yn dat gegevens fersnippere wurde yn nestede partysjes, mar sil it net mooglik meitsje om har oanwêzigens te iepenbierjen troch analyze fan 'e grutte fan' e gegevens dy't yn 'e partysje kinne pleatst wurde foardat de flater begjint (it wurdt oannommen dat de boppeste partysjes befetsje ûnferoarlike gegevens te ôfliede oandacht en nea apart wurde net brûkt, en regelmjittich wurk wurdt altyd útfierd mei de meast resinte nested seksje, it skema sels ymplisearret dat it is wichtiger om te behâlden it geheim fan it bestean fan gegevens dan dizze gegevens te ferliezen).

Yn feite wurde 15 Shufflecake-partysjes altyd oanmakke - it brûkerswachtwurd is hechte oan 'e brûkte partysjes, en de net brûkte partysjes wurde foarsjoen fan in willekeurich oanmakke wachtwurd (it is ûnmooglik om te begripen hoefolle partysjes werklik wurde brûkt). As Shufflecake partysjes wurde inisjalisearre, de skiif, partition, of firtuele blok apparaat tawiisd foar harren pleatsing is fol mei willekeurige gegevens, dat makket it ûnmooglik te identifisearjen Shufflecake metadata en gegevens tsjin de algemiene eftergrûn.

De Shufflecake-ymplemintaasje hat frij hege prestaasjes, mar troch de oanwêzigens fan overhead is it sawat twa kear sa stadich yn trochfier yn ferliking mei skiiffersifering basearre op it LUKS-subsysteem. It brûken fan Shufflecake resultearret ek yn ekstra kosten foar RAM en skiifromte foar it bewarjen fan tsjinstgegevens. Unthâld konsumpsje wurdt rûsd op 60 MB per partition, en skiif romte op 1% fan de totale grutte. Foar fergeliking liedt de WORAM-technyk, fergelykber yn doel, ta in fertraging fan 5 oant 200 kear mei in ferlies fan 75% fan brûkbere skiifromte.

De toolkit en kernelmodule binne allinich test doe't se útfierd waarden yn Debian и Ubuntu mei kernels 5.13 en 5.15 (stipet wurk yn Ubuntu 22.04 april). Der wurdt opmurken dat it projekt op it stuit beskôge wurde moat as in wurkjend prototype en net brûkt wurde moat foar it opslaan fan gefoelige gegevens. Fierdere optimalisaasjes foar prestaasjes, betrouberens en feiligens binne pland foar de takomst, lykas de mooglikheid om op te starten fan Shufflecake-partysjes.

Boarne: opennet.ru

Keapje betroubere hosting foar siden mei DDoS-beskerming, VPS VDS-tsjinners 🔥 Keapje betroubere websidehosting mei DDoS-beskerming, VPS VDS-tsjinners | ProHoster