郭 健,沈 杰
(中國移動(dòng)通信集團(tuán)山西有限公司 太原030000)
安全審計(jì)是一種根據(jù)一定的安全策略記錄,分析歷史操作事件及數(shù)據(jù),及時(shí)發(fā)現(xiàn)系統(tǒng)中存在的違規(guī)操作和安全漏洞的信息安全保護(hù)技術(shù)。電信運(yùn)營商業(yè)務(wù)支撐系統(tǒng)的安全審計(jì)平臺(tái)通過采集、記錄、管理、分析用戶對業(yè)務(wù)支撐系統(tǒng)高敏感度(非常重要和重要)數(shù)據(jù)的關(guān)鍵操作,對人員的登錄過程、關(guān)鍵操作等行為進(jìn)行審計(jì)和分析,最終建立并完善針對“自然人→資源”訪問過程的完整審計(jì)管理,實(shí)現(xiàn)安全事件實(shí)時(shí)告警和安全事故責(zé)任追蹤。
在業(yè)務(wù)支撐系統(tǒng)中,安全審計(jì)系統(tǒng)通過有效的審計(jì)分析手段和方法,檢查、發(fā)現(xiàn)并預(yù)警各種異常和違規(guī)行為。在信息安全領(lǐng)域?qū)徲?jì)系統(tǒng)中,關(guān)聯(lián)是指將系統(tǒng)中所有的事件,按照相關(guān)性綜合到一起進(jìn)行觀察;分析是核心功能和關(guān)鍵技術(shù)。關(guān)聯(lián)分析是指對網(wǎng)絡(luò)或系統(tǒng)全局的安全事件數(shù)據(jù)進(jìn)行自動(dòng)、連續(xù)分析,通過特征對業(yè)務(wù)場景操作流的上下文進(jìn)行關(guān)聯(lián),根據(jù)用戶定義的、可配置的規(guī)則識(shí)別具有威脅、復(fù)雜的攻擊模式,從而確定安全事件的真實(shí)性,對事件進(jìn)行分級(jí)并對事件進(jìn)行有效響應(yīng)。關(guān)聯(lián)分析是與實(shí)際業(yè)務(wù)操作貼合緊密并且具有一定智能程度的分析手段,可以用來提高安全審計(jì)的可靠性、效率以及可視化程度,并為安全管理和應(yīng)急響應(yīng)提供技術(shù)手段。如違規(guī)創(chuàng)建賬號(hào)后,利用該賬號(hào)執(zhí)行業(yè)務(wù)操作的行為;又如將用戶敏感數(shù)據(jù)導(dǎo)出為主機(jī)文件后,對該文件的下載行為等。
在關(guān)聯(lián)分析中,關(guān)注的日志范圍涉及業(yè)務(wù)日志的各個(gè)層面。山西省審計(jì)軟件上線后,每天產(chǎn)生的日志量多達(dá)2 GB,在這數(shù)量龐大的日志中進(jìn)行關(guān)聯(lián)分析變得非常困難。
(1)分析性能很難有效保證
一次簡單的關(guān)聯(lián)就需要對海量日志中的每一條進(jìn)行交叉遍歷,不僅分析耗時(shí)長,對系統(tǒng)資源占用大,而且容易出錯(cuò)。
(2)分析策略很難制定
業(yè)務(wù)是不斷發(fā)展的,分析的策略也需要不斷改變,但審計(jì)管理員很難對每個(gè)系統(tǒng)的業(yè)務(wù)流程都足夠熟悉,這增加了審計(jì)落地的難度。需要研究一種智能關(guān)聯(lián)分析技術(shù)解決以上問題。
在實(shí)際使用審計(jì)系統(tǒng)過程中發(fā)現(xiàn),違規(guī)操作和異常行為只占海量日志中的很小部分。通過對這類小概率事件進(jìn)行深入挖掘,回溯此類事件的產(chǎn)生場景、操作過程和特征,建立知識(shí)庫,形成系統(tǒng)自學(xué)習(xí)的智能分析體系。
小概率模型基于如下假設(shè):合法的日常操作是多數(shù)的,非法的操作是少數(shù)的,某種操作行為的數(shù)量非常少,以至于低于某個(gè)閾值時(shí),就有可能是非法的。所以小概率分析模型可以找出數(shù)量低于特定閾值的操作行為。
在如上假設(shè)的基礎(chǔ)上,先統(tǒng)計(jì)過去發(fā)生的操作記錄的執(zhí)行次數(shù)。操作記錄由操作(operation)、參數(shù)(option)、對象(object)三者組合而成,簡稱3O。每次操作就是operation與option和/或object的任意組合,即把統(tǒng)計(jì)結(jié)果與事先給定的違規(guī)閾值(illegal threshold)進(jìn)行比較,如果發(fā)生次數(shù)小于等于該閾值,則認(rèn)為該操作記錄是一條疑似違規(guī)記錄,把這條疑似違規(guī)操作放入疑似違規(guī)操作表sus_violation_record中,這個(gè)階段稱為“查找”。
得到“疑似違規(guī)操作記錄庫”后,用每個(gè)操作對應(yīng)的session ID(一次會(huì)話的唯一標(biāo)識(shí))回溯在此操作之前所有相關(guān)的操作集合,如所在session里所有的操作記錄、user在這給定時(shí)間段內(nèi)的操作記錄、所在IP主機(jī)的操作記錄等。這樣就得到了若干疑似違規(guī)操作流,這個(gè)階段稱為“回溯”。
得到疑似違規(guī)操作流后,對于不在違規(guī)操作庫中的記錄,需要由安全專家確認(rèn)是否為真正的違規(guī)操作。如果是,則保存到違規(guī)操作表violation_record中;如果不是,則丟棄。這個(gè)階段稱為“確認(rèn)”。
如果疑似違規(guī)操作已在表violation_record中,則自動(dòng)增加其發(fā)生次數(shù);對于不在表violation_record中的記錄,用戶確認(rèn)的添加到表中,沒確認(rèn)的丟棄,這個(gè)過程稱為“修改”。
小概率分析模型的執(zhí)行過程由查找、回溯、確認(rèn)、修改4個(gè)階段組成。
小概率分析是軟件系統(tǒng)的一種自學(xué)習(xí)行為,需要用戶事先設(shè)定關(guān)聯(lián)分析策略及違規(guī)閾值和回溯時(shí)間范圍,在知識(shí)庫建立的初始階段需要管理員參與完成分析和知識(shí)積累。小概率分析服務(wù)程序分為4個(gè)子模塊:統(tǒng)計(jì)、回溯、確認(rèn)、監(jiān)控。
(1)統(tǒng)計(jì)
統(tǒng)計(jì)指定的時(shí)間段內(nèi)日志中所有操作發(fā)生的次數(shù),并從小到大進(jìn)行排序,然后根據(jù)管理員指定的關(guān)聯(lián)分析策略中的閾值篩選出疑似違規(guī)操作,最后將疑似違規(guī)操作的具體信息保存到疑似違規(guī)數(shù)據(jù)表中。
(2)回溯
得到疑似違規(guī)操作庫后,由管理員判斷是否需要進(jìn)行回溯。根據(jù)該疑似違規(guī)操作對應(yīng)的時(shí)間、用戶名等字段進(jìn)行回溯,回溯結(jié)束后得到若干個(gè)違規(guī)操作流。如假設(shè)違規(guī)閾值是3,操作create user(創(chuàng)建用戶)的發(fā)生次數(shù)是2,則create user操作為疑似違規(guī)操作,用戶對該操作進(jìn)行回溯得到兩個(gè)操作流,然后進(jìn)入操作流確認(rèn)模塊。
(3)確認(rèn)
確認(rèn)工作需要經(jīng)驗(yàn)豐富的業(yè)務(wù)系統(tǒng)管理員參與完成,管理員根據(jù)經(jīng)驗(yàn)判斷操作流是否為違規(guī)的操作過程。確認(rèn)結(jié)束后得到兩類操作流:一類是違規(guī)操作流,另一類是安全操作流。在確認(rèn)過程中,完整的操作流有可能會(huì)很長,特別是設(shè)定的回溯時(shí)間段比較長時(shí),需要對日志流進(jìn)行歸并處理,或者過濾掉安全的操作,如‘cd./’和‘ls’,再展現(xiàn)給用戶進(jìn)行確認(rèn),從而減少了用戶參與的難度,提高了操作流的質(zhì)量。
(4)監(jiān)控
使用違規(guī)操作流對用戶的操作過程進(jìn)行監(jiān)控,用違規(guī)操作庫中的操作流對用戶的操作過程進(jìn)行實(shí)時(shí)匹配。匹配程度比較高便認(rèn)為用戶正在進(jìn)行危險(xiǎn)的操作,生成相關(guān)的告警信息。
小概率分析模型的實(shí)現(xiàn)步驟分為4個(gè)階段:查找、回溯、確認(rèn)、修改。下面就第一次運(yùn)行和例行運(yùn)行兩種情況通過“以腳本方式導(dǎo)出DB2數(shù)據(jù)庫表到主機(jī)文件”為例,介紹小概率分析模型的設(shè)計(jì)過程。
(1)第一次查找
分析審計(jì)數(shù)據(jù)庫中的所有操作記錄,首先從表中取出一條記錄詳情(3O),對3O進(jìn)行預(yù)處理(去掉operation、option、object三者之間多余的空格),用表map保存統(tǒng)計(jì)結(jié)果,用3O做這條記錄的主鍵,記錄發(fā)生次數(shù),并在表operation_session中記錄主鍵及每一次的執(zhí)行所在的user_session_ID。對于不存在的主鍵,添加到表map中,并將發(fā)生次數(shù)置1,并在表operation_session中記錄主鍵及每一次執(zhí)行所在的user_session_ID。得到所有操作記錄的統(tǒng)計(jì)結(jié)果后,發(fā)生次數(shù)小于閾值的操作被認(rèn)為是疑似違規(guī)操作,把這些疑似違規(guī)操作放入表violation_record中。
為了避免查找過程的發(fā)生日期重疊,需要記錄下本次查找所跨越的時(shí)間范圍。因?yàn)椴僮魅罩颈砻话阋匀掌诿?,查找結(jié)束后,將查找的第一個(gè)與最后一個(gè)表的表名作為起始時(shí)間戳和結(jié)束時(shí)間戳,以此來標(biāo)識(shí)該次查找跨越的時(shí)間范圍,下一次查找只能從上次查找結(jié)束時(shí)間戳的下一個(gè)表開始查找。
統(tǒng)計(jì)得到疑似違規(guī)操作表后,循環(huán)遍歷所有操作記錄進(jìn)行回溯。
(2)例行性查找
系統(tǒng)例行每天查找一次,即當(dāng)天查找昨天的日志記錄,稱為例行查找。例行查找過程中對操作記錄進(jìn)行統(tǒng)計(jì),方法與系統(tǒng)第一次運(yùn)行時(shí)統(tǒng)計(jì)過程一樣,唯一不同之處是過濾疑似違規(guī)操作時(shí)參考例行查找閾值。利用例行查找閾值過濾得到疑似違規(guī)操作表,緊接著對疑似違規(guī)操作表進(jìn)行回溯。
遍歷疑似違規(guī)操作表,讀取一條疑似違規(guī)操作A,取得與記錄A對應(yīng)的所有user_session_ID;因?yàn)榻y(tǒng)計(jì)的是一段時(shí)間內(nèi)的操作,重復(fù)操作每一次執(zhí)行時(shí)對應(yīng)的user_session_ID不同,為方便回溯,記錄下每次執(zhí)行時(shí)記錄A所在的user_session_ID;對每一個(gè)user_session_ID做一次回溯。如對于A_session_ID_1,查找到與A_session_ID_1對應(yīng)的相關(guān)信息(如user name、IP、date and time),利用這些相關(guān)的信息進(jìn)行回溯。
回溯原則如下所述。
(1)第一次回溯
在查找階段所對應(yīng)的操作記錄中進(jìn)行回溯,分析A_session_ID_1的所有操作,尋找該用戶在A之前(包含記錄A)所有的操作。
(2)例行性回溯
在例行查找所對應(yīng)的操作記錄內(nèi),回溯A_session_ID_1對應(yīng)的user,分析該用戶在A之前(包含A)執(zhí)行的所有操作。
重復(fù)回溯完記錄A對應(yīng)的所有user_session_ID后,記錄A回溯結(jié)束,可以得到一個(gè)記錄所對應(yīng)的若干個(gè)操作流。接著遍歷回溯下一條記錄B?;厮荼闅v結(jié)束后,便得到了疑似違規(guī)操作流。將所有的疑似違規(guī)操作流保存到表T_NEED_CONFIRED_****_**_**中,供管理員做進(jìn)一步確認(rèn)。
第一次確認(rèn)和例行性確認(rèn)的過程相同,都是逐行分析表T_NEED_CONFIRED_****_**_**。例如,需要管理員確認(rèn)的操作流見表1。
表1 需要管理員確認(rèn)的操作流
疑似違規(guī)操作經(jīng)確認(rèn)后成為違規(guī)操作,進(jìn)入表violation_record中。表violation_record中的操作經(jīng)確認(rèn)為非違規(guī)操作,則從表violation_record中剔出。
安全審計(jì)系統(tǒng)小概率分析模型技術(shù)具有以下特點(diǎn)。
·不僅提高了關(guān)聯(lián)分析的準(zhǔn)確性,而且審計(jì)分析的內(nèi)容與山西省實(shí)際業(yè)務(wù)緊密貼合。
·建立了智能的自學(xué)習(xí)系統(tǒng)和完善的知識(shí)庫,審計(jì)管理員不需要進(jìn)行大量的策略配置工作,也不需要對每一個(gè)業(yè)務(wù)都非常熟悉。
·提高了審計(jì)系統(tǒng)關(guān)聯(lián)分析的效率,使審計(jì)工作實(shí)時(shí)化、常態(tài)化。
安全審計(jì)系統(tǒng)小概率分析模型上線使用一段時(shí)間后,初步建立了分析知識(shí)庫,審計(jì)管理員配置策略的工作強(qiáng)度大大降低,系統(tǒng)能自動(dòng)進(jìn)行常用的關(guān)聯(lián)分析,包括只查詢不辦理、金庫場景等,審計(jì)內(nèi)容與日常業(yè)務(wù)生產(chǎn)貼合更緊密。
例如,針對只查詢不辦理場景,能夠深入分析、核實(shí)、查證各種異常與違規(guī)操作的行為。包括應(yīng)用資源的客戶資源查詢、業(yè)務(wù)關(guān)鍵操作等,包括繳費(fèi)(充值)管理、異地繳費(fèi)業(yè)務(wù)、開/過戶、訂購變更、營業(yè)停/復(fù)機(jī)、積分兌換、補(bǔ)/換卡等內(nèi)容。審計(jì)工作不完全依賴于CRM管理員,審計(jì)管理員也可以通過審計(jì)系統(tǒng)對相關(guān)業(yè)務(wù)操作進(jìn)行直觀的管理,比如,對于一手機(jī)號(hào)在非正常工作時(shí)間進(jìn)行業(yè)務(wù)查詢后,第二天又進(jìn)行了補(bǔ)/換卡操作,審計(jì)系統(tǒng)在30 min內(nèi)就能產(chǎn)生告警信息,并且告警信息準(zhǔn)確不需要經(jīng)過CRM管理員和審計(jì)管理員反復(fù)確認(rèn),也不會(huì)對審計(jì)系統(tǒng)的性能造成太大影響。而在此功能沒有上線前,因?yàn)樾枰獙徲?jì)的操作數(shù)據(jù)量很大,在審計(jì)中發(fā)現(xiàn)違規(guī)操作十分困難;同時(shí),審計(jì)系統(tǒng)需要定期執(zhí)行計(jì)劃任務(wù),核查時(shí)間依賴于任務(wù)的觸發(fā)周期,實(shí)時(shí)性很難保證。
總之,應(yīng)用小概率分析模型技術(shù)極大地提高了安全審計(jì)系統(tǒng)的智能關(guān)聯(lián)分析功能,有利于安全事件的實(shí)時(shí)告警和安全事故的責(zé)任追蹤,提高了IT安全管理水平和效率。
1 中國移動(dòng)通信集團(tuán)公司.中國移動(dòng)業(yè)務(wù)支撐網(wǎng)4A安全技術(shù)規(guī)范2.0,2010
2 中國移動(dòng)通信集團(tuán)公司.中國移動(dòng)業(yè)務(wù)支撐網(wǎng)數(shù)據(jù)安全管理辦法,2011
3 劉必雄,楊澤明,吳煥等.基于集群的多源日志綜合審計(jì)系統(tǒng).計(jì)算機(jī)應(yīng)用,2008,28(2)
4 鄧小榕,陳龍,王國胤.安全審計(jì)數(shù)據(jù)的綜合審計(jì)分析方法.重慶郵電學(xué)院學(xué)報(bào)(自然科學(xué)版),2005,17(5)
5 韓正平,蔡鳳娟,許榕生.網(wǎng)絡(luò)安全信息關(guān)聯(lián)分析技術(shù)研究與應(yīng)用.計(jì)算機(jī)應(yīng)用研究,2006(10)