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

virmach:AMD平台小鸡,赌一把,单车变摩托?$7.2/年-512M内存/1核/10gSSD/1T流量,多机房可选

virmach送来了夏季促销,价格低到爆炸,而且在低价的基础上还搞首年8折,也就是说VPS低至7.2美元/年。不过,这里有一点要说明:你所购买的当前的VPS将会在09/30/2021 ~ 04/30/2022进行服务器转移,而且IP还会改变,当前的Intel平台会换成AMD平台,机房也会变动(目前来看以后会从colocrossing切换到INAP和Psychz),采取的是就近原则,原来的水牛城可能...

无忧云:服务器100G高防云服务器,bgpBGP云,洛阳BGP云服务器2核2G仅38.4元/月起

无忧云怎么样?无忧云值不值得购买?无忧云,无忧云是一家成立于2017年的老牌商家旗下的服务器销售品牌,现由深圳市云上无忧网络科技有限公司运营,是正规持证IDC/ISP/IRCS商家,主要销售国内、中国香港、国外服务器产品,线路有腾讯云国外线路、自营香港CN2线路等,都是中国大陆直连线路,非常适合免备案建站业务需求和各种负载较高的项目,同时国内服务器也有多个BGP以及高防节点。目前,四川雅安机房,4...

收到几个新商家投稿(HostMem,无忧云,青云互联,TTcloud,亚洲云端,趣米云),一起发布排名不分先后

7月份已经过去了一半,炎热的夏季已经来临了,主机圈也开始了大量的夏季促销攻势,近期收到一些商家投稿信息,提供欧美或者亚洲地区主机产品,价格优惠,这里做一个汇总,方便大家参考,排名不分先后,以邮件顺序,少部分因为促销具有一定的时效性,价格已经恢复故暂未列出。HostMem部落曾经分享过一次Hostmem的信息,这是一家提供动态云和经典云的国人VPS商家,其中动态云硬件按小时计费,流量按需使用;而经典...

无污染dns为你推荐
php虚拟主机php程序在虚拟主机上怎么运行域名服务域名服务器是什么?虚拟空间免费试用哪有免费试用的虚拟主机?重庆虚拟空间重庆那里可以租用VSP主机虚拟主机软件问虚拟主机用什么版本的软件比较好mysql虚拟主机哪些类型的虚拟主机支持数据库?windows虚拟主机win10用什么虚拟机好域名停靠域名停放是什么?二级域名什么是一级域名和二级域名以及三级域名域名网谁能帮我推荐一些较好的免费域名的申请网站。。。谢谢了啊。。。
虚拟主机评测 vps代理 高防dns vpsio 云图标 申请个人网站 me空间社区 静态空间 免费网页申请 爱奇艺会员免费试用 联通网站 东莞idc 阿里云邮箱登陆地址 cdn网站加速 网站加速 云服务是什么意思 黑科云 privatetracker qq空间打开很慢 防盗链 更多