2010-11-01 14 views
15

Entonces, para una aplicación relacionada con la seguridad que estoy escribiendo, realmente quiero usar RFC3514 ("The Evil Bit") para determinar qué conjunto de tráfico en la red es malo o no un por nivel de paquete Esto se utiliza como datos de capacitación para un motor de aprendizaje automático asistido, por lo que la aplicación debe saber de antemano qué paquetes son malos y cuáles no.Cómo configurar el bit Evil en el tráfico saliente

Esto debería ser bastante simple, simplemente está configurando un único bit de capa IP. Intenté investigar cómo hacerlo con iptables o libpcap, pero o bien no tienen la funcionalidad o no pude descubrirla.

Ser capaz de configurarlo para todo el tráfico de una máquina estaría bien, pero los filtros en lo que sale serían mejores. (Al igual que ser capaz de especificar qué protocolos de capa superior se establece, etc ...)

Estoy usando Ubuntu, también. Entonces, las soluciones Linux son las preferidas. Pero, de lo contrario, realmente no importa qué método se use para lograr esto. Bash script, aplicación c/C++, configuración de algunos sysctl, lo que sea.

+0

+1 Interesante, pero creo que el estándar de hecho de eliminar o registrar estos paquetes por un IPS/IDS es un enfoque más seguro. – rook

+2

Bueno, el punto es que no quiero usar un IPS/IDS basado en firmas. De ahí la porción de aprendizaje automático. Pero eso no es realmente relevante para la pregunta, solo información de fondo. Podría haber preguntado de manera equivalente "¿Cómo puedo establecer un indicador en los paquetes salientes sin alterar su funcionamiento/interpretación?" Parece poco probable que yo sea la primera persona en tener esa necesidad. – AltF4

+0

Diez meses después uno se pregunta si está filtrando con éxito todo el mal tráfico de red. No trabajas para Sony, ¿verdad? –

Respuesta

6

Aparentemente esto se implementó realmente para FreeBSD, ¿tal vez podrías mirar su código?

http://www.cs.columbia.edu/~smb/3514.html

+0

Veo eso, pero: 1) Un parche del núcleo parece excesivo 2) El enlace real al parche parece estar roto: http://unix.derkeiler.com/Mailing-Lists/FreeBSD/hackers/ 2008-04/msg00073.html – AltF4

+2

Después de estudiarlo un poco más, parece que estuvo parcialmente en lo cierto, Colin. Parece que se necesita un parche de kernel para obtener este tipo de funcionalidad en iptables. Una solución temporal, sin embargo, sería utilizar la tabla mangle. Puede insertar un indicador en los campos DSCP y ECN del encabezado IPv4, que a menudo no se utilizan.Aunque hacerlo puede causar problemas si su red realmente usa algo allí. – AltF4

5

tiene dos opciones:

Uno es utilizar https://code.google.com/p/evilbitchanger/, un guión basado scapy que hace estableciendo el mal poco trabajo por usted.

La otra es usar scripts de scapy sin formato para crear los paquetes con Evil bit. Como se documenta, Scapy es capaz de configurar el Evil Bit flag quite easily.

>>> t=TCP() 
>>> t.flags="SA" 
>>> t.flags 
18 
>>> t 
<TCP flags=SA |> 
>>> t.flags=23 
>>> t 
<TCP flags=FSRA |> 
>>> i=IP(flags="DF+MF") 
>>> i.flags 
3 
>>> i 
<IP flags=MF+DF |> 
>>> i.flags=6 
>>> i 
<IP flags=DF+evil |> 

Espero que esto ayude.

Cuestiones relacionadas