远程部署入侵检测系统的研究与实践
1. 系统部署与运行机制
入侵检测系统(IDS)的远程部署主要分为两个关键步骤。首先,将相关的软件包部署到网关,然后把 IDS 作为后台服务在网关的操作系统管理下运行。执行“start service up”命令后,IDS 开始监听已配置的网卡,并捕获网络流量。接着,它会对连接到网关的物联网设备的流量进行分析和预测,最后将预测结果推送到服务器,以便管理员监控物联网设备的活动。
当系统正常运行时,可以通过运行带有相应模型名称的模型更新脚本,更新和重新配置服务器端的攻击检测模型。模型和配置会被推送到网关,使系统能够灵活变化和适应,操作员可以快速高效地为 IDS 部署和更新模型。这种系统有助于实现 IDS 部署的自动化和快速化,提高服务器管理员的工作效率,减少边缘网络节点在攻击检测过程中的时间和延迟。
以下是系统部署和模型更新的流程图:
graph LR
A[控制服务器] --> B[部署软件包到网关]
B --> C[IDS 作为后台服务运行]
C --> D[监听网卡并捕获流量]
D --> E[分析和预测流量]
E --> F[推送结果到服务器]
G[更新模型脚本] --> H[更新服务器端模型]
H --> I[推送模型和配置到网关]
2. 特征提取器
在整个系统中,原始数据转换至关重要,它有助于模型更高效地运行。所有物联网设备的数据包在进入云端之前,都会经过管理网关。Pcap4J 是一个用于捕获实时数据包、分析数据包并在边缘网络层跨网络发送数据包的工具。它运行在网络设备上,捕获原始数据,然后将这些数据通过 CICFlowmeter 进行处理。
CICFlowmeter 是一个网络流量分析工具,它可以将原始网络流量转换为具有 80 多个特征的结构化数据。这些特征是从捕获的数据中提取出来的,CICFlowmeter 可以根据要检测的攻击模式、上下文和类型选择合适的特征。经过 CICFlowmeter 分析后的数据会实时通过之前从控制服务器部署的攻击检测模型。这些事件流会经过训练好的机器学习和深度学习攻击检测模型,预测分析结果会被存储并发送回云端服务器,管理员可以根据预测标签和 CICFlowmeter 从原始数据中获取的信息做出适当的决策。由于 CICFlowmeter 能够提取必要的信息,IDS 的攻击检测能力得到了显著增强。
3. 评估环境
3.1 硬件环境
测试系统的硬件环境包括:
- LattePanda 网关设备:配备 2GB DDR3L RAM、4 个 CPU、Intel (R) Atom (TM) x5 - Z8350 CPU @ 1.44GHz 和 32GB 内存。
- 控制服务器:拥有 8 个 CPU、8GB DDR3 RAM、Intel (R) Core (TM) CPU @ 3.60GHz。
- 边缘网络测试节点:Raspberry Pi 4,配备 4GB LPDDR4 RAM、Cortex - A72 CPU 和 32GB 内存。
- 物联网设备:如智能手机(iPhone 7)、智能电视和笔记本电脑等。
- 云安全信息和事件管理(SIEM)服务器:具有 4G RAM 配置、4 个 CPU、Intel (R) Xeon (R) Gold 6140 CPU @ 2.30GHz。
3.2 软件环境
服务器端使用 Ubuntu 18.04 和 Python 3.6,在管理服务器上安装 Ansible 并构建系统部署脚本到网关。网关也安装了 Ubuntu 18.04 和 Python 3.6。在通过 Ansible 自动部署 IDS 的过程中,LattePanda 网关设备会执行以下操作:
1. 安装 Java OpenJDK 以运行 Pcap4J 和 CICFlowmeter。
2. 安装 python3 - pip 以安装攻击检测库包。
3. 安装 libpcap - dev 库包以捕获 Pcap4J 所需的网卡数据包。
4. 安装 NumPy、Sklearn、TensorFlow、Keras 等必要的包来进行攻击检测。
在 Raspberry Pi 4 节点上运行的模拟器使用开源的 Bonesi 进行 DDoS 攻击模拟,并安装 curl 来模拟正常请求。数据在网关分析后,结果会被推送到 SIEM 系统,以便接收日志并在管理界面查看日志。
4. 评估结果
4.1 资源利用率
-
首次部署资源使用
:从管理服务器首次部署系统到网关设备的总时间约为 278 秒,其中远程同步源时间为 102 秒,安装和更新所需软件包的时间为 168 秒,在网关创建 IDS 服务的时间为 5 秒,启动服务的时间约为 1.5 秒。部署过程中,系统源代码约占 37MB,部署过程使用的 RAM 接近 140MB,CPU 使用率约为 35%。
| 部署步骤 | 时间(秒) |
| ---- | ---- |
| 部署 IDS 源 | 102 |
| 安装所需软件包 | 168 |
| 系统转为服务 | 5 |
| 服务启动时间 | 1.5 |
| 总部署时间 | 278 |
| 资源类型 | 使用情况 |
|---|---|
| 可用硬件大小(MB) | 37 |
| RAM 使用率(MB) | 139.33 |
| CPU 使用率(%) | 35 |
-
IDS 运行资源使用 :系统成功部署后,IDS 服务在网关系统中启动,运行该服务使用的 RAM 资源约为 138MB,CPU 使用率约为 2%。
-
模型更新资源使用 :更新攻击检测模型到网关系统时,涉及六种模型,包括决策树、神经网络、集成决策树和朴素贝叶斯、集成模型、朴素贝叶斯和随机森林。不同模型的部署时间、更新时间、RAM 使用率和 CPU 使用率如下表所示:
| 模型 | 部署时间(秒) | 更新时间(秒) | RAM 使用率(MB) | CPU 使用率(%) |
| ---- | ---- | ---- | ---- | ---- |
| DecisionTree | 10 | 3.68 | 9.68 | 28.2 |
| NeuralNetwork | 12 | 3.67 | 9.95 | 34 |
| EnsembleDTandNB | 10.12 | 3.55 | 12 | 33.6 |
| Ensemble | 8.05 | 3.73 | 14 | 24.5 |
| NaiveBayes | 10.12 | 3.58 | 11.21 | 25.3 |
| RandomForest | 10.36 | 3.69 | 12.36 | 25.5 |
平均而言,更新一个攻击检测模型的时间为 10.11 秒,服务启动时间约为 3.65 秒,更新过程的资源使用平均约为 11.53MB,CPU 使用率约为 28.52%。需要注意的是,服务在更新过程中不会停机,更新时间是指在旧模型仍在运行时,将模型和配置从控制服务器部署到网关的时间,之后服务会重新启动并应用新模型。
当系统受到来自节点的 DoS 攻击时,不同模型的资源使用情况如下表所示:
| 模型 | RAM 使用率(MB) | CPU 使用率(%) |
| ---- | ---- | ---- |
| DecisionTree | 154.92 | 63.4 |
| NeuralNetwork | 131.02 | 66.1 |
| EnsembleDTandNB | 155.57 | 71.1 |
| Ensemble | 122.10 | 74.5 |
| NaiveBayes | 173.58 | 55.9 |
| RandomForest | 135.45 | 51.5 |
可以看出,受到攻击时,RAM 的平均资源使用约为 145.44MB,CPU 使用率约为 63.75%。
4.2 检测性能
模拟攻击请求和正常请求,在节点的网卡上收集数据,并在网关通过部署的模型进行分析,分析结果会推送到云端的监控服务器。模拟了 4000 个 CICFlowmeter 事件,其中 2000 个为 DDoS 攻击事件,2000 个为正常请求事件。使用准确率、精确率、召回率、F1 度量和分类一个事件为正常或异常的时间等指标来评估部署到系统的攻击检测模型的准确性。
| 模型 | 准确率 | 精确率 | 召回率 | F1 度量 |
|---|---|---|---|---|
| NeuralNetwork | 0.93 | 0.97 | 0.88 | 0.92 |
| DecisionTree | 0.88 | 0.99 | 0.77 | 0.87 |
| EnsembleDTandNB | 0.68 | 0.73 | 0.56 | 0.64 |
| Ensemble | 0.63 | 0.57 | 0.99 | 0.72 |
| NativeBayse | 0.63 | 0.57 | 0.99 | 0.72 |
| RandomForest | 0.99 | 0.99 | 1.00 | 0.99 |
| 模型 | 预测时间(ms) |
|---|---|
| NeuralNetwork | 4.80 |
| DecisionTree | 1.08 |
| EnsembleDTandNB | 4.08 |
| Ensemble | 161.27 |
| NativeBayse | 1.94 |
| RandomForest | 212.36 |
从这些表格可以看出,深度学习模型(如神经网络)在检测每个事件时具有较好的准确率和较短的时间,准确率为 0.93,精确率为 0.97,召回率为 0.88,F1 度量为 0.92,预测一个事件的时间约为 4.8 毫秒。随机森林模型具有更高的准确率,准确率、精确率、召回率和 F1 度量分别为 0.99、0.99、1.00 和 0.99,但预测一个事件的时间较长,约为 212.36 毫秒。决策树模型给出了相当不错的结果和快速的预测时间,准确率为 0.88,精确率为 0.99,召回率为 0.77,F1 度量为 0.8,预测一个事件的时间约为 1.08 毫秒。而 EnsembleDTandNB 和 Ensemble 模型的实验结果相对较低,预测时间也较长。朴素贝叶斯模型的性能与 Ensemble 模型相似,但预测时间有较大改善。
综上所述,从控制服务器在边缘设备上部署 IDS 所需时间合理,使用的 RAM 和 CPU 资源有限。机器学习和深度学习模型可以在边缘设备上良好运行,预测事件的时间相对较短,攻击检测准确率较高。模型可以从服务器快速更新到网关,服务可以在网关持续运行。
5. 总结与展望
这种基于雾计算的 IDS 架构能够更新攻击模型进行预测,在雾层而不是云计算层检测攻击。通过研究将基于脚本的自动化入侵检测系统部署到网关,在边缘层附近分析数据以减少延迟,并展示了如何在雾计算层的网关实现 IDS。该系统具有实时操作的特点,监听网关的无线网卡,提取特征,并通过模型实时对数据进行预测。
实验表明,该系统能够高效地部署 IDS、更新模型和进行预测,深度学习模型具有合理的分类率和高度准确性。该方案克服了将各种类型的攻击检测模型直接部署到低容量和低配置网关设备的难题,能够快速、准确地检测攻击,自动且快速地更改和更新新模型以检测新的攻击。
未来,将改进框架捕获事件的预测时间,以满足攻击检测系统的实时性能要求,同时提高模型的性能和准确性,并提出自动将模型部署到网关以检测多种不同类型攻击的解决方案。
远程部署入侵检测系统的研究与实践
6. 不同模型特点分析
在入侵检测系统中,不同的机器学习和深度学习模型有着各自独特的特点。通过前面的评估结果,我们可以深入分析这些模型在实际应用中的表现。
- 深度学习模型 - 神经网络(NeuralNetwork) :神经网络模型在检测性能上表现较为均衡,准确率达到了 0.93,精确率为 0.97,召回率为 0.88,F1 度量为 0.92。同时,它的预测时间相对较短,约为 4.8 毫秒。这表明神经网络模型能够在保证较高检测准确性的同时,快速地对事件进行预测。在实时性要求较高的场景中,神经网络模型是一个不错的选择。
- 决策树模型(DecisionTree) :决策树模型具有快速的预测时间,仅需 1.08 毫秒。虽然其准确率为 0.88,略低于神经网络和随机森林模型,但精确率达到了 0.99,这意味着它在判断为攻击事件时的准确性很高。决策树模型结构相对简单,易于理解和解释,适合对模型可解释性有较高要求的应用场景。
- 随机森林模型(RandomForest) :随机森林模型的准确率、精确率、召回率和 F1 度量都达到了非常高的水平,分别为 0.99、0.99、1.00 和 0.99。然而,它的预测时间较长,约为 212.36 毫秒。这说明随机森林模型在检测准确性上表现卓越,但由于其是基于多个决策树的集成模型,计算复杂度较高,导致预测时间较长。在对检测准确性要求极高,而对实时性要求相对较低的场景中,随机森林模型是首选。
- 集成模型(Ensemble)和集成决策树与朴素贝叶斯模型(EnsembleDTandNB) :这两个模型的检测性能相对较低,准确率分别为 0.63 和 0.68,且预测时间较长,Ensemble 模型的预测时间达到了 161.27 毫秒。这可能是由于集成模型在组合多个学习算法时,没有充分发挥各算法的优势,或者在特征选择和模型训练上存在不足。
- 朴素贝叶斯模型(NaiveBayes) :朴素贝叶斯模型的性能与 Ensemble 模型相似,但预测时间有较大改善,约为 1.94 毫秒。朴素贝叶斯模型基于概率理论,具有计算简单、速度快的特点,但由于其假设特征之间相互独立,在实际应用中可能会受到一定的限制。
7. 系统优势与挑战
7.1 系统优势
- 实时性强 :该系统能够实时监听网关的无线网卡,提取特征并通过模型对数据进行实时预测。这使得系统能够及时发现攻击行为,减少攻击造成的损失。
- 资源利用率高 :从控制服务器在边缘设备上部署 IDS 所需时间合理,使用的 RAM 和 CPU 资源有限。机器学习和深度学习模型可以在边缘设备上良好运行,这对于资源有限的网关设备来说非常重要。
- 模型更新快速 :模型可以从服务器快速更新到网关,服务可以在网关持续运行。这使得系统能够及时适应新的攻击模式,提高系统的安全性。
- 部署灵活 :该方案克服了将各种类型的攻击检测模型直接部署到低容量和低配置网关设备的难题,能够根据不同的应用场景选择合适的模型进行部署。
7.2 系统挑战
- 预测时间有待提高 :虽然部分模型的预测时间较短,但如随机森林模型等预测时间较长,无法满足一些对实时性要求极高的场景。未来需要改进框架捕获事件的预测时间,以满足攻击检测系统的实时性能要求。
- 模型性能和准确性提升 :尽管实验中深度学习模型具有较高的准确性,但仍有提升的空间。需要进一步优化模型的结构和训练方法,提高模型的性能和准确性。
- 多类型攻击检测 :目前的系统虽然能够检测多种类型的攻击,但在自动将模型部署到网关以检测更多不同类型攻击方面还需要进一步研究和改进。
8. 实际应用建议
根据不同模型的特点和系统的优势与挑战,在实际应用中可以采取以下建议:
- 实时性要求高的场景 :对于实时性要求较高的场景,如金融交易、工业控制系统等,可以优先选择神经网络模型或决策树模型。这些模型能够在保证一定检测准确性的同时,快速地对事件进行预测。
- 准确性要求高的场景 :对于对检测准确性要求极高的场景,如政府机构、军事领域等,可以选择随机森林模型。虽然其预测时间较长,但能够提供非常高的检测准确性。
- 资源有限的场景 :在资源有限的网关设备上,可以选择朴素贝叶斯模型。该模型计算简单,资源消耗少,同时预测时间也相对较短。
- 多类型攻击检测场景 :为了检测多种不同类型的攻击,可以采用集成多种模型的方法。例如,可以将神经网络模型和随机森林模型结合使用,充分发挥它们的优势。同时,不断更新和优化模型,以适应新的攻击模式。
9. 总结
入侵检测系统的远程部署是保障物联网安全的重要手段。基于雾计算的 IDS 架构通过在雾层检测攻击,减少了云计算层的压力,同时提高了系统的实时性和资源利用率。通过实验评估,我们发现不同的机器学习和深度学习模型在检测性能、预测时间和资源使用等方面存在差异。在实际应用中,需要根据具体的场景需求选择合适的模型,并不断优化系统的性能。
未来,随着物联网技术的不断发展,攻击手段也会日益复杂多样。因此,持续改进入侵检测系统的性能和功能至关重要。通过提高模型的预测时间、性能和准确性,以及实现自动将模型部署到网关以检测更多不同类型的攻击,我们可以更好地保障物联网系统的安全。
graph LR
A[实时性要求高场景] --> B[选择神经网络或决策树模型]
C[准确性要求高场景] --> D[选择随机森林模型]
E[资源有限场景] --> F[选择朴素贝叶斯模型]
G[多类型攻击检测场景] --> H[集成多种模型]
| 应用场景 | 推荐模型 | 原因 |
|---|---|---|
| 实时性要求高场景 | 神经网络、决策树 | 预测时间短,能保证一定准确性 |
| 准确性要求高场景 | 随机森林 | 检测准确性极高 |
| 资源有限场景 | 朴素贝叶斯 | 计算简单,资源消耗少 |
| 多类型攻击检测场景 | 集成多种模型 | 发挥各模型优势,适应不同攻击 |
通过以上的分析和建议,希望能够为入侵检测系统的实际应用提供一些参考,帮助用户更好地选择和部署适合自己需求的入侵检测系统。
超级会员免费看
2968

被折叠的 条评论
为什么被折叠?



