Eu quero executar algum programa confidencial em um servidor em nuvem. Para protegê-lo de ser copiado, posso criptografá-lo em uma unidade e montar a unidade descriptografada para executá-la. No entanto, quero desmontar a unidade descriptografada assim que ela for configurada em execução na memória para minimizar a janela de tempo da descriptografia.
É sempre possível fazê-lo? Ou o Linux bloqueia esta unidade para o programa que está sendo executado?
Uma situação semelhante é executar um programa em uma unidade e, em seguida, desmontar essa unidade.
Não de forma limpa. Você pode, por exemplo, remover um USB do qual está executando o software. Se o programa não precisar de nenhum recurso de lá, nada acontecerá, mas não sairá corretamente.
Se você for a outro terminal e tentar,
umount /mnt
o sistema informará que está ocupado efuser -m /mnt
listará o newbash como o processo que o usa, tambémlsof
.Mesmo que o sistema de arquivos esteja em uso, você pode fazer,
umount --lazy /mnt
MAS isso pode ter consequências desagradáveis. Você não sabe se todo o executável está na memória e o sistema pode precisar buscar uma parte dele, por exemplo.Seria pedir problemas . A opção existe para evitar esperar para sempre em recursos aos quais você não tem mais acesso, por exemplo, no desligamento.
Se tudo o que você quer é executá-lo na memória, você pode criar um ramdisk, copiá-lo e executá-lo.
Você pode até configurar algo como encfs para que a pasta no ramdisk seja criptografada.