使用模式匹配算法进行入侵检测

Intrusion detection using pattern matching algorithm

我很感兴趣为入侵检测系统(IDS) 编写一个简单的java 代码。 就我的理解而言,这可能是一个简单的应用程序。为此,我将使用 模式匹配算法 (KMP)。 IDS 也将是一个 基于签名 (为了我的简单理解)。所以我可能有一些文件格式的简单数据集(已知攻击)。现在我的问题是,在应用模式匹配算法之前,我需要构造一个有限自动机 (DFA) 来识别模式。 那么如何在 java 代码中完成所有这些呢?我从 google 和一些研究论文中搜索了很多。但是有人可以简单地解释一下吗?

这是 HIDS 还是 NIDS?

这里有一个很好的答案:https://searchsecurity.techtarget.com/answer/Should-an-intrusion-detection-system-IDS-be-written-using-Java

这里有一篇很棒的读物:https://www.researchgate.net/publication/239499071_Java-Based_Intrusion_Detection_System_in_a_Wired_Network

查找已有的内容并将其升级到您想要的方式。开源的荣耀。

如果是 NIDS,类似于 Snort,它是用 C 编写的。Snort 是一种数据包嗅探器,可以实时监控网络流量,仔细检查每个数据包以检测有效负载或可疑异常。 有二进制文件、配置文件、signature/rules 个文件。

然后您将进入打开套接字、高速读取数据包、数据包匹配算法与 signature/rules 文件的领域,然后进行标准输出或日志匹配。