CN113691987A - 一种dns请求处理方法、装置及相关设备 - Google Patents

一种dns请求处理方法、装置及相关设备 Download PDF

Info

Publication number
CN113691987A
CN113691987A CN202111006797.2A CN202111006797A CN113691987A CN 113691987 A CN113691987 A CN 113691987A CN 202111006797 A CN202111006797 A CN 202111006797A CN 113691987 A CN113691987 A CN 113691987A
Authority
CN
China
Prior art keywords
dns request
hash
request processing
preset
hash value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111006797.2A
Other languages
English (en)
Inventor
陈绪锋
范渊
吴卓群
王欣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DBAPPSecurity Co Ltd
Original Assignee
DBAPPSecurity Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by DBAPPSecurity Co Ltd filed Critical DBAPPSecurity Co Ltd
Priority to CN202111006797.2A priority Critical patent/CN113691987A/zh
Publication of CN113691987A publication Critical patent/CN113691987A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种DNS请求处理方法,应用于FPGA,包括当获取到DNS请求时,对所述DNS请求进行解析,获得二级域名;对所述二级域名进行哈希运算,获得哈希值;判断所述哈希值是否命中预设哈希表;若是,则根据所述预设哈希表确定所述哈希值对应的请求处理策略;利用所述请求处理策略对所述DNS请求进行处理;该DNS请求处理方法可以对异常DNS请求进行快速高效的识别处理,减少网络安全事件的发生。本申请还公开了一种DNS请求处理装置、设备及计算机可读存储介质,均具有上述有益效果。

Description

一种DNS请求处理方法、装置及相关设备
技术领域
本申请涉及计算机安全技术领域,特别涉及一种DNS请求处理方法,还涉及一种DNS请求处理装置、设备及计算机可读存储介质。
背景技术
随着5G(5th Generation Mobile Communication Technology,第五代移动通信技术)的商用化,网络流量呈指数级增长,40Gbps、100Gbps或更高的网络流量已十分常见,与此同时,网络威胁绝对数据量也在迅速增长,很多威胁都会与域名解析请求(DNS请求,Domain Name System)有关。
相关技术中主要是通过CPU(Central Processing Unit/Processor,中央处理器)处理网络数据包解析和分析,从而实现威胁数据的识别处理,但是,当面对100Gbps、200Gbps这种大流量时将需要消耗大量的CPU资源,因此,传统的基于CPU的处理方式存在延迟高、速率低、扩展差、耗电高等问题。
因此,如何对异常DNS请求进行快速高效的识别处理,减少网络安全事件的发生是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种DNS请求处理方法,该DNS请求处理方法可以对异常DNS请求进行快速高效的识别处理,减少网络安全事件的发生;本申请的另一目的是提供一种DNS请求处理装置、设备及计算机可读存储介质,均具有上述有益效果。
第一方面,本申请提供了一种DNS请求处理方法,应用于FPGA,包括:
当获取到DNS请求时,对所述DNS请求进行解析,获得二级域名;
对所述二级域名进行哈希运算,获得哈希值;
判断所述哈希值是否命中预设哈希表;
若是,则根据所述预设哈希表确定所述哈希值对应的请求处理策略;
利用所述请求处理策略对所述DNS请求进行处理。
优选的,所述对所述二级域名进行哈希运算,获得哈希值,包括:
利用预设数量个哈希函数对所述二级域名进行并行哈希运算,获得所述预设数量个哈希值;
则所述判断所述哈希值是否命中预设哈希表,包括:
判断各所述哈希值是否命中对应哈希函数对应的哈希子表;其中,所述预设哈希表包括所述预设数量个所述哈希子表。
优选的,所述利用所述请求处理策略对所述DNS请求进行处理,包括:
当所述请求处理策略为放行策略时,输出所述DNS请求;
当所述请求处理策略为阻断策略时,丢弃所述DNS请求;
当所述请求处理策略为告警策略时,输出告警提示。
优选的,获取所述DNS请求包括:
接收网络流量;
对所述网络流量进行筛选,获得所述DNS请求。
优选的,所述DNS请求处理方法还包括:
当所述哈希值未命中所述预设哈希表时,对所述DNS请求执行默认放行策略。
优选的,所述DNS请求处理方法还包括:
CPU按照预设时间间隔获取域名类异常数据;
确定所述域名类异常数据的二级域名和安全等级;
计算所述二级域名的哈希值,并将所述哈希值与所述安全等级对应的请求处理策略对应存储至所述FPGA中的预设哈希表。
优选的,所述将所述哈希值与所述安全等级对应的请求处理策略对应存储至所述FPGA中的预设哈希表,包括:
通过DMA将所述哈希值与所述安全等级对应的请求处理策略对应存储至所述FPGA中的预设哈希表。
第二方面,本申请还公开了一种DNS请求处理装置,应用于FPGA,包括:
请求解析模块,用于当获取到DNS请求时,对所述DNS请求进行解析,获得二级域名;
哈希运算模块,用于对所述二级域名进行哈希运算,获得哈希值;
哈希判断模块,用于判断所述哈希值是否命中预设哈希表;
策略确定模块,用于若所述哈希值命中所述预设哈希表,则根据所述预设哈希表确定所述哈希值对应的请求处理策略;
请求处理模块,用于利用所述请求处理策略对所述DNS请求进行处理。
第三方面,本申请还公开了一种DNS请求处理设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述的任一种DNS请求处理方法的步骤。
第四方面,本申请还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的任一种DNS请求处理方法的步骤。
本申请所提供的一种DNS请求处理方法,应用于FPGA,包括当获取到DNS请求时,对所述DNS请求进行解析,获得二级域名;对所述二级域名进行哈希运算,获得哈希值;判断所述哈希值是否命中预设哈希表;若是,则根据所述预设哈希表确定所述哈希值对应的请求处理策略;利用所述请求处理策略对所述DNS请求进行处理。
可见,本申请所提供的DNS请求处理方法,预先采集异常情报数据,生成包含有各异常情报数据对应的哈希值的预设哈希表,同时构建请求处理策略与各哈希值相对应,由此,当DNS请求的哈希值命中预设哈希表时,说明该DNS请求为异常DNS请求,此时,利用相应的请求处理策略对其进行处理即可,并且,以上实现流程基于FPGA(Field-ProgrammableGate Array,即现场可编程门阵列)实现,使得CPU资源得到有效释放,降低整体功耗,降低网络延迟,实现了对异常DNS请求的快速高效的识别处理,减少网络安全事件的发生,保证网络安全。
本申请所提供的一种DNS请求处理装置、设备及计算机可读存储介质,均具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明现有技术和本申请实施例中的技术方案,下面将对现有技术和本申请实施例描述中需要使用的附图作简要的介绍。当然,下面有关本申请实施例的附图描述的仅仅是本申请中的一部分实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图,所获得的其他附图也属于本申请的保护范围。
图1为本申请所提供的一种DNS请求处理方法的流程示意图;
图2为本申请所提供的一种DNS请求处理系统的结构示意图;
图3为本申请所提供的一种Smart NIC的结构示意图;
图4为本申请所提供的一种哈希运算方法的流程示意图;
图5为本申请所提供的一种DNS请求处理装置的结构示意图;
图6为本申请所提供的一种DNS请求处理系统的结构示意图。
具体实施方式
本申请的核心是提供一种DNS请求处理方法,该DNS请求处理方法可以对异常DNS请求进行快速高效的识别处理,减少网络安全事件的发生;本申请的另一核心是提供一种DNS请求处理装置、设备及计算机可读存储介质,也具有上述有益效果。
为了对本申请实施例中的技术方案进行更加清楚、完整地描述,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行介绍。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种DNS请求处理方法。
请参考图1,图1为本申请所提供的一种DNS请求处理方法的流程示意图,该DNS请求处理方法应用于FPGA,可包括:
S101:当获取到DNS请求时,对DNS请求进行解析,获得二级域名;
首先需要说明的是,本申请所提供的DNS请求处理方法基于FPGA实现,FPGA是在PAL(Programmable Array Logic,可编程阵列逻辑)、GAL(Generic Array Logic,通用阵列逻辑)等可编程器件的基础上进一步发展的产物,它是作为专用集成电路(ASIC,Application Specific Integrated Circuit)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
进一步,以上步骤旨在实现DNS请求的解析操作,获得其二级域名,其中,二级域名是指顶级域名之下的域名。具体而言,当FPGA获取到DNS请求时,对其进行域名解析获得相应的域名信息,进一步从中提取得到二级域名。其中,域名解析的具体实现流程参照已有技术即可,本申请在此不再赘述。
作为一种优选实施例,获取DNS请求可以包括:接收网络流量;对网络流量进行筛选,获得DNS请求。
本优选实施例提供了一种DNS请求的获取方法,即通过网络流量筛选实现,对于接收到的大数据网络流量,如接入企业网关、运营商主干网络所获得的网络流量,可对其进行数据包筛选,获得DNS请求数据包。
S102:对二级域名进行哈希运算,获得哈希值;
S103:判断哈希值是否命中预设哈希表;若是,则执行S104;
以上步骤旨在实现二级域名的哈希运算,并基于哈希值实现预设哈希表匹配,从而确定上述DNS请求是否为异常DNS请求(威胁数据包)。其中,预设哈希表中包括有各类异常DNS请求对应的哈希值,在创建预设哈希表时,可以先采集各类威胁情报数据,并计算其哈希值,进而将各哈希值存储至预设表格中,实现预设哈希表的创建。
在具体实现过程中,首先对DNS请求的二级域名进行哈希运算,获得哈希值;进一步,判断该哈希值是否命中预设哈希表,即判断该哈希值是否存在于预设哈希表中,由于预设哈希表中包括有各类异常DNS请求对应的哈希值,因此,如若上述哈希值命中预设哈希表,则说明上述DNS请求为异常DNS请求,反之则为正常DNS请求。
作为一种优选实施例,上述对二级域名进行哈希运算,获得哈希值,可以包括:利用预设数量个哈希函数对二级域名进行并行哈希运算,获得预设数量个哈希值;则上述判断哈希值是否命中预设哈希表,包括:判断各哈希值是否命中对应哈希函数对应的哈希子表;其中,预设哈希表包括预设数量个哈希子表。
本优选实施例提供了一种哈希值的计算与判断方法,具体而言,可预先设置多个哈希函数,且每个哈希函数对应一个哈希子表,所有的哈希子表组成上述预设哈希表。由此,利用多个哈希函数对DNS请求的二级域名进行并行哈希运算,获得对应数量个哈希值;进一步,判断各个哈希值是否命中其对应的哈希函数对应的哈希子表,若存在一个或多个哈希值命中相应的哈希子表,则说明DNS请求为异常DNS请求。其中,预设数量的具体取值并不影响本技术方案的实施,由技术人员根据实际情况进行设定即可,本申请对此不做限定。
S104:根据预设哈希表确定哈希值对应的请求处理策略;
本步骤旨在实现请求处理策略的确定,该请求处理策略用于实现DNS请求处理。具体而言,针对不同的异常DNS请求的哈希值,可以预先设置相对应的请求处理策略,并将其与哈希值对应存储至预设哈希表中,以便基于预设哈希表实现请求处理策略的查询,其中,请求处理策略可以包括但不限于放行、告警、阻断等策略。因此,当DNS请求的哈希值命中预设哈希表时,即可基于该预设哈希表确定该哈希值对应的请求处理策略,进而基于该请求处理策略实现DNS请求的后续处理。
S105:利用请求处理策略对DNS请求进行处理。
本步骤旨在实现DNS请求处理,具体的,在确定DNS请求哈希值对应的请求处理策略后,利用该请求处理策略对该DNS请求进行处理即可,由此,完成DNS请求的识别处理。
作为一种优选实施例,上述利用请求处理策略对DNS请求进行处理,可以包括:当请求处理策略为放行策略时,输出DNS请求;当请求处理策略为阻断策略时,丢弃DNS请求;当请求处理策略为告警策略时,输出告警提示。
本优选实施例提供了几种不同类别的请求处理策略,即放行策略、阻断策略以及告警策略。具体而言,当命中请求处理策略为放行策略时,则说明该DNS请求的威胁性较低,直接对其进行输出并进行后续处理即可;当命中请求处理策略为阻断策略时,则说明该DNS请求具有较高的威胁性,需要直接丢弃掉该DNS请求,避免其带来的网络威胁;当命中请求处理策略为告警策略时,则说明该DNS请求的威胁性一般,进行告警提示即可。
作为一种优选实施例,该DNS请求处理方法还可以包括:当哈希值未命中预设哈希表时,对DNS请求执行默认放行策略。
具体而言,对于哈希值未命中预设哈希表的DNS请求,说明该DNS请求为正常请求,此时直接对其执行默认放行策略即可,即输出该DNS请求以便于进行后续处理。
作为一种优选实施例,该DNS请求处理方法还可以包括:CPU按照预设时间间隔获取域名类异常数据;确定域名类异常数据的二级域名和安全等级;计算二级域名的哈希值,并将哈希值与安全等级对应的请求处理策略对应存储至FPGA中的预设哈希表。
本优选实施例所提供的DNS请求处理方法旨在实现预设哈希表的更新功能,即实现威胁情报数据的更新处理,以便于可以涵盖更多类型的异常DNS请求。具体而言,该过程可以由CPU实现,首先,定时获取多个域名类异常数据,并通过域名解析提取其二级域名以及安全等级,不同的安全等级可以对应于不同类别的请求处理策略;进一步,对各二级域名进行哈希值计算,获得对应的哈希值;最后,将各个哈希值与相应安全等级对应的请求处理策略相互对应,一同存储至FPGA的预设哈希表中。同样的,预设时间间隔的具体取值并不影响本技术方案的实施,由技术人员根据实际情况进行设定即可,本申请对此不做限定。
作为一种优选实施例,上述将哈希值与安全等级对应的请求处理策略对应存储至FPGA中的预设哈希表,可以包括:通过DMA(Direct Memory Access,直接存储器访问)将哈希值与安全等级对应的请求处理策略对应存储至FPGA中的预设哈希表。
本优先实施例提供了一种CPU与FPGA之间的数据传输方法,即基于DMA实现,CPU通过DMA将哈希值与对应的请求处理策略下发至FPGA中,实现预设哈希表的更新。具体的,DMA允许不同速度的硬件装置进行沟通,而不需要依赖于CPU的大量中断负载。
可见,本申请所提供的DNS请求处理方法,预先采集异常情报数据,生成包含有各异常情报数据对应的哈希值的预设哈希表,同时构建请求处理策略与各哈希值相对应,由此,当DNS请求的哈希值命中预设哈希表时,说明该DNS请求为异常DNS请求,此时,利用相应的请求处理策略对其进行处理即可,并且,以上实现流程基于FPGA实现,使得CPU资源得到有效释放,降低整体功耗,降低网络延迟,实现了对异常DNS请求的快速高效的识别处理,减少网络安全事件的发生,保证网络安全。
基于以上各实施例,本申请实施例提供了另一种DNS请求处理方法。
首先,请参考图2,图2为本申请所提供的一种DNS请求处理系统的结构示意图,基于该DNS请求处理系统的整体处理流程主要包括如下两个部分:
1、流量处理流程:
该过程基于Smart NIC(智能网卡)实现,将网络流量输入至Smart NIC中,由SmartNIC对其进行处理,并进行流量输出。其中,Smart NIC的核心在于通过FPGA协助CPU(计算)处理网络负载,编程网络接口功能,具有以下特征:
(1)通过FPGA本地化编程支持数据面和控制面功能定制,协助CPU处理网络负载;
(2)通常包含多个端口和内部交换机,可以快速转发数据并基于网络数据包、应用程序套接字等智能映射到相关应用程序;
(3)可用于检测和管理网络流量。
2、威胁情报数据更新流程:
计算机从云端情报中心获取最新的威胁情报数据,对其进行处理后得到DNS规则策略,然后插入到Cuckoo hash表(预设哈希表)中以便实现高效查询,其具体实现流程可以包括:
(1)定时从云端情报中心拉取最新的域名类威胁情报数据;
(2)对威胁情报数据提取域名、威胁标签、威胁等级等信息,并计算哈希值,以及根据威胁等级转换成相应的流量处理策略,如威胁等级高进行阻断、告警等,威胁等级低进行放行、告警等;
(3)通过DMA方式将哈希值以及对应的规则策略等下发到FPGA,并存入至cuckoohash表中,以便查询。
其中,Cuckoo hash为了解决哈希冲突的问题而提出,其可以利用较少的计算换取较大的空间,具有占用空间小、查询迅速等特性,可用于实现Bloom filter(布隆过滤器)和内存管理。
进一步,请参考图3,图3为本申请所提供的一种Smart NIC的结构示意图,基于该Smart NIC实现流量处理的具体实现流程可以包括:
1、以太网IP Core,用于处理数据链路层的输入与输出;其中,输入数据为网络流量,例如接入企业网关、运营商主干网络等。
2、数据包缓冲区,用于缓存数据包。
3、据包过滤和解析器,用于过滤非DNS请求流量,非DNS请求流量直接通过数据选路器发送出去;还用于从DNS流量中剥离出二级域名,如baidu.com。
4、如图4所示,图4为本申请所提供的一种哈希运算方法的流程示意图,使用4个hash函数并行计算出二级域名的四个hash值,并在hash表中进行高效查找,合并查找结果;如若查找成功,则执行对应的规则策略,如放行、阻断、告警等;其中,放行的数据包通过数据选路器发送出去,阻断则直接丢弃数据包。
其中,Cuckoo hash查询流程如下:
例如,查找key=baidu.com的action(规则策略),(baidu.com这条记录已经插入了sub table中的其中一张表中,这条记录是从威胁情报中心获取得到),在FPGA中实现4路并行hash值计算,每个逻辑控制单元计算均采用了不同的hash算法,最后由一个独立的逻辑控制单元汇总查询结果。
Cuckoo hash是一种查找开销非常稳定的算法,相较于1维hash来说,空间利用率很高,在4路时,负载因子高达90%以上,这样可以把hash表写入到FPGA中的BRAM中,只需要固定且少量的时钟周期就可以获取到查询结果,并且,整个处理过程没有PCI到CPU的延时,因此,实时性很高,CPU参与工作很少,有效地减轻了CPU的负担。
5、告警信息通过DMA方式发送给CPU以便管理员查看,或者进行后续处理。
可见,本申请实施例所提供的DNS请求处理方法,预先采集异常情报数据,生成包含有各异常情报数据对应的哈希值的预设哈希表,同时构建请求处理策略与各哈希值相对应,由此,当DNS请求的哈希值命中预设哈希表时,说明该DNS请求为异常DNS请求,此时,利用相应的请求处理策略对其进行处理即可,并且,以上实现流程基于FPGA实现,使得CPU资源得到有效释放,降低整体功耗,降低网络延迟,实现了对异常DNS请求的快速高效的识别处理,减少网络安全事件的发生,保证网络安全。
为解决上述技术问题,本申请还提供了一种DNS请求处理装置,请参考图5,图5为本申请所提供的一种DNS请求处理装置的结构示意图,该DNS请求处理装置应用于FPGA,可包括:
请求解析模块1,用于当获取到DNS请求时,对DNS请求进行解析,获得二级域名;
哈希运算模块2,用于对二级域名进行哈希运算,获得哈希值;
哈希判断模块3,用于判断哈希值是否命中预设哈希表;
策略确定模块4,用于若哈希值命中预设哈希表,则根据预设哈希表确定哈希值对应的请求处理策略;
请求处理模块5,用于利用请求处理策略对DNS请求进行处理。
可见,本申请实施例所提供的DNS请求处理装置,预先采集异常情报数据,生成包含有各异常情报数据对应的哈希值的预设哈希表,同时构建请求处理策略与各哈希值相对应,由此,当DNS请求的哈希值命中预设哈希表时,说明该DNS请求为异常DNS请求,此时,利用相应的请求处理策略对其进行处理即可,并且,以上实现流程基于FPGA实现,使得CPU资源得到有效释放,降低整体功耗,降低网络延迟,实现了对异常DNS请求的快速高效的识别处理,减少网络安全事件的发生,保证网络安全。
作为一种优选实施例,上述哈希运算模块2可具体用于利用预设数量个哈希函数对二级域名进行并行哈希运算,获得预设数量个哈希值;则上述哈希判断模块3可具体用于判断各哈希值是否命中对应哈希函数对应的哈希子表;其中,预设哈希表包括预设数量个哈希子表。
作为一种优选实施例,上述请求处理模块5可具体用于当请求处理策略为放行策略时,输出DNS请求;当请求处理策略为阻断策略时,丢弃DNS请求;当请求处理策略为告警策略时,输出告警提示。
作为一种优选实施例,该DNS请求处理装置还可以包括请求获取模块,用于接收网络流量;对网络流量进行筛选,获得DNS请求。
作为一种优选实施例,该DNS请求处理装置还可以包括默认放行模块,用于当哈希值未命中预设哈希表时,对DNS请求执行默认放行策略。
作为一种优选实施例,该DNS请求处理装置还可以包括信息更新模块,用于CPU按照预设时间间隔获取域名类异常数据;确定域名类异常数据的二级域名和安全等级;计算二级域名的哈希值,并将哈希值与安全等级对应的请求处理策略对应存储至FPGA中的预设哈希表。
作为一种优选实施例,上述信息更新模块可具体用于通过DMA将哈希值与安全等级对应的请求处理策略对应存储至FPGA中的预设哈希表。
对于本申请提供的装置的介绍请参照上述方法实施例,本申请在此不做赘述。
为解决上述技术问题,本申请还提供了一种DNS请求处理设备,请参考图6,图6为本申请所提供的一种DNS请求处理设备的结构示意图,该DNS请求处理设备可包括:
存储器10,用于存储计算机程序;
处理器20,用于执行计算机程序时可实现如上述任意一种DNS请求处理方法的步骤。
对于本申请提供的设备的介绍请参照上述方法实施例,本申请在此不做赘述。
为解决上述问题,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如上述任意一种DNS请求处理方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本申请提供的计算机可读存储介质的介绍请参照上述方法实施例,本申请在此不做赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的技术方案进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请的保护范围内。

Claims (10)

1.一种DNS请求处理方法,其特征在于,应用于FPGA,包括:
当获取到DNS请求时,对所述DNS请求进行解析,获得二级域名;
对所述二级域名进行哈希运算,获得哈希值;
判断所述哈希值是否命中预设哈希表;
若是,则根据所述预设哈希表确定所述哈希值对应的请求处理策略;
利用所述请求处理策略对所述DNS请求进行处理。
2.根据权利要求1所述的DNS请求处理方法,其特征在于,所述对所述二级域名进行哈希运算,获得哈希值,包括:
利用预设数量个哈希函数对所述二级域名进行并行哈希运算,获得所述预设数量个哈希值;
则所述判断所述哈希值是否命中预设哈希表,包括:
判断各所述哈希值是否命中对应哈希函数对应的哈希子表;其中,所述预设哈希表包括所述预设数量个所述哈希子表。
3.根据权利要求1所述的DNS请求处理方法,其特征在于,所述利用所述请求处理策略对所述DNS请求进行处理,包括:
当所述请求处理策略为放行策略时,输出所述DNS请求;
当所述请求处理策略为阻断策略时,丢弃所述DNS请求;
当所述请求处理策略为告警策略时,输出告警提示。
4.根据权利要求1所述的DNS请求处理方法,其特征在于,获取所述DNS请求包括:
接收网络流量;
对所述网络流量进行筛选,获得所述DNS请求。
5.根据权利要求1所述的DNS请求处理方法,其特征在于,还包括:
当所述哈希值未命中所述预设哈希表时,对所述DNS请求执行默认放行策略。
6.根据权利要求1至5任意一项所述的DNS请求处理方法,其特征在于,还包括:
CPU按照预设时间间隔获取域名类异常数据;
确定所述域名类异常数据的二级域名和安全等级;
计算所述二级域名的哈希值,并将所述哈希值与所述安全等级对应的请求处理策略对应存储至所述FPGA中的预设哈希表。
7.根据权利要求6所述的DNS请求处理方法,其特征在于,所述将所述哈希值与所述安全等级对应的请求处理策略对应存储至所述FPGA中的预设哈希表,包括:
通过DMA将所述哈希值与所述安全等级对应的请求处理策略对应存储至所述FPGA中的预设哈希表。
8.一种DNS请求处理装置,其特征在于,应用于FPGA,包括:
请求解析模块,用于当获取到DNS请求时,对所述DNS请求进行解析,获得二级域名;
哈希运算模块,用于对所述二级域名进行哈希运算,获得哈希值;
哈希判断模块,用于判断所述哈希值是否命中预设哈希表;
策略确定模块,用于若所述哈希值命中所述预设哈希表,则根据所述预设哈希表确定所述哈希值对应的请求处理策略;
请求处理模块,用于利用所述请求处理策略对所述DNS请求进行处理。
9.一种DNS请求处理设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的DNS请求处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的DNS请求处理方法的步骤。
CN202111006797.2A 2021-08-30 2021-08-30 一种dns请求处理方法、装置及相关设备 Pending CN113691987A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111006797.2A CN113691987A (zh) 2021-08-30 2021-08-30 一种dns请求处理方法、装置及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111006797.2A CN113691987A (zh) 2021-08-30 2021-08-30 一种dns请求处理方法、装置及相关设备

Publications (1)

Publication Number Publication Date
CN113691987A true CN113691987A (zh) 2021-11-23

Family

ID=78584069

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111006797.2A Pending CN113691987A (zh) 2021-08-30 2021-08-30 一种dns请求处理方法、装置及相关设备

Country Status (1)

Country Link
CN (1) CN113691987A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108206814A (zh) * 2016-12-20 2018-06-26 腾讯科技(深圳)有限公司 一种防御dns攻击的方法、装置及系统
CN108848049A (zh) * 2018-04-18 2018-11-20 山石网科通信技术有限公司 域名解析系统的代理方法及装置、存储介质和处理器
CN110378129A (zh) * 2019-06-18 2019-10-25 苏州浪潮智能科技有限公司 一种哈希加解密运算方法、系统、设备及计算机存储介质
CN112822309A (zh) * 2021-04-19 2021-05-18 北京视界云天科技有限公司 域名解析方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108206814A (zh) * 2016-12-20 2018-06-26 腾讯科技(深圳)有限公司 一种防御dns攻击的方法、装置及系统
CN108848049A (zh) * 2018-04-18 2018-11-20 山石网科通信技术有限公司 域名解析系统的代理方法及装置、存储介质和处理器
CN110378129A (zh) * 2019-06-18 2019-10-25 苏州浪潮智能科技有限公司 一种哈希加解密运算方法、系统、设备及计算机存储介质
CN112822309A (zh) * 2021-04-19 2021-05-18 北京视界云天科技有限公司 域名解析方法及装置

Similar Documents

Publication Publication Date Title
US7831822B2 (en) Real-time stateful packet inspection method and apparatus
CN108701187B (zh) 用于混合硬件软件分布式威胁分析的设备和方法
US9553845B1 (en) Methods for validating and testing firewalls and devices thereof
US8180803B2 (en) Deterministic finite automata (DFA) graph compression
US8473523B2 (en) Deterministic finite automata graph traversal with nodal bit mapping
US7949683B2 (en) Method and apparatus for traversing a compressed deterministic finite automata (DFA) graph
CN102769549B (zh) 网络安全监控的方法和装置
US10476629B2 (en) Performing upper layer inspection of a flow based on a sampling rate
CN104115463A (zh) 用于处理网络元数据的流式传输方法和系统
CN109379390B (zh) 一种基于全流量的网络安全基线生成方法
DE112012002624T5 (de) Regex-Kompilierer
CN107391770B (zh) 一种处理数据的方法、装置、设备以及存储介质
CN105429879B (zh) 流表项查询方法、设备及系统
US20110258694A1 (en) High performance packet processing using a general purpose processor
JP2004172917A (ja) パケット検索装置及びそれに用いるパケット処理検索方法並びにそのプログラム
US20230042747A1 (en) Message Processing Method and Device, Storage Medium, and Electronic Device
CN113660275B (zh) 域名系统请求的处理方法、装置、电子设备和存储介质
CN113489711B (zh) DDoS攻击的检测方法、系统、电子设备和存储介质
CN112929376A (zh) 一种流量数据的处理方法、装置、计算机设备和存储介质
CN112953841B (zh) 报文分流方法及系统
CN113691987A (zh) 一种dns请求处理方法、装置及相关设备
CN116015796A (zh) 一种流表更新方法、装置、防火墙设备及存储介质
CN109889619B (zh) 基于区块链的异常域名监测方法及装置
Nirasawa et al. Network application performance improvement with deeply programmable switch
CN112579006A (zh) 一种数据存储生命周期管理方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination