WordPress.com



UNIVERSIDADE EST?CIO DE S? LET?CIA MARTINSMAITH? RODRIGUESMARCELA ROSATAYNA BARROSOVULNERABILIDADE EM SISTEMA OPERACIONALRIO DE JANEIRO 2015UNIVERSIDADE EST?CIO DE S? LET?CIA MARTINSMAITH? RODRIGUESMARCELA ROSATAYNA BARROZOVULNERABILIDADE EM SISTEMA OPERACIONALTrabalho apresentado à disciplina de Seguran?a da Informa??o do Curso técnico de informática para Web da Universidade Estácio de Sá como requisito parcial para avalia??o bimestral.RIO DE JANEIRO 2015VULNERABILIDADE EM SISTEMA OPERACIONALResumo:Este módulo trata dos principais aspectos de vulnerabilidade em sistema operacional. Inicialmente s?o apresentados conceitos básicos de seguran?a;em seguida, s?o descritos aspectos conceituais e mecanismos relacionados à autentica??o de usuários, controle de acesso a recursos e servi?os, integridade e privacidade do sistema operacional, das aplica??es e dos dados armazenados. VULNERABILIDADE EM SISTEMA OPERACIONALSumário:Vulnerabilidade ..................................................................................................5Vulnerabilidades do Windows...........................................................................5.5Buffer Overflow.................................................................................................5.5Exemplo.................................................................................................5.6Prote??o contra Buffer Overflow............................................................7.7Prote??o ponteiro...................................................................................7.7Cross-site scripting (xss)......................................................................................9Ataque....................................................................................................9.9N?o persistente......................................................................................9.9Prote??o...............................................................................................9.10Valida??o de Entrada...........................................................................9.10Valida??o de Saída............................................................................10.11Vírus Lovsan......................................................................................................11Sintomas da infec??o.........................................................................11.11Erradicar o vírus.................................................................................11.11Worm-Vírus........................................................................................................13Combatendo o worm-vírus.................................................................13.13Observa??o........................................................................................13.14Vulnerabilidade Mac..........................................................................................15Ataques dirigidos................................................................................15.15Infec??es de redes Mac-PC...............................................................15.15Vulnerabilidade Linux.........................................................................................16Conclus?o..........................................................................................................18Referencias Bibliográficas ................................................................................19VulnerabilidadeEm?seguran?a de computadores, uma?vulnerabilidade?é uma fraqueza que permite que um?atacante?reduza a?garantia da informa??o?de um sistema. Vulnerabilidade é a interse??o de três elementos: uma suscetibilidade ou falha do sistema, acesso do atacante à falha e a capacidade do atacante de explorar a falha.Para explorar uma vulnerabilidade, uma atacante deve ter pelo menos uma ferramenta ou técnica aplicável que possa conectar a uma fraqueza do sistema. Desta forma, vulnerabilidade também é conhecida como?superfície de ataque.Gerenciamento de vulnerabilidade?é a prática cíclica de identificar, classificar, remediar e mitigar vulnerabilidades.?Esta prática geralmente refere-se a?vulnerabilidades de software?nos sistemas de computador. Esta mesma pode ser explorada em um determinado sistema ou servi?o vulnerável que esteja rodando na máquina.Vulnerabilidades do WindowsBuffer OverflowEm seguran?a de computadores e programa??o, um estouro de buffer, ou satura??o de buffer, é uma anomalia em que um programa, ao escrever dados para um tamp?o, derrapagens limite do buffer e substitui adjacentes de memória locais. Este é um caso especial de viola??o da seguran?a de memória.Estouro de buffer pode ser desencadeado por fatores de produ??o que s?o projetados para executar código ou alterar a forma como o programa funciona. Isso pode resultar em um comportamento errático do programa, incluindo erros de memória de acesso, incorretas, os resultados de um acidente ou uma viola??o da seguran?a do sistema.As linguagens de programa??o comumente associados com estouros de buffer incluem C e C++, que n?o fornecem nenhuma prote??o embutida contra o acesso ou substitui??o de dados em qualquer parte da memória e n?o verificar automaticamente os dados gravados em uma matriz (o built-in tipo buffer) está dentro os limites dessa matriz. Um buffer overflow ocorre quando dados gravados em um tamp?o também corrompe os valores de dados em endere?os de memória adjacentes à reserva destino, devido à insuficiência de verifica??o de limites. Isso pode ocorrer quando copiar dados de um buffer para outro sem primeiro verificar que os dados se encaixam dentro do buffer de destino.ExemploPara mais detalhes sobre estouros baseadas em pilha, consulte?Pilha de estouro de buffer.No exemplo a seguir, um programa tem dois elementos de dados que s?o adjacentes na memória: um string buffer de 8 bytes de comprimento, A, e um dois-byte?big-endianinteiro,B.Char A [8] = "“; N?o assinado curto B = 1,979;Inicialmente, A contém nada além de zero bytes, e B contêm o número 1979.Nome da variávelABValor[cadeia nula]1979Valor hexadecimal000000000000000007BBAgora, o programa tenta armazenar a?cadeia terminada com nulo?“Excessivo” com?ASCII?codifica??o no tamp?o A.Strcpy (A, “Excessivo”);“Excessivo” é de 9 caracteres de comprimento e codifica para 10 bytes, incluindo o terminador, mas um pode tomar apenas 8 bytes.?Ao n?o verificar o comprimento da corda, ele também substitui o valor de B:Nome da variávelABValor'E''X''C''E''S''S''Eu''V'25856Feiti?o65786365737369766500Valor do B já foi inadvertidamente substituído por um número formado a partir de parte da cadeia de caracteres.?Neste exemplo, "e", seguida por um zero byte se tornaria 25.856.Escrevendo dados passados ??ao final de memória alocada às vezes pode ser detectado pelo sistema operacional para gerar uma?falha de segmenta??o?de erro que encerra o processo.Medidas de prote??oVárias técnicas têm sido utilizadas para detectar ou evitar sobrecargas de buffer, com várias vantagens e desvantagens.?A maneira mais confiável para evitar ou prevenir buffer overflows é usar prote??o automática no nível da linguagem.?Este tipo de prote??o, no entanto, n?o pode ser aplicado a?código legado, e muitas vezes técnico, negocial ou restri??es culturais chamar para uma linguagem vulnerável.?As se??es seguintes descrevem as op??es e implementa??es disponíveis.Prote??o contra buffer overflow?Prote??o contra buffer overflow é usado para detectar os buffer overflows mais comuns, verificando que a?pilha?n?o foi alterado quando uma fun??o retorna.?Se ele tiver sido alterada, o programa sai com uma?falha de segmenta??o?.?A implementa??o da Microsoft de?Data ExecutionPrevention?modo (DEP) protege explicitamente o ponteiro para a?StructuredExceptionHandler?(SEH) de ser substituído. Mais forte prote??o pilha é possível através da divis?o da pilha em duas: uma para dados e outra para fun??o retorna.?Esta divis?o está presente na?linguagem Forth. Embora n?o fosse uma decis?o de design baseada em seguran?a.?Independentemente disso, esta n?o é uma solu??o completa para o buffer overflows, como outros do que o endere?o de retorno de dados sensíveis ainda pode ser substituído.Prote??o ponteiroBuffer overflows trabalho manipulando ponteiros (incluindo endere?os armazenados).?PointGuard foi proposto como um compilador de extens?o para impedir que os atacantes sejam capazes de manipular de forma confiável ponteiros e endere?os.?A abordagem funciona por ter o código compilador addto automaticamente ponteiros XOR-codificam antes e depois que eles s?o usados.?Porque o atacante (teoricamente) n?o sabe o valor será usado para codificar / decodificar o ponteiro, ele n?o pode prever o que irá apontar para ele se substitui-lo com um novo valor.?PointGuard nunca foi lan?ado, mas a Microsoft implementou uma abordagem semelhante come?ando no Windows Server 2003 SP1 e Windows XP SP2.?Ao invés de implementar a prote??o ponteiro como um recurso automático, a Microsoft adicionou uma rotina de API que pode ser chamado a critério do programador .?Isto permite um melhor desempenho (porque n?o é usado o tempo todo), mas coloca o ónus sobre o programador para saber quando é necessário.Porque XOR é linear, um invasor pode ser capaz de manipular um ponteiro codificado, substituindo apenas os bytes mais baixos de um endere?o.?Isso pode permitir que um ataque de sucesso se o atacante é capaz de tentar a fa?anha várias vezes ou é capaz de completar um ataque de causando um ponteiro para apontar para um dos vários locais (como qualquer local dentro de um trenó NOP).?Microsoft adicionou uma rota??o aleatória ao seu esquema de codifica??o para abordar esta fraqueza para substitui??es parciais.Cross-site scripting?(XSS)? um tipo de vulnerabilidade do sistema de seguran?a de um computador, encontrado normalmente em?aplica??es?web?que activam ataques maliciosos ao injectarem?client-side script?dentro das?páginas?web?vistas por outros usuários. Um?script?de explora??o de vulnerabilidade?cross-site?pode ser usado pelos atacantes para escapar aos controlos de acesso que usam a política de mesma origem.AtaqueAtravés de um XSS, o?cracker?injeta códigos?JavaScript?em um campo texto de uma página já existente e este JavaScript é apresentado para outros usuários, porque persiste na página.Exemplo de ataque: Imaginem que o?cracker?insira, em um fórum de um?website?alvo de ataque, um texto que contenha um trecho de JavaScript. Este JavaScript poderia, por exemplo, simular a página de?login?do?site, capturar os valores digitados e enviá-los a um?site?que os armazene. Quando o texto do fórum for apresentado a outros usuários, um?site?atacado pelo XSS exibirá o trecho de JavaScript digitado anteriormente nos?browsers?de todos os outros usuários, provocando a brecha de ataque.O invasor envia um?script?para o servidor: <script>malicious.js... = SYN onde o servidor recebe o?script?e interpreta uma nova página inserindo o código como resposta da requisi??o ao atacante = SYN/ACK.Por fim, o atacante recebe a resposta em seu?browser?= ACKSe você estiver usando?plugins/extens?es em seu navegador como: NoScript ou o Google chrome com o "XSS Auditor" habilitado, os ataques de?Cross Site Scripting?emsites?que estejam vulneráveis n?o ir?o funcionar.N?o persistente:A vulnerabilidade?cross-site scripting?n?o persistente (ou refletida) é, de longe, o tipo mais comum. Estas falhas aparecem quando os dados fornecidos por um cliente?web, mais comumente em par?metros de consulta HTTP ou envios de formulários HTML, é imediatamente utilizado pelos?scripts?do lado do servidor para analisar e exibir uma página de resultados de e para o usuário, sem a limpeza adequada do pedido. Como os documentos HTML têm uma estrutura plana e serial que mistura instru??es de controle, formata??o e conteúdo real, todos os dados fornecidos pelo usuário, n?o validados incluídos na página resultante sem codifica??o HTML adequada, pode levar a inje??o de marca??o.PersistenteA vulnerabilidade XSS persistente (ou armazenados) é uma variante mais devastadora de uma falha de?script cross-site: ocorre quando os dados fornecidos pelo atacante s?o salvos pelo servidor e, em seguida, exibidos em páginas "normais" retornadas para outros usuários no curso de uma navega??o normal, sem HTML adequada.Prote??oApesar de várias ocorrências de XSS e das diferentes formas de explora??o, impedir a própria vulnerabilidade é conceitualmente simples. O que a torna problemática na prática é a dificuldade de identificar todos os campos da aplica??o onde há dados manipulados pelo usuário e que ser?o posteriormente exibidos em tela. A causa do XSS refletido e persistente é que estes dados s?o inseridos em respostas da aplica??o sem valida??o. Para eliminar tais vulnerabilidades, o primeiro passo é identificar todas as inst?ncias dentro da aplica??o em que os dados s?o colocados nas respostas das requisi??es. Uma vez identificados os locais destes dados, é necessário realizar os seguintes procedimentos:Valida??o de EntradaValida??o de SaídaValida??o da entradaEste é o momento em que a aplica??o recebe os dados fornecidos pelo usuário, que podem ser apresentados em respostas futuras. ? necessário que a aplica??o realize uma valida??o dentro do contexto daquele conteúdo, tornando-o mais restrito possível, por exemplo:Limitando o tamanho do campo a ser inseridoDefinindo o conjunto de caracteres aceito pela aplica??oEstabelecendo uma express?o regular para os dadosEstas regras de valida??es variam de acordo com o campo e com o contexto da aplica??o, por exemplo, nomes, endere?os de?e-mails, números de contas e cart?es, ou seja, de acordo com o tipo de informa??o, espera-se um formato pré-determinado de conteúdo.???????????Valida??o da SaídaAgora é a vez da aplica??o copiar em suas respostas os dados que originados por algum usuário ou até mesmo por terceiros. Estes dados devem ser codificados em HTML para tratar potenciais caracteres maliciosos.Vírus LovSanAparecido durante o Ver?o de 2003, o vírus?LovSan?(conhecido igualmente sob os nomes W32/Lovsan.worm, W32/Lovsan.worm.b, W32.Blaster.Worm, W32/Blaster-B, WORM_MSBLAST.A, MSBLASTER, Win32.Poza, Win32.Posa.Worm, Win32.Poza.B) é o primeiro vírus explorar a falha RPC/DCOM (Remote?Procedure Call, ou seja, em português, chamada de procedimento distante) dos sistemas Microsoft Windows que permitem a processos distantes comunicar. Explorando a falha gra?as a uma profus?o de tamp?o, um programa malicioso (como o vírus LovSan) pode tomar o controlo da máquina vulnerável. Os sistemas afectados s?o os sistemas Windows NT 4.0,2000, XP e Windows Server 2003.Sintomas da infec??o:A explora??o da vulnerabilidade RPC provoca diversos disfuncionamentos nos sistemas afetados, vinculados à desativa??o do servi?o RPC (Processo svchost.exe/rpcss.exe). Os sistemas vulneráveis apresentam os sintomas seguintes:Copiar/colar defeituosos ou impossíveisAbertura de uma liga??o hipertexto numa nova janela impossívelDesloca??o de ícones impossíveisFun??o busca de ficheiro de windows erráticaEncerramento da porta 135/TCPReinício de Windows XP: o sistema é incessantemente relan?adopor AUTORIDADE NT/system com a mensagem (s) seguinte (s): <preclass="code">Windows deve agora arrancar porque o servi?o chamada de procedimento distante (RPC) terminou de maneira inesperada?Erradicar o vírusPara erradicar o verme LovSan, o melhor método consiste, em primeiro lugar, em desinfectar o sistema com a ajuda do conjunto de desinfec??o seguinte :?Fazer o download do conjunto de desinfec??o?Se o seu sistema reiniciar continuamente, é necessário desativar o reinício automático:Inicialmente, fa?a Iniciar/executar e seguidamente escreva o comando seguinte que permite adiar o reinício automático: Shutdown-a.Clique em O meu computador com o bot?o direito.Clique em Propriedades/Avan?ado/Arranque e recupera??o/Par?metrosDesmarque o compartimento “arrancar automaticamente”!Poderá restabelecer esta op??o quando o seu sistema funcionar de novo normalmente.?? seguidamente indispensável atualizar o sistema com a ajuda do servi?o?Windows Update?ou atualizando o seu sistema com o patch correspondente de acordo com o seu sistema de explora??o.Patch para Windows 2000Patch para Windows XPWorm-vírusA mensagem de erro a seguir ou outro erro semelhante aparece antes de o computador ser automaticamente desligado:Este sistema está sendo desligado. Salve todo o trabalho em andamento e fa?a logoff. Quaisquer altera??es n?o salvas ser?o perdidas. Este desligamento foi iniciado pela AUTORIDADE/SISTEMA NT. Tempo antes de desligar: Mensagem 00:00:XX: O Windows precisa ser reiniciado agora porque o servi?o de chamada de procedimento remoto (RPC - Remote Procedure Call) foi encerrado inesperadamente.Figura: A mensagem de erro real1555115183515Outros sintomas podem incluir instabilidade, panes e vulnerabilidade do sistema.Esse erro provavelmente é causado por um vírus do tipo worm conhecido como Blaster, LoveSan, MSBlaster ou Welchia (também pode ter outros nomes e varia??es). O worm pode explorar uma vulnerabilidade da seguran?a em computadores desprotegidos que estejam executando o Microsoft Windows XP ou Windows 2000. Ele afeta os sistemas que n?o possuam o patch da Microsoft instalado?MS03-039. Encontrar o arquivo "Msblast.exe" indica que o vírus está ativo em seu computador. Entretanto, esse arquivo n?o está presente em todas as variantes do worm. Mesmo que você n?o encontre esse arquivo no computador, o worm pode ainda residir em seu sistema.Use as etapas abaixo para atualizar seu computador com o patch de seguran?a da Microsoft mais recente e remova o vírus do batendo o worm-vírusSiga as etapas abaixo para impedir que o computador seja reiniciado, para remover o vírus e para impedir que ele reinfecte o computador. A HP n?o garante o sucesso desse procedimento, uma vez que o vírus pode existir em formas diferentes.?Quando o computador precisar de reparos ou quando a recupera??o do sistema for executada, o software é alterado de volta a sua configura??o original, o que significa dizer que é configurado à mesma condi??o de quando foi comprado. Todas as atualiza??es de driver e software instaladas no computador desde que foi ligado pela primeira vez s?o perdidas. Nessa condi??o de "quase novo", o computador está mais suscetível a vírus, porque todas as atualiza??es de seguran?a instaladas anteriormente s?o removidas. Vulnerabilidade MacO Mac OS X, assim como outros sistemas operacionais, possui várias falhas de seguran?a, inclusive n?o detectadas e que podem garantir o acesso n?o autorizado ao sistema. Uma vez que o computador esteja infectado, criminosos podem usar este acesso para instalar outros programas maliciosos.Ataques dirigidosAlguns códigos exploram vulnerabilidades com o objetivo de infectar uma pessoa específica e roubar dados que só ela possui. Normalmente este processo ocorre através de um e-mail com um anexo suspeito que é usado para instalar o malware.Infec??es de redes Mac – PCAlguns malwares foram feitos para se adaptar ao sistema operacional que encontram. Aqueles que se reproduzem por USB, por exemplo, podem infectar tanto Macs quanto PCs.Vulnerabilidade LinuxAbaixo est?o listadas as 10 maiores vulnerabilidades do Sistema Operacional Linux/Unix, traduzido de Outubro de 2003 e que s?o válidas ainda hoje:BIND - O BIND é o principal servi?o de ataque dos hackers. A maioria dos bugs já foram resolvidos mas a maioria das pessoas mantém as vers?es mais antigas por uma quest?o de funcionalidade e por n?o disporem de?tempo?para a migra??o.RPC - O RPC é um servi?o para a chamadas de procedimentos que ser?o executados remotamente. ? extremamente?importante?para a funcionalidade da rede interna, poiss?o utilizados para distribui??o de carga, processamento distribuído, cliente/servidor, etc. O NFS, que é um dos compartilhamentos de rede mais conhecidos e utilizados, usa diretamente o RPC.Apache - Sem dúvidas nenhuma é um?Web?Server bem mais robusto que o IIS, mas n?o deixa de estar exposto à internet. Vários ataques a sistemas operacionais NIX ocorrem pelo Apache, principalmente para servidores com execu??o de scripts e permiss?es de acesso à programas.Contas de usuários - Esta vulnerabilidade ocorre principalmente sobre contas com senhas fracas ou nulas. Parece ridículo, mas tem pessoas que conseguem invadir sistemas descobrindo senhas pelo método da tentativa e erro, e, geralmente, as senhas s?o as mais óbvias possíveis. N?o é o sistema que é hackeado mas a conta do usuário. Uma vez tendo acesso ao sistema, o hacker pode se tornar bastante inc?modo.Servi?o de transferência em ASCII - FTP e e-mail s?o os programas diretamente relacionados a estes servi?os. Tudo que passar por eles e for texto puro, n?o encriptado (o que ocorre na maioria das instala??es), o conteúdo pode ser capturado. Basta alguma informa??o ou senha secreta para que a porta esteja aberta.Sendmail - ?, talvez, o pior servi?o de e-mail do NIX, em compara??o com os seus próprios concorrentes. Tende a ser lento e problemático. Mas é o mais utilizado, porque é extremamente operacional. ? possível colocá-lo para funcionar rapidamente. Por isto é a maior fonte de furos existente na comunidade. Se puder, substitua.SNMP - Uma excelente ferramenta administrativa, principalmente para grandes corpora??es. Mas por ser um projeto baseado na comunica??o com a rede, está sujeito à vulnerabilidades. O servi?o é ativado por default no sistema Linux, o que causa o esquecimento por parte dos usuários.SSH - ? a solu??o ideal para acesso remoto seguro, abolindo de vez o Telnet. No entanto, pode se tornar totalmente ineficaz se n?o for administrado corretamente. Escolha o nível de seguran?a mais desejado, lembrando que ele é diretamente proporcional ao trabalho para configurá-lo. E n?o se esque?a de proteger chaves privadas dos usuários!Compartilhamento de arquivos- Ocorre principalmente com NIS/NFS. Podem comprometer a seguran?a abrindo brechas para ataques externos.SSL's - Embora sejam extremamente eficazes para criar conex?es seguras entre cliente/servidor, os SSL's permitem o acesso ao servidor por parte do cliente. Pode se tornar uma porta para o acesso de hackers.Conclus?oO Trabalho foi feito no intuito de mostrar que uma vulnerabilidade do computador é especificamente uma falha ou fraqueza, que pode ser explorada por “atacantes” para contornar ou violar, políticas de seguran?a e obter acesso n?o autorizado a um sistema de computador ou rede, assim permitindo que seja impossível usar um produto de software sem expor o computador no qual ele está instalado a riscos de seguran?a desnecessários.?Referencias Bibliográficas ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download