專利名稱:程序網(wǎng)絡(luò)行為識別方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計算機技術(shù)領(lǐng)域,尤其涉及一種程序網(wǎng)絡(luò)行為識別方法及系統(tǒng)。
背景技術(shù):
眾所周知,當(dāng)今互聯(lián)網(wǎng)環(huán)境中,應(yīng)用最為廣泛的網(wǎng)絡(luò)結(jié)構(gòu)滿足DoD模型(又稱TCP/IP協(xié)議族)。該DoD模型包括鏈路層、互聯(lián)網(wǎng)層、傳輸層和應(yīng)用層。一個程序若要發(fā)送或接收互聯(lián)網(wǎng)數(shù)據(jù),就需要讓自己的數(shù)據(jù)符合TCP/IP協(xié)議標(biāo)準(zhǔn),才能讓數(shù)據(jù)在互聯(lián)網(wǎng)中準(zhǔn)確且有效的傳輸。而這四層協(xié)議中鏈路層、互聯(lián)網(wǎng)層、傳輸層的數(shù)據(jù)結(jié)構(gòu)均有一套相對嚴(yán)格的標(biāo)準(zhǔn),編程者不能擅自更改其結(jié)構(gòu),所以很容易被安全軟件或安全設(shè)備監(jiān)控到關(guān)鍵數(shù)據(jù)且難于偽裝。唯獨應(yīng)用層的數(shù)據(jù)結(jié)構(gòu),具有很高的可定制特性。允許編程人員根據(jù)自己的需求和想法任意定義其中的內(nèi)容與結(jié)構(gòu)?,F(xiàn)有的對應(yīng)用層的數(shù)據(jù)結(jié)構(gòu)的檢測方案,主要是依靠特征碼進行檢測——即研究人員發(fā)現(xiàn)了某一種已經(jīng)出現(xiàn)的網(wǎng)絡(luò)威脅(遠(yuǎn)控、木馬、蠕蟲等),通過對拿到的樣本進行研究和分析,抓取其傳輸?shù)木W(wǎng)絡(luò)數(shù)據(jù)包,然后提取其固定特征(如某一特定偏移量處出現(xiàn)某一特定字符),作為程序自動檢測的依據(jù)。而入這樣的傳統(tǒng)解決方案最大的缺點在于存在滯后性,必須找到新型威脅的樣本加以分析,才能做出有效攔截。由此可知,傳統(tǒng)的程序網(wǎng)絡(luò)行為識別方式對于新出現(xiàn)或新變種的程序的網(wǎng)絡(luò)行為不能準(zhǔn)確識別。
發(fā)明內(nèi)容
鑒于上述技術(shù)問題,提出了本發(fā)明以便提供一種克服上述技術(shù)問題或者至少部分地解決上述技術(shù)問題的程序網(wǎng)絡(luò)行為識別方法及系統(tǒng)。依據(jù)本發(fā)明實施例的一個方面,提供了一種程序網(wǎng)絡(luò)行為識別方法,方法包括在程序訪問網(wǎng)絡(luò)的過程中,獲取程序的當(dāng)前網(wǎng)絡(luò)行為中的應(yīng)用層數(shù)據(jù);判斷應(yīng)用層數(shù)據(jù)中是否包括未知的協(xié)議;若應(yīng)用層數(shù)據(jù)中的協(xié)議都是已知的協(xié)議,則將程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為能夠識別的程序的網(wǎng)絡(luò)行為;若應(yīng)用層數(shù)據(jù)中包括未知的協(xié)議,則將程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為可疑的程序的網(wǎng)絡(luò)行為;其中,在將所述程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為能夠識別的程序的網(wǎng)絡(luò)行為的步驟之后,所述方法還包括判斷所述能夠識別的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為;若是惡意程序的網(wǎng)絡(luò)行為,則發(fā)送風(fēng)險提示信息,和/或攔截所述能夠識別的程序的當(dāng)前網(wǎng)絡(luò)行為;若不是惡意程序的網(wǎng)絡(luò)行為,則將所述能夠識別的程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為正 常的網(wǎng)絡(luò)行為。根據(jù)本發(fā)明實施例的又一方面,提供了一種程序網(wǎng)絡(luò)行為識別系統(tǒng),包括客戶端和云端服務(wù)器,其中客戶端,用于在程序訪問網(wǎng)絡(luò)的過程中,獲取程序的當(dāng)前網(wǎng)絡(luò)行為中的數(shù)據(jù)包,數(shù)據(jù)包包括應(yīng)用層數(shù)據(jù),以及接收云端服務(wù)器返回的識別結(jié)果;云端服務(wù)端,用于接收客戶端獲取的程序的當(dāng)前網(wǎng)絡(luò)行為中數(shù)據(jù)包,判斷應(yīng)用層數(shù)據(jù)中是否包括未知的協(xié)議;若應(yīng)用層數(shù)據(jù)中的協(xié)議都是已知的協(xié)議,則將程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為能夠識別的程序的網(wǎng)絡(luò)行為;若應(yīng)用層數(shù)據(jù)中包括未知的協(xié)議,則將程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為可疑的程序的網(wǎng)絡(luò)行為,向客戶端發(fā)送識別結(jié)果;云端服務(wù)器包括程序網(wǎng)絡(luò)行為識別裝置,該裝置包括獲取模塊,用于在程序訪問網(wǎng)絡(luò)的過程中,獲取程序的當(dāng)前網(wǎng)絡(luò)行為中的應(yīng)用層數(shù)據(jù);第一判斷模塊,用于判斷應(yīng)用層數(shù)據(jù)中是否包括未知的協(xié)議;識別模塊,用于在應(yīng)用層數(shù)據(jù)中的協(xié)議都是已知的協(xié)議時,將程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為能夠識別的程序的網(wǎng)絡(luò)行為;以及當(dāng)應(yīng)用層數(shù)據(jù)中包括未知的協(xié)議時,將程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為可疑的程序的網(wǎng)絡(luò)行為。根據(jù)本發(fā)明實施例的程序網(wǎng)絡(luò)行為識別方法及系統(tǒng),當(dāng)程序的當(dāng)前網(wǎng)絡(luò)行為中的應(yīng)用層數(shù)據(jù)都是已知的協(xié)議時,將程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為能夠識別的程序的網(wǎng)絡(luò)行為;當(dāng)程序的當(dāng)前網(wǎng)絡(luò)行為中的應(yīng)用層數(shù)據(jù)中包括未知的協(xié)議時,將程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為可疑的程序的網(wǎng)絡(luò)行為,由此實現(xiàn)對程序的網(wǎng)絡(luò)行為的準(zhǔn)確識別,將包括未知的協(xié)議的程序的網(wǎng)絡(luò)行為標(biāo)識為可疑的程序的網(wǎng)絡(luò)行為,并可向用戶發(fā)送風(fēng)險提示信息,由用戶進行最終的選擇,由此解決了傳統(tǒng)的程序網(wǎng)絡(luò)行為識別方案對于新出現(xiàn)或新變種的程序的網(wǎng)絡(luò)行為不能準(zhǔn)確識別的問題,進一步解決了傳統(tǒng)的程序網(wǎng)絡(luò)行為識別方案中不對未知的網(wǎng)絡(luò)協(xié)議進行攔截的問題,提高用戶的網(wǎng)絡(luò)安全性。而且,在將程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為能夠識別的程序的網(wǎng)絡(luò)行為之后,或者將程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為可疑 的程序的網(wǎng)絡(luò)行為之后,客戶端可以將應(yīng)用層數(shù)據(jù)中的特征信息發(fā)送至云端服務(wù)器,由云端服務(wù)器根據(jù)黑白名單庫中的黑白名單,判斷程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為,通過將數(shù)據(jù)量較大、變動比較頻繁的一些黑白名單存儲在云端服務(wù)器上,由云端服務(wù)器來識別惡意程序的網(wǎng)絡(luò)行為,可有效節(jié)約客戶端本地資源和降低客戶端本地機器的性能開銷,同時也可加快識別網(wǎng)絡(luò)行為的響應(yīng)速度。上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式
。
通過閱讀下文優(yōu)選實施方式的詳細(xì)描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中圖1示出了根據(jù)本發(fā)明一個實施例的程序網(wǎng)絡(luò)行為識別方法100的流程圖;圖2示出了根據(jù)本發(fā)明另一個實施例的程序網(wǎng)絡(luò)行為識別裝置200的結(jié)構(gòu)框圖;以及圖3示出了根據(jù)本發(fā)明又一個實施例的程序網(wǎng)絡(luò)行為識別系統(tǒng)300的結(jié)構(gòu)框圖。
具體實施例方式下面將參照附圖更詳細(xì)地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當(dāng)理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領(lǐng)域的技術(shù)人員。
傳統(tǒng)的程序網(wǎng)絡(luò)行為識別方案大多由已知的數(shù)據(jù)入手,S卩試圖找到數(shù)據(jù)中哪些部分是已知的,再從這些已知的數(shù)據(jù)中找到有用的部分,用于判定該數(shù)據(jù)是否有威脅。但這種思路的弊病在于一旦網(wǎng)絡(luò)數(shù)據(jù)的應(yīng)用層數(shù)據(jù)是未知的,那么能拿到的有效已知的數(shù)據(jù)就會很少,如此就很難對網(wǎng)絡(luò)行為是否存在威脅作出精確判斷,很容易放過未知的具有網(wǎng)絡(luò)威脅的網(wǎng)絡(luò)行為。為此,本發(fā)明實施例提出的一種程序網(wǎng)絡(luò)行為識別方法、裝置及系統(tǒng),其思路是基于TCP/IP協(xié)議體系中應(yīng)用層的數(shù)據(jù)結(jié)構(gòu)具有較高的可定制特性,一旦檢測到應(yīng)用層數(shù)據(jù)中包括自定義的數(shù)據(jù)結(jié)構(gòu),即可認(rèn)為當(dāng)前的網(wǎng)絡(luò)行為存在風(fēng)險,由此本發(fā)明提出的程序網(wǎng)絡(luò)行為識別方法主要是,通過判斷程序的當(dāng)前網(wǎng)絡(luò)行為的應(yīng)用層數(shù)據(jù)中是否包括未知的協(xié)議,若都是已知的協(xié)議,則將程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為能夠識別的程序的網(wǎng)絡(luò)行為;若包括未知的協(xié)議,則將程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為可疑的程序的網(wǎng)絡(luò)行為。下面結(jié)合圖1具體說明根據(jù)本發(fā)明一個實施例的、適于解決上述技術(shù)問題的程序網(wǎng)絡(luò)行為識別方法100的流程圖。如圖1所示,本發(fā)明實施例的方法100始于步驟S101。隨后,在步驟S102中,在程序訪問網(wǎng)絡(luò)的過程中,獲取程序的當(dāng)前網(wǎng)絡(luò)行為的應(yīng)用層數(shù)據(jù)。需要說明的是,程序是一個普通的文件,是一個機器代碼指令和數(shù)據(jù)的集合,是一個靜態(tài)的概念。進程時程序在計算機上的一次執(zhí)行過程,是一個動態(tài)的概念。同一個程序可以同時運行于若干個數(shù)據(jù)集合上,也就是說同一個程序可以對應(yīng)多個進程。網(wǎng)絡(luò)行為是由運行中的程序(也即進程)所發(fā)起的。程序的當(dāng)前網(wǎng)絡(luò)行為,也即是由屬于該程序的進程所發(fā)起的網(wǎng)絡(luò)行為。為了便于理解此步驟,首先簡單介紹一下網(wǎng)絡(luò)行為。網(wǎng)絡(luò)行為可以理解為需要通過網(wǎng)絡(luò)進行的各種行為,種類繁多,例如包括HTTP (Hypertext Transport Protocol,超文本傳送協(xié)議)訪問(常見的有下載文件或上傳信息),SMTP (Simple Mail TransferProtocol,簡單郵件傳輸協(xié)議)請求(收發(fā)電子郵件),DNS (Domain Name System,域名系統(tǒng))請求(解析域名對應(yīng)的IP地址等信息)等等。
其次,再介紹一下應(yīng)用程序訪問網(wǎng)絡(luò)的流程通常一個程序如果需要連接網(wǎng)絡(luò),需要通過操作系統(tǒng)(如Windows)提供的API (Application Program Interface,應(yīng)用程序接口)接口發(fā)送連接網(wǎng)絡(luò)的請求,操作系統(tǒng)接收到應(yīng)用程序的這種網(wǎng)絡(luò)請求后,會接收應(yīng)用程序要發(fā)送的數(shù)據(jù),并對接收到的數(shù)據(jù)進行封裝,之后將封裝的數(shù)據(jù)發(fā)送給物理設(shè)備(如網(wǎng)卡等),最后硬件設(shè)備將數(shù)據(jù)傳出?;谝陨蠎?yīng)用程序訪問網(wǎng)絡(luò)的流程,在該流程的任何一個環(huán)節(jié)對網(wǎng)絡(luò)行為的信息進行截獲都可以實現(xiàn)監(jiān)控程序的當(dāng)前網(wǎng)絡(luò)行為的目的。具體監(jiān)控的實施方式可以但不限于以下幾種方式通過在客戶端注冊協(xié)議驅(qū)動、創(chuàng)建于操作系統(tǒng)相似的過濾驅(qū)動、利用操作系統(tǒng)提供的應(yīng)用程序編程接口函數(shù)(例如hook函數(shù))截獲當(dāng)前網(wǎng)絡(luò)行為的信息、接管程序調(diào)用網(wǎng)絡(luò)編程接口函數(shù)(Winsock)的請求或者是利用注冊防火墻回調(diào)等方式,截獲程序的當(dāng)前網(wǎng)絡(luò)行為的信息。下面進行具體的說明在應(yīng)用程序訪問網(wǎng)絡(luò)的過程中,操作系統(tǒng)在處理相關(guān)數(shù)據(jù)的時候,會使用一些協(xié)議驅(qū)動和過濾驅(qū)動來獲取網(wǎng)絡(luò)行為的數(shù)據(jù),所以可以注冊協(xié)議驅(qū)動或創(chuàng)建與操作系統(tǒng)使用的過濾驅(qū)動相似的過濾驅(qū)動,進而獲取到網(wǎng)絡(luò)行為的數(shù)據(jù)。
具體實施方式
可以是向NDIS(Network Driver Interface Specification,網(wǎng)絡(luò)驅(qū)動程序接口規(guī)范)注冊協(xié)議驅(qū)動,也可以在 Afd.sys (Ancillary Function Driver for Winsock, Winsock 的輔助功能驅(qū)動)驅(qū)動設(shè)備棧、Td1. sys (Transport Dispatch Interface,傳輸分配接口)驅(qū)動設(shè)備?;?Tcpip.sys (Transmission Control Protocol/Internet Protocol,傳輸控制 / 網(wǎng)絡(luò)通訊協(xié)議)驅(qū)動設(shè)備棧上增加與操作系統(tǒng)相似的過濾驅(qū)動。另外,獲取程序的當(dāng)前網(wǎng)絡(luò)行為中的應(yīng)用層數(shù)據(jù)還可以通過以下方式來實現(xiàn)利用hook函數(shù)將網(wǎng)絡(luò)行為的數(shù)據(jù)截獲。
具體實施方式
可以是用hook函數(shù)截獲WindowsSSDT (System Services Descriptor Table,系統(tǒng)服務(wù)描述符表)中內(nèi)核提供的與設(shè)備通信接口 NtDeviceIoControl函數(shù),獲取所有應(yīng)用程序設(shè)備通信的數(shù)據(jù),過濾其中對Afd. sys發(fā)送的請求;還可以是利用hook函數(shù)截獲Tcpip. sys驅(qū)動提供的服務(wù)函數(shù)或NDIS. sys導(dǎo)出的接口等,通過上述方式來監(jiān)控程序的網(wǎng)絡(luò)行為。當(dāng)然也可以通過以下方式來對程序的網(wǎng)絡(luò)行為進行監(jiān)控根據(jù)Windows的LSP (Layered Service Provider,分層服務(wù)提供商),可以講LSP機制進行擴展,使用自己的DLL文件接管所有應(yīng)用程序調(diào)用Winsock的請求后,再轉(zhuǎn)發(fā)到Windows自身的mswsock. dll中去,或者也可以是向Windows系統(tǒng)IP設(shè)備驅(qū)動發(fā)送IOCTL_IP_SET_FIREWALL_HOOK注冊防火墻回調(diào)等等。在實踐中,監(jiān)控程序的網(wǎng)絡(luò)行為時,可以根據(jù)實際情況選擇以上不同的方式,當(dāng)然監(jiān)控網(wǎng)絡(luò)行為的方式也不限于以上所列舉的方式。隨后,在步驟S104中,判斷應(yīng)用層數(shù)據(jù)中是否包括未知的協(xié)議,在一些實施例中,可根據(jù)已知的協(xié)議的格式,判斷應(yīng)用層數(shù)據(jù)中是否包括未知的協(xié)議。例如已知的協(xié)議至少包括下列中的至少一個HTTP協(xié)議、DNS協(xié)議、SMTP協(xié)議、FTP協(xié)議(File TransferProtocol,文件傳輸協(xié)議)、SNMP 協(xié)議(Simple Network Management Protocol,簡單網(wǎng)絡(luò)管理協(xié)議)和POP3協(xié)議(郵局協(xié)議的第3個版本協(xié)議)。可選地,在客戶端上預(yù)先收集數(shù)量足夠多的已知的協(xié)議,該已知的協(xié)議包括HTTP協(xié)議、DNS協(xié)議、SMTP協(xié)議等三種協(xié)議,也可以包括一些加密協(xié)議,例如FTP協(xié)議等。加密協(xié)議主要是在數(shù)據(jù)包中對未知的協(xié) 議進行統(tǒng)一的加密格式進行封裝,數(shù)據(jù)包里面附加一些可識別的常用協(xié)議,這些常用的協(xié)議可以包括=SNMP協(xié)議、POP3協(xié)議、eMule/eDonkey協(xié)議,或者BITTORRENT協(xié)議等。由于不同的協(xié)議其本身有一些固定的格式,因此對于已知的協(xié)議可檢測協(xié)議的本身的格式,例如HTTP協(xié)議包括協(xié)議頭,但沒有協(xié)議尾,Host、Refer等字段均屬于協(xié)議頭中所包含的內(nèi)容,協(xié)議頭中常見的格式包括Host、Refer、User-agent、Url等字段部分。如果應(yīng)用層數(shù)據(jù)中包括未知的協(xié)議,則可認(rèn)為存在風(fēng)險。雖然應(yīng)用層數(shù)據(jù)可以由軟件開發(fā)人員隨意指定,但為了互聯(lián)網(wǎng)中數(shù)據(jù)傳輸?shù)姆奖?,已?jīng)在實際應(yīng)用過程中形成了一套通用協(xié)議(也可稱為已知的協(xié)議)標(biāo)準(zhǔn)。已知的協(xié)議如DNS協(xié)議、HTTP協(xié)議、FTP協(xié)議、SMTP 協(xié)議、SSL/TLS 協(xié)議、SSH 協(xié)議、uTorrent 協(xié)議、eMule/eDonkey 協(xié)議、BitTorrent 協(xié)議等,上述已知的協(xié)議占據(jù)了網(wǎng)絡(luò)數(shù)據(jù)中的絕大部分。只要能有效識別和分析上述已知的協(xié)議的數(shù)據(jù)結(jié)構(gòu),那么剩下的未知的協(xié)議將會是極少數(shù)的。由于已知的協(xié)議基本可以滿足所有數(shù)據(jù)傳輸需求,所以有理由認(rèn)為凡是需要自定義協(xié)議(即未知的協(xié)議)進行數(shù)據(jù)傳輸?shù)?,都?yīng)該是有某種特殊需求而在某一極小范圍的特定環(huán)境中使用,而不應(yīng)該在互聯(lián)網(wǎng)當(dāng)中廣泛傳播。故此將包含有未知的協(xié)議的應(yīng)用層數(shù)據(jù)列為可疑,有必要向用戶進行風(fēng)險提示。具體到方法100的流程中,可預(yù)先收集已知的協(xié)議的格式,已知的協(xié)議包括但不限于DNS協(xié)議、HTTP協(xié)議、FTP協(xié)議、SMTP協(xié)議、SSL/TLS協(xié)議、SSH協(xié)議、uTorrent協(xié)議、eMule/eDonkey協(xié)議、BitTorrent協(xié)議等,然后在步驟S104中,根據(jù)預(yù)先收集的已知的協(xié)議的格式,對應(yīng)用層數(shù)據(jù)中的協(xié)議進行識別,如果應(yīng)用層數(shù)據(jù)中的協(xié)議都能識別,則判斷應(yīng)用層數(shù)據(jù)中都是已知的協(xié)議,如果應(yīng)用層數(shù)據(jù)中有至少部分協(xié)議不能識別,則判斷應(yīng)用層數(shù)據(jù)中包括未知的協(xié)議。如果在步驟S104中判斷出應(yīng)用層數(shù)據(jù)中的協(xié)議都是已知的協(xié)議,則進行步驟Sioe0在步驟sioe中,將程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為能夠識別的程序的網(wǎng)絡(luò)行為。也就是,當(dāng)網(wǎng)絡(luò)行為的應(yīng)用層數(shù)據(jù)中的協(xié)議都是已知的協(xié)議時,意味著能夠識別該網(wǎng)絡(luò)行為,此時在步驟S106中可將該網(wǎng)絡(luò)行為標(biāo)識為能夠識別的程序的網(wǎng)絡(luò)行為。例如通過標(biāo)識符“ I ”將網(wǎng)絡(luò)行為標(biāo)識為能夠識別的程序的網(wǎng)絡(luò)行為。當(dāng)然可以理解的是,在本發(fā)明的實施例中并不限定標(biāo)識符的具體形式。在步驟S106之后,可進入結(jié)束步驟S121。但是為了進一步判斷能夠識別的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為,可在步驟S106之后進入步驟S110,在步驟SllO中,判斷能夠識別的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為。惡意程序通常是指帶有攻擊意圖的操作方所編寫的一段程序。這些威脅可以分成兩個類別需要宿主程序的威脅 和彼此獨立的威脅。前者基本上是不能獨立于某個實際的應(yīng)用程序、實用程序或系統(tǒng)程序的程序片段;后者是可以被操作系統(tǒng)調(diào)度和運行的自包含程序。惡意程序包括陷門、邏輯炸彈、特洛伊木馬、蠕蟲、細(xì)菌和病毒等等。在一些實施例中,可采用以下兩種方式判斷能夠識別的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為,其中方式一,在客戶端上預(yù)設(shè)一個模塊用于存儲黑白名單庫中的黑白名單,由客戶端通過黑白名單以及獲取的特征信息可判斷網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為??蛇x地,網(wǎng)絡(luò)防御相關(guān)的黑白名單可以針對不同協(xié)議進行不同的檢查項。例如
(I)通用檢查項,包括檢查遠(yuǎn)端ip地址,本地端口、遠(yuǎn)端端口、傳輸層協(xié)議(通常為TCP或UDP之一)。(2)協(xié)議類型檢查,有些已知協(xié)議可能會被木馬遠(yuǎn)控用于傳輸數(shù)據(jù),此類已知協(xié)議一旦被發(fā)現(xiàn)即可被判斷為被惡意程序使用的數(shù)據(jù)協(xié)議包。(3)協(xié)議詳情檢查,其他已知協(xié)議,根據(jù)協(xié)議特有的結(jié)構(gòu)獲取其中有參考價值并且不會涉及檢測的對象本身,以此為依據(jù)作為黑白判斷的標(biāo)準(zhǔn),該協(xié)議詳情會根據(jù)協(xié)議的不同而具體項目也會不同,如在客戶端上檢測HTTP協(xié)議中的URL、Host、Referer> User-Agent等加密后的字段;檢測DNS協(xié)議中的Queries信息中的Name和Type等加密后的字段。具體地,客戶端獲取能夠識別的程序的網(wǎng)絡(luò)行為的應(yīng)用層數(shù)據(jù)中的特征信息,該特征信息可以是應(yīng)用層數(shù)據(jù)中的部分代碼、應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包、或者應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包中的一段數(shù)據(jù);根據(jù)客戶端上的黑白名單,以及獲取的特征信息,判斷能夠識別的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為。以網(wǎng)絡(luò)行為是HTTP訪問行為進行介紹,具體到上述步驟中,在步驟S102中獲取HTTP訪問行為的應(yīng)用層數(shù)據(jù)。在步驟S104中,根據(jù)已知的HTTP協(xié)議的格式判斷出該HTTP訪問行為包括的協(xié)議都是已知的協(xié)議。然后在步驟S106中,將HTTP訪問行為標(biāo)識為能夠識別的程序的網(wǎng)絡(luò)行為。接著在步驟SllO中,獲取HTTP訪問行為的應(yīng)用層數(shù)據(jù)中的特征信息,例如Host字段、Url字段、IP地址字段等,并根據(jù)黑白名單庫中的黑白名單判斷上述特征信息是否屬于惡意程序的網(wǎng)絡(luò)行為中的特征信息,如果屬于,則該網(wǎng)絡(luò)行為屬于惡意程序的網(wǎng)絡(luò)行為,進入到步驟S112中,如果不屬于,則該網(wǎng)絡(luò)行為屬于正常的網(wǎng)絡(luò)行為,進入到步驟SI 14中。需要說明的是,針對不同的協(xié)議,在方式一中的檢測的項目不同,例如對于DNS協(xié)議,主要是針對請求包的域名解析,判斷解析的域名的字符串,以及DNS返回來的IP地址等是否異常。對于SMTP協(xié)議主要是判斷name字段部分是否異常,例如檢測郵件發(fā)送人、接收人、發(fā)送人的名稱和域名,以及接收人的名稱和域名等是否異常。對于FTP協(xié)議和HTTP協(xié)議,主要是判斷域名和Url字段是否異常。如果上述字段與云端服務(wù)器或客戶端中的黑名單相符合,則認(rèn)為該協(xié)議有風(fēng)險,有必要向用戶進行風(fēng)險提示。對于SMTP協(xié)議中取得的一切數(shù)據(jù)均可以MD5等哈希值進行處理后再上傳云端服務(wù)器,黑白名單在云端服務(wù)器中僅檢測SMTP協(xié)議中的數(shù)據(jù)的MD5值,不涉及郵件內(nèi)容本身。方式二,在云端服務(wù)器上預(yù)設(shè)一個數(shù)據(jù)庫,該數(shù)據(jù)庫用于存儲黑白名單庫中的黑白名單,客戶端將獲取的特征信息發(fā)送到云端服務(wù)器,由云端服務(wù)器根據(jù)黑白名單以及接收到的特征信息判斷網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為。具體地,首先客戶端獲取能夠識別的程序的網(wǎng)絡(luò)行為中的應(yīng)用層數(shù)據(jù)中的特征信息,該特征信息可以是應(yīng)用層數(shù)據(jù)中的部分代碼(例如Host字段或者Url字段)、應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包、或者應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包中的一段數(shù)據(jù)。通常情況下,應(yīng)用層數(shù)據(jù)中除了包括用于傳輸?shù)淖侄沃?,也會有一些自定義的數(shù)據(jù)。例如用戶用HTTP或FTP向網(wǎng)站或服務(wù)器上傳文件時,除了由URL和Host等字段指定用戶上傳的一些必要識別信息之外,用戶上傳的文件本身就會被作為一個數(shù)據(jù)包,附加在HTTP或FTP協(xié)議中向指定服務(wù)器進行傳輸。此時,用戶上傳的文件內(nèi)容就屬于上述的應(yīng)用層協(xié)議中的數(shù)據(jù)包(當(dāng)然,文件大的話有可能會被拆分成多個數(shù)據(jù)包進行 傳輸)。這僅為一個比較常見的例子,對于不同協(xié)議和不同的應(yīng)用情景,這種數(shù)據(jù)包會以不同形式出現(xiàn)。當(dāng)然,某些情形下也可能不存在這種數(shù)據(jù)包或數(shù)據(jù)包為空。然后,客戶端將特征信息發(fā)送至云端服務(wù)器,由云端服務(wù)器根據(jù)黑白名單庫中的黑白名單判斷上述特征信息是否屬于惡意程序的網(wǎng)絡(luò)行為中的特征信息,并向客戶端返回判斷結(jié)果,如果屬于,則該網(wǎng)絡(luò)行為屬于惡意程序的網(wǎng)絡(luò)行為,進入到步驟S112中,如果不屬于,則該網(wǎng)絡(luò)行為屬于正常的網(wǎng)絡(luò)行為,進入到步驟S114中。由于云端服務(wù)器的存儲空間要遠(yuǎn)遠(yuǎn)大于客戶端,因此云端服務(wù)器上可以盡可能多的預(yù)先存儲黑白名單庫,進而可以提高網(wǎng)絡(luò)行為識別的準(zhǔn)確性。同時,在云端服務(wù)器上對于最新收集到的黑白名單庫之后可以及時進行更新處理?;氐缴鲜龇椒?00的流程中,如果在步驟SllO中判斷是惡意程序的網(wǎng)絡(luò)行為,則進入到步驟S112,在步驟S112中,發(fā)送風(fēng)險提示信息和/或攔截能夠識別的程序的當(dāng)前網(wǎng)絡(luò)行為,然后進入結(jié)束步驟S121。例如,如果可以確定程序的當(dāng)前網(wǎng)絡(luò)行為是惡意程序的網(wǎng)絡(luò)行為,可以先暫停該程序的網(wǎng)絡(luò)連接,并向用戶發(fā)送提示信息,告知用戶該程序為異常,由用戶做出最終選擇,如果用戶選擇攔截,那么該網(wǎng)絡(luò)行為將會被徹底阻止。相反,如果在步驟SllO中判斷不是惡意程序的網(wǎng)絡(luò)行為,則進入到步驟S114中,將能夠識別的程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為正常的網(wǎng)絡(luò)行為,然后進入結(jié)束步驟S121。正常的網(wǎng)絡(luò)行為不具有風(fēng)險或具有極低的風(fēng)險,允許該正常的網(wǎng)絡(luò)行為訪問網(wǎng)絡(luò)。
相反,如果在步驟S104中判斷出應(yīng)用層數(shù)據(jù)中包括未知的協(xié)議,則進行步驟SlOS0在步驟S108中,將程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為可疑的程序的網(wǎng)絡(luò)行為。也就是,將程序的網(wǎng)絡(luò)行為的應(yīng)用層數(shù)據(jù)的協(xié)議與通用的協(xié)議進行比較,當(dāng)程序的網(wǎng)絡(luò)行為的應(yīng)用層數(shù)據(jù)中包括未知的協(xié)議時,則可認(rèn)為該程序的網(wǎng)絡(luò)行為暫時無法準(zhǔn)確識別,可認(rèn)為該網(wǎng)絡(luò)行為存在風(fēng)險,此時可將該程序的網(wǎng)絡(luò)行為標(biāo)識為可疑的程序的網(wǎng)絡(luò)行為。例如通過標(biāo)識符“O”將網(wǎng)絡(luò)行為標(biāo)識為可疑的程序的網(wǎng)絡(luò)行為。當(dāng)然可以理解的是,在本發(fā)明的實施例中并不限定標(biāo)識符的具體形式。在步驟S108之后,可進入結(jié)束步驟S121。但是為了進一步判斷可疑的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為,可在步驟S108之后進入步驟S116。在步驟S116中,判斷可疑的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為。惡意程序通常是指帶有攻擊意圖所編寫的一段程序,這些威脅可以分成兩個類別需要宿主程序的威脅和彼此獨立的威脅。前者基本上是不能獨立于某個實際的應(yīng)用程序、實用程序或系統(tǒng)程序的程序片段;后者是可以被操作系統(tǒng)調(diào)度和運行的自包含程序,惡意程序包括陷門、邏輯炸彈、特洛伊木馬、蠕蟲、細(xì)菌和病毒等等。在一些實施例中,可采用以下兩種方式判斷可疑的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為,其中方式一,在客戶端上預(yù)設(shè)一個模塊用于存儲黑白名單庫中的黑白名單,由客戶端通過黑白名單以及獲取的特征信息判斷網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為。具體地,客戶端獲取可疑的程序的網(wǎng)絡(luò)行為的應(yīng)用層數(shù)據(jù)中的特征信息,該特征信息可以是應(yīng)用層數(shù)據(jù)中的部分代碼、應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包、或者應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包中的一段數(shù)據(jù);根據(jù)客戶端上的黑白名單,以及獲取的特征信息,判斷可疑的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為,如果屬于,則該網(wǎng)絡(luò)行為屬于惡意程序的網(wǎng)絡(luò)行為,進入到步驟S118中,如果不屬于,則該網(wǎng)絡(luò)行為屬于有風(fēng)險的網(wǎng)絡(luò)行為,進入到步驟S120中
需要說明的是,針對不同的協(xié)議,檢測的項目不同,例如對于DNS協(xié)議,主要是針對請求包的域名解析,判斷解析的域名的字符串,以及DNS返回來的IP地址等是否異常。對于SMTP協(xié)議主要是判斷name字段部分,包括郵件發(fā)送人、接收人、發(fā)送人的名稱和域名,以及接收人的名稱和域名等是否異常。對于HTTP協(xié)議,主要判斷Host、URL, User-Agent,Referer和Method等字段是否異常。對于是否異常的判斷,主要是兩個大類(I)精準(zhǔn)匹配比如發(fā)現(xiàn)了一個木馬,發(fā)現(xiàn)該木馬連接了某個IP地址或URL,而且該IP地址或URL沒有發(fā)現(xiàn)有其他正當(dāng)用途,那么再發(fā)現(xiàn)有程序去連接該IP地址或URL時,就認(rèn)為該程序有異常(還可以有更復(fù)雜一些的判斷標(biāo)準(zhǔn),比如連接某個特定IP的特定端口,才認(rèn)為有異常);
(2)模糊匹配,經(jīng)過服務(wù)器端的應(yīng)用程序的長期監(jiān)控和分析,發(fā)現(xiàn)大量木馬都是指向同一個IP段或同一個頂級域名,而且這個IP段或頂級域名上極少出現(xiàn)或根本沒出現(xiàn)過正常的網(wǎng)站。那么可以認(rèn)為連接到這一個IP段或頂級域名下的程序就都是有異常的。此種情形可有更復(fù)雜的判斷標(biāo)準(zhǔn),例如利用game456進行木馬傳播的例子game456的官方域名是game456. com和game456. net,而很多木馬所連接的域名都很接近官方域名,比如game456.me、game456. 3322. org、game456. com. abed, org 等等。那么可認(rèn)為凡是類似于 game456 官方域名,具有一定欺騙性的這些域名,就都是有異常的。方式二,在云端服務(wù)器上預(yù)設(shè)一個模塊用于存儲黑白名單庫中的黑白名單,客戶端將獲取的特征信息發(fā)送到云端服務(wù)器,由云端服務(wù)器根據(jù)黑白名單以及接收到的特征信息判斷網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為??蛻舳松蟼鞯皆贫朔?wù)器的特征信息可以經(jīng)過加密處理,例如通過MD5算法可以計算全部URL、主機URL、域名URL、分級域名URL、查詢路徑URL的哈希值,將此MD5哈希值發(fā)送至云端服務(wù)器,云端服務(wù)器將密文數(shù)據(jù)連同MD5哈希值返回客戶端,密文數(shù)據(jù)包括MD5哈希值。具體地,客戶端獲取可疑的程序的網(wǎng)絡(luò)行為中的應(yīng)用層數(shù)據(jù)中的特征信息,該特征信息可以是應(yīng)用層數(shù)據(jù)中的部分代碼(例如Host字段或者Url字段)、應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包、或者應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包中的一段數(shù)據(jù);客戶端將特征信息發(fā)送至云端服務(wù)器,由云端服務(wù)器根據(jù)黑白名單庫中的黑白名單判斷上述特征信息是否屬于惡意程序的網(wǎng)絡(luò)行為中的特征信息,并向客戶端返回判斷結(jié)果,如果屬于,則該網(wǎng)絡(luò)行為屬于惡意程序的網(wǎng)絡(luò)行為,進入到步驟S118中,如果不屬于,則該網(wǎng)絡(luò)行為屬于有風(fēng)險的網(wǎng)絡(luò)行為,進入到步驟S120 中。由于云端服務(wù)器的存儲空間要遠(yuǎn)遠(yuǎn)大于客戶端,因此云端服務(wù)器上可以盡可能多的預(yù)先存儲黑白名單庫,進而可以提高網(wǎng)絡(luò)行為識別的準(zhǔn)確性。同時,對于最新收集到的黑白名單庫之后可以及時進行處理。在一些實施例中,為了節(jié)約客戶端的本地資源和降低客戶端的性能開銷,同時也為了提高響應(yīng)速度,可把數(shù)據(jù)量較大、變動比較頻繁的一些黑白名單保存到云端服務(wù)器上,而把一些相對比較固定、命中非常精準(zhǔn)、數(shù)據(jù)量很小的一部分黑白名單保存到客戶端上。如果在步驟S116中判斷是惡意程序的網(wǎng)絡(luò)行為,則進入到步驟S118中。在步驟S118中,發(fā)送風(fēng)險提示信息和/或攔截標(biāo)識為可疑的程序的當(dāng)前網(wǎng)絡(luò)行為,然后進入結(jié)束步驟S121。例如,如果可以確定程序的當(dāng)前網(wǎng)絡(luò)行為是惡意程序的網(wǎng)絡(luò)行為,可以先暫停該程序的網(wǎng)絡(luò)連接,并向用戶發(fā)送提示信息,告知用戶該程序為異常,由用戶做出最終選擇,如果用戶選擇攔截,那么該網(wǎng)絡(luò)行為將會被徹底阻止。
相反,如果在步驟S116中判斷不是惡意程序的網(wǎng)絡(luò)行為,則進入到步驟S120中。在步驟S120中,發(fā)送風(fēng)險提示信息,然后進入結(jié)束步驟S121。也就是,雖然可疑的程序的網(wǎng)絡(luò)行為不是惡意程序的網(wǎng)絡(luò)行為,但該可疑的程序的網(wǎng)絡(luò)行為存在風(fēng)險,因此通過步驟S120向用戶發(fā)送風(fēng)險提示信息,由用戶做出最終的選擇。需要說明的是,圖1所示的方法并不限定按所示的各步驟的順序進行,可以根據(jù)需要調(diào)整各步驟的先后順序,另外,所述步驟也不限定于上述步驟劃分,上述步驟可以進一步拆分成更多步驟也可以合并成更少步驟。下面結(jié)合圖2說明根據(jù)本發(fā)明另一個實施例的、適于解決上述問題的一種程序網(wǎng)絡(luò)行為識別裝置200。如圖2所示,該程序網(wǎng)絡(luò)行為識別裝置200包括獲取模塊202、第一判斷模塊204和識別模塊206,其中獲取模塊202,用于獲取程序的當(dāng)前網(wǎng)絡(luò)行為中的應(yīng)用層數(shù)據(jù);第一判斷模塊204,用于判斷應(yīng)用層數(shù)據(jù)中是否包括未知的協(xié)議;識別模塊206,用于在應(yīng)用層數(shù)據(jù)中的協(xié)議都是已知的協(xié)議時,將程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為能夠識別的程序的網(wǎng)絡(luò)行為;以及當(dāng)應(yīng)用層數(shù)據(jù)中包括未知的協(xié)議時,將程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為可疑的程序的網(wǎng)絡(luò)行為。在一些實施例中,第一判斷模塊202進一步用于根據(jù)已知的協(xié)議的格式,判斷應(yīng)用層數(shù)據(jù)中是否包括未知的協(xié)議。例如,在客戶端上預(yù)先存儲數(shù)量足夠多的已知的協(xié)議,該已知的協(xié)議包括=HTTP協(xié)議、DNS協(xié)議、SMTP協(xié)議等三種協(xié)議,也可以包括一些加密協(xié)議,例如FTP協(xié)議等。加密協(xié)議主要是在數(shù)據(jù)包中對未知的協(xié)議進行統(tǒng)一的加密格式進行封裝,數(shù)據(jù)包里面附加一些可識別的常用協(xié)議,這些常用的協(xié)議可以包括=SNMP協(xié)議、POP3協(xié)議、EDONKEY協(xié)議,或者BITTORRENT協(xié)議等。由于不同的協(xié)議其本身有一些固定的格式,因此對于已知的協(xié)議可檢測協(xié)議的本身的格式,例如=HTTP協(xié)議檢測協(xié)議頭和協(xié)議尾,Host,Refer等字段部分,HTTP協(xié)議包括協(xié)議頭,但沒有協(xié)議尾,Host、Refer等字段均屬于協(xié)議頭中所包含的內(nèi)容,協(xié)議頭中常見的格式包括Host、Refer、User-agent、Url等字段部分。而未知的協(xié)議則認(rèn)為是有風(fēng)險的,如果是未知的協(xié)議,不在可識別的協(xié)議所包括的范圍內(nèi),則有可能有自定義的協(xié)議在里面。參見圖2,在本發(fā)明的另一個實施例中,裝置200還包括第二判斷模塊208和第一處理模塊210,其中第二判斷模塊208用于判斷能夠識別的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為;第一處理模塊210用于當(dāng)?shù)诙袛嗄K208判斷能夠識別的程序的網(wǎng)絡(luò)行為為惡意程序的網(wǎng)絡(luò)行為時,發(fā)送風(fēng)險提示信息,和/或攔截能夠識別的程序的當(dāng)前網(wǎng)絡(luò)行為;當(dāng)?shù)诙袛嗄K208判斷能夠識別的程序的網(wǎng)絡(luò)行為不是惡意程序的網(wǎng)絡(luò)行為,將能夠識別的程序的當(dāng)前網(wǎng)絡(luò)行為識別正常的網(wǎng)絡(luò)行為。在一些實施例中,第二判斷模塊208包括第一獲取單元和第一判斷單元,其中第一獲取單元用于獲取能夠識別的程序的網(wǎng)絡(luò)行為中的應(yīng)用層數(shù)據(jù)中的特征信息,,特征信息可以是應(yīng)用層數(shù)據(jù)中的部分代碼、應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包、或者應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包中的一段數(shù)據(jù);第一判斷單元用于根據(jù)特征信息,判斷能夠識別的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為。在一些實施例中,第二判斷模塊208還包括第二獲取單元、第一發(fā)送單元和第一接收單元,其中第二獲取單元用于獲 取能夠識別的程序的網(wǎng)絡(luò)行為中的應(yīng)用層數(shù)據(jù)中的特征信息,特征信息可以是應(yīng)用層數(shù)據(jù)中的部分代碼、應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包、或者應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包中的一段數(shù)據(jù);第一發(fā)送單元用于將特征信息發(fā)送至云端服務(wù)器,由云端服務(wù)器根據(jù)特征信息判斷能夠識別的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為;以及第一接收單元用于接收所述云端服務(wù)器返回的判斷結(jié)果。繼續(xù)參見圖2,裝置200還包括第三判斷模塊212和第二處理模塊214,其中第三判斷模塊212用于判斷標(biāo)識為可疑的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為;第二處理模塊214用于當(dāng)?shù)谌袛嗄K212判斷可疑的程序的網(wǎng)絡(luò)行為是惡意程序的網(wǎng)絡(luò)行為時,發(fā)送風(fēng)險提示信息,和/或攔截標(biāo)識為可疑的程序的當(dāng)前網(wǎng)絡(luò)行為;當(dāng)?shù)谌袛嗄K212判斷可疑的程序的網(wǎng)絡(luò)行為不是惡意程序的網(wǎng)絡(luò)行為,發(fā)送風(fēng)險提示信息。在一些實施例中,第三判斷模塊212包括第三獲取單元和第二判斷單元,其中第三獲取單元用于獲取能夠識別的程序的網(wǎng)絡(luò)行為中的應(yīng)用層數(shù)據(jù)中的特征信息,特征信息可以是應(yīng)用層數(shù)據(jù)中的部分代碼、應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包、或者應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包中的一段數(shù)據(jù);第二判斷單元用于根據(jù)特征信息,判斷能夠識別的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為。在一些實施例中,第三判斷模塊212還包括第四獲取單元、第二發(fā)送單元和第二接收單元,其中第四獲取單元用于獲取標(biāo)識為可疑的程序的網(wǎng)絡(luò)行為中的應(yīng)用層數(shù)據(jù)中的特征信息,特征信息可以是應(yīng)用層數(shù)據(jù)中的部分代碼、應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包、或者應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包中的一段數(shù)據(jù);第二發(fā)送單元用于將特征信息發(fā)送至云端服務(wù)器,由云端服務(wù)器根據(jù)特征信息,判斷標(biāo)識為可疑的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為;以及第二接收單元用于接收云端服務(wù)器返回的判斷結(jié)果。下面結(jié)合圖3說明根據(jù)本發(fā)明又一個實施例的、適于解決上述問題的一種程序網(wǎng)絡(luò)行為識別系統(tǒng)300。如圖3所示,根據(jù)本發(fā)明實施例的一個方面該程序網(wǎng)絡(luò)行為識別系統(tǒng)300,該系統(tǒng)包括客戶端302和云端服務(wù)器304,其中客戶端302,用于在程序訪問網(wǎng)絡(luò)的過程中,獲取程序的當(dāng)前網(wǎng)絡(luò)行為中的應(yīng)用層數(shù)據(jù);判斷應(yīng)用層數(shù)據(jù)中是否包括未知的協(xié)議;如果應(yīng)用層數(shù)據(jù)中的協(xié)議都是已知的協(xié)議,則將程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為能夠識別的程序的網(wǎng)絡(luò)行為;如果應(yīng)用層數(shù)據(jù)中包括未知的協(xié)議,則將程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為可疑的程序的網(wǎng)絡(luò)行為,然后將能夠識別的程序的網(wǎng)絡(luò)行為或者可疑的程序的網(wǎng)絡(luò)行為的特征信息發(fā)送至云端服務(wù)器;可選地,該客戶端可以是移動電話、平板電腦或者個人計算機等;云端服務(wù)器304用于根 據(jù)特征信息判斷能夠識別的程序的網(wǎng)絡(luò)行為、或可疑的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為,并向客戶端返回判斷結(jié)果。在一些實施例中,云端服務(wù)器304中包括一用于存儲黑白名單庫的數(shù)據(jù)庫,云端服務(wù)器根據(jù)黑白名單庫中的黑白名單,判斷能夠識別的程序的網(wǎng)絡(luò)行為、或者可疑的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為。如圖3所示,根據(jù)本發(fā)明實施的另一個方面該程序網(wǎng)絡(luò)行為識別系統(tǒng)300,包括客戶端302和云端服務(wù)器304,其中客戶端302,用于在程序訪問網(wǎng)絡(luò)的過程中,獲取程序的當(dāng)前網(wǎng)絡(luò)行為中的數(shù)據(jù)包,數(shù)據(jù)包包括應(yīng)用層數(shù)據(jù),以及接收云端服務(wù)器304返回的識別結(jié)果;云端服務(wù)端304,用于接收客戶端302獲取的程序的當(dāng)前網(wǎng)絡(luò)行為中數(shù)據(jù)包,判斷應(yīng)用層數(shù)據(jù)中是否包括未知的協(xié)議;若應(yīng)用層數(shù)據(jù)中的協(xié)議都是已知的協(xié)議,則將程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為能夠識別的程序的網(wǎng)絡(luò)行為;若應(yīng)用層數(shù)據(jù)中包括未知的協(xié)議,則將程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為可疑的程序的網(wǎng)絡(luò)行為,向客戶端發(fā)送識別結(jié)果。在一些實施例中,云端服務(wù)器304還可獲取能夠識別的程序的網(wǎng)絡(luò)行為或者可疑的程序的網(wǎng)絡(luò)行為的特征信息,根據(jù)特征信息判斷所述能夠識別的程序的網(wǎng)絡(luò)行為、或所述可疑的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為,并向客戶端304返回判斷結(jié)果,該特征信息包括應(yīng)用層數(shù)據(jù)中的部分代碼、應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包、或者應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包中的一段數(shù)據(jù)。在一些實施例中,該客戶端302還可包括存儲器(其可包括一個或多個計算機可讀存儲介質(zhì)),存儲器控制器,一個或多個處理單元(CPU),外設(shè)接口,RF電路,音頻電路,揚聲器,傳聲器,輸入/輸出(I/O)子系統(tǒng),其他輸入會控制客戶端,以及外部端口??蛻舳丝梢园ㄒ粋€或多個光學(xué)傳感器,這些部件可以通過一個或多個通信總線或信號線來通信。應(yīng)當(dāng)理解,客戶端302僅僅是便攜式多功能設(shè)備的一個示例,并且客戶端可以具有比所示出的更多或更少的部件,可以組合兩個或更多個部件,或者可以具有不同的部件配置或設(shè)置。
存儲器可以包括高速隨機存取存儲器,并且還可以包括非易失性存儲器,例如一個或多個磁盤存儲器件、閃存器件、或其他非易失性存儲器??蛻舳说闹T如CPU和外設(shè)接口的其他部件對存儲器的訪問可由存儲器控制器來控制。外設(shè)接口將客戶端的輸入和輸出外設(shè)耦接到CPU和存儲器。一個或多個處理器運行或執(zhí)行存儲在存儲器中的各種軟件程序和/或指令集,以實現(xiàn)客戶端的各種功能并且處
理數(shù)據(jù)。在一些實施例中,外設(shè)接口、CPU以及存儲器控制器可以在諸如芯片的單個芯片上實現(xiàn)。在一些其他實施例中,它們可以在分立的芯片上實現(xiàn)。RF (射頻)電路接收并發(fā)送RF信號。RF電路將電信號轉(zhuǎn)換為電磁信號/將電磁信號轉(zhuǎn)換為電信號,并且通過該電磁信號與通信網(wǎng)絡(luò)以及其他通信設(shè)備進行通信。RF電路可以包括用于執(zhí)行這些功能的已知電路,其包括但不限于天線系統(tǒng)、RF收發(fā)機、一個或多個放大器、調(diào)諧器、一個或多個振蕩器、數(shù)字信號處理器、CODEC芯片組、用戶標(biāo)識模塊(SM)卡、存儲器等等。音頻電路、揚聲器、以及傳聲器提供了用戶與客戶端之間的音頻接口。音頻電路從外設(shè)接口接收音頻數(shù)據(jù),將該音頻數(shù)據(jù)轉(zhuǎn)換為電信號,并且將該電信號發(fā)送給揚聲器。揚聲器將該電信號轉(zhuǎn)換為人聽得到的聲波。音頻電路還接收傳聲器從聲波轉(zhuǎn)換來的電信號。音頻電路將電信號轉(zhuǎn)換為音頻數(shù)據(jù),并將該音頻數(shù)據(jù)發(fā)送到外設(shè)接口用以進行處理??赏ㄟ^外設(shè)接口從存儲器和/或RF電路檢索音頻數(shù)據(jù)并且/或者將音頻數(shù)據(jù)發(fā)送到存儲器和/或RF電路。
I/O子系統(tǒng)將客戶端上的輸入/輸出外設(shè)耦接到外設(shè)接口。I/O子系統(tǒng)可包括顯示控制器和用于其他輸入或控制客戶端的一個或多個輸入控制器。一個或多個輸入控制器從/向其他輸入或控制客戶端接收/發(fā)送電信號。其他輸入/控制客戶端可以包括物理按鈕、撥號盤、滑動開關(guān)、操縱桿、點擊滾輪等等。在一些另選實施例中,輸入控制器可以耦接到以下中的任一個鍵盤、紅外端口、USB端口、以及諸如鼠標(biāo)的指示設(shè)備。觸摸敏感式觸摸屏提供了客戶端與用戶之間的輸入接口和輸出接口。顯示控制器從/向觸摸屏接收和/或發(fā)送電信號。觸摸屏將可視輸出顯示給用戶。可視輸出可包括圖形、文本、圖標(biāo)、視頻以及其任意組合(統(tǒng)稱為“圖形”)。觸摸屏具有用于基于觸覺和/或觸感接觸接受來自用戶的輸入的觸摸敏感表面、傳感器或傳感器組。觸摸屏以及顯示控制器檢測觸摸屏上的接觸,并將檢測到的接觸轉(zhuǎn)換為與顯示在觸摸屏上的用戶界面對象的交互。在一個示例實施例中,觸摸屏與用戶之間的接觸點對應(yīng)于用戶的手指。在其他實施例中也可采用其他顯示技術(shù)。在此提供的算法和顯示不與任何特定計算機、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細(xì)節(jié)的情況下實踐。在一些實例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。
類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖即所要求保護的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式
的權(quán)利要求書由此明確地并入該具體實施方式
,其中每個權(quán)利要求本身都作為本發(fā)明的單獨實施例。本領(lǐng)域那些技術(shù)人員可以理解,可以對實施例中的設(shè)備中的模塊進行自適應(yīng)性地改變并且把它們設(shè)置在與該實施例不同的一個或多個設(shè)備中??梢园褜嵤├械哪K或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的替代特征來代替。此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征, 但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權(quán)利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP)來實現(xiàn)根據(jù)本發(fā)明實施例的程序網(wǎng)絡(luò)行為識別系統(tǒng)中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計算機程序和計算機程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。應(yīng)該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計出替換實施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
權(quán)利要求
1.一種程序網(wǎng)絡(luò)行為識別方法,其包括 在程序訪問網(wǎng)絡(luò)的過程中,獲取程序的當(dāng)前網(wǎng)絡(luò)行為中的應(yīng)用層數(shù)據(jù); 判斷所述應(yīng)用層數(shù)據(jù)中是否包括未知的協(xié)議; 若所述應(yīng)用層數(shù)據(jù)中的協(xié)議都是已知的協(xié)議,則將所述程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為能夠識別的程序的網(wǎng)絡(luò)行為; 若所述應(yīng)用層數(shù)據(jù)中包括未知的協(xié)議,則將所述程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為可疑的程序的網(wǎng)絡(luò)行為; 其中,在將所述程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為能夠識別的程序的網(wǎng)絡(luò)行為的步驟之后,所述方法還包括 判斷所述能夠識別的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為; 若是惡意程序的網(wǎng)絡(luò)行為,則發(fā)送風(fēng)險提示信息,和/或攔截所述能夠識別的程序的當(dāng)前網(wǎng)絡(luò)行為; 若不是惡意程序的網(wǎng)絡(luò)行為,則將所述能夠識別的程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為正常的網(wǎng)絡(luò)行為。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判斷所述應(yīng)用層數(shù)據(jù)中是否包括未知的協(xié)議的步驟為 根據(jù)已知的協(xié)議的格式,判斷所述應(yīng)用層數(shù)據(jù)中是否包括未知的協(xié)議,如果應(yīng)用層數(shù)據(jù)中的協(xié)議都能識別,則判斷應(yīng)用層數(shù)據(jù)都是已知的協(xié)議,如果應(yīng)用層數(shù)據(jù)中有至少部分協(xié)議不能識別,則判斷應(yīng)用層數(shù)據(jù)包括未知的協(xié)議。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述已知的協(xié)議至少包括下列中的至少一個超文本傳送協(xié)議、域名系統(tǒng)協(xié)議、簡單郵件傳輸協(xié)議、文件傳送協(xié)議、簡單網(wǎng)絡(luò)管理協(xié)議和郵局協(xié)議第3版協(xié)議。
4.根據(jù)權(quán)利要求Γ3任一所述的方法,其特征在于,所述判斷所述能夠識別的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為的步驟包括 獲取所述能夠識別的程序的網(wǎng)絡(luò)行為中的應(yīng)用層數(shù)據(jù)中的特征信息,所述特征信息包括應(yīng)用層數(shù)據(jù)中的部分代碼、應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包、或者應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包中的一段數(shù)據(jù); 根據(jù)所述特征信息,判斷所述能夠識別的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述判斷所述能夠識別的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為的步驟包括 獲取能夠識別的程序的網(wǎng)絡(luò)行為中的應(yīng)用層數(shù)據(jù)中的特征信息,所述特征信息包括應(yīng)用層數(shù)據(jù)中的部分代碼、應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包、或者應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包中的一段數(shù)據(jù); 將所述特征信息發(fā)送至云端服務(wù)器,由所述云端服務(wù)器根據(jù)所述特征信息判斷所述能夠識別的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為,并返回判斷結(jié)果。
6.根據(jù)權(quán)利要求f4任一所述的方法,其特征在于,在將所述程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為可疑的程序的網(wǎng)絡(luò)行為的步驟之后,所述方法還包括 判斷所述可疑的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為;若是惡意程序的網(wǎng)絡(luò)行為,則發(fā)送風(fēng)險提示信息,和/或攔截所述可疑的程序的當(dāng)前網(wǎng)絡(luò)行為; 若不是惡意程序的網(wǎng)絡(luò)行為,則發(fā)送風(fēng)險提示信息。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述判斷所述可疑的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為的步驟包括 獲取所述可疑的程序的網(wǎng)絡(luò)行為中的應(yīng)用層數(shù)據(jù)中的特征信息,所述特征信息包括應(yīng)用層數(shù)據(jù)中的部分代碼、應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包、或者應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包中的一段數(shù)據(jù); 根據(jù)所述特征信息,判斷所述可疑的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為。
8.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述判斷所述可疑的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為的步驟包括 獲取所述可疑的程序的網(wǎng)絡(luò)行為中的應(yīng)用層數(shù)據(jù)中的特征信息,所述特征信息包括應(yīng)用層數(shù)據(jù)中的部分代碼、應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包、或者應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包中的一段數(shù)據(jù); 將所述特征信息發(fā)送至云端服務(wù)器,由所述云端服務(wù)器根據(jù)所述特征信息判斷所述可疑的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為,并返回判斷結(jié)果。
9.一種程序網(wǎng)絡(luò)行為識別系統(tǒng),其包括客戶端和云端服務(wù)器,其中, 所述客戶端,用于在程序訪問網(wǎng)絡(luò)的過程中,獲取程序的當(dāng)前網(wǎng)絡(luò)行為中的數(shù)據(jù)包,所述數(shù)據(jù)包包括應(yīng)用層數(shù)據(jù),以及接收所述云端服務(wù)器返回的識別結(jié)果; 所述云端服務(wù)端,用于接收所述客戶端獲取的程序的當(dāng)前網(wǎng)絡(luò)行為中數(shù)據(jù)包,判斷所述應(yīng)用層數(shù)據(jù)中是否包括未知的協(xié)議;若所述應(yīng)用層數(shù)據(jù)中的協(xié)議都是已知的協(xié)議,則將所述程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為能夠識別的程序的網(wǎng)絡(luò)行為;若所述應(yīng)用層數(shù)據(jù)中包括未知的協(xié)議,則將所述程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為可疑的程序的網(wǎng)絡(luò)行為,向所述客戶端發(fā)送識別結(jié)果; 所述云端服務(wù)器包括程序網(wǎng)絡(luò)行為識別裝置,所述程序網(wǎng)絡(luò)行為識別裝置包括 獲取模塊,用于在程序訪問網(wǎng)絡(luò)的過程中,獲取所述程序的當(dāng)前網(wǎng)絡(luò)行為中的應(yīng)用層數(shù)據(jù); 第一判斷模塊,用于判斷所述應(yīng)用層數(shù)據(jù)中是否包括未知的協(xié)議; 識別模塊,用于在所述應(yīng)用層數(shù)據(jù)中的協(xié)議都是已知的協(xié)議時,將所述程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為能夠識別的程序的網(wǎng)絡(luò)行為;以及當(dāng)所述應(yīng)用層數(shù)據(jù)中包括未知的協(xié)議時,將所述程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為可疑的程序的網(wǎng)絡(luò)行為。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述第一判斷模塊進一步用于根據(jù)已知的協(xié)議的格式,判斷所述應(yīng)用層數(shù)據(jù)中是否包括未知的協(xié)議。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其特征在于,所述已知的可以識別的協(xié)議至少包括下列中的至少一個超文本傳送協(xié)議、域名系統(tǒng)協(xié)議、簡單郵件傳輸協(xié)議、文件傳送協(xié)議、簡單網(wǎng)絡(luò)管理協(xié)議和郵局協(xié)議第3版協(xié)議。
12.根據(jù)權(quán)利要求擴11任一所述的系統(tǒng),其特征在于,所述程序網(wǎng)絡(luò)行為識別裝置還包括 第二判斷模塊,用于判斷所述能夠識別的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為; 第一處理模塊,用于當(dāng)所述第二判斷模塊判斷所述能夠識別的程序的網(wǎng)絡(luò)行為是惡意程序的網(wǎng)絡(luò)行為時,發(fā)送風(fēng)險提示信息,和/或攔截所述能夠識別的程序的當(dāng)前網(wǎng)絡(luò)行為;以及用于當(dāng)所述第二判斷模塊判斷所述能夠識別的程序的網(wǎng)絡(luò)行為不是惡意程序的網(wǎng)絡(luò)行為,將所述能夠識別的程序的當(dāng)前網(wǎng)絡(luò)行為識別正常的網(wǎng)絡(luò)行為。
13.根據(jù)權(quán)利要求12所述的系統(tǒng),其特征在于,所述第二判斷模塊包括 第一獲取單元,用于獲取能夠識別的程序的網(wǎng)絡(luò)行為中的應(yīng)用層數(shù)據(jù)中的特征信息,所述特征信息包括應(yīng)用層數(shù)據(jù)中的部分代碼、應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包、或者應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包中的一段數(shù)據(jù); 第一判斷單元,用于根據(jù)所述特征信息,判斷所述能夠識別的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為。
14.根據(jù)權(quán)利要求12所述的系統(tǒng),其特征在于,所述第二判斷模塊包括 第二獲取單元,用于獲取能夠識別的程序的網(wǎng)絡(luò)行為中的應(yīng)用層數(shù)據(jù)中的特征信息,所述特征信息包括:應(yīng)用層數(shù)據(jù)中的部分代碼、應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包、或者應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包中的一段數(shù)據(jù); 第一發(fā)送單元,用于將所述特征信息發(fā)送至云端服務(wù)器,由所述云端服務(wù)器根據(jù)所述特征信息判斷所述能夠識別的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為; 第一接收單元,用于接收所述云端服務(wù)器返回的判斷結(jié)果。
15.根據(jù)權(quán)利要求擴12任一所述的系統(tǒng),其特征在于,所述程序網(wǎng)絡(luò)行為識別裝置還包括第三判斷模塊,用于判斷所述可疑的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為;第二處理模塊,用于當(dāng)所述第三判斷模塊判斷所述可疑的程序的網(wǎng)絡(luò)行為是惡意程序的網(wǎng)絡(luò)行為時,發(fā)送風(fēng)險提示信息,和/或攔截所述可疑的程序的當(dāng)前網(wǎng)絡(luò)行為;以及用于當(dāng)所述第三判斷模塊判斷所述可疑的程序的網(wǎng)絡(luò)行為不是惡意程序的網(wǎng)絡(luò)行為時,發(fā)送風(fēng)險提示信息。
16.根據(jù)權(quán)利要求15所述的系統(tǒng),其特征在于,所述第三判斷模塊包括 第三獲取單元,用于獲取能夠識別的程序的網(wǎng)絡(luò)行為中的應(yīng)用層數(shù)據(jù)中的特征信息,所述特征信息包括應(yīng)用層數(shù)據(jù)中的部分代碼、應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包、或者應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包中的一段數(shù)據(jù); 第二判斷單元,用于根據(jù)所述特征信息,判斷所述能夠識別的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為。
17.根據(jù)權(quán)利要求15或所述的系統(tǒng),其特征在于,所述第三判斷模塊包括 第四獲取單元,用于獲取所述可疑的程序的網(wǎng)絡(luò)行為中的應(yīng)用層數(shù)據(jù)中的特征信息,所述特征信息包括應(yīng)用層數(shù)據(jù)中的部分代碼、應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包、或者應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包中的一段數(shù)據(jù); 第二發(fā)送單元,用于將所述特征信息發(fā)送至云端服務(wù)器,由所述云端服務(wù)器根據(jù)所述特征信息,判斷所述可疑的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為; 第二接收單元,用于接收所述云端服務(wù)器返回的判斷結(jié)果。
18.根據(jù)權(quán)利要求9至17中任一項所述的系統(tǒng),其特征在于,所述云端服務(wù)器獲取能夠識別的程序的網(wǎng)絡(luò)行為或者可疑的程序的網(wǎng)絡(luò)行為的特征信息,根據(jù)所述特征信息判斷所述能夠識別的程序的網(wǎng)絡(luò)行為、或所述可疑的程序的網(wǎng)絡(luò)行為是否為惡意程序的網(wǎng)絡(luò)行為,并向所述客戶端返回判斷結(jié)果; 所述特征信息包括應(yīng)用層數(shù)據(jù)中的部分代碼、應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包、或者應(yīng)用層數(shù)據(jù)中的數(shù)據(jù)包中的一段數(shù)據(jù)。
全文摘要
本發(fā)明公開了一種程序網(wǎng)絡(luò)行為識別方法及系統(tǒng),該系統(tǒng)包括客戶端和云端服務(wù)器,客戶端用于在程序訪問網(wǎng)絡(luò)的過程中,獲取程序的當(dāng)前網(wǎng)絡(luò)行為中的數(shù)據(jù)包以及接收云端服務(wù)器返回的識別結(jié)果;云端服務(wù)端用于接收客戶端獲取的程序的當(dāng)前網(wǎng)絡(luò)行為中數(shù)據(jù)包,判斷應(yīng)用層數(shù)據(jù)中是否包括未知的協(xié)議;若都是已知的協(xié)議,則將程序的當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為能夠識別的程序的網(wǎng)絡(luò)行為;若包括未知的協(xié)議,則將當(dāng)前網(wǎng)絡(luò)行為標(biāo)識為可疑的程序的網(wǎng)絡(luò)行為,向客戶端發(fā)送識別結(jié)果。由此實現(xiàn)對程序的網(wǎng)絡(luò)行為的準(zhǔn)確識別。
文檔編號H04L29/08GK103067360SQ201210551540
公開日2013年4月24日 申請日期2012年12月18日 優(yōu)先權(quán)日2012年12月18日
發(fā)明者劉海粟, 張聰, 熊昱之 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司