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