Se ha publicado el sistema de archivos Oramfs, ocultando la naturaleza del acceso a los datos.

Kudelski Security, empresa especializada en auditorías de seguridad, publicó el sistema de archivos Oramfs con la implementación de la tecnología ORAM (Oblivious Random Access Machine), que enmascara el patrón de acceso a los datos. El proyecto propone un módulo FUSE para Linux con la implementación de una capa de sistema de archivos que no permite rastrear la estructura de operaciones de escritura y lectura. El código Oramfs está escrito en Rust y tiene licencia GPLv3.

La tecnología ORAM implica la creación de otra capa además del cifrado, que no permite determinar la naturaleza de la actividad actual cuando se trabaja con datos. Por ejemplo, si se utiliza cifrado al almacenar datos en un servicio de terceros, los propietarios de este servicio no pueden descubrir 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 FS se accede y qué tipo de operación se realiza (lectura o escritura).

Oramfs proporciona una capa de sistema de archivos universal que le permite simplificar la organización del almacenamiento de datos en cualquier almacenamiento externo. Los datos se almacenan cifrados con autenticación opcional. Se pueden utilizar los algoritmos ChaCha8, AES-CTR y AES-GCM para el cifrado. Los patrones de acceso de escritura y lectura se ocultan mediante el esquema Path ORAM. En el futuro, se planea implementar otros esquemas, pero en su forma actual el desarrollo aún se encuentra en la etapa de prototipo, por lo que no se recomienda 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: es posible sincronizar archivos 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.Disk y otros servicios compatibles con rclone o para los cuales existen módulos FUSE para montaje). El tamaño de almacenamiento no es fijo y, si se necesita espacio adicional, el tamaño de ORAM se puede aumentar dinámicamente.

Configurar 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 en el sistema de archivos local que esté conectado a almacenamientos externos montándolos mediante SSHFS, FTPFS, Rclone y cualquier otro módulo FUSE. El directorio privado lo proporciona el módulo Oramfs FUSE y está diseñado para trabajar directamente con archivos almacenados en ORAM. El archivo de imagen ORAM se encuentra en el directorio público. Cualquier operación con un directorio privado afecta el estado de este archivo de imagen, pero este archivo parece a un observador externo como una caja negra, cuyos cambios no pueden asociarse con la actividad en el directorio privado, incluso si se ha realizado una operación de escritura o lectura. .

Oramfs se puede utilizar en áreas donde se requiere el más alto nivel de privacidad y se puede sacrificar el rendimiento. El rendimiento disminuye porque cada operación de almacenamiento, incluidas las operaciones de lectura de datos, conduce a la reconstrucción de bloques en la imagen del sistema de archivos. Por ejemplo, leer un archivo de 10 MB tarda aproximadamente 1 segundo y 25 MB tarda 3 segundos. Escribir 10 MB tarda 15 segundos y 25 MB tarda 50 segundos. Al mismo tiempo, Oramfs es aproximadamente 9 veces más rápido en lectura y 2 veces más rápido en escritura en comparación con el sistema de archivos UtahFS, desarrollado por Cloudflare y que opcionalmente admite el modo ORAM.

Fuente: opennet.ru

Añadir un comentario