报文无污染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简历:东南大学计算机科学与工程系讲师,博士;主要研究领域:网络管理与网络安全
美得云怎么样?美得云好不好?美得云是第一次来推广软文,老板人脾气特别好,能感觉出来会用心对待用户。美得云这次为大家提供了几款性价比十分高的产品,美国cera 2核4G 15元/月 香港1核 1G 3M独享 15元/月,并且还提供了免费空间给大家使用。嘻嘻 我也打算去白嫖一个空间了。新用户注册福利-8折优惠码:H2dmBKbF 截止2021.10.1结束。KVM架构,99.99%高可用性,依托BGP...
Contabo自4月份在新加坡增设数据中心以后,这才短短的过去不到3个月,现在同时新增了美国纽约和西雅图数据中心。可见Contabo加速了全球布局,目前可选的数据中心包括:德国本土、美国东部(纽约)、美国西部(西雅图)、美国中部(圣路易斯)和亚洲的新加坡数据中心。为了庆祝美国独立日和新增数据中心,自7月4日开始,购买美国地区的VPS、VDS和独立服务器均免设置费。Contabo是德国的老牌服务商,...
日前,国内知名主机服务商阿里云与国外资深服务器面板Plesk强强联合,推出 阿里云域名注册与备案、服务器ECS购买与登录使用 前言云服务器(Elastic 只需要确定cpu内存与带宽基本上就可以了,对于新手用户来说,我们在购买阿里云服务申请服务器与域名许多云服务商的云服务器配置是弹性的 三周学会小程序第三讲:服务 不过这个国外服务器有点慢,可以考虑国内的ngrokcc。 ngrokcc...
无污染dns为你推荐
中国互联网域名注册什么叫做网络域名 怎么注册网络域名 以及它的收费方式linux主机【windows主机换Linux主机该怎么弄啊?需要注意些什么呢?】免费云主机免费云主机哪家好?租服务器我想租一个服务器,越便宜越好网站服务器租用公司想建个网站,请问租服务器按年收费是多少钱国内ip代理求一些国内《ip代理》地址大全空间域名空间域名什么意思美国网站空间美国空间做什么网站好?下载虚拟主机虚拟机软件到那里下载。怎么安装淘宝虚拟主机我想在淘宝买虚拟主机不知道哪家好?想找长期合作稳定的
电信服务器租赁 最便宜虚拟主机 谷歌域名邮箱 cybermonday 电信测速器 日本软银 liquidweb 美国主机评论 免备案cdn 警告本网站美国保护 中国网通测速 最好的qq空间 空间技术网 国外免费asp空间 cloudlink 新加坡空间 华为k3 存储服务器 建站技术 web服务器有哪些 更多