本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,具體而言,涉及一種入侵檢測的方法、裝置和系統(tǒng)。
背景技術(shù):
由于web2.0技術(shù)的不斷發(fā)展,以及云計算的服務(wù)能力不斷的演化,越來越多的應用與業(yè)務(wù)都以b/s(browser/server,瀏覽器/服務(wù)器模式)的形式展現(xiàn)給客戶。而黑客的入侵攻擊手段也越來越偏向于以web作為入侵的突破口進行攻擊。傳統(tǒng)的入侵檢測系統(tǒng)更偏向于檢測自身應用和匹配安全策略的模式來達到目的。
在當前在業(yè)界內(nèi)通常使用的入侵分析的手段均為基于后端去檢測,或者是通過數(shù)據(jù)驅(qū)動來分析入侵的軌跡,需要從大量的日志數(shù)據(jù)中提取并且分析可能潛在的入侵特征,屬于“事后”行為。常規(guī)的入侵檢測系統(tǒng)分為以下幾種:
1.完整性分析,通過監(jiān)測某個文件或者某個對象是否被更改,例如文件或者目錄的屬性,文件的md5值等,如果監(jiān)測到預設(shè)的文件或?qū)ο蟀l(fā)生修改,則認為可能存在入侵者非法侵入對某個文件或?qū)ο筮M行修改,并啟動報警。
2.匹配模式,通過收集的網(wǎng)絡(luò)信息,如用戶請求的url(uniformresourcelocator,統(tǒng)一資源定位符)和參數(shù)等,通過匹配安全策略的形式來檢測是否存在攻擊性行為,如果匹配到相似的安全策略,則觸發(fā)報警機制,通知管理員存在疑似入侵的現(xiàn)象。
3.統(tǒng)計性分析,收集各種操作日志記錄和行為記錄,通過利用大數(shù)據(jù)計算的方法分析出可能存在攻擊性行為的操作,通常攻擊性行為大都表象為,請求數(shù)量大,速度快等。一些非正常業(yè)務(wù)的交互能夠通過數(shù)學算法從大量的操作日志記錄中分析出具有攻擊性的操作記錄。
因為目前的入侵檢測系統(tǒng)大都通過檢測自身應用、監(jiān)視網(wǎng)絡(luò)傳輸數(shù)據(jù)或者監(jiān)視系統(tǒng)完整性來達到入侵檢測的目的,而對入侵的溯源主要通過日志分析來定位入侵者的攻擊路徑和攻擊者的ip地址。但這種分析形勢過于被動,時效性差,不能在第一時間內(nèi)主動發(fā)現(xiàn)攻擊者的入侵行為和對入侵者進行實時的監(jiān)控手段。
針對現(xiàn)有技術(shù)采用后端檢測或日志數(shù)據(jù)分析等在后端進行入侵檢測的分析手段,導致監(jiān)控客戶端發(fā)生的行為時效性差的問題,目前尚未提出有效的解決方案。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種入侵檢測的方法、裝置和系統(tǒng),以至少解決現(xiàn)有技術(shù)采用后端檢測或日志數(shù)據(jù)分析等在后端進行入侵檢測的分析手段,導致監(jiān)控客戶端發(fā)生的行為時效性差的技術(shù)問題。
根據(jù)本發(fā)明實施例的一個方面,提供了一種入侵檢測的方法,包括:獲取前端客戶端的交互行為;檢測交互行為是否為攻擊網(wǎng)絡(luò)應用的攻擊行為;在確定交互行為是攻擊網(wǎng)絡(luò)應用的攻擊行為的情況下,觸發(fā)前端客戶端監(jiān)控發(fā)生在本地的行為。
根據(jù)本發(fā)明實施例的另一方面,還提供了一種入侵檢測的裝置,包括:第一獲取模塊,用于獲取前端客戶端的交互行為;檢測模塊,用于檢測交互行為是否為攻擊網(wǎng)絡(luò)應用的攻擊行為;監(jiān)控模塊,用于在確定交互行為是攻擊網(wǎng)絡(luò)應用的攻擊行為的情況下,觸發(fā)前端客戶端監(jiān)控發(fā)生在本地的行為。
根據(jù)本發(fā)明實施例的另一方面,還提供了一種入侵檢測的系統(tǒng),包括:前端客戶端,用于發(fā)送交互行為;中間設(shè)備,與前端客戶端具有通信關(guān)系,用于檢測交互行為是否為攻擊網(wǎng)絡(luò)應用的攻擊行為,在確定交互行為是攻擊網(wǎng)絡(luò)應用的攻擊行為的情況下,觸發(fā)前端客戶端監(jiān)控發(fā)生在本地的行為。
根據(jù)本發(fā)明實施例的另一方面,還提供了一種入侵檢測的方法,包括:前端客戶端檢測本地發(fā)生的交互行為是否為攻擊網(wǎng)絡(luò)應用的攻擊行為;在確定交互行為是攻擊網(wǎng)絡(luò)應用的攻擊行為的情況下,前端客戶端監(jiān)控發(fā)生在本地的行為。
由此可知,通過本發(fā)明提供的技術(shù)方案:獲取前端客戶端的交互行為;檢測交互行為是否為攻擊網(wǎng)絡(luò)應用的攻擊行為;在確定交互行為是攻擊網(wǎng)絡(luò)應用的攻擊行為的情況下,觸發(fā)前端客戶端監(jiān)控發(fā)生在本地的行為,由此本申請?zhí)岢隽艘环N利用前端技術(shù)來發(fā)現(xiàn)入侵行為手段的方案,在業(yè)界內(nèi)通常使用的入侵分析手段都是基于后端去檢測,或者是數(shù)據(jù)驅(qū)動來分析入侵的軌跡,通常需要從大量的日志數(shù)據(jù)中提取并且分析可能潛在的入侵特征,屬于“事后”行為。而本申請通過對前端客戶端的交互行為進行檢測,一旦發(fā)行交互行為是入侵行為,就對該入侵行為進行監(jiān)測的方法,實現(xiàn)了對前端客戶端的交互行為進行實時監(jiān)測的技術(shù)效果,也實現(xiàn)了對入侵行為進行跟蹤監(jiān)測的技術(shù)效果,充分利用前端具有的屬性,能夠在第一時間內(nèi)發(fā)現(xiàn)入侵行為,并且能夠精確的定位出攻擊者,從而解決了現(xiàn)有技術(shù)采用后端檢測或日志數(shù)據(jù)分析等在后端進行入侵檢測的分析手段,導致監(jiān)控客戶端發(fā)生的行為時效性差的技術(shù)問題。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中:
圖1是本發(fā)明實施例的一種入侵檢測的方法的計算機終端的硬件結(jié)構(gòu)框圖;
圖2是根據(jù)本發(fā)明實施例1的入侵檢測的方法的流程圖;
圖3是根據(jù)本發(fā)明實施例1的一種可選的入侵檢測的方法的示意圖;
圖4是根據(jù)本發(fā)明實施例1的一種可選的入侵檢測的方法的信息交互圖;
圖5是根據(jù)本發(fā)明實施例2的一種入侵檢測的系統(tǒng)的結(jié)構(gòu)示意圖;
圖6是根據(jù)本發(fā)明實施例2的一種可選的入侵檢測的系統(tǒng)的結(jié)構(gòu)示意圖;
圖7是根據(jù)本發(fā)明實施例3的一種入侵檢測的裝置的示意圖;
圖8是根據(jù)本發(fā)明實施例3的一種可選的入侵檢測的裝置的示意圖;
圖9是根據(jù)本發(fā)明實施例3的一種可選的入侵檢測的裝置的示意圖;
圖10是根據(jù)本發(fā)明實施例3的一種可選的入侵檢測的裝置的示意圖;
圖11是根據(jù)本發(fā)明實施例3的一種可選的入侵檢測的裝置的示意圖;
圖12是根據(jù)本發(fā)明實施例3的一種可選的入侵檢測的裝置的示意圖;
圖13是根據(jù)本發(fā)明實施例4的另一種入侵檢測的方法的流程圖;以及
圖14是根據(jù)本申請實施例5的一種計算機終端的結(jié)構(gòu)框圖。
具體實施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本發(fā)明保護的范圍。
需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第 二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數(shù)據(jù)在適當情況下可以互換,以便這里描述的本發(fā)明的實施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
首先,在對本申請實施例進行描述的過程中出現(xiàn)的部分名詞或術(shù)語適用于如下解釋:
waf:網(wǎng)站應用級入侵防御系統(tǒng),即webapplicationfirewall,用于通過執(zhí)行一系列針對http/https的安全策略來保障web應用的安全。
入侵檢測系統(tǒng):是一種對網(wǎng)絡(luò)傳輸進行即時監(jiān)視,在發(fā)現(xiàn)可疑傳輸時發(fā)出警報或采取主動反應措施的網(wǎng)絡(luò)安全設(shè)備。例如:部署在網(wǎng)關(guān)或交換機層的waf系統(tǒng)(webapplicationfirewall,網(wǎng)站應用級入侵防御系統(tǒng))。
hook:中文譯為“鉤子”,是一種消息處理機制,即應用程序可以在指定的窗口或者函數(shù)進行監(jiān)聽某種消息,當消息到達后,該窗口或者函數(shù)就會受到系統(tǒng)的通知,程序就能在第一時間內(nèi)做出響應操作。
javascript:javascript是一種直譯式腳本語言,內(nèi)置支持類型,用于給html網(wǎng)頁增加動態(tài)功能。
webrtc:即webreal-timecommucation,網(wǎng)頁實時通信,是一個支持網(wǎng)絡(luò)瀏覽器進行實時語音對話或視頻對話的技術(shù)。
交互行為:可以是用戶對當前前端的網(wǎng)站進行點擊等操作,生成訪問請求的行為,例如,用戶使用鼠標對前端網(wǎng)頁中的某一控件或某一個網(wǎng)頁鏈接進行點擊,如果該點擊行為發(fā)生在前端網(wǎng)頁的空白區(qū)域,并未生成訪問請求,則該行不為前端客戶端的交互行為,如果該點擊行為成功并生成了訪問請求,則可以認為該點擊行為為前端客戶端的交互行為。
攻擊網(wǎng)絡(luò)應用的攻擊行為:利用網(wǎng)絡(luò)存在的漏洞或安全缺陷對網(wǎng)絡(luò)應用及其系統(tǒng)中的數(shù)據(jù)進行的攻擊,例如對網(wǎng)絡(luò)應用中的數(shù)據(jù)進行篡改或偽造、降低網(wǎng)絡(luò)應用的性能等。
實施例1
根據(jù)本發(fā)明實施例,還提供了一種入侵檢測的方法的方法實施例,需要說明的是, 在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
本申請實施例一所提供的方法實施例可以在移動終端、計算機終端或者類似的運算裝置中執(zhí)行。以運行在計算機終端上為例,圖1是本發(fā)明實施例的一種入侵檢測的方法的計算機終端的硬件結(jié)構(gòu)框圖。如圖1所示,計算機終端10可以包括一個或多個(圖中僅示出一個)處理器102(處理器102可以包括但不限于微處理器mcu或可編程邏輯器件fpga等的處理裝置)、用于存儲數(shù)據(jù)的存儲器104、以及用于通信功能的傳輸模塊106。本領(lǐng)域普通技術(shù)人員可以理解,圖1所示的結(jié)構(gòu)僅為示意,其并不對上述電子裝置的結(jié)構(gòu)造成限定。例如,計算機終端10還可包括比圖1中所示更多或者更少的組件,或者具有與圖1所示不同的配置。
存儲器104可用于存儲應用軟件的軟件程序以及模塊,如本發(fā)明實施例中的入侵檢測的方法對應的程序指令/模塊,處理器102通過運行存儲在存儲器104內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應用以及數(shù)據(jù)處理,即實現(xiàn)上述的入侵檢測的方法。存儲器104可包括高速隨機存儲器,還可包括非易失性存儲器,如一個或者多個磁性存儲裝置、閃存、或者其他非易失性固態(tài)存儲器。在一些實例中,存儲器104可進一步包括相對于處理器102遠程設(shè)置的存儲器,這些遠程存儲器可以通過網(wǎng)絡(luò)連接至計算機終端10。上述網(wǎng)絡(luò)的實例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動通信網(wǎng)及其組合。
傳輸裝置106用于經(jīng)由一個網(wǎng)絡(luò)接收或者發(fā)送數(shù)據(jù)。上述的網(wǎng)絡(luò)具體實例可包括計算機終端10的通信供應商提供的無線網(wǎng)絡(luò)。在一個實例中,傳輸裝置106包括一個網(wǎng)絡(luò)適配器(networkinterfacecontroller,nic),其可通過基站與其他網(wǎng)絡(luò)設(shè)備相連從而可與互聯(lián)網(wǎng)進行通訊。在一個實例中,傳輸裝置106可以為射頻(radiofrequency,rf)模塊,其用于通過無線方式與互聯(lián)網(wǎng)進行通訊。
在上述運行環(huán)境下,本申請?zhí)峁┝巳鐖D2所示的入侵檢測的方法。圖2是根據(jù)本發(fā)明實施例1的一種入侵檢測的方法的流程圖。
步驟s21,獲取前端客戶端的交互行為。
在上述步驟中,上述交互行為可以是用戶對當前前端的網(wǎng)站進行點擊等操作,生成訪問請求的行為,例如,用戶使用鼠標對前端網(wǎng)頁中的某一控件或某一個網(wǎng)頁鏈接進行點擊,如果該點擊行為發(fā)生在前端網(wǎng)頁的空白區(qū)域,并未生成訪問請求,則該行不為前端客戶端的交互行為,如果該點擊行為成功并生成了訪問請求,則可以認為該 點擊行為為前端客戶端的交互行為。
步驟s23,檢測交互行為是否為攻擊網(wǎng)絡(luò)應用的攻擊行為。
在上述步驟中,攻擊網(wǎng)絡(luò)應用的攻擊行為可以是利用網(wǎng)絡(luò)存在的漏洞或安全缺陷對網(wǎng)絡(luò)應用及其系統(tǒng)中的數(shù)據(jù)進行的攻擊,例如對網(wǎng)絡(luò)應用中的數(shù)據(jù)進行篡改或偽造、降低網(wǎng)絡(luò)應用的性能等。
一種可選方案中,本申請可以實現(xiàn)通過部署在前端應用層的入侵檢測系統(tǒng)檢測當前前端客戶端的交互行為。上述入侵檢測系統(tǒng)可以是部署在網(wǎng)關(guān)或交換機層的waf系統(tǒng)(webapplicationfirewall,網(wǎng)站應用級入侵防御系統(tǒng)),前端在網(wǎng)絡(luò)應用中可以指網(wǎng)站的前臺部分,主要包括網(wǎng)站的表現(xiàn)層和結(jié)構(gòu),另外,上述入侵檢測系統(tǒng)也可以是前端客戶端中具有檢測攻擊行為功能的應用軟件或插件。
具體的,結(jié)合圖3所示的一種可選示例中,當攻擊者嘗試對前端客戶端的網(wǎng)站應用進行攻擊時,可以使用部署于b/s前端應用上層的waf系統(tǒng)中預設(shè)的安全策略對當前前端客戶端產(chǎn)生的交互行為進行匹配,來檢測該交互行為是否為攻擊行為。
步驟s25,在確定交互行為是攻擊網(wǎng)絡(luò)應用的攻擊行為的情況下,觸發(fā)前端客戶端監(jiān)控發(fā)生在本地的行為。在上述步驟中,確認交互行為是攻擊行為的方式可以是多種,在此不做具體限定。其中,在采用入侵檢測系統(tǒng)檢測當前前端客戶端的交互行為的一種可選方案中,上述入侵檢測系統(tǒng)可以通過透傳該攻擊行為至前端客戶端,來實現(xiàn)觸發(fā)監(jiān)控發(fā)起攻擊行為的前端客戶端的行為。
此處需要說明的是,上述前端客戶端所監(jiān)控的行為不限于入侵行為的內(nèi)容,還包括前端客戶端的日常操作行為,例如鍵盤、鼠標等i/o設(shè)備的操作記錄、用戶在前端客戶端的應用軟件操作記錄和網(wǎng)絡(luò)流量的記錄等。
此處還需要說明的是,本申請上述入侵檢測系統(tǒng)在確定當前交互行為是一種攻擊網(wǎng)絡(luò)應用的攻擊行為的情況下,該入侵檢測系統(tǒng)透傳該攻擊行為的數(shù)據(jù),此處的透傳用于表示在傳輸攻擊行為的過程中,不對上述攻擊行為做任何處理,直接將其傳輸至預設(shè)目標(例如圖3所示的行為分析監(jiān)測系統(tǒng))即可,上述可用于透傳的設(shè)備還可以包括透傳網(wǎng)關(guān)、無限透傳模塊(透傳grrs模塊、透傳zigbee模塊)等。
由此可知,上述步驟實現(xiàn)了在確定當前前端客戶端發(fā)生了攻擊行為之后,則確定該前端客戶端是一個高危的攻擊源,進而啟動監(jiān)控該前端客戶端后續(xù)的網(wǎng)絡(luò)交互、設(shè)備操作等行為,例如監(jiān)控該前端客戶端后續(xù)發(fā)起的入侵行為,從而實現(xiàn)對前端客戶端進行實時監(jiān)測行為的方案,而無需等到后續(xù)的日志分析等來確定攻擊行為,提高了監(jiān)控前端客戶端行為的效率。
另外,在透傳攻擊行為后,對前端客戶端的入侵行為進行監(jiān)控的監(jiān)控內(nèi)容可以包括:入侵行為的入侵時間、入侵目的以及入侵源等。
圖3是根據(jù)本申請實施例1的一種可選的入侵檢測的方法的示意圖,結(jié)合圖3所示的示例,上述方案可以實現(xiàn)通過入侵檢測系統(tǒng)對前端客戶端的交互行為進行檢測,并判斷當前獲取的前端客戶端的交互行為是否具有攻擊性,即判斷當前前端客戶端的交互行為是否是攻擊行為,在當前交互行為為攻擊行為的情況下,可以通過將所述攻擊行為進行透傳來獲取對應的監(jiān)測模塊,進而通過在前端客戶端中加載對應的監(jiān)測模塊實現(xiàn)前端客戶端對本地發(fā)生的行為,包括入侵行為進行監(jiān)控。其中,在交互行為為正常交互行為的情況下,向前端客戶端返回正常的交互請求即可。
此處需要說明的是,在上述實施例中,在確定交互行為是攻擊網(wǎng)絡(luò)應用的攻擊行為的情況下,對上述前端客戶端進行監(jiān)控,在得到前端客戶端的行為監(jiān)控結(jié)果后,可以根據(jù)監(jiān)控結(jié)果在判定入侵行為,進而對進行入侵行為的攻擊者進行定位、也可以對入侵行為進行防御,或通過對入侵行為的學習來得到新的入侵行為的防御規(guī)則,即本申請上述方案對監(jiān)控入侵行為后的方法不做具體限定,但對入侵行為進行監(jiān)控后能夠根據(jù)監(jiān)控結(jié)果實現(xiàn)對入侵行為的防御、攻擊等多種行為。其中,現(xiàn)有技術(shù)中的入侵檢測系統(tǒng)單一的對攻擊的行為做攔截操作,而在本申請?zhí)峁┑娜肭謾z測方法中,入侵檢測系統(tǒng)對交互行為進行檢測,在確認交互行為是攻擊行為的情況下,再對交互行為進行監(jiān)控。
此處還需要說明的是,本申請上述實施例提供的方法在前端客戶端發(fā)生交互行為的同時對交互行為進行檢測,一旦發(fā)現(xiàn)交互行為是前端客戶端發(fā)生的攻擊行為,便立刻對該發(fā)生了攻擊行為的前端客戶端進行監(jiān)控,從而達到了實時發(fā)現(xiàn)入侵行為,實時分析入侵行為的技術(shù)效果,避免了現(xiàn)有技術(shù)中在后端對入侵行為進行分析所產(chǎn)生的延時。
由此可知,本申請?zhí)岢隽艘环N利用前端技術(shù)來發(fā)現(xiàn)入侵行為手段的方法,在業(yè)界內(nèi)通常使用的入侵分析手段都是基于后端去檢測,或者是數(shù)據(jù)驅(qū)動來分析入侵的軌跡,通常需要從大量的日志數(shù)據(jù)中提取并且分析可能潛在的入侵特征,屬于“事后”行為。而本申請通過對前端客戶端的交互行為進行檢測,一旦發(fā)行交互行為是入侵行為,就對該入侵行為進行監(jiān)測的方法,實現(xiàn)了對前端客戶端的交互行為進行實時監(jiān)測的技術(shù)效果,也實現(xiàn)了對入侵行為進行跟蹤監(jiān)測的技術(shù)效果,充分利用前端具有的屬性,能夠在第一時間內(nèi)發(fā)現(xiàn)入侵行為,并且能夠精確的定位出攻擊者,從而解決了現(xiàn)有技術(shù)采用后端檢測或日志數(shù)據(jù)分析等在后端進行入侵檢測的分析手段,導致監(jiān)控客戶端發(fā)生的行為時效性差的技術(shù)問題。
由此,本申請?zhí)峁┑纳鲜鰧嵤├?的方案解決了現(xiàn)有技術(shù)采用后端檢測或日志數(shù)據(jù)分析等在后端進行入侵檢測的分析手段,導致監(jiān)控客戶端發(fā)生的行為時效性差的技術(shù)問題。
在本申請上述實施例中,上述通過部署在前端應用層的入侵檢測系統(tǒng)檢測當前前端客戶端的交互行為的方案可以通過如下步驟來實現(xiàn):
步驟s211,讀取預先配置的安全策略信息,安全策略信息包括:用于確定交互行為是否具備攻擊性的信息。
步驟s213,根據(jù)安全策略信息判斷交互行為對應的請求內(nèi)容是否具有攻擊性。
在上述步驟中,攻擊性的請求內(nèi)容可以是對網(wǎng)絡(luò)用戶數(shù)據(jù)的修改、剽竊等,攻擊性的請求內(nèi)容可以是前端客戶端的交互行為中的請求內(nèi)容,在一種可選的實施例中,當前前端客戶端偽造一個正常請求向當前網(wǎng)頁請求上傳偽造的用戶表單數(shù)據(jù),網(wǎng)頁接收該偽造的用戶表單數(shù)據(jù)后,網(wǎng)頁中其他用戶的數(shù)據(jù)則可能被前端客戶端竊取或修改。
判斷交互行為對應的請求內(nèi)容是否具有攻擊性可以是將交互行為中的請求內(nèi)容與安全策略信息中包含的用于確定交互行為是否具有攻擊性的信息進行匹配,匹配成功的情況下可以認為該交互行為的請求內(nèi)容具有攻擊性,否則,認為該交互行為的請求內(nèi)容不具有攻擊性。
步驟s215,在交互行為對應的請求內(nèi)容具有攻擊性的情況下,確定交互行為為攻擊行為。
步驟s217,在交互行為對應的請求內(nèi)容不具有攻擊性的情況下,確定交互行為為安全行為,并根據(jù)請求內(nèi)容得到返回給前端客戶端的響應信息。
在一種可選的實施例中,上述安全策略信息中可以包含請求頻率的預設(shè)閥值,在交互行為對前端客戶端的訪問頻率大于安全策略信息中包含的請求頻率時,可以認為該交互行為具有攻擊性,否則,可以認為該交互行為是安全行為。
此處需要說明的是,上述安全策略信息可以是多維度的信息,并不限于上述請求頻率,也可以是根據(jù)對大量安全的交互行為和大量具有攻擊性的交互行為進行學習得到的安全策略模型,從而能夠更準確的判斷交互行為的種類。
結(jié)合圖3所示的示例在判斷交互行為是否有攻擊性之后,得到上述交互行為是否為入侵行為的結(jié)果,在上述交互行為具有攻擊性的情況下,確認上述交互行為入侵行為,否則,確認上述交互行為為安全行為。再確認上述交互行為是安全行為的情況下,可以將上述安全行為的訪問請求返回至web服務(wù)器,由web服務(wù)器將正常的交互請求 返回至前端客戶端。
容易注意到的是,本申請上述步驟通過預先配置的安全策略信息對前端客戶端的交互行為進行判斷,來確認前端客戶端的交互信息是否為入侵行為信息,從而實現(xiàn)了對前端客戶端的交互行為進行判斷的技術(shù)效果。
在本申請上述實施例中,在執(zhí)行步驟s25,觸發(fā)前端客戶端監(jiān)控發(fā)生在本地的行為之前,還可以執(zhí)行如下步驟:
步驟s231,獲取攻擊行為所對應的入侵等級。
在上述步驟中,入侵等級的獲取可以是根據(jù)多維度的數(shù)據(jù)得到,例如,可以根據(jù)入侵次數(shù)進行判別,也可以根據(jù)交互行為的訪問流量判別,但此處需要說明的是,無論本申請上述步驟采用何種數(shù)據(jù)或方法獲取入侵等級,都能夠快速的對數(shù)據(jù)進行處理,短時間內(nèi)通過大量的多維度數(shù)據(jù)判別出攻擊行為的入侵等級。
此處需要說明的是,上述入侵等級分析可以由入侵等級分析服務(wù)器完成。作為一種可選的方案,在waf將流量數(shù)據(jù)轉(zhuǎn)交到后端的入侵等級分析服務(wù)器后,入侵等級分析服務(wù)器通過拆分攻擊者的流量數(shù)據(jù),并通過判斷網(wǎng)站應用的重要程度,以及攻擊者嘗試攻擊的次數(shù),漏洞危險程度綜合判定出攻擊的威脅等級,當達到威脅等級的閾值,通知埋點在前端的入侵行為監(jiān)測系統(tǒng)。
步驟s233,根據(jù)攻擊行為所對應的入侵等級選擇與入侵等級相匹配的行為監(jiān)控模塊。
在上述步驟中,由于攻擊行為具有不同的入侵等級,因此為了達到對應不同入侵等級的攻擊行為行為進行監(jiān)控的目的,需要對不同入侵等級的攻擊行為匹配不同的行為監(jiān)控模塊。
步驟s235,將與入侵等級相匹配的行為監(jiān)控模塊加載至前端客戶端,其中,監(jiān)控模塊用于監(jiān)控并記錄前端客戶端發(fā)起的入侵行為。
在確認該交互行為為攻擊行為的情況下,可以通過威脅等級分析系統(tǒng)對上述攻擊行為進行入侵等級分析,分析方法可以是判斷攻擊行為的威脅值是否到達預設(shè)閥值,根據(jù)一個或多個威脅閥值對攻擊行為進行分級,然后通過網(wǎng)關(guān)對攻擊行為進行透傳,最后將與入侵等級相匹配的行為監(jiān)控模塊加載至前端客戶端,上述加載方法可以是將攜帶與入侵等級對應的行為監(jiān)控模塊的訪問請求響應返回至前端客戶端。
以圖3所示的實施例為示例,上述入侵檢測系統(tǒng)可以執(zhí)行上述步驟231至步驟s235,在入侵檢測系統(tǒng)為waf系統(tǒng)的可選實施例中,上述waf系統(tǒng)主要通過各種安全 策略配置檢測用戶的交互行為是否存在攻擊行為,本發(fā)明對傳統(tǒng)的waf系統(tǒng)進行了改進,不再單一的對攻擊的行為做攔截操作,而是會將數(shù)據(jù)轉(zhuǎn)發(fā)到威脅等級分析系統(tǒng),得出一定的威脅等級結(jié)果后再通知行為分析監(jiān)測系統(tǒng)開啟不同程度的行為監(jiān)測,例如入侵行為監(jiān)測。通知的行為主要表現(xiàn)在將不同的監(jiān)測模塊混淆后的代碼渲染到客戶端的前端。一般部署在web服務(wù)器前一層,如交換機層、網(wǎng)關(guān)層。
此處還需要說明的是,上述行為分析監(jiān)測系統(tǒng)核心主要由javascript實現(xiàn),可動態(tài)的配置化,選擇性的加載不同模塊來對攻擊者進行網(wǎng)絡(luò)監(jiān)測,主要由keylogger模塊、infologger模塊、全流量監(jiān)測模塊組成,keylogger模塊主要通過hook技術(shù)將javascript內(nèi)置對象中的onkeypress、onkeydown對象,對攻擊者的按鍵信息進行詳細記錄,并發(fā)送到大數(shù)據(jù)存儲系統(tǒng)。infologger模塊主要用于收集客戶端基礎(chǔ)信息,并把這些基礎(chǔ)特征信息發(fā)送到大數(shù)據(jù)存儲系統(tǒng),便于后期對攻擊者的溯源分析。全流量監(jiān)測模塊是使用webrtc技術(shù)對攻擊者所在的網(wǎng)絡(luò)環(huán)境進行深層次的探測,嘗試對攻擊者的網(wǎng)絡(luò)環(huán)境下的dns服務(wù)器進行替換,達到全流量監(jiān)測的目的。以上模塊都通過特定的混淆算法對javascript進行混淆后渲染在前端客戶端的瀏覽器中。
值得注意的是,使用javascript語言實現(xiàn)行為分析監(jiān)測系統(tǒng),能夠最接近攻擊者,實時對攻擊者的行為做詳細的記錄。
在本申請上述實施例中,步驟s231,獲取攻擊行為所對應的入侵等級,包括:
步驟s2311,獲取攻擊行為所對應的流量數(shù)據(jù)。
步驟s2313,分析攻擊行為所對應的流量數(shù)據(jù),得到至少如下任意一個或多個參數(shù):網(wǎng)絡(luò)應用的重要程度、發(fā)起攻擊行為的次數(shù)和漏洞危險程度。
由于上述三個維度的數(shù)值均為單位不相等的數(shù)值,不能進行直接計算,因此,可以將上述三個維度的數(shù)值進行歸一化處理。
在一種可選的實施例中,在預設(shè)的網(wǎng)絡(luò)應用的重要程度的等級分布數(shù)據(jù)中,查找當前網(wǎng)絡(luò)應用的重要程度,以0至1中的數(shù)據(jù)進行表示,數(shù)值越接近1表示網(wǎng)站越重要,數(shù)值越趨近于0表示網(wǎng)站的重要程度越低,例如,政府官方的網(wǎng)站應用的網(wǎng)絡(luò)應用的重要程度為1,以娛樂為主的視頻網(wǎng)站的重要程度為0.5,也可以是,某一企業(yè)對屬于自身的所有網(wǎng)站的網(wǎng)絡(luò)應用的重要程度進行判定,例如,該企業(yè)的賬單數(shù)據(jù)的重要程度為1,產(chǎn)品介紹的網(wǎng)絡(luò)應用的重要程度可以是0.7。
對發(fā)起攻擊行為的次數(shù)進行歸一化可以是,設(shè)置一個預定的攻擊次數(shù),這一預定的攻擊次數(shù)對應的歸一化后的值為1,可以根據(jù)這一預定的攻擊次數(shù)來計算當前攻擊次數(shù)的歸一化至,例如,預定的攻擊次數(shù)為10000,當前攻擊次數(shù)為2479,則當前攻 擊次數(shù)對應的歸一化的值可以是0.25。
而漏洞危險程度的歸一化值的計算方法可以與網(wǎng)絡(luò)應用的重要程度的計算方法類似,同樣在預設(shè)的漏洞危險程度中查找當前漏洞對應的危險程度,得到對應的漏洞危險程度的歸一化值。
步驟s2315,根據(jù)網(wǎng)絡(luò)應用的重要程度、發(fā)起攻擊行為的次數(shù)和漏洞危險程度以及對應的權(quán)重值,計算得到攻擊行為所對應的入侵值。
本發(fā)明提供的一種可選實施例中,可以通過威脅等級分析系統(tǒng)來執(zhí)行上述步驟,此系統(tǒng)主要根據(jù)waf系統(tǒng)輸入的數(shù)據(jù),根據(jù)特定的因素分析出攻擊者的交互行為是否到達威脅等級劃分的閾值,假如到達一定的威脅等級閾值,則對攻擊者前端渲染的頁面加載不同程度的入侵監(jiān)測模塊,其核心是能夠快速的處理數(shù)據(jù),能在短時間內(nèi)在大量流量數(shù)據(jù)中判定威脅等級,以便能夠及時的對攻擊者采取監(jiān)測行動。
上述威脅等級分析系統(tǒng)所采用的技術(shù),可以結(jié)合攻擊者進行攻擊的目標系統(tǒng)和歷史的攻擊數(shù)據(jù)判定出攻擊者此次攻擊攜帶的危險程度,給出一個危險等級的分析結(jié)果。
例如,本發(fā)明可以實現(xiàn)在讀取當前網(wǎng)絡(luò)應用的重要程度、發(fā)起攻擊行為的次數(shù)和漏洞危險程度以及預先設(shè)置的對應的權(quán)重值之后,進行求和運算來得到所述攻擊行為的入侵值。
例如,在一種應用場景中,網(wǎng)絡(luò)應用的重要程度、發(fā)起攻擊行為的次數(shù)和漏洞危險程度的權(quán)重值分別可以為:0.5、0.3和0.2,因此,在當前網(wǎng)絡(luò)應用的重要程度為1、發(fā)起攻擊行為的次數(shù)為10次、漏洞危險程度為2,則可以通過如下計算得到當前攻擊行為所對應的入侵值y:y=0.5*1+0.3*10+0.2*2=3.4。
步驟s2317,將入侵值與至少一個入侵閾值進行比較,確定攻擊行為所對應的入侵等級,其中,入侵等級包括:低級入侵等級、中級入侵等級和高級入侵等級。
在一種可選的實施例中,預設(shè)兩個入侵閾值a、b,其中,a<b,入侵小于a的攻擊行為為低級入侵等級,入侵值大于等于a且小于b的為中級入侵等級,入侵值大于等于b的為高級入侵等級,網(wǎng)絡(luò)應用的重要程度、發(fā)起攻擊行為的次數(shù)和漏洞危險程度以及對應的權(quán)重值分別為0.3,0.3,0.4,在以上述情況為基礎(chǔ)的示例中,獲取網(wǎng)絡(luò)應用的重要程度、發(fā)起攻擊行為的次數(shù)以及漏洞危險程度,對于網(wǎng)絡(luò)應用的重要程度、發(fā)起攻擊行為的次數(shù)以及漏洞危險程度的歸一化值分別為0.7,0.25,0.61這一攻擊行為可以有如下示例:入侵值w=0.3*0.3+0.3*0.25+0.4*0.61=0.424,如果兩個入侵閾值a=0.3,b=0.7,則可以認為,上述攻擊行為的入侵等為中級入侵等級。
在本申請上述實施例中,步驟s233,根據(jù)攻擊行為所對應的入侵等級選擇與入侵等級相匹配的行為監(jiān)控模塊,包括:
步驟s2331,根據(jù)攻擊行為所對應的入侵等級在行為分析監(jiān)測服務(wù)器中查詢得到對應的行為監(jiān)控模塊;其中,
步驟s2333,當入侵等級為低級入侵等級的情況下,行為監(jiān)控模塊為空。
步驟s2335,當入侵等級為中級入侵等級的情況下,行為監(jiān)控模塊包括:入侵數(shù)據(jù)收集模塊。
基于上述步驟所提供的技術(shù)方案,使得行為監(jiān)測分析系統(tǒng)可以根據(jù)當前確定的入侵等級來確定當前攻擊程序的威脅度,從而加載并開啟不同模式的行為記錄模塊,例如中級等級的威脅則開啟數(shù)據(jù)收集模塊,即可以使用行為監(jiān)測分析系統(tǒng)確定的keylogger模塊和infologger模塊實現(xiàn)對入侵數(shù)據(jù)的收集,其中,keylogger模塊主要是在前端通過hookjavascript中的onkeypress對象和onkeydown對象,將攻擊者攻擊過程中輸入的按鍵記錄下來,而infologger模塊主要通過javascript收集攻擊者的ip地址,mac地址,user-agent等基礎(chǔ)特征信息。通過keylogger模塊和infologger模塊獲取的信息能夠很精確的分析出攻擊者的行為。
步驟s2337,當入侵等級為高級入侵等級的情況下,行為監(jiān)控模塊包括:入侵數(shù)據(jù)收集模塊和/或全流量檢測模塊。
在上述步驟中,行為分析監(jiān)測服務(wù)器還可以包括webrtc模塊來開啟全流量監(jiān)控。
在一種可選的實施例中,當威脅等級分析系統(tǒng)發(fā)現(xiàn)攻擊行為屬于高等級的威脅,則通知前端客戶端在收集攻擊者數(shù)據(jù)的同時開啟全流量監(jiān)測模塊,其中,全流量監(jiān)測系統(tǒng)可以通過webrtc技術(shù)捕獲攻擊者的內(nèi)網(wǎng)ip地址,然后嘗試探測攻擊者的路由器或者網(wǎng)關(guān)ip,進而登錄路由器替換攻擊者的默認dns服務(wù)器,采取全流量監(jiān)測模式,最終攻擊者的全流量信息會存儲到大數(shù)據(jù)存儲系統(tǒng),同時也可以觸發(fā)報警機制,進而便于網(wǎng)警對攻擊者的行為進行全量的分析。
結(jié)合圖3所示的示例,在確認上述確認入侵行為的入侵等級后,入侵檢測系統(tǒng)根據(jù)入侵等級匹配對應的行為監(jiān)控模塊,在入侵等級為低等級的情況下,對應的監(jiān)控模塊為空,在入侵等級為中等級的情況下,啟動keylogger模塊和infologger模塊進行入侵數(shù)據(jù)收集,在入侵等級為高等級的情況下,在啟動keylogger模塊和infologger模塊的同時啟動webrtc模塊來對攻擊行為開啟全流量監(jiān)控。
在本申請上述實施例中,在行為監(jiān)控模塊為空的情況下,確定前端客戶端為安全 用戶。
在上述步驟中,在行為監(jiān)控模塊為空的情況下,可以認為該入侵行為無需進行監(jiān)控,從而可以認為該前端客戶端為安全用戶。
在上述實施例中,確認前端客戶端為安全用戶可以包括如下任意一種情況,該前端客戶端為安全用戶,在進行攻擊行為檢測時由于與攻擊行為類似而被確認為攻擊行為,或該前端客戶端存在入侵行為,但入侵的等級較低,無需使用監(jiān)控模塊對其進行監(jiān)控,因此可以認為該前端客戶端作為安全用戶。
在本申請上述實施例中,入侵數(shù)據(jù)收集模塊至少包括:輸入信息監(jiān)控模塊和/或前端基礎(chǔ)信息監(jiān)控模塊,其中,輸入信息監(jiān)控模塊用于監(jiān)控并記錄如下任意一種或多種輸入輸出設(shè)備的操作信息:鍵盤、鼠標和觸摸板,前端基礎(chǔ)信息監(jiān)控模塊用于監(jiān)控并記錄前端客戶端的如下任意一個或多個信息:前端客戶端的ip地址、mac地址、登錄用戶信息和序列號。
在上述步驟中,結(jié)合圖3所示的示例,輸入信息監(jiān)控模塊可以是keylogger模塊,例如,當攻擊者通過點擊操作對網(wǎng)絡(luò)應用發(fā)起攻擊時,輸入信息監(jiān)控模塊能夠監(jiān)測到該點擊事件,并記錄該點擊事件發(fā)生的事件、點擊位置、點擊事件所生成的請求信息等數(shù)據(jù),在獲取到任意操作設(shè)備的操作信息,輸入信息檢測模塊還可以將監(jiān)測到的操作信息發(fā)送至大數(shù)據(jù)存儲系統(tǒng);前端基礎(chǔ)信息監(jiān)控模塊可以是infologger模塊,在一種可選的實施例中,前端基礎(chǔ)信息監(jiān)控模塊可以通過javascript收集前端客戶端的ip地址、mac地址、登錄用戶信息和序列號等信息,在獲取到前端客戶端的上述信息后,也可以將上述信息發(fā)送至大數(shù)據(jù)存儲系統(tǒng)。
在一種可選的實施例中,以上模塊都通過特定的混淆算法對javascript進行混淆后渲染在網(wǎng)絡(luò)應用前端的。
此處需要說明的是,在上述攻擊行為的入侵等級為中級的情況下,通過上述入侵數(shù)據(jù)收集模塊和/或全流量檢測模塊所獲取的操作信息和前端信息,能夠分析得到精確的前端客戶端的攻擊行為。
在本申請上述實施例中,全流量檢測模塊用于探測前端客戶端所在的網(wǎng)絡(luò)環(huán)境中的如下一個或多個參數(shù)信息:前端客戶端的內(nèi)網(wǎng)ip地址、路由器地址、網(wǎng)關(guān)地址和dns服務(wù)器地址。
結(jié)合圖3所示的示例,全流量監(jiān)測模塊使用webrtc技術(shù)對攻擊者所在的網(wǎng)絡(luò)環(huán)境進行深層次的探測,嘗試對前端客戶端的網(wǎng)絡(luò)環(huán)境下的dns服務(wù)器進行替換,達到全流量監(jiān)測的目的。在一種可選的實施例中,全流量檢測模通過特定的混淆算法對 javascript進行混淆后渲染在瀏覽器前端。
在本申請上述實施例中,步驟s23,在觸發(fā)前端客戶端監(jiān)控發(fā)生在本地的行為之后,方法還可以執(zhí)行如下步驟:
步驟s27,獲取監(jiān)控前端客戶端入侵行為而得到的監(jiān)控數(shù)據(jù)。
步驟s29,通過大數(shù)據(jù)引擎將監(jiān)控數(shù)據(jù)進行數(shù)據(jù)結(jié)構(gòu)化處理和/或可視化處理,得到前端客戶端的攻擊分析結(jié)果。
此系統(tǒng)主要用于存儲攻擊者的攻擊行為數(shù)據(jù),通過大數(shù)據(jù)引擎(hadoop或odps)將數(shù)據(jù)結(jié)構(gòu)化、可視化的展現(xiàn)出來,用于對前端客戶端進行攻擊路徑分析、攻擊圖分析以及溯源分析。
結(jié)合圖3所示的示例,在獲取得到監(jiān)控前端客戶端入侵行為的監(jiān)控數(shù)據(jù)后,可以將數(shù)據(jù)上傳至大數(shù)據(jù)存儲系統(tǒng),大數(shù)據(jù)存儲系統(tǒng)通過自身具備的大數(shù)據(jù)計算能力,對監(jiān)控數(shù)據(jù)進行攻擊分析,在得到監(jiān)控數(shù)據(jù)的分析結(jié)果后,大數(shù)據(jù)存儲系統(tǒng)可以將分析結(jié)果進行結(jié)構(gòu)化和/或可視化處理,并可以將處理后的監(jiān)控數(shù)據(jù)發(fā)送至顯示終端。
值得注意的是,上述入侵等級分析服務(wù)器和大數(shù)據(jù)存儲系統(tǒng)都可以使用hadoop或odps作為的媒介,以便快速處理各種數(shù)據(jù),迅速分析得出威脅結(jié)果。
下面結(jié)合圖4所示,就本申請的方案應用在任意前端網(wǎng)絡(luò)應用上的入侵檢測的應用場景所實現(xiàn)的功能進行詳細描述。
步驟s402,通過部署在前端客戶端的應用層的入侵檢測系統(tǒng),檢測前端客戶端的交互行為。
在上述步驟中,入侵檢測系統(tǒng)可以部署在網(wǎng)關(guān)、交換機等中間設(shè)備上述,檢測前端客戶端的交互行為可以是通過根據(jù)預先配置的安全策略信息對交互行為的攻擊性進行判斷,在交互行為對應的請求內(nèi)容具有攻擊性的情況下,確定交互行為為攻擊行為;在交互行為對應的請求內(nèi)容不具有攻擊性的情況下,確定交互行為為安全行為。
步驟s404,請求確定所述交互行為是安全行為的情況下,接收所述前端客戶端的請求內(nèi)容。
步驟s406,請求服務(wù)器將請求內(nèi)容對應的響應信息返回至前端客戶端。
步驟s408,在確定交互行為是攻擊網(wǎng)絡(luò)應用的攻擊行為的情況下,可以將攻擊行為輸入至入侵等級分析服務(wù)器。入侵等級分析服務(wù)器獲取攻擊行為后所對應的入侵等級。
在上述步驟中,入侵等級分析服務(wù)器接收攻擊行為后,獲取上述攻擊行為所對應的入侵等級。
步驟s410,行為分析監(jiān)測服務(wù)器根據(jù)攻擊行為所對應的入侵等級選擇與入侵等級相匹配的行為監(jiān)控模塊。
在上述步驟中,可以采用如下方法為攻擊行為匹配行為監(jiān)控模塊,當入侵等級為低級入侵等級的情況下,行為監(jiān)控模塊為空;當入侵等級為中級入侵等級的情況下,行為監(jiān)控模塊包括:入侵數(shù)據(jù)收集模塊;當入侵等級為高級入侵等級的情況下,行為監(jiān)控模塊包括:入侵數(shù)據(jù)收集模塊和/或全流量檢測模塊。
步驟s412,行為分析監(jiān)測服務(wù)器將與入侵等級相匹配的行為監(jiān)控模塊加載至前端客戶端。
在上述步驟中紅,在行為分析監(jiān)測服務(wù)器將與入侵等級相匹配的行為監(jiān)控模塊加載至前端客戶端后,前端客戶端監(jiān)控本地行為,例如入侵行為而得到的監(jiān)控數(shù)據(jù),并可以數(shù)據(jù)引擎將監(jiān)控數(shù)據(jù)進行數(shù)據(jù)結(jié)構(gòu)化處理和/或可視化處理,得到前端客戶端的攻擊分析結(jié)果。
一種可選實施例中,可以通過大數(shù)據(jù)存儲系統(tǒng)來實現(xiàn)上述步驟,此系統(tǒng)主要用于存儲攻擊者的攻擊行為數(shù)據(jù),通過大數(shù)據(jù)引擎將數(shù)據(jù)結(jié)構(gòu)化、可視化的展現(xiàn)出來,用于對攻擊者的攻擊路徑分析、攻擊圖分析以及溯源分析。
另外,本申請還可以通過與前端客戶端連接的日志服務(wù)器來進行日志記錄和后端入侵行為分析:記錄所有的用戶請求數(shù)據(jù),存儲在后端,然后進行分析提煉,得出哪些請求是帶有攻擊特征的,再對用戶客戶端特征(如ip地址,唯一用戶標識)反向查詢?nèi)罩居涗洠榭垂粽哌€做了哪些攻擊行為。推測攻擊者的攻擊路徑和攻擊圖。
需要說明的是,對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時進行。其次,本領(lǐng)域技術(shù)人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實施例的方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端 設(shè)備(可以是手機,計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
實施例2
根據(jù)本發(fā)明實施例,還提供了一種用于實施上述入侵檢測的方法的入侵檢測的系統(tǒng),如圖5所示,該系統(tǒng)包括:
前端客戶端50,用于發(fā)送交互行為;中間設(shè)備52,與前端客戶端50具有通信關(guān)系,用于檢測交互行為是否為攻擊網(wǎng)絡(luò)應用的攻擊行為,在確定交互行為是攻擊網(wǎng)絡(luò)應用的攻擊行為的情況下,觸發(fā)前端客戶端監(jiān)控發(fā)生在本地的行為。
一種可選方案中,上述中間設(shè)備52可以是部署了入侵檢測系統(tǒng)的網(wǎng)關(guān)、交換機等轉(zhuǎn)發(fā)設(shè)備,可以通過部署在中間設(shè)備的前端應用層的入侵檢測系統(tǒng)檢測前端客戶端的交互行為,其中,入侵檢測系統(tǒng)透傳攻擊行為至前端客戶端。
圖6是根據(jù)本申請實施例2的一種可選的入侵檢測系統(tǒng)的結(jié)構(gòu)示意圖,在一種可選的實施例中,結(jié)合圖6所示的系統(tǒng),前端客戶端上的網(wǎng)絡(luò)應用發(fā)起交互行為后,部署在中間設(shè)備中的入侵檢測服務(wù)器對上述交互行為的攻擊性進行檢測,在確認上述交互行為是攻擊設(shè)備攻擊前端客戶端而產(chǎn)生的攻擊行為的情況下,觸發(fā)前端客戶端繼續(xù)對本地產(chǎn)生的各種行為進行監(jiān)控,進而確定后的交互行為是否為攻擊設(shè)備攻擊而產(chǎn)生的攻擊行為。
在上述系統(tǒng)中,在一種可選的實施例中,入侵檢測系統(tǒng)檢測前端客戶端的交互行為,可以讀取預先配置的安全策略信息,安全策略信息包括:用于確定交互行為是否具備攻擊性的信息;根據(jù)安全策略信息判斷交互行為對應的請求內(nèi)容是否具有攻擊性;在交互行為對應的請求內(nèi)容具有攻擊性的情況下,確定交互行為為攻擊行為;在交互行為對應的請求內(nèi)容不具有攻擊性的情況下,確定交互行為為安全行為,并根據(jù)請求內(nèi)容得到返回給前端客戶端的響應信息。
此處需要說明的是,在上述實施例中,在確定交互行為是攻擊網(wǎng)絡(luò)應用的攻擊行為的情況下,對上述前端客戶端的行為進行監(jiān)控,在得到前端客戶端的入侵行為的監(jiān)控結(jié)果后,可以根據(jù)監(jiān)控結(jié)果在判定入侵行為,進而對進行入侵行為的攻擊者進行定位、也可以對入侵行為進行防御,或通過對入侵行為的學習來得到新的入侵行為的防御規(guī)則,即本申請上述方案對監(jiān)控入侵行為后的方法不做具體限定,但對入侵行為進行監(jiān)控后能夠根據(jù)監(jiān)控結(jié)果實現(xiàn)對入侵行為的防御、攻擊等多種行為。其中,現(xiàn)有技術(shù)中的入侵檢測系統(tǒng)單一的對攻擊的行為做攔截操作,而在本申請?zhí)峁┑娜肭謾z測方法中,入侵檢測系統(tǒng)對交互行為進行檢測,在確認交互行為是攻擊行為的情況下,再 對交互行為進行監(jiān)控。
此處還需要說明的是,本申請上述實施例提供的系統(tǒng)在前端客戶端發(fā)生交互行為的同時對交互行為進行檢測,一旦發(fā)現(xiàn)交互行為是對前端客戶端的入侵行為,便立刻對該交互行為進行監(jiān)控,從而達到了實時發(fā)現(xiàn)入侵行為,實時分析入侵行為的技術(shù)效果,避免了現(xiàn)有技術(shù)中在后端對入侵行為進行分析所產(chǎn)生的延時。
由此可知,本申請?zhí)岢隽艘环N利用前端技術(shù)來發(fā)現(xiàn)入侵行為手段的系統(tǒng),在業(yè)界內(nèi)通常使用的入侵分析手段都是基于后端去檢測,或者是數(shù)據(jù)驅(qū)動來分析入侵的軌跡,通常需要從大量的日志數(shù)據(jù)中提取并且分析可能潛在的入侵特征,屬于“事后”行為。而本申請通過對前端客戶端的交互行為進行檢測,一旦發(fā)行交互行為是入侵行為,就對該入侵行為進行監(jiān)測的方法,實現(xiàn)了對前端客戶端的交互行為進行實時監(jiān)測的技術(shù)效果,也實現(xiàn)了對入侵行為進行跟蹤監(jiān)測的技術(shù)效果,充分利用前端具有的屬性,能夠在第一時間內(nèi)發(fā)現(xiàn)入侵行為,并且能夠精確的定位出攻擊者,從而解決了現(xiàn)有技術(shù)采用后端檢測或日志數(shù)據(jù)分析等在后端進行入侵檢測的分析手段,導致監(jiān)控客戶端發(fā)生的行為時效性差的技術(shù)問題。
由此,本申請?zhí)峁┑纳鲜鰧嵤├?的方案解決了現(xiàn)有技術(shù)采用后端檢測或日志數(shù)據(jù)分析等在后端進行入侵檢測的分析手段,導致監(jiān)控客戶端發(fā)生的行為時效性差的技術(shù)問題。
在本申請上述實施例中,上述系統(tǒng)還包括:
請求服務(wù)器52,與前端客戶端具有通信關(guān)系,用于在確定交互行為是安全行為的情況下,接收前端客戶端的請求內(nèi)容,并返回給前端客戶端對應的響應信息。
結(jié)合圖3所示的示例,上述請求服務(wù)器可以是web服務(wù)器,并與前端客戶端之間具有通信關(guān)系,在上述交互行為為安全的交互行為的情況下,請求服務(wù)器向前端客戶端正常返回上述交互行為中的請求內(nèi)容對應的響應信息。
在本申請上述實施例中,上述系統(tǒng)還包括:
入侵等級分析服務(wù)器54,與前端客戶端具有通信關(guān)系,用于獲取攻擊行為所對應的入侵等級。
上述入侵等級分析服務(wù)器可以根據(jù)waf輸入的數(shù)據(jù),根據(jù)特定的因素分析出攻擊者的交互行為是否到達威脅等級劃分的閾值,假如到達一定的威脅等級閾值,則對攻擊者前端渲染的頁面加載不同程度的入侵監(jiān)測模塊,其核心是能夠快速的處理數(shù)據(jù),能在短時間內(nèi)在大量流量數(shù)據(jù)中判定威脅等級,以便能夠及時的對攻擊者采取監(jiān)測行 動。
在一種可選的實施例中,上述入侵等級分析服務(wù)器可以通過拆分攻擊者的流量數(shù)據(jù),并通過判斷網(wǎng)站應用的重要程度,以及攻擊者嘗試攻擊的次數(shù),漏洞危險程度綜合判定出攻擊的威脅等級,當達到威脅等級的閾值,通知埋點在前端的入侵行為監(jiān)測系統(tǒng)。
結(jié)合圖3所示的示例,入侵等級分析服務(wù)器用于在入侵檢測系統(tǒng)檢測得到上述交互行為為攻擊行為后,確定上述攻擊行為的入侵等級,在一種可選的實施例中,入侵等級可以分為低級入侵等級、中級入侵等級以及高級入侵等級。在確認上述攻擊行為的入侵等級時,可以通過分析上述攻擊行為對應的流量來確定攻擊行為的入侵等級,分析所述攻擊行為所對應的流量數(shù)據(jù),得到至少如下任意一個或多個參數(shù):所述網(wǎng)絡(luò)應用的重要程度、發(fā)起所述攻擊行為的次數(shù)和漏洞危險程度;根據(jù)所述網(wǎng)絡(luò)應用的重要程度、發(fā)起所述攻擊行為的次數(shù)和漏洞危險程度以及對應的權(quán)重值,計算得到所述攻擊行為所對應的入侵值;將所述入侵值與至少一個入侵閾值進行比較,確定所述攻擊行為所對應的入侵等級。
在本申請上述實施例中,上述系統(tǒng)還包括:
行為分析監(jiān)測系統(tǒng),連接于入侵等級分析服務(wù)器和前端客戶端之間,用于根據(jù)攻擊行為所對應的入侵等級選擇與入侵等級相匹配的行為監(jiān)控模塊,并將與入侵等級相匹配的行為監(jiān)控模塊加載至前端客戶端,其中,監(jiān)控模塊用于監(jiān)控并記錄前端客戶端發(fā)起的入侵行為。
結(jié)合圖3所示的示例,上述入侵檢測服務(wù)器接收入侵等級分析服務(wù)器上傳的攻擊行為的入侵等級,并根據(jù)入侵行為的入侵等級選擇對應的檢測模塊,在一種可選的實施例中,當入侵等級為低級入侵等級的情況下,行為監(jiān)控模塊為空;當入侵等級為中級入侵等級的情況下,行為監(jiān)控模塊包括:入侵數(shù)據(jù)收集模塊;當入侵等級為高級入侵等級的情況下,行為監(jiān)控模塊包括:入侵數(shù)據(jù)收集模塊和/或全流量檢測模塊。
在本申請上述實施例中,入侵等級分析服務(wù)器還用于獲取攻擊行為所對應的流量數(shù)據(jù);分析攻擊行為所對應的流量數(shù)據(jù),得到至少如下任意一個或多個參數(shù):網(wǎng)絡(luò)應用的重要程度、發(fā)起攻擊行為的次數(shù)和漏洞危險程度;根據(jù)網(wǎng)絡(luò)應用的重要程度、發(fā)起攻擊行為的次數(shù)和漏洞危險程度以及對應的權(quán)重值,計算得到攻擊行為所對應的入侵值;將入侵值與至少一個入侵閾值進行比較,確定攻擊行為所對應的入侵等級,其中,入侵等級包括:低級入侵等級、中級入侵等級和高級入侵等級。
在本申請上述實施例中,入侵監(jiān)測服務(wù)器還用于根據(jù)攻擊行為所對應的入侵等級 在入侵檢測系統(tǒng)中查詢得到對應的行為監(jiān)控模塊;其中,當入侵等級為低級入侵等級的情況下,行為監(jiān)控模塊為空;當入侵等級為中級入侵等級的情況下,行為監(jiān)控模塊包括:入侵數(shù)據(jù)收集模塊;當入侵等級為高級入侵等級的情況下,行為監(jiān)控模塊包括:入侵數(shù)據(jù)收集模塊和/或全流量檢測模塊。
在本申請上述實施例中,在行為監(jiān)控模塊為空的情況下,確定前端客戶端為安全用戶。
在本申請上述實施例中,上述系統(tǒng)還包括入侵數(shù)據(jù)收集模塊,上述入侵數(shù)據(jù)收集模塊至少包括:輸入信息監(jiān)控模塊和/或前端基礎(chǔ)信息監(jiān)控模塊,其中,輸入信息監(jiān)控模塊用于監(jiān)控并記錄如下任意一種或多種輸入輸出設(shè)備的操作信息:鍵盤、鼠標和觸摸板,前端基礎(chǔ)信息監(jiān)控模塊用于監(jiān)控并記錄前端客戶端的如下任意一個或多個信息:前端客戶端的ip地址、mac地址、登錄用戶信息和序列號。
在本申請上述實施例中,上述系統(tǒng)還包括全流量檢測模塊,用于探測前端客戶端所在的網(wǎng)絡(luò)環(huán)境中的如下一個或多個參數(shù)信息:前端客戶端的內(nèi)網(wǎng)ip地址、路由器地址、網(wǎng)關(guān)地址和dns服務(wù)器地址。
在本申請上述實施例中,上述系統(tǒng)還包括:
大數(shù)據(jù)存儲服務(wù)器,用于在監(jiān)控發(fā)起攻擊行為的前端客戶端的入侵行為之后,獲取監(jiān)控前端客戶端入侵行為而得到的監(jiān)控數(shù)據(jù);將監(jiān)控數(shù)據(jù)進行數(shù)據(jù)結(jié)構(gòu)化處理和/或可視化處理,得到前端客戶端的攻擊分析結(jié)果。
實施例3
根據(jù)本發(fā)明實施例,還提供了一種用于實施上述入侵檢測的方法的入侵檢測的系統(tǒng),如圖7所示,該系統(tǒng)包括:
第一獲取模塊70,用于獲取前端客戶端的交互行為;檢測模塊72,用于檢測交互行為是否為攻擊網(wǎng)絡(luò)應用的攻擊行為;監(jiān)控模塊74,用于在確定交互行為是攻擊網(wǎng)絡(luò)應用的攻擊行為的情況下,觸發(fā)前端客戶端監(jiān)控發(fā)生在本地的行為。
此處需要說明的是,上述第一獲取模塊70、檢測模塊72和監(jiān)控模塊74對應于實施例1中的步驟s21至步驟s25,兩個模塊與對應的步驟所實現(xiàn)的實例和應用場景相同,但不限于上述實施例一所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運行在實施例一提供的計算機終端10中。
此處需要說明的是,在上述實施例中,在確定交互行為是攻擊網(wǎng)絡(luò)應用的攻擊行為的情況下,對上述前端客戶端進行監(jiān)控,在得到前端客戶端的行為監(jiān)控結(jié)果后,可 以根據(jù)監(jiān)控結(jié)果判定入侵行為、進而對進行入侵行為的攻擊者進行定位,也可以對入侵行為進行防御,或通過對入侵行為的學習來得到新的入侵行為的防御規(guī)則,即本申請上述方案對監(jiān)控入侵行為后的方法不做具體限定,但對入侵行為進行監(jiān)控后能夠根據(jù)監(jiān)控結(jié)果實現(xiàn)對入侵行為的防御、攻擊等多種行為。其中,現(xiàn)有技術(shù)中的入侵檢測系統(tǒng)單一的對攻擊的行為做攔截操作,而在本申請?zhí)峁┑娜肭謾z測方法中,入侵檢測系統(tǒng)對交互行為進行檢測,在確認交互行為是攻擊行為的情況下,再對交互行為進行監(jiān)控。
此處還需要說明的是,本申請上述實施例提供的裝置在前端客戶端發(fā)生交互行為的同時對交互行為進行檢測,一旦發(fā)現(xiàn)交互行為是對前端客戶端的入侵行為,便立刻對該交互行為進行監(jiān)控,從而達到了實時發(fā)現(xiàn)入侵行為,實時分析入侵行為的技術(shù)效果,避免了現(xiàn)有技術(shù)中在后端對入侵行為進行分析所產(chǎn)生的延時。
由此可知,本申請?zhí)岢隽艘环N利用前端技術(shù)來發(fā)現(xiàn)入侵行為手段的裝置,在業(yè)界內(nèi)通常使用的入侵分析手段都是基于后端去檢測,或者是數(shù)據(jù)驅(qū)動來分析入侵的軌跡,通常需要從大量的日志數(shù)據(jù)中提取并且分析可能潛在的入侵特征,屬于“事后”行為。而本申請通過對前端客戶端的交互行為進行檢測,一旦發(fā)行交互行為是入侵行為,就對該入侵行為進行監(jiān)測的方法,實現(xiàn)了對前端客戶端的交互行為進行實時監(jiān)測的技術(shù)效果,也實現(xiàn)了對入侵行為進行跟蹤監(jiān)測的技術(shù)效果,充分利用前端具有的屬性,能夠在第一時間內(nèi)發(fā)現(xiàn)入侵行為,并且能夠精確的定位出攻擊者,從而解決了現(xiàn)有技術(shù)采用后端檢測或日志數(shù)據(jù)分析等在后端進行入侵檢測的分析手段,導致監(jiān)控客戶端發(fā)生的行為時效性差的技術(shù)問題。
在本申請上述實施例中,結(jié)合圖8所示,通過部署在前端應用層的入侵檢測系統(tǒng)檢測前端客戶端的交互行為,上述裝置還包括::
透傳模塊80,用于入侵檢測系統(tǒng)透傳攻擊行為至前端客戶端。
上述入侵檢測系統(tǒng)可以通過透傳該攻擊行為至前端客戶端,來實現(xiàn)觸發(fā)監(jiān)控發(fā)起攻擊行為的前端客戶端的行為。
此處需要說明的是,上述前端客戶端所監(jiān)控的行為不限于入侵行為的內(nèi)容,還包括前端客戶端的日常操作行為,例如鍵盤、鼠標等i/o設(shè)備的操作記錄、用戶在前端客戶端的應用軟件操作記錄和網(wǎng)絡(luò)流量的記錄等。
此處還需要說明的是,本申請上述入侵檢測系統(tǒng)在確定當前交互行為是一種攻擊網(wǎng)絡(luò)應用的攻擊行為的情況下,該入侵檢測系統(tǒng)透傳該攻擊行為的數(shù)據(jù),此處的透傳用于表示在傳輸攻擊行為的過程中,不對上述攻擊行為做任何處理,直接將其傳輸至 預設(shè)目標(例如圖3所示的行為分析監(jiān)測系統(tǒng))即可,上述可用于透傳的設(shè)備還可以包括透傳網(wǎng)關(guān)、無限透傳模塊(透傳grrs模塊、透傳zigbee模塊)等。
在本申請上述實施例中,結(jié)合圖9所示,上述檢測模塊70包括:
讀取模塊90,用于讀取預先配置的安全策略信息,安全策略信息包括:用于確定交互行為是否具備攻擊性的信息;判斷模塊92,用于根據(jù)安全策略信息判斷交互行為對應的請求內(nèi)容是否具有攻擊性;第一確定模塊94,用于在交互行為對應的請求內(nèi)容具有攻擊性的情況下,確定交互行為為攻擊行為;第二確定模塊96,用于在交互行為對應的請求內(nèi)容不具有攻擊性的情況下,確定交互行為為安全行為,并根據(jù)請求內(nèi)容得到返回給前端客戶端的響應信息。
此處需要說明的是,上述讀取模塊90、判斷模塊92、第一確定模塊94和第二確定模塊96對應于實施例1中的步驟s211至步驟s217,兩個模塊與對應的步驟所實現(xiàn)的實例和應用場景相同,但不限于上述實施例一所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運行在實施例一提供的計算機終端10中。
在本申請上述實施例中,結(jié)合圖10所示,上述裝置還包括:
第二獲取模塊100,用于獲取攻擊行為所對應的入侵等級;匹配模塊102,用于根據(jù)攻擊行為所對應的入侵等級選擇與入侵等級相匹配的行為監(jiān)控模塊;加載模塊104,用于將與入侵等級相匹配的行為監(jiān)控模塊加載至前端客戶端,其中,行為監(jiān)控模塊用于監(jiān)控并記錄前端客戶端發(fā)生的行為。
此處需要說明的是,上述第二獲取模塊100、匹配模塊102和加載模塊104對應于實施例1中的步驟s231至步驟s235,兩個模塊與對應的步驟所實現(xiàn)的實例和應用場景相同,但不限于上述實施例一所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運行在實施例一提供的計算機終端10中。
在本申請上述實施例中,結(jié)合圖11所示,上述獲取模塊100包括:
獲取子模塊110,用于獲取攻擊行為所對應的流量數(shù)據(jù);分析模塊112,用于分析攻擊行為所對應的流量數(shù)據(jù),得到至少如下任意一程度;發(fā)起模塊114,用于根據(jù)網(wǎng)絡(luò)應用的重要程度、發(fā)起攻擊行為的次數(shù)和漏洞危險程度以及對應的權(quán)重值,計算得到攻擊行為所對應的入侵值;第三確定模塊116,用于將入侵值與至少一個入侵閾值進行比較,確定攻擊行為所對應的入侵等級,其中,入侵等級包括:低級入侵等級、中級入侵等級和高級入侵等級。
此處需要說明的是,上述獲取子模塊110、分析模塊112、發(fā)起模塊114和第三確 定模塊116對應于實施例1中的步驟s2311至步驟s2317,兩個模塊與對應的步驟所實現(xiàn)的實例和應用場景相同,但不限于上述實施例一所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運行在實施例一提供的計算機終端10中。
在本申請上述實施例中,結(jié)合圖12所示,上述匹配模塊102包括:
查詢模塊120,用于根據(jù)攻擊行為所對應的入侵等級在行為分析監(jiān)測服務(wù)器中查詢得到對應的行為監(jiān)控模塊;其中,當入侵等級為低級入侵等級的情況下,行為監(jiān)控模塊為空;當入侵等級為中級入侵等級的情況下,行為監(jiān)控模塊包括:入侵數(shù)據(jù)收集模塊;當入侵等級為高級入侵等級的情況下,行為監(jiān)控模塊包括:入侵數(shù)據(jù)收集模塊和/或全流量檢測模塊。
此處需要說明的是,上述查詢模塊120對應于實施例1中的步驟s2331至步驟s2337,兩個模塊與對應的步驟所實現(xiàn)的實例和應用場景相同,但不限于上述實施例一所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運行在實施例一提供的計算機終端10中。
實施例4
在實施例1的運行環(huán)境下,本申請?zhí)峁┝巳鐖D13所示的入侵檢測的方法。圖13是根據(jù)本發(fā)明實施例4的另一種入侵檢測的方法的流程圖。
步驟s131,前端客戶端檢測本地發(fā)生的交互行為是否為攻擊網(wǎng)絡(luò)應用的攻擊行為。
在上述步驟中,上述交互行為可以是用戶對當前前端的網(wǎng)站進行點擊等操作,生成訪問請求的行為,例如,用戶使用鼠標對前端網(wǎng)頁中的某一控件或某一個網(wǎng)頁鏈接進行點擊,如果該點擊行為發(fā)生在前端網(wǎng)頁的空白區(qū)域,并未生成訪問請求,則該行不為前端客戶端的交互行為,如果該點擊行為成功并生成了訪問請求,在可以認為該點擊行為為前端客戶端的交互行為。
一種可選方案中,本申請可以實現(xiàn)通過部署在前端應用層的入侵檢測系統(tǒng)檢測當前前端客戶端的交互行為。上述入侵檢測系統(tǒng)可以是前端客戶端中具有檢測攻擊行為功能的應用軟件或插件。
步驟s133,在確定交互行為是攻擊網(wǎng)絡(luò)應用的攻擊行為的情況下,前端客戶端監(jiān)控發(fā)生在本地的行為。
此處需要說明的是,上述前端客戶端所監(jiān)控的行為不限于入侵行為的內(nèi)容,還包括前端客戶端的日常操作行為,例如鍵盤、鼠標等i/o設(shè)備的操作記錄、用戶在前端客戶端的應用軟件操作記錄和網(wǎng)絡(luò)流量的記錄等。
此處還需要說明的是,本申請上述前端客戶端在確定本地交互行為是一種攻擊網(wǎng)絡(luò)應用的攻擊行為的情況下,透傳該攻擊行為的數(shù)據(jù),此處的透傳用于表示在傳輸攻擊行為的過程中,不對上述攻擊行為做任何處理,直接將其傳輸至預設(shè)目標(例如圖3所示的行為分析監(jiān)測系統(tǒng))即可,上述可用于透傳的設(shè)備還可以包括透傳網(wǎng)關(guān)、無限透傳模塊(透傳grrs模塊、透傳zigbee模塊)等。
由此可知,上述步驟實現(xiàn)了在當前前端客戶端確定本地發(fā)生了攻擊行為之后,啟動監(jiān)控本地后續(xù)的網(wǎng)絡(luò)交互、設(shè)備操作等行為,例如監(jiān)控該前端客戶端后續(xù)發(fā)起的入侵行為,從而實現(xiàn)對前端客戶端進行實時監(jiān)測行為的方案,而無需等到后續(xù)的日志分析等來確定攻擊行為,提高了監(jiān)控前端客戶端行為的效率。
圖3是根據(jù)本申請實施例1的一種可選的入侵檢測的方法的示意圖,結(jié)合圖3所示的示例,上述方案可以實現(xiàn)通過入侵檢測系統(tǒng)對前端客戶端的交互行為進行檢測,并判斷當前前端客戶端本地的交互行為是否具有攻擊性,即判斷前端客戶端本地的交互行為是否是攻擊行為,在當前交互行為為攻擊行為的情況下,可以通過將所述攻擊行為進行透傳來獲取對應的監(jiān)測模塊,進而通過在前端客戶端中加載對應的監(jiān)測模塊實現(xiàn)前端客戶端對本地發(fā)生的行為,包括入侵行為進行監(jiān)控。其中,在交互行為為正常交互行為的情況下,向前端客戶端返回正常的交互請求即可。
此處需要說明的是,在上述實施例中,在確定交互行為是攻擊網(wǎng)絡(luò)應用的攻擊行為的情況下,對發(fā)生在前端客戶端的行為進行監(jiān)控,在得到前端客戶端的行為監(jiān)控結(jié)果后,可以根據(jù)監(jiān)控結(jié)果判定入侵行為,進而對進行入侵行為的攻擊者進行定位、也可以對入侵行為進行防御,或通過對入侵行為的學習來得到新的入侵行為的防御規(guī)則,即本申請上述方案對監(jiān)控入侵行為后的方法不做具體限定,但對入侵行為進行監(jiān)控后能夠根據(jù)監(jiān)控結(jié)果實現(xiàn)對入侵行為的防御、攻擊等多種行為。其中,現(xiàn)有技術(shù)中的入侵檢測系統(tǒng)單一的對攻擊的行為做攔截操作,而在本申請?zhí)峁┑娜肭謾z測方法中,入侵檢測系統(tǒng)對交互行為進行檢測,在確認交互行為是攻擊行為的情況下,再對交互行為進行監(jiān)控。
此處還需要說明的是,本申請上述實施例提供的方法在前端客戶端檢測到本地發(fā)生交互行為的同時對交互行為進行檢測,一旦發(fā)現(xiàn)交互行為是前端客戶端發(fā)生的攻擊行為,便立刻對該發(fā)生了攻擊行為的前端客戶端進行監(jiān)控,從而達到了實時發(fā)現(xiàn)入侵行為,實時分析入侵行為的技術(shù)效果,避免了現(xiàn)有技術(shù)中在后端對入侵行為進行分析所產(chǎn)生的延時。
由此可知,本申請?zhí)岢隽艘环N利用前端技術(shù)來發(fā)現(xiàn)入侵行為手段的方法,在業(yè)界內(nèi)通常使用的入侵分析手段都是基于后端去檢測,或者是數(shù)據(jù)驅(qū)動來分析入侵的軌跡, 通常需要從大量的日志數(shù)據(jù)中提取并且分析可能潛在的入侵特征,屬于“事后”行為。而本申請通過前端客戶端檢測發(fā)生在本地的交互行為,一旦發(fā)行交互行為是入侵行為,就對該入侵行為進行監(jiān)測的方法,實現(xiàn)了對前端客戶端的交互行為進行實時監(jiān)測的技術(shù)效果,也實現(xiàn)了對入侵行為進行跟蹤監(jiān)測的技術(shù)效果,充分利用前端具有的屬性,能夠在第一時間內(nèi)發(fā)現(xiàn)入侵行為,并且能夠精確的定位出攻擊者,從而解決了現(xiàn)有技術(shù)采用后端檢測或日志數(shù)據(jù)分析等在后端進行入侵檢測的分析手段,導致監(jiān)控客戶端發(fā)生的行為時效性差的技術(shù)問題。
由此,本申請?zhí)峁┑纳鲜鰧嵤├?的方案解決了現(xiàn)有技術(shù)采用后端檢測或日志數(shù)據(jù)分析等在后端進行入侵檢測的分析手段,導致監(jiān)控客戶端發(fā)生的行為時效性差的技術(shù)問題。
實施例5
本發(fā)明的實施例可以提供一種計算機終端,該計算機終端可以是計算機終端群中的任意一個計算機終端設(shè)備??蛇x地,在本實施例中,上述計算機終端也可以替換為移動終端等終端設(shè)備。
可選地,在本實施例中,上述計算機終端可以位于計算機網(wǎng)絡(luò)的多個網(wǎng)絡(luò)設(shè)備中的至少一個網(wǎng)絡(luò)設(shè)備。
在本實施例中,上述計算機終端可以執(zhí)行應用程序的入侵檢測的方法中以下步驟的程序代碼:獲取前端客戶端的交互行為;檢測交互行為是否為攻擊網(wǎng)絡(luò)應用的攻擊行為;在確定交互行為是攻擊網(wǎng)絡(luò)應用的攻擊行為的情況下,觸發(fā)前端客戶端監(jiān)控發(fā)生在本地的行為。
可選地,圖14是根據(jù)本發(fā)明實施例的一種計算機終端的結(jié)構(gòu)框圖。如圖14所示,該計算機終端1400可以包括:一個或多個(圖中僅示出一個)處理器1402、存儲器1404、以及傳輸裝置1406。
其中,存儲器可用于存儲軟件程序以及模塊,如本發(fā)明實施例中的入侵檢測的方法和裝置對應的程序指令/模塊,處理器通過運行存儲在存儲器內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應用以及數(shù)據(jù)處理,即實現(xiàn)上述的系統(tǒng)漏洞攻擊的檢測方法。存儲器可包括高速隨機存儲器,還可以包括非易失性存儲器,如一個或者多個磁性存儲裝置、閃存、或者其他非易失性固態(tài)存儲器。在一些實例中,存儲器可進一步包括相對于處理器遠程設(shè)置的存儲器,這些遠程存儲器可以通過網(wǎng)絡(luò)連接至終端a。上述網(wǎng)絡(luò)的實例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動通信網(wǎng)及其組合。
處理器可以通過傳輸裝置調(diào)用存儲器存儲的信息及應用程序,以執(zhí)行下述步驟: 獲取前端客戶端的交互行為;檢測交互行為是否為攻擊網(wǎng)絡(luò)應用的攻擊行為;在確定交互行為是攻擊網(wǎng)絡(luò)應用的攻擊行為的情況下,觸發(fā)前端客戶端監(jiān)控發(fā)生在本地的行為。
可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:通過部署在前端應用層的入侵檢測系統(tǒng)檢測前端客戶端的交互行為,其中,在觸發(fā)前端客戶端監(jiān)控發(fā)生在本地的行為之前,方法還包括:入侵檢測系統(tǒng)透傳攻擊行為至前端客戶端。
可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:讀取預先配置的安全策略信息,安全策略信息包括:用于確定交互行為是否具備攻擊性的信息;根據(jù)安全策略信息判斷交互行為對應的請求內(nèi)容是否具有攻擊性;在交互行為對應的請求內(nèi)容具有攻擊性的情況下,確定交互行為為攻擊行為;在交互行為對應的請求內(nèi)容不具有攻擊性的情況下,確定交互行為為安全行為,并根據(jù)請求內(nèi)容得到返回給前端客戶端的響應信息。
可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:獲取攻擊行為所對應的入侵等級;根據(jù)攻擊行為所對應的入侵等級選擇與入侵等級相匹配的行為監(jiān)控模塊;將與入侵等級相匹配的行為監(jiān)控模塊加載至前端客戶端,其中,監(jiān)控模塊用于監(jiān)控并記錄前端客戶端發(fā)起的入侵行為。
可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:獲取攻擊行為所對應的流量數(shù)據(jù);分析攻擊行為所對應的流量數(shù)據(jù),得到至少如下任意一個或多個參數(shù):網(wǎng)絡(luò)應用的重要程度、發(fā)起攻擊行為的次數(shù)和漏洞危險程度;根據(jù)網(wǎng)絡(luò)應用的重要程度、發(fā)起攻擊行為的次數(shù)和漏洞危險程度以及對應的權(quán)重值,計算得到攻擊行為所對應的入侵值;將入侵值與至少一個入侵閾值進行比較,確定攻擊行為所對應的入侵等級,其中,入侵等級包括:低級入侵等級、中級入侵等級和高級入侵等級。
可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:根據(jù)攻擊行為所對應的入侵等級在行為分析監(jiān)測服務(wù)器中查詢得到對應的行為監(jiān)控模塊;其中,當入侵等級為低級入侵等級的情況下,行為監(jiān)控模塊為空;當入侵等級為中級入侵等級的情況下,行為監(jiān)控模塊包括:入侵數(shù)據(jù)收集模塊;當入侵等級為高級入侵等級的情況下,行為監(jiān)控模塊包括:入侵數(shù)據(jù)收集模塊和/或全流量檢測模塊。
可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:在行為監(jiān)控模塊為空的情況下,確定前端客戶端為安全用戶。
可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:入侵數(shù)據(jù)收集模塊至少包括:輸入信息監(jiān)控模塊和/或前端基礎(chǔ)信息監(jiān)控模塊,其中,輸入信息監(jiān)控模塊用于監(jiān) 控并記錄如下任意一種或多種輸入輸出設(shè)備的操作信息:鍵盤、鼠標和觸摸板,前端基礎(chǔ)信息監(jiān)控模塊用于監(jiān)控并記錄前端客戶端的如下任意一個或多個信息:前端客戶端的ip地址、mac地址、登錄用戶信息和序列號。
可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:全流量檢測模塊用于探測前端客戶端所在的網(wǎng)絡(luò)環(huán)境中的如下一個或多個參數(shù)信息:前端客戶端的內(nèi)網(wǎng)ip地址、路由器地址、網(wǎng)關(guān)地址和dns服務(wù)器地址。
可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:獲取監(jiān)控前端客戶端入侵行為而得到的監(jiān)控數(shù)據(jù);通過大數(shù)據(jù)引擎將監(jiān)控數(shù)據(jù)進行數(shù)據(jù)結(jié)構(gòu)化處理和/或可視化處理,得到前端客戶端的攻擊分析結(jié)果。
由此可知,本申請?zhí)岢隽艘环N利用前端技術(shù)來發(fā)現(xiàn)入侵行為手段的方案,在業(yè)界內(nèi)通常使用的入侵分析手段都是基于后端去檢測,或者是數(shù)據(jù)驅(qū)動來分析入侵的軌跡,通常需要從大量的日志數(shù)據(jù)中提取并且分析可能潛在的入侵特征,屬于“事后”行為。而本申請通過對前端客戶端的交互行為進行檢測,一旦發(fā)行交互行為是入侵行為,就對該入侵行為進行監(jiān)測的方法,實現(xiàn)了對前端客戶端的交互行為進行實時監(jiān)測的技術(shù)效果,也實現(xiàn)了對入侵行為進行跟蹤監(jiān)測的技術(shù)效果,充分利用前端具有的屬性,能夠在第一時間內(nèi)發(fā)現(xiàn)入侵行為,并且能夠精確的定位出攻擊者,從而解決了現(xiàn)有技術(shù)采用后端檢測或日志數(shù)據(jù)分析等在后端進行入侵檢測的分析手段,導致監(jiān)控客戶端發(fā)生的行為時效性差的技術(shù)問題。
本領(lǐng)域普通技術(shù)人員可以理解,圖14所示的結(jié)構(gòu)僅為示意,計算機終端也可以是智能手機(如android手機、ios手機等)、平板電腦、掌聲電腦以及移動互聯(lián)網(wǎng)設(shè)備(mobileinternetdevices,mid)、pad等終端設(shè)備。圖14其并不對上述電子裝置的結(jié)構(gòu)造成限定。例如,計算機終端1400還可包括比圖1400中所示更多或者更少的組件(如網(wǎng)絡(luò)接口、顯示裝置等),或者具有與圖1400所示不同的配置。
本領(lǐng)域普通技術(shù)人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令終端設(shè)備相關(guān)的硬件來完成,該程序可以存儲于一計算機可讀存儲介質(zhì)中,存儲介質(zhì)可以包括:閃存盤、只讀存儲器(read-onlymemory,rom)、隨機存取器(randomaccessmemory,ram)、磁盤或光盤等。
實施例6
本發(fā)明的實施例還提供了一種存儲介質(zhì)??蛇x地,在本實施例中,上述存儲介質(zhì)可以用于保存上述實施例一所提供的入侵檢測的方法所執(zhí)行的程序代碼。
可選地,在本實施例中,上述存儲介質(zhì)可以位于計算機網(wǎng)絡(luò)中計算機終端群中的 任意一個計算機終端中,或者位于移動終端群中的任意一個移動終端中。
可選地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:獲取前端客戶端的交互行為;檢測交互行為是否為攻擊網(wǎng)絡(luò)應用的攻擊行為;在確定交互行為是攻擊網(wǎng)絡(luò)應用的攻擊行為的情況下,觸發(fā)前端客戶端監(jiān)控發(fā)生在本地的行為。
可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:通過部署在前端應用層的入侵檢測系統(tǒng)檢測前端客戶端的交互行為,其中,在觸發(fā)前端客戶端監(jiān)控發(fā)生在本地的行為之前,方法還包括:入侵檢測系統(tǒng)透傳攻擊行為至前端客戶端。
可選地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:讀取預先配置的安全策略信息,安全策略信息包括:用于確定交互行為是否具備攻擊性的信息;根據(jù)安全策略信息判斷交互行為對應的請求內(nèi)容是否具有攻擊性;在交互行為對應的請求內(nèi)容具有攻擊性的情況下,確定交互行為為攻擊行為;在交互行為對應的請求內(nèi)容不具有攻擊性的情況下,確定交互行為為安全行為,并根據(jù)請求內(nèi)容得到返回給前端客戶端的響應信息。
可選地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:獲取攻擊行為所對應的入侵等級;根據(jù)攻擊行為所對應的入侵等級選擇與入侵等級相匹配的行為監(jiān)控模塊;將與入侵等級相匹配的行為監(jiān)控模塊加載至前端客戶端,其中,監(jiān)控模塊用于監(jiān)控并記錄前端客戶端發(fā)起的入侵行為。
可選地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:獲取攻擊行為所對應的流量數(shù)據(jù);分析攻擊行為所對應的流量數(shù)據(jù),得到至少如下任意一個或多個參數(shù):網(wǎng)絡(luò)應用的重要程度、發(fā)起攻擊行為的次數(shù)和漏洞危險程度;根據(jù)網(wǎng)絡(luò)應用的重要程度、發(fā)起攻擊行為的次數(shù)和漏洞危險程度以及對應的權(quán)重值,計算得到攻擊行為所對應的入侵值;將入侵值與至少一個入侵閾值進行比較,確定攻擊行為所對應的入侵等級,其中,入侵等級包括:低級入侵等級、中級入侵等級和高級入侵等級。
可選地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:根據(jù)攻擊行為所對應的入侵等級在行為分析監(jiān)測服務(wù)器中查詢得到對應的行為監(jiān)控模塊;其中,當入侵等級為低級入侵等級的情況下,行為監(jiān)控模塊為空;當入侵等級為中級入侵等級的情況下,行為監(jiān)控模塊包括:入侵數(shù)據(jù)收集模塊;當入侵等級為高級入侵等級的情況下,行為監(jiān)控模塊包括:入侵數(shù)據(jù)收集模塊和/或全流量檢測模塊。
可選地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼: 在行為監(jiān)控模塊為空的情況下,確定前端客戶端為安全用戶。
可選地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:入侵數(shù)據(jù)收集模塊至少包括:輸入信息監(jiān)控模塊和/或前端基礎(chǔ)信息監(jiān)控模塊,其中,輸入信息監(jiān)控模塊用于監(jiān)控并記錄如下任意一種或多種輸入輸出設(shè)備的操作信息:鍵盤、鼠標和觸摸板,前端基礎(chǔ)信息監(jiān)控模塊用于監(jiān)控并記錄前端客戶端的如下任意一個或多個信息:前端客戶端的ip地址、mac地址、登錄用戶信息和序列號。
可選地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:全流量檢測模塊用于探測前端客戶端所在的網(wǎng)絡(luò)環(huán)境中的如下一個或多個參數(shù)信息:前端客戶端的內(nèi)網(wǎng)ip地址、路由器地址、網(wǎng)關(guān)地址和dns服務(wù)器地址。
可選地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:獲取監(jiān)控前端客戶端入侵行為而得到的監(jiān)控數(shù)據(jù);通過大數(shù)據(jù)引擎將監(jiān)控數(shù)據(jù)進行數(shù)據(jù)結(jié)構(gòu)化處理和/或可視化處理,得到前端客戶端的攻擊分析結(jié)果。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
在本發(fā)明的上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關(guān)描述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的技術(shù)內(nèi)容,可通過其它的方式實現(xiàn)。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì) 上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可為個人計算機、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:u盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。