專利名稱:一種系統(tǒng)層安全dns防護方法
技術領域:
本發(fā)明涉及一種系統(tǒng)層安全DNS防護方法。
背景技術:
DNS(Domain Name System、域名系統(tǒng))是因特網的一項重要服務,由域名解析服務軟件和分布式數據庫組成,分布式數據庫用于保存域名與IP地址間的映射關系,從而,使得用戶不需要記住能夠被服務器直接識別、處理的IP地址,更加方便地以域名的方式訪問互聯(lián)網資源,作為因特網一個重要的組成部分,DNS—旦出現問題,將會導致諸多因特網服務的不可獲得。DNS是因特網的基礎,對DNS的攻擊將對整個因特網造成嚴重影響,DNS面臨的安全問題主要包括DNS欺騙、拒絕服務攻擊、分布式拒絕服務攻擊以及緩沖區(qū)漏洞溢出攻擊。參考資料之一劉冰、胡風華《基于DNS攻擊的安全防范策略研究》,電腦知識與技術,2009,5 (11);參考資料之二 黎成《網絡DNS欺騙攻擊的檢測及防護》,電腦知識與技術, 2010,06(24)。如下對DNS面臨的安全問題作進一步詳述1、DNS 欺騙DNS欺騙即域名信息欺騙,是最常見的DNS安全問題之一。當一個DNS服務器掉入陷阱,使用了來自一個惡意DNS服務器的錯誤信息,那么,該DNS服務器就被欺騙了。DNS 欺騙會使那些易受攻擊的DNS服務器產生許多安全問題,例如將用戶引導到錯誤的互聯(lián)網站點,或者發(fā)送一個電子郵件到一個未經授權的郵件服務器。網絡攻擊者通常通過三種方法進行DNS欺騙。DNS欺騙主要包括如下三個方面(1)緩存感染攻擊者通過DNS請求將數據植入不設防的DNS服務器的緩存。并在用戶進行DNS 訪問時返回用戶,并將用戶引導至有木馬運行的Web服務器或者郵件服務器,導致用戶信息被盜取或丟失。O) DNS信息劫持攻擊者通過監(jiān)聽用戶與DNS服務器的對話,獲取服務器響應給用戶的DNS查詢 ID (每個DNS報文包括一個相關聯(lián)的16位ID號,DNS服務器根據這個ID號獲取請求源位置),并在DNS服務器發(fā)出響應前將虛假的響應交給用戶,該響應中包含惡意網站的ID,以此欺騙用戶訪問惡意網站,導致用戶信息被盜取或丟失。(3) DNS復位定向攻擊者將DNS名稱查詢復位向到惡意DNS服務器。這樣攻擊者可以獲得DNS服務器的權限,使服務器的安全受到威脅。2、拒絕服務攻擊攻擊者主要利用一些DNS軟件的漏洞,如BIND 9版本(版本9. 2. 0以前的9系列),如果有人向運行BIND設備發(fā)送特定的DNS數據包請求,BIND就會自動關閉。攻擊者關閉,而無法在服務器上執(zhí)行命令。如果得不到DNS服務,那么就會產生一場災難由于網址不能解析為IP地址,用戶將無方訪問互聯(lián)網。這樣,DNS產生的問題就好像互聯(lián)網本身所產生的問題,將導致大量的混亂。3、分布式拒絕服務攻擊攻擊者通過僵尸網絡利用各種服務請求耗盡被攻擊網絡的系統(tǒng)資源,造成被攻擊網絡無法處理合法用戶的請求。4、緩沖區(qū)漏洞域名服務軟件可能存在漏洞,一旦被網黑客利用,可獲得域名服務器的控制權。黑客可任意修改授權區(qū)域內的域名指向,將網絡服務導引至惡意地址。另外,黑客可竊取整個授權區(qū)域內的主機信息,判斷主機功能及安全性,從中發(fā)現目標進行攻擊,稱為發(fā)起內部攻擊的跳板?,F有技術中,為應對DNS安全問題,其解決方案主要在應用層,包括以下幾種(1)完善網絡拓撲對于DNS體系的單點故障,為了減少單點故障的威脅,同時,也為了減輕DNS服務器的負擔,負責一個子域的DNS服務器一般不止一臺。從網絡拓撲結構角度應該把這些服務器放置于無旁路環(huán)境下,具體來說,就是不應當將DNS服務器放置于同一子網、同一鏈路、同一路由器、同一自治域甚至是同一物理位置。這樣,單點的網絡故障或許可以由其他網絡中的同樣功能的DNS服務器來消除,增加了系統(tǒng)的健壯性。另外,DNS系統(tǒng)網絡拓撲的完善,也能在一定程度上緩解DOS攻擊所帶來的危害。(2)防火墻保護通過配置防火墻,將域名空間分割為內部域和外部域,使得內、外DNS服務器隔離。內部DNS服務器只需要負責內部網絡的域名解析,外部DNS服務器負責外部用戶的正常查詢,兼顧處理內部網絡服務器提交的請求。這樣可以避免由于雙向DNS數據不加限制地穿梭防火墻帶來的安全風險。在防火墻中,內部用戶可以使用私有地址和遞歸查詢內部域名,若查詢無法解析, 則將查詢轉發(fā)給外部DNS服務器處理;外部DNS服務器只包含對外公開的區(qū)數據。這樣,整體DNS服務器在互聯(lián)網上的暴露程度能夠實現最小化。(3)限制區(qū)域傳送功能限制區(qū)域文件傳送功能,可以一定程度上防止攻擊者通過正常的查詢命令,獲取到DNS服務器拓撲的詳細信息。但是即使封鎖整個區(qū)傳送也不能從根本上解決問題,因為攻擊者可以利用DNS工具自動查詢域名空間中的每一個ID地址,查到某些IP地址沒有分配,攻擊者就可以利用這些IP地址來偽裝成一臺請求區(qū)傳送的主機,獲取詳細信息。(4)使用新版本的DNS服務器軟件使用新版本的DNS服務器軟件(如BIND)可以有效地防止以往DNS軟件所存在的安全漏洞。目前BIND正以較快的速度不斷添加新的功能,像BIND 4與BIND 8存在的非隨機端口風險已經在新版本中得到修正。但是,隨著新漏洞的發(fā)現,最新的版本也將稱為不安全的版本。因此,用戶需及時更新以保證軟件版本的最新安全性。(5)使用功能完全的防火墻使用防火墻,可以減少一些可能的DNS安全風險。比如如果防火墻能夠針對局域網的arp欺騙做出應對行為,那么基于arp欺騙基礎上的狹義DNS Ip偽造攻擊就不能成功。 此外,防火墻也可以保護系統(tǒng)權限不被攛掇,防止發(fā)生域劫持等攻擊行為。(6)配置DNS負載均衡DNS負載均衡技術是在DNS服務器中為同一個主機名配置多個IP地址,在應答 DNS查詢時,將以DNS文件中主機記錄的IP地址按順序返回不同的解析結果,從而將用戶端的訪問引導到不同的機器上去,達到負載均衡的目的。(7)配置 TSIG從BIND8. 2版本開始使用了一種保護DNS消息的信機制,稱為TSIG(transaction sigature、事務簽名)。TSIG使用共享金鑰及單向雜湊函式來提供訊息的驗證和數據的完整性。主要針對區(qū)帶傳輸進行保護的作用,利用密碼學編碼方式為通訊傳輸信息加密以保證DNS訊息的安全,特別是響應與更新的訊息數據。在DNS服務器之間進行轄區(qū)傳送時所提供的保護機制,以確保傳輸數據不被竊取及監(jiān)聽。(8)配置 DNSSECDNSSEC(Domain Name System Security Extensions^ DNS $ ^ if M ), ^ ^ IETF (The Internet Engineering Task Force、互聯(lián)網工程任務組)提供的一系列DNS安全認證的機制(參考RFC253Q。它提供了一種來源鑒定和數據完整性的擴展,但不去保障可用性、加密性和證實域名不存在。DNSSEC主要依靠公鑰技術對包含在DNS中的信息創(chuàng)建密碼簽名。密碼簽名通過計算出一個密碼hash數來提供DNS中數據的完整性,并將該hash 數封裝進行保護。私/公鑰對中的私鑰用來封裝hash數,然后可以用公鑰把hash數譯出來。如果這個譯出的hash值匹配接收者剛剛計算出來的hash樹,那么表明數據是完整的。 不管譯出來的hash數和計算出來的hash數是否匹配,對于密碼簽名這種認證方式都是絕對正確的,因為公鑰僅僅用于解密合法的hash數,所以只有擁有私鑰的擁有者可以加密這些fe息。參考資料之一一種域名解析方法、系統(tǒng)及裝置,公開號為CN101431539。參考資料之二 針對DNS服務的抗DDOS攻擊安全網關系統(tǒng),公開號為 CN101572701。參考資料之三一種攻擊防范方法和裝置,公開號為CN101321055。從系統(tǒng)的攻擊流程我們可以看出,傳統(tǒng)的系統(tǒng)存在以下缺點1)、傳統(tǒng)的系統(tǒng)在用戶獲取訪問權限后,可以執(zhí)行任意代碼,而沒有對系統(tǒng)的進程作任何的保護和限制。2)、在傳統(tǒng)的系統(tǒng)中,本地執(zhí)行的程序,為完成特定功能必須以root身份方式運行,這些程序被利用,提升用戶權限,進行不該執(zhí)行的操作,會對系統(tǒng)安全造成巨大破壞。3)、在傳統(tǒng)的系統(tǒng)中,用戶對于客體的操作由所有者決定,沒有給予嚴格的安全等級限制,使系統(tǒng)容易遭受到病毒、木馬的感染和破壞。4)、在傳統(tǒng)的系統(tǒng)中,root具有超越系統(tǒng)所有限制的特權,一旦超級用戶被入侵者利用后,有可能對整個系統(tǒng)造成破壞。超級用戶本身的惡意或偶然操作,也可能對系統(tǒng)的安全性造成破壞
發(fā)明內容
本發(fā)明提出一種可以有效保證系統(tǒng)層安全DNS防護方法,包括如下步驟執(zhí)行強制運行控制模塊、強制能力控制模塊、強制訪問控制模塊;通過所述強制運行控制模塊設定 DNS服務進程不能運行根目錄下的任何程序;通過所述強制能力控制模塊設定DNS服務進程以普通用戶運行,只賦予綁定53端口的權限;通過所述強制訪問控制模塊設定除域名服務管理員之外的其他用戶對DNS服務進程僅具有可讀權限。優(yōu)選的,“執(zhí)行強制運行控制模塊、強制能力控制模塊、強制訪問控制模塊”具體為安全管理員配置強制運行控制模塊、強制能力控制模塊、強制訪問控制模塊。優(yōu)選的,所述DNS服務進程運行過程中,所述強制運行控制模塊、所述強制能力控制模塊、所述強制訪問控制模塊由操作系統(tǒng)內核強制加載和實施。優(yōu)選的,“通過所述強制運行控制模塊設定DNS服務進程不能運行根目錄下的任何程序”具體為安全管理員通過所述強制運行控制模塊設定DNS服務進程不能運行根目錄下的任何程序。優(yōu)選的,“通過所述強制能力控制模塊設定DNS服務進程以普通用戶運行,只賦予綁定53端口的權限”具體為安全管理員通過所述強制能力控制模塊設定DNS服務進程以普通用戶運行,只賦予綁定53端口的權限。優(yōu)選的,“通過所述強制訪問控制模塊設定除域名服務管理員之外的其他用戶對 DNS服務進程僅具有可讀權限”具體為安全管理員通過所述強制訪問控制模塊設定除域名服務管理員之外的其他用戶對DNS服務進程僅具有可讀權限。相較于現有技術,本發(fā)明具有如下有益結果通過使DNS服務進程不能運行根目錄下的程序使得惡意代碼不能被執(zhí)行,可有效阻止攻擊者對DNS服務器的攻擊;通過強制能力控制模塊設定DNS服務進程以普通用戶運行,使得攻擊者不能利用DNS服務器提升自己的權限而成為超級用戶,進而威脅到整個系統(tǒng),同時,也不會影響到DNS服務器對外提供服務;通過強制訪問控制模塊設定除安全管理員之外的其他用戶對DNS服務進程僅具有可讀權限,可以防止管理員及其它用戶篡改區(qū)文件記錄,進一步保證DNS服務器的安全。
下面根據附圖和實施例對本發(fā)明作進一步詳細說明。圖1是本發(fā)明一種系統(tǒng)層安全DNS防護方法一個應用場景的流程圖;圖2是本發(fā)明一種系統(tǒng)層安全DNS防護方法另一個應用場景的流程圖。
具體實施例方式實施例1如圖1所示,本發(fā)明提出一種系統(tǒng)層安全DNS防護方法,具體包括如下步驟S101、執(zhí)行強制運行控制模塊、強制能力控制模塊、強制訪問控制模塊。將對系統(tǒng)的管理分配給四個用戶,具體包括用于系統(tǒng)設備管理的系統(tǒng)管理員、用于系統(tǒng)用戶管理安全管理員、用于網絡管理的網絡管理員、用于審計信息管理的審計管理員O系統(tǒng)管理員配置強制運行控制模塊、強制能力控制模塊、強制訪問控制模塊。
如下對強制運行控制模塊、強制能力控制模塊、強制訪問控制模塊功能進行詳述強制運行控制模塊用于保護和監(jiān)視服務器主體,保證程序主體以恰當的方式對外提供服務,并描述程序能夠改變其程序映像的程序名稱,一旦程序行為超出范圍,即判定該程序進行有害操作,并阻斷該程序繼續(xù)運行。強制能力控制模塊用于消除系統(tǒng)中不受限制的程序,只賦予每個權限程序能夠完成其功能的最小能力,實現“最小權限”原則。利用強制能力控制模塊對應用程序加以適當改或配置,使系統(tǒng)中不包含超級用戶,所有對外提供服務的程序均以普通用戶身份運行,消除系統(tǒng)安全隱患,大大提高系統(tǒng)安全性。強制訪問控制模塊用于設定用戶對文件的訪問權限,首先給用戶和文件賦予固定的安全屬性,決定用戶是否能夠訪問一個文件,由安全管理員或系統(tǒng)根據預設規(guī)則確定,用戶或者用戶程序不能對用戶訪問文件的權限進行修改。如果安全管理員或者系統(tǒng)認為具有某個安全屬性的用戶不適于訪問某個文件,那么任何人(包括文件的擁有者)都無法使該用戶具有訪問該文件的權力。S102、通過強制運行控制模塊設定DNS服務進程不能運行根目錄下的任何程序。安全管理員通過強制運行控制模塊設定DNS服務進程不能運行根目錄下的任何程序。當入侵者想通過DNS對外提供的服務來訪問系統(tǒng)時,入侵者不能在根目錄下執(zhí)行任何程序,這樣就阻止了入侵者對DNS系統(tǒng)的控制。S103、通過強制能力控制模塊設定DNS服務進程以普通用戶運行,只賦予綁定53 端口的權限?,F有技術披露,DNS服務進程需要通過53端口為外界提供服務,而綁定IOM以下的端口需要具有超級用戶的權限,系統(tǒng)為實現其功能,讓DNS服務進程以超級用戶的權限運行,使得DNS服務進程容易被攻擊者利用,進而獲取整個系統(tǒng)的訪問權限,造成嚴重的后^ ο本發(fā)明中,安全管理員通過強制能力控制模塊強制設定DNS服務進程以普通用戶運行,并強制賦予其綁定53端口的權限。S104、通過強制訪問控制模塊設定除域名服務管理員之外的其他用戶對DNS服務進程僅具有可讀權限。特定的域名服務管理員對DNS相關配置和數據文件具有可讀可寫的權限,通過強制訪問控制模塊設定普通用戶對DNS服務進程具有可讀的權限。DNS服務進程除域名服務管理員外其他用戶只有讀的權限,這樣可以有效防止區(qū)文件等重要文件被惡意篡改,被攻擊者利用。實施例2如下結合攻擊者攻擊DNS服務器時,本發(fā)明進行應對時其應用場景做進一步說明攻擊者攻擊DNS服務器主要包括如下過程S201、安全管理員執(zhí)行強制運行控制模塊,設定DNS服務進程不能運行根目錄下的程序。假定強制運行控制模塊配置錯誤,導致功能失效,即使DNS服務進程能夠繞過強制運行控制模塊,執(zhí)行任意代碼,強制能力控制、強制訪問控制和四權分立機制仍能夠有效防止入侵者的后續(xù)破壞性操作。攻擊者可通過探測作為目標站點的DNS服務器,并獲取目標站點的漏洞信息。攻擊者需要運行惡意代碼以獲取對DNS服務器的訪問權限,然而,運行惡意代碼需要在根目錄下執(zhí)行,執(zhí)行惡意代碼的行為超出設定范圍,即判定該DNS服務進程進行有害操作,系統(tǒng)將停止該進程繼續(xù)運行,并記錄所有關于該事件的安全相關信息,入侵失敗。S202、通過強制能力控制模塊設定DNS服務進程以普通用戶運行,只具有綁定53 端口的權限?,F有技術中,綁定IOM以下端口需要具備超級用戶的權限,DNS服務進程為了實現其功能,總以超級用戶的權限運行,有可能使DNS服務進程為惡意進程所利用,惡意進程通過利用DNS服務進程提升用戶權限,從而訪問整個系統(tǒng),造成嚴重的安全后果。在本發(fā)明中,通過強制能力控制模塊設定DNS服務進程以普通用戶運行,從而避免DNS服務進程被攻擊者利用而提升其權限,進而攻擊系統(tǒng),而DNS服務進程也可以通過普通用戶運行,并通過綁定的53端口使DNS服務進程對外提供服務。S203、通過強制訪問控制模塊設定除域名服務管理員之外的其他用戶對DNS服務進程僅具有可讀權限。用戶與文件都有固定的安全屬性,安全屬性決定用戶是否具有訪問某個文件的權限,通過強制訪問控制模塊設定除安全管理員之外的其他用戶對DNS服務進程僅具有可讀權限,攻擊者即使得到系統(tǒng)的操作權,也不屬于DNS服務文件設定訪問權限范圍內,也無法獲得對DNS服務文件的控制權限。S204、阻止除審計管理員外的任何用戶清除日志和銷毀記錄。攻擊者入侵完成,都會抹除惡意攻擊的痕跡,刪除或修改系統(tǒng)和應用程序日志中的數據,在此,本發(fā)明將阻止除審計管理員外的任何用戶清除日志和銷毀記錄,對于以上入侵失敗的任何一步操作,系統(tǒng)將記錄事件的相關安全信息,為追蹤入侵者提供依據。
權利要求
1.一種系統(tǒng)層安全DNS防護方法,其特征在于,包括如下步驟執(zhí)行強制運行控制模塊、強制能力控制模塊、強制訪問控制模塊;通過所述強制運行控制模塊設定DNS服務進程不能運行根目錄下的任何程序;通過所述強制能力控制模塊設定DNS服務進程以普通用戶運行,只賦予綁定53端口的權限;通過所述強制訪問控制模塊設定除域名服務管理員之外的其他用戶對DNS服務進程僅具有可讀權限。
2.如權利要求1所述的方法,其特征在于,“執(zhí)行強制運行控制模塊、強制能力控制模塊、強制訪問控制模塊”具體為安全管理員配置強制運行控制模塊、強制能力控制模塊、強制訪問控制模塊。
3.如權利要求1所述的方法,其特征在于,所述DNS服務進程運行過程中,所述強制運行控制模塊、所述強制能力控制模塊、所述強制訪問控制模塊由操作系統(tǒng)內核強制加載和實施。
4.如權利要求1所述的方法,其特征在于,“通過所述強制運行控制模塊設定DNS服務進程不能運行根目錄下的任何程序”具體為安全管理員通過所述強制運行控制模塊設定DNS服務進程不能運行根目錄下的任何程序。
5.如權利要求1所述的方法,其特征在于,“通過所述強制能力控制模塊設定DNS服務進程以普通用戶運行,只賦予綁定53端口的權限”具體為安全管理員通過所述強制能力控制模塊設定DNS服務進程以普通用戶運行,只賦予綁定53端口的權限。
6.如權利要求1所述的方法,其特征在于,“通過所述強制訪問控制模塊設定除域名服務管理員之外的其他用戶對DNS服務進程僅具有可讀權限”具體為安全管理員通過所述強制訪問控制模塊設定除域名服務管理員之外的其他用戶對DNS 服務進程僅具有可讀權限。
全文摘要
本發(fā)明提出一種系統(tǒng)層安全DNS防護方法,包括如下步驟執(zhí)行強制運行控制模塊、強制能力控制模塊、強制訪問控制模塊;通過所述強制運行控制模塊設定DNS服務進程不能運行根目錄下的任何程序;通過所述強制能力控制模塊設定DNS服務進程以普通用戶運行,只賦予綁定53端口的權限;通過所述強制訪問控制模塊設定除域名服務管理員之外的其他用戶對DNS服務進程僅具有可讀權限。通過四權分立的系統(tǒng)管理,可以有效維護DNS服務器,減少管理方面的安全隱患。
文檔編號H04L29/12GK102325132SQ20111024240
公開日2012年1月18日 申請日期2011年8月23日 優(yōu)先權日2011年8月23日
發(fā)明者宮敏, 彭志航, 彭朝然 申請人:北京凝思科技有限公司