Reemplazando 'firma' con 'regla'.
A veces es una tarea simple, otras no tanto.
Las reglas generalmente se crean (afaik) al examinar las capturas de paquetes de ataques / explotaciones y luego crear reglas que coincidan con ese patrón de tráfico. La habilidad es crear una regla que sea lo más precisa posible para limitar los falsos positivos, pero lo suficientemente genérica como para asegurar que atrapes todo. Las reglas incorporadas se crean de la misma manera que muchas personas crean sus propias reglas: analizan las capturas de paquetes, observan los bits y los bytes para crear un patrón apropiado. El bit fácil es, obviamente, coincidir con los puertos y el protocolo (es decir, el encabezado de la regla).
El flujo de tráfico (es decir, desde / hacia el servidor), pero luego se vuelve más complejo con los operadores (contenido, desplazamiento, profundidad, dentro, distancia, etc.) o invocando pcre. El otro elemento complicado es garantizar que una regla no solo atrape el tráfico, sino que también afecte negativamente el rendimiento.
Snort es ahora una bestia complicada (de una buena manera) y hay mucho más que simples reglas que buscan patrones de tráfico. El trabajo real ocurre con los preprocesadores y el módulo DAQ .
Aquí hay una publicación anterior que habla sobre cómo las firmas de IDS / Se crean las reglas.
Una buena persona para conversar sería Joel Esler (@joelesler), un veterano de Sourcefire y miembro del equipo de VRT. No estoy seguro de lo que pueda decirte, aunque es un muestra de él. . La gente en el equipo de VRT son monos de paquetes reales, grandes desarrolladores y realizan pruebas exhaustivas de sus reglas antes del lanzamiento. Muy a menudo, estas pruebas se realizan con el proveedor o compañía que ha descubierto o ha sido afectado por el ataque.
Hay literalmente un montón de documentos en la red sobre cómo se escriben las reglas de snort, muchas de las cuales están escritas por Empleados de Sourcefire y el manual .