本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,特別是一種日志查詢方法和裝置。
背景技術(shù):
目前,對同一安全事件的分析依賴于對多條安全日志的關(guān)聯(lián)分析,而多條安全日志往往來自不同的安全設(shè)備和安全軟件。為了保證數(shù)據(jù)的完整性,安全日志往往采用文件結(jié)構(gòu)進(jìn)行快速存儲,給后續(xù)的分析查找?guī)砝щy。隨著日志數(shù)據(jù)量的增加,查詢的時間也會逐漸增長,因此如今海量數(shù)據(jù)的發(fā)展趨勢對于日志查找的效率提出了更高的要求。對海量非結(jié)構(gòu)化的安全日志實(shí)現(xiàn)快速查找已成為大數(shù)據(jù)安全分析技術(shù)的熱點(diǎn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的一個目的在于提出一種提高日志查詢效率的方案。
根據(jù)本發(fā)明的一個方面,提出一種日志查詢方法,包括:獲取事件查詢請求,事件查詢請求包括流量源地址、目的地址、源端口號、目的端口號和/或事件信息;根據(jù)事件查詢請求按照預(yù)定策略生成事件查詢向量;比較事件查詢向量與日志向量,獲取日志查詢結(jié)果,其中,日志向量為根據(jù)預(yù)定策略為每條日志記錄生成的向量化信息。
進(jìn)一步地,根據(jù)事件查詢請求按照預(yù)定策略生成事件查詢向量包括:將事件查詢請求中的每種信息按照預(yù)定策略生成對應(yīng)向量,包括源IP地址向量、目的IP地址向量、源端口號向量、目的端口號向量和/或事件名稱向量;向量的維數(shù)與對應(yīng)種類信息中的不相同信息的個數(shù)相等,每種信息中不相同的信息對應(yīng)的向量不相同,且相同信息對應(yīng)的向量相同;事件查詢向量為事件查詢請求中多種信息的對應(yīng)向量按照預(yù)定策略生成的向量組。
進(jìn)一步地,比較事件查詢向量與日志向量,獲取日志查詢結(jié)果包括:獲取事件查詢向量與每條日志向量的相關(guān)度;按照與事件查詢向量間相關(guān)度從大到小的順序排列日志向量對應(yīng)的日志記錄。
進(jìn)一步地,獲取事件查詢向量與每條日志向量的相關(guān)度為:獲取事件查詢向量與每條日志向量的漢明距離;按照與事件查詢向量間相關(guān)度從大到小的順序排列日志記錄為:按照日志向量與事件查詢向量間漢明距離從小到大的順序排列日志向量對應(yīng)的日志記錄。
進(jìn)一步地,還包括:預(yù)處理日志文件,按照預(yù)定策略為每條日志記錄生成日志向量。
進(jìn)一步地,還包括:采集日志信息,按照預(yù)定模板存儲日志文件;預(yù)處理日志文件,按照預(yù)定策略為每條日志記錄生成日志向量包括:根據(jù)預(yù)定模板獲取日志記錄索引信息,日志記錄索引信息包括源IP地址、目的IP地址、源端口號、目的端口號和/或事件名稱;將日志記錄索引信息中的每種信息按照預(yù)定策略生成對應(yīng)向量,包括源IP地址向量、目的IP地址向量、源端口號向量、目的端口號向量和/或事件名稱向量;向量的維數(shù)與對應(yīng)種類信息中的不相同信息的個數(shù)相等,每種信息中不相同的信息對應(yīng)的向量不相同,且相同信息對應(yīng)的向量相同;日志向量為多種索引信息的對應(yīng)向量按照預(yù)定策略生成的向量組。
進(jìn)一步地,日志向量還包括日志采集時間和/或原始日志記錄文件地址。
采用此方法能夠根據(jù)事件查詢請求以預(yù)定策略生成事件查詢向量,并通過與日志向量的運(yùn)算獲取日志記錄與事件查詢請求的相關(guān)性,從而得到查詢結(jié)果,提高了日志查詢的效率,符合大數(shù)據(jù)分析的需求。
根據(jù)本發(fā)明的另一個方面,提出一種日志查詢裝置,包括:請求獲取模塊,用于獲取事件查詢請求,事件查詢請求包括流量源地址、目的地址、源端口號、目的端口號和/或事件信息;查詢向量生成模塊,用于根據(jù)事件查詢請求按照預(yù)定策略生成事件查詢向量;查詢模塊,用于比較事件查詢向量與日志向量,獲取日志查詢結(jié)果,其中,日志 向量為根據(jù)預(yù)定策略為每條日志記錄生成的向量化信息。
進(jìn)一步地,根據(jù)查詢向量生成模塊還用于:將事件查詢請求中的每種信息按照預(yù)定策略生成對應(yīng)向量,包括源IP地址向量、目的IP地址向量、源端口號向量、目的端口號向量和/或事件名稱向量;向量的維數(shù)與對應(yīng)種類信息中的不相同信息的個數(shù)相等,每種信息中不相同的信息對應(yīng)的向量不相同,且相同信息對應(yīng)的向量相同;事件查詢向量為事件查詢請求中多種信息的對應(yīng)向量按照預(yù)定策略生成的向量組。
進(jìn)一步地,查詢模塊包括:相關(guān)度獲取單元,用于獲取事件查詢向量與每條日志向量的相關(guān)度;排序單元,用于按照與事件查詢向量間相關(guān)度從大到小的順序排列日志向量對應(yīng)的日志記錄。
進(jìn)一步地,相關(guān)度獲取單元,還用于獲取事件查詢向量與每條日志向量的漢明距離;排序單元,還用于按照日志向量與事件查詢向量間漢明距離從小到大的順序排列日志向量對應(yīng)的日志記錄。
進(jìn)一步地,還包括:預(yù)處理模塊,用于預(yù)處理日志文件,按照預(yù)定策略為每條日志記錄生成日志向量。
進(jìn)一步地,還包括:日志采集模塊,用于采集日志信息,并按照預(yù)定模板生成日志文件;預(yù)處理模塊包括:信息獲取單元,用于根據(jù)預(yù)定模板獲取日志記錄索引信息,日志記錄索引信息包括源IP地址、目的IP地址、源端口號、目的端口號和/或事件名稱;日志向量生成單元,用于將日志記錄索引信息中的每種信息按照預(yù)定策略生成對應(yīng)向量,包括源IP地址向量、目的IP地址向量、源端口號向量、目的端口號向量和/或事件名稱向量;向量的維數(shù)與對應(yīng)種類信息中的不相同信息的個數(shù)相等,每種信息中不相同的信息對應(yīng)的向量不相同,且相同信息對應(yīng)的向量相同;日志向量為多種索引信息的對應(yīng)向量按照預(yù)定策略生成的向量組。
進(jìn)一步地,日志向量還包括日志采集時間和/或原始日志記錄文件地址。
本裝置能夠根據(jù)事件查詢請求以預(yù)定策略生成事件查詢向量,并 通過與日志向量的運(yùn)算獲取日志記錄與事件查詢請求的相關(guān)性,從而得到查詢結(jié)果,提高了日志查詢的效率,符合大數(shù)據(jù)分析的需求。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
圖1為本發(fā)明的日志查詢方法的一個實(shí)施例的流程圖。
圖2為本發(fā)明的日志查詢方法的另一個實(shí)施例的流程圖。
圖3為本發(fā)明的日志查詢方法的又一個實(shí)施例的流程圖。
圖4為本發(fā)明的日志查詢方法的再一個實(shí)施例的流程圖。
圖5為本發(fā)明的日志查詢裝置的一個實(shí)施例的示意圖。
圖6為本發(fā)明的日志查詢裝置的另一個實(shí)施例的示意圖。
圖7為本發(fā)明的日志查詢裝置的又一個實(shí)施例的示意圖。
圖8為本發(fā)明的日志查詢裝置的再一個實(shí)施例的示意圖。
具體實(shí)施方式
下面通過附圖和實(shí)施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
本發(fā)明的日志查詢方法的一個實(shí)施例的流程圖如圖1所示。
在步驟101中,獲取事件查詢請求。根據(jù)實(shí)際應(yīng)用場景或用戶實(shí)際需求,事件查詢請求中包括的信息種類可以不同。事件查詢請求中可以包括流量源地址、目的地址、源端口號、目的端口號、事件信息中的一種或多種信息。
在步驟102中,按照預(yù)定策略將接收到的事件查詢請求以向量的方式表示,生成事件查詢向量。
在步驟103中,將生成的事件查詢向量與日志向量進(jìn)行比較或運(yùn)算,獲取日志查詢結(jié)果。日志向量為日志信息的向量方式的表示,日志向量的生成策略與生成事件查詢向量的策略相同。
采用此方法能夠根據(jù)事件查詢請求以預(yù)定策略生成事件查詢向量,并通過與日志向量的運(yùn)算獲取日志記錄與事件查詢請求的相關(guān)性,從而得到查詢結(jié)果,提高了日志查詢的效率,符合大數(shù)據(jù)分析的需求。
在一個實(shí)施例中,事件查詢向量中包括事件查詢請求中的每種信息按照預(yù)定策略生成的對應(yīng)向量,具體可以包括源IP地址向量、目的IP地址向量、源端口號向量、目的端口號向量、事件名稱向量中的一種或多種,事件查詢向量為事件查詢請求中多種信息的對應(yīng)向量按照預(yù)定策略生成的向量組。每種信息的對應(yīng)向量的維數(shù)與對應(yīng)種類信息中的不相同信息的個數(shù)相等,每種信息中不相同的信息對應(yīng)的向量不相同,且相同信息對應(yīng)的向量相同。如,源IP地址共有100中可能性,則源IP地址向量為100維向量,每個源IP地址用唯一的源IP地址向量表示,且不同源IP地址對應(yīng)的向量不同;其他種類的信息采用類似的預(yù)定策略生成對應(yīng)向量。
此方法能夠保證每種信息中每個不相同信息均能用唯一的向量表示,且通過將事件查詢向量和日志向量中對應(yīng)向量的對應(yīng)元素的比較,能夠提高查詢的效率和準(zhǔn)確度。
在一個實(shí)施例中,以事件查詢請求中的關(guān)鍵字段為特征,為每個關(guān)鍵字段生成對應(yīng)向量。查詢請求的向量化格式可以為:{<源IP的地址>,<目的IP地址>,<源端口號>,<目的端口號>,<事件種類>,日志采集時間、原始日志記錄文件地址},其中,流量源地址、目的地址、源端口號、目的端口號、事件種類可以向量化。如,日志文件中共有500個不同的源IP地址,則生成500維向量,分別為<1,0,0……,0>、<0,1,0……,0>、<0,0,1……,0>……<0,0,0……,1>。其他關(guān)鍵信息可以以相同的方式完成向量化。一個事件查詢請求在經(jīng)過向量化后,可以表示為{<0,1,0,0,…,0>,<1,0,0,0,…,0>,<0,0,0,0,…,0>,<0,0,0,0,…,0>、<0,0,0,0,…,0>,0,0}類似的格式。
該方法產(chǎn)生的事件查詢向量格式清晰,且采用二進(jìn)制表示,便于機(jī)器按位運(yùn)算,進(jìn)一步提高了事件查詢的效率。
本發(fā)明的日志查詢方法的另一個實(shí)施例的流程圖如圖2所示。
在步驟201中,獲取事件查詢請求。事件查詢請求中可以包括流量源地址、目的地址、源端口號、目的端口號、事件信息中的一種或多種信息。
在步驟202中,按照預(yù)定策略將接收到的事件查詢請求以向量的方式表示,生成事件查詢向量。
在步驟203中,比較事件查詢向量和日志向量,獲取每條日志向量與事件查詢向量的相關(guān)度。相關(guān)度越高則表明該日志向量對應(yīng)的日志記錄越符合事件查詢的結(jié)果。
在步驟204中,按照與事件查詢向量的相關(guān)度從大到小的順序排列日志向量對應(yīng)的日志記錄,生成日志查詢結(jié)果。在一個實(shí)施例中,可以以日期為基礎(chǔ),按照相關(guān)度排列日期相同的日志記錄。在一個實(shí)施例中,可以將在不同日志文件中查詢的結(jié)果進(jìn)行合并排列,從而得到更加全面的查詢結(jié)果。
此方法能夠?qū)⒉樵兊降娜罩居涗洶凑张c事件查詢請求相關(guān)度從大到小的順序排列,形成全面、完整的日志查詢結(jié)果,便于用戶查看和進(jìn)一步處理。
在一個實(shí)施例中,相關(guān)度大小可以用日志向量與事件查詢向量之間的漢明距離來表示。漢明距離越大,則說明日志向量與事件查詢向量中相同的信息越少,二者的相關(guān)度越小。按照與事件查詢向量的漢明距離從小到大的順序排列日志向量對應(yīng)的日志記錄,生成日志查詢結(jié)果。此方法能夠通過向量運(yùn)算獲取日志向量與事件查詢向量的相關(guān)度,運(yùn)算的可靠性高,且能為用戶提供友好的日志查詢信息。
本發(fā)明的日志查詢方法的又一個實(shí)施例的流程圖如圖3所示。
在步驟301中,對日志文件進(jìn)行預(yù)處理。每個日志文件中可以包含多條日志記錄。在預(yù)處理過程中,為每個日志文件的日志記錄生成相應(yīng)的日志向量。在一個實(shí)施例中,可以將這些日志向量寫入索引文件。
在步驟302中,獲取事件查詢請求。事件查詢請求中可以包括流量源地址、目的地址、源端口號、目的端口號、事件信息中的一種或 多種信息。
在步驟303中,按照預(yù)定策略將接收到的事件查詢請求以向量的方式表示,生成事件查詢向量。
在步驟304中,比較事件查詢向量和日志向量,獲取每條日志向量與事件查詢向量的相關(guān)度。相關(guān)度越高則表明該日志向量對應(yīng)的日志記錄越符合事件查詢的結(jié)果。
在步驟305中,按照與事件查詢向量的相關(guān)度從大到小的順序排列日志向量對應(yīng)的日志記錄,生成日志查詢結(jié)果。
此方法能夠?yàn)槠胀ǖ娜罩疚募擅織l日志記錄對應(yīng)的日志向量,方便與事件查詢向量進(jìn)行比較;能夠基于現(xiàn)有的日志文件存儲系統(tǒng)進(jìn)行改進(jìn),便于推廣應(yīng)用。
在一個實(shí)施例中,以日志文件中關(guān)鍵字段為特征,為每條日志記錄的每個關(guān)鍵字段生成對應(yīng)向量。日志向量的向量化格式可以為:{<源IP的地址>,<目的IP地址>,<源端口號>,<目的端口號>,<事件種類>,日志采集時間、原始日志記錄文件地址},其中,流量源地址、目的地址、源端口號、目的端口號、事件種類可以向量化。如,日志文件中共有500個不同的源IP地址,則生成500維向量,分別為<1,0,0……,0>、<0,1,0……,0>、<0,0,1……,0>……<0,0,0……,1>。其他關(guān)鍵信息可以以相同的方式完成向量化。一條日志記錄在經(jīng)過向量化后,可以表示為{<0,1,0,0,…,0>,<1,0,0,0,…,0>,<0,0,0,0,…,0>,<0,0,0,0,…,0>、<0,0,0,0,…,0>,日志采集時間,原始日志記錄文件地址}類似的格式。
該方法產(chǎn)生的日志向量格式固定,且采用二進(jìn)制表示,便于機(jī)器按位運(yùn)算,能夠進(jìn)一步提高事件查詢的效率。
在一個實(shí)施例中,可以在采集日志時,以預(yù)定的模板存儲日志信息,將關(guān)鍵的信息,如源IP地址、目的IP地址、端口號、事件、事件戳等放在日志文件的頭部,以文本格式進(jìn)行存儲。以預(yù)定模板存儲的日志文本更便于進(jìn)行預(yù)處理,生成對應(yīng)的日志向量,從而提高整個系統(tǒng)的執(zhí)行效率。
在本發(fā)明的日志查詢方法的再一個實(shí)施例的流程圖如圖4所示。
在步驟401中,采集日志文件,針對每個數(shù)據(jù)源定制預(yù)定模板,將流量源/目的IP地址、端口號、事件、時間戳等關(guān)鍵信息放在文件頭部,以文本格式進(jìn)行存儲。
在步驟402中,對文本文件建立索引。按照空間向量模型,以流量源/目IP地址、端口號、事件名稱等作為關(guān)鍵字段,保留原始日志的時間戳信息,對每條日志記錄建立空間向量表達(dá),寫入索引文件。
在步驟403中,當(dāng)發(fā)起事件查詢請求時,提取事件查詢請求中的關(guān)鍵信息,生成事件查詢向量。事件查詢請求可用流量源/目的IP地址、端口號、事件名稱等關(guān)鍵信息的組合表示。
在步驟404中,在每個索引文件進(jìn)行檢索事件查詢向量并反饋結(jié)果。系統(tǒng)將各反饋結(jié)果進(jìn)行合并排序,向系統(tǒng)提交最終的檢索結(jié)果,即文件位置列表。
采用這樣的方法,能夠通過定制日志預(yù)定模板、建立關(guān)鍵字段索引、查找結(jié)果合并排序等手段,為進(jìn)一步的統(tǒng)計(jì)分析提供可靠、完整的相關(guān)數(shù)據(jù)源,提升大數(shù)據(jù)分析平臺的分析效率。
在一個實(shí)施例中,日志信息為安全日志信息,安全日志信息可能來源于安全設(shè)備或安全軟件,安全日志文件中存儲有源IP地址信息、目的IP地址信息、源端口號信息、目的端口號信息、攻擊事件名稱以及時間戳等。針對安全日志文件進(jìn)行快速查找,能夠有效提高對當(dāng)前海量非結(jié)構(gòu)化的安全日志文件的處理效率,為進(jìn)一步的統(tǒng)計(jì)分析快速提供可靠、完整的相關(guān)數(shù)據(jù)源。
本發(fā)明的日志查詢裝置的一個實(shí)施例的示意圖如圖5所示。其中,501為請求獲取模塊,用于獲取事件查詢請求。根據(jù)實(shí)際應(yīng)用場景或用戶實(shí)際需求,事件查詢請求中包括的信息種類可以不同。事件查詢請求中可以包括流量源地址、目的地址、源端口號、目的端口號、事件信息中的一種或多種信息。502為查詢向量生成模塊,用于按照預(yù)定策略將接收到的事件查詢請求以向量的方式表示,生成事件查詢向量。503為查詢模塊,用于將生成的事件查詢向量與日志向量進(jìn)行比 較或運(yùn)算,獲取日志查詢結(jié)果。日志向量為日志信息的向量方式的表示,生成日志向量的策略與生成事件查詢向量的策略相同。
此裝置能夠根據(jù)事件查詢請求以預(yù)定策略生成事件查詢向量,并通過與日志向量的運(yùn)算獲取日志記錄與事件查詢請求的相關(guān)性,從而得到查詢結(jié)果,提高了日志查詢的效率,符合大數(shù)據(jù)分析的需求。
在一個實(shí)施例中,查詢向量生成模塊502能夠?yàn)槭录樵冋埱笾械拿糠N信息按照預(yù)定策略生成對應(yīng)向量,進(jìn)而生成事件查詢向量。事件查詢請求中的向量具體可以包括源IP地址向量、目的IP地址向量、源端口號向量、目的端口號向量、事件名稱向量中的一種或多種,事件查詢向量為事件查詢請求中多種信息的對應(yīng)向量按照所述預(yù)定策略生成的向量組。每種信息的對應(yīng)向量的維數(shù)與對應(yīng)種類信息中的不相同信息的個數(shù)相等,每種信息中不相同的信息對應(yīng)的向量不相同,且相同信息對應(yīng)的向量相同。如,源IP地址共有100中可能性,則源IP地址向量為100維向量,每個源IP地址用唯一的源IP地址向量表示,且不同源IP地址對應(yīng)的向量不同;其他種類的信息采用類似的預(yù)定策略生成對應(yīng)向量。
此裝置能夠保證每種信息中每個不相同信息均能用唯一的向量表示,且通過將事件查詢向量和日志向量中對應(yīng)向量的對應(yīng)元素的比較,能夠提高查詢的效率和準(zhǔn)確度。
本發(fā)明的日志查詢裝置的另一個實(shí)施例的示意圖如圖6所示。其中,601、602分別為請求獲取模塊、查詢向量生成模塊,其結(jié)構(gòu)和功能與圖5中相似。查詢模塊603包括相關(guān)度獲取單元613和排序單元623,其中,相關(guān)度獲取單元613用于比較事件查詢向量和日志向量,獲取每條日志向量與事件查詢向量的相關(guān)度。相關(guān)度越高則表明該日志向量對應(yīng)的日志記錄越符合事件查詢的要求。排序單元623用于按照與事件查詢向量的相關(guān)度從大到小的順序排列日志向量對應(yīng)的日志記錄,生成日志查詢結(jié)果。在一個實(shí)施例中,可以以日期為基礎(chǔ),按照相關(guān)度排列日期相同的日志記錄。在一個實(shí)施例中,可以將在不同日志文件中查詢的結(jié)果進(jìn)行合并排列,從而得到更加全面的查詢結(jié)果。
此裝置能夠?qū)⒉樵兊降娜罩居涗洶凑张c事件查詢請求相關(guān)度從大到小的順序排列,形成全面、完整的日志查詢結(jié)果,便于用戶查看和進(jìn)一步處理。
在一個實(shí)施例中,相關(guān)度大小可以用日志向量與事件查詢向量之間的漢明距離來表示。漢明距離越大,則說明日志向量與事件查詢向量中相同的信息越少,則二者的相關(guān)度越小。按照與事件查詢向量的漢明距離從小到大的順序排列日志向量對應(yīng)的日志記錄,生成日志查詢結(jié)果。此裝置能夠通過向量運(yùn)算獲取日志向量與事件查詢向量的相關(guān)度,運(yùn)算的可靠性高,且能為用戶提供友好的日志查詢信息。
在一個實(shí)施例中,如圖7所示,701、702和703分別為請求獲取模塊、查詢向量生成模塊和查詢模塊,其結(jié)構(gòu)和功能與圖5、6中相似。704為預(yù)處理模塊,能夠?qū)θ罩疚募M(jìn)行預(yù)處理。每個日志文件中可以包含多條日志記錄。在預(yù)處理過程中,為每個日志文件的日志記錄生成相應(yīng)的日志向量。在一個實(shí)施例中,可以將這些日志向量寫入索引文件。
此裝置能夠?yàn)槠胀ǖ娜罩疚募擅織l日志記錄對應(yīng)的日志向量,方便與事件查詢向量進(jìn)行比較;能夠基于現(xiàn)有的日志文件存儲系統(tǒng)進(jìn)行改進(jìn),便于推廣應(yīng)用。
在一個實(shí)施例中,如圖8所示,801、802、803、804分別為請求獲取模塊、查詢向量生成模塊、查詢模塊和預(yù)處理模塊,其結(jié)構(gòu)和功能與圖7中相似。805為采集模塊,能夠在采集日志時,以預(yù)定的模板存儲日志信息,將關(guān)鍵的信息,如源IP地址、目的IP地址、端口號、事件、事件戳等放在日志文件的頭部,以文本格式進(jìn)行存儲。
本裝置以預(yù)定模板存儲的日志文本更便于進(jìn)行預(yù)處理,生成對應(yīng)的日志向量,從而提高整個系統(tǒng)的執(zhí)行效率。
最后應(yīng)當(dāng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案而非對其限制;盡管參照較佳實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:依然可以對本發(fā)明的具體實(shí)施方式進(jìn) 行修改或者對部分技術(shù)特征進(jìn)行等同替換;而不脫離本發(fā)明技術(shù)方案的精神,其均應(yīng)涵蓋在本發(fā)明請求保護(hù)的技術(shù)方案范圍當(dāng)中。