Julkaistu Shufflecake, työkalupakki piilotettujen salattujen levyosioiden luomiseen

Tietoturvatarkastusyritys Kudelski Security on julkaissut Shufflecake-työkalupakin, jonka avulla voidaan luoda piilotettuja tiedostojärjestelmiä, jotka on jaettu olemassa olevien osioiden vapaaseen tilaan ja joita ei voida erottaa satunnaisista jäännöstiedoista. Osiot on luotu siten, että niiden olemassaoloa on vaikea todistaa tietämättä käyttöoikeutta edes rikosteknisen analyysin aikana. Apuohjelmien (shufflecake-userland) ja ydinmoduulin koodi... Linux (dm-sflc) on kirjoitettu C-kielellä ja jaettu GPLv3-lisenssillä, mikä tekee julkaistun ytimen moduulin sisällyttämisen pääytimeen mahdottomaksi. Linux yhteensopimattomuuden vuoksi GPLv2-lisenssin kanssa, jonka nojalla ydintä jaellaan.

Projekti on sijoitettu edistyneemmäksi ratkaisuksi suojausta vaativien tietojen piilottamiseen kuin Truecrypt ja Veracrypt, joilla on natiivi alustatuki. Linux Se mahdollistaa jopa 15 piilotetun osion sijoittamisen laitteelle sisäkkäin niiden olemassaolon hämärtämiseksi. Vaikka Shufflecaken käyttö itsessään ei ole salaisuus, kuten esimerkiksi järjestelmässä olevien vastaavien apuohjelmien perusteella voidaan päätellä, luotujen piilotettujen osioiden kokonaismäärää on mahdotonta määrittää. Luodut piilotetut osiot voidaan käyttäjän harkinnan mukaan muotoilla sopimaan mihin tahansa tiedostojärjestelmään, kuten ext4, xfs tai btrfs. Kutakin osiota käsitellään erillisenä virtuaalisena lohkolaitteena, jolla on oma lukituksen avausavain.

Jälkien hämmentämiseksi ehdotetaan käytettäväksi "todennäköisen kiellettävyyden" käyttäytymismallia, jonka ydin on, että arvokasta tietoa piilotetaan lisäkerroksina salattuihin osioihin, joissa on vähemmän arvokasta tietoa, muodostaen eräänlaisen piilotetun osien hierarkian. Painetilanteessa laitteen omistaja voi paljastaa salatun osion avaimen, mutta muut osiot (enintään 15 sisäkkäistä tasoa) voivat olla piilossa tähän osioon, ja niiden olemassaolon määrittäminen ja olemassaolon todistaminen on ongelmallista.

Piilottaminen saavutetaan rakentamalla jokainen osio salattujen osien joukkona, jotka on sijoitettu satunnaisiin paikkoihin tallennuslaitteessa. Jokainen viipale luodaan dynaamisesti, kun osiossa tarvitaan lisää tallennustilaa. Analysoinnin vaikeuttamiseksi vuorottelevat eri osien viipaleita, ts. Shufflecake-osia ei ole linkitetty vierekkäisiin alueisiin ja viipaleita kaikista osista sekoitetaan. Tiedot käytetyistä ja vapaista osista tallennetaan kuhunkin osioon liittyvään sijaintikarttaan, johon viitataan salatulla otsikolla. Kortit ja otsikko ovat salattuja, ja niitä ei voi erottaa satunnaisista tiedoista ilman pääsyavainta.

Otsikko on jaettu aikaväleihin, joista jokainen määrittelee oman osuutensa ja siihen liittyvät viipaleet. Otsikon paikat on pinottu ja linkitetty rekursiivisesti - nykyinen paikka sisältää avaimen hierarkian edellisen osion parametrien salauksen purkamiseen (vähemmän piilotettu), jolloin yhdellä salasanalla voidaan purkaa kaikki vähemmän piilotetut osiot, jotka liittyvät valittu osio. Jokainen vähemmän piilotettu osio käsittelee sisäkkäisten osioiden osioita vapaina.

Oletusarvoisesti kaikilla Shufflecake-alaosastoilla on sama näkyvä koko kuin ylätason osiolla. Jos esimerkiksi 1 Gt:n laitteessa on kolme osiota, jokainen niistä näkyy järjestelmälle 1 Gt:n osiona ja käytettävissä oleva kokonaislevytila ​​jaetaan kaikkien osioiden kesken - jos tallennetun tiedon kokonaiskoko ylittää laitteen todellisen koon mukaan, se käynnistää I/O-virheilmoituksen.

Sisäkkäiset osiot, jotka eivät ole auki, eivät osallistu tilanjakoon, ts. yritys täyttää ylätason osio johtaa siihen, että tiedot pilkotaan sisäkkäisiin osioihin, mutta niiden läsnäoloa ei voida paljastaa analysoimalla niiden tietojen kokoa, jotka voidaan sijoittaa osioon ennen virheen alkamista (se oletetaan, että ylemmät osiot sisältävät muuttumatonta dataa huomion kääntämiseksi, eikä niitä koskaan käytetä erikseen, ja säännöllistä työtä tehdään aina viimeisimmän sisäkkäisen osion kanssa, itse kaavio tarkoittaa, että on tärkeämpää säilyttää salaisuus tietoja kuin menettää nämä tiedot).

Itse asiassa 15 Shufflecake-osiota luodaan aina - käyttäjän salasana liitetään käytettyihin osioihin, ja käyttämättömät osiot toimitetaan satunnaisesti luodulla salasanalla (on mahdotonta ymmärtää kuinka monta osiota todella käytetään). Kun Shufflecake-osiot alustetaan, niiden sijoittamiseen varattu levy, osio tai virtuaalilohkolaite täytetään satunnaisella tiedolla, mikä tekee mahdottomaksi tunnistaa Shufflecake-metatietoja ja tietoja yleistä taustaa vasten.

Shufflecake-toteutuksen suorituskyky on melko korkea, mutta ylikuormituksen vuoksi sen suorituskyky on noin kaksi kertaa hitaampi verrattuna LUKS-alijärjestelmään perustuvaan levysalaukseen. Shufflecaken käyttö aiheuttaa myös lisäkustannuksia RAM-muistista ja levytilasta palvelutietojen tallentamiseen. Muistin kulutuksen arvioidaan olevan 60 Mt per osio ja levytilaa 1 % kokonaiskoosta. Vertailun vuoksi, WORAM-tekniikka, jonka tarkoitus on samanlainen, johtaa 5-200-kertaiseen hidastumiseen ja 75 %:n käyttökelpoisen levytilan menetykseen.

Työkalupakkia ja ydinmoduulia on testattu vain ajettaessa Debian и Ubuntu ytimien versioilla 5.13 ja 5.15 (tukee työskentelyä Ubuntu 22.04. huhtikuuta). On huomattava, että projektia tulisi tällä hetkellä pitää toimivana prototyyppinä eikä sitä tulisi käyttää arkaluonteisten tietojen tallentamiseen. Tulevaisuudessa suunnitellaan lisää suorituskyvyn, luotettavuuden ja tietoturvan optimointeja, samoin kuin mahdollisuutta käynnistää Shufflecake-osioista.

Lähde: opennet.ru

Osta luotettava isännöinti sivustoille, joissa on DDoS-suojaus, VPS VDS -palvelimet 🔥 Osta luotettavaa verkkosivustojen hostingia DDoS-suojauksella, VPS VDS -palvelimilla | ProHoster