报文无污染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简历:东南大学计算机科学与工程系讲师,博士;主要研究领域:网络管理与网络安全

hosthatch:14个数据中心15美元/年

hosthatch在做美国独立日促销,可能你会说这操作是不是晚了一个月?对,为了准备资源等,他们拖延到现在才有空,这次是针对自己全球14个数据中心的VPS。提前示警:各个数据中心的网络没有一个是针对中国直连的,都会绕道而且ping值比较高,想买的考虑清楚再说!官方网站:https://hosthatch.com所有VPS都基于KVM虚拟,支持PayPal在内的多种付款方式!芝加哥(大硬盘)VPS5...

NameCheap 2021年新年首次活动 域名 域名邮局 SSL证书等

NameCheap商家如今发布促销活动也是有不小套路的,比如会在提前一周+的时间告诉你他们未来的活,比如这次2021年的首次活动就有在一周之前看到,但是这不等到他们中午一点左右的时候才有正式开始,而且我确实是有需要注册域名,等着看看是否有真的折扣,但是实际上.COM域名力度也就一般需要51元左右,其他地方也就55元左右。当然,这次新年的首次活动不管如何肯定是比平时便宜一点点的。有新注册域名、企业域...

LetBox:美国洛杉矶/新泽西AMD大硬盘VPS,10TB流量,充值返余额,最低3.3美元两个月

LetBox此次促销依然是AMD Ryzen处理器+NVME硬盘+HDD大硬盘,以前是5TB月流量,现在免费升级到10TB月流量。另外还有返余额的活动,如果月付,月付多少返多少;如果季付或者半年付,返25%;如果年付,返10%。依然全部KVM虚拟化,可自定义ISO系统。需要大硬盘vps、大流量vps、便宜AMD VPS的朋友不要错过了。不过LetBox对帐号审核严格,最好注册邮箱和paypal帐号...

无污染dns为你推荐
域名注册申请域名申请有什么要求租服务器开个小型公司,租个服务器需要多少钱?中文域名注册查询如何注册中文域名?请问个人怎样注册中文域名。cn的,个人注册别人公司的可以吗?违法吗?或者怎样才能注册英文域名求好听的个性英语域名?免费国外空间那个国外空间好啊啊 价格便宜 急需域名主机域名和主机名之间的区别是什么域名申请申请域名需要什么条件?具体点!急!急!!!网站空间商网站空间商的选择??香港虚拟主机虚拟主机大陆的还是香港的好?100m虚拟主机100元虚拟主机
美国linux主机 已经备案域名 花生壳域名贝锐 virpus linode 12306抢票助手 国外免费空间 京东商城双十一活动 ca4249 免费美国空间 爱奇艺vip免费领取 国外ip加速器 联通网站 日本代理ip 主机返佣 中国联通宽带测试 服务器硬件配置 privatetracker SmartAXMT800 japanese50m咸熟 更多