999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于DNS隧道的遠(yuǎn)程訪問方法

2015-12-02 02:28:46胡宗輝

胡宗輝, 甘 剛

(成都信息工程大學(xué)信息安全工程學(xué)院,四川成都610225)

0 引言

計(jì)算機(jī)網(wǎng)絡(luò)從1969年美國(guó)開始建立ARPANet開始,到現(xiàn)在短短幾十年中,計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展和普及可謂是“一日千里”,網(wǎng)絡(luò)發(fā)展的早起,網(wǎng)絡(luò)的使用限制于一個(gè)比較小的范圍內(nèi),對(duì)網(wǎng)絡(luò)的安全缺乏足夠的重視。當(dāng)時(shí)設(shè)計(jì)之初的主要目的是“方便共享資源和交換信息”,而在于保障信息安全方面的設(shè)計(jì)也非常有限。互聯(lián)網(wǎng)自身的特征是方便、自由開放,這就顯示出互聯(lián)網(wǎng)的軟弱性特征,在互聯(lián)網(wǎng)使用過程中受到各方面的襲擊[1]。由于在早起網(wǎng)絡(luò)協(xié)議的開放性和共享性,協(xié)議在設(shè)計(jì)的時(shí)候在安全方面考慮不足,比如:缺乏認(rèn)證機(jī)制和加密機(jī)制,使計(jì)算機(jī)網(wǎng)絡(luò)在設(shè)計(jì)之初就存在一些安全隱患。隨著計(jì)算機(jī)網(wǎng)絡(luò)的爆發(fā)式發(fā)展,網(wǎng)絡(luò)不在被地理位置限制,到現(xiàn)在計(jì)算機(jī)網(wǎng)絡(luò)已經(jīng)遍布全世界。由于網(wǎng)絡(luò)開放的環(huán)境,如果要在網(wǎng)絡(luò)上傳遞一些敏感信息的時(shí)候,信息安全就會(huì)受到很大的威脅。因此確保信息在使在網(wǎng)絡(luò)中安全傳輸變得越來越重要[2]。

隨著2013年斯諾登事件的爆發(fā),信息安全已經(jīng)被提升為一個(gè)國(guó)家戰(zhàn)略層的高度。由于網(wǎng)絡(luò)的普及,網(wǎng)絡(luò)安全已經(jīng)成為計(jì)算機(jī)技術(shù)中一個(gè)重要的研究領(lǐng)域。隨著網(wǎng)絡(luò)攻擊的發(fā)展,防火墻技術(shù)也是“日新月異”,我們平時(shí)在訪問網(wǎng)絡(luò)的時(shí)候,一般都會(huì)使用防火墻。一般公司內(nèi)使用的防火墻從大的方面來講分為內(nèi)部防火墻和外部防火墻。當(dāng)訪問網(wǎng)絡(luò)的時(shí)候,一般都會(huì)使用防火墻進(jìn)行網(wǎng)絡(luò)訪問的限制;比如:進(jìn)行端口過濾,IP過濾等限制。

文中探討使用DNS隧道,在DNS隧道中封裝數(shù)據(jù),來打破防火墻的限制[3]。當(dāng)訪問互聯(lián)網(wǎng)的時(shí)候,大多數(shù)的防火墻和網(wǎng)絡(luò)都開放DNS服務(wù)[4];就是利用防火墻對(duì)DNS協(xié)議的信任關(guān)系建立DNS隧道,以達(dá)到數(shù)據(jù)傳輸?shù)哪康摹?/p>

1 DNS協(xié)議基本原理

域名系統(tǒng)(Doain Name System,DNS)是一種把計(jì)算機(jī)名解析為對(duì)應(yīng)的IP地址的服務(wù)[5]。

圖1 dns解析示意圖

DNS解析原理:

(1)當(dāng)輸入域名,按下enter鍵訪問網(wǎng)址的時(shí)候,客戶端先向本地的DNS服務(wù)器發(fā)送查詢請(qǐng)求。

(2)本地DNS服務(wù)器收到請(qǐng)求,先查詢緩存是否有該域名的記錄;有的話,就直接返回;沒有就向配置的根DNS發(fā)送請(qǐng)求;根DNS會(huì)先查詢得到頂級(jí)域名DNS服務(wù)器的IP地址,然后返回給本地DNS服務(wù)器[6]。

(3)本地DNS服務(wù)器就根據(jù)返回的IP,繼續(xù)請(qǐng)求頂級(jí)域名服務(wù)器;頂級(jí)域名服務(wù)器也做類似的過程:先查緩存,沒有就返回二級(jí)域名DNS服務(wù)器的地址給本地DNS服務(wù)器。

(4)然后本地域名服務(wù)器就向二級(jí)域名DNS發(fā)送請(qǐng)求,繼續(xù)類似的過程。

(5)直到最后權(quán)威DNS服務(wù)器向本地服務(wù)器返回對(duì)應(yīng)的IP地址。

(6)然后本地DNS服務(wù)器返回給主機(jī),然后主機(jī)在訪問這個(gè)IP地址。

DNS解析就是這樣逐層遞歸的方式,最終把域名的對(duì)應(yīng)的IP地址返回到本機(jī)。

例如:當(dāng)主機(jī)首次訪問www.baidu.com時(shí),就會(huì)按照上邊的遞歸查詢方式進(jìn)行遞歸查詢。

(1)當(dāng)首次訪問的時(shí)候,主機(jī)先向本地DNS服務(wù)器發(fā)送查詢請(qǐng)求。

(2)本地域名服務(wù)器收到請(qǐng)求后,先查詢緩存是否有該域名的記錄;有的話,就直接返回;沒有就向配置的根DNS發(fā)送請(qǐng)求;根DNS先查詢得到頂級(jí)域名DNS服務(wù)器(.com)的IP地址,然后返回給本地DNS服務(wù)器[6]。

(3)本地域名服務(wù)器就根據(jù)返回的IP,繼續(xù)請(qǐng)求頂級(jí)域名服務(wù)器;頂級(jí)域名服務(wù)器也會(huì)做類似的過程:先查緩存,沒有就返回二級(jí)域名DNS服務(wù)器(baidu.com)的地址給本地DNS服務(wù)器。

(4)然后本地DNS服務(wù)器就向二級(jí)域名DNS服務(wù)器發(fā)送請(qǐng)求;二級(jí)域名DNS服務(wù)器就先查詢自己的緩存,發(fā)現(xiàn)有www.baidu.com對(duì)應(yīng)的IP地址;就直接返回給本地DNS服務(wù)器。

(5)本地DNS服務(wù)器把查詢到的IP地址返回給主機(jī)。

(6)主機(jī)獲得了www.baidu.com域名的IP地址,就可以訪問該網(wǎng)站了。

2 DNS隧道傳輸數(shù)據(jù)的具體實(shí)現(xiàn)

2.1 DNS隧道建立的原理

根據(jù)DNS查詢過程,利用專門解析某種類型域名的DNS服務(wù)器,在DNS的查詢過程中建立起DNS隧道。

圖2 dns隧道通信示意圖

假設(shè)運(yùn)行在內(nèi)部主機(jī)上的客戶端,想與外網(wǎng)的DNS服務(wù)器進(jìn)行通信;在內(nèi)部網(wǎng)絡(luò)中存在一個(gè)本地DNS服務(wù)器,所有想上網(wǎng)進(jìn)行域名查詢的主機(jī)都要經(jīng)過這個(gè)本地DNS服務(wù)器;在網(wǎng)絡(luò)邊緣存在一個(gè)防火墻;外網(wǎng)的定制的DNS服務(wù)器相當(dāng)于服務(wù)端,負(fù)責(zé)某種所有定制類型的域名的解析(比如:定制的testuu.com這種類型的域名)。

由于防火墻的限制,一般邊界防火墻都會(huì)限制內(nèi)部網(wǎng)絡(luò)的提供的服務(wù):比如對(duì)ftp服務(wù)的20和21端口過濾,對(duì)telnet服務(wù)的23端口進(jìn)行過濾;而對(duì)從外部網(wǎng)絡(luò)訪問內(nèi)部網(wǎng)絡(luò)可能會(huì)對(duì)IP地址的限制。但是如果內(nèi)部網(wǎng)絡(luò)要上網(wǎng),那么就要使用DNS服務(wù),那么防火墻一般對(duì)DNS服務(wù)是信任的。利用DNS服務(wù)的查詢和遞歸解析的過程,建立起這個(gè)DNS隧道。

過程如下:

(1)首先要注冊(cè)個(gè)域名,比如在美橙域名注冊(cè)機(jī)構(gòu)中注冊(cè)一個(gè)qh.cn的域名,然后設(shè)置qh.cn的域名服務(wù)器的IP地址為自己的主機(jī)IP地址。這樣類似于*.qh.cn域名查詢都會(huì)到自己的主機(jī)中[4]。

(2)配置定制服務(wù)器,在服務(wù)器上設(shè)置監(jiān)聽DNS的53端口,接受DNS請(qǐng)求,并且只解析類似于qh.cn這樣的域名。

(3)運(yùn)行在網(wǎng)絡(luò)內(nèi)部主機(jī)上的客戶端,查詢定制類型的域名*.up.qh.cn(表示上行數(shù)據(jù));由于這個(gè)域名是定制的;在查詢的時(shí)候,本地DNS是查詢不到的;那么根據(jù)上邊的DNS遞歸查詢過程,本地DNS就先通過邊界防火墻,然后從根域名服務(wù)器一層一層的去查詢;最終會(huì)傳遞給定制的DNS;定制DNS通過域名解析,得到這個(gè)域名中存儲(chǔ)的信息。

(4)然后定制DNS,把要返回的信息封裝成DNS報(bào)文*.down.qh.cn(表示下行數(shù)據(jù))返回給內(nèi)部網(wǎng)絡(luò)的客戶端。

(5)這樣通過DNS域名查詢和返回,就建立起DNS隧道了。

2.2 DNS數(shù)據(jù)報(bào)文格式

如果要把傳輸?shù)臄?shù)據(jù)封裝到DNS隧道中,就要知道DNS協(xié)議數(shù)據(jù)包的結(jié)構(gòu),DNS報(bào)文的基本格式如圖3所示。

圖3 dns報(bào)文格式

在圖3,Header是DNS報(bào)文的報(bào)頭部分。報(bào)頭部分的第一個(gè)字段是ID,表示是DNS每次查詢的時(shí)候分配的一個(gè)16位的標(biāo)識(shí)符;第二個(gè)字段是“標(biāo)識(shí)字段”,由 QR,Opcode,AA,TC,RD,RA,000,Rcode 這些標(biāo)識(shí)符組成。QR是報(bào)文類型標(biāo)志,請(qǐng)求報(bào)文QR=0,應(yīng)答報(bào)文QR=1。Opcode是操作碼標(biāo)志位,主要用于設(shè)置查詢的種類。AA授權(quán)應(yīng)答標(biāo)志位,僅在應(yīng)答報(bào)文中有意義。TC截?cái)鄻?biāo)志位,表示報(bào)文是否被分段。RD期望遞歸標(biāo)志位,在請(qǐng)求報(bào)文中有意義;表示建議域名使用遞歸查詢方法。RA在應(yīng)答報(bào)文中設(shè)置,表示服務(wù)器是否支持遞歸查詢。Rcode是應(yīng)答碼標(biāo)志位,在應(yīng)答報(bào)文中設(shè)置。QDcount表示報(bào)文數(shù)據(jù)部分的查詢消息字段中的問題條數(shù)。ANcount表示報(bào)文數(shù)據(jù)部分應(yīng)答消息字段中的資源記錄數(shù)。NScount表示表示報(bào)文數(shù)據(jù)部分授權(quán)應(yīng)答字段中的名稱服務(wù)器資源記錄數(shù)。ARcount表示報(bào)文數(shù)據(jù)部分附加消息字段中的資源記錄數(shù)。

Query是DNS請(qǐng)求報(bào)文中的請(qǐng)求消息部分,包含QName、Qtype、QClass。QName 表示請(qǐng)求的域名,以ASCII碼表示;Qtype表示查詢的資源記錄類型;QClass表示查詢類別。

Response、Authority、Additional是 DNS 應(yīng)答報(bào)文中顯示所應(yīng)答的記錄信息,這些記錄格式是一樣的。NAME表示記錄對(duì)應(yīng)的域名,與請(qǐng)求報(bào)文中的QName一致;TYPE是記錄類型;CLASS是記錄數(shù)據(jù)的類型;TTL表示該記錄信息緩存的時(shí)間;Rdlength表示Rdata字段的長(zhǎng)度;Rdata表示具體的記錄數(shù)據(jù)。

在RFC1023中規(guī)定:為和現(xiàn)有的域名相互兼容,域名以分隔號(hào)分開,并且各個(gè)分隔號(hào)之間的長(zhǎng)度(labels)小于63個(gè)字符,并且一個(gè)域名的總長(zhǎng)度不能超過255個(gè)字符[7],因此一個(gè)QName最多能夠攜帶200多個(gè)字符;并且還需要對(duì)存放的信息進(jìn)行編碼(base32/base64編碼);比較新的 RFC2181和RFC4343中規(guī)定,域名部分還可以使用二進(jìn)制編碼的方式。

QName的格式如圖4所示。

圖4 QName(請(qǐng)求域名)的格式

由圖4中可以看出域名都是由一系列:域名長(zhǎng)度對(duì)應(yīng)的域名ASCII碼,這種類似的標(biāo)簽(labels)組成。

當(dāng)DNS中出現(xiàn)重復(fù)的域名的時(shí)候,為了減小報(bào)文的長(zhǎng)度,DNS使用一種壓縮方式來壓縮報(bào)文,這種壓縮方式可以消除域名中重復(fù)的報(bào)文;使用這種方式,后邊重復(fù)出現(xiàn)的域名就變成之前重復(fù)出現(xiàn)的域名偏移位置的指針(pointer),以wireshark抓包結(jié)果為例,如圖5所示。

圖5 DNS報(bào)文壓縮的格式

由于DNS壓縮的時(shí)候,把重復(fù)的labels變?yōu)檫@些域名出現(xiàn)的位置相對(duì)于DNS報(bào)文開始的偏移值(pointer)。

labels和pointer的區(qū)別是,由于labels最大長(zhǎng)度為63[8],因此長(zhǎng)度字段的前2bit位一定0;而pointer是由2個(gè)字節(jié)組成,并且前2bits為11,后邊的14bits是偏移值。這樣labels就與偏移指針區(qū)分開來了。

2.3 DNS報(bào)文存儲(chǔ)數(shù)據(jù)原理

當(dāng)DNS報(bào)文中出現(xiàn)重復(fù)的域名,DNS報(bào)文就使用壓縮方式;在DNS壓縮報(bào)文中可以利用pointer指向的偏移位置,來構(gòu)造松弛空間(松弛空間的作用就是存放要通信的數(shù)據(jù))。

圖6 DNS報(bào)文存儲(chǔ)數(shù)據(jù)原理圖

按照?qǐng)D6的格式,通過操作pointer指針的指向位置,在DNS數(shù)據(jù)包中創(chuàng)建松弛空間,然后把通信的數(shù)據(jù)(Injected data)放到這部分松弛空間中[1];這樣就把數(shù)據(jù)封裝到DNS數(shù)據(jù)包中了,然后在經(jīng)過DNS隧道的傳遞,就能實(shí)現(xiàn)信息的交互。

松弛空間的構(gòu)造過程如下:

(1)先根據(jù)圖5的DNS協(xié)議的報(bào)文格式,構(gòu)造原始DNS請(qǐng)求數(shù)據(jù),格式如圖6上半部分表格的樣子,如下:

(2)然后把原始DNS請(qǐng)求數(shù)據(jù)按照?qǐng)D6中下本部分表格的樣式修改,如下:

(3)這樣按照?qǐng)D6的指針偏移位置就形成了松弛空間。

(4)然后把要傳輸?shù)臄?shù)據(jù)經(jīng)過編碼等變形之后,放到松弛空間中,如下:

(5)這樣就利用DNS隧道的方式實(shí)現(xiàn)了數(shù)據(jù)的傳輸。

3 環(huán)境搭建與實(shí)現(xiàn)

3.1 實(shí)現(xiàn)方法

在linux下使用C語言實(shí)現(xiàn)

(1)搭建環(huán)境,首先要建立一個(gè)域名服務(wù)器,比如在美橙域名注冊(cè)機(jī)構(gòu)中注冊(cè)一個(gè)定制的的域名,然后設(shè)置這個(gè)域名服務(wù)器的IP地址為自己的主機(jī)IP地址。這樣查詢這個(gè)域名的時(shí)候,最終訪問這個(gè)定制的域名服務(wù)器。

(2)然后利用C語言按照下邊的程序流程圖編寫程序。

圖7 程序?qū)崿F(xiàn)流程

3.2 測(cè)試結(jié)果與分析

圖8 訪問端

下面對(duì)前面研究所提出的訪問程序的有效性與可行性,配置了一個(gè)虛擬環(huán)境進(jìn)行研究與分析,虛擬環(huán)境為Windows XP、Windows 7,代碼使用C編寫。

通過實(shí)驗(yàn)測(cè)試,服務(wù)端和客戶端成功連接,可以瀏覽目標(biāo)主機(jī)的目錄,進(jìn)行相應(yīng)的訪問操作。結(jié)果如圖2所示。

同時(shí),實(shí)驗(yàn)通過在不同環(huán)境下進(jìn)行測(cè)試,可以成功通過安裝有表1中3種防火墻環(huán)境的內(nèi)網(wǎng)。并且實(shí)現(xiàn)了在XP、WIN7等不同操作系統(tǒng)下的訪問。

表1 穿透內(nèi)網(wǎng)防火墻測(cè)試結(jié)果

4 結(jié)束語

主要介紹通過DNS的查詢和應(yīng)答過程建立起DNS隧道,結(jié)合DNS報(bào)文壓縮的格式,通過操作pointer指針來存儲(chǔ)數(shù)據(jù),然后利用防火墻對(duì)DNS的信任關(guān)系;以達(dá)到穿透防火墻進(jìn)行通信的目的。隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,相關(guān)研究領(lǐng)域的技術(shù)也在發(fā)生深刻變化。一方面要求提供更高的穩(wěn)定性;另一方面要求提供高的兼容性,為了支持更高的傳輸速率和可靠性,以滿足多種需求,該技術(shù)具有良好的應(yīng)用前景[8]。

[1] 劉西青.淺談?dòng)?jì)算機(jī)網(wǎng)絡(luò)安全問題[J].軟件,2013,34(12):239.

[2] 黃存東.關(guān)于計(jì)算機(jī)網(wǎng)絡(luò)信息安全問題的技術(shù)研究[J].軟件,2011.

[3] Dusi M,Crotti M,Gringoli F,et al.Tunnel hunter:Detecting application-layer tunnels with statistical fingerprinting[J]. Computer Networks.2009.

[4] 谷傳征,王軼駿,薛質(zhì).基于DNS協(xié)議的隱蔽信道研究[J].信息安全與通信保密.2011.

[5] Eastlake D.Domain name system security extensinas[J].RFC 2535,1999.

[6] 李海明,蘇開宇.DNS安全威脅與防護(hù)[J].計(jì)算機(jī)安全.2011.

[7] 王永杰,劉京菊.基于DNS協(xié)議的隱蔽通道原理及性能分析[J].計(jì)算機(jī)工程2014,(7).

[8] 章思宇,鄒福泰,王魯華,等.基于DNS的隱蔽通道流量檢測(cè)[J].通信學(xué)報(bào).2013.

[9] Born K,Gustafson D.Detecting DNS tunnels u-sing character frequency analysis[C].Proceedings of the 9th Annual Security Conference.2010.

[10] 孔政,姜秀柱.DNS欺騙原理及其防御方案[J].計(jì)算機(jī)工程.2010.

[11] 劉曉麗.基于DNS代理的網(wǎng)絡(luò)訪問控制系統(tǒng)的實(shí)現(xiàn)[J].華東科技:學(xué)術(shù)版.2013.

[12] 蔡昭權(quán),王美珍,梅松,等.一種新的基于DNS協(xié)議的IPSec隱蔽通信研究[J].計(jì)算機(jī)應(yīng)用.2008,(7).

[13] 吳其祥,李祖猛,馬華.基于HTTP協(xié)議的隱蔽信道研究[J].信息安全與通信保密.2009.

[14] 史曉敏,劉飛.淺析基于DNS協(xié)議的隱蔽通道及監(jiān)測(cè)技術(shù)[J].保密科學(xué)技術(shù).2011.

[15] 劉靜,裘國(guó)永.基于反向連接、HTTP隧道和共享DNS的防火墻穿透技術(shù)[J].鄭州輕工業(yè)學(xué)院學(xué)報(bào)2007,(10).

主站蜘蛛池模板: 一级毛片免费观看不卡视频| 欧美一级特黄aaaaaa在线看片| 亚洲欧美一区二区三区蜜芽| 亚洲无码91视频| 伊人久热这里只有精品视频99| 亚洲福利网址| 欧美性久久久久| 亚洲国产成人久久精品软件 | 天天色天天操综合网| 成人精品在线观看| 精品久久蜜桃| 中文字幕永久视频| 98精品全国免费观看视频| 久久国产V一级毛多内射| 久久久久亚洲AV成人网站软件| 色欲不卡无码一区二区| 一级一级特黄女人精品毛片| 麻豆国产原创视频在线播放| av天堂最新版在线| 在线另类稀缺国产呦| 精品久久香蕉国产线看观看gif| 亚洲欧洲日韩综合| 伊人蕉久影院| 久久77777| 久青草免费视频| 国产成人精品日本亚洲77美色| 亚洲欧美另类中文字幕| 亚洲人成网站18禁动漫无码| 久久a级片| 久久精品视频一| 午夜毛片免费观看视频 | 亚洲精品无码在线播放网站| 国产精品久久久久久影院| 亚洲国产无码有码| 国产麻豆福利av在线播放| 99视频精品全国免费品| 依依成人精品无v国产| 呦系列视频一区二区三区| 亚洲高清中文字幕| 亚洲中文字幕久久精品无码一区| 国国产a国产片免费麻豆| 精品国产91爱| 三上悠亚精品二区在线观看| 亚洲第一成年网| 亚洲乱码视频| 成人午夜福利视频| 国模视频一区二区| 中文字幕va| 香蕉eeww99国产精选播放| 片在线无码观看| 天天综合天天综合| 456亚洲人成高清在线| 亚洲av无码牛牛影视在线二区| 欧美日本不卡| 91福利国产成人精品导航| 呦女亚洲一区精品| 狠狠干欧美| www.亚洲色图.com| 亚洲中文字幕无码爆乳| 日韩毛片免费| 亚洲天堂.com| 亚洲中久无码永久在线观看软件| 亚洲Av激情网五月天| 久久国产精品夜色| 久久综合亚洲鲁鲁九月天| 国产97视频在线观看| 日韩国产另类| 亚洲毛片一级带毛片基地| 91探花在线观看国产最新| 国产欧美在线观看视频| 四虎国产精品永久一区| 精品国产美女福到在线不卡f| 国产精品一区二区在线播放| 免费国产一级 片内射老| 亚洲欧洲一区二区三区| 老司国产精品视频91| 亚洲日韩国产精品综合在线观看| 亚洲an第二区国产精品| 无套av在线| 国产无码性爱一区二区三区| 婷婷五月在线视频| 91精品国产无线乱码在线|