本發(fā)明屬于防止dns欺騙的技術(shù)領(lǐng)域,具體涉及一種基于sdn的防止dns欺騙的方法。
背景技術(shù):
sdn最早起源于斯坦福大學(xué)的一個叫做cleanslate的校園項目。它是一種創(chuàng)新型的網(wǎng)絡(luò)體系架構(gòu),其核心思想是把轉(zhuǎn)發(fā)平面和控制平面進(jìn)行分離,通過集中式的控制器controller使用標(biāo)準(zhǔn)的接口來對各種不同的網(wǎng)絡(luò)設(shè)備進(jìn)行配置和管理,使得對網(wǎng)絡(luò)的管理更加集中化、精細(xì)化。
dns服務(wù)器是由域名解析器和域名服務(wù)器組成的。域名服務(wù)器是指保存有該網(wǎng)絡(luò)中所有主機(jī)的域名和對應(yīng)ip地址,并具有將域名轉(zhuǎn)換為ip地址功能的服務(wù)器。其中域名必須對應(yīng)一個ip地址,而ip地址不一定有域名。域名系統(tǒng)采用類似目錄樹的等級結(jié)構(gòu),域名服務(wù)器為客戶機(jī)/服務(wù)器模式中的服務(wù)器,它主要有兩種形式:主服務(wù)器和轉(zhuǎn)發(fā)服務(wù)器,將域名映射為ip地址的過程就稱為“域名解析”。
dns欺騙技術(shù)常見的有內(nèi)應(yīng)攻擊和序列號攻擊兩種,內(nèi)應(yīng)攻擊即黑客在掌控一臺dns服務(wù)器后,對其domaindatabase內(nèi)容進(jìn)行更改,將虛假ipaddress指定給特定的domainname,當(dāng)client請求查詢這個特定域名的ip時,將得到偽造的ip。序列號攻擊是指偽裝的dns服務(wù)器在真實的dns服務(wù)器之前向客戶端發(fā)送應(yīng)答數(shù)據(jù)報文,該報文中含有的序列號id與客戶端向真實的dns服務(wù)器發(fā)出請求數(shù)據(jù)包中含有的id相同,因此客戶端會接收該虛假報文,而丟棄晚到的真實報文,即dnsid序列號欺騙成功,客戶機(jī)得到的虛假報文中提供的域名的ip是攻擊者設(shè)定的ip,這個ip將把客戶帶到攻擊者指定的站點。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于針對現(xiàn)有技術(shù)中的上述不足,提供一種基于sdn的防止dns欺騙的方法,以解決錯誤訪問時,在網(wǎng)絡(luò)中植入的dns服務(wù)器和接收植入的dns服務(wù)器的響應(yīng)的問題。
為達(dá)到上述目的,本發(fā)明采取的技術(shù)方案是:
一種基于sdn的防止dns欺騙的方法,包括
步驟s1,設(shè)置轉(zhuǎn)發(fā)平面和控制平面分離的sdn網(wǎng)絡(luò);
步驟s2,在所述sdn網(wǎng)絡(luò)中,根據(jù)dns服務(wù)器的配置信息,獲取sdn交換機(jī)對應(yīng)的物理端口,確認(rèn)dns服務(wù)器所在網(wǎng)絡(luò)的位置;
步驟s3,在sdn控制器上建立訪問所述dns服務(wù)器的信任端口;
步驟s4,當(dāng)主機(jī)發(fā)出的dns數(shù)據(jù)包傳輸?shù)絪dn交換機(jī)的接口時,表明sdn交換機(jī)與dns數(shù)據(jù)包匹配流表項不成功,則將該dns數(shù)據(jù)包的二層數(shù)據(jù)幀傳送至sdn控制器;
步驟s5,當(dāng)sdn控制器接收到兩個應(yīng)答包,則dns數(shù)據(jù)包存在dns欺騙行為,并比較兩個應(yīng)答包的響應(yīng)報文中的標(biāo)識字段,;
步驟s6,若兩個應(yīng)答包id的dns響應(yīng)報文相同,則解析兩個dns響應(yīng)報文中的授權(quán)域和附加域記錄,若dns響應(yīng)報文中無授權(quán)域和附加域記錄,則該dns響應(yīng)報文為欺騙報文,丟棄該應(yīng)答包,傳輸具有授權(quán)域和附加域記錄的應(yīng)答包;
步驟s7,若兩個應(yīng)答包id的dns響應(yīng)報文不同,則采用信任端口建立的ip地址白名單進(jìn)行篩選過濾,丟棄白名單中不存在dns響應(yīng)報文,傳輸白名單中存在的dns響應(yīng)報文。
優(yōu)選地,步驟s3中的信任端口為sdn控制器上的用于訪問dns服務(wù)器的udp53端口。
優(yōu)選地,dns服務(wù)器對一個查詢域名請求,僅會響應(yīng)返回一個數(shù)據(jù)應(yīng)答包,該數(shù)據(jù)應(yīng)答包內(nèi)存在至少一個應(yīng)答域。
優(yōu)選地,欺騙報文僅含一個應(yīng)答域,不存在授權(quán)域和附加域記錄。
本發(fā)明提供的基于sdn的防止dns欺騙的方法,具有以下有益效果:
本發(fā)明部署sdn網(wǎng)絡(luò)體系,并在sdn控制器上的udp53端口創(chuàng)建ip地址白名單,通過對響應(yīng)的物理端口進(jìn)行判斷,如果不是起初配置的dns服務(wù)器所接入的物理端口,即白名單以外的ip地址,則本次響應(yīng)丟棄;除此,通過解析響應(yīng)報文是否存在授權(quán)域和附加域記錄,若該響應(yīng)報文不存在授權(quán)域和附加域記錄,則該響應(yīng)丟棄,有效的解決用戶接收到植入的dns服務(wù)器和接收植入的dns服務(wù)器的響應(yīng)的問題。
附圖說明
圖1為基于sdn的防止dns欺騙的方法的流程圖。
圖2為基于sdn的防止dns欺騙的方法的原理框圖。
具體實施方式
下面對本發(fā)明的具體實施方式進(jìn)行描述,以便于本技術(shù)領(lǐng)域的技術(shù)人員理解本發(fā)明,但應(yīng)該清楚,本發(fā)明不限于具體實施方式的范圍,對本技術(shù)領(lǐng)域的普通技術(shù)人員來講,只要各種變化在所附的權(quán)利要求限定和確定的本發(fā)明的精神和范圍內(nèi),這些變化是顯而易見的,一切利用本發(fā)明構(gòu)思的發(fā)明創(chuàng)造均在保護(hù)之列。
根據(jù)本申請的一個實施例,如圖1-2所示,本方案的基于sdn的防止dns欺騙的方法。
設(shè)置轉(zhuǎn)發(fā)平面和控制平面分離的sdn網(wǎng)絡(luò)。
在sdn網(wǎng)絡(luò)中,根據(jù)dns服務(wù)器的配置信息,獲取sdn交換機(jī)對應(yīng)的物理端口,確認(rèn)dns服務(wù)器所在網(wǎng)絡(luò)的位置。
在sdn控制器上建立可訪問dns服務(wù)器的信任端口,該信任端口為sdn控制器上的用于訪問dns服務(wù)器的udp53端口。
當(dāng)主機(jī)發(fā)出的dns數(shù)據(jù)包傳輸?shù)絪dn交換機(jī)的接口時,當(dāng)sdn交換機(jī)與上述dns數(shù)據(jù)包匹配流表項不成功時,進(jìn)而將該dns數(shù)據(jù)包的二層數(shù)據(jù)幀傳送至sdn控制器。
sdn控制器接收到兩個應(yīng)答數(shù)據(jù)包時,表明存在dns欺騙行為,并對兩個應(yīng)答包進(jìn)行判斷,其中一個應(yīng)答包是攻擊者發(fā)送的應(yīng)答數(shù)據(jù)包,另一個是真實的dns應(yīng)答數(shù)據(jù)包。通常情況下,dns服務(wù)器對一個查詢域名的請求不會向客戶端發(fā)送多個結(jié)果不同的應(yīng)答包,即便是一個域名對應(yīng)多個ip地址,dns服務(wù)器也會在一個應(yīng)答包中返回給客戶端,只是存在多個應(yīng)答域,即dns服務(wù)器對一個查詢域名請求,僅會響應(yīng)返回一個數(shù)據(jù)應(yīng)答包,該數(shù)據(jù)應(yīng)答包內(nèi)存在至少一個應(yīng)答域。
sdn控制器解析比較接收到的兩個應(yīng)答包的響應(yīng)報文中的標(biāo)識字段,若兩個應(yīng)答包id的dns響應(yīng)報文相同,則解析兩個dns響應(yīng)報文中的授權(quán)域和附加域記錄。
由于dns欺騙應(yīng)答包要比真實的應(yīng)答包構(gòu)造更加的簡單,dns欺騙應(yīng)答包一般只包含一個應(yīng)答域,不存在授權(quán)域和附加域記錄,因為攻擊者要保證欺騙成功率,發(fā)送的欺騙應(yīng)答包要在真實應(yīng)答包之前到達(dá)客戶端,必然要盡量減少應(yīng)答包的構(gòu)造時間,而合法正確的應(yīng)答包要相對復(fù)雜,不僅含有多個應(yīng)答域記錄,而且還有授權(quán)域,附加域等記錄,即可根據(jù)以上差異查出dns欺騙應(yīng)答包,進(jìn)而丟棄該dns欺騙應(yīng)答包。
解析查看兩個dns響應(yīng)報文相同的應(yīng)答包的授權(quán)域和附加域記錄,若解析到其中一個dns響應(yīng)報文不存在授權(quán)域和附加域記錄,則判斷該dns響應(yīng)報文為欺騙報文,進(jìn)而判斷另一個dns響應(yīng)報文為正確的dns響應(yīng)報文,并繼續(xù)傳送。
若兩個應(yīng)答包id的dns響應(yīng)報文不同,通過udp53信任端口建立的ip地址白名單進(jìn)行篩選過濾,丟棄白名單以外的響應(yīng),將正確的dns響應(yīng)報文繼續(xù)傳送。
本發(fā)明構(gòu)思巧妙,通過部署sdn網(wǎng)絡(luò)體系,并在sdn控制器上的udp53端口創(chuàng)建ip地址白名單,通過對響應(yīng)的物理端口進(jìn)行判斷,如果不是起初配置的dns服務(wù)器所接入的物理端口,即白名單以外的ip地址,則本次響應(yīng)丟棄;除此,通過解析響應(yīng)報文是否存在授權(quán)域和附加域記錄,若該響應(yīng)報文不存在授權(quán)域和附加域記錄,則該響應(yīng)丟棄,有效的解決用戶接收到植入的dns服務(wù)器和接收植入的dns服務(wù)器的響應(yīng)的問題,具有很強(qiáng)的實用性和推廣性。
雖然結(jié)合附圖對發(fā)明的具體實施方式進(jìn)行了詳細(xì)地描述,但不應(yīng)理解為對本專利的保護(hù)范圍的限定。在權(quán)利要求書所描述的范圍內(nèi),本領(lǐng)域技術(shù)人員不經(jīng)創(chuàng)造性勞動即可做出的各種修改和變形仍屬本專利的保護(hù)范圍。