基于深度迁移学习的物联网入侵检测框架研究(一)入侵检测框架和数据准备

基于深度迁移学习的物联网入侵检测框架研究(一)入侵检测框架和数据准备

时间:2021-05-24 作者:安帝科技

摘要

近年以来,物联网(IoT)为人类生产生活带来了很多好处。但是受限于资源,物联网设备很容易受到对手进行的各种类型的网络攻击,随着攻击手段的多样化,如何实时、准确、高效的识别入侵行为,定位风险精度,在工业物联网环境中存在很大挑战。本文将论述安帝科技如何通过采用定制的深度学习技术,提出的一种新颖的入侵检测方法。本文使用了包括拒绝服务,分布式拒绝服务,数据收集和数据盗窃等等攻击。使用基于多层分类的嵌入层(用于对高维分类特征进行编码)的前馈神经网络模型结合迁移学习的概念应用于对高维分类特征进行编码,从而构建一个二元分类器实现入侵检测。通过对提出的方法进行评估,优化了入侵特征检出率,得出了很高的分类精度。

基于深度迁移学习的物联网入侵检测框架

在安全研究中,整体设计基于深度学习,分为4个步骤:数据收集、特征抽取、特征预处理、模型训练及测试\分类。示意图如下:

(基于深度迁移学习的物联网入侵检测框架图)
1.数据收集
第一次迭代是收集原始网络流量。使用由Koroniotis(BoT-IoT数据集)等人开发的可公开获得的数据集。利用数据集的原因有很多,包括部署实际的测试平台,生成模拟的IoT流量和实际的攻击流量以及插入标记的数据。
通过网络分析器工具(即tcpdump)以PCAP文件的格式收集了BoT-IoT数据集中的原始流量,并在收集流量时对其进行了标记,然后使用Argus工具生成了网络流量。处理后的流量存储在Argus文件中,并进一步转换为CSV文件。
2.特征抽取
第二次迭代是检索数据包级别的标签,并从原始网络流量中的这些数据包中提取相关字段,每个字段都对应于一个特征。在这项工作中采用的特征是基于来自各个数据包包头字段信息,而不是基于聚合数据包。测试中使用TShark工具从收集的344个PCAP文件中提取单个数据包的包头字段,将其标记为数据包,并将其存储在CSV文件中。然后,将架构统一到CSV文件中,将文件转换为单个ApacheParquet文件,并选择大约2%的已处理数据集。
测试步骤的细节:

特征描述:首先仅考虑IP数据包,并从PCAP文件中提取了总共29个数据包头字段。但是ARP数据包被排除在外,因为ARP用于将IP地址转换为MAC地址,与本次测试关注的攻击无关。

标签映射:测试中使用数据集中的标签分析了网络流,并将相同的标签映射到这些网络流中的各个数据包。由于不同子类别的攻击流量是在不同的时间间隔执行的,而正常流量则是后台生成的,这使得区分攻击更加容易。此外,还部署了四台攻击机来发起攻击,这使本文能够根据攻击机的IP地址区分正常流量和攻击流量。

数据集提取:我们选择了大约2%具有提取特征的处理数据集(数据包总数为11252406)。对于正常流量,我们从所有正常数据包中选择2%。对于每个子类别的攻击流量,我们选择100万个数据包作为阈值:如果数据包数量低于阈值,则选择所有数据包;否则,将随机选择一百万个数据包。

3.特征预处理
第三次迭代是通过删除和组合特征列以及对分类列特征编码来进行字段信息提取,以将其输入到深度神经网络模型中。测试中删除了五列,包括时间戳列(即frame.time_epoch)和包含源IP地址(即ip.src/ipv6.src)和目标IP地址(即ip.dst/ipv6.dst)的列。我们观察到四对TCP/UDP相关列中的值在每对中彼此不重叠(即tcp.len和udp.length;tcp.stream和udp.stream;tcp.srcport和udp.srcport;tcp。dstportandupd.dstport)。因此,将四对这些列组合在一起,并将它们命名为length,stream,src.port和dst.port。对于每个具有逗号分隔值的列(即ip.ttl,ip.id,ip.hdr_len和ip.len),生成了一个新列,将逗号分隔值分为两列,并使用NaN值填充空白行在新列中。
将所有特征列中确定了分类特征列。对于具有低维分类变量的列(即ip.proto,tcp.flags,ip.flags.df和http.response.code),应用onehot编码并删除了原始列;对于具有高维分类变量的列(即src.port,dst.port和http.request.method),将它们与其他列分离,并将在深度神经网络模型中用编码方式来计算端口和HTTP请求方法的表示。
4.模型训练及测试/分类
将预处理后的数据分为训练和测试集,分别用于训练次迭代和测试次迭代。
训练次迭代从训练集中获取处理后的数据,并将其馈入前馈神经网络模型。既考虑了二分类又考虑了多分类。通过采用具有嵌入层的前馈神经网络模型进行多分类,其中,除了正常流量类别外,一系列攻击类别还被视为单独的类别。然后,从嵌入层提取权重以对高维分类特征列进行编码,并构建第二个前馈神经网络模型以执行二分类。测试次迭代是评估指定测试集上的分类器。二分类器为测试集中的每个数据实例输出正常或攻击标签,而多分类器则输出类标签(即它所属的常规或特定攻击类)。

总结

本文论述了要实现基于深度迁移学习的物联网入侵检测框架的数据收集、特征抽取、特征预处理、模型训练及测试\分类的思路和过程。这是工业物联网入侵检测深度学习模型构建和验证的基础,后续,我们将会论述安帝科技是如何基于前馈神经网络(FNN)模型进行入侵检测效率和精确度的研究工作。
期待下一次与安帝科技探讨基于深度迁移学习的物联网入侵检测框架研究(二)学习模型、优化和实验验证。