一种防止域名劫持的方法及装置与流程

文档序号:13143471阅读:190来源:国知局
技术领域本发明涉及通讯技术领域,特别是涉及一种防止域名劫持的方法及装置。

背景技术:
随着互联网技术的发展,网络安全问题也面临着越来越严峻的挑战。例如,在使用CPE(CustomerPremiseEquipment,高速无线网关),MiFi(Mobile-WiFi,移动无线保真),路由器等设备上网的过程中,就有可能发生DNS(DomainNameSystem,域名系统)被劫持,也就是说,当路由器需要将域名地址发送到预定的DNS服务器进行地址解析时,由于DNS的IP地址被劫持,路由器无法找到该预定的DNS服务器,也就无法实现对目标网址的访问。用户遭到DNS劫持后,在劫持后的网页中登录账户就会导致信息泄露,甚至财产损失。现有技术中,防止DNS攻击现有技术方案主要是通过监控流量,检测通信中的DNS数据报文是否异常来判断DNS是否被劫持,或者使用同一个DNS地址解析一个不存在的和一个存在的网址,对比返回的IP地址是否相同,以此判断是否被劫持并采取必要的防范。然而,上述防止DNS攻击的方法,都是在DNS被攻击后才能有所察觉和补救,安全性低效果差。针对如何有效防止域名被劫持或篡改,现有技术中尚无有效的方案。

技术实现要素:
本发明要解决的技术问题是提供一种防止域名劫持的方法及装置,用以解决现有技术中防止DNS被劫持的方法安全性低效果差的问题。一方面,本发明提供一种防止域名劫持的方法,包括:对域名配置文件施加访问保护;当接收到来自终端的域名解析请求时,根据所述域名解析请求解除所述域名配置文件的访问保护;读取所述域名配置文件中的域名地址,并在读取后恢复对所述域名配置文件的访问保护。可选的,所述对域名配置文件施加访问保护包括以下至少一种:对所述域名配置文件加锁;将所述域名配置文件通过软连接从当前位置链接到预设安全地址;将所述域名配置文件设置成只允许预设进程访问;对所述域名配置文件中的域名地址加密。进一步的,所述对域名配置文件施加访问保护之后,所述根据所述域名解析请求解除所述域名配置文件的访问保护之前,所述方法还包括:将所述域名配置文件中的域名地址备份到备份文件中。进一步的,所述读取所述域名配置文件中的域名地址,并恢复对所述域名配置文件的访问保护之后,所述方法还包括:比较读取的域名地址与备份的域名地址是否相同,以确定所述配置文件中的域名地址是否被劫持;在读取的域名地址与备份的域名地址不同的情况下,确定所述配置文件中的域名地址被劫持并使用备份的域名地址修复被劫持的域名地址。可选的,所述确定所述配置文件中的域名地址被劫持并使用备份的域名地址修复被劫持的域名地址包括:生成地址修复指令;根据所述地址修复指令,解除所述域名配置文件的访问保护;将备份的域名地址存储到所述域名配置文件中并对域名地址进行重新读取;恢复对所述域名配置文件的访问保护。另一方面,本发明还提供一种防止域名劫持的装置,包括:施加单元,用于对域名配置文件施加访问保护;解除单元,用于当接收到来自终端的域名解析请求时,根据所述域名解析请求解除所述域名配置文件的访问保护;读取和恢复单元,用于读取所述域名配置文件中的域名地址,并在读取后恢复对所述域名配置文件的访问保护。可选的,所述施加单元,包括以下至少一种:加锁模块,用于对所述域名配置文件加锁;链接模块,用于将所述域名配置文件通过软连接从当前位置链接到预设安全地址;进程监控模块,用于将所述域名配置文件设置成只允许预设进程访问;加密模块,用于对所述域名配置文件中的域名地址加密。可选的,所述装置还包括:备份单元,用于在对所述域名配置文件施加访问保护后,将所述域名配置文件中的域名地址备份到备份文件中。可选的,所述装置还包括:比较单元,用于在读取所述域名配置文件中的域名地址,并恢复对所述域名配置文件的访问保护之后,比较读取的域名地址与备份的域名地址是否相同,以确定所述配置文件中的域名地址是否被劫持;确定和修复单元,用于在读取的域名地址与备份的域名地址不同的情况下,确定所述配置文件中的域名地址被劫持并使用备份的域名地址修复被劫持的域名地址。可选的,所述确定和修复单元具体用于:生成地址修复指令;根据所述地址修复指令,解除所述域名配置文件的访问保护;将备份的域名地址存储到所述域名配置文件中并对域名地址进行重新读取;恢复对所述域名配置文件的访问保护。本发明实施例提供的防止域名劫持的方法及装置,能够对域名配置文件施加访问保护,当接收到来自终端的域名解析请求时,能够根据所述域名解析请求解除所述域名配置文件的访问保护,然后读取所述域名配置文件中的域名地址,并在读取后恢复对所述域名配置文件的访问保护。这样,通过对域名配置文件施加访问保护,除了终端进行域名解析请求之外,在其他时机,域名配置文件都被保护起来,其他恶意程序无法对其进行访问,因此能够从根本上防止域名被劫持,有效提高了域名系统的安全性。附图说明图1是本发明实施例提供的防止域名劫持的方法的一种流程图;图2是本发明实施例中对域名配置文件进行加锁的一种流程图;图3是本发明实施例中对读取DNS服务器地址的一种流程图;图4是本发明实施例提供的防止域名劫持的方法的一种详细流程图;图5是本发明实施例提供的防止域名劫持的装置的一种结构示意图。具体实施方式以下结合附图对本发明进行详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。如图1所示,本发明实施例提供一种防止域名劫持的方法,包括:S11,对域名配置文件施加访问保护;S12,当接收到来自终端的域名解析请求时,根据所述域名解析请求解除所述域名配置文件的访问保护;S13,读取所述域名配置文件中的域名地址,并在读取后恢复对所述域名配置文件的访问保护。本发明实施例提供的防止域名劫持的方法,能够对域名配置文件施加访问保护,当接收到来自终端的域名解析请求时,能够根据所述域名解析请求解除所述域名配置文件的访问保护,然后读取所述域名配置文件中的域名地址,并在读取后恢复对所述域名配置文件的访问保护。这样,通过对域名配置文件施加访问保护,除了终端进行域名解析请求之外,在其他时机,域名配置文件都被保护起来,其他恶意程序无法对其进行访问,因此能够从根本上防止域名被劫持,有效提高了域名系统的安全性。具体而言,域名配置文件设置在路由器等具有路由功能的设备中,一般可以通过路由器中的DNS管理进程来维护和管理。可选的,对于移动终端等设备,可以采用Dnsmasq进行DNS管理。路由器可以接收终端设备的网址访问请求,然后将请求中的目标地址,也就是用户通过浏览器输入的英文网址,发送到DNS服务器,由DNS服务器将该访问请求中的英文网址解析成IP地址,返回给路由器。其中,将目标地址发送给DNS服务器时,需要知道DNS服务器的地址,这个DNS服务器的地址也就是存储在域名配置文件中的DNS服务器地址。可选的,在步骤S11中,对域名配置文件施加访问保护可以通过多种形式实现,例如,在本发明的一个实施例中,可以对域名配置文件加锁来进行访问保护。具体的,本实施例中,可以通过DNS管理进程对域名配置文件进行加锁管理。其中,对域名配置文件所加的锁可以是一道或多道,本发明的实施例对此不作限制。路由器开机后,DNS管理进程启动,进行初始化,然后开始对域名配置文件进行加锁,具体过程可如图2所示。当路由器完成网络连接后,DNS管理进程就可以获取到当前可用的DNS服务器地址,然后先对域名配置文件进行解锁,再将该DNS服务器地址存储到域名配置文件中,最后对域名配置文件重新加锁。当域名配置文件处于被加锁状态时,拒绝一切程序的访问,来访程序必须首先对程序进行解锁,而如果这个锁不是原程序本身施加的,将很难被成功解锁,从而在根本上防止了DNS服务器地址被攻击和恶意篡改,大大提高了域名服务系统的安全性。相应的,如图3所示,在步骤S12中,当接收到来自终端的域名解析请求时,根据所述域名解析请求解除所述域名配置文件的访问保护,具体可以包括根据所述域名解析请求对所述域名配置文件进行解锁。在步骤S13中,读取所述域名配置文件中的域名地址,并在读取后恢复对所述域名配置文件的访问保护,具体可以包括读取所述域名配置文件中的域名地址,并在读取后对所述域名配置文件重新加锁。另外,还可以经常对加锁算法进行变换和更新,以增大其他程序的解锁难度。除了可以通过对域名配置文件加锁来实现访问保护外,还可以通过其他方式实现对域名配置文件的访问保护。例如,在本发明的一个实施例中,可以将域名配置文件通过软连接从当前位置链接到预设安全地址,只有在该预设安全地址才能够对域名配置文件进行读取和写入,而在软连接本身所在的位置则无法对对域名配置文件进行读取或修改。当域名配置文件处于访问保护状态时,其他程序只能看到该软连接,而无法访问到真正的域名配置文件,当根据域名解析请求解除访问保护时,程序可以通过该软连接访问到安全地址处真正的域名配置文件,从而将英文网址发送到指定的域名服务器,实现域名解析。在本发明的另一个实施例中,也可以将域名配置文件设置成只允许预设进程访问,例如只允许DNS管理进程访问。当有进程或线程试图访问域名配置文件时,首先检测该进程或线程是否是预设允许访问的程序,如果是,则解除对域名配置文件的访问保护,允许访问,否则禁止其访问。可选的,在本发明的另一个实施例中,对域名配置文件的访问保护还可以通过对所述域名配置文件中的域名地址加密来实现。也就是说,只有具有权限的程序才有相应的密钥来对域名配置文件中的域名地址来解密,以获取到真正的域名地址,从而解除对该域名配置文件的访问保护。而当恶意程序试图访问域名配置文件时,由于没有密钥,只能获取到虚假的DNS地址,即使恶意程序将该DNS地址篡改为被控制的DNS服务器的地址,经过加密算法后,对应到地址也发生了变化,不再是该被控制的DNS服务器地址,用户的隐私不会被恶意获取,从而保证了用户的信息安全。以上通过不同方法实现了对域名配置文件的访问保护,进一步的,为了使域名配置文件的访问保护更加完善,在步骤S11的对域名配置文件施加访问保护之后,在步骤S12的根据所述域名解析请求解除所述域名配置文件的访问保护之前,还可包括将所述域名配置文件中的域名地址备份到备份文件中的步骤。相应的,在步骤S13读取所述域名配置文件中的域名地址并恢复对所述域名配置文件的访问保护之后,还可包括以下步骤:比较读取的域名地址与备份的域名地址是否相同,以确定所述配置文件中的域名地址是否被劫持;在读取的域名地址与备份的域名地址不同的情况下,确定所述配置文件中的域名地址被劫持并使用备份的域名地址修复被劫持的域名地址。这样,通过对配置文件中的域名地址进行备份,即使恶意程序突破访问保护,对配置文件中的域名地址进行了篡改,路由器也能够根据备份文件中备份的域名地址对被篡改的地址进行修复,进一步提高了域名服务系统的安全性。具体的,确定所述配置文件中的域名地址被劫持并使用备份的域名地址修复被劫持的域名地址可包括如下步骤:生成地址修复指令;根据所述地址修复指令,解除所述域名配置文件的访问保护;将备份的域名地址存储到所述域名配置文件中并对域名地址进行重新读取;恢复对所述域名配置文件的访问保护。下面以对域名配置文件加锁为例,对本发明提供的防止域名劫持的方法进行详细说明。如图4所示,本实施例中,防止域名劫持的方法包括如下步骤:S201,联网成功,获取DNS服务器地址;S202,将DNS服务器地址备份;S203,对域名配置文件解锁;S204,将获取的DNS服务器地址更新到域名配置文件中;S205,对域名配置文件重新加锁;S206,收到终端的域名解析请求;S207,根据域名解析请求对域名配置文件解锁;S208,读取域名配置文件中的DNS服务器的地址;S209,对域名配置文件重新加锁;S210,比较读取到的DNS服务器地址与备份的DNS服务器地址是否相同;如果是,执行S212;如果否,执行S211;S211,用备份的DNS服务器地址修复域名配置文件中的DNS服务器地址,并使用修复后的地址定位DNS服务器,以相应终端的域名解析请求;S212,使用读取到的地址定位DNS服务器,以相应终端的域名解析请求。相应的,如图5所示,本发明的实施例还提供一种防止域名劫持的装置,包括:施加单元41,用于对域名配置文件施加访问保护;解除单元42,用于当接收到来自终端的域名解析请求时,根据所述域名解析请求解除所述域名配置文件的访问保护;读取和恢复单元43,用于读取所述域名配置文件中的域名地址,并在读取后恢复对所述域名配置文件的访问保护。本发明提供的防止域名劫持的装置,施加单元41能够对域名配置文件施加访问保护,当接收到来自终端的域名解析请求时,解除单元42能够根据所述域名解析请求解除所述域名配置文件的访问保护,然后读取和恢复单元43能够读取所述域名配置文件中的域名地址,并在读取后恢复对所述域名配置文件的访问保护。这样,通过对域名配置文件施加访问保护,除了终端进行域名解析请求之外,在其他时机,域名配置文件都被保护起来,其他恶意程序无法对其进行访问,因此能够从根本上防止域名被劫持,有效提高了域名系统的安全性。可选的,施加单元41具体可包括以下至少一种:加锁模块,用于对所述域名配置文件加锁;链接模块,用于将所述域名配置文件通过软连接从当前位置链接到预设安全地址;进程监控模块,用于将所述域名配置文件设置成只允许预设进程访问;加密模块,用于对所述域名配置文件中的域名地址加密。进一步的,本发明提供的防止域名劫持的装置还可包括备份单元,用于在对所述域名配置文件施加访问保护后,将所述域名配置文件中的域名地址备份到备份文件中。进一步的,该防止域名劫持的装置还可包括:比较单元,用于在读取所述域名配置文件中的域名地址,并恢复对所述域名配置文件的访问保护之后,比较读取的域名地址与备份的域名地址是否相同,以确定所述配置文件中的域名地址是否被劫持;确定和修复单元,用于在读取的域名地址与备份的域名地址不同的情况下,确定所述配置文件中的域名地址被劫持并使用备份的域名地址修复被劫持的域名地址。可选的,确定和修复单元具体可用于:生成地址修复指令;根据所述地址修复指令,解除所述域名配置文件的访问保护;将备份的域名地址存储到所述域名配置文件中并对域名地址进行重新读取;恢复对所述域名配置文件的访问保护。尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1