• Nenhum resultado encontrado

universidade federal do pará

N/A
N/A
Protected

Academic year: 2023

Share "universidade federal do pará"

Copied!
77
0
0

Texto

Sistema de Bibliotecas de Catalogação Internacional em Dados de Publicações (CIP) da Universidade Federal do Pará. Sistema de detecção de intrusão IDS IP Protocolo de Internet. NGFW Next Generation Firewall Firewall NIDS Sistema de detecção de intrusões baseado em rede.

INTRODUÇÃO

  • Motivação e Justificativa
  • Objetivos
    • Geral
    • Específicos
  • Metodologia
    • Delimitação do tema
  • Organização do Trabalho

E um dos requisitos básicos em uma solução de segurança hoje é a identificação de aplicações na rede, fornecendo informações importantes em nível de gestão. Diante dessa necessidade de ferramentas de segurança de rede que fossem capazes de detectar aplicações em uma rede de computadores, surgiram os Next Generation Firewalls (NGFW). O objetivo deste trabalho não é desenvolver um Firewall de Próxima Geração (NGFW), mas sim propor a implementação de funcionalidades do NGFW utilizando ferramentas Open Source, mais especificamente a identificação e gerenciamento do uso de aplicações em uma rede. local.

FUNDAMENTAÇÃO TEÓRICA

Arquitetura TCP/IP

  • Pacotes
  • Cabeçalho IP
  • Payload

Header Size (IHL): campo de 4 bits que indica o comprimento do cabeçalho da Internet e de todo o cabeçalho IP, indica o início dos dados; Header Checksum: campo de 16 bits usado para armazenar o valor da soma de verificação do cabeçalho, que é então usado para verificar se o pacote foi recebido sem erros. No contexto de uma rede de computadores, a carga útil é a seção de carga útil de um pacote, ou seja, os dados transportados dentro de um pacote.

Figura 2 - Cabeçalho IPv4
Figura 2 - Cabeçalho IPv4

Aplicações de Rede

Segurança de Rede

Manter a integridade da comunicação: A integridade dos dados se preocupa em garantir que as informações não foram alteradas durante a transmissão da origem ao destino. Garantir a disponibilidade: Disponibilidade significa garantir que os usuários autorizados terão acesso aos serviços de dados de maneira confiável e oportuna quando necessário. A disponibilidade está relacionada à infraestrutura tecnológica, como a manutenção de hardware e software e a utilização de largura de banda compatível com as necessidades, com o objetivo de manter e manter o acesso aos dados.

Ataques de Redes

A integridade dos dados pode ser comprometida se as informações forem alteradas, seja voluntária ou involuntariamente.

Firewall

  • Filtros de pacotes (Packet-Filtering)
  • Filtros de estado (Stateful Inspection)
  • Proxy Firewall
  • Next Generation Firewall (NGFW)

Os recursos típicos dos firewalls tradicionais incluem filtragem de pacotes, tradução de endereços de rede e porta, inspeção de estado e suporte a rede privada virtual (VPN). A Tradução de Endereço de Rede (NAT) permite conectar vários computadores à Internet usando um único endereço IP público. Os firewalls normalmente possuem funcionalidade de tradução de endereços de rede (NAT), e os ativos de rede protegidos por um firewall geralmente possuem endereços no intervalo de endereços privados.

Figura 3 - Visão geral do NGFW
Figura 3 - Visão geral do NGFW

Netfilter/Iptables

IDS (Intrusion Detection System)

  • Categorias de IDS
  • Métodos de detecção
  • Componentes do IDS

Conhecimento: O IDS baseado em assinatura é baseado em um banco de dados que reconhece a assinatura de vulnerabilidades previamente identificadas. Uma assinatura é uma regra que examina um pacote ou conjunto de pacotes em busca de determinado conteúdo, como semelhanças de cabeçalho de pacote ou informações de carga útil de dados. Comportamento: O IDS baseado em anomalias detecta comportamentos anormais em sistemas e redes de computadores, portanto são criados perfis usando estatísticas que podem incluir taxa de tráfego e número de pacotes para cada protocolo, caso o tráfego seja diferente das estatísticas de perfil estabelecidas para alertar e enviar ao administrador de rede, etc.

Um IDS pode ser usado para detectar vários tipos de ataques, incluindo mapeamento de rede (do nmap, por exemplo), varreduras de portas, varreduras de pilha TCP, ataques DoS (negação de serviço) e ataques de inundação de e-mail. vírus, ataques a vulnerabilidades do sistema operacional e ataques a vulnerabilidades de aplicativos. Gerenciador: É um dispositivo que recebe e gerencia informações de sensores, realiza análises sobre as informações recebidas e pode identificar incidentes; Também é usado para outros fins, como identificar problemas de política de segurança, documentar ameaças existentes e determinar quais usuários estão violando as políticas de segurança, tornando-o um acréscimo necessário à infraestrutura de segurança de rede de uma organização.

IPS

SNORT

  • Modos de Operação
  • Arquitetura do Snort
  • Regras do Snort
    • Cabeçalho da regra (Rule header)
    • Opções da regra (Rule option)
  • Pré-processadores

O decodificador de pacotes, pré-processadores, mecanismo de detecção, sistema de registro e alerta e módulo de saída são os cinco subsistemas principais do Snort (WANG, 2017). Uma regra Snort é dividida em duas seções lógicas: o cabeçalho da regra e as opções da regra, conforme ilustrado na figura 7. O cabeçalho da regra contém a ação, o protocolo, os endereços IP e as máscaras de rede de origem e destino, além de informações sobre as portas de origem e destino. .

A seção de opções da regra contém mensagens de aviso e informações sobre quais partes do pacote devem ser examinadas para determinar se uma ação de regra deve ser tomada. O cabeçalho da regra contém a ação da regra, o protocolo, os endereços IP de origem e destino e as máscaras de rede, a direção do tráfego e as informações das portas de origem e destino. A seção de opções da regra contém mensagens de aviso e informações sobre quais partes do pacote devem ser examinadas para determinar se uma ação de regra deve ser tomada.

Todas as configurações de regras do Snort são separadas umas das outras pelo caractere ponto-e-vírgula. Rev: A palavra-chave Rev é usada para identificar exclusivamente as revisões das regras do Snort. Os pré-processadores leem o pacote antes da avaliação da regra, serialmente na ordem especificada pela configuração do Snort.

A versão 2.9.12 do Snort usada neste trabalho suporta 24 pré-processadores: Frag3, Session, Stream, sfPortscan, RPC Decode, Performance.

Figura 6 - Fluxo de processamento da arquitetura Snort
Figura 6 - Fluxo de processamento da arquitetura Snort

OpenAppID (AppID)

  • Estrutura do código do detector
  • Funções API Lua
  • Técnica de detecção
  • Detectores não catalogados

O método usado pelo pré-processador AppId é inspecionar a sessão para obter dados detalhados da camada de aplicativo. A arquitetura Snort com a implementação do pré-processador AppId pode ser visualizada como na Figura 9. O Detection Engine recebe pacotes dos pré-processadores e os compara a uma lista de regras do Snort.

Os pacotes que correspondem a uma regra do Snort vão para o "Sistema de registro e alerta", que. DetectorPackageInfo.server: Se o detector identificar um aplicativo do lado do servidor, essa estrutura será preenchida. Validação do detector: esta função é chamada quando o pré-processador AppId determina que o detector é aplicável para uma inspeção mais profunda para detectar um aplicativo.

Para essas aplicações, os pré-processadores do Snort analisam os cabeçalhos do protocolo e os disponibilizam para correspondência de padrões por meio de funções da API C-Lua. As regras do Snort têm a opção de detecção 'appid' que permite aos usuários incluir o nome do aplicativo como um aprimoramento e adição às declarações de regras. O pré-processador imprime periodicamente o uso da rede do aplicativo no diretório de log do Snort no formato uniform2.

Os usuários podem detectar novos aplicativos adicionando detectores na linguagem Lua, copiando detectores da equipe Snort e modificando-os ou usando um script de shell de construção de detector (appid_detector_builder.sh) fornecido pela comunidade.

Figura 9 - Arquitetura do Snort e OpenAppId
Figura 9 - Arquitetura do Snort e OpenAppId

Linguagem Lua

Outras ferramentas utilizadas no trabalho

  • Wireshark

CENARIO DE IMPLANTAÇÃO

Instalação Snort e OpenAppID

Foram feitas modificações para adequar os processos às versões atualizadas das ferramentas utilizadas.

Ferramentas Adicionais

Devido às limitações de hardware e software do ambiente de teste, o Snort foi instalado e configurado para operar em modo passivo como um Network Intrusion Detection System (NIDS). O Wireshark é instalado na máquina virtual “VM2-Estação” para capturar informações de tráfego nela. É um sistema que atende os diversos serviços relacionados à área educacional no Modelo Pedagógico do SENAC8.

Figura 13 - Habilitar modo promíscuo Wireshark
Figura 13 - Habilitar modo promíscuo Wireshark

DETECÇÃO DE APLICAÇÕES NÃO CATALOGADAS

  • Obtendo informações da aplicação (Etapa 1)
  • Captura de pacotes (Etapa 2)
  • Extração das informações (Etapa 3)
  • Elaboração do detector (Etapa 4)
  • Testes e aplicação do detector (Etapa 5)

Após a execução da ferramenta Wireshark, a aplicação “Mira” foi iniciada e finalizada após alguns minutos de execução, tempo suficiente para que o Wirehsark capturasse uma grande quantidade de informações, tanto da aplicação alvo quanto de outros tráfegos simultâneos na máquina. Para isolar o tráfego da aplicação escolhida para análise, foi realizada a filtragem de IP (ip.addr obtido na etapa anterior, deixando na tela apenas as informações trocadas entre a máquina virtual. Segundo Kleopa (2015), ao realizar "Three-way Handshak9" entre uma aplicação e um servidor, um padrão geralmente mantido no primeiro pacote de dados do lado do servidor.

Assim, o detector foi desenvolvido conforme mostrado no código do Apêndice D, neste código uma linha adicionando os padrões da aplicação Mira foi adicionada a um arquivo chamado “client_Mira.lua” e armazenado no diretório /etc/snort/rules/custom. Para que o AppId utilize o detector da aplicação "Mira", foi criada uma conexão do detector com o diretório opp. Ao reiniciar a ferramenta u2OpenAppID é possível detectar o uso do aplicativo “Mira” (Figura 19), que foi iniciado após a criação de uma conexão com o detector.

Observando a Figura 20, cada bloco “AppId Stats” corresponde à detecção de um aplicativo em uma sessão, e um aplicativo pode usar outros aplicativos, como visto ao abrir o Google. Para que o Snort fornecesse alertas em tempo real sobre a utilização do aplicativo “Mira”, foi necessário adicionar uma regra de alerta para detectar tráfego durante a utilização do aplicativo. A sintaxe das regras pode ser adaptada à necessidade desejada. Por exemplo, vários appids podem ser adicionados a uma regra para detectar mais de um aplicativo com uma única regra.

Neste capítulo foram apresentados os passos necessários para a criação de um detector, bem como sua aplicação em uma regra do Snort para identificação de tráfego da aplicação.

Figura 14 - Tela inicial Mira
Figura 14 - Tela inicial Mira

CONSIDERAÇÕES FINAIS

Trabalhos futuros

Para que o Snort funcione de forma eficiente, é necessário compilar as seguintes bibliotecas: daq, libsafec, ragel, boost, hyperscan e flatbuffers. Um script chamado basic_config_dir_Snort.sh foi criado para agilizar a configuração, o script pode ser encontrado no Apêndice B. Ao editar manualmente o arquivo /etc/snort/snort.conf, a variável HOME_NET foi alterada para corresponder à rede interna (LAN) para corresponder. usado neste cenário.

Linha 106 - var PREPROC_RULE_PATH /etc/snort/preproc_rules Linha 113 - var WHITE_LIST_PATH /etc/snort/rules/iplists Linha 114 - var BLACK_LIST_PATH /etc/snort/rules/iplists Linha 546 $ 546 -./loc OpenAppID pode ser baixado em o site snort.org, listado como Snort-OpenAppID.tar.gz. Dentro do pacote há uma pasta chamada Application Detector Package, que contém as regras para detecção de tipos de tráfego de aplicativos catalogados pelo Snort.org e pela comunidade.

O comando diz ao Snort para enviar alertas em formato binário unified2 para Snort.log, o tamanho do log, e para enviar dados AppId para o mesmo local.

Figura 23 - Versão instalada do Snort
Figura 23 - Versão instalada do Snort

Imagem

Figura 1 - Comparação entre modelos OSI e TCP/IP
Figura 2 - Cabeçalho IPv4
Figura 3 - Visão geral do NGFW
Figura 4 - Tela de gerenciamento NGFW Checkpoint
+7

Referências

Documentos relacionados

UNIVERSIDADE FEDERAL DO OESTE DO PARÁ INSTITUTO DE BIODIVERSIDADE E FLORESTAS PROGRAMA DE PÓS-GRADUAÇÃO MESTRADO EM BIOCIÊNCIAS Universidade Federal do Oeste do Pará – PPGBIO Bloco