阿繼琛+段程遠+李珂瑋+嚴澤民+張子威
摘要:DNS作為互聯(lián)網(wǎng)絡(luò)的基礎(chǔ)服務(wù)系統(tǒng),在保證互聯(lián)網(wǎng)絡(luò)的正常運行方面起著不可或缺與的作用,其安全性也影響著互聯(lián)網(wǎng)的安全與效率。然而,互聯(lián)網(wǎng)上發(fā)生的網(wǎng)絡(luò)攻擊事件日益頻繁,DNS 系統(tǒng)也遭受到了一系列的劫持攻擊。尋找一個行之有效的方法來解決DNS劫持攻擊已經(jīng)到了刻不容緩的地步。本作品旨在應(yīng)對近年來大規(guī)模發(fā)生的DNS劫持攻擊,以USB Key為平臺(用于存儲DNS解析數(shù)據(jù))開發(fā)一種基于客戶端的DNS防劫持安全系統(tǒng)。該安全系統(tǒng)和目前已有的面向客戶端的安全軟件相比,具有針對DNS劫持攻擊的響應(yīng)功能和防護機制,而且基于USB Key的DNS解析能夠滿足用戶對于價格、安全性、效率三方面的要求,性價比較高,擁有良好的市場前景。本作品的創(chuàng)新技術(shù)包括面向客戶端的DNS防劫持技術(shù)、基于“判決機制”的DNS解析技術(shù)、基于USB key的DNS解析數(shù)據(jù)的安全存儲及處理技術(shù)。針對現(xiàn)在被普遍的關(guān)注的DNS安全問題,我們將這些創(chuàng)新技術(shù)和安全方案內(nèi)化到一個面向客戶端的DNS安全解析系統(tǒng)之中。
關(guān)鍵詞:DNS防劫持;USB-Key;互聯(lián)網(wǎng)
中圖分類號:P393.4 文獻標識碼:A 文章編號:1009-3044(2016)15-0037-03
1 概述
隨著域名系統(tǒng)飛速發(fā)展,域名的注冊規(guī)模急劇擴大,其管理難度急劇增加。由于DNS協(xié)議在設(shè)計之初沒有考慮太多的安全因素,DNS上的各類數(shù)據(jù)沒有加密保護和認證預(yù)防,DNS系統(tǒng)在實現(xiàn)上具有脆弱性,再加上人為攻擊和破壞,DNS面臨非常嚴重的安全威脅。常見的安全問題包括域名與 IP 地址之間的映射關(guān)系被修改,客戶主機遭受欺騙攻擊、面臨拒絕服務(wù),DNS 服務(wù)器緩存中毒、區(qū)域信息泄漏等。
作為 Internet 上的關(guān)鍵基礎(chǔ)服務(wù),DNS 一旦出錯,將影響互聯(lián)網(wǎng)大部分業(yè)務(wù)的正常運行。所以,DNS 的安全問題越來越受到關(guān)注,對DNS系統(tǒng)安全的分析和研究就顯得尤為重要。
2 相關(guān)研究和技術(shù)
當前國內(nèi)外對于DNS防劫持技術(shù)的研究主要基于DNS服務(wù)端,其中包括針對協(xié)議設(shè)計進行的改進、DNS 服務(wù)端的流量檢測、DNS 管理和維護等幾個方面。而在客戶端進行的防護主要體現(xiàn)在對DNS服務(wù)器合法性的判斷和自動配置方面。
針對協(xié)議設(shè)計的脆弱性方面。1997 年,IETF 成立了工作組專門研究DNSSEC 安全擴展協(xié)議(DNS Security Extensions),并推出了一系列的 RFC標準,從概念、協(xié)議設(shè)計、報文格式、加密算法及密鑰管理等方面完善了原有DNS體系的不足之處,從而形成一整套的DNSSEC 解決方案。DNSSEC 雖然極大增強了DNS 的安全性,但一直沒有大規(guī)模的部署。
DNS 流量檢測方面,甄別出異常的DNS 流量,發(fā)現(xiàn)可能的DNS 攻擊,以檢測DNS 系統(tǒng)的實現(xiàn)漏洞和配置漏洞為目的,可以形成目標DNS系統(tǒng)的安全檢測報告。該檢測模塊通過遠程檢測目標服務(wù)器的整體狀況,協(xié)議支持情況,配置漏洞和軟件實現(xiàn)漏洞,準確地發(fā)現(xiàn)目標服務(wù)器的安全問題。但是,通過服務(wù)器進程利用率和DNS 數(shù)據(jù)率來甄別異常流量,在實際運行中是并不充分的,另外基于服務(wù)端的DNS安全檢測系統(tǒng)還是具有一定的局限性。
除此之外,針對服務(wù)端進行的安全策略還包括DNS管理和維護方面以及加強網(wǎng)絡(luò)安全傳輸方面。
在DNS客戶端方面,我們橫向比較了國內(nèi)現(xiàn)有的六款安全軟件,它們的功能最多就是自動優(yōu)選DNS服務(wù)器、自動修改本地DNS設(shè)置、輔助修改路由器密碼等功能。它們并沒有涉及過多的應(yīng)對DNS劫持的功能,這在真正應(yīng)對攻擊時有很大的局限性。因此,基于安全考慮,我們需要更加深入地改善本地的DNS防護機制,并且在此基礎(chǔ)上,最大程度的優(yōu)化和改進用戶的安全上網(wǎng)速率。
因此,本項目提出的基于USB Key的DNS本地防劫持系統(tǒng)從多線程的DNS后臺重構(gòu)解析請求和基于Winpcap的DNS解析結(jié)果分析出發(fā)(下文中即稱DNS安全解析器),創(chuàng)新性地引入多DNS解析返回結(jié)果“判決”機制和基于USB key的解析數(shù)據(jù)安全存儲與處理機制,開啟了一條防止DNS劫持的新思路。
3 總體結(jié)構(gòu)
本系統(tǒng)實現(xiàn)的基于USB key的DNS本地防劫持系統(tǒng)包括硬件和配套軟件兩部分。其中,硬件利用了國產(chǎn)的USB key進行設(shè)計,軟件在windows內(nèi)核下實現(xiàn)。安全系統(tǒng)的體系結(jié)構(gòu)框圖如下:
面向客戶端的DNS安全解析系統(tǒng)是在整個DNS通信的過程中為用戶提供服務(wù)的,其中涉及對hosts文件的操作,對USB key的操作以及對DNS服務(wù)器的訪問。而本研究項目的創(chuàng)新點及特色正是體現(xiàn)在這些過程之中,所以應(yīng)該具有一套完備的DNS解析技術(shù)體系結(jié)構(gòu)。體系結(jié)構(gòu)中應(yīng)包含DNS安全解析器,存儲和處理關(guān)鍵數(shù)據(jù)的USB key系統(tǒng),基于“判決機制”的DNS解析等主要的功能模塊。通過這些功能模塊來完成實現(xiàn)面向客戶端的DNS安全系統(tǒng)的具體功能實現(xiàn)。
4 關(guān)鍵技術(shù)設(shè)計
目前針對DNS系統(tǒng)安全的技術(shù)主要是圍繞DNS服務(wù)器以及DNS通信協(xié)議展開的,其中具代表性的有DNSSEC安全協(xié)議和DNS流量檢測技術(shù)。本研究項目將采用基于本地解析器的新思路來達到這些技術(shù)的部分安全目的,其中創(chuàng)新點體現(xiàn)在如下方面:
1)面向客戶端的DNS防劫持技術(shù)
目前主要的DNS安全防護研究成果大部分都是基于Overlay技術(shù),從根本上改變現(xiàn)有體系的層次結(jié)構(gòu)。相比之下,面向客戶端的、從DNS解析器重構(gòu)的角度出發(fā)的DNS防劫持方案尚屬首次提出。本項目擬研究并設(shè)計一種面向客戶端的DNS防劫持技術(shù),增強客戶端在保障DNS安全性過程中的作用,同時最大程度保證用戶上網(wǎng)的安全和效率。
面向客戶端的DNS防劫持技術(shù)以重構(gòu)多個DNS解析請求為基礎(chǔ),通過“判決”機制形成可信度更高的解析結(jié)果,然后將解析結(jié)果即域名-IP地址映射對直接寫入hosts文件,通過本地地址解析緩存,跳過了通常情況下向DNS服務(wù)器發(fā)送DNS解析請求的過程。
從安全效益的方面考慮,本項目方案和主流的DNSSEC協(xié)議技術(shù)相比,能夠防范大部分DNS劫持攻擊和DNS服務(wù)器管理員產(chǎn)生的配置錯誤,而且能在一定程度上應(yīng)對攻擊者針對DNS服務(wù)器的DDOS攻擊。除此之外,該項技術(shù)的實現(xiàn)和運行機制較DNSSEC協(xié)議技術(shù)更為簡單,不需要一系列技術(shù)性要求較高的專用設(shè)備,對域名解析系統(tǒng)的要求較低,對開發(fā)和維護人員素質(zhì)要求相對較低,具有一定的靈活性、可擴充性以及可移植性。
從效率的方面考慮,面向客戶端的DNS防劫持技術(shù)通過本機存儲域名-IP地址映射對的方式直接以IP地址完成對目標網(wǎng)站的訪問,省去了之前訪問服務(wù)器的部分過程,從而縮短了整個訪問過程的時間,提高了時間效率。此外,該技術(shù)實現(xiàn)的空間成本低,USB key 的存儲容量就能夠滿足該技術(shù)對域名—IP地址映射對存儲的空間開銷要求。
2)基于“判決機制”的DNS解析技術(shù)
當前的DNS解析技術(shù)有遞歸查詢方式、迭代查詢方式以及設(shè)置快取緩存區(qū)。這些技術(shù)實現(xiàn)了DNS服務(wù)器對于用戶DNS請求的查詢和應(yīng)答,但都是針對服務(wù)端的技術(shù),而且在安全性方面存在一定的漏洞,極易受到DNS劫持、DNS重定向、DNS緩存污染等攻擊的影響。而基于“判決機制”的DNS解析技術(shù)是一項提供安全保障的DNS解析技術(shù),它在已有的解析技術(shù)基礎(chǔ)之上,加上了安全的技術(shù)支持。
目前針對DNS通信安全的技術(shù)譬如DNS流量檢測技術(shù),主要是針對傳輸過程中數(shù)據(jù)的監(jiān)視與檢測,目的是檢測出異常的DNS數(shù)據(jù)流,從而檢測并阻止針對DNS系統(tǒng)攻擊,保護DNS通信過程中信息的完整性?;凇芭袥Q機制”的DNS解析技術(shù)在用戶端設(shè)計安全機制幫助用戶甄別虛假的被篡改了的信息數(shù)據(jù),從而有效防止DNS欺騙攻擊、DNS重定向等網(wǎng)絡(luò)攻擊。
3)基于USB key的DNS解析數(shù)據(jù)的安全存儲及處理技術(shù)
USB Key具有安全數(shù)據(jù)存儲空間,可以存儲數(shù)字證書、密鑰等秘密數(shù)據(jù),對該存儲空間的讀寫操作必須通過程序?qū)崿F(xiàn)。此外,USB Key 內(nèi)置CPU,可以實現(xiàn)加解密和簽名的各種算法,加解密運算在USB Key內(nèi)進行。因此,目前的USB key被廣泛用于身份認證。
本項目創(chuàng)新性地將USB key用于DNS解析數(shù)據(jù)的安全存儲及處理,利用USB key兼有安全數(shù)據(jù)存儲空間,可以實現(xiàn)算法的特點,將DNS解析數(shù)據(jù)以及完整性檢測算法寫入USB key,從而實現(xiàn)客戶端在本地完成DNS解析數(shù)據(jù)的生成和完整性的檢測。
用USB key實現(xiàn)DNS解析數(shù)據(jù)的安全存儲及處理,充分利用了USB key安全高效的特點。DNS解析數(shù)據(jù)存儲在USB key中,可以保證其完整性,而且USB key能夠在可接受時間內(nèi)完成對解析數(shù)據(jù)的完整性檢測,保證網(wǎng)絡(luò)程序的順暢運行。此外,USB key還有使用簡便,價格低廉的特點,用戶無需具備調(diào)試和配置家庭路由器的技術(shù)背景,不僅可以提升用戶上網(wǎng)在防DNS劫持方面的安全性,還可以通過USB Key固化解析數(shù)據(jù),減小故障所造成的不利影響,實現(xiàn)DNS解析加速,提高用戶上網(wǎng)體驗度。
5 系統(tǒng)實現(xiàn)與測試分析
我們對整個基于USB Key的面向客戶端的DNS防劫持系統(tǒng)的基本功能進行了測試,主要分為功能測試、安全性測試、壓力測試和效率測試,經(jīng)測試系統(tǒng)能夠按照預(yù)期正常運行。其中:
1)功能測試,主要是對系統(tǒng)的功能設(shè)計進行驗證,測試系統(tǒng)功能的完備性與正確性。這項測試覆蓋系統(tǒng)所涉及的幾乎所有功能模塊,保證系統(tǒng)能夠達到預(yù)先設(shè)計的技術(shù)功能要求;
2)安全性測試,主要是對徐I同能否保證用戶登錄安全網(wǎng)站進行測試統(tǒng)計,從而檢驗系統(tǒng)安全性。
3)壓力測試,主要測試系統(tǒng)的抗壓力性,測試系統(tǒng)在重復(fù)性操作情況下的抗壓力性能。
4)效率測試,通過對比使用系統(tǒng)和不使用系統(tǒng)進行時間開銷對比,以此檢測系統(tǒng)的加速比。
6 結(jié)束語
國際著名網(wǎng)絡(luò)安全專家Roland Dobbins曾說過,DNS就像空氣,平時我們感覺不到它的存在,但是一旦出現(xiàn)問題,其影響可能“致命”。本系統(tǒng)正是針對DNS目前存在的安全問題(例如DNS劫持攻擊),首次提出了基于USB Key的客戶端DNS防劫持安全系統(tǒng)。本小組充分調(diào)研了目前已有的DNS防劫持安全方案,其中面向客戶端的安全軟件的解決方案仍然存在一定的局限性。大部分的安全軟件對于DNS劫持攻擊只能夠做到報警,或者恢復(fù)原來的設(shè)置,沒有進一步的安全措施。而本系統(tǒng)在很大程度上彌補了這些安全軟件功能上的不足。除了在安全可靠性上有所提高之外,在DNS解析效率上也有所提升。
本系統(tǒng)的創(chuàng)新性主要體現(xiàn)在 “面向客戶端”和“基于USB Key”兩個方面。目前的USB Key技術(shù)已經(jīng)比較成熟,但主要用于身份認證,主要用于存儲一些重要的認證數(shù)據(jù)。本小組正是瞄準了USB Key對數(shù)據(jù)安全存儲和處理的特性,首次將其用于存儲重要的DNS解析數(shù)據(jù),不僅能夠?qū)崿F(xiàn)DNS本地安全解析,還能夠加快DNS解析的速度。另外,本系統(tǒng)針對DNS網(wǎng)絡(luò)解析過程中存在的威脅,還提出了一種基于“判決機制”的DNS安全解析方案,不僅能夠有效檢測出DNS劫持攻擊,還能通過“判決”、“比對”選擇出正確的DNS解析數(shù)據(jù),從而在一定程度上防范DNS劫持攻擊。