S'ha publicat Shufflecake, un conjunt d'eines per crear particions de disc xifrades amagades

L'empresa d'auditoria de seguretat Kudelski Security ha publicat una eina anomenada Shufflecake que us permet crear sistemes de fitxers ocults repartits per l'espai lliure disponible a les particions existents i indistinguibles de les dades residuals aleatòries. Les particions es creen de tal manera que sense conèixer la clau d'accés, és difícil demostrar la seva existència fins i tot quan es realitza una anàlisi forense. El codi de les utilitats (shufflecake-userland) i el mòdul del nucli de Linux (dm-sflc) està escrit en C i distribuït sota la llicència GPLv3, fet que fa impossible incloure el mòdul del nucli publicat al nucli principal de Linux per incompatibilitat amb la llicència GPLv2 sota la qual es subministra el nucli.

El projecte es posiciona com una solució més avançada que Truecrypt i Veracrypt per amagar dades que requereixen protecció, que té suport natiu per a la plataforma Linux i permet col·locar fins a 15 particions ocultes al dispositiu, imbricades una dins de l'altra per confondre l'anàlisi. de la seva existència. Si l'ús de Shufflecake en si no és un secret, com es pot jutjar, per exemple, per la presència de les utilitats corresponents al sistema, no es pot determinar el nombre total de particions ocultes creades. Les particions ocultes creades es poden formatar a criteri de l'usuari per adaptar-se a qualsevol sistema de fitxers, per exemple, ext4, xfs o btrfs. Cada partició es tracta com un dispositiu de bloc virtual independent amb la seva pròpia clau de desbloqueig.

Per confondre les traces, es proposa utilitzar el model de comportament de "negació plausible", l'essència del qual és que les dades valuoses s'amaguen com a capes addicionals en seccions xifrades amb dades menys valuoses, formant una mena de jerarquia oculta de seccions. En cas de pressió, el propietari del dispositiu pot revelar la clau de la partició xifrada, però altres particions (fins a 15 nivells imbricats) poden estar amagades en aquesta partició, i determinar la seva presència i demostrar la seva existència és problemàtic.

L'amagat s'aconsegueix construint cada partició com un conjunt de porcions xifrades col·locades en posicions aleatòries al dispositiu d'emmagatzematge. Cada porció es crea dinàmicament quan es necessita espai d'emmagatzematge addicional a la partició. Per dificultar l'anàlisi, s'alternen rodanxes de diferents seccions, és a dir. Les seccions Shufflecake no estan enllaçades a regions contigües i les rodanxes de totes les seccions es barregen. La informació sobre les llesques utilitzades i lliures s'emmagatzema en un mapa d'ubicacions associat a cada partició, al qual es fa referència amb una capçalera xifrada. Les targetes i la capçalera estan xifrades i, sense conèixer la clau d'accés, no es poden distingir de les dades aleatòries.

La capçalera es divideix en ranures, cadascuna de les quals defineix la seva pròpia secció i les seccions associades. Les ranures de la capçalera s'apilen i s'enllacen de manera recursiva: la ranura actual conté la clau per desxifrar els paràmetres de la secció anterior a la jerarquia (la menys oculta), permetent que s'utilitzi una contrasenya per desxifrar totes les seccions menys ocultes associades amb la secció seleccionada. Cada partició menys oculta tracta les parts de les particions imbricades com a lliures.

Per defecte, totes les subseccions de Shufflecake tenen la mateixa mida visible que la secció de nivell superior. Per exemple, si hi ha tres particions en un dispositiu d'1 GB, cadascuna d'elles serà visible per al sistema com una partició d'1 GB i l'espai total disponible en disc es compartirà entre totes les particions, si la mida total de les dades emmagatzemades supera. la mida real del dispositiu, s'iniciarà un error d'E/S.

Les seccions niuades que no estan obertes no participen en l'assignació d'espai, és a dir. un intent d'omplir una partició de nivell superior provocarà que les dades es trituren en particions imbricades, però no permetrà revelar la seva presència mitjançant l'anàlisi de la mida de les dades que es poden col·locar a la partició abans que comenci l'error (és se suposa que les particions superiors contenen dades immutables per distreure l'atenció i mai per separat no s'utilitzen, i el treball regular sempre es realitza amb la secció imbricada més recent, l'esquema en si implica que és més important mantenir el secret de l'existència de dades que perdre aquestes dades).

De fet, sempre es creen 15 particions Shufflecake: la contrasenya d'usuari s'adjunta a les particions utilitzades i les particions no utilitzades es proporcionen amb una contrasenya generada aleatòriament (és impossible entendre quantes particions s'utilitzen realment). Quan s'inicialitzen les particions de Shufflecake, el disc, la partició o el dispositiu de bloc virtual assignat per a la seva col·locació s'omple de dades aleatòries, cosa que fa impossible identificar les metadades i les dades de Shufflecake en un context general.

La implementació de Shufflecake té un rendiment bastant alt, però a causa de la presència de sobrecàrrega, és aproximadament el doble de lent en el rendiment en comparació amb el xifratge de disc basat en el subsistema LUKS. L'ús de Shufflecake també comporta costos addicionals per a la memòria RAM i l'espai en disc per emmagatzemar dades de servei. El consum de memòria s'estima en 60 MB per partició i l'espai en disc a l'1% de la mida total. En comparació, la tècnica WORAM, de propòsit similar, condueix a una desacceleració de 5 a 200 vegades amb una pèrdua del 75% d'espai de disc utilitzable.

El conjunt d'eines i el mòdul del nucli només s'han provat a Debian i Ubuntu amb els nuclis 5.13 i 5.15 (admès a Ubuntu 22.04). Cal assenyalar que el projecte encara s'ha de considerar com un prototip de treball, que no s'ha d'utilitzar per emmagatzemar dades importants. En el futur, tenim previst fer optimitzacions addicionals per al rendiment, la fiabilitat i la seguretat, així com oferir la possibilitat d'arrencar des de les particions de Shufflecake.

Font: opennet.ru

Afegeix comentari