《WSN-DS:A Dataset for Intrusion Detection Systems in Wireless Sensor Networks》阅读笔记
摘要
- 无线传感器网络(WSN)由于其广泛的应用,包括关键的军事和民用应用,已日益成为计算机科学中最热门的研究领域之一
- 为确保 WSN 服务的安全性和可靠性,应建立入侵检测系统,IDS 必须与无线传感器网络的特征兼容,能够检测尽可能多的安全威胁
- 本文研究了 WSN 中最流行的分层路由协议之一 LEACH 协议的使用
- 本文开发一个专门针对 WSN 的数据集,以更好地检测和分类四种类型的拒绝服务攻击:黑洞、灰洞、泛洪和调度攻击
- 本文定义了从 NS2 收集数据、处理以产生23个特征的一个方案,数据集称 WSN-DS
- ANN 在数据集上进行训练,检测和分类不同的拒绝服务攻击。该方法提高了入侵检测系统的分类准确率
- WEKA 工具箱
- holdout、10 折交叉验证两种方法一起使用
- 最佳方案为一个隐藏层 + 10 折交叉验证,对黑洞、泛洪、调度和灰洞攻击的分类准确率分别为92.8%、99.4%、92.2%、75.6%和99.8%。
介绍
- WSN 由于其广泛的实时应用,如关键军事监控、战场、建筑安全监控、森林火灾监控和医疗保健等,已经成为一个越来越重要的研究领域【1】
- WSN 由大量自治传感器节点组成,收集重要数据,协作地将收集到的数据无线传输到称为汇聚节点或基站(BS)的更强大节点【2,3】
- 问题
- WSN 资源有限(电池能量、内存、处理能力),传统的安全措施,如密码学,并不合适,但 WSN 的开放性和分布性以及传感器节点资源的有限性,它极易受到攻击
- WSN 中数据包广播必须频繁进行,传感器节点可以随机部署在环境中,因此攻击者很容易进行注入攻击【5】
- 攻击者可以危害传感器节点,窃听消息,注入虚假消息,改变数据的完整性,并浪费网络资源
- 拒绝服务攻击被认为是威胁 WSN 安全的最常见和最危险的攻击之一,主要目的是中断或暂停 WSN 提供的服务【6,7】
- 需要 IDS 检测已知和未知的攻击,向传感器节点发出警报
- 传感器节点通常很小很便宜,没有足够的硬件资源
- WSN 没有专门的数据集包含可用于检测攻击者的正常配置文件和攻击【3】
- 在为 WSN 设计 IDS 时,主要有两个条件:检测已知和未知攻击时必须具有高度的准确性、必须是轻量级
- 本文构建了一个专门的 WSN 数据集,用于描述四种类型的 Dos 攻击。使用低能量感知簇层次结构(LEACH) 【9】路由协议—— LEACH 是 WSN 最流行的分层路由协议之一,消耗的能量有限,具有简单的特点。构建的数据集称为 WSN 数据集
相关工作
LEACH 协议
LEACH 是一种 WSN 分层路由协议,延长网络的寿命【9–11】,是一种集群、自适应和自组织协议
LEACH 假设基站是固定的,并远离传感器节点,所有传感器节点都是同构的,具有有限的能量和内存,传感器可以相互通信,也可以直接与基站通信
主要思想是将节点组织成簇,在网络中的所有节点之间分配能量
每个集群中有一个名为“簇头”(Cluster Head,CH)的节点,将集群中传感器接收的数据聚合,转发给基站
LEACH 协议的每一轮主要包括两个阶段:建立阶段和稳态阶段
建立阶段形成集群
每个节点生成一个0-1的随机数,计算阈值$T(n)$,选定随机数小于阈值,则该节点变为$CH$(公式中$N$为前$1/p$轮中非$CH$节点数,$r$是当前轮次,$p$通常为$0.05$)
N: is the set of nodes that have not been a CH, in the last 1/p rounds, and r is the current round.
经过$1/p-1$轮,阈值为1,所有节点都不会成为$CH$;经过$1/p$轮,所有节点又能成为$CH$
为所有集群分配信道后,信道将用 CSMA-MAC 协议向其余节点广播,每个节点通过接收信号强度指示(RSSI)决定自己属于哪个簇,通过 CSMA-MAC 发送加入请求到对应信道
集群形成后,每个集群根据成员数目创建 TDMA 调度并广播给成员
稳态阶段数据传给接收节点【12】
- 每个传感器节点收集数据,根据时分多址调度在分配的时隙内将其传输到其信道
- 中心站接收所有的数据,在发送给基站之前进行汇总
- 预定时间后,网络再次返回建立和稳态阶段,开始另一轮【9】
基于 LEACH 的协议
- 【14,15】给出了 LEACH 的15 个改进版本
- 【16】评估了两种新的基于分簇的 WSN 协议,考虑了具有不同电池能量的三种节点
- 【17】介绍基于 LEACH 的 LEACH-ICE,调整被选作 CH 节点的阈值函数,当一个节点更靠近基站时,可以与基站直接通信。如果当前信道的驻留能量低于预定阈值时,LEACH-ICE 会在簇内选择一个新的信道
- 【18】提出一种适用于 WSN 的节能二级信道选择算法,通过控制中心点之间的距离,可以满足中心点的均匀分布,改进后的方法能够降低网络能耗,延长网络寿命
- 【19】提出一种分布式能量中性聚类(ENC)协议,将网络分成几个簇,目的是提供永久的网络运行。所提出的协议可以成功地防止传感器由于过度使用能量而关闭
WSN 中的 Dos 与 IDS
拒绝服务是一种常见的攻击,可能会对WSN的功能和服务产生严重影响【20】,例如黑洞攻击、灰洞攻击、洪泛攻击和虫洞
- 拒绝服务攻击的严重性源于这样一个事实——大多数 WSN 应用程序需要在恶劣的环境中部署传感器节点,这些环境距离遥远难以控制【20,21】
- 已经解决了一两种形式的攻击,但不是大多数【2,22-24】,提供了部分解决方案但不能同时应用,因为消耗能量太多,这是不实际的
一种方法是密码机制
- 通过对称加密、公钥加密、散列函数来确认数据包来源和内容,保证完整性和进行认证【25】
- 不能用于检测内部攻击——此时密钥暴露
- 这些技术是第一道防线【5】
- 攻击者通常试图使用新的和未知的攻击,因此有必要建立有效的 IDS 作为第二道防线
NIST【27】将入侵检测分为两种主要方法:异常检测和误用检测
- 异常检测中,系统依赖于网络正常行为的先验知识,将其与当前活动进行比较
- 误用检测中,系统依赖于攻击特征的先验知识,将签名与网络中当前的活动进行比较
在 WSN 中实施 IDS 有许多挑战,可能会对WSN的性能产生负面影响【28】
- 传感器节点的资源受限,在每个传感器节点中使用 IDS 是低效的,IDS 应该安装在对网络的某些威胁不敏感的地方
- IDS 用于传输大量流量的 IDS,因此由于传感器节点在处理网络中的大量数据时通常会受到限制,因此有可能错过入侵检测
IDS 有两个主要组成部分,特征提取和建模算法
- 特征提取定义与 IDS 功能相关联的测量属性
- 建模算法是主要组成部分,用于检测和相应
大多数智能决策支持系统有六个共同的组成部分
- 监控组件:本地活动监控或监控邻居传感器节点,主要监控内部活动、流量模式和资源利用率
- 分析组件:包含网络中所有节点正常和异常行为的所有记录【30】
- 检测组件:在分析网络行为后起作用
- 其他三个组成部分包括一些操作
- 日志:每个数据包存储在一个日志文件中,以便安全管理员以后进行分析
- 报警:检测到入侵时的响应生成,宣布行为不良节点
- 预防:添加到 IDS 的一个高级步骤,使其检测到攻击后采取措施来防止下一步攻击——例如从网络中排除有害节点【30】
本文的主要目的是为 WSN 设计一个专门的 Dos 数据集,以实现对拒绝服务攻击的更好的检测和分类
- 知识发现和数据挖掘工具竞赛(KDD)数据集【33】是为局域网构建的,KDD 并不专门研究无线技术,尽管许多研究人员已经用它来处理欺诈和入侵检测【34】
- KDDCup-99 用于【35】中的多个 IDS
- 【36-38】同样使用了 KDD
- 文献中没有关于 WSN 的专门数据集来检测和分类尽可能多的 Dos,迫切需要定义一个有标签、专门的数据集以表征 WSN,帮助研究正常和异常行为,本文提出了这种数据集的构造和测试方法
LEACH 的数学分析
确保所构建的 WSN-DS 数据集正确性,对 LEACH 各阶段进行数学分析,与没有 Dos 的模拟结果进行比较
LEACH 模型中使用的术语如下:
具体分析略
WSN-DS 描述和创建
- 为了在传感器节点之间分配负载,每个传感器将参与监控过程,并且应该能够监控其邻居的集合
- 如何找到传感器节点要监视的合适数量的节点,以便监控所有网络传感器——实验表明监视 3 个相邻节点不足以获得关于所有网络传感器节点的信息,而监视 5 个邻居节点足以获得关于网络中所有节点的信息,并且不需要通过进一步增加计算复杂度
- 经过对 LEACH 协议的研究,提取了 23 个属性识别每个节点的状态
- Node ID:节点 ID
- Time:节点的当前模拟时间
- Is CH:flag 标识
- Who CH:当前轮次的 CH 节点
- RSSI:节点与 CH 之间接收信号强度指示
- Distance to CH:当前轮次节点和其 CH 距离
- Max distance to CH:簇中 CH 和节点最大距离
- Average distance to CH:簇中节点到 CH 的平均距离
- Current energy:节点当前能量
- Energy consumption:上一轮消耗的能量
- ADV CH send:发送到节点的广播消息数量
- ADV CH receives:从 CHs 收到的广播 CH 消息数
- Join REQ send: 节点发送到通道的加入请求消息的数量
- Join REQ receive:通道从节点接收的加入请求消息的数目
- ADV SCH send:发送到节点的时分多址调度广播消息的数量
- ADV SCH receives:从 CHs 接收的时分多址调度消息数
- Rank:该节点在时分多址调度中的顺序
- Data sent:传感器发送到其通道的数据包数量
- Data received:从 CH 接收的数据包数量
- Data sent to BS:发送给基站的数据包数量
- Distance CH to BS:CH 和 BS 之间的距离
- Send Code:集群发送代码
- Attack Type:攻击类型
攻击模型
- 为了确保攻击者节点的正确分布,网络地形被划分为10个区域。攻击者的比例在这些区域内随机分布
黑洞攻击
- 攻击者通过广播消息,称自己为一个 CH 节点来影响 LEACH 协议
- 加入该信道的任意一个节点将向伪 CH 节点发送数据包,以转发到基站,但攻击者将丢弃这些数据包
- 为了在模拟环境中实施这种攻击,随机注入了几个攻击者的强度(10%、30% 和 50%)来执行黑洞攻击——攻击者作为 CH 将丢弃所有通过他们中继到基站的数据包
灰洞攻击
- 攻击者将自己广播为 CH 节点
- 当伪造的信道从其他节点接收数据包时,随机或选择性地丢弃一些数据包【40–42】
- 随机注入 10%,30%,50% 的传感器节点
泛洪攻击
- 发送大量高传输功率的广播 CH 消息来研究洪泛攻击的影响
- 当传感器接收到大量 ADV-CH 信息时,将消耗传感器的能量并浪费更多的时间来确定加入哪个频道
- 攻击者试图欺骗受害者选择它作为 CH 节点,特别是那些位于离它很远的节点,以消耗他们的能量【40,43】
- 在一些实验中,攻击者发送了 10 条 ADV-CH 信息;其他情况发送 10 到 50 条 ADV-CH 信息
调度攻击
- 调度攻击发生在数据传输时隙的时分多址调度上
- 充当 CH 的攻击者为所有节点分配相同的时隙来发送数据,导致数据包冲突,从而导致数据丢失
实验和结果
LEACH 协议被用来收集数据集,因为它是 WSN 中最常见和最广泛使用的路由协议之一
WSN-DS 包含 374661 条记录
NS-2参数:
使用 WEKA 评估数据集
- WEKA 是一个开源数据挖掘软件套件
- 包括多个数据预处理、聚类、分类、回归、可视化的算法
- 七个性能指标:
- 混淆矩阵(四个,TPR,TNR,FPR,FNR)
- 总体准确率(A)
- 精密度(P)
- 均方根误差(RMSE)——RMSE 越低,表示评估越准确。零表示没有错误
训练 ANN 进行判别(输入 23 个属性的数据,输出攻击类型)
holdout,数据集分割如下
10 折交叉验证:训练数据集分成 10 个相等的部分,9 个用于训练 1 个用于评估,重复10 次
MLP 网络的参数
* 一个隐藏层 11 个神经元 * 两个隐藏层(11+5) * 三个隐藏层(11+5+2)结果:
更多结果以表格形式给出,但都是那种比较简单的三线表,如:
- holdout + 一个隐藏层 + 不同类别对应的混淆矩阵
- holdout + 一个隐藏层 + 各个指标数据
- holdout + 两个隐藏层 + 各个指标数据
- holdout + 三个隐藏层 + 各个指标数据
- 交叉验证 + 一个隐藏层 + 各个指标数据
- ….
最佳的分类攻击的方法是:交叉验证+一个隐藏层
总结
- 设计一种智能入侵检测和防御机制,以合理的代价有效地限制 Dos 攻击
- 为 WSN 构建了一个专门的数据集,用于对四种类型的 Dos 攻击分类
- 本文对创建的数据集进行了数学验证,以确保其正确性
- 利用 WEKA 工具箱建立了 MLP 模型,使用两种方法对攻击进行分类:holdout 和 10 折交叉验证,使用一个、两个和三个隐藏层。一个隐藏层时,攻击的分类准确率为 92.8%、99.4%、92.2%、75.6% 和99.8%
- 这项工作可以扩展到包括数据链路层的其他类型的 DoS 攻击,如虫洞或 Sybil
- 可以考虑对 LEACH 以外的协议和 WSN 不同层的攻击