首页> 中国专利> 无线Mesh网络的主动式入侵检测系统和方法

无线Mesh网络的主动式入侵检测系统和方法

摘要

本发明公开了一种无线Mesh网络的主动式入侵检测系统和方法,主要解决无线Mesh网络中入侵检测系统面临的资源受限和难以中心化的问题。系统只需部署在网络中一个可移动节点上,系统包括数据采集、主动检测和响应模块,其主动检测模块的探测包发送子模块向目标节点主动发送探测信息,系统具有主动检测和可移动性。检测方法主要包括:扫描邻居节点;选择目标节点;选择探测过程;数据包采集;状态分析判定;状态结果响应;循环检测;系统一直处于运行状态,检测过程带有隐蔽性。本发明为无线Mesh网络的入侵检测提供了切实可行的手段,本发明缓和了分布式和基于单一节点的检测系统的限制;明显提高了检测灵活性和针对性,检测效率高。

著录项

  • 公开/公告号CN104918254A

    专利类型发明专利

  • 公开/公告日2015-09-16

    原文格式PDF

  • 申请/专利权人 西安电子科技大学;

    申请/专利号CN201510319871.4

  • 申请日2015-06-11

  • 分类号H04W12/12(20090101);H04W84/18(20090101);H04L29/06(20060101);

  • 代理机构61205 陕西电子工业专利中心;

  • 代理人程晓霞;王品华

  • 地址 710071 陕西省西安市太白南路2号

  • 入库时间 2023-12-18 11:00:03

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-11-16

    授权

    授权

  • 2015-10-14

    实质审查的生效 IPC(主分类):H04W12/12 申请日:20150611

    实质审查的生效

  • 2015-09-16

    公开

    公开

说明书

技术领域

本发明属于无线网络数据安全技术领域,主要涉及可移动入侵检测,具体是无线 Mesh网络的主动式入侵检测系统和方法,可应用在无线Mesh网络的安全管理和入侵 检测中。

背景技术

无线Mesh网络作为一种新兴的无线接入技术,它能够有效地克服现有无线网络 技术覆盖范围小、部署成本高、灵活性差的问题。无线Mesh网络是在移动Ad hoc 网络和无线局域网的基础上产生和发展起来的,因此,无线Mesh网络不仅能具备以 上两种网络的一些属性,而且其自身还有着非常多的优势,比如宽带容量大、传输速 率高、覆盖范围广、组网灵活,移动性好等特性。正是由于Mesh网络在拓扑方式, 接入方式,通信方式上的各种优势,无线Mesh网络已经受到国际学术界和工业界的 广泛关注。

然而,尽管无线Mesh网络有着上述诸多优势,但是它也有着潜在的威胁:在无 线Mesh网络中,每个节点都应该相互合作,要求每个节点接收从上一跳邻居节点发 来的数据包并转发给下一跳的邻居节点。由于其网格化的网络拓扑结构和多跳的传输 方式,很难有中心化的监视节点或者管理单元存在,来在一个开放式的Mesh网络中 对数据包的转发进行监督。另外,按照网络节点之间约定的规则,一旦有数据包被节 点发送出去,它的邻居节点就有责任来把该数据包转发给它的目的节点,这种节点间 约定好的协作方式给了恶意节点进行大范围攻击的机会,而且,节点信息的可靠性、 机密性、完整性也不能得到很好的保障。

另外,无线Mesh网络使用的HWMP路由协议是按需路由协议AODV的改进型 协议,从本质上来讲还是一种按需路由协议,而按需路由协议存在以下两方面安全弱 点:无法甄别路由请求的合理性;无法验证路由回复的真实性。因此,网络中的恶意 节点会通过修改路由管理帧或者答复虚假的路由请求帧,来达到某些目的,例如形成 黑洞节点等。

目前抵御网络安全攻击的传统手段大致可以分为三类:密码学加密方式,安全网 络协议,安全监督和响应系统。而具体针对无线Mesh网络所面临的安全问题,一种 解决方法是从网络设计阶段做起,在设计无线Mesh网络的安全模块时,将传统无线 网络安全的研究成果与无线Mesh网络自身特定的安全需求和网络特点结合起来考 虑,但是在无线Mesh网络设计时并未按照此方法进行,导致在目前已经成型的无线 Mesh网络模型中加入有效的安全模块相当困难,而且要付出很高的代价。另一种解 决方法,就是在网络中心部署检测系统或检测节点对网络的安全状态进行实时监测和 报告,但是由于无线Mesh网络的动态拓扑特性,网络的拓扑时刻可能发生变化,网 络中不存在能够长期处于网络中心的节点,因此在单一固定节点上部署的入侵检测系 统并不能对网络中所节点进行全面检测,因而检测效率和检测精度都很低,很难建立 起中心化的检测系统来适应无线Mesh网络不断变化着的网络拓扑。还有一种解决方 法,是给网络中的所有节点都部署上入侵检测系统,形成一个分布式的入侵检测系统, 但是由于要在每个节点上都部署入侵检测系统,毫无疑问给每个节点都增加了额外的 运行负担,而且节点间对入侵检测信息的共享也给整个网络带来了很大的带宽消耗。

目前就现有的入侵检测技术为言,申请人在有限的范围内并没有检索到可以实现 移动性检测的入侵检测系统,同时也没有利用主动探测的方式对目标节点进行安全状 态检测的入侵检测系统。

发明内容

本发明针对当前就无线Mesh网络入侵检测技术的上述不足,公开了一种能够实 现可移动检测,且能够主动检测并带有隐蔽性的无线Mesh网络的主动式入侵检测系 统和方法。

本发明通过以下技术方案实现:

本发明是一种无线Mesh网络的主动式入侵检测系统,系统包括有数据采集模块, 中间模块和系统响应模块,数据采集模块从网络中获取检测数据,经过中间模块处理, 然后系统响应模块作出结果响应,本发明的中间模块为主动检测模块,主动检测模块 向网络中的目标节点主动发送探测信息,形成主动探测。本发明的入侵检测系统整体 只需部署在无线Mesh网络中一个可移动节点上,就能够完成对整个无线Mesh网络 入侵的主动检测,该节点称为系统的宿主节点,因为宿主节点具有可移动性,因而形 成了本发明的移动检测。根据实际检测需要,将该宿主节点设置成周期性移动或者人 为干预的随机移动节点,移动地随机检测目标节点,形成了扩展性应用。本发明的数 据采集模块和主动检测模块均通过混杂模式的网卡接口与网络连接,主动检测模块包 括有四个子模块,分别是:检测规则子模块、目标节点选择子模块、探测包发送子模 块、状态分析预测子模块。

检测规则子模块中,每一个检测规则对应一个检测过程,目标节点选择子模块向 数据采集数据模块和探测包发送子模块发送目标节点信息,探测包发送子模块接收目 标节点选择子模块提供的目标节点信息,还接收检测规则子模块发送的具体检测规 则,生成主动探测数据包,通过网络发送给数据采集模块,数据采集模块依据接收到 的目标节点信息捕获进出目标节点的数据包,并向主动检测模块的状态分析预测子模 块提供捕获到的数据包,状态分析预测子模块接收数据采集模块提供的捕获到的数据 包和探测包发送子模块直接提供的主动探测数据包对捕获到的数据包和主动探测数 据包进行解析和分析计算,通过对分析结果的统计预测目标节点的当前状态,获得对 目标节点的检测结果,将分析预测所生成的检测结果发送给系统响应模块,将检测结 果进行记录并实时显示在系统终端上。

本发明的系统整体只需被部署在无线Mesh网络中的一个可移动的节点上,该节 点称为检测系统的宿主节点,而不需要被部署在网络中的每一个节点上。宿主节点是 无线Mesh网络中的一个值得信赖的节点,节点的作用是对整个无线Mesh网络中各 个节点的安全状态进行实时监测和报告,该节点没有过多的资源限制,从而解决在分 布式无线Mesh网络中难以进行集中检测和资源受限的问题。

本发明的实现还在于,检测规则子模块中的每一种检测规则包括有主动探测数据 包结构和检测指令组,针对每一种具体检测过程,均需要对主动探测数据包结构和检 测指令组进行自主定义。主动探测数据包结构自定义是指:以XML文件的形式定义 主动检测过程中需要用到的协议集以及协议集中要用到的具体协议,具体协议的数据 包结构包括预先填充类字段和随机选择类字段,其中,以字段默认的二进制或十六进 制数据形式给出的字段称为预先填充类字段,以函数形式给出的字段称为随机选择类 字段,然后利用一个或多个具体协议对应的数据包结构组合成主动探测数据包的结 构。

本发明通过上述自定义方式,在主动探测数据包的生成过程中加入了对数据包的 伪装操作,实际是以随机选择类字段作为伪装操作,可以使在主动检测过程中目标节 点把主动探测数据包当作正常的用于网络通信的数据包接收和处理,对检测系统起到 了很好的保护和隐蔽作用,使得目标节点不容易觉察到检测系统的存在,减少了网络 中的恶意节点在知道了检测系统存在之后,对检测系统实施反检测等操作来躲避检测 系统的可能性。

本发明的实现还在于,检测指令组的自定义是指:根据每种检测的具体步骤需要, 从startmonitor,send,send_sequence,wait,stopmonitor,dotest六个基本检测指令中 一次或多次地选择每一种检测所需的指令,按照检测的执行顺序组成相应的指令组, 实现检测指令组的自定义。

通过对检测指令组的自定义,对有限的检测指令按每种实际检测的要求进行组 合,按照检测指令不同的执行顺序和重复执行次数,完成特定的检测过程,因此本发 明的检测种类具有多样性。

本发明还是一种无线Mesh网络的主动式入侵检测方法,是基于上述的无线Mesh 网络的主动式入侵检测系统的,其检测过程包括有以下步骤:

(1)、无线Mesh网络的主动式入侵检测系统的宿主节点对邻居节点进行扫描和 筛选,获得邻居节点列表;

(2)、系统的主动检测模块的节点选择子模块从邻居节点列表中选择将要检测的 目标节点,将该目标节点提供给主动检测模块中的探测包发送子模块和数据采集模 块;

(3)、选择探测过程,生成主动探测数据包,在生成过程中完成数据包伪装操作, 将数据包发送至网络中,其中包括有,

(3.1)、探测包发送子模块从预先定义的检测规则中选择一个检测过程,作为子 检测,若选择结果不为空值,则获取该检测过程对应的具体检测规则,探测包发送子 模块利用目标节点信息和系统预先定义的具体检测规则,结合预先定义的检测所需的 主动探测数据包结构,对主动探测数据包进行伪装操作,生成该检测所需的主动探测 数据包,发送主动探测数据包到网络中,并且向状态分析预测子模块提供该主动探测 包的备份,跳转至步骤(4);

(3.2)、若选择结果为空值,则目标节点各状态中belief最大值对应的节点状态 被当作对目标节点检测的最终检测结果,提供给系统响应模块,跳转至步骤(6);

(4)、数据采集模块从无线Mesh网络中捕获进出目标节点的网络数据包,提供 给主动检测模块的状态分析预测子模块;

(5)、状态分析预测子模块解析捕获到的网络数据包和主动探测探测数据包,对 目标节点的行为进行分析统计,利用目标节点对数据包的转发数量、本次探测状态相 对应的条件概率矩阵、外部证据矩阵,计算并更新节点每个状态对应的belief值,确 定最大的belief值,该belief值对应的节点状态将被作为在本轮子检测的检测结果, 若该belief值大于0.8,则对目标节点的本次检测完成,本轮子检测的探测结果被作 为对目标节点检测的最终检测结果,提供给系统响应模块,跳转至步骤(6);否则, 本轮子检测完成,跳转至步骤(3)重新选择检测过程进行下一轮的子检测;

(6)、系统响应模块把对目标节点的最终检测结果记录在系统日志中,并在系统 屏幕上进行实时显示,完成对一个目标节点的检测;

(7)、根据宿主节点移动性的设置,判断是否对宿主节点进行移动,若需要移动 宿主节点对网络的其它区域中的节点进行安全状态检测,则跳转至步骤(8),将检测 系统宿主节点移动到网络中新的区域;否则,检测系统继续对当前所在区域内的节点 进行检测,跳转至步骤(2)重新选择本区域内的下一个目标节点继续执行;

(8)、将检测系统的宿主节点移动到网络中新的区域,跳转至步骤(1)重新开 始对新区域中的节点进行检测,系统始终处于不间断的工作状态,随时监视和检测整 个网络中可能存在的入侵状况。

实现本发明的技术思想是:在无线Mesh网络中依次选择目标节点进行主动探测, 在检测过程中监听和捕获进出目标节点的网络数据包,通过目标节点对数据包的处理 行为对目标节点的安全状态进行分析和预测,进而判定目标节点的当前所处的安全状 态,然后再作出实时的结果反馈,对无线Mesh网络的安全状态进行监督和报告,从 而确保网络的健壮和通信的安全。

本发明的实现还在于步骤(3.1)中,所述的对主动探测数据包进行伪装操作具 体是,

(3.1a)、对主动探测数据包中除MAC地址字段、IP地址字段、端口号字段、 Mesh序列号字段、TTL值字段这五类之外的所有字段使用默认的数据值进行填充;

(3.1b)、对主动探测数据包中MAC地址字段、IP地址字段、端口号字段、Mesh 序列号字段、TTL值字段这五类字段要填充的数据进行随机选择,完成字段填充,实 现对主动探测数据包进行伪装操作,伪装后的主动探测数据包在结构和格式上与正常 的数据包相同,但不是真正用于正常网络通信的数据包,而是以主动探测为目的的伪 装包;经过探测包发送子模块伪装处理过的数据包与无线Mesh网络中正常的数据包 一样被目标节点接收和处理,而不会意识到检测系统的存在。

本发明的实现还在于,步骤(5)中,对节点状态belief值的计算和更新并得到 检测结果的过程具体是指:

(5.1)、状态分析预测模块解析主动探测数据包和捕获到的数据包,分析种数据 包中的MAC地址字段,统计目标节点对主动探测数据包的转发情况,得出true或false 结果;

(5.2)、根据true和false值从条件概率矩阵(CPM)中读出相应的CPM行,作 为第一个计算参数,对目标节点每个状态对应的belief值进行第一次更新,其中条件 概率矩阵(CPM)是一个基于经验的概率序列,作为参数供belief值更新时使用;

(5.3)、然后对目标节点的所有状态对应的belief值进行求和,求出每个belief 值所占的权重,将每个belief值更新为自身在所有belief值中的权重;

(5.4)、最后在更新后的belief值中获得最大的belief值,将该belief值对应的状 态作为本次子检测对目标节点安全状态的检测结果。

与现有技术相比,本发明具有如下优势:

1.所述的检测系统整体只需要被部署在无线Mesh网络中的一个可移动的节点上, 移动地随机检测目标节点,不需要在无线Mesh网络中的每个节点上都部署入侵检测 系统;检测系统的宿主节点可以在网络中按照检测需要进行移动,来选择无线Mesh 网络中不同区域的节点进行检测,有效地扩大了检测节点的检测范围;

2.所述的检测系统采用了主动检测的方式,检测系统可以很自由的选择有效检测 范围内的目标节点对节点安全状态发起主动检测,有效地提升了检测的灵活性和针对 性。

3.所述的检测系统在主动探测数据包的生成过程中对生成的主动探测数据包进行 了伪装操作,生成的主动探测数据包在结构和格式上与正常的数据包相同,但不是真 实的数据包,而是以主动探测为目的的伪装数据包,经过伪装处理过的数据包可以和 无线Mesh网络中正常的数据包一样被目标节点接收和处理,而不会意识到检测系统 的存在,因此所述的检测系统具有良好的隐蔽性。

附图说明

图1:本发明的系统整体模块示意图;

图2:本发明的入侵检测流程图;

图3:本发明的系统初始化流程图;

图4:本发明入侵检测中的主动检测流程图;

图5:本发明的探测选择流程图;

图6:本发明的节点状态belief值更新流程图。

具体实施方式

下面将对本发明的具体实施例做出详细的说明,本实施例在以本发明技术方案为 前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不 限于下述的实施例。

无线Mesh网络是采用无线链路的方式来发送和接收信号的,网络中节点间的通 信暴露在开放的环境里,时刻处于被窃听的危险中。而且节点可任意移动,使得敌我 双方不存在明确的边界,增加了防范的难度。相比传统的有线网络,无线Mesh网络 面临的攻击手段更加多元化,注入攻击、路由破坏攻击、重放攻击、自私节点和贪婪 攻击等。因此无线Mesh网络进一步推广使用的前提是其安全性必须得以保证。目前, 针对安全的研究主要集中在密钥管理、身份认证、安全路由和入侵检测等技术上。

本发明所涉及的技术也属于无线Mesh网络安全这一个大的领域,具体是一种入 侵检测技术。本发明通过采用具有可移动性的主动检测方式,对无线Mesh网络中的 节点进行集中检测,避免了在无线Mesh网络中的每个节点上都部署入侵检测系统从 而给网络带来更多负担的问题,有效地扩大了检测系统的覆盖范围;另外,检测系统 又采用了主动检测的方式,检测系统可以自主的选择所在网络区域内的节点进行安全 检测,具有更高的灵活性,也使检测具有更好的针对性。

实施例1

本发明是一种无线Mesh网络的主动式入侵检测系统,系统包括有数据采集模块, 中间模块和系统响应模块,数据采集模块从无线Mesh网络中获取检测数据,无线 Mesh网络在以下的说明中简称为网络。通常的入侵检测系统经过中间模块处理,然 后系统响应模块作出结果响应,参见附图1,本发明的中间模块为主动检测模块,主 动检测模块向网络中的目标节点主动发送探测信息,形成主动检测。本发明的入侵检 测系统整体只需部署在无线Mesh网络中一个可移动节点上,就能够完成对整个无线 Mesh网络入侵的主动检测,该节点称为系统的宿主节点,因为宿主节点具有可移动 性,因而形成了本发明的移动检测。根据实际检测需要,将该宿主节点设置成周期性 移动或者人为干预的随机移动节点,移动地随机检测目标节点。

也可以在网络中部署多个这样的检测节点,分管网络中的不同区域,进行独立检 测或相互合作,组成分布式的检测,形成了扩展性应用。

本发明的数据采集模块和主动检测模块均通过混杂模式的网卡接口与网络连接, 对于数据采集模块而言,使用混杂模式的网网卡接口可以捕获到所在无线Mesh网络 中的所有数据包。本发明的主动检测模块包括有四个子模块,分别是:检测规则子模 块、目标节点选择子模块、探测包发送子模块、状态分析预测子模块,参见图1。

其中,检测规则子模块中,每一个检测规则对应一个检测过程,目标节点选择子 模块向数据采集数据模块和探测包发送子模块发送目标节点信息,探测包发送子模块 接收目标节点选择子模块提供的目标节点信息,还接收检测规则子模块发送的具体检 测规则,用接收到的目标节点信息和具体检测规则共同生成主动探测数据包,通过网 络发送给数据采集模块,数据采集模块依据接收到的目标节点信息捕获进出目标节点 的数据包,并向主动检测模块的状态分析预测子模块提供捕获到的数据包。状态分析 预测子模块接收数据采集模块提供的捕获到的数据包和探测包发送子模块直接提供 的主动探测数据包,对捕获到的数据包和主动探测数据包进行解析和分析计算,通过 对分析结果的统计预测目标节点的当前状态,获得对目标节点的检测结果,将分析预 测所生成的检测结果发送给系统响应模块,系统响应模块将检测结果进行记录并实时 显示在系统终端上。

本发明所述的检测系统具有可移动性,可以很好的对所在的无线Mesh网络进行 覆盖,通过在检测过程中移动检测系统的宿主节点在无线Mesh网络中的位置,对网 络中不同区域内节点的安全状态进行检测;另外,检测系统的检测还具有主动性,系 统可以自主的选择有效检测范围内的节点主动发起安全状态检测,明显的提高了检测 系统的灵活性和针对性。

实施例2

无线Mesh网络的主动式入侵检测系统的构成和工作同实施例1,其中检测规则 子模块中的每一种检测规则均包括有主动探测数据包结构和检测指令组,针对每一种 具体检测过程,均需要对主动探测数据包结构和检测指令组进行自主定义。

主动探测数据包结构自定义是指:以XML文件的形式定义主动检测过程中需要 用到的协议集以及协议集中要用到的具体协议,具体协议的数据包结构包括预先填充 类字段和随机选择类字段,其中,以字段默认的二进制或十六进制数据形式给出的字 段称为预先填充类字段,以函数形式给出的字段称为随机选择类字段。利用一个或多 个具体协议对应的数据包结构组合成主动探测数据包的结构。本例中利用了一个具体 协议对应的数据包结构构成主动探测数据数据包结构,一种在检测规则中定义好的主 动检测数据包结构只能进行一种具体检测。

检测指令组的自定义是指:根据每种检测的具体步骤需要,从startmonitor,send, send_sequence,wait,stopmonitor,dotest六个基本检测指令中一次或多次地选择所需 指令,按照检测的执行顺序组成相应的指令组,实现检测指令组的自定义。这六个基 本指令中的每个都有可能被选择一次或选择多次,来组成相应的指令组,针对具体的 检测过程,每个基本指令被选择的次数会有相应的改变。本例中给出一个检测指令组: (startmonitor,send,wait,stopmonitor,dotest),该检测指令组即可完成一种检测。 若再给出一个指令组(startmonitor,send,wait,send_sequence,wait,stopmonitor, dotest),即可完成另一种检测。检测指令的具体选择和具体的检测过程相关,根据每 个检测指令的不同选择次数,可以完成很多种具体的检测。

本发明通过对主动探测数据包结构和检测指令组进行自定义的方式,在主动探 测数据包的生成过程中加入了对数据包的伪装操作,可以使目标节点把主动探测数据 包当作用于网络正常通信的数据包接收和处理,对检测系统起到了很好的保护和隐蔽 作用,使得目标节点不容易觉察到检测系统的存在,减少了网络中的恶意节点在知道 了检测系统存在之后,对检测系统实施反检测等操作来躲避检测系统的可能性。

实施例3

无线Mesh网络的主动式入侵检测系统的构成和工作同实施例1-2,本例中给出一 个具体的协议集dot11s,用来说明本发明检测规则中主动探测数据包结构的自定义和 对主动探测数据包的伪装过程,该协议集包括两个具体协议及协议的数据包结构,分 别为dot11sdata和dot11spreq,具体内容如下所示:

其中以二进制或十六进制数据作为默认值填写完毕的字段即是权利要求中所述 的预先填充类字段,以函数形式进行填写的字段即是权利要求中所述的随机选择类字 段;利用随机选择类字段对检测系统发出的主动探测数据包进行伪装,达到隐藏检测 节点的目的。

实施例4

无线Mesh网络的主动式入侵检测系统的构成和工作同实施例1-3,本例中给出一 个具体的检测规则droppingofpackets,检测中包括两个主动探测数据包结构: prevPREQ和testsend;包括7个检测检测指令:startmonitor,send,wait,send,wait, stopmonitor,dotest,具体内容如下所示:

本例中给出的检测规则中给出的两个主动探测数据包,第一个使用了一个具 体协议构成主动检测数据包结构,第二个使用了四个具体协议构成主动检测数据 包结构。指令组中startmonitor,stopmonitor指令被选择了一次,send,wait指令 分别被选择了两次,以此组合成droppingofpackets检测的指令组。

实施例5

本发明还是一种无线Mesh网络的主动式入侵检测方法,是基于上述的无线Mesh 网络的主动式入侵检测系统的,无线Mesh网络的主动式入侵检测系统的构成和工作 同实施例1-4。

参见附图2,系统完成初始化过程,入侵检测过程主要包括以下步骤:

【1】、无线Mesh网络的主动式入侵检测系统的宿主节点对邻居节点进行扫描和 筛选,获得邻居节点列表,显示邻居节点个数,并判断邻居节点个数是否为0,若为 0,则表示没有邻居节点,检测系统无需进行检测,系统停止;若不为0,则执行步 骤【2】。

【2】、系统的主动检测模块的节点选择子模块从邻居节点列表中选择将要检测的 目标节点,并以目标节点在邻居节点列表中的下标为依据,便于对目标节点进行锁定 和引用,将该目标节点提供给主动检测模块中的探测包发送子模块和数据采集模块。

【3】、选择探测过程,生成主动探测数据包,在生成过程中完成数据包伪装操作, 将数据包发送至网络中,其中包括有如下步骤,

【3.1】、探测包发送子模块从预先定义的检测规则中选择一个检测过程,作为子 检测,若选择结果不为空值,则获取该检测过程对应的具体检测规则,探测包发送子 模块利用目标节点信息和系统预先定义的具体检测规则,结合预先定义的检测所需的 主动探测数据包结构,对主动探测数据包进行伪装操作,生成该检测所需的主动探测 数据包,发送主动探测数据包到网络中,并且向状态分析预测子模块提供该主动探测 包的备份,跳转至步骤【4】;

【3.2】、若选择结果为空值,则目标节点各状态中belief最大值对应的节点状态 被当作对目标节点检测的最终检测结果,提供给系统响应模块,跳转至步骤【6】;

【4】、数据采集模块从无线Mesh网络中捕获进出目标节点的网络数据包,提供 给主动检测模块的状态分析预测子模块;

【5】、状态分析预测子模块解析捕获到的网络数据包和主动探测探测数据包,对 目标节点的行为进行分析统计,利用目标节点对数据包的转发数量、本次探测状态相 对应的条件概率矩阵、外部证据矩阵,计算并更新节点每个状态对应的belief值,确 定最大的belief值,该belief值对应的节点状态将被作为在本轮子检测的检测结果, 若该belief值大于0.8,则对目标节点的本次检测完成,本轮子检测的探测结果被作 为对目标节点检测的最终检测结果,提供给系统响应模块,跳转至步骤【6】;否则, 本轮子检测完成,跳转至步骤3重新选择检测过程进行下一轮的子检测;

【6】、系统响应模块把对目标节点的最终检测结果记录在系统日志中,并在系统 屏幕上进行实时显示,完成对一个目标节点的检测;

【7】、根据宿主节点移动性的设置判断是否对宿主节点进行移动,若需要移动宿 主节点对网络的其它域中的节点进行安全状态检测,则跳转至步骤【8】,将检测系统 宿主节点移动到网络中新的区域;否则,检测系统继续对当前所在区域内的节点进行 检测,跳转至步骤【2】重新选择本区域内的下一个目标节点继续执行;

【8】、将检测系统的宿主节点移动到网络中新的区域,跳转至步骤【1】开始对 新区域中的节点进行检测,系统始终处于不间断的工作状态,随时监视和检测整个网 络中可能存在的入侵状况,时刻对网络的安全状态进行监听和检测。

如果检测到网络中存在恶意节点,系统响应模块会把对该恶意节点的最终检测结 果记录在系统日志中,并在系统屏幕上进行实时显示,网络管理员能够及时发现网络 中存在的安全问题,并及时做出相应处理。

实施例6

无线Mesh网络的主动式入侵检测方法同实施例5,步骤【3.1】中,所述的对主 动探测数据包进行伪装操作具体是,

【3.1a】、对主动探测数据包中除MAC地址字段、IP地址字段、端口号字段、 Mesh序列号字段、TTL值字段这五类之外的所有字段使用默认的固定数据值进行填 充;

【3.1b】、对主动探测数据包中MAC地址字段、IP地址字段、端口号字段、Mesh 序列号字段、TTL值字段这五类字段要填充的数据进行随机选择,完成字段填充,实 现对主动探测数据包进行伪装操作,经过探测包发送子模块伪装处理过的数据包与无 线Mesh网络中正常的数据包一样被目标节点接收和处理,而不会意识到检测系统的 存在。

实施例7

无线Mesh网络的主动式入侵检测方法同实施例5-6,步骤【5】中,对节点状态 belief值的计算和更新并得到检测结果的过程具体是指:

【5.1】、状态分析预测模块解析主动探测数据包和捕获到的数据包,分析种数据 包中的MAC地址字段,统计目标节点对主动探测数据包的转发情况,得出true或false 结果;

【5.2】、根据true和false值从条件概率矩阵(CPM)中读出相应的CPM行,作 为第一个计算参数,对目标节点每个状态对应的belief值进行第一次更新,其中条件 概率矩阵(CPM)是一个基于经验的概率序列,作为参数供belief值更新时使用;

【5.3】、然后对目标节点的所有状态对应的belief值进行求和,求出每个belief 值所占的权重,将每个belief值更新为自身在所有belief值中的权重;

【5.4】、最后在更新后的belief值中获得最大的belief值,将该belief值对应的状 态作为本次子检测对目标节点安全状态的检测结果。

实施例8

无线Mesh网络的主动式入侵检测方法同实施例5-7,实施例5中的步骤【3.1】 中对检测过程的选择如附图5所示,具体包括以下步骤:

1)初始化变量higherBelief=0,初始化变量higherStated为空,higherStated表示 为检测过程选择的最后结果,初始化表示当前状态状态的变量currentStated;

2)从系统的States列表中选择按顺序选择一个状态,记为item;

3)判断item是否为空,若为空,则跳转至步骤6),若不为空,则执行步骤4);

4)检查item是否在avoidedStates列表中,avoidedStates列表是有关系统配置的 全局变量。若item为空,则跳转至步骤2),选择下一个item;若不为空,则执行步 骤5);

5)根据item从CPM矩阵中获取cpmid,通过cpmid获取相应的CPM行,利用 CPM行计算出期望的状态和期望belief值,分别记为expectedState和expectedBelief, 通过比较更新higherBelief和higherStated,跳转至步骤2);

6)将higherStated作为本次检测过程选择的结果,选择过程结束,对目标节点 执行检测过程higherStated,作为下一个子检测。

本发明利用上述过程在对目标节点的检测过程中对要执行的检测过程进行选 择,其选择结果决定了系统下一步的检测过程。

实施例9

无线Mesh网络的主动式入侵检测方法同实施例5-8,对检测系统的具体配置和 对一个目标节点的主动检测过程包括以下步骤:

1】、以xml文件形式定义检测系统运行所需的各项列表。

(1A)定义节点状态ID(States)

节点状态ID定义了一个节点可能处于的安全状态,每个状态都用同样的格式进 行定义,节点状态包括五个字段,定义的语法如下:

[state_id]

name=”some_name”

active=[True/False]

report=[True/False]

description=”some_description”

对以上五个字段说明:

state_id,是每个状态唯一的ID,这个ID应该与规则和为这个状态配置的定义匹 配;name,为简述某个状态而取的名字;active,表明这个状态应该被设置为True或 者False,在一些情形下,当IDS被用于特殊的目的时,并不要求所有状态都为Active; report,表示当这个状态被检测到时是否需要产生一个警报,description,用于较满详 细地描述状态的文字;

以丢弃TCP数据包状态(droppingoftcp)为例,定义如下:

[droppingoftcp]                               /*状态唯一的ID*/

name  =   "Dropping of a TCP packets"        /*状态的名字*/

active  =   true                             /*该状态被启用*/

report  =   false                            /*不发起报告*/

description=   "Dropping of TCP packets"     /*对状态的具体描述*/

(1B)定义协议集和协议集包括的具体协议对应的数据包的格式(Protocol)

具体实例可参见实施例3中的dot11s协议集的定义和实现;

(1C)定义检测规则(Detection Rules),检测规则定义了每个对应的检测过程涉 及的主动探测包结构和具体的检测指令。

(c1)用以下语法规则来定义主动探测数据包结构,

<packetstructure name=”packet_name”>

   <protocol_definition1 property1=”text”property2=”text”>

   </protocol_definition1>

   ……

   <protocol_definitionN>

   </protocol_definitionN>

</packetstructure>

要求protocol_definitionN必须是协议定义中的一个合法定义

以testsend主动探测数据包为例,定义如下:

<packetstructure name="testsend">  /*主动探测数据包结构名称:testsend*/

  <dot11sdata/>                     /*使用的协议1*/

  <llc/>                            /*使用的协议2  */

  <ipv4 proto="17"  />             /*使用的协议3*/

  <udp dport="22"  />              /*使用的协议4*/

</packetstructure>

(c2)检测指令定义了在检测节点的是否处于某种状态时的步骤,每个检测规则 有多个检测指令,用以下语法规则定义,以主动探测数据包的发送为例:

<action type="send" name="sendtest"first=”false”> /*检测指令:send*/

  <numberreplications>3</numberreplications>           /*发送的副本数目*/

  <packetstructure>testsend</packetstructure>          /*发送testsend这种数据包*/

  <nextaction>wait_after_send</nextaction>             /*下一个检测指令*/

</action>

(1D)定义测试(Tests)

测试是针对具有一定特征的攻击类型的,如数据包丢弃攻击、节点共谋攻击等, 在主动发送探测包的和收集信息的过程之后,主动探测引擎对获得的数据执行一系列 的测试,来检测正在被评估的节点是否处于设想的状态中,测试由中间函数组成,它 们的结果会与样式做对比,以对数据包丢弃攻击的测试为例,定义如下:

其中,中间函数在测试执行时会被调用,其返回值类型为property,上边给出的 实例中对应的返回值类型为PacketForwarded,之后会将它与样式进行比较,中间函 数的命名方式为[firstgroup].[subgroup]…[subgroup].function(),形式如下表:

First group Subgroup Subgroup Function Desctiption IDS Monitor   PacketForwarded() 如果节点转发测试包,返回True

1E)定义条件概率矩阵(Conditional Probability Matrices,CPM)

CPMs存储了探测中所有可能状态的分布式概率,该条件概率矩阵中各个概率值 是基于经验设定的,表示在某一特定检测结果中节点处于某一个状态的概率。矩阵的 每一列代表一个状态,每一行代表一个探测的可能结果(true/false),每列值的和必须 为1,例如,一个有8个不同状态的CPM如下:

Outcome State1 State2 State3 State4 State5 State6 State7 State8 true 0.50 0.80 0.50 0.90 0.50 0.40 0.50 0.50 false 0.50 0.20 0.50 0.10 0.50 0.60 0.50 0.50

以CPM表中状态ap_droppingoftcp对应的CPM行为例,定义如下:

(1F)定义检测系统的配置文件(conf)

(f1)通用段配置

protocol=ieee80211s

设置入侵检测系统运行时使用的通信协议,这个名称应该与和这个协议相关的所 有配置文件和目录相匹配;

Intervalbetweenscanning=500

检测系统的宿主节点扫描自身邻居节点的间隔时间,单位为毫秒;

(f2)路径段配置

logs=./path      /*日志文件的路径*/

states=./path    /*节点状态文件的路径*/

events=./path    /*事件定义文件的路径*/

packet_structure=./path  /*数据包结构文件的路径*/

detection_rules=./path   /*检测规则文件的路径*/

tests=./path     /*测试种类文件的路径*/

attack_patterns=./path   /*攻击样式文件的路径*/

conditional_probability_matrices=./path  /*条件概率矩阵文件的路径*/

以上所有的路径均采用与入侵检测系统主程序的相对路径,在检测系统运行过程 中按具体需要对相应的文件进行相应的读取和使用。

(f3)设备段配置

ifacedev=mesh0

使用的无线网卡接口,该接口设置为普通的无线网上接口,便于检测系统的宿主 节点成为无线Mesh网络中的一个内部合法节点,实现与所加入的无线Mesh网络中 的其他节点的正常通信。

ifacedevmon=mesh1

用于监控和捕获网络流量的无线网卡接口,系统要求该网上接口被设置为混杂模 式,因而可以对所在网络中的所有流量进行捕获。

(f4)主动探测段配置

signallevelthreshold=-70

邻居节点信号强度的是小门限,低于这个门限的邻居节点在邻居节点扫描过程中 将不会被加入到邻居节点列表中等待被检测;

(f5)分析预测段配置

beliefthreshold=0.8

系统在判定对目标节点的检测结果时,相信节点处于某一个状态的可信值的门 限,若某一状态对应的belief值超过这个门限值,则认为节点处于该状态,将该状态 作为对节点的检测结果。

2】、初始化入侵检测系统,加载系统界面,加载系统各功能模块。

程序启动后首先进行系统初始化,如附图3所示,系统设置系统版本号,设置配 置文件,初始化运行时间RunningTime=0,检测命令行参数,尝试实例化一个通信模 块对象,初始化失败则程序终止;否则,实例化一个主动探测模块对象;

然后,加载系统运行需要的各个子功能模块,包括:加载主动主动检测模块,加 载分析预测模块,加载监听模块,加载通信模块,加载数据包解析模块,加载文件解 析模块,加载协议模块,加载规则解析模块,加载日志模块;

最后,调用程序主函数,开始执行检测过程;

3】、检测系统扫描邻居节点,生成邻居节点列表,该步也对应实施例5中的步骤 【1】。

系统检查宿主节点的路由表,获取与宿主节点为邻居关系的节点,扫描每个邻居 节点获取各个邻居节点的全部状态信息,从中挑选信号强度高于系统设置的最小信号 门限的节点加入到邻居节点列表中,系统默认设置的信号强度门限为70dbm

4】、选择将要进行检测的目标节点。

在对邻居节点进行扫描之后,已经获得了由将要被检测的所有邻居节点组成的一 个邻居节点列表,列表中节点个数为NodesCount,检测系统设置循环变量a,作为从 邻居节点列表中的选择的目标节点在列表中的下标,依次从邻居节点列表中选择一个 邻居节点作为待检测的目标节点,获取节点的全部信息,供检测使用,目标节点的选 择过程如附图3中与变量a相关的循环所示。

5】、执行主动探测过程,对目标节点进行检测。

5.1】、检测系统执行主动检测的整体流程如附图2所示,其中涉及到的主动检测 算法的具体执行流程如附图4所示,探测选择的具体执行流程如附图5所示。主动探 测模块初始化对目标节点的检测轮次iCount=0,初始化当前状态的belief值为系统配 置文件中默认的startingbelief值0.1,设置欲检测状态stateToProbe,stateToProbe第一 次为默认的Normal状态,初始化已检测状态列表alreadyProbed为空;

5.2】、由探测选择过程对将要进行的检测状态stateToProbe进行选择,具体选择 流程如附图5所示,对belief值和stateToProbe进行检验,若stateToProbe不为空,则 将其加入到alreadyProbed列表中,跳转至步骤5.3】;若belief值大于0.8或stateToProbe 为空,本轮对本节点的检测结束,跳转至步骤6】;

5.3】、将iCount加1,显示检测轮次,然后,按照检测规则中定义的主动探测数 据包的格式和检测指令对本次检测的目标节点逐项执行;

5.4】、执行至检测规则中的最后一个检测指令dotest时,系统对目标节点发起主 动探测,具体执行过程如附图6所示,由状态分析预测子模块对捕获到的数据包进行 解析、比对、统计,然后更新节目所有状态对应的belief值;

5.5】、在更新节点每个状态对应的belief值完成之后,从所有状态对应的belief 值中确定最大的belief值,该belief值对应的节点状态将被作为在本轮子检测的检测 结果,若该belief值大于0.8,则对目标节点的本次主动检测完成,本次子检测的探 测结果被作为对目标节点检测的最终检测结果,提供给系统响应模块,跳转至步骤6】; 否则,本轮子检测完成,跳转至步骤5.2】,重新选择检测过程进行下一轮的子检测;

6】、系统响应模块记录并显示对目标节点检测结果。

系统响应模块把对目标节点的最终检测结果记录在系统日志中,并在系统屏幕上 进行实时显示,完成对一个目标节点的检测。

具体是:系统响应模块对系统运行中的各项数据进行记录,包括调试类信息、错 误信息、普通信息等,这些信息全部被记录到log文件中,当log文件大小到达一定 程度后,系统会自动生成另一个新log文件对随后的信息进行存储;并通过logger.info 函数对运行中的普通信息进行实时显示,以便用户能实时对节点状态进行监控,及时 发现恶意节点,采取适当的应对手段进行控制。

7】、根据宿主节点移动性的设置判断是否对宿主节点进行移动,若需要移动宿主 节点来对网络的其它域中的节点进行安全状态检测,则跳转至步骤8】,将检测系统 宿主节点移动到网络中新的区域;否则,检测系统继续对当前所在区域内的节点进行 检测,跳转至步骤4】重新选择本区域内的下一个目标节点,继续执行检测;

8】、将检测系统的宿主节点移动到网络中新的区域,跳转至步骤2】重新初始化 并运行检测系统,对新区域中的节点进行检测,系统始终处于不间断的工作状态,随 时监视和检测整个网络中可能存在的入侵状况。

实施例10

无线Mesh网络的主动式入侵检测方法同实施例5-9,实施例9中的步骤5.4】中 更新目标节点所有状态对应的belief值的过程如附图6所示,具体包括以下步骤:

5.4.1】、利用CPM行对节点各状态的belief值进行更新:按照该轮次的检测结果 从CPM矩阵中取出相应的CPM行,作为更新状态Belief值列表的第一个参数,再复 制States列表到currentStates列表,将currentStates列表中的相应项与之前获得的CPM 行的相应项作乘积,完成对currentStates列表的第一次更新;

5.4.2】、对currentStates列表中的每一个belief值求其在所有belief值中的权重, 将belief值更新为自身所占的权重值;

5.4.3】、对currentStates列表进行遍历,选择出其中最大的belief值,赋值给 valHigherBelief,将该belief值对应的状态ID赋值给idHigherBelief;将更新后的 currentStates列表重新赋值给States列表,更新CurrentStateID为idHigherBelief,完成 对节点状态的更新,对节点的本次检测将以CurrentStateID为最终状态。

本发明通过对目标节点每个状态对应的belief值的更新,从所有的belief值中选 择出最大的belief值,该最大belief值对应的状态将被作为每一个子检测的检测结果, 当最后一个子检测结束后,最大belief值对应的状态被作为对目标节点本次检测的最 终结果,提供给系统响应模块。

综上,本发明的无线Mesh网络的主动式入侵检测系统和方法,主要解决无线 Mesh网络入侵检测系统面临的资源受限和难以中心化的问题。系统只需部署在网络 中一个可移动节点上,该系统主要包括:数据采集模块、主动检测模块、系统响应模 块;主动检测模块包括有四个子模块,分别是:检测规则子模块、目标节点选择子模 块、探测包发送子模块、状态分析预测子模块;其主动检测模块的探测包发送子模块 向目标节点主动发送探测信息,系统具有主动检测和可移动性。检测方法主要包括: 扫描邻居节点;选择目标节点;选择探测过程;数据包采集;状态分析判定;状态结 果响应;循环检测;系统一直处于运行状态,检测过程带有隐蔽性。该检测方法首先 定义节点状态和检测规则等文件,然后主动选择目标节点,向目标节点发送主动探测 数据包,同时对网络流量进行捕获和存储,最后通过能网络流量的分析判定节点所处 的安全状态。

本发明为无线Mesh网络的入侵检测提供了切实可行的手段,通过移动机制缓和 了分布式和基于单一节点的检测系统的限制;本发明显提高了检测的灵活性和针对 性,检测效率明显提升。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号