Os princípios do projeto computando seguro


  Share  
|

Os princípios do projeto seguro discutidos nesta seção expressam comum-detetam aplicações do simplicity e da limitação nos termos de computar.

Princípio de menos privilégio

Este princípio restringe como os privilégios são concedidos.

O princípio de menos privilégio indica que um assunto deve ser dado somente aqueles privilégios que necessita a fim terminar sua tarefa.

Se um assunto não necessitar uma direita de acesso, o assunto não deve ter aquele para a direita. Além disso, a função do assunto (ao contrário de sua identidade) deve controlar a atribuição das direitas. Se uma ação específica requerer que as direitas de acesso de um assunto estejam aumentadas, aquelas direitas extra devem ser abandonadas imediatamente na conclusão da ação. Este é o analogue da "necessidade saber" a régua: se o assunto não necessitar o acesso a um objeto executar sua tarefa, não deve ter a direita alcançar esse objeto. Mais precisamente, se um assunto necessitasse adicionar a um objeto, mas não alterar a informação conteve já no objeto, deve ser dado adiciona direitas e não escrever direitas.

Na prática, a maioria de sistemas não têm o granularity dos privilégios e das permissões requeridos para aplicar precisamente este princípio. Os desenhadores de mecanismos da segurança aplicam então este princípio como melhor podem. Em tais sistemas, as conseqüências de problemas da segurança são frequentemente mais severas do que as conseqüências para os sistemas que aderem a este princípio.

EXEMPLO: O sistema operando-se de UNIX não aplica controles de acesso à raiz do usuário. Que o usuário pode terminar todo o processo e o ler, escreve, ou suprime qualquer lima. Assim, os usuários que críam apoios podem também suprimir limas. O cliente do administrador em Windows tem os mesmos poders.


Este princípio requer que os processos devem ser confinados como a pequeno um domínio de proteção como possíveis.

EXEMPLO: Um mail server aceita o correio do Internet e copía as mensagens em um diretório de carretel; um usuário local terminará a entrega. O mail server necessita as direitas alcançar o porto apropriado da rede, criar limas no diretório de carretel, e alterar aquelas limas (assim que nele pode copí a mensagem na lima, reescrevem o endereço de entrega se necessitado, e adicionam as linhas "recebidas" apropriadas). Deve render a direita alcançar a lima assim que terminar escrever a lima no diretório de carretel, porque não necessita alcançar outra vez essa lima. O usuário não deve poder alcançar limas de nenhum usuário, ou todas as limas à excepção de sua própria configuração arquivam.


Princípio de defeitos à prova de falhas

Este princípio restringe como os privilégios são inicializados quando um assunto ou um objeto são criados.

O princípio dos estados de defeitos à prova de falhas que, a menos que um assunto for dado o acesso explícito a um objeto, se deve negar a acesso a esse objeto.

Este princípio requer que o acesso do defeito a um objeto não é nenhum. Sempre que o acesso, os privilégios, ou algum atributo segurança-relacionado não são concedidos explicitamente, deve-se negar. Além disso, se o assunto for incapaz de terminar sua ação ou tarefa, deve undo aquelas mudanças que fêz no estado da segurança do sistema antes que termine. Esta maneira, nivela se o programa falhar, o sistema é ainda segura.

EXEMPLO: Se o mail server for incapaz de criar uma lima no diretório de carretel, deve fechar a conexão de rede, emite uma mensagem de erro, e para-a. Não deve tentar armazenar em outra parte a mensagem ou expandir seus privilégios conservar a mensagem em uma outra posição, porque um atacante poderia se usar que abilidade de overwrite outras limas ou de encher acima outros discos (uma negação do ataque do serviço). As proteções no diretório de carretel do correio próprias devem reservar críam e escrevem o acesso somente ao mail server e lêem e suprimem o acesso somente ao usuário local. Nenhum outro usuário deve ter o acesso ao diretório.

Na prática, a maioria de sistemas permitirão um acesso do administrador ao diretório de carretel do correio. Pelo princípio de menos privilégio, esse administrador deve poder alcançar somente os assuntos e os objetos envolvidos em enfileirar-se e em entrega do correio. Como nós vimos, este confinamente minimiza as ameaças se o cliente desse administrador for comprometido. O sistema do correio pode ser danificado ou destruído, mas nada mais pode ser.


Princípio da economia do mecanismo

Este princípio simplifica o projeto e a execução de mecanismos da segurança.

O princípio da economia do mecanismo indica que os mecanismos da segurança devem ser tão simples como possível.

Se um projeto e uma execução forem simples, poucas possibilidades existem para erros. O processo verificando e testando é mais menos complexo, porque poucos componentes e casos necessitam ser testados. Os mecanismos complexos fazem frequentemente suposições sobre o sistema e o ambiente em que funcionam. Se estas suposições estiverem incorretas, os problemas da segurança podem resultar.

EXEMPLO: O protocolo da identificação emite o nome do usuário associado com um processo que tenha uma conexão do TCP a um anfitrião remoto. Um mecanismo no anfitrião A que permite o acesso baseado nos resultados de um resultado do protocolo da identificação faz a suposição que o anfitrião originar é trustworthy. Se o anfitrião B se decidir atacar o anfitrião A, pode conectar e então emitir toda a identidade que escolher em resposta ao pedido da identificação. Este é um exemplo de um mecanismo que faz uma suposição incorreta sobre o ambiente (especificamente, esse anfitrião B pode ser confiado).


As relações a outros módulos são particularmente suspeitas, porque os módulos fazem frequentemente suposições implícitas sobre parâmetros da entrada ou de saída ou o estado atual do sistema; se algumas destas suposições forem erro, as ações do módulo podem produzir inesperado, e errôneos, resultados. A interação com entidades externas, tais como outros programas, sistemas, ou seres humanos, amplifica este problema.

EXEMPLO: O protocolo do dedo transmite a informação sobre um usuário ou um sistema. Muitas execuções do cliente supõem que a resposta do usuário é well-formed. Entretanto, se um atacante devesse criar um usuário que gerasse um córrego infinito dos caráteres, e um cliente do dedo devia conectar-lhe, o cliente imprimiria todos os caráteres. Em conseqüência, as limas de registro e os discos podiam ser enchidos acima, tendo por resultado uma negação do ataque do serviço no anfitrião perguntando. Este é um exemplo de suposições incorretas sobre a entrada ao cliente.


Princípio do mediation completo

Este princípio restringe caching da informação, que conduz frequentemente a umas execuções mais simples dos mecanismos.

O princípio do mediation completo requer que todos os acessos aos objetos estejam verificados para se assegurar de que estejam permitidos.

Sempre que um assunto tenta ler um objeto, o sistema operando-se deve mediar a ação. Primeiramente, determina se for permitido ao assunto ler o objeto. Se assim, fornece os recursos para lidos ocorre. Se o assunto tentar ler outra vez o objeto, o sistema deve certificar-se de que esteja permitido ainda ao assunto ler o objeto. A maioria de sistemas não fariam a segunda verificação. Cache os resultados da primeira verificação e baseariam o segundo acesso nos resultados cached.

EXEMPLO: Quando um processo de UNIX tenta ler uma lima, o sistema operando-se determina se o processo for permitido ler a lima. Se assim, o processo recebe um descriptor de lima que codifica o acesso permitido. Sempre que o processo quer ler a lima, apresenta o descriptor de lima à semente. A semente permite então o acesso.

Se o proprietário da lima disallows a permissão process ler a lima depois que o descriptor de lima está emitido, a semente permite ainda o acesso. Este esquema violates o princípio do mediation completo, porque o segundo acesso não é verificado. O valor cached é usado, tendo por resultado a negação do acesso que é ineficaz.


EXEMPLO: O serviço do Domain Name (DNS) caches a informação que traça nomes de anfitrião em endereços do IP. Se um atacante puder "envenenar" o esconderijo implanting grava associar um IP address bogus com um nome, um anfitrião distribuirá conexões a um outro anfitrião incorretamente.


Princípio do projeto aberto

Este princípio sugere que a complexidade não adiciona a segurança.

O princípio do projeto aberto indica que a segurança de um mecanismo não deve depender do secrecy de sua projeto ou execução.

Os desenhadores e os implementers de um programa não devem depender do secrecy dos detalhes de seus projeto e execução para assegurar a segurança. Outros podem ferret para fora de tais detalhes com os meios técnicos, tais como a desmontagem e a análise, ou com os meios não técnicos, tais como procurarar através dos receptáculos do lixo pelas listas de códigos de fonte (chamadas "dumpster-dumpster-diving"). Se a força da segurança do programa depender do ignorance do usuário, um usuário knowledgeable pode derrotar esse mecanismo da segurança. O termo "segurança com o obscurity" captura este conceito exatamente.

Isto é especial verdadeiro do software e de sistemas cryptographic. Porque o cryptography é um assunto altamente matemático, as companhias que introduzem no mercado o cryptography cryptographic do software ou do uso para proteger dados do usuário mantêm freqüentemente seus algoritmos secretos. A experiência mostrou que tal secrecy adiciona pouco se qualquer coisa à segurança do sistema. Mais mau, dá um aura da força que é toda que falta demasiado frequentemente na execução real do sistema.

Mantendo chaves cryptographic e as senhas secretas não violate este princípio, porque uma chave não é um algoritmo. Entretanto, mantendo os algoritmos enciphering e decifrando secretos violate a.

As introduções do software proprietário e dos segredos de comércio complicam a aplicação deste princípio. Em alguns casos, as companhias não podem querer seus projetos feitos público, a fim de que não seus concorrentes os usem. O princípio requer então que o projeto e a execução estejam disponíveis aos povos barrados de o divulgar fora da companhia.

EXEMPLO: O sistema satisfeito scrambling (CSS) é um algoritmo cryptographic que proteja discos do filme de DVD de copi desautorizado. O disco de DVD tem uma chave do authentication, uma chave de disco, e uma chave do título. A chave do título enciphered com a chave de disco. Um bloco no DVD contem diversas cópias da chave de disco, de cada uma enciphered por uma chave diferente do jogador, e de uma soma de controle da chave de disco. Quando um DVD é introduzido em um jogador de DVD, o algoritmo lê a chave do authentication. Decifra então as chaves de disco usando a chave original do jogador de DVD. Quando encontra uma chave decifrada com a mistura correta, os usos que fecham à chave à decifração a chave do título, e usam a chave do título decifrar o filme. O authentication e as chaves de disco não são ficados situado na lima que contem o filme, assim que se um copí a lima, um destilador necessita o disco de DVD no jogador de DVD poder jogar o filme.

Em 1999, um grupo em Noruega adquiriu a (software) DVD que joga o programa que teve unenciphered a chave. Derivaram também um algoritmo completamente compatível com o algoritmo do CSS do software. Isto permitiu-os de decifrar toda a lima do filme de DVD. O software que poderia executar estas funções ràpidamente tornou-se disponível durante todo o Internet, muito ao discomfort da associação do controle do copyright de DVD, que sued prontamente para impedir que o código esteja feito a público. Como se para emfatizar os problemas de fornecer a segurança escondendo algoritmos, os advogados do plaintiff arquivaram uma declaração que contem o código de fonte de uma execução do algoritmo do CSS. Quando realizaram este, pediram que a declaração estivesse selada da vista pública. Por então, a declaração foi afixada em diversos locais de Internet, including um que teve mais de 21.000 downloads da declaração antes que a corte a selou.

Princípio da separação do privilégio

Este princípio é restritivo porque limita o acesso às entidades do sistema.

O princípio da separação do privilégio indica que um sistema não deve conceder a permissão baseada em uma única condição.

Este princípio é equivalente à separação do princípio do dever. A companhia verifica para ver se há mais de $75.000 devem ser assinados por dois oficiais da companhia. Se qualquer um não assinar, a verificação é inválida. As duas circunstâncias são as assinaturas de ambos os oficiais.

Similarmente, os sistemas e os programas que concedem o acesso aos recursos devem fazer assim somente quando mais de uma circunstância é encontrada com. Isto fornece um controle fine-grained sobre o recurso as.well.as a garantia adicional que o acesso está autorizado.

EXEMPLO: Em versões Berkeley-baseadas do sistema operando-se de UNIX, não estão permitidos aos usuários mudar de seus clientes ao cliente da raiz a menos que duas circunstâncias forem encontradas com. A primeira circunstância é que o usuário sabe a senha da raiz. A segunda circunstância é que o usuário está no grupo da roda (o grupo com GID 0). Encontrar-se com uma ou outra circunstância não é suficiente adquirir o acesso da raiz; encontrar-se com ambas as circunstâncias é requerido.


Princípio de menos mecanismo comum

Este princípio é restritivo porque limita compartilhar.

O princípio de menos mecanismo da terra comum indica que os mecanismos usados alcançar recursos não devem ser compartilhados.

Compartilhar de recursos fornece uma canaleta ao longo de que a informação pode ser transmitida, e assim que tal compartilhar deve ser minimizado. Na prática, se o sistema se operando fornecer a sustentação para máquinas virtuais, o sistema operando-se reforçará este privilégio automaticamente a algum grau. Se não, fornecerá alguma sustentação (tal como um espaço de memória virtual) mas não terminará a sustentação (porque o sistema de lima aparecerá como compartilhado entre diversos processos).

EXEMPLO: Um Web site fornece serviços eletrônicos do comércio para uma companhia principal. Os atacantes querem privar a companhia do rendimento que obtem desse Web site. Inundam o local com as mensagens e amarram acima os serviços eletrônicos do comércio. Os clientes legitimate são incapazes de alcançar o Web site e, em conseqüência, de fazer exame em outra parte de seu negócio.

Aqui, compartilhar do Internet com os locais dos atacantes fêz com que o ataque sucedesse. As contramedidas apropriadas deveriam restringir o acesso dos atacantes ao segmento do Internet conectado ao Web site. As técnicas para fazer isto incluem usuários do proxy tais como estrangular do intermediary ou do tráfego de Purdue SYN. As conexões suspeitas dos alvos anteriores; o último reduz a carga no segmento relevante da rede indiscriminately.

Princípio do acceptability psicológico

Este princípio reconhece o elemento humano na segurança do computador.

O princípio do acceptability psicológico indica que os mecanismos da segurança não devem fazer o recurso mais difícil de alcançar do que se os mecanismos da segurança não estiverem atuais.

Configurarar e executar um programa devem ser tão fáceis e tão intuitive como possível, e toda a saída deve ser desobstruída, direta, e útil. Se o software segurança-relacionado for complicado demasiado para configurarar, os administradores de sistema podem involuntàriamente ajustar acima o software em uma maneira do nonsecure. Similarmente, os programas de usuário segurança-relacionados devem ser fáceis de usar-se e devem output mensagens compreensíveis. Se uma senha for rejeitada, o programa em mudança da senha deve indicar porque foi rejeitado melhor que dando uma mensagem de erro cryptic. Se uma lima da configuração tiver um parâmetro incorreto, a mensagem de erro deve descrever o parâmetro apropriado.

EXEMPLO: O programa do ssh permite que um usuário ajuste acima um mecanismo chave público para enciphering comunicações entre sistemas. Os mecanismos da instalação e da configuração para a versão de UNIX permitem que uma arranje que a chave pública esteja armazenada localmente sem nenhuma proteção de senha. Neste caso, um não necessita fornecer uma senha para conectar ao sistema remoto, mas imóvel obterá a conexão enciphered. Este mecanismo satisf ao princípio do acceptability psicológico.


Na outra mão, a segurança requer que as mensagens não dão nenhuma informação desnecessária.

EXEMPLO: Quando um usuário fornece a senha errada durante o início de uma sessão, o sistema deve rejeitar a tentativa com uma mensagem que indica que o início de uma sessão falhou. Se devesse dizer que a senha estava incorreta, o usuário saberia que o nome de cliente era legitimate. Se o "usuário" fosse realmente um atacante desautorizado, saberia então o nome esclarecer que poderia tentar supo uma senha.


Na prática, o princípio do acceptability psicológico é interpretado para significar que o mecanismo da segurança pode adicionar algum burden extra, mas que o burden deve ser mínimo e razoável.

EXEMPLO: Um sistema do mainframe permite que os usuários coloquem senhas em limas. Alcançar as limas requer que a fonte do programa a senha. Embora este mecanismo violates o princípio como indicado, considera-se suficientemente mínimo ser aceitável. Em um sistema interativo, onde o teste padrão de acessos da lima fosse mais freqüente e mais transiente, esta exigência seria um burden demasiado grande a ser aceitável.

este é um artigo adicionado por Conta Kuriko


Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions