本發(fā)明涉及數(shù)據(jù)庫(kù)審計(jì)技術(shù)領(lǐng)域,特別是涉及一種數(shù)據(jù)庫(kù)審計(jì)方法及其系統(tǒng)。
背景技術(shù):
隨著網(wǎng)絡(luò)技術(shù)、存儲(chǔ)設(shè)備技術(shù)的發(fā)展,人們對(duì)于海量數(shù)據(jù)的高效率讀寫、高并發(fā)讀寫、數(shù)據(jù)的高擴(kuò)展性和可用性、事務(wù)一致性、讀寫實(shí)時(shí)性、復(fù)雜sql,特別是多表關(guān)聯(lián)查詢等的需求日益加大。
在關(guān)系型數(shù)據(jù)庫(kù)中,導(dǎo)致性能欠佳的最主要原因是多表的關(guān)聯(lián)查詢,以及復(fù)雜的數(shù)據(jù)分析類型的復(fù)雜sql報(bào)表查詢。為了保證數(shù)據(jù)庫(kù)的acid特性,需要盡量按照其要求的范式進(jìn)行設(shè)計(jì),關(guān)系型數(shù)據(jù)庫(kù)中的表都是存儲(chǔ)一個(gè)格式化的數(shù)據(jù)結(jié)構(gòu)。
每個(gè)元組字段的組成都是一樣,即使不是每個(gè)元組都需要所有的字段,但數(shù)據(jù)庫(kù)會(huì)為每個(gè)元組分配所有的字段,這樣的結(jié)構(gòu)可以便于標(biāo)語(yǔ)表之間進(jìn)行鏈接等操作,但從另一個(gè)角度來(lái)說(shuō)它也是關(guān)系型數(shù)據(jù)庫(kù)性能瓶頸的一個(gè)因素。
基于以上原因,出現(xiàn)了非關(guān)系型數(shù)據(jù)庫(kù),例如其中的代表性產(chǎn)品:caché數(shù)據(jù)庫(kù)(美國(guó)intersystems公司的產(chǎn)品)。caché主要應(yīng)用在醫(yī)療、金融服務(wù)、政府和諸多其他領(lǐng)域,提供數(shù)據(jù)管理、戰(zhàn)略互操作性以及分析平臺(tái)技術(shù)。作為非關(guān)系型數(shù)據(jù)庫(kù),caché的出現(xiàn)雖然很好的解決了關(guān)系型數(shù)據(jù)庫(kù)存在的一系列問(wèn)題,但是其對(duì)數(shù)據(jù)庫(kù)審計(jì)工作帶來(lái)了巨大的挑戰(zhàn)。針對(duì)caché數(shù)據(jù)庫(kù)的安全審計(jì)技術(shù)的研究及應(yīng)用,無(wú)論是國(guó)內(nèi)還是國(guó)外,都處于較為空白的狀態(tài)。
在實(shí)現(xiàn)本申請(qǐng)過(guò)程中,發(fā)明人發(fā)現(xiàn)相關(guān)技術(shù)存在以下問(wèn)題:慣常對(duì)數(shù)據(jù)庫(kù)的審計(jì)主要是通過(guò)深度應(yīng)用包解析來(lái)提取對(duì)于數(shù)據(jù)庫(kù)的操作內(nèi)容。在傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)中,操作都是滿足由ansi和國(guó)際標(biāo)準(zhǔn)化組織(internationalstandardsorganization,iso)作為iso/iec9075標(biāo)準(zhǔn)維護(hù)的sql標(biāo)準(zhǔn)。因此,可以通過(guò)“sql標(biāo)準(zhǔn)”里面定義的協(xié)議來(lái)解析傳統(tǒng)的sql語(yǔ)句。
但是對(duì)于caché數(shù)據(jù)庫(kù)等非關(guān)系型數(shù)據(jù)庫(kù),其并未遵守“sql標(biāo)準(zhǔn)”,因此使用傳統(tǒng)的協(xié)議解析并不能對(duì)caché數(shù)據(jù)庫(kù)進(jìn)行完整的安全審計(jì),無(wú)法識(shí)別出對(duì)caché數(shù)據(jù)庫(kù)的風(fēng)險(xiǎn)操作。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種數(shù)據(jù)庫(kù)審計(jì)方法及其系統(tǒng),旨在解決現(xiàn)有數(shù)據(jù)審計(jì)方法無(wú)法對(duì)非關(guān)系型數(shù)據(jù)進(jìn)行完整的安全審計(jì)的問(wèn)題。
本發(fā)明實(shí)施例一方面提供了一種數(shù)據(jù)庫(kù)審計(jì)方法。該方法包括:
通過(guò)特征庫(kù)識(shí)別,將請(qǐng)求報(bào)文分配至對(duì)應(yīng)的操作語(yǔ)句翻譯單元中;
通過(guò)所述操作語(yǔ)句翻譯單元解析所述請(qǐng)求報(bào)文,生成操作語(yǔ)句并緩存;
通過(guò)特征庫(kù)識(shí)別,將回復(fù)報(bào)文分配至對(duì)應(yīng)的回復(fù)翻譯單元中;
通過(guò)所述回復(fù)翻譯單元解析所述回復(fù)報(bào)文,生成對(duì)應(yīng)的返回解析結(jié)果;
合并所述操作語(yǔ)句及返回解析結(jié)果,生成操作記錄。
可選地,所述方法還包括:判斷是否緩存有操作語(yǔ)句;若是,則合并所述操作語(yǔ)句及對(duì)應(yīng)的返回解析結(jié)果;若否,則處理下一個(gè)請(qǐng)求報(bào)文和回復(fù)報(bào)文。
可選地,所述操作語(yǔ)句翻譯單元包括:portal工具操作語(yǔ)句翻譯單元、studio工具操作語(yǔ)句翻譯單元、terminal工具操作語(yǔ)句翻譯單元以及sql存取工具操作語(yǔ)句翻譯單元;
所述回復(fù)翻譯單元包括:portal工具回復(fù)翻譯單元、studio工具回復(fù)翻譯單元、terminal工具回復(fù)翻譯單元以及sql存取工具回復(fù)翻譯單元。
可選地,所述通過(guò)所述操作語(yǔ)句翻譯單元解析所述請(qǐng)求報(bào)文,生成操作語(yǔ)句并緩存,具體包括:
通過(guò)studio工具操作語(yǔ)句翻譯單元獲取訪問(wèn)操作;
根據(jù)所述訪問(wèn)操作的m語(yǔ)言內(nèi)容確定所述訪問(wèn)操作的操作內(nèi)容;所述訪問(wèn)操作包括:調(diào)用m語(yǔ)言時(shí)的方法名、保存動(dòng)作和編譯動(dòng)作。
可選地,所述方法還包括:為醫(yī)療衛(wèi)生管理信息系統(tǒng)的客戶端設(shè)置對(duì)應(yīng)的數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限。
本發(fā)明實(shí)施例另一方面提供了一種數(shù)據(jù)庫(kù)審計(jì)系統(tǒng)。該審計(jì)系統(tǒng)包括:特征庫(kù)識(shí)別單元,用于通過(guò)特征庫(kù)識(shí)別,將請(qǐng)求報(bào)文分配至對(duì)應(yīng)的操作語(yǔ)句翻譯單元中以及將回復(fù)報(bào)文分配至對(duì)應(yīng)的回復(fù)翻譯單元中;操作語(yǔ)句翻譯單元,用于解析所述請(qǐng)求報(bào)文,生成對(duì)應(yīng)的操作語(yǔ)句;緩存單元,用于緩存所述操作語(yǔ)句;回復(fù)翻譯單元,用于解析所述回復(fù)報(bào)文,生成返回解析結(jié)果;以及操作記錄生成單元,用于合并所述操作語(yǔ)句及返回解析結(jié)果,生成操作記錄。
可選地,所述操作記錄生成單元還用于:判斷是否緩存有操作語(yǔ)句;若是,則合并所述操作語(yǔ)句及對(duì)應(yīng)的返回解析結(jié)果;若否,則處理下一個(gè)請(qǐng)求報(bào)文和回復(fù)報(bào)文。
可選地,所述操作語(yǔ)句翻譯單元包括:portal工具操作語(yǔ)句翻譯單元、studio工具操作語(yǔ)句翻譯單元、terminal工具操作語(yǔ)句翻譯單元以及sql存取工具操作語(yǔ)句翻譯單元;
所述回復(fù)翻譯單元包括:portal工具回復(fù)翻譯單元、studio工具回復(fù)翻譯單元、terminal工具回復(fù)翻譯單元以及sql存取工具回復(fù)翻譯單元。
可選地,所述studio工具操作語(yǔ)句翻譯單元具體用于:獲取訪問(wèn)操作;根據(jù)訪問(wèn)操作的m語(yǔ)言內(nèi)容確定所述訪問(wèn)操作的操作內(nèi)容;所述訪問(wèn)操作包括:調(diào)用m語(yǔ)言時(shí)的方法名、保存動(dòng)作和編譯動(dòng)作。
可選地,所述系統(tǒng)還包括:權(quán)限設(shè)置單元,用于為醫(yī)療衛(wèi)生管理信息系統(tǒng)的客戶端設(shè)置對(duì)應(yīng)的數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限。
本發(fā)明實(shí)施例的數(shù)據(jù)庫(kù)審計(jì)方法及其系統(tǒng),通過(guò)特征庫(kù)識(shí)別的方式,可以對(duì)各種訪問(wèn)形式、形態(tài)的報(bào)文格式進(jìn)行識(shí)別后,通過(guò)對(duì)應(yīng)的解析單元進(jìn)行解析,能夠?qū)崿F(xiàn)sql語(yǔ)句、對(duì)象訪問(wèn)以及多維數(shù)據(jù)組訪問(wèn)的深度審計(jì),記錄不同客戶端工具的操作內(nèi)容和相關(guān)返回結(jié)果,保證數(shù)據(jù)庫(kù)的安全穩(wěn)定運(yùn)行。
附圖說(shuō)明
為了更清楚地說(shuō)明本申請(qǐng)實(shí)施例的技術(shù)方案,下面將對(duì)本申請(qǐng)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹。顯而易見(jiàn)地,下面所描述的附圖僅僅是本申請(qǐng)的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實(shí)施例提供的數(shù)據(jù)庫(kù)審計(jì)方法的方法流程圖;
圖2是本發(fā)明實(shí)施例提供的緩存操作語(yǔ)句的方法流程圖;
圖3是本發(fā)明實(shí)施例提供的數(shù)據(jù)庫(kù)審計(jì)系統(tǒng)的功能框圖;
圖4是本發(fā)明另一實(shí)施例提供的數(shù)據(jù)庫(kù)審計(jì)系統(tǒng)的功能框圖;
圖5是本發(fā)明實(shí)施例提供的電子設(shè)備的硬件結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本申請(qǐng)的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本申請(qǐng)進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本申請(qǐng),并不用于限定本申請(qǐng)。
在caché數(shù)據(jù)庫(kù)中,數(shù)據(jù)存儲(chǔ)在各個(gè)global中。一個(gè)global是一個(gè)命名的多維數(shù)組,存儲(chǔ)在caché的物理數(shù)據(jù)文件中。其中,物理數(shù)據(jù)文件的存儲(chǔ)單位是數(shù)據(jù)塊block(一般是8k)。caché數(shù)據(jù)庫(kù)使用一個(gè)類似倒樹的結(jié)構(gòu)來(lái)控制這些數(shù)據(jù)塊。
在該數(shù)據(jù)庫(kù)中,global的下標(biāo)和數(shù)據(jù)在一個(gè)塊中是按順序存儲(chǔ)在一起的。因此,caché數(shù)據(jù)庫(kù)提供了三種方式來(lái)訪問(wèn)數(shù)據(jù),分別是sql語(yǔ)句、對(duì)象訪問(wèn)數(shù)據(jù)庫(kù)、多維訪問(wèn)數(shù)據(jù)數(shù)組?,F(xiàn)有的審計(jì)系統(tǒng)通常只提供了sql訪問(wèn)方式的審計(jì),而不支持諸如對(duì)象訪問(wèn)數(shù)據(jù)庫(kù)以及多維訪問(wèn)數(shù)據(jù)數(shù)組的方式。
圖1為本發(fā)明實(shí)施例提供的數(shù)據(jù)庫(kù)審計(jì)方法。在日常操作過(guò)程中,用戶可以通過(guò)caché數(shù)據(jù)庫(kù)集成的各種客戶端工具、應(yīng)用系統(tǒng)或者第三方工具通過(guò)odbc連接方式等對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn)操作。這些訪問(wèn)操作以pdu組包表示(即具體的數(shù)據(jù)單元)。
該方法包括如下步驟:
100:通過(guò)特征庫(kù)識(shí)別,將請(qǐng)求報(bào)文分配至對(duì)應(yīng)的操作語(yǔ)句翻譯單元中。
首先可以對(duì)數(shù)據(jù)庫(kù)訪問(wèn)過(guò)程中的數(shù)據(jù)(pdu組包)進(jìn)行分析,確定其屬于請(qǐng)求報(bào)文還是回復(fù)報(bào)文,以便進(jìn)行對(duì)應(yīng)的特征庫(kù)識(shí)別過(guò)程。特征庫(kù)識(shí)別是一種常用的監(jiān)控識(shí)別方式,通過(guò)一些預(yù)設(shè)的規(guī)則和特征庫(kù)中包含的特征,對(duì)請(qǐng)求/回復(fù)報(bào)文進(jìn)行匹配或者識(shí)別,判斷其是否屬于某一特定的類別(如是否具有特定的“指紋”、特征詞或者流量特點(diǎn))。
在一些實(shí)施例中,特征庫(kù)識(shí)別具體可以采用dfi、dpi或者兩者相結(jié)合的策略。其中,dpi(deeppacketinspection)可以被稱為“深度包”檢測(cè),其通過(guò)增加對(duì)于報(bào)文的應(yīng)用層分析,以準(zhǔn)確的識(shí)別和探測(cè)其中的應(yīng)用和內(nèi)容,完成業(yè)務(wù)識(shí)別、控制或者統(tǒng)計(jì)等功能。dfi(deepflowinspection)是一種基于流量行為的識(shí)別策略,其基于不同應(yīng)用類型體現(xiàn)在會(huì)話連接或數(shù)據(jù)流上的狀態(tài)各有不同的原理,通過(guò)不同報(bào)文的流量行為特征,建立特征模型從而鑒別應(yīng)用類型。
dfi和dpi具有各自的優(yōu)勢(shì)和不足,在特征庫(kù)識(shí)別中,可以通過(guò)結(jié)合使用以上兩種識(shí)別策略,獲得對(duì)于請(qǐng)求/回復(fù)報(bào)文準(zhǔn)確的分類識(shí)別結(jié)果,分配至對(duì)應(yīng)的功能單元中進(jìn)行解析。
操作語(yǔ)句翻譯單元可以是任何合適的,由對(duì)應(yīng)的軟件、硬件或者軟件硬件結(jié)合實(shí)現(xiàn)的,執(zhí)行報(bào)文解析功能的功能模塊。在本發(fā)明實(shí)施例中,由于非關(guān)系型數(shù)據(jù)庫(kù),如caché數(shù)據(jù)庫(kù)存在訪問(wèn)方式的多樣性,報(bào)文格式的形態(tài)、訪問(wèn)形式等種類繁多。因此,需要根據(jù)特征庫(kù)的識(shí)別結(jié)果,歸入不同的操作語(yǔ)句翻譯單元中進(jìn)行解析、翻譯操作,而無(wú)法使用統(tǒng)一的解析翻譯單元(如符合sql語(yǔ)句解析標(biāo)準(zhǔn)的解析翻譯單元)。
在本發(fā)明實(shí)施例中,根據(jù)caché數(shù)據(jù)庫(kù)的訪問(wèn)方式,具體可以設(shè)置portal工具操作語(yǔ)句翻譯單元、studio工具操作語(yǔ)句翻譯單元、terminal工具操作語(yǔ)句翻譯單元以及sql存取工具操作語(yǔ)句翻譯單元這四個(gè)不同類型的操作語(yǔ)句翻譯單元。
其中,terminal工具是caché數(shù)據(jù)庫(kù)集成的,能夠直接連接數(shù)據(jù)庫(kù)的工具,其采用的是telent協(xié)議的方式,可以實(shí)現(xiàn)遠(yuǎn)程登錄服務(wù)。studio工具是caché數(shù)據(jù)庫(kù)集成的,用于供開(kāi)發(fā)人員編譯和調(diào)試的工具,其通過(guò)執(zhí)行m語(yǔ)言對(duì)數(shù)據(jù)庫(kù)進(jìn)行直接訪問(wèn)。portal工具則是另一種caché數(shù)據(jù)庫(kù)集成的開(kāi)發(fā)工具。其采用的是網(wǎng)頁(yè)形式對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作和維護(hù),能夠使用常用的sql語(yǔ)句訪問(wèn)數(shù)據(jù)庫(kù),也可以直接查看各個(gè)global節(jié)點(diǎn)上的數(shù)據(jù)。
在本發(fā)明實(shí)施例中,通過(guò)terminal工具和portal工具的所有操作均會(huì)被記錄,使用studio工具對(duì)數(shù)據(jù)庫(kù)的一些訪問(wèn)操作,例如,調(diào)用m語(yǔ)言時(shí)的方法名、保存動(dòng)作和編譯動(dòng)作,也可以被記錄。
200:通過(guò)所述操作語(yǔ)句翻譯單元解析所述請(qǐng)求報(bào)文,生成操作語(yǔ)句并緩存。
在操作語(yǔ)句翻譯單元解析完成后,獲得的操作語(yǔ)句還是一個(gè)不完整的操作記錄,還需要合并數(shù)據(jù)庫(kù)相對(duì)應(yīng)的回復(fù)數(shù)據(jù)。因此,可以緩存操作語(yǔ)句,在回復(fù)報(bào)文解析完成后進(jìn)行合并操作。
300:通過(guò)特征庫(kù)識(shí)別,將數(shù)據(jù)包中的回復(fù)報(bào)文分配至對(duì)應(yīng)的回復(fù)翻譯單元中。
與步驟100相類似地,可以利用對(duì)應(yīng)的,預(yù)先設(shè)置的特征庫(kù),對(duì)回復(fù)報(bào)文進(jìn)行特征庫(kù)識(shí)別操作,確定回復(fù)報(bào)文具體的應(yīng)用類型后,將回復(fù)報(bào)文分配至相對(duì)應(yīng)的回復(fù)翻譯單元中進(jìn)行報(bào)文的解析和翻譯操作。
400:通過(guò)所述回復(fù)翻譯單元解析所述回復(fù)報(bào)文,生成對(duì)應(yīng)的返回解析結(jié)果。所述返回解析結(jié)果與回復(fù)報(bào)文相對(duì)應(yīng),通??梢园〝?shù)據(jù)庫(kù)根據(jù)請(qǐng)求報(bào)文的操作,返回的數(shù)據(jù)內(nèi)容或者返回的狀態(tài)信息等。
在本發(fā)明實(shí)施例中,與上述操作語(yǔ)句翻譯單元相對(duì)應(yīng)地,回復(fù)翻譯單元也可以包括:portal工具回復(fù)翻譯單元、studio工具回復(fù)翻譯單元、terminal工具回復(fù)翻譯單元以及sql存取工具回復(fù)翻譯單元,分別對(duì)對(duì)應(yīng)類型的回復(fù)報(bào)文進(jìn)行解析、翻譯操作。
500:合并所述操作語(yǔ)句及返回解析結(jié)果,生成操作記錄。在對(duì)請(qǐng)求報(bào)文和回復(fù)報(bào)文都解析完成后,可以將請(qǐng)求報(bào)文和回復(fù)報(bào)文的解析結(jié)果合并為一個(gè)完整的操作記錄,以完成數(shù)據(jù)庫(kù)審計(jì)的工作任務(wù)。而最終獲得的完整操作記錄可以進(jìn)行保存或者對(duì)其進(jìn)行一些后續(xù)的數(shù)據(jù)處理操作。
上述數(shù)據(jù)庫(kù)審計(jì)方法,針對(duì)非關(guān)系型數(shù)據(jù)庫(kù)存在著非sql語(yǔ)句訪問(wèn)的特點(diǎn),設(shè)置了多種不同類型的翻譯單元以實(shí)現(xiàn)對(duì)于不同訪問(wèn)方式的審計(jì),產(chǎn)生對(duì)應(yīng)的操作記錄。進(jìn)一步的,使用特征庫(kù)識(shí)別的方式首先對(duì)數(shù)據(jù)報(bào)文進(jìn)行識(shí)別和分類,確保請(qǐng)求/回復(fù)報(bào)文可以被翻譯或者解析。通過(guò)這樣的方式,可以實(shí)現(xiàn)對(duì)多種不同的訪問(wèn)方式、不同形態(tài)的報(bào)文進(jìn)行解析,獲取其中的操作內(nèi)容并記錄,實(shí)現(xiàn)完整的數(shù)據(jù)庫(kù)審計(jì)。例如,對(duì)于caché數(shù)據(jù)庫(kù),可以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)全面的安全審計(jì),識(shí)別除風(fēng)險(xiǎn)操作,實(shí)現(xiàn)數(shù)據(jù)庫(kù)的安全穩(wěn)定運(yùn)行。
在一些實(shí)施例中,對(duì)于解析后輸出的操作語(yǔ)句可以采用如圖2所示的步驟完成緩存過(guò)程。如圖2所示,該方法可以包括:
210:判斷操作語(yǔ)句是否帶有緩存標(biāo)記。若是執(zhí)行步驟230,若否則執(zhí)行步驟220。
220:緩存操作語(yǔ)句。
230:通過(guò)sqlid操作該操作語(yǔ)句并替代參數(shù)。在一些情況下,有一些請(qǐng)求報(bào)文解析出的操作語(yǔ)句有可能只是一個(gè)標(biāo)識(shí)特征,是一個(gè)不完整的語(yǔ)句。因此,需要通過(guò)這個(gè)操作語(yǔ)句(sql)的特征sqlid,找出其原始的操作語(yǔ)句并執(zhí)行步驟500,與返回結(jié)果合并,生成能夠被閱讀的操作記錄。
在本發(fā)明實(shí)施例中,請(qǐng)求報(bào)文和回復(fù)報(bào)文是分開(kāi)進(jìn)行特征庫(kù)識(shí)別和翻譯解析操作的。請(qǐng)求報(bào)文的解析結(jié)果會(huì)先進(jìn)行緩存,并與對(duì)應(yīng)的回復(fù)報(bào)文合并。
因此,在進(jìn)行合并前,可以首先判斷緩存中是否存在有效的操作語(yǔ)句。若是,則將其與回復(fù)報(bào)文的翻譯解析結(jié)果合并。若不存在,則可以丟棄這個(gè)解析結(jié)果,處理下一條報(bào)文,重復(fù)圖1所示的方法以完成數(shù)據(jù)庫(kù)審計(jì)。
如上所述,caché數(shù)據(jù)庫(kù)也可以通過(guò)一些應(yīng)用系統(tǒng)訪問(wèn),例如當(dāng)其應(yīng)用在醫(yī)療,公共衛(wèi)生領(lǐng)域時(shí),可以通過(guò)醫(yī)療衛(wèi)生管理信息系統(tǒng)(his系統(tǒng))訪問(wèn)。
由于caché數(shù)據(jù)庫(kù)采用了安全組件,對(duì)于his系統(tǒng)訪問(wèn)的數(shù)據(jù)進(jìn)行了加密處理,而his系統(tǒng)也不能進(jìn)行解密。因此,這樣的操作無(wú)法進(jìn)行解析。這樣的,則可以通過(guò)對(duì)his系統(tǒng)的權(quán)限控制,或者通過(guò)在各個(gè)客戶端(或者部門)之間架設(shè)防火墻進(jìn)行隔離,分配不同的數(shù)據(jù)庫(kù)權(quán)限來(lái)保證數(shù)據(jù)的安全性(例如限制各個(gè)科室只能讀取自己科室的病歷數(shù)據(jù))。進(jìn)一步地,還可以提供his系統(tǒng)的操作日志記錄。
以下以caché數(shù)據(jù)庫(kù)為例,若開(kāi)發(fā)人員通過(guò)其集成的studio工具進(jìn)行編譯和調(diào)試。開(kāi)發(fā)人員通過(guò)執(zhí)行m語(yǔ)言訪問(wèn)數(shù)據(jù)庫(kù)。通過(guò)特征庫(kù)識(shí)別,一些重要的訪問(wèn)操作,例如調(diào)用m語(yǔ)言時(shí)的方法名、保存動(dòng)作和編譯動(dòng)作等,可以送至studio工具操作語(yǔ)句翻譯單元。然后,翻譯解析后的操作語(yǔ)句中m語(yǔ)言內(nèi)容,確定所述訪問(wèn)操作的操作內(nèi)容,完成數(shù)據(jù)庫(kù)審計(jì)。
對(duì)于caché數(shù)據(jù)庫(kù)集成的terminal工具和studio工具,用戶通過(guò)這些工具對(duì)數(shù)據(jù)庫(kù)進(jìn)行的所有操作,均會(huì)通過(guò)對(duì)應(yīng)的解析功能模塊,解析并記錄,實(shí)現(xiàn)數(shù)據(jù)庫(kù)的全面審計(jì)。
本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)庫(kù)審計(jì)系統(tǒng)。如圖3所示,該系統(tǒng)包括:特征庫(kù)識(shí)別單元100、操作語(yǔ)句翻譯單元200、緩存單元300、回復(fù)翻譯單元400以及操作記錄生成單元500。
在實(shí)際審計(jì)過(guò)程中,首先由特征庫(kù)識(shí)別單元100通過(guò)特征庫(kù)識(shí)別,分別將請(qǐng)求報(bào)文分配至對(duì)應(yīng)的操作語(yǔ)句翻譯單元中以及將回復(fù)報(bào)文分配至對(duì)應(yīng)的回復(fù)翻譯單元中。然后,由操作語(yǔ)句翻譯單元200解析所述請(qǐng)求報(bào)文,生成對(duì)應(yīng)的操作語(yǔ)句后,通過(guò)緩存單元300緩存所述操作語(yǔ)句。
另一方面,通過(guò)回復(fù)翻譯單元400解析所述回復(fù)報(bào)文,生成返回解析結(jié)果。最后,由操作記錄生成單元500將操作語(yǔ)句翻譯單元200和回復(fù)翻譯單元400輸出的操作語(yǔ)句及返回解析結(jié)果合并,生成操作記錄。最終生成的操作記錄作為數(shù)據(jù)庫(kù)審計(jì)結(jié)果,可以由任何合適的存儲(chǔ)設(shè)備保存,例如磁盤存儲(chǔ)器件、閃存器件、或其他非易失性固態(tài)存儲(chǔ)器件。
可選地,所述操作語(yǔ)句翻譯單元200和回復(fù)翻譯單元400具體可以根據(jù)實(shí)際情況設(shè)置多個(gè)類型的翻譯功能單元,例如對(duì)于caché數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)審計(jì),可以設(shè)置portal工具操作語(yǔ)句翻譯單元、studio工具操作語(yǔ)句翻譯單元、terminal工具操作語(yǔ)句翻譯單元以及sql存取工具操作語(yǔ)句翻譯單元以及portal工具回復(fù)翻譯單元、studio工具回復(fù)翻譯單元、terminal工具回復(fù)翻譯單元以及sql存取工具回復(fù)翻譯單元。
通過(guò)這樣的方式,該數(shù)據(jù)審計(jì)系統(tǒng)能夠?qū)aché數(shù)據(jù)庫(kù)的各種訪問(wèn)形式,產(chǎn)生的各種形態(tài)的報(bào)文格式進(jìn)行正確識(shí)別,解決了面向?qū)ο蟮腸aché數(shù)據(jù)庫(kù)安全審計(jì)問(wèn)題,能完整的審計(jì)出客戶端工具:studio、terminal、portal、medtrak、sqlmanager的操作內(nèi)容及相關(guān)返回結(jié)果。
其中,portal工具能審計(jì)到sql語(yǔ)句、查詢global、返回結(jié)果,terminal能工具則能審計(jì)到m語(yǔ)句和返回結(jié)果,在原有的對(duì)sql語(yǔ)句審計(jì)外能更深度的審計(jì)出對(duì)象訪問(wèn)操作和直接多維數(shù)據(jù)組訪問(wèn)操作,實(shí)現(xiàn)對(duì)于數(shù)據(jù)庫(kù)完整的審計(jì)。
例如,所述studio工具操作語(yǔ)句翻譯單元具體可以用于:獲取訪問(wèn)操作。然后,根據(jù)訪問(wèn)操作的m語(yǔ)言內(nèi)容確定所述訪問(wèn)操作的操作內(nèi)容。所述訪問(wèn)操作包括:調(diào)用m語(yǔ)言時(shí)的方法名、保存動(dòng)作和編譯動(dòng)作。
在另一些實(shí)施例中,caché數(shù)據(jù)庫(kù)可以應(yīng)用在醫(yī)療、公共衛(wèi)生領(lǐng)域。用戶還可能通過(guò)his系統(tǒng)對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn)。由于采用了特定的安全組件,對(duì)于his系統(tǒng)訪問(wèn)的數(shù)據(jù)進(jìn)行了加密處理,而且his系統(tǒng)也不能進(jìn)行解密。因此,為保證對(duì)于部分訪問(wèn)操作的審計(jì),除圖3所示的模塊100-500外,如圖4所示,還可以包括一權(quán)限設(shè)置單元600。所述權(quán)限設(shè)置單元600用于為醫(yī)療衛(wèi)生管理信息系統(tǒng)的客戶端設(shè)置對(duì)應(yīng)的數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限,通過(guò)對(duì)his系統(tǒng)的權(quán)限控制,可以保障數(shù)據(jù)的安全性。進(jìn)一步的,所述權(quán)限設(shè)置單元600還可以通過(guò)his系統(tǒng)操作日志記錄來(lái)實(shí)現(xiàn)對(duì)這些操作的監(jiān)控。
需要說(shuō)明的是,由于數(shù)據(jù)庫(kù)審計(jì)系統(tǒng)與數(shù)據(jù)庫(kù)審計(jì)方法基于相同的申請(qǐng)構(gòu)思,因此,方法實(shí)施例中的相應(yīng)內(nèi)容同樣適用于系統(tǒng)實(shí)施例,此處不再詳述。
圖5是本發(fā)明實(shí)施例提供的一種電子設(shè)備的硬件結(jié)構(gòu)示意圖。如圖5所示,該設(shè)備包括:一個(gè)或多個(gè)處理器510以及存儲(chǔ)器520,圖5中以一個(gè)處理器510為例。
處理器510和存儲(chǔ)器520可以通過(guò)總線或者其他方式連接,圖5中以通過(guò)總線連接為例。
存儲(chǔ)器520作為一種非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),可用于存儲(chǔ)非易失性軟件程序、非易失性計(jì)算機(jī)可執(zhí)行程序以及模塊,如本發(fā)明實(shí)施例中的數(shù)據(jù)庫(kù)審計(jì)方法對(duì)應(yīng)的程序指令/模塊(例如,附圖3所示的特征庫(kù)識(shí)別單元100、操作語(yǔ)句翻譯單元200、緩存單元300、回復(fù)翻譯單元400以及操作記錄生成單元500)。
處理器510通過(guò)運(yùn)行存儲(chǔ)在存儲(chǔ)器520中的非易失性軟件程序、指令以及模塊,從而執(zhí)行服務(wù)器的各種功能應(yīng)用以及數(shù)據(jù)處理,即實(shí)現(xiàn)上述方法實(shí)施例數(shù)據(jù)庫(kù)審計(jì)方法。
存儲(chǔ)器520可以包括存儲(chǔ)程序區(qū)和存儲(chǔ)數(shù)據(jù)區(qū),其中,存儲(chǔ)程序區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能所需要的應(yīng)用程序;存儲(chǔ)數(shù)據(jù)區(qū)可存儲(chǔ)根據(jù)數(shù)據(jù)庫(kù)審計(jì)系統(tǒng)的使用所創(chuàng)建的數(shù)據(jù)等。此外,存儲(chǔ)器520可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,例如至少一個(gè)磁盤存儲(chǔ)器件、閃存器件、或其他非易失性固態(tài)存儲(chǔ)器件。在一些實(shí)施例中,存儲(chǔ)器520可選包括相對(duì)于處理器510遠(yuǎn)程設(shè)置的存儲(chǔ)器,這些遠(yuǎn)程存儲(chǔ)器可以通過(guò)網(wǎng)絡(luò)連接至內(nèi)容推薦裝置。上述網(wǎng)絡(luò)的實(shí)例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動(dòng)通信網(wǎng)及其組合。
所述一個(gè)或者多個(gè)模塊存儲(chǔ)在所述存儲(chǔ)器520中,當(dāng)被所述一個(gè)或者多個(gè)處理器510執(zhí)行時(shí),執(zhí)行上述任意方法實(shí)施例中的數(shù)據(jù)庫(kù)審計(jì)方法。
上述產(chǎn)品可執(zhí)行本申請(qǐng)實(shí)施例所提供的方法,具備執(zhí)行方法相應(yīng)的功能模塊和有益效果。未在本實(shí)施例中詳盡描述的技術(shù)細(xì)節(jié),可參見(jiàn)本申請(qǐng)實(shí)施例所提供的方法。
專業(yè)人員應(yīng)該還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開(kāi)的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來(lái)實(shí)現(xiàn),為了清楚地說(shuō)明硬件和軟件的可互換性,在上述說(shuō)明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來(lái)執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來(lái)使用不同方法來(lái)實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本申請(qǐng)的范圍。所述的計(jì)算機(jī)軟件可存儲(chǔ)于計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體或隨機(jī)存儲(chǔ)記憶體等。
以上所述僅為本申請(qǐng)的實(shí)施方式,并非因此限制本申請(qǐng)的專利范圍,凡是利用本申請(qǐng)說(shuō)明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本申請(qǐng)的專利保護(hù)范圍內(nèi)。