欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

識別程序的網絡行為的方法、裝置及系統的制作方法

文檔序號:7869196閱讀:612來源:國知局
專利名稱:識別程序的網絡行為的方法、裝置及系統的制作方法
技術領域
本發(fā)明屬于計算機技術領域,尤其涉及一種識別程序的網絡行為的方法、裝置及系統。
背景技術
眾所周知,當今互聯網環(huán)境中,應用最為廣泛的網絡結構滿足DoD模型(又稱TCP/IP協議族)。該DoD模型包括鏈路層、互聯網層、傳輸層和應用層。一個程序若要發(fā)送或接收互聯網數據,就需要讓自己的數據符合TCP/IP協議標準,才能讓數據在互聯網中準確且有效的傳輸。而這四層協議中鏈路層、互聯網層、傳輸層的數據結構均有一套相對嚴格的標準,編程者不能擅自更改其結構,所以很容易被安全軟件或安全設備監(jiān)控到關鍵數據且難于偽裝。唯獨應用層的數據結構,具有很高的可定制特性。允許編程人員根據自己的需求和想法任意定義其中的內容與結構?,F有的對應用層的數據結構的檢測方案,主要是依靠特征碼進行檢測——即研究人員發(fā)現了某一種已經出現的網絡威脅(遠控、木馬、蠕蟲等),通過對拿到的樣本進行研究和分析,抓取其傳輸的網絡數據包,然后提取其固定特征(如某一特定偏移量處出現某一特定字符),作為程序自動檢測的依據。而入這樣的傳統解決方案最大的缺點在于存在滯后性,必須找到新型威脅的樣本加以分析,才能做出有效攔截。由此可知,傳統的識別程序的網絡行為的方式對于新出現或新變種的程序的網絡行為不能準確識別。

發(fā)明內容
鑒于上述技術問題,提出了本發(fā)明以便提供一種克服上述技術問題或者至少部分地解決上述技術問題的識別程序的網絡行為的方法、裝置及系統。依據本發(fā)明實施例的一個方面,提供了一種識別程序的網絡行為的方法,方法包括在程序訪問網絡的過程中,獲取程序的當前網絡行為中的應用層數據;判斷應用層數據中是否包括未知的協議;若應用層數據中的協議都是已知的協議,則將程序的當前網絡行為標識為能夠識別的程序的網絡行為;若應用層數據中包括未知的協議,則將程序的當前網絡行為標識為可疑的程序的網絡行為。根據本發(fā)明實施例的另一方面,提供了一種識別程序的網絡行為的裝置,裝置包括獲取模塊,用于在程序訪問網絡的過程中,獲取所述程序的當前網絡行為中的應用層數據;第一判斷模塊,用于判斷應用層數據中是否包括未知的協議;識別模塊,用于在應用層數據中的協議都是已知的協議時,將程序的當前網絡行為標識為能夠識別的程序的網絡行為;以及當應用層數據中包括未知的協議時,將程序的當前網絡行為標識為可疑的程序的網絡行為。根據本發(fā)明實施例的又一方面,提供了一種識別程序的網絡行為的系統,該系統包括客戶端和云端服務器,其中客戶端用于在程序訪問網絡的過程中,獲取程序的當前網絡行為中的應用層數據;判斷應用層數據中是否包括未知的協議;如果應用層數據中的協議都是已知的協議,則將程序的當前網絡行為標識為能夠識別的程序的網絡行為;如果應用層數據中包括未知的協議,則將程序的當前網絡行為標識為可疑的程序的網絡行為,然后將能夠識別的程序的網絡行為或者可疑的程序的網絡行為的特征信息發(fā)送至云端服務器;云端服務器用于根據特征信息判斷能夠識別的程序的網絡行為、或可疑的程序的網絡行為是否為惡意程序的網絡行為,并向客戶端返回判斷結果。根據本發(fā)明實施例的又一方面,提供了一種識別程序的網絡行為的系統,包括客戶端和云端服務器,其中客戶端,用于在程序訪問網絡的過程中,獲取程序的當前網絡行為中的數據包,數據包包括應用層數據,以及接收云端服務器返回的識別結果;云端服務端,用于接收客戶端獲取的程序的當前網絡行為中數據包,判斷應用層數據中是否包括未知的協議;若應用層數據中的協議都是已知的協議,則將程序的當前網絡行為標識為能夠識別的程序的網絡行為;若應用層數據中包括未知的協議,則將程序的當前網絡行為標識為可疑的程序的網絡行為,向客戶端發(fā)送識別結果。根據本發(fā)明實施例的識別程序的網絡行為的方法、裝置及系統,當程序的當前網絡行為中的應用層數據都是已知的協議時,將程序的當前網絡行為標識為能夠識別的程序的網絡行為;當程序的當前網絡行為中的應用層數據中包括未知的協議時,將程序的當前網絡行為標識為可疑的程序的網絡行為,由此實現對程序的網絡行為的準確識別,將包括未知的協議的程序的網絡行為標識為可疑的程序的網絡行為,并可向用戶發(fā)送風險提示信息,由用戶進行最終的選擇,由此解決了傳統的識別程序的網絡行為的方案對于新出現或新變種的程序的網絡行為不能準確識別的問題,進一步解決了傳統的識別程序的網絡行為的方案中不對未知的網絡協議進行攔截的問題,提高用戶的網絡安全性。而且,在將程序的當前網絡行為標識為能夠識別的程序的網絡行為之后,或者將程序的當前網絡行為標識為可疑的程序的網絡行為之后,客戶端可以將應用層數據中的特征信息發(fā)送至云端服務器,由云端服務器根據黑白名單庫中的黑白名單,判斷程序的網絡行為是否為惡意程序的網絡行為,通過將數據量較大、變動比較頻繁的一些黑白名單存儲在云端服務器上,由 云端服務器來識別惡意程序的網絡行為,可有效節(jié)約客戶端本地資源和降低客戶端本地機器的性能開銷,同時也可加快識別網絡行為的響應速度。上述說明僅是本發(fā)明技術方案的概述,為了能夠更清楚了解本發(fā)明的技術手段,而可依照說明書的內容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式
。


通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領域普通技術人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中圖1示出了根據本發(fā)明一個實施例的識別程序的網絡行為的方法100的流程圖;圖2示出了根據本發(fā)明另一個實施例的識別程序的網絡行為的裝置200的結構框圖;以及圖3示出了根據本發(fā)明又一個實施例的識別程序的網絡行為的系統300的結構框圖。
具體實施例方式下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠將本公開的范圍完整的傳達給本領域的技術人員。傳統的識別程序的網絡行為的方案大多由已知的數據入手,S卩試圖找到數據中哪些部分是已知的,再從這些已知的數據中找到有用的部分,用于判定該數據是否有威脅。但這種思路的弊病在于一旦網絡數據的應用層數據是未知的,那么能拿到的有效已知的數據就會很少,如此就很難對網絡行為是否存在威脅作出精確判斷,很容易放過未知的具有網絡威脅的網絡行為。 為此,本發(fā)明實施例提出的一種識別程序的網絡行為的方法、裝置及系統,其思路是基于TCP/IP協議體系中應用層的數據結構具有較高的可定制特性,一旦檢測到應用層數據中包括自定義的數據結構,即可認為當前的網絡行為存在風險,由此本發(fā)明提出的識別程序的網絡行為的方法主要是,通過判斷程序的當前網絡行為的應用層數據中是否包括未知的協議,若都是已知的協議,則將程序的當前網絡行為標識為能夠識別的程序的網絡行為;若包括未知的協議,則將程序的當前網絡行為標識為可疑的程序的網絡行為。下面結合圖1具體說明根據本發(fā)明一個實施例的、適于解決上述技術問題的識別程序的網絡行為的方法100的流程圖。如圖1所示,本發(fā)明實施例的方法100始于步驟S101。隨后,在步驟S102中,在程序訪問網絡的過程中,獲取程序的當前網絡行為的應用層數據。需要說明的是,程序是一個普通的文件,是一個機器代碼指令和數據的集合,是一個靜態(tài)的概念。進程時程序在計算機上的一次執(zhí)行過程,是一個動態(tài)的概念。同一個程序可以同時運行于若干個數據集合上,也就是說同一個程序可以對應多個進程。網絡行為是由運行中的程序(也即進程)所發(fā)起的。程序的當前網絡行為,也即是由屬于該程序的進程所發(fā)起的網絡行為。為了便于理解此步驟,首先簡單介紹一下網絡行為。網絡行為可以理解為需要通過網絡進行的各種行為,種類繁多,例如包括HTTP (HypertextTransport Protocol,超文本傳送協議)訪問(常見的有下載文件或上傳信息),SMTP (Simple Mail TransferProtocol,簡單郵件傳輸協議)請求(收發(fā)電子郵件),DNS (Domain Name System,域名系統)請求(解析域名對應的IP地址等信息)等等。其次,再介紹一下應用程序訪問網絡的流程通常一個程序如果需要連接網絡,需要通過操作系統(如Windows)提供的API (Application ProgramInterface,應用程序接口)接口發(fā)送連接網絡的請求,操作系統接收到應用程序的這種網絡請求后,會接收應用程序要發(fā)送的數據,并對接收到的數據進行封裝,之后將封裝的數據發(fā)送給物理設備(如網卡等),最后硬件設備將數據傳出?;谝陨蠎贸绦蛟L問網絡的流程,在該流程的任何一個環(huán)節(jié)對網絡行為的信息進行截獲都可以實現監(jiān)控程序的當前網絡行為的目的。具體監(jiān)控的實施方式可以但不限于以下幾種方式通過在客戶端注冊協議驅動、創(chuàng)建于操作系統相似的過濾驅動、利用操作系統提供的應用程序編程接口函數(例如hook函數)截獲當前網絡行為的信息、接管程序調用網絡編程接口函數(Winsock)的請求或者是利用注冊防火墻回調等方式,截獲程序的當前網絡行為的信息。下面進行具體的說明在應用程序訪問網絡的過程中,操作系統在處理相關數據的時候,會使用一些協議驅動和過濾驅動來獲取網絡行為的數據,所以可以注冊協議驅動或創(chuàng)建與操作系統使用的過濾驅動相似的過濾驅動,進而獲取到網絡行為的數據。
具體實施方式
可以是向NDIS(Network Driver Interface Specification,網絡驅動程序接口規(guī)范)注冊協議驅動,也可以在 Afd.sys (Ancillary Function Driverfor Winsock, Winsock 的輔助功能驅動)驅動設備棧、Td1. sys (Transport DispatchInterface,傳輸分配接口)驅動設備?;騎cpip.sys (Transmission ControIProtoco 1/Internet Protocol,傳輸控制 / 網絡通訊協議)驅動設備棧上增加與操作系統相似的過濾驅動。另外,獲取程序的當前網絡行為中的應用層數據還可以通過以下方式來實現利用hook函數將網絡行 為的數據截獲。
具體實施方式
可以是用hook函數截獲WindowsSSDT (System Services Descriptor Table,系統服務描述符表)中內核提供的與設備通信接口 NtDeviceIoControl函數,獲取所有應用程序設備通信的數據,過濾其中對Afd. sys發(fā)送的請求;還可以是利用hook函數截獲Tcpip. sys驅動提供的服務函數或NDIS. sys導出的接口等,通過上述方式來監(jiān)控程序的網絡行為。當然也可以通過以下方式來對程序的網絡行為進行監(jiān)控根據Windows的LSP (Layered Service Provider,分層服務提供商),可以講LSP機制進行擴展,使用自己的DLL文件接管所有應用程序調用Winsock的請求后,再轉發(fā)到Windows自身的mswsock. dll中去,或者也可以是向Windows系統IP設備驅動發(fā)送IOCTL_IP_SET_FIREWALL_HOOK注冊防火墻回調等等。在實踐中,監(jiān)控程序的網絡行為時,可以根據實際情況選擇以上不同的方式,當然監(jiān)控網絡行為的方式也不限于以上所列舉的方式。隨后,在步驟S104中,判斷應用層數據中是否包括未知的協議,在一些實施例中,可根據已知的協議的格式,判斷應用層數據中是否包括未知的協議。例如已知的協議至少包括下列中的至少一個HTTP協議、DNS協議、SMTP協議、FTP協議(File TransferProtocol,文件傳輸協議)、SNMP 協議(SimpleNetwork Management Protocol,簡單網絡管理協議)和POP3協議(郵局協議的第3個版本協議)??蛇x地,在客戶端上預先收集數量足夠多的已知的協議,該已知的協議包括HTTP協議、DNS協議、SMTP協議等三種協議,也可以包括一些加密協議,例如FTP協議等。加密協議主要是在數據包中對未知的協議進行統一的加密格式進行封裝,數據包里面附加一些可識別的常用協議,這些常用的協議可以包括=SNMP協議、POP3協議、eMule/eDonkey協議,或者BITTORRENT協議等。由于不同的協議其本身有一些固定的格式,因此對于已知的協議可檢測協議的本身的格式,例如HTTP協議包括協議頭,但沒有協議尾,Host、Refer等字段均屬于協議頭中所包含的內容,協議頭中常見的格式包括Host、Refer、User-agent、Url等字段部分。如果應用層數據中包括未知的協議,則可認為存在風險。雖然應用層數據可以由軟件開發(fā)人員隨意指定,但為了互聯網中數據傳輸的方便,已經在實際應用過程中形成了一套通用協議(也可稱為已知的協議)標準。已知的協議如DNS協議、HTTP協議、FTP協議、SMTP 協議、SSL/TLS 協議、SSH 協議、uTorrent 協議、eMule/eDonkey 協議、BitTorrent 協議等,上述已知的協議占據了網絡數據中的絕大部分。只要能有效識別和分析上述已知的協議的數據結構,那么剩下的未知的協議將會是極少數的。由于已知的協議基本可以滿足所有數據傳輸需求,所以有理由認為凡是需要自定義協議(即未知的協議)進行數據傳輸的,都應該是有某種特殊需求而在某一極小范圍的特定環(huán)境中使用,而不應該在互聯網當中廣泛傳播。故此將包含有未知的協議的應用層數據列為可疑,有必要向用戶進行風險提示。具體到方法100的流程中,可預先收集已知的協議的格式,已知的協議包括但不限于DNS協議、HTTP協議、FTP協議、SMTP協議、SSL/TLS協議、SSH協議、uTorrent協議、eMule/eDonkey協議、BitTorrent協議等,然后在步驟S104中,根據預先收集的已知的協議的格式,對應用層數據中的協議進行識別,如果應用層數據中的協議都能識別,則判斷應用層數據中都是已知的協議,如果應用層數據中有至少部分協議不能識別,則判斷應用層數據中包括未知的協議。如果在步驟S104中判斷出應用層數據中的協議都是已知的協議,則進行步驟S106。在步驟S106中,將程序的當前網絡行為標識為能夠識別的程序的網絡行為。也就是,當網絡行為的應用層數據中的協議都是已知的協議時,意味著能夠識別該網絡行為,此時在步驟S106中可將該網絡行為標識為能夠識別的程序的網絡行為。例如通過標識符“ I ”將網絡行為 標識為能夠識別的程序的網絡行為。當然可以理解的是,在本發(fā)明的實施例中并不限定標識符的具體形式。在步驟S106之后,可進入結束步驟S121。但是為了進一步判斷能夠識別的程序的網絡行為是否為惡意程序的網絡行為,可在步驟S106之后進入步驟S110,在步驟SllO中,判斷能夠識別的程序的網絡行為是否為惡意程序的網絡行為。惡意程序通常是指帶有攻擊意圖的操作方所編寫的一段程序。這些威脅可以分成兩個類別需要宿主程序的威脅和彼此獨立的威脅。前者基本上是不能獨立于某個實際的應用程序、實用程序或系統程序的程序片段;后者是可以被操作系統調度和運行的自包含程序。惡意程序包括陷門、邏輯炸彈、特洛伊木馬、蠕蟲、細菌和病毒等等。在一些實施例中,可采用以下兩種方式判斷能夠識別的程序的網絡行為是否為惡意程序的網絡行為,其中方式一,在客戶端上預設一個模塊用于存儲黑白名單庫中的黑白名單,由客戶端通過黑白名單以及獲取的特征信息可判斷網絡行為是否為惡意程序的網絡行為??蛇x地,網絡防御相關的黑白名單可以針對不同協議進行不同的檢查項。例如
(I)通用檢查項,包括檢查遠端ip地址,本地端口、遠端端口、傳輸層協議(通常為TCP或UDP之一)。(2)協議類型檢查,有些已知協議可能會被木馬遠控用于傳輸數據,此類已知協議一旦被發(fā)現即可被判斷為被惡意程序使用的數據協議包。(3)協議詳情檢查,其他已知協議,根據協議特有的結構獲取其中有參考價值并且不會涉及檢測的對象本身,以此為依據作為黑白判斷的標準,該協議詳情會根據協議的不同而具體項目也會不同,如在客戶端上檢測HTTP協議中的URL、Host、Referer> User-Agent等加密后的字段;檢測DNS協議中的Queries信息中的Name和Type等加密后的字段。具體地,客戶端獲取能夠識別的程序的網絡行為的應用層數據中的特征信息,該特征信息可以是應用層數據中的部分代碼、應用層數據中的數據包、或者應用層數據中的數據包中的一段數據;根據客戶端上的黑白名單,以及獲取的特征信息,判斷能夠識別的程序的網絡行為是否為惡意程序的網絡行為。以網絡行為是HTTP訪問行為進行介紹,具體到上述步驟中,在步驟S102中獲取HTTP訪問行為的應用層數據。在步驟S104中,根據已知的HTTP協議的格式判斷出該HTTP訪問行為包括的協議都是已知的協議。然后在步驟S106中,將HTTP訪問行為標識為能夠識別的程序的網絡行為。接著在步驟SllO中,獲取HTTP訪問行為的應用層數據中的特征信息,例如Host字段、Url字段、IP地址字段等,并根據黑白名單庫中的黑白名單判斷上述特征信息是否屬于惡意程序的網絡行為中的特征信息,如果屬于,則該網絡行為屬于惡意程序的網絡行為,進入到步驟S112中,如果不屬于,則該網絡行為屬于正常的網絡行為,進入到步驟SI 14中。需要說明的是,針對不同的協議,在方式一中的檢測的項目不同,例如對于DNS協議,主要是針對請求包的域名解析,判斷解析的域名的字符串,以及DNS返回來的IP地址等是否異常。對于SMTP協議主要是判斷name字段部分是否異常,例如檢測郵件發(fā)送人、接收人、發(fā)送人的名稱和域名,以及接收人的名稱和域名等是否異常。對于FTP協議和HTTP協議,主要是判斷域名和Url字段是否異常。如果上述字段與云端服務器或客戶端中的黑名單相符合,則認為該協議有風險,有必要向用戶進行風險提示。對于SMTP協議中取得的一切數據均可以MD5等哈希值進行處`理后再上傳云端服務器,黑白名單在云端服務器中僅檢測SMTP協議中的數據的MD5值,不涉及郵件內容本身。方式二,在云端服務器上預設一個數據庫,該數據庫用于存儲黑白名單庫中的黑白名單,客戶端將獲取的特征信息發(fā)送到云端服務器,由云端服務器根據黑白名單以及接收到的特征信息判斷網絡行為是否為惡意程序的網絡行為。具體地,首先客戶端獲取能夠識別的程序的網絡行為中的應用層數據中的特征信息,該特征信息可以是應用層數據中的部分代碼(例如Host字段或者Url字段)、應用層數據中的數據包、或者應用層數據中的數據包中的一段數據。通常情況下,應用層數據中除了包括用于傳輸的字段之外,也會有一些自定義的數據。例如用戶用HTTP或FTP向網站或服務器上傳文件時,除了由URL和Host等字段指定用戶上傳的一些必要識別信息之外,用戶上傳的文件本身就會被作為一個數據包,附加在HTTP或FTP協議中向指定服務器進行傳輸。此時,用戶上傳的文件內容就屬于上述的應用層協議中的數據包(當然,文件大的話有可能會被拆分成多個數據包進行傳輸)。這僅為一個比較常見的例子,對于不同協議和不同的應用情景,這種數據包會以不同形式出現。當然,某些情形下也可能不存在這種數據包或數據包為空。然后,客戶端將特征信息發(fā)送至云端服務器,由云端服務器根據黑白名單庫中的黑白名單判斷上述特征信息是否屬于惡意程序的網絡行為中的特征信息,并向客戶端返回判斷結果,如果屬于,則該網絡行為屬于惡意程序的網絡行為,進入到步驟S112中,如果不屬于,則該網絡行為屬于正常的網絡行為,進入到步驟S114中。由于云端服務器的存儲空間要遠遠大于客戶端,因此云端服務器上可以盡可能多的預先存儲黑白名單庫,進而可以提高網絡行為識別的準確性。同時,在云端服務器上對于最新收集到的黑白名單庫之后可以及時進行更新處理。
回到上述方法100的流程中,如果在步驟SllO中判斷是惡意程序的網絡行為,則進入到步驟S112,在步驟S112中,發(fā)送風險提示信息和/或攔截能夠識別的程序的當前網絡行為,然后進入結束步驟S121。例如,如果可以確定程序的當前網絡行為是惡意程序的網絡行為,可以先暫停該程序的網絡連接,并向用戶發(fā)送提示信息,告知用戶該程序為異常,由用戶做出最終選擇,如果用戶選擇攔截,那么該網絡行為將會被徹底阻止。相反,如果在步驟SllO中判斷不是惡意程序的網絡行為,則進入到步驟S114中,將能夠識別的程序的當前網絡行為標識為正常的網絡行為,然后進入結束步驟S121。正常的網絡行為不具有風險或具有極低的風險,允許該正常的網絡行為訪問網絡。相反,如果在步驟S104中判斷出應用層數據中包括未知的協議,則進行步驟S108。在步驟S108中,將程序的當前網絡行為標識為可疑的程序的網絡行為。也就是,將程序的網絡行為的應用層數據的協議與通用的協議進行比較,當程序的網絡行為的應用層數據中包括未知的協議時,則可認為該程序的網絡行為暫時無法準確識別,可認為該網絡行為存在風險,此時可將該程序的網絡行為標識為可疑的程序的網絡行為。例如通過標識符“O”將網絡行為標識為可疑的程序的網絡行為。當然可以理解的是,在本發(fā)明的實施例中并不限定標識符的具體形式。在步驟S108之后,可進入結束步驟S121。但是為了進一步判斷可疑的程序的網絡行為是否為惡意程序的網絡行為,可在步驟S108之后進入步驟S116。在步驟S116中,判斷可疑的程序的網絡行為是否為惡意程序的網絡行為。惡意程序通常是指帶有攻擊意圖所編寫的一段程序,這些威脅可以分成兩個類別需要宿主程序的威脅和彼此獨立的威脅。前者基本上是不能獨立于某個實際的應用程序、實用程序或系統程序的程序片段;后者是可以被操作系統調度和運行的自包含程序,惡意程序包括陷門、邏輯炸彈、特洛伊木馬、蠕蟲、細菌和病毒等等。

在一些實施例中,可采用以下兩種方式判斷可疑的程序的網絡行為是否為惡意程序的網絡行為,其中方式一,在客戶端上預設一個模塊用于存儲黑白名單庫中的黑白名單,由客戶端通過黑白名單以及獲取的特征信息判斷網絡行為是否為惡意程序的網絡行為。具體地,客戶端獲取可疑的程序的網絡行為的應用層數據中的特征信息,該特征信息可以是應用層數據中的部分代碼、應用層數據中的數據包、或者應用層數據中的數據包中的一段數據;根據客戶端上的黑白名單,以及獲取的特征信息,判斷可疑的程序的網絡行為是否為惡意程序的網絡行為,如果屬于,則該網絡行為屬于惡意程序的網絡行為,進入到步驟S118中,如果不屬于,則該網絡行為屬于有風險的網絡行為,進入到步驟S120中需要說明的是,針對不同的協議,檢測的項目不同,例如對于DNS協議,主要是針對請求包的域名解析,判斷解析的域名的字符串,以及DNS返回來的IP地址等是否異常。對于SMTP協議主要是判斷name字段部分,包括郵件發(fā)送人、接收人、發(fā)送人的名稱和域名,以及接收人的名稱和域名等是否異常。對于HTTP協議,主要判斷Host、URL, User-Agent,Referer和Method等字段是否異常。對于是否異常的判斷,主要是兩個大類(I)精準匹配比如發(fā)現了一個木馬,發(fā)現該木馬連接了某個IP地址或URL,而且該IP地址或URL沒有發(fā)現有其他正當用途,那么再發(fā)現有程序去連接該IP地址或URL時,就認為該程序有異常(還可以有更復雜一些的判斷標準,比如連接某個特定IP的特定端口,才認為有異常);(2)模糊匹配,經過服務器端的應用程序的長期監(jiān)控和分析,發(fā)現大量木馬都是指向同一個IP段或同一個頂級域名,而且這個IP段或頂級域名上極少出現或根本沒出現過正常的網站。那么可以認為連接到這一個IP段或頂級域名下的程序就都是有異常的。此種情形可有更復雜的判斷標準,例如利用game456進行木馬傳播的例子game456的官方域名是game456. com和game456. net,而很多木馬所連接的域名都很接近官方域名,比如game456.me、game456. 3322. org、game456. com. abed, org 等等。那么可認為凡是類似于 game456 官方域名,具有一定欺騙性的這些域名,就都是有異常的。方式二,在云端服務器上預設一個模塊用于存儲黑白名單庫中的黑白名單,客戶端將獲取的特征信息發(fā)送到云端服務器,由云端服務器根據黑白名單以及接收到的特征信息判斷網絡行為是否為惡意程序的網絡行為??蛻舳松蟼鞯皆贫朔掌鞯奶卣餍畔⒖梢越涍^加密處理,例如通過MD5算法可以計算全部URL、主機URL、域名URL、分級域名URL、查詢路徑URL的哈希值,將此MD5哈希值發(fā)送至云端服務器,云端服務器將密文數據連同MD5哈希值返回客戶端,密文數據包括MD5哈希值。具體地,客戶端獲取可疑的程序的網絡行為中的應用層數據中的特征信息,該特征信息可以是應用層數據中的部分代碼(例如Host字段或者Url字段)、應用層數據中的數據包、或者應用層數據中的數據包中的一段數據;客戶端將特征信息發(fā)送至云端服務器,由云端服務器根據黑白名單庫中的黑白名單判斷上述特征信息是否屬于惡意程序的網絡行為中的特征信息,并向客戶端返回判斷結果,如果屬于,則該網絡行為屬于惡意程序的網絡行為,進入到步驟S118中,如果不屬于,則該網絡行為屬于有風險的網絡行為,進入到步驟S120 中。由于云端服務器的存儲空間要遠遠大于客戶端,因此云端服務器上可以盡可能多的預先存儲黑白名單庫,進而可以提高網絡行為識別的準確性。同時,對于最新收集到的黑白名單庫之后可以及時進行處理。在一些實施例中,為了節(jié)約客戶端的本地資源和降低客戶端的性能開銷,同時也為了提高響應速度,可把數據量較大、變動比較頻繁的一些黑白名單保存到云端服務器上,而把一些相對比較固定、命中非常精準、數據量很小的一部分黑白名單保存到客戶端上。 如果在步驟S116中判斷是惡意程序的網絡行為,則進入到步驟S118中。在步驟S118中,發(fā)送風險提示信息和/或攔截標識為可疑的程序的當前網絡行為,然后進入結束步驟S121。例如,如果可以確定程序的當前網絡行為是惡意程序的網絡行為,可以先暫停該程序的網絡連接,并向用戶發(fā)送提示信息,告知用戶該程序為異常,由用戶做出最終選擇,如果用戶選擇攔截,那么該網絡行為將會被徹底阻止。相反,如果在步驟S116中判斷不是惡意程序的網絡行為,則進入到步驟S120中。在步驟S120中,發(fā)送風險提示信息,然后進入結束步驟S121。也就是,雖然可疑的程序的網絡行為不是惡意程序的網絡行為,但該可疑的程序的網絡行為存在風險,因此通過步驟S120向用戶發(fā)送風險提示信息,由用戶做出最終的選擇。需要說明的是,圖1所示的方法并不限定按所示的各步驟的順序進行,可以根據需要調整各步驟的先后順序,另外,所述步驟也不限定于上述步驟劃分,上述步驟可以進一步拆分成更多步驟也可以合并成更少步驟。下面結合圖2說明根據本發(fā)明另一個實施例的、適于解決上述問題的一種識別程序的網絡行為的裝置200。如圖2所示,該識別程序的網絡行為的裝置200包括獲取模塊202、第一判斷模塊204和識別模塊206,其中獲取模塊202,用于獲取程序的當前網絡行為中的應用層數據;第一判斷模塊204,用于判斷應用層數據中是否包括未知的協議;識別模塊206,用于在應用層數據中的協議都是已知的協議時,將程序的當前網絡行為標識為能夠識別的程序的網絡行為;以及當應用層數據中包括未知的協議時,將程序的當前網絡行為標識為可疑的程序的網絡行為。在一些實施例中,第一判斷模塊202進一步用于根據已知的協議的格式,判斷應用層數據中是否包括未知的協議。例如,在客戶端上預先存儲數量足夠多的已知的協議,該已知的協議包括=HTTP協議、DNS協議、SMTP協議等三種協議,也可以包括一些加密協議,例如FTP協議等。加密協議主要是在數據包中對未知的協議進行統一的加密格式進行封裝,數據包里面附加一些可識別的常用協議,這些常用的協議可以包括=SNMP協議、POP3協議、EDONKEY協議,或者BITTORRENT協議等。由于不同的協議其本身有一些固定的格式,因此對于已知的協議可檢測協議的本身的格式,例如=HTTP協議檢測協議頭和協議尾,Host,Refer等字段部分,HTTP協議包括協議頭,但沒有協議尾,Host、Refer等字段均屬于協議頭中所包含的內容,協議頭中常見的格式包括Host、Refer、User-agent、Url等字段部分。而未知的協議則認為是有風險的,如果是未知的協議,不在可識別的協議所包括的范圍內,則有可能有自定義的協議在里面。參見圖2,在本發(fā)明的另一個實施例中,裝置200還包括第二判斷模塊208和第一處理模塊210,其中第二判斷模塊208用于判斷能夠識別的程序的網絡行為是否為惡意程序的網絡行為;第一處理模塊210用于當第二判斷模塊208判斷能夠識別的程序的網絡行為為惡意程序的網絡行為時,發(fā)送風險提示信息,和/或攔截能夠識別的程序的當前網絡行為;當第二判斷模塊208判斷能夠識別的程序的網絡行為不是惡意程序的網絡行為,將能夠識別的程序的當前網絡行為識別正常的網絡行為。在一些實施例中,第二判斷模塊208包括第一獲取單元和第一判斷單元,其中第一獲取單元用于獲取能夠識別的程序的網絡行為中的應用層數據中的特征信息,,特征信息可以是應用層數據中的部分代碼、應用層數據中的數據包、或者應用層數據中的數據包中的一段數據;第一判斷單元用于根據特征信息,判斷能夠識別的程序的網絡行為是否為惡意程序的網絡行為。在一些實施例中,第二判斷模塊208還包括第二獲取單元、第一發(fā)送單元和第一接收單元,其中第二獲取單元用于獲取能夠識別的程序的網絡行為中的應用層數據中的特征信息,特征信息可以是應用層數據中的部分代碼、應用層數據中的數據包、或者應用層數據中的數據包中的一段數據;第一發(fā)送單元用于將特征信息發(fā)送至云端服務器,由云端服務器根據特征信息判斷能夠識別的程序的網絡行為是否為惡意程序的網絡行為;以及第一接收單元用于接收所述云端服務器返回的判斷結果。繼續(xù)參見圖2,裝置200還包括第三判斷模塊212和第二處理模塊214,其中第三判斷模塊212用于判斷標識為可疑的程序 的網絡行為是否為惡意程序的網絡行為;第二處理模塊214用于當第三判斷模塊212判斷可疑的程序的網絡行為是惡意程序的網絡行為時,發(fā)送風險提示信息,和/或攔截標識為可疑的程序的當前網絡行為;當第三判斷模塊212判斷可疑的程序的網絡行為不是惡意程序的網絡行為,發(fā)送風險提示信息。在一些實施例中,第三判斷模塊212包括第三獲取單元和第二判斷單元,其中第三獲取單元用于獲取能夠識別的程序的網絡行為中的應用層數據中的特征信息,特征信息可以是應用層數據中的部分代碼、應用層數據中的數據包、或者應用層數據中的數據包中的一段數據;第二判斷單元用于根據特征信息,判斷能夠識別的程序的網絡行為是否為惡意程序的網絡行為。在一些實施例中,第三判斷模塊212還包括第四獲取單元、第二發(fā)送單元和第二接收單元,其中第四獲取單元用于獲取標識為可疑的程序的網絡行為中的應用層數據中的特征信息,特征信息可以是應用層數據中的部分代碼、應用層數據中的數據包、或者應用層數據中的數據包中的一段數據;第二發(fā)送單元用于將特征信息發(fā)送至云端服務器,由云端服務器根據特征信息,判斷標識為可疑的程序的網絡行為是否為惡意程序的網絡行為;以及第二接收單元用于接收云端服務器返回的判斷結果。下面結合圖3說明根據本發(fā)明又一個實施例的、適于解決上述問題的一種識別程序的網絡行為的系統300。如圖3所示,根據本發(fā)明實施例的一個方面該識別程序的網絡行為的系統300,該系統包括客戶端302和云端服務器304,其中客戶端302,用于在程序訪問 網絡的過程中,獲取程序的當前網絡行為中的應用層數據;判斷應用層數據中是否包括未知的協議;如果應用層數據中的協議都是已知的協議,則將程序的當前網絡行為標識為能夠識別的程序的網絡行為;如果應用層數據中包括未知的協議,則將程序的當前網絡行為標識為可疑的程序的網絡行為,然后將能夠識別的程序的網絡行為或者可疑的程序的網絡行為的特征信息發(fā)送至云端服務器;可選地,該客戶端可以是移動電話、平板電腦或者個人計算機等;云端服務器304用于根據特征信息判斷能夠識別的程序的網絡行為、或可疑的程序的網絡行為是否為惡意程序的網絡行為,并向客戶端返回判斷結果。在一些實施例中,云端服務器304中包括一用于存儲黑白名單庫的數據庫,云端服務器根據黑白名單庫中的黑白名單,判斷能夠識別的程序的網絡行為、或者可疑的程序的網絡行為是否為惡意程序的網絡行為。如圖3所示,根據本發(fā)明實施的另一個方面該識別程序的網絡行為的系統300,包括客戶端302和云端服務器304,其中客戶端302,用于在程序訪問網絡的過程中,獲取程序的當前網絡行為中的數據包,數據包包括應用層數據,以及接收云端服務器304返回的識別結果;云端服務端304,用于接收客戶端302獲取的程序的當前網絡行為中數據包,判斷應用層數據中是否包括未知的協議;若應用層數據中的協議都是已知的協議,則將程序的當前網絡行為標識為能夠識別的程序的網絡行為;若應用層數據中包括未知的協議,則將程序的當前網絡行為標識為可疑的程序的網絡行為,向客戶端發(fā)送識別結果。在一些實施例中,云端服務器304還可獲取能夠識別的程序的網絡行為或者可疑的程序的網絡行為的特征信息,根據特征信息判斷所述能夠識別的程序的網絡行為、或所述可疑的程序的網絡行為是否為惡意程序的網絡行為,并向客戶端304返回判斷結果,該特征信息包括應用層數據中的部分代碼、應用層數據中的數據包、或者應用層數據中的數據包中的一段數據。在一些實施例中,該客戶端302還可包括存儲器(其可包括一個或多個計算機可讀存儲介質),存儲器控制器,一個或多個處理單元(CPU),外設接口,RF電路,音頻電路,揚聲器,傳聲器,輸入/輸出(I/O)子系統,其他輸入會控制客戶端,以及外部端口??蛻舳丝梢园ㄒ粋€或多個光學傳感器,這些部件可以通過一個或多個通信總線或信號線來通信。應當理解,客戶端302僅僅是便攜式多功能設備的一個示例,并且客戶端可以具有比所示出的更多或更少的部件,可以組合兩個或更多個部件,或者可以具有不同的部件配置或設置。存儲器可以包括高速隨機存取存儲器,并且還可以包括非易失性存儲器,例如一個或多個磁盤存儲器件、閃存器件、或其他非易失性存儲器??蛻舳说闹T如CPU和外設接口的其他部件對存儲器的訪問可由存儲器控制器來控制。外設接口將客戶端的輸入和輸出外設耦接到CPU和存儲器。一個或多個處理器運行或執(zhí)行存儲在存儲器中的各種軟件程序和/或指令集,以實現客戶端的各種功能并且處 理數據。在一些實施例中,外設接口、CPU以及存儲器控制器可以在諸如芯片的單個芯片上實現。在一些其他實施例中,它們可以在分立的芯片上實現。RF (射頻)電路接收并發(fā)送RF信號。RF電路將電信號轉換為電磁信號/將電磁信號轉換為電信號,并且通過該電磁信號與通信網絡以及其他通信設備進行通信。RF電路可以包括用于執(zhí)行這些功能的已知電路,其包括但不限于天線系統、RF收發(fā)機、一個或多個放大器、調諧器、一個或多個振蕩器、數字信號處理器、CODEC芯片組、用戶標識模塊(SM)卡、存儲器等等。音頻電路、揚聲器、以及傳聲器提供了用戶與客戶端之間的音頻接口。音頻電路從外設接口接收音頻數據,將該音頻數據轉換為電信號,并且將該電信號發(fā)送給揚聲器。揚聲器將該電信號轉換為人聽得到的聲波。音頻電路還接收傳聲器從聲波轉換來的電信號。音頻電路將電信號轉換為音頻數據,并將該音頻數據發(fā)送到外設接口用以進行處理。可通過外設接口從存儲器和/或RF電路檢索音頻數據并且/或者將音頻數據發(fā)送到存儲器和/或RF電路。I/O子系統將客戶端上的輸入/輸出外設耦接到外設接口。I/O子系統可包括顯示控制器和用于其他輸入或控制客戶端的一個或多個輸入控制器。一個或多個輸入控制器從/向其他輸入或控制客戶端接收/發(fā)送電信號。其他輸入/控制客戶端可以包括物理按鈕、撥號盤、滑動開關、操縱桿、點擊滾輪等等。在一些另選實施例中,輸入控制器可以耦接到以下中的任一個鍵盤、紅外端口、USB端口、以及諸如鼠標的指示設備。觸摸敏感式觸摸屏提供了客戶端與用戶之間的輸入接口和輸出接口。顯示控制器從/向觸摸屏接收和/或發(fā)送電信號。觸摸屏將可視輸出顯示給用戶。可視輸出可包括圖形、文本、圖標、視頻以及其任意組合(統稱為“圖形”)。觸摸屏具有用于基于觸覺和/或觸感接觸接受來自用戶的輸入的觸摸敏感表面、傳感器或傳感器組。觸摸屏以及顯示控制器檢測觸摸屏上的接觸,并將檢測到的接觸轉換為與顯示在觸摸屏上的用戶界面對象的交互。在一個示例實施例中,觸摸屏與用戶之間的接觸點對應于用戶的手指。在其他實施例中也可采用其他顯示技術。
在此提供的算法和顯示不與任何特定計算機、虛擬系統或者其它設備固有相關。各種通用系統也可以與基于在此的示教一起使用。根據上面的描述,構造這類系統所要求的結構是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應當明白,可以利用各種編程語言實現在此描述的本發(fā)明的內容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。在此處所提供的說明書中,說明了大量具體細節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下實踐。在一些實例中,并未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。類似地,應當理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應將該公開的方法解釋成反映如下意圖即所要求保護的本發(fā)明要求比在每個權利要求中所明確記載的特征更多的特征。更確切地說,如下面的權利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式
的權利要求書由此明確地并入該具體實施方式
,其中每個權利要求本身都作為本發(fā)明的單獨實施例。本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變并且把它們設置在與該實施例不同的一個或多個設備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的替代特征來代替。

此外,本領域的技術人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內并且形成不同的實施例。例如,在下面的權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。 本發(fā)明的各個部件實施例可以以硬件實現,或者以在一個或者多個處理器上運行的軟件模塊實現,或者以它們的組合實現。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數字信號處理器(DSP)來實現根據本發(fā)明實施例的識別程序的網絡行為的裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現為用于執(zhí)行這里所描述的方法的一部分或者全部的設備或者裝置程序(例如,計算機程序和計算機程序產品)。這樣的實現本發(fā)明的程序可以存儲在計算機可讀介質上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網網站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。應該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領域技術人員在不脫離所附權利要求的范圍的情況下可設計出替換實施例。在權利要求中,不應將位于括號之間的任何參考符號構造成對權利要求的限制。單詞“包含”不排除存在未列在權利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。本文公開了 Al. —種識別程序的網絡行為的方法,其特征在于,所述方法包括在程序訪問網絡的過程中,獲取程序的當前網絡行為中的應用層數據;判斷所述應用層數據中是否包括未知的協議;若所述應用層數據中的協議都是已知的協議,則將所述程序的當前網絡行為標識為能夠識別的程序的網絡行為;若所述應用層數據中包括未知的協議,則將所述程序的當前網絡行為標識為可疑的程序的網絡行為。A2.根據Al所述的方法,其特征在于,所述判斷所述應用層數據中是否包括未知的協議的步驟為根據已知的協議的格式,判斷所述應用層數據中是否包括未知的協議,如果應用層數據中的協議都能識別,則判斷應用層數據都是已知的協議,如果應用層數據中有至少部分協議不能識別,則判斷應用層數據包括未知的協議。A3.根據A2所述的方法,其特征在于,所述已知的協議至少包括下列中的至少一個超文本傳送協議、域名系統協議、簡單郵件傳輸協議、文件傳送協議、簡單網絡管理協議和郵局協議第3版協議。A4.根據Af A3任一所述的方法,其特征在于,在將所述程序的當前網絡行為標識為能夠識別的程序的網絡行為的步驟之后,所述方法還包括判斷所述能夠識別的程序的網絡行為是否為惡意程序的網絡行為;若是惡意程序的網絡行為,則發(fā)送風險提示信息,和/或攔截所述能夠識別的程序的當前網絡行為;若不是惡意程序的網絡行為,則將所述能夠識別的程序的當前網絡行為標識為正常的網絡行為。A5.根據A4所述的方法,其特征在于,所述判斷所述能夠識別的程序的網絡行為是否為惡意程序的網絡行為的步驟包括獲取所述能夠識別的程序的網絡行為中的應用層數據中的特征信息,所述特征信息包括應用層數據中的部分代碼、應用層數據中的數據包、或者應用層數據中的數據包中的一段數據;根據所述特征信息,判斷所述能夠識別的程序的網絡行為是否為惡意程序的網絡行為。A6.根據A4所述的方法,其特征在于,所述判斷所述能夠識別的程序的網絡行為是否為惡意程序的網絡行為的步驟包括獲取能夠識別的程序的網絡行為中的應用層數據中的特征信息,所述特征信息包括應用層數據中的部分代碼、應用層數據中的數據包、或者應用層數據 中的數據包中的一段數據;將所述特征信息發(fā)送至云端服務器,由所述云端服務器根據所述特征信息判斷所述能夠識別的程序的網絡行為是否為惡意程序的網絡行為,并返回判斷結果。A7.根據ΑΓΑ4任一所述的方法,其特征在于,在將所述程序的當前網絡行為標識為可疑的程序的網絡行為的步驟之后,所述方法還包括判斷所述可疑的程序的網絡行為是否為惡意程序的網絡行為;若是惡意程序的網絡行為,則發(fā)送風險提示信息,和/或攔截所述可疑的程序的當前網絡行為;若不是惡意程序的網絡行為,則發(fā)送風險提示信息。AS.根據A7所述的方法,其特征在于,所述判斷所述可疑的程序的網絡行為是否為惡意程序的網絡行為的步驟包括獲取所述可疑的程序的網絡行為中的應用層數據中的特征信息,所述特征信息包括應用層數據中的部分代碼、應用層數據中的數據包、或者應用層數據中的數據包中的一段數據;根據所述特征信息,判斷所述可疑的程序的網絡行為是否為惡意程序的網絡行為。A9.根據A7所述的方法,其特征在于,所述判斷所述可疑的程序的網絡行為是否為惡意程序的網絡行為的步驟包括獲取所述可疑的程序的網絡行為中的應用層數據中的特征信息,所述特征信息包括應用層數據中的部分代碼、應用層數據中的數據包、或者應用層數據中的數據包中的一段數據;將所述特征信息發(fā)送至云端服務器,由所述云端服務器根據所述特征信息判斷所述可疑的程序的網絡行為是否為惡意程序的網絡行為,并返回判斷結果。本文公開了 B10. —種識別程序的網絡行為的裝置,其特征在于,所述裝置包括獲取模塊,用于在程序訪問網絡的過程中,獲取所述程序的當前網絡行為中的應用層數據;第一判斷模塊,用于判斷所述應用層數據中是否包括未知的協議;識別模塊,用于在所述應用層數據中的協議都是已知的協議時,將所述程序的當前網絡行為標識為能夠識別的程序的網絡行為;以及當所述應用層數據中包括未知的協議時,將所述程序的當前網絡行為標識為可疑的程序的網絡行為。Bll.根據BlO所述的裝置,其特征在于,所述第一判斷模塊進一步用于根據已知的協議的格式,判斷所述應用層數據中是否包括未知的協議。B12.根據Bll所述的裝置,其特征在于,所述已知的可以識別的協議至少包括下列中的至少一個超文本傳送協議、域名系統協議、簡單郵件傳輸協議、文件傳送協議、簡單網絡管理協議和郵局協議第3版協議。B13.根據Β1(ΓΒ12任一所述的裝置,其特征在于,所述裝置還包括第二判斷模塊,用于判斷所述能夠識別的程序的網絡行為是否為惡意程序的網絡行為;第一處理模塊,用于當所述第二判斷模塊判斷所述能夠識別的程序的網絡行為是惡意程序的網絡行為時,發(fā)送風險提示信息,和/或攔截所述能夠識別的程序的當前網絡行為;以及用于當所述第二判斷模塊判斷所述能夠識別的程序的網絡行為不是惡意程序的網絡行為,將所述能夠識別的程序的當前網絡行為識別正常的網絡行為。Β14.根據Β13所述的裝置,其特征在于,所述第二判斷模塊包括第一獲取單元,用于獲取能夠識別的程序的網絡行為中的應用層數據中的特征信息,所述特征信息包括應用層數據中的部分代碼、應用層數據中的數據包、或者應用層數據中的數據包中的一段數據;第一判斷單元,用于根據所述特征信息,判斷所述能夠識別的程序的網絡行為是否為惡意程序的網絡行為。Β15.根據Β13所述的裝置,其特征在于,所述第二判斷模塊包括第二獲取單元,用于獲取能夠識別的程序的網絡行為中的應用層數據中的特征信息,所述特征信息包括應用層數據中的部分代碼、應用層數據中的數據包、或者應用層數據中的數據包中的一段數據;第一發(fā)送單元,用于將所述特征信息發(fā)送至云端服務器,由所述云端服務器根據所述特征信息判斷所述能夠識別的程序的網絡行為是否為惡意程序的網絡行為;第一接收單元,用于接收所述云端服務器返回的判斷結果。Β16.根據Β1(ΓΒ13任一所述的裝置,其特征在于,所述裝置還包括第三判斷模塊,用于判斷所述可 疑的程序的網絡行為是否為惡意程序的網絡行為;第二處理模塊,用于當所述第三判斷模塊判斷所述可疑的程序的網絡行為是惡意程序的網絡行為時,發(fā)送風險提示信息,和/或攔截所述可疑的程序的當前網絡行為;以及用于當所述第三判斷模塊判斷所述可疑的程序的網絡行為不是惡意程序的網絡行為時,發(fā)送風險提示信息。Β17.根據Β16所述的裝置,其特征在于,所述第三判斷模塊包括第三獲取單元,用于獲取能夠識別的程序的網絡行為中的應用層數據中的特征信息,所述特征信息包括應用層數據中的部分代碼、應用層數據中的數據包、或者應用層數據中的數據包中的一段數據;第二判斷單元,用于根據所述特征信息,判斷所述能夠識別的程序的網絡行為是否為惡意程序的網絡行為。Β18.根據Β16所述的裝置,其特征在于,所述第三判斷模塊包括第四獲取單元,用于獲取所述可疑的程序的網絡行為中的應用層數據中的特征信息,所述特征信息包括應用層數據中的部分代碼、應用層數據中的數據包、或者應用層數據中的數據包中的一段數據;第二發(fā)送單元,用于將所述特征信息發(fā)送至云端服務器,由所述云端服務器根據所述特征信息,判斷所述可疑的程序的網絡行為是否為惡意程序的網絡行為;第二接收單元,用于接收所述云端服務器返回的判斷結果。本文公開了 C19. 一種識別程序的網絡行為的系統,其特征在于,包括客戶端和云端服務器,其中所述客戶端,用于在程序訪問網絡的過程中,獲取程序的當前網絡行為中的應用層數據;判斷所述應用層數據中是否包括未知的協議;若所述應用層數據中的協議都是已知的協議,則將所述程序的當前網絡行為標識為能夠識別的程序的網絡行為;若所述應用層數據中包括未知的協議,則將所述程序的當前網絡行為標識為可疑的程序的網絡行為,然后將能夠識別的程序的網絡行為或者可疑的程序的網絡行為的特征信息發(fā)送至云端服務器,所述特征信息包括應用層數據中的部分代碼、應用層數據中的數據包、或者應用層數據中的數據包中的一段數據;所述云端服務器,用于根據所述特征信息判斷所述能夠識別的程序的網絡行為、或所述可疑的程序的網絡行為是否為惡意程序的網絡行為,并向所述客戶端返回判斷結果。C20.根據C19所述的系統,其特征在于,所述云端服務器中包括一用于存儲黑白名單庫的數據庫,所述云端服務器根據所述黑白名單庫中的黑白名單,判斷所述能夠識別的程序的網絡行為、或者所述可疑的程序的網絡行為是否為惡意程序的網絡行為。本文公開了 D21. —種識別程序的網絡行為的系統,其特征在于,包括客戶端和云端服務器,其中所述客戶端,用于在程序訪問網絡的過程中,獲取程序的當前網絡行為中的數據包,所述數據包包括應用層數據,以及接收所述云端服務器返回的識別結果;所述云端服務端,用于接收所述客戶端獲取的程序的當前網絡行為中數據包,判斷所述應用層數據中是否包括未知的協議;若所述應用層數據中的協議都是已知的協議,則將所述程序的當前網絡行為標識為能夠識別的程序的網絡行為;若所述應用層數據中包括未知的協議,則將所述程序的當前網絡行為標識為可疑的程序的網絡行為,向所述客戶端發(fā)送識別結果。D22.根據D21所述的系統,其特征在于,所述云端服務器獲取能夠識別的程序的網絡行為或者可疑的程序的網絡行為的特征信息,根據所述特征信息判斷所述能夠識別的程序的網絡行為、或所述可疑的程序的網絡行為是否為惡意程序的網絡行為,并向所述客戶端返回判斷結果;所述特征信息包括應用層數據中的部分代碼、應用層數據中的數據包、或者應用層數據中的數據 包中的一段數據。
權利要求
1.一種識別程序的網絡行為的方法,其特征在于,所述方法包括 在程序訪問網絡的過程中,獲取程序的當前網絡行為中的應用層數據; 判斷所述應用層數據中是否包括未知的協議; 若所述應用層數據中的協議都是已知的協議,則將所述程序的當前網絡行為標識為能夠識別的程序的網絡行為; 若所述應用層數據中包括未知的協議,則將所述程序的當前網絡行為標識為可疑的程序的網絡行為。
2.根據權利要求1所述的方法,其特征在于,所述判斷所述應用層數據中是否包括未知的協議的步驟為 根據已知的協議的格式,判斷所述應用層數據中是否包括未知的協議,如果應用層數據中的協議都能識別,則判斷應用層數據都是已知的協議,如果應用層數據中有至少部分協議不能識別,則判斷應用層數據包括未知的協議。
3.根據權利要求2所述的方法,其特征在于,所述已知的協議至少包括下列中的至少一個超文本傳送協議、域名系統協議、簡單郵件傳輸協議、文件傳送協議、簡單網絡管理協議和郵局協議第3版協議。
4.根據權利要求Γ3任一所述的方法,其特征在于,在將所述程序的當前網絡行為標識為能夠識別的程序的網絡行為的步驟之后,所述方法還包括 判斷所述能夠識別的程序的網絡行為是否為惡意程序的網絡行為; 若是惡意程序的網絡行為,則發(fā)送風險提示信息,和/或攔截所述能夠識別的程序的當前網絡行為; 若不是惡意程序的網絡行為,則將所述能夠識別的程序的當前網絡行為標識為正常的網絡行為。
5.根據權利要求4所述的方法,其特征在于,所述判斷所述能夠識別的程序的網絡行為是否為惡意程序的網絡行為的步驟包括 獲取所述能夠識別的程序的網絡行為中的應用層數據中的特征信息,所述特征信息包括應用層數據中的部分代碼、應用層數據中的數據包、或者應用層數據中的數據包中的一段數據; 根據所述特征信息,判斷所述能夠識別的程序的網絡行為是否為惡意程序的網絡行為。
6.根據權利要求4所述的方法,其特征在于,所述判斷所述能夠識別的程序的網絡行為是否為惡意程序的網絡行為的步驟包括 獲取能夠識別的程序的網絡行為中的應用層數據中的特征信息,所述特征信息包括應用層數據中的部分代碼、應用層數據中的數據包、或者應用層數據中的數據包中的一段數據; 將所述特征信息發(fā)送至云端服務器,由所述云端服務器根據所述特征信息判斷所述能夠識別的程序的網絡行為是否為惡意程序的網絡行為,并返回判斷結果。
7.根據權利要求Γ4任一所述的方法,其特征在于,在將所述程序的當前網絡行為標識為可疑的程序的網絡行為的步驟之后,所述方法還包括 判斷所述可疑的程序的網絡行為是否為惡意程序的網絡行為;若是惡意程序的網絡行為,則發(fā)送風險提示信息,和/或攔截所述可疑的程序的當前網絡行為; 若不是惡意程序的網絡行為,則發(fā)送風險提示信息。
8.根據權利要求7所述的方法,其特征在于,所述判斷所述可疑的程序的網絡行為是否為惡意程序的網絡行為的步驟包括 獲取所述可疑的程序的網絡行為中的應用層數據中的特征信息,所述特征信息包括應用層數據中的部分代碼、應用層數據中的數據包、或者應用層數據中的數據包中的一段數據; 根據所述特征信息,判斷所述可疑的程序的網絡行為是否為惡意程序的網絡行為。
9.根據權利要求7所述的方法,其特征在于,所述判斷所述可疑的程序的網絡行為是否為惡意程序的網絡行為的步驟包括 獲取所述可疑的程序的網絡行為中的應用層數據中的特征信息,所述特征信息包括應用層數據中的部分代碼、應用層數據中的數據包、或者應用層數據中的數據包中的一段數據; 將所述特征信息發(fā)送至云端服務器,由所述云端服務器根據所述特征信息判斷所述可疑的程序的網絡行為是否為惡意程序的網絡行為,并返回判斷結果。
10.一種識別程序的網絡行為的裝置,其特征在于,所述裝置包括 獲取模塊,用于在程序訪問網絡的過程中,獲取所述程序的當前網絡行為中的應用層數據; 第一判斷模塊,用于判斷所述應用層數據中是否包括未知的協議; 識別模塊,用于在所述應用層數據中的協議都是已知的協議時,將所述程序的當前網絡行為標識為能夠識別的程序的網絡行為;以及當所述應用層數據中包括未知的協議時,將所述程序的當前網絡行為標識為可疑的程序的網絡行為。
11.根據權利要求10所述的裝置,其特征在于,所述第一判斷模塊進一步用于根據已知的協議的格式,判斷所述應用層數據中是否包括未知的協議。
12.根據權利要求11所述的裝置,其特征在于,所述已知的可以識別的協議至少包括下列中的至少一個超文本傳送協議、域名系統協議、簡單郵件傳輸協議、文件傳送協議、簡單網絡管理協議和郵局協議第3版協議。
13.根據權利要求10~12任一所述的裝置,其特征在于,所述裝置還包括 第二判斷模塊,用于判斷所述能夠識別的程序的網絡行為是否為惡意程序的網絡行為; 第一處理模塊,用于當所述第二判斷模塊判斷所述能夠識別的程序的網絡行為是惡意程序的網絡行為時,發(fā)送風險提示信息,和/或攔截所述能夠識別的程序的當前網絡行為;以及用于當所述第二判斷模塊判斷所述能夠識別的程序的網絡行為不是惡意程序的網絡行為,將所述能夠識別的程序的當前網絡行為識別正常的網絡行為。
14.根據權利要求13所述的裝置,其特征在于,所述第二判斷模塊包括 第一獲取單元,用于獲取能夠識別的程序的網絡行為中的應用層數據中的特征信息,所述特征信息包括應用層數據中的部分代碼、應用層數據中的數據包、或者應用層數據中的數據包中的一段數據;第一判斷單元,用于根據所述特征信息,判斷所述能夠識別的程序的網絡行為是否為惡意程序的網絡行為。
15.根據權利要求13所述的裝置,其特征在于,所述第二判斷模塊包括 第二獲取單元,用于獲取能夠識別的程序的網絡行為中的應用層數據中的特征信息,所述特征信息包括應用層數據中的部分代碼、應用層數據中的數據包、或者應用層數據中的數據包中的一段數據; 第一發(fā)送單元,用于將所述特征信息發(fā)送至云端服務器,由所述云端服務器根據所述特征信息判斷所述能夠識別的程序的網絡行為是否為惡意程序的網絡行為; 第一接收單元,用于接收所述云端服務器返回的判斷結果。
16.根據權利要求1(Γ13任一所述的裝置,其特征在于,所述裝置還包括 第三判斷模塊,用于判斷所述可疑的程序的網絡行為是否為惡意程序的網絡行為; 第二處理模塊,用于當所述第三判斷模塊判斷所述可疑的程序的網絡行為是惡意程序的網絡行為時,發(fā)送風險提示信息,和/或攔截所述可疑的程序的當前網絡行為;以及用于當所述第三判斷模塊判斷所述可疑的程序的網絡行為不是惡意程序的網絡行為時,發(fā)送風險提示信息。
17.根據權利要求16所述的裝置,其特征在于,所述第三判斷模塊包括 第三獲取單元,用于獲取能夠識別的程序的網絡行為中的應用層數據中的特征信息,所述特征信息包括應用層數據中的部分代碼、應用層數據中的數據包、或者應用層數據中的數據包中的一段數據; 第二判斷單元,用于根據所述特征信息,判斷所述能夠識別的程序的網絡行為是否為惡意程序的網絡行為。
18.根據權利要求16所述的裝置,其特征在于,所述第三判斷模塊包括 第四獲取單元,用于獲取所述可疑的程序的網絡行為中的應用層數據中的特征信息,所述特征信息包括應用層數據中的部分代碼、應用層數據中的數據包、或者應用層數據中的數據包中的一段數據; 第二發(fā)送單元,用于將所述特征信息發(fā)送至云端服務器,由所述云端服務器根據所述特征信息,判斷所述可疑的程序的網絡行為是否為惡意程序的網絡行為; 第二接收單元,用于接收所述云端服務器返回的判斷結果。
19.一種識別程序的網絡行為的系統,其特征在于,包括客戶端和云端服務器,其中 所述客戶端,用于在程序訪問網絡的過程中,獲取程序的當前網絡行為中的應用層數據;判斷所述應用層數據中是否包括未知的協議;若所述應用層數據中的協議都是已知的協議,則將所述程序的當前網絡行為標識為能夠識別的程序的網絡行為;若所述應用層數據中包括未知的協議,則將所述程序的當前網絡行為標識為可疑的程序的網絡行為,然后將能夠識別的程序的網絡行為或者可疑的程序的網絡行為的特征信息發(fā)送至云端服務器,所述特征信息包括應用層數據中的部分代碼、應用層數據中的數據包、或者應用層數據中的數據包中的一段數據; 所述云端服務器,用于根據所述特征信息判斷所述能夠識別的程序的網絡行為、或所述可疑的程序的網絡行為是否為惡意程序的網絡行為,并向所述客戶端返回判斷結果。
20.一種識別程序的網絡行為的系統,其特征在于,包括客戶端和云端服務器,其中所述客戶端,用于在程序訪問網絡的過程中,獲取程序的當前網絡行為中的數據包,所述數據包包括應用層數據,以及接收所述云端服務器返回的識別結果; 所述云端服務端,用于接收所述客戶端獲取的程序的當前網絡行為中數據包,判斷所述應用層數據中是否包括未知的協議;若所述應用層數據中的協議都是已知的協議,則將所述程 序的當前網絡行為標識為能夠識別的程序的網絡行為;若所述應用層數據中包括未知的協議,則將所述程序的當前網絡行為標識為可疑的程序的網絡行為,向所述客戶端發(fā)送識別結果。
全文摘要
本發(fā)明公開了一種識別程序的網絡行為的方法、裝置及系統,該方法包括在程序訪問網絡的過程中,獲取程序的當前網絡行為中的應用層數據;判斷應用層數據中是否包括未知的協議;若應用層數據中的協議都是已知的協議,則將程序的當前網絡行為標識為能夠識別的程序的網絡行為;若應用層數據中包括未知的協議,則將程序的當前網絡行為標識為可疑的程序的網絡行為。由此實現對程序的網絡行為的準確識別,將包括未知的協議的程序的網絡行為標識為可疑的程序的網絡行為,并可向用戶發(fā)送風險提示信息,由用戶進行最終的選擇,由此解決了傳統的識別程序的網絡行為的方案對于新出現或新變種的程序的網絡行為不能準確識別的問題。
文檔編號H04L29/06GK103051617SQ20121055154
公開日2013年4月17日 申請日期2012年12月18日 優(yōu)先權日2012年12月18日
發(fā)明者劉海粟, 張聰, 熊昱之 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
漳州市| 麻栗坡县| 砚山县| 江安县| 荥阳市| 邓州市| 泾阳县| 仪陇县| 义马市| 望奎县| 余姚市| 延长县| 灵宝市| 天峻县| 拉萨市| 仙居县| 增城市| 邹城市| 巴彦淖尔市| 青铜峡市| 汕头市| 平凉市| 宁德市| 阳江市| 前郭尔| 莱芜市| 达州市| 兴仁县| 沙雅县| 天门市| 平潭县| 宜昌市| 响水县| 东明县| 常熟市| 留坝县| 阿克苏市| 昌平区| 如皋市| 新丰县| 虎林市|