基于可信交换机的生成树协议的攻击检测方法

文档序号:7552856阅读:305来源:国知局
专利名称:基于可信交换机的生成树协议的攻击检测方法
技术领域
:本发明涉及一种基于可信交換机生成树协议的攻击检测方法的评估。属于信息安全领域。
背景技术
:网络技术的快速发展和规模的不断扩大,使其正面临着严峻的安全挑战。交換机作为ニ层转发设备,经常受到攻击,比如非法获取交換机控制权,导致网络瘫痪等。生成树协议是交换机运行的ー个主要协议,它可以将有环路的物理拓扑变成无环路的逻辑拓扑。针对生成树协议的攻击,是目前交換机面临的主要威胁之一。生成树协议攻击有很多种,目前较为成熟的防护措施有思科提出的BPDU保护和根保护机制,其采用人工干预的方法强制阻止端ロ接收BPDU或BID小于根BID的BPDU,此方法需要管理员熟悉各网桥在网络中的位置。国内外针对BPDU缺少认证机制的研究有,修改BPDU格式增加认证头的方法、仓Ij建网桥地址许可列表(Bridge Access Permit List)来实现简单BPDU认证的机制等等。现有的技术方案不能解决所有问题,同时仍存在缺陷。所以需要ー种全面的生成树协议的攻击检测或防护方法。发明人提出一种基于可信交換机的生成树协议攻击检测方法,在此,默认每台交換机在接入可信网络之后,都会由CA认证中心向其颁发信任证书,内容包括交換机的平台及身份认证信息,平台认证信息的主要内容是对BID的认证,当改变交換机优先级时必须通知服务器并重新向CA申请证书。本发明在采用常规方法检测泛洪攻击之后,还将通过发送证书认证请求的方式检测根接管攻击(root take-over attack)。最后对交换机生成树协议运行状态进行细致分类,结合各状态下可信行为,描绘状态机,检测内部非法行为。本方法无需管理员介入,灵活易操作,同时对存在威胁的交换机进行认证,实现重点认证机制,结合对外防护和对内监控模块,真正实现生成树协议的全面防护
发明内容
:本发明的目的在于,针对生成树协议存在的缺点,提出ー种简单灵活、全面有效的生成树协议攻击检测方法,实现对内监控和对外防护两方面监管,即基于可信交換机的生成树协议攻击检测方法。本发明的特征在于依次包括以下步骤:首先,执行交換机内部监控模块。本发明对交換机生成树协议在不同阶段等待BPDU情况进行了分类,将其分为以下六个状态:初始化、等待配置BPDU (C0NF_BPDU)、等待拓扑变化BPDU (TC_BPDU)、等待拓扑变化通知BPDU (TCN_BPDU)、等待拓扑变化确认BPDU(TCA_BPDU)、等待证书BPDU (Cert_BH)U)。内部监控模块根据状态转移条件对交换机的生成树协议控制行为进行监控。若在某一状态收到非该状态下的触发事件,或在某一事件的触发下做出非该状态下的应答事件,则判定为相应的攻击行为。状态机描述如下:I)初始化一等待C0NF_BPDU。转移条件:发送C0NF_BPDU。
2)等待 C0NF_BPDU —等待 C0NF_BPDU。转移条件:收到 C0NF_BPDU 或 TC_BPDU 后,发送 C0NF_BPDU 或 TC_BPDU3)等待C0NF_BPDU —等待TCN_BH)U。转移条件:当前网桥为根网桥。4)等待 TCN_BPDU —等待 TCN_BPDU。转移条件:发送 C0NF_BPDU。5)等待 TCN_BPDU —等待 C0NF_BPDU。转移条件:收到 TCN_BPDU 后,发送 TC_BPDU和 TCA_BPDU。6)等待TCN_BPDU —等待Cert_BTOU。转移条件:收到BID小于当前根BID的BPDU后,发送探测BPDU。7)等待C0NF_BPDU —等待Cert_BPDU。转移条件:收到BID小于当前根BID的BPDU后,发送探测BPDU。8)等待Cert_BPDU —等待C0NF_BH)U。转移条件:收到cert_BPDU或超时。9)等待C0NF_BPDU —等待TCA_BH)U。转移条件:超时后发送TCN_BH)U,或收到TCN_BPDU 后,发送 TCN_BPDU 和 TCA_BPDU。10)等待 TCA_BPDU —等待 TCA_BPDU。转移条件:发送 TCN_BPDU。11)等待 TCA_BPDU —等待 C0NF_BPDU。转移条件:超时后,发送 C0NF_BPDU。12)等待 TCA_BPDU —等待 TC_BH)U。转移条件:收到 TCA_BH)U。13)等待 TC_BPDU —等待 C0NF_BPDU。转移条件:收到 TC_BPDU 后,发送 TC_BPDU。然后,执行交換机外部防护模块的泛洪攻击检测部分。当交換机接收到BPDU报文时,启动相应定时器并开始统计规定时间段内收到相同类型的BPDU次数,待定时器到时后,判断当前值是否大于阈值,是则判定为相应泛洪攻击,否则继续进行。其中C0NF_BH)U对应阈值为最大节点数即最大交换机个数的平方,即maXN0de*maXN0de,其它阈值根据网络规模而定,值越低,报警精度越高,同时误报率也越高,但通常不能低于网络中最大节点个数,即[maxNode, + °°)。最后,执行交換机外部防护模块的根接管攻击检测部分。当指定网桥收到BID小于当前根BID的BPDU时:若发送者与该指定网桥直接相连,则向该BPDU的发送者发送探測包,请求验证发送者的身份证书和相关信息,并等待回复信息。收到回复后,对证书进行合法性验证,并判断发送者的度数,即与发送者直接相连的交換机的个数,是否大于当前根桥的度数,以此判断发送者在网络中的大致位置,验证通过后更新其所存储的根BID,否则发出根接管攻击警告;若发送者与该指定网桥非直接相连,则证明发送者已经经过与其直连的网桥的验证,此时直接更新根BID。当根网桥收到BID小于当前根BID的BPDU时:若发送者与根网桥直接相连,则向该BPDU的发送者发送探測包,请求验证发送者的身份证书和相关信息,并等待回复信息。收到回复后,对证书进行合法性验证,并判断发送者的度数是否大于当前根桥的度数,以此判断发送者在网络中的大致位置,验证通过后,根网桥继续收集自身信息,进行自我评估,评估内容包括修改Hello时间、转发延迟、最大生存时间的次数,出现内部报警次数,若两者均小于给定值(管理员自行设定,值越小精度越高,误报率也越高,通常不低于网络中最大节点个数,即[maxNode,+⑴)),则评估通过,发出根接管攻击警告;不通过,则更新根BID,选举新交换机为根网桥;若发送者与根网桥非直接相连,则根网桥直接进行自我评估,评估通过,则判定为根接管攻击;不通过,则更新根BID,选举新交换机为根网桥。本发明从内外两方面实现了生成树协议的攻击检測。创新点在干:I)采用状态机规范交换机的内部行为,避免交換机被黑客获取控制权,而非法运行对网络中发起攻击的可能。针对外来攻击采用外部防护模块,因此状态机只需记录自身状态,而无需记录邻居状态,大大减小了其工作量。2)外部防护模块中,由直连交换机对新加入的交换机进行认证,能够防止非正常授权交换机即无有效身份证书的交換机和用户伪装的交換机所发起的攻击行为,同时减轻由认证机制带来的网络流量负担。3)根桥自我评估机制,能有效避免恶意交換机申请替换根桥,频繁更换根桥的潜在根接管攻击行为。同时,当前根桥发生不可靠行为时,允许新的根桥选举。该机制既能有效防止根接管攻击,又不阻碍正常情况下的根桥选举。


图1是本发明实现交换机生成树协议内部监控模块的状态转移图。图2是实现交換机生成树协议外部防护模块的泛洪攻击检测流程图。图3是实现交換机生成树协议外部防护模块的根接管攻击检测流程图。
具体实施例方式下面结合附图1、2、3具体说明本发明的实现方法及步骤。本发明是一种基于可信交換机生成树协议的攻击检测方法,它分为内部监控和外部防护两部分。交換机在成功介入网络之后,首先启动状态机,执行内部监控模块,规范生成树协议内部操作,如图1。当收到BPDU时,执行生成树协议外部防护模块的泛洪检测,检测来自外部的泛洪攻击行为,如图2。最后执行根接管攻击检测,发送验证并决定是否更换根桥,如图3。首先,根据图1中的状态图,对生成树协议的整个运行过程进行监控。具体说明如下:I) Init —等待C0NF_BH)U:交换机从初始状态进入等待配置消息状态,通过发送C0NF_BPDU准备參与生成树计算。2)等待C0NF_BPDU —等待C0NF_BPDU:计算生成树阶段和正常运行之后,交换机每隔2秒都会收到C0NF_BH)U,更新自己BPDU存储内容,并向其他邻居发送新的C0NF_BPDU ;当拓扑发生变化吋,交換机将收到上游网桥传送的TC_BPDU消息,并继续发送TC_BPDU给下游网桥。3)等待C0NF_BPDU —等待TCN_BPDU:当前网桥为根网桥,进入等待TCN_BPDU状态,等待处理下游网桥发送的拓扑变化通知。4)等待TCN_BPDU —等待TCN_BPDU:网络正常运行过程中,根网桥每隔2秒向下游网桥发送C0NF_BH)U,此时保持状态不变。5)等待TCN_BPDU —等待C0NF_BPDU:根网桥收到TCN_BH)U,首先向发送者回复确认消息TCA_BH)U,然后向所有下游网桥发送TC_BH)U。
6)等待TCN_BPDU —等待Cert_BPDU:根网桥收到BID小于当前根BID的BPDU,向发送者发送探測包,并进入等待证书状态。7)等待C0NF_BPDU —等待Cert_BPDU:指定网桥收到BID小于当前根BID的BPDU,向发送者发送探測包,并进入等待证书状态。8)等待Cert_BPDU —等待C0NF_BH)U:收到目标交换机的证书回复或超时,回到等待配置状态。9)等待C0NF_BPDU —等待TCA_BH)U:在等待配置消息状态下超时未收到任何消息,则向根桥发送TCN_BH)U,进入等待TCA_BPDU状态;或收到TCN_BH)U,回复TCA_BPDU确认消息,并转发TCN_BH)U,进入等待TCA_BPDU状态。10)等待TCA_BPDU —等待TCA_BPDU:在该状态下持续发送TCN_BH)U,直到收到TCA_BPDU确认消息或超时为止。11)等待TCA_BPDU —等待C0NF_BPDU:在等待TCA_BPDU状态下未收到确认信息直至超时,发送C0NF_BroU,声称根桥重新计算生成树。12)等待TCA_BPDU —等待TC_BPDU:收到TCA_BPDU确认消息,进入等待TC_BPDU状态。13)等待TC_BPDU —等待C0NF_BH)U:收到TC_BH)U,并向下游交换机转发该消息,回到等待C0NF_BPDU状态。然后执行图2步骤。当交换机接收到来自外部的BPDU配置包吋,首先根据BPDU类型将其分为配置消息(C0NF_BH)U)和拓扑变化通知(TCN_BH)U)消息。若是TCN_BH)U,则启动TCN_BPDU定时器,对其进行计数;若是C0NF_BH)U,则再继续判断其是拓扑变化包(TC_Brou)还是BID小于当前根BID的BPDU (较优BPDU)包,根据不同结果启动相应定时器。如果是较优BPDU,则还需启动根选举定时器。待各定时器(除根选举定时器)到时后,根据其是否超过阈值来判定其是否为泛洪攻击。在此设定,C0NF_BPDU, TCN_BPDU, TC_BH)U、根选举定时器值分别为3秒、I秒、I秒、60秒,CONF_BroU、TCN_BroU、TC_BPDU对应阈值分别为最大节点数*最大节点数、100、50。若启动了根选举定时器,在该定时器到时后,执行图3步骤,如下:当指定网桥收到BID小于当前根BID的BPDU时:若发送者与该指定网桥直接相连,则向该BPDU的发送者发送探測包,请求验证发送者的身份证书和相关信息,并等待回复信息。收到回复后,对证书进行合法性验证,并判断发送者的度数,是否大于当前根桥的度数,以此判断发送者在网络中的大致位置,验证通过后更新其所存储的根BID,否则发出根接管攻击警告;若发送者与该指定网桥非直接相连,则证明发送者已经经过与其直连的网桥的验证,此时直接更新根BID。当根网桥收到BID小于当前根BID的BPDU时:若发送者与根网桥直接相连,则向该BPDU的发送者发送探測包,请求验证发送者的身份证书和相关信息,并等待回复信息。收到回复后,对证书进行合法性验证,并判断发送者的度数是否大于当前根桥的度数,以此判断发送者在网络中的大致位置,验证通过后,根网桥继续收集自身信息,进行自我评估,评估内容包括修改Hello时间、转发延迟、最大生存时间的次数,出现内部报警次数,若两者均小于给定值,则评估通过,发出根接管攻击警告;不通过,则更新根BID,选举新交换机为根网桥;若发送者与根网桥非直接相连,则根网桥直接进行自我评估,评估通过,则判定为根接管攻击;不通过,则更新根BID,选举新交换机为根网桥。自我评估内容中修改Hello时间、转发延迟、最大生存时间中任一者,总次数均加一。内部报警指状态机运行过程中出现非法行为所导致的报警。在此,两者阈值均设为10。
权利要求
1.一种基于可信交換机的生成树协议提出的攻击检测方法,其特征在于包括以下步骤: 首先,执行交換机内部监控模块 对交换机生成树协议在不同阶段等待BPDU情况进行了分类,将其分为以下六个状态:初始化、等待配置BPDU以下简称为CONF_BH)U、等待拓扑变化BPDU以下简称为TC_BH)U、等待拓扑变化通知BPDU以下简称为TCN_BH)U、等待拓扑变化确认BPDU以下简称为TCA_BH)U、等待证书BPDU以下简称为Cert_BH)U ;内部监控模块根据状态转移条件对交换机的生成树协议控制行为进行监控;若在某一状态收到非该状态下的触发事件,或在某一事件的触发下做出非该状态下的应答事件,则判定为相应的攻击行为;状态机描述如下: 1)初始化一等待CONF_BPDU;转移条件:发送CONF_BPDU ; 2)等待CONF_BPDU—等待CONF_BPDU ;转移条件:收到CONF_BPDU或TC_BPDU后,发送CONF_BPDU 或 TC_BPDU 3)等待CONF_BPDU—等待TCN_BPDU ;转移条件:当前网桥为根网桥; 4)等待TCN_BPDU —等待 TCN_BPDU ;转移条件:发送 CONF_BPDU ; 5)等待TCN_BPDU—等待CONF_BPDU ;转移条件:收到TCN_BPDU后,发送TC_BPDU和TCA_BPDU ; 6)等待TCN_BPDU—等待Cert_BH)U ;转移条件:收到BID小于当前根BID的BPDU后,发送探测BPDU ; 7)等待CONF_BPDU—等待Cert_BH)U ;转移条件:收到BID小于当前根BID的BPDU后,发送探测BPDU ; 8)等待Cert_BPDU—等待CONF_BPDU ;转移条件:收到cert_BPDU或超时; 9)等待CONF_BPDU—等待TCA_BPDU ;转移条件:超时后发送TCN_BH)U,或收到TCN_BPDU 后,发送 TCN_BPDU 和 TCA_BPDU ; 10)等待TCA_BPDU —等待 TCA_BPDU ;转移条件:发送 TCN_BPDU ; 11)等待TCA_BPDU—等待CONF_BPDU ;转移条件:超时后,发送CONF_BPDU ; 12)等待TCA_BPDU—等待TC_BPDU ;转移条件:收到TCA_BPDU ; 13)等待TC_BPDU—等待CONF_BPDU ;转移条件:收到TC_BPDU后,发送TC_BPDU ; 然后,执行交換机外部防护模块的泛洪攻击检测部分;当交換机接收到BPDU报文吋,启动相应定时器并开始统计规定时间段内收到相同类型的BPDU次数,待定时器到时后,判断当前值是否大于阈值,是则判定为相应泛洪攻击,否则继续进行;其中CONF_BPDU对应阈值为最大节点数的平方,即最大交换机个数的平方,其它阈值根据网络规模而定,值越小,报警精度越高,同时误报率也越高; 最后,执行交換机外部防护模块的根接管攻击检测部分;当指定网桥收到BID小于当前根BID的BPDU时: 若发送者与该指定网桥直接相连,则向该BPDU的发送者发送探測包,请求验证发送者的身份证书和相关信息,并等待回复信息;收到回复后,对证书进行合法性验证,并判断发送者的度数,即与发送者直接相连的交換机的个数,是否大于当前根桥的度数,以此判断发送者在网络中的大致位置,验证通过后更新其所存储的根BID,否则发出根接管攻击警告;若发送者与该指定网桥非直接相连,则证明发送者已经经过与其直连的网桥的验证,此时直接更新根BID ; 当根网桥收到BID小于当前根BID的BPDU时: 若发送者与根网桥直接相连,则向该BPDU的发送者发送探測包,请求验证发送者的身份证书和相关信息,并等待回复信息;收到回复后,对证书进行合法性验证,并判断发送者的度数是否大于当前根桥的度数,以此判断发送者在网络中的大致位置,验证通过后,根网桥继续收集自身信息,进行自我评估,评估内容包括修改Hello时间、转发延迟、最大生存时间的次数,出现内部报警次数,若两者均小于给定值,则评估通过,发出根接管攻击警告,其中,给定值为管理员自行设定,值越小精度越高,误报率也越高;不通过,则更新根BID,选举新交换机为根网桥; 若发送者与根网桥非直接相连,则根网桥直接进行自我评估,评估通过,则判定为根接管攻击;不通过,则更新根BID,选举新交换机为根网桥。
全文摘要
本发明是一种基于可信交换机的生成树协议提出的攻击检测方法。它利用内部监控模块对由交换机自身引发的攻击行为进行监控,利用外部防护模块对来自交换机外部的攻击威胁进行检测,从而实现生成树协议的全面攻击检测。本方法首先按照交换机在不同阶段等待不同网桥协议数据单元(BPDU)的情况,画出状态图,根据状态转移条件对交换机整体运行行为进行监控,以检测设备自身发起的攻击行为。然后,对来自外部的BPDU进行分类,采用定时器并计数的方法对泛洪攻击进行检测。最后,在收到BID小于当前根BID的BPDU时,发送探测包对目标交换机进行合法性验证,若为根网桥,还需进行自我评估后决定是否更换根桥,以此检测根接管攻击。
文档编号H04L12/26GK103139219SQ20131006455
公开日2013年6月5日 申请日期2013年2月28日 优先权日2013年2月28日
发明者赖英旭, 潘秋月, 杨震, 李健, 刘静, 李哲 申请人:北京工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1