La inspección profunda de paquetes (abreviado DPI) es una tecnología para verificar paquetes de red por su contenido con el fin de regular y filtrar el tráfico, así como acumular datos estadísticos. A diferencia de los cortafuegos , la inspección profunda de paquetes analiza no solo los encabezados de los paquetes , sino también la carga útil, a partir de la segunda capa (enlace) del modelo OSI . La tecnología de Inspección Profunda de Paquetes permite que los ISP y las agencias gubernamentales apliquen políticas QoS flexibles a varios tipos de tráfico, restrinjan el acceso a recursos prohibidos, detecten intrusiones en la red y detengan la propagación de virus informáticos .
La inspección profunda de paquetes puede tomar una decisión no solo sobre el contenido de los paquetes , sino también sobre señales indirectas inherentes a algunos programas y protocolos de red específicos . Para ello se puede utilizar el análisis estadístico (por ejemplo, análisis estadístico de la frecuencia de aparición de determinados caracteres, longitud del paquete, etc.).
La inspección profunda de paquetes a veces se usa para bloquear ciertos protocolos como BitTorrent . Con la ayuda de Deep Packet Inspection, puede determinar la aplicación que generó o recibió los datos y tomar alguna acción en función de esto. Deep Packet Inspection puede recopilar estadísticas de conexión detalladas para cada usuario individualmente. Además, con la ayuda de QoS , Deep Packet Inspection puede controlar la tasa de transmisión de paquetes individuales al aumentarla o, por el contrario, reducirla. Según algunos proveedores de Internet , Deep Packet Inspection le permite contener aplicaciones que obstruyen el canal de Internet, cambiar las prioridades para transferir varios tipos de datos , por ejemplo, acelerar la apertura de páginas de Internet al reducir la velocidad de descarga de archivos grandes. A veces, la inspección profunda de paquetes se usa en grandes corporaciones para evitar fugas accidentales de datos , así como para proteger contra el envío de archivos internos protegidos por correo electrónico .
Los primeros cortafuegos se podían implementar de dos formas.
En el primer método , el servidor proxy protegía la red local interna del acceso desde el mundo exterior. El servidor proxy verifica si los paquetes de red coinciden con los criterios dados. Después de eso, los elimina o los envía. Esto se ha utilizado tradicionalmente porque reduce el riesgo de que alguien pueda explotar las vulnerabilidades del protocolo .
En el segundo método , el cortafuegos utilizó un programa que filtra los paquetes de red de acuerdo con un conjunto de reglas. Dichos programas se denominan cortafuegos de filtrado. Un firewall de filtrado es capaz de bloquear paquetes que no coinciden con algunas reglas simples, como IP de origen, IP de destino, puerto de origen , puerto de destino. Estos filtros de paquetes son el tipo de cortafuegos más rápido, ya que realizan muy pocos cálculos. La facilidad de implementación le permite hacer un firewall de este tipo en forma de chip.
Desde el principio, los proxies se consideraron más seguros que los filtros de paquetes porque eran más granulares en la inspección de paquetes [1] .
La evolución de los cortafuegos basados en proxy condujo a los primeros programas de inspección profunda de paquetes. Fueron creados para eliminar problemas de red y bloquear virus , así como para proteger contra ataques DoS . Inicialmente, las computadoras en las que se instaló Deep Packet Inspection no eran lo suficientemente poderosas para monitorear el tráfico de Internet de todos los usuarios en tiempo real.
Después de un tiempo, cuando fue posible trabajar con programas de inspección profunda de paquetes en tiempo real, los proveedores de servicios de Internet los utilizaron principalmente para organizar publicidad dirigida y reducir la congestión de la red. Hoy en día, la Inspección Profunda de Paquetes es capaz de mucho más que solo brindar seguridad. Los ISP obtuvieron la capacidad de controlar el tráfico de paso de cualquiera de sus clientes. Tener herramientas para bloquear el tráfico de forma selectiva les da a los ISP la capacidad de agregar servicios pagos adicionales y obtener ingresos adicionales de esto, aunque en esencia, esto viola la neutralidad de la red . [2] Actualmente, en algunos países, los ISP están obligados a realizar el filtrado de acuerdo con las leyes del país. Los programas de inspección profunda de paquetes a veces se utilizan para detectar y bloquear tráfico ilegal o infractor [3] , o para recopilar información sobre sitios visitados para vender a redes publicitarias [4] .
Recientemente, el volumen de tránsito ha aumentado notablemente. El problema está comenzando a reaparecer: las computadoras no pueden hacer frente al análisis de todo el tráfico en tiempo real, o el costo de las computadoras será demasiado alto. Sin embargo, las tecnologías modernas ya permiten realizar una inspección profunda de paquetes completamente funcional en forma de un enrutador especial [5] .
Se asigna un byte especial en la estructura del paquete del protocolo IPv4 para indicar el número del protocolo de la capa de transporte. Es el décimo byte desde el comienzo del encabezado IPv4 del paquete. Por ejemplo: el número 6 es para TCP , el 17 es para UDP .
También hay un área especial en la estructura del paquete IPv6 que contiene el mismo identificador de protocolo de capa de transporte. Esta área se denomina Siguiente encabezado [6] .
Los dispositivos DPI pueden restringir el acceso a hosts o recursos por sus direcciones IP . Esta es una forma común, simple, económica y efectiva de bloquear contenido prohibido. La dificultad radica en el hecho de que la dirección IP no siempre es el identificador único e inequívoco del servidor. En este caso, los servicios permitidos que están alojados en la misma dirección IP también pueden verse afectados. Además, este método es difícil de aplicar de manera efectiva si se utiliza una red de entrega de contenido , que consta de muchas direcciones IP cambiantes. En Irán y China , el acceso a los servidores proxy utilizados para eludir el bloqueo , incluidos los incluidos en Tor [7] , está limitado por la dirección IP .
Uno de los desencadenantes comunes en la operación de DPI son las solicitudes de DNS . Cualquier usuario, para poder abrir una página web en Internet, necesita enviar el nombre de dominio del host o recurso deseado al servidor DNS . Los paquetes se intercambian entre servidores DNS y clientes sin cifrar mediante el protocolo UDP . Un rasgo característico del DNS, que te permite identificarlo entre el resto del tráfico, es que trabaja exclusivamente en el puerto 53 . Por lo tanto, los dispositivos DPI pueden detectar solicitudes a cualquier servidor DNS público [8] [9] .
Es difícil identificar el tráfico para ciertas palabras clave , ya que la carga útil generalmente está encriptada (una excepción es el intercambio sobre el protocolo http ). El servicio de destino se puede identificar indirectamente mediante la cadena de indicación del nombre del servidor enviada como parte del establecimiento de la sesión TLS en un mensaje de saludo del cliente [7] sin cifrar .
Los clientes de BitTorrent se conectan al rastreador mediante el protocolo TCP . Para detectar tales paquetes entre todo el tráfico TCP, es suficiente verificar que el contenido de datos del paquete TCP del segundo byte coincida con el "protocolo BitTorrent" [10] .
Además, para identificarlos se analiza una secuencia de paquetes que tienen las mismas características, como IP_Origen:puerto - IP_Destino:puerto, tamaño del paquete, frecuencia de apertura de nuevas sesiones por unidad de tiempo, etc., según comportamientos modelos (heurísticos) correspondientes a dichas aplicaciones. Las interpretaciones de los modelos de comportamiento de los protocolos correspondientes y, por lo tanto, la precisión de la detección, varían entre los diferentes fabricantes de equipos [11] .
Para identificar el protocolo HTTP , basta con comprobar que el paquete es TCP , y el contenido de este paquete TCP comienza con uno de los siguientes comandos: "GET", "POST", "HEAD", "PUT", "DELETE". ", "CONECTAR", "OPCIONES", "RASTREO", "PARCHE" [12] . Además, debe haber un espacio después del comando, y el texto "HTTP /" también debe aparecer después de algún intervalo. Si se hace todo esto, entonces este paquete lleva una solicitud HTTP [10] .
Para detectar paquetes RTSP entre todo el tráfico , basta con asegurarse de que el paquete es TCP y el contenido de este paquete TCP comienza con uno de los siguientes comandos: "OPCIONES", "DESCRIBIR", "ANUNCIA", "REPRODUCIR". ", "CONFIGURACIÓN", "OBTENER_PARÁMETROS", "ESTABLECER_PARÁMETROS", "DESMONTAJE". El comando debe ir seguido de un espacio. Además, después de cierto intervalo, debería aparecer el texto “RTSP/” [10] .
Desde un punto de vista operativo, el operador puede controlar la disposición de los canales conectados a DPI a nivel de aplicación. Previamente resolvió las tareas de implementación de QoS (Quality of Service) únicamente mediante la construcción de colas a base de marcar el tráfico con bits de servicio en las cabeceras IP, 802.1q y MPLS , destacando el tráfico más prioritario (todo tipo de VPNs , IPTV , SIP , etc.) y garantizándole un determinado ancho de banda en cada momento. El tráfico Best Effort, que incluye todo el tráfico de Internet de los suscriptores domésticos (HSI - Internet de alta velocidad), permaneció prácticamente descontrolado, lo que hizo posible que el mismo Bittorrent tomara todo el ancho de banda libre, lo que, a su vez, condujo a la degradación. de cualquier otra aplicación web. Con el uso de DPI, el operador tiene la oportunidad de distribuir el canal entre diferentes aplicaciones. Por ejemplo, por la noche, permita que el tráfico de Bittorrent consuma más ancho de banda que durante el día, durante las horas pico, cuando hay mucho tráfico web en la red. Otra medida popular para muchos operadores móviles es el bloqueo del tráfico de Skype , así como cualquier tipo de telefonía SIP . En lugar de un bloqueo completo, el operador puede permitir el funcionamiento de estos protocolos, pero a muy baja velocidad con la correspondiente degradación de la calidad del servicio para una aplicación en particular, con el fin de obligar al usuario a pagar por los servicios de telefonía tradicional, o para un paquete de servicio especial que permite el acceso a los servicios de VoIP .
El punto importante es que las reglas basadas en las cuales se realiza el modelado/bloqueo se pueden establecer utilizando dos bases principales: por servicio o por suscriptor. En el primer caso, de la forma más sencilla, se estipula que una determinada aplicación puede disponer de una tira determinada. En el segundo, la vinculación de la aplicación al carril se realiza para cada abonado o grupo de abonados independientemente de los demás, lo que se realiza mediante integración DPI con los sistemas OSS / BSS existentes del operador . Es decir, puede configurar el sistema de tal manera que el suscriptor Vasya, que ha bombeado 100 gigabytes de torrents en una semana, estará limitado en la velocidad de descarga de los mismos torrents al nivel del 70% de la tarifa. compró a fin de mes. Y para el suscriptor Petya, que compró un servicio adicional llamado “Skype sin problemas”, el tráfico de la aplicación Skype no se bloqueará bajo ningún concepto, pero cualquier otro es fácil. Puede vincularse al User-Agent y permitir la navegación solo con los navegadores recomendados, puede hacer redireccionamientos complicados según el tipo de navegador o sistema operativo. En otras palabras, la flexibilidad de los planes y opciones de tarifas está limitada solo por el sentido común. Si estamos hablando del tráfico de los operadores móviles, entonces DPI le permite controlar la carga de cada estación base por separado, distribuyendo equitativamente los recursos de BS de tal manera que todos los usuarios estén satisfechos con la calidad del servicio. La mayoría de fabricantes del EPC (Evolved Packet Core) para LTE integran en sus PDN-GW la funcionalidad DPI , adaptada para solucionar los problemas de los operadores móviles.
Hippie (Motor de identificación de protocolo de alto rendimiento) es una implementación de código abierto de Inspección profunda de paquetes para Linux en C. [10]
L7-filter es otra implementación de código abierto de Deep Packet Inspection para Linux en C, enfocada en la clasificación de datos de la séptima capa del modelo OSI . [13]
SPID (Identificación de protocolo estadístico) es una implementación de código abierto de Inspección profunda de paquetes para Windows en C#. Identifica el protocolo de la séptima capa del modelo OSI mediante análisis de tráfico estadístico [14] .
Deep Packet Inspection es capaz de modificar datos en formato . En los Estados Unidos de América y el Reino Unido, la inspección profunda de paquetes se usa a menudo para generar anuncios basados en el comportamiento de los suscriptores. Así, se implementa el llamado target marketing [15] .
Los principales operadores móviles en Rusia implementaron DPI en 2009 ( MegaFon , equipo Huawei ), 2010 ( MTS , Cisco) y 2011 ( Beeline , Procera). También pueden usar DPI para suprimir los servicios peer-to-peer y VoIP [16] [17] . Rostelecom planea implementar DPI para Internet móvil en 2014.
Desde principios de 2010, iMarker , una empresa chipriota (registrada y que opera bajo las leyes de la República de Chipre [18] ), ofrece a los ISP la instalación gratuita de sistemas DPI (Gigamon, Xterica) para orientar la publicidad en línea. Dicho sistema recibe información sobre todos los sitios visitados por los usuarios y, en base a esto, puede ofrecerle publicidad personalizada. Según el periódico Vedomosti, 11 operadores ya han instalado dicho sistema, incluidas 4 sucursales regionales de Rostelecom; la cobertura total fue estimada por el fundador de la empresa a finales de 2013 en un 12 % de la audiencia rusa de Internet [19] [20] [21] [22] . Más tarde, iMarker pasó a formar parte de la empresa estadounidense Phorm , ofreciendo servicios similares a los ISP europeos.
En Rusia, las tendencias hacia la implementación de la inspección profunda de paquetes entre los proveedores de Internet también están asociadas con la ley federal No. 139 sobre enmiendas a la ley "Sobre la protección de los niños contra la información perjudicial para su salud y desarrollo" (entró en vigor el 1 de noviembre). , 2012). La mayoría de los ISP bloquean los sitios en la lista negra basándose únicamente en las direcciones IP de esos sitios. Pero algunos proveedores pueden bloquear las URL selectivas si utilizan la Inspección profunda de paquetes para analizar las solicitudes HTTP [23] [24] . Para conexiones encriptadas ( HTTPS ) DPI es difícil de aplicar.
Uno de los obstáculos para el uso obligatorio de tecnologías DPI por parte de los proveedores rusos para bloquear sitios prohibidos fue el alto costo de tales soluciones, así como la disponibilidad de alternativas más económicas para el filtrado de URL a fin de cumplir con la ley [25] .
Los principales argumentos de los opositores al uso de Deep Packet Inspection son la violación de derechos humanos como el derecho a la privacidad y el derecho a la privacidad de la correspondencia, así como el incumplimiento de las implementaciones de las reglas de privacidad . Además, el uso de la inspección profunda de paquetes para priorizar el tráfico viola la neutralidad de la red [26] .
El 12 de mayo de 2017 en Azerbaiyán , después de que se bloquearan los sitios de noticias independientes de la oposición , todas las llamadas a través de Internet fueron completamente [27] (o limitadas al máximo, en términos de acceso a los servicios), incluidos los mensajeros instantáneos como Skype , WhatsApp [28] . Al mismo tiempo, no hubo declaraciones oficiales por parte del gobierno de la república.
A partir del 27 de septiembre de 2020, en relación con el estallido de la Segunda Guerra de Karabaj , el "Ministerio de Transporte, Comunicaciones y Altas Tecnologías de Azerbaiyán" introdujo restricciones en el uso de Internet en el país. Facebook, WhatsApp, YouTube, Instagram, TikTok, LinkedIn, Twitter, Zoom, Skype fueron completamente bloqueados [29] . El bloqueo afectó a otros recursos, como servicios de VPN, banca en línea y sitios de medios. Desde el 4 de octubre, p2p, el tráfico UDP se ha suprimido activamente, lo que ha afectado el intercambio de datos a través de los protocolos Bittorrent y VoIP. También se utilizan algoritmos automatizados para identificar y bloquear direcciones IP (tráfico entrante/saliente), por lo que existen problemas de disponibilidad inestable de servidores nacionales en el exterior [30] [31] .
En 2018, el gobierno de Bielorrusia compró equipos DPI a la empresa estadounidense Sandvine a través del proveedor ruso Jet Infosystems. El equipo se utilizó para bloquear el acceso a Internet el día de las elecciones, el 9 de agosto de 2020, y posteriormente después del inicio de las protestas [32] .