SDN环境下针对Packet-In注入攻击的轻量级自适应检测方法及系统技术方案

技术编号:21899199 阅读:62 留言:0更新日期:2019-08-17 18:32
本发明专利技术涉及SDN以及计算机网络领域,实现了一种SDN环境下针对Packet‑In注入攻击的轻量级自适应检测方法。其步骤包括:建立概率检测模型并设定阈值,控制器根据Packet‑In消息数目的历史样本,结合设定的参数进行建模;设置白名单过滤伪IP/MAC地址消息;基于检测模型对Packet‑In消息进行攻击检测;若检测结果为存在攻击,则使用统计排序方法来找出攻击源并进行防御;同时对白名单和阈值进行动态更新。本发明专利技术方法建立了概率模型对Packet‑In消息进行检测,能迅速识别出Packet‑In数据包注入攻击,并根据网络的实际状况对参数进行调整,具有轻量级、自适应等优点。

A Lightweight Self-adaptive Detection Method and System for Packet-In Injection Attacks in SDN Environment

【技术实现步骤摘要】
SDN环境下针对Packet-In注入攻击的轻量级自适应检测方法及系统
本专利技术涉及SDN以及计算机网络
,尤其涉及一种SDN环境下针对Packet-In注入攻击的轻量级自适应检测方法及系统。
技术介绍
软件定义网络SDN(Software-DefinedNetworking)是一种新型的网络架构,该架构通过OpenFlow技术将数据平面与控制平面分离开来,其中控制平面能够对传统分布式的网络状态进行集中管理,为网络管理、QoS、核心网络及应用的创新提供了良好的平台。然而其自身的安全问题也日益显露,如数据层面临的DDoS攻击、南向接口SSL协议的不安全性、控制器的单点故障、应用层的恶意应用程序攻击等等。其中控制器的单点故障将导致控制器、交换机、被攻击主机及整个网络不同程度的瘫痪。由于控制器的集中特性,每当网络出现新流时控制器便需要处理交换机发来的Packet-In消息,此时若攻击者大量注入伪造数据包,便会触发Packet-In注入攻击,导致DDoS攻击、泛洪攻击、拓扑欺骗等,使控制器无法处理正常消息,造成单点故障,甚至上层应用的瘫痪。在针对控制器的安全防御研究中,提出了TopoGuard、PacketChecker等防御工具,以及一些针对控制器攻击提出的使用阈值检测、统计检测和机器学习等方法的防御机制。其中TopoGuard是一种针对拓扑欺骗攻击的工具。通过验证PortDown信号是否出现等方法,达到核实主机迁移真实性的效果。但该方法未考虑大量Packet-In消息注入的情况。PacketChecker提出了一种基于Packet-In合法性检测的防御策略,通过验证Packet-In消息是否合法,来决定该消息是否应该被转发给控制器处理。该方法未考虑攻击者伪造MAC地址的情况。阈值检测方法是通过判断网络中的流量是否超过规定的阈值来判断是否发生了DDoS等流量攻击。该方法不能及时区别突发流和攻击,容易造成误报。统计检测和机器学习方法是通过对网络中一些固定特征的数据,流量进行建模,用模型来预测并判断网络中的数据,流量是否异常。该方法通常需要进行大量计算。这些方法为SDN的安全防御机制提供了很多解决思路。在此基础上中,申请人发现《基于混合制排队模型的SDN控制器性能评估研究》中提到,Packet-In消息的到达率满足泊松分布,故选择该统计模型结合阈值检测方法进行对Packet-In注入攻击的检测。为了满足实际网络的需要,加入了使参数能自行学习的自适应机制。能够达到及时检测攻击,自适应更新及开销小的效果。目前在SDN网络环境下,经过对多种检测方法的调研,针对该种攻击提出了一种轻量且综合的新技术,使其在检测和防御方面都有较好的表现。
技术实现思路
本专利技术克服了现有技术的局限性,提出了一种SDN环境下针对Packet-In注入攻击的轻量级自适应检测方法。本专利技术应用在SDN环境中,将利用控制器的集中控制特性,基于概率模型对Packet-In注入攻击进行检测,还能够根据实际网络的情况对参数进行自适应的动态更新。本专利技术包括以下步骤:S1.建立概率检测模型:控制器中的模型建立模块根据该网络中Packet-In消息的历史正常流量样本,通过矩估计法计算样本均值;再根据泊松分布的性质和正态分布的公式,建立正常情况下的对照检测模型并设置阈值α;S2.设置白名单并过滤伪IP/MAC消息:控制器中的消息过滤模块根据收到的Packet-In消息和Port-Status消息记录当前网络时段的过滤白名单,其处理步骤如下:步骤S201控制器监听并接收到Packet-In消息或Port-Status消息;步骤S202消息过滤模块判断收到的消息是否为Packet-In消息;步骤S203若收到Port-Status消息,检验该消息中的PORT-DOWN字段是否置位;若PORT-DOWN字段已置位,记录该消息的端口信息,转步骤S204;否则,转步骤S201,继续监听OpenFlow消息;步骤S204若收到攻击源的端口信息,则从白名单中删除相关条目;步骤S205若收到Packet-In消息,检验该消息的合法性,构造并更新白名单:若该消息合法,则转步骤S301;若不合法,则该消息的源主机为被攻击主机,将该源主机的端口信息发送到防御模块,转步骤S402;S3.基于检测模型进行自适应攻击检测:其处理步骤如下:步骤S301控制器中的检测模块获取待检测窗口内的Packet-In消息数目,计算其概率密度,并与阈值α比较;步骤S302与检测模型中的概率密度进行对比,若连续两个窗口比值均小于阈值α,则判定为发生攻击,启动防御模块,转步骤S401。若否,则运行正常,转步骤S303;步骤S303通知模型建立模块使用指数加权移动平均法,利用最新的正常窗口内的消息数来更新当前参数;S4.根据检测结果进行防御并自适应调整参数:其处理步骤如下:步骤S401控制器中的防御模块通过找出消息数目最大的端口来找出攻击源,记录其端口信息;步骤S402防御模块构造并下发Flow_Mod消息到交换机,丢弃与攻击源端口信息相匹配的数据包,并发送端口信息到消息过滤模块,令其更新白名单,以丢弃非法的数据包,转步骤S204。其中,所述模型建立模块计算样本期望参数中,使用矩估计法的计算公式其中,m表示样本的期望,mi为第i个窗口内样本的数目,n为样本窗口的个数。其中,所述模型建立模块建立泊松分布概率检测模型的方法中,使用的概率密度计算公式为:其中,f(m)表示期望为m时概率密度的值,m为样本的期望。其中,所述步骤S301中,检测模块计算概率密度的公式为:其中,f(mt)表示待检测窗口的概率密度函数,mt为待检测窗口内采样的Packet-In数目,m表示检测模型的期望参数。其中,所述步骤S303中,模型建立模块使用指数加权移动平均法更新参数的公式为:EWMAt=λyt+(1-λ)EWMAt-1,t=1,2,3,…,n;其中EWMAt为t时刻的估计值,yt为t时刻的测量值,λ为衰减因子,n为EWMA模型追踪的观测值个数。基于以上方法,本专利技术还提出了一种SDN环境下针对Packet-In注入攻击的轻量级自适应检测系统,包括:模型建立模块,用于建立概率检测模型;消息过滤模块,用于设置白名单并过滤伪IP/MAC消息;检测模块,用于基于检测模型进行自适应攻击检测;防御模块,用于根据检测结果进行防御并自适应调整参数。本专利技术的有益效果:本专利技术首次提出了一种SDN环境下针对Packet-In注入攻击的轻量级自适应检测方法,可以使控制器以较低的网络开销获取高准确度的检测结果,并进行防御。本专利技术还有以下优点:控制器在进行检测和防御时,通过过滤伪IP/MAC地址的数据包,大大减轻了控制器的处理压力,并达到防御拓扑欺骗攻击的效果;通过统计排序的方法来定位攻击源,能够一次发现多个攻击源,达到迅速防御DDoS攻击的效果,且不妨碍正常数据包的转发;通过自适应更新参数和连续两个窗口检测,能够防止突发流的误报。本专利技术适用于攻击者引发大量Packet-In消息对被动模式下的控制器进行攻击的情况,例如高速大量发送具有虚假IP地址,MAC地址等字段的伪造数据包。附图说明图1是本专利技术针对Packet-In注入攻击的轻量级自适应检测方法的本文档来自技高网
...

【技术保护点】
1.一种SDN环境下针对Packet‑In注入攻击的轻量级自适应检测方法,其特征在于,包括以下步骤:S1.建立概率检测模型:控制器中的模型建立模块根据该网络中Packet‑In消息的历史正常流量样本,通过矩估计法计算样本均值;再根据泊松分布的性质和正态分布的公式,建立正常情况下的对照检测模型并设置阈值α;S2.设置白名单并过滤伪IP/MAC消息:控制器中的消息过滤模块根据收到的Packet‑In消息和Port‑Status消息记录当前网络时段的过滤白名单,其处理步骤包括:步骤S201控制器监听并接收到Packet‑In消息或Port‑Status消息;步骤S202消息过滤模块判断收到的消息是否为Packet‑In消息;步骤S203若收到Port‑Status消息,检验该消息中的PORT‑DOWN字段是否置位;若PORT‑DOWN字段已置位,记录该消息的端口信息,转步骤S204;否则,转步骤S201,继续监听OpenFlow消息;步骤S204若收到攻击源的端口信息,则从白名单中删除相关条目;步骤S205若收到Packet‑In消息,检验该消息的合法性,构造并更新白名单:若该消息合法,则转步骤S301;若不合法,则该消息的源主机为被攻击主机,将该源主机的端口信息发送到防御模块,转步骤S402;S3.基于检测模型进行自适应攻击检测:其处理步骤如下:步骤S301控制器中的检测模块获取待检测窗口内的Packet‑In消息数目,计算其概率密度,并与阈值α比较;步骤S302与检测模型中的概率密度进行对比,若连续两个窗口比值均小于阈值α,则判定为发生攻击,启动防御模块,转步骤S401;若否,则运行正常,转步骤S303;步骤S303通知模型建立模块使用指数加权移动平均法,利用最新的正常窗口内的消息数来更新当前参数;S4.根据检测结果进行防御并自适应调整参数:其处理步骤如下:步骤S401控制器中的防御模块通过找出消息数目最大的端口来找出攻击源,记录其端口信息;步骤S402防御模块构造并下发Flow_Mod消息到交换机,丢弃与攻击源端口信息相匹配的数据包,并发送端口信息到消息过滤模块,令其更新白名单,以丢弃非法的数据包,转步骤S204。...

【技术特征摘要】
1.一种SDN环境下针对Packet-In注入攻击的轻量级自适应检测方法,其特征在于,包括以下步骤:S1.建立概率检测模型:控制器中的模型建立模块根据该网络中Packet-In消息的历史正常流量样本,通过矩估计法计算样本均值;再根据泊松分布的性质和正态分布的公式,建立正常情况下的对照检测模型并设置阈值α;S2.设置白名单并过滤伪IP/MAC消息:控制器中的消息过滤模块根据收到的Packet-In消息和Port-Status消息记录当前网络时段的过滤白名单,其处理步骤包括:步骤S201控制器监听并接收到Packet-In消息或Port-Status消息;步骤S202消息过滤模块判断收到的消息是否为Packet-In消息;步骤S203若收到Port-Status消息,检验该消息中的PORT-DOWN字段是否置位;若PORT-DOWN字段已置位,记录该消息的端口信息,转步骤S204;否则,转步骤S201,继续监听OpenFlow消息;步骤S204若收到攻击源的端口信息,则从白名单中删除相关条目;步骤S205若收到Packet-In消息,检验该消息的合法性,构造并更新白名单:若该消息合法,则转步骤S301;若不合法,则该消息的源主机为被攻击主机,将该源主机的端口信息发送到防御模块,转步骤S402;S3.基于检测模型进行自适应攻击检测:其处理步骤如下:步骤S301控制器中的检测模块获取待检测窗口内的Packet-In消息数目,计算其概率密度,并与阈值α比较;步骤S302与检测模型中的概率密度进行对比,若连续两个窗口比值均小于阈值α,则判定为发生攻击,启动防御模块,转步骤S401;若否,则运行正常,转步骤S303;步骤S303通知模型建立模块使用指数加权移动平均法,利用最新的正常窗口内的消息数来更新当前参数;S4.根据检测结果进行防御并自适应调整参数:其处理步骤如下:步骤S401控制器中的防御模块通过找出消息数目最大的端口来找出攻击源,记录其端口信息;步骤S402防御模块构造并下发Flow_Mod消息到交换机,丢弃与攻击源端口信息相匹配的数据包,并发送端...

【专利技术属性】
技术研发人员:詹心语章玥蒲戈光
申请(专利权)人:华东师范大学上海工业控制安全创新科技有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1