DNS欺騙是什么
DNS欺騙是什么
dns即Domain Name System 的縮寫,簡單的說DNS是用來解析域名的。有了DNS我們就不用再記住煩人的IP地址,用相對好記的域名就可以對服務(wù)器進行訪問,即使服務(wù)器更換了IP地址,我們依舊可以通過域名訪問該服務(wù)器,這樣能夠使我們更方便的訪問互聯(lián)網(wǎng)。dns欺騙就是攻擊者冒充域名服務(wù)器的一種欺騙行為。有時候我們點進一個網(wǎng)站卻發(fā)現(xiàn)內(nèi)容不符合,就是這種情況。那么dns欺騙的原因是什么呢?今天學(xué)習(xí)啦小編專門搜集了相關(guān)資料,下面一起來看看吧!
一、什么是dns欺騙
DNS欺騙就是攻擊者冒充域名服務(wù)器的一種欺騙行為。
原理:如果可以冒充域名服務(wù)器,然后把查詢的IP地址設(shè)為攻擊者的IP地址,這樣的話,用戶上網(wǎng)就只能看到攻擊者的主頁,而不是用戶想要取得的網(wǎng)站的主頁了,這就是DNS欺騙的基本原理。DNS欺騙其實并不是真的“黑掉”了對方的網(wǎng)站,而是冒名頂替、招搖撞騙罷了。
在Internet上存在的DNS服務(wù)器有絕大多數(shù)都是用bind來架設(shè)的,使用的bind版本主要為bind 4.9.5+P1以前版本和bind 8.2.2-P5以前版本.這些bind有個共同的特點,就是BIND會緩存(Cache)所有已經(jīng)查詢過的結(jié)果,這個問題就引起了下面的幾個問題的存在。
二、dns欺騙的主要形式
1、hosts文件篡改
Hosts文件是一個用于存儲計算機網(wǎng)絡(luò)中節(jié)點信息的文件,它可以將主機名映射到相應(yīng)的IP地址,實現(xiàn)DNS的功能,它可以由計算機的用戶進行控制。
Hosts文件的存儲位置在不同的操作系統(tǒng)中并不相同,甚至不同Windows版本的位置也不大一樣:
Windows NT/2000/XP/2003/Vista/win7:默認位置為%SystemRoot%system32driversetc,但也可以改變。
有很多網(wǎng)站不經(jīng)過用戶同意就將各種各樣的插件安裝到你的計算機中,其中有些說不定就是木馬或病毒。對于這些網(wǎng)站我們可以利用Hosts把該網(wǎng)站的域名映射到錯誤的IP或本地計算機的IP,這樣就不用訪問了。在WINDOWSX系統(tǒng)中,約定127.0.0.1為本地計算機的IP地址, 0.0.0.0是錯誤的IP地址。
如果,我們在Hosts中,寫入以下內(nèi)容:
127.0.0.1 # 要屏蔽的網(wǎng)站 A
0.0.0.0 # 要屏蔽的網(wǎng)站 B
這樣,計算機解析域名 A和 B時,就解析到本機IP或錯誤的IP,達到了屏蔽網(wǎng)站A 和B的目的。
2、本機DNS劫持
DNS劫持又稱域名劫持,是指在劫持的網(wǎng)絡(luò)范圍內(nèi)攔截域名解析的請求,分析請求的域名,把審查范圍以外的請求放行,否則返回假的IP地址或者什么都不做使請求失去響應(yīng),其效果就是對特定的網(wǎng)絡(luò)不能反應(yīng)或訪問的是假網(wǎng)址。
相關(guān)內(nèi)容
域名解析的基本原理就是把域名翻譯成IP地址,以便計算機能夠進一步通信,傳遞內(nèi)容和網(wǎng)址等。
由于域名劫持往往只能在特定的被劫持的網(wǎng)絡(luò)范圍內(nèi)進行,所以在此范圍外的域名服務(wù)器(DNS)能夠返回正常的IP地址,高級用戶可以在網(wǎng)絡(luò)設(shè)置把DNS指向這些正常的域名服務(wù)器以實現(xiàn)對網(wǎng)址的正常訪問。所以域名劫持通常相伴的措施——封鎖正常DNS的IP。
如果知道該域名的真實IP地址,則可以直接用此IP代替域名后進行訪問。比如訪問百度,你可以直接用百度IP(202.108.22.5)訪問。
簡單的說就是把你要去的地址攔截下來,給你一個錯誤的地址,或者告訴你你要去的地方去不了,人為的導(dǎo)致你無法到達目的地,一般用于對一些不良網(wǎng)站的封殺或是一些黑客行為。
三、dns欺騙的原因
盡管DNS在互聯(lián)網(wǎng)中扮演著如此重要的角色,但是在設(shè)計DNS協(xié)議時,設(shè)計者沒有考慮到一些安全問題,導(dǎo)致了DNS的安全隱患與缺陷。
DNS欺騙就是利用了DNS協(xié)議設(shè)計時的一個非常嚴重的安全缺陷。
首先欺騙者向目標機器發(fā)送構(gòu)造好的ARP應(yīng)答數(shù)據(jù)包(關(guān)于ARP欺騙請看文章《中間人攻擊——ARP欺騙的原理、實戰(zhàn)及防御 》),ARP欺騙成功后,嗅探到對方發(fā)出的DNS請求數(shù)據(jù)包,分析數(shù)據(jù)包取得ID和端口號后,向目標發(fā)送自己構(gòu)造好的一個DNS返回包,對方收到DNS應(yīng)答包后,發(fā)現(xiàn)ID和端口號全部正確,即把返回數(shù)據(jù)包中的域名和對應(yīng)的IP地址保存進DNS緩存表中,而后來的當真實的DNS應(yīng)答包返回時則被丟棄。
目標靶機收到應(yīng)答包后把域名以及對應(yīng)IP保存在了DNS緩存表中,這樣www.baidu.com的地址就被指向到了192.168.1.59上。
四、dns欺騙的防范
DNS欺騙是很難進行有效防御的,因為大多情況下都是被攻擊之后才會發(fā)現(xiàn),對于避免DNS欺騙所造成危害,本菜鳥提出以下建議
1.因為DNS欺騙前提也需要ARP欺騙成功。所以首先做好對ARP欺騙攻擊的防范。
2.不要依賴于DNS,盡管這樣會很不方便,可以使用hosts文件來實現(xiàn)相同的功能,Hosts文件位置:
windows xp/2003/vista/2008/7 系統(tǒng)的HOSTS文件位置 c:windowssystem32driversetc 用記事本打開即可進行修改。
3.使用安全檢測軟件定期檢查系統(tǒng)是否遭受攻擊
4.使用DNSSEC。
前面介紹了dns欺騙的原因,dns欺騙的主要形式,以及如何防范dns欺騙,雖然給出了防范的方法,但小編在這里說一聲,因為dns欺騙其實是很難防范的,所以小編只能給一些簡單的方法,這個問題是很值得去研究的學(xué)問,屬于計算機專業(yè)領(lǐng)域了,有興趣的大神可以下去研究一下。