报文无污染dns
无污染dns 时间:2021-01-18 阅读:(
)
DetectionandAnalysisofDNSDependenceFangQiang1,GongJian12,YangWang121.
SchoolofComputerScience&Engineering,SoutheastUniversity,Nanjing,211189;2.
JiangsuProvincialKeyLaboratoryofComputerNetworkTechnology,SoutheastUniversity,Nanjing,2111891.
qfang@njnet.
edu.
cn,2.
jgong@njnet.
edu.
cn,3.
wyang@njnet.
edu.
cnAbstract:DetectDNSdependenceisveryimportantforanetworkinDNSsecurity.
ThispapertakestheDNSpacketspassingthroughborderrouterasthedatasources,andtakethenumberoftheusers'IPsaccessingaDNSasthedependencedegreemetric,thenclusteringthedependencemetricwithk-meanclusteringalgorithmtofindtheDNSwithhighdependence.
Keywords:DNSDependenceBorderRouterk-meanClusteringDNS依赖性的检测与分析方强1,龚俭12,杨望121.
计算机科学与工程学院东南大学,南京,211189,2.
江苏省计算机网络技术重点实验室东南大学,南京,2111891.
qfang@njnet.
edu.
cn,2.
jgong@njnet.
edu.
cn,3.
wyang@njnet.
edu.
cn摘要:检测一个网络的DNS依赖性对于保护该网络使用DNS的安全有着重要的意义.
本文提出采集经过网络边界路由器的DNS报文获取完整数据来源,使用DNS被访问的IP数作为依赖性指标,并且使用k-mean聚类算法按照依赖性指标进行聚类,找出依赖性强的DNS.
关键字:DNS依赖性网络边界路由器k-mean聚类1.
引言DNS[4](域名系统,DomainNameSystem)是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串.
,由于DNS的存在使得互联网的广泛使用成为可能.
由于DNS在互联网中的重要作用,使得DNS的安全对于互联网的安全有着重要的意义.
一个DNS出现故障将会导致大量的域名无法解析,从而导致大规模的网络故障.
当前DNS安全的研究主要关注是防范DNS欺骗以及防范对于DNS的攻击.
,目前还很少有文献从网络管理员的角度去说明如何去保证一个网络的DNS安全;一个网络的DNS安全既包括该网络内部用户所使用的外部DNS的安全,也包括外部用户使用网络内部DNS的安全.
达成上述目的的首要工作是了解网络外部用户对于内部DNS的依赖性以及网络内部用户对于外部DNS的依赖性.
本文介绍了一种检测DNS依赖性的方法,该方法对经过网络边界路由器的DNS报文进行解析和统计,并对统计的结果进行聚类分析,从而实现对于DNS依赖性的检测.
全文安排如下:第2节介绍了依赖性检测的模型;第3节介绍了实验的过程以及获得的数据;第四节对本文进行了总结.
2.
依赖性检测模型2.
1.
基本思想一个网络的DNS依赖性可分为外部用户对于内部DNS的依赖性和网络内部用户对于外部DNS的依赖性.
想要检测DNS的依赖性,首先就需要知道内部用户使用的外部DNS和外部用户使用的DNS的域名(或者是IP),网络内部用户访问外部DNS以及外部用户访问内部DNS时所发送的DNS报文一定会经过网络边界路由器.
因而抓取通过网络边界路由器的DNS报文并对其进行解析将能够获取很多重要信息,包括该报文的源宿地址,请求解析的域名,解析该域名的DNS的域名及地址,可以从中选取所需的数据用于分析.
在获取到检测所需的数据之后,需要找到一个指标用来评判用户对于各个DNS的依赖性(即对各个DNS的依靠的程度).
有两个候选指标可以用来使用:一个DNS被访问的次数和一个DNS被访问的IP数.
记录一个DNS被访问次数往往不能准确,因为大多数用户都会设置DNS缓存,用户在访问一次DNS获取到所需的IP地址之后将会在一点时间内使用DNS缓存而不是重新访问DNS,因而会影响到数据的准确性.
采用DNS被访问的IP数作为指标则不会出现该问题,无论一个IP访问过该DNS的次数是多少,该IP都会被记录下来.
在获取到所需数据以及评判标准之后,就需要从大量的DNS中找出对于该网络来说最重要的那些DNS,需要确定的数据包括重要的DNS的数量以及它们的域名(或者是IP),本文采用了k-mean聚类算法,按照DNS被访问的IP数量进行分类,选择其中数量最多的一类或者是几类作为重要的DNS.
2.
2.
数据的获取及统计要获取用户使用的DNS服务器以及获取访问每一个DNS服务器的IP地址,需要解析通过网络边界路由器的DNS报文,DNS报文的格式如下图所示(包括IP头以及UDP报头):以太报文头IP报文头UDP报文头DNS报文头DNS报文查询段DNS报文应答段DNS报文授权段DNS报文附加段Figure1.
completeDNSpacketformat图1.
DNS完整报文格式在DNS报文头中能够获取该DNS报文的类型,筛选出其中的DNS回复报文作为待分析报文,从DNS报文的授权段可以获取解析被请求解析域名的DNS服务器的域名(注:DNS服务器也有自己的域名),同时从IP报文头中获取报文的宿地址,即用户地址.
通过收集大量报文可以获取大量DNS服务器域名以及访问这些DNS的用户IP.
2.
3.
DNS服务器的依赖性分类进行依赖性分类的目的在于找出用户依赖性高的那些DNS,对DNS按照被访问的IP个数进行分类,找出的被访问IP个数多的那些DNS就是用户依赖性高的DNS.
在分类中采用了k-mean[2]聚类算法.
具体实现该算法的方式如下:1.
从全部的数据中任意选择k个数据作为初始聚类中心;2.
对于所剩下其它数据,则根据它们与这些聚类中心的距离(即所对应的IP地址个数之间的差值),分别将它们分配给与其距离最小的聚类;然后再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值);3.
不断重复这一过程直到各个聚类所包含的数据对象不再改变为止.
K-mean聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开.
4.
实验以及结果本文使用CERNET江苏省网作为实验对象.
实验环境为:Linuxversion2.
6.
9-42.
ELsmp(RedHat3.
4.
6-2)),内存4G,双核CPU、主频:2400.
587MHz;通过嗅探该主机的eth1接口可以获取通过江苏省网边界的DNS报文.
为实现上述算法,获取所需数据,本文利用C语言[3]设计了dns_cpature,statistics_ips,以及k_mean三个程序,各个程序的功能如下:1)dns_capture程序被开发用来从江苏省网边界抓取DNS报文,并且从中获取所需的信息:DNS服务器的域名以及使用该DNS的用户IP,对每一分钟内获取的信息整理之后存储到文件中,文件中数据存储的格式为:DNS域名IP数IP1.
.
.
IPnFigure2.
datastoreformat图2.
采集数据保存格式dns_capture程序使用了Libpcap[4]库抓取报文,采用libbind[5]库解析DNS报文,dns_capture在实验主机上运行10天,抓取了从2010.
8.
2-2010.
8.
12经过江苏省网边界的DNS报文.
2)statistics_ips程序用于统计dns_capture程序获取的DNS报文信息,获取每一个DNS被访问的IP个数.
并将所有的DNS按照IP地址数目从大到小排序,在实验中一共获取了24654个江苏省网内部的DNS服务器,316983个江苏省网外部的DNS服务器.
3)k_mean程序对statistics_ips所获得的DNS按照被访问的IP的数量进行聚类.
通过设置将分类的个数设为4、6、7,可以看到如下的结果:a)若将DNS服务器分为4大类(即K=4),结果如下:Table1.
theclusteringsituationofouterDNSwhenthedataisdividedinto4classes表1.
将数据分为4类时外部DNS的聚类情况聚类中心(DNS服务器关联IP数)聚类大小(DNS服务器个数)8583166682574.
51948296.
510532150.
14Table2.
theclusteringsituationofinnerDNSwhenthedataisdividedinto4classes表2.
将数据分为4类时内部DNS的聚类情况聚类中心(DNS服务器关联IP数)聚类大小(DNS服务器个数)1129.
50245063566.
5077340721110865.
5058b)若将DNS服务器分为6大类(即K=6),结果如下:Table3.
theclusteringsituationofouterDNSwhenthedataisdividedinto6classes表3.
将数据分为6类时外部DNS的聚类情况聚类中心聚类大小(DNS服务器个数)95315661285.
56068584012574.
51948296.
51053215012Table4.
theclusteringsituationofinnerDNSwhenthedataisdividedinto6classes表4.
将数据分为6类时内部DNS的聚类情况聚类中心聚类大小(DNS服务器个数)119.
5024316363.
501151129.
5753566.
57734073910865.
558c)若将DNS服务器分为7大类(即K=7),结果如下:Table5.
theclusteringsituationofouterDNSwhenthedataisdividedinto7classes表5.
将数据分为7类时外部DNS的聚类情况聚类中心(访问一个DNS的IP数)聚类大小31.
50313116952545285.
506068584012574.
51948296.
501053215011Table6.
theclusteringsituationofinnerDNSwhenthedataisdividedinto7classes表6.
将数据分为7类时内部DNS的聚类情况聚类中心(访问一个DNS的IP数)聚类大小39.
0024215119.
50101363.
501151129.
50753566.
507734072810865.
558从表1-6中可以清楚的看到,江苏省网内部的DNS的总数为24654,聚类中心最大的两个类别与其他的类别之间的聚类中心距离较远,它们可以作为江苏省网外部用户依赖性高的内部DNS.
同时,它们的数量基本稳定在70左右,占内部DNS总数的2.
83‰.
同样可以看到江苏省网外部的DNS的总数为316983,其中聚类中心最大的两个类别可以作为江苏省网内部用户依赖性高的外部DNS.
同时,它们的数量基本稳定在130左右,大概占外部DNS总数的0.
41‰.
因此,使用k-mean聚类算法可以将DNS按照依赖性进行有效的分类.
总结DNS是互联网中不可或缺的重要设备,对于一个网络来说保护其网络内部用户使用的网络外部DNS以及网络外部用户使用的内部DNS的安全是非常重要的工作,检测网络的DNS依赖性是实现上述目的的重要步骤,找出对于一个网络来说依赖性强的DNS将有助于对DNS安全的保护.
本文提出DNS依赖性分为网络外部用户对于内部DNS的依赖性和网络内部用户对于外部DNS的依赖性.
通过抓取经过网络边界路由器的DNS报文能够有效了解内部用户对于外部DNS以及外部用户对于内部DNS的访问情况,使用一个DNS被访问的IP数作为依赖性指标,并且使用k-mean聚类算法按照DNS被访问的IP数作为聚类数据,可以对DNS按照依赖性进行有效的分类,从而找出依赖性高的DNS.
References(参考文献)[1]W.
RecardStevens,TCP/IP详解,卷一:协议,中文版,机械工业出版社[2]J.
HanandM.
Kamber,MorganKaufmann,DataMining:ConceptsandTechniques[3]于明俭、陈向阳、方汉等,Linux程序设计权威指南,机械工业出版社[4]PaulAlbitz、CricketLiu,DNSandBIND,4thEdition,O'Reilly[5]阿美,Pcap程序设计,URL:http://broker.
dhs.
org/pcap.
htm方强东南大学计算机科学与工程学院江苏南京,211189电话:13401961483Email:qfang@njnet.
edu.
cn简历:东南大学计算机科学与工程学院硕士研究生,研究领域:网络安全龚俭东南大学计算机科学与工程学院江苏省网络术重点实验室江苏南京,211189Email:jgong@njnet.
edu.
cn简历:东南大学计算机科学与工程系教授,博士生导师;CERNET华东(北)地区网络中心主任,主要研究领域:网络行为学,网络安全杨望东南大学计算机科学与工程学院江苏省网络术重点实验室江苏南京,211189Email:wyang@njnet.
edu.
cn简历:东南大学计算机科学与工程系讲师,博士;主要研究领域:网络管理与网络安全
最近上洛杉矶机房联通CUVIP线路主机的商家越来越多了,HostKvm也发来了新节点上线的邮件,适用全场8折优惠码,基于KVM架构,优惠后最低月付5.2美元起。HostKvm是一家成立于2013年的国人主机商,提供基于KVM架构的VPS主机,可选数据中心包括日本、新加坡、韩国、美国、中国香港等多个地区机房,君选择国内直连或优化线路,延迟较低,适合建站或者远程办公等。以洛杉矶CUVIP线路主机为例,...
收到好多消息,让我聊一下阿里云国际版本,作为一个阿里云死忠粉,之前用的服务器都是阿里云国内版的VPS主机,对于现在火热的阿里云国际版,这段时间了解了下,觉得还是有很多部分可以聊的,毕竟,实名制的服务器规则导致国际版无需实名这一特点被无限放大。以前也写过几篇综合性的阿里云国际版vps的分析,其中有一点得到很多人的认同,那句是阿里云不管国内版还是国际版的IO读写速度实在不敢恭维,相对意义上的,如果在这...
JUSTG,这个主机商第二个接触到,之前是有介绍到有提供俄罗斯CN2 GIA VPS主机活动的,商家成立时间不久看信息是2020年,公司隶属于一家叫AFRICA CLOUD LIMITED的公司,提供的产品为基于KVM架构VPS主机,数据中心在非洲(南非)、俄罗斯(莫斯科),国内访问双向CN2,线路质量不错。有很多服务商实际上都是国人背景的,有的用英文、繁体搭建的冒充老外,这个服务商不清楚是不是真...
无污染dns为你推荐
买虚拟主机虚拟主机购买要注意哪些???独立ip空间怎么知道自己的空间是不是独立IP呢?虚拟主机购买虚拟主机哪里购买的好?域名代理怎么通过域名赚钱vps虚拟主机请通俗解析一下虚拟主机,VPS和云主机?它们各有什么用途?vpsvps什么意思域名注册服务万网域名注册服务怎么样?空间域名空间和域名是什么?虚拟空间免费试用那位给我介绍个可以试用三天的虚拟空间。网站空间商网站备案为什么是空间商备案?求解
100m网站空间 域名中介 万网域名查询 美国linux主机 isatap 美国便宜货网站 suspended 轻博 网站实时监控 搜狗12306抢票助手 华为4核 ntfs格式分区 域名评估 东莞数据中心 联通网站 双线asp空间 www789 帽子云排名 注册阿里云邮箱 电信宽带测速软件 更多