一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种家庭网关中的DNS安全防护方法和系统与流程

2022-09-03 20:05:30 来源:中国专利 TAG:

一种家庭网关中的dns安全防护方法和系统
技术领域
1.本发明涉及网络安全,尤其涉及家庭网关中的dns安全防护方法和系统。


背景技术:

2.家庭网关放置在用户家中,由于当前网络安全问题突出,因此容易遭受ddos攻击、dns响应报文伪造和篡改、非法url访问、容易遭受网络诈骗,从而给用户造成财产损失。
3.因此,需要能够改进现有技术中的缺陷的方法和系统。


技术实现要素:

4.提供本发明内容来以简化形式介绍将在以下具体实施方式部分中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
5.针对现有技术中的放置在用户家中的家庭网关的网络安全问题,本发明提出了一家庭网关中的dns安全防护方法和系统。该方法包括使用平均时延计算法来探测dns响应是否安全,通过丢弃重复dns请求和加权轮询算法来防止ddos攻击,使用raw_socket发送dns重定向报文以将用户引导至提醒web页面,以及在dns响应不安全的情况下将请求报文发送至加密dns代理服务器。
6.具体而言,在本发明的一个实施例中,提供了一种用于家庭网关中的dns安全防护的方法,所述方法包括:
7.侦听所述家庭网关的端口以获取用户向普通dns代理服务器发起的dns请求;
8.对所述dns请求执行dns ddos攻击防护;
9.在判定所述dns请求中的url不合法的情况下构造dns重定向报文;
10.从所述普通dns代理服务器接收dns响应;
11.计算所述dns响应的时延值并与平均时延值相比较;以及
12.在计算出的时延值与所述平均时延值的差值在阈值范围内的情况下确定所述dns响应是安全且正确的并将响应报文返回给用户。
13.在本发明的一个实施例中,所述平均时延值通过计算单次响应时间、单位时间内的网络波动系数、网络流量系数、以及url地域的权重的乘积并对所得乘积求均值来计算。
14.在本发明的上述实施例中,所述方法进一步包括:
15.在计算出的时延值与所述平均时延值的差值不在所述阈值范围内的情况下确定所述dns响应是不安全的;
16.将用户向所述普通dns代理服务器发起的dns请求发送至支持tls加密的私有dns代理服务器,所述私有dns代理服务器不向用户开放;以及
17.在来自所述普通代理服务器的不安全dns响应在单位时间内达到预定阈值时确定所述普通代理服务器是不安全的,并将用户的所有dns请求都导向所述私有dns代理服务器并在预定时间后切换回到所述普通dns代理服务器。
18.在本发明的一个实施例中,对所述dns请求执行dns ddos攻击防护包括:
19.在单位时间内丢弃超过对同一dns请求的预定响应次数的重复dns请求;以及
20.在单位时间内在dns请求总数超过最大阈值的情况下使用加权轮询调度算法来将dns请求均衡分散在所述普通dns代理服务器上并将发起这些dns请求的设备标记为攻击状态。
21.在本发明的一个实施例中,在判定所述dns请求中的url不合法的情况下构造dns重定向报文进一步包括:
22.使用布隆算法来查询所述url是否合法;
23.在所述url不合法的情况下使用raw_socket技术来构造并发送dns重定向报文以将用户引导至提醒web页面;
24.丢弃与包括不合法url的所述dns请求相对应的dns响应;以及
25.记录所述dns请求的时间戳和报文内容。
26.在本发明的一个实施例中,所述家庭网关的端口是udp 53端口。
27.在本发明的另一个实施例中,提供了一种用于家庭网关中的dns安全防护的系统,所述系统包括:
28.报文侦听组件,其被配置成侦听所述家庭网关的端口以获取用户向普通dns代理服务器发起的dns请求;
29.加权轮询dns请求调度组件,其被配置成对所述dns请求执行dns ddos攻击防护;
30.重定向组件,其被配置成在判定所述dns请求中的url不合法的情况下构造dns重定向报文;
31.时延探测组件,其被配置成计算所述dns响应的时延值并与平均时延值相比较,以及在计算出的时延值与所述平均时延值的差值在阈值范围内的情况下确定所述dns响应是安全且正确的并将响应报文返回给用户。
32.在本发明的一个实施例中,所述时延探测组件被进一步配置成通过计算单次响应时间、单位时间内的网络波动系数、网络流量系数、以及url地域的权重的乘积并对所得乘积求均值来计算所述平均时延值。
33.在本发明的上述实施例中,所述时延探测组件被进一步配置成:
34.在计算出的时延值与所述平均时延值的差值不在所述阈值范围内的情况下确定所述dns响应是不安全的;
35.将用户向所述普通dns代理服务器发起的dns请求发送至支持tls加密的私有dns代理服务器,所述私有dns代理服务器不向用户开放;以及
36.在来自所述普通代理服务器的不安全dns响应在单位时间内达到预定阈值时确定所述普通代理服务器是不安全的并将用户的所有dns请求都导向所述私有dns代理服务器并在预定时间后切换回到所述普通dns代理服务器。
37.在本发明的一个实施例中,所述加权轮询dns请求调度组件被进一步配置成通过以下操作来对所述dns请求执行dns ddos攻击防护:
38.在单位时间内丢弃超过对同一dns请求的预定响应次数的重复dns请求;以及
39.在单位时间内在dns请求总数超过最大阈值的情况下使用加权轮询调度算法来将dns请求均衡分散在所述普通dns代理服务器上并将发起这些dns请求的设备标记为攻击状
态。
40.在本发明的一个实施例中,所述重定向组件被进一步配置成:
41.使用布隆算法来查询所述url是否合法;
42.在所述url不合法的情况下使用raw_socket技术来构造并发送dns重定向报文以将用户引导至提醒web页面;
43.丢弃与包括不合法url的所述dns请求相对应的dns响应;以及
44.记录所述dns请求的时间戳和报文内容。
45.在本发明的一个实施例中,所述报文侦听组件被进一步配置成侦听家庭网关的udp 53端口。
46.在本发明的又一个实施例中,提供了一种存储计算机可执行指令的计算机可读介质,这些指令包括:
47.用于侦听所述家庭网关的端口以获取用户向普通dns代理服务器发起的dns请求的指令;
48.用于对所述dns请求执行dns ddos攻击防护的指令;
49.用于在判定所述dns请求中的url不合法的情况下构造dns重定向报文的指令;
50.用于从所述普通dns代理服务器接收dns响应的指令;
51.用于计算所述dns响应的时延值并与平均时延值相比较的指令;以及
52.用于在计算出的时延值与所述平均时延值的差值在阈值范围内的情况下确定所述dns响应是安全且正确的并将响应报文返回给用户的指令。
53.在结合附图研读了下文对本发明的具体示例性实施例的描述之后,本发明的其他方面、特征和实施例对于本领域普通技术人员将是明显的。尽管本发明的特征在以下可能是针对某些实施例和附图来讨论的,但本发明的全部实施例可包括本文所讨论的有利特征中的一个或多个。换言之,尽管可能讨论了一个或多个实施例具有某些有利特征,但也可以根据本文讨论的本发明的各种实施例使用此类特征中的一个或多个特征。以类似方式,尽管示例性实施例在下文可能是作为设备、系统或方法实施例进行讨论的,但是应当领会,此类示例性实施例可以在各种设备、系统、和方法中实现。
附图说明
54.为了能详细理解本公开的以上陈述的特征所用的方式,可参照各方面来对以上简要概述的内容进行更具体的描述,其中一些方面在附图中阐示。然而应该注意,附图仅阐示了本公开的某些典型方面,故不应被认为限定其范围,因为本描述可允许有其他等同有效的方面。
55.图1是根据本公开的一个实施例的基于家庭网关中的dns安全模块的dns安全防护系统的示意性框图。
56.图2示出了根据本公开的一个实施例的家庭网关中的dns安全模块的示意性框图。
57.图3示出了根据本公开的一个实施例的用于家庭网关中的dns安全防护方法的流程图。
58.图4示出了根据本公开的一个实施例的基于家庭网关中的dns安全模块的dns安全防护系统的数据流图。
具体实施方式
59.以下将参考形成本发明一部分并示出各具体示例性实施例的附图更详尽地描述各个实施例。然而,各实施例可以以许多不同的形式来实现,并且不应将其解释为限制此处所阐述的各实施例;相反地,提供这些实施例以使得本公开变得透彻和完整,并且将这些实施例的范围完全传达给本领域普通技术人员。各实施例可按照方法、系统或设备来实施。因此,这些实施例可采用硬件实现形式、全软件实现形式或者结合软件和硬件方面的实现形式。因此,以下具体实施方式并非是局限性的。
60.各流程图中的步骤可通过硬件(例如,处理器、引擎、存储器、电路)、软件(例如,操作系统、应用、驱动器、机器/处理器可执行指令)或其组合来执行。如本领域普通技术人员将理解的,各实施例中所涉及的方法可以包括比示出的更多或更少的步骤。
61.现有的家庭网关放置在用户家中,由于当前网络安全问题突出,因此容易遭受ddos攻击、dns响应报文伪造和篡改、非法url访问、容易遭受网络诈骗,从而给用户造成财产损失。针对上述技术缺陷,本公开提出了一种基于家庭网关的dns安全模块的dns安全防护方法和系统。在本公开中,使用平均时延探测法、加权轮询算法和dns加密代理解决dns的ddos攻击和dns报文伪造,并且使用重定向技术,在用户浏览非法网页时将页面引导至提醒页面,及时终止非法网页访问。
62.下文中将通过框图、数据流图以及方法流程图对本公开的各方面进行详细描述。
63.图1是根据本公开的一个实施例的基于家庭网关中的dns安全模块的dns安全防护系统的示意性框图。
64.如图1所示,家庭网关108被用来代理下挂设备的dns请求,具体而言是基于存储在网关内部的dns服务器ip地址来将来自下挂设备的dns请求转发至相应的的dns代理服务器。dns代理服务器可包括数量众多且公开的普通dns代理服务器102、支持安全tls的私有dns代理服务器104、以及被黑客攻击或控制的dns代理服务器106。在本发明的一个实施例中,dns服务器102可由用户可自定义,诸如阿里巴巴dns服务器或百度dns服务器,等等,并且支持tls加密的dns服务器104不向用户开放以保证私密性。
65.家庭网关108中的dns安全模块110可被配置成侦听网关的udp 53端口。如本领域技术人员可以理解的,dns安全模块110也可被配置成侦听网关的任何其他合适的端口处的报文,而不限于udp 53端口。
66.当侦听到用户设备112(诸如电脑、手机等)发起dns请求(向普通dns代理服务器102)后,dns安全模块110首先进行网关dns防ddos攻击过滤。具体而言,dns安全模块110比配置成确定单位时间内同一个dns请求网关最多响应的预定次数,并丢弃超过该预定最多次数的重复dns请求。如果单位时间内的dns请求数量超过最大阈值,则还使用被配置成将dns请求均衡地分散在多个dns代理服务器102上的加权轮询算法来分散接收到的dns请求,并将下挂设备112标记为攻击状态。
67.在ddos攻击过滤后,经过滤的dns请求被发送至普通dns代理服务器102,并等待dns代理服务器响应。此外,家庭网关108中的dns安全模块110还判定接收到的dns请求中的url地址是否为非法url请求,同时记录请求时间戳和请求报文内容。具体而言,dns安全模块110使用布隆算法来查询并判定接收到的url地址是否为非法url地址,并在确定为非法的情况下使用raw_socket技术来构造包括重定向提醒web页面的ip地址的dns重定向报文,
并将其发送给用户,即:将重定向web的ip地址发送给用户。如果为合法url,则将该dns请求发送至dns服务器并等待dns响应。
68.如本领域技术人员可以理解的,也可以使用除了布隆算法以外的任何其他合适的算法来确定url地址是否是非法的,并且也可以使用除了raw_socket技术以外的任何其他合适的技术来构造重定向报文并将其发送给用户。
69.当dns代理服务器102做出响应后,触发dns安全网关110的时延探测功能。具体而言,先计算本次响应的时延值,随后与平均时延值做对比。在本发明的一个实施例中,平均时延值计算方式为单次响应时间乘以单位时间内的网络波动系数乘以网络流量系数乘以url地域的权重后的平均值。
70.在本发明的一个实施例中,网络波动系数被用来反映dns服务器的响应水平。例如,国内大多数网站的ping时延值为6秒(基础值)(作为示例而非限制),如果dns时延值为10秒(实际值),则网络波动系数=实际值/基础值即10/6=1.6667(网络波动越大,平均时延越大,成正比)。网络流量系数被用来反映网关当前流量处理能力和带宽水平,即吞吐系数。网络流量系数=理论测速值/实际测速值。作为示例而非限制:500m带宽,测速的下载平均值为62.5m bit/秒,实际测速值假设为40m bit/秒,则:网络流量系数为:62.5/40=1.5625(实际测速值越大,平均时延值越小,成反比)。url地域权重被用来反映需要dns服务器解析的url的位置系数,作为示例而非限制,如果url在国内,系数为1,在亚洲系数为1.1,非洲系数为1.5,越近系数越低。
71.在本发明的一个实施例中,如果此次响应时间值与平均时延值的差值不在阈值范围内,则dns安全网关110判定此次dns响应不安全(诸如dns服务器106的ddos攻击或者伪造报文)并向支持tls加密的私有dns代理服务器104且经由安全通道来发起dns请求并接收dns响应。在本发明的另一个实施例中,当来自某一普通dns代理服务器102的不安全dns响应在单位时间内达到预定阈值时确定该普通dns代理服务器102是不安全的,并将用户的所有dns请求都导向支持tls加密的私有dns代理服务器104,并且在预定时间后切换回到普通dns代理服务器102。否则,如果此次响应时间值与平均时延值的差值在阈值范围内,则dns安全网关110判定dns响应安全,并将安全且准确的响应报文发送给用户。
72.以下将对图1中的dns安全模块110进行更详细的描述。
73.图2示出了根据本公开的一个实施例的家庭网关中的dns安全模块的示意性框图。
74.如图2所述,dns安全模块200包括报文侦听组件202、加权轮询dns请求调度组件204、重定向组件206、以及时延探测组件208。以下将对这些组件进行详细描述。
75.在本发明的一个实施例中,报文侦听组件202被配置成侦听家庭网关的端口以获取用户向普通dns代理服务器发起的dns请求。在本发明的另一个实施例中,所侦听的端口可以是udp 53端口或者任何其他合适的端口。
76.在本发明的一个实施例中,加权轮询dns请求调度组件204被配置成对接收到的dns请求执行dns ddos攻击防护。具体而言,加权轮询dns请求调度组件204被进一步配置成通过以下操作来对接收到的dns请求执行dns ddos攻击防护:在单位时间内丢弃超过对同一dns请求的预定响应次数的重复dns请求;以及在单位时间内在dns请求总数超过最大阈值的情况下使用加权轮询调度算法来将dns请求均衡分散在多个普通dns代理服务器上并将发起这些dns请求的设备标记为攻击状态。如本领域技术人员可以理解的,本文中的加权
轮询调度算法不限于任何特定算法,而是可由技术人员根据情况自行设定的任何合适的加权轮询调度算法。
77.在本发明的一个实施例中,在执行针对ddos攻击的dns请求过滤后,dns安全模块200中的重定向组件206负责判定经过滤的dns请求中的url地址是否为非法url请求。具体而言,重定向组件206被配置成首先使用布隆算法来查询并判定url是否合法,并在判定dns请求中的url不合法的情况下使用raw_socket技术来构造并发送dns重定向报文以将用户引导至提醒web页面。如果判定为合法,则将该dns请求发送至dns代理服务器并等待dns响应。
78.如本领域技术人员可以理解的,可使用任何合适的其他算法来判定url是否合法,而不限于布隆算法。
79.在接收到dns响应后,dns安全模块200中的时延探测组件208计算该dns响应的时延值并与平均时延值相比较,并且在计算出的时延值与所述平均时延值的差值在阈值范围内的情况下确定该dns响应是安全且正确的并将响应报文返回给用户。
80.在本发明的一个实施例中,时延探测组件208被进一步配置成通过计算单次响应时间、单位时间内的网络波动系数、网络流量系数、以及url地域的权重的乘积并对所得乘积求均值来计算平均时延值,如下式所示:
81.其中:
82.·
rt表示单次响应时间
83.·
nt表示网络波动系数
84.·
ft表示网络流量系数
85.·
qs表示url地域权重。
86.在本发明的上述实施例中,时延探测组件208被进一步配置成在计算出的时延值与计算出的平均时延值的差值不在该阈值范围内的情况下确定该dns响应是不安全的,将用户向普通dns代理服务器发起的dns请求发送至支持tls加密的私有dns代理服务器。在本发明的另一个实施例中,时延探测组件208被进一步配置成在来自该普通dns代理服务器的不安全响应次数达到预定阈值时确定该普通dns代理服务器是不安全的,并将用户的所有dns请求都导向该私有dns代理服务器并在预定时间后切换回到普通dns代理服务器。在本发明的一个实施例中,该私有dns代理服务器不向用户开放以保证私密性。
87.图3示出了根据本公开的一个实施例的用于家庭网关中的dns安全防护方法的流程图。
88.如图3所示,该方法开始于用户(用户设备或家庭网关的下挂设备)发起dns请求。
89.首先,在步骤302,侦听家庭网关的端口以获取用户向普通dns代理服务器发起的dns请求。在本发明的一个实施例中,所侦听的端口可以是udp 53端口。
90.接着,在步骤304,对接收到的dns请求执行dns ddos攻击防护,包括在单位时间内丢弃超过对同一dns请求的预定响应次数的重复dns请求,以及在单位时间内在dns请求总数超过最大阈值的情况下使用加权轮询调度算法来将dns请求均衡分散在多个普通dns代
理服务器上并将发起这些dns请求的设备标记为攻击状态。
91.随后,在判定步骤306,判定dns请求中的url是否合法。在本发明的一个实施例中,使用布隆算法来查询并判定接收到的url地址是否为非法url地址。
92.如果判定为非法,则该方法继续至步骤308,构造并发送dns重定向报文以将用户引导至提醒web页面,并且随后在步骤314向用户返回安全且正确的dns响应。在本发明的另一个实施例中,步骤308进一步包括丢弃与包括不合法url的dns请求相对应的dns响应并记录该dns请求的时间戳和报文内容。
93.如果判定为合法,则等待dns响应,并且在接收到dns响应后,该方法继续至判定步骤310,执行dns响应时延探测以判定dns响应是否安全。在本发明的一个实施例中,执行dns响应时延探测包括计算dns响应的时延值并与平均时延值相比较以判定计算出的时延值与平均时延值的差值是否在阈值范围内。如果判定该dns响应是安全的(即,计算出的时延值与平均时延值的差值在阈值范围内),则该方法继续至步骤314,以便向用户返回安全且正确的dns响应。
94.在本发明的一个实施例中,如果判定该dns响应是不安全的(即,计算出的时延值与平均时延值的差值在阈值范围外),则该方法继续至步骤312,将用户原本向普通dns代理服务器发起的dns请求发送至支持tls加密的私有dns代理服务器。在本发明的另一个实施例中,步骤312进一步包括如果来自普通dns代理服务器的不安全dns响应在单位时间内达到预定阈值,则判定该普通dns代理服务器是不安全的,并将用户的所有dns请求都导向该私有的加密dns代理服务器并在预定时间后切换回到普通dns代理服务器。
95.随后,在步骤314,通过该加密dns服务器经由安全通道向用户返回安全且正确的dns响应。
96.图3所示的方法至此结束以实现用户经由包括本发明的dns安全模块的家庭网关的安全网络访问。
97.图4示出了根据本公开的一个实施例的基于家庭网关中的dns安全模块的dns安全防护系统的数据流图。
98.如图4所示,用户设备向dns服务器发起包括url地址的dns请求(1),该dns请求在家庭网关中的dns安全模块处被获取。
99.dns安全模块于是对接收到的dns请求执行ddos攻击防护,包括在单位时间内过滤掉超过对同一dns请求的预定响应次数的重复dns请求,并且在单位时间内在dns请求总数超过最大阈值的情况下使用加权轮询调度算法来将dns请求均衡分散在普通dns代理服务器上。
100.此外,dns安全模块还判断接收到的dns请求中的url地址是否是非法的。如果合法,则将经过滤且包括合法url的dns请求发送至dns服务器(2),否则就构造dns重定向报文以将用户引导至提醒web页面。
101.dns服务器基于接收到的dns请求返回dns响应(3)。dns安全模块获取所返回的dns响应并计算该dns响应的时延值并与平均时延值相比较,并且在计算出的时延值与平均时延值的差值在阈值范围内的情况下确定该dns响应是安全且正确的并将响应报文返回给用户(4)。在计算出的时延值与平均时延值的差值不在阈值范围内的情况下确定该dns响应是不安全的,随后将用户向普通dns代理服务器发起的dns请求发送至支持tls加密的私有dns
代理服务器,以通过安全通道将安全且正确的dns响应返回给用户(4)。
102.综上,本发明的技术方案通过时延探测法校验dns响应结果,保证家庭网关dns服务免受外部攻击;通过加权轮询调度算法,将dns请求均衡分布在不同dns服务器上,防止家庭网关遭受ddos攻击,并过滤重复请求;使用tls加密dns服务器来保证响应报文的安全性;以及使用布隆算法对url做查询匹配,将非法url重定向至web提醒页面,阻断非法访问,及时提醒用户,保证用户财产安全。
103.以上参考根据本发明的实施例的方法、系统和计算机程序产品的框图和/或操作说明描述了本发明的实施例。框中所注明的各功能/动作可以按不同于任何流程图所示的次序出现。例如,取决于所涉及的功能/动作,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以按相反的次序来执行。
104.以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献