欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

旁路式數(shù)據(jù)庫訪問偵聽與還原的方法

文檔序號(hào):6565493閱讀:427來源:國知局
專利名稱:旁路式數(shù)據(jù)庫訪問偵聽與還原的方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種數(shù)據(jù)庫訪問偵聽與還原的方法,尤其涉及一種旁路式數(shù)據(jù)庫訪問偵聽與還原的方法。
背景技術(shù)
在大多數(shù)應(yīng)用系統(tǒng)中,數(shù)據(jù)庫是整個(gè)系統(tǒng)的核心,一旦數(shù)據(jù)庫遭到破壞,可能會(huì)導(dǎo)致整個(gè)系統(tǒng)的癱瘓。除去對數(shù)據(jù)庫主機(jī)的網(wǎng)絡(luò)層和操作系統(tǒng)的威脅(這些通常通過防火墻,入侵檢測和審計(jì)產(chǎn)品來防范),數(shù)據(jù)庫系統(tǒng)平臺(tái)本身面臨很多威脅,如機(jī)密數(shù)據(jù)被竊取、非授權(quán)數(shù)據(jù)庫操作、提供虛假數(shù)據(jù)、身份冒用等。通常,數(shù)據(jù)庫中提供日志的功能,但是這些日志存在以下的缺陷a、將消耗數(shù)據(jù)庫主機(jī)的性能。日志功能將消耗大量CPU和硬盤資源,并且比較難以選擇記錄的內(nèi)容,要么對某個(gè)方面全部記錄,要么沒有記錄。這樣的日志往往很快會(huì)充滿硬盤。
b、信息不完全。操作系統(tǒng)提供的日志往往缺乏網(wǎng)絡(luò)層的信息(如IP,MAC地址等),而且難以區(qū)分真正的用戶(應(yīng)為大多數(shù)系統(tǒng)中不同用戶采用的是同一數(shù)據(jù)庫應(yīng)戶ID),無法追溯到發(fā)起源,很難在查案中實(shí)用。
c、日志功能容易被繞過。非法用戶可能更改數(shù)據(jù)庫中的一些參數(shù),使得日志關(guān)閉,或者使得數(shù)據(jù)庫只記錄簡單數(shù)據(jù),也可以使得系統(tǒng)某個(gè)卷寫滿使得日志文件無法增大。
d、日志容易被黑客篡改。當(dāng)內(nèi)部非法用戶或者黑客獲取機(jī)器的高級(jí)控制權(quán),就可以刪除整個(gè)日志甚至篡改日志,迷惑案件偵破人員或者栽贓他人。
在目前,網(wǎng)絡(luò)已經(jīng)成為各個(gè)應(yīng)用系統(tǒng)不可缺少的因素,所以目前絕大多數(shù)的數(shù)據(jù)庫是在網(wǎng)絡(luò)環(huán)境下使用的,單機(jī)版的數(shù)據(jù)庫目前已經(jīng)很少使用。經(jīng)過統(tǒng)計(jì),目前在網(wǎng)絡(luò)數(shù)據(jù)庫中,使用得最多得是以下幾種方式a、Client/Server方式。這是最傳統(tǒng)和典型的數(shù)據(jù)庫系統(tǒng)應(yīng)用模式。大部分的分布式設(shè)據(jù)庫都支持這種應(yīng)用方式,在一個(gè)內(nèi)部網(wǎng)絡(luò)環(huán)境中,這種方式具有效率高,專業(yè)性強(qiáng)的特點(diǎn),因此有少數(shù)系統(tǒng)的應(yīng)用是基于這種模型開發(fā)的。
b、Browser/WEB Server/DBServer方式。這種模式是Internet/Intranet的技術(shù)普及之后興起的一種方式,這種方式不需要客戶端安裝客戶端軟件,采用通用瀏覽器就可以實(shí)現(xiàn)數(shù)據(jù)庫應(yīng)用,比較易于管理和實(shí)現(xiàn),是新興的系統(tǒng)普遍采用的方式。
c、采用中間件方式在大系統(tǒng)中,為了提高系統(tǒng)的效率或者使用冗余數(shù)據(jù)庫等應(yīng)用,采用中間件方式的數(shù)據(jù)庫應(yīng)用模式逐漸被推廣。這種結(jié)構(gòu)安全性比較高,擴(kuò)展型好,易維護(hù)。
一個(gè)應(yīng)用系統(tǒng)無論是用Client/Server,browser/WEB/DB Server模式還是使用中間件的模式,一般用戶使用的操作工具是特殊Client軟件或者通用Browser。但是內(nèi)部的一些破壞性的用戶可能使用一些數(shù)據(jù)庫客戶端工具(如Oracle中的sqlnet或者通過遠(yuǎn)程登錄直接操作數(shù)據(jù)庫中的數(shù)據(jù)。這種威脅對應(yīng)用系統(tǒng)是致命的,用戶可能篡改數(shù)據(jù)或者破壞整個(gè)系統(tǒng)。

發(fā)明內(nèi)容
本發(fā)明的目的是提供一種不影響數(shù)據(jù)庫性能、記錄信息完整且日志安全的數(shù)據(jù)庫訪問偵聽與還原的方法。
本發(fā)明的目的是這樣實(shí)現(xiàn)的,在數(shù)據(jù)庫用戶和數(shù)據(jù)庫服務(wù)器間的網(wǎng)絡(luò)上連接一個(gè)數(shù)據(jù)庫審計(jì)系統(tǒng),所述數(shù)據(jù)庫審計(jì)系統(tǒng)對數(shù)據(jù)庫用戶訪問數(shù)據(jù)庫服務(wù)器服務(wù)端口的數(shù)據(jù)進(jìn)行過濾、旁路式偵聽處理,并對偵聽得到的信息進(jìn)行解析還原處理后確定用戶訪問數(shù)據(jù)庫的全部內(nèi)容。
所述數(shù)據(jù)庫審計(jì)系統(tǒng)包括有帶有兩塊網(wǎng)卡的網(wǎng)探設(shè)備、審計(jì)中心軟件、審計(jì)管理軟件;所述審計(jì)中心軟件進(jìn)行數(shù)據(jù)收集,所述審計(jì)管理軟件對審計(jì)中心軟件收集的數(shù)據(jù)進(jìn)行管理,并設(shè)置規(guī)則發(fā)送到網(wǎng)探設(shè)備上對偵聽還原進(jìn)行控制。
數(shù)據(jù)庫審計(jì)系統(tǒng)對數(shù)據(jù)庫用戶訪問數(shù)據(jù)庫服務(wù)器服務(wù)端口的數(shù)據(jù)進(jìn)行過濾,即對非針對數(shù)據(jù)庫服務(wù)器的訪問數(shù)據(jù)不進(jìn)行偵聽,對數(shù)據(jù)庫服務(wù)器的非數(shù)據(jù)庫服務(wù)端口的訪問數(shù)據(jù)、數(shù)據(jù)庫服務(wù)器返回的部分信息、數(shù)據(jù)庫為解釋用戶指令成為數(shù)據(jù)庫服務(wù)器可接受指令中生成的指令不進(jìn)行解析還原。
所述旁路式偵聽包括對數(shù)據(jù)庫用戶登錄操作過程的偵聽和對數(shù)據(jù)庫用戶訪問操作過程的偵聽。
所述對數(shù)據(jù)庫用戶登錄操作過程的偵聽包括以下步驟a、將數(shù)據(jù)庫用戶發(fā)送的登錄請求數(shù)據(jù)包中的數(shù)據(jù)庫協(xié)議協(xié)議頭和協(xié)議的數(shù)據(jù)類型記錄在數(shù)據(jù)包的連接表中;
b、將數(shù)據(jù)庫服務(wù)器發(fā)送的接受請求數(shù)據(jù)包中的登錄連接的協(xié)議版本、屬性特征字記錄在數(shù)據(jù)包的連接表中;c、將通訊協(xié)議協(xié)商數(shù)據(jù)包中的協(xié)議類型、基本操作類型和數(shù)據(jù)庫用戶信息記錄在數(shù)據(jù)包的連接表中。
d、將登錄信息的協(xié)議類型、基本操作類型、功能類型和數(shù)據(jù)庫登錄用戶名記錄在數(shù)據(jù)包的連接表中。
所述對數(shù)據(jù)庫用戶訪問操作過程的偵聽包括以下步驟a、根據(jù)訪問操作數(shù)據(jù)包的協(xié)議類型、基本操作類型、功能類型確定訪問操作的數(shù)據(jù)結(jié)構(gòu);b、根據(jù)訪問操作的數(shù)據(jù)結(jié)構(gòu)取得用戶數(shù)據(jù)訪問語句;c、將訪問操作數(shù)據(jù)包中的SQL語句送入SQL語法分析程序進(jìn)行語法分析得到該語句涉及到的數(shù)據(jù)庫表和數(shù)據(jù)庫操作類型;d、根據(jù)管理設(shè)置和傳遞來的用戶設(shè)置,對數(shù)據(jù)庫表和數(shù)據(jù)庫類型進(jìn)行規(guī)則匹配。
e、根據(jù)規(guī)則響應(yīng)進(jìn)行不同處理,如果規(guī)則響應(yīng)為阻斷則進(jìn)入步驟f,如果規(guī)則響應(yīng)為報(bào)警和記錄則進(jìn)入步驟g,如果規(guī)則響應(yīng)為忽略則進(jìn)入步驟h;f、網(wǎng)探設(shè)備發(fā)送阻斷包對該連接進(jìn)行阻斷,并同時(shí)發(fā)送到審計(jì)中心軟件;g、將根據(jù)內(nèi)部通信協(xié)議重組的帶有訪問信息的數(shù)據(jù)包發(fā)送到審計(jì)中心軟件;h、將該連接的所有包放行,不進(jìn)行審計(jì)記錄和報(bào)警。
所述偵聽得到的信息包括數(shù)據(jù)庫服務(wù)器和用戶的網(wǎng)卡MAC地址、數(shù)據(jù)庫服務(wù)器IP地址、訪問用戶用于與數(shù)據(jù)庫交互時(shí)提供的主機(jī)信息、通訊協(xié)議版本、數(shù)據(jù)庫登錄名和操作語句。
所述對偵聽得到的信息進(jìn)行解析還原處理是通過解析連接表中的數(shù)據(jù)庫服務(wù)連接字段來實(shí)現(xiàn),包括以下步驟a、對偵聽得到的數(shù)據(jù)包進(jìn)行協(xié)議分析,得到數(shù)據(jù)庫連接協(xié)議信息;b、根據(jù)協(xié)議信息對數(shù)據(jù)包的數(shù)據(jù)內(nèi)容進(jìn)行分析,若數(shù)據(jù)類型為連接請求時(shí)則得到其連接的主機(jī)信息,若數(shù)據(jù)類型為用戶登錄請求則得到其連接的用戶信息,若數(shù)據(jù)類型為用戶數(shù)據(jù)訪問請求則得到數(shù)據(jù)訪問語句;c、將分析得到的數(shù)據(jù)內(nèi)容寫入連接表;d、整理連接表信息,確定數(shù)據(jù)庫訪問的全部內(nèi)容。
所述數(shù)據(jù)庫服務(wù)連接字段為每一條用戶維持一張連接表,所述數(shù)據(jù)庫服務(wù)連接字段包括連接號(hào)、通信協(xié)議和數(shù)據(jù)庫用戶名。
所述還原過程的步驟a包括以下步驟
a、從以太網(wǎng)數(shù)據(jù)包4得到網(wǎng)卡地址,除去以太網(wǎng)數(shù)據(jù)包4的包頭;b、從IP數(shù)據(jù)包5的包頭中得到IP地址信息,除去IP數(shù)據(jù)包5的包頭;c、從TCP數(shù)據(jù)包6的包頭中得到TCP的端口號(hào),除去TCP數(shù)據(jù)包6的包頭;d、從TCP數(shù)據(jù)包6中分析得到包括有數(shù)據(jù)長度、數(shù)據(jù)類型和特征字的協(xié)議信由于采用了上述方法,本發(fā)明具有如下的優(yōu)點(diǎn)a、數(shù)據(jù)庫性能無影響。通過內(nèi)部嵌入的方式進(jìn)行數(shù)據(jù)庫訪問的控制給數(shù)據(jù)庫性能帶來很大的影響。尤其在業(yè)務(wù)繁忙的情況下,內(nèi)部數(shù)據(jù)庫審計(jì)占用大量資源,給數(shù)據(jù)庫正常的業(yè)務(wù)服務(wù)帶來嚴(yán)重干擾。旁路式數(shù)據(jù)庫訪問偵聽與還原技術(shù)則對數(shù)據(jù)庫性能無任何影響??梢员U蠑?shù)據(jù)庫業(yè)務(wù)的正常運(yùn)作。
b、信息記錄完整。旁路式數(shù)據(jù)庫訪問偵聽與還原技術(shù)可以記錄下全面的信息。該技術(shù)可以通過偵聽獲取遠(yuǎn)程訪問用戶的計(jì)算機(jī)系統(tǒng)信息,訪問時(shí)的IP地址和訪問時(shí)用的計(jì)算機(jī)的網(wǎng)卡MAC地址等。彌補(bǔ)了嵌入式數(shù)據(jù)庫訪問控制的信息不足。對數(shù)據(jù)庫訪問的操作過程,旁路式訪問偵聽與還原技術(shù)也可以完整記錄下來。
c、日志安全。旁路式數(shù)據(jù)庫訪問偵聽與還原技術(shù)使隔離提供業(yè)務(wù)服務(wù)的網(wǎng)絡(luò)和提供安全服務(wù)的網(wǎng)絡(luò)成為可能。嵌入式訪問控制不能保證自身數(shù)據(jù)和日志的安全,同時(shí)更難保護(hù)數(shù)據(jù)庫數(shù)據(jù)的安全。而旁路式數(shù)據(jù)庫訪問偵聽與還原技術(shù)通過網(wǎng)絡(luò)隔離,可以保障自身安全并可時(shí)時(shí)監(jiān)測數(shù)據(jù)庫服務(wù)器的訪問。


圖1是本發(fā)明的旁路式數(shù)據(jù)庫訪問偵聽與還原過程示意圖;圖2是本發(fā)明的旁路式數(shù)據(jù)庫還原拼接過程示意圖。
具體實(shí)施例方式
下面將結(jié)合附圖,通過以下的實(shí)施例進(jìn)一步對本發(fā)明進(jìn)行說明。
所述旁路式數(shù)據(jù)庫訪問偵聽與還原方法應(yīng)用在一個(gè)Oracle數(shù)據(jù)庫審計(jì)系統(tǒng)3中。如圖1所示,網(wǎng)絡(luò)環(huán)境是百兆以太網(wǎng),設(shè)備包括數(shù)據(jù)庫用戶1、Oracle數(shù)據(jù)庫服務(wù)器2、數(shù)據(jù)庫審計(jì)系統(tǒng)3,運(yùn)行平臺(tái)是Linux。數(shù)據(jù)庫審計(jì)系統(tǒng)3上裝有百兆網(wǎng)探設(shè)備31、審計(jì)中心軟件32和審計(jì)管理軟件33,并裝有一MS SQL SERVER數(shù)據(jù)庫進(jìn)行審計(jì)數(shù)據(jù)存取。百兆網(wǎng)探設(shè)備31配有兩塊百兆網(wǎng)卡,其中一個(gè)網(wǎng)卡無IP地址,并設(shè)置為混雜模式聽取網(wǎng)絡(luò)中的數(shù)據(jù)包,另一個(gè)網(wǎng)卡與Oracle數(shù)據(jù)庫服務(wù)器2相連,即保持審計(jì)系統(tǒng)內(nèi)部通訊正常。
當(dāng)數(shù)據(jù)庫用戶1對ORACLE數(shù)據(jù)庫服務(wù)器2進(jìn)行訪問時(shí),百兆網(wǎng)探設(shè)備31可以從網(wǎng)卡聽到其發(fā)送的數(shù)據(jù)包,百兆網(wǎng)探設(shè)備31將對數(shù)據(jù)包進(jìn)行連接匹配,尋找該連接的連接表,當(dāng)該數(shù)據(jù)包為連接發(fā)起包時(shí),將根據(jù)該數(shù)據(jù)建立新的連接表。
以O(shè)racle數(shù)據(jù)庫訪問過程為序說明。數(shù)據(jù)庫用戶1主機(jī)在與Oracle數(shù)據(jù)庫服務(wù)器2的服務(wù)正常TCP握手后,開始進(jìn)行數(shù)據(jù)庫訪問信息的傳送。首先數(shù)據(jù)庫用戶1將發(fā)送一連接信息包。當(dāng)網(wǎng)探設(shè)備31得到該數(shù)據(jù)包時(shí),將對該包數(shù)據(jù)進(jìn)行分析。從該數(shù)據(jù)包中,我們通過解析ORACLE數(shù)據(jù)庫協(xié)議TNS協(xié)議頭可得到其TNS數(shù)據(jù)類型為1,這代表該數(shù)據(jù)為客戶1發(fā)起連接的信息,其中包括TNS協(xié)議客戶端軟件使用的TNS版本,和這次連接將采用的一些屬性,如連接包大小、最大可接受數(shù)據(jù)長度等。在Oracle數(shù)據(jù)庫服務(wù)器2回應(yīng)包中,我們可以獲知Oracle數(shù)據(jù)庫服務(wù)器2是否接受該請求,如果接受則可以得到連接實(shí)際采用的TNS版本和實(shí)際采用的屬性特征字。我們將對這些屬性記錄在連接表中以方便后面的數(shù)據(jù)包的分析。
在連接信息后,數(shù)據(jù)庫用戶1軟件將自己可接受的所有版本傳送給Oracle數(shù)據(jù)庫服務(wù)器2,Oracle數(shù)據(jù)庫服務(wù)器2將根據(jù)自己可使用的版本選擇雙方可接受的版本進(jìn)行連接。在網(wǎng)探設(shè)備31得到該數(shù)據(jù)包中,可以得到該TNS類型為4,并可知其基本操作類型為1即協(xié)議協(xié)商。再從其中讀取主機(jī)信息保存在連接表中。
在協(xié)議協(xié)商后,數(shù)據(jù)庫用戶1開始發(fā)送自己的登錄信息給Oracle數(shù)據(jù)庫服務(wù)器2。網(wǎng)探設(shè)備31可根據(jù)其TNS類型為4,且其基本操作類型為3即用戶數(shù)據(jù)庫請求類型,功能類型為82即初始半部分登錄類型。網(wǎng)探設(shè)備31可以判斷其類型并根據(jù)其實(shí)際包結(jié)構(gòu)得到數(shù)據(jù)庫登錄用戶名,并記錄該信息于連接表。
在用戶登錄信息得到Oracle數(shù)據(jù)庫服務(wù)器2的確認(rèn)并返回成功后,數(shù)據(jù)庫用戶1可以開始一系列數(shù)據(jù)庫訪問操作。其操作的數(shù)據(jù)結(jié)構(gòu)可根據(jù)起TNS協(xié)議中的三個(gè)類型得到,即TNS類型,基本操作類型,功能類型。根據(jù)不同類型,網(wǎng)探設(shè)備31進(jìn)行數(shù)據(jù)包的解析。根據(jù)訪問操作的數(shù)據(jù)結(jié)構(gòu)取得用戶數(shù)據(jù)訪問語句,從中得到SQL語句。將SQL語句送入SQL語法分析程序中對SQL語句進(jìn)行語法分析,獲取該語句涉及到的數(shù)據(jù)庫表和數(shù)據(jù)庫操作類型以進(jìn)行規(guī)則匹配。根據(jù)管理設(shè)置和傳遞來的用戶設(shè)置,進(jìn)行條件匹配,如果該包滿足用戶設(shè)置的一條規(guī)則。網(wǎng)探設(shè)備31將根據(jù)該規(guī)則進(jìn)行不同處理,如果規(guī)則響應(yīng)為阻斷,網(wǎng)探設(shè)備31將立即調(diào)用網(wǎng)卡一發(fā)送阻斷包對該連接進(jìn)行阻斷,并同時(shí)發(fā)送到審計(jì)中心軟件32,如果為報(bào)警和記錄則將該包發(fā)送到審計(jì)中心軟件32,如果為忽略,則將該連接的所有包放行,不進(jìn)行審計(jì)記錄和報(bào)警。
審計(jì)中心軟件32將網(wǎng)探設(shè)備31傳送來的數(shù)據(jù)解包后存放在MS SQL SERVER數(shù)據(jù)庫中。審計(jì)管理軟件33將從MS SQL SERVER數(shù)據(jù)庫中取得最新的數(shù)據(jù)并進(jìn)行顯示。審計(jì)管理軟件33還可以進(jìn)行歷史記錄的查詢和報(bào)警方式的設(shè)置。數(shù)據(jù)庫用戶1可以從審計(jì)管理軟件33中看到ORACLE數(shù)據(jù)庫和訪問用戶的網(wǎng)卡地址、IP地址和該連接的端口信息,可以看到該連接匹配的規(guī)則名稱和該規(guī)則響應(yīng)措施。其他信息如數(shù)據(jù)庫訪問連接發(fā)起時(shí)間,數(shù)據(jù)庫訪問用戶登錄名和數(shù)據(jù)庫訪問匹配規(guī)則的語句都將直接顯示在報(bào)警信息中,從報(bào)警信息的詳細(xì)內(nèi)容中數(shù)據(jù)庫用戶1還可以查看到該連接匹配規(guī)則后做的操作。
過濾首先要過濾掉不是針對Oracle數(shù)據(jù)庫服務(wù)器2的訪問數(shù)據(jù),其次過濾掉Oracle數(shù)據(jù)庫服務(wù)器2的非數(shù)據(jù)庫服務(wù)端口的訪問數(shù)據(jù),在其他數(shù)據(jù)中,我們還要過濾掉Oracle數(shù)據(jù)庫服務(wù)器2返回的部分信息,如,在執(zhí)行SELECT*FROM EXAMPLETABLE后,Oracle數(shù)據(jù)庫服務(wù)器2可能返回大量信息,這些信息將被過濾掉;再次,我們需要過濾掉Oracle數(shù)據(jù)庫為解釋用戶指令成為Oracle數(shù)據(jù)庫服務(wù)器2可接受指令中生成的指令。如游標(biāo)詳細(xì)處理指令、如Oracle數(shù)據(jù)庫服務(wù)器2返回的大量數(shù)據(jù)都將被百兆網(wǎng)探設(shè)備31的處理程序過濾掉。未過濾掉的信息包括,數(shù)據(jù)庫用戶1連接數(shù)據(jù)庫的信息,數(shù)據(jù)庫用戶1登錄數(shù)據(jù)庫的信息,數(shù)據(jù)庫用戶1提交給數(shù)據(jù)庫的指令。Oracle數(shù)據(jù)庫服務(wù)器2返回的重要信息,如登錄是否成功,數(shù)據(jù)庫用戶1操作是否成功,數(shù)據(jù)庫用戶1的主機(jī)提供的協(xié)議是否為Oracle數(shù)據(jù)庫服務(wù)器2所支持等。
對偵聽得到的信息還原和拼接過程如圖2所述,網(wǎng)探設(shè)備31的功能可以分為三個(gè)部分,即TCP/IP協(xié)議分析部分,數(shù)據(jù)庫具體協(xié)議分析部分,內(nèi)部一些通訊部分。通過百兆網(wǎng)探設(shè)備31可以從網(wǎng)絡(luò)聽取到以太網(wǎng)數(shù)據(jù)包4,數(shù)據(jù)首先進(jìn)入TCP/IP協(xié)議分析部分,以太網(wǎng)數(shù)據(jù)包4包括了網(wǎng)絡(luò)訪問主機(jī)的網(wǎng)卡信息,即網(wǎng)卡地址。在除去以太網(wǎng)數(shù)據(jù)包4的包頭后,可以從IP數(shù)據(jù)包5的包頭中得到IP地址信息,除去IP包頭后可以在TCP數(shù)據(jù)包6包頭中得到TCP的端口號(hào)等數(shù)據(jù)包信息。
在該連接未在已有的連接表中找到對應(yīng)項(xiàng)時(shí),建立新的連接表,其連接表建立如下,根據(jù)TCP/IP包的IP地址和端口等已知信息,為該條網(wǎng)絡(luò)連接建立一個(gè)表,其中包括從TCP/IP協(xié)議分析就可以得到的網(wǎng)卡地址和IP地址和端口地址,及連接發(fā)起的時(shí)間等,還包括該連接后續(xù)包中的信息,如連接中登錄數(shù)據(jù)用到的登錄信息,數(shù)據(jù)庫用戶名,登錄的客戶機(jī)信息和被訪問的Oracle數(shù)據(jù)庫的主機(jī)信息,數(shù)據(jù)庫和數(shù)據(jù)庫用戶協(xié)商采用的協(xié)議信息等,除去數(shù)據(jù)包信息外,還需要在連接表中保存其連接的日志文件名稱,以方便進(jìn)行連接日志的寫入。
在對TCP數(shù)據(jù)包6的包頭進(jìn)行分析后,百兆網(wǎng)探設(shè)備31將調(diào)用數(shù)據(jù)庫協(xié)議分析模塊進(jìn)行具體數(shù)據(jù)庫協(xié)議的分析。如ORACLE數(shù)據(jù)有其TNS(透明網(wǎng)絡(luò)底層)協(xié)議,SQL SERVER也有TDS協(xié)議。因每種數(shù)據(jù)庫都有不同的協(xié)議,百兆網(wǎng)探設(shè)備31/阻斷器提供相同的接口與各種數(shù)據(jù)庫協(xié)議分析模塊進(jìn)行連接,因此可以為各種數(shù)據(jù)庫服務(wù)所用,現(xiàn)數(shù)據(jù)庫協(xié)議分析模塊已有ORACLE、INFORMIX、MS SQL SERVER幾種常用類型。
TCP數(shù)據(jù)包6在除去TCP包頭后,通過具體協(xié)議分析可以得到該包數(shù)據(jù)庫連接協(xié)議信息,如該包的數(shù)據(jù)長度、該包的數(shù)據(jù)類型,以及特征字;如ORACLE協(xié)議中的TNS包頭信息給出了數(shù)據(jù)包的數(shù)據(jù)長度、該包的數(shù)據(jù)類型、該包TNS頭的校驗(yàn)和等。
根據(jù)數(shù)據(jù)庫協(xié)議數(shù)據(jù)包7的協(xié)議頭得到的數(shù)據(jù)類型與數(shù)據(jù)長度信息,我們可以對數(shù)據(jù)內(nèi)容8進(jìn)行分析。如數(shù)據(jù)類型為連接請求時(shí),我們可以從數(shù)據(jù)內(nèi)容8中得到其連接的主機(jī)信息,如果數(shù)據(jù)類型為用戶登錄請求時(shí),我們可以從數(shù)據(jù)內(nèi)容8中得到其連接的數(shù)據(jù)庫用戶1信息,如果數(shù)據(jù)類型為數(shù)據(jù)庫用戶1數(shù)據(jù)訪問請求時(shí),我們可以得到數(shù)據(jù)訪問語句。
將從數(shù)據(jù)內(nèi)容8中得到的信息寫入連接表中并將數(shù)據(jù)訪問語句進(jìn)行SQL分析以確定數(shù)據(jù)訪問涉及到了哪些數(shù)據(jù)表和數(shù)據(jù)訪問類型(對庫操作如建庫CREATE DATABASE、建表CREATE TABLE,操作記錄SELECT、INSERT、DELETE、UPDATE)等數(shù)據(jù)包還原信息9。然后將連接表信息整理成特定格式數(shù)據(jù)包10,并將特定格式數(shù)據(jù)包10通過系統(tǒng)內(nèi)部通訊協(xié)議傳遞至審計(jì)中心軟件32,整理特定格式數(shù)據(jù)包10的信息,確定數(shù)據(jù)庫訪問的全部內(nèi)容。
權(quán)利要求
1.一種旁路式數(shù)據(jù)庫訪問偵聽與還原的方法,其特征在于,在數(shù)據(jù)庫用戶和數(shù)據(jù)庫服務(wù)器間的網(wǎng)絡(luò)上連接一個(gè)數(shù)據(jù)庫審計(jì)系統(tǒng),所述數(shù)據(jù)庫審計(jì)系統(tǒng)對數(shù)據(jù)庫用戶訪問數(shù)據(jù)庫服務(wù)器服務(wù)端口的數(shù)據(jù)進(jìn)行過濾、旁路式偵聽處理,并對偵聽得到的信息進(jìn)行解析還原處理后確定用戶訪問數(shù)據(jù)庫的全部內(nèi)容。
2.如權(quán)利要求1所述的方法,其進(jìn)一步特征在于,所述數(shù)據(jù)庫審計(jì)系統(tǒng)包括帶有兩塊網(wǎng)卡的網(wǎng)探設(shè)備、審計(jì)中心軟件、審計(jì)管理軟件;所述審計(jì)中心軟件收集網(wǎng)絡(luò)設(shè)備上傳數(shù)據(jù),所述審計(jì)管理軟件對審計(jì)中心軟件收集的數(shù)據(jù)進(jìn)行管理,并設(shè)置規(guī)則發(fā)送到網(wǎng)探設(shè)備上對偵聽還原進(jìn)行控制。
3.如權(quán)利要求1所述的方法,其進(jìn)一步特征在于,所述數(shù)據(jù)庫審計(jì)系統(tǒng)對數(shù)據(jù)庫用戶訪問數(shù)據(jù)庫服務(wù)器服務(wù)端口的數(shù)據(jù)進(jìn)行過濾,即對非針對數(shù)據(jù)庫服務(wù)器的訪問數(shù)據(jù)不進(jìn)行偵聽,對偵聽到的數(shù)據(jù)庫服務(wù)器的非數(shù)據(jù)庫服務(wù)端口的訪問數(shù)據(jù)、服務(wù)器返回的部分信息、數(shù)據(jù)庫為解釋用戶指令成為服務(wù)器可接受指令中生成的指令不進(jìn)行解析還原。
4.如權(quán)利要求1所述的方法,其進(jìn)一步特征在于,所述旁路式偵聽包括對數(shù)據(jù)庫用戶登錄操作過程的偵聽和對數(shù)據(jù)庫用戶訪問操作過程的偵聽。
5.如權(quán)利要求4所述的方法,其進(jìn)一步特征在于,所述對數(shù)據(jù)庫用戶登錄操作過程的偵聽包括以下步驟a、將數(shù)據(jù)庫用戶發(fā)送的登錄請求數(shù)據(jù)包中的數(shù)據(jù)庫協(xié)議協(xié)議頭和協(xié)議的數(shù)據(jù)類型記錄在數(shù)據(jù)包的連接表中;b、將數(shù)據(jù)庫服務(wù)器發(fā)送的接受請求數(shù)據(jù)包中的登錄連接的協(xié)議版本、屬性特征字記錄在數(shù)據(jù)包的連接表中;c、將通信協(xié)議協(xié)商數(shù)據(jù)包中的協(xié)議類型、基本操作類型和數(shù)據(jù)庫用戶信息記錄在數(shù)據(jù)包的連接表中;d、根據(jù)連接表中的信息判斷登錄信息的協(xié)議類型、基本操作類型、功能類型和數(shù)據(jù)庫登錄用戶名;e、將登錄信息的協(xié)議類型、基本操作類型、功能類型和數(shù)據(jù)庫登錄用戶名記錄在數(shù)據(jù)包的連接表中;f、將連接表中的信息重組送入審計(jì)中心軟件。
6.如權(quán)利要求4所述的方法,其進(jìn)一步特征在于,所述對數(shù)據(jù)庫用戶訪問操作過程的偵聽包括以下步驟a、根據(jù)訪問操作數(shù)據(jù)包的協(xié)議類型、基本操作類型、功能類型確定訪問操作的數(shù)據(jù)結(jié)構(gòu);b、根據(jù)訪問操作的數(shù)據(jù)結(jié)構(gòu)取得用戶數(shù)據(jù)訪問語句;c、將用戶數(shù)據(jù)訪問語句中的SQL語句送入SQL語法分析程序進(jìn)行語法分析得到該語句涉及到的數(shù)據(jù)庫表和數(shù)據(jù)庫操作類型;d、根據(jù)管理設(shè)置和傳遞來的用戶設(shè)置,對數(shù)據(jù)庫表和數(shù)據(jù)庫類型進(jìn)行規(guī)則匹配。e、根據(jù)規(guī)則響應(yīng)進(jìn)行不同處理,如果規(guī)則響應(yīng)為阻斷則進(jìn)入步驟f,如果規(guī)則響應(yīng)為報(bào)警和記錄則進(jìn)入步驟g,如果規(guī)則響應(yīng)為忽略則進(jìn)入步驟h;f、網(wǎng)探設(shè)備發(fā)送阻斷包對該連接進(jìn)行阻斷,并同時(shí)發(fā)送到審計(jì)中心軟件;g、將根據(jù)內(nèi)部通訊協(xié)議重組的帶有訪問信息的數(shù)據(jù)包發(fā)送到審計(jì)中心軟件;h、將該連接的所有包放行,不進(jìn)行審計(jì)記錄和報(bào)警。
7.如權(quán)利要求1所述的方法,其進(jìn)一步特征在于,所述偵聽得到的信息包括數(shù)據(jù)庫服務(wù)器和用戶主機(jī)的網(wǎng)卡MAC地址、數(shù)據(jù)庫服務(wù)器IP地址、訪問用戶用于與數(shù)據(jù)庫交互時(shí)提供的主機(jī)信息、通訊協(xié)議版本、數(shù)據(jù)庫登錄名和操作語句。
8.如權(quán)利要求1所述的方法,其進(jìn)一步特征在于,所述對偵聽到的信息進(jìn)行解析還原處理是通過解析連接表中的數(shù)據(jù)庫服務(wù)連接字段來實(shí)現(xiàn),包括以下步驟a、對偵聽得到的數(shù)據(jù)包進(jìn)行協(xié)議分析,得到數(shù)據(jù)庫連接協(xié)議信息;b、根據(jù)協(xié)議信息對數(shù)據(jù)包的數(shù)據(jù)內(nèi)容進(jìn)行分析,若數(shù)據(jù)類型為連接請求時(shí)則得到其連接的主機(jī)信息,若數(shù)據(jù)類型為用戶登錄請求則得到其連接的用戶信息,若數(shù)據(jù)類型為用戶數(shù)據(jù)訪問請求則得到數(shù)據(jù)訪問語句;c、將分析得到的數(shù)據(jù)內(nèi)容寫入連接表;d、整理連接表信息,確定數(shù)據(jù)庫訪問的全部內(nèi)容。
9.如權(quán)利要求8所述的方法,其進(jìn)一步特征在于,所述數(shù)據(jù)庫服務(wù)連接字段為每一條用戶維持一張連接表,所述數(shù)據(jù)庫服務(wù)連接字段包括連接號(hào)、通信協(xié)議和數(shù)據(jù)庫用戶名。
10.如權(quán)利要求8所述的方法,其進(jìn)一步特征在于,在步驟a中,所述對數(shù)據(jù)包進(jìn)行協(xié)議分析具體包括以下步驟a、從以太網(wǎng)數(shù)據(jù)包得到網(wǎng)卡地址,除去以太網(wǎng)數(shù)據(jù)包的包頭;b、從IP數(shù)據(jù)包的包頭中得到IP地址信息,除去IP數(shù)據(jù)包的包頭;c、從TCP數(shù)據(jù)包的包頭中得到TCP的端口號(hào),除去TCP數(shù)據(jù)包的包頭;d、從TCP數(shù)據(jù)包中分析得到包括有數(shù)據(jù)長度、數(shù)據(jù)類型和特征字的協(xié)議信息。
全文摘要
本發(fā)明公開了一種旁路式數(shù)據(jù)庫訪問偵聽與還原方法,在數(shù)據(jù)庫用戶和數(shù)據(jù)庫服務(wù)器間的網(wǎng)絡(luò)上連接一個(gè)數(shù)據(jù)庫審計(jì)系統(tǒng),所述數(shù)據(jù)庫審計(jì)系統(tǒng)對數(shù)據(jù)庫用戶訪問數(shù)據(jù)庫服務(wù)器服務(wù)端口的數(shù)據(jù)進(jìn)行過濾、旁路式偵聽處理,并對偵聽得到的信息進(jìn)行解析還原處理后確定用戶訪問數(shù)據(jù)庫的全部內(nèi)容。本發(fā)明提供的方法不影響數(shù)據(jù)庫性能、記錄信息完整且日志安全的數(shù)據(jù)庫。
文檔編號(hào)G06F12/16GK1360261SQ0113233
公開日2002年7月24日 申請日期2001年11月29日 優(yōu)先權(quán)日2001年11月29日
發(fā)明者張世永, 黃偉, 吳珺 申請人:上海復(fù)旦光華信息科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
子长县| 威海市| 林西县| 秦皇岛市| 临泉县| 堆龙德庆县| 台前县| 彭泽县| 灌南县| 曲松县| 汕头市| 洛南县| 上高县| 富民县| 乌拉特中旗| 梁河县| 搜索| 图木舒克市| 平昌县| 盐亭县| 酒泉市| 兴文县| 盘山县| 祥云县| 岑巩县| 仙居县| 龙里县| 闽清县| 晋州市| 盐边县| 建阳市| 定日县| 高雄市| 常山县| 措勤县| 淅川县| 平原县| 武强县| 申扎县| 揭西县| 若羌县|