O Problema Do Confinamento


  Share  
|


Considere um cliente e um usuário. Quando o cliente emite um pedido ao usuário, o cliente emite ao usuário alguns dados. O usuário então usa os dados executar alguma função e não retorna um resultado (ou nenhum resultado) ao cliente. O controle de acesso afeta a função do usuário em duas maneiras.

  1. O usuário deve assegurar-se de que os recursos que alcança em nome do cliente incluam somente aqueles recursos que o cliente é autorizado alcançar.

  2. O usuário deve assegurar-se de que não revele os dados do cliente a nenhuma outra entidade não autorizada para ver os dados do cliente.

A primeira exigência representa o objetivo do fornecedor de serviço. Esse objetivo é impedir que o cliente emita as mensagens ao usuário que o causam ao acesso, as alteram, as transmitem, ou as consomem os recursos que o cliente não é autorizado alcançar, se alterar, transmitir, ou consumir. A segunda exigência representa o objetivo do usuário de serviço. Esse objetivo é impedir que o usuário transmita a informação confidential ao fornecedor de serviço. Em ambos os casos, o usuário deve ser confinado a alcançar somente um jogo específico dos recursos.

EXEMPLO: Clientes de contrapesos de um usuário para subscritores. Os subscritores usam um cliente transmitir as entradas do registo, o contrapeso de banco atual, e aqueles retiradas e depósitos que cancelaram o banco ao usuário. O usuário retorna a lista de verificações e de depósitos proeminentes e toda a discrepância entre o contrapeso do registo e o contrapeso de banco. Os subscritores pagam uma taxa por cada uso.

O fornecedor de serviço requer que o registro do usuário que usou o serviço cada vez ele está usado corretamente. Se não, o fornecedor de serviço não pode faturar para o uso do serviço. A ameaça é que alguém pode usar o serviço sem ser detectado (e conseqüentemente sem ser carregado) ou que o usuário pode impersonate um outro subscritor (tendo por resultado o subscritor errado que está sendo carregado). O fornecedor de serviço também não quer o usuário transmitir registros do faturamento ou nenhuma outra informação desautorizada ao cliente. O usuário deve emitir somente a informação que se derivou dos dados que o cliente emitiu. Assim o usuário deve ser confinado a operar-se somente nos dados que é emitido.

O subscritor espera determinados serviços de segurança do usuário. O usuário deve corretamente registrar o invocation do usuário de modo que o usuário não seja carregado incorretamente. (isto combina a necessidade do fornecedor de serviço.) O usuário não deve gravar ou transmitir os dados que o subscritor lhe emite porque os dados do subscritor são confidential ao subscritor e não são relevantes ao fornecedor de serviço. Assim o usuário deve ser confinado a manter os dados a se e a emitir os resultados somente ao subscritor.


Lampson chama este o problema do confinamento.

O problema do confinamento é o problema de impedir um usuário da informação escapando que o usuário do serviço considera confidential.

Uma característica dos processos que não escapam a informação vem da observação que um processo deve armazenar dados para uma recuperação mais atrasada (escapar). Um processo que não armazene a informação não pode escapá-la. Entretanto, no extremo, tais processos também não podem executar nenhumas computações, porque um analista poderia observar o fluxo do controle (ou o estado do processo) e desse fluxo deduza a informação sobre as entradas. Isto conduz à observação que um processo que não possa ser observado e não possa se comunicar com outros processos não pode escapar a informação. Lampson chama esta isolação total.

Na prática, conseguir a isolação total é difícil. Os processos a ser recursos geralmente confinados da parte tais como CPUs, redes, e armazenamento de disco com outro, unconfined processos. Unconfined processos pode transmitir o excesso da informação aqueles recursos compartilhados.

Uma canaleta secreta é um trajeto de uma comunicação que não seja projetada ser usada para uma comunicação.

EXEMPLO: O processo p deve ser confinado tais que não pode se comunicar com o processo q. Entretanto, os processos p e q compartilham de um sistema de lima. Para que o processo p para emitir uma mensagem ao processo q, ele cría uma lima chamada emita em um diretório que ambos os processos possam ler. Imediatamente antes que o processo q deve ler a informação, q suprime a lima da emissão. O processo p transmite então um bocado criando uma lima nomeada 0bit ou 1bit, como apropriado. Quando q detecta uma ou outra lima, grava o bocado e suprime a lima. Isto continua até que p críe uma lima chamada a extremidade, que no ponto a comunicação cessa.


O confinamento é transitive. Suponha que um processo p está confinado para impedir o escapamento. Se invocar um segundo processo q, então q deve similarmente ser confinado ou q poderia escapar a informação que p passa.

A régua do confinamento transitive indica que se um processo confinado invocar um segundo processo, o segundo processo deve ser como confinado como o chamador.

O confinamento é um mecanismo para reforçar o princípio de menos privilégio. Um processo corretamente confinado não pode transmitir dados a um segundo processo a menos que a transmissão for needed terminar sua tarefa. O problema é que o processo confinado necessita o acesso aos dados ser transmitido e assim que o confinamento deve estar na transmissão, não no acesso dos dados. Para complicar matérias, o processo pode ter que transmitir alguma informação ao segundo processo. Neste caso, o mecanismo do confinamento deve distinguir entre a transmissão de dados autorizados e a transmissão de dados desautorizados.

A combinação destes problemas ilustra a dificuldade de impedir o escapamento. O dilemma é que os computadores modernos estão projetados compartilhar de recursos, no entanto pelo ato que compartilha deles cría as canaletas de uma comunicação ao longo de que a informação pode ser escapada.

Lipner examina o problema de uma política e aspecto modelar. Considera dois tipos de canaletas secretas. O primeiro envolve o uso do armazenamento transmitir a informação. Se um modelo descrever corretamente todas as maneiras em que a informação pode ser armazenada e lido, então o modelo abstrai as canaletas legitimate e secretas ao longo de que a informação pode fluir. O modelo confina todos os acessos ao armazenamento. Os únicos acessos permitidos são aqueles autorizados pela política, assim que os fluxos da informação são legitimate. Entretanto, se o modelo não capturar todos tais fluxos, então fluxos desautorizados, ou as canaletas secretas, levante-se.

Lipner anota então que todos os processos podem obter ao menos uma idéia áspera do tempo. Isto faz a tempo uma canaleta de comunicação. Uma estadia "lida" da lata do programa verificando o pulso de disparo do sistema ou (alternativamente) contando o número das instruções executou durante um período da horas da parede. Uma lata do programa "escreve" o tempo executando um número do jogo das instruções e parando, permitindo que um outro processo execute. Esta canaleta compartilhada não pode ser feita exclusiva a menos que um processo não compartilhar do computador com um outro processo, que sugira a isolação como um remédio.

Os ataques do sincronismo de Kocher em cryptosystems ilustram este problema. Kocher anota que as instruções executadas por execuções dos cryptosystems dependem do ajuste dos bocados na chave. Para o exemplo, o algoritmo abaixo dos instrumentos uma função modular rápida da exponenciação. Se um bocado for 1, duas multiplicações ocorrem; se não, uma multiplicação ocorre. A multiplicação extra faz exame do tempo extra. Kocher determina bocados do exponente confidential medindo o tempo da computação.

Uma rotina modular rápida da exponenciação. Esta rotina computa x = modificação n do az. Os bocados de z são zk1. . . ,z0.
x: = 1; atmp: = a; para i: = 
0 a k-1 começam        se zi = 1 então           x: =
(x * atmp) modificação n;        atmp: = (atmp * 
atmp) modificação n; extremidade; resultado: = x;

Nós exploramos o mecanismo da isolação primeiramente. Então nós examinamos as canaletas secretas mais detalhadamente e discutimos outras aproximações a analisá-las, including técnicas para identificar as canaletas secretas e isolá-las.

este é um artigo adicionado por Conta Kuriko


Share  

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