Oramfs, un sistema de archivos virtual totalmente encriptado
Hace pocos dias la empresa Kudelski Security (especializada en la realización de auditorías de seguridad) dio a conocer la liberación del sistema de archivos Oramfs con la implementación de la tecnología ORAM (Random Oblivious the Access Machine), este sistema de archivos virtual está diseñado para su uso con almacenes de datos remotos y no permite que nadie rastree la estructura de las escrituras y lecturas de ellos, respectivamente. Combinada con el cifrado, la tecnología proporciona el más alto nivel de protección de la privacidad de los datos
El proyecto propone un módulo FUSE para Linux con la implementación de la capa FS, que no permite rastrear la estructura de las operaciones de escritura y lectura, el código de Oramfs está escrito en Rust y tiene licencia GPLv3.
Sobre Oramfs
La tecnología ORAM implica la creación de otra capa además del cifrado, lo que no permite determinar la naturaleza de la actividad actual al trabajar con datos. Por ejemplo, en el caso de utilizar cifrado al almacenar datos en un servicio de terceros, los propietarios de este servicio no pueden encontrar los datos por sí mismos, pero pueden determinar a qué bloques se accede y qué operaciones se realizan. ORAM oculta información sobre a qué partes del sistema de archivos se accede y qué tipo de operación se está realizando (lectura o escritura).
Cuando se analiza la privacidad de las soluciones de almacenamiento, el cifrado por sí solo no es suficiente para evitar la fuga de patrones de acceso. A diferencia de las soluciones tradicionales como LUKS o Bitlocker, un esquema ORAM evita que un atacante sepa si se realizan operaciones de lectura o escritura y a qué partes del sistema de archivos se accede. Este nivel de privacidad se logra realizando solicitudes de acceso adicionales de las necesarias, mezclando los bloques que componen la capa de almacenamiento y escribiendo y volviendo a cifrar los datos de un lado a otro cada vez, incluso cuando solo se realiza una operación de lectura. Obviamente, esto viene con una pérdida de rendimiento, pero brinda seguridad adicional en comparación con otras soluciones.
Oramfs proporciona una capa de sistema de archivos universal que simplifica la organización del almacenamiento de datos en cualquier almacenamiento externo. Los datos se almacenan encriptados con la opción de autenticación opcional. Los algoritmos ChaCha8, AES-CTR y AES-GCM se pueden utilizar para el cifrado. Los patrones de acceso de lectura y escritura se ocultan mediante el esquema de ruta ORAM. En el futuro, se planea la implementación de otros esquemas, pero en su forma actual, el desarrollo aún se encuentra en la etapa de un prototipo, que no se recomienda para su uso en sistemas de producción.
Oramfs se puede utilizar con cualquier sistema de archivos y no depende del tipo de almacenamiento externo de destino: los archivos se pueden sincronizar con cualquier servicio que se pueda montar en forma de directorio local (SSH, FTP, Google Drive, Amazon S3, Dropbox, Google Cloud Storage, Mail.ru Cloud, Yandex y otros servicios compatibles con rclone o para los que hay módulos FUSE para montar). El tamaño de almacenamiento no es fijo y, si se necesita más espacio, el tamaño de ORAM puede crecer dinámicamente.
La configuración de Oramfs se reduce a definir dos directorios, público y privado, que actúan como servidor y cliente:
- El directorio público puede ser cualquier directorio del sistema de archivos local que esté conectado a almacenamientos externos montándolos a través de SSHFS, FTPFS, Rclone y cualquier otro módulo FUSE.
- El directorio privado lo proporciona el módulo FUSE de Oramfs y está diseñado para trabajar directamente con archivos almacenados en ORAM. El directorio público contiene un archivo con la imagen ORAM.
Cualquier operación con un directorio privado afecta el estado de este archivo de imagen, pero este archivo parece una caja negra para un observador externo, los cambios en los que no se pueden asociar con la actividad en el directorio privado, incluida la operación de escritura o lectura, no se pueden determinar.
Finalmente si estás interesado en conocer más al respecto o poder probar este sistema de archivos, puedes consultar los detalles en el siguiente enlace.