CN108418803B - 防御dns重绑定攻击的方法和装置 - Google Patents

防御dns重绑定攻击的方法和装置 Download PDF

Info

Publication number
CN108418803B
CN108418803B CN201810109469.7A CN201810109469A CN108418803B CN 108418803 B CN108418803 B CN 108418803B CN 201810109469 A CN201810109469 A CN 201810109469A CN 108418803 B CN108418803 B CN 108418803B
Authority
CN
China
Prior art keywords
domain name
current page
page
request
same
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.)
Active
Application number
CN201810109469.7A
Other languages
English (en)
Other versions
CN108418803A (zh
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.)
Guangdong Achieve Information Technology Development Co ltd
Original Assignee
Guangdong Achieve Information Technology Development 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 Guangdong Achieve Information Technology Development Co ltd filed Critical Guangdong Achieve Information Technology Development Co ltd
Priority to CN201810109469.7A priority Critical patent/CN108418803B/zh
Publication of CN108418803A publication Critical patent/CN108418803A/zh
Application granted granted Critical
Publication of CN108418803B publication Critical patent/CN108418803B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

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)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种防御DNS重绑定攻击的方法,包括:响应于浏览器当前页面的请求,获取当前页面的ID、请求的域名和请求类型;从域名解析服务器获取域名的解析IP;当判定请求类型是主页面且域名与主页面的域名不同时,获取解析IP和TTL值并存储至数组;当判定请求类型不是主页面且域名与主页面的域名相同时,从数组中获取上一次访问的域名与当前页面请求的域名相同的主页面的ID;当判定主页面的ID与上一次ID相同时,获取当前页面请求的域名的TTL值和解析IP;当判定本次解析IP与上一次解析IP不相似且TTL值小于预设值时,对当前页面进行屏蔽。本发明的方法可帮助浏览器防御DNS重绑定攻击,同时本发明还提供了一种防御DNS重绑定攻击的装置。

Description

防御DNS重绑定攻击的方法和装置
技术领域
本发明涉及网络安全技术领域,特别涉及防御DNS重绑定攻击的方法和装置。
背景技术
随着互联网技术的发展,越来越多的人民都开始使用互联网,而浏览器软件作为互联网的第一入口,每天都有数以亿计的人民使用浏览器软件,使得浏览器安全的重要性与日俱增。浏览器出现漏洞可能导致用户的网上支付、银行、个人敏感信息等账号和隐私被黑客盗取。同源策略(Same-Origin-Policy,SOP)是一种约定,它是浏览器最核心也最基本的安全功能,是指域名,协议,端口相同。当浏览器的tab页执行一个脚本的时候会检查这个脚本是属于哪个页面的,即检查是否同源,只有同源的脚本才会被执行。利用DNS重绑定(DNS Rebinding)攻击可以绕过同源策略。
DNS重绑定攻击是指当一个域名被DNS解析后就立即重新绑定另一个IP地址。例如域名abc.com,域名绑定的IP是1.1.1.1,当有用户请求打开abc.com时,DNS解析服务器就会把abc.com的解析IP重新绑定为2.2.2.2,以此可以欺骗某些安全检测。DNS重绑定攻击是一种基于DNS解析的攻击方式。当用户用浏览器请求一个网址时浏览器会先向该域名的NS服务器查询绑定的IP,当NS服务器检测到有用户来请求的时候,第一次就返回攻击者构造好的攻击页面IP,此时用户在浏览器显示的是攻击者的页面,页面再利用JavaScript第二次请求该域名,而NS服务器检测到第二次请求就会重新绑定IP,改成攻击目标的IP,由于这两个请求的整个过程域名没有变化,符合同源策略的三大要素:协议、域名、端口,只是IP变换了,从而绕过了浏览器的同源策略,可以攻击以IP为地址的网站,由此获取用户在此IP网站的敏感信息。
发明内容
本发明提出一种防御DNS重绑定攻击的方法和装置,可帮助浏览器防御DNS重绑定攻击,提高浏览器的访问安全。
本发明一方面提供了一种防御DNS重绑定攻击的方法,所述方法应用于浏览器扩展,包括:
响应于浏览器当前页面的请求,获取所述当前页面的ID、所述当前页面请求的域名和请求类型;
从预先搭建的域名解析服务器获取所述当前页面请求的域名的解析IP;
判断所述请求类型是否为主页面;
当判定所述请求类型是主页面时,判断所述当前页面请求的域名是否与所述主页面的域名相同;
当判定所述当前页面请求的域名与所述主页面的域名不同时,从所述域名解析服务器获取所述当前页面请求的域名的解析IP和TTL值,并将解析IP、TTL值、所述当前页面的ID和所述当前页面请求的域名对应存储至数组;
当判定所述请求类型不是主页面时,判断所述当前页面请求的域名是否与所述主页面的域名相同;
当判定所述请求类型不是主页面且所述当前页面请求的域名与所述主页面的域名相同时,从所述数组中获取所述浏览器上一次访问的域名与所述当前页面请求的域名相同的主页面的ID,并判断本次获取到的ID与上一次获取到的ID是否相同;
当判定本次获取到的ID与上一次获取到的ID相同时,从所述域名解析服务器获取所述当前页面请求的域名的TTL值,并再次从所述域名解析服务器获取所述当前页面请求的域名的解析IP;
判断本次获取到的解析IP与上一次获取到的解析IP是否相似;
当判定本次获取到的解析IP与上一次获取到的解析IP不相似时,判断获取到的TTL值是否小于预设值;
当判定获取到的TTL值小于预设值时,对所述当前页面进行屏蔽。
在一种可选的实施方式中,所述从预先搭建的域名解析服务器获取所述当前页面请求的域名的解析IP,包括:
向所述域名解析服务器发送WebSocket请求,以使所述域名解析服务器在收到所述WebSocket请求后返回所述当前页面请求的域名的解析IP。
在一种可选的实施方式中,所述方法还包括:
响应于所述域名解析服务器的搭建指令,搭建基于nodejs环境的所述域名解析服务器并在所述域名解析服务器与所述浏览器之间建立WebSocket通信。
在一种可选的实施方式中,所述判断本次获取到的解析IP与上一次获取到的解析IP是否相似,包括:
判断本次获取到的解析IP与上一次获取到的解析IP是否在同一个C段;
当判定本次获取到的解析IP与上一次获取到的解析IP在同一个C段时,判定本次获取到的解析IP与上一次获取到的解析IP相似;
当判定本次获取到的解析IP与上一次获取到的解析IP不在同一个C段时,判定本次获取到的解析IP与上一次获取到的解析IP不相似。
在一种可选的实施方式中,所述预设值等于5。
本发明另一方面还提供一种防御DNS重绑定攻击的装置,所述装置应用于浏览器扩展,包括:
第一获取模块,用于响应于浏览器当前页面的请求,获取所述当前页面的ID、所述当前页面请求的域名和请求类型;
第二获取模块,用于从预先搭建的域名解析服务器获取所述当前页面请求的域名的解析IP;
第一判断模块,用于判断所述请求类型是否为主页面;
第二判断模块,用于当判定所述请求类型是主页面时,判断所述当前页面请求的域名是否与所述主页面的域名相同;
第三获取模块,用于当判定所述当前页面请求的域名与所述主页面的域名不同时,从所述域名解析服务器获取所述当前页面请求的域名的解析IP和TTL值,并将解析IP、TTL值、所述当前页面的ID和所述当前页面请求的域名对应存储至数组;
第三判断模块,用于当判定所述请求类型不是主页面时,判断所述当前页面请求的域名是否与所述主页面的域名相同;
第四判断模块,用于当判定所述请求类型不是主页面且所述当前页面请求的域名与所述主页面的域名相同时,从所述数组中获取所述浏览器上一次访问的域名与所述当前页面请求的域名相同的主页面的ID,并判断本次获取到的ID与上一次获取到的ID是否相同;
第四获取模块,用于当判定本次获取到的ID与上一次获取到的ID相同时,从所述域名解析服务器获取所述当前页面请求的域名的TTL值,并再次从所述域名解析服务器获取所述当前页面请求的域名的解析IP;
第五判断模块,用于判断本次获取到的解析IP与上一次获取到的解析IP是否相似;
第六判断模块,用于当判定本次获取到的解析IP与上一次获取到的解析IP不相似时,判断获取到的TTL值是否小于预设值;
屏蔽模块,用于当判定获取到的TTL值小于预设值时,对所述当前页面进行屏蔽。
在一种可选的实施方式中,所述第二获取模块包括:
发送单元,用于向所述域名解析服务器发送WebSocket请求,以使所述域名解析服务器在收到所述WebSocket请求后返回所述当前页面请求的域名的解析IP。
在一种可选的实施方式中,所述装置还包括:
服务器搭建模块,用于响应于所述域名解析服务器的搭建指令,搭建基于nodejs环境的所述域名解析服务器并在所述域名解析服务器与所述浏览器之间建立WebSocket通信。
在一种可选的实施方式中,所述第五判断模块包括:
IP判断单元,用于判断本次获取到的解析IP与上一次获取到的解析IP是否在同一个C段;
第一IP判定单元,用于当判定本次获取到的解析IP与上一次获取到的解析IP在同一个C段时,判定本次获取到的解析IP与上一次获取到的解析IP相似;
第二IP判定单元,用于当判定本次获取到的解析IP与上一次获取到的解析IP不在同一个C段时,判定本次获取到的解析IP与上一次获取到的解析IP不相似。
在一种可选的实施方式中,所述预设值等于5。
相对于现有技术,本发明具有如下突出的有益效果:本发明提供了一种防御DNS重绑定攻击的方法与装置,其中,防御DNS重绑定攻击的方法通过判断所述请求类型是否为主页面,以及判断所述当前页面请求的域名是否与所述主页面的域名相同,来确定所述请求是否为主页面发起的请求;当判定所述请求类型不是主页面且所述当前页面请求的域名与所述主页面的域名相同时,确定所述请求是主页面发起的请求;进一步通过本次获取到的ID与上一次获取到的ID是否相同,以确定两次请求是否来源同一页面;当判定本次获取到的ID与上一次获取到的ID相同时,确定两次请求来源同一页面;进一步通过判断本次获取到的解析IP与上一次获取到的解析IP是否相似,相对于直接判断解析IP是否相同来说,避免对动态解析IP进行误判,降低了误判风险;当判定本次获取到的解析IP与上一次获取到的解析IP不相似时,判断获取到的TTL值是否小于预设值,以确定是否为DNS重绑定攻击;当判定获取到的TTL值小于预设值时,则浏览器受到DNS重绑定攻击,通过对所述当前页面进行屏蔽,实现对DNS重绑定攻击的防御,具有快速、便捷、无延迟、低误报、覆盖面广的优点。
附图说明
图1是本发明提供的防御DNS重绑定攻击的方法的第一实施例的流程示意图;
图2是本发明提供的防御DNS重绑定攻击的装置的第一实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明涉及到一种浏览器安全技术。
参见图1,是本发明提供的防御DNS重绑定攻击的方法的第一实施例的流程示意图,所述方法应用于浏览器扩展,如图1所示,所述方法包括:
步骤S1、响应于浏览器当前页面的请求,获取所述当前页面的ID、所述当前页面请求的域名和请求类型;
步骤S2、从预先搭建的域名解析服务器获取所述当前页面请求的域名的解析IP;
步骤S3、判断所述请求类型是否为主页面;
步骤S4、当判定所述请求类型是主页面时,判断所述当前页面请求的域名是否与所述主页面的域名相同;
步骤S5、当判定所述当前页面请求的域名与所述主页面的域名不同时,从所述域名解析服务器获取所述当前页面请求的域名的解析IP和TTL值,并将解析IP、TTL值、所述当前页面的ID和所述当前页面请求的域名对应存储至数组;
步骤S6、当判定所述请求类型不是主页面时,判断所述当前页面请求的域名是否与所述主页面的域名相同;
步骤S7、当判定所述请求类型不是主页面且所述当前页面请求的域名与所述主页面的域名相同时,从所述数组中获取所述浏览器上一次访问的域名与所述当前页面请求的域名相同的主页面的ID,并判断本次获取到的ID与上一次获取到的ID是否相同;
步骤S8、当判定本次获取到的ID与上一次获取到的ID相同时,从所述域名解析服务器获取所述当前页面请求的域名的TTL值,并再次从所述域名解析服务器获取所述当前页面请求的域名的解析IP;
步骤S9、判断本次获取到的解析IP与上一次获取到的解析IP是否相似;
步骤S10、当判定本次获取到的解析IP与上一次获取到的解析IP不相似时,判断获取到的TTL值是否小于预设值;
步骤S11、当判定获取到的TTL值小于预设值时,对所述当前页面进行屏蔽。
需要说明的是,目前全球用户占有率最大的浏览器是chrome,而中国也有很多浏览器是使用chrome内核的,都能安装chrome扩展。
域名解析服务器,即DNS(Domain Name System,域名系统)解析服务器;DNS重绑定攻击,又称DNS Rebinding、DNS Rebinding攻击、DNS Rebinding Attack、域名重绑定攻击;IP,即IP地址。
TTL(Time-To-Live,生存时间)值是一个域名解析记录在DNS服务器中的存留时间。各地的DNS服务器在接受到解析请求后,会向域名指定的NS服务器发出解析请求从而获得解析记录;在获得这个记录之后,记录会在DNS服务器中保存一段时间,在这段时间内若再次接到解析请求,DNS服务器将直接返回刚才获得的记录;而这个记录在DNS服务器上保留的时间,就是TTL值。
判断所述请求类型是否为主页面,即判断所述请求类型是否为main_frame,main_frame代表当前请求的是主页面,否则就是一个页面内的标签请求并没有主界面,由此判断该域名对于当前页面是否第一次打开。
在步骤S7中,当判定所述请求类型不是主页面且所述当前页面请求的域名与所述主页面的域名相同时,则表明此次请求是主页面发起的请求,例如JavaScript或者img标签发起的,并没有打开一个页面,而DNS重绑定攻击就是类似这样使用JavaScript发起攻击的。
在一种可选的实施方式中,在步骤S5中,所述将解析IP、TTL值、所述当前页面的ID和所述当前页面请求的域名对应存储至数组,包括:
将解析IP、TTL值、所述当前页面的ID和所述当前页面请求的域名以对象的方式对应存储至数组。
即通过判断所述请求类型是否为主页面,以及判断所述当前页面请求的域名是否与所述主页面的域名相同,来确定所述请求是否为主页面发起的请求;当判定所述请求类型不是主页面且所述当前页面请求的域名与所述主页面的域名相同时,确定所述请求是主页面发起的请求;进一步通过本次获取到的ID与上一次获取到的ID是否相同,以确定两次请求是否来源同一页面;当判定本次获取到的ID与上一次获取到的ID相同时,确定两次请求来源同一页面;进一步通过判断本次获取到的解析IP与上一次获取到的解析IP是否相似,相对于直接判断解析IP是否相同来说,避免对动态解析IP进行误判,降低了误判风险;当判定本次获取到的解析IP与上一次获取到的解析IP不相似时,判断获取到的TTL值是否小于预设值,以确定是否为DNS重绑定攻击;当判定获取到的TTL值小于预设值时,则浏览器受到DNS重绑定攻击,通过对所述当前页面进行屏蔽,实现对DNS重绑定攻击的防御,具有快速、便捷、无延迟、低误报、覆盖面广的优点。
在一种可选的实施方式中,所述从预先搭建的域名解析服务器获取所述当前页面请求的域名的解析IP,包括:
向所述域名解析服务器发送WebSocket请求,以使所述域名解析服务器在收到所述WebSocket请求后返回所述当前页面请求的域名的解析IP。
在一种可选的实施方式中,所述方法还包括:
响应于所述域名解析服务器的搭建指令,搭建基于nodejs环境的所述域名解析服务器并在所述域名解析服务器与所述浏览器之间建立WebSocket通信。
需要说明的是,WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。由于Websocket是一个持久化的协议,通过WebSocket可使浏览器与服务器快速通信,有比传统使用http通信的方式更快捷的优点。即通过采用更快捷的Websocket通信提高处理效率。
在一种可选的实施方式中,所述判断本次获取到的解析IP与上一次获取到的解析IP是否相似,包括:
判断本次获取到的解析IP与上一次获取到的解析IP是否在同一个C段;
当判定本次获取到的解析IP与上一次获取到的解析IP在同一个C段时,判定本次获取到的解析IP与上一次获取到的解析IP相似;
当判定本次获取到的解析IP与上一次获取到的解析IP不在同一个C段时,判定本次获取到的解析IP与上一次获取到的解析IP不相似。
即通过判断本次获取到的解析IP与上一次获取到的解析IP是否在同一个C段,来判定两者是否相似,充分考虑了大部分网站的解析IP特点,大大降低了对DNS重绑定攻击的误判率。
在一种可选的实施方式中,所述预设值等于5。
即通过将预设值设为5,作为判定DNS重绑定攻击的关键。
具体地,所述方法还包括,在响应于浏览器当前页面的请求之前,浏览器扩展中的manifest声明webRequest、webRequestBlocking权限,就可拥有浏览器上所有页面的操作权限。使用chrome扩展里的chrome.webRequest.onBeforeRequest.addListener API接口,添加一个事件监听器。该接口可以监听浏览器所有的请求,当页面有请求之前就会触发该事件。初始化一个变量ip_temp,临时储存从WebSocket DNS解析服务器的解析IP。扩展中的background.html引入socket.io.js,并建立与WebSocket的DNS解析服务器建立通信并监听WebSocket发来的信息。初始化一个数组变量ips,用于存放当前页面域名、IP、TTL信息。初始化布尔变量blacklist为假,储存当前页面是否该屏蔽的值。在onBeforeRequest事件监听器里,定义变量tabid,使用该监听器返回的对象details.tabId即可获得浏览器当前页面的id。定义变量domain,details.url取得当前页面的请求url,再通过正则匹配提取域名。定义变量type,details.type取得当前页面的请求的类型。
具体地,在步骤S11中,所述当判定获取到的TTL值小于预设值时,对所述当前页面进行屏蔽,包括:当判定获取到的TTL值小于预设值时blacklist的值定义为真,用chrome扩展的接口对所述当前页面进行屏蔽。return{cancel:blacklist===1};{urls:[“<all_urls>"]},["blocking"])。
请参见图2,本发明另一方面还提供一种防御DNS重绑定攻击的装置,所述装置应用于浏览器扩展,包括:
第一获取模块21,用于响应于浏览器当前页面的请求,获取所述当前页面的ID、所述当前页面请求的域名和请求类型;
第二获取模块22,用于从预先搭建的域名解析服务器获取所述当前页面请求的域名的解析IP;
第一判断模块23,用于判断所述请求类型是否为主页面;
第二判断模块24,用于当判定所述请求类型是主页面时,判断所述当前页面请求的域名是否与所述主页面的域名相同;
第三获取模块25,用于当判定所述当前页面请求的域名与所述主页面的域名不同时,从所述域名解析服务器获取所述当前页面请求的域名的解析IP和TTL值,并将解析IP、TTL值、所述当前页面的ID和所述当前页面请求的域名对应存储至数组;
第三判断模块26,用于当判定所述请求类型不是主页面时,判断所述当前页面请求的域名是否与所述主页面的域名相同;
第四判断模块27,用于当判定所述请求类型不是主页面且所述当前页面请求的域名与所述主页面的域名相同时,从所述数组中获取所述浏览器上一次访问的域名与所述当前页面请求的域名相同的主页面的ID,并判断本次获取到的ID与上一次获取到的ID是否相同;
第四获取模块28,用于当判定本次获取到的ID与上一次获取到的ID相同时,从所述域名解析服务器获取所述当前页面请求的域名的TTL值,并再次从所述域名解析服务器获取所述当前页面请求的域名的解析IP;
第五判断模块29,用于判断本次获取到的解析IP与上一次获取到的解析IP是否相似;
第六判断模块30,用于当判定本次获取到的解析IP与上一次获取到的解析IP不相似时,判断获取到的TTL值是否小于预设值;
屏蔽模块31,用于当判定获取到的TTL值小于预设值时,对所述当前页面进行屏蔽。
在一种可选的实施方式中,所述第二获取模块22包括:
发送单元,用于向所述域名解析服务器发送WebSocket请求,以使所述域名解析服务器在收到所述WebSocket请求后返回所述当前页面请求的域名的解析IP。
在一种可选的实施方式中,所述装置还包括:
服务器搭建模块,用于响应于所述域名解析服务器的搭建指令,搭建基于nodejs环境的所述域名解析服务器并在所述域名解析服务器与所述浏览器之间建立WebSocket通信。
在一种可选的实施方式中,所述第五判断模块29包括:
IP判断单元,用于判断本次获取到的解析IP与上一次获取到的解析IP是否在同一个C段;
第一IP判定单元,用于当判定本次获取到的解析IP与上一次获取到的解析IP在同一个C段时,判定本次获取到的解析IP与上一次获取到的解析IP相似;
第二IP判定单元,用于当判定本次获取到的解析IP与上一次获取到的解析IP不在同一个C段时,判定本次获取到的解析IP与上一次获取到的解析IP不相似。
在一种可选的实施方式中,所述预设值等于5。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (10)

1.一种防御DNS重绑定攻击的方法,其特征在于,所述方法应用于浏览器扩展,包括:
响应于浏览器当前页面的请求,获取所述当前页面的ID、所述当前页面请求的域名和请求类型;
从预先搭建的域名解析服务器获取所述当前页面请求的域名的解析IP;
判断所述请求类型是否为主页面;
当判定所述请求类型是主页面时,判断所述当前页面请求的域名是否与所述主页面的域名相同;
当判定所述当前页面请求的域名与所述主页面的域名不同时,从所述域名解析服务器获取所述当前页面请求的域名的解析IP和TTL值,并将解析IP、TTL值、所述当前页面的ID和所述当前页面请求的域名对应存储至数组;
当判定所述请求类型不是主页面时,判断所述当前页面请求的域名是否与所述主页面的域名相同;
当判定所述请求类型不是主页面且所述当前页面请求的域名与所述主页面的域名相同时,从所述数组中获取所述浏览器上一次访问的域名与所述当前页面请求的域名相同的主页面的ID,并判断本次获取到的ID与上一次获取到的ID是否相同;
当判定本次获取到的ID与上一次获取到的ID相同时,从所述域名解析服务器获取所述当前页面请求的域名的TTL值,并再次从所述域名解析服务器获取所述当前页面请求的域名的解析IP;
判断本次获取到的解析IP与上一次获取到的解析IP是否相似;
当判定本次获取到的解析IP与上一次获取到的解析IP不相似时,判断获取到的TTL值是否小于预设值;
当判定获取到的TTL值小于预设值时,对所述当前页面进行屏蔽。
2.如权利要求1所述的防御DNS重绑定攻击的方法,其特征在于,所述从预先搭建的域名解析服务器获取所述当前页面请求的域名的解析IP,包括:
向所述域名解析服务器发送WebSocket请求,以使所述域名解析服务器在收到所述WebSocket请求后返回所述当前页面请求的域名的解析IP。
3.如权利要求2所述的防御DNS重绑定攻击的方法,其特征在于,所述方法还包括:
响应于所述域名解析服务器的搭建指令,搭建基于nodejs环境的所述域名解析服务器并在所述域名解析服务器与所述浏览器之间建立WebSocket通信。
4.如权利要求1所述的防御DNS重绑定攻击的方法,其特征在于,所述判断本次获取到的解析IP与上一次获取到的解析IP是否相似,包括:
判断本次获取到的解析IP与上一次获取到的解析IP是否在同一个C段;
当判定本次获取到的解析IP与上一次获取到的解析IP在同一个C段时,判定本次获取到的解析IP与上一次获取到的解析IP相似;
当判定本次获取到的解析IP与上一次获取到的解析IP不在同一个C段时,判定本次获取到的解析IP与上一次获取到的解析IP不相似。
5.如权利要求1-4任一项所述的防御DNS重绑定攻击的方法,其特征在于,所述预设值等于5。
6.一种防御DNS重绑定攻击的装置,其特征在于,所述装置应用于浏览器扩展,包括:
第一获取模块,用于响应于浏览器当前页面的请求,获取所述当前页面的ID、所述当前页面请求的域名和请求类型;
第二获取模块,用于从预先搭建的域名解析服务器获取所述当前页面请求的域名的解析IP;
第一判断模块,用于判断所述请求类型是否为主页面;
第二判断模块,用于当判定所述请求类型是主页面时,判断所述当前页面请求的域名是否与所述主页面的域名相同;
第三获取模块,用于当判定所述当前页面请求的域名与所述主页面的域名不同时,从所述域名解析服务器获取所述当前页面请求的域名的解析IP和TTL值,并将解析IP、TTL值、所述当前页面的ID和所述当前页面请求的域名对应存储至数组;
第三判断模块,用于当判定所述请求类型不是主页面时,判断所述当前页面请求的域名是否与所述主页面的域名相同;
第四判断模块,用于当判定所述请求类型不是主页面且所述当前页面请求的域名与所述主页面的域名相同时,从所述数组中获取所述浏览器上一次访问的域名与所述当前页面请求的域名相同的主页面的ID,并判断本次获取到的ID与上一次获取到的ID是否相同;
第四获取模块,用于当判定本次获取到的ID与上一次获取到的ID相同时,从所述域名解析服务器获取所述当前页面请求的域名的TTL值,并再次从所述域名解析服务器获取所述当前页面请求的域名的解析IP;
第五判断模块,用于判断本次获取到的解析IP与上一次获取到的解析IP是否相似;
第六判断模块,用于当判定本次获取到的解析IP与上一次获取到的解析IP不相似时,判断获取到的TTL值是否小于预设值;
屏蔽模块,用于当判定获取到的TTL值小于预设值时,对所述当前页面进行屏蔽。
7.如权利要求6所述的防御DNS重绑定攻击的装置,其特征在于,所述第二获取模块包括:
发送单元,用于向所述域名解析服务器发送WebSocket请求,以使所述域名解析服务器在收到所述WebSocket请求后返回所述当前页面请求的域名的解析IP。
8.如权利要求6所述的防御DNS重绑定攻击的装置,其特征在于,所述装置还包括:
服务器搭建模块,用于响应于所述域名解析服务器的搭建指令,搭建基于nodejs环境的所述域名解析服务器并在所述域名解析服务器与所述浏览器之间建立WebSocket通信。
9.如权利要求6所述的防御DNS重绑定攻击的装置,其特征在于,所述第五判断模块包括:
IP判断单元,用于判断本次获取到的解析IP与上一次获取到的解析IP是否在同一个C段;
第一IP判定单元,用于当判定本次获取到的解析IP与上一次获取到的解析IP在同一个C段时,判定本次获取到的解析IP与上一次获取到的解析IP相似;
第二IP判定单元,用于当判定本次获取到的解析IP与上一次获取到的解析IP不在同一个C段时,判定本次获取到的解析IP与上一次获取到的解析IP不相似。
10.如权利要求6-9任一项所述的防御DNS重绑定攻击的装置,其特征在于,所述预设值等于5。
CN201810109469.7A 2018-02-02 2018-02-02 防御dns重绑定攻击的方法和装置 Active CN108418803B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810109469.7A CN108418803B (zh) 2018-02-02 2018-02-02 防御dns重绑定攻击的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810109469.7A CN108418803B (zh) 2018-02-02 2018-02-02 防御dns重绑定攻击的方法和装置

Publications (2)

Publication Number Publication Date
CN108418803A CN108418803A (zh) 2018-08-17
CN108418803B true CN108418803B (zh) 2020-12-15

Family

ID=63127576

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810109469.7A Active CN108418803B (zh) 2018-02-02 2018-02-02 防御dns重绑定攻击的方法和装置

Country Status (1)

Country Link
CN (1) CN108418803B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113163026A (zh) * 2021-03-31 2021-07-23 国网河南省电力公司电力科学研究院 一种智能家居环境下的dns重绑定攻击检测方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7970939B1 (en) * 2007-12-31 2011-06-28 Symantec Corporation Methods and systems for addressing DNS rebinding
CN102624716B (zh) * 2012-03-01 2014-08-06 上海交通大学 一种dns拒绝服务攻击的防御方法及装置
CN104104689A (zh) * 2014-07-31 2014-10-15 山东省计算中心(国家超级计算济南中心) 一种互联网浏览器中安全的域名解析方法
US10536425B2 (en) * 2015-08-26 2020-01-14 Pulsepoint, Inc. Cross-domain HTTP requests using DNS rebinding
CN106713371B (zh) * 2016-12-08 2020-04-21 中国电子科技网络信息安全有限公司 一种基于DNS异常挖掘的Fast Flux僵尸网络检测方法

Also Published As

Publication number Publication date
CN108418803A (zh) 2018-08-17

Similar Documents

Publication Publication Date Title
CN105430011B (zh) 一种检测分布式拒绝服务攻击的方法和装置
EP2408166B1 (en) Filtering method, system and network device therefor
US8161538B2 (en) Stateful application firewall
US8489878B2 (en) Communication across domains
EP3090529B1 (en) Processing service requests for digital content
US8434141B2 (en) System for preventing normal user being blocked in network address translation (NAT) based web service and method for controlling the same
US10212130B1 (en) Browser extension firewall
US8661522B2 (en) Method and apparatus for probabilistic matching to authenticate hosts during distributed denial of service attack
US9305174B2 (en) Electronic clipboard protection
US20080222299A1 (en) Method for preventing session token theft
US8646038B2 (en) Automated service for blocking malware hosts
US8448260B1 (en) Electronic clipboard protection
WO2009111224A1 (en) Identification of and countermeasures against forged websites
WO2015014189A1 (zh) 一种访问网站的方法及装置
CN107295116B (zh) 一种域名解析方法、装置及系统
CN107612926B (zh) 一种基于客户端识别的一句话WebShell拦截方法
CN107395553B (zh) 一种网络攻击的检测方法、装置及存储介质
CN111565203B (zh) 业务请求的防护方法、装置、系统和计算机设备
Raman et al. DNS tunneling for network penetration
Wankhede Study of network-based DoS attacks
CN108418803B (zh) 防御dns重绑定攻击的方法和装置
CN114938288A (zh) 一种数据访问方法、装置、设备以及存储介质
Born Browser-based covert data exfiltration
US10757118B2 (en) Method of aiding the detection of infection of a terminal by malware
Nirmal et al. Maximizing online security by providing a 3 factor authentication system to counter-attack'Phishing'

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
GR01 Patent grant
GR01 Patent grant