CN116684110A - 域名服务器的安全检测方法、装置、电子设备及存储介质 - Google Patents
域名服务器的安全检测方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116684110A CN116684110A CN202210166395.7A CN202210166395A CN116684110A CN 116684110 A CN116684110 A CN 116684110A CN 202210166395 A CN202210166395 A CN 202210166395A CN 116684110 A CN116684110 A CN 116684110A
- Authority
- CN
- China
- Prior art keywords
- domain name
- target
- detection
- name server
- request
- 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
Links
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了域名服务器的安全检测方法、装置、电子设备及存储介质,该方法包括:获取针对目标域名服务器的安全检测请求;向所述目标域名服务器发送目标检测项关联的事件请求;所述目标检测项是多个预设检测项中的任一预设检测项;根据所述目标域名服务器针对所述事件请求的返回信息,确定所述目标检测项对应的安全检测结果;根据所述多个预设检测项中各预设检测项对应的安全检测结果,确定所述目标域名服务器对应的安全检测结果。本发明提高了DNS服务器安全检测的可操作性和准确性。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种域名服务器的安全检测方法、装置、电子设备及存储介质。
背景技术
DNS(Domain Name Server,域名服务器)是进行域名(domain name)和与之相对应的IP(Internet Protocol Address,互联网协议地址)地址转换的服务器。DNS中保存有域名解析记录即域名和与IP地址的映射关系,以解析消息的域名。域名服务器是否安全对于网络安全具有非常重要的影响。
相关技术中,通常将域名服务器的安全检测归类在操作系统的安全检测中,并没有针对域名服务器的专门安全检测方法,不仅可操作性弱,而且检测结果的准确性也较差。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种域名服务器的安全检测方法、装置、电子设备及存储介质。所述技术方案如下:
一方面,提供了一种域名服务器的安全检测方法,所述方法包括:
获取针对目标域名服务器的安全检测请求;
向所述目标域名服务器发送目标检测项关联的事件请求;所述目标检测项是多个预设检测项中的任一预设检测项;
根据所述目标域名服务器针对所述事件请求的返回信息,确定所述目标检测项对应的安全检测结果;
根据所述多个预设检测项中各预设检测项对应的安全检测结果,确定所述目标域名服务器对应的安全检测结果。
另一方面,提供了一种域名服务器的安全检测装置,所述装置包括:
请求获取模块,用于获取针对目标域名服务器的安全检测请求;
请求发送模块,用于向所述目标域名服务器发送目标检测项关联的事件请求;所述目标检测项是多个预设检测项中的任一预设检测项;
第一检测结果确定模块,用于根据所述目标域名服务器针对所述事件请求的返回信息,确定所述目标检测项对应的安全检测结果;
第二检测结果确定模块,用于根据所述多个预设检测项中各预设检测项对应的安全检测结果,确定所述目标域名服务器对应的安全检测结果。
在一个示例性的实施方式中,所述目标检测项包括缓存投毒防护检测;
所述请求发送模块包括:
第一请求发送模块,用于向所述目标域名服务器发送第一域名解析请求;所述第一域名解析请求包括随机域名,所述第一域名解析请求用于触发所述目标域名服务器向上级域名授权服务器发送针对所述随机域名的查询请求;
伪造结果发送模块,用于向所述目标域名服务器发送针对所述查询请求的伪造查询结果;所述伪造查询结果用于生成所述随机域名对应的异常域名解析记录,所述异常域名解析记录用于存储在所述目标域名服务器中;
第二请求发送模块,用于向所述目标域名服务器发送第二域名解析请求;所述第二域名解析请求包括所述随机域名;
所述第一检测结果确定模块包括:
第一解析结果接收模块,用于接收所述目标域名服务器响应于所述第二域名解析请求返回的第二域名解析结果;
第一确定模块,用于在所述第二域名解析结果与所述伪造查询结果相匹配时,确定所述缓存投毒防护检测的安全检测结果为存在风险。
在一个示例性的实施方式中,所述目标检测项包括端口开放检测,所述安全检测请求中携带目标端口的信息;
所述请求发送模块包括:
第二确定模块,用于根据所述目标端口的信息,确定所述目标域名服务器中的多个待检测端口;所述待检测端口是指除所述目标端口之外的端口;
第三请求发送模块,用于向所述多个待检测端口分别发送基于传输协议的第一次握手请求;
所述第一检测结果确定模块包括:
第三确定模块,用于在接收到所述多个待检测端口中任一待检测端口针对所述第一次握手请求的返回信息时,则确定所述端口开放检测对应的安全检测结果为存在风险。
在一个示例性的实施方式中,所述目标检测项包括请求源地址访问控制策略检测;
所述请求发送模块包括:
地址确定模块,用于确定公共互联网地址和所述目标域名服务器对应的局域网地址;
第四请求发送模块,用于分别以所述局域网地址和所述公共互联网地址作为请求源地址,向所述目标域名服务器发送第三域名解析请求和第四域名解析请求;
所述第一检测结果确定模块包括:
解析结果接收模块,用于接收所述目标域名服务器响应于所述第三域名解析请求返回的第三域名解析结果,以及响应于所述第四域名解析请求返回的第四域名解析结果;
哈希值确定模块,用于分别确定所述第三域名解析结果和所述第四域名解析结果对应的哈希值,得到第一哈希值和第二哈希值;
第四确定模块,用于在所述第一哈希值与所述第二哈希值一致的情况下,确定所述请求源地址访问控制策略检测对应的安全检测结果为存在风险。
在一个示例性的实施方式中,所述目标检测项包括服务版本信息检测;
所述请求发送模块包括:
第五请求发送模块,用于向所述目标域名服务器发送服务组件信息获取请求;
所述第一检测结果确定模块包括:
第五确定模块,用于在接收到所述目标域名服务器针对所述服务组件信息获取请求返回的组件标识信息和版本信息,且所述版本信息指示为非最新版本时,确定所述服务版本信息检测对应的安全检测结果为存在风险。
在一个示例性的实施方式中,所述目标检测项包括反射攻击防护检测;
所述请求发送模块包括:
第六请求发送模块,用于按照多个第一预设发送速率,依次向所述目标域名服务器发送第五域名解析请求;所述多个第一预设发送速率按照第一预设速率梯度增加;
所述第一检测结果确定模块包括:
第六确定模块,用于在连续接收到所述目标域名服务器在各所述第一预设发送速率下针对各所述第五域名解析请求对应的返回信息时,确定所述反射攻击防护检测的安全检测结果为存在风险。
在一个示例性的实施方式中,所述目标检测项包括资源耗尽攻击防护检测;
所述请求发送模块包括:
第七确定模块,用于确定预设数量个伪造的源地址;
第七请求发送模块,用于基于所述预设数量个伪造的源地址,同时向所述目标域名服务器发送第六域名解析请求;其中,针对每个所述伪造的源地址,按照多个第二预设发送速率依次向所述目标域名服务器发送所述第六域名解析请求,所述多个第二预设发送速率按照第二预设速率梯度增加;
所述第一检测结果确定模块包括:
第八确定模块,用于在连续接收到所述目标域名服务器在各所述第二预设发送速率下针对各所述第六域名解析请求对应的返回信息时,确定所述资源耗尽攻击防护检测的安全检测结果为存在风险。
在一个示例性的实施方式中,所述目标检测项包括系统漏洞检测;
所述请求发送模块包括:
待检测漏洞确定模块,用于确定待检测漏洞;所述待检测漏洞是多个预设漏洞中的任一预设漏洞;
第八请求发送模块,用于根据所述待检测漏洞对应的漏洞检测策略,向所述目标域名服务器发送对应的漏洞检测数据包;
所述第一检测结果确定模块包括:
信息接收模块,用于接收所述目标域名服务器针对所述漏洞检测数据包的返回信息;
第九确定模块,用于在所述返回信息与所述待检测漏洞对应的参考漏洞信息相匹配时,确定所述待检测漏洞对应的安全检测结果为存在风险;所述系统漏洞检测的安全检测结果包括所述待检测漏洞对应的安全检测结果。
在一个示例性的实施方式中,第二检测结果确定模块包括:
查找模块,用于查找所述安全检测结果为存在风险的目标预设检测项;
风险等级确定模块,用于在查找到所述目标预设检测项时,根据所述目标预设检测项的预设风险等级,确定所述目标域名服务器的安全检测结果为存在风险的风险等级;
第十确定模块,用于在未查找到所述目标预设检测项时,确定所述目标域名服务器的安全检测结果为安全。
在一个示例性的实施方式中,所述装置还包括:
展示模块,用于展示所述目标域名服务器的安全检测结果。
另一方面,提供了一种电子设备,包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现上述的域名服务器的安全检测方法。
另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如上述的域名服务器的安全检测方法。
另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行以实现如上述的域名服务器的安全检测方法。
本发明实施例通过向目标域名服务器发送目标检测项关联的事件请求,根据目标域名服务器针对事件请求的返回信息确定目标检测项对应的安全检测结果,进而根据多个预设检测项中各预设检测项对应的安全检测结果确定目标域名服务器对应的安全检测结果,从而在完全不考虑域名服务器的内部结构和内部特征的情况下得到域名服务器的安全检测结果,以黑盒模式进行检测,提高了DNS服务器安全检测的可操作性强,并且结合多个预设检测项的安全检测结果综合确定域名服务器的案件检测结果,提高了对于DNS服务器安全检测的准确性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种实施环境的示意图;
图2是本发明实施例提供的一种域名服务器的安全检测方法的流程示意图;
图3是本发明实施例提供的另一种域名服务器的安全检测方法的流程示意图;
图4是本发明实施例提供的目标域名服务器的安全检测结果在终端展示的一个示例;
图5是本发明实施例提供的另一种域名服务器的安全检测方法的流程示意图;
图6是本发明实施例提供的一种域名服务器的安全检测装置的结构框图;
图7是本发明实施例提供的一种电子设备的硬件结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
可以理解的是,在本申请的具体实施方式中,涉及到用户信息等相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
请参阅图1,其所示为本发明实施例提供的一种实施环境示意图,该实施环境可以包括终端110和安全检测服务器120,其中,终端110和安全检测服务器120可以通过有线网络或者无线网络连接通信。
终端110可以包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。终端110中运行有提供交互功能的客户端软件如应用程序(Application,简称为App),该应用程序可以是独立的应用程序,也可以是应用程序中的子程序。
安全检测服务器120可以是为终端110中的应用程序提供后台服务的服务器,具体的,该后台服务可以是对域名服务器的安全检测服务。用户可以通过终端110输入需要进行安全检测的域名服务器的IP地址信息,并触发终端110基于该IP地址信息向安全检测服务器120发送针对目标域名服务器的安全检测请求,其中,目标域名服务器即为输入的IP地址信息对应的域名服务器。安全检测服务器120获取到该安全检测请求后即可以基于本发明实施例的方法对目标域名服务器进行安全检测。
具体的实施中,可以通过终端110向用户展示图1所示的检测目标输入界面,该界面中包括IP地址输入框、端口输入框和请求确认按钮,其中IP地址输入框中的IP地址信息指示需要进行安全检测的目标域名服务器,属于必填配置项;端口输入框中的端口信息指示目标端口,属于非必填项,在该端口输入框中没有填入端口信息的情况下,可以默认为域名服务器常用的53端口。当用户触发如点击该界面中的请求确认按钮后,可以向终端110发出安全检测指令,进而终端110响应于该安全检测指令基于该界面中的输入信息向安全检测服务器120发送安全检测请求。
需要说明的是,安全检测服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content DeliveryNetwork,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器。
在一个示例性的实施方式中,安全检测服务器120可以包括存储模块,该存储模块用于存储安全检测过程中的数据。示例性的,该存储模块可以是一整套数据库集群,该数据库集群可以采用主备的方式保证数据的可靠性,不会丢失。具体的实施中,正常情况下,主数据库承载所有的数据读写工作,备用数据库从主数据库同步数据,进行数据备份;当主数据库发生故障无法对外提供数据读写服务时,备用数据库承担数据读写服务,同时主数据库与备用数据库之间的数据同步中断;当主数据库故障修复后,主数据库从备用数据库同步数据,进行数据备份,同时备用数据库切换成主数据库角色承担数据读写的工作。
在一个示例性的实施方式中,安全检测服务器120还可以包括日志模块,该日志模块用于记录安全检测过程中的运行日志,保证系统运行信息可以被追溯。具体的实施中,日志模块可以是存储模块中的一个子模块,运行日志存储在该子模块中,例如日志模块可以是数据库集群中的日志服务器,同时运行日志还可以文本的方式存储在本地。
日志可以包括多个等级,例如,ERROR日志、WARN日志、INFO日志、DEBUG日志,其中,ERROR日志是最高级别错误记录,表明系统发生了非常严重的故障,直接导致无法正常工作,ERROR日志需要管理员重点关注,及时解决保障业务系统正常运行;WARN日志是低级别异常日志,表明系统在运行过程中触发了异常过程,但不影响系统的正常工作,下一阶段的业务流程可以正常执行,WARN日志需要管理员足够关注,通常表示系统运行存在一定的风险,系统可能出现运行故障;INFO日志通常记录系统关键信息,保留系统正常工作期间关键运行数据,管理员在日常运维工作中也需要进行一定的关注;DEBUG日志主要是各类详细系统信息的记录,起到调试系统的作用,包括参数详细信息,调试细节相关信息,运行返回信息等等其他各类信息。
在一个示例性的实施方式,终端110和安全检测服务器120均可以是区块链系统中的节点设备,能够将获取到以及生成的信息共享给区块链系统中的其他节点设备,实现多个节点设备之间的信息共享。区块链系统中的多个节点设备可以配置有同一条区块链,该区块链由多个区块组成,并且前后相邻的区块具有关联关系,使得任一区块中的数据被篡改时都能通过下一区块检测到,从而能够避免区块链中的数据被篡改,保证区块链中数据的安全性和可靠性。
本发明实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。
其中,云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术(Cloudtechnology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
本发明实施例涉及的云应用包括云安全(Cloud Security),云安全是指基于云计算商业模式应用的安全软件、硬件、用户、机构、安全云平台的总称。云安全融合了并行处理、网格计算、未知病毒行为判断等新兴技术和概念,通过网状的大量客户端对网络中软件行为的异常监测,获取互联网中木马、恶意程序的最新信息,并发送到服务端进行自动分析和处理,再把病毒和木马的解决方案分发到每一个客户端。
云安全主要研究方向包括:1.云计算安全,主要研究如何保障云自身及云上各种应用的安全,包括云计算机系统安全、用户数据的安全存储与隔离、用户接入认证、信息传输安全、网络攻击防护、合规审计等;2.安全基础设施的云化,主要研究如何采用云计算新建与整合安全基础设施资源,优化安全防护机制,包括通过云计算技术构建超大规模安全事件、信息采集与处理平台,实现对海量信息的采集与关联分析,提升全网安全事件把控能力及风险控制能力;3.云安全服务,主要研究各种基于云计算平台为用户提供的安全服务,如防病毒服务等。
请参阅图2,其所示为本发明实施例提供的一种域名服务器的安全检测方法的流程示意图,该方法可以应用于图1中的安全检测服务器。需要说明的是,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,所述方法可以包括:
S201,获取针对目标域名服务器的安全检测请求。
其中,目标域名服务器为提供域名解析服务的DNS服务器,安全检测请求可以携带检测目标信息,该检测目标信息可以包括目标IP地址信息和目标端口的信息,目标IP地址信息为待检测的目标域名服务器的IP地址,目标端口的信息指示目标域名服务器开放的端口。
具体的实施中,目标IP地址信息可以通过终端提供的检测目标输入界面进行输入,目标端口的信息也可以通过终端提供的检测目标输入界面进行输入,通常情况下,在未输入目标端口的信息时可以采用默认端口的信息作为目标端口的信息,该默认端口可以是域名服务器常用的53端口。终端可以响应于对检测目标输入界面中输入信息的确认操作,根据该界面中的输入信息向安全检测服务器发送安全检测请求,从而安全检测服务器通过解析该安全检测请求中的目标IP地址信息可以确定需要进行安全检测的目标域名服务器,进而结合安全检测请求中目标端口的信息对目标域名服务器进行安全检测。
S203,向所述目标域名服务器发送目标检测项关联的事件请求;所述目标检测项是多个预设检测项中的任一预设检测项。
其中,多个预设检测项可以根据实际安全检测需要进行设定。本发明实施例中,多个预设检测项可以包括:DNS缓存投毒防护检测、DNS端口开放检测、DNS请求源IP访问控制策略检测、DNS服务版本信息检测、DNS反射攻击防护检测、DNS资源耗尽攻击防护检测、DNS系统漏洞检测中的两个或者两个以上。其中,DNS系统漏洞检测可以包括未授权访问漏洞检测、弱口令问题检测、远程命令执行漏洞检测、信息泄露漏洞检测、拒绝服务漏洞检测和其他系统漏洞检测(即以上漏洞之外的漏洞)。
目标检测项可以是上述多个预设检测项的任一预设检测项,也就是说,安全检测服务器可以针对上述多个预设检测项中的任一预设检测项对目标域名服务器进行检测。可以理解的,不同预设检测项由于其检测目的不同,因此检测过程中向目标域名服务器发送的关联事情请求的类型和方式也不同。
关于各预设检测项对应的安全检测过程将在本发明实施例的后续进行详细说明。
S205,根据所述目标域名服务器针对所述事件请求的返回信息,确定所述目标检测项对应的安全检测结果。
其中,目标检测项对应的安全检测结果可以包括存在风险、不存在风险(即安全)。
S207,根据所述多个预设检测项中各预设检测项对应的安全检测结果,确定所述目标域名服务器对应的安全检测结果。
本发明实施例中,当目标检测项依次为多个预设检测项中的预设检测项时,可以得到每个预设检测项对应的安全检测结果,通过综合考虑各预设检测项对应的安全检测结果可以确定目标域名服务器对应的安全检测结果。
示例性的,若存在预设检测项对应的安全检测结果为存在风险,则可以确定目标域名服务器对应的安全检测结果为存在风险;反之,若多个预设检测项对应的安全检测结果均为不存在风险,也即不存在预设检测项对应的安全检测结果为存在风险,则可以确定目标域名服务器对应的安全检测结果为不存在风险。可以理解的,实际应用中还可以根据各预设检测项的安全检测结果设置其他的组合方式来综合确定目标域名服务器的安全检测结果。
在一个示例性的实施方式中,为了能够更加直观的表征目标域名服务器存在风险的危险程度,以使得业务人员能够及时采取合理的维护措施,可以在确定目标域名服务器存在风险的情况下结合各预设检测项对应的预设风险等级确定目标域名服务器存在风险的风险等级。其中,预设检测项对应的预设风险等级表明在该预设检测项的安全检测结果为存在风险的情况下将会造成的危害程度,例如,预设风险等级由低到高可以依次包括低危、中危、高危和严重这四个等级。基于此,如图3所示,上述步骤S207在实施时可以包括:
S301,查找安全检测结果为存在风险的目标预设检测项。
S303,若查找到所述目标预设检测项,则根据所述目标预设检测项的预设风险等级,确定所述目标域名服务器的安全检测结果为存在风险的风险等级。
S305,若未查找到所述目标预设检测项,则确定所述目标域名服务器的安全检测结果为安全。
具体的实施中,可以预先配置各预设检测项的安全检测结果为存在风险时分别对应的预设风险等级,如下表一所示为各预设检测项在安全检测结果为存在风险情况下对应的预设风险等级示例:
表一
实际应用中,目标预设检测项可能会是多个,在这种情况下,在根据所述目标预设检测项的预设风险等级,确定所述目标域名服务器的安全检测结果为存在风险的风险等级时,可以先确定多个目标预设检测项中的最高预设风险等级,然后根据最高预设风险等级的数量来确定目标域名服务器存在风险的风险等级。示例性的,可以在最高预设风险等级的数量为一个时,将该最高预设风险等级作为目标域名服务器存在风险的风险等级;在最高预设风险等级的数量为两个或者两个以上时,将该最高预设风险等级的上一级预设风险等级作为目标域名服务器存在风险的风险等级。如下表二所示为针对域名服务器的风险等级评估策略的示例:
表二
举例而言,假设有5个预设检测项的安全检测结果为存在风险即有5个目标预设检测项,且这5个目标预设检测项对应的预设风险等级分别为中危、高危、高危、低危、安全,则可以确定其中最高预设风险等级为高危,且最高预设风险等级的数量为2,则结合上述表二可以确定目标域名服务器存在风险的风险等级为严重。
在一个示例性的实施方式中,为了使得目标域名服务器的安全检测结果更加直观的表现,还可以展示目标域名服务器的安全检测结果。具体的,安全检测服务器可以将目标域名服务器的安全检测结果发送给终端,以使得终端展示目标域名服务器的安全检测结果。如图4所示为目标域名服务器的安全检测结果在终端展示的一个示例,在目标域名服务器的安全检测结果为存在风险时直接将评估后的风险等级进行展示,从而相关业务人员可以直观的获悉目标域名服务器当前存在的风险等级,以及时采用相应维护措施,有利于提高对于目标域名服务器的维护效率和维护的有效性。
可以理解的,为了使得相关业务人员能够快速获悉风险的具体所在,以提高对于目标域名服务器的维护效率,安全检测服务器还可以存储各预设检测项的安全检测结果,在展示目标域名服务器的安全检测结果的界面上可以提供获取各预设检测项的安全检测结果的入口,从而安全检测服务器可以响应于基于该入口触发的获取请求返回各预设检测项对应的安全检测结果。其中,该入口的形式可以如图4中所示的“下载检测详情”的按钮。
由本发明实施例的上述技术方案可见,本发明实施例中在完全不考虑域名服务器的内部结构和内部特征的情况下,可以得到域名服务器的安全检测结果,相当于是黑盒模式的检测,成本低、效率高且可操作性强,不具备相关技术能力的业务人员也可以直接使用;另外,对于域名服务器的安全检测结果结合多个预设检测项的安全检测结果得到,确保了域名服务器的安全检测准确性。
下面对各预设检测项对应的安全检测过程进行详细说明。
在一个示例性的实施方式中,本发明实施例的目标检测项可以为DNS缓存投毒防护检测。
实际应用中,DNS缓存投毒攻击原理是利用特殊的方法攻击DNS服务器的解析记录,从而将用户对合法网站的访问引导到非法IP上。DNS缓存投毒过程为:(1)攻击者先向DNS服务器(即本发明实施例中待检测的域名服务器)送一个不存在域名的DNS解析请求报文,触发DNS服务器向上级的DNS授权服务器发出查询请求;(2)攻击者向DNS服务器发送大量伪造的DNS授权服务器回应报文,在DNS授权服务器的真实回应到达DNS服务器之前命中DNS服务器的请求信息,将恶意的DNS解析记录写入到DNS服务器中;(3)DNS服务器将恶意的解析记录返回给正常用户,正常用户访问合法域名将会将请求发送到非法的解析记录指向的IP地址,从而对互联网用户造成危害。
目前DNS服务器的缓存投毒的防护方法为:DNS服务器检查收到的DNS授权服务器的回应报文中的Query ID和域名,判断其与自己发出的请求报文中的Query ID和域名是否匹配。如果某个命中会话对应投毒报文中的域名或Query ID与上述请求报文不匹配,则丢弃该投毒报文,同时还可以删除该会话以免后续投毒报文完成投毒,或者直接封禁攻击者IP,拒绝响应攻击者IP的请求。
基于上述DNS缓存投毒攻击原理和DNS服务器的缓存投毒的防护方法,本发明实施例在DNS缓存投毒防护检测时,上述步骤S203的实施可以包括:
向所述目标域名服务器发送第一域名解析请求;所述第一域名解析请求包括随机域名,所述第一域名解析请求用于触发所述目标域名服务器向上级域名授权服务器发送针对所述随机域名的查询请求;
向所述目标域名服务器发送针对所述查询请求的伪造查询结果;所述伪造查询结果用于生成所述随机域名对应的异常域名解析记录,所述异常域名解析记录用于存储在所述目标域名服务器中。
向所述目标域名服务器发送第二域名解析请求;所述第二域名解析请求包括所述随机域名。
相应的,上述步骤S205的实施可以包括:
接收所述目标域名服务器响应于所述第二域名解析请求返回的第二域名解析结果;
在所述第二域名解析结果与所述伪造查询结果相匹配时,确定所述缓存投毒防护检测的安全检测结果为存在风险;反之,当第二域名解析结果与所述伪造查询结果不匹配时,可以确定缓存投毒防护检测的安全检测结果为不存在风险。
具体的,本发明实施例在DNS缓存投毒防护检测时,先模拟攻击者向目标域名服务器发送一个随机域名Da的第一域名解析请求,该随机域名Da不在目标域名服务器存储的解析记录中,从而该第一域名解析请求可以触发目标域名服务器向上级的DNS授权服务器发出查询请求;然后模拟攻击者向目标域名服务器发送大量伪造的DNS授权服务器回应报文,在DNS授权服务器的真实回应报文到达目标域名服务器之前命中目标域名服务器发出的查询请求,从而将恶意的DNS解析记录写入到目标域名服务器中;然后模拟攻击者再向目标域名服务器发送随机域名Da的第二域名解析请求,目标域名服务器返回相应的域名解析结果,若该域名解析结果与伪造的回应报文相一致,则说明该域名解析结果是基于被篡改的解析记录生成的,表明目标域名服务器不具备DNS缓存投毒防护能力,存在被缓存投毒的风险。
在一个示例性的实施方式中,本发明实施例的目标检测项可以是端口开放检测。
实际应用中,通常安全的DNS服务器对外开放的端口仅有提供DNS解析服务的目标端口如TCP(Transmission Control Protocol,传输控制协议)/UDP(User DatagramProtocol,用户数据包协议)53端口,不应该开放非目标端口允许外部访问,这样可以有效地收敛风险暴露面,保证DNS服务器的安全。因此,端口开放检测就是需要检测目标域名服务器是否开放了除目标端口如TCP/UDP 53以外的其他端口。其中,端口开放检测的范围为0-65535,包括TCP端口开放检测和UDP端口开放检测。
传统的端口扫描技术依靠TCP的三次握手去连接,TCP协议是一个面向连接的、可靠的传输协议,TCP连接建立的各个过程都需要保存许多状态,正是由于操作系统在底层实现了这些状态的存储,才使得在应用层能更方便的对数据进行处理,但这种方便、可靠的同时随之而来的较多的系统资源占用。在传统的操作系统中,系统TCP/IP协议栈能同时保持的连接数也就几十或几百,即便是一些网络应用服务器,默认保持的连接数只有几千左右,传统的扫描技术在面对应用层使用上万的连接进行扫描时,很容易就达到了连接数的上限,从而使得传统的端口扫描方式在扫描速度上受到了极大的限制。
考虑到待检测端口的数量众多,本发明实施例为了提高端口开放检测的效率,采用无状态端口扫描方式进行端口开放检测。
无状态端口扫描方式中的无状态是指不需要由操作系统关心TCP连接的状态,用于探测所建立的所有连接,已不再占用操作系统的TCP/IP协议栈资源,而是应用程序在底层直接进行管理和维持,不需要操作系统对连接状态进行会话组包,在实现上是把关键的状态位及数据信息通过程序直接放在数据包的本身,通过这种方式,能同时保持的连接数已经不再受限于操作系统相对于操作系统来说,连接数量上限得到了巨大的提升,从而使扫描速度得到了极大的提升。也就是说,无状态端口扫描方式中不依赖系统协议栈,不需要有握手的独立发包收包逻辑,可以同时向多个待检测端口发送基于传输协议的第一次握手请求。
基于上述无状态端口扫描原理,本发明实施例在端口开放检测时,上述步骤S203的实施可以包括:
根据目标端口的信息,确定所述目标域名服务器中的多个待检测端口;所述待检测端口是指除所述目标端口之外得到端口;
向所述多个待检测端口分别发送基于传输协议的第一次握手请求。
相应的,上述步骤S205的实施可以包括:
若接收到所述多个待检测端口中任一待检测端口针对所述第一次握手请求的返回信息,则确定所述端口开放检测对应的安全检测结果为存在风险;反之,若未接收到所述多个待检测端口中任一待检测端口针对所述第一次握手请求的返回信息,则确定端口开放检测对应的安全检测结果为不存在风险。
其中,在向多个待检测端口分别发送基于传输协议的第一次握手请求时,对于TCP端口,发送基于TCP传输协议的第一次握手请求,对于UDP端口,发送基于UDP传输协议的第一次握手请求。
可见,在上述端口开放检测中可以同时向多个待检测端口发送相应的第一次握手请求,且仅需要一次握手请求即可实现对端口开放的扫描,大大提高了端口开放检测的效率。
在一个示例性的实施方式中,本发明实施例的目标检测项可以是DNS请求源地址访问控制策略检测。
实际应用中,局域网(如企业内网)使用的域名服务器应该是专门为局域网内部业务服务的,不应该开放给公共互联网任意用户使用。为了保证域名服务器服务的隐私性安全,在网络层面也需要有访问控制策略控制,仅仅允许必要的IP(Internet ProtocolAddress,互联网协议地址)地址访问域名服务器,这样即使域名服务存在安全问题,没有被允许访问的IP地址也无法对域名服务器发起攻击,对域名服务的安全性是一个重要保证。
基于此,本发明实施例在请求源地址访问控制策略检测时,上述步骤S203的实施可以包括:
确定公共互联网地址和所述目标域名服务器对应的局域网地址;
分别以所述局域网地址和所述公共互联网地址作为请求源地址,向所述目标域名服务器发送第三域名解析请求和第四域名解析请求。
相应的,上述步骤S205的实施可以包括:
接收所述目标域名服务器响应于所述第三域名解析请求返回的第三域名解析结果,以及响应于所述第四域名解析请求返回的第四域名解析结果;
分别确定所述第三域名解析结果和所述第四域名解析结果对应的哈希值,得到第一哈希值和第二哈希值;
在所述第一哈希值与所述第二哈希值不一致的情况下,确定所述请求源地址访问控制策略检测对应的安全检测结果为存在风险。
具体的实施中,安全检测服务器上可以配置两个网卡,其中一个网卡的地址为公共互联网的IP地址Y,另一个网卡为目标域名服务器对应的局域网的IP地址X。在进行请求源地址访问控制策略检测时从上述两个网卡分别获取IP地址X和IP地址Y;然后使用IP地址X对目标域名服务器发起正常域名解析请求(即发送第三域名解析请求),得到相应的解析结果,对该解析结果进行MD5(信息摘要算法,MD5 Message-Digest Algorithm)计算得到该解析结果对应的第一哈希值Mx;使用IP地址Y对目标域名服务器发起正常域名解析请求(即发送第四域名解析请求),得到相应的解析结果,对该解析结果进行MD5计算得到该解析结果对应的第二哈希值My;然后,将第一哈希值Mx与第二哈希值My进行比对,如果二者一致,则说明目标域名服务器没有网络层的访问控制策略防护,任意IP都可以发起DNS请求,存在安全风险;反之,若二者不一致则说明目标域名服务器具备网络层的访问控制策略保护,不存在风险。
在一个示例性的实施方式中,本发明实施例的目标检测项可以是DNS服务版本信息检测。
域名解析服务作为一项基础的互联网应用服务,DNS服务器在对外提供DNS服务的过程中应当尽量减少DNS解析过程之外的信息,避免内部服务状态被攻击者获取,其中最为敏感的是搭建DNS服务的组件名称及版本信息,攻击者将会以这些信息为基础,发起进一步有针对性的攻击。因此需要检测DNS服务器是否对外泄露DNS服务组件名称及版本信息,如果对外泄露组件名称及版本信息,还需要对组件名称和组件版本进行版本判断,因为服务组件版本过于陈旧往往存在严重的安全漏洞,通常最新版本的DNS服务组件会将历史爆发的安全漏洞进行修复。
基于此,本发明实施例在服务版本信息检测时,上述步骤S203的实施可以包括:向所述目标域名服务器发送服务组件信息获取请求。
相应的,上述步骤S205的实施可以包括:
若接收到所述目标域名服务器针对所述服务组件信息获取请求返回的组件标识信息和版本信息,且所述版本信息指示为非最新版本,则确定所述服务版本信息检测对应的安全检测结果为存在风险。
具体的实施中,可以采用dig和nslookup命令工具,根据目标域名服务器的IP地址向目标域名服务器发送服务组件信息获取请求。假设目标域名服务器的IP地址为A.A.A.A,则Linux系统下的服务组件信息获取请求可以表示为:dig@A.A.A.A version.bind chaostxt,Windows系统下服务组件信息获取请求可以表示为:nslookup-q=txt-class=CHAOSversion.bind.A.A.A.A。
目标域名服务器在接收到服务组件信息获取请求后可以返回服务组件的组件标识信息(如组件名称)和版本信息,如果目标域名服务器在接收到服务组件信息获取请求之后没有返回组件标识信息和版本信息,则确定目标域名服务器的域名服务信息保护是安全的,不存在风险;如果目标域名服务器在接收到服务组件信息获取请求之后返回了组件标识信息和版本信息,且该版本信息指示为最新版本,也可以确定目标域名服务器的域名服务信息保护是安全的,不存在风险;如果返回了组件标识信息和版本信息,且该版本信息指示为非最新版本,则确定目标域名服务器的域名服务信息存在安全风险,也即上述服务版本信息检测对应的安全检测结果为存在风险。
在一个示例性的实施方式中,本发明实施例的目标检测项可以是DNS反射攻击防护检测。
DNS反射放大攻击主要是利用DNS回复包比请求包大的特点,可以将流量放大,攻击原理是:攻击者伪造DNS请求包的源IP地址为受害者IP,将DNS应答包的流量引入受害的服务器。关键性的一点是DNS服务使用的是UDP协议,不需要TCP的三次握手来进行请求源IP的校验,从而DNS请求源IP可以随意进行伪造。
正常的DNS查询过程是:真实用户使用真实的源IP地址向DNS服务器发起DNS查询请求,DNS服务器响应该请求向用户的源IP回复DNS服务应答。而在DNS反射攻击过程中,攻击者伪造大量DNS请求的源IP地址为被攻击者的IP地址,向DNS服务器发起DNS查询请求,DNS服务器响应该请求向被攻击者的IP地址回复大量DNS服务应答报文,造成被攻击者的网络拥塞。由于DNS服务器使用的UDP协议本身没办法校验DNS请求的来源IP地址,因此针对DNS反射攻击的防护方式只能从DNS请求应答过程中着手,限制对单一源IP地址的应答包发包频率。
基于此,本发明实施例在DNS反射攻击防护检测时,上述步骤S203的实施可以包括:按照多个第一预设发送速率,依次向所述目标域名服务器发送第五域名解析请求,所述多个第一预设发送速率按照第一预设速率梯度增加。
相应的,上述步骤S205的实施可以包括:
若连续接收到所述目标域名服务器在各所述第一预设发送速率下针对各所述第五域名解析请求对应的返回信息,则确定所述反射攻击防护检测的安全检测结果为存在风险。
其中,第一预设发送速率表示单位时间内发送的请求数量,多个第一预设发送速率可以根据实际经验进行设定,第一预设速率梯度为后一个第一预设发送速率与前一个第一预设发送速率的比值,该第一预设速率梯度也可以根据实际需要进行设定。
举例而言,多个第一预设发送速率可以依次为10个/秒,100个/秒,1000个/秒,10000个/秒,则第一预设速率梯度为10,也就是说,按照10个/秒、100个/秒、1000个/秒、10000个/秒依次向目标域名服务器发送解析请求,如果DNS应答可以持续成功接收也即能够连续接收到目标域名服务器在各第一预设发送速率下针对各解析请求对应的返回信息,则说明目标域名服务器没有针对单一IP地址的DNS应答限频的能力,存在被利用发起DNS反射攻击安全风险,上述反射攻击防护检测的安全检测结果为存在风险;反之,如果DNS应答不能持续成功接收,则说明目标域名服务器有针对单一IP地址的DNS应答限频的能力,不存在被利用发起DNS反射攻击安全风险,上述反射攻击防护检测的安全检测结果为不存在风险。
在一个示例性的实施方式中,本发明实施例的目标检测项可以是DNS资源耗尽攻击防护检测。
DNS服务器响应用户的DNS解析请求,需要在本地的DNS解析记录中进行检索,需要消耗一定的资源,如果攻击者发起大量DNS解析请求,DNS服务器资源被恶意请求占用,无法对正常用的DNS解析请求进行解析回复,将会造成DNS解析服务的不可用,这种攻击也被称为DOS攻击(Denial of Service,拒绝服务攻击)。
基于此,本发明实施例在DNS资源耗尽攻击防护检测时,上述步骤S203的实施可以包括:
确定预设数量个伪造的源地址;
基于所述预设数量个伪造的源地址,同时向所述目标域名服务器发送第六域名解析请求;其中,针对每个所述伪造的源地址,按照多个第二预设发送速率依次向所述目标域名服务器发送所述第六域名解析请求,所述多个第二预设发送速率按照第二预设速率梯度增加。
相应的,上述步骤S205的实施可以包括:
若连续接收到所述目标域名服务器在各所述第二预设发送速率下针对各所述第六域名解析请求对应的返回信息,则确定所述资源耗尽攻击防护检测的安全检测结果为存在风险。
其中,预设数量可以根据实际经验进行设定,例如可以是100;第二预设发送速率表示单位时间内发送的请求数量,多个第二预设发送速率可以根据实际经验进行设定,第二预设速率梯度为后一个第二预设发送速率与前一个第二预设发送速率的比值,该第二预设速率梯度也可以根据实际需要进行设定。需要说明的是,该第二预设发送速率和第二预设速率梯度与本发明实施例中的第一预设发送速率和第一预设速率梯度可以相同也可以不同。
举例而言,在DNS资源耗尽攻击防护检测时,可以模拟攻击者使用100个伪造的源IP地址向目标域名服务器同时发起大量解析请求,针对每个伪造的源IP地址可以按照10个/秒、100个/秒、1000个/秒、10000个/秒依次向目标域名服务器发送解析请求,如果DNS应答可以持续成功接收也即能够连续接收到目标域名服务器在各第二预设发送速率下针对各解析请求对应的返回信息,则说明目标域名服务器不具备防护DNS资源耗尽攻击的能力,上述DNS资源耗尽攻击防护检测的安全检测结果为存在风险;反之,如果DNS应答不能持续成功接收,则说明目标域名服务器具备防护DNS资源耗尽攻击的能力,上述DNS资源耗尽攻击防护检测的安全检测结果为不存在风险。
除了以上针对域名服务器的安全能力检测之外,还需要对域名服务器本身的系统进行全面的漏洞检测,保证域名服务器本身的安全性,避免服务器本身存在安全问题被攻击者攻破而影响到DNS服务。
基于此,在一个示例性的实施方式中,本发明实施例的目标检测项还可以是DNS系统漏洞检测。当目标检测项为DNS系统漏洞检测时,上述步骤S203的实施可以包括:
确定待检测漏洞;所述待检测漏洞是多个预设漏洞中的任一预设漏洞;
根据所述待检测漏洞对应的漏洞检测策略,向所述目标域名服务器发送对应的漏洞检测数据包。
相应的,上述步骤S205的实施可以包括:
接收所述目标域名服务器针对所述漏洞检测数据包的返回信息;
若所述返回信息与所述待检测漏洞对应的参考漏洞信息相匹配,则确定所述系统漏洞检测对应的安全检测结果为存在风险,所述系统漏洞检测的安全检测结果包括所述待检测漏洞对应的安全检测结果。
其中,多个预设漏洞可以包括未授权访问漏洞、弱口令问题、远程命令执行漏洞、信息泄露漏洞、拒绝服务漏洞和其他系统漏洞等,从而可以覆盖服务器系统可能存在的安全风险。也就是说,在进行DNS系统漏洞检测时可以对多个预设漏洞中的每个预设漏洞进行检测,从而可以得到每个预设漏洞对应的安全检测结果。
本发明实施例中,每个预设漏洞都预先配置有漏洞检测策略和参考漏洞信息,其中,漏洞检测策略用于指示向目标域名服务器发送的数据,参考漏洞信息用于指示存在漏洞时所包含的信息。可以理解的是,不同的预设漏洞其对应的漏洞检测策略不同、对应的参考漏洞信息也不同。
实际应用中,存在很多业务服务本身是只适用于在局域网(如企业内网)中使用,该业务服务也没有帐号、密码等鉴权逻辑,但是由于用户使用习惯或者其他问题,当这些不具备鉴权逻辑的业务服务对公共互联网开放时,公共互联网的用户也可以访问,从而导致业务服务存在了安全风险。因此,需要对域名服务器进行未授权访问漏洞检测,也即待检测漏洞可以是未授权访问漏洞。
实际应用中,具备鉴权逻辑的业务服务对外开放时,如果管理的安全意识薄弱,没有对业务服务配置密码或者使用复杂强度不足、容易被猜解的密码,攻击者使用弱口令或者空口令就可以登录服务,取得业务服务的控制权限,进而获取敏感信息,或者发起进一步的攻击,导致业务服务存在了安全风险。因此,需要对域名服务器进行弱口令问题检测,也即待检测漏洞可以是弱口令问题。
实际应用中,如果系统对外的服务允许攻击者构造特殊的请求,对服务注入危险指令,就会造成系统服务执行攻击者下发的命令,最终系统被攻击者攻破,导致业务服务存在了安全风险。因此,需要对域名服务器进行远程命令执行漏洞检测,也即待检测漏洞可以是远程命令执行漏洞。
实际应用中,如果系统对外的服务泄露有关系统的敏感信息,攻击者就可以根据这些信息发起进一步攻击,危害系统安全。因此,需要对域名服务器进行信息泄露漏洞检测,也即待检测漏洞可以是信息泄露漏洞。
实际应用中,如果系统对外的服务允许攻击者构造特殊的请求,破坏服务的正常功能,系统将无法对外提供服务。因此,需要对域名服务器进行拒绝服务漏洞检测,也即待检测漏洞可以是拒绝服务漏洞。
可以理解的是,待检测漏洞可以包括上述示例出漏洞中的一个或者多个,还可以包括以上漏洞之外的安全风险漏洞,从而可以进行全面的DNS系统漏洞检测。
为了能够更好的说明本发明实施例的安全检测方法,下面结合图5介绍一个具体实施方式。
如图5所示的另一种域名服务器的安全检测方法的流程示意图,可以通过控制台前端获取输入的检测目标IP及开放端口,进而对目标DNS服务器进行安全检测,其中,开放端口为TCP/UDP 53端口。
然后,针对目标DNS服务器进行端口开放检测,其中待检测端口包括0-65535范围的TCP端口和0-65535范围的UDP端口,判断目标DNS服务器除TCP/UDP 53端口之外的端口是否开放,若判断的结果为是,则表明存在风险,若判断的结果为否,则表明不存在风险。
然后,针对目标DNS服务器进行请求源IP访问控制策略检测,分别使用内网地址X发起DNS解析请求和使用公共互联网地址Y发起DNS解析请求,判断两个请求结果是否一致,若判断的结果为是,则表明不具备请求源IP访问控制策略,存在风险,若判断的结果为否,则表明具备请求源IP访问控制策略,不存在风险。
然后,针对目标DNS服务器进行服务组件及版本信息检测,判断目标域名服务器是否对外展示服务组件及版本信息,若判断的结果为展示,则进一步判断组件版本是否为最新,若组件版本不是最新则表明存在风险,若判断的结果为不展示或者组件版本是最新则表明不存在风险。
然后,针对目标DNS服务器进行DNS反射攻击防护能力检测,判断DNS应答是否对源IP有限频能力,若判断的结果为是,则表明不存在风险,若判断的结果为否,则表明存在风险。
然后,针对目标DNS服务器进行DNS缓存投毒防护能力检测,判断是否能够防护缓存投毒,若判断的结果为是,表明不存在风险,若判断的结果为否,则表明存在风险。
然后,针对目标DNS服务器进行资源耗尽攻击防护能力检测,判断是否具备资源耗尽攻击防护能力,若判断的结果为是,则表明不存在风险,若判断的结果为否,则表明存在风险。
然后,针对目标DNS服务器进行系统漏洞检测,包括未授权访问漏洞检测、弱口令问题检测、远程命令执行漏洞检测、信息泄露漏洞检测、拒绝服务漏洞检测和其他风险漏洞检测。
然后,汇总上述各项的安全检测结果,得到目标DNS服务器的综合安全检测结果,同时将各项安全检测过程数据进行存储、记录全过程详细日志。
与上述几种实施例提供的域名服务器的安全检测方法相对应,本发明实施例还提供一种域名服务器的安全检测装置,由于本发明实施例提供的域名服务器的安全检测装置与上述几种实施例提供的域名服务器的安全检测方法相对应,因此前述域名服务器的安全检测方法的实施方式也适用于本实施例提供的域名服务器的安全检测装置,在本实施例中不再详细描述。
请参阅图6,其所示为本发明实施例提供的一种域名服务器的安全检测装置的结构示意图,该域名服务器的安全检测装置600具有实现上述方法实施例中域名服务器的安全检测方法的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。如图6所示,该域名服务器的安全检测装置600可以包括:
请求获取模块610,用于获取针对目标域名服务器的安全检测请求;
请求发送模块620,用于向所述目标域名服务器发送目标检测项关联的事件请求;所述目标检测项是多个预设检测项中的任一预设检测项;
第一检测结果确定模块630,用于根据所述目标域名服务器针对所述事件请求的返回信息,确定所述目标检测项对应的安全检测结果;
第二检测结果确定模块640,用于根据所述多个预设检测项中各预设检测项对应的安全检测结果,确定所述目标域名服务器对应的安全检测结果。
在一个示例性的实施方式中,所述目标检测项包括缓存投毒防护检测;
所述请求发送模块620包括:
第一请求发送模块,用于向所述目标域名服务器发送第一域名解析请求;所述第一域名解析请求包括随机域名,所述第一域名解析请求用于触发所述目标域名服务器向上级域名授权服务器发送针对所述随机域名的查询请求;
伪造结果发送模块,用于向所述目标域名服务器发送针对所述查询请求的伪造查询结果;所述伪造查询结果用于生成所述随机域名对应的异常域名解析记录,所述异常域名解析记录用于存储在所述目标域名服务器中;
第二请求发送模块,用于向所述目标域名服务器发送第二域名解析请求;所述第二域名解析请求包括所述随机域名;
所述第一检测结果确定模块630包括:
第一解析结果接收模块,用于接收所述目标域名服务器响应于所述第二域名解析请求返回的第二域名解析结果;
第一确定模块,用于在所述第二域名解析结果与所述伪造查询结果相匹配时,确定所述缓存投毒防护检测的安全检测结果为存在风险。
在一个示例性的实施方式中,所述目标检测项包括端口开放检测,所述安全检测请求中携带目标端口的信息;
所述请求发送模块620包括:
第二确定模块,用于根据所述目标端口的信息,确定所述目标域名服务器中的多个待检测端口;所述待检测端口是指除所述目标端口之外得到端口;
第三请求发送模块,用于向所述多个待检测端口分别发送基于传输协议的第一次握手请求;
所述第一检测结果确定模块630包括:
第三确定模块,用于在接收到所述多个待检测端口中任一待检测端口针对所述第一次握手请求的返回信息时,则确定所述端口开放检测对应的安全检测结果为存在风险。
在一个示例性的实施方式中,所述目标检测项包括请求源地址访问控制策略检测;
所述请求发送模块620包括:
地址确定模块,用于确定公共互联网地址和所述目标域名服务器对应的局域网地址;
第四请求发送模块,用于分别以所述局域网地址和所述公共互联网地址作为请求源地址,向所述目标域名服务器发送第三域名解析请求和第四域名解析请求;
所述第一检测结果确定模块630包括:
解析结果接收模块,用于接收所述目标域名服务器响应于所述第三域名解析请求返回的第三域名解析结果,以及响应于所述第四域名解析请求返回的第四域名解析结果;
哈希值确定模块,用于分别确定所述第三域名解析结果和所述第四域名解析结果对应的哈希值,得到第一哈希值和第二哈希值;
第四确定模块,用于在所述第一哈希值与所述第二哈希值一致的情况下,确定所述请求源地址访问控制策略检测对应的安全检测结果为存在风险。
在一个示例性的实施方式中,所述目标检测项包括服务版本信息检测;
所述请求发送模块620包括:
第五请求发送模块,用于向所述目标域名服务器发送服务组件信息获取请求;
所述第一检测结果确定模块630包括:
第五确定模块,用于在接收到所述目标域名服务器针对所述服务组件信息获取请求返回的组件标识信息和版本信息,且所述版本信息指示为非最新版本时,确定所述服务版本信息检测对应的安全检测结果为存在风险。
在一个示例性的实施方式中,所述目标检测项包括反射攻击防护检测;
所述请求发送模块620包括:
第六请求发送模块,用于按照多个第一预设发送速率,依次向所述目标域名服务器发送第五域名解析请求;所述多个第一预设发送速率按照第一预设速率梯度增加;
所述第一检测结果确定模块630包括:
第六确定模块,用于在连续接收到所述目标域名服务器在各所述第一预设发送速率下针对各所述第五域名解析请求对应的返回信息时,确定所述反射攻击防护检测的安全检测结果为存在风险。
在一个示例性的实施方式中,所述目标检测项包括资源耗尽攻击防护检测;
所述请求发送模块620包括:
第七确定模块,用于确定预设数量个伪造的源地址;
第七请求发送模块,用于基于所述预设数量个伪造的源地址,同时向所述目标域名服务器发送第六域名解析请求;其中,针对每个所述伪造的源地址,按照多个第二预设发送速率依次向所述目标域名服务器发送所述第六域名解析请求,所述多个第二预设发送速率按照第二预设速率梯度增加;
所述第一检测结果确定模块630包括:
第八确定模块,用于在连续接收到所述目标域名服务器在各所述第二预设发送速率下针对各所述第六域名解析请求对应的返回信息时,确定所述资源耗尽攻击防护检测的安全检测结果为存在风险。
在一个示例性的实施方式中,所述目标检测项包括系统漏洞检测;
所述请求发送模块620包括:
待检测漏洞确定模块,用于确定待检测漏洞;所述待检测漏洞是多个预设漏洞中的任一预设漏洞;
第八请求发送模块,用于根据所述待检测漏洞对应的漏洞检测策略,向所述目标域名服务器发送对应的漏洞检测数据包;
所述第一检测结果确定模块630包括:
信息接收模块,用于接收所述目标域名服务器针对所述漏洞检测数据包的返回信息;
第九确定模块,用于在所述返回信息与所述待检测漏洞对应的参考漏洞信息相匹配时,确定所述待检测漏洞对应的安全检测结果为存在风险;所述系统漏洞检测的安全检测结果包括所述待检测漏洞对应的安全检测结果。
在一个示例性的实施方式中,第二检测结果确定模块640包括:
查找模块,用于查找所述安全检测结果为存在风险的目标预设检测项;
风险等级确定模块,用于在查找到所述目标预设检测项时,根据所述目标预设检测项的预设风险等级,确定所述目标域名服务器的安全检测结果为存在风险的风险等级;
第十确定模块,用于在未查找到所述目标预设检测项时,确定所述目标域名服务器的安全检测结果为安全。
在一个示例性的实施方式中,所述装置还包括:
展示模块,用于展示所述目标域名服务器的安全检测结果。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本发明实施例提供了一种电子设备,该电子设备包括处理器和存储器,该存储器中存储有至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现如上述方法实施例所提供的域名服务器的安全检测方法。
存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
本发明实施例所提供的方法实施例可以在计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图7是本发明实施例提供的运行一种域名服务器的安全检测方法的服务器的硬件结构框图,如图7所示,该服务器700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,CPU)710(处理器710可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器730,一个或一个以上存储应用程序723或数据722的存储介质720(例如一个或一个以上海量存储设备)。其中,存储器730和存储介质720可以是短暂存储或持久存储。存储在存储介质720的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器710可以设置为与存储介质720通信,在服务器700上执行存储介质720中的一系列指令操作。服务器700还可以包括一个或一个以上电源760,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口740,和/或,一个或一个以上操作系统721,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
输入输出接口740可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器700的通信供应商提供的无线网络。在一个实例中,输入输出接口740包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口740可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
本领域普通技术人员可以理解,图7所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器700还可包括比图7中所示更多或者更少的组件,或者具有与图7所示不同的配置。
本发明的实施例还提供了一种计算机可读存储介质,所述存储介质可设置于电子设备之中以保存用于实现一种域名服务器的安全检测方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述方法实施例提供的域名服务器的安全检测方法。
本发明的实施例还提供了计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述方法实施例提供的域名服务器的安全检测方法。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种域名服务器的安全检测方法,其特征在于,所述方法包括:
获取针对目标域名服务器的安全检测请求;
向所述目标域名服务器发送目标检测项关联的事件请求;所述目标检测项是多个预设检测项中的任一预设检测项;
根据所述目标域名服务器针对所述事件请求的返回信息,确定所述目标检测项对应的安全检测结果;
根据所述多个预设检测项中各预设检测项对应的安全检测结果,确定所述目标域名服务器对应的安全检测结果。
2.根据权利要求1所述的方法,其特征在于,所述目标检测项包括缓存投毒防护检测;所述向所述目标域名服务器发送目标检测项关联的事件请求,包括:
向所述目标域名服务器发送第一域名解析请求;所述第一域名解析请求包括随机域名,所述第一域名解析请求用于触发所述目标域名服务器向上级域名授权服务器发送针对所述随机域名的查询请求;
向所述目标域名服务器发送针对所述查询请求的伪造查询结果;所述伪造查询结果用于生成所述随机域名对应的异常域名解析记录,所述异常域名解析记录用于存储在所述目标域名服务器中;
向所述目标域名服务器发送第二域名解析请求;所述第二域名解析请求包括所述随机域名;
所述根据所述目标域名服务器针对所述事件请求的返回信息,确定所述目标检测项对应的安全检测结果,包括:
接收所述目标域名服务器响应于所述第二域名解析请求返回的第二域名解析结果;
在所述第二域名解析结果与所述伪造查询结果相匹配时,确定所述缓存投毒防护检测的安全检测结果为存在风险。
3.根据权利要求1所述的方法,其特征在于,所述目标检测项包括端口开放检测,所述安全检测请求中携带目标端口的信息;所述向所述目标域名服务器发送目标检测项关联的事件请求,包括:
根据所述目标端口的信息,确定所述目标域名服务器中的多个待检测端口;所述待检测端口是指除所述目标端口之外的端口;
向所述多个待检测端口分别发送基于传输协议的第一次握手请求;
所述根据所述目标域名服务器针对所述事件请求的返回信息,确定所述目标检测项对应的安全检测结果,包括:
若接收到所述多个待检测端口中任一待检测端口针对所述第一次握手请求的返回信息,则确定所述端口开放检测对应的安全检测结果为存在风险。
4.根据权利要求1所述的方法,其特征在于,所述目标检测项包括请求源地址访问控制策略检测;所述向所述目标域名服务器发送目标检测项关联的事件请求,包括:
确定公共互联网地址和所述目标域名服务器对应的局域网地址;
分别以所述局域网地址和所述公共互联网地址作为请求源地址,向所述目标域名服务器发送第三域名解析请求和第四域名解析请求;
所述根据所述目标域名服务器针对所述事件请求的返回信息,确定所述目标检测项对应的安全检测结果,包括:
接收所述目标域名服务器响应于所述第三域名解析请求返回的第三域名解析结果,以及响应于所述第四域名解析请求返回的第四域名解析结果;
分别确定所述第三域名解析结果和所述第四域名解析结果对应的哈希值,得到第一哈希值和第二哈希值;
在所述第一哈希值与所述第二哈希值一致的情况下,确定所述请求源地址访问控制策略检测对应的安全检测结果为存在风险。
5.根据权利要求1所述的方法,其特征在于,所述目标检测项包括服务版本信息检测;所述向所述目标域名服务器发送目标检测项关联的事件请求,包括:
向所述目标域名服务器发送服务组件信息获取请求;
所述根据所述目标域名服务器针对所述事件请求的返回信息,确定所述目标检测项对应的安全检测结果,包括;
若接收到所述目标域名服务器针对所述服务组件信息获取请求返回的组件标识信息和版本信息,且所述版本信息指示为非最新版本,则确定所述服务版本信息检测对应的安全检测结果为存在风险。
6.根据权利要求1所述的方法,其特征在于,所述目标检测项包括反射攻击防护检测;所述向所述目标域名服务器发送目标检测项关联的事件请求,包括:
按照多个第一预设发送速率,依次向所述目标域名服务器发送第五域名解析请求;所述多个第一预设发送速率按照第一预设速率梯度增加;
所述根据所述目标域名服务器针对所述事件请求的返回信息,确定所述目标检测项对应的安全检测结果,包括:
若连续接收到所述目标域名服务器在各所述第一预设发送速率下针对各所述第五域名解析请求对应的返回信息,则确定所述反射攻击防护检测的安全检测结果为存在风险。
7.根据权利要求1所述的方法,其特征在于,所述目标检测项包括资源耗尽攻击防护检测;所述向所述目标域名服务器发送目标检测项关联的事件请求,包括:
确定预设数量个伪造的源地址;
基于所述预设数量个伪造的源地址,同时向所述目标域名服务器发送第六域名解析请求;其中,针对每个所述伪造的源地址,按照多个第二预设发送速率依次向所述目标域名服务器发送所述第六域名解析请求,所述多个第二预设发送速率按照第二预设速率梯度增加;
所述根据所述目标域名服务器针对所述事件请求的返回信息,确定所述目标检测项对应的安全检测结果,包括:
若连续接收到所述目标域名服务器在各所述第二预设发送速率下针对各所述第六域名解析请求对应的返回信息,则确定所述资源耗尽攻击防护检测的安全检测结果为存在风险。
8.根据权利要求1所述的方法,其特征在于,所述目标检测项包括系统漏洞检测;所述向所述目标域名服务器发送目标检测项关联的事件请求,包括:
确定待检测漏洞;所述待检测漏洞是多个预设漏洞中的任一预设漏洞;
根据所述待检测漏洞对应的漏洞检测策略,向所述目标域名服务器发送对应的漏洞检测数据包;
所述根据所述目标域名服务器针对所述事件请求的返回信息,确定所述目标检测项对应的安全检测结果,包括:
接收所述目标域名服务器针对所述漏洞检测数据包的返回信息;
若所述返回信息与所述待检测漏洞对应的参考漏洞信息相匹配,则确定所述待检测漏洞对应的安全检测结果为存在风险;所述系统漏洞检测的安全检测结果包括所述待检测漏洞对应的安全检测结果。
9.根据权利要求1~8中任一项所述的方法,其特征在于,所述根据所述多个预设检测项中各预设检测项对应的安全检测结果,确定所述目标域名服务器对应的安全检测结果,包括:
查找所述安全检测结果为存在风险的目标预设检测项;
若查找到所述目标预设检测项,则根据所述目标预设检测项的预设风险等级,确定所述目标域名服务器的安全检测结果为存在风险的风险等级;
若未查找到所述目标预设检测项,则确定所述目标域名服务器的安全检测结果为安全。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
展示所述目标域名服务器的安全检测结果。
11.一种域名服务器的安全检测装置,其特征在于,所述装置包括:
请求获取模块,用于获取针对目标域名服务器的安全检测请求;
请求发送模块,用于向所述目标域名服务器发送目标检测项关联的事件请求;所述目标检测项是多个预设检测项中的任一预设检测项;
第一检测结果确定模块,用于根据所述目标域名服务器针对所述事件请求的返回信息,确定所述目标检测项对应的安全检测结果;
第二检测结果确定模块,用于根据所述多个预设检测项中各预设检测项对应的安全检测结果,确定所述目标域名服务器对应的安全检测结果。
12.一种电子设备,其特征在于,包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如权利要求1~10中任一项所述的域名服务器的安全检测方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1~10中任一项所述的域名服务器的安全检测方法。
14.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~10中任一项所述的域名服务器的安全检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210166395.7A CN116684110A (zh) | 2022-02-23 | 2022-02-23 | 域名服务器的安全检测方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210166395.7A CN116684110A (zh) | 2022-02-23 | 2022-02-23 | 域名服务器的安全检测方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116684110A true CN116684110A (zh) | 2023-09-01 |
Family
ID=87789609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210166395.7A Pending CN116684110A (zh) | 2022-02-23 | 2022-02-23 | 域名服务器的安全检测方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116684110A (zh) |
-
2022
- 2022-02-23 CN CN202210166395.7A patent/CN116684110A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112383546B (zh) | 一种处理网络攻击行为的方法、相关设备及存储介质 | |
Tien et al. | KubAnomaly: Anomaly detection for the Docker orchestration platform with neural network approaches | |
KR101689299B1 (ko) | 보안이벤트 자동 검증 방법 및 장치 | |
CN113660224B (zh) | 基于网络漏洞扫描的态势感知防御方法、装置及系统 | |
CN103607385B (zh) | 基于浏览器进行安全检测的方法和装置 | |
CN104468632A (zh) | 防御漏洞攻击的方法、设备及系统 | |
CN104426850A (zh) | 基于插件的漏洞检测方法 | |
US10771477B2 (en) | Mitigating communications and control attempts | |
CN110868403B (zh) | 一种识别高级持续性攻击apt的方法及设备 | |
KR20060117693A (ko) | 웹 보안방법 및 그 장치 | |
CN111510463B (zh) | 异常行为识别系统 | |
CN110880983A (zh) | 基于场景的渗透测试方法及装置、存储介质、电子装置 | |
CN116860489A (zh) | 用于安全威胁的威胁风险评分的系统和方法 | |
KR20170091989A (ko) | 산업 제어 네트워크에서의 보안 관제 평가 시스템 및 방법 | |
CN113746781A (zh) | 一种网络安全检测方法、装置、设备及可读存储介质 | |
CN110099041A (zh) | 一种物联网防护方法及设备、系统 | |
CN113660222A (zh) | 基于强制访问控制的态势感知防御方法及系统 | |
Zhao et al. | Network security model based on active defense and passive defense hybrid strategy | |
CN116684110A (zh) | 域名服务器的安全检测方法、装置、电子设备及存储介质 | |
CN116074029A (zh) | 风险预测信息确定方法、装置、电子设备及存储介质 | |
CN109255243B (zh) | 一种终端内潜在威胁的修复方法、系统、装置及存储介质 | |
Nilsson et al. | Vulnerability scanners | |
CN112118241A (zh) | 审计渗透测试方法、测试节点服务器、管理服务器及系统 | |
RU2778635C1 (ru) | Система и способ внешнего контроля поверхности кибератаки | |
de Sousa Rodrigues | An OSINT Approach to Automated Asset Discovery and Monitoring |
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 |