基于日志的挖掘安全未知漏洞的方法和系統的制作方法
【專利摘要】本發明提供一種基于日志的挖掘安全未知漏洞的方法和系統。該方法包括步驟:S1、網站服務器根據用戶請求資源,產生用戶訪問日志;S2、對所產生的用戶訪問日志進行訪問;S3、判斷服務器域名和用戶請求資源信息是否屬于分析清洗的范圍,若是,則對所述服務器域名和用戶請求資源信息進行分析清洗;S4、對所述服務器域名和用戶請求資源信息進行未知漏洞分析與挖掘。本發明的技術方案可以通過對日志數據正向過濾與安全漏洞攻擊特征逆向排除,實現挖掘利用漏洞攻擊發現,降低安全漏洞挖掘成本,提高了挖掘未知漏洞效率。
【專利說明】
基于日志的挖掘安全未知漏洞的方法和系統
技術領域
[0001]本發明涉及電子商務技術領域,特別涉及一種基于日志的挖掘安全未知漏洞的方法和系統。
【背景技術】
[0002]當外部用戶訪問Web應用業務時,產生基于HTTP協議的訪問請求行為,Web應用將產生訪問日志記錄。傳統日志安全分析,通過采集安全設備與操作系統、數據庫、應用系統日志,發現已知安全漏洞、已發生的安全事件進行分析。
[0003]當互聯網產生新的Web應用層安全攻擊時,當發生攻擊代碼變形的安全攻擊時,現有的日志分析系統、IDS、IPS都無法對未知安全漏洞進行發現分析。因為日志分析系統不能理解IDS、IPS沒有產生未定義漏洞的安全檢測與防御規則。
[0004]為解決此類技術缺陷,IDS、IPS 一般提供基于通過正則達式的模糊匹配策略,提供給設備規則維護人員,進行增加正則達式進行表關鍵字匹配規則。現有采用正則達式進行表關鍵字匹配的方法,但存在安全事件誤報、誤攔現象。
【發明內容】
[0005]針對現有技術的上述缺陷,本發明所要解決的技術問題是如何實現日志分析系統增加對未知安全漏洞分析與挖掘,提高發現安全漏洞的效率。
[0006]為實現上述目的,一方面,本發明提供一種基于日志的挖掘安全未知漏洞的方法,該方法包括如下步驟:
[0007]S1、網站服務器根據用戶請求資源,產生用戶訪問日志;
[0008]S2、對所產生的用戶訪問日志進行訪問;
[0009]S3、判斷服務器域名和用戶請求資源信息是否屬于分析清洗的范圍,若是,則對所述服務器域名和用戶請求資源信息進行分析清洗;
[0010]S4、對所述服務器域名和用戶請求資源信息進行未知漏洞分析與挖掘。
[0011]優選地,對所述包含服務器域名和用戶請求資源信息進行分析清洗具體包括:
[0012]服務器域名信息清洗,定義需要分析的服務器域名日志列表;根據服務器響應狀態碼,保留指定服務器狀態碼日志數據;
[0013]根據用戶資源類型分類,排除指定用戶資源類型的日志數據,保留未定義類型的用戶資源日志數據。
[0014]優選地,對所述未定義類型的用戶資源日志數據清洗具體包括:
[0015]執行用戶瀏覽器信息清洗過程,在用戶瀏覽器信息中對包含關鍵字段進行清洗,清除含指定關鍵字的日志數據;
[0016]執行用戶遠程地址清洗過程,對來自可信區域范圍的遠程地址及無地址所產生的日志數據進行清除。
[0017]優選地,所述步驟S4具體包括:
[0018]判斷用戶請求資源參數是否經過編碼,若是,則進行解碼過程;
[0019]將解碼成功的用戶請求資源參數和未經過編碼的用戶請求參數導入安全漏洞安全規則,與安全漏洞規則中的混淆特征關鍵字進行分析匹配確認出未知安全漏洞。
[0020]優選地,所述步驟S4具體包括:
[0021]將日志數據中用戶請求資源參數進行分類;
[0022]執行編碼分析過程,判斷用戶請求資源參數是否經過編碼;若是,則將日志數據中用戶請求資源參數進行單次或多次解碼直至解碼成功;若否,則直接將未編碼類型日志數據轉入安全漏洞規則庫進行分析;
[0023]將解碼成功的用戶請求資源參數導入安全漏洞規則庫采用安全特征混淆進行分析;將解碼失敗的用戶請求資源參數確認為未知安全漏洞;判斷是否是未知安全漏洞,若是,則確認出未知安全漏洞;若否,則判斷出為已知安全漏洞。
[0024]另一方面,本發明還同時提供一種基于日志的挖掘安全未知漏洞的系統,包括:
[0025]生成單元,用于網站服務器根據用戶請求,產生用戶訪問日志;
[0026]訪問單元,用于對所產生的用戶訪問日志進行訪問;
[0027]清洗單元,用于判斷服務器域名和用戶請求資源信息是否屬于分析清洗的范圍,若是,則對所述服務器域名和用戶請求資源信息進行分析清洗;
[0028]挖掘單元,用于對所述服務器域名和用戶請求資源信息進行未知漏洞分析與挖掘。
[0029]優選地,所述清洗單元具體對所述包含服務器域名和用戶請求資源信息進行分析清洗具體包括:
[0030]服務器域名信息清洗,定義需要分析的服務器域名日志列表;根據服務器響應狀態碼,保留指定服務器狀態碼日志數據;
[0031]根據用戶資源類型分類,排除指定用戶資源類型的日志數據,保留未定義類型的用戶資源日志數據。
[0032]優選地,所述清洗單元對所述未定義類型的用戶資源日志數據清洗具體包括:
[0033]執行用戶瀏覽器信息清洗過程,在用戶瀏覽器信息中包含關鍵字段進行清洗,清除含指定關鍵字的日志數據;
[0034]執行用戶遠程地址清洗過程,對來自可信區域范圍的遠程地址及無地址所產生的日志數據進行清除。
[0035]優選地,所述挖掘單元用于:
[0036]判斷用戶請求資源參數是否經過編碼,若是,則進行解碼過程;
[0037]將解碼成功的用戶請求資源參數和未經過編碼的用戶請求參數導入安全漏洞安全規則,與安全漏洞規則中的混淆特征關鍵字進行分析匹配確認出未知安全漏洞。
[0038]優選地,所述挖掘單元還用于:
[0039]將日志數據中用戶請求資源參數進行分類;
[0040]執行編碼分析過程,判斷用戶請求資源參數是否經過編碼;若是,則將日志數據中用戶請求資源參數進行單次或多次解碼直至解碼成功;若否,則直接將未編碼類型日志數據轉入安全漏洞規則庫進行分析;
[0041]將解碼成功的用戶請求資源參數導入安全漏洞規則庫采用安全特征混淆進行分析,以及將解碼失敗的用戶請求資源參數確認為未知安全漏洞;
[0042]判斷是否是未知安全漏洞,若是,則確認出未知安全漏洞;若否,則判斷出為已知安全漏洞。
[0043]本發明所使用的方法,采用了日志數據正向過濾與安全漏洞攻擊特征逆向排除的方法,實現挖掘利用漏洞攻擊發現,與現有技術相比,取得了對未知漏網攻擊行為發現領域的進步,達到了發現未知漏洞效果,降低安全漏洞挖掘成本,提高了挖掘未知漏洞效率。
【附圖說明】
[0044]圖1是本發明的一個實施例中的基于日志的挖掘安全未知漏洞的方法的流程示意圖;
[0045]圖2是本發明的一個實施例中的對日志進行未知漏洞分析與挖掘對日志數據分類清洗的流程示意圖;
[0046]圖3是本發明的一個實施例中的對日志進行未知漏洞分析與挖掘對未知漏洞分析挖掘的流程示意圖;
[0047]圖4是本發明的另一個實施例中的基于日志的挖掘安全未知漏洞的系統的結構示意圖。
【具體實施方式】
[0048]為使本領域技術人員更好地理解本發明的技術方案,下面結合附圖和【具體實施方式】對本發明作進一步詳細描述。
[0049]圖1是本發明的一個實施例中的基于日志的挖掘安全未知漏洞的方法的流程示意圖,如圖1所示,該方法包括如下步驟:
[0050]步驟S1、網站服務器根據用戶訪問請求,產生用戶訪問日志;
[0051]步驟S2、對產生的所述用戶訪問日志進行訪問;
[0052]具體地,用戶訪問日志信息包括但不限于:用戶端信息,用戶瀏覽器信息、用戶遠程地址、用戶提交數據請求的方法、用戶請求訪問來源、服務器響應狀態、用戶訪問時間、用戶請求資源(即通用資源標識符)、用戶請求資源參數(即查詢字符串)、服務器通信協議、服務器域名信息、協議版本、響應請求的服務器名稱。
[0053]步驟S3、判斷服務器域名和用戶請求資源信息是否屬于分析清洗的范圍,若是,則對所述服務器域名和用戶請求資源信息進行分析清洗。
[0054]具體地,圖2是本發明的一個實施例中的對日志進行未知漏洞分析與挖掘對日志數據分類清洗的流程示意圖,如圖2所示,對日志數據分類清洗流程具體包括如下步驟:
[0055]第一步,服務器域名信息范圍清洗,定義需要分析日志域名列表,將符合范圍內的域名日志記錄傳遞到下一流程。
[0056]第二步,進行用戶請求資源參數(即查詢字符串)清洗過程,清除用戶請求資源參數為空的日志記錄,將含有用戶請求資源參數日志數據傳遞到下一流程處理。
[0057]第三步,用戶請求資源(即通用資源標識符)清洗過程,定義存在需要分析的用戶請求資源類型。
[0058]第四步,服務器響應狀態清洗過程,根據服務器響應狀態碼,保留指定服務器狀態碼日志數據。
[0059]第五步,用戶瀏覽器信息清洗過程,對國外、國內已知自動化安全滲透測試工具,在用戶瀏覽器信息中包含關鍵字段進行清洗,清除含指定關鍵字的日志數據。
[0060]第六步,用戶遠程地址清洗過程,對來可信區域范圍的遠程地址及無地址,所產生的日志數據進行排除。
[0061]S4、對所述服務器域名和用戶請求資源信息進行未知漏洞分析與挖掘。
[0062]具體地,圖3是本發明的一個實施例中的對日志進行未知漏洞分析與挖掘對未知漏洞分析挖掘的流程示意圖,如圖3所示,對未知漏洞分析挖掘流程具體包括如下步驟:
[0063]第一步,對用戶請求資源參數(即查詢字符串)進行散列計算,建立用戶請求資源參數散列庫,根據歷史結果,將散列結果分為安全散列值、威脅散列值、待查散列值三種類型。
[0064]第二步,由編碼分析過程,進行編碼類型、特征判斷,判斷用戶請求資源參數是否已經過編碼。將用戶請求資源參數(即查詢字符串)分為已編碼、未編碼類型。將未編碼類型日志數據轉入安全漏洞規則庫進行分析。
[0065]第三步,進入編碼解碼過程,將日志數據中用戶請求資源參數進行解碼,根據解碼日志數據是否存在編碼特征關鍵字符判斷是否解碼成功,用戶請求資源參數(即查詢字符串)是否在解碼分析白名單列表中,解碼成功的用戶請求資源參數進入安全漏洞規則庫進行分析,解碼失敗的用戶請求資源參數進行二次解碼及多重解碼。
[0066]第四步,對不需要解碼、解碼成功的用戶請求資源參數(即查詢字符串),導入安全漏洞規則庫。安全漏洞規則庫,是由已知安全漏洞攻擊特征組成安全漏洞規則庫。
[0067]第五步,安全漏洞攻擊特征采用特征混淆分析的方法,將攻擊特征關鍵字加入混淆規則,根據安全漏洞規則庫中混淆特征關鍵字與用戶請求資源參數(即查詢字符串)進行分析匹配。
[0068]第六步,在日志數據中無法解碼及匹配安全漏洞攻擊特征失敗的數據屬于未知安全漏洞。對日志進行未知漏洞分析和挖掘,未知漏洞分析挖掘流程包括如下步驟:
[0069]第一步,對用戶請求資源參數(即查詢字符串)進行散列計算,建立用戶請求資源參數散列庫,根據歷史結果,將散列結果分為安全散列值、威脅散列值、待查散列值三種類型。
[0070]第二步,進行編碼分析過程,進行編碼類型、特征判斷,判斷用戶請求資源參數是否已經過編碼。將用戶請求資源參數(即查詢字符串)分為已編碼、未編碼類型。將未編碼類型日志數據轉入安全漏洞規則庫進行分析。
[0071]第三步,進入編碼解碼過程,將日志數據中用戶請求資源參數進行解碼,根據解碼日志數據是否存在編碼特征關鍵字符判斷是否解碼成功,用戶請求資源參數(即查詢字符串)是否在解碼分析白名單列表中,解碼成功的用戶請求資源參數進入安全漏洞規則庫進行分析,解碼失敗的用戶請求資源參數進行二次解碼及多重解碼。
[0072]第四步,對不需要解碼、解碼成功的用戶請求資源參數(即查詢字符串),導入安全漏洞規則庫。安全漏洞規則庫,是由已知安全漏洞攻擊特征組成安全漏洞規則庫。
[0073]第五步,安全漏洞攻擊特征采用特征混淆分析的方法,將攻擊特征關鍵字加入混淆規則,根據安全漏洞規則庫中混淆特征關鍵字與用戶請求資源參數(即查詢字符串)進行分析匹配。
[0074]第六步,在日志數據中無法解碼及匹配安全漏洞攻擊特征失敗的數據屬于未知安全漏洞,即威脅散列值。
[0075]本發明所使用的方法,采用了日志數據正向過濾與安全漏洞攻擊特征逆向排除的方法,實現挖掘利用漏洞攻擊發現,與現有技術相比,取得了對未知漏網攻擊行為發現領域的進步,達到了發現未知漏洞效果,降低安全漏洞挖掘成本,提高了挖掘未知漏洞效率。
[0076]本領域技術人員應能理解,與本發明的方法一一對應的,本發明還同時提供一種基于日志的挖掘安全未知漏洞的系統,如圖4所示,該系統包括:生成單元401、訪問單元402、清洗單元403和挖掘單元404.其中,生成單元401用于用戶實現網站服務器根據用戶請求,產生用戶訪問日志;訪問單元402用于對所產生的用戶訪問日志進行訪問;清洗單元403用于判斷服務器域名和用戶請求資源信息是否屬于分析清洗的范圍,若是,則對所述服務器域名和用戶請求資源信息進行分析清洗;挖掘單元404用于對所述服務器域名和用戶請求資源信息進行未知漏洞分析與挖掘。優選地,清洗單元403具體對所述包含服務器域名和用戶請求資源信息進行分析清洗具體包括:服務器域名信息清洗,定義需要分析的服務器域名日志列表;根據服務器響應狀態碼,保留指定服務器狀態碼日志數據;根據用戶資源類型分類,排除指定用戶資源類型的日志數據,保留未定義類型的用戶資源日志數據。
[0077]優選地,清洗單元403具體用于:服務器域名信息范圍清洗,定義需要分析日志域名列表,將符合范圍內的域名日志記錄傳遞到下一流程處理;進行用戶請求資源參數清洗過程,清除用戶請求資源參數為空的日志記錄,將含有用戶請求資源參數日志數據傳遞到下一流程處理;用戶請求資源清洗過程,定義存在需要分析的用戶請求資源類型;服務器響應狀態清洗過程,根據服務器響應狀態碼,保留指定服務器狀態碼日志數據;用戶瀏覽器信息清洗過程,對國外、國內已知自動化安全滲透測試工具,在用戶瀏覽器信息中包含關鍵字段進行清洗,清除含指定關鍵字的日志數據;用戶遠程地址清洗過程,對來可信區域范圍的遠程地址及無地址,所產生的日志數據進行排除。
[0078]優選地,挖掘單元404用于判斷用戶請求資源參數是否經過編碼,若是,則進行解碼過程,判斷解碼過程是否成功,若是,導入安全漏洞安全規則,將安全漏洞規則中的混淆特征關鍵字與用戶請求資源參數進行分析匹配,判斷是否是未知安全漏洞,若是,確認出未知安全漏洞。
[0079]優選地,挖掘單元404還用于將日志數據中用戶請求資源參數進行分類;執行編碼分析過程,判斷用戶請求資源參數是否經過編碼;若是,則將日志數據中用戶請求資源參數進行單次或多次解碼直至解碼成功;若否,則直接將未編碼類型日志數據轉入安全漏洞規則庫進行分析;將解碼成功的用戶請求資源參數導入安全漏洞規則庫采用安全特征混淆進行分析,以及將解碼失敗的用戶請求資源參數確認為未知安全漏洞;判斷是否是未知安全漏洞,若是,則確認出未知安全漏洞;若否,則判斷出為已知安全漏洞。
[0080]本發明所使用的系統,通過將日志數據正向過濾與安全漏洞攻擊特征逆向排除,實現挖掘利用漏洞攻擊發現,與現有技術相比,取得了對未知漏網攻擊行為發現領域的進步,達到了發現未知漏洞效果,降低安全漏洞挖掘成本,提高了挖掘未知漏洞效率。
[0081]可以理解的是,以上實施方式僅僅是為了說明本發明的原理而采用的示例性實施方式,然而本發明并不局限于此。對于本領域內的普通技術人員而言,在不脫離本發明的精神和實質的情況下,可以做出各種變型和改進,這些變型和改進也視為本發明的保護范圍。
【主權項】
1.一種基于日志的挖掘安全未知漏洞的方法,其特征在于,所述方法包括如下步驟: 51、網站服務器根據用戶請求資源,產生用戶訪問日志; 52、對所產生的用戶訪問日志進行訪問; 53、判斷服務器域名和用戶請求資源信息是否屬于分析清洗的范圍,若是,則對所述服務器域名和用戶請求資源信息進行分析清洗; 54、對所述服務器域名和用戶請求資源信息進行未知漏洞分析與挖掘。2.根據權利要求1所述的基于日志的挖掘安全未知漏洞的方法,其特征在于,對所述包含服務器域名和用戶請求資源信息進行分析清洗具體包括: 服務器域名信息清洗,定義需要分析的服務器域名日志列表;根據服務器響應狀態碼,保留指定服務器狀態碼日志數據; 根據用戶資源類型分類,排除指定用戶資源類型的日志數據,保留未定義類型的用戶資源日志數據。3.根據權利要求2所述的基于日志的挖掘安全未知漏洞的方法,其特征在于,對所述未定義類型的用戶資源日志數據清洗具體包括: 執行用戶瀏覽器信息清洗過程,在用戶瀏覽器信息中對包含關鍵字段進行清洗,清除含指定關鍵字的日志數據; 執行用戶遠程地址清洗過程,對來自可信區域范圍的遠程地址及無地址所產生的日志數據進行清除。4.根據權利要求3所述的基于日志的挖掘安全未知漏洞的方法,其特征在于,所述步驟S4具體包括: 判斷用戶請求資源參數是否經過編碼,若是,則進行解碼過程; 將解碼成功的用戶資源請求參數和未經過編碼的用戶請求參數導入安全漏洞安全規貝1J,與安全漏洞規則中的混淆特征關鍵字進行分析匹配確認出未知安全漏洞。5.根據權利要求4所述的基于日志的挖掘安全未知漏洞的方法,其特征在于,所述步驟S4具體包括: 將日志數據中用戶請求資源參數進行分類; 執行編碼分析過程,判斷用戶請求資源參數是否經過編碼;若是,則將日志數據中用戶請求資源參數進行單次或多次解碼直至解碼成功;若否,則直接將未編碼類型日志數據轉入安全漏洞規則庫進行分析; 將解碼成功的用戶請求資源參數導入安全漏洞規則庫采用安全特征混淆進行分析;將解碼失敗的用戶請求資源參數確認為未知安全漏洞;判斷是否是未知安全漏洞,若是,則確認出未知安全漏洞;若否,則判斷出為已知安全漏洞。6.一種基于日志的挖掘安全未知漏洞的系統,其特征在于,包括: 生成單元,用于實現網站服務器根據用戶請求,產生用戶訪問日志; 訪問單元,用于對所產生的用戶訪問日志進行訪問; 清洗單元,用于判斷服務器域名和用戶請求資源信息是否屬于分析清洗的范圍,若是,則對所述服務器域名和用戶請求資源信息進行分析清洗; 挖掘單元,用于對所述服務器域名和用戶請求資源信息進行未知漏洞分析與挖掘。7.根據權利要求6所述的基于日志的挖掘安全未知漏洞的系統,其特征在于,所述清洗單元具體對所述包含服務器域名和用戶請求資源信息進行分析清洗具體包括: 服務器域名信息清洗,定義需要分析的服務器域名日志列表;根據服務器響應狀態碼,保留指定服務器狀態碼日志數據; 根據用戶資源類型分類,排除指定用戶資源類型的日志數據,保留未定義類型的用戶資源日志數據。8.根據權利要求7所述的基于日志的挖掘安全未知漏洞的系統,其特征在于,所述清洗單元對所述未定義類型的用戶資源日志數據清洗具體包括: 執行用戶瀏覽器信息清洗過程,在用戶瀏覽器信息中包含關鍵字段進行清洗,清除含指定關鍵字的日志數據; 執行用戶遠程地址清洗過程,對來自可信區域范圍的遠程地址及無地址所產生的日志數據進行清除。9.根據權利要求8所述的基于日志的挖掘安全未知漏洞的系統,其特征在于,所述挖掘單元用于: 判斷用戶請求資源參數是否經過編碼,若是,則進行解碼過程; 將解碼成功的用戶資源請求參數和未經過編碼的用戶請求參數導入安全漏洞安全規貝1J,將安全漏洞規則中的混淆特征關鍵字與用戶請求資源參數進行分析匹配確認出未知安全漏洞。10.根據權利要求9所述的基于日志的挖掘安全未知漏洞的系統,其特征在于,所述挖掘單元還用于: 將日志數據中用戶請求資源參數進行分類; 執行編碼分析過程,判斷用戶請求資源參數是否經過編碼;若是,則將日志數據中用戶請求資源參數進行單次或多次解碼直至解碼成功;若否,則直接將未編碼類型日志數據轉入安全漏洞規則庫進行分析; 將解碼成功的用戶請求資源參數導入安全漏洞規則庫采用安全特征混淆進行分析,以及將解碼失敗的用戶請求資源參數確認為未知安全漏洞; 判斷是否是未知安全漏洞,若是,則確認出未知安全漏洞;若否,則判斷出為已知安全漏洞。
【文檔編號】H04L29/06GK105871776SQ201510026904
【公開日】2016年8月17日
【申請日】2015年1月19日
【發明人】黃宙
【申請人】蘇寧云商集團股份有限公司