專利名稱:基于云平臺的主動防御方法
技術領域:
本發(fā)明涉及信息安全領域,更具體地,本發(fā)明涉及一種基于云平臺的主動防御方法。
背景技術:
長期以來,計算機病毒一直威脅著計算機系統(tǒng)的數(shù)據(jù)安全。計算機病毒的隱蔽性, 傳染性及破壞性嚴重干擾了計算機的正常運行,給人類造成了巨大的損失。隨著計算機網(wǎng)絡及其應用的快速發(fā)展,病毒產(chǎn)生的渠道、傳播形式以及生命周期也隨之發(fā)生了質(zhì)的改變。 目前新產(chǎn)生的病毒大多來自網(wǎng)絡,通過網(wǎng)絡傳播、自動下載新病毒或自動更新變種,并不斷傳播。近幾年來,“云安全”的思想被提出,其主要技術方法是通過網(wǎng)狀的大量客戶端, 對網(wǎng)絡中軟件行為的異常監(jiān)測,獲取互聯(lián)網(wǎng)中木馬、惡意程序的最新信息,推送到服務端進行自動分析和處理,再把病毒和木馬的解決方案分發(fā)到每一個客戶端。目前各安全廠商都已經(jīng)推出云安全解決方案,有如下兩種典型方案1.客戶端與“云安全”平臺實時通信,組成監(jiān)測木馬和惡意網(wǎng)址的互聯(lián)網(wǎng)絡,客戶端對用戶計算機進行掃描,然后提取可能是病毒的文件上報,經(jīng)過云端檢測處理后,升級殺毒軟件并將解決方案送達所有客戶端,所有客戶端就都能防范這一威脅,這種方案里,所有客戶端組成云網(wǎng)絡;2.利用龐大的服務器群,實時收集應用請求,并通過在云端的計算,判斷這些請求是否是安全的,比如打開一條網(wǎng)站鏈接,先通過存儲在其云端的數(shù)據(jù)對這些請求進行鑒別,分析其是否是安全的鏈接或程序,并給客戶以反饋,通過云端強大的存儲和處理能力保證用戶得到同步反饋。現(xiàn)有的云安全解決方案擴大了惡意軟件樣本的獲取渠道,使殺毒軟件廠商可以更快的獲取新樣本,但仍然存在一些局限首先,惡意代碼可能對抗云安全分析,比如增大自身大小對抗上傳,或者只在特定條件下才暴露其惡意行為;其次,受到目前惡意軟件自動化分析技術的限制,殺毒軟件廠商仍然不能對新樣本即時分析,并迅速做出響應。新病毒樣本從出現(xiàn)到被殺毒軟件廠商識別的時間差內(nèi)依然有大量用戶會被惡意軟件感染,也就是云安全所存在的首批受害者問題;最后,即使在服務端采用云安全方案時,客戶端仍然要安裝殺毒軟件,客戶端資源消耗較大。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于云平臺的主動防御方法,其中客戶端與云端服務器協(xié)同完成對惡意程序的檢測。本發(fā)明是通過以下技術方案實現(xiàn)的—種基于云平臺的主動防御方法,包括以下步驟客戶端攔截進程創(chuàng)建,以獲取進程的程序文件路徑,根據(jù)程序文件路徑計算程序文件的特征值,判斷程序文件的特征值是否存在于本地數(shù)據(jù)庫中,若程序文件的特征值不是存在于本地數(shù)據(jù)庫中,則將程序文件的特征值發(fā)送至云端,判斷程序文件的特征值是否存在于云端的數(shù)據(jù)庫中,若程序文件的特征值不是存在于云端的數(shù)據(jù)庫中,則判斷是否需要對程序文件執(zhí)行云端分析,若需要對程序文件執(zhí)行云端分析,則將程序文件發(fā)送到云端,云端執(zhí)行程序文件中的命令,具體包括子步驟判斷命令是否包括用戶環(huán)境相關命令,若命令包括用戶環(huán)境相關命令,則對客戶端執(zhí)行系統(tǒng)調(diào)用,訪問客戶端的注冊表及資源文件,判斷程序文件中的命令是否已經(jīng)執(zhí)行完畢, 如命令已經(jīng)執(zhí)行完畢,則過程結(jié)束,如果命令沒有執(zhí)行完畢,則返回判斷命令是否包括用戶環(huán)境相關命令的步驟,判斷程序文件中的剩余命令是否不包括用戶環(huán)境相關命令,若剩余命令不包括用戶環(huán)境相關命令,則執(zhí)行剩余命令,根據(jù)程序文件的行為記錄檢測程序文件的安全性,將檢測結(jié)果返回給客戶端。本發(fā)明的方法還包括步驟若不需要對程序文件執(zhí)行云端分析,則則直接返回安全的結(jié)果。云端執(zhí)行程序文件中的命令的步驟還包括若命令不包括用戶環(huán)境相關命令,則對命令執(zhí)行本地調(diào)用,訪問云端的注冊表及資源文件,并返回判斷程序文件中的命令是否已經(jīng)執(zhí)行完畢的步驟。本發(fā)明的方法還包括步驟若剩余命令包括用戶環(huán)境相關命令,則返回云端執(zhí)行程序文件中的命令的步驟。本發(fā)明具有以下優(yōu)點(1)對客戶端保護更加有效客戶端會攔截所有進程創(chuàng)建及其操作,程序特征碼及行為被上傳到服務器端查詢,服務器端首先采用查詢特征碼等黑白名單庫給出檢測結(jié)果,當查詢未命中時在客戶端執(zhí)行惡意程序但所有危險操作都被定位到服務器端,即使對抗云端分析的惡意程序仍然可以在本地執(zhí)行而不會對本地系統(tǒng)造成危害,因而可以有效保護客戶端的安全;(2)云端的分析響應速度更快客戶端所攔截的所有可疑文件都會被選擇在重定位到云端執(zhí)行,并且可以借助客戶端的配合模擬真實的用戶環(huán)境,能夠充分捕捉惡意軟件的行為,避免惡意軟件有意逃避虛擬環(huán)境的檢測。由多個客戶端配合進行不同實例的分析,能對惡意軟件做最全面和充分的行為分析;服務器端用戶上傳的程序在服務器端客戶機操作系統(tǒng)中被執(zhí)行,利用硬件輔助虛擬化技術在特權域檢測用戶行為,這種檢測對客戶機操作系統(tǒng)的執(zhí)行程序是完全透明的, 可以充分暴露檢測程序的行為,避免惡意程序?qū)狗治觯?3)客戶端的開銷較低用戶客戶端可以不裝復雜的殺毒軟件和龐大的病毒庫,客戶端可以使用輕量級攔截進程加載及操作的程序,在客戶端使用本地黑白名單緩沖區(qū),減少網(wǎng)絡查詢開銷,本地查詢未命中再向云端查詢,并將查詢結(jié)果保存在本地,最后客戶端根據(jù)查詢到的結(jié)果允許或拒絕目標程序操作。
圖1是本發(fā)明基于云平臺的主動防御方法的流程圖。圖2是本發(fā)明方法中步驟⑶的細化流程圖。
具體實施例方式以下對本發(fā)明中一些技術術語進行定義云端S卩服務器端。程序文件的特征值可以惟一標識文件的值,如MD5值、SHAl安全哈希算法 (Secure Hash Algorithm,簡稱SHA1)值以及程序的關鍵指令。程序文件中的命令指程序指令。用戶環(huán)境相關命令指特定的程序指令,如處理用戶輸入的指令、讀取系統(tǒng)信息指令和讀取用戶數(shù)據(jù)的指令。云端分析在服務器端執(zhí)行程序并進行分析以識別程序的安全性。如圖1所示,本發(fā)明基于云計算的主動防御方法包括以下步驟(1)客戶端攔截進程創(chuàng)建,以獲取進程的程序文件路徑;(2)根據(jù)程序文件路徑計算程序文件的特征值,具體而言,可以采用MD5或SHAl算法獲得程序的特征值,也可以提取程序的關鍵指令;(3)判斷程序文件的特征值是否存在于本地數(shù)據(jù)庫中,若程序文件的特征值不是存在于本地數(shù)據(jù)庫中,則進入步驟G),否則進入步驟(11);(4)將程序文件的特征值發(fā)送至云端;(5)判斷程序文件的特征值是否存在于云端的數(shù)據(jù)庫中,若程序文件的特征值不是存在于云端的數(shù)據(jù)庫中,則進入步驟(6),否則進入步驟(11);(6)判斷是否需要對程序文件執(zhí)行云端分析,若需要對程序文件執(zhí)行云端分析,則進入步驟(7),否則直接返回安全的結(jié)果;(7)將程序文件發(fā)送到云端;(8)云端執(zhí)行程序文件中的命令;(9)判斷程序文件中的剩余程序是否包含用戶環(huán)境相關命令,若剩余程序包含用戶環(huán)境相關命令,則返回步驟(8),否則進入步驟(10);(10)根據(jù)程序文件的行為記錄檢測程序文件的安全性;(11)將檢測結(jié)果返回給客戶端。如圖2所示,本發(fā)明方法中的步驟(8)包括以下子步驟(8-1)判斷程序文件中的命令是否包括用戶環(huán)境相關命令,若命令包括用戶環(huán)境相關命令,則進入步驟(8-2),否則進入步驟(8-5);(8-2)對客戶端執(zhí)行系統(tǒng)調(diào)用;(8-3)訪問客戶端的注冊表及資源文件;(8-4)判斷程序文件中的命令是否已經(jīng)執(zhí)行完畢,若執(zhí)行完畢,則過程結(jié)束,若沒有執(zhí)行完畢,則返回子步驟(8-1);(8-5)對云端本地執(zhí)行上述命令;(8-6)訪問云端本地注冊表及資源文件,并返回子步驟(8-4)。
權利要求
1.一種基于云平臺的主動防御方法,包括以下步驟 客戶端攔截進程創(chuàng)建,以獲取進程的程序文件路徑; 根據(jù)所述程序文件路徑計算程序文件的特征值;判斷所述程序文件的特征值是否存在于本地數(shù)據(jù)庫中;若所述程序文件的特征值不是存在于所述本地數(shù)據(jù)庫中,則將所述程序文件的特征值發(fā)送至云端;判斷所述程序文件的特征值是否存在于所述云端的數(shù)據(jù)庫中; 若所述程序文件的特征值不是存在于所述云端的數(shù)據(jù)庫中,則判斷是否需要對所述程序文件執(zhí)行云端分析;若需要對所述程序文件執(zhí)行云端分析,則將所述程序文件發(fā)送到所述云端; 所述云端執(zhí)行所述程序文件中的命令,具體包括 判斷所述命令是否包括用戶環(huán)境相關命令;若所述命令包括所述用戶環(huán)境相關命令,則對所述客戶端執(zhí)行系統(tǒng)調(diào)用; 訪問所述客戶端的注冊表及資源文件; 判斷所述程序文件中的命令是否已經(jīng)執(zhí)行完畢;如所述命令已經(jīng)執(zhí)行完畢,則過程結(jié)束,如果所述命令沒有執(zhí)行完畢,則返回判斷所述命令是否包括用戶環(huán)境相關命令的步驟;判斷所述程序文件中的剩余命令是否不包括用戶環(huán)境相關命令; 若所述剩余命令不包括所述用戶環(huán)境相關命令,則執(zhí)行所述剩余命令; 根據(jù)所述程序文件的行為記錄檢測所述程序文件的安全性; 將檢測結(jié)果返回給所述客戶端。
2.根據(jù)權利要求1所述的主動防御方法,其特征在于,還包括步驟 若不需要對所述程序文件執(zhí)行云端分析,則直接返回安全的結(jié)果。
3.根據(jù)權利要求1所述的主動防御方法,其特征在于,所述云端執(zhí)行所述程序文件中的命令的步驟還包括若所述命令不包括所述用戶環(huán)境相關命令,則對所述命令執(zhí)行本地調(diào)用; 訪問所述云端的注冊表及資源文件,并返回所述判斷所述命令是否已經(jīng)執(zhí)行完畢的步馬聚ο
4.根據(jù)權利要求1所述的主動防御方法,其特征在于,還包括步驟若所述剩余命令包括所述用戶環(huán)境相關命令,則返回所述云端執(zhí)行所述程序文件中的命令的步驟。
全文摘要
本發(fā)明公開了一種基于云平臺的主動防御方法,包括以下步驟客戶端攔截進程創(chuàng)建,以獲取進程的程序文件路徑,根據(jù)程序文件路徑計算程序文件的特征值,判斷程序文件的特征值是否存在于本地數(shù)據(jù)庫中,若不是存在于本地數(shù)據(jù)庫中,則將程序文件的特征值發(fā)送至云端,判斷程序文件的特征值是否存在于云端的數(shù)據(jù)庫中,若不是存在于云端的數(shù)據(jù)庫中,則判斷是否需要對程序文件執(zhí)行云端分析,若需要對程序文件執(zhí)行云端分析,則將程序文件發(fā)送到云端,云端執(zhí)行程序文件中的命令,判斷程序文件中的剩余命令是否不包括用戶環(huán)境相關命令,若剩余命令不包括用戶環(huán)境相關命令,則執(zhí)行剩余命令,根據(jù)程序文件的行為記錄檢測程序文件的安全性,將檢測結(jié)果返回給客戶端。
文檔編號H04L29/08GK102413142SQ20111039153
公開日2012年4月11日 申請日期2011年11月30日 優(yōu)先權日2011年11月30日
發(fā)明者秦攀, 胡剛, 鄒德清, 金海 , 項國富 申請人:華中科技大學