Como garantir a integridade de um sistema operacional?

3

In information security, integrity means that data cannot be modified undetectably.

Esta resposta despertou meu interesse, é claro, Quero garantir a integridade do meu SO, descrito aqui . Suponha um projeto de câmera de segurança onde você armazena todas as fotos em uma pasta. Eu usei fswebcam -program, crontab e alguns scripts bash para automaticamente fotografar. Fiz isso para lojas de segunda mão com orçamento muito baixo, reutilizei laptops antigos e câmeras antigas e com limitações como nenhuma conexão com a internet. Eu não tenho certeza se o sistema operacional, obsd, oferece alguns recursos extras que não estão em uso e que eu poderia usar, talvez algum tipo de modo de paranóia. Basicamente, cada comp (s) tinha programação claramente pré-definida: tirar uma foto (executar um script, ...), salvá-lo em um arquivo, ... - se algo diferente, alarme. Eu não sei se existe alguma maneira de congelar o resto do sistema de modo que seja totalmente inutilizável em outros serviços. Alguns dos laptops podem ser fotógrafos, enquanto um laptop pode ser um receptor ou um data center central.

  • Como você pode fazer isso com laptops obsd que podem trabalhar em conjunto?
  • Como você pode garantir a integridade do SO para que nenhuma imagem seja removida ou, se removida, deixe rastros?
  • Em qual modo você colocaria um atirador e um receptor obcecado? Eles estão em modos diferentes e por quê?

Relacionado, mas não o mesmo

  1. software de monitoramento de integridade favorito?
  2. Verificando a integridade do software do servidor?
por Community 24.03.2011 / 00:49

4 respostas

2

Se você não precisa de segurança física, e mesmo para um subgrupo de agressores físicos, parece que o OpenBSD poderia fazê-lo, a menos que haja uma tempestade perfeita de bugs e serviços acessíveis mundialmente mal escolhidos que possam permitir a execução de código arbitrário. no modo kernel.

Leia sobre chflags (1). Eles permitem que até mesmo o root modifique ou exclua arquivos. Basicamente, definindo sappnd para o diretório de fotos e movendo securelevel (7) para - > 2 faria o trabalho. Você deve proteger todo o resto (com cuidado especial para partições não marcadas como noexec e nodev e scripts rc), mas mesmo se você errar, o sistema deve ser reinicializado para remover os sinalizadores das fotografias existentes.

Combinado com algo como isso Seria difícil não perceber que alguém está tentando adulterar suas fotos.

As máquinas de captura de fotos podem ser bloqueadas ainda mais, já que nem precisam gravar no disco (exceto os logs do sistema).

    
por 25.06.2011 / 06:26
2

A menos que você possa bloquear o acesso não autorizado ao hardware do SO e , não vejo como alguém poderia garantir a integridade de qualquer sistema sem usar apenas o armazenamento Write-Once .

    
por 24.03.2011 / 12:50
2

Você não precisa necessariamente da integridade no nível do sistema operacional para o aplicativo que descreve - você poderia usar apenas uma unidade Write Once Read Many (WORM) que fisicamente não permitirá que nenhum arquivo seja excluído / sobrescrito.

Como alternativa, você pode comprar máquinas com TPM por não muito dinheiro (ainda mais do que comprar uma unidade WORM)

Ou use o tripwire em conjunto com um ambiente chrooted.

    
por 24.03.2011 / 13:25
1

Apenas uma ideia simples para o seu exemplo em particular e para manter as coisas simples: você pode enviar para fora do site um hash de cada foto (se você não puder pagar a imagem completa).

Certifique-se de que o serviço externo tenha somente o recurso "adicionar" (e leia, é claro), ou seja, que o sistema de origem não possa remover os registros existentes.

Por fim, use um script fora do site estilo wire-wire para comparar o servidor de origem com o histórico de hash fora do site.

Não tenho certeza se isso responde à sua pergunta, mas para mim não há uma maneira fácil de garantir absolutamente a integridade de um sistema sem recorrer ao mundo externo (de terceiros). Mesmo assim, não pode ser uma garantia de 100%, mas pelo menos você está reduzindo significativamente os riscos de todos os sistemas serem comprometidos.

    
por 24.03.2011 / 01:18