本申請要求2014年9月25日提交的題為“Behavioral Detection of Malware Agents(惡意軟件代理的行為檢測)”的美國實用新型申請?zhí)?4/496,158的優(yōu)先權(quán),所述申請通過引用結(jié)合在此。
技術(shù)領(lǐng)域
本申請涉及計算機安全領(lǐng)域,并且更具體地涉及惡意軟件代理的行為檢測。
背景技術(shù):
惡意軟件代理是可以安裝在最終用戶的機器上來為在所謂的“僵尸網(wǎng)絡”中使用或者為其他惡意目的而盜用機器的資源的惡意可執(zhí)行對象。在一個示例中,僵尸網(wǎng)絡是每個安裝有惡意軟件代理并且因此響應來自惡意軟件命令和控制(C&C)服務器的命令的“僵尸”機器的分布式網(wǎng)絡。C&C服務器進而可以被編程以執(zhí)行任意數(shù)量的惡意功能。例如,僵尸網(wǎng)絡可以被配置成用于執(zhí)行對抗特定服務器的拒絕服務(DoS)攻擊。在另一個示例中,僵尸網(wǎng)絡可以用于發(fā)出批量電子郵件(“垃圾郵件”)。在又另一個示例中,僵尸網(wǎng)絡可以被配置成用于為惡意動作者執(zhí)行分布式計算任務,如挖掘所謂的“加密貨幣”、通過強攻擊術(shù)視圖破譯加密密鑰、或者執(zhí)行惡意分布式動作。
當計算機已經(jīng)被盜用作為僵尸網(wǎng)絡上的僵尸,對于機器以及對于用戶的各種不期望的后果可能隨之而來。例如,僵尸網(wǎng)絡代理可以在僵尸計算機上盜用用戶自己的數(shù)據(jù)、盜用后來對于用戶而言不可用的計算和網(wǎng)絡資源、或者花費用戶隱私、時間以及金錢。僵尸網(wǎng)絡代理還可能試圖跨其他在同一網(wǎng)絡運行的機器進行自行傳播,這可能引發(fā)企業(yè)安全方面的考慮。僵尸網(wǎng)絡代理的這些消極影響僅通過示例的方式提供,并且應認識到,當網(wǎng)絡已經(jīng)被危害時可能會有其他消極影響。
其他種類的惡意軟件代理還可能報告給C&C服務器,并且可能導致其他類型的傷害。
附圖說明
當與附圖一起閱讀時,將從以下詳細描述中更好地理解本公開。強調(diào)的是,根據(jù)行業(yè)中的標準實踐,不同特征未按比例繪制,并且僅用于說明性目的。實際上,為了討論的清晰起見,可以任意地放大或者減小各種特征的尺寸。
圖1是根據(jù)本說明書的一個或多個示例的安全使能網(wǎng)絡的框圖。
圖2是根據(jù)本說明書的一個或多個示例的計算設備的框圖。
圖3是根據(jù)本說明書的一個或多個示例的安全服務器的框圖。
圖4A和圖4B是根據(jù)本說明書的一個或多個示例的由客戶端引擎執(zhí)行的方法的流程圖。
具體實施方式
概述
在示例中,檢測引擎根據(jù)行為識別潛在的惡意軟件對象。為了規(guī)避黑名單以及基于指紋的檢測,惡意軟件服務器可以頻繁更改域名,和/或更改分布式惡意軟件代理的指紋。惡意軟件代理可能只進行初始DNS查找,并且此后使用所述服務器的原始IP地址經(jīng)由“裸”HTTP分組與惡意軟件命令與控制服務器進行通信。所述檢測引擎通過這種行為識別惡意軟件代理。在一個示例中,如果可執(zhí)行對象在DNS查找“生存時間”已經(jīng)期滿后向地址作出重復的HTTP請求,則所述對象可以被標記為潛在的惡意軟件。
本公開的示例實施例
以下公開內(nèi)容提供了用于實施本公開的不同特征的許多不同實施例或示例。以下描述了部件和安排的具體示例以便簡化本公開。當然,這些僅是示例并且并不旨在是限制性的。進一步地,本公開在不同示例中可以重復參考標號和/或字母。這種重復是出于簡明性和清楚性的目的,并且本身并不決定所討論的不同實施例和/或配置之間的關(guān)系。
不同實施例可以具有不同優(yōu)點,并且不必需要任何實施例的特定優(yōu)點。
因為僵尸網(wǎng)絡代理以及本文所討論的其他惡意軟件代理的嚴重后果,期望最終用戶或者企業(yè)安全管理員部署被配置成用與檢測并抑制惡意軟件攻擊的安全解決方案,并且拒絕到惡意軟件代理的資源,如例如,在僵尸機器上運行的僵尸網(wǎng)絡代理。
在某些現(xiàn)有安全架構(gòu)中,可以部署反惡意軟件代理以檢測并抑制惡意軟件,包括僵尸網(wǎng)絡代理以及連接至C&C服務器的其他惡意軟件代理。如貫穿本說明書所使用的,“惡意軟件代理”具體是指向遠程C&C服務器報告或者與遠程C&C服務器通信的任何種類的惡意軟件,除非另有說明。
現(xiàn)有反惡意軟件方案可以依靠多種技術(shù),如已知C&C服務器域的黑名單、指紋化以識別已知惡意軟件代理、惡意軟件測試以試圖識別惡意軟件代理的C&C服務器的IP地址、和/或手動分析以避免誤肯定。
上述解決方案的某些實施例可能易于被惡意軟件作者反沖擊。例如,僵尸網(wǎng)絡C&C服務器可以頻繁地更改其域名以避免黑名單。在這種情況下,惡意軟件代理可以在安裝以后立刻向最近已知的好域名作出DNS請求,并且此后向那個地址發(fā)送裸HTTP業(yè)務。在這種上下文中,“裸”HTTP分組是直接發(fā)送至原始IP地址而沒有相關(guān)聯(lián)的DNS查找、或者在相關(guān)聯(lián)的DNS查找的生存時間(TTL)已經(jīng)期滿后發(fā)送的分組。標準兼容可執(zhí)行對象不應該發(fā)送這種裸HTTP請求。頻繁的或大量的裸HTTP請求因此可以至多是對軟件未被專業(yè)開發(fā)并且缺少質(zhì)量控制的指示。這種可執(zhí)行對象對于增加的審查可能至少是值得的,即使它并非有意是惡意的。
惡意軟件作者還可以頻繁地對惡意軟件代理進行細微改變,包括重新命名變體以及重新編譯以擊敗基于指紋的方法。因此,結(jié)合裸HTTP事務、移動域名以及更改指紋,謹慎的惡意軟件作者能夠避免現(xiàn)有解決方案的簡單的檢測。
然而,本說明書中公開了一種檢測引擎,所述檢測引擎包括可操作用于檢測并抑制惡意軟件代理的硬件、軟件和/或固件,其中,所述系統(tǒng)和方法是可以抵抗上述方法的。
在一個示例中,僵尸網(wǎng)絡代理試圖通過發(fā)送裸HTTP請求來擊敗安全解決方案,從而限制它執(zhí)行的DNS查找的數(shù)量以接觸其C&C服務器。在這個示例中,惡意軟件作者可以頻繁地更改C&C服務器的域名,但保持相同的靜態(tài)IP地址。因此,用最小的努力就可以擊敗依靠已知的壞域名的黑名單的安全解決方案。僵尸網(wǎng)絡代理軟件可以在它被首先安裝時執(zhí)行單個DNS查找,并且只要它們繼續(xù)工作,可以在此后僅使用裸HTTP事務。這使得惡意軟件作者頻繁地更改域名而無需向它的僵尸網(wǎng)絡代理提供頻繁地更新。如果它對于C&C服務器更改其IP地址是必要的,所述C&C服務器然后可以在一些情況下傳播至其對于繼續(xù)通信而言必要的惡意軟件代理信息,如,下一個“活動目標”域名。因此通過最小化對可疑地址的DNS查詢,惡意軟件作者可以更好地隱瞞惡意軟件代理免受簡單的檢測。
然而,在本說明書中認識到,這種行為是可檢測的。具體地,標準兼容DNS請求具有“生存時間”(TTL)字段??梢杂蓹?quán)威名稱服務器將TTL設置為特定的域名。當緩存(遞歸)名稱服務器向權(quán)威名稱服務器查詢資源(如,域名)時,它應該為指定時間(這可以用秒表示)緩存記錄。
進而,“存根解析器(stub resolver)”可以查詢緩存名稱服務器。如果TTL還未期滿,則緩存名稱服務器將僅返回緩存值。這減少了權(quán)威名稱服務器上的負荷。
典型的TTL可以用秒表示,并且普通的TTL值是86,400秒,對應于24小時。在一些特殊情況下,TTL可以設置的較低,如,300秒(5分鐘),并且在一般情況下,可以使用任何任意值。
在TTL期滿后,正常運行的網(wǎng)絡套接口不應該繼續(xù)發(fā)送裸HTTP請求。相反,它應該執(zhí)行新的DNS查詢以刷新IP地址。然而,依從這個標準基本上是自發(fā)的;盡管正常運行的和非惡意的程序應該接受所述TTL,但不能保證它總是會接受。因此,當執(zhí)行網(wǎng)絡操作的可執(zhí)行對象忽略了所述TTL時,則可以推斷所述可執(zhí)行對象是惡意的或者至多沒有正常運行。
在本說明書的一個示例中,檢測引擎被配置成用于檢測這種行為并且確定所述行為是否有可能是惡意軟件代理的結(jié)果。例如,在一個實施例中,檢測代理傳入和傳出業(yè)務兩者均進行監(jiān)控。所述代理可以首先確定業(yè)務是DNS業(yè)務還是HTTP業(yè)務。如果都不是,則在一個實施例中,可以安全地忽略所述業(yè)務。然而,如果是DNS業(yè)務,則從DNS請求中提取相關(guān)數(shù)據(jù),包括TTL值。對于HTTP業(yè)務,檢測代理可以確定是否存在與地址相關(guān)聯(lián)的先前DNS請求,以及在那個DNS請求上的TTL是否已經(jīng)期滿。如果TTL已經(jīng)期滿并且父進程仍然向所述地址發(fā)送裸HTTP請求,所述分組及其父進程(換言之,源于所述分組的進程或者其他可執(zhí)行對象)可以被標記為可疑的或者標記為惡意軟件。
在一個實施例中,裸HTTP請求的單個實例可以被認為是異?;虼我收?。然而,隨著裸分組的數(shù)量增加,始發(fā)進程是惡意軟件的概率增加。相反,如果底層進程不是惡意軟件,這種非標準兼容行為至少表明所述軟件可能未被專業(yè)開發(fā)或不是關(guān)鍵任務。因此,沒必要利用完美的置信度確定分組及其父進程是惡意軟件。相反,概率的平衡可以采用有利于將所述分組及其父進程指定為可疑的或惡意軟件的方式進行加權(quán)。一旦分組或其父進程已經(jīng)被指定為惡意軟件,檢測引擎就可以采取補救動作對抗所述父進程。這種動作可以包括:例如,隔離、抑制、分離、報告、阻止、刪除或者以其他方式對所述父進程采取動作。補救動作還可以包括:丟棄來自所述父進程的網(wǎng)絡分組或者引導網(wǎng)絡分組進入沙箱環(huán)境中。
認識到關(guān)鍵任務應用程序可以假設地發(fā)送裸HTTP請求是可能的,為用戶或安全管理員提供設備以將特定的可執(zhí)行對象列入白名單也是有用的。在這種情況下,可以允許可執(zhí)行對象無阻礙地運行,即使其有類惡意軟件的行為。
本文描述的檢測引擎,在某些實施例中,可以是獨立的安全解決方案。在其他實施例中,它可以是更大并且更全面的安全架構(gòu)的一部分,包括一個或多個防火墻、反病毒代理、反惡意軟件代理、反廣告軟件代理、隱私防護以及利用黑名單化和指紋化能力配置的僵尸網(wǎng)絡檢測代理。
現(xiàn)在將更具體地參照所附附圖來描述檢測引擎以及相關(guān)聯(lián)的系統(tǒng)和方法。
圖1是根據(jù)本說明書的一個或多個示例的分布式安全網(wǎng)絡100的網(wǎng)絡層次圖。在圖1的示例中,多個用戶120操作多個計算設備110。具體地,用戶120-1操作臺式計算機110-1。用戶120-2操作膝上型計算機110-2。并且用戶120-3操作移動設備110-3。
每個計算設備可以包括適合的操作系統(tǒng),如微軟視窗操作系統(tǒng)、Linux操作系統(tǒng)、Mac OSX操作系統(tǒng)、蘋果iOS操作系統(tǒng)、Unix操作系統(tǒng)或類似操作系統(tǒng)。前述的操作系統(tǒng)中的一些操作系統(tǒng)可能在一種設備類型上比另一操作系統(tǒng)更常用。例如,臺式計算機110-1(其在一些情況中還可以是操作工作臺)可能更可能使用微軟視窗操作系統(tǒng)、Linux操作系統(tǒng)、Unix操作系統(tǒng)或Mac OSX操作系統(tǒng)之一。膝上型計算機110-2(其通常為具有較少定制選項的便攜式現(xiàn)有設備)可能更可能運行微軟視窗操作系統(tǒng)或Mac OSX操作系統(tǒng)。移動設備110-3可能更可能運行安卓操作系統(tǒng)或iOS操作系統(tǒng)。然而,這些示例的目的不在于限制。
計算設備110可以經(jīng)由網(wǎng)絡170通信地耦合到彼此以及其他網(wǎng)絡資源。網(wǎng)絡170可以是任何合適的網(wǎng)絡或網(wǎng)絡的組合,通過非限制性示例的方式,包括例如局域網(wǎng)、廣域網(wǎng)、無線網(wǎng)、蜂窩網(wǎng)或者互聯(lián)網(wǎng)。在此展示中,為了簡單起見,網(wǎng)絡170被示為單一網(wǎng)絡,但在一些實施例中,網(wǎng)絡170可以包括大量的網(wǎng)絡,如,連接至互聯(lián)網(wǎng)的一個或多個企業(yè)內(nèi)部網(wǎng)。
同樣連接至網(wǎng)絡170的是一個或多個服務器140(所述服務器中的一個或多個可以是安全服務器)、應用程序儲存庫160以及通過各種設備連接的人類參與者,包括,例如,惡意軟件管理員180。服務器140可以被配置成用于提供適當?shù)木W(wǎng)絡服務,包括在本說明書的一個或多個示例中公開的某些服務。在一個實施例中,服務器140以及網(wǎng)絡170的至少一部分由一個或多個安全管理員150進行管理。
在沒有來自惡意軟件管理員180的干擾的情況下,成功地操作他們各自的計算設備110可能是用戶120的目標。
在一個示例中,惡意軟件管理員180具有造成惡意傷害或損害的目標或目的。惡意傷害或損害可以采取以下形式:在計算設備110上安裝Root kit或其他惡意軟件以便篡改系統(tǒng)、安裝間諜軟件或廣告軟件以便收集個人和商用數(shù)據(jù)、丑化網(wǎng)站、操作僵尸網(wǎng)絡,如,垃圾郵件服務器或僅打攪和騷擾用戶120。因此,惡意軟件管理員180的一個目標可能是在一個或多個計算設備110上安裝他的惡意軟件以使得它們作為僵尸網(wǎng)絡僵尸進行操作。如貫穿本說明書所使用的,惡意軟件(“惡意軟件”)包括被設計成用于采取可能不需要的行動的任何病毒、木馬、僵尸、根程序病毒包、后門、蠕蟲、間諜軟件、廣告軟件、勒索軟件、撥號器、有效載荷、惡意瀏覽器輔助對象、cookie、記錄器等,通過非限制性示例的方式,包括數(shù)據(jù)毀壞、隱藏數(shù)據(jù)收集、瀏覽器劫持、網(wǎng)絡代理或重定向、隱藏跟蹤、數(shù)據(jù)記錄、鍵盤記錄、過多的或蓄意的移除阻礙、聯(lián)系人采集以及未授權(quán)的自傳播。
惡意軟件管理員182可以操作C&C服務器182,其可以如本文所描述的執(zhí)行惡意軟件C&C的功能。
這種惡意軟件中的一些或所有惡意軟件可以包括被編程為用于提供裸HTTP請求以避免由在計算設備110和服務器140上運行的服務進行的檢測的惡意軟件代理。
可以由合適的企業(yè)操作服務器140以提供安全更新和服務,包括反惡意軟件服務。服務器140還可以提供實質(zhì)性服務,如,布線、聯(lián)網(wǎng)、企業(yè)數(shù)據(jù)服務以及企業(yè)應用程序。在一個示例中,服務器140被配置成用于分配和實施企業(yè)計算和安全策略??梢愿鶕?jù)書面企業(yè)策略由安全管理員150管理這些策略。服務器140還可以提供威脅情報數(shù)據(jù)庫。安全管理員150還可以負責管理和配置服務器140以及網(wǎng)絡170的全部或部分。
其他開發(fā)者還可以在網(wǎng)絡170上進行操作。開發(fā)者可能不具有惡意意圖,但可能開發(fā)出造成安全風險的軟件。例如,眾所周知的并且經(jīng)常使用的安全缺陷是所謂的緩沖器溢出,其中,惡意用戶(如,惡意軟件管理員180)能夠?qū)⑦^長的字符串輸入到輸入表中并且因此獲得執(zhí)行任意指令或者使用升級特權(quán)來操作計算設備110的能力。緩沖器溢出可能是例如不良輸入驗證或者未完成的垃圾收集的結(jié)果,并且在許多情況下,出現(xiàn)在非顯而易見的上下文中。因此,盡管開發(fā)者本身不是惡意的,但是其可能為惡意軟件管理員180提供攻擊向量。開發(fā)者所開發(fā)的應用程序也可以引起固有問題,比如崩潰、數(shù)據(jù)丟失或者其他非期望的行為。在一個特定示例中,無意開發(fā)者可以提供執(zhí)行過量裸HTTP請求的軟件。
開發(fā)者可以自行托管軟件,或者可以將軟件上傳至應用程序儲存庫160。因為那個軟件本身可能是期望的,所以開發(fā)者在漏洞變得已知時偶爾提供修復漏洞的更新或補丁是有益的。
應用程序儲存庫160可以表示向用戶120提供交互地或自動地下載并在計算設備110上安裝應用程序的能力的視窗操作系統(tǒng)或蘋果操作系統(tǒng)的“app商店”、類Unix操作系統(tǒng)程序庫或端口收集、或者其他網(wǎng)絡業(yè)務。合法的開發(fā)者和惡意軟件管理員180都可以經(jīng)由應用程序儲存庫160提供軟件。如果應用程序儲存庫160具有使惡意軟件管理員180難以公然分配惡意軟件的適當?shù)陌踩胧?,惡意軟件管理員180反而可以暗中將漏洞插入到顯然有益的應用程序中。
在一些情況中,一個或多個用戶120可以屬于企業(yè)。企業(yè)可以提供對可以安裝的應用程序(例如來自應用程序儲存庫160)的類型進行限制的策略指示。因而,應用程序儲存庫160可以包括并非無意被發(fā)開且并非惡意軟件,但雖然如此仍違反策略的軟件。例如,一些企業(yè)限制對娛樂軟件(如媒體播放器和游戲)的安裝。因此,甚至安全的媒體播放器或游戲也可能不適合企業(yè)計算機。安全管理員150可以負責分配與這種限制一致的計算策略。
在另一個示例中,用戶120可以是小孩子的父母,并且希望保護小孩子不受非期望內(nèi)容(通過非限制性示例的方式,比如,色情作品、廣告軟件、間諜軟件、不符合年齡的內(nèi)容、對某些政治、宗教或社會運動的倡導、用于討論非法或者危險活動的論壇)的影響。在這種情況下,父母可以執(zhí)行安全管理員150的一些或全部職責。
集中地,任何成為上述內(nèi)容類型之一的候選對象,包括僵尸網(wǎng)絡代理以及其他接觸惡意軟件C&C服務器的惡意軟件,可以被稱為“潛在非想要內(nèi)容”(PUC)。PUC的“潛在”方面意味著當對象被標記為PUC時,它就沒必要被列入黑名單。相反,有可能認為它是可疑的,以及是用于抑制或補救的候選項。因此,用戶120和安全管理員150的目標是配置并操作計算設備110,從而有用地分析PUC并且做出有關(guān)如何響應PUC對象的智能決策。這可以包括計算設備110上的代理(比如,圖2的檢測引擎224),其可以為了附加情報與服務器140進行通信。服務器140可以提供基于網(wǎng)絡的服務,包括圖3的服務器端安全引擎324以及全球化的威脅情報數(shù)據(jù)庫,它們被配置成用于實施策略,并且以其他方式輔助計算設備110適當?shù)貙UC分類以及采取動作。
圖2是根據(jù)本說明書的一個或多個示例的計算設備110的框圖。計算設備110可以是任何適合的計算設備。在各種實施例中,通過非限制性示例的方式,“計算設備”可以是或可以包括:計算機、嵌入式計算機、嵌入式控制器、嵌入式傳感器、個人數(shù)字助理(PDA)、膝上型計算機、蜂窩電話、IP電話、智能電話、平板計算機、可轉(zhuǎn)換平板計算機、手持計算器或者用于處理和傳達數(shù)據(jù)的任何其他電子、微電子或者微機電設備。
計算設備110包括連接至存儲器220的處理器210,所述存儲器具有存儲在其中的用于提供操作系統(tǒng)222和檢測引擎224的可執(zhí)行指令。計算設備110的其他部件包括存儲設備250、網(wǎng)絡接口260以及外圍設備接口240。
在示例中,處理器210經(jīng)由存儲器總線270-3通信地耦合至存儲器220,舉例來說可以是例如直接存儲器訪問(DMA)總線,但是其他存儲器架構(gòu)是可能的,包括其中存儲器220經(jīng)由系統(tǒng)總線270-1或一些其他總線與處理器210進行通信的存儲器架構(gòu)。處理器210可以經(jīng)由系統(tǒng)總線270-1通信地耦合至其他設備。如貫穿本說明書所使用的,“總線”包括任何有線或者無線互連線、網(wǎng)絡、連接、線束、單條總線、多條總線、交叉式網(wǎng)絡、單級網(wǎng)絡、多級網(wǎng)絡或可操作用于在計算設備的部分之間或在計算設備之間承載數(shù)據(jù)、信號或電力的其他傳導介質(zhì)。應當注意的是,僅通過非限制性示例的方式來公開這些用途,并且一些實施例可以省略前述總線中的一條或多條總線,而其他實施例可以采用附加或不同總線。
在各個示例中,“處理器”可以包括硬件、軟件或提供可編程邏輯的固件的任何組合,通過非限制性示例的方式,包括微處理器、數(shù)字信號處理器、現(xiàn)場可編程門陣列、可編程邏輯陣列、專用集成電路或虛擬機處理器。
處理器210可以經(jīng)由DMA總線270-3連接至DMA配置中的存儲器220。為了簡化本公開,存儲器220被公開為單個邏輯塊,但是在物理實施例中可以包括具有任何一種或多種適當?shù)囊资曰蚍且资源鎯ζ骷夹g(shù)的一塊或多塊,包括例如DDR RAM、SRAM、DRAM、緩存、L1或L2存儲器、片上存儲器、寄存器、閃存、ROM、光學介質(zhì)、虛擬存儲器區(qū)域、磁性或磁帶存儲器等。在某些實施例中,存儲器220可以包括相對低等待時間的易失性主存儲器,而存儲設備250可以包括相對更高等待時間的非易失性存儲器。然而,存儲器220和存儲設備250無需是物理分離的設備,并且在一些示例中可以僅表示功能的邏輯分離。還應當注意的是,盡管通過非限制性示例的方式公開了DMA,但是DMA并不是與本說明書一致的唯一協(xié)議,并且其他存儲器架構(gòu)是可用的。
存儲設備250可以是任何種類的存儲器220,或者可以是分離的設備,如硬盤驅(qū)動器、固態(tài)驅(qū)動器、外部存儲設備、獨立磁盤冗余陣列(RAID)、網(wǎng)絡附接存儲設備、光學存儲設備、磁帶驅(qū)動器、備份系統(tǒng)、云存儲設備、或前述任何組合。存儲設備250可以是或其中可以包括一個或多個數(shù)據(jù)庫或存儲在其他配置中的數(shù)據(jù),并且可以包括操作軟件的存儲副本,如操作系統(tǒng)222以及檢測引擎224的軟件部分。許多其他配置也是可能的,并且旨在包括在本說明書的寬泛范圍內(nèi)。
可以提供網(wǎng)絡接口260來將計算設備110與有線或無線網(wǎng)絡通信地耦合。如貫穿本說明書所使用的“網(wǎng)絡”可以包括可操作用于在計算設備內(nèi)或在計算設備之間交換數(shù)據(jù)或信息的任何通信平臺,通過非限制性示例的方式包括自組織本地網(wǎng)、提供具有電交互能力的通信設備的互聯(lián)網(wǎng)架構(gòu)、簡易老式電話系統(tǒng)(POTS)(計算設備可以使用所述簡易老式電話系統(tǒng)來執(zhí)行交易,在所述交易中它們可以由人類操作員來幫助或在所述交易中它們可以自動地將數(shù)據(jù)鍵入到電話或其他合適的電子設備中)、提供通信接口或在系統(tǒng)中的任何兩個節(jié)點之間進行交換的任何分組數(shù)據(jù)網(wǎng)絡(PDN)、或任何局域網(wǎng)(LAN)、城域網(wǎng)(MAN)、廣域網(wǎng)(WAN)、無線局域網(wǎng)(WLAN)、虛擬專用網(wǎng)(VPN)、內(nèi)聯(lián)網(wǎng)或促進網(wǎng)絡或電話環(huán)境中的通信的任何其他適當?shù)募軜?gòu)或系統(tǒng)。
在一個示例中,檢測引擎224是執(zhí)行如根據(jù)本說明書執(zhí)行方法圖4A和圖4B的方法400或者根據(jù)本說明書的其他方法等方法的工具或者程序。在各種實施例中,檢測引擎224可以在硬件、軟件、固件或其一些組合中被具體化。例如,在一些情況下,檢測引擎224可以包括被設計成用于執(zhí)行方法或方法的一部分的專用集成電路,并且還可以包括可操作用于指示處理器執(zhí)行所述方法的軟件指令。在一些情況下,檢測引擎224可以作為“守護進程”程序運行?!笆刈o進程”可以包括作為后臺進程、終止并駐留程序、服務、系統(tǒng)擴展、控制面板、啟動程序、BIOS子例程或者在沒有直接的用戶交互的情況下進行操作的任何類似程序而運行的任何程序或者可執(zhí)行指令系列(無論在硬件、軟件、固件或其任何組合中實施)。還應當注意的是,檢測引擎224僅通過非限制性示例的方式被提供,并且包括交互式或用戶模式軟件的其他硬件和軟件,還可以結(jié)合、除了或替代檢測引擎224而被提供,以便執(zhí)行根據(jù)本說明書的方法。在某些實施例中,檢測引擎224還可以是“低級”進程或者可以利用提升的系統(tǒng)特權(quán)來運行,從而使得它在沒有來自惡意軟甲代理或其他進程的干擾的情況下對網(wǎng)絡流量進行檢查和分類。檢測引擎224可以使用操作系統(tǒng)“鉤子”或者類似方法來攔截資源,包括網(wǎng)絡流量。
在一個示例中,檢測引擎224包括存儲在可操作用于執(zhí)行圖4A和圖4B的方法400、或根據(jù)本說明書的類似方法的非瞬態(tài)介質(zhì)上的可執(zhí)行指令。在適當時間上,比如,在啟動移動設備110之后或者在來自操作系統(tǒng)222或用戶120的命令之后,處理器210可以從存儲設備250中檢索檢測引擎224(或其軟件部分)的副本并將其加載到存儲器220中。然后,處理器210可以迭代的執(zhí)行檢測引擎224的指令。
外圍設備接口240可以被配置成用于與連接至計算設備110的但不一定是計算設備110的核架構(gòu)的一部分的任何輔助設備接口連接。外圍設備可以可操作用于計算設備110提供擴展的功能,并且可能或可能不完全依賴于計算設備110。在一些情況下,外圍設備可以是計算設備本身。通過非限制性示例的方式,外圍設備可以包括輸入和輸出設備,比如,顯示器、終端、打印機、鍵盤、鼠標、調(diào)制解調(diào)器、網(wǎng)絡控制器、傳感器、換能器、致動器、控制器、數(shù)據(jù)采集總線、照相機、麥克風、揚聲器或者外部存儲設備。
圖3是根據(jù)本說明書的一個或多個示例的服務器140的框圖。服務器140可以是如結(jié)合圖2而描述的任何適當計算設備。通常,除非另外特別指出,圖2的定義和示例可以被認為同樣適用于圖3。
服務器140包括連接至存儲器320的處理器310,所述存儲器具有存儲在其中的用于提供操作系統(tǒng)322和服務器端安全引擎324的可執(zhí)行指令。服務器140的其他部件包括存儲設備350、網(wǎng)絡接口360以及外圍設備接口340。
在示例中,處理器310經(jīng)由存儲器總線370-3通信地耦合至存儲器320,所述存儲器總線可以是例如直接存儲器訪問(DMA)總線。處理器310可以經(jīng)由系統(tǒng)總線370-1通信地耦合至其他設備。
處理器310可以在DMA配置中經(jīng)由DMA總線370-3連接至存儲器320,或者可以是經(jīng)由另一條總線(比如,系統(tǒng)總線370)連接的非DMA存儲器。為了簡化本公開,如結(jié)合圖2的存儲器220而描述的,存儲器320被公開為單個邏輯塊,但是在物理環(huán)境中可以包括具有任何一種或多種適當?shù)囊资曰蚍且资源鎯ζ骷夹g(shù)的一個或多個塊。在某些實施例中,存儲器220可以包括相對低延遲易失性主存儲器,而存儲設備350可以包括相對較高延遲非易失性存儲器。然而,如結(jié)合圖2而進一步描述的,存儲器320和存儲設備350無需是物理分離的設備。
存儲設備350可以是任何種類的存儲器320,或者可以是分離的設備,如結(jié)合圖2的存儲設備250所描述的。存儲設備350可以是或者其中可以包括一個或多個數(shù)據(jù)庫或存儲在其他配置中的數(shù)據(jù),并且可以包括所存儲的操作軟件副本(比如,操作系統(tǒng)322以及服務器端安全引擎324的軟件部分)。許多其他配置也是有可能的,并且旨在被包括在本說明書的廣泛范圍內(nèi)。
可以提供網(wǎng)絡接口360來將服務器140與有線或無線網(wǎng)絡通信地耦合。
在一個示例中,服務器端安全引擎324是執(zhí)行根據(jù)本說明書的方法的工具或程序。在各種實施例中,服務器端安全引擎324可以在硬件、軟件、固件或其一些組合中被具體化。例如,在一些情況下,服務器端安全引擎324可以包括被設計成用于執(zhí)行方法或其部分的專用集成電路,并且還可以包括可操作用于指示處理器執(zhí)行所述方法的軟件指令。如以上所描述的,在一些情況下,服務器端安全引擎324可以作為守護進程而運行。還應當注意的是,僅通過非限制性示例的方式提供服務器端安全引擎324,并且也可以結(jié)合除了或者代替安全引擎324而提供其他硬件和軟件(包括交互式或用戶模式軟件),以便執(zhí)行根據(jù)本說明書的方法。
在一個示例中,服務器端安全引擎324包括存儲在可操作用于執(zhí)行根據(jù)本說明書的方法的非瞬態(tài)介質(zhì)上的可執(zhí)行指令。在適當時間,比如,在服務器140之后或者在來自操作系統(tǒng)322或用戶120的命令之后,處理器310可以從存儲設備350中檢索服務器端安全引擎324(或其軟件部分)的副本并將其加載到存儲器320中。然后,處理器310可以迭代的執(zhí)行服務器端安全引擎324的指令。
外圍設備接口340可以被配置成用于與連接至服務器140的但不一定是服務器140的核架構(gòu)的一部分的任何輔助設備接口連接。外圍設備可操作用于向服務器140提供擴展的功能,并且可能或可能不完全依賴于服務器140。在一些情況下,外圍設備可以是計算設備本身。通過非限制性示例的方式,外圍設備可以包括結(jié)合圖2的外圍設備接口240而討論的設備中的任何設備。
圖4A和圖4B提供了根據(jù)本說明書的一個或多個示例的執(zhí)行惡意軟件代理檢測的檢測引擎224的方法400的流程圖。
在框410中,檢測引擎224檢測傳入流量。在這種上下文中,“傳入”流量是指以任何方向傳入到網(wǎng)絡接口260中的流量。因此,所述流量可以來源于計算設備110之內(nèi),或者可以來自網(wǎng)絡170。檢測引擎224可以利用提升的系統(tǒng)特權(quán)來運行,從而使得它可以采用其最低級別訪問這種流量。
在檢測框420中,檢測引擎224判定所述傳入流量是否是DNS流量。
如果所述傳入流量是DNS流量,則在檢測框440中,檢測引擎224判定所述流量是否是DNS響應。
如果所述流量不是DNS響應,則它對于檢測引擎224的某些實施例不感興趣。在這種情況下,控制可以返回開始框400。
返回至框440,如果所述傳入流量是DNS響應,則在框442中,檢測引擎224存儲來自DNS響應分組的響應參數(shù)。這些響應參數(shù)可以包括,例如,發(fā)送器、接收器、域名、IP地址以及TTL字段。在檢測引擎224已經(jīng)存儲響應參數(shù)之后,控制返回開始框400。
返回至框420,如果所述傳流量不是DNS流量,則在檢測框430中,檢測引擎224判定所述傳入流量是否是HTTP流量。
如果所述流量既不是HTTP流量也不是DNS流量(框430的“否”分支),則它對于檢測引擎224的某些實施例不感興趣。因此,控制返回開始框400。
返回至框430,如果所述傳流量是HTTP流量,則在決策框432中,檢測引擎224判定所述傳入流量是否是HTTP請求。
如果所述傳入流量不是HTTP請求,則它是HTTP響應,并且因此對于檢測引擎224的某些實施例不感興趣。因此,控制返回開始框400。
返回至框432,如果所述分組是HTTP請求,則在框450中,檢測引擎224提取來自所述分組的相關(guān)數(shù)據(jù)。這可以包括,例如,父進程、IP地址以及域名。然后控制穿過連接器B到達圖4B。
在圖4B中,在框460處,檢測引擎224針對來自所述分組的源IP的請求檢查其DNS記錄。例如,在圖4A的框450中,所述源IP可能已經(jīng)被提取。
在決策框480中,檢測引擎224針對HTTP請求被引導至的IP地址的域名,判定是否在先前發(fā)送了相關(guān)聯(lián)的主機名請求。
如果沒有發(fā)送DNS請求,則在框484中,所述HTTP請求及其父進程可以視情況被標記為可疑的??刂迫缓蟾鶕?jù)以下說明進行。
返回至框480,如果發(fā)送了主機名請求,則在框470中,檢測引擎224針對所述DNS請求檢索TTL值。例如,在框442中這可能已經(jīng)被存儲。
在決策框472中,檢測引擎224判定當前HTTP請求是否在其相關(guān)聯(lián)的DNS請求的所述TTL之內(nèi)。
如果所述HTTP請求在所述TTL之內(nèi),則所述HTTP請求及其父進程不被認為是可疑的,并且控制穿過連接器A回到圖4A的開始框400。
返回至框472,如果所述HTTP請求不在其相關(guān)聯(lián)的DNS請求的所述TTL之內(nèi)——換言之,如果因為所述TTL已經(jīng)期滿而沒有新的DNS請求,這是裸HTTP請求——則在框484中,所述分組被標記為可疑的。這表示發(fā)送裸HTTP請求的進程的單個實例或者非常小數(shù)量的實例可以僅表示,例如,監(jiān)測定時故障,并且不可以是所述進程應該被標記為惡意軟件的可靠指標。
在決策匡490中,檢測引擎224根據(jù)算法判定是否已經(jīng)發(fā)送一條或多條類似的記錄。換言之,父進程是否已經(jīng)發(fā)送一個或多個先前的裸HTTP請求?框490的算法可以是二進制決策(任意兩個或多個裸HTTP請求(不管發(fā)送它們的時間),傳遞所述條件),或者可以是更詳細的算法。例如,如果父進程先前已經(jīng)發(fā)送了裸HTTP請求,但在其間已經(jīng)發(fā)生DNS請求,則再次發(fā)生可以表明定時問題而非惡意軟件行為。在其他情況中,可以指定閾值N,其中,如果裸HTTP請求的數(shù)量大于N,則所述記錄被標記為惡意軟件。其他輸入所述算法的輸入可以是先前的裸HTTP請求的數(shù)量,以及裸HTTP請求之間的時間。通過示例的方式,在沒有任何干預DNS請求的情況下大量緊靠在一起的裸HTTP請求最可能適合惡意軟件代理的配置文件。其他算法也是有可能的。
如果框490的操作算法確定沒有(或未充足)發(fā)送類似記錄,則控制返回穿過連接器A到達圖4A并且到達開始框400。
返回至框490,如果根據(jù)框490的算法,已經(jīng)發(fā)送一個或多個或者足夠的類似記錄,則在框492中,所述分組和或其父進程可以被標記為惡意軟件。如以上所討論的,這未必表示絕對確定所述父進程和所述分組是惡意軟件。相反,它們可以表示概率的平衡,其中,進程是惡意軟件的概率隨著裸HTTP請求的每個實例,尤其隨著裸HTTP請求的每個連續(xù)實例而增加,而所述進程表示專業(yè)開發(fā)的和/或關(guān)鍵任務的應用程序的概率相應地減小。因此,如在框492中的惡意軟件的父進程和分組的標記表示判斷調(diào)用,并且意識到甚至在面對不完全確定的某個級別時,現(xiàn)實世界需要實施安全標準。
在框496中,完成方法400。
前述內(nèi)容概述了若干實施例的特征,從而使得本領(lǐng)域的技術(shù)人員可以更好地理解本公開的方面。本領(lǐng)域技術(shù)人員應該認識到,他們可以容易地將本公開用作設計或修改其他進程以及結(jié)構(gòu)的基礎(chǔ),以便于實施相同的目的和/或?qū)崿F(xiàn)在此介紹的實施例的相同優(yōu)點。本領(lǐng)域技術(shù)人員還應意識到,所述等同構(gòu)造沒有背離本公開的精神和范圍,并且在不背離本公開的精神和范圍的情況下,可做出各種改變、替換和替代。
本公開的特定實施例可以容易地包括片上系統(tǒng)(SOC)中央處理單元(CPU)封裝體。SOC表示將計算機或者其他電子系統(tǒng)的部件整合到單個芯片中的集成電路(IC)。其可以包含數(shù)字、模擬、混合信號、以及射頻功能,所有這些功能都可以在單個芯片基底上提供。其他實施例可以包括多芯片模塊(MCM),多個芯片位于單個電子封裝件內(nèi)并且被配置成用于通過電子封裝件彼此密切交互。在各種其他實施例中,數(shù)字信號處理功能可以在專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)和其他半導體芯片中的一個或多個硅核中實施。
在示例實施方式中,在此概述的處理活動的至少一些部分也可以在軟件中實施。在一些實施例中,這些特征中的一個或多個特征可以在所公開的附圖的元件外部提供的或者采用任何適當方式合并的硬件中實施,以便實現(xiàn)預期功能。各種部件可以包括可以協(xié)調(diào)以便實現(xiàn)如在此所概述的操作的軟件(或者往復式軟件)。在仍其他實施例中,這些元件可以包括促進其操作的任何適當?shù)乃惴ā⒂布?、軟件、部件、模塊、接口或者對象。
此外,可以移除或者以其他方式合并與所描述的微處理器相關(guān)聯(lián)的部件中的一些部件。在一般意義上,在附圖中所描繪的安排在其表示上可以更合邏輯,而物理架構(gòu)可以包括這些元件的各種排列、組合和/或混合。必須注意,可以使用無數(shù)可能的設計配置來實現(xiàn)在此概述的操作目標。相應地,相關(guān)聯(lián)的基礎(chǔ)設施具有大量替代安排、設計選擇、設備可能性、硬件配置、軟件實施方式、設備選項等。
任何適當配置的處理器部件可以執(zhí)行與數(shù)據(jù)相關(guān)聯(lián)的任何類型的指令以便實現(xiàn)在此詳細說明的操作。在此公開的任何處理器可以將元件或物品(例如,數(shù)據(jù))從一個狀態(tài)或一種東西轉(zhuǎn)換為另一個狀態(tài)或另一種東西。在另一個示例中,在此概述的一些活動可以使用固定邏輯或者可編程邏輯(例如,由處理器執(zhí)行的軟件和/或計算機指令)實施,并且在此標識的元件可以是某種類型的可編程處理器、可編程數(shù)字邏輯(例如,現(xiàn)場可編程門陣列(FPGA)、可擦除可編程只讀存儲器(EPROM)、電可擦除可編程只讀存儲器(EEPROM))、包括數(shù)字邏輯、軟件、代碼、電子指令、閃速存儲器、光盤、CD-ROM、DVD ROM、磁性或者光學卡、適合于存儲電子指令的其他類型的機器可讀介質(zhì)的ASIC、或者其任何適當?shù)慕M合。在操作中,處理器可以將信息存儲在任何適當類型的非瞬態(tài)存儲介質(zhì)(例如,隨機存取存儲器(RAM)、只讀存儲器(ROM)、現(xiàn)場可編程門陣列(FPGA)、可擦除可編程只讀存儲器(EPROM)、電可擦除可編程ROM(EEPROM)等)、軟件、硬件中或者在適當況下并基于特定需要存儲在任何其他適當部件、設備、元件或者物體中。進一步地,可以在任何數(shù)據(jù)庫、寄存器、表格、緩存、隊列、控制列表或者存儲結(jié)構(gòu)(所有這些可以在任何適當?shù)臅r間幀被引用)中基于特定需要和實施方式提供在處理器中被跟蹤、發(fā)送、接收或者存儲的信息。在此所討論的存儲器項中的任何存儲器項應當被理解為包括在寬泛術(shù)語‘存儲器’內(nèi)。類似地,在此所描述的可能的處理元件、模塊以及機器中的任何一者應當被理解為包括在寬泛術(shù)語‘微處理器’或者‘處理器’內(nèi)。另外,在各種實施例中,在此所描述的處理器、存儲器、網(wǎng)卡、總線、存儲設備、相關(guān)外圍設備以及其他硬件元件可以由軟件或固件配置來模仿或者虛擬化這些硬件元件的功能的處理器、存儲器以及其他相關(guān)設備實施。
采用各種形式來具體化實施在此描述的功能中的所有或部分功能的計算機程序邏輯,包括但決不限于源代碼形式、計算機可執(zhí)行的形式、以及各種中間形式(例如,由匯編器、編輯器、鏈接器或定位器生成的形式)。在示例中,源代碼包括以各種編程語言實施的一系列計算機程序指令,比如,目標代碼、匯編語言、或高級語言(比如,與各種操作系統(tǒng)或操作環(huán)境一起使用的OpenCL、Fortran、C、C++、JAVA或HTML)。源代碼可以限定并使用各種數(shù)據(jù)結(jié)構(gòu)和通信消息。源代碼可以采用計算機可執(zhí)行的形式(例如,經(jīng)由解釋器),或者源代碼可以被轉(zhuǎn)換(例如,經(jīng)由轉(zhuǎn)換器、匯編器、或編譯器)成計算機可執(zhí)行的形式。
在對以上實施例的討論中,可以容易地替換、替代或以其他方式修改電容器、緩沖器、圖形元件、互連板、時鐘、DDR、相機傳感器、除法器、電感器、電阻器、放大器、開關(guān)、數(shù)字核、晶體管和/或其他部件,以便滿足特定電路需要。此外,應當注意的是,對互補電子設備、硬件、非瞬態(tài)軟件等的使用提供了同等可行的選項,以便實施本公開的教導。
在一個示例實施例中,可以在相關(guān)聯(lián)的電子設備的板上實施附圖的任何數(shù)量的電路。所述板可以是能夠容納電子設備的內(nèi)部電子系統(tǒng)的各個部件并進一步為其他外圍設備提供連接器的一般電路板。更具體地,所述板可以提供電連接,系統(tǒng)的其他部件可以通過所述電子連接來進行電通信??梢曰谔囟ㄅ渲眯枰?、處理需求、計算機設計等來將任何適當?shù)奶幚砥?包括數(shù)字信號處理器、微處理器、支持芯片組等)、存儲器元件等耦合至所述板。如外部存儲設備、附加傳感器、用于音頻/視頻顯示的控制器、以及外圍設備等其他部件可以作為插入卡而經(jīng)由線纜附接至所述板,或者整合到所述板本身中。在另一個示例實施例中,附圖的電路可以被實施為獨立的模塊(例如,具有相關(guān)聯(lián)的部件的設備和被配置成用于執(zhí)行特定應用程序或功能的電路)或者被實施為到電子設備的專用硬件的插件模塊。
注意,使用在此所提供的許多示例,可以關(guān)于兩個、三個、四個或更多個電氣部件來對交互進行描述。然而,這樣做只是出于清楚和示例的目的。應理解的是,可以采用任何適當方式來合并所述系統(tǒng)。根據(jù)類似設計替代方案,可以在各種可能的配置中組合附圖中展示的部件、模塊和元件中的任一者,所有所述配置在本說明書的廣泛范圍內(nèi)。在某些情況下,通過僅參照有限數(shù)量的電氣元件,可能更容易描述一組給定流程的功能中的一項或多項功能。應當理解的是,附圖的電路及其教導是可容易擴展的,并且可以容納大量部件以及更復雜/成熟的安排和配置。相應地,所提供的示例不應限制如潛在地應用到無數(shù)其他架構(gòu)上的電路的范圍或抑制其寬泛教導。
許多其他的改變、替代、變型、更改和修改對本領(lǐng)域技術(shù)人員來說是確定的,并且本公開旨在涵蓋如落在所附權(quán)利要求書的范圍內(nèi)的所有的改變、替代、變型、更改和修改。為了幫助美國專利及商標局(USPTO)以及另外本申請發(fā)布的任何專利的任何讀者理解本申請所附權(quán)利要求書,申請人希望注意本申請人:(a)并不旨在所附權(quán)利要求中的任一項因為在本申請的申請日存在而援引35U.S.C.第112章第(6)段,除非在特定權(quán)利要求中確切地使用了字詞“用于……的裝置”或“用于……的步驟”;并且(b)并不旨在通過本說明書中未在所附權(quán)利要求書中反映出的任何陳述以任何方式限制本公開。
示例實施方式
示例1中公開了一種計算裝置,所述計算裝置包括:網(wǎng)絡接口,所述網(wǎng)絡接口可操作用于連接至數(shù)據(jù)網(wǎng)絡;以及檢測引擎,所述檢測引擎包括硬件和/或軟件,可操作用于:檢查在所述網(wǎng)絡接口上所提供的網(wǎng)絡分組;識別與所述網(wǎng)絡分組相關(guān)聯(lián)的域名服務器(DNS)請求,所述DNS請求具有生存時間;確定所述DNS請求的所述生存時間期滿;并且將所述網(wǎng)絡分組指定為可疑的。應當注意的是,將所述網(wǎng)絡分組指定為惡意例如包括:當可疑分組被明確地認為是惡意分組的子集時,將所述分組指定為可疑的。
示例2中公開了如示例1所述的計算裝置,其中,所述檢測引擎進一步可操作用于:將所述網(wǎng)絡分組的父進程指定為可疑的。
示例3中公開了如示例1所述的計算裝置,其中,所述檢測引擎進一步可操作用于:確定所述分組屬于先前提供了具有期滿DNS請求的至少一個其他網(wǎng)絡分組的父進程;并且將所述網(wǎng)絡分組指定為惡意軟件。
示例4中公開了如示例3所述的計算裝置,其中,所述檢測引擎進一步可操作用于:將所述父進程指定為惡意軟件。
示例5中公開了如示例3所述的計算裝置,其中,確定所述網(wǎng)絡分組屬于先前已經(jīng)提供了具有期滿DNS請求的至少一個其他網(wǎng)絡分組的父進程包括:確定具有期滿DNS請求的網(wǎng)絡分組的數(shù)量大于閾值,所述閾值大于一。
示例6中公開了如示例3所述的計算裝置,其中,所述檢測引擎進一步可操作用于:如果具有期滿DNS請求的所述至少一個其他網(wǎng)絡分組發(fā)生在干預DNS請求之前,則不將所述網(wǎng)絡分組指定為惡意軟件。
示例7中公開了如示例3所述的計算裝置,其中,所述檢測引擎進一步可操作用于:對所述父進程采取補救動作。
示例8中公開了如示例3所述的計算裝置,其中,所述檢測引擎進一步可操作用于:確定所述父進程被指定在白名單上;并且不對所述父進程采取補救動作。
示例9中公開了如示例1至8中任一項所述的計算裝置,其中,所述檢測引擎進一步可操作用于:通知所述網(wǎng)絡分組的安全服務器。
示例10中公開了如示例7所述的計算裝置,其中,所述檢測引擎進一步可操作用于:接收來自所述安全服務器的威脅情報。
示例11中公開了如示例1所述的計算裝置,其中,所述檢測引擎進一步可操作用于:將傳入流量分類為DNS、超文本傳輸協(xié)議(HTTP)以及其他流量之一。
示例12中公開了如示例11所述的計算裝置,其中,所述檢測引擎進一步可操作用于:忽略被分類為其他流量的流量。
示例13中公開了如示例1所述的計算裝置,其中,所述檢測引擎進一步可操作用于:檢測DNS請求;并且存儲所述DNS請求的響應參數(shù)。
示例14中公開了一種或多種其上存儲有可操作指令的計算機可讀介質(zhì),所述可執(zhí)行指令用于提供檢測引擎,所述檢測引擎可操作用于執(zhí)行以下操作:檢查網(wǎng)絡分組;識別與所述網(wǎng)絡分組相關(guān)聯(lián)的域名服務器(DNS)請求,所述DNS請求具有生存時間;確定所述DNS請求的所述生存時間期滿;以及將所述網(wǎng)絡分組指定為可疑的。
示例15中公開了如示例14所述的一種或多種計算機可讀介質(zhì),其中,所述檢測引擎進一步可操作用于:將所述網(wǎng)絡分組的父進程指定為可疑的。
示例16中公開了如示例14所述的一種或多種計算機可讀介質(zhì),其中,所述檢測引擎進一步可操作用于:確定所述網(wǎng)絡分組屬于先前已經(jīng)提供了具有期滿DNS請求的至少一個其他網(wǎng)絡分組的父進程;并且將所述網(wǎng)絡分組指定為惡意軟件。
示例17中公開了如示例16所述的一種或多種計算機可讀介質(zhì),其中,所述檢測引擎進一步可操作用于:將所述父進程指定為惡意軟件。
示例18中公開了如示例16所述的一種或多種計算機可讀介質(zhì),其中,確定所述分組屬于先前已經(jīng)提供了具有期滿DNS請求的至少一個其他網(wǎng)絡分組的父進程包括:確定具有期滿DNS請求的網(wǎng)絡分組的數(shù)量大于閾值,所述閾值大于一。
示例19中公開了如示例16所述的一種或多種計算機可讀介質(zhì),其中,所述檢測引擎進一步可操作用于:如果具有期滿DNS請求的所述至少一個其他網(wǎng)絡分組發(fā)生在干預DNS請求之前,則不將所述網(wǎng)絡分組指定為惡意軟件。
示例20中公開了如示例16所述的一種或多種計算機可讀介質(zhì),其中,所述檢測引擎進一步可操作用于:對所述父進程采取補救動作。
示例21中公開了如示例16所述的一種或多種計算機可讀介質(zhì),其中,所述檢測引擎進一步可操作用于:確定所述父進程被指定在白名單上;并且不對所述父進程采取補救動作。
示例22中公開了如示例14至21中任一項所述的一種或多種計算機可讀介質(zhì),其中,所述檢測引擎進一步可操作用于:通知所述網(wǎng)絡分組的安全服務器。
示例23中公開了如示例22所述的一種或多種計算機可讀介質(zhì),其中,所述檢測引擎進一步可操作用于:接收來自所述安全服務器的威脅情報。
示例24中公開了一種檢測惡意軟件代理的方法,所述方法包括:檢查在所述網(wǎng)絡接口上所提供的網(wǎng)絡分組;識別與所述網(wǎng)絡分組相關(guān)聯(lián)的域名服務器(DNS)請求,所述DNS請求具有生存時間;確定所述DNS請求的所述生存時間期滿;以及將所述網(wǎng)絡分組以及所述網(wǎng)絡分組的父進程指定為可疑的。
示例25中公開了如示例24所述方法,所述方法進一步包括:確定所述父進程先前已經(jīng)提供了具有期滿DNS請求的至少一個其他網(wǎng)絡分組;以及將所述網(wǎng)絡分組以及所述父進程指定為惡意軟件。
示例26中公開了一種方法,所述方法包括執(zhí)行在示例14至23中任一項所公開的指令。
示例27中公開了一種裝置,所述裝置包括用于執(zhí)行如示例26所述的方法的裝置。
示例28中公開了如權(quán)利要求27所述的裝置,其中,所述裝置包括處理器和存儲器。
示例29中公開了如權(quán)利要求28所述的裝置,其中,所述裝置進一步包括其上存儲有可操作指令的計算機可讀介質(zhì),所述軟件指令用于執(zhí)行如示例26所述的方法。