O Problema Do Confinamento
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.
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.
Lampson chama este o problema do confinamento.
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.
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.
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
|
|||||
|