发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的域名解析服务器危险性的识别方法和装置。
本发明一个进一步的目的是要提高恶意DNS的识别准确度。
本发明另一个进一步的目的是要提高识别恶意DNS的可实施性,无需大数量的积累。
依据本发明的一个方面,提供了一种域名解析服务器危险性的识别方法。该域名解析服务器危险性的识别方法包括:获取待识别的本地域名解析服务器(Local DNS,以下简称本地DNS)对预设域名解析得到的解析结果;根据解析结果确定预设域名的授权域名服务器(Authoritative DNS,以下简称授权DNS)接收的DNS解析请求是否由本地DNS直接发送,其中解析结果中包括由授权DNS添加的DNS解析请求的请求源地址信息;若否,确定本地DNS存在恶意风险。
可选地,授权DNS配置为将DNS解析请求的请求源地址作为预设域名的解析地址;根据解析结果确定预设域名的授权DNS接收的DNS解析请求是否由本地DNS直接发送包括:获取本地DNS的地址;对本地DNS的地址和解析地址进行匹配;若本地DNS的地址和解析地址匹配,确定DNS解析请求由本地DNS直接发送。
可选地,对本地DNS的地址和解析地址进行匹配包括:比较本地DNS的地址和解析地址是否相同;若相同,确定本地DNS的地址和解析地址匹配。
可选地,对本地DNS的地址和解析地址进行匹配包括:比较本地DNS的地址的归属信息和解析地址的归属信息是否相同,归属信息包括地址的归属区域和/或归属运营商;若相同,确定本地DNS的地址和解析地址匹配。
可选地,若本地DNS的地址和解析地址不匹配,方法还包括:识别解析地址是否为公共DNS的地址;若是,提升本地DNS的风险等级。
可选地,若本地DNS的地址和解析地址不匹配,方法还包括:获取解析结果的生存时间值;判断解析结果的生存时间值是否不大于授权DNS预设的生存时间;若否,提升本地DNS的风险等级。
可选地,若本地DNS的地址和解析地址不匹配,方法还包括:记录多个本地DNS各自的解析地址,生成解析地址列表;统计解析地址列表中每个解析地址出现的次数,并按照次数从高到低进行排序;提升使用排序靠前的解析地址对应的本地DNS的风险等级。
根据本发明的另一个方面,还提供了一种域名解析服务器危险性的识别装置。该域名解析服务器危险性的识别装置包括:获取模块,配置为获取待识别的本地DNS对预设域名解析得到的解析结果;判断模块,配置为根据解析结果确定预设域名的授权DNS接收的DNS解析请求是否由本地DNS直接发送,若否,确定本地DNS存在恶意风险,其中解析结果中包括由授权DNS添加的DNS解析请求的请求源地址信息。
可选地,判断模块包括:地址判断子模块,配置为:获取本地DNS的地址;对本地DNS的地址和解析结果中的解析地址进行匹配,若本地DNS的地址和解析地址匹配,确定DNS解析请求由本地DNS直接发送,预设域名的授权DNS配置为将请求源的地址作为预设域名的解析地址。
可选地,地址判断子模块还配置为:比较本地DNS的地址和解析地址是否相同;若相同,确定本地DNS的地址和解析地址匹配。
可选地,地址判断子模块还配置为:比较本地DNS的地址的归属信息和比较解析地址的归属信息是否相同,归属信息包括地址的归属区域和/或归属运营商;若相同,确定本地DNS的地址和解析地址匹配。
可选地,判断模块还包括:地址识别子模块,配置为:识别解析地址是否为公共DNS的地址;若是,提升本地DNS的风险等级。
可选地,判断模块还包括:生存时间判断子模块,配置为:获取解析结果的生存时间值;判断解析结果的生存时间值是否不大于授权DNS预设的生存时间是否一致;若否,提升本地DNS的风险等级。
可选地,上述域名解析服务器危险性的识别装置还包括:统计模块,配置为:记录多个本地DNS的解析地址,生成解析地址列表;统计解析结果地址列表中每个解析地址出现的次数,并按照次数从高到低进行排序;提升使用排序靠前的解析地址对应的本地DNS的风险等级。
本发明的域名解析服务器危险性的识别方法,使用待识别的本地DNS向预设域名发起DNS解析请求,该预设域名的授权DNS返回的解析结果可以反映发送该解析请求的请求源地址,由于恶意DNS一般会将不在其篡改范围内的DNS解析请求转发给其他DNS解析服务器代为解析,因此通过判断授权DNS接收的DNS解析请求是否由本地DNS直接发送就可以得出该DNS解析是否经过其他DNS解析服务器代为转发解析,并进一步确定该DNS是否存在恶意风险。
进一步地,预设域名的授权DNS可以配置为将DNS解析请求的请求源地址作为预设域名的解析地址,从而在得到该预设域名的解析结果后,直接判断得到的解析地址是否与本地DNS的地址匹配,就可以确定本地DNS是否完成了整个解析过程,从而得出本地DNS的是否恶意的识别结果。
更进一步地,本发明的域名解析服务器危险性的识别方法,仅通过设立一个用于探测DNS解析请求的请求源地址的测试域名,获取DNS的判断依据,无需积累大量的数据用于分析,识别过程简单易于实现。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
具体实施方式
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
图1是根据本发明一个实施例的域名解析服务器危险性的识别装置的第一种使用环境的架构图,DNS架构是一个层次树状结构,这个树状结构称为DNS域名空间,最上面的域名空间被称为“根节点”。从顶级域到某一个子域的路径就构成了一个域名,例如从顶级域.com到它的二级域Microsoft,再到Microsoft的子域departmentA就构成了一个域名departmentA.microsoft.com。图1以访问某个网站地址www.abc.com(以下均以abc.com为例介绍)的解析过程为例进行简要介绍。其流程为:
步骤1,用户电脑向其系统上设置的本地DNS服务器发送解析www.abc.com的请求。所谓本地DNS服务器是指一个DNS服务IP地址,可以是从运营商自动获取的,也可以是手动或者通过其他途径设置的。
步骤2,本地DNS服务器会在自己的空间里查看是否有这个域名的缓存(后续实施例中未考虑缓存的影响),如果没有,就会向根服务器发送www.abc.com的域名解析请求。
步骤3,根服务器接收到本地DNS服务器关于域名的解析请求后,分析请求的域名,返回给本地服务器.com这个域名节点的服务器的IP地址。
步骤4:本地DNS服务器在接到.com顶级域的服务器IP地址后,向.com顶级域发出查询www.abc.com的解析请求。
步骤5,.com顶级域服务器在接收到关于www.abc.com的解析请求后,返回给本地DNS服务器关于abc这个二级域的DNS服务器的IP地址。
步骤6,本地DNS服务器继续向abc这个二级域的DNS服务器发起关于www.abc.com的解析请求。
步骤7,abc这个域的管理服务器管理abc.com下的所有的子域名。该管理服务器可以称之为授权DNS。该授权DNS的域名空间中有www这个子域名,并保存有其对应的解析信息,因此abc.com域的DNS服务器会返回www.abc.com对应的解析结果给本地DNS服务器。
步骤8,本地DNS服务器接收到abc.com这个域服务器关于www.abc.com解析结果后,返回给用户。
步骤9,用户电脑在获得www.abc.com域名对应的IP地址后,就开始向这个IP请求有关内容。到此,DNS的一个完整请求解析流程结束。
在以上介绍中,本地域名服务器(Local DNS),可以是指配置在用户计算机中的DNS,用户所有的DNS解析请求都是直接发给Local DNS,然后由Local DNS进行处理并返回解析结果。授权DNS可以指对特定域名具有权威发布能力的DNS,是互联网上域名解析结果的原始出处。比如假设域名“abc.com”的授权DNS为1.2.3.4,那么就可以从1.2.3.4上获取“abc.com”子域(比如www.abc.com)的权威的解析结果。
图1介绍的本地DNS解析过程是正常DNS的解析过程,整个DNS的迭代解析的请求均由本地DNS发送。经过发明人对大量恶意DNS的分析和研究得出大量恶意DNS的解析过程如图2所示,图2是根据本发明一个实施例的域名解析服务器危险性的识别装置的第二种使用环境的架构图,在该架构中本地DNS为恶意DNS,对某些域名进行了劫持,其流程为:
步骤A,用户计算机向其系统上设置的本地DNS服务器发送解析www.abc.com的请求;该本地DNS服务器为恶意DNS,对某些域名进行了劫持;
步骤B,恶意DNS接收到域名解析请求后,会首先检查该请求的www.abc.com域名是否为要劫持的域名,若是,执行步骤C;若否,执行步骤D;
步骤C,恶意DNS向用户计算机返回被篡改的或者伪造的解析结果,将用户引导至特定的网站,以实现恶意的目的;
步骤D,对于非劫持对象,将DNS解析请求发送给其他正常DNS;
步骤E,正常DNS执行多轮迭代查询,从网络上获取abc.com的授权DNS地址;
步骤F,正常DNS向abc.com的授权DNS发送请求解析www.abc.com;
步骤G,abc.com的授权DNS返回www.abc.com的正常解析结果;
步骤H,正常DNS将www.abc.com的正常解析结果转发给恶意的本地DNS;
步骤J,恶意的本地DNS将www.abc.com的正常解析结果发给用户计算机。
通过以上恶意的本地DNS的工作流程可以看出,一般恶意的本地DNS仅对个别的需要劫持的对象,返回恶意劫持结果,而对于大部分域名交由正常DNS代为迭代解析,以减轻自身压力,而且发明人分析得出,恶意DNS选择的转发DNS一般是公用的DNS服务器。
针对以上恶意DNS的解析特点,本发明实施例提供了一种域名解析服务器危险性的识别装置100,可以布置于用户侧,通过对预设的用于识别DNS的危险性的专用域名进行检测,来实现对名解析服务器危险性的识别。图3是根据本发明一个实施例的域名解析服务器危险性的识别装置100的示意图,该域名解析服务器危险性的识别装置100一般性地可以包括:获取模块110和判断模块120。
在本发明实施例的域名解析服务器危险性的识别装置100中,获取模块110配置为获取待识别的本地DNS对预设域名解析得到的解析结果,该预设域名的授权DNS可以设置为将直接发出该次DNS请求的请求源地址作为解析结果或者包含在解析结果中发送回请求源,从而解析结果中包括由预设域名授权DNS添加的DNS解析请求的请求源地址信息。
判断模块120可以配置为根据解析结果确定预设域名的授权DNS接收的DNS解析请求是否由本地DNS直接发送,若否,确定本地DNS存在恶意风险。通过以上对正常DNS和恶意DNS各自解析过程的分析可以看出,通过判断DNS解析请求的请求源可以得出恶意DNS的判断依据,由此判断模块120对接收到的包含DNS请求源地址信息的DNS解析结果可以识别DNS的危险性。
图4是根据本发明另一个实施例的域名解析服务器危险性的识别装置100的示意图,在该实施例中,域名解析服务器危险性的识别装置可以增加设置统计模块130,并且判断模块120可以设置有:地址判断子模块122、地址识别子模块124、生存时间判断子模块126。
在预设域名的授权DNS配置为将请求源的地址作为预设域名的解析地址的情况下,地址判断子模块122可以配置为:获取本地DNS的地址;对本地DNS的地址和解析结果中的解析地址进行匹配,若本地DNS的地址和解析地址匹配,确定DNS解析请求由本地DNS直接发送。
地址判断子模块122对本地DNS的地址和解析结果中的解析地址进行匹配的过程可以直接判断解析地址与待识别的本地DNS是否一致,例如比较本地DNS的地址和解析地址是否相同;若相同,确定本地DNS的地址和解析地址匹配。
考虑到同一DNS服务器上存在多IP的情况,为了避免误报,地址判断子模块122还可以比较本地DNS的地址的归属信息和解析地址的归属信息是否相同,归属信息包括地址的归属区域、归属运营商;若相同,确定本地DNS的地址和解析地址匹配。根据我国国内的情况,归属区域可以精确到省,运营商包括电信、联通、移动和铁通等。如果两个地址不同,但是都属于同一个省(或某一区域),那么可以认为这两个地址是匹配的。更严格一点,可以加上对运营商的限制,即如果两个地址不同,但是所属的省(或某一区域)和运营商都相同,那么认为是匹配的,否则如果省(或某一区域)或运营商中只要有一项不一样那么就不匹配。
由于恶意DNS经常使用的转发DNS一般为公共DNS,因此如果出现DNS解析请求利用公共DNS转发的情况,需要提高本地DNS的恶意程度,因此,地址识别子模块124可以识别解析地址是否为公共DNS的地址;若是,提升本地DNS的风险等级。公共DNS的地址可以以预置的数据库的形式保存在用户侧或者存放在网络侧以供用户侧查询。
生存时间判断子模块126可以获取解析结果的生存时间值;判断解析结果的生存时间值是否不大于授权DNS预设的生存时间;若否,提升本地DNS的风险等级。
DNS的生存时间(Time-To-Live,简称TTL),表示一条域名解析记录在DNS服务器上可以缓存的时间。当Local DNS服务器接收到解析请求时,就会向域名授权DNS发出解析请求从而获得解析记录;在获得这个记录之后,记录会在Local DNS服务器中缓存一段时间,这段时间内如果再接到这个域名的解析请求,Local DNS将不再向授权DNS发出请求,而是直接返回刚才获得的记录;而这个记录在Local DNS服务器上允许保留的时间,就是TTL值。
在本发明实施例中,预设域名的授权DNS可以将TTL设置为一个比较小的值,比如0到60秒之间,如果生存时间判断子模块126获取的解析结果中的TTL大于预设的值,就说明授权DNS返回的信息被篡改,危险系数增加。
以上域名解析服务器危险性的识别装置100可以布置于用户侧的客户端中,在工作时,发起对预设域名的解析请求,接收预设域名授权DNS返回的解析结果并判断该解析结果中包含的DNS解析请求源的地址与待识别的本地DNS是否一致或者属于同一区域(所属地理区域和运营商)。整个过程简单,无需大数据量的积累,准确度高。
在需要检测一批待识别DNS时,统计模块130可以记录多个本地DNS的解析地址,生成解析地址列表;统计解析结果地址列表中每个解析地址出现的次数,并按照次数从高到低进行排序;提升使用排序靠前的解析地址对应的本地DNS的风险等级。也就是对多个本地DNS进行上述的识别,然后根据是否有多个本地DNS返回相同的最后一层出口IP来判断这些本地DNS的危险性。
本发明还提供了一种域名解析服务器危险性的识别方法,该域名解析服务器危险性的识别方法可以由以上实施例中介绍的任一种域名解析服务器危险性的识别装置100来执行,以提高恶意DNS的识别准确度,识别过程简单易于实现。图5是根据本发明一个实施例的域名解析服务器危险性的识别方法的示意图,该域名解析服务器危险性的识别方法包括:
步骤S502,获取待识别的本地DNS对预设域名解析得到的解析结果;
步骤S504,根据解析结果确定预设域名的授权DNS接收的DNS解析请求是否由本地DNS直接发送;
步骤S506,若否,确定本地DNS存在恶意风险。
预设域名的授权DNS可以在解析结果中添加DNS解析请求的请求源地址信息,例如将DNS解析请求的请求源地址作为预设域名的解析地址或者按照对DNS解析请求的请求源地址进行一定的逻辑计算,使预设域名的解析地址与DNS解析请求的请求源地址一一对应,以便后续的判断。
步骤S504判断采用的方法就是检查授权DNS接收到的DNS解析请求的请求源IP,假设其为IP4。IP4和本地DNS的地址假设为IP1进行比对,如果这两个IP相同,或者虽然不同但是归属地相同(同属于某个省和某运营商),那么可以确认这个本地DNS没有对预设域名的域名解析请求进行转发。如果两个IP不同,并且归属地不同(所属省和所属运营商任一项不同),那么就是进行了转发,有劫持的嫌疑。
例如,授权DNS配置为将DNS解析请求的请求源地址作为预设域名的解析地址;步骤S504的可选方法为获取本地DNS的地址;对本地DNS的地址和解析地址进行匹配;若本地DNS的地址和解析地址匹配,确定DNS解析请求由本地DNS直接发送。其中,对本地DNS的地址和解析地址进行匹配包括:比较本地DNS的地址和解析地址是否相同;若相同,确定本地DNS的地址和解析地址匹配。另外,对本地DNS的地址和解析地址进行匹配还可以包括:比较本地DNS的地址的归属信息和解析地址的归属信息是否相同,归属信息包括地址的归属区域和/或归属运营商;若相同,确定本地DNS的地址和解析地址匹配。
若本地DNS的地址和解析地址不匹配,还可以进一步识别解析地址是否为公共DNS的地址;若是,提升本地DNS的风险等级。以及进一步获取解析结果的生存时间值;判断解析结果的生存时间值是否不大于授权DNS预设的生存时间;若否,提升本地DNS的风险等级。
在本地DNS的地址和解析地址不匹配的情况下,还可以对一批DNS进行集中处理,本实施例的方法还可以包括:记录多个本地DNS各自的解析地址,生成解析地址列表;统计解析地址列表中每个解析地址出现的次数,并按照次数从高到低进行排序;提升使用排序靠前的解析地址对应的本地DNS的风险等级。
使用本实施例的以上域名解析服务器危险性的识别方法需要首先设置预设域名及其授权DNS,例如以图1和图2所示的网络环境中,在abc.com的授权DNS上设置一个特殊的域名,假设为check.abc.com,把其TTL设置为0。当授权DNS接收到对该域名的请求时,先获取到直接发出该次请求的源IP地址,假设该地址为IP2=58.240.56.14,然后把该地址作为check.abc.com的A记录返回回去。这样本地DNS得到的就是类似下面的一条DNS应答记录:
check.abc.com.0IN A 58.240.56.14,该条记录表示对check.abc.com的解析得到一个A记录58.240.56.14,TTL为0。从而可以利用授权DNS返回的解析结果进行判断。
在对一个单独的本地DNS(假设其地址为IP1=58.240.56.14)进行识别时,可以利用nslookup或者dig等DNS查询手段获取该本地DNS请求check.abc.com的解析结果。以下以Linux系统上常用的dig(域信息搜索器)命令为例进行介绍。以下是dig请求check.abc.com的解析结果的示例代码:
以上代码中得到的check.abc.com的解析结果为IP2=61.190.31.58,跟IP1=58.240.56.14对比,两个IP不一样;然后继续查询这两个IP地址的归属地和运营商,IP2的归属地信息为“中国安徽合肥电信”,而IP1的归属地信息为“中国江苏南京联通”,可以看到这两个IP的所在地区不一样,说明当前待识别的本地DNS对check.abc.com的解析请求转发到了南京的一台服务器上了,因此该DNS可能是黑DNS,危险系数增加。
继续检查返回的TTL,可以发现TTL被改为3600秒,明显大于预先设置的0秒,说明授权DNS返回的信息被篡改,危险系数增加。
继续检查IP2是否在常用的公共DNS(比如google DNS、114DNS、DNS派等)列表中,如果IP2在列表中,那么说明这个Local DNS把对check.abc.com的解析请求转发到了公共DNS上,危险系数增大。
下面是另外一个待识别的本地DNS(218.247.244.2)对check.abc.com的解析结果:
可以看出本次对本地DNS的解析结果为218.247.244.2,两个IP是一样的,并且TTL值为0,说明DNS解析请求没有被转发到其他服务器上,并且TTL没有被篡改,因此该本地DNS(218.247.244.2)的危险系数相对较小。
本发明实施例的域名解析服务器危险性的识别方法还可以对一批DNS进行集中识别,例如检测一批本地DNS,可表达为列表:{dns1,dns2,dns3,…}。
首先利用上述介绍的对单个待识别DNS的检测方法逐个使用列表中的DNS向预设域名发出DNS解析请求,得到的返回IP结果列表为{ip1,ip2,ip3,…},从该列表中排除掉已知的公共DNS之后,分别统计返回ipn的待识别DNS数目得到对应的列表{cnt1,cnt2,cnt3,…},其中cnti表示总共有cnti个待识别DNS返回了ipi。如果某个ip被返回的次数较多,那么那些返回该ip的待识别DNS的危险系数增加。
使用本实施例的域名解析服务器危险性的识别方法可以快速从大量的本地DNS中筛选出危险系数比较高的DNS,然后辅以其他检查方法进一步确定是否是恶意DNS,避免了现有技术中需要事先获取合法解析结果的问题。从而仅利用在授权DNS设置预设的检测识别域名例如check等,就可以通过解析结果进行DNS的危险性识别。
本发明的域名解析服务器危险性的识别方法,使用待识别的本地DNS向预设域名发起DNS解析请求,该预设域名的授权DNS返回的解析结果可以反映发送该解析请求的请求源地址,由于恶意DNS一般会将不在其篡改范围内的DNS解析请求转发给其他DNS解析服务器代为转发解析,因通过判断授权DNS接收的DNS解析请求是否由本地DNS直接发送就可以得出该DNS解析是否经过其他DNS解析服务器代为转发解析,并进一步确定该DNS是否存在恶意风险。
进一步地,预设域名的授权DNS可以配置为将DNS解析请求的请求源地址作为预设域名的解析地址,从而在得到该预设域名的解析结果后,直接判断得到的解析地址是否与本地DNS的地址匹配,就可以确定本地DNS是否完成了整个解析过程,从而得出本地DNS的是否恶意的识别结果。
更进一步地,本发明的域名解析服务器危险性的识别方法,仅通过设立一个用于探测DNS解析请求的请求源地址的测试域名,获取DNS的判断依据,无需积累大量的数据用于分析,识别过程简单易于实现。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的域名解析服务器危险性的识别装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
本发明实施例还提供了A1.一种域名解析服务器危险性的识别方法,包括:
获取待识别的本地DNS对预设域名解析得到的解析结果;
根据所述解析结果确定所述预设域名的授权DNS接收的DNS解析请求是否由所述本地DNS直接发送,其中所述解析结果中包括由所述授权DNS添加的所述DNS解析请求的请求源地址信息;
若否,确定所述本地DNS存在恶意风险。
A2.根据A1所述的方法,其中
所述授权DNS配置为将所述DNS解析请求的请求源地址作为所述预设域名的解析地址;
根据所述解析结果确定所述预设域名的授权DNS接收的DNS解析请求是否由所述本地DNS直接发送包括:
获取所述本地DNS的地址;
对所述本地DNS的地址和所述解析地址进行匹配;
若所述本地DNS的地址和所述解析地址匹配,确定所述DNS解析请求由所述本地DNS直接发送。
A3.根据A2所述的方法,其中,对所述本地DNS的地址和所述解析地址进行匹配包括:
比较所述本地DNS的地址和所述解析地址是否相同;
若相同,确定所述本地DNS的地址和所述解析地址匹配。
A4.根据A2所述的方法,其中,对所述本地DNS的地址和所述解析地址进行匹配包括:
比较所述本地DNS的地址的归属信息和所述解析地址的归属信息是否相同,所述归属信息包括地址的归属区域和/或归属运营商;
若相同,确定所述本地DNS的地址和所述解析地址匹配。
A5.根据A2至A4中任一项所述的方法,其中,
若所述本地DNS的地址和所述解析地址不匹配,所述方法还包括:
识别所述解析地址是否为公共DNS的地址;
若是,提升所述本地DNS的风险等级。
A6.根据A2至A4中任一项所述的方法,其中,
若所述本地DNS的地址和所述解析地址不匹配,所述方法还包括:
获取所述解析结果的生存时间值;
判断所述解析结果的生存时间值是否不大于所述授权DNS预设的生存时间;
若否,提升所述本地DNS的风险等级。
A7.根据A2至A4中任一项所述的方法,其中,
若所述本地DNS的地址和所述解析地址不匹配,所述方法还包括:
记录多个所述本地DNS各自的所述解析地址,生成解析地址列表;
统计所述解析地址列表中每个所述解析地址出现的次数,并按照所述次数从高到低进行排序;
提升使用排序靠前的解析地址对应的本地DNS的风险等级。
另外,本发明还提供了B8.一种域名解析服务器危险性的识别装置,包括:
获取模块,配置为获取待识别的本地DNS对预设域名解析得到的解析结果;
判断模块,配置为根据所述解析结果确定所述预设域名的授权DNS接收的DNS解析请求是否由所述本地DNS直接发送,若否,确定所述本地DNS存在恶意风险,其中所述解析结果中包括由所述授权DNS添加的所述DNS解析请求的请求源地址信息。
B9.根据B8所述的装置,其中所述判断模块包括:
地址判断子模块,配置为:获取所述本地DNS的地址;对所述本地DNS的地址和所述解析结果中的解析地址进行匹配,若所述本地DNS的地址和所述解析地址匹配,确定所述DNS解析请求由所述本地DNS直接发送,所述预设域名的授权DNS配置为将所述请求源的地址作为所述预设域名的解析地址。
B10.根据B9所述的装置,其中所述地址判断子模块还配置为:
比较所述本地DNS的地址和所述解析地址是否相同;
若相同,确定所述本地DNS的地址和所述解析地址匹配。
B11.根据B9所述的装置,其中所述地址判断子模块还配置为:
比较所述本地DNS的地址的归属信息和所述解析地址的归属信息是否相同,所述归属信息包括地址的归属区域和/或归属运营商;
若相同,确定所述本地DNS的地址和所述解析地址匹配。
B12.根据B9至B11中任一项所述的装置,其中所述判断模块还包括:
地址识别子模块,配置为:识别所述解析地址是否为公共DNS的地址;若是,提升所述本地DNS的风险等级。
B13.根据B9至B11中任一项所述的装置,其中所述判断模块还包括:
生存时间判断子模块,配置为:获取所述解析结果的生存时间值;判断所述解析结果的生存时间值是否不大于所述授权DNS预设的生存时间;若否,提升所述本地DNS的风险等级。
B14.根据B9至B11中任一项所述的装置,还包括:
统计模块,配置为:记录多个所述本地DNS的所述解析地址,生成解析地址列表;统计所述解析结果地址列表中每个所述解析地址出现的次数,并按照所述次数从高到低进行排序;提升使用排序靠前的解析地址对应的本地DNS的风险等级。