Permitir que o serviço interaja com a área de trabalho

1

DC OS - Windows Server 2008 R2 Std

Sistema operacional cliente - Windows XP, Windows 7

Implementei a Política de Segurança por meio do Servidor de Políticas de Rede e ative os Serviços de Configuração Automática com Fios Automaticamente. Ao ativar os serviços de configuração automática com fio, se eu marcar em "Permitir que o serviço interaja com a área de trabalho" Funciona corretamente em alguns computadores portáteis Window7.

Mas na Internet está me dando Aviso de que "Serviços interativos podem exibir uma interface de usuário e receber entrada do usuário. Se você permitir que o serviço interaja com a área de trabalho, qualquer informação que o serviço exiba na área de trabalho também será exibida área de trabalho de um usuário interativo. Um usuário mal-intencionado pode, então, assumir o controle do serviço ou atacá-lo na área de trabalho interativa. "

Você pode me dar algum exemplo de como o usuário mal-intencionado pode assumir o controle do serviço ou atacá-lo na área de trabalho interativa?

    
por Param 17.02.2014 / 13:19

2 respostas

3

A Microsoft introduziu o isolamento da sessão 0 em 2008 / Vista. Com o isolamento zero da sessão, todos os serviços do Windows agora são executados na sessão 0 e todas as sessões humanas são executadas na sessão 1 e acima.

Portanto, não é recomendável projetar um serviço do Windows que exija interação com a área de trabalho. Ainda é tecnicamente possível projetar um serviço que interaja com a área de trabalho, mas é strongmente desencorajado. É a coisa errada a fazer.

Quando um serviço do Windows precisa interagir com a área de trabalho, a área de trabalho do usuário interativamente conectada será alternada para a área de trabalho da sessão 0, para que a caixa de diálogo ou o que for necessário chame a atenção.

Agora, temos uma conta altamente privilegiada, geralmente Sistema Local, exibindo uma caixa de diálogo para um usuário padrão. Essa caixa de diálogo está sendo executada no contexto do sistema local. Você está dando a esse usuário padrão uma oportunidade de explorar algo nessa caixa de diálogo e fazer com que ele faça algo no contexto de segurança do Sistema Local. Então é aí que está o perigo.

    
por 17.02.2014 / 15:18
2

O ponto principal aqui são os mecanismos de encaminhamento de mensagens do Windows, que permitem que qualquer processo envie qualquer mensagem para qualquer janela dentro de sua própria sessão. Isso obviamente apresenta um risco de segurança se uma das janelas pertencer a um processo com direitos elevados. Esta classe de ataques foi apelidada de "shatter attacks" e foi discutida em profundidade em todo o cenário de segurança há alguns anos atrás .

Como a causa raiz é impossível de corrigir - a maioria, se nem todo software escrito para Windows depende desse recurso - foi decidido que a única maneira de lidar com esse problema é segmentação - tudo que é executado em uma única sessão do usuário tem que ser executado em um único contexto de segurança. As diretrizes de design de serviço têm refletido isso desde o final dos anos 90 e estavam desestimulando o código GUI em execução no contexto do serviço. Foi tornado imperativo com o Windows Vista, onde você simplesmente não pode permitir que um serviço interaja com a área de trabalho de um usuário mais.

Naturalmente, isso também é válido para o Windows 7 e, ao marcar "Permitir que o serviço interaja com a área de trabalho", você permite que o serviço interaja com uma área de trabalho virtual que não é vista pelo usuário. Se consertar seu serviço - tudo bem, deixe estar. Mas certifique-se de que você não possui nenhuma máquina com Windows XP, pois isso de fato representaria o risco de segurança mencionado acima.

    
por 17.02.2014 / 19:58