EN ESTA PÁGINA
Comprender nuestro enfoque para abordar las vulnerabilidades conocidas y desconocidas
Descripción de objetos y grupos de objetos de ataque de IDP predefinidos
Modificación de objetos de ataque personalizados debido a cambios introducidos en Signature Update
Listado de condiciones de prueba de IDP para un protocolo específico
Ejemplo: firma compuesta para detectar la explotación de una vulnerabilidad HTTP
Ejemplo: uso de parámetros de límite de tiempo para detectar un ataque de fuerza bruta
Referencia: Números de protocolo de objeto de ataque personalizados
Descripción de la compatibilidad con múltiples detectores de desplazados internos
Ejemplo: configuración de la descompresión de contenido de IDP
Descripción de los ataques basados en anomalías del protocolo IDP
Ejemplo: configuración de ataques basados en anomalías del protocolo IDP
Descripción general de la configuración de directivas de IDP
Objetos y grupos de objetos de ataque para políticas de desplazados internos
Los objetos de ataque, los objetos de firmas de aplicación y los objetos de servicio se utilizan para definir las reglas de política de IDP. Como respuesta a nuevas vulnerabilidades, Juniper Networks proporciona periódicamente un archivo que contiene actualizaciones de la base de datos de ataques en el sitio web de Juniper. Puede descargar este archivo para proteger su red de nuevas amenazas. Estos objetos y grupos de ataque están diseñados para detectar patrones de ataque conocidos y anomalías de protocolo dentro del tráfico de red. Puede configurar objetos y grupos de ataque como condiciones de coincidencia en las reglas de política de IDP.
Para obtener más información, consulte los temas siguientes:
Comprender nuestro enfoque para abordar las vulnerabilidades conocidas y desconocidas
En este tema se incluyen las siguientes secciones:
Vulnerabilidades conocidas
Las vulnerabilidades conocidas son aquellas documentadas dentro de la comunidad de seguridad de Internet. La comunidad de seguridad de Internet comprende varias organizaciones de seguridad, analistas de seguridad y foros de seguridad. La comunidad de seguridad descubre y analiza continuamente nuevos ataques e intercambia esta información a través de Internet. De esta manera, pueden localizar, identificar y comprender realmente un ataque rápidamente.
Algunos avisos de seguridad incluyen el código de ataque real. Puede usar la información del ataque y el código del ataque para capturar información de paquetes y contextos de servicio. Puede utilizar esta información para crear un objeto de ataque de firma personalizado.
Desafortunadamente, la mayoría de los avisos no publican el código de ataque con la descripción del ataque. Si no puede obtener el código de ataque, lea atentamente el aviso e intente reconstruir los conceptos básicos del paquete de ataque.
Recuerde aislar el código adquirido de fuentes desconocidas.
Las siguientes organizaciones están activas en la comunidad de seguridad y son un buen recurso para localizar información sobre ataques:
NVD—Base de Datos Nacional de Vulnerabilidades (http://nvd.nist.gov). El repositorio del gobierno de EE. UU. de datos de administración de vulnerabilidades representados mediante el Protocolo de automatización de contenido de seguridad (SCAP).
SANS: administrador de sistemas, auditoría, redes, instituto de seguridad (www.sans.org). Una organización de investigación, certificación y educación en seguridad de la información que proporciona alertas de seguridad. También alberga el Internet Storm Center (ISC) en http://www.incidents.org.
CVE: vulnerabilidades y exposiciones comunes (http://cve.mitre.org). Una lista estandarizada de vulnerabilidades y otras exposiciones de seguridad de la información.
BugTraq (http://securityfocus.com/archive/1). Una lista de correo moderada alojada por Security Focus que discute y anuncia vulnerabilidades de seguridad informática.
Centro de coordinación CERT (http://www.cert.org). Una organización de alerta de seguridad financiada con fondos federales que proporciona avisos de seguridad.
Seguridad contra tormentas de paquetes (http://packetstormsecurity.nl). Una organización sin fines de lucro de profesionales de seguridad que proporciona información de seguridad a través de noticias de seguridad, avisos, foros y código de ataque.
Metasploit (http://www.metasploit.com). Metasploit proporciona información útil para realizar pruebas de penetración, desarrollo de firmas IDS e investigación de exploits.
FrSIRT—Equipo Francés de Respuesta a Incidentes de Seguridad (http://www.frsirt.com). FrSIRT es una organización independiente de investigación de seguridad que proporciona avisos de seguridad y servicios de alerta y notificación de vulnerabilidades en tiempo real.
ISS: Sistemas de seguridad de Internet (http://www.iss.net). Una empresa de seguridad en Internet que proporciona alertas y niveles de amenaza en Internet.
Vulnerabilidades desconocidas
Las vulnerabilidades desconocidas son aquellas que no se han documentado en los avisos de la comunidad de seguridad de Internet. En estos casos, el IDP Series Profiler, el firewall o los registros de eventos de seguridad de IDP generados en su entorno de producción le alertan sobre actividad sospechosa y tráfico anormal. En su entorno de producción, usará herramientas de registro de paquetes para capturar paquetes e información del contexto del servicio que posteriormente podrá analizar y experimentar en su laboratorio.
Prueba de un objeto de ataque personalizado
Se recomienda el siguiente flujo de trabajo para probar un objeto de ataque personalizado. Tenga en cuenta que el siguiente procedimiento consta de pasos generales y está destinado a usuarios expertos que estén familiarizados con estas tareas.
Para probar un objeto de ataque personalizado:
- Cree una nueva política de seguridad y una nueva regla de base de reglas de IDP que incluya solo el objeto de ataque personalizado que se va a probar. Habilite el registro y el registro de paquetes.
- Inserte la política en el dispositivo de laboratorio de la serie IDP.
- Desde el equipo atacante, reproduzca el ataque que se dirige al equipo víctima.
- Utilice el Visor de registros de Security Director para ver si el tráfico generado registra los registros esperados.
Si la prueba falla, revise el aviso de ataque, el protocolo RFC y el código de ataque o las capturas de paquetes para identificar información adicional que pueda ayudarle a ajustar la configuración. El problema más frecuente que requiere ajuste es la sintaxis de la expresión DFA.
Creación de un objeto de ataque de firma
Un objeto de ataque de firma es un patrón que desea que el sistema detecte. Utilice una expresión DFA para representar el patrón. Todas las demás propiedades de firma que puede establecer (como el contexto de servicio o protocolo, la dirección y otras restricciones) se proporcionan para que pueda optimizar el rendimiento del sistema en la detección del patrón y eliminar falsos positivos. En general, desea ajustar la configuración de un objeto de ataque de firma para que el sistema lo busque en todos los contextos en los que pueda producirse y en ningún otro contexto.
Para configurar un objeto de ataque de firma:
Descripción de objetos y grupos de objetos de ataque de IDP predefinidos
El paquete de seguridad para la detección y prevención de intrusiones (IDP) contiene una base de datos de objetos de ataque de IDP predefinidos y grupos de objetos de ataque de IDP que puede usar en las directivas de IDP para hacer coincidir el tráfico con ataques conocidos y desconocidos. Juniper Networks actualiza periódicamente los objetos y grupos de ataque predefinidos con patrones de ataque recién descubiertos.
Las actualizaciones de la base de datos de objetos de ataque pueden incluir:
Nuevas descripciones o gravedades para los objetos de ataque existentes
Nuevos objetos de ataque
Eliminación de objetos de ataque obsoletos
En este tema se incluyen las siguientes secciones:
Objetos de ataque predefinidos
Los objetos de ataque predefinidos se enumeran en orden alfabético. Estos objetos de ataque tienen nombres únicos que le ayudan a identificar el ataque. La primera parte del nombre indica el grupo al que pertenece el objeto de ataque. Por ejemplo:
FTP:USER:ROOT
—Pertenece alFTP:USER
grupo. Detecta intentos de iniciar sesión en un servidor FTP con laroot
cuenta.HTTP:HOTMAIL:FILE-UPLOAD
—Pertenece alHTTP:HOTMAIL
grupo. Detecta archivos adjuntos a correos electrónicos enviados a través del servicioHotmail
de correo electrónico basado en la Web.
Grupos de objetos de ataque predefinidos
La lista de grupos de ataque predefinidos muestra los objetos de ataque en las categorías que se describen a continuación. En esta lista también está disponible un conjunto de objetos de ataque recomendados que Juniper Networks considera amenazas graves. Los objetos de ataque recomendados se organizan en las siguientes categorías:
Grupo de objetos de ataque |
Descripción |
---|---|
Tipo de ataque |
Agrupa objetos de ataque por tipo (anomalía o firma). Dentro de cada tipo, los objetos de ataque se agrupan por gravedad. |
Categoría |
Agrupa objetos de ataque por categorías predefinidas. Dentro de cada categoría, los objetos de ataque se agrupan por gravedad. |
Sistema operativo |
Agrupa objetos de ataque por el sistema operativo al que aplican: BSD, Linux, Solaris o Windows. Dentro de cada sistema operativo, los objetos de ataque se agrupan por servicios y gravedad. |
Severidad |
Agrupa los objetos de ataque según la gravedad asignada al ataque. IDP tiene cinco niveles de gravedad: Crítico, Mayor, Menor, Advertencia, Información. Dentro de cada gravedad, los objetos de ataque se agrupan por categoría. |
Servicios Web |
Agrupa objetos de ataque mediante servicios web comunes. Estos servicios se agrupan por niveles de gravedad: Advertencia, Crítico, Mayor, Menor, Información. |
Misceláneo |
Agrupa objetos de ataque por nivel de rendimiento. Los objetos de ataque que afectan al rendimiento del DPI en un determinado nivel se agrupan en esta categoría. |
Respuesta |
Los grupos atacan objetos en el tráfico que fluye en el servidor hacia la dirección del cliente. |
Descripción de los objetos de ataque personalizados
Puede crear objetos de ataque personalizados para detectar nuevos ataques o personalizar objetos de ataque predefinidos para satisfacer las necesidades únicas de su red.
Para configurar un objeto de ataque personalizado, especifique un nombre único para él y, a continuación, especifique información adicional, como una descripción general y palabras clave, que pueden facilitar la localización y el mantenimiento del objeto de ataque.
Algunas propiedades de las definiciones de objetos de ataque son comunes a todos los tipos de ataques, como el nombre del ataque, la descripción, el nivel de gravedad, el enlace de servicio o aplicación, el enlace de tiempo, la acción recomendada y el enlace de protocolo o puerto. Algunos campos son específicos de un tipo de ataque y solo están disponibles para esa definición de ataque específica.
La función IDP está habilitada de forma predeterminada, no se requiere licencia. Los ataques personalizados y los grupos de ataques personalizados en las políticas de IDP también se pueden configurar e instalar incluso cuando no hay una base de datos de licencias y firmas válidas instalada en el dispositivo.
En este tema se incluyen las siguientes secciones:
- Nombre del ataque
- Severidad
- Enlaces de servicio y aplicación
- Enlaces de protocolo y puerto
- Fijaciones de tiempo
- Propiedades de ataque (ataques de firma)
- Propiedades de ataque (ataques de anomalías de protocolo)
- Propiedades de ataque (ataques compuestos o en cadena)
Nombre del ataque
Especifique un nombre alfanumérico para el objeto. Es posible que desee incluir el protocolo que utiliza el ataque en el nombre del ataque.
A partir de Junos OS versión 15.1X49-D140, el número máximo de caracteres permitidos para un nombre de objeto de ataque personalizado es 60. Puede validar la instrucción mediante el set security idp custom-attack
comando.
Severidad
Especifica la brutalidad del ataque a la red. Las categorías de gravedad, en orden de brutalidad creciente, son información, advertencia, menor, mayor, crítica. Los ataques críticos son los más peligrosos; por lo general, estos ataques intentan bloquear el servidor u obtener el control de la red. Los ataques informativos son los menos peligrosos y, por lo general, son utilizados por los administradores de red para descubrir agujeros en sus propios sistemas de seguridad.
Enlaces de servicio y aplicación
El campo de enlace de servicio o aplicación especifica el servicio que utiliza el ataque para entrar en la red.
Especifique el servicio o el protocolo de enlace en un ataque personalizado. En caso de que especifique ambos, el enlace de servicio tiene prioridad.
any
: especifiqueany
si no está seguro del servicio correcto y desea que la firma coincida en todos los servicios. Dado que algunos ataques utilizan varios servicios para atacar la red, es posible que desee seleccionar el enlace deAny
servicio para detectar el ataque independientemente del servicio que elija el ataque para una conexión.service
—La mayoría de los ataques utilizan un servicio específico para atacar su red. Puede seleccionar el servicio específico utilizado para perpetrar el ataque como enlace de servicio.Para obtener una lista de servicios, enlaces de servicio y contextos, consulte Descripción de los objetos de ataque personalizados de IDP. Contextos de servicio
Enlaces de protocolo y puerto
Los enlaces de protocolo o puerto le permiten especificar el protocolo que utiliza un ataque para entrar en su red. Puede especificar el nombre del protocolo de red o el número de protocolo.
Especifique el servicio o el protocolo de enlace en un ataque personalizado. En caso de que especifique ambos, el enlace de servicio tiene prioridad.
IP: puede especificar cualquiera de los protocolos de capa de red compatibles mediante números de protocolo. La Tabla 11 enumera los números de protocolo para diferentes protocolos.
Tabla 11: Protocolos admitidos y números de protocolo Nombre del protocolo
Número de protocolo
IGMP
2
IP-IP
4
EGP
8
CACHORRO
12
Papel higiénico
29
IPV6
41
ENRUTAMIENTO
43
FRAGMENTO
44
RSVP
46
GRE
47
ESP
50
AH
51
ICMPV6
58
NINGUNO
59
DSTOPTS
60
MTP
92
ENCAP
98
PIM
103
COMP
108
CRUDO
255
ICMP, TCP y UDP: los ataques que no utilizan un servicio específico pueden utilizar puertos específicos para atacar la red. Algunos ataques TCP y UDP utilizan puertos estándar para entrar en la red y establecer una conexión.
RPC: las aplicaciones de procesamiento distribuido utilizan el protocolo de llamada a procedimiento remoto (RPC) para controlar la interacción entre procesos de forma remota. Cuando un cliente realiza una llamada a procedimiento remoto a un servidor RPC, el servidor responde con un programa remoto; Cada programa remoto utiliza un número de programa diferente. Para detectar ataques que utilizan RPC, configure el enlace de servicio como RPC y especifique el identificador de programa RPC.
En la Tabla 12 se muestran los formatos de ejemplo para los protocolos clave.
Nombre del protocolo |
Número de protocolo |
Descripción |
---|---|---|
ICMP |
|
Especifique el nombre del protocolo. |
IP |
|
Especifique el número de protocolo de la capa de red. |
RPC |
|
Especifique el número de programa RPC. |
TCP o UDP |
|
La especificación del puerto es opcional para los protocolos TCP y UDP. Por ejemplo, puede especificar cualquiera de las siguientes opciones:
|
Fijaciones de tiempo
Utilice enlaces de tiempo para configurar los atributos de tiempo para el objeto de ataque personalizado de enlace de tiempo. Los atributos de tiempo controlan cómo el objeto de ataque identifica los ataques que se repiten un cierto número de veces. Al configurar el alcance y el recuento de un ataque, puede detectar una secuencia de los mismos ataques durante un período de tiempo en todas las sesiones.
A partir de Junos OS versión 18.4R1, puede configurar el intervalo de tiempo máximo entre dos instancias cualesquiera de un ataque personalizado de enlace de tiempo y el intervalo para el intervalo de tiempo máximo es de 0 minutos y 0 segundos a 60 minutos y 0 segundos. En las versiones de Junos OS anteriores a la 18.4R1, el intervalo de tiempo máximo entre dos instancias cualesquiera de un ataque de enlace de tiempo es de 60 segundos, para que el recuento de desencadenadores de ataque alcance el recuento configurado en el enlace de tiempo. La interval interval-value
instrucción se introduce en la [edit security idp custom-attack attack-name time-binding]
jerarquía para configurar un enlace de tiempo personalizado.
Alcance
Especifique el ámbito en el que se produce el recuento de un ataque:
Origen: especifique esta opción para detectar ataques desde la dirección de origen durante el número de veces especificado, independientemente de la dirección de destino. Esto significa que para un ataque determinado, se mantiene un valor de umbral para cada ataque desde la dirección de origen. Se omite la dirección de destino. Por ejemplo, las anomalías se detectan a partir de dos pares diferentes (
ip-a
,ip-b
) y (ip-a
,ip-c
) que tienen la misma direcciónip-a
de origen pero diferentes direccionesip-b
de destino yip-c
. A continuación, el número de coincidencias paraip-a
incrementos a2
. Supongamos que el valor de umbral o count también se establece en 2, la firma desencadena el evento de ataque.Destino: especifique esta opción para detectar ataques enviados a la dirección de destino durante el número de veces especificado, independientemente de la dirección de origen. Esto significa que para un ataque determinado, se mantiene un valor de umbral para cada ataque desde la dirección de destino. Se omite la dirección de origen. Por ejemplo, si se detectan anomalías en dos pares diferentes (
ip-a
,ip-b
) y (ip-c
,ip-b
) que tienen la misma direcciónip-b
de destino pero diferentes direccionesip-a
de origen yip-c
. A continuación, el número de coincidencias paraip-b
incrementos a2
. Supongamos que el valor de umbral o count también se establece en2
, la firma desencadena el evento de ataque.Par: especifique esta opción para detectar ataques entre las direcciones IP de origen y destino de las sesiones durante el número de veces especificado. Esto significa que el valor de umbral es aplicable para un par de direcciones de origen y destino. Supongamos que se detectan anomalías en dos pares de origen y destino diferentes (
ip-a
,ip-b
) y (ip-a
,ip-c
). A continuación, el número de coincidencias para cada par se establece en1
, aunque ambos pares tengan una dirección de origen común.
Contar
El valor de recuento o umbral especifica el número de veces que el objeto de ataque debe detectar un ataque dentro del ámbito especificado antes de que el dispositivo considere que el objeto de ataque coincide con el ataque. Si enlaza el objeto de ataque a varios puertos y el objeto de ataque detecta ese ataque en puertos diferentes, cada ataque a cada puerto se cuenta como una ocurrencia independiente. Por ejemplo, cuando el objeto de ataque detecta un ataque en y luego en TCP/80
TCP/8080
, el recuento es dos.
Una vez que se alcanza la count
partida, cada ataque que coincide con los criterios hace que el recuento de ataques aumente en uno. Este ciclo de recuento dura una duración definida por el usuario (configurada mediante la opción), después de la interval
cual se repite el ciclo.
Intervalo
Intervalo especifica el intervalo de tiempo máximo entre dos instancias cualesquiera de un ataque personalizado enlazado en el tiempo. El intervalo de tiempo para el intervalo de tiempo es de 0 segundos a 1 hora y el valor predeterminado es de 60 segundos.
Propiedades de ataque (ataques de firma)
Los objetos de ataque de firma utilizan una firma de ataque con estado (un patrón que siempre existe dentro de una sección específica del ataque) para detectar ataques conocidos. También incluyen el protocolo o servicio utilizado para perpetrar el ataque y el contexto en el que se produce el ataque. Las siguientes propiedades son específicas de los ataques de firma y puede configurarlas al configurar el ataque de firma:
El contexto de ataque, el tipo de flujo y la dirección son campos obligatorios para la definición de ataque de firma.
- Contexto del ataque
- Dirección de ataque
- Patrón de ataque
- Parámetros específicos del protocolo
- Definición de ataque de firma de ejemplo
Contexto del ataque
Un contexto de ataque define la ubicación de la firma. Si conoce el servicio y el contexto de servicio específico, especifique ese servicio y, a continuación, especifique los contextos de servicio adecuados. Si conoce el servicio, pero no está seguro del contexto específico del servicio, especifique uno de los siguientes contextos generales:
first-data-packet
: especifique este contexto para detectar el ataque solo en el primer paquete de datos.first-packet
: especifique este contexto para detectar el ataque solo en el primer paquete de una secuencia. Cuando la dirección de flujo del objeto de ataque se establece enany
, el dispositivo comprueba el primer paquete de los flujos de servidor a cliente y de cliente a servidor. Si sabe que la firma de ataque aparece en el primer paquete de una sesión, elegirfirst packet
en lugar depacket
reduce la cantidad de tráfico que el dispositivo necesita supervisar, lo que mejora el rendimiento.packet
: especifique este contexto para que coincida con el patrón de ataque dentro de un paquete. Al seleccionar esta opción, también debe especificar el enlace de servicio para definir las opciones de encabezado de servicio. Aunque no es obligatorio, especificar estos parámetros adicionales mejora la precisión del objeto de ataque y, por lo tanto, mejora el rendimiento.line
: especifique este contexto para detectar una coincidencia de patrón dentro de una línea específica dentro del tráfico de red.normalized-stream
: especifique este contexto para detectar el ataque en toda una secuencia normalizada. El flujo normalizado es una de las múltiples formas de enviar información. En esta secuencia, la información del paquete se normaliza antes de realizar una coincidencia. Supongamos quewww.yahoo.com/sports
es lo mismo quewww.yahoo.com/s%70orts
. La forma normalizada para representar ambas URL podría serwww.yahoo.com/sports
. Elijanormalized stream
en lugar destream
, a menos que desee detectar algún patrón en su forma exacta. Por ejemplo, si desea detectar el patrónwww.yahoo.com/s%70orts
exacto , seleccionestream
.normalized-stream256
: especifique este contexto para detectar el ataque solo en los primeros 256 bytes de una secuencia normalizada.normalized-stream1k
: especifique este contexto para detectar el ataque solo en los primeros 1024 bytes de una secuencia normalizada.normalized-stream-8k
: especifique este contexto para detectar el ataque solo en los primeros 8192 bytes de una secuencia normalizada.stream
: especifique este contexto para volver a ensamblar paquetes y extraer los datos para buscar una coincidencia de patrón. Sin embargo, el dispositivo no puede reconocer los límites de los paquetes para los contextos de flujo, por lo que se combinan los datos de varios paquetes. Especifique esta opción solo cuando ninguna otra opción de contexto contenga el ataque.stream256
: especifique este contexto para volver a ensamblar paquetes y buscar una coincidencia de patrón dentro de los primeros 256 bytes de un flujo de tráfico. Cuando la dirección del flujo se establece enany
, el dispositivo comprueba los primeros 256 bytes de los flujos de servidor a cliente y de cliente a servidor. Si sabe que la firma de ataque aparecerá en los primeros 256 bytes de una sesión, elegirstream256
en lugar destream
reduce la cantidad de tráfico que el dispositivo debe supervisar y almacenar en caché, mejorando así el rendimiento.stream1k
: especifique este contexto para volver a ensamblar paquetes y buscar una coincidencia de patrón dentro de los primeros 1024 bytes de una secuencia de tráfico. Cuando la dirección del flujo se establece enany
, el dispositivo comprueba los primeros 1024 bytes de los flujos de servidor a cliente y de cliente a servidor. Si sabe que la firma de ataque aparecerá en los primeros 1024 bytes de una sesión, elegirstream1024
en lugar destream
reduce la cantidad de tráfico que el dispositivo debe supervisar y almacenar en caché, mejorando así el rendimiento.stream8k
: especifique este contexto para volver a ensamblar paquetes y buscar una coincidencia de patrón dentro de los primeros 8192 bytes de un flujo de tráfico. Cuando la dirección del flujo se establece enany
, el dispositivo comprueba los primeros 8192 bytes de los flujos de servidor a cliente y de cliente a servidor. Si sabe que la firma de ataque aparecerá en los primeros 8192 bytes de una sesión, elegirstream8192
en lugar destream
reduce la cantidad de tráfico que el dispositivo debe supervisar y almacenar en caché, mejorando así el rendimiento.
Dirección de ataque
Puede especificar la dirección de conexión del ataque. El uso de una sola dirección (en lugar de ) mejora el rendimiento, reduce los falsos positivos y aumenta la precisión de Any
la detección.
Cliente a servidor (detecta el ataque solo en el tráfico de cliente a servidor)
De servidor a cliente (detecta el ataque solo en el tráfico de servidor a cliente)
Cualquiera (detecta el ataque en cualquier dirección)
Patrón de ataque
Los patrones de ataque son firmas de los ataques que desea detectar. Una firma es un patrón que siempre existe dentro de un ataque; Si el ataque está presente, también lo está la firma. Para crear el patrón de ataque, primero debe analizar el ataque para detectar un patrón (como un segmento de código, una dirección URL o un valor en un encabezado de paquete) y, a continuación, crear una expresión sintáctica que represente ese patrón. También puedes negar un patrón. Negar un patrón significa que el ataque se considera coincidente si el patrón definido en el ataque coincide not con el patrón especificado.
La negación de patrones solo se admite para contextos basados en paquetes, líneas y aplicaciones, y no para contextos de flujo y flujo normalizado.
Parámetros específicos del protocolo
Especifica determinados valores y opciones existentes en los encabezados de paquete. Estos parámetros son diferentes para diferentes protocolos. En una definición de ataque personalizada, solo puede especificar campos para uno de los siguientes protocolos: TCP, UDP o ICMP. Sin embargo, puede definir campos de protocolo IP con TCP o UDP en una definición de ataque personalizada.
Los parámetros de encabezado solo se pueden definir para objetos de ataque que utilizan un contexto de paquete o primer paquete. Si especificó una línea, una transmisión, una secuencia 256 o un contexto de servicio, no puede especificar parámetros de encabezado.
Si no está seguro de las opciones o la configuración de indicador para el paquete malicioso, deje todos los campos en blanco y la detección y prevención de intrusiones (IDP) intenta hacer coincidir la firma para todo el contenido del encabezado.
En la tabla 13 se muestran los campos y los indicadores que se pueden establecer para los ataques que utilizan el protocolo IP.
Campo |
Descripción |
---|---|
Tipo de servicio |
Especifique un valor para el tipo de servicio. Los tipos de servicio comunes son:
|
Longitud total |
Especifique un valor para el número de bytes del paquete, incluidos todos los campos de encabezado y la carga de datos. |
IDENTIFICACIÓN |
Especifique un valor para el valor único utilizado por el sistema de destino para volver a ensamblar un paquete fragmentado. |
Tiempo para vivir |
Especifique un valor entero en el intervalo de 0 a 255 para el valor de tiempo de vida (TTL) del paquete. Este valor representa el número de dispositivos que puede atravesar el paquete. Cada enrutador que procesa el paquete disminuye el TTL en |
Protocolo |
Especifique un valor para el protocolo utilizado. |
Fuente |
Introduzca la dirección de origen del dispositivo atacante. |
Destino |
Introduzca la dirección de destino del objetivo del ataque. |
Bit reservado |
Este bit no se utiliza. |
Más fragmentos |
Cuando se establece ( |
No fragmentar |
Cuando se establece ( |
En la tabla 14 se muestran los campos de encabezado de paquete y los indicadores que se pueden establecer para los ataques que utilizan el protocolo TCP.
Campo |
Descripción |
---|---|
Puerto de origen |
Especifique un valor para el número de puerto del dispositivo atacante. |
Puerto de destino |
Especifique un valor para el número de puerto del objetivo del ataque. |
Número de secuencia |
Especifique un valor para el número de secuencia del paquete. Este número identifica la ubicación de los datos en relación con toda la secuencia de datos. |
Número ACK |
Especifique un valor para el número ACK del paquete. Este número identifica el siguiente número de secuencia; el indicador ACK debe estar configurado para activar este campo. |
Longitud del encabezado |
Especifique un valor para el número de bytes del encabezado TCP. |
Longitud de los datos |
Especifique un valor para el número de bytes de la carga de datos. Para los paquetes SYN, ACK y FIN, este campo debe estar vacío. |
Tamaño de la ventana |
Especifique un valor para el número de bytes del tamaño de ventana TCP. |
Puntero urgente |
Especifique un valor para el puntero urgente. El valor indica que los datos del paquete son urgentes; el indicador URG debe estar configurado para activar este campo. |
URG |
Cuando se establece, la marca de urgencia indica que los datos del paquete son urgentes. |
ACK |
Cuando se establece, el indicador de confirmación acusa recibo de un paquete. |
PSH |
Cuando se establece, el indicador push indica que el receptor debe enviar todos los datos de la secuencia actual a la aplicación de destino (identificada por el número de puerto) sin esperar a los paquetes restantes de la secuencia. |
RST |
Cuando se establece, el indicador de restablecimiento restablece la conexión TCP, descartando todos los paquetes en una secuencia existente. |
SYN |
Cuando se establece, el indicador SYN indica una solicitud para una nueva sesión. |
ALETA |
Cuando se establece, el indicador final indica que la transferencia de paquetes se ha completado y que la conexión se puede cerrar. |
R1 |
Este bit reservado (1 de 2) no se utiliza. |
R2 |
Este bit reservado (2 de 2) no se utiliza. |
En la tabla 15 se muestran los campos de encabezado de paquete y los indicadores que se pueden establecer para los ataques que utilizan el protocolo UDP.
Campo |
Descripción |
---|---|
Puerto de origen |
Especifique un valor para el número de puerto del dispositivo atacante. |
Puerto de destino |
Especifique un valor para el número de puerto del objetivo del ataque. |
Longitud de los datos |
Especifique un valor para el número de bytes de la carga de datos. |
En la tabla 16 se muestran los campos de encabezado de paquete y los indicadores que se pueden establecer para los ataques que utilizan el protocolo ICMP.
Campo |
Descripción |
---|---|
Tipo de ICMP |
Especifique un valor para el código principal que identifique la función del paquete de solicitud o respuesta. |
Código ICMP |
Especifique un valor para el código secundario que identifique la función del paquete de solicitud o respuesta dentro de un tipo determinado. |
Número de secuencia |
Especifique un valor para el número de secuencia del paquete. Este número identifica la ubicación del paquete de solicitud o respuesta en relación con toda la secuencia. |
ICMP ID |
Especifique un valor para el número de identificación. El número de identificación es un valor único utilizado por el sistema de destino para asociar paquetes de solicitud y respuesta. |
Longitud de los datos |
Especifique un valor para el número de bytes de la carga de datos. |
Definición de ataque de firma de ejemplo
A continuación se muestra un ejemplo de definición de ataque de firma:
<Entry> <Name>sample-sig</Name> <Severity>Major</Severity> <Attacks><Attack> <TimeBinding><Count>2</Count> <Scope>dst</Scope></TimeBinding> <Application>FTP</Application> <Type>signature</Type> <Context>packet</Context> <Negate>true</Negate> <Flow>Control</Flow> <Direction>any</Direction> <Headers><Protocol><Name>ip</Name> <Field><Name>ttl</Name> <Match>==</Match><Value>128</Value></Field> </Protocol><Name>tcp</Name> <Field><Name><Match><</Match> <value>1500</Value> </Field></Protocol></Headers> </Attack></Attacks> </Entry>
Propiedades de ataque (ataques de anomalías de protocolo)
Un objeto de ataque por anomalía de protocolo detecta ataques desconocidos o sofisticados que infringen las especificaciones del protocolo (RFC y extensiones RFC comunes). No puede crear nuevas anomalías de protocolo, pero puede configurar un nuevo objeto de ataque que controle cómo el dispositivo maneja una anomalía de protocolo predefinida cuando se detecta.
El enlace de servicio o aplicación es un campo obligatorio para los ataques de anomalías de protocolo.
Las siguientes propiedades son específicas de los ataques de anomalías de protocolo. Tanto la dirección del ataque como la condición de prueba son campos obligatorios para configurar definiciones de ataque por anomalía.
Dirección de ataque
La dirección del ataque permite especificar la dirección de conexión de un ataque. El uso de una sola dirección (en lugar de ) mejora el rendimiento, reduce los falsos positivos y aumenta la precisión de Any
detección:
Cliente a servidor (detecta el ataque solo en el tráfico de cliente a servidor)
De servidor a cliente (detecta el ataque solo en el tráfico de servidor a cliente)
Cualquiera (detecta el ataque en cualquier dirección)
Condición de prueba
La condición de prueba es una condición que debe coincidir para un ataque de anomalía. Juniper Networks admite ciertas condiciones de prueba predefinidas. En el ejemplo siguiente, la condición es un mensaje demasiado largo. Si el tamaño del mensaje es mayor que el valor preconfigurado para esta condición de prueba, el ataque coincide.
<Attacks> <Attack> <Type>anomaly</Type> ... <Test>MESSAGE_TOO_LONG</Test> <Value>yes</Value> ... </Attack> </Attacks>
Ejemplo de definición de ataque por anomalías de protocolo
A continuación se muestra un ejemplo de definición de ataque por anomalías de protocolo:
<Entry> <Name>sample-anomaly</Name> <Severity>Info</Severity> <Attacks><Attack> <TimeBinding><Count>2</Count> <Scope>peer</Scope></TimeBinding> <Application>TCP</Application> <Type>anomaly</Type> <Test>OPTIONS_UNSUPPORTED</Test> <Direction>any</Direction> </Attack></Attacks> </Entry>
Propiedades de ataque (ataques compuestos o en cadena)
Un objeto de ataque compuesto o en cadena detecta ataques que utilizan varios métodos para aprovechar una vulnerabilidad. Este objeto combina varias firmas y/o anomalías de protocolo en un único objeto de ataque, lo que obliga al tráfico a coincidir con un patrón de firmas y anomalías combinadas dentro del objeto de ataque compuesto antes de que el tráfico se identifique como un ataque. Al combinar e incluso especificar el orden en que deben coincidir las firmas o anomalías, puede ser muy específico sobre los eventos que deben tener lugar antes de que el dispositivo identifique el tráfico como un ataque.
Debe especificar un mínimo de 2 miembros (ataques) en un ataque compuesto. Puede especificar hasta 32 miembros en ataque compuesto. Los miembros pueden ser ataques de firma o de anomalías.
Las siguientes propiedades son específicas de los ataques compuestos:
- Alcance
- Orden
- Restablecimiento
- Expresión (expresión booleana)
- Índice de miembros
- Definición de ataque compuesto de ejemplo
Alcance
Scope le permite especificar si el ataque coincide dentro de una sesión o entre transacciones en una sesión. Si el servicio especificado admite varias transacciones dentro de una sola sesión, también puede especificar si la coincidencia debe producirse en una sola sesión o si se puede realizar en varias transacciones dentro de una sesión:
Especifique session que permita varias coincidencias para el objeto dentro de la misma sesión.
Especifique transaction que el objeto coincida con varias transacciones que se producen dentro de la misma sesión.
Orden
Utilice la coincidencia ordenada para crear un objeto de ataque compuesto que debe coincidir con cada firma de miembro o anomalía de protocolo en el orden especificado. Si no especifica una coincidencia ordenada, el objeto de ataque compuesto aún debe coincidir con todos los miembros, pero el patrón de ataque o las anomalías del protocolo pueden aparecer en el ataque en orden aleatorio.
Restablecimiento
Especifica que se genera un nuevo registro cada vez que se detecta un ataque dentro de la misma sesión. Si este campo se establece en no
, el ataque se registra solo una vez para una sesión.
Expresión (expresión booleana)
El uso del campo de expresión booleana deshabilita la función de coincidencia ordenada. El campo de expresión booleana utiliza el nombre del miembro o las propiedades del índice de miembro. Los siguientes tres operadores booleanos se admiten junto con paréntesis, lo que ayuda a determinar la prioridad:
or
: si alguno de los patrones de nombre de miembro coincide, la expresión coincide.and
: si ambos patrones de nombre de miembro coinciden, la expresión coincide. No importa en qué orden aparezcan los miembros.oand (ordered and)
: si ambos patrones de nombre de miembro coinciden y si aparecen en el mismo orden especificado en la expresión booleana, la expresión coincide.
Supongamos que ha creado cinco miembros de firma, etiquetados -s1
s5
. Supongamos que sabe que el ataque siempre contiene el patrón s1
, seguido de o s2
s3
. También sabe que el ataque siempre contiene s4
y s5
, pero sus posiciones en el ataque pueden variar. En este caso, puede crear la siguiente expresión booleana:
((s1 oand s2) or (s1 oand s3)) and (s4 and s5)
Puede definir una coincidencia ordenada o una expresión (no ambas) en una definición de ataque personalizada.
Índice de miembros
El índice de miembros se especifica en los ataques en cadena para identificar a un miembro (ataque) de forma única. En el ejemplo siguiente, el índice de miembros se utiliza para identificar los miembros m01
y m02
en la expresión definida:
<Expression>m02 AND m01</Expression> <Order>no</Order> <Reset>no</Reset> <ScopeOption/> <Members> <Attack> <Member>m01</Member> <Type>Signature</Type> ... <Pattern><!CDATA[.*/getlatestversion]]></Pattern> <Regex/> </Attack> <Attack><Member>m02</Member> <Type>Signature</Type> ... <Pattern><!CDATA[\[Skype\'.*]]></Pattern> <Regex/> </Attack> <Attack>
Al definir la expresión, debe especificar el índice de miembros para todos los miembros.
Definición de ataque compuesto de ejemplo
A continuación se muestra un ejemplo de definición de ataque compuesto:
<Entry> <Name>sample-chain</Name> <Severity>Critical</Severity> <Attacks><Attack> <Application>HTTP</Application> <Type>Chain</Type> <Order>yes</Order> <Reset>yes</Reset> <Members><Attack> <Type>Signature</Type> <Context>packet</Context> <Pattern><![CDATA[Unknown[]></Pattern> <Flow>Control</Flow> <Direction>cts</Direction> </Attack><Attack> <Type>anomaly</Type> <Test>CHUNK_LENGTH_OVERFLOW</Test> <Direction>any</Direction> </Attack></Members> </Attack></Attacks> </Entry>
Creación de un objeto de ataque compuesto
Utilice objetos de ataque compuestos en los casos en que:
Los ataques utilizan múltiples métodos para explotar una vulnerabilidad y, si se inspeccionan de forma independiente, los contextos individuales parecen benignos.
Hacer coincidir varios contextos reduce los falsos positivos.
El acoplamiento de una firma con una anomalía de protocolo reduce los falsos positivos.
Seleccione objetos de ataque de firma o anomalías predefinidas como "miembros" del objeto compuesto y utilice expresiones booleanas para especificar la lógica coincidente.
Para configurar un objeto de ataque compuesto:
Ver también
Modificación de objetos de ataque personalizados debido a cambios introducidos en Signature Update
En este tema se describen los cambios realizados en algunos contextos de servicio generados por el descodificador de protocolo HTTP. A partir de la actualización de firma #1972, el decodificador de protocolo HTTP ya no genera algunos contextos. Si la política de seguridad del IDP incluye firmas personalizadas que utilizan los contextos que se han eliminado, debe modificar las definiciones de objetos de ataque como se describe a continuación para evitar errores de compilación de directivas. En este tema se incluye la siguiente información:
- Referencia: Contextos eliminados
- Ejemplo: reemplazar el contexto de los patrones que aparecen en el texto HTML
- Ejemplo: reemplazar los contextos de los patrones que aparecen en las URL
Referencia: Contextos eliminados
Para mejorar el rendimiento, el descodificador de protocolo HTTP ya no genera los contextos enumerados en la primera columna de la tabla 19. Revise esta tabla para obtener instrucciones sobre cómo reemplazar los contextos en objetos de ataque personalizados.
Quitado |
Reemplazar con |
Directriz |
---|---|---|
http-text-html-body |
http-text-html |
Cambie las firmas que usan el contexto http-text-html-body a http-text-html. No es necesario realizar cambios en el patrón de firma u otras propiedades. |
|
Utilice una combinación de los siguientes contextos:
|
Use una firma compuesta con un booleano Y para dividir el patrón de firma en varias partes. Asegúrese de que el campo Ámbito esté establecido en Transacción. El uso del contexto http-request-method es opcional. Utilice el contexto http-request-method para enlazar la detección a transacciones http GET, POST o HEAD. Para el método GET, usamos el patrón \[GET\] (GET sin distinción entre mayúsculas y minúsculas). Utilice http-request-method solo si vale la pena conservar los resultados que registró anteriormente que coinciden con el método de solicitud. Si no, omitirlo para mejorar el rendimiento. Si utiliza http-request-method, ordénelo primero en la cadena compuesta. Utilice el contexto http-url-parsed para hacer coincidir una firma de ataque identificable en la URL. Utilice este contexto para hacer coincidir un patrón en la URL que aparece antes de los parámetros variables: la parte de la URL antes del signo de interrogación (?). Utilice uno o más contextos analizados con variables HTTP para que coincidan con los parámetros de la variable de URL: la parte de la URL después del signo de interrogación (?), normalmente separada por ampersands (&). |
Ejemplo: reemplazar el contexto de los patrones que aparecen en el texto HTML
Cada contexto generado por el motor del detector HTTP tiene un costo de rendimiento. Los contextos http-text-html y http-text-html-body tienen el mismo propósito. La reducción del número de contextos mejora el rendimiento.
La Tabla 20 muestra las propiedades de una firma antes de la actualización #1972 y la firma posterior. Este es un cambio simple. Solo cambia el contexto. No es necesario cambiar el patrón u otras propiedades.
Antes de la actualización |
Después de la actualización |
|
---|---|---|
Contexto |
http-text-html-body |
http-text-html |
Patrón |
.*<span></span>.* |
.*<span></span>.* |
Ejemplo: reemplazar los contextos de los patrones que aparecen en las URL
Esta sección tiene dos partes:
- Firmas que coinciden con los métodos de solicitud
- Firmas que coinciden con cadenas de URL y variables de URL
Firmas que coinciden con los métodos de solicitud
Al modificar objetos de ataque personalizados que anteriormente coincidían con los métodos de solicitud GET, POST o HEAD, tenga en cuenta si las coincidencias con estos patrones de métodos de solicitud fueron efectivas para usted. Tenga en cuenta que cada contexto generado tiene un costo de rendimiento. Si el método de solicitud no es esencial para sus resultados, aproveche esta oportunidad para refundir su firma sin él.
La Tabla 21 y la Tabla 22 muestran las propiedades de una firma antes de la Actualización #1972 y la firma compuesta después. En este ejemplo se conserva un interés en el método request.
Firma antes de la actualización |
|
---|---|
Alcance |
– |
Contexto |
http-get-url-parsed-param |
Patrón |
\[/viper/vegaspalms/\].* |
Firma compuesta después de la actualización |
||
---|---|---|
|
M01 |
m02 |
Alcance |
Transacción |
|
Contexto |
http-request-method |
http-url-parsed |
Patrón |
|
\[/viper/vegaspalms/\].* |
Firmas que coinciden con cadenas de URL y variables de URL
En general, dividir un solo patrón en múltiples contextos podría afectar positiva o negativamente el rendimiento. Debe probar los cambios para comprender el impacto en el rendimiento antes de implementar los objetos de ataque en una red de producción. El ejemplo que se muestra en las tablas 23 y 24 divide la coincidencia de URL en varios contextos. Nuestro equipo de seguridad ha probado el rendimiento de las recomendaciones que se describen aquí.
Firma antes de la actualización |
|
---|---|
Alcance |
– |
Contexto |
http-get-url-param-parsed-param |
Patrón |
|
Firma compuesta después de la actualización |
||||
---|---|---|---|---|
M01 |
m02 |
m03 |
M04 |
|
Alcance |
Transacción |
|||
Contexto |
http-url-parsed |
http-variable-parsed |
http-variable-parsed |
http-variable-parsed |
Patrón |
|
|
|
|
Ver también
Ejemplo: configuración de ataques compuestos o en cadena
En este ejemplo se muestra cómo configurar ataques compuestos o en cadena para criterios de coincidencia específicos. Se puede configurar un objeto de ataque compuesto o en cadena para detectar ataques que utilizan varios métodos para aprovechar una vulnerabilidad.
Requisitos
Antes de comenzar, IDP debe estar admitido y habilitado en el dispositivo.
Visión general
Un objeto de ataque compuesto o en cadena puede combinar las firmas y anomalías para formar un único objeto de ataque. Un único objeto de ataque puede contener:
Dos o más firmas
Dos o más anomalías
Una combinación de firmas y anomalías
Los objetos de ataque compuestos o en cadena combinan varias firmas y/o anomalías de protocolo en un único objeto de ataque, lo que obliga al tráfico a coincidir con un patrón de firmas y anomalías combinadas dentro del objeto de ataque compuesto antes de que el tráfico se identifique como un ataque. Estos objetos también se utilizan para reducir los falsos positivos y aumentar la precisión de la detección. Le permite ser específico acerca de los eventos que deben ocurrir antes de que IDP identifique el tráfico como un ataque.
Configuración
Procedimiento
Configuración rápida de CLI
Para configurar rápidamente este ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, quite los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red y, a continuación, copie y pegue los comandos en la CLI en el nivel de jerarquía y, a continuación, ingrese commit
desde el [edit]
modo de configuración.
set security idp idp-policy idpengine rulebase-ips rule 1 match from-zone any set security idp idp-policy idpengine rulebase-ips rule 1 match source-address any set security idp idp-policy idpengine rulebase-ips rule 1 match to-zone any set security idp idp-policy idpengine rulebase-ips rule 1 match destination-address any set security idp idp-policy idpengine rulebase-ips rule 1 match application default set security idp idp-policy idpengine rulebase-ips rule 1 match attacks custom-attacks ftpchain set security idp idp-policy idpengine rulebase-ips rule 1 then action no-action set security idp idp-policy idpengine rulebase-ips rule 1 then notification log-attacks set security idp active-policy idpengine set security idp custom-attack ftpchain severity info set security idp custom-attack ftpchain attack-type chain protocol-binding application ftp set security idp custom-attack ftpchain attack-type chain scope session set security idp custom-attack ftpchain attack-type chain order set security idp custom-attack ftpchain attack-type chain member m1 attack-type signature context ftp-banner set security idp custom-attack ftpchain attack-type chain member m1 attack-type signature pattern .*vsFTPd.* set security idp custom-attack ftpchain attack-type chain member m1 attack-type signature direction server-to-client set security idp custom-attack ftpchain attack-type chain member m2 attack-type signature context ftp-username set security idp custom-attack ftpchain attack-type chain member m2 attack-type signature pattern .*root.* set security idp custom-attack ftpchain attack-type chain member m2 attack-type signature direction client-to-server set security idp custom-attack ftpchain attack-type chain member m3 attack-type anomaly test LOGIN_FAILED set security idp custom-attack ftpchain attack-type chain member m3 attack-type anomaly direction any set security idp traceoptions file idpd set security idp traceoptions flag all
Procedimiento paso a paso
En el ejemplo siguiente es necesario navegar por varios niveles en la jerarquía de configuración. Para obtener instrucciones sobre cómo hacerlo, consulte Uso del editor de CLI en el modo de configuración de la Guía del usuario de CLI.
Para configurar ataques compuestos o en cadena para criterios de coincidencia específicos:
Cree una política de desplazados internos.
[edit] user@host# set security idp idp-policy idpengine
Asocie una base de reglas a la directiva.
[edit security idp idp-policy idpengine] user@host# edit rulebase-ips
Agregar reglas a la base de reglas.
[edit security idp idp-policy idpengine rulebase-ips] user@host# edit rule 1
Defina los criterios de coincidencia para la regla.
[edit security idp idp-policy idpengine rulebase-ips rule 1] user@host# set match from-zone any user@host# set match source-address any user@host# set match to-zone any user@host# set match destination-address any
Especifique un nombre de conjunto de aplicaciones que coincida con los criterios de la regla.
[edit security idp idp-policy idpengine rulebase-ips rule 1] user@host# set match application default
Especifique el objeto de ataque coincidente y el nombre del objeto de ataque.
[edit security idp idp-policy idpengine rulebase-ips rule 1] user@host# set match attacks custom-attacks ftpchain
Especifique una acción para la regla.
[edit security idp idp-policy idpengine rulebase-ips rule 1] user@host# set then action no-action
Especifique las opciones de notificación o registro para la regla.
[edit security idp idp-policy idpengine rulebase-ips rule 1] user@host# set then notification log-attacks
Active la política de desplazados internos.
[edit] user@host# set security idp active-policy idpengine
Especifique un nombre para el ataque personalizado.
[edit security idp] user@host# set custom-attack ftpchain
Establezca la gravedad del ataque personalizado.
[edit security idp custom-attack ftpchain] user@host# set severity info
Establezca el tipo de ataque y el nombre de la aplicación para el ataque personalizado.
[edit security idp custom-attack ftpchain] user@host# set attack-type chain protocol-binding application ftp
Establezca el alcance y el orden en que se define el ataque.
[edit security idp custom-attack ftpchain attack-type chain] user@host# set scope session user@host# set order
Especifique un nombre para el primer miembro del objeto de ataque en cadena.
[edit security idp custom-attack ftpchain attack-type chain] user@host# set member m1
Establezca el contexto, el patrón y la dirección del primer miembro del objeto de ataque en cadena.
[edit security idp custom-attack ftpchain attack-type chain member m1] user@host# set attack-type signature context ftp-banner user@host# set attack-type signature pattern .*vsFTPd.* user@host# set attack-type signature direction server-to-client
Especifique un nombre para el segundo miembro del objeto de ataque en cadena.
[edit security idp custom-attack ftpchain attack-type chain] user@host# set member m2
Establezca el contexto, el patrón y la dirección del segundo miembro del objeto de ataque en cadena.
[edit security idp custom-attack ftpchain attack-type chain member m2] user@host# set attack-type signature context ftp-username user@host# set attack-type signature pattern .*root.* user@host# set attack-type signature direction client-to-server
Especifique un nombre para el tercer miembro del objeto de ataque en cadena.
[edit security idp custom-attack ftpchain attack-type chain] user@host# set member m3
Especifique un tipo de ataque y una dirección para el tercer miembro del objeto de ataque en cadena.
[edit security idp custom-attack ftpchain attack-type chain member m3] user@host# set attack-type anomaly direction any
Especifique las opciones de seguimiento y la información del archivo de seguimiento para los servicios IDP.
[edit] user@host# set security idp traceoptions file idpd
Especifique los eventos y otra información que debe incluirse en la salida de seguimiento.
[edit] user@host# set security idp traceoptions flag all
Resultados
Desde el modo de configuración, confirme la configuración introduciendo el show security idp
comando. Si el resultado no muestra la configuración deseada, repita las instrucciones de configuración en este ejemplo para corregirla.
[edit] user@host# show security idp idp-policy idpengine { rulebase-ips { rule 1 { match { from-zone any; source-address any; to-zone any; destination-address any; application default; attacks { custom-attacks ftpchain; } } then { action { no-action; } notification { log-attacks; } } } } } active-policy idpengine; custom-attack ftpchain { severity info; attack-type { chain { protocol-binding { application ftp; } scope session; order; member m1 { attack-type { signature { context ftp-banner; pattern .*vsFTPd.*; direction server-to-client; } } } member m2 { attack-type { signature { context ftp-username; pattern .*root.*; direction client-to-server; } } } member m3 { attack-type { anomaly { test LOGIN_FAILED; direction any; } } } } } } traceoptions { file idpd; flag all; }
Si ha terminado de configurar el dispositivo, ingrese commit
desde el modo de configuración.
Cuando entra commit
en el modo de configuración, la configuración se verifica internamente y, a continuación, se confirma. Si hay algún error, se producirá un error en la confirmación y se informará de los errores.
Verificación
Para confirmar que la configuración del ataque en cadena funciona correctamente, realice esta tarea:
Verificación de la configuración
Propósito
Compruebe que la configuración del ataque en cadena es correcta.
Acción
Desde el modo operativo, escriba el show security idp policy-commit-status
comando para comprobar el estado de carga o compilación de directivas.
La salida del show security idp policy-commit-status
comando es dinámica, por lo tanto, no hay una salida única para este comando.
Verifique que los ataques se detecten según la configuración, pase tráfico a través del dispositivo para activar una coincidencia de ataque. Por ejemplo, escriba el show security idp status
comando para comprobar si la directiva está cargada o no.
user@host>
show security idp status
IDP policy[/var/db/idpd/bins/test.bin.gz.v] and detector[/var/db/idpd/sec-repository/installed-detector/libidp-detector.so.tgz.v] loaded successfully. The loaded policy size is:785 Bytes
Escriba el comando para pasar el tráfico de show security idp attack table
ataques y, a continuación, compruebe que los ataques se detectan o no.
El comando mostrará el resultado solo cuando se detecten ataques.
user@host>
show security idp attack table
IDP attack statistics: Attack name #Hits FTP:USER:ROOT 1
Ejemplo: configuración de grupos de ataque con grupos de ataque dinámicos y grupos de ataque personalizados
En este ejemplo se muestra cómo configurar grupos de ataque con grupos de ataque dinámicos y grupos de ataque personalizados en una directiva de IDP para proteger un servidor FTP o Telnet.
Requisitos
Antes de comenzar, instale el paquete de seguridad en el dispositivo solo si se cumple una de las siguientes instrucciones:
Se configuran grupos de ataque dinámicos.
Los grupos de ataque personalizados contienen ataques predefinidos o grupos de ataques.
Si los grupos de ataques personalizados solo contienen ataques personalizados, no es necesaria la licencia del paquete de seguridad y no es necesario instalar el paquete de seguridad en el dispositivo. Para instalar el paquete de seguridad, necesita una licencia del paquete de seguridad IDP.
Visión general
IDP contiene un gran número de objetos de ataque predefinidos. Para administrar y organizar las políticas de IDP, se pueden agrupar los objetos de ataque. Un grupo de objetos de ataque puede contener dos o más tipos de objetos de ataque. Los grupos de ataque se clasifican de la siguiente manera:
Grupo de ataque dinámico: contiene objetos de ataque basados en determinados criterios coincidentes. Durante una actualización de firmas, la pertenencia a grupos dinámicos se actualiza automáticamente en función de los criterios de coincidencia de ese grupo. Por ejemplo, puede agrupar dinámicamente los ataques relacionados con una aplicación específica mediante los filtros de grupo de ataques dinámicos.
Grupo de ataque personalizado: contiene una lista de ataques que se especifican en la definición de ataque. Un grupo de ataque personalizado también puede contener ataques predefinidos específicos, ataques personalizados, grupos de ataque predefinidos o grupos de ataque dinámicos. Un grupo de ataque personalizado es de naturaleza estática, ya que los ataques se especifican en el grupo. Por lo tanto, el grupo de ataque no cambia cuando se actualiza la base de datos de seguridad. Los miembros pueden ser ataques predefinidos o grupos de ataque predefinidos de la base de datos de firmas u otros ataques personalizados y grupos de ataques dinámicos.
En este ejemplo, configuramos un grupo de ataques en una política de IDP para proteger un servidor FTP o Telnet contra ataques personalizados y dinámicos.
Configuración
Procedimiento
Configuración rápida de CLI
Para configurar rápidamente este ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, quite los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red y, a continuación, copie y pegue los comandos en la CLI en el nivel de jerarquía y, a continuación, ingrese commit
desde el [edit]
modo de configuración.
set security idp idp-policy idpengine rulebase-ips rule 1 match from-zone any set security idp idp-policy idpengine rulebase-ips rule 1 match source-address any set security idp idp-policy idpengine rulebase-ips rule 1 match to-zone any set security idp idp-policy idpengine rulebase-ips rule 1 match destination-address any set security idp idp-policy idpengine rulebase-ips rule 1 match application default set security idp idp-policy idpengine rulebase-ips rule 1 match attacks custom-attack-groups cust-group set security idp idp-policy idpengine rulebase-ips rule 1 match attacks dynamic-attack-groups dyn2 set security idp idp-policy idpengine rulebase-ips rule 1 then action no-action set security idp idp-policy idpengine rulebase-ips rule 1 then notification log-attacks set security idp active-policy idpengine set security idp custom-attack customftp severity info set security idp custom-attack customftp attack-type signature context ftp-username set security idp custom-attack customftp attack-type signature pattern .*guest.* set security idp custom-attack customftp attack-type signature direction client-to-server set security idp custom-attack-group cust-group group-members customftp set security idp custom-attack-group cust-group group-members ICMP:INFO:TIMESTAMP set security idp custom-attack-group cust-group group-members "TELNET - Major" set security idp custom-attack-group cust-group group-members dyn1 set security idp dynamic-attack-group dyn1 filters category values TROJAN set security idp dynamic-attack-group dyn2 filters direction expression and set security idp dynamic-attack-group dyn2 filters direction values server-to-client set security idp dynamic-attack-group dyn2 filters direction values client-to-server set security idp dynamic-attack-group dyn2 filters age-of-attack less-than value 7 set security idp dynamic-attack-group dyn2 filters vulnerability-type values Injection set security idp dynamic-attack-group dyn2 filters vendor Microsoft set security idp dynamic-attack-group dyn2 filters cvss-score less-than value 7 set security idp traceoptions file idpd set security idp traceoptions flag all
Procedimiento paso a paso
En el ejemplo siguiente es necesario navegar por varios niveles en la jerarquía de configuración. Para obtener instrucciones sobre cómo hacerlo, consulte Uso del editor de CLI en el modo de configuración de la Guía del usuario de CLI.
Para configurar grupos de ataque con grupos de ataque dinámicos y grupos de ataque personalizados:
Cree una política de desplazados internos.
[edit] user@host# set security idp idp-policy idpengine
Asocie una base de reglas a la directiva.
[edit security idp idp-policy idpengine] user@host# set rulebase-ips
Agregar reglas a la base de reglas.
[edit security idp idp-policy idpengine rulebase-ips] user@host# set rule 1
Defina los criterios de coincidencia para la regla.
[edit security idp idp-policy idpengine rulebase-ips rule 1] user@host# set match from-zone any user@host# set match source-address any user@host# set match to-zone any user@host# set match destination-address any
Especifique un nombre de conjunto de aplicaciones que coincida con los criterios de la regla.
[edit security idp idp-policy idpengine rulebase-ips rule 1] user@host# set match application default
Especifique una coincidencia para el grupo de ataque personalizado.
[edit security idp idp-policy idpengine rulebase-ips rule 1] user@host# set match attacks custom-attack-groups cust-group
Especifique una coincidencia para el grupo de ataque dinámico.
[edit security idp idp-policy idpengine rulebase-ips rule 1] user@host# set match attacks dynamic-attack-groups dyn2
Especifique una acción para la regla.
[edit security idp idp-policy idpengine rulebase-ips rule 1] user@host# set then action no-action
Especifique las opciones de notificación o registro para la regla.
[edit security idp idp-policy idpengine rulebase-ips rule 1] user@host# set then notification log-attacks
Active la política de desplazados internos.
[edit] user@host# set security idp active-policy idpengine
Especifique un nombre para el ataque personalizado.
[edit security idp] user@host# set custom-attack customftp
Establezca la gravedad del ataque personalizado.
[edit security idp custom-attack customftp] user@host# set severity info
Establezca el tipo de ataque y el contexto del ataque.
[edit security idp custom-attack customftp] user@host# set attack-type signature context ftp-username
Especifique un patrón para el ataque.
[edit security idp custom-attack customftp] user@host# set attack-type signature pattern .*guest.*
Especifique una dirección para el ataque.
[edit security idp custom-attack customftp] user@host# set attack-type signature direction client-to-server
Especifique un nombre para el grupo de ataque personalizado.
[edit security idp] user@host# set custom-attack-group cust-group
Especifique una lista de ataques o grupos de ataques que pertenezcan al grupo de ataque personalizado.
[edit security idp custom-attack-group cust-group] user@host# set group-members customftp user@host# set group-members ICMP:INFO:TIMESTAMP user@host# set group-members "TELNET - Major" user@host# set group-members dyn1
Especifique un nombre para el primer grupo de ataque dinámico.
[edit security idp] user@host# set dynamic-attack-group dyn1
Configure un filtro y establezca un valor de categoría para el filtro.
[edit security idp dynamic-attack-group dyn1 ] user@host# set filters category values TROJAN
Especifique un nombre para el segundo grupo de ataque dinámico.
[edit security idp] user@host# set dynamic-attack-group dyn2
Configure un filtro para el segundo grupo de ataque dinámico y establezca la dirección y sus valores para este campo.
[edit security idp dynamic-attack-group dyn2 ] user@host# set filters direction expression and user@host# set filters direction values server-to-client user@host# set filters direction values client-to-server user@host# set filters age-of-attack less-than value 7 user@host# set filters cvss-score less-than value 7 user@host# set filters file-type MPEG user@host# set filters vendor Microsoft user@host# set filters vulnerability-type values Injection
Especifique las opciones de seguimiento y la información del archivo de seguimiento para los servicios IDP.
[edit] user@host# set security idp traceoptions file idpd
Especifique los eventos y otra información que debe incluirse en el resultado del seguimiento.
[edit] user@host# set security idp traceoptions flag all
Resultados
Desde el modo de configuración, confirme la configuración introduciendo el show security idp
comando. Si el resultado no muestra la configuración deseada, repita las instrucciones de configuración en este ejemplo para corregirla.
[edit] user@host# show security idp idp-policy idpengine { rulebase-ips { rule 1 { match { from-zone any; source-address any; to-zone any; destination-address any; application default; attacks { custom-attack-groups cust-group; dynamic-attack-groups dyn2; } } then { action { no-action; } notification { log-attacks; } } } } } active-policy idpengine; custom-attack customftp { severity info; attack-type { signature { context ftp-username; pattern .*guest.*; direction client-to-server; } } } custom-attack-group cust-group { group-members [ customftp ICMP:INFO:TIMESTAMP "TELNET - Major" dyn1 ]; } dynamic-attack-group dyn1 { filters { category { values TROJAN; } } } dynamic-attack-group dyn2 { filters { direction { expression and; values [ server-to-client client-to-server ]; } age-of-attack less-than { value 7; } vulnerability-type { values Injection; } vendor Microsoft; cvss-score less-than { value 7; } } } traceoptions { file idpd; flag all; }
Si ha terminado de configurar el dispositivo, ingrese commit
desde el modo de configuración.
Cuando entra commit
en el modo de configuración, la configuración se verifica internamente y, a continuación, se confirma. Si hay algún error, se producirá un error en la confirmación y se informará de los errores.
Verificación
Verificación de la configuración
Propósito
Compruebe que la configuración es correcta.
Acción
Desde el modo operativo, escriba el show security idp policy-commit-status
comando para comprobar el estado de carga o compilación de directivas.
La salida del show security idp policy-commit-status
comando es dinámica; por lo tanto, no hay una salida única para este comando.
Verifique que los ataques se detecten según la configuración, pase tráfico a través del dispositivo que desencadenará una coincidencia de ataque. Por ejemplo, escriba el show security idp status
comando para comprobar si la directiva está cargada o no.
user@host>
show security idp status
IDP policy[/var/db/idpd/bins/test.bin.gz.v] and detector[/var/db/idpd/sec-repository/installed-detector/libidp-detector.so.tgz.v] loaded successfully. The loaded policy size is:785 Bytes
Escriba el comando para pasar el tráfico de show security idp attack table
ataques y, a continuación, compruebe que los ataques se detectan o no.
El comando mostrará el resultado solo cuando se detecten ataques.
user@host>
show security idp attack table
IDP attack statistics: Attack name #Hits FTP:USER:ROOT 1
Expresiones DFA de objetos de ataque personalizados
En la tabla 25 se proporcionan ejemplos de sintaxis para hacer coincidir un patrón de ataque.
Sintaxis de ejemplo |
Descripción |
Ejemplos de coincidencias |
---|---|---|
Hola.. \B.0.1.. 00\B... mundo |
La coincidencia tiene dos aspectos: Debe coincidir con el patrón de máscara de bits: \B.0.0.1.. 00\B Debe coincidir con el número de bytes (representado por .) antes y después del patrón de máscara de bits. |
Partidos: Hola.. \B.0.11100\B... mundoHola.. \B.0.10000\B... mundo No coincide: Hola.\B.0.1.. 00\B.worldHola.. \B.0.1.. 11\B... mundo |
\X01 86 A5 00 00\X |
Patrón con los cinco bytes especificados textualmente. |
01 86 A5 00 00 |
(hola|mundo) |
Patrón con hola o mundo que ocurre una vez. |
Hola mundo |
(hola|mundo)+ |
Patrón con hola o mundo que ocurre una o más veces. |
helloworld worldhola hellohello |
\[hola\] |
Patrón hola, no distingue entre mayúsculas y minúsculas. |
Hola Hola Hola |
\uHola\u |
Hola, patrón insensible a Unicode. |
Hola 68656c6c6f |
Hola\Sworld |
Patrón hola mundo, las dos palabras separadas por un espacio en blanco. |
Hola mundo |
[c-e]a(d|t) |
Patrón con la primera letra de c, d o e; la letra del medio a; y terminando en d o t. |
gato papá comer |
[^c-d]a(d|t) |
Patrón que comienza con una letra distinta de c, d o e; tener la segunda letra a; y terminan en d o t. |
moda Zad |
a*b+c |
Patrón con cualquier número de caracteres (incluido cero); seguido de uno o más caracteres b; seguido de un carácter C. |
a.C abecedario aaaabbbbc |
T[Kk] |
Patrón que comienza con una T mayúscula, seguida de una k que no distingue entre mayúsculas y minúsculas. |
TK Tk |
([Tt])k |
Patrón que comienza con una t que no distingue entre mayúsculas y minúsculas, seguida de una k minúscula. |
Tk Tk |
Mar[Entrada] |
Patrón que comienza con Mar, seguido de una l, m o n minúscula. |
Foca Costura Seban |
([B-D])at |
Patrón que comienza con una B, C o D mayúscula, seguida de una minúscula en. |
Murciélago Gato Dat |
\0133\[hola\]\0135 |
Patrón que comienza con un corchete de apertura, seguido de un saludo que no distingue entre mayúsculas y minúsculas, terminando con un corchete de cierre. Esta expresión utiliza la expresión \0 para indicar que la siguiente expresión es un código octal, a continuación, el código octal para el corchete de apertura (133) o el corchete de cierre (135) sigue. |
[hola] [HeLLo] |
Ejemplo: uso de la negación de patrones
Puede usar la negación de patrones para excluir un patrón que se sabe que es seguro y que coincide con todo lo demás.
Por ejemplo, supongamos que está diseñando un objeto de ataque para inspeccionar el tráfico a un servidor FTP. Sabe que el nombre de usuario y las contraseñas de la cuenta están bien mantenidos para garantizar que solo los usuarios autorizados puedan acceder a los recursos internos. Sin embargo, a medida que las redes crecen y se agregan nuevos componentes, las cuentas de usuario pueden proliferar, lo que aumenta el acceso de red a componentes específicos. En este ejemplo, tiene un servidor FTP en la red interna que tiene varias cuentas de usuario habilitadas. Para mejorar la seguridad, desea restringir el acceso al administrador de FTP.
Crear un objeto de ataque para el servicio FTP, el contexto de nombre de usuario ftp y el patrón admin; y activar la casilla de verificación Negar . El resultado es un objeto de ataque que puede marcar los intentos de inicio de sesión de usuarios distintos de admin. Puede usar este objeto de ataque en una regla que registre o elimine el tráfico coincidente.
Ver también
Ejemplo: hacer coincidir las extensiones de archivo
En este ejemplo, desea detectar metarchivos de Microsoft Windows, que utilizan las extensiones .emf (metarchivos mejorados de Windows) y .wmf (metarchivo de Microsoft Windows).
Para hacer coincidir cualquiera de estos tipos de archivo, utilice una expresión DFA simple:
.*\.\[w|emf\]
En esta expresión:
El punto combinado con el asterisco (.*) indica que deben aparecer uno o más caracteres (coincidencia comodín).
La barra diagonal inversa combinada con el carácter de punto (\.) indica que el carácter de punto tiene un escape (el punto aparece en el patrón).
Los paréntesis al principio y al final de la expresión ( ) indican un grupo. El carácter de barra vertical entre la e y la w (e|w) indica una relación OR entre los caracteres. Para esta expresión, e o w deben aparecer en el patrón para que coincida con esta expresión; Sólo uno debe estar presente.
El corchete de apertura (\[) indica el comienzo de una coincidencia que no distingue entre mayúsculas y minúsculas para todos los caracteres hasta que aparece el corchete de cierre (\]).
El corchete de cierre (\]) indica el final de una coincidencia que no distingue entre mayúsculas y minúsculas.
Ver también
Ejemplo: ataques de denegación de servicio de Apache Tomcat
En este ejemplo, asumimos que tiene un servidor Web que ejecuta Apache Tomcat. El administrador de seguridad le notifica que se acaba de anunciar una vulnerabilidad para Apache Tomcat y decide crear un objeto de ataque personalizado para proteger su red hasta que pueda programar un tiempo de inactividad para parchear el servidor.
El aviso de CVE para la vulnerabilidad (http://nvd.nist.gov/nvd.cfm?cvename=CAN-2002-0682) contiene la siguiente cita:
A cross-site scripting vulnerability in Apache Tomcat 4.0.3 allows remote attackers to execute script as other web users via script in a URL with the /servlet/ mapping, which does not filter the script when an exception is thrown by the servlet.
A partir de esta información, usted sabe que el ataque utiliza HTTP. Ahora debe localizar el código de ataque. El aviso también incluye referencias que enlazan con más información sobre el ataque. Desafortunadamente, ninguna de las páginas web a las que se hace referencia contiene código de explotación. Después de buscar en la Web utilizando la información que aprendió del aviso de CVE, localiza algún código de explotación en http://packetstormsecurity.nl/0210-exploits/neuter.c. Copie el script y muévalo al equipo atacante en el laboratorio de pruebas.
Para desarrollar este objeto de ataque:
Ver también
Listado de condiciones de prueba de IDP para un protocolo específico
Al configurar ataques personalizados de IDP, puede especificar condiciones de prueba de lista para un protocolo específico. Para enumerar las condiciones de prueba para ICMP:
Enumere las condiciones de prueba compatibles con ICMP y elija la que desea configurar. Las condiciones de prueba admitidas están disponibles en la CLI en el nivel jerárquico
[edit security idp custom-attack test1 attack-type anomaly]
.user@host#set test icmp? Possible completions: <test> Protocol anomaly condition to be checked ADDRESSMASK_REQUEST DIFF_CHECKSUM_IN_RESEND DIFF_CHECKSUM_IN_RESPONSE DIFF_LENGTH_IN_RESEND
Configure el servicio para el que desea configurar la condición de prueba.
user@host# set service ICMP
Configure la condición de prueba (no es necesario especificar el nombre del protocolo).
user@host# set test ADDRESSMASK_REQUEST
Si ha terminado de configurar el dispositivo, ingrese
commit
desde el modo de configuración.
Descripción de los descodificadores de protocolo IDP
La detección y prevención de intrusiones (IDP) utiliza decodificadores de protocolo para comprobar la integridad del protocolo y la información contextual del protocolo mediante la búsqueda de anomalías y la garantía de que se cumplen los estándares RFC. Una anomalía puede ser cualquier parte de un protocolo, como el encabezado, el cuerpo del mensaje u otros campos individuales que se desvían de los estándares RFC para ese protocolo. Por ejemplo, en el caso de SMTP, si SMTP MAIL TO precede a SMTP HELO, se trata de una anomalía en el protocolo SMTP.
Cuando la información contextual del protocolo está disponible, los descodificadores de protocolo comprueban si hay ataques dentro de esos contextos. Por ejemplo, para SMTP, si se envía un correo electrónico a user@company.com, user@company.com es la información contextual y SMTP MAIL TO es el contexto. Al usar datos contextuales de protocolo, en lugar de todo el paquete, para la detección de ataques, los descodificadores de protocolo mejoran el rendimiento y la precisión generales.
Si hay una directiva configurada con una regla que coincide con la comprobación de SMTP del descodificador de protocolo, la regla se desencadena y se realiza la acción adecuada.
El módulo IDP incluye un conjunto preconfigurado de descodificadores de protocolo. Estos descodificadores de protocolo tienen una configuración predeterminada para varias comprobaciones contextuales específicas del protocolo que realizan. Puede usar estos valores predeterminados o puede ajustarlos para satisfacer las necesidades específicas de su sitio. Para mostrar la lista de descodificadores de protocolo disponibles, escriba el siguiente comando:
user@host # show security idp sensor-configuration detector protocol-name ?
Para obtener una vista más detallada del conjunto actual de descodificadores de protocolo y sus valores de contexto predeterminados, puede ver el archivodetector-capabilities.xml ubicado en la carpeta /ar/db/idpd/sec-download del dispositivo. Cuando descarga un nuevo paquete de seguridad, también recibe este archivo que enumera los protocolos actuales y los valores predeterminados del contexto del descodificador.
Ejemplo: vulnerabilidad de CDE/dtlogin en UNIX
En este ejemplo, la red incluye varias estaciones de trabajo de usuario y servidores que ejecutan UNIX. Muchos sistemas operativos UNIX utilizan el entorno de escritorio común (CDE) como interfaz gráfica de usuario. Su administrador de seguridad le notifica de una nueva vulnerabilidad en el proceso dtlogin para CDE (el proceso dtlogin maneja un proceso de inicio de sesión de GUI en CDE).
El aviso de CERT para la vulnerabilidad (http://www.kb.cert.org/vuls/id/179804) contiene la siguiente información:
...The dtlogin program contains a "double-free" vulnerability that can be triggered by a specially crafted X Display Manager Control Protocol (XDMCP) packet... Block XDMCP traffic (177/udp) from untrusted networks such as the Internet...
A partir de esta información, usted sabe que el ataque utiliza un paquete de protocolo XDMCP y se ejecuta en UDP/177. Ahora debe localizar el código de ataque. El aviso también incluye referencias que enlazan con más información sobre el ataque. Una referencia, http://lists.immunitysec.com/pipermail/dailydave/2004-March/000402.html, indica que la persona que informó por primera vez del ataque también ha escrito un guión que replica el ataque. Obtenga el script y muévalo al equipo atacante en el laboratorio de pruebas.
Para desarrollar este objeto de ataque:
Ver también
Ejemplo: detección de un gusano
Los gusanos y troyanos a menudo evitan los firewalls y otras medidas de seguridad tradicionales para ingresar a una red. En este ejemplo, se crea un objeto de ataque personalizado para detectar el gusano Blaster en la red.
El aviso de CERT (http://www.cert.org/advisories/CA-2003-20.html) para el gusano Blaster proporciona la siguiente información:
The W32/Blaster worm exploits a vulnerability in Microsoft's DCOM RPC interface...”
A partir de esta información, usted sabe que el ataque utiliza DCOM exploit, un agujero de seguridad previamente identificado. Ahora debe localizar el código de ataque. El aviso también incluye referencias que enlazan con más información sobre el ataque. Desafortunadamente, ninguna de las páginas web a las que se hace referencia contiene código de explotación. Después de buscar en la Web utilizando la información que aprendió del aviso de CERT, localiza el código de explotación en PacketStorm (http://packetstormsecurity.com/0307-exploits/dcom.c).
Para desarrollar este objeto de ataque:
Ver también
Ejemplo: firma compuesta para detectar la explotación de una vulnerabilidad HTTP
Algunos ataques están diseñados para parecer benignos cuando se ven paquete por paquete. Para estos ataques, puede crear una firma compuesta que detecte varios patrones de firma en varios contextos (servicio, no servicio o ambos).
En este ejemplo, tiene un servidor Web que utiliza extensiones de servidor de Microsoft FrontPage. El administrador de seguridad le notifica una nueva vulnerabilidad de desbordamiento de búfer en las extensiones de servidor de FrontPage.
El aviso de BugTraq sobre la vulnerabilidad (http://www.securityfocus.com/bid/9007/discussion/) contiene la siguiente información:
Microsoft FrontPage Server Extensions are prone to a remotely exploitable buffer overrun vulnerability ... It is possible to trigger this condition with a chunked-encoded HTTP POST request...
También se proporciona el siguiente ejemplo de prueba de concepto:
POST /_vti_bin/_vti_aut/fp30reg.dll HTTP/1.1 Transfer-Encoding: chunked PostLength PostData 0
Además, se incluye un enlace al exploit compilado.
A partir de esta información, usted sabe que el ataque utiliza el protocolo HTTP y que al menos parte del ataque utiliza el método POST. Utilice el vínculo al exploit compilado para obtener el script y muévalo al equipo atacante en su laboratorio de pruebas.
Para desarrollar este objeto de ataque:
Ver también
Ejemplo: uso de parámetros de límite de tiempo para detectar un ataque de fuerza bruta
La restricción de enlace de tiempo requiere que el patrón se produzca un cierto número de veces en un minuto para que el tráfico se considere una coincidencia.
Puede utilizar el parámetro de enlace de tiempo junto con la firma para detectar signos de un ataque de fuerza bruta. Un usuario que cambia su contraseña es un evento inofensivo, y normalmente se ve ocasionalmente en la red. Sin embargo, miles de cambios de contraseña en un minuto es sospechoso.
En un ataque de fuerza bruta, el atacante intenta romper las defensas del sistema usando pura fuerza, generalmente abrumando la capacidad del servidor de destino o mediante repetidos intentos de prueba y error para que coincidan con las credenciales de autenticación. En un ataque de inicio de sesión de fuerza bruta, los atacantes primero recopilan una lista de nombres de usuario y un diccionario de contraseñas. A continuación, el atacante utiliza una herramienta que introduce la primera contraseña en el diccionario para el primer usuario de la lista y, a continuación, prueba todas las contraseñas de cada usuario hasta que obtiene una coincidencia. Si el atacante prueba todas las combinaciones de nombres de usuario y contraseñas, siempre tienen éxito. Sin embargo, los ataques de fuerza bruta a menudo fallan porque el diccionario de contraseñas suele ser limitado (no contiene todas las contraseñas posibles) y la herramienta de ataque no realiza permutaciones en la contraseña (como invertir letras o cambiar mayúsculas y minúsculas).
En este ejemplo, se crea un objeto de ataque de firma que detecta un número excesivo de cambios de contraseña para los usuarios autenticados a través de HTTP (una aplicación basada en Web).
En primer lugar, configure un patrón de ataque:
.*/\[changepassword\.cgi\]
En esta expresión:
La combinación de estrella de puntos (.*) indica una coincidencia de comodín.
La barra diagonal inversa antes de un carácter indica que el carácter representa una expresión regular y debe escaparse. En este caso, el carácter es un corchete de apertura. La barra diagonal inversa también se utiliza en esta expresión antes del marcador de extensión de archivo (el punto) y antes del corchete de cierre.
Se incluye el nombre del script cgi que se utiliza para cambiar las contraseñas de usuario, así como la extensión cgi.
Para el contexto, seleccione HTTP-URL-PARSED en la lista porque está intentando detectar cambios de contraseña que se producen para aplicaciones basadas en Web. El script changepassword.cgi, cuando se usa, aparece como parte de la URL, pero debe indicarle al dispositivo de la serie IDP que analice la URL para encontrar el nombre.
A continuación, configure el enlace de tiempo.
En estos ajustes:
El ámbito se establece en Par para que el patrón de ataque pueda coincidir con el evento independientemente del origen o el destino.
El recuento se establece en número alto (en 1000) para evitar falsos positivos. Este valor significa que la secuencia de comandos changepassword.cgi debe aparecer en una dirección URL 1000 veces antes de que coincida el objeto de ataque.
Ver también
Referencia: Números de protocolo de objeto de ataque personalizados
Cuadro 26 Números de protocolo utilizados en el sistema de desplazados internos.
Nombre del protocolo |
Número de protocolo |
---|---|
HOPOPT |
0 |
ICMP |
1 |
IGMP |
2 |
GGP |
3 |
IPIP |
4 |
C |
5 |
TCP |
6 |
TCC |
7 |
EGP |
8 |
IGP |
9 |
BBN-RCC-MON |
10 |
NVP-II |
11 |
CACHORRO |
12 |
ARGUS |
13 |
EMCON |
14 |
XNET |
15 |
CAOS |
16 |
UDP |
17 |
MUX |
18 |
DCN-MEAS |
19 |
HMP |
20 |
PRM |
21 |
XND-IDP |
22 |
TRONCAL-1 |
23 |
TRONCAL-2 |
24 |
HOJA-1 |
25 |
HOJA-2 |
26 |
RDP |
27 |
IRTP |
28 |
ISO-TP4 |
29 |
NETBLT |
30 |
MFE-NSP |
31 |
MERIT-INP |
32 |
SEP |
33 |
3PC |
34 |
IDPR |
35 |
XTP |
36 |
DDP |
37 |
TP_PLUS_PLUS |
39 |
IL |
40 |
IPV6 |
41 |
SDRP |
42 |
ENRUTAMIENTO IPV6 |
43 |
FRAGMENTO IDV6 |
44 |
IDRP |
45 |
RSVP |
46 |
GRE |
47 |
MHRP |
48 |
BNA |
49 |
ESP |
50 |
AH |
51 |
I-NLSP |
52 |
BIRLAR |
53 |
NARP |
54 |
MÓVIL |
55 |
TLSP |
56 |
SALTARSE |
57 |
IPV6-ICMP |
58 |
IPV6-NONXT |
59 |
IPV6-OPTS |
60 |
AHIP |
61 |
CFTP |
62 |
ALNP |
63 |
SAT-EXPAK |
64 |
KRYPTOLAN |
65 |
RVD |
66 |
CIPF |
67 |
ADFSP |
68 |
SÁB-MON |
69 |
VISADO |
70 |
IPCV |
71 |
CPNX |
72 |
CPHB |
73 |
WSN |
74 |
PVP |
75 |
BR-SÁB-LUN |
76 |
DOM-ND |
77 |
WB-MON |
78 |
WB-EXPAK |
79 |
ISO-IP |
80 |
VMTP |
81 |
SECURE-VMTP |
82 |
VIDES |
83 |
TTP |
84 |
NSFNET-IBP |
85 |
DGP |
86 |
TCF |
87 |
EIGRP |
88 |
OSPFIGP |
89 |
SPRITE-RPC |
90 |
LARP |
91 |
MTP |
92 |
AX_25 |
93 |
IPIP |
94 |
MICP |
95 |
SCC-SP |
96 |
ETHERIP |
97 |
ENCAP |
98 |
SIMIOS |
99 |
GMTP |
100 |
IFMP |
101 |
PNNI |
102 |
PIM |
103 |
ARIS |
104 |
SCPS |
105 |
QNX |
106 |
A/N |
107 |
IPCOMP |
108 |
SNP |
109 |
COMPAT-PEER |
110 |
PIZ EN IP |
111 |
VRRP |
112 |
PGM |
113 |
HOP-O |
114 |
L2TP |
115 |
DDX |
116 |
IATP |
117 |
STP |
118 |
SRP |
119 |
UTI |
120 |
SMP |
121 |
SSM |
122 |
PTP |
123 |
ISIS |
124 |
FUEGO |
125 |
CRTP |
126 |
CRUDP |
127 |
SSCOPMCE |
128 |
IPLT |
129 |
SPS |
130 |
PIPA |
131 |
SCTP |
132 |
FC |
133 |
RSVP-E2E-IGNORE |
134 |
N/A |
|
N/A |
|
N/A |
|
RESERVADO |
255 |
Referencia: Caracteres ASCII no imprimibles e imprimibles
En las tablas siguientes se proporcionan detalles sobre la representación ASCII de caracteres no imprimibles e imprimibles.
Dic |
Maleficio |
Oct |
Carbonizar |
Comentario |
---|---|---|---|---|
0 |
0 |
000 |
NUL |
Nulo |
1 |
1 |
001 |
SOH |
Inicio de la rúbrica |
2 |
2 |
002 |
STX |
Inicio del texto |
3 |
3 |
003 |
ETX |
Fin del texto |
4 |
4 |
004 |
EOT |
Fin de la transmisión |
5 |
5 |
005 |
ENQ |
Investigación |
6 |
6 |
006 |
ACK |
Reconocer |
7 |
7 |
007 |
BELIO |
Campana |
8 |
8 |
010 |
BS |
Retroceso |
9 |
9 |
011 |
PESTAÑA |
Pestaña horizontal |
10 |
Un |
012 |
SI |
Salto de línea |
11 |
B |
013 |
VT |
Pestaña vertical |
12 |
C |
014 |
SS |
Feed de formularios |
13 |
D |
015 |
CR |
Retorno del transporte |
14 |
E |
016 |
Así que |
Salida de turno |
15 |
F |
017 |
SI |
Cambiar en |
16 |
10 |
020 |
DLE |
Escape de vínculo de datos |
17 |
11 |
021 |
DC1 |
Control de dispositivos 1 |
18 |
12 |
022 |
DC2 |
Control de dispositivos 2 |
19 |
13 |
023 |
DC3 |
Control de dispositivos 3 |
20 |
14 |
024 |
DC4 |
Control de dispositivos 4 |
21 |
15 |
025 |
NAK |
Reconocimiento negativo |
22 |
16 |
026 |
SYN |
Inactividad sincrónica |
23 |
17 |
027 |
ETB |
Fin del bloque de transmisión |
24 |
18 |
030 |
ENLATAR |
Cancelar |
25 |
19 |
031 |
EM |
Fin del medio |
26 |
1A |
032 |
SUB |
Sustituto |
27 |
1B |
033 |
ESC |
Escapar |
28 |
1C |
034 |
FS |
Separador de archivos |
29 |
1D |
035 |
GS |
Separador de grupos |
30 |
1E |
036 |
RS |
Separador de registros |
31 |
1F |
037 |
NOS |
Separador de unidades |
Dic |
Maleficio |
Oct |
Carbonizar |
---|---|---|---|
32 |
20 |
040 |
Espacio |
33 |
21 |
041 |
! |
34 |
22 |
042 |
|
35 |
23 |
043 |
# |
36 |
24 |
044 |
$ |
37 |
25 |
045 |
% |
38 |
26 |
046 |
& |
39 |
27 |
047 |
|
40 |
28 |
050 |
( |
41 |
29 |
051 |
) |
42 |
2A |
052 |
* |
43 |
2B |
053 |
+ |
44 |
2C |
054 |
, |
45 |
2D |
055 |
- |
46 |
2E |
056 |
. |
47 |
2F |
057 |
/ |
48 |
30 |
060 |
0 |
49 |
31 |
061 |
1 |
50 |
32 |
062 |
2 |
51 |
33 |
063 |
3 |
52 |
34 |
064 |
4 |
53 |
35 |
065 |
5 |
54 |
36 |
066 |
6 |
55 |
37 |
067 |
7 |
56 |
38 |
070 |
8 |
57 |
39 |
071 |
9 |
58 |
3A |
072 |
: |
59 |
3B |
073 |
; |
60 |
3C |
074 |
< |
61 |
3D |
075 |
= |
62 |
3E |
076 |
> |
63 |
3F |
077 |
? |
64 |
40 |
100 |
@ |
65 |
41 |
101 |
Un |
66 |
42 |
102 |
B |
67 |
43 |
103 |
C |
68 |
44 |
104 |
D |
69 |
45 |
105 |
E |
70 |
46 |
106 |
F |
71 |
47 |
107 |
G |
72 |
48 |
110 |
H |
73 |
49 |
111 |
Yo |
74 |
4A |
112 |
J |
75 |
4B |
113 |
K |
76 |
4C |
114 |
L |
77 |
4D |
115 |
M |
78 |
4E |
116 |
N |
79 |
4F |
117 |
O |
80 |
50 |
120 |
P |
81 |
51 |
121 |
Q |
82 |
52 |
122 |
R |
83 |
53 |
123 |
S |
'84 |
54 |
124 |
T |
85 |
55 |
125 |
U |
86 |
56 |
126 |
V |
87 |
57 |
127 |
W |
88 |
58 |
130 |
X |
89 |
59 |
131 |
Y |
90 |
5A |
132 |
Z |
91 |
5B |
133 |
[ |
92 |
5C |
134 |
\ |
93 |
5D |
135 |
] |
94 |
5E |
136 |
^ |
95 |
5F |
137 |
_ |
96 |
60 |
140 |
` |
97 |
61 |
141 |
un |
98 |
62 |
142 |
b |
99 |
63 |
143 |
c |
100 |
64 |
144 |
d |
101 |
65 |
145 |
e |
102 |
66 |
146 |
f |
103 |
67 |
147 |
g |
104 |
68 |
150 |
h |
105 |
69 |
151 |
Yo |
106 |
6A |
152 |
j |
107 |
6B |
153 |
k |
108 |
6C |
154 |
l |
109 |
6D |
155 |
m |
110 |
6E |
156 |
n |
111 |
6F |
157 |
o |
112 |
70 |
160 |
p |
113 |
71 |
161 |
q |
114 |
72 |
162 |
r |
115 |
73 |
163 |
s |
116 |
74 |
164 |
t |
117 |
75 |
165 |
u |
118 |
76 |
166 |
v |
119 |
77 |
167 |
w |
120 |
78 |
170 |
x |
121 |
79 |
171 |
y |
122 |
7A |
172 |
z |
123 |
7B |
173 |
{ |
124 |
7C |
174 |
| |
125 |
7D |
175 |
} |
126 |
7E |
176 |
~ |
127 |
7F |
177 |
DEL |
128 |
80 |
200 |
Ç |
129 |
81 |
201 |
ü |
130 |
82 |
202 |
é |
131 |
83 |
203 |
â |
132 |
84 |
204 |
ä |
133 |
85 |
205 |
à |
134 |
86 |
206 |
å |
135 |
87 |
207 |
ç |
136 |
88 |
210 |
ê |
137 |
89 |
211 |
ë |
138 |
8A |
212 |
è |
139 |
8B |
213 |
ï |
140 |
8C |
214 |
î |
141 |
8D |
215 |
ì |
142 |
8E |
216 |
Ä |
143 |
8F |
217 |
Å |
144 |
90 |
220 |
É |
145 |
91 |
221 |
æ |
146 |
92 |
222 |
Æ |
147 |
93 |
223 |
ô |
148 |
94 |
224 |
ö |
149 |
95 |
225 |
ò |
150 |
96 |
226 |
û |
151 |
97 |
227 |
ù |
152 |
98 |
230 |
ÿ |
153 |
99 |
231 |
Ö |
154 |
9A |
232 |
Ü |
155 |
9B |
233 |
¢ |
156 |
9C |
234 |
£ |
157 |
9D |
235 |
¥ |
158 |
9E |
236 |
P |
159 |
9F |
237 |
ƒ |
160 |
A0 |
240 |
á |
161 |
A1 |
241 |
í |
162 |
A2 |
242 |
ó |
163 |
R3 |
243 |
ú |
164 |
A4 |
244 |
ñ |
165 |
A5 |
245 |
Ñ |
166 |
A6 |
246 |
ª |
167 |
A7 |
247 |
º |
168 |
A8 |
250 |
¿ |
169 |
A9 |
251 |
¬ |
170 |
AA |
252 |
|
171 |
AB |
253 |
1/2 |
172 |
Corriente alterna |
254 |
1/4 |
173 |
ANUNCIO |
255 |
¡ |
174 |
Æ |
256 |
" |
175 |
AF |
257 |
" |
176 |
B0 |
260 |
¦ |
177 |
B1 |
262 |
¦ |
178 |
B2 |
262 |
¦ |
179 |
B3 |
263 |
¦ |
180 |
B4 |
264 |
¦ |
181 |
B5 |
265 |
¦ |
182 |
B6 |
266 |
¦ |
183 |
B7 |
267 |
+ |
184 |
B8 |
270 |
+ |
185 |
B9 |
271 |
¦ |
186 |
BA |
272 |
¦ |
187 |
BB |
273 |
+ |
188 |
A.C |
274 |
+ |
189 |
BD |
275 |
+ |
190 |
SER |
276 |
+ |
191 |
BF |
277 |
+ |
192 |
C0 |
300 |
+ |
193 |
C1 |
301 |
- |
194 |
C2 |
302 |
- |
195 |
C3 |
303 |
+ |
196 |
C4 |
304 |
- |
197 |
C5 |
305 |
+ |
198 |
C6 |
306 |
¦ |
199 |
C7 |
307 |
¦ |
200 |
C8 |
310 |
+ |
201 |
C9 |
311 |
+ |
202 |
CA |
312 |
- |
203 |
CB |
313 |
- |
204 |
CC |
314 |
¦ |
205 |
CD |
315 |
- |
206 |
Después de Cristo |
316 |
+ |
207 |
CF |
317 |
- |
208 |
D0 |
320 |
- |
209 |
D1 |
321 |
- |
210 |
D2 |
322 |
- |
211 |
D3 |
323 |
+ |
212 |
D4 |
324 |
+ |
213 |
D5 |
325 |
+ |
214 |
D6 |
326 |
+ |
215 |
D7 |
327 |
+ |
216 |
D8 |
330 |
+ |
217 |
D9 |
331 |
+ |
218 |
DA |
332 |
+ |
219 |
DB |
333 |
¦ |
220 |
DC |
334 |
_ |
221 |
DD |
335 |
¦ |
222 |
DE |
336 |
¦ |
223 |
DF |
337 |
¯ |
224 |
E0 |
340 |
un |
225 |
E1 |
341 |
ß |
226 |
E2 |
342 |
G |
227 |
E3 |
343 |
p |
228 |
E4 |
344 |
S |
229 |
E5 |
345 |
s |
230 |
E6 |
346 |
μ |
231 |
E7 |
347 |
t |
232 |
E8 |
350 |
F |
233 |
E9 |
351 |
T |
234 |
EA |
352 |
O |
235 |
EB |
353 |
d |
236 |
EC |
354 |
8 |
237 |
ED |
355 |
f |
238 |
EE |
356 |
e |
239 |
EF |
357 |
n |
240 |
F0 |
360 |
= |
241 |
F1 |
361 |
+/- |
242 |
F2 |
362 |
= |
243 |
F3 |
363 |
= |
244 |
F4 |
364 |
( |
245 |
F5 |
365 |
) |
246 |
F6 |
366 |
÷ |
247 |
F7 |
367 |
˜ |
248 |
F8 |
370 |
° |
249 |
F9 |
371 |
﹒ |
250 |
FA |
372 |
﹒ |
251 |
FB |
373 |
v |
252 |
FC |
374 |
n |
253 |
FD |
375 |
² |
254 |
FE |
376 |
¦ |
255 |
SS |
377 |
|
Ejemplo: configuración de descodificadores de protocolo IDP
En este ejemplo se muestra cómo configurar sintonizables del descodificador de protocolo IDP.
Requisitos
Antes de comenzar, revise la característica Descodificadores de protocolo IDP. Consulte Descripción de los descodificadores de protocolo IDP.
Visión general
El módulo IDP de Junos incluye un conjunto de decodificadores de protocolo preconfigurados. Estos descodificadores de protocolo tienen una configuración predeterminada para varias comprobaciones contextuales específicas del protocolo que realizan. Puede usar la configuración predeterminada o ajustarla para satisfacer las necesidades específicas de su sitio. En este ejemplo se muestra cómo ajustar el descodificador de protocolo para FTP.
Configuración
Procedimiento
Procedimiento paso a paso
Para configurar los sintonizadores del decodificador de protocolo IDP:
Vea la lista de protocolos que tienen parámetros ajustables.
[edit] user@host# edit security idp sensor-configuration detector protocol-name FTP
Configure parámetros ajustables para el protocolo FTP.
[edit security idp sensor-configuration-detector protocol-name FTP] user@host# set tunable-name sc_ftp_failed_logins tunable-value 4 user@host# set tunable-name sc_ftp_failed_flags tunable value 1 user@host# set tunable-name sc_ftp_line_length tunable-value 1024 user@host# set tunable-name sc_ftp_password_length tunable-value 64 user@host# set tunable-name sc_ftp_sitestring_length tunable-value 512 user@host# set tunable-name sc_ftp_username_length tunable-value 32
Si ha terminado de configurar el dispositivo, confirme la configuración.
[edit] user@host# commit
Verificación
Para comprobar que la configuración funciona correctamente, escriba el show security idp status
comando.
Descripción de la compatibilidad con múltiples detectores de desplazados internos
Cuando se recibe un nuevo paquete de seguridad, contiene definiciones de ataque y un detector. En cualquier versión dada de un paquete de seguridad, las definiciones de ataque corresponden a las capacidades del detector incluido. Cuando la antigüedad de la directiva está deshabilitada en el dispositivo (consulte la instrucción reset-on-policy para ver los comandos de antigüedad de la directiva), solo una política está en vigor en un momento dado. Pero si la antigüedad de la directiva está habilitada y hay una actualización de la directiva, la directiva existente no se descarga cuando se carga la nueva directiva. Por lo tanto, ambas políticas pueden estar vigentes en el dispositivo. En este caso, todas las sesiones existentes seguirán siendo inspeccionadas por las políticas existentes y las nuevas sesiones se inspeccionarán con nuevas políticas. Una vez que todas las sesiones existentes que utilizan la directiva anterior han terminado o expirado, la directiva anterior se descarga.
Cuando se carga una política, también se asocia a un detector. Si la nueva directiva que se está cargando tiene un detector asociado que coincide con el detector que ya está en uso por la directiva existente, el nuevo detector no se carga y ambas directivas utilizan un único detector asociado. Pero si el nuevo detector no coincide con el detector actual, el nuevo detector se carga junto con la nueva política. En este caso, cada política cargada utilizará su propio detector asociado para la detección de ataques.
Tenga en cuenta que se puede cargar un máximo de dos detectores en un momento dado. Si dos detectores ya están cargados (por dos o más políticas), y la carga de una nueva política requiere también cargar un nuevo detector, entonces al menos uno de los detectores cargados debe descargarse antes de que se pueda cargar el nuevo detector. Antes de descargar un detector, también se descargan todas las políticas que utilizan el detector correspondiente.
Puede ver la política actual y la versión correspondiente del detector introduciendo el siguiente comando:
user@host> show security idp status
A partir de Junos OS versión 18.4R1, cuando se carga una nueva política de IDP, las sesiones existentes se inspeccionan mediante la directiva recién cargada y las sesiones existentes no se ignoran para el procesamiento de IDP. La inspección de desplazados internos continúa en el caso de ataques basados en el contexto creados por el detector después de cargar una nueva política de desplazados internos, con la excepción de la nueva política que se carga con el nuevo detector.
Descripción de la descompresión de contenido
En protocolos de aplicación como HTTP, el contenido se puede comprimir y luego transmitir a través de la red. Los patrones no coincidirán con el contenido comprimido, porque los patrones de firma se escriben para que coincidan con los datos de tráfico no codificados. En este caso, se evade la detección de desplazados internos. Para evitar la evasión de detección de IDP en el contenido comprimido HTTP, se ha agregado un submódulo IDP que descomprime el contenido del protocolo. La coincidencia del patrón de firma se realiza en el contenido descomprimido.
Para mostrar el estado de todos los valores del contador IPS, escriba el siguiente comando:
user@host> show security idp counters ips
Algunos ataques se introducen a través de contenido comprimido. Cuando el contenido se descomprime, puede inflarse a un tamaño muy grande, ocupando valiosos recursos del sistema, lo que resulta en la denegación de servicio. Este tipo de ataque puede reconocerse por la relación entre el tamaño de los datos descomprimidos y el tamaño de los datos comprimidos. El contador contenido-descomprimir-relación-sobre-límite identifica el número de incidentes en los que se ha superado esta proporción. La proporción predeterminada se considera coherente con un entorno típico. En algunos casos, sin embargo, esta relación podría necesitar ser ajustada restableciendo el content-decompress-ratio-over-limit
valor. Sin embargo, tenga en cuenta que una proporción más alta disminuye la posibilidad de detectar este tipo de ataque.
El contador content-decompress-memory-over-limit identifica el número de incidentes en los que la cantidad de datos descomprimidos superó la memoria asignada. La asignación de memoria predeterminada proporciona 33 KB por sesión para un número medio de sesiones que requieren descompresión al mismo tiempo. Para determinar si este valor es coherente con su entorno, analice los valores de los contadores relacionados con la descompresión y el número total de sesiones IDP que atraviesan el dispositivo, y calcule el número de sesiones que requieren descompresión al mismo tiempo. Suponiendo que cada una de estas sesiones requiere 33 KB de memoria para la descompresión, compare las necesidades estimadas con el valor predeterminado. Si es necesario, puede ajustar la asignación de memoria restableciendo el content-decompression-max-memory-kb
valor. Tenga en cuenta que debido a que la descompresión de contenido requiere una asignación significativa de memoria, el rendimiento del sistema se verá afectado por el aumento de la asignación máxima de memoria para la descompresión.
Ejemplo: configuración de la descompresión de contenido de IDP
En este ejemplo se muestra cómo configurar la descompresión de contenido de IDP.
Requisitos
Antes de comenzar, revise la función de descompresión de contenido de IDP. Consulte Descripción de la descompresión de contenido
Visión general
La función de descompresión está deshabilitada de forma predeterminada. En este ejemplo, se habilita el detector, se configura la memoria máxima en 50.000 kilobytes y se configura una relación de descompresión máxima de 16:1.
Habilitar la descompresión resultará en una reducción en el rendimiento de su dispositivo.
Configuración
Procedimiento
Procedimiento paso a paso
Para configurar la descompresión de contenido de IDP:
Habilite el detector.
[edit] user@host# set security idp sensor‑configuration detector protocol‑name HTTP tunable‑name sc_http_compress_inflating tunable‑value 1
Nota:Para desactivar el detector, establezca el
tunable‑value
valor en 0.Si es necesario, modifique la memoria máxima en kilobytes.
[edit security idp] user@host# set sensor-configuration ips content-decompression-max-memory-kb 50000
Si es necesario, configure la relación de descompresión máxima.
[edit security idp] user@host# set sensor-configuration ips content-decompression-max-ratio 16
Si ha terminado de configurar el dispositivo, confirme la configuración.
[edit] user@host# commit
Verificación
Para comprobar que la configuración funciona correctamente, escriba el show security idp status ips
comando. Los contadores de descompresión de contenido proporcionan estadísticas sobre el procesamiento de descompresión.
Descripción de los ataques basados en firmas de IDP
Para configurar un objeto de ataque personalizado, especifique un nombre único para él y, a continuación, especifique información adicional, lo que puede facilitar la localización y el mantenimiento del objeto de ataque.
Algunas propiedades de las definiciones de objetos de ataque son comunes a todos los tipos de ataques, como el nombre del ataque, el nivel de gravedad, el enlace de servicio o aplicación, el enlace de tiempo y el enlace de protocolo o puerto. Algunos campos son específicos de un tipo de ataque y solo están disponibles para esa definición de ataque específica.
Los objetos de ataque de firma utilizan una firma de ataque con estado (un patrón que siempre existe dentro de una sección específica del ataque) para detectar ataques conocidos. También incluyen el protocolo o servicio utilizado para perpetrar el ataque y el contexto en el que se produce el ataque. Las siguientes propiedades son específicas de los ataques de firma y puede configurarlas al configurar el ataque de firma: contexto del ataque, dirección del ataque, patrón de ataque y parámetros específicos del protocolo (campos de encabezado TCP, UDP, ICMP o IP).
Al configurar ataques basados en firmas, tenga en cuenta lo siguiente:
El contexto y la dirección del ataque son campos obligatorios para la definición de ataque de firma.
La negación de patrones solo se admite para contextos basados en paquetes, líneas y aplicaciones, y no para contextos de flujo y flujos normalizados.
Al configurar los parámetros específicos del protocolo, puede especificar campos solo para uno de los siguientes protocolos: IP, TCP, UDP o ICMP.
Al configurar un enlace de protocolo, solo puede especificar una de las siguientes opciones: IP, ICMP, TCP, UDP, RPC o aplicaciones.
IP: el número de protocolo es un campo obligatorio.
TCP y UDP: puede especificar un único puerto (
minimum-port
) o un intervalo de puertos (minimum-port
ymaximum-port
). Si no especifica un puerto, se tomará el valor predeterminado (0-65535
).RPC: el número de programa es un campo obligatorio.
A partir de Junos OS versión 19.1R1, puede configurar ataques basados en firmas mediante parámetros extendidos de Hyperscan. Al establecer valores óptimos para los parámetros extendidos de Hyperscan, puede mejorar significativamente el proceso de coincidencia de patrones de ataque.
Para configurar los parámetros extendidos, incluya la optional-parameters
opción en el nivel de [edit security idp custom-attack attack-name attack-type signature]
jerarquía. Puede configurar los siguientes parámetros en la optional-parameters
opción:
min-offset
max-offset
min-length
Breve principio de funcionamiento de Hyperscan API : Hyperscan es un motor de coincidencia de expresiones regulares de software diseñado para ofrecer un alto rendimiento y flexibilidad. Cuando se configura una firma con un patrón como parte de una política IDP, el patrón se identifica como una expresión regular. En el motor de enrutamiento, Hyperscan toma esta expresión regular como entrada y la compila para formar una base de datos que se envía al motor de reenvío de paquetes. Cuando un paquete entra en el motor de reenvío de paquetes, los datos del paquete se inspeccionan para determinar si coincide con la expresión regular que utiliza la base de datos.
Si una política de IDP se configura con un conjunto de firmas, se forman grupos de autómatas finitos deterministas (DFA). Los patrones de todas las firmas de los grupos DFA se pasan a Hyperscan para formar una única base de datos, que se puede utilizar para comprobar todos los ataques en el paquete a la vez. Dado que se utiliza una sola base de datos en lugar de una base de datos separada para cada ataque, el proceso de coincidencia de patrones es eficiente.
Cuando se configura una firma con los parámetros extendidos, Hyperscan API forma la base de datos teniendo en cuenta los parámetros configurados. El proceso de coincidencia de patrones se produce en el motor de reenvío de paquetes con esta nueva base de datos. Estos parámetros permiten restringir el conjunto de coincidencias producidas por un patrón en tiempo de compilación en lugar de depender de la aplicación para procesar coincidencias no deseadas en tiempo de ejecución.
Ver también
Ejemplo: configuración de ataques basados en firmas de IDP
En este ejemplo se muestra cómo crear un objeto de ataque basado en firmas.
Requisitos
Antes de comenzar, configure las interfaces de red.
Visión general
En este ejemplo, se crea un ataque de firma denominado sig1 y se le asignan las siguientes propiedades:
Acción recomendada (descartar paquete): descarta un paquete coincidente antes de que pueda llegar a su destino, pero no cierra la conexión.
Enlace de hora: especifica el ámbito como
source
y el recuento como10
. Cuando el ámbito essource
, se cuentan todos los ataques del mismo origen y cuando el número de ataques alcanza el recuento especificado (10
), se registra el ataque. En este ejemplo, se registra uno de cada diez ataques de la misma fuente.Contexto de ataque (paquete): coincide con el patrón de ataque dentro de un paquete.
Dirección del ataque (cualquiera): detecta el ataque en ambas direcciones: tráfico de cliente a servidor y de servidor a cliente.
Protocolo (TCP): especifica el valor TTL de 128.
Shellcode (Intel): establece el indicador para detectar shellcode para las plataformas Intel.
Enlace de protocolo: especifica el protocolo TCP y los puertos 50 a 100.
Una vez configurado un objeto de ataque basado en firmas, especifique el ataque como criterio de coincidencia en una regla de política de IDP. Consulte Ejemplo: Definición de reglas para una base de reglas IPS de IDP.
Configuración
Procedimiento
Configuración rápida de CLI
Para configurar rápidamente este ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, quite los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red y, a continuación, copie y pegue los comandos en la CLI en el nivel de jerarquía y, a continuación, ingrese commit
desde el [edit]
modo de configuración.
set security idp custom-attack sig1 severity major set security idp custom-attack sig1 recommended-action drop-packet set security idp custom-attack sig1 time-binding scope source count 10 set security idp custom-attack sig1 attack-type signature context packet set security idp custom-attack sig1 attack-type signature shellcode intel set security idp custom-attack sig1 attack-type signature protocol ip ttl value 128 match equal set security idp custom-attack sig1 attack-type signature protocol-binding tcp minimum-port 50 maximum-port 100 set security idp custom-attack sig1 attack-type signature direction any
Procedimiento paso a paso
En el ejemplo siguiente es necesario navegar por varios niveles en la jerarquía de configuración. Para obtener instrucciones sobre cómo hacerlo, consulte Uso del editor de CLI en el modo de configuración de la Guía del usuario de CLI.
Para crear un objeto de ataque basado en firmas:
Especifique un nombre para el ataque.
[edit] user@host# edit security idp custom-attack sig1
Especifique propiedades comunes para el ataque.
[edit security idp custom-attack sig1] user@host# set severity major user@host# set recommended-action drop-packet user@host# set time-binding scope source count 10
Especifique el tipo de ataque y el contexto.
[edit security idp custom-attack sig1] user@host# set attack-type signature context packet
Especifique la dirección del ataque y el indicador de código de shell.
[edit security idp custom-attack sig1] user@host# set attack-type signature shellcode intel
Establezca el protocolo y sus campos.
[edit security idp custom-attack sig1] user@host# set attack-type signature protocol ip ttl value 128 match equal
Especifique el enlace de protocolo y los puertos.
[edit security idp custom-attack sig1] user@host# set attack-type signature protocol-binding tcp minimum-port 50 maximum-port 100
Especifique la dirección.
[edit security idp custom-attack sig1] user@host# set attack-type signature direction any
Resultados
Desde el modo de configuración, confirme la configuración introduciendo el show security idp
comando. Si el resultado no muestra la configuración deseada, repita las instrucciones de configuración en este ejemplo para corregirla.
[edit] user@host# show security idp custom-attack sig1 { recommended-action drop-packet; severity major; time-binding { count 10; scope source; } attack-type { signature { protocol-binding { tcp { minimum-port 50 maximum-port 100; } } context packet; direction any; shellcode intel; protocol { ip { ttl { match equal; value 128; } } } } } }
Si ha terminado de configurar el dispositivo, ingrese commit
desde el modo de configuración.
Descripción de los ataques basados en anomalías del protocolo IDP
Un objeto de ataque por anomalía de protocolo detecta ataques desconocidos o sofisticados que infringen las especificaciones del protocolo (RFC y extensiones RFC comunes). No puede crear nuevas anomalías de protocolo, pero puede configurar un nuevo objeto de ataque que controle cómo el dispositivo maneja una anomalía de protocolo predefinida cuando se detecta.
Las siguientes propiedades son específicas de los ataques de anomalías de protocolo:
Dirección de ataque
Condición de prueba
Al configurar ataques basados en anomalías de protocolo, tenga en cuenta lo siguiente:
El enlace de servicio o aplicación es un campo obligatorio para los ataques de anomalías de protocolo. Además de las aplicaciones compatibles, los servicios también incluyen IP, TCP, UDP, ICMP y RPC.
Las propiedades de dirección de ataque y condición de prueba son campos obligatorios para configurar definiciones de ataque de anomalía.
Ejemplo: configuración de ataques basados en anomalías del protocolo IDP
En este ejemplo se muestra cómo crear un objeto de ataque basado en anomalías de protocolo.
Requisitos
Antes de comenzar, configure las interfaces de red.
Visión general
En este ejemplo, se crea un ataque de anomalía de protocolo denominado anomaly1 y se le asignan las siguientes propiedades:
Vinculación de hora: especifica el ámbito como
peer
y el recuento para2
detectar anomalías entre las direcciones IP de origen y destino de las sesiones durante el número de veces especificado.Gravedad (info): proporciona información sobre cualquier ataque que coincida con las condiciones.
Dirección del ataque (cualquiera): detecta el ataque en ambas direcciones: tráfico de cliente a servidor y de servidor a cliente.
Servicio (TCP): hace coincidir los ataques mediante el servicio TCP.
Condición de prueba (OPTIONS_UNSUPPORTED): coincide con ciertas condiciones de prueba predefinidas. En este ejemplo, la condición es coincidir si el ataque incluye opciones no compatibles.
Shellcode (sparc): establece el indicador para detectar shellcode para plataformas Sparc.
Una vez configurado el objeto de ataque basado en anomalías de protocolo, especifique el ataque como criterio de coincidencia en una regla de política de IDP. Consulte Ejemplo: Definición de reglas para una base de reglas IPS de IDP.
Configuración
Procedimiento
Configuración rápida de CLI
Para configurar rápidamente este ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, quite los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red y, a continuación, copie y pegue los comandos en la CLI en el nivel de jerarquía y, a continuación, ingrese commit
desde el [edit]
modo de configuración.
set security idp custom-attack anomaly1 severity info set security idp custom-attack anomaly1 time-binding scope peer count 2 set security idp custom-attack anomaly1 attack-type anomaly test OPTIONS_UNSUPPORTED set security idp custom-attack sa set security idp custom-attack sa attack-type anomaly service TCP set security idp custom-attack sa attack-type anomaly direction any set security idp custom-attack sa attack-type anomaly shellcode sparc
Procedimiento paso a paso
En el ejemplo siguiente es necesario navegar por varios niveles en la jerarquía de configuración. Para obtener instrucciones sobre cómo hacerlo, consulte Uso del editor de CLI en el modo de configuración de la Guía del usuario de CLI.
Para crear un objeto de ataque basado en anomalías de protocolo:
Especifique un nombre para el ataque.
[edit] user@host# edit security idp custom-attack anomaly1
Especifique propiedades comunes para el ataque.
[edit security idp custom-attack anomaly1] user@host# set severity info user@host# set time-binding scope peer count 2
Especifique el tipo de ataque y la condición de prueba.
[edit security idp custom-attack anomaly1] user@host# set attack-type anomaly test OPTIONS_UNSUPPORTED
Especifique otras propiedades para el ataque de anomalía.
[edit security idp custom-attack anomaly1] user@host# set attack-type anomaly service TCP user@host# set attack-type anomaly direction any user@host# attack-type anomaly shellcode sparc
Resultados
Desde el modo de configuración, confirme la configuración introduciendo el show security idp
comando. Si el resultado no muestra la configuración deseada, repita las instrucciones de configuración en este ejemplo para corregirla.
[edit] user@host# show security idp custom-attack anomaly1 { severity info; time-binding { count 2; scope peer; } attack-type { anomaly { test OPTIONS_UNSUPPORTED; service TCP; direction any; shellcode sparc; } } }
Si ha terminado de configurar el dispositivo, ingrese commit
desde el modo de configuración.
Verificación
Descripción general de la configuración de directivas de IDP
La política de detección y prevención de intrusiones (IDP) de Junos OS le permite aplicar selectivamente varias técnicas de detección y prevención de ataques en el tráfico de red que pasa a través de un dispositivo habilitado para IDP. Le permite definir reglas de políticas para que coincidan con una sección de tráfico basada en una zona, red y aplicación y, a continuación, tomar medidas preventivas activas o pasivas en ese tráfico.
Una política de IDP define cómo el dispositivo maneja el tráfico de red. Le permite aplicar varias técnicas de detección y prevención de ataques en el tráfico que atraviesa su red.
Una política se compone de bases de reglas, y cada base de reglas contiene un conjunto de reglas. Puede definir parámetros de regla, como condiciones de coincidencia de tráfico, acción y requisitos de registro y, a continuación, agregar las reglas a las bases de reglas. Después de crear una política de IDP agregando reglas en una o más bases de reglas, puede seleccionar esa política para que sea la política activa en su dispositivo.
Para configurar la directiva de IDP, realice los pasos siguientes:
Habilite el IDP en una política de seguridad.
Configure las reglas de política de IDP, las bases de reglas de IDP y las acciones de reglas de IDP. Consulte Ejemplo: Inserción de una regla en la base de reglas de IDP , Ejemplo: Definición de reglas para una base de reglas de IPS de IDP y Ejemplo: Configuración y aplicación de reglas de reescritura en un dispositivo de seguridad .
Configure firmas personalizadas de IDP. Consulte los temas Descripción de los ataques basados en firmas de IDP y Ejemplo: Configuración de ataques basados en firmas de IDP .
Actualice la base de datos de firmas de IDP. Consulte Información general sobre la actualización de la base de datos de firmas de IDP.
Descripción general de los canales encubiertos IPv6
Un canal encubierto es una técnica de ataque que permite la comunicación de información mediante la transferencia de objetos a través de canales de información existentes de manera no autorizada o ilícita. Con la ayuda de canales encubiertos, un atacante puede llevar a cabo actividades maliciosas en una red.
A partir de Junos OS versión 19.1R1, la identificación y mitigación de canales encubiertos para encabezados de extensión IPv6 se admite en la detección y prevención de intrusiones (IDP). Es la transferencia de información lo que viola los sistemas de seguridad existentes. El paquete de seguridad para IDP contiene una base de datos de objetos de ataque de IDP predefinidos para el canal encubierto que puede utilizar en las políticas de IDP para hacer coincidir el tráfico con los ataques.
Como parte de esta compatibilidad, puede detectar y marcar anomalías en los encabezados de extensión IPv6, lo que puede establecer canales encubiertos y tomar las medidas especificadas en la política. Los ataques de canal encubierto se muestran en el Show security idp attack table
con los otros ataques.
Tabla de historial de cambios
La compatibilidad con las funciones viene determinada por la plataforma y la versión que esté utilizando. Utilice el Explorador de características para determinar si una característica es compatible con su plataforma.
interval interval-value
instrucción se introduce en la
[edit security idp custom-attack attack-name time-binding]
jerarquía para configurar un enlace de tiempo personalizado.
set security idp custom-attack
comando.