评估异常和特征检测方法

fwood201fwood201 成员职位:13贡献我
2018年11月编辑 帮助

你好,

我是一名四年级的学生,试图做一个实验,比较基于特征的检测方法和基于异常的检测方法。我想用决策树和随机森林算法来做这个。最终目标是测量两种方法的误报率,并得出哪种方法更能阻止网络攻击的结论。

我不太确定我将如何进行这个实验,但RM看起来很有帮助。我有公开可用的安全日志作为数据,下载了异常检测扩展,文本挖掘扩展,并在Sec Onion中设置了IDS系统来监控我的网络。

任何建议/解决方案都将非常感激,如果我没有说清楚我在做什么,我远非这方面的专家

干杯

Thomas_Ott

答案

  • Thomas_OttThomas_Ott RapidMiner认证分析师,RapidMiner认证专家,会员职位:1761年独角兽

    我要问的第一件事是这些日志是否有标记。他们是否有“入侵”或“禁止入侵”的标签?

    然后,我将加载数据,并使用Process Documents by data操作符,并在其中嵌入Tokenization/TransformCases/等,然后创建TFIDF词向量,并在内部使用朴素贝叶斯算法进行交叉验证。您必须输出PER端口,以查看模型对该数据的分类情况(将生成一个混淆矩阵)。

  • fwood201fwood201 成员职位:13贡献我

    是的,我把我的数据标记为“攻击”或“正常”。与朴素贝叶斯的交叉引用是否能给我预期的假阳性率/分类准确率等结果?此外,我有一个包含已知攻击列表的特征库,我是否必须手动训练模型或RM处理它?

  • fwood201fwood201 成员职位:13贡献我

    此外,我是否必须上传两组数据,一组用于训练,一组用于测试,到交叉验证操作符或相同的集,以允许操作符将其分割?

  • Thomas_OttThomas_Ott RapidMiner认证分析师,RapidMiner认证专家,会员职位:1761年独角兽

    交叉验证操作符将自动处理将训练数据分成训练和测试集,基于k-fold的数量和您想要对其进行采样的方式。

  • Thomas_OttThomas_Ott RapidMiner认证分析师,RapidMiner认证专家,会员职位:1761年独角兽

    我应该把你的帖子移到工作室论坛,几乎没有人来这个地方。

  • fwood201fwood201 成员职位:13贡献我

    我的数据是用于入侵检测的标记NSL-KDD数据集。我也想显示误报的数量但唯一的性能运算符需要一个双名标签?哪些数据没有,因为它被标记为特定的攻击,而不是“正常”或“攻击”,是否有可能使它认为它只是一个或另一个,以便它可以设置为二名?

    干杯

    F

  • MartinLiebigMartinLiebig 管理员,主持人,员工,RapidMiner认证分析师,RapidMiner认证专家,大学教授职位:3329年RM数据科学家

    你好,

    你能简单地从给定的签名中生成一个带有attack/noAttack的新属性,并将其用作标签进行比较吗?

    ~马丁

    - RapidMin乐鱼平台进入er数据科学服务主管-
    德国多特蒙德
  • fwood201fwood201 成员职位:13贡献我

    我可以在RM中做吗,还是必须在原始数据集上做?我的意思是我知道生成属性操作符,但我不知道它是如何工作的

  • MartinLiebigMartinLiebig 管理员,主持人,员工,RapidMiner认证分析师,RapidMiner认证专家,大学教授职位:3329年RM数据科学家

    当然,

    生成属性是正确的方法。就像

    如果(包含(签名,“攻击”)、“攻击”、“noAttack”)

    什么的。

    - RapidMin乐鱼平台进入er数据科学服务主管-
    德国多特蒙德
  • fwood201fwood201 成员职位:13贡献我

    太酷了!这是我的数据集——正如你所看到的,一些数据被标记为正常数据,另一些则被标记为攻击的名称。这个生成属性操作符能识别攻击和正常攻击之间的区别吗?我怎么能把它放在入侵检测过程中呢?

    干杯

    F

  • MartinLiebigMartinLiebig 管理员,主持人,员工,RapidMiner认证分析师,RapidMiner认证专家,大学教授职位:3329年RM数据科学家

    你好,

    像这样的方程:

    如果(标签! =“正常”、“攻击”、“正常”)

    会成功的。

    ~马丁

    - RapidMin乐鱼平台进入er数据科学服务主管-
    德国多特蒙德
  • fwood201fwood201 成员职位:13贡献我

    谢谢你的完美工作!我的最后一个问题是——你认为是否有可能以某种方式给模型提供一种签名库中没有的新攻击,以证明IDS不会在签名库中检测到它们?

    F。

  • MartinLiebigMartinLiebig 管理员,主持人,员工,RapidMiner认证分析师,RapidMiner认证专家,大学教授职位:3329年RM数据科学家

    你好,

    可以说是肯定的。在欺诈领域,你经常会遇到一个权衡的问题:善于发现已知模式(低假阳性率)和善于发现未知模式。

    我通常工作的环境中,这些欺诈检测是交给人类专家来决定的。在这种情况下,我建议用3种不同的潜在欺诈/攻击来源填充列表:

    1.由监督算法生成的列表,该算法在查找“已知”(=已经看到的)模式方面非常好

    2.由无监督算法生成的列表,它也很好地发现了新的模式

    3.随机选择实例作为对照组

    2和3的结果作为1的新标记示例。在一个反馈循环中。

    最好的

    马丁

    - RapidMin乐鱼平台进入er数据科学服务主管-
    德国多特蒙德
    yyhuang
  • fwood201fwood201 成员职位:13贡献我

    你能建议一个实现这个的过程吗?

    F。

  • MartinLiebigMartinLiebig 管理员,主持人,员工,RapidMiner认证分析师,RapidMiner认证专家,大学教授职位:3329年RM数据科学家

    你好,

    我认为这部分本身是相当直接的。这是你已经在做的事情+一个标准的监督方法,就像我们在开始时解释的那样。棘手的事情是如何合并结果,以及如何建立反馈循环。这通常取决于客户。

    最好的

    马丁

    - RapidMin乐鱼平台进入er数据科学服务主管-
    德国多特蒙德
  • yyhuangyyhuang 管理员,员工,RapidMiner认证分析师,RapidMiner认证专家,成员职位:362RM数据科学家

    亲爱的@fwood201

    我完全同意@mschmitz在“

    1.由监督算法生成的列表,该算法在查找“已知”(=已经看到的)模式方面非常好

    2.由无监督算法生成的列表,它也很好地发现了新的模式

    3.随机选择实例作为对照组

    2和3的结果作为1的新标记示例。在一个反馈循环中。”

    一些欺诈检测模板是在RapidMiner studio中构建的。您可以在医疗欺诈实例中运行它来快速演示受控算法(如Martin的列表#1中所建议的)。我还从Marketplace安装了异常检测扩展,并运行HBOS,例如,从非监督算法中获得风险评分(Martin的列表#2)。实际上,输入示例集具有从大量人群中随机选择的负面(非欺诈控制组)数据。因此,我们可以稍后查看假阳性(预先标记为“假”,但预测为“真”欺诈)的预测结果,并在一些调查后手动更正(反馈)标签。

    template.pngaddHBOS.png

登录注册置评。