Merge in SNORT/snort3 from ~OSHUMEIK/snort3:kaizen_rename to master
Squashed commit of the following:
commit
09cfb949abb43d892b13a1cf305d0b2ae0b8f07e
Author: Oleksii Shumeiko <oshumeik@cisco.com>
Date: Wed Feb 14 15:49:19 2024 +0200
kaizen: rename modules
-Kaizen is a neural network-based exploit detector for the Snort intrusion
+Kaizen ML is a neural network-based exploit detector for the Snort intrusion
prevention system. It is designed to not only learn to detect known attacks
from training data, but also learn to detect attacks it has never seen before.
Global configuration sets the trained network model to use. For example:
- kaizen_engine.http_param_model = { 'model.file' }
+ kaizen_ml_engine.http_param_model = { 'model.file' }
While per policy configuration sets data source and inspection depth in
the selected Inspection policy. The following example enables two sources,
HTTP URI and HTTP body:
- kaizen.uri_depth = -1
- kaizen.client_body_depth = 100
+ kaizen_ml.uri_depth = -1
+ kaizen_ml.client_body_depth = 100
Trace messages are available:
-* trace.modules.kaizen.classifier turns on messages from Kaizen
+* trace.modules.kaizen_ml.classifier turns on messages from Kaizen
if (!get_config_file(hint, path) || !get_file_size(path, size))
{
- ParseError("kaizen_engine: could not read model file: %s", hint);
+ ParseError("kaizen_ml_engine: could not read model file: %s", hint);
return {};
}
if (!file.is_open())
{
- ParseError("kaizen_engine: could not read model file: %s", hint);
+ ParseError("kaizen_ml_engine: could not read model file: %s", hint);
return {};
}
if (size == 0)
{
- ParseError("kaizen_engine: empty model file: %s", hint);
+ ParseError("kaizen_ml_engine: empty model file: %s", hint);
return {};
}
#include "framework/inspector.h"
-#define KZ_ENGINE_NAME "kaizen_engine"
+#define KZ_ENGINE_NAME "kaizen_ml_engine"
#define KZ_ENGINE_HELP "configure machine learning engine settings"
class BinaryClassifier;
if(!InspectorManager::get_inspector(KZ_ENGINE_NAME, true, sc))
{
- ParseError("kaizen requires %s to be configured in the global policy.", KZ_ENGINE_NAME);
+ ParseError("kaizen_ml requires %s to be configured in the global policy.", KZ_ENGINE_NAME);
return false;
}
static const RuleMap kaizen_rules[] =
{
- { KZ_SID, "exploit payload detected" },
+ { KZ_SID, "potential threat found in http parameters via Neural Network Based Exploit Detection" },
{ 0, nullptr }
};
#ifdef DEBUG_MSGS
static const TraceOption kaizen_trace_options[] =
{
- { "classifier", TRACE_CLASSIFIER, "enable Kaizen classifier trace logging" },
+ { "classifier", TRACE_CLASSIFIER, "enable Kaizen ML classifier trace logging" },
{ nullptr, 0, nullptr }
};
#endif
{
if (!conf.uri_depth && !conf.client_body_depth)
ParseWarning(WARN_CONF,
- "Neither of Kaizen source depth is set, Kaizen won't process traffic.");
+ "If neither of Kaizen ML source depth is set, it won't process traffic.");
return true;
}
#define KZ_GID 411
#define KZ_SID 1
-#define KZ_NAME "kaizen"
+#define KZ_NAME "kaizen_ml"
#define KZ_HELP "machine learning based exploit detector"
enum { TRACE_CLASSIFIER };