Sostituire "firma" con "regola".
A volte è un compito semplice, altre volte no.
Le regole vengono generalmente create (afaik) esaminando le acquisizioni di pacchetti di attacchi / exploit e quindi creando regole che corrispondono a tale modello di traffico. L'abilità consiste nel creare una regola il più precisa possibile al fine di limitare i falsi positivi ma abbastanza generica da garantire di catturare tutto. Le regole integrate sono create nello stesso modo in cui molte persone creano le proprie regole, analizzando le acquisizioni di pacchetti, esaminando i bit e i byte per creare uno schema appropriato. Il bit facile ovviamente sta facendo corrispondere le porte e il protocollo (vale a dire la RULE HEADER).
il flusso di traffico (cioè da / verso server) ma poi diventa più complesso con gli operatori (contenuto, offset, profondità, interno, distanza ecc.) o invoca Pcre. L'altro elemento delicato è quello di garantire che una regola non solo rilevi il traffico ma non influenzi negativamente le prestazioni.
Snort ora è una bestia complicata (in senso buono) e c'è molto di più rispetto alle semplici regole alla ricerca di schemi di traffico. Il vero lavoro avviene con i pre-processori e il più recente modulo DAQ .
Ecco un vecchio post che parla di come le firme IDS / le regole sono state create.
Una brava persona con cui chattare sarebbe Joel Esler (@joelesler), un veterano di Sourcefire e membro del team di VRT. Non sono sicuro di quello che può dirti se è un esempio da lui . I membri del team VRT sono vere scimmie a pacchetto, grandi sviluppatori e eseguono test approfonditi sulle loro regole prima del rilascio. Molto spesso questo test viene eseguito con il venditore o la società che ha scoperto o è stato colpito dall'attacco.
C'è letteralmente un sacco di documenti in rete su come vengono scritte le regole snort, molte delle quali sono scritte da Dipendenti di Sourcefire e il manuale .