Os meios técnicos do IDS , na verdade, não são muito misteriosos. A seguir, este artigo usará uma abordagem "follow the vine" para apresentar a você uma arquitetura de nível de entrada relativamente simples do IDS . Do ponto de vista da distribuição no mercado e da facilidade de aquisição, é mais apropriado escolher o NIDS como exemplo de implantação. Este artigo utiliza uma plataforma Windows completa para executar todo o processo de detecção de intrusões. Devido às limitações de espaço, ele é apresentado a partir de uma perspectiva de análise qualitativa.
Conhecimento preliminar
IDS: Intrusion Detection System, uma combinação inteligente de software e hardware que coleta informações do sistema de rede para realizar detecção e análise de intrusões.
Existem duas organizações que realizam trabalhos de padronização em IDS: o Grupo de Trabalho de Detecção de Intrusão (IDWG, Intrusion Detection Working Group) da IETF, o criador de padrões internacionais da Internet, e o Common Intrusion Detection Framework (CIDF, Common Intrusion Detection Framework).
Classificação IDS: IDS de rede (baseado em rede), IDS baseado em host (baseado em host), IDS híbrido (híbrido), IDS de consoles (console), Verificadores de integridade de arquivos (verificador de integridade de arquivos), Honeypots (honeypots). sistema de geração de eventos
De acordo com a ideia geral do modelo do Sistema de Detecção de Intrusão (IDS) exposta pelo CIDF, o componente de detecção de intrusão mais simples com todos os elementos é mostrado na figura. De acordo com a especificação CIDF, os dados que o IDS precisa analisar são chamados coletivamente de Eventos. Podem ser Pacotes de Dados na rede ou Informações obtidas do Log do Sistema ou outros métodos.
Sem o fluxo de dados (ou a coleta de dados), um IDS é uma árvore sem raízes e completamente inútil.
Como organização básica do IDS, o sistema de geração de eventos pode desempenhar um papel importante. Ele coleta todos os eventos definidos e os transmite para outros componentes de uma só vez. Em um ambiente Windows, a abordagem básica atual é usar Winpcap e WinDump.
Como todos sabemos, para sistemas de geração e análise de eventos, softwares e programas baseados em plataformas Linux e Unix são atualmente populares, na verdade, na plataforma Windows, também existe software semelhante ao Libpcap (que é um software necessário para Unix ou; Linux para capturar pacotes de rede do kernel) A ferramenta é Winpcap.
Winpcap é uma API de interface de rede gratuita baseada em Windows que define a placa de rede para o modo "promíscuo" e, em seguida, percorre os pacotes capturados pela rede. Sua tecnologia é simples de implementar, altamente portátil e nada tem a ver com placas de rede, mas não é eficiente e é adequada para redes abaixo de 100 Mbps.
A ferramenta correspondente de detecção de rede baseada no Windows é o WinDump (uma versão portada do Tcpdump na plataforma Linux/Unix no Windows). Este software deve ser baseado na interface Winpcap (alguém aqui chama vividamente de Winpcap: driver de detecção de dados). Usando o WinDump, ele pode exibir os cabeçalhos dos pacotes de dados que correspondem às regras. Você pode usar esta ferramenta para encontrar problemas de rede ou monitorar as condições da rede. Você pode monitorar com eficácia comportamentos seguros e inseguros da rede até certo ponto.
Ambos os softwares podem ser encontrados gratuitamente online e os leitores também podem visualizar tutoriais de uso de software relacionados.
A seguir está uma breve introdução às etapas para estabelecer a detecção e coleta de eventos.
1. Monte sistemas de software e hardware. Dependendo da ocupação da rede, decida se deseja usar um computador comum compatível ou um servidor dedicado com desempenho superior. Para instalar o sistema operacional Windows principal NT, é recomendado usar o Windows Server 2003 Enterprise Edition se as condições não forem atendidas. , você também pode usar o Windows 2000 Advanced Server. O formato da partição é recomendado para ser o formato NTFS.
2. A divisão do espaço do servidor deve ser razoável e eficaz Para a instalação de programas de execução e armazenamento de logs de dados, é melhor colocar os dois espaços em partições diferentes.
3. Implementação simples do Winpcap. Primeiro instale o driver. Você pode baixar o instalador automático do WinPcap (Driver + DLLs) de sua página inicial ou site espelho e instalá-lo diretamente.
Nota: Se você usa Winpcap para desenvolvimento, também precisa baixar o pacote do desenvolvedor.
WinPcap inclui três módulos: O primeiro módulo NPF (Netgroup Packet Filter) é um arquivo VxD (Virtual Device Driver). Sua função é filtrar pacotes de dados e passá-los intactos para o módulo de modo usuário. O segundo módulo packet.dll fornece uma interface pública para a plataforma Win32. Ele é construído em packet.dll e fornece um método de programação mais conveniente e direto. O terceiro módulo Wpcap.dll não depende de nenhum sistema operacional. É a biblioteca de link dinâmico subjacente e fornece funções abstratas e de alto nível. Instruções específicas de uso são abordadas nos principais sites. Como usar melhor o Winpcap requer fortes recursos de programação em ambiente C.
4. Criação do WinDump. Após a instalação, execute no modo prompt de comando do Windows e os usuários poderão verificar o status da rede por conta própria, sem entrar em detalhes.
Se não houver problemas de compatibilidade de software e a instalação e configuração estiverem corretas, a detecção e coleta de eventos poderão ser alcançadas.
[Página cortada]sistema de análise de eventos
Como a maioria de nossas redes são conectadas por switches Ethernet comutados, o objetivo de estabelecer um sistema de análise de eventos é detectar vários dispositivos de firewall de rede e oferecer suporte a vários métodos de coleta de logs (como coleta baseada em informações de dados Snmp e Syslog) e fornecer determinados eventos funções de processamento de log, estatísticas, análise e consulta.
O sistema de análise de eventos é o módulo central do IDS. Sua principal função é analisar diversos eventos e descobrir comportamentos que violem as políticas de segurança. Se você pode escrever um sistema de software sozinho ou em colaboração com outros, você precisa fazer preparativos rigorosos para o desenvolvimento inicial, como ter uma compreensão clara dos protocolos de rede, ataques de hackers e vulnerabilidades do sistema, e então começar a formular regras e estratégias, que deve basear-se em tecnologias padrão e especificações e, em seguida, otimizar o algoritmo para melhorar a eficiência de execução, estabelecer um modelo de detecção e simular o processo de ataque e análise.
O sistema de análise de eventos reside no mecanismo de detecção no segmento de rede de monitoramento e geralmente realiza análises através de três meios técnicos: correspondência de padrões, análise de protocolo e análise comportamental. Quando um determinado padrão de uso indevido é detectado, uma mensagem de aviso correspondente é gerada e enviada ao sistema de resposta. Atualmente, usar a análise de protocolo é a melhor forma de detectar em tempo real.
Uma forma possível deste sistema é usar um analisador de protocolo como corpo principal, que pode ser construído com base em kits de ferramentas de análise de protocolo abertos e prontos para uso. O analisador de protocolo pode exibir fluxos de transmissão de rede em nível de pacote e executar avisos automaticamente; baseado em regras de protocolo de rede para detectar rapidamente a presença de ataques, permitindo que programadores e administradores de rede monitorem e analisem a atividade da rede para detectar e localizar falhas de forma proativa. Os usuários podem experimentar um analisador de protocolo de rede gratuito chamado Ethereal, que oferece suporte a sistemas Windows. Os usuários podem analisar os dados capturados pelo sistema de geração de eventos e salvos no disco rígido. Você pode navegar pelos pacotes capturados de forma interativa e visualizar informações resumidas e detalhadas de cada pacote. Ethereal possui uma variedade de recursos poderosos, como suporte a quase todos os protocolos, linguagens de filtragem ricas e fácil visualização de fluxos de dados reconstruídos de sessões TCP.
sistema responsivo
O sistema de resposta é um sistema interativo para pessoas e objetos. Pode-se dizer que é a estação de transferência e a estação de coordenação de todo o sistema. As pessoas são os administradores do sistema e as coisas são todos os outros componentes. Para ser mais específico, o coordenador do sistema de resposta tem muito a fazer: registar eventos de segurança, gerar mensagens de alarme (como e-mails), registar registos adicionais, isolar intrusos, encerrar processos e proibir a vitimização de uma forma predefinida. .A porta e o serviço do atacante, ou mesmo uma resposta manual e uma resposta automática (resposta baseada em máquina), podem ser adotadas, e uma combinação dos dois será melhor.
Elementos de design de sistema responsivo
(1) Receber informações de alarme de evento do sistema de geração de eventos que foram filtradas, analisadas e reconstruídas pelo sistema de análise de eventos e, em seguida, interagir com o usuário (administrador) para consultar e fazer julgamentos de regras e tomar ações de gerenciamento.
(2) Fornecer aos administradores uma interface para gerenciar o sistema de banco de dados de eventos. Eles podem modificar a base de regras, configurar políticas de segurança de acordo com diferentes ambientes de rede e ler e gravar o sistema de banco de dados.
(3) Ao atuar no sistema front-end, ele pode gerenciar sistemas de geração e análise de eventos (coletivamente chamados de detectores de eventos), classificar e filtrar os eventos coletados, detectados e analisados pelo sistema e reimplementar regras de segurança de acordo com diferentes situações de segurança.
Sistemas de resposta e detectores de eventos são normalmente implementados como aplicativos.
Ideia de design: O sistema de resposta pode ser dividido em duas partes do programa: monitoramento e controle. A parte de escuta vincula uma porta ociosa, recebe os resultados da análise e outras informações enviadas do detector de eventos e converte os arquivos armazenados no sistema de banco de dados de eventos. Como administrador, o administrador pode solicitar somente leitura, modificação e operações especiais de acordo. às permissões do usuário. A parte de controle pode usar GTK+ para escrever GUI e desenvolver uma interface gráfica de usuário mais intuitiva. O objetivo principal é fornecer aos usuários uma interface mais conveniente e amigável para navegar pelas informações de aviso.
sistema de banco de dados de eventos
Na plataforma Windows, embora o Access seja mais fácil de dominar, construí-lo com o SQL Server 2000 é mais eficaz do que o Access e não é difícil de começar. As principais funções deste sistema são: registrar, armazenar e reorganizar informações de eventos, que pode ser chamado pelos administradores para visualizar e revisar o uso forense de revisão de ataques.
A estrutura deste sistema é relativamente simples e requer apenas algumas funções básicas do software de banco de dados.
Para coordenar a comunicação intencional entre os componentes, os componentes devem compreender corretamente a semântica dos vários dados transmitidos entre eles. Você pode consultar o mecanismo de comunicação do CIDF para construir um modelo de 3 camadas. Preste atenção à interoperabilidade entre vários componentes para garantir segurança, eficiência e suavidade.
A integração continuará nos trabalhos subsequentes e as funções de cada componente continuarão a ser melhoradas. Uma estrutura básica de IDS baseada na plataforma Windows foi concluída. Se você atende aos requisitos da internet, experimente fazer seu próprio queijo. Depois de muito trabalho, há uma doçura indescritível.
[Página cortada]sistema de análise de eventos
Como a maioria de nossas redes são conectadas por switches Ethernet comutados, o objetivo de estabelecer um sistema de análise de eventos é detectar vários dispositivos de firewall de rede e oferecer suporte a vários métodos de coleta de logs (como coleta baseada em informações de dados Snmp e Syslog) e fornecer determinados eventos funções de processamento de log, estatísticas, análise e consulta.
O sistema de análise de eventos é o módulo central do IDS. Sua principal função é analisar diversos eventos e descobrir comportamentos que violem as políticas de segurança. Se você pode escrever um sistema de software sozinho ou em colaboração com outros, você precisa fazer preparativos rigorosos para o desenvolvimento inicial, como ter uma compreensão clara dos protocolos de rede, ataques de hackers e vulnerabilidades do sistema, e então começar a formular regras e estratégias, que deve basear-se em tecnologias padrão e especificações e, em seguida, otimizar o algoritmo para melhorar a eficiência de execução, estabelecer um modelo de detecção e simular o processo de ataque e análise.
O sistema de análise de eventos reside no mecanismo de detecção no segmento de rede de monitoramento e geralmente realiza análises através de três meios técnicos: correspondência de padrões, análise de protocolo e análise comportamental. Quando um determinado padrão de uso indevido é detectado, uma mensagem de aviso correspondente é gerada e enviada ao sistema de resposta. Atualmente, usar a análise de protocolo é a melhor forma de detectar em tempo real.
Uma forma possível deste sistema é usar um analisador de protocolo como corpo principal, que pode ser construído com base em kits de ferramentas de análise de protocolo abertos e prontos para uso. O analisador de protocolo pode exibir fluxos de transmissão de rede em nível de pacote e executar avisos automaticamente; baseado em regras de protocolo de rede para detectar rapidamente a presença de ataques, permitindo que programadores e administradores de rede monitorem e analisem a atividade da rede para detectar e localizar falhas de forma proativa. Os usuários podem experimentar um analisador de protocolo de rede gratuito chamado Ethereal, que oferece suporte a sistemas Windows. Os usuários podem analisar os dados capturados pelo sistema de geração de eventos e salvos no disco rígido. Você pode navegar pelos pacotes capturados de forma interativa e visualizar informações resumidas e detalhadas de cada pacote. Ethereal possui uma variedade de recursos poderosos, como suporte a quase todos os protocolos, linguagens de filtragem ricas e fácil visualização de fluxos de dados reconstruídos de sessões TCP.
sistema responsivo
O sistema de resposta é um sistema interativo para pessoas e objetos. Pode-se dizer que é a estação de transferência e a estação de coordenação de todo o sistema. As pessoas são os administradores do sistema e as coisas são todos os outros componentes. Para ser mais específico, o coordenador do sistema de resposta tem muito a fazer: registar eventos de segurança, gerar mensagens de alarme (como e-mails), registar registos adicionais, isolar intrusos, encerrar processos e proibir a vitimização de uma forma predefinida. .A porta e o serviço do atacante, ou mesmo uma resposta manual e uma resposta automática (resposta baseada em máquina), podem ser adotadas, e uma combinação dos dois será melhor.
Elementos de design de sistema responsivo
(1) Receber informações de alarme de evento do sistema de geração de eventos que foram filtradas, analisadas e reconstruídas pelo sistema de análise de eventos e, em seguida, interagir com o usuário (administrador) para consultar e fazer julgamentos de regras e tomar ações de gerenciamento.
(2) Fornecer aos administradores uma interface para gerenciar o sistema de banco de dados de eventos. Eles podem modificar a base de regras, configurar políticas de segurança de acordo com diferentes ambientes de rede e ler e gravar o sistema de banco de dados.
(3) Ao atuar no sistema front-end, ele pode gerenciar sistemas de geração e análise de eventos (coletivamente chamados de detectores de eventos), classificar e filtrar os eventos coletados, detectados e analisados pelo sistema e reimplementar regras de segurança de acordo com diferentes situações de segurança.
Sistemas de resposta e detectores de eventos são normalmente implementados como aplicativos.
Ideia de design: O sistema de resposta pode ser dividido em duas partes do programa: monitoramento e controle. A parte de escuta vincula uma porta ociosa, recebe os resultados da análise e outras informações enviadas do detector de eventos e converte os arquivos armazenados no sistema de banco de dados de eventos. Como administrador, o administrador pode solicitar somente leitura, modificação e operações especiais de acordo. às permissões do usuário. A parte de controle pode usar GTK+ para escrever GUI e desenvolver uma interface gráfica de usuário mais intuitiva. O objetivo principal é fornecer aos usuários uma interface mais conveniente e amigável para navegar pelas informações de aviso.
sistema de banco de dados de eventos
Na plataforma Windows, embora o Access seja mais fácil de dominar, construí-lo com o SQL Server 2000 é mais eficaz do que o Access e não é difícil de começar. As principais funções deste sistema são: registrar, armazenar e reorganizar informações de eventos, que pode ser chamado pelos administradores para visualizar e revisar o uso forense de revisão de ataques.
A estrutura deste sistema é relativamente simples e requer apenas algumas funções básicas do software de banco de dados.
Para coordenar a comunicação intencional entre os componentes, os componentes devem compreender corretamente a semântica dos vários dados transmitidos entre eles. Você pode consultar o mecanismo de comunicação do CIDF para construir um modelo de 3 camadas. Preste atenção à interoperabilidade entre vários componentes para garantir segurança, eficiência e suavidade.
A integração continuará nos trabalhos subsequentes e as funções de cada componente continuarão a ser melhoradas. Uma estrutura básica de IDS baseada na plataforma Windows foi concluída. Se você atende aos requisitos da internet, experimente fazer seu próprio queijo. Depois de muito trabalho, há uma doçura indescritível.