淺談SQL Server數(shù)據(jù)庫安全監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)
數(shù)據(jù)庫監(jiān)控信息獲取策略的研究內(nèi)容包括:數(shù)據(jù)庫威脅來源、威脅特征、數(shù)據(jù)庫審計事件、數(shù)據(jù)庫運(yùn)行性能指標(biāo)等。通過對數(shù)據(jù)庫所受威脅的研究,建立數(shù)據(jù)庫威脅知識庫,可以了解數(shù)據(jù)庫攻擊手段、攻擊特征、檢測信息源,進(jìn)而制定監(jiān)控信息獲取策略,保證數(shù)據(jù)庫監(jiān)控信息獲取的完備性與可靠性。本文探討了SQL?Server數(shù)據(jù)庫安全監(jiān)控系統(tǒng)的實現(xiàn)。
本文引用地址:http://www.ex-cimer.com/article/202230.htm一、系統(tǒng)整體結(jié)構(gòu)
下面本文將分別從橫向、縱向以及切向?qū)?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/數(shù)據(jù)庫安全">數(shù)據(jù)庫安全監(jiān)控系統(tǒng)進(jìn)行了結(jié)構(gòu)上的再設(shè)計,改善了原有系統(tǒng)結(jié)構(gòu)設(shè)計上的不足之處,并對其不同的劃分結(jié)果進(jìn)行分析。
1、橫向結(jié)構(gòu)
從橫向看,該系統(tǒng)按照信息獲取系統(tǒng)、分析機(jī)系統(tǒng)、控制臺系統(tǒng)按照功能不同進(jìn)行了重新的系統(tǒng)模塊結(jié)構(gòu)的劃分,并補(bǔ)充了實時狀態(tài)查詢模塊,增加了數(shù)據(jù)庫安全監(jiān)控系統(tǒng)安全威脅分析的數(shù)據(jù)來源,其橫向結(jié)構(gòu)如圖1所示:
a)信息獲取子系統(tǒng)
b)分析機(jī)子系統(tǒng)
c)控制臺子系統(tǒng)
其中信息獲取子系統(tǒng)位于整個系統(tǒng)的底層,是系統(tǒng)運(yùn)行的基礎(chǔ)所在。它采用主機(jī)獲取的方式,對數(shù)據(jù)庫服務(wù)器進(jìn)行實時的數(shù)據(jù)信息獲取,獲取主機(jī)以及網(wǎng)絡(luò)通訊會話軌跡,并對獲取的數(shù)據(jù)進(jìn)行二次過濾,以減少模塊之間傳輸?shù)臄?shù)據(jù)總量,減輕上層模塊的數(shù)據(jù)分析時間,再將數(shù)據(jù)通過指定數(shù)據(jù)傳送通道發(fā)送到上層分析機(jī)子系統(tǒng),做進(jìn)一步的處理。
分析機(jī)子系統(tǒng)作為整個系統(tǒng)的中間層,其作用在于對從底層接收到的原始數(shù)據(jù)記錄進(jìn)行進(jìn)一步的處理。主要是通過該層所包含的分析模塊對采集到的原始數(shù)據(jù),按照既存于規(guī)則庫中的規(guī)則,進(jìn)行模式匹配分析,將正常授權(quán)訪問與非法入侵行為區(qū)分開,并把分析的結(jié)果存儲到日志數(shù)據(jù)庫中。對于危害操作進(jìn)行報警。
控制臺子系統(tǒng)作為人機(jī)交互的接口,為用戶管理、控制、配置系統(tǒng)并查詢?nèi)肭钟涗浱峁┎僮鹘缑?。它?fù)責(zé)控制、管理信息獲取子系統(tǒng)和分析機(jī)子系統(tǒng),生成安全規(guī)則,接收、存儲報警和日志信息;對報警及日志信息進(jìn)行查詢統(tǒng)計;對報警事件做進(jìn)一步分析處理,并且有開放的報警接口支持更高層次的安全管理平臺。
2、縱向結(jié)構(gòu)
從縱向看,與原有系統(tǒng)不同之處在于,新的數(shù)據(jù)庫安全監(jiān)控系統(tǒng)在采用獲取一分析一響應(yīng)的體系結(jié)構(gòu),構(gòu)建面向?qū)ο箝_發(fā)和面向構(gòu)件開發(fā)的技術(shù)基礎(chǔ)上,新引入了面向服務(wù)框架思想,實現(xiàn)了獲取與分析的分離,通信與業(yè)務(wù)的分離。其縱向結(jié)構(gòu)如圖2所示:
在整個系統(tǒng)中TCP/IP層,即物理網(wǎng)絡(luò)層,作為底層存在于系統(tǒng)中,在其上構(gòu)筑的通信托管層則總攬了系統(tǒng)的全部通信工作,是整個系統(tǒng)的總線,支持異步通訊和斷忘映傳。在這之上的業(yè)務(wù)托管層可視做所有業(yè)務(wù)的容器和管理平臺,其中最重要的功能則是提供信息注冊,以實現(xiàn)信息生產(chǎn)者和信息消費(fèi)者之間的溝通。在業(yè)務(wù)托管層的邊緣是信息網(wǎng)關(guān),負(fù)責(zé)將業(yè)務(wù)數(shù)據(jù)按照標(biāo)準(zhǔn)協(xié)議轉(zhuǎn)化成其他格式數(shù)據(jù),以實現(xiàn)和其他系統(tǒng)(包括安全設(shè)備)之間的互聯(lián)、級聯(lián)。最上層的是具體的業(yè)務(wù)模塊,它們的角色分別為信息生產(chǎn)者和信息消費(fèi)者,其中信息獲取可視做信息生產(chǎn)者,而分析則是信息消費(fèi)者,響應(yīng)是信息的二次消費(fèi)者,也是最終消費(fèi)者。
傳統(tǒng)的AAR框架與面向服務(wù)思想的結(jié)合,使得這四個層次相對獨(dú)立,互相之間實現(xiàn)了松禍合,并且因為托管平臺也己成形,那么基于這一平臺的響應(yīng)業(yè)務(wù)插件的開發(fā)將會變得非常便捷,從而實現(xiàn)了面向服務(wù)和面向構(gòu)件開發(fā)的核心理念隨需而變。
同時也實現(xiàn)了系統(tǒng)的分布式結(jié)構(gòu)設(shè)計,集中控制與多層管理。整個系統(tǒng)由檢測系統(tǒng)、分析系統(tǒng)、控制系統(tǒng)組成,每個子系統(tǒng)都采用層次化設(shè)計,業(yè)務(wù)邏輯與通訊管理分層實現(xiàn)。一個控制系統(tǒng)可以管理多個分析系統(tǒng),一個分析系統(tǒng)還可以同時支持多達(dá)五十個不同系統(tǒng)平臺的檢測系統(tǒng)。
3、切向結(jié)構(gòu)
若從切面來觀察該系統(tǒng),新系統(tǒng)的關(guān)鍵脈絡(luò)變得更加清晰明了,兩條關(guān)鍵脈絡(luò)包括:數(shù)據(jù)和命令,而且互相內(nèi)部之間實現(xiàn)了高聚合、松禍合,提高了模塊的獨(dú)立化。這里的數(shù)據(jù)為狹義數(shù)據(jù),主要包括了信息生產(chǎn)者向信息消費(fèi)者提供的信息,而命令則是響應(yīng)模塊對于獲取和分析模塊進(jìn)行配置、維護(hù)、管理所傳送的信息。數(shù)據(jù)(包括報警數(shù)據(jù)和實時信息)始終是自下而上的,從被監(jiān)控數(shù)據(jù)庫采集出來,途經(jīng)IAS,AES,最后到達(dá)MTS。而命令(控制)始終是自上而下的,其中一部分命令由MTS發(fā)起(因用戶的操作發(fā)起或系統(tǒng)維護(hù)需要發(fā)起)途經(jīng)AES,最后到達(dá)IAS;另一部分由AE發(fā)起(因系統(tǒng)維護(hù)需要發(fā)起)到達(dá)IAS。
二、系統(tǒng)工作原理
該系統(tǒng)是一種基于主機(jī)探測的實時自動攻擊識別和響應(yīng)系統(tǒng),運(yùn)行于有敏感數(shù)據(jù)需要保護(hù)內(nèi)部網(wǎng)絡(luò)中。通過采取主機(jī)監(jiān)控的方式,獲取用戶的數(shù)據(jù)庫操作信息。借助于自身內(nèi)置的攻擊特征數(shù)據(jù)庫,識別違反用戶定義的安全規(guī)則,進(jìn)行應(yīng)用級攻擊檢查。在尋找到攻擊模式和其他違規(guī)活動時,可以進(jìn)行如下反應(yīng):控制臺告警、記錄攻擊事件、實時阻斷網(wǎng)絡(luò)連接,同時還可以根據(jù)需要對系統(tǒng)進(jìn)行擴(kuò)展,實現(xiàn)與防火墻等其他安全設(shè)備的聯(lián)動。
信息獲取、分析機(jī)以及控制臺三個子系統(tǒng)三者之間的交互主要包括以下幾個方面:
1、主機(jī)報警實現(xiàn)。探頭啟動之后,將自動實現(xiàn)對于探頭所在主機(jī)數(shù)據(jù)庫的監(jiān)控,獲取與數(shù)據(jù)庫操作有關(guān)的信息,包括數(shù)據(jù)庫操作的SQL語句、登陸的用戶名、數(shù)據(jù)庫主機(jī)名稱、當(dāng)前系統(tǒng)用戶、操作結(jié)果(成功或者失?。┑刃畔?,并將信息格式化發(fā)送到分析機(jī),分析機(jī)通過自身的信息規(guī)則分析系統(tǒng),從這些信息當(dāng)中分離出對數(shù)據(jù)庫安全有危害的操作,并向控制臺發(fā)送報警,控制臺在接受到報警信息之后,由管理員發(fā)出對攻擊源IP地址行阻斷的命令。所發(fā)出的阻斷命令由分析機(jī)轉(zhuǎn)發(fā)給探頭部分,由探頭部分調(diào)用系統(tǒng)自身API函數(shù),實現(xiàn)對于指定IP地址的攔截操作,從而有效的實現(xiàn)了對于數(shù)據(jù)庫安全的保護(hù),避免了被進(jìn)犯的可能。
2、命令的下發(fā)??刂婆_對分析機(jī)以及探頭進(jìn)行控制,對它們進(jìn)行維護(hù)更新,并通過查詢的方式,獲取探頭以及分析機(jī)的運(yùn)行狀態(tài)。命令由控制臺發(fā)出后,向分析機(jī)或者經(jīng)分析機(jī)向信息獲取部分傳達(dá),再分別由分析機(jī)以及信息獲取部分的響應(yīng)模塊對命令加以實現(xiàn)。其中控制臺所有下達(dá)的命令通過指定的端口進(jìn)行傳遞,同時分析機(jī)以及信息獲取系統(tǒng)的命令回復(fù)也是由同一端口向上傳達(dá)。
3、數(shù)據(jù)的傳送。探頭、分析機(jī)以及控制臺三者之間通過指定的端口進(jìn)行數(shù)據(jù)的傳送,所有發(fā)送的數(shù)據(jù)都進(jìn)行了統(tǒng)一的格式化處理,以固定的格式進(jìn)行傳遞。
評論