專利名稱:利用源自多個源的聚集dns信息來檢測異常的dns名稱解析的制作方法
技術(shù)領(lǐng)域:
本披露總體上涉及計算機安全,并且尤其涉及利用源自多個源的聚集DNS信息來檢測異常的DNS名稱解析。
背景技術(shù):
惡意方使用很多不同類型的域名服務(wù)(“DNS”)攻擊將用戶不知不覺地引向惡意服務(wù)器。例如像DNS緩沖中毒、快通和雙通技術(shù)、本地主文件修改、本地WinSock/Winlnet代理配置修改這樣的攻擊以及其他攻擊用于修改解析合法主機名稱的嘗試,以便將解析重新引向惡意服務(wù)器。在很多情況中,基于客戶端的安全軟件很難檢測到客戶端DNS記錄已經(jīng)被控制。實際上,很多DNS攻擊不位于客戶端本地,因此實際上不能單獨在該客戶端上尋 址。另一方面,很多DNS攻擊位于單獨的客戶端本地,因此僅通過網(wǎng)絡(luò)安全解決方案不容易尋址。解決這些問題是令人期望的。
發(fā)明內(nèi)容
一種DNS安全系統(tǒng)收集并使用源自多個計算機(例如,客戶端計算機、網(wǎng)絡(luò)計算裝置)的聚集DNS信息來檢測異常的DNS名稱解析,該解析可以代表DNS攻擊。一個客戶端DNS安全組件運行在多個客戶端計算機中的每一個上。每個客戶端DNS安全組件識別解析其客戶端計算機上的DNS名稱的企圖。這可以包括DNS名稱的本地解析,例如通過本地緩沖器或主文件,并且包括傳輸至遠(yuǎn)程DNS服務(wù)器的DNS查詢。在兩種情況中,客戶端DNS安全組件收集與已識別的解析DNS名稱的企圖有關(guān)的DNS信息,例如通過分析客戶端計算機本地的DNS設(shè)置、DNS查詢以及所產(chǎn)生的響應(yīng)。運行在該多個客戶端計算機上的客戶端安全組件向運行在遠(yuǎn)程計算機(例如,服務(wù)器)上的服務(wù)器DNS安全組件傳送所收集的與DNS名稱的每個已識別的解析相關(guān)的DNS信息。在一些實施方案中,一個或多個網(wǎng)絡(luò)DNS安全組件運行在網(wǎng)絡(luò)級上,監(jiān)控網(wǎng)絡(luò)DNS流量,并向服務(wù)器DNS安全組件傳送所收集的與DNS名稱的每個已識別的解析相關(guān)的DNS信息。服務(wù)器DNS安全組件從多個客戶端計算機接收DNS信息的多次傳輸,DNS信息的每次傳輸包括與具體DNS名稱的解析的具體實例相關(guān)的信息。服務(wù)器DNS安全組件從該多個客戶端計算機聚集已接收的DNS信息的多次傳輸。聚集的DNS信息可以存儲在例如數(shù)據(jù)庫中。服務(wù)器DNS安全組件比較從具體計算機接收的與具體DNS名稱相關(guān)的DNS信息和從多個客戶端計算機接收的與該相同DNS名稱相關(guān)的聚集DNS信息。例如,服務(wù)器DNS安全組件可以比較從具體計算機接收的與具體DNS名稱的具體解析相關(guān)的DNS信息和從多個客戶端計算機接收的與該相同DNS名稱的多個解析相關(guān)的聚集DNS信息。通過分析例如解析的IP地址、解析的方法、生存時間以及DNS源記錄這樣的因素,服務(wù)器DNS安全組件可以確定從該具體客戶端計算機接收的與該具體DNS名稱相關(guān)的DNS信息是否為異常的。當(dāng)服務(wù)器安全組件識別了與所接收的DNS信息相關(guān)的至少一個異常現(xiàn)象時,例如DNS信息和與相同DNS名稱相關(guān)的聚集DNS信息所指示的模式之間的差異,服務(wù)器DNS安全組件可以確定所接收的DNS信息是異常的,并向該具體客戶端計算機傳送一個警告或其它指示,該異常DNS信息接收自該計算機。響應(yīng)于確定所接收的DNS信息是異常的,服務(wù)器DNS安全組件還可以基于從多個客戶端計算機接收的與相同DNS名稱的多個解析相關(guān)的聚集DNS信息對解析進行修改。當(dāng)服務(wù)器DNS安全組件確定所接收的DNS信息不是異常時,服務(wù)器DNS安全組件可以向發(fā)起客戶端計算機傳送一個適合的指示。在本概述中以及在以下的詳細(xì)說明中說明的這些特征及優(yōu)點并不是包攬無遺的,并且具體地講,通過參看本發(fā)明的附圖、說明書、以及權(quán)利要求書,很多額外的特征和優(yōu)點對相關(guān)領(lǐng)域的普通技術(shù)人員將變得清楚。另外,應(yīng)該注意到本說明書中所使用的語言的選擇主要是為了易讀性和指導(dǎo)性的目的,并且也許不是被選用為描繪或限制本發(fā)明的主題,對于確定這種發(fā)明主題必須求助于權(quán)利要求書。
圖I是根據(jù)一些實施方案的一種不例性網(wǎng)絡(luò)架構(gòu)的框圖,其中可以實施一種DNS安全系統(tǒng)。圖2是根據(jù)一些實施方案的適用于實施一種DNS安全系統(tǒng)的計算機系統(tǒng)的框圖。圖3是根據(jù)一些實施方案的一種DNS安全系統(tǒng)的操作的高級概覽的框圖。圖4是根據(jù)一些實施方案的一種客戶端DNS安全系統(tǒng)的操作的框圖。圖5是根據(jù)一些實施方案的一種服務(wù)器DNS安全系統(tǒng)的操作的框圖。圖6是根據(jù)一些實施方案的一種DNS安全系統(tǒng)的操作的流程圖。這些圖示僅為展示的目的描繪了多個實施方案。本領(lǐng)域的普通技術(shù)人員將容易地從以下說明中認(rèn)識到,可以使用在此所展示的這些結(jié)構(gòu)以及方法的替代實施方案而不背離在此說明的原理。
具體實施例方式圖I的框圖示出了一種示例性網(wǎng)絡(luò)架構(gòu)100,其中可以實施一種DNS安全系統(tǒng)101。該示出的網(wǎng)絡(luò)架構(gòu)100包括多個客戶端103A、103B和103N,以及多個服務(wù)器105A和105N。在圖I中,將DNS安全系統(tǒng)101展示為駐存在服務(wù)器105A和客戶端103A、103B和103N上。應(yīng)理解這僅是一個示例,并且在多種實施方案中該系統(tǒng)101的多種功能可以在客戶端103、服務(wù)器105、網(wǎng)絡(luò)計算裝置313上實例化,或可以根據(jù)需要分布在多個客戶端103和/或服務(wù)器105之間。如在圖2中所示和下文描述的計算機系統(tǒng)210可以用來實施客戶端103和服務(wù)器105。客戶端103和服務(wù)器105通信地連接至網(wǎng)絡(luò)107,例如通過以下結(jié)合圖2描述得網(wǎng)絡(luò)接口 248或調(diào)制解調(diào)器247??蛻舳?03能夠利用例如網(wǎng)絡(luò)瀏覽器或其它客戶端軟件(未示出)訪問服務(wù)器105上的應(yīng)用程序和/或數(shù)據(jù)。盡管圖I示出了三個客戶端和兩個服務(wù)器作為一個示例,在實踐中可以部署更多(或更少)的客戶端103和/或服務(wù)器105。在一個實施方案中,網(wǎng)絡(luò)107是互聯(lián)網(wǎng)的形式。在其他的實施方案中可以使用其他網(wǎng)絡(luò)107或基于網(wǎng)絡(luò)的環(huán)境。圖2是適于實施一種DNS安全系統(tǒng)101的一個計算機系統(tǒng)210的框圖??蛻舳?03、服務(wù)器105以及網(wǎng)絡(luò)計算裝置313可以采用這種計算機系統(tǒng)210的形式來實施。如圖所示,計算機系統(tǒng)210的一個組件是總線212。總線212通信性地連接計算機系統(tǒng)210的其他組件,例如至少一個處理器214、系統(tǒng)存儲器217 (例如隨機存取存儲器(RAM)、只讀存儲器(ROM)、閃存存儲器)、輸入/輸出(I/O)控制器218、通信性地連接到外部音頻裝置(例如揚聲器系統(tǒng)220)的音頻輸出接口 222、通信性地連接到外部視頻輸出裝置(例如顯示屏224)的顯示適配器226、一個或多個接口(例如串行端口 230)、通用串行總線(USB)插口230、并行端口(未示出)等、通信性地連接到鍵盤232的鍵盤控制器233、通信性地連接到至少一個硬盤244 (或其他形式的磁媒質(zhì))的存儲接口 234、配置用于接收軟盤238的軟盤驅(qū)動237、配置用于連接光纖通道(FC)網(wǎng)絡(luò)290的主機總線適配器(HBA)接口卡235A、配置用于連接到SCSI總線239的HBA接口卡235B、配置用于接收光盤242的光盤驅(qū)動240、連接到總線212的鼠標(biāo)246 (或其他的指點裝置)(例如通過USB插口 228)、連接到總線212的調(diào)制解調(diào)器247 (例如通過串行端口 230)、及例如直接連接到總線212的網(wǎng)絡(luò)接口 248。
其他的組件(未示出)能夠以類似的方式連接(例如,文件掃描儀、數(shù)碼相機、打印機等)。相反,圖2中所示的所有組件不需要出現(xiàn)。這些組件和子系統(tǒng)能夠以不同于圖2中示出的方式互相連接??偩€212允許在處理器214和系統(tǒng)存儲器217之間的數(shù)據(jù)通信,如上所述系統(tǒng)存儲器可以包括ROM和/或閃存存儲器以及RAM。RAM典型地是加載操作系統(tǒng)和應(yīng)用程序的主存儲器。ROM和/或閃存存儲器可以包括(除其他的代碼以外)控制特定基本硬件操作的基本輸入輸出(BIOS)系統(tǒng)。應(yīng)用程序可以存儲在本地計算機可讀媒質(zhì)(例如硬盤244、光盤242)上并載入到系統(tǒng)存儲器217,由處理器214執(zhí)行。應(yīng)用程序還可以通過例如網(wǎng)絡(luò)接口248或調(diào)制解調(diào)器247從遠(yuǎn)程位置(即位于遠(yuǎn)處的計算機系統(tǒng)210)載入到系統(tǒng)存儲器217上。在圖2中,將DNS安全系統(tǒng)101展示為位于系統(tǒng)存儲器217中。以下結(jié)合圖3更為詳細(xì)地解釋DNS安全系統(tǒng)101的操作。存儲接口 234連接到一個或多個硬盤244 (和/或其他的標(biāo)準(zhǔn)存儲媒質(zhì))上。硬盤244可以是計算機系統(tǒng)210的一部分或者可以是物理上分離的并且通過其他接口系統(tǒng)可訪問的。網(wǎng)絡(luò)接口 248和/或調(diào)制解調(diào)器247可以直接或間接通信性地連接到網(wǎng)絡(luò)107(如互聯(lián)網(wǎng))上。這種連接可以是有線或無線的。圖3展示了根據(jù)一些實施方案的DNS安全系統(tǒng)101的高級操作,該系統(tǒng)位于一個服務(wù)器105、三個客戶端103、多個計算機系統(tǒng)210、以及一個網(wǎng)絡(luò)計算裝置313的系統(tǒng)存儲器217中。如上描述,DNS安全系統(tǒng)101的功能可以位于客戶端103、服務(wù)器105、網(wǎng)絡(luò)計算裝置313上,或分布在多個計算機系統(tǒng)210之間,包括位于基于云的計算環(huán)境內(nèi),在該環(huán)境中DNS安全系統(tǒng)101的功能被提供用作網(wǎng)絡(luò)107上的服務(wù)。應(yīng)當(dāng)理解,盡管圖3中僅僅示出了三個客戶端103,但在實踐中典型地可以部署更多。例如,在一些實施方案中,上千個(或更多個)客戶端103運行客戶端側(cè)DNS安全系統(tǒng)101的功能。另外,盡管僅示出了一個單一服務(wù)器105,服務(wù)器側(cè)DNS安全系統(tǒng)101的功能可以根據(jù)需要分布在多個服務(wù)器105之間。應(yīng)當(dāng)理解,盡管DNS安全系統(tǒng)101在圖3、4和5中示為一個單一實體,但所示的DNS安全系統(tǒng)101代表多種功能的集合,該集合可以根據(jù)需要實例化為一個單一的或多個組件和/或模塊(DNS安全系統(tǒng)101的具體的、多個組件和模塊的實例示于圖3、4和5中)。應(yīng)當(dāng)理解,DNS安全系統(tǒng)101的組件和模塊可以在任何計算機系統(tǒng)210的系統(tǒng)存儲器217 (例如RAM、ROM、閃存存儲器)內(nèi)實例化,以便當(dāng)計算機系統(tǒng)210的處理器214處理一個組件或模塊時,計算機系統(tǒng)210執(zhí)行相關(guān)的功能。如本文中使用,術(shù)語“計算機系統(tǒng)”、“計算機”、“客戶端”、“客戶端計算機”、“服務(wù)器”、“服務(wù)器計算機”及“計算裝置”是指配置和/或編程為執(zhí)行所描述的功能的一個或多個計算機。此外,實現(xiàn)DNS安全系統(tǒng)101的功能的程序代碼可以存儲在計算機可讀存儲媒質(zhì)上。任何形式的有形的計算機可讀媒質(zhì)可在此背景下使用,例如磁性的或光學(xué)存儲媒質(zhì)。如在此所使用的,術(shù)語“計算機可讀存儲媒質(zhì)”不意味著電氣信號與底層物理媒質(zhì)分離。如圖3所示,在一個實施方案中,DNS安全系統(tǒng)101包括多個客戶端103,每一個客戶端在其系統(tǒng)存儲器217中運行客戶端DNS安全組件301,并且包括一個中央服務(wù)器105,該中央服務(wù)器在其系統(tǒng)存儲器217中運行服務(wù)器DNS安全組件303。以下結(jié)合圖4和5詳細(xì)描述客戶端DNS安全組件301和服務(wù)器DNS安全組件303的特定模塊。通過與多個客戶端103上的客戶端DNS安全組件301進行通信,服務(wù)器DNS安全組件303能夠隨著時間從更大的用戶社區(qū)(例如很多客戶端103)收集與各種DNS名稱305的行為相關(guān)的DNS信息309。例如,服務(wù)器DNS安全組件303可以知道DNS名稱305以什么方式解析、解析哪個IP 地址307等。以此方式,服務(wù)器DNS安全組件303監(jiān)控很多客戶端103上的DNS活動,并且如以下詳細(xì)描述能夠因此檢測異常的DNS名稱305解析模式、快速變化的DNS名稱305以及其它不正規(guī)活動,從而裁定對應(yīng)的DNS名稱305的實例為異常的。另一方面,所觀察的始終(緩慢變化等)解析到相同IP地址307的DNS名稱305可以被裁定為不是異常的。如以下結(jié)合圖4更為詳細(xì)描述的,每個客戶端103上的客戶端DNS安全組件301檢查本地DNS設(shè)置以及在網(wǎng)絡(luò)107上流向客戶端103并從其流出的DNS流量。匯集的DNS信息309被提交給服務(wù)器DNS安全組件303。服務(wù)器DNS安全組件303關(guān)聯(lián)并分析特定DNS名稱305的解析模式??蛻舳?03無論何時試圖解析DNS名稱305時,客戶端103都可以通過正規(guī)的DNS服務(wù)器(圖3中未示出)或者在本地(例如通過緩沖器)發(fā)布待解析的正規(guī)DNS查詢。DNS查詢產(chǎn)生對應(yīng)于DNS名稱305的IP地址307。客戶端DNS安全組件301可以發(fā)送IP地址307和其它對應(yīng)的DNS信息309至服務(wù)器DNS安全組件303,這可以確定是否DNS名稱305對IP地址307的解析是否是異常的。通過從大量客戶端103收集信息并因此具有表示給定的DNS名稱305如何基于時間在客戶端103上解析的數(shù)據(jù),服務(wù)器DNS安全組件303可以識別DNS解析模式中的異?,F(xiàn)象。例如,假設(shè)服務(wù)器DNS安全組件303具有與很多在DNS名稱“domain, com”上的提交有關(guān)的DNS信息309,所有這些提交都上報了十分高的生存時間和對“X. X. X. V,的相同IP地址307的連續(xù)解析。如果此時服務(wù)器DNS安全組件303從客戶端安全組件301接收了表示相同的DNS名稱305解析至IJ “Y. Y. Y. Y,,的不同IP地址307的DNS信息309,則服務(wù)器DNS安全組件303可以將該DNS名稱305的這次解析標(biāo)記為異常的。如圖3所示,在一些實施方案中,與客戶端DNS安全組件301在每個客戶端103上實施相反或除了這種情況之外,一個或多個DNS安全組件311可以部署在網(wǎng)絡(luò)107中,并在網(wǎng)絡(luò)級上監(jiān)控DNS流量。網(wǎng)絡(luò)DNS安全組件311可以例如在內(nèi)聯(lián)的或無源的網(wǎng)絡(luò)計算裝置313的系統(tǒng)存儲器217中實例化。以類似于客戶端DNS安全組件301的方式,網(wǎng)絡(luò)DNS安全組件311監(jiān)控在網(wǎng)絡(luò)107上流向客戶端103和從其流出的DNS流量。網(wǎng)絡(luò)DNS安全組件311所收集的DNS信息309還被提交到服務(wù)器DNS安全組件303以進行關(guān)聯(lián)和分析。如以上所述,在客戶端DNS安全組件301的背景下,無論何時客戶端103發(fā)布DNS查詢,DNS查詢就產(chǎn)生對應(yīng)于DNS名稱305的IP地址307。與客戶端DNS安全組件相同,監(jiān)控網(wǎng)絡(luò)DNS流量的網(wǎng)絡(luò)DNS安全組件311可以向服務(wù)器DNS安全組件303發(fā)送IP地址307和其它對應(yīng)的DNS信息309,這可以確定DNS名稱305對IP地址307的解析是否是異常的。盡管網(wǎng)絡(luò)DNS安全組件311僅檢測與在網(wǎng)絡(luò)107上解析的DNS查詢相關(guān)的信息,這與在本地單獨的客戶端103上不同,但網(wǎng)絡(luò)DNS安全組件311可以收集并提交重要的DNS信息309,無需安裝在客戶端計算機103上。轉(zhuǎn)到圖4,展示了在客戶端103的系統(tǒng)存儲器217中運行的客戶端DNS安全組件301的操作??蛻舳薉NS安全組件301的DNS解析識別模塊401識別通過客戶端103解析DNS名稱305的企圖。換言之,正規(guī)DNS查詢403無論何時源自客戶端103,從DNS解析識別模塊401都對其進行檢測。DNS解析識別模塊401可以使用常規(guī)的實現(xiàn)機構(gòu)來識別解析DNS名稱305的企圖。例如,當(dāng)在微軟Windows 下操作時,DNS解析識別模塊401可以掛接適當(dāng)?shù)腁PI功能(例如RpcNsBindingLookup)。在其它操作系統(tǒng)或Windows 的一些版本上,執(zhí)行這種功能的具體實施機構(gòu)可以改變,但在相關(guān)領(lǐng)域那些熟練技術(shù)人員的技能組合范圍內(nèi)。根據(jù)本說明,在當(dāng)前描述的環(huán)境中這類實施機構(gòu)的應(yīng)用對這種技能水平的技工·而言是十分容易的。在一些實例中,DNS查詢403可以在客戶端103本地進行解析,無需在網(wǎng)絡(luò)107上向DNS名稱服務(wù)器407產(chǎn)生一條請求。為此,當(dāng)DNS解析識別模塊401識別到正出現(xiàn)解析DNS名稱305的企圖時,DNS本地信息收集模塊405檢查可以用于本地解析該DNS查詢的客戶端103上的DNS設(shè)置。這包括檢查DNS設(shè)置,例如本地LMhost文件409條目、本地主文件按411條目、客戶端103上的DNS緩沖器414、本地WinSock DNS設(shè)置(未示出)以及本地網(wǎng)絡(luò)堆棧實施中的任意其它DNS設(shè)置(未示出)。如果DNS名稱305在本地解析,DNS本地信息收集模塊405收集對應(yīng)的DNS信息309,例如如何解析DNS名稱305、將它解析到哪個IP地址307、生存時間以及對DNS查詢403的響應(yīng)419中的任意其它信息(例如,響應(yīng)于查詢403而返回的一條或多條源記錄)在一些情況中,DNS查詢403不能在本地解析,并因此發(fā)送至DNS名稱服務(wù)器407進行解析。為了在這種環(huán)境中收集與解析有關(guān)的DNS信息309,網(wǎng)絡(luò)流量監(jiān)控模塊413監(jiān)控源自客戶端103的外向傳輸415,并識別外向DNS查詢403。在一個實施方案中,傳輸監(jiān)控模塊413包括能夠檢查外向HTTP流中的DNS查詢403的超文本傳輸協(xié)議(“HTTP”)代理(或如圖所示是本地的,或是遠(yuǎn)程的)。在另一個實施方案中,將傳輸監(jiān)控模塊413被實例化為可以接入NDS查詢403的一個網(wǎng)絡(luò)瀏覽器插件。在其它實施方案中,傳輸監(jiān)控模塊413可以在較低層級上實施,例如通過掛接網(wǎng)絡(luò)協(xié)議堆棧。傳統(tǒng)的實施機構(gòu)可以用于實例化網(wǎng)絡(luò)流量監(jiān)控模塊413。實例化(本地的和遠(yuǎn)程的)HTTP代理、網(wǎng)絡(luò)瀏覽器插件以及掛接網(wǎng)絡(luò)協(xié)議堆棧的實施機構(gòu)對那些相關(guān)領(lǐng)域的普通技術(shù)人員而言是已知的。根據(jù)本說明,在當(dāng)前環(huán)境中使用它們對這類技術(shù)水平的一個技術(shù)人員是十分容易的。在圖4中,網(wǎng)絡(luò)流量監(jiān)控模塊413示為在本地客戶端103上運行。在其它實施方案中,網(wǎng)絡(luò)流量監(jiān)控模塊413在遠(yuǎn)程運行,例如在代理(未示出)上。 在任何情況中,當(dāng)在外向傳輸415中識別了 DNS請求403時,DNS遠(yuǎn)程信息收集模塊417監(jiān)控外向DNS請求403和來自DNS名稱服務(wù)器407的響應(yīng)419,并收集對應(yīng)的DNS信息309,例如如何解析DNS名稱305、將它解析到哪個IP地址307等。在DNS本地信息收集模塊405和DNS遠(yuǎn)程信息收集模塊417之間,收集與每個DNS查詢403相關(guān)的DNS信息309和對應(yīng)的響應(yīng)419,例如DNS查詢403是在本地還是在網(wǎng)絡(luò)上解析、DNS查詢403發(fā)送到哪個DNS名稱服務(wù)器407 (如果有的話)、DNS名稱305解析到哪個IP地址307、是否執(zhí)行遞歸查找、生存時間、以及根據(jù)需要的DNS查詢403和/或響應(yīng)419中的任意其它信息。當(dāng)收集與一個具體NDS名稱305的給定解析相關(guān)的DNS信息309時,DNS信息傳輸模塊421向服務(wù)器DNS安全組件303傳送DNS信息309,以進行關(guān)聯(lián)和聚集。應(yīng)當(dāng)理解,收集并傳輸那種具體的NDS信息309是可變的設(shè)計參數(shù)。返回到圖5,服務(wù)器DNS安全組件303的DNS信息接收模塊501接收與該多個客戶端103提交的不同DNS名稱305的多個解析相關(guān)的信息309。DNS信息聚集模塊503聚集從不同客戶端103提交的DNS信息309。DNS信息聚集模塊503隨著時間推移將與接收自多個客戶端的具體DNS名稱305的具體解析相關(guān)的DNS信息309的單獨傳輸傳送至與不同 客戶端103上的不同DNS名稱305的多次解析有關(guān)的聚集DNS信息511。如以下描述的,DNS信息存儲模塊505可以在數(shù)據(jù)庫(或其他核實的存儲機構(gòu))507中存儲聚集的DNS信息511以進行分析。在一些實施方案中,DNS信息309被聚集到并存儲為由域和子域組織的一個樹形結(jié)構(gòu),這樣可以容易地分析與相同的域和/或子域相關(guān)的DNS信息309的所有提交。在其它實施方案中,可以使用其它聚集和存儲方法。應(yīng)當(dāng)理解,聚集并存儲那種具體DNS信息309是可變的設(shè)計參數(shù)。DNS信息比較模塊517將從單獨的客戶端103提交的與不同DNS名稱305上具體DNS查詢相關(guān)的DNS信息309與聚集的DNS信息511 (例如,存儲在數(shù)據(jù)庫507上)相比較。因為與具體的DNS名稱305上的當(dāng)前解析相關(guān)的所提交的DNS信息309與所聚集的DNS信息511相比較,異常解析識別模塊509可以將DNS信息309中的異?,F(xiàn)象識別為已提交。例如,因為與具體的DNS名稱305相關(guān)的當(dāng)前提交與所聚集的DNS信息511 (與相同的DNS名稱305相關(guān))相比較,異常解析識別模塊509可以檢測DNS信息309 (與該具體DNS名稱305上的當(dāng)前查詢403相關(guān))和在一段時間上從多個客戶端103收集的聚集DNS信息511(與相同的DNS名稱305相關(guān))中的不同之處。通過觀察例如DNS名稱305解析到的IP地址307、解析方法(例如網(wǎng)絡(luò)107、本地主文件411、本地緩沖器414等)、生存時間、響應(yīng)419中的其它數(shù)據(jù)(例如DNS源記錄中的其它字段)等這樣的因素,異常解析識別模塊509可以識別當(dāng)前DNS查詢403和聚集DNS信息511 (與感興趣的DNS名稱305相關(guān))之間的不同之處。響應(yīng)于當(dāng)前DNS信息309和聚集DNS信息511的比較,異常解析識別模塊509可以識別當(dāng)前DNS信息309是否為異常的。檢測到的異?,F(xiàn)象可以表示DNS攻擊,例如DNS中毒、主文件411修改等。應(yīng)當(dāng)理解,對于任意給定的DNS名稱305,將哪個具體當(dāng)前DNS信息309與哪個具體聚集DNS信息511進行比較是可變的設(shè)計參數(shù)。另外,對于任意給定的DNS名稱305,當(dāng)前DNS信息309和聚集DNS信息511之間的多少變化和什么類型的變化應(yīng)當(dāng)被考慮,這表明異常解析也是一個可變的設(shè)計參數(shù)。例如,在一些實施方案中,當(dāng)一個具體DNS名稱305的聚集DNS信息511表示該DNS名稱305已經(jīng)解析到具有較長生存時間的小IP地址307集合時,對該集合之外的和/或具有較短生存時間的IP地址307的當(dāng)前解析可以判定為異常的。另一方面,對于歷史上已經(jīng)解析到具有更短生存時間的更大的IP地址307集合的DNS名稱305 (例如,內(nèi)容發(fā)布網(wǎng)絡(luò)如Hewlett PackarcUMicrosoft、以及Alkami中的DNS名稱305),典型地將更寬范圍的解析考慮為非異常的,盡管仍對這種更寬范圍之外的解析模式進行標(biāo)記。在存在很少或不存在與給定DNS名稱305相關(guān)的聚集DNS信息511的情況(例如,特定域或子域組合,如“www. domain, com/sub-domain”)中,DNS解析識別模塊515可以隔離域名305的更高層級部分(例如,www. domain, com),并比較當(dāng)前DNS信息309和只與域名305的隔離部分相關(guān)的聚集DNS信息511。在一些實施方案中,異常解析識別模塊509僅標(biāo)記它判定為DNS名稱305的異常解析的內(nèi)容,并且指示傳送模塊519將警告指示513傳送至提交當(dāng)前DNS信息309的客戶端103和/或傳送至第三方,例如中央安全服務(wù)器(未不出)。在一些實施方案中,這種警告指示513是一種簡單的提示,即與客戶端103上報的DNS名稱305的當(dāng)前解析相關(guān)的DNS信息309不匹配與該DNS名稱305相關(guān)的聚集DNS信息511。在其它實施方案中,這些指示513可以根據(jù)需要改變附加信息的等級(例如,解析為何被判定為異常的描述、在按滑動 比例考慮解析是如何異常的等級、一個或多個建議補救措施等)。另一方面,當(dāng)異常解析識別模塊509未識別到與給定DNS名稱305的具體解析相關(guān)的任意異?,F(xiàn)象時,異常解析識別模塊509還可以例如通過向提交當(dāng)前DNS信息309的客戶端103傳送指示513的指示傳送模塊519來標(biāo)記未發(fā)現(xiàn)解析是異常的信息(和/或向第三方)。在一些實施方案中,除了或代替?zhèn)魉途?13以外,服務(wù)器105上的DNS解析修改模塊515可以改變或阻止有企圖的解析,或根據(jù)需要采取其它行動。在一些實施方案中,代替或除了服務(wù)器105以外,DNS解析修改模塊515可以在一個或多個客戶端103上實例化。圖6的流程圖展示了根據(jù)一些實施方案的DNS安全系統(tǒng)101 (圖I)的操作。在服務(wù)器105 (圖I)的系統(tǒng)存儲器217 (圖2)中運行的服務(wù)器DNS安全組件303 (圖3)的DNS信息接收模塊501 (圖5)從多個客戶端計算機103 (圖I)接收DNS信息309 (圖3)的多次傳輸(601)。DNS信息309 (圖3)的每個所接收的傳輸包括與具體客戶端103 (圖I)上的具體DNS名稱305 (圖3)的解析的具體實例相關(guān)的信息。服務(wù)器DNS安全組件303 (圖3)的DNS信息聚集模塊503 (圖5)聚集從該多個客戶端計算機103 (圖I)接收的DNS信息309(圖3)的多次傳輸(603)。服務(wù)器DNS安全組件303 (圖3)的DNS信息存儲模塊505 (圖5)可以將聚集DNS信息511 (圖5)存儲在例如數(shù)據(jù)庫507 (圖5)中(605)。服務(wù)器DNS安全組件303 (圖3)的DNS信息比較模塊517 (圖5)將從具體客戶端計算機103 (圖I)接收的DNS信息309 (與具體DNS名稱305 (圖3)相關(guān))與從多個客戶端計算機103 (圖I)接收的聚集DNS信息511 (與相同的DNS名稱305 (圖3)相關(guān))進行比較(607)。服務(wù)器DNS安全組件303 (圖3)的異常解析識別模塊509 (圖5)識別與所接收的DNS信息309 (圖3)相關(guān)的任何異?,F(xiàn)象(609),例如所接收的DNS信息309 (圖3)和聚集DNS信息511 (圖5)(與相同的DNS名稱305 (圖3)相關(guān))所指示的模式之間的差異。響應(yīng)于識別了至少一個與所接收的DNS信息309 (圖3)相關(guān)的異?,F(xiàn)象,服務(wù)器DNS安全組件303 (圖3)的指示傳送模塊519 (圖5)可以向具體客戶端計算機103 (圖I)傳送一個警告指示513 (圖3) (611),異常DNS信息309 (圖3)接收自該具體客戶端計算機。另外或可替代地,響應(yīng)于確定所接收的DNS信息309 (圖3)是異常的,服務(wù)器DNS安全組件303 (圖3)的DNS解析修改模塊515 (圖5)可以對DNS名稱305 (圖3)的解析進行修改(613)。當(dāng)未識別到異常現(xiàn)象時,指示傳送模塊519 (圖5)可以向發(fā)起客戶端103 (圖I)傳送適合的指示513 (圖5) (615)。如熟悉本領(lǐng)域技術(shù)的人們將會理解的,本發(fā)明能夠以多種其他具體的形式來實施而不背離其精神或本質(zhì)性特征。同樣,這些部分、模塊、代理器、管理器、部件、功能、過程、動作、層、特征、屬性、方法以及其他方面的特定的命名以及劃分不是強制性的或有重要意義的,并且實施本發(fā)明或其特征的機理可以具有不同的名稱、劃分和/或形式。為了解釋的目的,已經(jīng)參照具體實施方案對前述說明作出了描述。但是,這些示意性的說明并不旨在窮舉或者將本發(fā)明限制在所披露的準(zhǔn)確形式。鑒于以上教導(dǎo),許多修改和變形都是可能的。選 擇和描述該實施方案是為了最佳地解釋相關(guān)的原理及其實際應(yīng)用,從使其他本領(lǐng)域技術(shù)人員能夠最佳地使用各種實施方案,進行或不進行適合于預(yù)期特定使用的各種修改。
權(quán)利要求
1.一種使用源自多個計算機的聚集DNS信息來檢測異常DNS名稱解析的計算機實現(xiàn)方法,該方法包括以下步驟 由運行在服務(wù)器計算機上的服務(wù)器DNS安全組件從多個計算機接收DNS信息的多次傳輸,DNS信息的每次傳輸包括與具體DNS名稱的解析的具體實例相關(guān)的信息; 由運行在該服務(wù)器計算機上的服務(wù)器DNS安全組件聚集從該多個計算機接收的DNS信息的多次傳輸; 由運行在該服務(wù)器計算機上的服務(wù)器DNS安全組件比較從具體計算機接收的與具體DNS名稱相關(guān)的DNS信息和從多個計算機接收的與該相同DNS名稱相關(guān)的聚集DNS信息;并且 響應(yīng)于從該具體計算機接收的與該具體DNS名稱相關(guān)的DNS信息和從多個計算機接收的與該相同DNS名稱相關(guān)的聚集DNS信息的比較,由運行在該服務(wù)器計算機上的服務(wù)器DNS安全組件確定從該具體計算機接收的與該具體DNS名稱相關(guān)的DNS信息是否為異常的。
2.如權(quán)利要求I所述的方法,進一步包括 由運行在該服務(wù)器計算機上的服務(wù)器DNS安全組件存儲接收自多個計算機的聚集DNS信息。
3.如權(quán)利要求I所述的方法,其中由運行在該服務(wù)器計算機上的服務(wù)器DNS安全組件比較從具體計算機接收的與具體DNS名稱相關(guān)的DNS信息和從多個計算機接收的與該相同DNS名稱相關(guān)的聚集DNS信息進一步包括 由運行在該服務(wù)器計算機上的服務(wù)器DNS安全組件比較從具體計算機接收的與具體DNS名稱的具體解析相關(guān)的DNS信息和從多個計算機接收的與該相同DNS名稱的多個解析相關(guān)的聚集DNS信息。
4.如權(quán)利要求3所述的方法,進一步包括 由運行在該服務(wù)器計算機上的服務(wù)器DNS安全組件從包括以下因素的一組因素中分析具體計算機接收的與具體DNS名稱的具體解析相關(guān)的DNS信息與從多個計算機接收的與相同DNS名稱的多個解析相關(guān)的聚集DNS信息中的至少一個因素,:解析的IP地址、解析的方法、生存時間以及DNS源記錄。
5.如權(quán)利要求I所述的方法,進一步包括 響應(yīng)于缺乏從多個計算機接收的與具體DNS名稱的多個解析相關(guān)的聚集DNS信息,由運行在該服務(wù)器計算機上的服務(wù)器DNS安全組件隔離該具體DNS名稱的一個更高級別部分;以及 由運行在該服務(wù)器計算機上的服務(wù)器DNS安全組件比較從具體計算機接收的與具體DNS名稱相關(guān)的DNS信息和從多個計算機接收的與該具體DNS名稱的隔離的更高級別部分相關(guān)的聚集DNS信息。
6.如權(quán)利要求I所述的方法,其中響應(yīng)于從該具體計算機接收的與該具體DNS名稱相關(guān)的DNS信息和從多個計算機接收的與該相同DNS名稱相關(guān)的聚集DNS信息,由運行在該服務(wù)器計算機上的服務(wù)器DNS安全組件確定從該具體計算機接收的與該具體DNS名稱相關(guān)的DNS信息是否是異常的進一步包括 由運行在該服務(wù)器計算機上的服務(wù)器DNS安全組件識別與接收自該具體計算機與該具體DNS名稱相關(guān)的該DNS信息相關(guān)的至少一個異常現(xiàn)象;并且響應(yīng)于該識別步驟,由運行在該服務(wù)器計算機上的服務(wù)器DNS安全組件確定接收自該具體計算機的與該具體DNS名稱相關(guān)的DNS信息為異常的。
7.如權(quán)利要求6所述的方法,其中由運行在該服務(wù)器計算機上的服務(wù)器DNS安全組件識別與接收自該具體計算機與該具體DNS名稱相關(guān)的該DNS信息相關(guān)的至少一個異?,F(xiàn)象進一步包括 由運行在在該服務(wù)器計算機上的服務(wù)器DNS安全組件識別該接收自該具體計算機的與該具體DNS名稱相關(guān)的DNS信息和接收自多個計算機的于該相同DNS名稱相關(guān)的聚集DNS信息所指示的模式之間的至少一個差異。
8.如權(quán)利要求I所述的方法,進一步包括 響應(yīng)于由運行在該服務(wù)器計算機上的服務(wù)器DNS安全組件來確定從該具體計算機接收的與該具體DNS名稱相關(guān)的DNS信息是否為異常的,由運行在該服務(wù)器計算機上的服務(wù)器DNS安全組件向至少一個目標(biāo)傳送一個對應(yīng)的指示。
9.如權(quán)利要求8所述的方法,進一步包括 由運行在該服務(wù)器計算機上的服務(wù)器DNS安全組件確定接收自該具體計算機的與該具體DNS名稱相關(guān)的DNS信息為異常的;并且 響應(yīng)于確定從該具體計算機接收的與該具體DNS名稱相關(guān)的DNS信息是異常的,由運行在該服務(wù)器計算機上的服務(wù)器DNS安全組件向該具體計算機傳送一個警告,該異常DNS信息接收自該具體計算機。
10.如權(quán)利要求8所述的方法,進一步包括 由運行在該服務(wù)器計算機上的服務(wù)器DNS安全組件確定接收自該具體計算機的與該具體DNS名稱相關(guān)的DNS信息不是異常的;并且 響應(yīng)于確定從該具體計算機接收的與該具體DNS名稱相關(guān)的DNS信息不為異常的,由運行在該服務(wù)器計算機上的服務(wù)器DNS安全組件向該計算機傳送該DNS信息不為異常的一個指示,該不為異常的DNS信息接收自該計算機。
11.如權(quán)利要求3所述的方法,進一步包括 由運行在該服務(wù)器計算機上的服務(wù)器DNS安全組件確定接收自該具體計算機的與該具體DNS名稱相關(guān)的DNS信息為異常的;并且 響應(yīng)于確定從該具體計算機接收的與該具體DNS名稱相關(guān)的DNS信息為異常的,由運行在該服務(wù)器計算機上的服務(wù)器DNS安全組件基于從多個計算機接收的與該相同DNS名稱的多個解析相關(guān)的聚集DNS信息修改從具體客戶端接收的該DNS信息所涉及的該具體DNS名稱的具體解析。
12.如權(quán)利要求I所述的方法,進一步包括 由運行在客戶端計算機上的DNS安全組件識別由至少一個具體計算機來解析DNS名稱的企圖; 由運行在該客戶端計算機上的DNS安全組件收集與已識別的由該至少一個具體計算機來解析DNS名稱的企圖相關(guān)的DNS信息;并且 由運行在該客戶端計算機上的DNS安全組件傳送與由該至少一個具體計算機收集的與一個DNS名稱的每個所識別的解析相關(guān)的DNS信息到在該服務(wù)器計算機上運行的服務(wù)器DNS安全組件。
13.如權(quán)利要求12所述的方法,其中由運行在該客戶端計算機上的DNS安全組件收集與已識別的由該至少一個具體計算機來解析DNS名稱的企圖相關(guān)的DNS信息進一步包括 由運行在該客戶端計算機上的DNS安全組件檢查位于該客戶端計算機本地上的DNS設(shè)置;并且 由運行在該客戶端計算機上的DNS安全組件收集與至少一個DNS名稱的至少一個本地解析相關(guān)的DNS信息。
14.至少一個存儲計算機程序產(chǎn)品計算機可讀存儲媒質(zhì),該產(chǎn)品被配置用于利用源自多個計算機的聚集DNS信息來檢測異常的DNS名稱解析,該計算機程序產(chǎn)品包 用于從多個計算機接收DNS信息的多次傳輸?shù)某绦虼a,DNS信息的每次傳輸包括與具體DNS名稱的解析的具體實例相關(guān)的信息; 用于聚集從該多個計算機接收的DNS信息的多次傳輸?shù)某绦虼a; 用于比較從具體計算機接收的與具體DNS名稱相關(guān)的DNS信息和從多個計算機接收的與該相同DNS名稱相關(guān)的聚集DNS信息的程序代碼;以及 用于響應(yīng)于從該具體計算機接收的與該具體DNS名稱相關(guān)的DNS信息和從多個計算機接收的與該相同DNS名稱相關(guān)的聚集DNS信息的比較來確定從該具體計算機接收的與該具體DNS名稱相關(guān)的DNS信息是否為異常的程序代碼。
15.至少一個計算機系統(tǒng),該系統(tǒng)被配置用于利用源自多個計算機的聚集DNS信息來檢測異常的DNS名稱解析,該計算機系統(tǒng)包括 用于從多個計算機接收DNS信息的多次傳輸?shù)难b置,DNS信息的每次傳輸包括與具體DNS名稱的解析的具體實例相關(guān)的信息; 用于聚集從該多個計算機接收的DNS信息的多次傳輸?shù)难b置; 用于比較從具體計算機接收的與具體DNS名稱相關(guān)的DNS信息和從多個計算機接收的與該相同DNS名稱相關(guān)的聚集DNS信息的裝置;以及 用于響應(yīng)于從該具體計算機接收的與該具體DNS名稱相關(guān)的DNS信息和從多個計算機接收的與該相同DNS名稱相關(guān)的聚集DNS信息的比較來確定從該具體計算機接收的與該具體DNS名稱相關(guān)的DNS信息是否為異常的裝置。
全文摘要
一種DNS安全系統(tǒng)收集并使用源自多個客戶端計算機的聚集DNS信息來檢測異常的DNS名稱解析。一個服務(wù)器DNS安全組件從多個客戶端計算機接收DNS信息的多次傳輸,DNS信息的每次傳輸與具體DNS名稱的解析的具體實例相關(guān)。該服務(wù)器組件從該多個客戶端計算機聚集該DNS信息。該服務(wù)器組件比較從具體客戶端計算機接收的與具體DNS名稱相關(guān)的DNS信息和從多個客戶端計算機接收的與該相同DNS名稱相關(guān)的聚集DNS信息來識別異常的DNS名稱解析。當(dāng)識別了與所接收的DNS信息相關(guān)的一個異?,F(xiàn)象時,可以向該具體客戶端計算機傳送一個警告,該異常DNS信息從該計算機接收。
文檔編號H04L12/28GK102771088SQ201080062635
公開日2012年11月7日 申請日期2010年12月30日 優(yōu)先權(quán)日2010年2月2日
發(fā)明者P·加德納 申請人:賽門鐵克公司