Kompania Kudelski Security, e specializuar në auditimin e sigurisë, publikoi mjetin Shufflecake, i cili lejon krijimin e sistemeve të fshehura të skedarëve, të shpërndara në hapësirën e lirë ekzistuese në partitë aktuale dhe të pa dallueshme nga të dhënat rastësore mbetëse. Partitë krijohen në një mënyrë që, pa ditur çelësin e aksesit, është problematike të provohet ekzistenca e tyre, madje edhe nëse bëhet një analizë kriminalistike. Kodi i utilites (shufflecake-userland) dhe modulit të bërthamës Linux (dm-sflc) është shkruar në gjuhën C dhe distribuohet nën licencën GPLv3, e cila e bën të pamundur përfshirjen e modulit të publikuar në bërthamën kryesore të Linux-it për shkak të papërputhshmërisë me licencën GPLv2, nën të cilën ofrohet bërthama.
Projekti pozicionohet si njĂ« zgjidhje mĂ« e avancuar se Truecrypt dhe Veracrypt pĂ«r fshehjen e tĂ« dhĂ«nave qĂ« kĂ«rkojnĂ« mbrojtje, e cila ka mbĂ«shtetje native pĂ«r platformĂ«n Linux dhe lejon vendosjen e deri nĂ« 15 partish tĂ« fshehura nĂ« njĂ« pajisje, tĂ« ndĂ«rlikuara njĂ«ra me tjetrĂ«n pĂ«r tĂ« ngatĂ«rruar analizĂ«n e ekzistencĂ«s sĂ« tyre. NĂ«se aplikimi i vetĂ« Shufflecake-it nuk paraqet njĂ« sekret, siç mund tĂ« gjykohet nga pranija nĂ« sistem e utiliteteve pĂ«rkatĂ«se, numri total i partive tĂ« krijuara tĂ« fshehura Ă«shtĂ« e pamundur tĂ« pĂ«rcaktohet. PartitĂ« e fshehura tĂ« krijuara mund tĂ« formatojnĂ« sipas dĂ«shirĂ«s sĂ« pĂ«rdoruesit pĂ«r tĂ« vendosur çdo FS, siç janĂ« ext4, xfs ose btrfs. Ădo parti trajtohet si njĂ« pajisje virtuale e veçantĂ« blloku me çelĂ«sin e saj pĂ«r çeljen.
Për të ngatërruar gjurmët, propozohet përdorimi i modelit të sjelljes "mohuese e besueshme" (plausible deniability), e cila ka në thelb që të dhënat me vlerë të fshehen si shtresa shtesë në partitë e enkriptuara me të dhëna më pak të vlefshme, duke formuar një hierarki të fshehur të partive. Në rast presioni, pronari i pajisjes mund të zgjidhë çelësin për partinë e enkriptuar, por në këtë parti mund të fshihen parti të tjera (deri në 15 nivele të ndërlikuara), dhe të përcaktosh ekzistencën e tyre dhe të provosh ekzistencën e tyre është problematike.
Fshehja sigurohet pĂ«rmes formimit tĂ« çdo seksioni si njĂ« grupi tĂ« shllizave tĂ« enkriptuara, tĂ« vendosura nĂ« pozita tĂ« rastit nĂ« pajisjen e ruajtjes. Ădo shlliz krijohet dinamikisht nĂ« momentin kur nĂ« seksion nevojitet hapĂ«sirĂ« shtesĂ« pĂ«r ruajtje. PĂ«r tĂ« vĂ«shtirĂ«suar analizĂ«n, shllizat e seksioneve tĂ« ndryshme alternohen, pra seksionet Shufflecake nuk lidhen me zona tĂ« vazhdueshme dhe shllizat e tĂ« gjitha seksioneve pĂ«rzihen. Informacioni mbi shllizat e pĂ«rdorura dhe ato tĂ« lira ruhet nĂ« njĂ« hartĂ« lokacioni tĂ« lidhur me secilin seksion, e cila referohet nĂ« kokĂ«n e enkriptuar. Hartat dhe koka janĂ« tĂ« enkriptuara dhe pa njohjen e çelĂ«sit tĂ« qasjes nuk janĂ« tĂ« dallueshme nga tĂ« dhĂ«nat e rastĂ«sishme.
Koka Ă«shtĂ« e ndarĂ« nĂ« slot, secila prej tĂ« cilave pĂ«rcakton seksionin e vet dhe shllizat qĂ« lidhen me tĂ«. Slotet nĂ« kokĂ« janĂ« tĂ« vendosura nĂ« rend tĂ« stack dhe lidhen nĂ« mĂ«nyrĂ« rekursive - slot-i aktual pĂ«rmban çelĂ«sin pĂ«r tĂ« dekriptuar parametrat e seksionit paraprak nĂ« hierarkinĂ« (mĂ« pak tĂ« fshehur), duke lejuar pĂ«rdorimin e njĂ« fjalĂ«kalimi pĂ«r tĂ« dekriptuar tĂ« gjitha seksionet mĂ« pak tĂ« fshehura, tĂ« lidhura me seksionin e zgjedhur. Ădo seksion mĂ« pak tĂ« fshehur e konsideron shllizat e seksioneve tĂ« ngulitura si tĂ« lira.
Në mënyrë të parazgjedhur, të gjitha seksionet e ngulitura të Shufflecake kanë të njëjtin madhësi të dukshme si seksi i nivelit superior. Për shembull, nëse në një pajisje me madhësi 1 GB janë aktivizuar tre seksione, secili prej tyre do të duket për sistemin si një seksion me madhësi 1 GB dhe hapësira totale e ruajtjes së diskut do të ndahet mes të gjitha seksioneve - nëse përmbledhtazi madhësia e të dhënave të ruajtura tejkalon madhësinë reale të pajisjes, do të fillojë të shfaqet një gabim inputi/akses.
Ndërmarrjet e pambikqyrura nuk marrin pjesë në shpërndarjen e hapësirës, pra, përpjekja për të mbushur një ndarje të nivelit të lartë do të çojë në fshirjen e të dhënave në ndarjet e brendshme, por nuk do të ofrojë mundësinë për të zbuluar ekzistencën e tyre përmes analizës së madhësisë së të dhënave që do të vendosen në ndarje para fillimit të shfaqjes së gabimit (supozimi është se ndarjet e larta përmbajnë të dhëna të pandryshueshme për të shpërqendruar vëmendjen dhe kurrë nuk përdoren veçmas, ndërsa puna normale kryhet gjithmonë me ndarjen e fundit të brendshme, skema vetë nënkupton se është më e rëndësishme të ruhet sekreti i ekzistencës së të dhënave sesa të humbasin këto të dhëna).
NĂ« fakt, gjithmonĂ« krijohen 15 ndarje Shufflecake â ndarjet e pĂ«rdorura lidhen me fjalĂ«kalimin e pĂ«rdoruesit, ndĂ«rsa ndarjet e papĂ«rdorura pajisen me njĂ« fjalĂ«kalim tĂ« gjeneruar rastĂ«sisht (nuk Ă«shtĂ« e mundur tĂ« kuptohet se sa ndarje reale pĂ«rdoren). Kur inicializohen ndarjet Shufflecake, disku i caktuar pĂ«r vendosjen e tyre, ndarja ose pajisja virtuale e bllokut mbushet me tĂ« dhĂ«na rastĂ«sore, çka nuk lejon tĂ« pĂ«rcaktohet nga sfondi i zakonshĂ«m metadatet dhe tĂ« dhĂ«nat e Shufflecake.
Implementimi i Shufflecake ka një performancë mjaft të lartë, por për shkak të prirjeve të mbetjeve, është rreth dy herë më i ngadalshëm në kapacitet në krahasim me enkriptimin e disqeve të bazuar në nënndërskaktin LUKS. Përdorimi i Shufflecake gjithashtu çon në shpenzime të shtesave të memories dhe hapësirës për ruajtjen e të dhënave shërbyese në disk. Shpenzimet e memories vlerësohen në 60 MB për çdo ndarje, ndërsa hapësira në disk në 1% të madhësisë totale. Për krahasim, teknika alternative WOAM çon në ngadalësim nga 5 deri në 200 herë me humbje 75% të hapësirës së dobishme në disk.
Mjeti dhe moduli i bërthamës janë testuar vetëm gjatë punës në Debian dhe Ubuntu me bërthamat 5.13 dhe 5.15 (përkrah punën në Ubuntu 22.04). Vërehet se projekti aktualisht duhet të konsiderohet si një prototip funksional, i cili nuk rekomandohet për ruajtjen e të dhënave të rëndësishme. Në të ardhmen, planifikohet të kryhen optimizime të mëtejshme për performancën, qëndrueshmërinë dhe sigurinë, si dhe të bëhet e mundur ngarkimi nga ndarjet Shufflecake.
Burimi: opennet.ru
