Ang Shufflecake, usa ka toolkit alang sa paghimo sa tinago nga naka-encrypt nga mga partisyon sa disk, gipatik

Ang kompanya sa pag-audit sa seguridad nga Kudelski Security nagpatik sa usa ka himan nga gitawag Shufflecake nga nagtugot kanimo sa paghimo sa mga tinago nga sistema sa file nga nagkatag sa magamit nga libre nga wanang sa mga naglungtad nga partisyon ug dili mailhan gikan sa random nga nahabilin nga datos. Ang mga partisyon gihimo sa paagi nga kung wala nahibal-an ang yawe sa pag-access, lisud nga pamatud-an ang ilang paglungtad bisan kung nagpahigayon og forensic analysis. Ang code sa mga utilities (shufflecake-userland) ug ang Linux kernel module (dm-sflc) gisulat sa C ug giapod-apod ubos sa GPLv3 nga lisensya, nga naghimo niini nga imposible nga ilakip ang gipatik nga kernel module sa main Linux kernel tungod sa incompatibility sa ang lisensya sa GPLv2 diin gihatag ang kernel.

Ang proyekto gipahimutang isip usa ka mas abante nga solusyon kay sa Truecrypt ug Veracrypt alang sa pagtago sa datos nga nagkinahanglan og proteksyon, nga adunay lumad nga suporta alang sa Linux nga plataporma ug nagtugot kanimo sa pagbutang sa 15 ka tinago nga mga partisyon sa device, nga nagsalag sa sulod sa usag usa aron malibog ang pag-parse. sa ilang pagkaanaa. Kung ang paggamit sa Shufflecake mismo dili usa ka sekreto, ingon nga mahukman, pananglitan, pinaagi sa presensya sa katugbang nga mga utilities sa sistema, nan ang kinatibuk-ang gidaghanon sa mga tinago nga partisyon nga gihimo dili matino. Ang gibuhat nga tinago nga mga partisyon mahimong ma-format sa pagkabuotan sa tiggamit aron ma-accommodate ang bisan unsang file system, pananglitan, ext4, xfs o btrfs. Ang matag partisyon giisip nga usa ka bulag nga virtual block device nga adunay kaugalingon nga unlock key.

Aron malibog ang mga pagsubay, gisugyot nga gamiton ang modelo sa pamatasan nga "katuohan nga pagdumili", ang esensya nga ang hinungdanon nga datos gitago ingon dugang nga mga lut-od sa mga naka-encrypt nga mga seksyon nga adunay dili kaayo bililhon nga datos, nga nagporma usa ka matang sa tinago nga hierarchy sa mga seksyon. Sa kaso sa presyur, ang tag-iya sa device mahimong magpadayag sa yawe sa naka-encrypt nga partisyon, apan ang ubang mga partisyon (hangtod sa 15 nested nga lebel) mahimong natago niini nga partisyon, ug ang pagtino sa ilang presensya ug pagmatuod sa ilang paglungtad usa ka problema.

Ang pagtago makab-ot pinaagi sa pagtukod sa matag partisyon isip usa ka hugpong sa mga naka-encrypt nga mga hiwa nga gibutang sa random nga mga posisyon sa storage device. Ang matag hiwa gihimo nga dinamikong kung gikinahanglan ang dugang nga espasyo sa pagtipig sa partisyon. Aron mas lisud ang pag-analisar, ang mga hiwa sa lainlaing mga seksyon gipuli-puli, i.e. Ang mga seksyon sa shufflecake dili konektado sa magkadugtong nga mga rehiyon ug ang mga hiwa gikan sa tanan nga mga seksyon gisagol. Ang kasayuran bahin sa gigamit ug libre nga mga hiwa gitipigan sa usa ka mapa sa lokasyon nga may kalabotan sa matag partisyon, nga gi-refer sa usa ka naka-encrypt nga header. Ang mga kard ug header gi-encrypt ug, nga wala nahibal-an ang yawe sa pag-access, dili mailhan gikan sa random nga datos.

Ang ulohan gibahin ngadto sa mga slots, ang matag usa niini naghubit sa kaugalingon nga seksyon ug kaubang mga hiwa. Ang mga slots sa header gi-stack ug recursively linked - ang kasamtangan nga slot naglangkob sa yawe sa pag-decrypt sa mga parameter sa miaging seksyon sa hierarchy (ang dili kaayo natago), nga nagtugot sa usa ka password nga gamiton sa pag-decrypt sa tanan nga dili kaayo natago nga mga seksyon nga nalangkit sa ang pinili nga seksyon. Ang matag dili kaayo tinago nga partisyon nagtratar sa mga hiwa sa nested partition nga libre.

Sa kasagaran, ang tanan nga Shufflecake subsection adunay parehas nga makita nga gidak-on sa top-level nga seksyon. Pananglitan, kung adunay tulo nga mga partisyon sa usa ka 1 GB nga aparato, ang matag usa niini makita sa sistema ingon usa ka partisyon nga 1 GB ug ang kinatibuk-ang magamit nga espasyo sa disk ipaambit sa tanan nga mga partisyon - kung ang kinatibuk-ang gidak-on sa gitipig nga datos molapas ang aktuwal nga gidak-on sa device, kini magsugod sa usa ka I/O sayop nga gilabay.

Ang mga nested nga seksyon nga dili bukas dili moapil sa alokasyon sa luna, i.e. usa ka pagsulay sa pagpuno sa usa ka top-level partition moresulta sa data nga shredded sa nested partitions, apan dili kini makahimo sa pagpadayag sa ilang presensya pinaagi sa pagtuki sa gidak-on sa data nga mahimong ibutang sa partition sa dili pa magsugod ang sayop (kini Gituohan nga ang ibabaw nga mga partisyon naglangkob sa dili mausab nga datos aron makabalda sa atensyon ug dili gayud magkalainlain nga dili gamiton, ug ang regular nga trabaho kanunay nga gihimo uban sa pinakabag-o nga nested nga seksyon, ang laraw mismo nagpasabot nga mas importante ang pagpadayon sa sekreto sa paglungtad sa data kaysa mawala kini nga datos).

Sa tinuud, ang 15 nga mga partisyon sa Shufflecake kanunay nga gihimo - ang password sa gumagamit gilakip sa gigamit nga mga partisyon, ug ang wala magamit nga mga partisyon gihatagan usa ka random nga nahimo nga password (imposible nga masabtan kung pila ang mga partisyon nga aktuwal nga gigamit). Kung ang mga partisyon sa Shufflecake gisugdan, ang disk, partition, o virtual block device nga gigahin alang sa ilang pagbutang napuno sa random nga datos, nga naghimo nga imposible nga mailhan ang metadata ug data sa Shufflecake batok sa kinatibuk-ang background.

Ang pagpatuman sa Shufflecake adunay medyo taas nga pasundayag, apan tungod sa presensya sa overhead, kini gibana-bana nga doble nga hinay sa throughput kumpara sa disk encryption base sa LUKS subsystem. Ang paggamit sa Shufflecake nagresulta usab sa dugang nga gasto alang sa RAM ug disk space alang sa pagtipig sa datos sa serbisyo. Ang konsumo sa panumduman gibanabana sa 60 MB matag partisyon, ug ang espasyo sa disk sa 1% sa kinatibuk-ang gidak-on. Alang sa pagtandi, ang teknik sa WORAM, susama sa katuyoan, mosangpot sa paghinay sa 5 ngadto sa 200 ka beses nga adunay 75% nga pagkawala sa magamit nga disk space.

Ang toolkit ug kernel module gisulayan lamang sa Debian ug Ubuntu nga adunay mga kernels 5.13 ug 5.15 (gisuportahan sa Ubuntu 22.04). Namatikdan nga ang proyekto kinahanglan pa nga isipon nga usa ka nagtrabaho nga prototype, nga dili kinahanglan gamiton sa pagtipig sa hinungdanon nga datos. Sa umaabot, nagplano kami nga maghimo og dugang nga mga pag-optimize alang sa pasundayag, kasaligan ug seguridad, ingon man paghatag og abilidad sa pag-boot gikan sa mga partisyon sa Shufflecake.

Source: opennet.ru

Idugang sa usa ka comment