掃二維碼與項(xiàng)目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
大數(shù)據(jù)時代,數(shù)據(jù)竊取、篡改、個人隱私泄露等數(shù)據(jù)安全問題已成為社會關(guān)注的焦點(diǎn)。當(dāng)前一種解決方式是通過分析數(shù)據(jù)安全威脅場景的特征形成事件規(guī)則,結(jié)合規(guī)則引擎進(jìn)行事件告警輸出。但在企業(yè)生產(chǎn)及工作環(huán)境中往往存在復(fù)雜的攻擊,規(guī)則單一、匹配深度過淺及無關(guān)聯(lián)性會產(chǎn)生大量的攻擊行為遺漏和告警不精準(zhǔn)問題。復(fù)雜事件處理(CEP, Complex Event Processin-g)技術(shù)應(yīng)運(yùn)而生。

創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)與策劃設(shè)計(jì),長順網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:長順等地區(qū)。長順做網(wǎng)站價格咨詢:028-86922220
基于復(fù)雜事件處理技術(shù),通過關(guān)聯(lián)、時序、聚合等方式對多種數(shù)據(jù)進(jìn)行分析處理,可以發(fā)現(xiàn)一些有價值的信息,是大數(shù)據(jù)處理的關(guān)鍵技術(shù)之一。目前,市面上CEP引擎主要有:
當(dāng)前數(shù)據(jù)安全事件層出不窮,數(shù)據(jù)的安全傳輸、脫敏、加密、防泄漏等主要是事前防范措施,我們將圍繞數(shù)據(jù)溯源場景,基于CEP引擎對數(shù)據(jù)泄露相關(guān)事件進(jìn)行關(guān)聯(lián)分析,追蹤溯源。在事件運(yùn)營整個流程中,針對安全設(shè)備發(fā)來的安全日志以及數(shù)據(jù)訪問和傳輸日志,再經(jīng)過平臺解析、增強(qiáng)、歸一化等技術(shù)標(biāo)準(zhǔn)化后,就需要使用CEP規(guī)則引擎對標(biāo)準(zhǔn)化的日志做深度關(guān)聯(lián)分析,生成安全告警事件(如圖1),并推送給安全運(yùn)維人員,從而完成防護(hù)—檢測—響應(yīng)的整個安全事件運(yùn)營的閉環(huán)。
圖1 安全日志分析流程
數(shù)據(jù)安全需求與分析場景非常復(fù)雜,為了適應(yīng)快速變更的場景需求和保護(hù)數(shù)據(jù)的價值,規(guī)則引擎的設(shè)計(jì)架構(gòu)需具備靈活的語義定制、友好的規(guī)則擴(kuò)展以及高效的大數(shù)據(jù)處理能力等特點(diǎn)。另外,根據(jù)日志的存儲特性,CEP規(guī)則引擎可分為實(shí)時和離線兩種分析模式,下面分別介紹這兩種模式在數(shù)據(jù)安全事件分析場景中的應(yīng)用。
為了快速發(fā)現(xiàn)數(shù)據(jù)安全事件,需要實(shí)時處理設(shè)備日志,因此需要基于實(shí)時的流式大數(shù)據(jù)處理框架開發(fā)CEP規(guī)則引擎。一般情況下,將一個數(shù)據(jù)安全事件檢測場景部署到安全運(yùn)營平臺上,需要經(jīng)歷如下步驟:
經(jīng)過上述步驟后,CEP規(guī)則引擎就可以加載該安全場景的事件檢測規(guī)則,當(dāng)符合該規(guī)則檢測模式的設(shè)備日志進(jìn)入到CEP規(guī)則引擎后,即可觸發(fā)生成事件。
基于Flink和Siddhi開發(fā)CEP規(guī)則引擎,是實(shí)時事件處理的典型案例,其事件處理流程的架構(gòu)如圖2。
圖2 Flink-Siddhi流程圖
下面以一個實(shí)際業(yè)務(wù)中的數(shù)據(jù)安全威脅檢測場景為例:攻擊者通過若干已知賬號和通用密碼嘗試登陸(UEBA異常行為—單設(shè)備登陸多個不同賬號),成功后登陸特定用戶的confluence、郵箱等,翻閱并下載敏感信息(短時間內(nèi)下載大量文件),如服務(wù)器密碼、敏感文件等,進(jìn)而攻陷了一批服務(wù)器,造成嚴(yán)重的數(shù)據(jù)泄露。該場景涉及到三種日志:登陸認(rèn)證、Web訪問和文件傳輸。經(jīng)過分析可知,該場景的日志具備如下特征:
上述特征均可以使用CEP規(guī)則引擎內(nèi)置的算子來表示。
使用EPL將事件檢測邏輯定義出來,然后將EPL加載到CEP規(guī)則引擎中,通過解析校驗(yàn)EPL等流程,最終得到一個物理執(zhí)行流程圖并分發(fā)到集群的各個worker節(jié)點(diǎn),開始執(zhí)行上述事件檢測規(guī)則。
一般情況下,多數(shù)CEP引擎都提供了狀態(tài)機(jī)的方案,按照事件檢測規(guī)則對實(shí)時日志流進(jìn)行模式匹配,在上述安全事件檢測規(guī)則的具體執(zhí)行過程中,有限狀態(tài)機(jī)的執(zhí)行過程如圖3所示:
圖3 CEP規(guī)則執(zhí)行EPL基本流程
首先,CEP規(guī)則引擎持續(xù)檢測第一步的登陸認(rèn)證日志,如果檢測到多次認(rèn)證失敗突然登陸成功的日志,則判定為異常,并將異常登陸認(rèn)證日志緩存起來,記為集合A。同時,實(shí)時監(jiān)控集合A中日志源/目的IP,若有Web訪問日志短時間內(nèi)登陸大量不同賬號,且登陸賬號的數(shù)量超過正?;€(或閾值)的情況,記為異常的Web訪問日志集合B。至此,得到了兩個日志集合A和B,并且將集合A和B中按源/目的IP條件關(guān)聯(lián)得到的集合記為[A&B]模式序列。
同理,以[A&B]模式序列中集合A的目的IP持續(xù)監(jiān)控文件傳輸日志是否有和關(guān)聯(lián)條件相匹配的文件傳輸日志,并且在登陸成功后的一段時間內(nèi)發(fā)生了大量的文件傳輸行為,于是得到集合C。并最終得到[A&B->C]模式序列。如果該模式序列[A&B->C]不為空,則說明日志觸發(fā)該事件檢測規(guī)則,即可生成最終的賬號爆破成功后的數(shù)據(jù)泄露告警事件。
通過我們的CEP引擎,可以靈活高效處理數(shù)據(jù)安全場景的溯源分析,快速還原數(shù)據(jù)泄露過程的全貌,對責(zé)任定位、環(huán)境加固、安全預(yù)防起著重要作用。
雖然實(shí)時處理能檢測到很多數(shù)據(jù)泄露的場景,但由于部分場景時間跨度長,且是一次性接入的歷史日志,因此亟需離線復(fù)雜事件處理模式。離線模式可基于歷史日志,支持長時間跨度的威脅分析,還原攻擊事件。綠盟科技開發(fā)出一套通用的離線規(guī)則執(zhí)行框架,用以支持單源、多源關(guān)聯(lián)分析、復(fù)雜事件處理以及自定義插件類規(guī)則,支持更多的場景分析,同時兼顧效率和資源。離線處理整體架構(gòu)如圖4所示。
圖4 離線規(guī)則執(zhí)行流程
下面我們結(jié)合具體APT攻擊導(dǎo)致數(shù)據(jù)泄露實(shí)例場景來說明:攻擊者首先通過端口和漏洞掃描嘗試,發(fā)現(xiàn)開啟SSH服務(wù),然后制作密碼字典進(jìn)行暴力破解,期間有SQL注入嘗試,獲取密碼、權(quán)限等,成功登陸系統(tǒng)(SSH登陸成功),進(jìn)而安裝病毒程序或工具進(jìn)行木馬遠(yuǎn)程控制活動,獲取持久控制權(quán)限,登錄后閱讀或傳輸敏感文件,導(dǎo)致數(shù)據(jù)泄露,造成嚴(yán)重的數(shù)據(jù)安全事件。其攻擊流程如圖5所示。
圖5 復(fù)雜持續(xù)攻擊數(shù)據(jù)泄露案例
根據(jù)攻擊階段的關(guān)鍵動作可提取特征:
(1)偵查:如端口、Web漏洞掃描;
(2)定向攻擊:賬號爆破、SQL注入等;
(3)攻陷+入侵:賬號爆破成功、系統(tǒng)登錄成功等;
(4)安裝工具:感染木馬、病毒等;
(5)惡意活動:遠(yuǎn)程控制、敏感文件傳輸、數(shù)據(jù)泄露等。
離線模式檢測當(dāng)前APT攻擊方法:
(1)首先根據(jù)數(shù)據(jù)攻擊場景提取的關(guān)鍵特征配置規(guī)則,這里可以配置為5個階段:S1(端口掃描)->S2(SSH暴力破解)-> S3(SSH登錄成功)-> S4(感染木馬病毒)-> S5(數(shù)據(jù)泄露);
(2)配置完規(guī)則后選擇執(zhí)行模式(立即或周期執(zhí)行),并注冊到任務(wù)表中;
(3)任務(wù)監(jiān)控進(jìn)程根據(jù)注冊信息執(zhí)行對應(yīng)任務(wù);
(4)執(zhí)行:由于是離線溯源,日志都已存儲至ES中,因此可以從任意階段開始搜索。
由于面臨海量日志的關(guān)聯(lián),需解決好關(guān)聯(lián)時的性能問題。這里采用最小日志源雙向關(guān)聯(lián)算法,核心思想為先找到各階段各個日志源命中數(shù)量的最小值,提取關(guān)鍵關(guān)聯(lián)條件字段信息,如sip、dip等,然后結(jié)合關(guān)聯(lián)條件,將其作為前一步或后一步的追加復(fù)合搜索條件,反復(fù)迭代搜索,獲取最終待關(guān)聯(lián)分析的日志最小數(shù)據(jù)量,在內(nèi)存數(shù)據(jù)庫中完成聚合關(guān)聯(lián)分析處理。
圖6 最小日志源雙向關(guān)聯(lián)搜索執(zhí)行流程示例
以三個日志源[s1,s2,s3]的多源關(guān)聯(lián)分析規(guī)則為例,描述詳細(xì)執(zhí)行邏輯:
(1)先查詢?nèi)齻€日志源的每個規(guī)則過濾條件分別命中的日志總數(shù)列表log_cnt_list =[cnt1,cnt2,cnt3], 假設(shè)cnt2為最小值;
(2)將第二個日志源過濾規(guī)則命中的日志數(shù)據(jù)Data2從日志數(shù)據(jù)庫中取出來,結(jié)合關(guān)聯(lián)條件(如s1.sip=s2.dip),將s2的查詢結(jié)果Data2作為追加查詢條件,向前以及向后關(guān)聯(lián)查詢?nèi)罩驹磗1和s3分別命中的日志數(shù)據(jù)Data1和Data3。需要注意的是,以Data2中的值作為約束關(guān)聯(lián)條件查詢s1或s3,可能會查詢不到結(jié)果,即Data1和Data3可能為空,若為空,則需要及時終止向前或向后關(guān)聯(lián)查詢,并退出規(guī)則執(zhí)行模塊,以避免對日志數(shù)據(jù)庫不必要的查詢并及時釋放系統(tǒng)資源。
(3)雙向查詢?nèi)罩窘Y(jié)束后,將查詢到的日志數(shù)據(jù)集[Data1,Data2,Data3]寫入到內(nèi)存數(shù)據(jù)庫中,然后參與后續(xù)的關(guān)聯(lián)聚合并輸出事件,并及時清空內(nèi)存中的臨時數(shù)據(jù);
(4)增加反查機(jī)制,進(jìn)一步降低數(shù)據(jù)量。
可以看到,定義好場景和特征后,數(shù)據(jù)泄露相關(guān)場景可以靈活通俗的轉(zhuǎn)變成引擎內(nèi)置識別的方式去溯源檢測,使場景分析的門檻大大降低,人人都可以基于業(yè)務(wù)中的場景實(shí)例做實(shí)戰(zhàn)分析。
通過上文對復(fù)雜事件處理相關(guān)技術(shù)在數(shù)據(jù)安全典型場景中的應(yīng)用探討,并基于實(shí)時和離線兩種安全事件分析模式分析具體數(shù)據(jù)泄露場景案例的溯源實(shí)踐,我們可以看到復(fù)雜事件處理技術(shù)在網(wǎng)絡(luò)安全行業(yè)具有重要的應(yīng)用價值,尤其在數(shù)據(jù)安全事故頻發(fā)的現(xiàn)狀下其價值體現(xiàn)將更加明顯。但數(shù)據(jù)泄露的場景分析、數(shù)據(jù)竊取、濫用及加密等課題研究仍任重而道遠(yuǎn)。在設(shè)計(jì)上,需要更加完善的數(shù)據(jù)安全治理和評估框架體系;在技術(shù)上,需要對方案的性能、多樣性和擴(kuò)展性做持續(xù)探索和優(yōu)化。

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流