一如既往,今日收到邮件推送,一篇关于基于深度学习的IoT实时入侵检测系统的文章,但我认为其关键IDEA在于合成数据集。
https://www.sciencedirect.com/science/article/pii/S277266222200073X#b50
大概看了一下该文章,其核心IDEA:即利用Combined Dataset来设计IoT环境下基于深度学习的实时的IDS。
那么这个combined dataset ,1)由哪几个数据集合成的呢?2)又是通过何种方式合成的呢?3)为什么需要合成这个数据集?
-
1) 首先第一个问题,该数据集由哪几个数据集合成的呢?
目前IDS尤其是在进入IoT时代后,基于IoT环境下生成的数据集越来越多,那么该data set集合了这4个主流的数据集,BoT-IoT,ToN-IoT, CIC-IDS2018和UNSW-NB15,合成后成为了UQ-NIDS(NF代表Network Flow),合成前后的训练数据和测试数据如下表:
-
2)其次第二个问题,该数据集又是通过何种方式合成的呢?
数据集的合成一要考虑特征(Feature),二还要考虑标记(Class or label),考虑到不同的数据集的特征数量是不同的,那么完整的数据是无法直接合成的。
实际上从数据集的命名“NF”,就已经给出了答案,没错,即Network Flow!合成后的数据集只包含了Network Flow features,这样这四个数据就可以直接合成了,特征合成前后具体如下表:
对于标记(Class or label)的合成,原先每个数据集的attack class,或者称为subclass 也被合成为大的 attack class,这样特征和标记合并的机制有了,更综合的数据集也就到手了,标记合成前后具体如下表:
-
3)最后第三个问题,为何需要把数据集合成呢,单一的数据集代表性不足?
实际上近些年研究者一直在不断更新模拟环境,从而提升获取数据集的完整性,代表性和泛化能力。模拟环境当然需要不断优化,同时,直接整合现有数据集也不失为一种高效的办法。这也是这个IDEA应运而生的原因。
整合数据集来构造更有代表性的dataset当然不失为一种好办法,但是否被业界认可,还有待更多的研究者加入其中。
以上,合成数据谈完,再回到该文章。
该real-time系统实现的秘密,就是只用dataset里的network flow features,想必大家了解,原先子数据集为了体现数据的信息属性,以及可分类性,raw数据获取后还得通过类似Argos工具,来Extract很多统计特征的features,然后合并至原network flow features, 并逐一对instance其进行Label (抱歉,这里如果对专有名词不清楚,还需要自行补课),实际上这个步骤,也就是训练数据的获得,是非常耗时耗力的,当然无法谈real-time的实现了。
而仅仅只用network flow features的话,获取raw数据后,仅需做一个最基本的数据转化,比如将NF features提取出来保存为csv,再做基本的pre-processing即可送原来训练好的模型,对数据进行预测,对于real-time为目的来说,这种方法无疑会更高效,算法如下:
为了体现工作成果,该作者将自己的结果与原dataset合集作者的结果做了大概的比较如下,包含二分类和多分类的对比,不出所料,结果总是要更好一点才对嘛!
Binary Classification Comparison
Multi-classification Comparison
-
后记
实际上该数据合成的原创者并非该文章作者,Mohanad Sarhan (https://scholar.google.com.au/citations?view_op=view_citation&hl=en&user=U9Do8ukAAAAJ&citft=1&citft=2&citft=3&email_for_op=goldboy_225%40163.com&citation_for_view=U9Do8ukAAAAJ:YOwf2qJgpHMC)才是该dataset的发明者,网上查了一下,他在合成数据集的贡献甚至不仅有UQ-NIDS,还有更多,感兴趣的同学具体可以参考如下:
前台高效闪光的模型,背后是辛苦打磨的数据。数据是机器学习模型的衣食父母,也是咱们发文章原材料的必备品,值得感恩!
原创文章,作者:门童靖博士,如若转载,请注明出处:https://www.agent-universe.cn/2022/11/12658.html