WSN-DS:A Dataset for Intrusion Detection Systems in Wireless Sensor Networks

《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)的节点,将集群中传感器接收的数据聚合,转发给基站

    image-20210526130417586
  • 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.

        image-20210526130609299
      • 经过$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】
    image-20210527110230481
  • 本文的主要目的是为 WSN 设计一个专门的 Dos 数据集,以实现对拒绝服务攻击的更好的检测和分类

    • 知识发现和数据挖掘工具竞赛(KDD)数据集【33】是为局域网构建的,KDD 并不专门研究无线技术,尽管许多研究人员已经用它来处理欺诈和入侵检测【34】
    • KDDCup-99 用于【35】中的多个 IDS
    • 【36-38】同样使用了 KDD
    • 文献中没有关于 WSN 的专门数据集来检测和分类尽可能多的 Dos,迫切需要定义一个有标签、专门的数据集以表征 WSN,帮助研究正常和异常行为,本文提出了这种数据集的构造和测试方法

LEACH 的数学分析

  • 确保所构建的 WSN-DS 数据集正确性,对 LEACH 各阶段进行数学分析,与没有 Dos 的模拟结果进行比较

  • LEACH 模型中使用的术语如下:

    image-20210527112528483
  • 具体分析略

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参数:

    image-20210527134522988
  • 使用 WEKA 评估数据集

    • WEKA 是一个开源数据挖掘软件套件
    • 包括多个数据预处理、聚类、分类、回归、可视化的算法
    • 七个性能指标:
      • 混淆矩阵(四个,TPR,TNR,FPR,FNR)
      • 总体准确率(A)
      • 精密度(P)
      • 均方根误差(RMSE)——RMSE 越低,表示评估越准确。零表示没有错误
  • 训练 ANN 进行判别(输入 23 个属性的数据,输出攻击类型)

    • holdout,数据集分割如下

      image-20210527134906175
    • 10 折交叉验证:训练数据集分成 10 个相等的部分,9 个用于训练 1 个用于评估,重复10 次

  • MLP 网络的参数

    image-20210527135200674 * 一个隐藏层 11 个神经元 * 两个隐藏层(11+5) * 三个隐藏层(11+5+2)
  • 结果:

    image-20210527135425305
  • 更多结果以表格形式给出,但都是那种比较简单的三线表,如:

    • 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 不同层的攻击