APP下载

基于USB key的面向客户端的DNS防劫持系统

2016-07-04阿继琛段程远李珂玮严泽民张子威

电脑知识与技术 2016年15期
关键词:互联网

阿继琛+段程远+李珂玮+严泽民+张子威

摘要:DNS作为互联网络的基础服务系统,在保证互联网络的正常运行方面起着不可或缺与的作用,其安全性也影响着互联网的安全与效率。然而,互联网上发生的网络攻击事件日益频繁,DNS 系统也遭受到了一系列的劫持攻击。寻找一个行之有效的方法来解决DNS劫持攻击已经到了刻不容缓的地步。本作品旨在应对近年来大规模发生的DNS劫持攻击,以USB Key为平台(用于存储DNS解析数据)开发一种基于客户端的DNS防劫持安全系统。该安全系统和目前已有的面向客户端的安全软件相比,具有针对DNS劫持攻击的响应功能和防护机制,而且基于USB Key的DNS解析能够满足用户对于价格、安全性、效率三方面的要求,性价比较高,拥有良好的市场前景。本作品的创新技术包括面向客户端的DNS防劫持技术、基于“判决机制”的DNS解析技术、基于USB key的DNS解析数据的安全存储及处理技术。针对现在被普遍的关注的DNS安全问题,我们将这些创新技术和安全方案内化到一个面向客户端的DNS安全解析系统之中。

关键词:DNS防劫持;USB-Key;互联网

中图分类号:P393.4 文献标识码:A 文章编号:1009-3044(2016)15-0037-03

1 概述

随着域名系统飞速发展,域名的注册规模急剧扩大,其管理难度急剧增加。由于DNS协议在设计之初没有考虑太多的安全因素,DNS上的各类数据没有加密保护和认证预防,DNS系统在实现上具有脆弱性,再加上人为攻击和破坏,DNS面临非常严重的安全威胁。常见的安全问题包括域名与 IP 地址之间的映射关系被修改,客户主机遭受欺骗攻击、面临拒绝服务,DNS 服务器缓存中毒、区域信息泄漏等。

作为 Internet 上的关键基础服务,DNS 一旦出错,将影响互联网大部分业务的正常运行。所以,DNS 的安全问题越来越受到关注,对DNS系统安全的分析和研究就显得尤为重要。

2 相关研究和技术

当前国内外对于DNS防劫持技术的研究主要基于DNS服务端,其中包括针对协议设计进行的改进、DNS 服务端的流量检测、DNS 管理和维护等几个方面。而在客户端进行的防护主要体现在对DNS服务器合法性的判断和自动配置方面。

针对协议设计的脆弱性方面。1997 年,IETF 成立了工作组专门研究DNSSEC 安全扩展协议(DNS Security Extensions),并推出了一系列的 RFC标准,从概念、协议设计、报文格式、加密算法及密钥管理等方面完善了原有DNS体系的不足之处,从而形成一整套的DNSSEC 解决方案。DNSSEC 虽然极大增强了DNS 的安全性,但一直没有大规模的部署。

DNS 流量检测方面,甄别出异常的DNS 流量,发现可能的DNS 攻击,以检测DNS 系统的实现漏洞和配置漏洞为目的,可以形成目标DNS系统的安全检测报告。该检测模块通过远程检测目标服务器的整体状况,协议支持情况,配置漏洞和软件实现漏洞,准确地发现目标服务器的安全问题。但是,通过服务器进程利用率和DNS 数据率来甄别异常流量,在实际运行中是并不充分的,另外基于服务端的DNS安全检测系统还是具有一定的局限性。

除此之外,针对服务端进行的安全策略还包括DNS管理和维护方面以及加强网络安全传输方面。

在DNS客户端方面,我们横向比较了国内现有的六款安全软件,它们的功能最多就是自动优选DNS服务器、自动修改本地DNS设置、辅助修改路由器密码等功能。它们并没有涉及过多的应对DNS劫持的功能,这在真正应对攻击时有很大的局限性。因此,基于安全考虑,我们需要更加深入地改善本地的DNS防护机制,并且在此基础上,最大程度的优化和改进用户的安全上网速率。

因此,本项目提出的基于USB Key的DNS本地防劫持系统从多线程的DNS后台重构解析请求和基于Winpcap的DNS解析结果分析出发(下文中即称DNS安全解析器),创新性地引入多DNS解析返回结果“判决”机制和基于USB key的解析数据安全存储与处理机制,开启了一条防止DNS劫持的新思路。

3 总体结构

本系统实现的基于USB key的DNS本地防劫持系统包括硬件和配套软件两部分。其中,硬件利用了国产的USB key进行设计,软件在windows内核下实现。安全系统的体系结构框图如下:

面向客户端的DNS安全解析系统是在整个DNS通信的过程中为用户提供服务的,其中涉及对hosts文件的操作,对USB key的操作以及对DNS服务器的访问。而本研究项目的创新点及特色正是体现在这些过程之中,所以应该具有一套完备的DNS解析技术体系结构。体系结构中应包含DNS安全解析器,存储和处理关键数据的USB key系统,基于“判决机制”的DNS解析等主要的功能模块。通过这些功能模块来完成实现面向客户端的DNS安全系统的具体功能实现。

4 关键技术设计

目前针对DNS系统安全的技术主要是围绕DNS服务器以及DNS通信协议展开的,其中具代表性的有DNSSEC安全协议和DNS流量检测技术。本研究项目将采用基于本地解析器的新思路来达到这些技术的部分安全目的,其中创新点体现在如下方面:

1)面向客户端的DNS防劫持技术

目前主要的DNS安全防护研究成果大部分都是基于Overlay技术,从根本上改变现有体系的层次结构。相比之下,面向客户端的、从DNS解析器重构的角度出发的DNS防劫持方案尚属首次提出。本项目拟研究并设计一种面向客户端的DNS防劫持技术,增强客户端在保障DNS安全性过程中的作用,同时最大程度保证用户上网的安全和效率。

面向客户端的DNS防劫持技术以重构多个DNS解析请求为基础,通过“判决”机制形成可信度更高的解析结果,然后将解析结果即域名-IP地址映射对直接写入hosts文件,通过本地地址解析缓存,跳过了通常情况下向DNS服务器发送DNS解析请求的过程。

从安全效益的方面考虑,本项目方案和主流的DNSSEC协议技术相比,能够防范大部分DNS劫持攻击和DNS服务器管理员产生的配置错误,而且能在一定程度上应对攻击者针对DNS服务器的DDOS攻击。除此之外,该项技术的实现和运行机制较DNSSEC协议技术更为简单,不需要一系列技术性要求较高的专用设备,对域名解析系统的要求较低,对开发和维护人员素质要求相对较低,具有一定的灵活性、可扩充性以及可移植性。

从效率的方面考虑,面向客户端的DNS防劫持技术通过本机存储域名-IP地址映射对的方式直接以IP地址完成对目标网站的访问,省去了之前访问服务器的部分过程,从而缩短了整个访问过程的时间,提高了时间效率。此外,该技术实现的空间成本低,USB key 的存储容量就能够满足该技术对域名—IP地址映射对存储的空间开销要求。

2)基于“判决机制”的DNS解析技术

当前的DNS解析技术有递归查询方式、迭代查询方式以及设置快取缓存区。这些技术实现了DNS服务器对于用户DNS请求的查询和应答,但都是针对服务端的技术,而且在安全性方面存在一定的漏洞,极易受到DNS劫持、DNS重定向、DNS缓存污染等攻击的影响。而基于“判决机制”的DNS解析技术是一项提供安全保障的DNS解析技术,它在已有的解析技术基础之上,加上了安全的技术支持。

目前针对DNS通信安全的技术譬如DNS流量检测技术,主要是针对传输过程中数据的监视与检测,目的是检测出异常的DNS数据流,从而检测并阻止针对DNS系统攻击,保护DNS通信过程中信息的完整性。基于“判决机制”的DNS解析技术在用户端设计安全机制帮助用户甄别虚假的被篡改了的信息数据,从而有效防止DNS欺骗攻击、DNS重定向等网络攻击。

3)基于USB key的DNS解析数据的安全存储及处理技术

USB Key具有安全数据存储空间,可以存储数字证书、密钥等秘密数据,对该存储空间的读写操作必须通过程序实现。此外,USB Key 内置CPU,可以实现加解密和签名的各种算法,加解密运算在USB Key内进行。因此,目前的USB key被广泛用于身份认证。

本项目创新性地将USB key用于DNS解析数据的安全存储及处理,利用USB key兼有安全数据存储空间,可以实现算法的特点,将DNS解析数据以及完整性检测算法写入USB key,从而实现客户端在本地完成DNS解析数据的生成和完整性的检测。

用USB key实现DNS解析数据的安全存储及处理,充分利用了USB key安全高效的特点。DNS解析数据存储在USB key中,可以保证其完整性,而且USB key能够在可接受时间内完成对解析数据的完整性检测,保证网络程序的顺畅运行。此外,USB key还有使用简便,价格低廉的特点,用户无需具备调试和配置家庭路由器的技术背景,不仅可以提升用户上网在防DNS劫持方面的安全性,还可以通过USB Key固化解析数据,减小故障所造成的不利影响,实现DNS解析加速,提高用户上网体验度。

5 系统实现与测试分析

我们对整个基于USB Key的面向客户端的DNS防劫持系统的基本功能进行了测试,主要分为功能测试、安全性测试、压力测试和效率测试,经测试系统能够按照预期正常运行。其中:

1)功能测试,主要是对系统的功能设计进行验证,测试系统功能的完备性与正确性。这项测试覆盖系统所涉及的几乎所有功能模块,保证系统能够达到预先设计的技术功能要求;

2)安全性测试,主要是对徐I同能否保证用户登录安全网站进行测试统计,从而检验系统安全性。

3)压力测试,主要测试系统的抗压力性,测试系统在重复性操作情况下的抗压力性能。

4)效率测试,通过对比使用系统和不使用系统进行时间开销对比,以此检测系统的加速比。

6 结束语

国际著名网络安全专家Roland Dobbins曾说过,DNS就像空气,平时我们感觉不到它的存在,但是一旦出现问题,其影响可能“致命”。本系统正是针对DNS目前存在的安全问题(例如DNS劫持攻击),首次提出了基于USB Key的客户端DNS防劫持安全系统。本小组充分调研了目前已有的DNS防劫持安全方案,其中面向客户端的安全软件的解决方案仍然存在一定的局限性。大部分的安全软件对于DNS劫持攻击只能够做到报警,或者恢复原来的设置,没有进一步的安全措施。而本系统在很大程度上弥补了这些安全软件功能上的不足。除了在安全可靠性上有所提高之外,在DNS解析效率上也有所提升。

本系统的创新性主要体现在 “面向客户端”和“基于USB Key”两个方面。目前的USB Key技术已经比较成熟,但主要用于身份认证,主要用于存储一些重要的认证数据。本小组正是瞄准了USB Key对数据安全存储和处理的特性,首次将其用于存储重要的DNS解析数据,不仅能够实现DNS本地安全解析,还能够加快DNS解析的速度。另外,本系统针对DNS网络解析过程中存在的威胁,还提出了一种基于“判决机制”的DNS安全解析方案,不仅能够有效检测出DNS劫持攻击,还能通过“判决”、“比对”选择出正确的DNS解析数据,从而在一定程度上防范DNS劫持攻击。

猜你喜欢

互联网
浅谈大数据在出版业的应用
浅析互联网时代维基百科的生产模式
“互联网+”环境之下的著作权保护
“互联网+”对传统图书出版的影响和推动作用
从“数据新闻”看当前互联网新闻信息传播生态
互联网背景下大学生创新创业训练项目的实施