The misp-book refers to the "correlation engine". For example, in using-the-system/README.md:
Value: The value or value-pair of the attribute. This is the main payload of the attribute, which is described by the category and type columns. For certain types of attributes that are made up of value-pairs the two parts will be split by a pipe (|), such as for filename|md5. The value field(s) are used by the correlation engine to find relations between events. In value-pair attributes both values are correlated individually.
Is the correlation feature an independent part of the MISP system? I noticed that some PHP code directly manipulates the correlations; e.g.,
https://github.com/MISP/MISP/blob/45cfc81de05e95e08d88ee7771258f5cceff8319/app/Model/Attribute.php#L480
https://github.com/MISP/MISP/blob/45cfc81de05e95e08d88ee7771258f5cceff8319/app/Model/Event.php#L522
Anyhow, whether it's a separate engine or not, please describe how the MISP system maintains its correlations table in normal operation:
- how correlations are maintained
- when the engine runs and/or what kicks it off (if there's an engine)
- when new correlations are added after an attribute or event is added; e.g., what's the interval
- when orphan correlations are dropped after an attribute or event is deleted; again what's the interval
- how to debug what the correlation feature is doing; e.g., whether it writes any log file entries
The misp-book refers to the "correlation engine". For example, in using-the-system/README.md:
Is the correlation feature an independent part of the MISP system? I noticed that some PHP code directly manipulates the correlations; e.g.,
https://github.com/MISP/MISP/blob/45cfc81de05e95e08d88ee7771258f5cceff8319/app/Model/Attribute.php#L480
https://github.com/MISP/MISP/blob/45cfc81de05e95e08d88ee7771258f5cceff8319/app/Model/Event.php#L522
Anyhow, whether it's a separate engine or not, please describe how the MISP system maintains its correlations table in normal operation: