CN106686020A - 域名安全性的检测方法、装置及*** - Google Patents
域名安全性的检测方法、装置及*** Download PDFInfo
- Publication number
- CN106686020A CN106686020A CN201710198793.6A CN201710198793A CN106686020A CN 106686020 A CN106686020 A CN 106686020A CN 201710198793 A CN201710198793 A CN 201710198793A CN 106686020 A CN106686020 A CN 106686020A
- Authority
- CN
- China
- Prior art keywords
- domain name
- lists
- address
- dns
- black
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种域名安全性的检测方法、装置及***,至少能够解决现有技术中无法针对特定的域名进行安全防护的技术问题。该方法包括:获取客户端针对预设的监测域名列表中的域名确定的域名解析结果,确定域名解析结果中包含的域名及其对应的IP地址;根据预设的安全DNS确定与域名解析结果中包含的域名相对应的标准页面;根据域名解析结果中包含的IP地址获取对应的网络页面,将网络页面与标准页面进行比较,根据比较结果确定域名解析结果中包含的域名的安全性。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种域名安全性的检测方法、装置及***。
背景技术
作为互联网的重要基础设施,域名***(Domain Name System,DNS)一直为全球互联网的运行提供关键性的基础服务。利用域名***,用户只需输入待访问网站的域名即可方便而快速地进行访问。
但是,发明人在实现本发明的过程中发现:由于DNS服务器中存储的域名解析文件存在着被恶意篡改的风险,且域名所对应的DNS服务器的地址也有可能被重定向到伪造的服务器上,由此一来,当用户输入指定域名时所访问到的网站并非该域名对应的真实网站,进而为用户的上网过程带来了诸多不便。然而,现有技术中尚无法针对特定的域名进行安全防护。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的域名安全性的检测方法、装置及***。
根据本发明的一个方面,提供了一种域名安全性的检测方法,包括:获取客户端针对预设的监测域名列表中的域名确定的域名解析结果,确定所述域名解析结果中包含的域名及其对应的IP地址;根据预设的安全DNS确定与所述域名解析结果中包含的域名相对应的标准页面;根据所述域名解析结果中包含的IP地址获取对应的网络页面,将所述网络页面与所述标准页面进行比较,根据比较结果确定所述域名解析结果中包含的域名的安全性。
根据本发明的另一个方面,提供了一种域名安全性的检测装置,包括:获取模块,适于获取客户端针对预设的监测域名列表中的域名确定的域名解析结果,确定所述域名解析结果中包含的域名及其对应的IP地址;确定模块,适于根据预设的安全DNS确定与所述域名解析结果中包含的域名相对应的标准页面;检测模块,适于根据所述域名解析结果中包含的IP地址获取对应的网络页面,将所述网络页面与所述标准页面进行比较,根据比较结果确定所述域名解析结果中包含的域名的安全性。
根据本发明的再一个方面,提供了一种域名安全性的检测***,包括:上述域名安全性的检测装置,以及遍布多个地域的客户端及DNS服务器。
在本发明提供的域名安全性的检测方法、装置及***中,首先,能够获取客户端针对预设的监测域名列表中的域名确定的域名解析结果,以确定域名解析结果中包含的域名及其对应的IP地址;然后,根据预设的安全DNS确定与域名解析结果中包含的域名相对应的标准页面;并根据域名解析结果中包含的IP地址获取对应的网络页面,根据网络页面与标准页面的比对结果确定域名解析结果中包含的域名的安全性。由此可见,本发明通过分析预设的监测域名列表中的域名对应的域名解析结果,并结合与该域名对应的预设的标准页面以及与解析结果中的IP地址相对应的网络页面来确定该域名是否受到劫持,从而能够针对特定的域名进行有针对性地安全防护。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明实施例一提供的一种域名安全性的检测方法的流程图;
图2示出了根据本发明实施例二提供的一种域名安全性的检测方法的流程图;
图3示出了根据本发明实施例三提供的一种域名安全性的检测装置的结构框图;
图4示出了根据本发明实施例四提供的一种域名安全性的***的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明提供了一种域名安全性的检测方法、装置及***,至少能够解决现有技术中无法针对特定的域名进行安全防护的技术问题。
实施例一
图1示出了根据本发明实施例一提供的域名安全性的检测方法的流程图。如图1所示,该方法包括以下步骤:
步骤S110:获取客户端针对预设的监测域名列表中的域名确定的域名解析结果,确定域名解析结果中包含的域名及其对应的IP地址。
其中,预设的监测域名列表用于存储待监测的域名,该监测域名列表可以由服务器预先生成并发送给客户端,还可以在后期由服务器和/或客户端进行更改。客户端针对预设的监测域名列表中的域名确定的域名解析结果既可以由客户端在访问监测域名列表中的某一域名时实时地确定并上报给服务器,也可以由客户端通过打点请求等方式定期地将上一周期内访问过的包含在监测域名列表中的域名所对应的域名解析结果发送给服务器,本发明对域名解析结果的获取方式不做具体限定。域名解析结果中至少要包含客户端访问的域名以及与该域名对应的IP地址。其中,与该域名对应的IP地址是指客户端在本次访问时所采用的IP地址,该IP地址通常由预设的DNS服务器提供,也可能直接通过客户端本地存储的域名解析文件确定。
步骤S120:根据预设的安全DNS确定与域名解析结果中包含的域名相对应的标准页面。
首先,获取域名解析结果中包含的域名,然后,查询预设的安全DNS,以确定与该域名相对应的标准页面。由此可见,标准页面是指该域名所对应的正确页面。其中,预设的安全DNS可以是任何已知的白DNS,优选地,可以是该域名在注册时所指定的官方DNS。另外,在本步骤中,为了提高响应速度,可以不必每次都向安全DNS请求标准页面,而是预先对监测域名列表中的域名所对应的标准页面进行请求并存储,以加快后续的查询速度。
步骤S130:根据域名解析结果中包含的IP地址获取对应的网络页面,将网络页面与标准页面进行比较,根据比较结果确定域名解析结果中包含的域名的安全性。
首先,获取域名解析结果中包含的域名所对应的IP地址,然后,获取与该IP地址对应的网络页面,具体可通过网络爬虫等各种方式进行获取。最后,将网络页面与标准页面进行比较,若比较结果为相似,则确定域名解析结果中包含的域名安全;反之,则确定域名解析结果中包含的域名已被劫持。
由此可见,本发明通过分析预设的监测域名列表中的域名对应的域名解析结果,并结合与该域名对应的预设的标准页面以及与解析结果中的IP地址相对应的网络页面来确定该域名是否受到劫持,从而能够针对特定的域名进行有针对性地安全防护。
实施例二
图2示出了根据本发明实施例二提供的域名安全性的检测方法的流程图。该方法的执行主体通常为服务器或服务器集群,优选地,可以利用云服务器实现。如图2所示,该方法包括以下步骤:
步骤S210:获取客户端针对预设的监测域名列表中的域名确定的域名解析结果,确定域名解析结果中包含的域名及其对应的IP地址。
其中,预设的监测域名列表用于存储待监测的域名,该监测域名列表通常由服务器预先生成并发送给各个客户端,还可以由服务器和/或客户端进行更改,例如,客户端可以根据自身需求向服务器发送添加域名请求,从而在监测域名列表中添加待监测的域名数量,服务器收到客户端发送的添加域名请求后,将进一步针对该添加的域名进行防护。而且,服务器通常会根据网络变化情况而定期调整监测域名列表的内容,为此,该监测域名列表还具有版本信息,则本实施例中的方法还可以进一步根据版本信息判断客户端的监测域名列表是否需要更新,当判断结果为是时,向客户端发送更新后的监测域名列表。其中,该版本信息既可以由客户端定期上报给服务器,也可以由服务器定期从客户端获取。当客户端接收到更新后的监测域名列表后,根据更新后的监测域名列表增减待监测的域名数量。
其中,在一种实现方式中,客户端针对预设的监测域名列表中的域名确定的域名解析结果由客户端在访问监测域名列表中的某一域名时实时地确定并上报给服务器。相应地,每当客户端访问某一域名时,进一步判断该域名是否属于监测域名列表,若判断结果为是,则实时获取该域名的域名解析结果并上报给服务器。具体实现时,可以通过挂钩函数等机制来实现实时上报的效果。该种实现方式能够由客户端实时上报当前访问域名的解析地址,从而能够根据服务器反馈的安全性查询结果及时发现被劫持的域名,为用户的上网过程提供实时防护。
在另一种实现方式中,客户端通过访问日志和/或打点请求等方式定期地将上一周期内访问过的包含在监测域名列表中的域名所对应的域名解析结果发送给服务器。具体地,服务器每隔预设的时间间隔(例如一天)获取客户端发送的访问日志和/或打点请求,根据访问日志和/或打点请求确定客户端针对监测域名列表中的域名确定的域名解析结果。另外,由于同一客户端在一段时间内可能会重复多次访问同一域名,由此产生大量的冗余数据,因此,为了提高后续分析的处理速度,可以进一步对访问日志和/或打点请求中包含的数据内容进行消重处理,根据消重处理后的数据内容确定客户端针对监测域名列表中的各个域名确定的域名解析结果。
其中,来自客户端的域名解析结果中至少要包含客户端访问的域名以及与该域名对应的IP地址。其中,与该域名对应的IP地址是指客户端在本次访问时所采用的IP地址,该IP地址通常由预设的DNS服务器提供,也可能直接通过客户端本地存储的域名解析文件确定。
步骤S220:根据预设的白IP列表和/或白DNS列表,以及预设的黑IP列表和/或黑DNS列表对域名解析结果中包含的域名的安全性进行预判断。
其中,预设的白IP列表可以通过多种方式创建,例如,在一种可选的方式中,预先根据设定规则生成一批白IP,并将该批白IP存储到白IP列表中,以便于查询。具体地,可以通过预先向至少一个白DNS服务器请求与监测域名列表中的域名相对应的IP地址的方式创建白IP列表;还可以通过预设的检测方式检测IP地址的正确性,进而根据检测结果创建白IP列表;也可以通过IP反查Passive DNS数据库,以此来运营和扩充白IP列表。同理,白DNS列表也可以通过多种方式创建,例如,既可以是预先创建好的,也可以在后期的检测过程中动态更改。
预设的黑IP列表也可以通过多种方式创建,例如,可以预先对一批IP进行检测,并根据检测结果创建,也可以在检测过程中动态更改。另外,黑IP列表中进一步包括:全局黑IP子表,用于存储针对所有域名生效的全局黑IP;以及,多个与监测域名列表中的各个域名一一对应的局部黑IP子表,每个局部黑IP子表用于存储针对相应的域名生效的局部黑IP。具体查询时,可以先查询与相应域名对应的局部黑IP子表,再查询全局黑IP子表,从而提高查询效率。同理,白IP列表也可以进一步划分为全局白IP子表,用于存储针对所有域名生效的全局白IP;以及,多个与监测域名列表中的各个域名一一对应的局部白IP子表,由于局部白IP子表是针对于特定域名的白IP,因而在查询时更具针对性,查询速度更快。同理,黑DNS列表也可以通过多种方式创建,例如,既可以是预先创建好的,也可以在后期的检测过程中动态更改。
在本步骤中,首先获取域名解析结果中包含的域名及其对应的IP地址,然后,查询黑/白IP列表中与该域名对应的局部黑/白IP子表,若查询到相匹配的,则直接根据查询结果确定该域名解析结果的预判断结果为黑(即:被劫持)或白(即:安全);若未查询到相匹配的,则进一步查询全局黑/白IP子表,并根据查询结果进行预判断。通过划分局部子表和全局子表可以加快查询速度。另外,还可以进一步结合黑/白DNS列表进行预判断。例如,首先确定与提供域名解析结果的客户端相对应的DNS服务器地址,然后,查询黑/白DNS列表,若该DNS服务器地址属于黑DNS列表,则该域名解析结果的预判断结果为黑。另外,若在黑/白IP列表和/或黑/白DNS列表中均未查询到与该域名解析结果中的域名及其IP地址相匹配的内容,则确定该域名解析结果的预判断结果为未知。
在本实施例中,确定域名解析结果的预判断结果之后,可以采取多种处理方式,例如,在一种可选的方式中,若域名解析结果的预判断结果为黑,则直接确定域名解析结果中包含的域名的安全性为非安全(即:已被劫持);若域名解析结果的预判断结果为白,则直接确定域名解析结果中包含的域名的安全性为安全;若域名解析结果的预判断结果为未知,则进一步执行步骤S230及其后续步骤进行进一步地检测,并根据检测结果确定是否需要对黑/白IP列表和/或黑/白DNS列表进行更新。另外,在另一种可选的方式中,无论域名解析结果的预判断结果如何,都进一步执行步骤S230及其后续步骤进行进一步地检测,并在步骤S230中进一步对预判断结果的正确性进行验证,并根据验证结果确定是否需要对黑/白IP列表和/或黑/白DNS列表进行更新,从而进一步提升判断的准确性。
步骤S230:根据预设的安全DNS确定与域名解析结果中包含的域名相对应的标准页面。
具体地,根据域名解析结果中包含的域名查询预设的安全DNS,以确定与该域名相对应的标准页面。标准页面是指该域名所对应的正确页面。其中,预设的安全DNS可以是任何已知的白DNS,优选地,可以是该域名在注册时所指定的官方DNS。另外,在本步骤中,为了提高响应速度,可以不必每次都向安全DNS请求标准页面,而是预先对监测域名列表中的域名所对应的标准页面进行请求并存储,以加快后续的查询速度。而且,除了通过向预设的安全DNS请求与该域名相对应的标准页面之外,还可以直接根据预存的与该域名对应的白IP请求对应的标准页面,总之,本发明不限定标准页面的获取方式,只要能够确保获取到的标准页面的正确性即可。
步骤S240:根据域名解析结果中包含的IP地址获取对应的网络页面,将网络页面与标准页面进行比较,根据比较结果确定域名解析结果中包含的域名的安全性。
首先,根据域名解析结果中包含的域名所对应的IP地址,获取与该IP地址对应的网络页面。例如,可通过网络爬虫等各种方式进行获取。具体实现时,可以绑定用户发送的打点请求,获取其中的IP地址以及HOST信息,并根据该IP地址进行HTTP请求,将下载到的主页面作为对应的网络页面。由此可见,根据域名解析结果中包含的IP地址获取到的网络页面是相应的客户端所展现的页面,因此,也可以称之为用户页面。
然后,将网络页面与标准页面进行比较,若比较结果为相似,则确定域名解析结果中包含的域名安全;反之,则确定域名解析结果中包含的域名已被劫持。具体比较时,可通过以下两种比较方式中的至少一种实现:
在第一种比较方式中,根据网络页面与标准页面的DOM树、链接数量和/或页面尺寸确定页面内容之间的相似度分值,当相似度分值大于第一预设阈值时,确定域名解析结果中包含的域名安全;当相似度分值不大于第一预设阈值时,确定域名解析结果中包含的域名已被劫持。由此可见,第一种比较方式主要侧重于从页面内容的角度进行静态信息的比较,因此,只要是能够反映页面内容的页面元素都可以用于比较。具体地,通过解析页面的DOM树,并对其树节点进行对比实现。具体分析时可以从DOM树中提取若干级重要节点进行主要属性的对比,从而提高比较效率(例如仅提取前3级节点进行主要属性的对比),如果差异数量超过20%判为不相似,否则为相似。另外,还可以对DOM树中的各个元素设置不同的权重值,例如,发明人在实现本发明的过程中发现:通过对script等标签设置更高的权重能够进一步提升比较的准确率。具体计算时,可以通过sim哈希算法提升计算效率。
在第二种比较方式中,根据网络页面与标准页面的跳转次数、和/或落地页面确定页面行为之间的相似度分值,当相似度分值大于第二预设阈值时,确定域名解析结果中包含的域名安全;当相似度分值不大于第二预设阈值时,确定域名解析结果中包含的域名已被劫持。由此可见,第二种比较方式主要侧重于从页面行为的角度进行动态信息的比较,因此,只要是能够反映页面行为的特征都可以用于比较。例如,若页面的跳转次数不同则很可能为黑,通过跳转次数能够快速判断;若页面多次跳转后的落地页面明显不同,也很可能为黑,通过落地页面能够更加直观地判断。上述的两种比较方式既可以单独使用,也可以结合使用。
步骤S250:当确定域名解析结果中包含的域名安全时,根据域名解析结果中包含的IP地址,和/或提供该IP地址的DNS服务器地址更新预设的白IP列表和/或白DNS列表;当确定域名解析结果中包含的域名已被劫持时,根据域名解析结果中包含的IP地址,和/或提供该IP地址的DNS服务器地址更新预设的黑IP列表和/或黑DNS列表。
具体地,确定域名解析结果中包含的域名安全时,根据域名解析结果中包含的IP地址更新预设的白IP列表的过程具体为:查询白IP列表中与该域名相对应的局部白IP子表,判断该局部白IP子表中是否已存储有域名解析结果中包含的IP地址,若判断结果为否,则将域名解析结果中包含的IP地址增加到该局部白IP子表中。当域名解析结果中包含的域名非安全时,采用类似的方式对局部黑IP子表进行更新。
另外,在更新黑/白DNS列表时,可以采取以下策略,当确定域名解析结果中包含的域名非安全时,进一步查询提供该域名解析结果中包含的IP地址的DNS服务器,并将该DNS服务器地址加入黑DNS列表;或者,也可以针对同一个DNS服务器,确定其提供的IP地址的错误数量达到预设阈值时将其加入黑DNS列表。
步骤S260:当确定域名解析结果中包含的域名已被劫持后,向对应的客户端和/或DNS服务器发送域名劫持消息,以便客户端和/或DNS服务器根据域名劫持消息进行恶意IP的拦截以及域名解析结果的更正。
其中,步骤S260可以在每当确定域名被劫持后,立即向对应的客户端和/或DNS服务器发送域名劫持消息,该域名劫持消息中至少包含被劫持的域名及其对应的用户页面的IP地址,该方式尤其适用于客户端实时上报域名解析结果的场景中,从而能够及时通知客户端和/或DNS服务器对被劫持的域名进行防范。另外,该域名劫持消息中还可以进一步包含被劫持的域名所对应的标准页面的IP地址,以供客户端和/或DNS服务器及时进行更正。另外,步骤S260还可以每隔预设的时间间隔执行一次,例如,可以每天晚上12:00对当天确定的被劫持域名进行统计,并分别向各个客户端和/或DNS服务器发送域名劫持消息。
步骤S270:定期将上述预设的白IP列表和/或白DNS列表以及预设的黑IP列表和/或黑DNS列表发送给各个客户端,以供客户端存储在本地进行查询。
其中,由于上述预设的白IP列表和/或白DNS列表以及预设的黑IP列表和/或黑DNS列表均会在服务器的运行过程中进行动态更新,因此,有必要定期地将这些列表发送给客户端,以供客户端存储在本地查询,从而加快客户端的域名解析效率。具体实现时,可以为更新前后的每个列表设置不同的版本号,客户端根据版本号确定是否需要对本地的列表进行更新。另外,为了提高传输速度,节省网络资源,也可以由服务器定期对上一周期内出现变化的黑/白IP以及黑/白DNS进行统计,并根据统计结果确定出各个列表中更新的部分,并仅将更新的部分(即增量部分)发送给客户端。或者,还可以每隔第一时间间隔发送各个列表的全量部分,每隔第二时间间隔发送各个列表相对于上一版本的增量部分,其中,第一时间间隔大于第二时间间隔。具体地,服务器可以针对监测域名列表中的每个域名,统计该域名在上一周期内新增的白IP和/或黑IP。相应地,每当客户端欲访问监测域名列表中的一域名时,首先查询本地的黑/白IP列表,若查询到对应的IP地址为黑,则直接提示用户该域名已被劫持,进而还可以向服务器请求正确的IP地址。
另外,在步骤S270中还可以定期将上述预设的白IP列表和/或白DNS列表以及预设的黑IP列表和/或黑DNS列表发送给对应的DNS服务器,以供DNS服务器进行更新。
另外,上述的步骤S210至S270中的各个步骤的执行顺序可以互换,例如,步骤S220与步骤S230可以调换顺序,且其中的部分步骤是可选的,在本发明其他的实施例中也可以省略部分步骤。
由此可见,通过本实施例提供的域名安全性的检测方法,能够检测特定域名的安全性,从而对重要的域名进行有针对性地防护,并且能够根据检测结果对相应的DNS服务器进行更新。
另外,在本实施例中,除了能够根据检测结果更新DNS服务器之外,还可以进一步根据客户端所处的地域情况确定优选的DNS解析信息,并定期下发给各个DNS服务器,进而提升DNS解析效率。相应地,本实施例中,在检测域名的安全性之前或之后,还可以进一步包括下述处理过程:
首先,分别针对每个域名,确定与该域名相对应的至少一个IP地址,根据访问至少一个IP地址的客户端的地域分布情况确定该域名在各个地域所对应的优选IP地址。具体地,每个域名所对应的IP地址的数量可能为一个或多个,同一个IP地址也可能在不同的地域被访问,因此,通过统计访问各个IP地址的客户端的地域分布情况,能够确定出相应地域的优选IP地址。例如,对于一个IP地址而言,若该IP地址在地域A的访问数量远大于其在其他地域的访问数量,则可以确定该IP地址最适宜在地域A进行访问。又如,针对一个地域而言,若该地域的客户端共访问过三个IP地址,那么三个IP地址当中访问量最大的IP地址则可以作为该地域对应的优选IP地址。总之,通过客户端访问特定IP地址时的地域分布情况,既可以确定出一个IP所最适宜的地域,也可以确定出一个地域内最适宜的IP地址。例如,假设一段时间内有一千万个用户正常访问域名M1,相应地,提取出一千万条正确的域名解析结果,计算与这些域名解析结果相对应的客户端的地域分布情况,经统计后,若地区A的客户端大多访问IP1,且IP3的访问量在地域A内仅次于IP1,则确定域名M1在地域A所对应的优选IP地址为IP1和IP3,且IP1的排列顺序位于IP3之前,或IP1的权重值大于IP3;若地区B的客户端大多访问IP2,且IP5的访问量在地域B内仅次于IP2,则确定域名M1在地域B所对应的优选IP地址为IP2和IP5,且IP2的排列顺序位于IP5之前,或IP2的权重值大于IP5。依照上述方式,可以分别针对每个域名,计算出该域名在各个地域的优选IP地址,且一个域名在同一地域内的优选IP地址既可以是一个也可以是多个,具体数量和排列方式取决于客户端的实际需求。具体地,当一个域名在同一地域内的优选IP地址为多个时,根据各个IP地址在该地域内的访问量的多少来确定各个IP地址之间的排列顺序,从而使访问量越多的IP地址的排序越靠前;和/或,测量各个IP地址在该地域内的访问速度,根据访问速度的快慢来确定各个IP地址之间的排列顺序,从而使访问速度越快的IP地址的排序越靠前。
然后,根据各个域名在各个地域所对应的优选IP地址更新相应地域的DNS服务器中存储的域名解析文件。通过对各个地域的DNS服务器中存储的域名解析文件进行更新,能够确保各地客户端在访问时能够获取到与其所处的地域最匹配的IP地址,从而提升各地客户端的访问效率。例如,在上例中,向地域A所对应的DNS服务器下发用于将域名M1对应的优选IP地址更新为IP1和IP3的更新指令,向地域B所对应的DNS服务器下发用于将域名M1对应的优选IP地址更新为IP2和IP5的更新指令。具体实现时,上述过程可以周期性进行。例如,每隔预设周期对上一周期内的客户端访问情况进行统计,并根据统计结果对各地的DNS服务器进行更新,以确保下一周期的访问效率。具体更新时,可以针对监测域名列表中的所有域名设置相同的更新周期并同时进行更新,例如,每天对监测域名列表中的所有域名对应的优选IP地址变动情况进行统计,并根据统计结果进行更新。还可以针对监测域名列表中的不同域名设置不同的更新周期,例如,可以进一步统计各个域名的访问频率,并针对访问频率较高的域名设置较短的更新周期,为访问频率较低的域名设置较长的更新周期。其中,访问频率可以通过一段时间内的PV(Page View,页面浏览量)、和/或UV(Unique Visitor,独立访问者)进行统计。另外,还可以结合域名被劫持的概率、域名的重要程度等因素来设置更新周期。
实施例三
图3示出了根据本发明实施例三提供的一种域名安全性的检测装置的结构框图。如图3所示,该装置包括:获取模块31、确定模块32、检测模块33。
获取模块31适于获取客户端针对预设的监测域名列表中的域名确定的域名解析结果,确定域名解析结果中包含的域名及其对应的IP地址。
其中,预设的监测域名列表用于存储待监测的域名,该监测域名列表通常由获取模块31预先生成并发送给各个客户端,还可以由服务器和/或客户端进行更改,例如,客户端可以根据自身需求向获取模块31发送添加域名请求,从而在监测域名列表中添加待监测的域名数量,获取模块31收到客户端发送的添加域名请求后,将进一步针对该添加的域名进行防护。而且,获取模块31通常会根据网络变化情况而定期调整监测域名列表的内容,为此,该监测域名列表还具有版本信息,则获取模块31还可以进一步根据版本信息判断客户端的监测域名列表是否需要更新,当判断结果为是时,获取模块31向客户端发送更新后的监测域名列表。其中,该版本信息既可以由客户端定期上报给获取模块31,也可以由获取模块31定期从客户端获取。当客户端接收到更新后的监测域名列表后,根据更新后的监测域名列表增减待监测的域名数量。
其中,在一种实现方式中,客户端针对预设的监测域名列表中的域名确定的域名解析结果由客户端在访问监测域名列表中的某一域名时实时地确定并上报给获取模块31。相应地,每当客户端访问某一域名时,进一步判断该域名是否属于监测域名列表,若判断结果为是,则实时获取该域名的域名解析结果并上报给获取模块31。具体实现时,可以通过挂钩函数等机制来实现实时上报的效果。该种实现方式能够由客户端实时上报当前访问域名的解析地址,从而能够根据服务器反馈的安全性查询结果及时发现被劫持的域名,为用户的上网过程提供实时防护。
在另一种实现方式中,客户端通过访问日志和/或打点请求等方式定期地将上一周期内访问过的包含在监测域名列表中的域名所对应的域名解析结果发送给获取模块31。具体地,获取模块31每隔预设的时间间隔(例如一天)获取客户端发送的访问日志和/或打点请求,根据访问日志和/或打点请求确定客户端针对监测域名列表中的域名确定的域名解析结果。另外,由于同一客户端在一段时间内可能会重复多次访问同一域名,由此产生大量的冗余数据,因此,为了提高后续分析的处理速度,获取模块31可以进一步对访问日志和/或打点请求中包含的数据内容进行消重处理,根据消重处理后的数据内容确定客户端针对监测域名列表中的各个域名确定的域名解析结果。
其中,来自客户端的域名解析结果中至少要包含客户端访问的域名以及与该域名对应的IP地址。其中,与该域名对应的IP地址是指客户端在本次访问时所采用的IP地址,该IP地址通常由预设的DNS服务器提供,也可能直接通过客户端本地存储的域名解析文件确定。
确定模块32适于根据预设的安全DNS确定与域名解析结果中包含的域名相对应的标准页面。
其中,确定模块32根据域名解析结果中包含的域名查询预设的安全DNS,以确定与该域名相对应的标准页面。标准页面是指该域名所对应的正确页面。其中,预设的安全DNS可以是任何已知的白DNS,优选地,可以是该域名在注册时所指定的官方DNS。另外,为了提高响应速度,确定模块32可以不必每次都向安全DNS请求标准页面,而是预先对监测域名列表中的域名所对应的标准页面进行请求并存储,以加快后续的查询速度。而且,除了通过向预设的安全DNS请求与该域名相对应的标准页面之外,确定模块32还可以直接根据预存的与该域名对应的白IP请求对应的标准页面,总之,本发明不限定标准页面的获取方式,只要能够确保获取到的标准页面的正确性即可。
具体地,确定模块32首先根据预设的白IP列表和/或白DNS列表,以及预设的黑IP列表和/或黑DNS列表对域名解析结果中包含的域名的安全性进行预判断。其中,预设的白IP列表可以通过多种方式创建,例如,在一种可选的方式中,预先根据设定规则生成一批白IP,并将该批白IP存储到白IP列表中,以便于查询。具体地,确定模块32可以通过预先向至少一个白DNS服务器请求与监测域名列表中的域名相对应的IP地址的方式创建白IP列表;确定模块32还可以通过预设的检测方式检测IP地址的正确性,进而根据检测结果创建白IP列表;也可以通过IP反查Passive DNS数据库,以此来运营和扩充白IP列表。同理,白DNS列表也可以通过多种方式创建,例如,既可以是预先创建好的,也可以在后期的检测过程中动态更改。预设的黑IP列表也可以通过多种方式创建,例如,可以预先对一批IP进行检测,并根据检测结果创建,也可以在检测过程中动态更改。另外,黑IP列表中进一步包括:全局黑IP子表,用于存储针对所有域名生效的全局黑IP;以及,多个与监测域名列表中的各个域名一一对应的局部黑IP子表,每个局部黑IP子表用于存储针对相应的域名生效的局部黑IP。具体查询时,可以先查询与相应域名对应的局部黑IP子表,再查询全局黑IP子表,从而提高查询效率。同理,白IP列表也可以进一步划分为全局白IP子表,用于存储针对所有域名生效的全局白IP;以及,多个与监测域名列表中的各个域名一一对应的局部白IP子表,由于局部白IP子表是针对于特定域名的白IP,因而在查询时更具针对性,查询速度更快。同理,黑DNS列表也可以通过多种方式创建,例如,既可以是预先创建好的,也可以在后期的检测过程中动态更改。
在上述过程中,确定模块32首先获取域名解析结果中包含的域名及其对应的IP地址,然后,查询黑/白IP列表中与该域名对应的局部黑/白IP子表,若查询到相匹配的,则确定模块32直接根据查询结果确定该域名解析结果的预判断结果为黑(即:被劫持)或白(即:安全);若未查询到相匹配的,则确定模块32进一步查询全局黑/白IP子表,并根据查询结果进行预判断。通过划分局部子表和全局子表可以加快查询速度。另外,确定模块32还可以进一步结合黑/白DNS列表进行预判断。例如,确定模块32首先确定与提供域名解析结果的客户端相对应的DNS服务器地址,然后,查询黑/白DNS列表,若该DNS服务器地址属于黑DNS列表,则该域名解析结果的预判断结果为黑。另外,若在黑/白IP列表和/或黑/白DNS列表中均未查询到与该域名解析结果中的域名及其IP地址相匹配的内容,则确定该域名解析结果的预判断结果为未知。
其中,确定模块32确定域名解析结果的预判断结果之后,可以采取多种处理方式,例如,在一种可选的方式中,若域名解析结果的预判断结果为黑,则确定模块32直接确定域名解析结果中包含的域名的安全性为非安全(即:已被劫持);若域名解析结果的预判断结果为白,则确定模块32直接确定域名解析结果中包含的域名的安全性为安全;若域名解析结果的预判断结果为未知,则确定模块32将上述未知结果发送给检测模块33进行进一步地检测,并根据检测结果确定是否需要对黑/白IP列表和/或黑/白DNS列表进行更新。另外,在另一种可选的方式中,无论域名解析结果的预判断结果如何,确定模块32都进一步将上述未知结果发送给检测模块33进行进一步地检测,并进一步对预判断结果的正确性进行验证,并根据验证结果确定是否需要对黑/白IP列表和/或黑/白DNS列表进行更新,从而进一步提升判断的准确性。
检测模块33适于根据域名解析结果中包含的IP地址获取对应的网络页面,将网络页面与标准页面进行比较,根据比较结果确定域名解析结果中包含的域名的安全性。
首先,检测模块33根据域名解析结果中包含的域名所对应的IP地址,获取与该IP地址对应的网络页面。例如,可通过网络爬虫等各种方式进行获取。具体实现时,检测模块33可以绑定用户发送的打点请求,获取其中的IP地址以及HOST信息,并根据该IP地址进行HTTP请求,将下载到的主页面作为对应的网络页面。由此可见,检测模块33根据域名解析结果中包含的IP地址获取到的网络页面是相应的客户端所展现的页面,因此,也可以称之为用户页面。
然后,检测模块33将网络页面与标准页面进行比较,若比较结果为相似,则确定域名解析结果中包含的域名安全;反之,则确定域名解析结果中包含的域名已被劫持。具体比较时,检测模块33可通过以下两种比较方式中的至少一种实现:
在第一种比较方式中,检测模块33根据网络页面与标准页面的DOM树、链接数量和/或页面尺寸确定页面内容之间的相似度分值,当相似度分值大于第一预设阈值时,确定域名解析结果中包含的域名安全;当相似度分值不大于第一预设阈值时,确定域名解析结果中包含的域名已被劫持。由此可见,第一种比较方式主要侧重于从页面内容的角度进行静态信息的比较,因此,只要是能够反映页面内容的页面元素都可以用于比较。具体地,通过解析页面的DOM树,并对其树节点进行对比实现。具体分析时可以从DOM树中提取若干级重要节点进行主要属性的对比,从而提高比较效率(例如仅提取前3级节点进行主要属性的对比),如果差异数量超过20%判为不相似,否则为相似。另外,还可以对DOM树中的各个元素设置不同的权重值,例如,发明人在实现本发明的过程中发现:通过对script等标签设置更高的权重能够进一步提升比较的准确率。具体计算时,可以通过sim哈希算法提升计算效率。
在第二种比较方式中,检测模块33根据网络页面与标准页面的跳转次数、和/或落地页面确定页面行为之间的相似度分值,当相似度分值大于第二预设阈值时,确定域名解析结果中包含的域名安全;当相似度分值不大于第二预设阈值时,确定域名解析结果中包含的域名已被劫持。由此可见,第二种比较方式主要侧重于从页面行为的角度进行动态信息的比较,因此,只要是能够反映页面行为的特征都可以用于比较。例如,若页面的跳转次数不同则很可能为黑,通过跳转次数能够快速判断;若页面多次跳转后的落地页面明显不同,也很可能为黑,通过落地页面能够更加直观地判断。上述的两种比较方式既可以单独使用,也可以结合使用。
进一步地,当确定域名解析结果中包含的域名安全时,检测模块33进一步用于:根据域名解析结果中包含的IP地址,和/或提供该IP地址的DNS服务器地址更新预设的白IP列表和/或白DNS列表;当确定域名解析结果中包含的域名已被劫持时,根据域名解析结果中包含的IP地址,和/或提供该IP地址的DNS服务器地址更新预设的黑IP列表和/或黑DNS列表。
具体地,当确定域名解析结果中包含的域名安全时,检测模块33根据域名解析结果中包含的IP地址更新预设的白IP列表的过程具体为:查询白IP列表中与该域名相对应的局部白IP子表,判断该局部白IP子表中是否已存储有域名解析结果中包含的IP地址,若判断结果为否,则将域名解析结果中包含的IP地址增加到该局部白IP子表中。当域名解析结果中包含的域名非安全时,采用类似的方式对局部黑IP子表进行更新。
另外,检测模块33在更新黑/白DNS列表时,可以采取以下策略,当确定域名解析结果中包含的域名非安全时,进一步查询提供该域名解析结果中包含的IP地址的DNS服务器,并将该DNS服务器地址加入黑DNS列表;或者,也可以针对同一个DNS服务器,确定其提供的IP地址的错误数量达到预设阈值时将其加入黑DNS列表。
另一方面,当确定域名解析结果中包含的域名已被劫持后,检测模块33进一步用于:向对应的客户端和/或DNS服务器发送域名劫持消息,以便客户端和/或DNS服务器根据域名劫持消息进行恶意IP的拦截以及域名解析结果的更正。
其中,检测模块33可以在每当确定域名被劫持后,立即向对应的客户端和/或DNS服务器发送域名劫持消息,该域名劫持消息中至少包含被劫持的域名及其对应的用户页面的IP地址,该方式尤其适用于客户端实时上报域名解析结果的场景中,从而能够及时通知客户端和/或DNS服务器对被劫持的域名进行防范。另外,该域名劫持消息中还可以进一步包含被劫持的域名所对应的标准页面的IP地址,以供客户端和/或DNS服务器及时进行更正。另外,检测模块33还可以每隔预设的时间间隔执行一次,例如,可以每天晚上12:00对当天确定的被劫持域名进行统计,并分别向各个客户端和/或DNS服务器发送域名劫持消息。
可选地,检测模块33还进一步用于:定期将上述预设的白IP列表和/或白DNS列表以及预设的黑IP列表和/或黑DNS列表发送给各个客户端,以供客户端存储在本地进行查询。
其中,由于上述预设的白IP列表和/或白DNS列表以及预设的黑IP列表和/或黑DNS列表均会在服务器的运行过程中进行动态更新,因此,检测模块33有必要定期地将这些列表发送给客户端,以供客户端存储在本地查询,从而加快客户端的域名解析效率。具体实现时,检测模块33可以为更新前后的每个列表设置不同的版本号,客户端根据版本号确定是否需要对本地的列表进行更新。另外,为了提高传输速度,节省网络资源,也可以由服务器定期对上一周期内出现变化的黑/白IP以及黑/白DNS进行统计,并根据统计结果确定出各个列表中更新的部分,并仅将更新的部分(即增量部分)发送给客户端。或者,还可以每隔第一时间间隔发送各个列表的全量部分,每隔第二时间间隔发送各个列表相对于上一版本的增量部分,其中,第一时间间隔大于第二时间间隔。具体地,服务器可以针对监测域名列表中的每个域名,统计该域名在上一周期内新增的白IP和/或黑IP。相应地,每当客户端欲访问监测域名列表中的一域名时,首先查询本地的黑/白IP列表,若查询到对应的IP地址为黑,则直接提示用户该域名已被劫持,进而还可以向服务器请求正确的IP地址。
另外,检测模块33还可以定期将上述预设的白IP列表和/或白DNS列表以及预设的黑IP列表和/或黑DNS列表发送给对应的DNS服务器,以供DNS服务器进行更新。
可选地,在检测模块33检测域名的安全性之前或之后,检测模块33还可以进一步用于:首先,检测模块33分别针对每个域名,确定与该域名相对应的至少一个IP地址,根据访问至少一个IP地址的客户端的地域分布情况确定该域名在各个地域所对应的优选IP地址。具体地,每个域名所对应的IP地址的数量可能为一个或多个,同一个IP地址也可能在不同的地域被访问,因此,检测模块33通过统计访问各个IP地址的客户端的地域分布情况,能够确定出相应地域的优选IP地址。例如,对于一个IP地址而言,若该IP地址在地域A的访问数量远大于其在其他地域的访问数量,则可以确定该IP地址最适宜在地域A进行访问。又如,针对一个地域而言,若该地域的客户端共访问过三个IP地址,那么三个IP地址当中访问量最大的IP地址则可以作为该地域对应的优选IP地址。总之,通过客户端访问特定IP地址时的地域分布情况,既可以确定出一个IP所最适宜的地域,也可以确定出一个地域内最适宜的IP地址。例如,假设一段时间内有一千万个用户正常访问域名M1,相应地,提取出一千万条正确的域名解析结果,计算与这些域名解析结果相对应的客户端的地域分布情况,经统计后,若地区A的客户端大多访问IP1,且IP3的访问量在地域A内仅次于IP1,则确定域名M1在地域A所对应的优选IP地址为IP1和IP3,且IP1的排列顺序位于IP3之前,或IP1的权重值大于IP3;若地区B的客户端大多访问IP2,且IP5的访问量在地域B内仅次于IP2,则确定域名M1在地域B所对应的优选IP地址为IP2和IP5,且IP2的排列顺序位于IP5之前,或IP2的权重值大于IP5。依照上述方式,可以分别针对每个域名,计算出该域名在各个地域的优选IP地址,且一个域名在同一地域内的优选IP地址既可以是一个也可以是多个,具体数量和排列方式取决于客户端的实际需求。具体地,当一个域名在同一地域内的优选IP地址为多个时,检测模块33根据各个IP地址在该地域内的访问量的多少来确定各个IP地址之间的排列顺序,从而使访问量越多的IP地址的排序越靠前;和/或,测量各个IP地址在该地域内的访问速度,根据访问速度的快慢来确定各个IP地址之间的排列顺序,从而使访问速度越快的IP地址的排序越靠前。
然后,检测模块33根据各个域名在各个地域所对应的优选IP地址更新相应地域的DNS服务器中存储的域名解析文件。检测模块33通过对各个地域的DNS服务器中存储的域名解析文件进行更新,能够确保各地客户端在访问时能够获取到与其所处的地域最匹配的IP地址,从而提升各地客户端的访问效率。例如,在上例中,向地域A所对应的DNS服务器下发用于将域名M1对应的优选IP地址更新为IP1和IP3的更新指令,向地域B所对应的DNS服务器下发用于将域名M1对应的优选IP地址更新为IP2和IP5的更新指令。具体实现时,上述过程可以周期性进行。例如,每隔预设周期对上一周期内的客户端访问情况进行统计,并根据统计结果对各地的DNS服务器进行更新,以确保下一周期的访问效率。具体更新时,检测模块33可以针对监测域名列表中的所有域名设置相同的更新周期并同时进行更新,例如,每天对监测域名列表中的所有域名对应的优选IP地址变动情况进行统计,并根据统计结果进行更新。检测模块33还可以针对监测域名列表中的不同域名设置不同的更新周期,例如,可以进一步统计各个域名的访问频率,并针对访问频率较高的域名设置较短的更新周期,为访问频率较低的域名设置较长的更新周期。其中,访问频率可以通过一段时间内的PV(PageView,页面浏览量)、和/或UV(Unique Visitor,独立访问者)进行统计。另外,检测模块33还可以结合域名被劫持的概率、域名的重要程度等因素来设置更新周期。
由此可见,通过本实施例提供的域名安全性的检测装置,能够检测特定域名的安全性,从而对重要的域名进行有针对性地防护,并且能够根据检测结果对相应的DNS服务器进行更新。另外,在本实施例中的装置除了能够根据检测结果更新DNS服务器之外,还可以进一步根据客户端所处的地域情况确定优选的DNS解析信息,并定期下发给各个DNS服务器,进而提升DNS解析效率。
实施例四
图4示出了根据本发明实施例四提供的一种域名安全性的检测***400的结构框图。如图4所示,该***包括:域名安全性的检测装置40、遍布多个地域的客户端41以及DNS服务器42。其中,域名安全性的检测装置40具体包括:获取模块31、确定模块32以及检测模块33。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的基于集群的数据存储空间装置模块中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了:A1.一种域名安全性的检测方法,包括:
获取客户端针对预设的监测域名列表中的域名确定的域名解析结果,确定所述域名解析结果中包含的域名及其对应的IP地址;
根据预设的安全DNS确定与所述域名解析结果中包含的域名相对应的标准页面;
根据所述域名解析结果中包含的IP地址获取对应的网络页面,将所述网络页面与所述标准页面进行比较,根据比较结果确定所述域名解析结果中包含的域名的安全性。
A2.根据A1所述的方法,其中,所述将所述网络页面与所述标准页面进行比较,根据比较结果确定所述域名解析结果中包含的域名的安全性的步骤具体包括:
根据所述网络页面与所述标准页面的DOM树、链接数量和/或页面尺寸确定页面内容之间的相似度分值,当所述相似度分值大于第一预设阈值时,确定所述域名解析结果中包含的域名安全;当所述相似度分值不大于所述第一预设阈值时,确定所述域名解析结果中包含的域名已被劫持。
A3.根据A1或A2所述的方法,其中,所述将所述网络页面与所述标准页面进行比较,根据比较结果确定所述域名解析结果中包含的域名的安全性的步骤具体包括:
根据所述网络页面与所述标准页面的跳转次数、和/或落地页面确定页面行为之间的相似度分值,当所述相似度分值大于第二预设阈值时,确定所述域名解析结果中包含的域名安全;当所述相似度分值不大于所述第二预设阈值时,确定所述域名解析结果中包含的域名已被劫持。
A4.根据A1-A3任一所述的方法,其中,当确定所述域名解析结果中包含的域名安全时,进一步根据所述域名解析结果中包含的IP地址,和/或提供该IP地址的DNS服务器地址更新预设的白IP列表和/或白DNS列表;当确定所述域名解析结果中包含的域名已被劫持时,进一步根据所述域名解析结果中包含的IP地址,和/或提供该IP地址的DNS服务器地址更新预设的黑IP列表和/或黑DNS列表。
A5.根据A4所述的方法,其中,进一步包括步骤:定期将所述预设的白IP列表和/或白DNS列表以及所述预设的黑IP列表和/或黑DNS列表发送给各个客户端,以供所述客户端存储在本地进行查询。
A6.根据A4或A5所述的方法,其中,所述黑IP列表中进一步包括:全局黑IP子表,用于存储针对所有域名生效的全局黑IP;
多个与监测域名列表中的各个域名一一对应的局部黑IP子表,每个局部黑IP子表用于存储针对相应的域名生效的局部黑IP。
A7.根据A4-A6任一所述的方法,其中,所述根据预设的安全DNS确定与所述域名解析结果中包含的域名相对应的标准页面的步骤具体包括:
根据所述白IP列表和/或白DNS列表,以及所述预设的黑IP列表和/或黑DNS列表对所述域名解析结果中包含的域名的安全性进行预判断,当预判断结果为未知时,执行所述根据预设的安全DNS确定与所述域名解析结果中包含的域名相对应的标准页面的步骤。
A8.根据A1-A7任一所述的方法,其中,所述预设的白IP列表通过预先向至少一个白DNS服务器请求与所述监测域名列表中的域名相对应的IP地址的方式创建。
A9.根据A1-A8任一所述的方法,其中,当确定所述域名解析结果中包含的域名已被劫持后,进一步包括步骤:向对应的客户端和/或DNS服务器发送域名劫持消息,以便所述客户端和/或DNS服务器根据所述域名劫持消息进行恶意IP的拦截以及域名解析结果的更正。
A10.根据A1-A9任一所述的方法,其中,所述获取客户端针对预设的监测域名列表中的域名确定的域名解析结果的步骤具体包括:每隔预设的时间间隔获取客户端发送的访问日志和/或打点请求,根据所述访问日志和/或打点请求确定客户端针对所述监测域名列表中的域名确定的域名解析结果。
A11.根据A10所述的方法,其中,所述根据所述访问日志和/或打点请求确定客户端针对所述监测域名列表中的域名确定的域名解析结果的步骤具体包括:
对所述访问日志和/或打点请求中包含的数据内容进行消重处理,根据消重处理后的数据内容确定客户端针对所述监测域名列表中的各个域名确定的域名解析结果。
A12.根据A1-A11任一所述的方法,其中,所述监测域名列表具有版本信息,则所述方法进一步包括步骤:根据所述版本信息判断客户端的监测域名列表是否需要更新,当判断结果为是时,向客户端发送更新后的监测域名列表。
本发明还公开了:B13.一种域名安全性的检测装置,包括:
获取模块,适于获取客户端针对预设的监测域名列表中的域名确定的域名解析结果,确定所述域名解析结果中包含的域名及其对应的IP地址;
确定模块,适于根据预设的安全DNS确定与所述域名解析结果中包含的域名相对应的标准页面;
检测模块,适于根据所述域名解析结果中包含的IP地址获取对应的网络页面,将所述网络页面与所述标准页面进行比较,根据比较结果确定所述域名解析结果中包含的域名的安全性。
B14.根据B13所述的装置,其中,所述检测模块具体用于:
根据所述网络页面与所述标准页面的DOM树、链接数量和/或页面尺寸确定页面内容之间的相似度分值,当所述相似度分值大于第一预设阈值时,确定所述域名解析结果中包含的域名安全;当所述相似度分值不大于所述第一预设阈值时,确定所述域名解析结果中包含的域名已被劫持。
B15.根据B13或B14所述的装置,其中,所述检测模块具体用于:
根据所述网络页面与所述标准页面的跳转次数、和/或落地页面确定页面行为之间的相似度分值,当所述相似度分值大于第二预设阈值时,确定所述域名解析结果中包含的域名安全;当所述相似度分值不大于所述第二预设阈值时,确定所述域名解析结果中包含的域名已被劫持。
B16.根据B13-B15任一所述的装置,其中,所述检测模块进一步用于:当确定所述域名解析结果中包含的域名安全时,进一步根据所述域名解析结果中包含的IP地址,和/或提供该IP地址的DNS服务器地址更新预设的白IP列表和/或白DNS列表;当确定所述域名解析结果中包含的域名已被劫持时,进一步根据所述域名解析结果中包含的IP地址,和/或提供该IP地址的DNS服务器地址更新预设的黑IP列表和/或黑DNS列表。
B17.根据B16所述的装置,其中,所述检测模块进一步用于:定期将所述预设的白IP列表和/或白DNS列表以及所述预设的黑IP列表和/或黑DNS列表发送给各个客户端,以供所述客户端存储在本地进行查询。
B18.根据B16或B17所述的装置,其中,所述黑IP列表中进一步包括:全局黑IP子表,用于存储针对所有域名生效的全局黑IP;
多个与监测域名列表中的各个域名一一对应的局部黑IP子表,每个局部黑IP子表用于存储针对相应的域名生效的局部黑IP。
B19.根据B16-B18任一所述的装置,其中,所述确定模块具体用于:
根据所述白IP列表和/或白DNS列表,以及所述预设的黑IP列表和/或黑DNS列表对所述域名解析结果中包含的域名的安全性进行预判断,当预判断结果为未知时,根据预设的安全DNS确定与所述域名解析结果中包含的域名相对应的标准页面。
B20.根据B13-B19任一所述的装置,其中,所述预设的白IP列表通过预先向至少一个白DNS服务器请求与所述监测域名列表中的域名相对应的IP地址的方式创建。
B21.根据B13-B20任一所述的装置,其中,所述检测模块进一步用于:当确定所述域名解析结果中包含的域名已被劫持后,向对应的客户端和/或DNS服务器发送域名劫持消息,以便所述客户端和/或DNS服务器根据所述域名劫持消息进行恶意IP的拦截以及域名解析结果的更正。
B22.根据B13-B21任一所述的装置,其中,所述获取模块具体用于:每隔预设的时间间隔获取客户端发送的访问日志和/或打点请求,根据所述访问日志和/或打点请求确定客户端针对所述监测域名列表中的域名确定的域名解析结果。
B23.根据B22所述的装置,其中,所述获取模块进一步用于:
对所述访问日志和/或打点请求中包含的数据内容进行消重处理,根据消重处理后的数据内容确定客户端针对所述监测域名列表中的各个域名确定的域名解析结果。
B24.根据B13-B23任一所述的装置,其中,所述监测域名列表具有版本信息,则所述获取模块进一步用于:根据所述版本信息判断客户端的监测域名列表是否需要更新,当判断结果为是时,向客户端发送更新后的监测域名列表。
本发明还公开了:C25.一种域名安全性的检测***,包括:如B13-B24任一所述的域名安全性的检测装置,以及遍布多个地域的客户端及DNS服务器。
Claims (10)
1.一种域名安全性的检测方法,包括:
获取客户端针对预设的监测域名列表中的域名确定的域名解析结果,确定所述域名解析结果中包含的域名及其对应的IP地址;
根据预设的安全DNS确定与所述域名解析结果中包含的域名相对应的标准页面;
根据所述域名解析结果中包含的IP地址获取对应的网络页面,将所述网络页面与所述标准页面进行比较,根据比较结果确定所述域名解析结果中包含的域名的安全性。
2.根据权利要求1所述的方法,其中,所述将所述网络页面与所述标准页面进行比较,根据比较结果确定所述域名解析结果中包含的域名的安全性的步骤具体包括:
根据所述网络页面与所述标准页面的DOM树、链接数量和/或页面尺寸确定页面内容之间的相似度分值,当所述相似度分值大于第一预设阈值时,确定所述域名解析结果中包含的域名安全;当所述相似度分值不大于所述第一预设阈值时,确定所述域名解析结果中包含的域名已被劫持。
3.根据权利要求1或2所述的方法,其中,所述将所述网络页面与所述标准页面进行比较,根据比较结果确定所述域名解析结果中包含的域名的安全性的步骤具体包括:
根据所述网络页面与所述标准页面的跳转次数、和/或落地页面确定页面行为之间的相似度分值,当所述相似度分值大于第二预设阈值时,确定所述域名解析结果中包含的域名安全;当所述相似度分值不大于所述第二预设阈值时,确定所述域名解析结果中包含的域名已被劫持。
4.根据权利要求1-3任一所述的方法,其中,当确定所述域名解析结果中包含的域名安全时,进一步根据所述域名解析结果中包含的IP地址,和/或提供该IP地址的DNS服务器地址更新预设的白IP列表和/或白DNS列表;当确定所述域名解析结果中包含的域名已被劫持时,进一步根据所述域名解析结果中包含的IP地址,和/或提供该IP地址的DNS服务器地址更新预设的黑IP列表和/或黑DNS列表。
5.根据权利要求4所述的方法,其中,进一步包括步骤:定期将所述预设的白IP列表和/或白DNS列表以及所述预设的黑IP列表和/或黑DNS列表发送给各个客户端,以供所述客户端存储在本地进行查询。
6.根据权利要求4或5所述的方法,其中,所述黑IP列表中进一步包括:全局黑IP子表,用于存储针对所有域名生效的全局黑IP;
多个与监测域名列表中的各个域名一一对应的局部黑IP子表,每个局部黑IP子表用于存储针对相应的域名生效的局部黑IP。
7.根据权利要求4-6任一所述的方法,其中,所述根据预设的安全DNS确定与所述域名解析结果中包含的域名相对应的标准页面的步骤具体包括:
根据所述白IP列表和/或白DNS列表,以及所述预设的黑IP列表和/或黑DNS列表对所述域名解析结果中包含的域名的安全性进行预判断,当预判断结果为未知时,执行所述根据预设的安全DNS确定与所述域名解析结果中包含的域名相对应的标准页面的步骤。
8.根据权利要求1-7任一所述的方法,其中,所述预设的白IP列表通过预先向至少一个白DNS服务器请求与所述监测域名列表中的域名相对应的IP地址的方式创建。
9.一种域名安全性的检测装置,包括:
获取模块,适于获取客户端针对预设的监测域名列表中的域名确定的域名解析结果,确定所述域名解析结果中包含的域名及其对应的IP地址;
确定模块,适于根据预设的安全DNS确定与所述域名解析结果中包含的域名相对应的标准页面;
检测模块,适于根据所述域名解析结果中包含的IP地址获取对应的网络页面,将所述网络页面与所述标准页面进行比较,根据比较结果确定所述域名解析结果中包含的域名的安全性。
10.一种域名安全性的检测***,包括:域名安全性的检测装置,以及遍布多个地域的客户端及DNS服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710198793.6A CN106686020A (zh) | 2017-03-29 | 2017-03-29 | 域名安全性的检测方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710198793.6A CN106686020A (zh) | 2017-03-29 | 2017-03-29 | 域名安全性的检测方法、装置及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106686020A true CN106686020A (zh) | 2017-05-17 |
Family
ID=58826034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710198793.6A Pending CN106686020A (zh) | 2017-03-29 | 2017-03-29 | 域名安全性的检测方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106686020A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107135236A (zh) * | 2017-07-06 | 2017-09-05 | 广州优视网络科技有限公司 | 一种目标域名劫持的检测方法和*** |
CN107566371A (zh) * | 2017-09-05 | 2018-01-09 | 成都知道创宇信息技术有限公司 | 一种面向海量日志的WebShell挖掘方法 |
CN107623693A (zh) * | 2017-09-30 | 2018-01-23 | 北京奇虎科技有限公司 | 域名解析防护方法及装置、***、计算设备、存储介质 |
CN108494762A (zh) * | 2018-03-15 | 2018-09-04 | 广州优视网络科技有限公司 | 网页访问方法、装置及计算机可读存储介质、终端 |
CN110290233A (zh) * | 2019-06-27 | 2019-09-27 | 广州虎牙科技有限公司 | 域名解析方法、装置、服务器及计算机可读存储介质 |
CN110535982A (zh) * | 2019-09-05 | 2019-12-03 | 赛尔网络有限公司 | 基于DNS over TLS的排名统计方法、装置、***及介质 |
CN111030979A (zh) * | 2019-06-20 | 2020-04-17 | 哈尔滨安天科技集团股份有限公司 | 一种恶意域名检测方法、装置及存储设备 |
CN111447291A (zh) * | 2018-12-29 | 2020-07-24 | 北京奇虎科技有限公司 | 基于dns的调度方法、***及电子设备 |
CN111970262A (zh) * | 2020-08-07 | 2020-11-20 | 杭州安恒信息技术股份有限公司 | 网站的第三方服务启用状态的检测方法、装置和电子装置 |
CN113922980A (zh) * | 2021-08-23 | 2022-01-11 | 北京天融信网络安全技术有限公司 | 一种基于http探测信息的dns监测方法、设备及存储介质 |
CN114567613A (zh) * | 2022-02-28 | 2022-05-31 | 天翼安全科技有限公司 | 一种真实ip识别方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100037314A1 (en) * | 2008-08-11 | 2010-02-11 | Perdisci Roberto | Method and system for detecting malicious and/or botnet-related domain names |
CN103561120A (zh) * | 2013-10-08 | 2014-02-05 | 北京奇虎科技有限公司 | 检测可疑dns的方法、装置和可疑dns的处理方法、*** |
CN104077396A (zh) * | 2014-07-01 | 2014-10-01 | 清华大学深圳研究生院 | 一种钓鱼网站检测方法及装置 |
CN104168339A (zh) * | 2014-06-30 | 2014-11-26 | 汉柏科技有限公司 | 防止域名劫持的方法及设备 |
CN104954372A (zh) * | 2015-06-12 | 2015-09-30 | 中国科学院信息工程研究所 | 一种钓鱼网站的取证与验证方法及*** |
CN106131016A (zh) * | 2016-07-13 | 2016-11-16 | 北京知道创宇信息技术有限公司 | 恶意url检测干预方法、***及装置 |
-
2017
- 2017-03-29 CN CN201710198793.6A patent/CN106686020A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100037314A1 (en) * | 2008-08-11 | 2010-02-11 | Perdisci Roberto | Method and system for detecting malicious and/or botnet-related domain names |
CN103561120A (zh) * | 2013-10-08 | 2014-02-05 | 北京奇虎科技有限公司 | 检测可疑dns的方法、装置和可疑dns的处理方法、*** |
CN104168339A (zh) * | 2014-06-30 | 2014-11-26 | 汉柏科技有限公司 | 防止域名劫持的方法及设备 |
CN104077396A (zh) * | 2014-07-01 | 2014-10-01 | 清华大学深圳研究生院 | 一种钓鱼网站检测方法及装置 |
CN104954372A (zh) * | 2015-06-12 | 2015-09-30 | 中国科学院信息工程研究所 | 一种钓鱼网站的取证与验证方法及*** |
CN106131016A (zh) * | 2016-07-13 | 2016-11-16 | 北京知道创宇信息技术有限公司 | 恶意url检测干预方法、***及装置 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107135236A (zh) * | 2017-07-06 | 2017-09-05 | 广州优视网络科技有限公司 | 一种目标域名劫持的检测方法和*** |
CN107566371A (zh) * | 2017-09-05 | 2018-01-09 | 成都知道创宇信息技术有限公司 | 一种面向海量日志的WebShell挖掘方法 |
CN107566371B (zh) * | 2017-09-05 | 2020-08-18 | 成都知道创宇信息技术有限公司 | 一种面向海量日志的WebShell挖掘方法 |
CN107623693A (zh) * | 2017-09-30 | 2018-01-23 | 北京奇虎科技有限公司 | 域名解析防护方法及装置、***、计算设备、存储介质 |
CN108494762A (zh) * | 2018-03-15 | 2018-09-04 | 广州优视网络科技有限公司 | 网页访问方法、装置及计算机可读存储介质、终端 |
CN111447291A (zh) * | 2018-12-29 | 2020-07-24 | 北京奇虎科技有限公司 | 基于dns的调度方法、***及电子设备 |
CN111447291B (zh) * | 2018-12-29 | 2024-04-05 | 三六零科技集团有限公司 | 基于dns的调度方法、***及电子设备 |
CN111030979A (zh) * | 2019-06-20 | 2020-04-17 | 哈尔滨安天科技集团股份有限公司 | 一种恶意域名检测方法、装置及存储设备 |
CN110290233A (zh) * | 2019-06-27 | 2019-09-27 | 广州虎牙科技有限公司 | 域名解析方法、装置、服务器及计算机可读存储介质 |
CN110535982A (zh) * | 2019-09-05 | 2019-12-03 | 赛尔网络有限公司 | 基于DNS over TLS的排名统计方法、装置、***及介质 |
CN111970262A (zh) * | 2020-08-07 | 2020-11-20 | 杭州安恒信息技术股份有限公司 | 网站的第三方服务启用状态的检测方法、装置和电子装置 |
CN113922980A (zh) * | 2021-08-23 | 2022-01-11 | 北京天融信网络安全技术有限公司 | 一种基于http探测信息的dns监测方法、设备及存储介质 |
CN114567613A (zh) * | 2022-02-28 | 2022-05-31 | 天翼安全科技有限公司 | 一种真实ip识别方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106686020A (zh) | 域名安全性的检测方法、装置及*** | |
CN106888280A (zh) | Dns更新方法、装置及*** | |
CN104040557B (zh) | 在线诈骗检测动态评分集合***和方法 | |
CN106537384B (zh) | 使用指示用户位置的数据的逆向ip数据库 | |
US11611575B2 (en) | Attack situation visualization device, attack situation visualization method and recording medium | |
CN111614690A (zh) | 一种异常行为检测方法及装置 | |
CN108334774A (zh) | 一种检测攻击的方法、第一服务器及第二服务器 | |
CN111885086B (zh) | 恶意软件心跳检测方法、装置、设备及可读存储介质 | |
CN108108288A (zh) | 一种日志数据解析方法、装置及设备 | |
CN110417778A (zh) | 访问请求的处理方法和装置 | |
CN108512822B (zh) | 一种数据处理事件的风险识别方法和装置 | |
CN106779278A (zh) | 资产信息的评价***及其信息的处理方法和装置 | |
CN104935601B (zh) | 基于云的网站日志安全分析方法、装置及*** | |
CN106453436A (zh) | 一种网络安全的检测方法和装置 | |
CN110071829A (zh) | Dns隧道检测方法、装置及计算机可读存储介质 | |
CN109800364A (zh) | 基于区块链的访问量统计方法、装置、设备和存储介质 | |
CN110516173A (zh) | 一种非法网站识别方法、装置、设备及介质 | |
CN112131507A (zh) | 网站内容处理方法、装置、服务器和计算机可读存储介质 | |
CN110135162A (zh) | Webshell后门识别方法、装置、设备及存储介质 | |
CN106454847A (zh) | 一种公共WiFi钓鱼风险的检测方法和装置 | |
CN106209907A (zh) | 一种检测恶意攻击的方法及装置 | |
CN106372267A (zh) | 基于浏览器的页面加载方法及装置 | |
CN110278212A (zh) | 链接检测方法及装置 | |
CN107623693A (zh) | 域名解析防护方法及装置、***、计算设备、存储介质 | |
CN109510800A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170517 |
|
RJ01 | Rejection of invention patent application after publication |