L’empresa de auditoría de seguridad Kudelski Security dio a conocer el conjunto de herramientas Shufflecake, que permite crear sistemas de archivos ocultos that se distribuyen in el espacio libre available in thes particiones existes y no se pueden distinguir de los datos residuees aleatorios. Las secciones se crean de tal manera que sin conocer la clave de acceso, es problemático probar su existencia incluso cuando se realiza un análisis forense.
Le projet se posiciona como una solución más avanzada que Truecrypt y Veracrypt para ocultar datos confidenciales, que tiene soporte nativo para la plataforma Linux y le permite colocar hasta 15 particionees ocultas en el dispositivo, anidadas entre sí para ofuscar el análisis de su existencia.
Les parties occultes creadasune discrétion de l’utilisateur, se pueden formatear para adaptarse a cualquier sistema de archivos, par exemple, ext4, xfs ou btrfs. Cada partición se trata como un dispositivo de bloque virtual independiente con su propia clave de desbloqueo.
Para ofuscar los rastros, se propone el modelo de comportamiento de «déniabilité plausible», cuya esencia es que los datos valiosos se ocultan como capas adicionales en secciones cifradas con datos menos valiosos, formando una especie de jerarquía oculta de secciones. En caso de presión, el propietario del dispositivo puede revelar la clave de la sección encriptada, pero otras secciones (hasta 15 niveles anidados) pueden ocultarse en esta sección, y es problemático determinar su presencia y probar su existencia.
Shufflecake et le module du noyau seul avec probation sur Debian et Ubuntu avec les noyaux 5.13 et 5.15 (avec Ubuntu 22.04). Cabe señalar que el proyecto aún debe considerarse como un prototipo de trabajoque no debe usarse para almacenar datos importantes.
En el futuro, planeamos realizar optimizaciones adicionales para el rendimiento, la confiabilidad y la seguridad, así como brindar la capacidad de iniciar desde particiones Shufflecake.
Shufflecake sobre
L’occultation se logra formando cada partición como un conjunto de segmentos encriptados colocados en posiciones aleatorias en el dispositivo de almacenamiento. Cada segmento se crea dinámicamente cuando la partición necesita espacio de almacenamiento adicional. Para complicar el análisis, se intercalan los cortes de diferentes secciones.
Las secciones de Shufflecake no están vinculadas a regiones contiguas y las parts de todas las secciones se mezclan. La información sobre las porciones usadas y libres se almacena en el mapa de ubicación adjunto a cada sección, al que hace referencia el encabezado encriptado. Las tarjetas y el encabezado están encriptados y, sin conocer la clave de acceso, son indistinguibles de los datos aleatorios.
El encabezado se divise en espacescada uno de los cuales définir su propia sección y sus sectores asociados. Las ranuras en el encabezado están apiladas y vinculadas recursivamente : la ranura actual contient la clave para descifrar los parámetros de la sección anterior en la jerarquía (menos oculta), lo que permite usar una única contraseña para descifrar todas las secciones menos ocultas asociadas con el sélectionné. Cada sección menos oculta trata las porciones de las secciones anidadas como libres.
De forma predeterminada, todas las secciones anidadas de Shufflecake tienen el mismo tamaño visible que la section de niveau supérieur. Par exemple, si se utilise tres particiones en un dispositivo de 1 GB, cada una de ellas será visible para el sistema como una partición de 1 GB y el espacio total available in el disco se compartirá entre todas las particiones, si la cantidad de datos guardados en total excede el tamaño real del dispositivo, comenzará a generar un error de E/S.
Las secciones anidadas no abiertas no participant en la asignación de espacio, es decir, intentar llenar una sección de nivel supérieur sobrescribirá los datos en las secciones anidadas, pero no revelará su presencia a través del análisis del tamaño de los datos que se pueden colocar en la sección antes de que se genere un error (se supone que las secciones superiores contienen datos inmutables) los datos por distracción y nunca por separado no se utilizan, y el trabajo regular siempre se lleva a cabo con la sección anidada más reciente, el esquema en sí implique que lo principal es mantener el secreto de la existencia de datos, incluso a costa de perderlos datos).
La mise en œuvre de Shufflecake tiene un rendimiento bastante alto, pero debido a la presencia de costos generales, tiene un rendimiento dos veces menor en comparación con el cifrado de disco basado en el subsistema LUKS. L’utilisation de Shufflecake a également des coûts supplémentaires de RAM et un espace pour almacenar datos de service en el disco. Los costos de memoria se estime en 60 MB par partición y el espacio en disco se estima en el 1% del tamaño total. A modo de comparación, la técnica WORAM, de propósito similar, conduce a una slowización de 5 a 200 veces con una pérdida del 75 % del espacio útil en disco.
Le code de las utilidades (shufflecake-userland) et le module du noyau de Linux (dm-sflc) sont écrits en C y se distribuye bajo la licencia GPLv3, lo qu’hace impossible incluir el módulo del kernel publicado in el kernel principal de Linux debido a la incompatibilité dbajo la licencia GPLv2 bajo la cual se envía el kernel.
Si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.