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

病毒特征碼處理方法及裝置與流程

文檔序號:12551178閱讀:386來源:國知局
病毒特征碼處理方法及裝置與流程

本發(fā)明涉及安全技術,尤其涉及一種病毒特征碼處理方法及裝置。



背景技術:

計算機病毒也稱為病毒,是編制者在終端(智能手機、電腦和服務器等各種計算終端)中植入的破壞終端的功能或者數據等惡意目的代碼。

病毒在終端中通常作為(如加殼)獨立的應用程序欺騙用戶運行以實現(xiàn)惡意目的,或者嵌入到二次封裝的常規(guī)應用程序中,在常規(guī)應用程序的運行過程中實現(xiàn)惡意目的。

目前基于特征碼的反病毒引擎掃描病毒時,將待檢測的樣本與病毒的特征碼進行匹配,包括將樣本的哈希值與特征碼中的哈希值進行匹配,以及將樣本的二進制字節(jié)數(即以字節(jié)數表示的樣本的體積)與特征碼中的文件字節(jié)數進行匹配。

然而,實際應用中,存在以下兩方面的原因使得特征碼容易失效,影響特征碼檢測病毒的廣譜性:

一方面,病毒作者可以通過對病毒源碼進行少量的修改即可達到改變病毒的哈希值和文件字節(jié)數的目的,從而使得原先能檢測到病毒的特征碼失效,需要不斷更新病毒的特征碼,導致檢測病毒存在滯后性;

另一方面,大部分編譯器存在指令重排、寄存器重分配等優(yōu)化機制,使得即使是相同的源碼編譯出來的目標文件的二進制內容也可能不一致,導致基于特征碼中字節(jié)數檢測病毒時會出現(xiàn)漏檢測或誤檢測的情況。

可以看出,相關技術提供的特征碼對于對病毒的變化極其敏感,不具備檢測病毒的廣譜性,對于新病毒的檢測存在滯后性。



技術實現(xiàn)要素:

本發(fā)明實施例提供一種病毒特征碼處理方法及裝置,能夠提升病毒特征碼的廣譜性和時效性。

本發(fā)明實施例的技術方案是這樣實現(xiàn)的:

第一方面,本發(fā)明實施例提供一種病毒特征碼處理方法,包括:

對攜帶有病毒的惡意樣本進行反匯編處理,將得到的反匯編代碼進行分割得到所述惡意樣本的多個代碼塊;

遍歷所述代碼塊得到所述代碼塊中執(zhí)行的函數調用,將所述函數調用的目標路徑與應用程序接口函數的路徑比較,確定所述代碼塊中調用的應用程序接口函數,以及調用所述應用程序接口函數的次數;

基于所述代碼塊中調用的應用程序接口函數、以及調用所述應用程序接口函數的次數構建相應的代碼塊特征;

將所述惡意樣本的各所述代碼塊的代碼塊特征合并形成所述惡意樣本的病毒特征碼。

第二方面,本發(fā)明實施例提供一種病毒特征碼處理裝置,包括:

匯編分割單元,用于對攜帶有病毒的惡意樣本進行反匯編處理,將得到的反匯編代碼進行分割得到所述惡意樣本的多個代碼塊;

函數調用單元,用于遍歷所述代碼塊得到所述代碼塊中執(zhí)行的函數調用,將所述函數調用的目標路徑與應用程序接口函數的路徑比較,確定所述代碼塊中調用的應用程序接口函數,以及調用所述應用程序接口函數的次數;

構建特征單元,用于基于所述代碼塊中調用的應用程序接口函數、以及調用所述應用程序接口函數的次數構建相應的代碼塊特征;

特征合并單元,用于將所述惡意樣本的各所述代碼塊的代碼塊特征合并形成所述惡意樣本的病毒特征碼。

第三方面,本發(fā)明實施例提供一種病毒特征碼處理裝置,包括存儲器和處理器,存儲器中存儲有可執(zhí)行指令,用于引起處理器執(zhí)行本發(fā)明實施例提供的病毒特征碼處理方法。

第四方面,本發(fā)明實施例提供一種存儲介質,存儲有可執(zhí)行指令,用于引起處理器執(zhí)行本發(fā)明實施例提供的病毒特征碼處理方法。

本發(fā)明實施例具有以下有益效果:

依賴于終端(如終端或服務器)的計算能力可以高效完成;同時,采用惡意樣本的API函數調用的特征來構建特征碼,與相關技術采用惡意樣本自身的哈希值相比,由于惡意樣本的API函數調用的特征能夠準確反映惡意樣本在實現(xiàn)惡意目的時的語義特性,不受惡意樣本的哈希值和字節(jié)數變化的影響,因此能夠實現(xiàn)檢測病毒的廣譜性;另外,由于惡意樣本中的API調用具有相對穩(wěn)定的特性,因此,基于API函數調用的特征構建特征碼能夠檢測到演化后的病毒,避免了相關技術提供的特征碼檢測病毒存在滯后性的問題。

附圖說明

圖1是本發(fā)明實施例提供的提取病毒特征碼、并基于病毒的特征碼檢測樣本是否攜帶病毒的一個可選的處理示意圖;

圖2是本發(fā)明實施例提供的病毒特征碼處理方法的一個可選的處理示意圖;

圖3是本發(fā)明實施例提供的病毒特征碼處理方法的一個可選的流程示意圖;

圖4是本發(fā)明實施例提供的病毒特征碼處理裝置部署在網絡側服務器的一個可選的示意圖;

圖5是本發(fā)明實施例提供的病毒特征碼處理裝置10的一個可選的軟硬件結構示意圖;

圖6是本發(fā)明實施例提供的特征碼處理方法的另一可選的流程示意圖;

圖7-1是本發(fā)明實施例提供的提取操作系統(tǒng)提供的API函數并存儲至API函數庫的一個可選的流程示意圖;

圖7-2是本發(fā)明實施例提供的針對惡意樣本庫中的惡意樣本計算所攜帶病毒的病毒特征碼的一個可選的流程示意圖;

圖7-3是本發(fā)明實施例提供的對待檢測樣本進行檢測是否攜帶病毒的一個可選的流程示意圖;

圖8是本發(fā)明實施例提供的對可執(zhí)行文件進行反匯編處理的一個可選的示意圖;

圖9-1是本發(fā)明實施例提供的基于代碼樹分割反匯編代碼形成代碼塊的一個可選的示意圖;

圖9-2是本發(fā)明實施例提供的基于代碼樹分割反匯編代碼形成代碼塊的一個可選的示意圖;

圖9-3是本發(fā)明實施例提供的基于代碼樹分割反匯編代碼形成代碼塊的一個可選的示意圖;

圖10是本發(fā)明實施例提供的提取操作系統(tǒng)提供的API函數并存儲至API函數庫的一個可選的處理示意圖;

圖11是本發(fā)明實施例提供的計算特征碼相似度的一個可選的處理示意圖;

圖12是本發(fā)明實施例提供的特征碼處理裝置20的一個可選的結構示意圖。

具體實施方式

以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所提供的實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。另外,以下所提供的實施例是用于實施本發(fā)明的部分實施例,而非提供實施本發(fā)明的全部實施例,在本領域技術人員不付出創(chuàng)造性勞動的前提下,對以下實施例的技術方案進行重組所得的實施例、以及基于對發(fā)明所實施的其他實施例均屬于本發(fā)明的保護范圍。

需要說明的是,在本發(fā)明實施例中,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的方法或者裝置不僅包括所明確記載的要素,而且還包括沒有明確列出的其他要素,或者是還包括為實施方法或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的方法或者裝置中還存在另外的相關要素(例如方法中的步驟或者裝置中的單元)。

例如,本發(fā)明實施例提供的病毒特征碼處理方法包含了一系列的步驟,但是本發(fā)明實施例提供的病毒特征碼處理方法不限于所記載的步驟,同樣地,本發(fā)明實施例提供的病毒特征碼處理裝置包括了一系列單元,但是本發(fā)明實施例提供的病毒特征碼處理裝置不限于包括所明確記載的單元,還可以包括為獲取相關信息、或基于信息進行處理時所需要設置的單元。

對本發(fā)明進行進一步詳細說明之前,對本發(fā)明實施例中涉及的名詞和術語進行說明,本發(fā)明實施例中涉及的名詞和術語適用于如下的解釋。

1)病毒,也稱為計算機病毒或惡意代碼,是編制者在終端(如智能手機、平板電腦、筆記本電腦、臺式機電腦等各種計算終端)植入的破壞終端的功能、破壞數據或竊取數據等惡意目的二進制代碼。

2)樣本,各種類型的應用程序的統(tǒng)稱,如微軟Window系統(tǒng)的應用程序、Unix系統(tǒng)應用程序、iOS系統(tǒng)應用程序和安卓(Andriod)系統(tǒng)應用程序等。

3)惡意樣本,包括有病毒的樣本。

4)正常樣本,不含有病毒的樣本。

5)代碼塊,對應用程序的反匯編代碼進行按照一定粒度劃分形成的塊。

6)應用程序接口(API,Application Programming Interface),即使用各種編程語言實現(xiàn)的API函數,是由操作系統(tǒng)(Operating system)或程序庫提供給應用程序使用各種服務(或功能)的編程接口,可以幫助應用程序達到開啟視窗、描繪圖形和使用終端功能(如攝像和定位)等目的。

7)函數,即子程序,在可以實現(xiàn)固定運算功能的同時,還帶有一個入口和一個出口,所謂的入口,就是函數所帶的各個參數,通過這個入口把函數的參數值代入子程序處理;出口是指函數的函數值,在求得函數值之后,由出口帶回給函數的調用者。

8)代碼塊特征,本文中也稱為特征,是指對代碼塊調用API函數這一行為的特征來編碼(如使用哈希算法、BASE64算法編碼)生成的一種數字化的特征。

9)特征碼,特征碼的基本形式是樣本的各個代碼塊的特征的集合;另外,特征碼中還可以包括樣本的整體性特征,如樣本的字節(jié)數(即樣本所占用的存儲空間)等。

基于相關技術提供的病毒特征碼檢測病毒時,將待檢測的樣本的特征碼與病毒特征碼進行匹配。例如,將樣本(如應用程序的文件本身)的哈希值與特征碼中的哈希值進行匹配,以及將樣本的二進制字節(jié)數(即以字節(jié)數表示的樣本的體積)與特征碼中的文件字節(jié)數進行匹配,相關技術提供的病毒特征碼通常采用如下的格式:

格式1)哈希字符串(HashString);文件字節(jié)數(FileSize);惡意軟件名稱(MalwareName)

對應該格式的一個示例為:

507d8f868c27feb88b18e6f8426adf1c;12391;Win.Exploit.CVE_2013_3163

格式2:MalwareName=HexSignature

采用格式2的特征碼的一個示例為:

Trojan.URLspoof.gen(Clam)=2e687265663d756e6573636170652827*3a2f2f*

可以看出,病毒特征碼對于對樣本的變化是非常敏感的,只要惡意樣本有輕微的變化,就會導致惡意樣本的哈希值和字節(jié)數發(fā)生變化,進而導致原先能夠檢測到惡意樣本中攜帶病毒的病毒特征碼失效,影響病毒特征碼檢測病毒的廣譜性,對于新病毒的檢測存在滯后性。

本發(fā)明實施例中,針對相關技術在提取病毒特征碼時沒有對惡意樣本進行語義分析的問題,提供基于惡意樣本的API調用的特征構建特征碼以檢測病毒的方案,代碼塊的調用API函數的行為特征,可以較好地消除編譯器優(yōu)化策略和病毒作者對源碼的修改對特征碼引入的干擾,提高了特征碼的廣譜性,避免了病毒檢測的滯后性,提升了病毒檢測的效率和精度。

具體參見圖1,圖1是本發(fā)明實施例提供的提取病毒特征碼、并基于病毒的特征碼檢測樣本是否攜帶病毒的一個可選的處理示意圖,涉及API函數庫生成、病毒特征庫生成和樣本檢測三個部分,下面分別進行說明。

1)API函數庫生成,檢測終端的操作系統(tǒng)提供的API函數(也就是終端操作系統(tǒng)中集成在庫中的API函數,簡稱為庫函數),以及終端中第三方的API函數(如在操作系統(tǒng)中嵌入的第三方庫中的API函數,簡稱為第三方庫函數,或終端中安裝的應用程序提供的API函數),將所提取的API函數存入API庫。例如,將API函數在API函數庫中以<API函數在終端的路徑的編碼結果(如哈希編碼、BASE64編碼),API函數標識>這樣的二元組的形式存儲。

2)特征庫生成,將已知的惡意樣本的各代碼塊的函數調用的目標路徑與API函數庫中API函數的路徑比較,檢測到代碼塊的API函數調用的特征(即代碼塊特征),包括在代碼塊中調用的API函數的標識,以及在代碼塊中調用相應API函數的次數。

代碼塊特征以{<調用的API函數的標識,API函數的調用次數>……}這樣形式的序列存儲,將惡意樣本的各代碼塊特征合并形成病毒的特征碼,存入病毒特征庫。

3)樣本檢測,從待檢測樣本中提取特征碼,將待檢測樣本的特征碼與病毒特征碼比較,基于特征碼的相似度判斷待檢測樣本是否攜帶病毒。

再參見圖2以及圖3,圖2是本發(fā)明實施例提供的病毒特征碼處理方法的一個可選的處理示意圖,圖3是本發(fā)明實施例提供的病毒特征碼處理方法的一個可選的流程示意圖,就從包括病毒的惡意樣本中提取病毒的特征碼來說,對攜帶有病毒的惡意樣本進行反匯編處理,將得到的反匯編代碼進行分割得到惡意樣本的多個代碼塊(步驟101);遍歷代碼塊得到代碼塊中執(zhí)行的函數調用,將函數調用的目標路徑與應用程序接口函數的路徑比較,確定代碼塊中調用的應用程序接口函數、以及調用應用程序接口函數的次數(步驟102);基于代碼塊中調用的應用程序接口函數、以及調用應用程序接口函數的次數構建相應的代碼塊特征(步驟103);基于惡意樣本的各代碼塊的特征構建惡意樣本所攜帶病毒的病毒特征碼(步驟104)。

上述步驟可以通過機器處理的方式而自動化實現(xiàn),依賴于終端(如終端或服務器)的計算能力高效完成;同時,采用惡意樣本各代碼塊中調用API函數的特征來構建病毒特征碼,與相關技術采用惡意樣本自身的二進制數據的哈希值、以及字節(jié)數構建病毒特征碼相比,由于惡意樣本調用API函數的特征能夠準確反映惡意樣本在實現(xiàn)惡意目的時的語義特性,不受惡意樣本自身二進制數據的哈希值和字節(jié)數變化的影響,因此能夠實現(xiàn)檢測病毒的廣譜性;另外,即使病毒發(fā)布者對惡意樣本攜帶的病毒進行了修改,但是對于攜帶同一家族的病毒的樣本來說,惡意樣本的調用API函數的特征具有相對穩(wěn)定的特性,因此,基于調用API函數的特征構建特征碼能夠檢測到演化后的病毒,避免了相關技術提供的特征碼檢測病毒存在滯后性的問題。

本發(fā)明實施例還提供用以執(zhí)行上述病毒特征碼處理方法的病毒特征碼處理裝置,病毒特征碼處理裝置中的硬件可以完全部署在用戶側終端或網絡側服務器。

例如在終端提供為殺毒應用,終端定時從惡意樣本庫拉取惡意樣本并提取病毒的特征碼并存儲,基于病毒的特征碼對終端本地已經安裝的應用和正在安裝的應用(待檢測樣本)進行安全掃描,根據終端本地的安全策略處理,例如包括:1)對檢測到包括有病毒的待安裝應用屏蔽安裝;2)對檢測到包括有病毒的已安裝應用進行隔離;3)提示用戶并根據用戶選擇的處理方式進行處理。

再例如,參見圖4,圖4是本發(fā)明實施例提供的病毒特征碼處理裝置部署在網絡側服務器的一個可選的示意圖,服務器提供云殺毒服務,服務器定時從惡意樣本庫拉取惡意樣本并提取病毒的特征碼,在病毒特征庫存儲從惡意樣本提取的特征碼,基于病毒的特征碼掃描終端的殺毒應用提交的待檢測樣本的特征碼,向終端的殺毒應用下發(fā)掃描結果,根據終端本地的安全策略處理,例如包括:1)對檢測到包括有病毒的待安裝應用屏蔽安裝;2)對檢測到包括有病毒的已安裝應用進行隔離;3)提示用戶并根據用戶選擇的處理方式進行處理。

參見圖5示出的病毒特征碼處理裝置10的一個可選的軟硬件結構示意圖,病毒特征碼處理裝置10包括硬件層、中間層、操作系統(tǒng)層和軟件層。然而,本領域的技術人員應當理解,圖5示出的病毒特征碼處理裝置10的結構僅為示例,并不構成對病毒特征碼處理裝置10結構的限定。例如,病毒特征碼處理裝置10可以根據實施需要設置較圖5更多的組件,或者根據實施需要省略設置部分組件。

病毒特征碼處理裝置10的硬件層包括處理器11、輸入/輸出接口13,存儲介質14以及網絡接口12,組件可以經系統(tǒng)總線連接通信。

處理器11可以采用中央處理器(CPU)、微處理器(MCU,Microcontroller Unit)、專用集成電路(ASIC,Application Specific Integrated Circuit)或邏輯可編程門陣列(FPGA,F(xiàn)ield-Programmable Gate Array)實現(xiàn)。

輸入/輸出接口13可以采用如顯示屏、觸摸屏、揚聲器等輸入/輸出器件實現(xiàn)。

存儲介質14可以采用閃存、硬盤、光盤等非易失性存儲介質實現(xiàn),也可以采用雙倍率(DDR,Double Data Rate)動態(tài)緩存等易失性存儲介質實現(xiàn),其中存儲有用以執(zhí)行上述病毒特征碼處理方法的可執(zhí)行指令。

示例性地,存儲介質14可以與病毒特征碼處理裝置10的其他組件在同一位置(如用戶側終端)設置,也可以相對于病毒特征碼處理裝置10中的其他組件分布設置。網絡接口12向處理器11提供外部數據如異地設置的存儲介質14的訪問能力,示例性地,網絡接口12可以基于近場通信(NFC,Near Field Communication)技術、藍牙(Bluetooth)技術、紫蜂(ZigBee)技術進行的近距離通信,另外,還可以實現(xiàn)如基于碼分多址(CDMA,Code Division Multiple Access)、寬帶碼分多址(WCDMA,Wideband Code Division Multiple Access)等通信制式及其演進制式的蜂窩通信,又例如,基于無線相容性認證(Wi-Fi)方式經由接入無線接入點(AP,Access Point)接入網絡側的通信。

驅動層包括用于供操作系統(tǒng)16識別硬件層并與硬件層各組件通信的中間件15,例如可以為針對硬件層的各組件的驅動程序的集合。

操作系統(tǒng)16用于提供面向用戶的圖形界面,示例性地,包括插件圖標、桌面背景和應用圖標,操作系統(tǒng)16支持用戶經由圖形界面對終端的控制本發(fā)明實施例對上述終端的軟件環(huán)境如操作系統(tǒng)類型、版本不做限定,例如可以是Linux操作系統(tǒng)、UNIX操作系統(tǒng)或其他操作系統(tǒng)。

應用層包括用戶側終端運行的殺毒應用/云端殺毒服務17,或者可以與終端中的安全軟件耦合的模塊(或功能插件),其中設置有可執(zhí)行指令,用以執(zhí)行上述的病毒特征碼處理方法。

下面,結合圖6對圖2示出的特征處理方法進一步說明,需要指出地,本領域技術人員基于下述基于圖6的記載可以輕易地在特征碼處理裝置部署在用戶終端側的場景中實施。

參見圖6,圖6是本發(fā)明實施例提供的特征碼處理方法的另一可選的流程示意圖,包括如下步驟:

步驟201,服務器提取終端操作系統(tǒng)中提供的API函數,和/或提取終端中的第三方的API函數。

在一個實施例中,服務器從專用于從收集存儲API函數的數據庫拉取不同類型操作系統(tǒng)中提供的API函數,對于每個類型的操作系統(tǒng)根據版本進行區(qū)分,并拉取第三方API函數。當然,在服務器與終端建立安全認證機制的前提下,服務器可以通過與終端之間的安全連接直接從終端拉取上述API函數。下面分別對上述不同類型的API函數進行說明。

1)終端的操作系統(tǒng)中提供的API函數

終端操作系統(tǒng)中提供的API函數是指,操作系統(tǒng)原生提供的庫函數,庫函數以庫的形式在終端的文件系統(tǒng)中存儲,用于支持終端中的應用程序使用終端的基本能力,示例性地,包括以下幾種類型的API函數:

1.1)網絡API函數,用于創(chuàng)建或關閉網絡連接,枚舉網絡資源。

1.2)消息處理API函數,用于實現(xiàn)窗口之間的消息傳遞。

1.3)文件處理API函數,用于實現(xiàn)創(chuàng)建、復制和刪除等涉及文件的操作。

1.4)打印API函數,用于支持終端中的應用程序實現(xiàn)打印功能。

1.5)繪圖API函數,用于實現(xiàn)繪圖的功能。

2)終端中的第三方API函數

為了實現(xiàn)一些拓展的功能,如各種軟件開發(fā)環(huán)境的搭建,終端的操作系統(tǒng)中額外注入的第三方庫的API函數,如終端各種第三方應用程序提供的與所獨有的功能對應的API函數,以微信客戶端為例,API函數可以是微信軟件開發(fā)套件(SDK,Software Development Kit)提供微信支付、分享到朋友圈等功能對應的API函數。第三方API函數的提取位置根據不同第三方應用程序的SDK文件在終端的存儲位置而有所區(qū)別,

步驟202,服務器對所檢測到的API函數的路徑進行編碼,將API函數的路徑的編碼結果連同API函數的標識存入API函數庫。

API函數的路徑為“包名+類名+API函數名”組成的可以唯一定位標識一個API函數的字符串,

就終端操作系統(tǒng)提供的API函數而言,參見圖7-1和圖10,圖7-1是本發(fā)明實施例提供的提取操作系統(tǒng)提供的API函數并存儲至API函數庫的一個可選的流程示意圖,圖10是本發(fā)明實施例提供的提取操作系統(tǒng)提供的API函數并存儲至API函數庫的一個可選的處理示意圖,以終端的操作系統(tǒng)為安卓(Andriod)操作系統(tǒng)為例,Android系統(tǒng)定義的功能類的API函數都在core.jar和framework.jar這兩個jar包中。

首先,收集各個版本Andriod操作系統(tǒng)的core.jar包和framework.jar包,然后解析這些jar包,提取出里面所有的API函數的路徑。

例如,在圖10中,API函數(int state,String incomingNumber)的路徑為:

Android.telephony.PhoneListener

Void onCallStateChanged(int state,String incomingNumber)

其次,并將這些函數的路徑轉換為Smali語言(Smali代碼是Android的Dalvik虛擬機的可執(zhí)行文件DEX文件反匯編后的代碼語言)描述的格式,方便后續(xù)提取特征時的匹配。

仍以前述的API函數(int state,String incomingNumber)為例,轉換為Smali語言描述的格式的一個示例為:

Landroid/telephony/PhoneStateListener

onCallStateChanged(ILjava/lang/String;)v

最后,為這些Smali語言描述的路徑計算哈希值,將API函數的路徑的哈希值和為API函數分配的序列號(標識)存入API函數庫。

仍以前述的API函數(int state,String incomingNumber)為例,對Smali語言描述的路徑進行編碼,并分配序列號,得到:

<哈希值:4036329264617481551;序列號:12>。

對于在圖10中的其他API函數的路徑進行轉換、編碼以及分配序列號的處理可以基于上述說明而理解,不再一一說明。

當然,需要說明的是,API函數的路徑的編碼結果除了為采用哈希算法計算得到的哈希值,還可以使用BASE 64等其他類型的編碼算法編碼得到。

在API函數庫中API函數采用函數路徑的編碼結果和API函數的標識這樣的二元組的形式表示,設在API函數庫中存儲API函數i(i為API函數的序列號,1≤i≤I,I為提取的API函數的數量)的一個可選的數據結構為:

<API函數i的路徑的哈希值,i>。

針對第三方API函數的路徑進行編碼、以及將編碼結果和第三方API函數的序列號存儲至API函數庫的處理,與前述針對操作系統(tǒng)提供的API函數的處理方式相同,這里不再另文說明。

作為步驟202的一個可替換的步驟,服務器對所檢測到的API函數的路徑(而非對API函數的路徑的編碼結果)連同API函數的標識存入API函數庫。

在API函數庫中可以存儲API函數的路徑和API函數的標識這樣的二元組的形式表示,設在API函數庫中存儲API函數i(i為API函數的序列號,1≤i≤I,I為提取的API函數的數量)的一個可選的數據結構為:

<API函數的路徑,i>。

步驟203,服務器從惡意樣本庫拉取惡意樣本。

惡意樣本庫能夠與已有的惡意樣本的數據庫對接,例如,與不同家族的病毒的數據庫對接,包括:

1)系統(tǒng)病毒數據庫,一般地,在惡意樣本庫中系統(tǒng)病毒的根據系統(tǒng)的不同而有區(qū)別,前綴為:Win32、PE、Win95、W32和W95等。

2)蠕蟲病毒數據庫,蠕蟲病毒的前綴是:Worm。這種病毒的共有特性是通過網絡或者系統(tǒng)漏洞進行傳播,很大部分的蠕蟲病毒都有向外發(fā)送帶毒郵件,阻塞網絡的特性。

3)腳本病毒數據庫,腳本病毒的前綴是:Script。腳本病毒的共有特性是使用腳本語言編寫,通過網頁進行的傳播的病毒。

4)后門病毒數據庫,后門病毒的前綴是:Backdoor,該類病毒的共有特性是通過網絡傳播,給系統(tǒng)開后門。

5)破壞性程序病毒數據庫,破壞性程序病毒的前綴是:Harm。這類病毒的共有特性是本身具有好看的圖標來誘惑用戶點擊,當用戶點擊這類病毒時,病毒便會直接對用戶終端產生破壞。

例如,惡意樣本庫根據掃描病毒的實時性要求,按照周/天/小時的頻率從不同家族的病毒數據庫拉取包括病毒的惡意樣本,從不同家族的病毒數據庫統(tǒng)一拉取,或者,根據每個家族病毒數據庫的更新頻率單獨拉取。

步驟204,服務器對包括有病毒的惡意樣本進行反匯編處理得到反匯編代碼。

就對惡意樣本進行反匯編處理來說,從惡意樣本中提取出可執(zhí)行文件,根據可執(zhí)行文件所運行的操作系統(tǒng)可執(zhí)行文件的格式也存在區(qū)別,Windows操作系統(tǒng)中執(zhí)行文件是exe格式、Linux操作系統(tǒng)中可執(zhí)行文件是elf格式、Android操作系統(tǒng)中可執(zhí)行文件是dex格式、elf格式等等,然后對可自行文件進行反匯編處理,參見圖8,圖8是本發(fā)明實施例提供的對可執(zhí)行文件進行反匯編處理的一個可選的示意圖,反匯編處理的結果包括:

1)未初始化數據(BSS,Block Start by Symbol)段:用來存放程序中未初始化全局變量的一塊內存區(qū)域;

2)數據段:用來存放程序中初始化的全局變量的一塊內存區(qū)域。包括可變的數據段和不可變的數據段。

3)代碼段(code segment/text segment):通常用來存放執(zhí)行代碼(語句)的一塊內存區(qū)域。

4)堆:用于存放進程運行中被動態(tài)分配的內存段,大小并且不固定,可動態(tài)擴展。當進程調用malloc等分配內存時,新分配的內存被動態(tài)的添加到堆上(堆被擴大),當利用free等函數釋放內存時,被釋放的內存從堆中剔除

5)棧:棧在進程運行時產生,一個進程有一個進程棧。棧用來存儲程序臨時存放的局部變量,即函數內定義的變量,不包括靜態(tài)(static)類型的變量。

步驟205,服務器對反匯編代碼進行分割得到惡意樣本的多個代碼段。

反編譯處理完成后,通過遍歷可執(zhí)行文件的代碼段將代碼段分割為代碼塊,參見圖8,圖8是本發(fā)明實施例中對可執(zhí)行文件的代碼段分割為代碼塊的一個可選的處理示意圖,在圖8中以對代碼段進行分割為例,代碼塊為對反匯編代碼(如圖8示出的代碼段)以函數或預定級別的路徑為粒度進行分割得到,采用如下分割方式:

方式1)以函數為粒度分割反匯編代碼得到代碼塊

遍歷惡意樣本的反匯編代碼段,以函數為粒度對反匯編代碼進行分割得到構成反匯編代碼的多個函數(此時函數與代碼塊等同);當然,也可以以兩個函數或多個函數為粒度對代碼段進行分割形成構成代碼段的多個代碼塊(此時每個代碼塊包括兩個或多個函數)。

函數是組成代碼段的基本邏輯單位,每個函數包含了一個完整的處理邏輯,把代碼段按照函數粒度來分割,一方面能夠容易地實現(xiàn)對反匯編代碼的分割,另一方面可以完整保留反匯編代碼內部的邏輯。

方式2)以代碼樹的不同級別的路徑為粒度分割得到代碼塊

參見圖9-1,圖9-1是本發(fā)明實施例提供的基于代碼樹分割反匯編代碼形成代碼塊的一個可選的示意圖,根據在代碼樹中預先設定級別的路徑(包括一級路徑、二級路徑和三級路徑),將每個一級路徑下的代碼劃分到一個單獨的代碼塊,當然,對于一級路徑來說可以將一級路徑下的每個二級路徑劃分到一個單獨的代碼塊。

再參見圖9-2,圖9-2是本發(fā)明實施例提供的基于代碼樹分割反匯編代碼形成代碼塊的一個可選的示意圖,對于惡意樣本為安卓操作系統(tǒng)中運行的應用程序來說,從應用程序中提取格式為Dex的可執(zhí)行文件進行反匯編,得到以Smali語言描述的反匯編代碼,將反匯編代碼劃分為代碼塊。例如,可以選取為類級別的路徑,將Dex劃分為與類級別的路徑對應的代碼塊,每個代碼塊對應Dex中的一個類。

在圖9-2中,每個代碼塊對應反匯編代碼中的一個類,具體為:

代碼塊1:com.android.internal.app.ActionBarImpl,

代碼塊2:com.android.internal.app.AlertActivity,

代碼塊3:com.android.internal.app.AlertController,

,……。

當然,服務器也可以采用其他任意級別的路徑分割反匯編代碼,例如,再參見圖9-3,圖9-3是本發(fā)明實施例提供的基于代碼樹分割反匯編代碼形成代碼塊的一個可選的示意圖,可以按照圖9-3示出的代碼樹中的前四級路徑來分割反匯編代碼,分割得到的每個代碼塊對應代碼樹中的一個四級路徑,具體為:

代碼塊1:com.android.internal.app,

代碼塊2:com.android.internal.appwidget,

代碼塊3:com.android.internal.backup,

……。

步驟206,服務器遍歷反匯編代碼的各個代碼塊得到各個代碼塊中執(zhí)行的函數調用,將函數調用的目標路徑與API函數庫中應用程序接口函數的路徑比較,確定各個代碼塊中調用的應用程序接口函數、以及調用應用程序接口函數的次數。

根據API函數庫中存儲API函數的數據結構的不同,就服務器將代碼塊j(1≤j≤J,J為反匯編代碼中分割得到的代碼塊的數量)中的函數調用的目標路徑與應用程序接口函數的路徑比較來說,可以有以下幾種方式:

方式1)API函數庫中以<API函數的路徑,i>這樣的形式存儲API函數,服務器將在代碼塊j中檢測到函數調用的目標路徑,與API函數庫中的API函數i的路徑按照路徑的字段逐個進行匹配,當路徑的各個字段完全匹配時,確定在代碼塊j中當前檢測到的函數調用為API函數調用將代碼塊j中針對API函數i的調用次數累加1。

方式2)API函數庫中以<API函數的路徑的編碼結果(如哈希值),i>這樣的形式存儲API函數,服務器將在代碼塊j中檢測到函數調用的目標路徑進行編碼(并且,與API函數庫中API函數的路徑的編碼方式一致,如采用相同的哈希算法),與API函數庫中的API函數i的路徑的編碼結果進行比較,如果編碼結果一致則說明路徑相同,確定在代碼塊j中當前檢測到的函數調用為API函數調用,將代碼塊j中針對API函數i的調用次數累加1。

顯然,使用比較路徑的編碼結果的方式來判斷路徑是否一致,與將路徑的各個字段逐個進行比較相同能夠提升處理效率,尤其是在API函數的路徑較長時處理效率顯著提升。

步驟207,基于代碼塊中調用的應用程序接口函數、以及調用應用程序接口函數的次數構建相應的代碼塊特征。

在一個實施例中,對于每個代碼塊,以代碼塊中調用的每個API函數的標識、以及相應應用程序接口函數的在代碼塊中的調用次數形成一個特征元素,代碼塊中每個被調用的API函數形成一個特征元素,基于代碼塊中調用的全部API函數對應的特征元素形成集合,對集合進行編碼形成代碼塊特征。

仍以代碼塊j為例,將代碼塊j中的調用函數k(1≤k≤K,K為代碼塊J中執(zhí)行的不同API函數調用的數量)形成特征元素k,記錄為如下的形式的特征元素<API函數的序列號,代碼塊j中調用的API函數k的次數>,進而形成代碼塊j的如下形式的集合{<API函數的序列號,代碼塊j中調用的API函數k的次數>;1≤k≤K},對集合進行編碼(如采用哈希算法編碼),將編碼結果作為代碼塊特征。

步驟208,將惡意樣本的各代碼塊的代碼塊特征合并形成惡意樣本的病毒特征碼,存儲至病毒特征庫。

仍以代碼塊j為例(1≤j≤J,J為惡意樣本的反匯編代碼中分割得到的代碼塊的數量),設對應代碼塊特征j,那么惡意樣本攜帶病毒的病毒特征碼可以采用如下的形式:{<代碼塊特征1>;<代碼塊特征2>;……<代碼塊特征J>},

前述步驟204至步驟207為對惡意樣本庫中拉取的一個惡意樣本并計算所攜帶病毒的病毒特征碼的處理流程,就惡意樣本庫的多個惡意樣本來說,循環(huán)執(zhí)行如前述步驟204至步驟207的計算病毒特征碼的處理,參見圖7-2,圖7-2是本發(fā)明實施例提供的針對惡意樣本庫中的惡意樣本計算所攜帶病毒的病毒特征碼的一個可選的流程示意圖,根據前述步驟204至步驟207計算從惡意樣本庫中隨機提取一個惡意樣本所攜帶病毒的病毒特征碼,直至遍歷惡意樣本庫中的所有惡意樣本。

服務器為所計算出的病毒特征碼對應的病毒分配標識(序列號VID),在病毒特征庫中以<病毒序列號,病毒特征碼>這樣的二元組形式存儲全部病毒特征碼。

另外,需要指出地,前述是以在函數庫中存儲從終端中提取的API函數(如,終端操作系統(tǒng)中提供的API函數,和/或提取終端中的第三方的API函數)為例,由于在API函數庫中預先存儲了所提取的函數,因而后續(xù)在遍歷惡意樣本的反匯編代碼的代碼塊時,能夠基于函數庫存儲的API函數迅速定位代碼塊中針對API函數的調用,確保處理效率。

然而,可以理解地,在服務器的計算能力足夠的情況下,本發(fā)明實施例中維護API函數庫是可以缺省執(zhí)行的步驟,服務器可以在需要檢測代碼塊針對API函數的調用時,才從終端提取API函數并在服務器本地的緩存中存儲從終端提取的API函數(如包括API函數的路徑的編碼結果以及序列號),即不需要單獨維護函數庫,這樣能夠實現(xiàn)API函數的路徑總是最新的,避免終端中的API函數發(fā)生變動導致病毒特征碼的滯后性。

步驟209,服務器提取待檢測樣本的特征碼,比較待檢測樣本的特征碼與病毒的特征碼得到特征碼的相似度,基于相似度判斷待檢測樣本是否攜帶病毒。

參見圖7-3,圖7-3是本發(fā)明實施例提供的對待檢測樣本進行檢測是否攜帶病毒的一個可選的流程示意圖,下面結合圖7-3進行說明。

首先,對于任一待檢測樣本,服務器從待檢測樣本中提取出相應的特征碼,記為df。

具體來說,服務器從待檢測樣本中提取出可執(zhí)行文件,對提取出的可執(zhí)行文件進行反匯編處理得到反匯編代碼,參考對惡意樣本的反匯編代碼進行分割的方式:方式1)以函數為粒度分割反匯編代碼得到代碼塊,方式2)以代碼樹的不同級別的路徑為粒度分割得到代碼塊。

服務器遍歷反匯編代碼的各個代碼塊得到各個代碼塊中執(zhí)行的函數調用,將函數調用的目標路徑與API函數庫中應用程序接口函數的路徑比較,確定各個代碼塊中調用的應用程序接口函數、以及調用應用程序接口函數的次數。

舉例來說,根據API函數庫中存儲API函數的數據結構的不同,就服務器將代碼塊j(1≤j≤J,J為反匯編代碼中分割得到的代碼塊的數量)中的函數調用的目標路徑與應用程序接口函數的路徑比較來說,可以有以下幾種方式:

方式1)API函數庫中以<API函數的路徑,i>這樣的形式存儲API函數,服務器將在代碼塊j中檢測到函數調用的目標路徑,與API函數庫中的API函數i的路徑按照路徑的字段逐個進行匹配,當路徑的各個字段完全匹配時,確定在代碼塊j中當前檢測到的函數調用為API函數調用將代碼塊j中針對API函數i的調用次數累加1。

方式2)API函數庫中以<API函數的路徑的編碼結果(如哈希值),i>這樣的形式存儲API函數,服務器將在代碼塊j中檢測到函數調用的目標路徑進行編碼(并且,與API函數庫中API函數的路徑的編碼方式一致,如采用相同的哈希算法),與API函數庫中的API函數i的路徑的編碼結果進行比較,如果編碼結果一致則說明路徑相同,確定在代碼塊j中當前檢測到的函數調用為API函數調用,將代碼塊j中針對API函數i的調用次數累加1。

基于代碼塊中調用的應用程序接口函數、以及調用應用程序接口函數的次數構建相應的代碼塊特征。對于每個代碼塊,以代碼塊中調用的每個API函數的標識、以及相應應用程序接口函數的在代碼塊中的調用次數形成一個特征元素,代碼塊中每個被調用的API函數形成一個特征元素,基于代碼塊中調用的全部API函數對應的特征元素形成集合,對集合進行編碼形成代碼塊特征;將待檢測樣本的各代碼塊的代碼塊特征合并形成待檢測樣本的特征碼。

其次,從病毒特征碼提取病毒特征碼及對應序列號,設當前提取的病毒特征碼為vf,序列號為VID。

再次,將待檢測樣本(例如,安卓操作系統(tǒng)的apk格式的軟件安裝包)的特征碼df與病毒特征庫中的病毒特征碼vf進行比較,得到待檢測樣本的特征碼df與病毒特征庫中的病毒特征碼vf共有的代碼塊特征的數量S。

這里結合一個計算相似度的具體示例進行說明,參見圖11,圖11是本發(fā)明實施例提供的計算特征碼相似度的一個可選的處理示意圖。

在圖11中,假設攜帶病毒的惡意樣本A的反匯編代碼分割后得到3個代碼塊,記為:A1;A2;A3。

代碼塊A1中調用的API函數、以及相應的調用次數采用(API函數序列號,調用次數)這樣的二元組記錄,則代碼塊A1調用的API函數、以及相應的調用次數以集合表示為:{(12,3),(15,1),(22,1)},將集合計算哈希后得到代碼塊A1的代碼塊特征:1800939131。

同理,代碼塊A2調用的API函數、以及調用次數使用集合表示為:{(56,90)},計算哈希后得到代碼塊A2的代碼塊特征:1369398484。

同理,代碼塊A3調用的API函數、以及調用次數使用集合表示為:{(32,54),(123,34),(132,36),(645,1)},計算哈希后得到代碼塊A3的代碼塊特征:2596230670。

將代碼塊A1;A2;A3的代碼塊特征合并,得到惡意樣本A樣本的病毒特征碼為A={1800939131,1369398484,2596230670}。

假設待檢測樣本B包含4個代碼塊,記為:B1,B2,B3和B4。

代碼塊B1調用的API函數、以及調用次數使用集合表示為:{(12,3),(15,1),(22,1)},將其計算哈希后得到代碼塊B1的代碼塊特征:1800939131。

代碼塊B2調用的API函數、以及調用次數使用集合表示為:{(32,3),(122,3)},將其計算哈希后得到代碼塊B2的代碼塊特征:4111055178。

代碼塊B3調用的API函數、以及調用次數使用集合表示為:{(56,91)},將其計算哈希后得到代碼塊B3的代碼塊特征:1348286179

代碼塊B4調用的API函數、以及調用次數使用集合表示為:{(56,35),(68,9)},將其計算哈希后得到代碼塊B4的代碼塊特征:281916613

因此,樣本B的特征B={1800939131,4111055178,1348286179,281916613}。

通過比較樣本A的病毒特征碼,與待檢測樣本B的特征碼的公共代碼塊特征={1800939131},則相似度similarity(A,B)可以采用如下的方式計算:

similarity(A,B)=count({1800939131})/count(A)=1/3=0.33。

待檢測樣本的特征碼df與病毒特征庫中的病毒特征碼vf的相似度,可以使用S/M(其中M為病毒特征碼vf所包括的代碼塊特征的數量)表示,如果相似度大于相似度閾值(N/M,也就是S≤N),說明待檢測樣本中攜帶病毒VID。

如果相似度未超出相似度閾值,說明待檢測樣本的API函數調用與病毒針對API函數的調用存在較大差異,繼續(xù)從病毒特征庫提取其他的病毒特征碼繼續(xù)進行比較,如果相似度均小于相似度閾值,說明待檢測樣本未攜帶病毒,屬于正常樣本。

再對前述病毒特征碼處理裝置的功能結構進行說明,參見圖12,圖12是本發(fā)明實施例提供的特征碼處理裝置20的一個可選的結構示意圖,包括:匯編分割單元21、函數調用單元22、構建特征單元23和特征合并單元24,下面分別進行說明。

匯編分割單元21,用于對攜帶有病毒的惡意樣本進行反匯編處理,將得到的反匯編代碼進行分割得到惡意樣本的多個代碼塊。

例如,就將得到的反匯編代碼進行分割得到惡意樣本的多個代碼塊來說,匯編分割單元21根據反匯編代碼的代碼樹的路徑,以代碼樹中預定級別的路徑為粒度分割反匯編代碼得到多個代碼塊,或者,以函數為粒度分割反匯編代碼按照函數得到多個代碼塊。

函數調用單元22,用于遍歷代碼塊得到代碼塊中執(zhí)行的函數調用,將函數調用的目標路徑與應用程序接口函數的路徑比較,確定代碼塊中調用的應用程序接口函數,以及調用應用程序接口函數的次數。

就函數調用單元72將函數調用的目標路徑與應用程序接口函數的路徑比較來說,函數調用單元22用于獲取終端的操作系統(tǒng)中提供的應用程序接口函數,和/或終端中第三方的應用程序接口函數,為各應用程序接口函數分配標識(如序列號),將函數調用的目標路徑與所獲取的應用程序接口函數的路徑進行比較,即將路徑的各個字段對應進行比較是否一致記錄,記錄在代碼塊中調用的應用程序接口函數的標識以及相應的調用次數。

就函數調用單元72將函數調用的目標路徑與應用程序接口函數的路徑比較來說,函數調用單元22,還用于對所獲取的終端的操作系統(tǒng)中提供的應用程序接口函數,和/或終端中第三方的應用程序接口函數的路徑進行編碼,并對應用程序接口函數分配標識,將函數調用的目標路徑的編碼結果,與函數庫中應用程序接口函數的路徑的編碼結果進行比較,若編碼結果一致,說明當前檢測到的函數調用為應用程序接口函數調用,記錄在代碼塊中調用的應用程序接口函數的標識以及相應的調用次數。

就函數調用單元72將函數調用的目標路徑與應用程序接口函數的路徑比較來說,函數調用單元22還用于在函數庫中預先存儲應用程序接口函數,例如,將所獲取應用程序接口函數的路徑的編碼結果、以及為相應應用程序接口函數分配的標識存入函數庫。在函數調用單元72遍歷代碼塊時,將函數調用的目標路徑的編碼結果,與函數庫中應用程序接口函數的路徑的編碼結果進行比較,若編碼結果一致,說明當前檢測到的函數調用為應用程序接口函數調用,記錄在代碼塊中調用的應用程序接口函數的標識以及相應的調用次數。

構建特征單元23,用于基于代碼塊中調用的應用程序接口函數、以及調用應用程序接口函數的次數構建相應的代碼塊特征。

就構件代碼塊特征來說,構建特征單元23,還用于以代碼塊中調用的應用接口函數的標識、以及相應應用程序接口函數的調用次數形成特征元素,基于代碼塊中調用的各應用程序接口函數對應的特征元素形成集合,對集合進行編碼形成代碼塊特征。

特征合并單元24,用于將惡意樣本的各代碼塊的代碼塊特征合并形成惡意樣本的病毒特征碼。

樣本檢測單元25,用于計算待檢測樣本的特征碼,比較待檢測樣本的特征碼與病毒的特征碼得到特征碼的相似度,基于相似度判斷待檢測樣本是否攜帶病毒。

就樣本檢測單元25計算待檢測樣本的特征碼來說,比較待檢測樣本的特征碼所包括的代碼塊特征與病毒特征碼所包括的代碼塊特征,得到待檢測樣本和惡意樣本共有的代碼塊特征碼,計算共有的代碼塊特征與病毒特征碼所包括的代碼塊特征的數量比值。

就樣本檢測單元25比較待檢測樣本的特征碼與病毒的特征碼得到特征碼的相似度,基于相似度判斷待檢測樣本是否攜帶病毒來說,樣本檢測單元25用于將待檢測樣本的各代碼塊中函數調用的目標路徑與預定應用程序接口函數的路徑比較,基于比較得到的代碼塊中調用的應用程序接口函數,以及調用應用程序接口函數的次數,構建相應的代碼塊特征;將待檢測樣本的代碼塊特征合并形成待檢測樣本的特征碼。

綜上所述,本發(fā)明實施例具有以下有益效果:

1)依賴于終端(如終端或服務器)的計算能力可以高效完成;

2)采用惡意樣本的API函數調用的特征來構建特征碼,與相關技術采用惡意樣本的哈希值相比,由于惡意樣本的API函數調用的特征能夠準確反映惡意樣本在實現(xiàn)惡意目的時的語義特性,不受惡意樣本的哈希值和字節(jié)數變化的影響,因此能夠實現(xiàn)檢測病毒的廣譜性;

3)由于惡意樣本中的API調用具有相對穩(wěn)定的特性,因此,基于API函數調用的特征構建特征碼能夠檢測到演化后的病毒,避免了相關技術提供的特征碼檢測病毒存在滯后性的問題;

4)提取樣本的每個代碼塊的API函數調用并對其編碼后作為特征。該方法考慮到了程序的語義和行為,可以較好的抵抗編譯器優(yōu)化策略引入的干擾和病毒作者對源碼的修改引入的干擾,極大的提高了特征碼的廣譜性,降低了病毒查殺的難度。

本領域的技術人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質包括:移動存儲裝置、隨機存取存儲器(RAM,Random Access Memory)、只讀存儲器(ROM,Read-Only Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。

或者,本發(fā)明上述集成的單元如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發(fā)明實施例的技術方案本質上或者說對相關技術做出貢獻的部分可以以軟件產品的形式體現(xiàn)出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機裝置(可以是個人計算機、服務器、或者網絡裝置等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分。而前述的存儲介質包括:移動存儲裝置、RAM、ROM、磁碟或者光盤等各種可以存儲程序代碼的介質。

以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應以所述權利要求的保護范圍為準。

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
达孜县| 双江| 吴旗县| 聂荣县| 乌拉特前旗| 清镇市| 长治县| 宜君县| 江北区| 柏乡县| 永安市| 突泉县| 肃北| 河南省| 光泽县| 温宿县| 东城区| 开鲁县| 武平县| 铜鼓县| 南平市| 淮阳县| 尉犁县| 奎屯市| 延长县| 德庆县| 富顺县| 襄樊市| 怀宁县| 河津市| 张家界市| 贵州省| 永春县| 于田县| 大城县| 平阴县| 通辽市| 咸阳市| 安塞县| 霍山县| 兴城市|