Sistemas Distribuídos


Jean Fellipe De Almeida Pimentel
          Pedro Correia Fagundes
   Network-Based Intrusion Detection System
    (NIDS)

   Host-Based Intrusion Detection System (HIDS)

   Distributed Intrusion Detection System (DIDS)
   Vantagens
    ◦ Protege uma sub-rede.
    ◦ Não causa impacto no tráfego da rede.
    ◦ Atacante não pode tocar o NIDS e pode
      sequer sabe que está lá.

   Desvantagens
    ◦ Precisa monitorar um alto número de portas
    ◦ Política de Privacidade
   Vantagens
    ◦ Protege o hospedeiro, detectando mudanças em
      arquivos e processos.
    ◦ Regras podem ser específicas, aumentando
      desempenho e diminuindo falso-positivos.

   Desvantagens
    ◦ Dependente do SO
    ◦ Aumenta carga do host
    ◦ Dificuldade no gerenciamento
   Combinação de NIDS e HIDS.

   Recomenda-se comunicação entre cliente e
    servidor por uma rede privada e segura.

   Os logs dos clientes são enviados continuamente
    para a estação principal.

   Os clientes baixam as assinaturas da estação
    principal e se mantêm atualizados.
   HIDS
    ◦ Usados para manter Estados do sistema (tamanhos de
      arquivos, permissões, acessos).

    ◦ Possibilita o rollback em caso de falha.

   NIDS
    ◦ Redes possuem padrões de tráfego.
      Se uma máquina é servidor de emails, haverá SMTP.

    ◦ NID aprende com o tempo, reconhecendo o que é esperado
      e aceitável.
   O SNORT é uma ferramenta NIDS
    ◦ Desenvolvido por Martin Roesch,
    ◦ “open-source”,
    ◦ popular por sua flexibilidade nas configurações de regras e
      constante atualização frente às novas ferramentas de
      invasão.


   Pontos fortes:
    ◦ Possui o maior cadastro de assinaturas, é leve, pequeno.
   O código fonte é otimizado, desenvolvido em
    módulos utilizando linguagem de programação C
    e, junto com a documentação, são de domínio
    público.

   O Snort é desenvolvido e atualizado diariamente,
    tanto em relação ao código propriamente dito,
    como das regras de detecção.
   Por ser uma ferramenta leve, a utilização do
    Snort é indicada para monitorar redes TCP/IP
    pequenas, onde pode detectar uma grande
    variedade do tráfego suspeito, assim como
    ataques externos e então, fornece argumento
    para as decisões dos administradores.
   Os módulos que compõe o Snort são
    ferramentas poderosas, capazes de produzir
    uma grande quantidade de informação sobre
    os ataques monitorados, dado que é possível
    avaliar tanto o cabeçalho quanto o conteúdo
    dos pacotes, além de disponibilizar, por
    exemplo, a opção de capturar uma sessão
    inteira.
   O Snort monitora o tráfego de pacotes em
    redes IP, realizando análises em tempo real
    sobre diversos protocolos (nível de rede e
    aplicação) e sobre o conteúdo (hexa e ASCII).
    Outro ponto positivo desse software é o
    grande número de possibilidades de
    tratamento dos alertas gerados.
   O Snort poderá assumir três modalidades:
    ◦ Sniffer: Esta modalidade simplesmente captura os
      pacotes e imprime continuamente no console.
    ◦ Packet logger: Registra os pacotes capturados no
      disco rígido.
    ◦ Network intrusion detection system: Esta
      modalidade é a mais complexa e versátil,
      permitindo que o Snort analise o trafego da rede de
      encontro a regras definidas pelo usuário,
      executando diversas ações baseadas em suas
      regras.
   Extremamente Flexível:
    ◦ Algoritmos de Inspeção baseados em Regras.
    ◦ Sem falsos positivos inerentes.
    ◦ Controle Total do refinamento das regras.


   Metodologias de detecção Multidimensional:
    ◦ Assinaturas (Impressões Digitais) do Ataque.
    ◦ Anomalias no Protocolo.
    ◦ Anomalias no Comportamento.
   Imensa Adoção (Comunidade SNORT):
    ◦ Dezenas de milhares de instalações (42 mil).
    ◦ Algumas das maiores empresas do mundo.
      (Microsoft, Intel,PWC..)
    ◦ Milhares de contribuidores fazendo regras para
      novas vulnerabilidades.

   Infra-estrutura de Suporte da Comunidade
    Open Source:
    ◦ Rápida Respostas às ameaças.
    ◦ Velocidade de Inovação.
    ◦ Velocidade de Refinamento.
   Performance Modesta:
    ◦ Menos de 30mbps, para redes de até 10Mbps.


   Interface Gráfica Limitada:
    ◦ Configuração do Sensor.
    ◦ Gerenciamento de Regras.
   Implementação lenta e cansativa (pelo menos
    10 dias).

   Capacidade Analítica Limitada.

   Sem Suporte Comercial:
    ◦ Dependência de pessoas "capacitadas", nem sempre
      estáveis...
    ◦ Gastos Significativos com Recursos Humanos.
   O Snort coloca a placa do computador em
    modo promíscuo.

   Isso permite que todos os pacotes que
    trafeguem pelo segmento de rede daquela
    máquina sejam capturados.
   Regras
    ◦ Assinaturas conhecida dos ataques

   Variedade de ataques e sondagens
    ◦   buffer overflow,
    ◦   port scans,
    ◦   ataques CGI (Common Gateway Interface),
    ◦   verificação de SMB (Server Message Block)
    ◦   ...
   Alerta em tempo real

    ◦ pode enviar os alertas a um arquivo de alerta
      individual.
    ◦ ou a um meio externo como o WinPopUp (utilitário
      responsável por mandar mensagens de uma
      máquina para outra em uma rede).
   A arquitetura do Snort enfoca o desempenho,
    simplicidade e flexibilidade.

   Há três subsistemas primários que o
    compõem:
    ◦ Decodificador de pacote;
    ◦ Engenharia de Detecção;
    ◦ Subsistema de log e alerta.
   A arquitetura de decodificação é organizada ao
    redor das camadas de rede.

   Estas rotinas de decodificação são chamadas
    ordenadamente, do nível de dados, subindo para o
    nível de transporte terminando finalmente no nível
    de aplicação.
   A velocidade é enfatizada, e a maioria das
    funcionalidades do decodificador consistem na
    colocação de ponteiros nos pacotes de dados, para
    mais tarde serem analisados pela arquitetura de
    detecção.
   A ferramenta Snort provê capacidades para
    decodificar pacotes em redes Ethernet, SLIP (Serial
    Line Internet Protocol), PPP (Point to Point Protocol),
    sendo que o suporte a ATM (Asynchronous
    Transfer Mode) está sendo desenvolvido.
   A ferramenta Snort mantém suas regras de
    descoberta de intrusão em duas listas
    denominadas Chain Headers (Cabeçalho da Regra)
    e Chain Options (Cabeçalho de Opções).
   Chain Headers contém os atributos comuns de uma
    regra.
   Chain Options armazena os padrões de ataque que
    serão pesquisados dentro dos pacotes capturados
    e as ações que serão tomadas caso um ataque seja
    diagnosticado.
   O subsistema de log e alerta é selecionado em
    tempo real com comandos condicionais de
    interrupção.

   As opções de log podem ser fixadas para
    armazenar pacotes decodificados, em formato
    legível para o ser humano.
   O formato decodificado de log permite análise
    rápida de dados armazenados pelo sistema.

   Os logs podem ser deixados parcialmente
    incompletos para agilizar a performance.

   O administrador pode ser avisado de novos alertas
    através do envio de mensagem ao syslog
    (programa responsável por gerar e armazenar logs
    no Linux/Unix) ou armazenar em um arquivo texto
    que pode ser utilizado em multi-plataformas.
   Existem três opções disponíveis para criação de
    arquivos de alerta.

   A primeira opção possibilita a criação de um
    arquivo texto com informações completas do
    alerta, registrando a mensagem de alerta e a
    informação de cabeçalho de pacote fornecido pelo
    protocolo do nível de transporte.
   A segunda opção cria um arquivo que registra um
    subconjunto condensado de informações,
    permitindo maior desempenho que a primeira
    opção.

   A última opção é utilizada para desconsiderar
    alertas e é extremamente útil quando os registros
    são desnecessários ou impróprios. Esta situação
    ocorre quando a rede está passando por testes de
    penetração.
   A arquitetura de armazenamento de regras é
    examinada pela arquitetura de detecção de forma
    recursiva, para cada pacote de dados capturado.

   Quando o cabeçalho da regra for idêntico ao
    cabeçalho do pacote capturado, os dados contidos
    no pacote são comparados com o cabeçalho das
    opções da regra. Se a ocorrência de um ataque for
    identificada, uma ação especifica definida na regra
    é disparada.
   Uma revisão da arquitetura de descoberta está
    atualmente em planejamento e em fase de
    desenvolvimento.
   A próxima versão da arquitetura incluirá a
    capacidade para que os usuários possam escrever e
    distribuir módulos compatíveis com as palavras-
    chave da linguagem da arquitetura de detecção.
    Isto permitirá a customização do programa para
    situações específicas.
   Capacidades limitadas de resposta
    automática.

   Se concentram em:
    ◦ filtragem do tráfego
    ◦ bloqueio do tráfego
    ◦ desligamento

   Maior uso: backtrace.
    ◦ Conhecer o ataque e ensinar o sistema a se
      proteger numa próxima vez.
   NID: Snort
   Packet Capture: libpcap
   Packet Manipulation: libnet, libipq
   Packet Inspection: libpcre
   Database: PostgreSQL, MySQL
   Time Synchronization: NTP
   Logs: Barnyard
   Regras: OinkMaster
   Snort Brasil
    ◦ http://www.clm.com.br/snort/default.asp


   Snort
    ◦ http://pt.wikipedia.org/wiki/Snort


   Detectando Incidentes de Segurança
    ◦ http://www.conectiva.com/doc/livros/online/10.0/servidor/pt_BR/ch15s09.html


   Sistema Detecção de Intrusos
    ◦   http://www.scribd.com/doc/6588301/Snort-Conisli


   Snort 2.1 Intrusion Detection
    ◦ BEALE, Jay; BAKER, Andrew; CASWELL, Brian; POOR, Mike. 2 ed. Syngress. 2004. 731
      páginas.

Snort

  • 1.
    Sistemas Distribuídos Jean FellipeDe Almeida Pimentel Pedro Correia Fagundes
  • 2.
    Network-Based Intrusion Detection System (NIDS)  Host-Based Intrusion Detection System (HIDS)  Distributed Intrusion Detection System (DIDS)
  • 4.
    Vantagens ◦ Protege uma sub-rede. ◦ Não causa impacto no tráfego da rede. ◦ Atacante não pode tocar o NIDS e pode sequer sabe que está lá.  Desvantagens ◦ Precisa monitorar um alto número de portas ◦ Política de Privacidade
  • 6.
    Vantagens ◦ Protege o hospedeiro, detectando mudanças em arquivos e processos. ◦ Regras podem ser específicas, aumentando desempenho e diminuindo falso-positivos.  Desvantagens ◦ Dependente do SO ◦ Aumenta carga do host ◦ Dificuldade no gerenciamento
  • 8.
    Combinação de NIDS e HIDS.  Recomenda-se comunicação entre cliente e servidor por uma rede privada e segura.  Os logs dos clientes são enviados continuamente para a estação principal.  Os clientes baixam as assinaturas da estação principal e se mantêm atualizados.
  • 9.
    HIDS ◦ Usados para manter Estados do sistema (tamanhos de arquivos, permissões, acessos). ◦ Possibilita o rollback em caso de falha.  NIDS ◦ Redes possuem padrões de tráfego.  Se uma máquina é servidor de emails, haverá SMTP. ◦ NID aprende com o tempo, reconhecendo o que é esperado e aceitável.
  • 10.
    O SNORT é uma ferramenta NIDS ◦ Desenvolvido por Martin Roesch, ◦ “open-source”, ◦ popular por sua flexibilidade nas configurações de regras e constante atualização frente às novas ferramentas de invasão.  Pontos fortes: ◦ Possui o maior cadastro de assinaturas, é leve, pequeno.
  • 11.
    O código fonte é otimizado, desenvolvido em módulos utilizando linguagem de programação C e, junto com a documentação, são de domínio público.  O Snort é desenvolvido e atualizado diariamente, tanto em relação ao código propriamente dito, como das regras de detecção.
  • 12.
    Por ser uma ferramenta leve, a utilização do Snort é indicada para monitorar redes TCP/IP pequenas, onde pode detectar uma grande variedade do tráfego suspeito, assim como ataques externos e então, fornece argumento para as decisões dos administradores.
  • 13.
    Os módulos que compõe o Snort são ferramentas poderosas, capazes de produzir uma grande quantidade de informação sobre os ataques monitorados, dado que é possível avaliar tanto o cabeçalho quanto o conteúdo dos pacotes, além de disponibilizar, por exemplo, a opção de capturar uma sessão inteira.
  • 14.
    O Snort monitora o tráfego de pacotes em redes IP, realizando análises em tempo real sobre diversos protocolos (nível de rede e aplicação) e sobre o conteúdo (hexa e ASCII). Outro ponto positivo desse software é o grande número de possibilidades de tratamento dos alertas gerados.
  • 15.
    O Snort poderá assumir três modalidades: ◦ Sniffer: Esta modalidade simplesmente captura os pacotes e imprime continuamente no console. ◦ Packet logger: Registra os pacotes capturados no disco rígido. ◦ Network intrusion detection system: Esta modalidade é a mais complexa e versátil, permitindo que o Snort analise o trafego da rede de encontro a regras definidas pelo usuário, executando diversas ações baseadas em suas regras.
  • 16.
    Extremamente Flexível: ◦ Algoritmos de Inspeção baseados em Regras. ◦ Sem falsos positivos inerentes. ◦ Controle Total do refinamento das regras.  Metodologias de detecção Multidimensional: ◦ Assinaturas (Impressões Digitais) do Ataque. ◦ Anomalias no Protocolo. ◦ Anomalias no Comportamento.
  • 17.
    Imensa Adoção (Comunidade SNORT): ◦ Dezenas de milhares de instalações (42 mil). ◦ Algumas das maiores empresas do mundo. (Microsoft, Intel,PWC..) ◦ Milhares de contribuidores fazendo regras para novas vulnerabilidades.  Infra-estrutura de Suporte da Comunidade Open Source: ◦ Rápida Respostas às ameaças. ◦ Velocidade de Inovação. ◦ Velocidade de Refinamento.
  • 18.
    Performance Modesta: ◦ Menos de 30mbps, para redes de até 10Mbps.  Interface Gráfica Limitada: ◦ Configuração do Sensor. ◦ Gerenciamento de Regras.
  • 19.
    Implementação lenta e cansativa (pelo menos 10 dias).  Capacidade Analítica Limitada.  Sem Suporte Comercial: ◦ Dependência de pessoas "capacitadas", nem sempre estáveis... ◦ Gastos Significativos com Recursos Humanos.
  • 20.
    O Snort coloca a placa do computador em modo promíscuo.  Isso permite que todos os pacotes que trafeguem pelo segmento de rede daquela máquina sejam capturados.
  • 22.
    Regras ◦ Assinaturas conhecida dos ataques  Variedade de ataques e sondagens ◦ buffer overflow, ◦ port scans, ◦ ataques CGI (Common Gateway Interface), ◦ verificação de SMB (Server Message Block) ◦ ...
  • 23.
    Alerta em tempo real ◦ pode enviar os alertas a um arquivo de alerta individual. ◦ ou a um meio externo como o WinPopUp (utilitário responsável por mandar mensagens de uma máquina para outra em uma rede).
  • 24.
    A arquitetura do Snort enfoca o desempenho, simplicidade e flexibilidade.  Há três subsistemas primários que o compõem: ◦ Decodificador de pacote; ◦ Engenharia de Detecção; ◦ Subsistema de log e alerta.
  • 25.
    A arquitetura de decodificação é organizada ao redor das camadas de rede.  Estas rotinas de decodificação são chamadas ordenadamente, do nível de dados, subindo para o nível de transporte terminando finalmente no nível de aplicação.
  • 26.
    A velocidade é enfatizada, e a maioria das funcionalidades do decodificador consistem na colocação de ponteiros nos pacotes de dados, para mais tarde serem analisados pela arquitetura de detecção.  A ferramenta Snort provê capacidades para decodificar pacotes em redes Ethernet, SLIP (Serial Line Internet Protocol), PPP (Point to Point Protocol), sendo que o suporte a ATM (Asynchronous Transfer Mode) está sendo desenvolvido.
  • 28.
    A ferramenta Snort mantém suas regras de descoberta de intrusão em duas listas denominadas Chain Headers (Cabeçalho da Regra) e Chain Options (Cabeçalho de Opções).  Chain Headers contém os atributos comuns de uma regra.  Chain Options armazena os padrões de ataque que serão pesquisados dentro dos pacotes capturados e as ações que serão tomadas caso um ataque seja diagnosticado.
  • 30.
    O subsistema de log e alerta é selecionado em tempo real com comandos condicionais de interrupção.  As opções de log podem ser fixadas para armazenar pacotes decodificados, em formato legível para o ser humano.
  • 31.
    O formato decodificado de log permite análise rápida de dados armazenados pelo sistema.  Os logs podem ser deixados parcialmente incompletos para agilizar a performance.  O administrador pode ser avisado de novos alertas através do envio de mensagem ao syslog (programa responsável por gerar e armazenar logs no Linux/Unix) ou armazenar em um arquivo texto que pode ser utilizado em multi-plataformas.
  • 32.
    Existem três opções disponíveis para criação de arquivos de alerta.  A primeira opção possibilita a criação de um arquivo texto com informações completas do alerta, registrando a mensagem de alerta e a informação de cabeçalho de pacote fornecido pelo protocolo do nível de transporte.
  • 33.
    A segunda opção cria um arquivo que registra um subconjunto condensado de informações, permitindo maior desempenho que a primeira opção.  A última opção é utilizada para desconsiderar alertas e é extremamente útil quando os registros são desnecessários ou impróprios. Esta situação ocorre quando a rede está passando por testes de penetração.
  • 35.
    A arquitetura de armazenamento de regras é examinada pela arquitetura de detecção de forma recursiva, para cada pacote de dados capturado.  Quando o cabeçalho da regra for idêntico ao cabeçalho do pacote capturado, os dados contidos no pacote são comparados com o cabeçalho das opções da regra. Se a ocorrência de um ataque for identificada, uma ação especifica definida na regra é disparada.
  • 36.
    Uma revisão da arquitetura de descoberta está atualmente em planejamento e em fase de desenvolvimento.  A próxima versão da arquitetura incluirá a capacidade para que os usuários possam escrever e distribuir módulos compatíveis com as palavras- chave da linguagem da arquitetura de detecção. Isto permitirá a customização do programa para situações específicas.
  • 37.
    Capacidades limitadas de resposta automática.  Se concentram em: ◦ filtragem do tráfego ◦ bloqueio do tráfego ◦ desligamento  Maior uso: backtrace. ◦ Conhecer o ataque e ensinar o sistema a se proteger numa próxima vez.
  • 38.
    NID: Snort  Packet Capture: libpcap  Packet Manipulation: libnet, libipq  Packet Inspection: libpcre  Database: PostgreSQL, MySQL  Time Synchronization: NTP  Logs: Barnyard  Regras: OinkMaster
  • 39.
    Snort Brasil ◦ http://www.clm.com.br/snort/default.asp  Snort ◦ http://pt.wikipedia.org/wiki/Snort  Detectando Incidentes de Segurança ◦ http://www.conectiva.com/doc/livros/online/10.0/servidor/pt_BR/ch15s09.html  Sistema Detecção de Intrusos ◦ http://www.scribd.com/doc/6588301/Snort-Conisli  Snort 2.1 Intrusion Detection ◦ BEALE, Jay; BAKER, Andrew; CASWELL, Brian; POOR, Mike. 2 ed. Syngress. 2004. 731 páginas.