基于物联网DDoS攻击的移动目标防御方法

文档序号:26146625发布日期:2021-08-03 14:32阅读:199来源:国知局
基于物联网DDoS攻击的移动目标防御方法

本发明涉及一种物联网防御方法,具体的说是一种基于物联网ddos攻击的移动目标防御方法,属于物联网设备ddos攻击防御技术领域。



背景技术:

随着5g时代的到来,物联网设备的种类和使用数量也日益增多,比如智能摄像头,智能家电等。但物联网设备设计时在安全方面考虑得不够充分,所以经常会被黑客控制从而形成僵尸网络。这些物联网设备在便捷人们生活的同时,也给网络环境的安全性带来了威胁。其中,一种简单而又低廉的攻击手段常常被黑客借助物联网设备所利用,分布式拒绝服务——ddos攻击。如:2016年在美国发生了一起黑客利用大量物联网设备构成僵尸网络对dyn核心网络服务公司的事件,此次事件持续了6个小时左右,造成了数以万计的损失;又如在美国一所大学中,黑客操纵校园里的自动售货机对dns服务器发动攻击致使服务器宕机。随着非传统物联网设备的引入,ddos攻击变得越来越危险,黑客可以通过劫持的物联网设备并使用它们来攻击任意目标服务器或网络。

究其原因,在于物联网设备设计时在安全方面考虑的不够充分,并且传统的安全扫描解决方案很难防御物联网设备的安全,我们长期以来用于发现传统计算机、评估和管理相关漏洞和风险、检测和应对潜在攻击的解决方案,并没有考虑到这些安全性能较低的物联网设备。黑客们非常清楚,企业物联网设备的保护水平无法与传统设备和软件相提并论。



技术实现要素:

本发明的目的是提供一种基于物联网ddos攻击的移动目标防御方法,针对物联网的ddos攻击防御问题,阻止黑客利用物联网设备对目标服务器发动ddos攻击。

本发明的目的是这样实现的:一种基于物联网ddos攻击的移动目标防御方法,包括以下步骤:

步骤1)在应用服务器之前构建两层代理节点,第一层代理节点有m个,为身份认证节点,第二层节点有n个,为中继转发节点,此外,还构建一个ipv6地址池供代理节点切换地址使用;

步骤2)代理节点执行ddos检测功能,用户a开始准备访问应用服务器内的资源,域名解析服务器根据用户a的网络地址特定地在m个身份认证节点中分配给用户a一个固定的身份认证节点,并且此后用户a的每次访问都由该节点进行身份验证;

步骤3)若身份认证通过,即无ddos攻击的情境下,则将n个中继转发节点中的任意一节点ƒ分配给该合法用户,该节点执行跳转协议,桥接合法用户与应用服务器,使用户可以正常访问服务器内资源,并且该用户后续的所有请求将无需经过身份验证,可直连n中的中继转发节点与服务器交互;

步骤4)若请求者为非法用户,则无法获得身份许可,直接拒绝其访问请求,此时,若检测出了ddos攻击,则立即启用ipv6地址池切换身份认证节点的ipv6地址,并将加密后的地址写入域名解析服务器;

步骤5)身份认证节点开始执行特定的身份认证方法,利用用户名、密码等,同时采用一些特殊的验证方法,来区分物联网设备和正常的客户端,排除物联网设备;

步骤6)黑客若通过运行合法客户端获得一个身份认证节点并完成身份认证,获得一个接入转发节点的ip地址,此时将记录可疑人员的相关信息,经过多次登陆信息的交集,便可以锁定攻击者的真实身份,从而对其真实身份进行防御。

作为本发明的进一步限定,步骤1)中的ipv6地址池分配情况具体如下:ipv6地址池中共有n个ipv6地址,从n个ipv6地址里选取n个分配给n个隐藏的中继转发节点,余下的(n-n)个ipv6地址构成一个地址池,每次从中随机选取m个分配给m个身份认证节点。

作为本发明的进一步限定,步骤1)在应用服务器端构建的m个身份认证节点,认证过程具体为:

步骤1-1)用户向身份认证节点发出请求,要求进行身份认证;

步骤1-2)身份认证节点从用户数据库中查询用户是否是合法的用户,若不是,则不做进一步处理,若是,则进入下一步;

步骤1-3)身份认证节点内部产生一个随机数œ,作为"挑战",发送给用户;

步骤1-4)用户将名字和随机数œ合并,使用hash函数生成一个字节串µ作为应答;

步骤1-5)身份认证节点将应答串µ与自己的计算结果比较,若二者相同,则通过一次认证;否则,认证失败;

步骤1-6)身份认证节点通知客户认证成功或失败;

步骤1-7)其他的用户重复执行步骤1-1)至步骤1-6)。

在应用服务器端构建的m个身份认证节点,这些节点主要采用了动态口令中的“挑战—应答”机制来完成对用户的合法性认证,“挑战—应答”认证机制中,访问用户携带一个相应的“挑战—应答”令牌,令牌内置种子密钥和加密算法。用户在访问系统时,服务器随机生成一个挑战数并将挑战数发送给用户,用户将收到的挑战数输入到“挑战—应答”令牌中,“挑战—应答”令牌利用内置的种子密钥和加密算法计算出相应的应答数,将应答数上传给身份认证节点,节点根据存储的种子密钥副本和加密算法计算出相应的验证数,和用户上传的应答数进行比较来实施认证,如此进一步提高本发明的可靠性。

作为本发明的进一步限定,同一节点定为40~60s进行一次认证,且身份认证节点的ip地址全部都是随机配置。两次认证的时间的间隔不能太短,否则就给网络、客户和认证服务器带来太大的开销;也不能太长,否则用户ip地址被黑客盗用的可能性就会增高,如此限定认证时间间隔,可确保本发明更加可靠。

作为本发明的进一步限定,步骤2)将ddos检测算法部署在每一个身份认证节点上,当有流量流入身份认证节点时,身份认证节点开始工作,具体检测步骤如下:

步骤2-1)身份认证节点先对网络中的路由器以时间△t对网络f进行采样;

步骤2-2)然后分别计算出源地址、目的地址、目的端口均相同的数据包的时间序列;

步骤2-3)当时间间隔满足要求时,计算自相关系数,采用基于中间网络的检测技术公式计算,当计算得到自相关系数不为0时,表示当前网络流量与ddos攻击呈线性相关关系,可以认为发生了ddos攻击。此算法只需进行少量的计算便可以检测出疑似攻击的发生。此外,经验丰富的攻击者会试图通过建模手段模仿正常流量去破坏此算法并且通过推断、渗透等手段捕获系统的采样频率并调整攻击流量去与系统匹配,但在系统中每个身份认证节点都具备相同的检测功能并且采样间隔都不同,故此算法可以大大提升黑客发动攻击所产生的开销。

作为本发明的进一步限定,步骤3)给用户分配给代理节点采用半随机分配方式,该方式采用了贪婪算法,分配开始前,所有代理节点都处于待活跃状态,所有访问的用户都将根据自身的网络号由域名解析服务器指派一个特定的节点进行身份验证,且每个客户端只能分配到一个代理节点,假设有ç个代理节点在初始分配后受到攻击,这ç个代理将被标记为待切换ip代理,其他代理则不做标记。这样做有助于在减小系统开销的同时加快ip切换的速度和提高对攻击源身份锁定的精确度。简单说明如下:在身份认证节点中可引入boolean标志位,默认状态下为“0”表示正常,在检测到ddos攻击后将标志位置为“1”表异常,切换地址时只需检查身份认证节点中的标志位状态,提升切换的效率。此外,在锁定攻击源方面,也只需记录标志位为“1”节点的用户信息,无需记录每个节点的用户信息。引入boolean标志位很大程度上可以减小系统的整体开销。

作为本发明的进一步限定,步骤4)ipv6地址池切换身份认证节点时,切换流程如下:

步骤4-1)移动节点向先前接入路由器发起路由器代理请求消息;

步骤4-2)先前接入路由器返回路由器代理通告消息,在消息中含带了新的接入路由器的消息,包括网络地址、前缀、链路层地址等信息;

步骤4-3)代理身份认证节点生成新的转交地址,向先前接入路由器发出快速绑定更新消息;

步骤4-4)先前接入路由器收到该消息后在新、旧转交地址间建立隧道,向新接入路由器发切换发起消息,此时启用ipv6地址池;

步骤4-5)新接入路由器对新的转交地址进行重复地址检测,若重复则重新分配新转交地址并在切换确认消息中将结果告知先前接入路由器;

步骤4-6)先前接入路由器向新接入路由器和代理节点回复快速绑定确认消息,然后通过隧道把发往原转交地址的数据送到新接入路由器,新接入路由器将这些数据暂存;

步骤4-7)代理节点到达新的子网,向新接入路由器发送快速邻居通告消息,从新接入路由器接受缓存和新来的数据,并将新的ipv6地址写入域名解析服务器。

如此切换解决了快速切换ipv6地址的问题,采取预先注册快速切换方法和过后注册快速切换方法,在标准的ipv6的设计中,链路层与网络层分割明确,只有在完成二层切换后才能进行三层切换工作,导致了切换ip地址切换的固有时延,预先注册快速切换方法允许代理节点在还没有完成l2层的切换时就可以启用l3层切换的部分操作,可以由代理节点或先前接入路由器(par)发起。

本发明采用以上技术方案与现有技术相比,具有以下技术效果:

1)本专利方案保证了服务器不会拒绝服务且总有合法用户可以正常访问服务器资源,解释说明如下:在完成部署后,停用服务器的公网ip地址,所有与服务器内资源的请求交换都由中继转发节点负责完成完成,并且所有用户身份验证通过后,下一次的连接将无需进行身份验证,直接与中继转发节点直连即可完成与服务器的资源交换。综上,黑客在对身份认证节点发动ddos攻击时,即使代理在进行ipv6地址切换,也可以保证有部分用户可以通过中继转发节点正常通信;

2)本发明无需增加大量的额外服务器来实施负载均衡等措施,因而减少了资金的支出,对于中小型企业来说是一种较好的选择,同时还减小了对网络带宽影响,进一步降低了成本;

3)本发明专利利用ipv6地址的切换,将用户分组进行身份验证,扩展了服务器的可访问性,在保护服务器免受ddos攻击的同时还将记录每一次的可疑攻击,进而缩小范围,锁定最后的攻击源,具体为:黑客为了尽可能多的收集所有的ip地址,在被拒绝服务后会尝试运行合法的客户端来获得节点的ip地址;但每一次在代理ipv6地址的更新时,都为我们提供了一些有关隔离可疑客户端(黑客)的重要信息;通过重复进行ipv6地址更新,并保留可疑代理/客户的记录,我们可以缩小可疑范围,并逐渐识别出大多数无辜用户。内部人员最终将被隔离,黑客的范围逐渐将被锁定。

附图说明

图1为本发明框架图。

图2为使用本发明和未使用本发明的网络流量速率比较图。

图3为本发明锁定攻击源示意图。

具体实施方式

下面结合附图对本发明的技术方案做进一步的详细说明:

如图1所示的一种基于物联网ddos攻击的移动目标防御方法,包括以下步骤。

步骤1)在应用服务器之前构建两层代理节点,第一层代理节点有m个,为身份认证节点,第二层节点有n个,为中继转发节点,此外,还构建一个ipv6地址池供代理节点切换地址使用;

下面对ipv6地址池分配情况进行详细说明:

ipv6地址池中共有n个ipv6地址,从n个ipv6地址里选取n个分配给n个隐藏的中继转发节点,余下的(n-n)个ipv6地址构成一个地址池,每次从中随机选取m个分配给m个身份认证节点;

认证过程具体为:

步骤1-1)用户向身份认证节点发出请求,要求进行身份认证;

步骤1-2)身份认证节点从用户数据库中查询用户是否是合法的用户,若不是,则不做进一步处理,若是,则进入下一步;

步骤1-3)身份认证节点内部产生一个随机数œ,作为"挑战",发送给用户;

步骤1-4)用户将名字和随机数œ合并,使用hash函数生成一个字节串µ作为应答;

步骤1-5)身份认证节点将应答串µ与自己的计算结果比较,若二者相同,则通过一次认证;否则,认证失败;

步骤1-6)身份认证节点通知客户认证成功或失败;

步骤1-7)其他的用户重复执行步骤1-1)至步骤1-6);

但需要注意的是两次认证的时间的间隔不能太短,否则就给网络、客户和认证服务器带来太大的开销;也不能太长,否则用户ip地址被黑客盗用的可能性就会增高,在我们的方案里,一般同一节点定为40s至60s进行一次认证。并且需要注意的是这些身份认证节点的ip地址全部都是随机配置。

步骤2)代理节点执行ddos检测功能,用户a开始准备访问应用服务器内的资源,域名解析服务器根据用户a的网络地址特定地在m个身份认证节点中分配给用户a一个固定的身份认证节点,并且此后用户a的每次访问都由该节点进行身份验证;具体检测步骤如下:

步骤2-1)身份认证节点先对网络中的路由器以时间△t对网络f进行采样;

步骤2-2)然后分别计算出源地址、目的地址、目的端口均相同的数据包的时间序列;

步骤2-3)当时间间隔足够大时,计算自相关系数,采用基于中间网络的检测技术公式计算,当计算得到自相关系数不为0时,可以认为发生了ddos攻击。

步骤3)若身份认证通过,即无ddos攻击的情境下,则将n个中继转发节点中的任意一节点ƒ分配给该合法用户,该节点执行跳转协议,桥接合法用户与应用服务器,使用户可以正常访问服务器内资源,并且该用户后续的所有请求将无需经过身份验证,可直连n中的中继转发节点与服务器交互,给用户分配给代理节点采用半随机分配方式,该方式采用了贪婪算法,分配开始前,所有代理节点都处于待活跃状态,所有访问的用户都将根据自身的网络号由域名解析服务器指派一个特定的节点进行身份验证,且每个客户端只能分配到一个代理节点,假设有ç个代理节点在初始分配后受到攻击,这ç个代理将被标记为待切换ip代理,其他代理则不做标记。

步骤4)若请求者为非法用户,则无法获得身份许可,直接拒绝其访问请求,此时,若检测出了ddos攻击,则立即启用ipv6地址池切换身份认证节点的ipv6地址,并将加密后的地址写入域名解析服务器,切换流程如下:

步骤4-1)移动节点向先前接入路由器发起路由器代理请求消息;

步骤4-2)先前接入路由器返回路由器代理通告消息,在消息中含带了新的接入路由器的消息,包括网络地址、前缀、链路层地址等信息;

步骤4-3)代理身份认证节点生成新的转交地址,向先前接入路由器发出快速绑定更新消息;

步骤4-4)先前接入路由器收到该消息后在新、旧转交地址间建立隧道,向新接入路由器发切换发起消息,此时启用ipv6地址池;

步骤4-5)新接入路由器对新的转交地址进行重复地址检测,若重复则重新分配新转交地址并在切换确认消息中将结果告知先前接入路由器;

步骤4-6)先前接入路由器向新接入路由器和代理节点回复快速绑定确认消息,然后通过隧道把发往原转交地址的数据送到新接入路由器,新接入路由器将这些数据暂存;

步骤4-7)代理节点到达新的子网,向新接入路由器发送快速邻居通告消息,从新接入路由器接受缓存和新来的数据,并将新的ipv6地址写入域名解析服务器。

步骤5)身份认证节点开始执行特定的身份认证方法,利用用户名、密码等,同时采用一些特殊的验证方法,来区分物联网设备和正常的客户端,排除物联网设备。

步骤6)黑客若通过运行合法客户端获得一个身份认证节点并完成身份认证,获得一个接入转发节点的ip地址,此时将记录可疑人员的相关信息,经过多次登陆信息的交集,便可以锁定攻击者的真实身份,从而对其真实身份进行防御;黑客为了尽可能多的收集所有的ip地址,在被拒绝服务后会尝试运行合法的客户端来获得节点的ip地址。但每一次在代理ipv6地址的洗牌更新时,都为我们提供了一些有关隔离可疑客户端(黑客)的重要信息。通过重复进行ipv6地址洗牌更新,并保留可疑代理/客户的记录,我们可以缩小可疑范围,并逐渐识别出大多数无辜用户。内部人员最终将被隔离,黑客的范围逐渐将被锁定。

图1中(2)、(3)为采用“挑战——应答”模式进行身份验证,身份验证通过后,以后的连接将通过(5)直接通过中继服务器访问应用服务器;(9)在身份认证受收到ddos攻击后,立即启用ipv6地址池(10)进行ipv6地址的洗牌更新,与此同时,仍有部分已经通过身份验证的用户通过(11)、(12)、(7)、(8)间接与应用服务器通信。特别指出的是,整个过程中应用服务器的网络信息是不暴露在公网环境中的。

如图2所示,为了验证本专利发明的有效性,模拟构建了实验环境,使用多线程技术模拟多台物联网设备,并通过tcpsynflood、tcpackflood、httpflood攻击等测试验证设计方法的有效性。在1.5h时刻发起ddos攻击,同时启用本发明专利采取的移动目标防御手段,启用ipv6地址切换,流量速率立即下降到正常水平,在2.25h时,再次对已收集ip地址的节点发起ddos攻击,同时启用本发明专利方法,流量速速率很快又恢复到正常水平。由此可见,本专利发明是可行有效且经济便捷的。

每一次在代理ipv6地址的洗牌更新时,我们都保留了一些有关黑客的重要信息。如图3所有,s1是前两次保留信息的集合,通过重复进行ipv6地址洗牌更新,并保留可疑用户的请求记录(s1至sn),我们可以缩小黑客范围,并逐渐识别出大多数无辜用户。内部人员最终将被隔离,黑客的范围逐渐将被锁定,即attacker=s1∩s2∩...∩sn。

本发明专利提出一种针对黑客利用物联网设备发起ddos攻击的移动目标防御方法。与现有方法不同,本发明专利无需在代理之间进行复杂的切换,也无需购买大量的服务器来实施负载均衡等措施。本发明专利采用一些特殊验证方法(如一些密码学运算等,电脑、手机等都支持,但物联网设备不支持,从而能够屏蔽部分物联网设备流量,起到保护效果)区分正常客户端和物联网设备,同时将在应用服务器前端部署两层代理节点,分别来进行身份认证和数据转发,并在身份节点检测到ddos攻击时,进行ipv6地址的切换,进而迷惑黑客。本发明专利可以保证即使代理节点在受到攻击时,部分用户也可以与服务器正常交互,简单说明如下:若黑客无法通过身份认证,他将会运行合法客户端获得一个身份认证节点并完成身份认证,获得一个接入转发节点的ip地址,黑客对获得的代理节点发动ddos攻击,代理节点检测到攻击后,启用新的ipv6地址,黑客发现攻击失效,重新解析目标地址,收集代理节点的ip地址。因为每次返回身份认证节点都是以用户ip地址的网络号为依据,故同一用户每次返回的身份认证节点都是唯一的,并且用户通过身份验证后,之后的连接都将与中继转发节点直连进而访问应用服务器内的资源,所以当攻击发生时仍有部分合法用户可以正常访问服务器。

以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1