O projeto ntop, que desenvolve ferramentas para captura e análise de tráfego, publicou uma versão da ferramenta de inspecção profunda de pacotes nDPI 4.4, que continua a evolução da biblioteca OpenDPI. O projeto nDPI foi fundado após uma tentativa sem sucesso de transferência de alterações para o repositório OpenDPI, que não é mais mantido. O código nDPI é escrito em C e é distribuído sob a licença LGPLv3.
O sistema permite identificar os protocolos de nível de aplicação no tráfego, analisando a natureza da atividade de rede sem a necessidade de dependência de portas de rede (pode identificar protocolos conhecidos, cujos manipuladores aceitam conexões em portas de rede não padrão, por exemplo, se o http é fornecido não na porta 80, ou, inversamente, quando alguma outra atividade de rede tenta se camuflar como http, operando na porta 80).
As diferenças em relação ao OpenDPI resumem-se ao suporte para protocolos adicionais, portabilidade para a plataforma Windows, otimização de desempenho, adaptação para uso em aplicações de monitoramento de tráfego em tempo real (algumas funcionalidades específicas que retardavam o motor foram removidas), a possibilidade de compilação como módulo do kernel Linux e suporte para identificação de subprotocólos.
São suportados cerca de 300 protocolos e aplicativos, desde OpenVPN, Tor, QUIC, SOCKS, BitTorrent e IPsec até Telegram, Viber, WhatsApp, PostgreSQL e acessos ao GMail, Office365, GoogleDocs e YouTube. Há um decodificador de servidores e clientes. de certificados SSL, que permite identificar o protocolo (por exemplo, Citrix Online e Apple iCloud), utilizando o certificado de criptografia. Para a análise de conteúdo de arquivos pcap ou tráfego atual através da interface de rede, é fornecida a ferramenta nDPIreader.
No novo lançamento:
- Adicionadas metadados com informações sobre a razão para a ativação do manipulador para uma determinada ameaça.
- Adicionada a função ndpi_check_flow_risk_exceptions() para conectar manipuladores de ameaças de rede.
- Realizada a separação entre protocolos de rede (por exemplo, TLS) e protocolos de aplicação (por exemplo, serviços do Google).
- Adicionados dois novos níveis de privacidade: NDPI_CONFIDENCE_DPI_PARTIAL e NDPI_CONFIDENCE_DPI_PARTIAL_CACHE.
- Adicionado um modelo para determinar o uso do serviço Cloudflare WARP.
- A implementação interna do hashmap foi substituída pelo uthash.
- Atualizados os bindings para a linguagem Python.
- Por padrão, a implementação embutida do gcrypt está ativada (para usar a implementação do sistema, uma opção —with-libgcrypt foi proposta).
- Expandido o espectro de ameaças de rede detectadas e problemas relacionados ao risco de comprometimento (fluxo de risco). Suporte adicionado para novos tipos de ameaças: NDPI_PUNYCODE_IDN, NDPI_ERROR_CODE_DETECTED, NDPI_HTTP_CRAWLER_BOT e NDPI_ANONYMOUS_SUBSCRIBER.
- Suporte adicionado para protocolos e serviços:
- UltraSurf
- i3D
- RiotGames
- TSAN
- TunnelBear VPN
- collectd
- PIM (Multicast Independente de Protocolo)
- Multicast Geral Pragmático (PGM)
- RSH
- Produtos GoTo, como GoToMeeting
- Dazn
- MPEG-DASH
- Rede Definida por Software em Tempo Real da Agora (SD-RTN)
- Toca Boca
- VXLAN
- MDNS/LLMNR
- Aprimorada a análise e identificação de protocolos:
- SMTP/SMTPS (suporte adicionado para STARTTLS)
- OCSP
- TargusDataspeed
- Usenet
- DTLS
- TFTP
- SOAP via HTTP
- GenshinImpact
- IPSec/ISAKMP
- DNS
- syslog
- DHCP
- NATS
- O Viber
- Xiaomi
- Raknet
- gnutella
- Kerberos
- QUIC (suporte adicionado para a especificação v2drft 01)
- SSDP
- SNMP
- DGA
- AES-NI
Fonte: opennet.ru
