O sistema de arquivos Oramfs foi publicado, escondendo a natureza do acesso aos dados

A Kudelski Security, empresa especializada em auditorias de segurança, publicou o sistema de arquivos Oramfs com implementação da tecnologia ORAM (Oblivious Random Access Machine), que mascara o padrão de acesso aos dados. O projeto propõe um módulo FUSE para Linux com a implementação de uma camada de sistema de arquivos que não permite rastrear a estrutura das operações de escrita e leitura. O código Oramfs é escrito em Rust e licenciado sob a GPLv3.

A tecnologia ORAM envolve a criação de outra camada além da criptografia, o que não permite determinar a natureza da atividade atual ao trabalhar com dados. Por exemplo, se a criptografia for usada ao armazenar dados em um serviço de terceiros, os proprietários desse serviço não poderão descobrir os dados em si, mas poderão determinar quais blocos serão acessados ​​e quais operações serão executadas. ORAM oculta informações sobre quais partes do FS estão sendo acessadas e que tipo de operação está sendo realizada (leitura ou escrita).

Oramfs fornece uma camada universal de sistema de arquivos que permite simplificar a organização do armazenamento de dados em qualquer armazenamento externo. Os dados são armazenados criptografados com autenticação opcional. Os algoritmos ChaCha8, AES-CTR e AES-GCM podem ser usados ​​para criptografia. Os padrões de acesso de gravação e leitura são ocultados usando o esquema Path ORAM. No futuro, outros esquemas estão previstos para serem implementados, mas na sua forma atual, o desenvolvimento ainda está em fase de protótipo, o que não é recomendado para uso em sistemas de produção.

Oramfs pode ser usado com qualquer sistema de arquivos e não depende do tipo de armazenamento externo alvo - é possível sincronizar arquivos com qualquer serviço que possa ser montado na forma de um diretório local (SSH, FTP, Google Drive, Amazon S3 , Dropbox, Google Cloud Storage, Mail.ru Cloud , Yandex.Disk e outros serviços suportados em rclone ou para os quais existem módulos FUSE para montagem). O tamanho do armazenamento não é fixo e se for necessário espaço adicional, o tamanho da ORAM pode ser aumentado dinamicamente.

A configuração do Oramfs se resume à definição de dois diretórios - público e privado, que atuam como servidor e cliente. O diretório público pode ser qualquer diretório no sistema de arquivos local conectado a armazenamentos externos, montando-os via SSHFS, FTPFS, Rclone e quaisquer outros módulos FUSE. O diretório privado é fornecido pelo módulo Oramfs FUSE e foi projetado para funcionar diretamente com arquivos armazenados no ORAM. O arquivo de imagem ORAM está localizado no diretório público. Qualquer operação com um diretório privado afeta o estado deste arquivo de imagem, mas esse arquivo parece para um observador externo como uma caixa preta, cujas alterações não podem ser associadas à atividade no diretório privado, incluindo se uma operação de gravação ou leitura foi executada .

O Oramfs pode ser usado em áreas onde o mais alto nível de privacidade é necessário e o desempenho pode ser sacrificado. O desempenho diminui porque cada operação de armazenamento, incluindo operações de leitura de dados, leva à reconstrução de blocos na imagem do sistema de arquivos. Por exemplo, a leitura de um arquivo de 10 MB leva cerca de 1 segundo e a de 25 MB leva 3 segundos. Escrever 10 MB leva 15 segundos e 25 MB leva 50 segundos. Ao mesmo tempo, Oramfs é aproximadamente 9 vezes mais rápido na leitura e 2 vezes mais rápido na gravação em comparação com o sistema de arquivos UtahFS, desenvolvido pela Cloudflare e opcionalmente com suporte para o modo ORAM.

Fonte: opennet.ru

Adicionar um comentário