Evolução Histórica Dos Sistemas Operacionais/Continuação
Pesquisas Acadêmicas: Evolução Histórica Dos Sistemas Operacionais/Continuação. Pesquise 862.000+ trabalhos acadêmicosPor: • 22/3/2014 • 3.439 Palavras (14 Páginas) • 278 Visualizações
Prova: por inspeção
Corolário 1.1 Um programa relativo a segurança possui bugs de segurança.Teorema 2 Se você não executar um programa, não importará se ele possui ou não bugs.
Prova: como em todos os sistemas lógicos, (falso ==> verdadeiro) = falso.Corolário 2.1 Se você não executar um programa, não importará se ele possui ou não bugs de segurança.
Teorema 3 Máquinas expostas devem rodar tão poucos programas quanto possível; os que rodarem, devem ser tão pequenos quanto o possível.
Prova: corolários 1.1 e 2.1
Corolário 3.1 (Teorema Fundamental dos Firewalls) A maioria dos hosts não consegue atender às nossas necessidades: eles rodam programas demais que são grandes demais. Desta forma, a única solução é isolar atrás de um firewall se você deseja rodar qualquer programa que seja.
(Firewalls and Internet Security: Repelling the Wily Hacker William Cheswick /Steven Bellovin)
A instalação do IIS em si é uma das fases que mais preocupa. A instalação PADRÃO dele coloca muita coisa sem utilidade, e diversos componentes susceptíveis a ataque e invasão no servidor. Todo cuidado deve ser tomado nesta fase.
A instalação deve IGNORAR componentes de exemplo, os sites de tutorial, e principalmente, as ferramentas de gerência em HTML. APENAS o servidor Web deve ser instalado. Caso demais serviços sejam necessários, como servidor de FTP ou SMTP, apenas estes componentes devem ser selecionados, e até a documentação deve ser deixada de fora. Se existe a necessidade de experimentar, brincar com o servidor (testes) ou ler a documentação, faça-o em um computador separado, especificamente para esta função.A Microsoft também publicou ferramentas de gerência de servidores Windows NT / 2000 através de páginas web, ou do IIS. Estas ferramentas devem ser ignoradas sumariamente, inclusive a quem vem com o próprio IIS.
Considerações sobre Ambiente de Desenvolvimento
Uma das principais falhas encontradas em servidores de produção são ambientes usados também para desenvolvimento, em um mesmo servidor. Servidores de desenvolvimento devem ser completamente isolados da Internet, e serem específicos para esta finalidade. Servidores de produção devem possuir apenas componentes usados na produção, não no
desenvolvimento do site ou de aplicações. A grande maioria das ferramentas de desenvolvimento "abre" demais a segurança em favor da agilidade no desenvolvimento.
Patches e atualizações
A correta instalação de atualizações e patches de segurança é fundamental e requisito básico para um servidor seguro.
Alerter
Permite a emissão de alertas sob determinadas condições.Computer Browser
Permite que o computador participe de eleições para master browser de uma rede. Divulga informações para possíveis invasores, por exemplo, se o servidor é ou não o master browser de uma rede, o que pode potencialmente revelar se o servidor é um controlador de domínio.
Indexing Service / Index Server
Serviço que cria índices de documentos para pesquisa mais rápida. Um dos principais calcanhares de aquiles do Windows em termos de segurança. Não deve ser usado.
MessengerPermite o envio de mensagens ou noticias de computador para computador, via NetBIOS. Pode ser usado para revelar nomes de usuários válidos para um potencial ataque de força bruta.
Network DDEAntigo serviço que usa a infra-estrutura NetBIOS. possui diversas falhas de segurança. Print SpoolerSpool de impressão. Pode ser usado em um ataque DoS.Remote Registry
Permite a modificação remota do registro, assim como a importação de políticas a partir de um controlador de domínio. Caso possua o MS Exchange não pode ser parado.
ServerFuncionalidade básica da rede Microsoft, é responsável pela funcionalidade NetBIOS / SMB. Os compartilhamentos de rede, por exemplo, é uma de suas funções.Em servidores Internet, definitivamente não deve ser usado.
Task Scheduler (usado apenas no Windows NT ou no 2000)Permite o agendamento de tarefas e pode ser usado para executar remotamente comandos. Não deve ser parado no Windows XP, pois o mesmo usa este serviço para manutenções internas do sistema.
Telnet
Servidor de TELNET. O TELNET não deve ser usado em nenhum sistema operacional, nem mesmo em UNIX, quanto mais em NT / 2000 / XP. Após a parada deste serviço, deve-se ir ao painel de controle, adicionar e remover programas, Instalação do Windows, e remover todos os componentes desnecessários.
Configuração Internet Information Server
A primeira coisa que deve ser feita após a instalação do IIS é a parada ou remoção do site web padrão (Default Web Site). Para isto: Deve ser mudada a porta do site para qualquer outra que não esteja sendo usada, como 8888 por exemplo, e que esteja sendo convenientemente filtrada no firewall. Em Segurança (Security) deve se configurar o site padrão para ser somente acessado com autenticação integrada (desmarque qualquer outra opção); Também deve ser configurado o site para não ser acessado por nenhum endereço IP, nem mesmo 127.0.0.1, colocando Deny, e não configurando nenhum IP na lista; finalmente, deve ser parado o site. Assim, estaremos com uma configuração quase pronta para receber o novo site. Cria-se um novo site web, de preferência em um disco isolado (partição lógica) apenas para esta finalidade (ao instalar o Sistema Operacional, é uma ótima prática instalá-lo em uma partição, e deixar outra para dados separada). Tenha certeza de criar um diretório que não participe de uma estrutura já existente, para ser o root do site web. Uma vez configurado o site, na porta 80, configure-o também para funcionar apenas no endereço IP que deve (e não "All unasigned"). Agora, devemos configurar as extensões que o servidor irá interpretar. Devem ser removidas todas e quaisquer extensões que não estão em uso, e, inclusive, as extensões usadas pelo Index Server.Exemplo de extensões a remover: .htm, .idq, .htr, .idc, .printer. Percebe-se que a remoção das extensões deve ser realizada para cada site criado (caso exista mais de um). Ainda sobre o Index Server, deve ser desmarcado a opção "Index this resource" na tab "Home Directory". Ainda nesta tab, especial atenção deve ser dada a opção "Write" que não deve ser usada. Nas permissões de execução, deixe "Scripts Only". Caso a permissão de execução seja necessária, o faça em um diretório separado, e sem direito de leitura ou escrita. Uma ótima prática também e usar o recurso de espaço de memória separada. Entretanto, algumas aplicações não funcionarão. Neste caso, é uma questão de tentativa e erro.
FrontPage Extensions As extensões de FrontPage são uma fonte maravilhosa para hackers e defacers. Deve-se procurar evitar utilizá-las. Caso não seja possível, é uma boa medida é baixar do site da Microsoft a versão mais atual, e, no momento da instalação, ao ser perguntado sobre a segurança, responda que deseja manter o nível mais alto.
FirewallUm quesito muito importante, para qualquer computador com serviços Internet, é estar atrás de um Firewall corretamente configurado. Obviamente, como estamos falando de um servidor Web, que geralmente usa a porta 80, apenas esta porta deve estar liberada, nenhuma outra. Muitos utilizam o Terminal Service do Windows 2000 / XP para gerência remota. Se for o caso, deve ser liberado a porta 3389/tcp apenas para os IPs ou redes que podem realizar tal gerência. Apesar de não existirem ataques conhecidos que permitam invadir um computador pelo Terminal Service, existem ataques DoS que podem tirar o servidor do ar. Personal Firewalls devem ser evitados. Muitos deles são eficientes, mas apenas para uso em estações de trabalho. Em servidores de alto tráfego, os Personal Firewalls podem ter um impacto negativo muito grande na performance de rede do servidor. Caso as medidas acima sejam implementadas, será muito difícil para alguém invadir o servidor.
Gerência de Processos
Um processo representa uma unidade de propriedade de recursos e de trabalho a ser realizado. É um dos meios que o sistema operacional dispões para organizar as muitas tarefas que ele precisa realizar. No Windows NT, a parte do sistema operacional responsável pela criação, gerenciamento e exclusão de processos é implementada pelo gerenciador de processos que fornece um grupo de serviços nativos de processo que os subsistemas de ambiente possam usar para emulas as estruturas de processos que lhes são únicas. Esta meta evoluiu com o objetivo do NT de proporcionar vários ambientes de sistema operacional que podem ser executados no modo usuário. Os processos nativos do NT têm como caracterýsticas que o diferenciam dos processos de outros sistemas operacionais:
São implementados como objetos e são acessados usando serviços de objeto;
Pode ter vários threads sendo executados em seu espaço de endereçamento.
Tanto os objetos de processo quanto os objetos de thread têm capacidade interna de sincronização.
O gerenciador de processos do NT não mantém relacionamento pai/filho nem nenhum outro tipo de relacionamento entre processos por ele criado.
Se abstrairmos, um processo no Windows NT compreende o seguinte:
Um programa executável, que define códigos e dados iniciais.
Um espaço de endereçamento privado, que é um conjunto de endereços de memória virtual que o processo pode usar.
Recursos do sistema, como semáforos, portas de comunicação e arquivos, que o sistema operacional aloca ao processo durante a execução do programa.
Pelo menos um thread (linha de execução).
Estrutura dos Processos
No Windows NT, desenvolvedores que escrevem aplicações em Win32, MS-DOS e POSIX nunca vêem os threads e processos nativos do NT. O subsistema Win32 e outros subsistemas protegem os programadores desses threads e processos, criando ambientes personalizados onde um programador do Win32 vê apenas processos relacionados ao Win32, um programador de POSIX vê apenas processos relacionados ao POSIX e assim por diante. Uma das principais tarefas de um subsistema de ambiente do Windows NT é emular a API que as aplicações clientes do subsistema estão esperando (as APIS Win32 ou POSIX, por exemplo). Uma outra importante função é implementar as estruturas de processo exigidas por esses clientes. Os recursos necessários a um ambiente típico são:
Criar e terminar processos e linhas.
Registrar e manter relacionamentos entre processos.
Efetuar operações (tanto locais quanto em rede) em nome de um processo cliente.
Ler, gravar e manipular o espaço de endereçamento de um processo cliente.
Interromper um thread cliente, possivelmente alterando seu contexto no modo usuário e reiniciando-a.
Capturar e lidar com exceções geradas pelos processos clientes.
Impedindo Uso Inadequado
Para impedir o uso inadequado, o sistema de segurança do Windows NT (especificamente seus mecanismos de proteção ao objeto) assegura que tais operações serão sempre cuidadosamente controladas. No nível mais básico, os subsistemas de ambiente do Windows NT são simplesmente processos ordinários. Uma vez que virtualmente todos os processos do modo usuário são criados por subsistemas de ambiente, estes controlam as ações de todos os processos usuários do sistema.
Espaço de Endereçamento
O NT utiliza, entre outros recursos, a implementação da Memória Virtual para manter cada processo em seu espaço de endereçamento sem que haja interferência entre os processos. Toda vez que um processo usa um endereço de memória, o sistema de memória virtual traduz o endereço para um endereço físico. Ele também impede que os processos acessem diretamente a memória ocupada por outros processos ou pelo sistema operacional. Para executar o código do sistema operacional ou para acessar a memória do sistema operacional, um thread tem de estar sendo executado no modo irrestrito do processador (modo kernel).
Coleção de Recursos
Cada processo está anexado um conjunto de diversos recursos do sistema. A Ficha de Acesso descreve as informações de segurança relacionadas ao processo. Também vemos uma série de estruturas de dados criadas pelo gerenciador de memória virtual (VM) para indicar os endereços virtuais utilizados pelo processo. O processo não pode ler nem alterar diretamente estas estruturas; o gerenciador de memória virtual cria-as e modifica-as indiretamente quando o processo aloca memória. A tabela de objetos indica que o processo está executando em um único thread, está com um arquivo aberto e utilizando uma seção de memória compartilhada.
Gerência de Memória
Trabalhando com mecanismo de gerência de memória virtual (VM Menager) o Windows NT viabiliza uma forma flexível e eficiente para operacionalização de eventos neste mecanismo. Usando técnicas de paginação, o espaço de endereçamento virtual é mapeado no espaço de endereçamento físico através da lógica do processador. Neste mecanismo, a gerência de memória implementa a técnica de paginação, que é responsável por manter em memória física somente parte da memória virtual em uso. Especificamente no Windows NT, o tamanho da página é definido em função do tipo de processador, permitindo que a variação seja de páginas de 4 a 64 Kbytes. Sendo assim tanto a memória virtual como a memória física são divididas em blocos com o mesmo tamanho. O conjunto de frames que um processo possui em determinado instante de tempo na memória principal e denominado working set. Quando um programa execute, parte de seu código e/ou dados esta no working set, enquanto que o restante e deixado em disco. Embora algumas paginas estejam no working set do processo e, consequentemente, na mem6ria principal, elas ainda estão escritas em termos de endereços virtuais e, portanto, sues instruções precisam ser mapeadas antes de serem executadas pelo processador. Cada página da mem6ria virtual "era, na tabela de paginas, um registro denominado Page Table Entry (PTE). Todo PTE tem, entre outras informações, um bit que indica se a pagina associada aquela PTE esta ou não no working set (bit de validade). O PTE também indica que uma pagina não se encontra no working set do processo, mas pode ser recuperada com seu conteúdo intacto, através do flag de transição (transition flag). Alem disso, o PTE possui flags que permitem implementar a proteção ao nível de pagina. Sempre que uma pagina e referenciada, o bit de validade da entrada da tabela de paginas correspondente e verificado. Caso ele esteja ligado indicara que esta e uma pagina valida, pode esta no working set. Desta forma o sistema poderá localizar a pagina na memória real, através das demais informações contidas no PTE. Por outro lado, se o bit de validade não estiver ligado, significara que esta e uma pagina não-valida, não pertencendo ao working set do processo. Neste cave, podemos dizer que ocorreu um page fault, que e a exceção gerada quando uma pagina referenciada não esta no working set. Quando isto acontece, o sistema se encarregara de trazer a pagina pare o working set, atualizar o PTE e executar novamente a referencia a pagina, que agora será valida. No caso da referência a uma página válida, o processador deve traduzir o endereço virtual gerado pelo programa em um endereço físico. A memória virtual é então dividida em blocos de memória virtual denominados de páginas virtuais, enquanto a memória física é dividida em blocos de células denominados páginas físicas. O mecanismo de mapeamento através de uma tabela de páginas realiza então o mapeamento de ambas as memórias.
Sistemas de Arquivos
CD-ROM File System (CDFS)
O sistema de arquivo CDFS foi desenvolvido pare o Windows NT pare implementar leitura em dispositivos de CD-ROM.
File Allocation Table (FAT)
O sistema de arquivo FAT foi desenvolvido pare sistemas baseados em MS-DOS e posteriormente utilizados no MS-Windows e OS/2. O FAT tem pouca preocupação com desempenho e segurança, sendo que nomes de arquivos estão limitados a oito caracteres, um ponto e mais três caracteres de extensão.
High-Performance File System (HPFS)
Desenvolvido pare sistemas OS/2, o sistema de arquivo HPFS possui major compromisso com desempenho e segurança que o sistema FAT. Nomes de arquivos nesse ambiente podem ter no máximo 254 caracteres.
Windows NT File System (NTFS)
O sistema de arquivo NTFS foi projetado especialmente pare o Windows NT com o intuito de oferecer alto grau de segurança e desempenho. A seguir destacamos suas principais características: nomes de arquivos podem ter no máximo 255 caracteres, incluindo brancos; nomes de arquivos FAT podem suportar ate 255 caracteres; partições NTFS dispensam o uso de ferramentas de recuperação de erros; implementa proteção de arquivos e diretórios mas não implementa encriptação; menor partição recomendada e de 50 Mbytes; - não pode ser implementado em disquetes; reduz a fragmentação no disco, na medida em que tenta sempre utilizar espaços contíguos de disco pare a gravação de arquivos. O recurso de nomes de arquivos longos (long file name—LFN) implementado no NTFS pode ser estendido pare partições FAT. Aplicações que não permitem visualizar nomes longos poderão ter acesso aos arquivos e diretórios através de um codinome (alias), criado pelo Windows NT.
Windows XP
A denominação XP vem da palavra exPerience. O Windows XP foi idealizado com o objetivo de unificar, em torno de um único produto, seu mercado corporativo com seu mercado de usuários domésticos. Na realidade, essa unificação é feita através de duas versões do Windows XP: o Windows XP Personal Edition, destinado ao mercado doméstico, que substitui o Windows 95, 98, Millenium, NT (versão workstation); e o Windows XP Professional Edition, voltado ao mercado corporativo que substitui o NT nas suas versões server.
As principais novidades introduzidas pelo Windows XP estão relacionadas com mecanismos de proteção ao sistema de arquivos e conectividade à Internet. Sob o ponto de vista de proteção do sistema de arquivo, o Windows XP impede que arquivos antigos substituam versões mais recentes. No caso de drivers de dispositivos, é possível restaurar a versão anterior na eventualidade da instalação de um driver mais recente apresentar problemas. O suporte à proteção, na presença de múltiplos usuários, foi estendida em relação aos mecanismos oferecidos pelo Windows 98 e pelo Windows Millenium embutidos em seu próprio núcleo. Em relação à conectividade em rede, quando conectado à Internet, o Windows XP oferece ao usuário algumas funcionalidades típicas de firewall embutidas em seu próprio núcleo. Além disso, uma série de ferramentas buscando simplificar o uso do Windows por usuários leigos forma introduzidas, como por exemplo, gravação de cdrom diretamente a partir do Windows Explorer, emprego de temas para tela de fundo, atualizações automáticas, mecanismos para publicação de arquivos de imagens e de texto na Internet, entre outros.
Entre as novidades do Windows XP, está ainda um mecanismo de proteção como pirataria denominada de WPA (Windows Product Activation). Seu funcionamento á baseado na criação de um código único, válido apenas para o computador no qual o Windows XP é instalado. Esse código é criado no momento da instalação e é obtido através de identificadores próprios únicos a cada computador, tais como número de série da BIOS, do disco rígido, o endereço físico da placa de rede (endereço MAC), etc. Esse código é então informado à Microsoft, que imediatamente gera e reenvia um código de liberação para o uso do Windows XP. Ambos os códigos, o gerado na instalação e o código de instalação, são cadastrados na Microsoft. Sempre que houver uma modificação de hardware da máquina, ou a tentativa de burlar o sistema de ativação do Windows XP, o usuário deverá repetir o procedimento de ativação do Windows XP ou seja, recontactar a Microsoft e gerar uma nova chave de ativação. Esse procedimento criou, na comunidade de usuários, muita controvérsia devido a rumores de que a Microsoft aproveitava-se dele para obter informações adicionais sobre a configuração da máquina, como por exemplo, os softwares instalados. Essa polêmica levou à análise das transações realizadas, pelo mecanismo WPA por consultores independentes que concluíram que apenas o código de ativação é enviado à Microsoft.
O Windows XP foi desenvolvido com a preocupação de manter a compatibilidade com várias aplicações já existentes para a família Windows, principalmente jogos e multimídia. A Microsoft divulgou que todos os aplicativos existentes para Windows 98, Millenium e Windows NT continuarão a funcionar normalmente no Windows XP. A mesma preocupação de compatibilidade existe a nível de hardware, assim sendo, o Windows XP dispõe de uma grande gama de drivers para os mais diversos periféricos. Além disso, é possível instalar em uma máquina Windows XP drivers existentes para outras versões da família Windows.
As diferenças entre as versões Windows XP Personal Edition e Windows XP Professional Edition estão relacionados com desempenho e atividades de gerenciamento. A versão Professional explora o multiprocessamento real oferecido pelas máquinas multiprocessadoras, ao passo que a versão Personal é otimizada para máquinas monoprocessadoras.
Sob o ponto de vista do Sistema Operacional, o Windows XP é um Sistema Operacional de 32 bits e herda em muito a arquitetura NT 5.0. As modificações, segundo a Microsoft, estão em otimizações de algoritmos básicos e nas estruturas de dados internas ao núcleo. Essas melhorias fazem com que o Windows XP apresente um desempenho melhor que seus antecessores. O Windows XP, assim como o Windows 2000 (NT 5.0), não fornece a capacidade de realizar boot em modo DOS. A compatibilidade com aplicativos que rodam sob DOS (como o Clipper) é feita exatamente da mesma forma que no Windows 2000, ou seja, através de um emulador DOS.
CONCLUSÃO
Através do assunto descrito neste trabalho, pode-se verificar que os sistemas operacionais Linux e Windows, seja ele da versão 2000 ao XP, são sistemas operacionais que atendem a maioria dos requisitos fundamentais para suprir as necessidade de diferentes classes de usuários que possuam ou não um alto grau de conhecimento em informática.
Cada Sistema Operacional estudado, possui características um pouco diferentes em relação ao gerenciamento de memória, escalonamento, sistemas de arquivos e segurança. No Windows percebemos, alguma semelhança entre suas versões, algumas melhoradas ou adaptadas para a próxima versão que seria lançada, mas em geral, todos os Sistema Operacionais criados seguiram uma linha de desenvolvimento que favoreça o usuário, que na verdade é o maior beneficiário dessa tecnologia.
BIBLIOGRAFIA
JENNING, Roger. Usando Windows NT SERVER 4 – 3ª Edição. Rio de Janeiro, 1997.
www.unicamp.br
www.ufrn.br
www.microsoft.com.br
www.babbo.com.br
www.boadica.com.br
www.lunixit.com.br
...