神经网络,遗传算法作为入侵检测系统

时间:2011-05-30 15:00:56

标签: c# algorithm neural-network genetic-algorithm

您好我需要一些帮助才能开始创建我的第一个算法;我想创建一个NN /遗传算法用作入侵检测系统。

但我正在努力解决一些问题(之前从未写过算法。)

  1. 我想用C#开发是否可以作为控制台应用程序?如果是这样的话,作为一个先驱,程序大致会有多大,最简单的形式。甚至可以用c#?
  2. 如何连接程序以从网络读取数据?此外,如何将数据包转换为算法的可读数据。
  3. 如何让程序为snort或其他形式的防火墙编写规则,并阻止程序认为是潜在的威胁。 (即它发现来自No.2的威胁然后它将规则写入阻止特定流量的snort规则页面)
  4. 如何跟踪数据。 (它阻止了什么观察它得出的结论)
  5. 将它放在网络上的哪个位置? (该程序可以连接到其他算法并在同一网络上共享数据,这将是有益的)
  6. 如果有人可以帮助我开始正确的方向或解释其他替代方案,如模糊逻辑等,为什么它被视为黑匣子?

2 个答案:

答案 0 :(得分:3)

是的,控制台应用程序和C#可用于创建神经网络。当然,如果你想要更多的视觉方面的UI,你会想要使用WinForms / WPF / Silverlight等。由于没有足够的信息你想做什么,所以无法分辨程序的大小。而且,只要效率很高,尺寸就不应该成为问题。

我认为这是某种最后一年的项目?你使用什么类型的神经网络?你应该阅读一些有关使用NN和入侵检测的学术论文/白皮书来获得一个想法。例如,此PDF包含一些可能有用的信息。

你应该一步一步。创建神经网络与在Snort中创建新规则是分开的。一次处理一个主题,否则你会不堪重负。考虑到困难部分很可能是NN,你应该首先关注它。

任何人都不可能和你一起完成每一步,因为这是一个相当大的项目。展示你已完成的工作并解释你需要帮助的地方。

答案 1 :(得分:1)

当我开始学习神经网络时,我的核心实现是它们只是函数逼近器。我认为这是一件至关重要的事情。无论你是使用遗传算法还是神经网络(或者像@Ben Voigt所提到的那样组合它们,即使神经网络通常与其他训练技术相关联) - 你最终获得的是一个函数,你可以放入一些实际价值并获得单一价值。

记住这一点,您可以在测试部分设计您的程序,并将网络视为提供这些预测的黑盒子。在训练过程中,想想另一个黑盒子,你可以在其中放入成对的输入和输出对,并假设它会越好,你展示的对越多。

也许你觉得这很微不足道,但是由于与这种算法相关的所有理论和神秘行为,我发现它让人放心(虽然有点令人失望;)将它们减少到那些类型的盒子。