本發明專利技術涉及一種保護Web應用安全的方法,核心在于至少包含如下一個步驟:步驟A1:對Web文件進行分析,判斷文件是否已被加密,如果尋找到文件內的一個解密算法,則調用所述解密算法對所述文件進行解密,然后繼續對解密后的文件進行上述分析,尋找所述解密后的文件內其余的解密算法,如果尋找到,則調用所述其余的解密算法繼續對所述解密后的文件進行再次解密,直到所述Web文件無法再被解密、生成最終的沒有加密內容的文件為止;步驟A2:建立一個文件解密庫,通過所述庫中包含的所有文件解密算法,對Web文件嘗試進行解密,直到所述Web文件無法再被解密、生成最終的沒有加密內容的文件為止。從而解決了現有技術不能有效針對加密Web文件等技術問題。
【技術實現步驟摘要】
本專利技術涉及互聯網信息安全領域,特別涉及。
技術介紹
隨著信息技術的發展,互聯網不斷向生產、生活領域滲透,信息安全性也就顯得愈加重要。Web服務器,則處于互聯網中的重要地位,服務器的安全關系到眾多接入服務器的設備和信息的安全。現有技術中用以保護Web應用安全的方法主要是采用數據包方式過濾非法請求,利用數據包關鍵字分析技術來過濾垃圾數據包,并且這種保護方法通常需要依賴Web服務器的部署軟件,比如依賴于IIS服務器軟件,或者依賴于Apache服務器軟件,抑或者依賴于Php服務器軟件。此外,現有技術對于加密的Web文件無法進行過濾,并且對已存在于服務器的潛在風險文件無法處理,需要依賴其他殺毒軟件。
技術實現思路
本專利技術g在解決上述一個或多個技術問題而提出了,所述方法至少包含如下步驟Al和A2中的ー個 步驟Al :對Web文件進行分析,判斷所述文件是否已被加密,如果尋找到所述文件內的一個解密算法,則調用所述解密算法對所述文件進行解密,然后繼續對解密后的文件進行上述分析,尋找所述解密后的文件內其余的解密算法,如果尋找到,則調用所述其余的解密算法繼續對所述解密后的文件進行再次解密,直到所述Web文件無法再被解密、生成最終的沒有加密內容的文件為止; 步驟A2 :建立一個文件解密庫,通過所述庫中包含的所有文件解密算法,對Web文件嘗試進行解密,直到所述Web文件無法再被解密、生成最終的沒有加密內容的文件為止; 其中,如果所述Web文件自始至終均被判斷為沒有被加密,則所述Web文件即最終的沒有加密內容的文件。具體實施例方式為便于本領域技術人員理解本專利技術,特對本專利技術作進ー步說明。針對本專利技術所公開的ー種保護Web應用安全的方法,所述方法至少包含如下步驟Al和A2中的ー個 步驟Al :對Web文件進行分析,判斷所述文件是否已被加密,如果尋找到所述文件內的一個解密算法,則調用所述解密算法對所述文件進行解密,然后繼續對解密后的文件進行上述分析,尋找所述解密后的文件內其余的解密算法,如果尋找到,則調用所述其余的解密算法繼續對所述解密后的文件進行再次解密,直到所述Web文件無法再被解密、生成最終的沒有加密內容的文件為止; 步驟A2 :建立一個文件解密庫,通過所述庫中包含的所有文件解密算法,對Web文件嘗試進行解密,直到所述Web文件無法再被解密、生成最終的沒有加密內容的文件為止;其中,如果所述Web文件自始至終均被判斷為沒有被加密,則所述Web文件即最終的沒有加密內容的文件。對于上述實施例而言,本實施例充分體現了本專利技術的核心思路即對于現有技術不能有效識別的加密Web文件,無論上述步驟Al還是A2,本質上都屬于無限脫殼和解密,直到所述Web文件被判定為無法再被解密、生成最終的沒有加密內容的文件為止。這是基于Web文件的特殊性,特別是Web腳本,其由于要運行于服務器平臺,文件即使被加密,カロ密后的文件也已經包含了與加密算法相對應的解密算法。如,ASP代碼常見的加密方式有VBSCRIP. ENCODE, PHP代碼常見的加密方式有base64. encode,ASPX,CGI,JSP代碼常見的加密方式有escape,如果分析Web文件后判斷其采用了上述加密方式,則該方法會調用相應的解密算法來解密。需要補充說明的是,對于本領域技術人員而言,上述提及的ASP、PHP、ASPX、CGI,JSP是指腳本編寫方式而并不是指文件格式,因為網頁腳本可以鑲嵌到任何格式文件中,因此本申請不針對某種特定的文件格式。另外,上述的步驟Al、A2屬于兩種脫殼或解密方式,上述實施例既可以単獨使用Al,也可以單獨使用A2,還可以2者都使用,容易理解,2者都使用時技術效果更佳。一旦完成解密,那么該實施例自然就解決了現有技術中不能有效針對加密Web文件的技術問題,此時就可以輔助現有技術的關鍵字過濾的手段,或者輔助現有技術中的其他技木。當然,本申請后文中將進ー步提供更佳實施例,以取得比現有技術的關鍵字技術更佳的技術效果。優選的,在另ー個實施例中所述方法通過正則表達式來尋找文件內的解密算法,且不區分所述文件內包含的字母的大小寫;并且每當文件完成一次解密后,刪除解密后的文件中的所有空格。就該實施例而言,其中的“每當文件完成一次解密后,刪除解密后的文件中的所有空格”,是為了刪除無用字符,便于后續對文件的進ー步分析或解密。至于采用正則表達式和不區分字母的大小寫,則是為了排除大小寫敏感,從而更有效的從文件中尋找和匹配解密算法。優選的,在另ー個實施例中所述方法部署于云端或部署于被保護的所述Web應用一端。就該實施例而言,部署于被保護的所述Web應用一端,相當于部署于本地,安裝在服務器主機,這是本領域常規技術手段,但是本申請還額外提供了部署于云端的特性,這樣一來,可以免于安裝在本地,通過網絡連線來在線掃描和防護,當然這樣也會占用部分帶寬,但是也有云端服務的優勢,相比本地而言更方便維護。優選的,在另ー個實施例中步驟A2中,通過所述庫中包含的所有文件解密算法的特征碼與所述Web文件進行比較,當發現所述Web文件存在所述特征碼時,則調用相應的文件解密算法對文件進行解密。對于該實施例,其具體限定了一種通過所述文件解密庫來尋找所述Web文件中的解密算法的方式。優選的,在另ー個實施例中,本申請提供了后續的、相比于現有技術的關鍵字手段更好的方式對于所述最終的沒有加密內容的文件,利用正則表達式逐一提取其中的每個函數的過程及其參數,然后針對提取的每個函數所對應的代碼逐一進行模擬運行,根據模擬運行時所述代碼的行為來判斷所述代碼的攻擊性。也就是說,該實施例實現了解析到函數級別、并且模擬運行相關代碼以便進一歩依據代碼的行為來判斷其攻擊性的功能。這是一種行為分析的手段,創新性的將解密、正則表達式、模擬等手段糅合到Web應用的保護領域,不是現有技術中簡單的關鍵字過濾或比對特征的方式,不僅能夠提高保護效果,也能降低誤判從而提高用戶體驗,還能夠順理成章的用于后期的主動防御和實時查殺功能,對異常行為進行攔截,對已有的風險文件進行適當處理,從而解決現有技術所面臨的其他問題。其中模擬的情形包括以下示例但并不局限于此,其余未列舉情形無法窮盡,因此此處示例如下,以惡意腳本為例 如果腳本編寫方式是VBSCRIPT那么模擬時首先會調用Windows系統的VBSCRIPT腳本執行組件進行腳本解析,然后獲取其返回值,并將返回值用于行為判斷; 如果腳本編寫方式是Javascript,那么模擬時會調用操作系統的Javascript腳本組件進行腳本解析,然后獲取其返回值,并將返回值用于行為判斷; 如果腳本編寫方式是采用PHP,那么模擬時會首先判斷操作系統的類型,如過操作系統是WINDOWS那么將采用windows調用方式來調用PHP的腳本執行組建進行腳本解析;如·果操作系統是Linux或者unix,那么系統將采用Linux或者unix系統的調用方式來調用Php腳本執行組件進行腳本解析,然后獲取其返回值.并將返回值用于行為判斷,其中PHP腳本執行組件由PHP服務器軟件中提取; 如果腳本編寫方式是JSP、CGI等,那么模擬時將會選擇對應的方式進行腳本解析,然后獲取其返回值,并將返回值用于行為判斷; 其他腳本編寫方式無本文檔來自技高網...
【技術保護點】
一種保護Web應用安全的方法,所述方法至少包含如下步驟A1和A2中的一個:步驟A1:對Web文件進行分析,判斷所述文件是否已被加密,如果尋找到所述文件內的一個解密算法,則調用所述解密算法對所述文件進行解密,然后繼續對解密后的文件進行上述分析,尋找所述解密后的文件內其余的解密算法,如果尋找到,則調用所述其余的解密算法繼續對所述解密后的文件進行再次解密,直到所述Web文件無法再被解密、生成最終的沒有加密內容的文件為止;步驟A2:建立一個文件解密庫,通過所述庫中包含的所有文件解密算法,對Web文件嘗試進行解密,直到所述Web文件無法再被解密、生成最終的沒有加密內容的文件為止;其中,如果所述Web文件自始至終均被判斷為沒有被加密,則所述Web文件即最終的沒有加密內容的文件。
【技術特征摘要】
【專利技術屬性】
技術研發人員:李克龍,
申請(專利權)人:重慶安全起航信息技術有限公司,李克龍,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。