0

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

4

1 回答 1

0

这将是 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 是一个数据包嗅探器,可以实时监控网络流量,仔细检查每个数据包以检测有效负载或可疑异常。有二进制文件、配置文件、签名/规则文件。

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

于 2019-05-14T08:25:07.843 回答