Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Exploits e Vulnerabilidades

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Matéria Exploits e Vulnerabilidades


    Nessa matéria vamos discutir um pouco sobre a palavra EXPLOIT e Vulnerabilidades.
    De primeira mão vamos ressaltar o que é uma vulnerabilidade em Sistema da Informação. Uma vulnerabilidade é uma falha no sistema no qual podemos efetuar diversos eventos em cima da mesma.Ah mas como assim ??
    Para um sistema de informação se considerar seguro ele teve atender 3 requisitos básicos que são

    • Disponibilidade
    • Integridade
    • Confidencialidade




    Quando falamos da palavra disponibilidade se refere que aquele sistema está disponível para ser acessado. Um exemplo básico temos uma rede onde se encontra um servidor com uma base de dados onde outras máquinas "Clientes" se conectam a ela para efetuar consultas, quando isso ocorre normalmente podemos dizer que o sistema está disponível. Agora quando as máquinas “clientes” não conseguem acessar o servidor podemos dizer que ocorreu uma quebra de disponibilidade.


    A integridade da informação é algo que deve ser levado em conta. A palavra Integridade quer dizer "inteiro", ou seja que aquela informação que está sendo acessa está realmente na integra, correta, sem nenhuma modificação. Vamos levar em consideração o exemplo da rede acima, digamos que temos um banco com informações de clientes cpf/cnpj, nome, endereço, cidade, e por uma falta de segurança terceiros ou pessoas da propria empresa conseguem alterar um desses dados de algum cliente. Quando uma máquina "Cliente" legítima for acessas essa informações elas vão estar modificadas ou seja não estarão na integra isso chamamos de quebra de Integridade.

    A confiencialidade da informação quer dizer se aquela informação que estamos acesso é realmente confiável. Quando ocorre quebra de integridade ao mesmo tempo irá ocorrer quebra de confidencialidade pois aquela informação já não está mais confiável. A falta de confidencialidade da informação pode acarretar diversos problemas aos usuários pois nela pode estar condida códigos maliciosos, malwares informações falsas, entre outros.

    Mas Marcelo você escreveu todo esse texto mas não vi nada a respeito dos exploits ainda. Calma já vamos chegar ao ponto.

    Quando em um Sistema de informação é quebrada um desses 3 requisitos podemos afirmar que esse sistema é Vulnerável! Vale ressaltar que a Segurança na Informação não deve ser levada em conta apenas em nível de "máquinas", ou seja devemos tomar cuidade e ter controle das pessoas que tem acesso a sala onde se encontra o servidor, e ter uma bela política de segurança. Nas referências vou citar alguns livros onde poderão buscar essas informações de como manter uma boa política de segurança.

    Quando vamos efetuar de alguma forma um teste de segurança a nível de software em uma rede é levado em consideração vários requisitos primordiais antes de começa-lo. É necessário fazer um levantamento de informações (fingerprint) para saber qual sistema operacional se trata, quais serviços estão rodando nele, as portas que cada um está rodando, e as suas devidas versões.

    É claro que esses passos devemos ser bem cautelosos e analisar cada detalhe. Quando vamos tentar ver se um serviço está vulnerável devemos ir a busca de "Exploits". Exploits são pequenos "programas" escrito em alguma linguagem de programação cujo seu objetivo é de alguma forma tentar quebrar um dos 3 requisitos para um sistema seguro. Vale lembrar que temos 2 tipos de exploits e diversas categorias de exploits.
    • Exploit Local
    • Exploit Remoto



    Os Exploits Locais são aqueles que devem explorar a falha localmente em uma máquina alvo, ou seja para ele ser executado com exito é necessário que ele seja executado na máquina alvo. Por exemplo temos uma falha de Dll Hijacking em uma determinada aplicação que nos permite carregar uma dll maliciosa quando o programa for executado, essa é uma falha que só da para ser explorada localmente, então usaremos um exploit Local.

    Já os Exploits remotos é possível executar eles de forma remota, temos uma máquina alvo e através de uma rede eu executo para explorar um determinado serviço no qual vai me garantir acesso. Para isso será usado exploits Remotos.

    Muitas pessoas pensam que exploits são apenas para garantir acesso a uma determinada máquina. Temos diversas categorias de exploits des daqueles cuja sua finalidade é garantir acesso, até os de negação de Serviço.
    Vou citar algumas categorias:
    • Negação de Serviço (DOS/DDOS): A sua finalidade é acarretar uma negação de serviço (deixar o serviço temporáriamente offline) ou então usa-lo desse sistema como máquinas zombie para atacar outro sistema.
    • Estouro de Buffer (Buffer Overflow ou Stack Overflow): Essa Falha não é nova, ela ocorre principalmente nos programas que são escrito na linguagem C. Ela acontece quando temos uma variável local de tamanho x e o programa que manipula ela faz receber um tamanho y passando do seu tamanho declarado, quando não for feito uma verificação do tamanho do buffer jogado na variável simplesmente ele irá estourar. Não vou entrar muito em detalhes pois é uma falha que envolve muito conceito de S.O. Vale lembrar que os buffer s overflows podem ser explorados em 3 diferentes camadas da memória de acordo da forma que será explorado.
    • DLL Hijacking: Essa é uma falha que já foi prevista a muito tempo mas no ano passado ela veio a ser usada. Ela nos permite carregar uma Dll Maliciosa dentro de um programa que será aberto.
    • Cross Site Scripting(XSS): Essa é uma falha voltada apenas a aplicações WEB. Ele nos permite executar códigos em javascript em uma região não privilegiada tornando a mesma privilegiada.
    • Injeção de PHP (RFI, LFI): Essa falha ocorre quando em uma página “php” o programador passa argumentos da URL usando o método GET mas não filtra os dados passados podendo ser carregado conteúdo externo (RFI). Mas quando se usa um filtro ou mesmo regras no servidor que não pode ser carregado nada de não for dele mesmo podemos então partir para LFI, ela nos permite navegar livremente em diretórios do servidor podendo de alguma forma fazer upload de algum arquivo e passar os parâmetros de onde esse arquivo se encontra pela URL e executa-lo.
    • Injeção de SQL (SQL Injection): A Injeção de sql(Structured Query Language) também uma falha em aplicações web, se baseia em fazer consultas ou modificar algum conteúdo na base de dados. Ela ocorre quando o programador não faz o tratamente correto das variáveis podendo assim executar diversas “query” para fazer consultas e alterações na base de dados.
    • Envenenamento de DNS (DNS Spoofing): Uma falha não tão comum e difícil de se obter resultado, ela ocorre quando é modificado o endereço de ip de um determinado DNS então redirecionando para qualquer outro.


    Não vou extender mais além dessas falhas pois temos n tipos de vulnerabilidades. Então deu para perceber que existem muitas categorias de exploits para explorar falhas diferentes né ??
    Uma dica para aqueles que gostam do assunto é a ferramenta case metasploit, uma ferramenta desenvolvida para facilidar a escrita de exploits, a linguagem padrão utilizada pelo metasploit é Ruby, uma linguagem Orientada a Objeto de fácil aprendizagem. Mas lembre-se programar exploits não é como programar aplicações como calculadora, programa para cadastro de usuários etc... Terá que ter muita dedicação e estudo pois envolve muito conceitos de Rede e Sistemas Operacionais.


    Espero que tenham Gostado!



    Att,
    Marcelo Moraes.



    Fonte: Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...


    Referências:
    Segurança de Redes em Ambientes Cooperativos - Emilio Tissato Nakamura

    Segurança da Informação: Uma Visão Inovadora da Gestão - Gustavo Alberto Alves

    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
    Similar Threads

  • Font Size
    #2
    Ótimo post, obrigado...

    Comment

    X
    Working...
    X