Ocultando dados em sistemas de arquivos

5

Eu quero esconder alguns arquivos de tal forma que nem mesmo ls -a possa encontrá-lo. Não estou falando em adicionar '.' na frente do nome do arquivo. Eu estava pensando se eu poderia criar chamadas de sistema separadas para acessar esses arquivos A necessidade real é esconder alguns arquivos de log do usuário. Estou armazenando os dados MAC de alguns arquivos e não quero que o usuário veja esses arquivos de log. No momento, sei apenas uma maneira de ocultar dados, por exemplo, adicionando '.' na frente do nome do arquivo. Mas o arquivo pode ser visto pelo usuário pela simples chamada ls -a . Então, quero saber se existe alguma outra maneira de ocultar esses dados de log?

    
por deathholes 13.05.2014 / 08:57

4 respostas

6

Como outros já observaram, se o objetivo é impedir o acesso a um arquivo persistente, ocultá-lo é provavelmente a abordagem errada. Nesse caso, o uso de medidas de controle de acesso apropriadas ou mesmo de criptografia, se o aplicativo exigir, pode ser uma solução. Por outro lado, a criação de arquivos "ocultos" temporários é um caso de uso perfeitamente legítimo.

No Linux, desde a versão 3.11 do kernel, a % A chamada do sistemaopen() suporta o O_TMPFILE flag, que pode ser usado para criar arquivos temporários sem nome. Quando esse sinalizador é usado, o argumento nome do caminho para open() é usado para especificar um diretório, sob o qual um inode sem nome é criado. No entanto, como o principal caso de uso para O_TMPFILE é, como o nome indica, a criação de arquivos temporários , isso não é adequado para armazenamento persistente, pois o arquivo será perdido quando o último descritor de arquivo for o arquivo é fechado, a menos que o arquivo receba um nome. O arquivo pode receber um nome com a linkat() chamada de sistema, a menos que o sinal O_EXCL tenha sido especificado além do O_TMPFILE , nesse caso, a vinculação do arquivo ao sistema de arquivos é evitada.

A funcionalidade O_TMPFILE adicionada recentemente é significativa porque pode ser usada para fornecer as seguintes propriedades a arquivos temporários:

  1. Criação livre de condição de corrida.
  2. Exclusão automática quando fechado.
  3. inacessível por meio de qualquer nome de caminho.
  4. Não está sujeito a ataques de links simbólicos.
  5. Não há necessidade de o chamador criar nomes exclusivos.

Além disso, a funcionalidade pode ser usada para criar arquivos inicialmente invisíveis, quando os atributos apropriados do sistema de arquivos podem ser ajustados no arquivo, antes de vinculá-lo ao sistema de arquivos em uma operação atômica. Isso pode ser usado para evitar certos TOCTOU condições de corrida.

Uma desvantagem com o sinalizador O_TMPFILE é que apenas um subconjunto de sistemas de arquivos fornece suporte para ele. Inicialmente, o suporte era fornecido no ext2, ext3, sistemas de arquivos ext4, UDF, Minix e shmem. Suporte a XFS foi adicionado no Linux 3.15.

    
por 13.05.2014 / 09:59
3

Não importa a separação que você fizer, o root ainda poderá acessá-lo, então você só terá segurança através da obscuridade que não é realmente segura. Se você quiser ocultar o acesso de outros usuários, poderá usar a permissão para isso. Negar permissões de leitura a um arquivo ou diretório realizará o que você deseja.

    
por 13.05.2014 / 09:05
3

Se você quiser impedir que outros usuários (incluindo o root) leiam seus arquivos, você pode criptografá-los. Se você também quiser ocultar os nomes dos arquivos, forneça nomes falsos ou use um contêiner de arquivos criptografados como TrueCrypt. Nesse caso, os arquivos ainda estarão acessíveis pela raiz quando o sistema de arquivos estiver montado.

    
por 13.05.2014 / 09:24
2

Pesquisador de segurança O Grugq descobriu uma técnica que ele chama de " FISTing ", " Inserção do Sistema de Arquivos e Técnica Subversion ". Suas apresentações são como se ele colocasse sistemas de arquivos em lugares estranhos, como arquivos de diário EXT3, arquivos de diretório e arquivos "bad blocks". Isso parece recompensar a segurança através da obscuridade, mas você pode fazer algo assim?

    
por 13.05.2014 / 15:33