Segurança e auditoria de sistemas Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Windows Baseado no material da Prof. Alice Diniz – Faculdade Cenecista de Varginha MG Origem e história A Microsoft começou o desenvolvimento de um Gerenciador de Interface (subseqüente renomeado Microsoft Windows) em setembro de 1981. O Windows só começa a ser tecnicamente considerado como um SO a partir da versão Windows NT, lançada em Agosto de 1993. O que havia antes eram sistemas gráficos sendo executados sobre alguma versão dos sistemas compatíveis com DOS, como MS-DOS, PC-DOS ou DRDOS. Somente o MS-DOS era produzido pela própria Microsoft. O MS-DOS é um sistema operacional que não dispõe de interface gráfica, funciona através de comandos introduzidos no teclado pelo usuário. O Windows surgiu inicialmente como uma interface gráfica para MS-DOS que permitia executar programas em modo gráfico e fez uso do mouse, que até à altura era considerado supérfluo em computadores de tipo IBM-PC. Familia windows Windows 1.x Era uma interface gráfica bidimensional para o MS-DOS e foi lançado em 20 de Novembro de 1985. Primeira tentativa de criar um sistema multitarefas Windows 2.x lançado em 1 de Novembro de 1987 e praticamente tem a mesma interface do Windows 1.0x, com a diferença de apresentar mais recursos, ferramentas e maior paleta de cores Familia windows Windows 3.x Foi o primeiro sucesso amplo da Microsoft e foi lançado em 22 de Maio de 1990 Era um sistema gráfico de 16 bits, mas ainda precisava ativar primeiro o MS-DOS para ativar o Windows. Substituiu o MS-DOS Executive pelo Gerenciador de Programas e o Gerenciador de Arquivos que simplificavam as aplicações e tornava o sistema mais prático. Melhorou bastante a interface, o gerenciamento de memória e o sistema multitarefa e incluiu o suporte às fontes True Type. Conseguiu ultrapassar o limite de 1 MB do MS-DOS e permitiu a utilização máxima de 16 MB de aplicações Windows for Workgroups 3.10 - foi lançada 28 de Outubro de 1992, e era praticamente o Windows 3.10 com suporte a rede, fax-modem e correio eletrônico Familia windows Windows NT Lançado pela pela Microsoft em 1993 com o objectivo principal de fornecer mais segurança e comodidade aos usuários, pois as versões do Windows disponíveis até então não eram suficientemente estáveis e confiáveis. Foi um sistema de 32 bits, multitarefa e multiusuário Completamente remodelado Arquitetura baseada em microkernel Cogita-se que parte foi baseado no OS/2 Familia windows Windows 95 Lançado em Agosto de 1995 Mudança radical na interface Limitações de memória do windows 3.x removidas Windows 98 Lançado em 25 de Junho de 1998 Corrigidas muitas falhas do antecessor Maior novidade era completa integração com a Internet Familia windows Windows 2000 Lançado em Fevereiro de 2000 Também chamado de Windows NT 5 Sofreu problemas de aceitação no mercado devido a falhas de segurança Sistema de gerenciamento de usuários baseado em LDAP chamado pela Microsoft de Active Directory Windows 2003 Lançado em 24 de Abril de 2003 Corrige diversos problemas do Windows 2000 Usado em servidores de missão crítica Possui diversos recursos que garantem segurança e estabilidade Versões: Web Edition, Standard Edition, Enterprise Edition, Data Center Edition e Small Business Server (32 e 64 bits). Familia windows Windows XP Lançado em 25 de Outubro de 2001 Mudança radical na interface Voltado ao usuário doméstico Considerada a melhor versão para esses usuários Windows Vista Lançado em 30 de Janeiro de 2007 Versão mais nova no mercado Não foi amplamente aceita Windows 2008 Windows Seven Estrutura do sistema Estrutura do sistema operacional Win32 program Win32 subsystem System Interface System Service Obj ProcessMemorySecurity Cache Power Config Kernel HAL Hardware Estrutura do sistema Kernel mode Modo que roda somente os serviços mais críticos e de baixo nível HAL : Apresenta o hardware como um dispositivo abstrato (winnt/system32/hal.dll) ex) Serviço de interrupção definir prioridade em um dispositivo Estrutura do sistema Kernel : apresenta independencia completa de hardware ex) salvar registradores de CPU, flush CPU table Serviços de sistema: aceitar requisições do sistema Microkernel: apenas os serviços mais básicos são implementados, os outros são implementados por programas externos que podem acessar partes do kernel Perigo!!! Estrutura do sistema User mode : proporciona a cada processo do usuário uma interface para chamadas de sistema Subsistemas de ambiente = win32 API (application programming interface) System Interface : DLL (dynamic link libraries) Service processes Gerenciamento de dispositivos Interrupções Direct memory access (DMA) I/O Memory Estrutura de arquivos Sistemas de arquivos FAT FAT 32 NTFS Case insensitive Registro Registro Não altere ele manualmente se você deseja utiliza a máqina novamente… Directory (key) Entry : name, type, value CLSID (Class Identifier) Identificadores únicos do sistema que apontam para um componente COM Entidades Sistema baseado em eventos Três entidades principais: Programas Janelas Mensagens Formato da mensagem: Timestamp Identificador da mensagem Identificador da janela (window handle) Dois ou mais campos para a mensagem em si Boot Booting Boot sector : primeiro setor da partição contendo o boot do OS e ntldr ntldr procura boot.ini para obter informações de configuração ntoskrnl.exe, e bootvid.dll são carregados. Finalmente ntldr carrega todos os drivers necessários e finaliza o boot (carrega mouse, teclado, etc) winlogin.exe, Segurança Winlogin.exe cria lass.exe (authentication manager) e services.exe (olha no registro e carrega serviços) Services : Printer server, File server, Telnet Daemon, DNS resolver, Event logger, Plug-and-play manager Segurança User SID (security ID) Processos possuem um access token Header Expiration time Groups Default CACL User SID Group SID Restricted SID Privilege Segurança Security descriptor Owner’s SID Group SID DACL SACL Deny access List System Access Control List Implementação: Winlogon.exe processa inicialmente o access token lass.exe decide no login busca no registro o perfil de usuário correto e então inicia services.exe com o acccess token Processos subsequentes herdam o access token do pai Threads herdam o access token do seu processo Proteção Por que proteger o windows? Bugs : todos softwares contém bugs Intrusos : Crackers usam vulnerabilidades no sistema para invasão Virus : antivirus Violação de privacidade: spyware Proteção Como proteger Service pack Windows update Hotfixes Microsoft Baseline Security Analyzer Antivirus Firewall Anti-spyware Proteção Uso de politicas de segurança nativas Limitar o acesso de Administrador Não logar o tempo inteiro Usar run-as Desligar serviços não usados Auditar logs Cuidados com os serviços IIS Segurança física Desligar o servidor Crackear o AD Rebootar sistema com CD específico para ler arquivos NTFS