Shufflecake, 'n gereedskapstel vir die skep van verborge geënkripteerde skyfpartisies, is gepubliseer

Die sekuriteitsouditmaatskappy Kudelski Security het 'n instrument genaamd Shufflecake gepubliseer wat jou toelaat om verborge lêerstelsels te skep wat oor die beskikbare vrye spasie op bestaande partisies versprei is en nie onderskei kan word van ewekansige oorblywende data nie. Afskortings word op so 'n manier geskep dat dit moeilik is om hul bestaan ​​te bewys sonder om die toegangsleutel te ken, selfs wanneer forensiese ontleding gedoen word. Die kode van die nutsprogramme (shufflecake-userland) en die Linux-kernmodule (dm-sflc) is in C geskryf en versprei onder die GPLv3-lisensie, wat dit onmoontlik maak om die gepubliseerde kernmodule in die hoof Linux-kern in te sluit as gevolg van onversoenbaarheid met die GPLv2-lisensie waaronder die kern verskaf word.

Die projek is geposisioneer as 'n meer gevorderde oplossing as Truecrypt en Veracrypt vir die wegsteek van data wat beskerming vereis, wat inheemse ondersteuning vir die Linux-platform het en jou toelaat om tot 15 versteekte partisies op die toestel te plaas, binne-in mekaar geneste om die ontleding te verwar. van hul bestaan. As die gebruik van Shufflecake self nie 'n geheim is nie, soos byvoorbeeld beoordeel kan word deur die teenwoordigheid van die ooreenstemmende nutsprogramme in die stelsel, kan die totale aantal verborge partisies wat geskep is, nie bepaal word nie. Die geskepte verborge partisies kan geformateer word volgens die gebruiker se diskresie om enige lêerstelsel te akkommodeer, byvoorbeeld ext4, xfs of btrfs. Elke partisie word as 'n aparte virtuele bloktoestel met sy eie ontsluitsleutel hanteer.

Om die spore te verwar, word voorgestel om die "aanvaarbare ontkenbaarheid"-gedragsmodel te gebruik, waarvan die essensie is dat waardevolle data versteek word as bykomende lae in geënkripteerde afdelings met minder waardevolle data, wat 'n soort versteekte hiërargie van afdelings vorm. In die geval van druk, kan die eienaar van die toestel die sleutel tot die geënkripteerde partisie openbaar, maar ander partisies (tot 15 geneste vlakke) kan in hierdie partisie versteek word, en om hul teenwoordigheid te bepaal en hul bestaan ​​te bewys, is problematies.

Versteek word verkry deur elke partisie te bou as 'n stel geënkripteerde skywe wat op willekeurige posisies op die stoortoestel geplaas word. Elke sny word dinamies geskep wanneer bykomende stoorplek in die partisie benodig word. Om ontleding moeiliker te maak, word skywe van verskillende afdelings afgewissel, m.a.w. Skommelkoekafdelings is nie aan aangrensende streke gekoppel nie en snye van alle afdelings word gemeng. Inligting oor gebruikte en gratis skywe word gestoor in 'n liggingkaart wat met elke partisie geassosieer word, waarna verwys word deur 'n geënkripteerde kop. Die kaarte en kopskrif is geïnkripteer en, sonder om die toegangsleutel te ken, is dit nie te onderskei van ewekansige data nie.

Die kopskrif is in gleuwe verdeel, wat elkeen sy eie afdeling en gepaardgaande snye definieer. Die gleuwe in die kopskrif is gestapel en rekursief gekoppel - die huidige gleuf bevat die sleutel om die parameters van die vorige afdeling in die hiërargie te dekripteer (die minder versteekte een), wat toelaat dat een wagwoord gebruik kan word om al die minder versteekte afdelings wat verband hou met die gekose afdeling. Elke minder versteekte partisie behandel die snye van geneste partisies as gratis.

By verstek het alle Shufflecake-onderafdelings dieselfde sigbare grootte as die topvlak-afdeling. Byvoorbeeld, as daar drie partisies op 'n 1 GB toestel is, sal elkeen van hulle sigbaar wees vir die stelsel as 'n 1 GB partisie en die totale beskikbare skyfspasie sal tussen alle partisies gedeel word - as die totale grootte van die gestoorde data oorskry die werklike grootte van die toestel, sal dit begin 'n I/O fout word gegooi.

Geneste afdelings wat nie oop is nie, neem nie deel aan spasietoewysing nie, m.a.w. 'n poging om 'n topvlak partisie te vul sal daartoe lei dat data in geneste partisies versnipper word, maar sal dit nie moontlik maak om hul teenwoordigheid te openbaar deur ontleding van die grootte van die data wat in die partisie geplaas kan word voordat die fout begin nie (dit word aanvaar dat die boonste partisies onveranderlike data bevat om aandag af te lei en nooit afsonderlik gebruik word nie, en gereelde werk word altyd uitgevoer met die mees onlangse geneste afdeling, impliseer die skema self dat dit belangriker is om die geheim van die bestaan ​​van data as om hierdie data te verloor).

Trouens, 15 Shufflecake-partisies word altyd geskep - die gebruikerswagwoord word aan die gebruikte partisies geheg, en die ongebruikte partisies word van 'n ewekansige gegenereerde wagwoord voorsien (dit is onmoontlik om te verstaan ​​hoeveel partisies werklik gebruik word). Wanneer Shufflecake-partisies geïnisialiseer word, word die skyf, partisie of virtuele bloktoestel wat vir hul plasing toegeken is, gevul met ewekansige data, wat dit onmoontlik maak om Shufflecake-metadata en -data teen die algemene agtergrond te identifiseer.

Die Shufflecake-implementering het redelik hoë werkverrigting, maar as gevolg van die teenwoordigheid van bokoste, is dit ongeveer twee keer so stadig in deurset in vergelyking met skyfkodering gebaseer op die LUKS-substelsel. Die gebruik van Shufflecake lei ook tot bykomende koste vir RAM en skyfspasie vir die stoor van diensdata. Geheueverbruik word geskat op 60 MB per partisie, en skyfspasie op 1% van die totale grootte. Ter vergelyking, die WORAM-tegniek, soortgelyk in doel, lei tot 'n verlangsaming van 5 tot 200 keer met 'n verlies van 75% aan bruikbare skyfspasie.

Die gereedskapstel en kernmodule is slegs op Debian en Ubuntu getoets met kerns 5.13 en 5.15 (ondersteun op Ubuntu 22.04). Daar word kennis geneem dat die projek steeds as 'n werkende prototipe beskou moet word, wat nie gebruik moet word om belangrike data te stoor nie. Ons beplan om in die toekoms bykomende optimaliserings te maak vir werkverrigting, betroubaarheid en sekuriteit, asook om die vermoë te bied om vanaf Shufflecake-partisies te begin.

Bron: opennet.ru

Voeg 'n opmerking