9
Segurança no Windows NT Introdução Segurança C2 SID's - Identificadores Segurança Logon Fichas de Acesso Introdução a Segurança C2 O Departamento de Defesa dos Estados Unidos (DoD) e a Agência Nacional de Segurança estabeleceram o Centro Nacional de Segurança em Computador (NCSC), para ajudar o Governo, Corporações e usuários comuns a protegerem dados proprietários e pessoais armazenados em sistemas de comutador. O NCSC criou uma gama de avaliações de segurança que medem o grau de proteção dos Sistemas Operacionais Comerciais, componentes de rede, e oferecer aplicações confiáveis. O NCSC atribuiu essas avaliações de segurança em 1983 baseado no Critério de Evolução de Sistema de Computação Confiável (TCSEC) do Departamento de Defesa dos EUA (DoD). As avaliações de segurança são comumente conhecidas como o "Livro Laranja". O padrão TCSEC consiste de níveis de avaliações confiáveis, nas quais níveis mais altos de confiança constróem em níveis mais baixos, adicionando exigências de proteção mais rigorosas. Nenhum Sistema Operacional ganhou avaliação A1. Alguns Sistemas Operacionais ganharam avaliações B1, B2 e B3, incluindo variantes do HP-UX da Hp, (um sistema UNIX), Ultrix e SEVMS da Digital, OS 1100 da Unisys e IRIX da Silicom Graphics. Sistemas Operacionais que ganharam avaliação C2 incluem versões do OS/400 da IBM e o OpenVMS da Digital. O NT 3.5 (Estação e Servidor) com o Service Pack 3 (SP3) ganhou a avaliação C2 em Julho de 1995. A Microsoft , segundo consta, submeteu o NT 4.0 para avaliação do NCSC, mas o processo de avaliação leva vários anos e não está completo no momento dessa impressão. (a Microsoft primeiro submeteu o NT 3.5 em 1991). Em razão dos componentes de segurança-relacionados da arquitetura do NT 4.0 serem virtualmente idêntica àquelas na arquitetura do NT 3.5, o NT 4.0 provavelmente satisfará as exigências C2. Para ganhar uma avaliação de segurança C2, um Sistema Operacional deve implementar as seguintes características: instalação segura de logon, controle de acesso discricionário, auditoria e reutilização de proteção à objeto. Uma instalação segura de logon exige que os usuários entrem antes com uma única identificação e senha para identifica-los que concederá a eles acesso ao computador. O NT usa contas para identificação de usuários e senha-baseada de logon para seu mecanismo de autenticação default. Quando um Sistema Operacional implementa controle de acesso discricionário, ele deixa todos os recursos compartilháveis do Sistema Operacional associado com um bloco de informação que especifica quais usuários podem executar operações no recurso. Se você tem visualizado ou ajustado o campo NTFS ou o diretório de permissões ou você modificou 1 / 9

Seguranca Windows Nt

  • Upload
    jmqant

  • View
    216

  • Download
    2

Embed Size (px)

DESCRIPTION

Segurança Windows NT

Citation preview

Page 1: Seguranca Windows Nt

Segurança no Windows NTIntrodução Segurança C2

SID's - Identificadores Segurança

Logon

Fichas de Acesso

Introdução a Segurança C2

O Departamento de Defesa dos Estados Unidos (DoD) e a Agência Nacional de Segurança estabeleceram o Centro Nacional de Segurança em Computador (NCSC), para ajudar o Governo, Corporações e usuários comuns a protegerem dados proprietários e pessoais armazenados em sistemas de comutador. O NCSC criou uma gama de avaliações de segurança que medem o grau de proteção dos Sistemas Operacionais Comerciais, componentes de rede, e oferecer aplicações confiáveis. O NCSC atribuiu essas avaliações de segurança em 1983 baseado no Critério de Evolução de Sistema de Computação Confiável (TCSEC) do Departamento de Defesa dos EUA (DoD). As avaliações de segurança são comumente conhecidas como o "Livro Laranja".

O padrão TCSEC consiste de níveis de avaliações confiáveis, nas quais níveis mais altos de confiança constróem em níveis mais baixos, adicionando exigências de proteção mais rigorosas. Nenhum Sistema Operacional ganhou avaliação A1. Alguns Sistemas Operacionais ganharam avaliações B1, B2 e B3, incluindo variantes do HP-UX da Hp, (um sistema UNIX), Ultrix e SEVMS da Digital, OS 1100 da Unisys e IRIX da Silicom Graphics. Sistemas Operacionais que ganharam avaliação C2 incluem versões do OS/400 da IBM e o OpenVMS da Digital. O NT 3.5 (Estação e Servidor) com o Service Pack 3 (SP3) ganhou a avaliação C2 em Julho de 1995. A Microsoft , segundo consta, submeteu o NT 4.0 para avaliação do NCSC, mas o processo de avaliação leva vários anos e não está completo no momento dessa impressão. (a Microsoft primeiro submeteu o NT 3.5 em 1991). Em razão dos componentes de segurança-relacionados da arquitetura do NT 4.0 serem virtualmente idêntica àquelas na arquitetura do NT 3.5, o NT 4.0 provavelmente satisfará as exigências C2.

Para ganhar uma avaliação de segurança C2, um Sistema Operacional deve implementar as seguintes características: instalação segura de logon, controle de acesso discricionário, auditoria e reutilização de proteção à objeto. Uma instalação segura de logon exige que os usuários entrem antes com uma única identificação e senha para identifica-los que concederá a eles acesso ao computador. O NT usa contas para identificação de usuários e senha-baseada de logon para seu mecanismo de autenticação default.

Quando um Sistema Operacional implementa controle de acesso discricionário, ele deixa todos os recursos compartilháveis do Sistema Operacional associado com um bloco de informação que especifica quais usuários podem executar operações no recurso. Se você tem visualizado ou ajustado o campo NTFS ou o diretório de permissões ou você modificou os ajustes de segurança nas chaves Registry, você tem visto uma representação do controle de acesso discricionário do NT, o qual o NT organiza como uma lista. Os elementos da lista descrevem as ações que um usuário pode ou não pode realizar em um objeto.

Capacidade de auditoria permite que usuários autorizados coloquem sentinelas nos recursos que monitoram e gravam as falhas ou tentativas bem sucedidas dos usuários para acessar os recursos. Os editores de permissão os Registry providenciam acesso ao sistema de arquivo de implementação e para o objeto de auditoria Registry do NT. Todos os objetos compartilháveis do NT podem ter a auditoria ativada. Mas a auditoria pode introduzir sobre-leitura indesejável, então o NT desativa-a sistematicamente por default.

Para ter proteção de reutilização de objeto, um Sistema Operacional deve prevenir usuários de visualizar dados que outro usuário deletou ou de acessar memória que outro usuário previamente usou ou liberou. Por exemplo, em alguns Sistema Operacionais você pode criar um novo arquivo de um certo tamanho e então examinar o conteúdo do arquivo para ver dados que previamente ocupou a localização no disco alocado para o novo arquivo. Esses dados devem ser informação sensível que outro usuário armazenou em um arquivo e então deletou. O NT previne esse tipo de quebra de segurança pré-inicializando o arquivo de dados, memória, e outros objetos quando ele aloca-os. Se você criar um arquivo, o NT zera os conteúdos antes que você possa acessar o arquivo, o qual previne você de ver alguns dados que existiam anteriormente na localização do arquivo no disco.

Quando o NT ganhou sua avaliação de segurança C2, o Centro Nacional de Segurança em Computador também reconheceu o NT como satisfazendo duas exigências de segurança nível-B: Funcionalidade de

1 / 7

Page 2: Seguranca Windows Nt

Caminho Confiável e Funcionalidade de Facilidade de Gerenciamento Confiável. Funcionalidade de Caminho Confiável previne programas "Cavalo de Tróia" de interceptar o nome e a senha de usuário enquanto o usuário executa o logon. A Funcionalidade de Caminho Confiável do NT existe na sua forma de seqüência de logon-atenção Crtl+Alt+Del. Essa seqüência de teclas pressionadas, a Seqüência de Atenção Segura, causa o aparecimento de uma caixa de diálogo de logon do NT, o qual inicializa um processo que ajuda o NT a reconhecer os aspirantes "Cavalos de Tróia". O NT desvia qualquer "Cavalo de Tróia que apresente um diálogo de logon falso quando um usuário entra a seqüência de atenção.

O NT satisfaz a exigência de Facilidade de Gerenciamento Confiável por suportar regras de separação de conta por funções administrativas. Por exemplo, o NT provê separação de contas por administração (Administradores), contas de usuários envolvidas com o backup do computador (Operadores de Backup), e usuários padrões (Usuários). A Microsoft está segundo consta trabalhando em uma versão nível-B do NT, mas a companhia não tem feito uma declaração pública sobre quando ela deva liberar essa versão.

Se você depende da avaliação de segurança C2 do NT em suas decisões de segurança, você deve manter em mente duas importantes considerações. Primeiro, uma avaliação de segurança C2 é diferente uma certificação de Segurança C2. Sistemas Operacionais e programas ganham avaliações, mas instalações individuais devem ser certificadas. Essa distinção significa que a maioria das instalações NT não estão certificadas C2, nem eles iriam necessariamente querer que sua necessidade de ser seguro variem, e também muita segurança pode dificultar a produtividade. Você pode usar a ferramenta C2 Config do RECURSO MICROSOFT WINDOWS NT SERVER 4.0 para ajudar você a encontrar as exigências para a certificação C2. Segundo, o NT ganhou sua avaliação C2 como um sistema dedicado, sem capacidade de rede. Se você obter seu sistema C2Config C2-Certificado e liga-lo à sua LAN, seu sistema perde sua certificação C2. Sistema de segurança de uma rede-baseada é mais difícil do que segurança de uma máquina dedicada, mas se você manter atualizado com os pacotes de serviços e alertas de segurança, você pode permanecer fechado ao nível de certificação C2.

Identificadores de Segurança - (SID's)

O NT usa Identificadores de Segurança (SIDs) antes que nomes (a qual não pode ser única) para identificar entidades que executam ações em um sistema. Usuários, grupos locais e de domínio, computadores locais, domínios e membros de domínio tem Identificadores de Segurança. Um Identificador de Segurança é uma variável de valor numérico variável que consiste de um número de revisão do Identificador de Segurança, uma valor de identificador de autoridade de 48 bit, e um número variável de subautoridade de 32 bit ou valores de Identificador Relativo (RID). O valor de autoridade identifica o agente que resultou o Identificador de Segurança, e esse agente é tipicamente sistema local NT ou um domínio. Os valores de subautoridade identificam os administradores relativos para a autoridade resultante, e os Identificadores Relativos são simplesmente um meio para o NT criar Identificadores de Segurança únicos de uma base de Identificador de Segurança. Por causa dos Identificadores de Segurança serem longos e o NT tomar cuidado para a geração de valores feitos verdadeiramente dentro de cada Identificador de Segurança, ela é virtualmente impossível para o NT resultar Identificadores de Segurança duplicados em máquinas ou domínios em qualquer lugar do mundo.

Na forma de texto, cada Identificador de Segurança leva um prefixo S, e hífens separam seus vários componentes. Para ver a representação do Identificador de Segurança para qualquer conta que você está usando, execute regedit e abra a chave HKEY_USERS, como mostra a TELA 1. Essa tela contém o perfil do usuário atual e o perfil da conta default, a qual está em uso quando ninguém está logado na localmente. Na TELA 1, o Identificador de Segurança da conta corrente é s-1-5-21-1463437245-1224812800-863842198-1128. Esse Identificador de Segurança tem um número de revisão 1, um identificador de autoridade 5, (o qual representa a autoridade de segurança do NT), outro identificador de autoridade 21 (o qual identifica o Identificador de Segurança como não incorporado), três valores de subautoridade, e um Identificador Relativo (1128). Esse Identificador de Segurança é um Identificador de Segurança de domínio, mas um computador local no mundo domínio tem um Identificador de Segurança com o mesmo número de revisão, valor identificador de autoridade, e números de valores de subautoridade.

2 / 7

Page 3: Seguranca Windows Nt

TELA 1

Quando você instala o NT, o programa setup do NT resulta ao computador um Identificador de Segurança. O NT atribui Identificadores de Segurança para contas locais no computador. Cada Identificador de Segurança de conta local está baseada na fonte do Identificador de Segurança do computador e tem um Identificador Relativo no final. Os Identificadores Relativos para contas de usuários e grupos iniciam em 1000 e aumenta em incremento de 1 para cada usuário ou grupo novo. Similarmente, o NT resulta um Identificador de Segurança para cada domínio de NT novamente criado. O NT resulta novos Identificadores de Segurança de contas de domínio que estão baseados no Identificador de Segurança de domínio e tem uma Identificador Relativo apendiada (também começando em 1000 e aumentando em incrementos de 1 para cada novo usuário ou grupo). A Identificador Relativo na TELA 1 (1128) identifica aquele Identificador de Segurança como a centésima vigésima nona resultada do domínio.

O NT também define vários Identificadores de Segurança locais e de domínio incorporadas para representar grupos. Por exemplo, um Identificador de Segurança que identifica todas as contas é o Identificador de Segurança Everyone ou World: S-1-1-0. Outro exemplo de um grupo que um Identificador de Segurança pode representar é o grupo Network, o qual é o grupo que representa usuários que podem executar logon para uma máquina de uma rede. O Identificador de Segurança do grupo de rede é S-1-5-2. O NT resulta Identificadores de Segurança que consistem de um Identificador de Segurança de um computador ou de domínio com uma Identificador Relativo predefinida para muitas contas e grupos predefinidos. Por exemplo, uma Identificador Relativo para a conta do administrador é 500, e a Identificador Relativo para a conta do convidado é 501. Uma conta de administrador de um computador local, por exemplo, tem o Identificador de Segurança do computador como sua base com a Identificador Relativo de 500 apendiada para ela: S-1-5-21-13124455-12541255-61235125-500.

Logon

O NT implementa um processo de logon seguro que toma como entrada um nome de usuário e uma senha e retorna como saída para o Sistema Operacional Identificadores de Segurança que identificam a conta do usuário e a conta dos grupos a quem ele pertence. No primeiro passo do processo de logon seguro, o NT reconhece a Seqüência de Atenção Segura e os prompts de usuário para identificação e uma senha. O programa winlogon.exe é responsável por apresentar as caixas de diálogo do NT. Ao invés de conter uma interface de usuário incorporada, o Winlogon carrega a interface dinamicamente. Essa estratégia permite

3 / 7

Page 4: Seguranca Windows Nt

terceiros vendedores implementarem suas próprias interfaces de logon. Os pacotes de interfaces de logon são conhecidos como bibliotecas de Autenticação e Identificação Gráfica (GINA).

A interface de logon default, a qual apresenta a caixa de diálogo do logon que deve ser familiar para a maioria de nós, é a MSGINA (ela está localizada em winnt\system32\msgina.dll). A habilidade do NT para substituir a interface de logon permite terceiros vendedores substituir a MSGINA com uma GINA proprietária. Por exemplo, uma GINA de cliente deve reconhecer um comando de voz ao invés de Crtl+Alt+Del como a seqüência de logon, ou ela deve usar um dispositivo de exame retinal para identificar usuários. Depois dos usuários se identificarem a si mesmos para uma GINA com um nome de usuário e senha, a GINA emite a informação acumulada para o Sub-Sistema Local de Segurança e Autoridade (LSASS, em winnt\system32\lsass.exe) processo com uma mensagem de chamada de procedimento local (LPC). O Sub-Sistema Local de Segurança e Autoridade é a fronteira final para a autenticação de logon no NT. A autenticação é o mecanismo pelo qual o NT valida os nomes e senhas de usuários OOOOOOoOodkfjadfj e recupera a identificação do Identificador de Segurança que identifica o usuário. Refletindo a configurabilidade do Winlogon, o Sub-Sistema Local de Segurança e Autoridade usa uma biblioteca substituível como seu pacote de autenticação. Se você olhar para o valor do Registro de Pacotes de Autenticação HKEY_LOCAL_MACHINES\SYSTEM\CurrentControlSet\CONTROL\Lsa, você verá MSV1_0 listado como o autenticador do Sub-Sistema Local de Segurança e Autoridade (o MSV1_0 está em winnt\system32\\msv1_0.dll). Se você tem Arquivo e Serviços de Impressão para NetWare (FPNW) ou Serviços de Cliente para NetWare (CSNW), você verá um pacote de autenticação para eles também. O Sub-Sistema Local de Segurança e Autoridade chama o MSV1_0 e cede a ele o nome e a senha do usuário.

Depois, o MSV1_0 determina se a tentativa é local (sobre um grupo de trabalho ou o computador local) ou baseado em domínio.

O MSV1_0 consiste de um componente de interface, um componente de processo, e um componente chamado Netlogon, o qual será descrito brevemente. O componente de interface obtém a senha e a encripta. Se o logon é local ou direcionado em um domínio e a máquina e o logon que eles estão ocupando é um controlador de domínio, o componente de interface passa o nome e a senha do usuário para o componente de processo. O componente de processo usa as funções exportadas pela biblioteca samsrv.dll para acessar o HKEY_LOCAL_MACHINE\SAM, o qual serve como conta de base de dados local no NT, para validar o nome e a senha. A FIGURA 1 ilustra esse controle de validação local fluir.

FIGURA 1

4 / 7

Page 5: Seguranca Windows Nt

O HKEY_LOCAL_MACHINE\SAM, o qual é também conhecido como a base de dados do Gerente de Contas de Segurança (SAM), é por default não visível mesmo de uma conta de Administrador. Consequentemente, o conteúdo e a disposição do Gerente de Contas de Segurança são um mistério para a maioria das pessoas. Olhando dentro do Gerente de Contas de Segurança provavelmente não fornecerá a você nenhuma informação útil. Se você alterar os ajustes de segurança do Gerente de Contas de Segurança (faça somente em um ambiente não-produtivo) e abri-lo, você verá alguma coisa como mostra a TELA 2. Na TELA 2 você pode ver as chaves de domínio, as quais contém toda informação da conta local abaixo dela. Se a máquina é um controlador de domínio, as chaves de domínio contém informação sobre a conta-domínio e número de membros do computador também.

TELA 2

Abaixo da Sub-chave Conta, você achará informação pertinente às aliases não-incorporadas, contas, grupos, e computadores. Na TELA 2, você pode ver três contas inseridas (Administrador, Convidado, e Joe) abaixo de Conta\Usuários\Nomes. Três sub-chaves abaixo de Conta\Usuários tem nomes numéricos. As chaves com nomes numéricos correspondem diretamente aos nomes de contas abaixo da sub-chave Nomes, e os nomes numéricos dessas chaves são os Identificadores Relativos das contas (por exemplo, a conta do Administrador tem um Identificador Relativo de 000001F4, o qual é uma representação hexadecimal de 500). Para as chaves do nome do Identificador Relativo, você achará dois valores, F e V, que contém a descrição da conta, política de senha, senha (encriptada), e o Identificador de Segurança. Logicamente, todas essas informações estão em um formato não documentado e mudará no NT 5.0. A subchave Embutida é um espelho da sub-chave Conta, mas a Embutida também contém informação para aliases, grupos, e contas que estão incorporadas no NT. A menos que você tenha um sistema de segurança não padrão, você achará nessas sub-chaves apenas informação de alias incorporada que descrevem quais contas são membros de aliases. Por exemplo, abaixo da sub-chave Embutida você achará Administradores, Usuários Poderosos, Operadores de Backup, e outras aliases.

Para validar um logon de usuário, o MSV1_0 procura a conta de logon especificada no Gerente de Contas de Segurança e compara a senha do usuário digitada com a qual ele acha no Gerente de Contas de Segurança. Se a informação corresponder, o MSV1_0 valida o usuário, obtém os Identificadores de Segurança da conta e dos grupos aos quais a conta pertence, e retorna esses Identificadores de Segurança para o componente de interface, o qual por sua vez passa os Identificadores de Segurança devolta para o Sub-Sistema Local de Segurança e Autoridade. O Sub-Sistema Local de Segurança e Autoridade

5 / 7

Page 6: Seguranca Windows Nt

finalmente obtém uma lista de privilégios associados com a conta e os grupos. Um exemplo de privilégio é o Usuário poder reinicializar o computador. O NT armazena a lista de privilégios no HKEY_LOCAL_MACHINE\SECURITY. Como o Gerente de Contas de Segurança, a base de dados de segurança está perfeitamente trancada. O fluxo do controle de logon é diferente se o logon do usuário está direcionado em um domínio e a máquina do usuário não é um controlador de domínio ou se o logon está direcionado em um domínio seguro. A FIGURA 2 mostra o fluxo do controle de logon remoto. O componente de interface MSV1_0 apresenta o nome do usuário e a senha encriptada para o componente de processo, o qual dispõe o nome do usuário e a senha encriptada para o componente Netlogon.

FIGURA 2

O Netlogon (winnt\system32\netlogon.dll) envia a informação para o MSV1_0 em um servidor (chamado através de um processo chamado discovery (descobrimento)) para o domínio que o logon está almejando; esse servidor também tem uma instância de MSV1_0 rodando nele. O Netlogon no servidor alvo está atento para os requisitos de autenticação da rede. Quando ele recebe uma requisição, ele entrega a informação para o componente de processo do MSV1_0. O componente de processo executa a mesma autenticação e os passos de recuperação do Identificador de Segurança como para logons local, mas ele dispõe a informação para o Netlogon no servidor alvo, o qual retorna a informação para o Netlogon do computador de origem. Finalmente, o Netlogon de origem retorna seus resultados para o componente de interface do MSV1_0, o qual retorna o resultado para o Sub-Sistema Local de Segurança e Autoridade. Foi descrito apenas logons interativos, nos quais um usuário senta em um computador e digita um nome uma senha de usuário, mas o fluxo de controle é o mesmo para logons não-interativos. Por exemplo, quando um serviço Win32 (um processo daemon) roda no contexto de uma conta de usuário específica, o serviço acessa o computador usando informação de nome de conta e senha, as quais o serviço armazena com seus outros parâmetros de configuração. A diferença de logons interativos e não-interativos é que um logon interativo resulta na criação de uma estação window interativa, com uma Interface Gráfica Única de desktop com a qual programas podem interagir. Você pode imaginar logons não-interativos como logons "acéfalos" .

Fichas de Acesso

Se a porção de interface do MSV1_0 retornar um resultado para o Sub-Sistema Local de Segurança e Autoridade que confirma um logon bem sucedido, o Sub-Sistema Local de Segurança e Autoridade deve criar uma ficha de acesso. Uma ficha de acesso armazena toda a informação do MSV1_0 acumulada, incluindo o Identificador de Segurança da conta, os Identificadores de Segurança do grupo, os privilégios coletivos, e o nome da conta. Uma ficha de acesso é uma descrição completa de um usuário do ponto de vista de segurança do NT, e o NT anexa uma cópia das fichas à todos os processos que o usuário executa. Por exemplo, quando alguém executa um logon interativo, o Winlogon executa um programa shell (na maioria dos casos Explorer) e se adianta anexando ao processo shell a ficha de acesso que o Sub-Sistema Local de Segurança e Autoridade retornou através da Autenticação e Identificação Gráfica. Quando o Sub-Sistema Local de Segurança e Autoridade cria a primeira ficha, o usuário está oficialmente logado. Se o usuário iniciar outro programa, assim como o Word, pelo Explorer, o processo do Word é anexado e obterá

6 / 7

Page 7: Seguranca Windows Nt

uma cópia da ficha de acesso. Quando o Sub-Sistema Local de Segurança e Autoridade fecha a última ficha pertencente à um usuário, o usuário está oficialmente deslogado. A FIGURA 3 descreve um conteúdo lógico da ficha de acesso. Quando um processo tenta acessar um objeto, assim como um arquivo, chave de Registro, pipe nomeado, ou mesmo um objeto de sincronização não nomeado, o sub-sistema de Segurança de Referência de Monitor usa a ficha de acesso do processo para determinar se permite o acesso.

FIGURA 3

7 / 7