一種用于信息系統(tǒng)的數(shù)據(jù)獲取的方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及信息系統(tǒng),特別涉及一種用于信息系統(tǒng)的數(shù)據(jù)獲取的方法。
【背景技術(shù)】
[0002] 隨著醫(yī)療行業(yè)對(duì)以醫(yī)療質(zhì)量為核心信息系統(tǒng)的依賴(lài)性日益增強(qiáng),數(shù)據(jù)庫(kù)等核心信 息資產(chǎn)的安全問(wèn)題越來(lái)越受到企業(yè)的關(guān)注。在此背景下,各種面向應(yīng)用層的數(shù)據(jù)庫(kù)安全解 決方案開(kāi)始得到應(yīng)用。這些解決方案的普遍模式是:首先采集每一個(gè)數(shù)據(jù)訪(fǎng)問(wèn)活動(dòng)的發(fā)起 者(信息源)及其操作特征,然后識(shí)別和重現(xiàn)每一個(gè)獨(dú)立信息源在一定時(shí)間窗內(nèi)的活動(dòng)序 列即訪(fǎng)問(wèn)路徑,以進(jìn)行深入的行為分析和異常發(fā)現(xiàn)。
[0003] 對(duì)于這些安全方案而言,識(shí)別出每一個(gè)單獨(dú)數(shù)據(jù)庫(kù)操作的源信息(包括用戶(hù)識(shí)別 信息,終端識(shí)別信息等),進(jìn)而重建其訪(fǎng)問(wèn)路徑,是正確應(yīng)用行為分析模塊的關(guān)鍵。但是另 一方面,當(dāng)前的醫(yī)療管理信息系統(tǒng)大多采用多層信息架構(gòu),往往在一個(gè)系統(tǒng)中,會(huì)包含多層 中間件或中間層應(yīng)用系統(tǒng)。在此情況下,當(dāng)訪(fǎng)問(wèn)操作從用戶(hù)端發(fā)起后,需要流經(jīng)多個(gè)異構(gòu)系 統(tǒng),以層級(jí)代理方式被多次重裝和轉(zhuǎn)換后,最終進(jìn)入數(shù)據(jù)庫(kù)系統(tǒng)處理隊(duì)列。比如,在采用B/ S架構(gòu)的企業(yè)資源規(guī)劃(ERP)系統(tǒng)中,用戶(hù)雖然以自身賬號(hào)登錄Web系統(tǒng)(如Servlet等) 并執(zhí)行業(yè)務(wù)操作,但最終的數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)請(qǐng)求是由該Web系統(tǒng)生成并提交給數(shù)據(jù)庫(kù)。因此,數(shù) 據(jù)庫(kù)系統(tǒng)所記錄的軌跡信息中所體現(xiàn)的發(fā)起者源信息往往只是指向某一中間層系統(tǒng),而非 其最初始訪(fǎng)問(wèn)點(diǎn),導(dǎo)致數(shù)據(jù)庫(kù)安全解決方案無(wú)法正確分析。
[0004] 針對(duì)這一問(wèn)題,主流廠(chǎng)商引入了專(zhuān)門(mén)的嵌入式監(jiān)控模塊,擴(kuò)展了底層數(shù)據(jù)通信協(xié) 議,但這些方案只適用于企業(yè)內(nèi)部所有相關(guān)系統(tǒng)都來(lái)自同一廠(chǎng)商,或者與之兼容的情況。而 對(duì)于大多數(shù)企業(yè),若想應(yīng)用該方案,只能對(duì)其現(xiàn)有各系統(tǒng)進(jìn)行重構(gòu),其成本和時(shí)間往往難以 承受。
【發(fā)明內(nèi)容】
[0005] 為解決上述現(xiàn)有技術(shù)所存在的問(wèn)題,本發(fā)明提出了一種用于信息系統(tǒng)的數(shù)據(jù)獲取 的方法,包括:
[0006] 用于使數(shù)據(jù)庫(kù)服務(wù)器識(shí)別出數(shù)據(jù)訪(fǎng)問(wèn)操作的真實(shí)用戶(hù),其特征在于,包括:
[0007] 基于時(shí)間序列的采集數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)樣本,抽取與匹配數(shù)據(jù)命令模式,將業(yè)務(wù)應(yīng)用請(qǐng) 求與數(shù)據(jù)庫(kù)操作請(qǐng)求的參數(shù)進(jìn)行匹配,基于匹配模板的數(shù)據(jù)訪(fǎng)問(wèn)路徑識(shí)別。
[0008] 優(yōu)選地,所述統(tǒng)計(jì)學(xué)習(xí)包含樣本數(shù)據(jù)采集,并且所述數(shù)據(jù)采集進(jìn)一步包括:
[0009] 將來(lái)自于各層系統(tǒng)的日志文件作為數(shù)據(jù)訪(fǎng)問(wèn)路徑識(shí)別的訓(xùn)練樣本,該日志文件包 括以下不間斷日志信息:
[0010] 來(lái)自于各中間層業(yè)務(wù)系統(tǒng)日志的業(yè)務(wù)請(qǐng)求數(shù)據(jù),表示為業(yè)務(wù)請(qǐng)求集合R=Ir1,…, rn},其中每單條業(yè)務(wù)請(qǐng)求記錄&包含前一發(fā)起者的地址信息,針對(duì)第一層中間應(yīng)用系統(tǒng)的 發(fā)起用戶(hù)賬號(hào),將被轉(zhuǎn)化為數(shù)據(jù)庫(kù)操作參數(shù)的業(yè)務(wù)操作參數(shù),請(qǐng)求發(fā)起時(shí)間及目標(biāo)應(yīng)用接 口的標(biāo)識(shí);
[0011] 來(lái)自于數(shù)據(jù)庫(kù)系統(tǒng)日志的數(shù)據(jù)庫(kù)命令記錄,表示為數(shù)據(jù)庫(kù)操作命令集合Q= W1,…,qm},其中每單條操作命令記錄包含目標(biāo)數(shù)據(jù)庫(kù)名稱(chēng),SQL或其它類(lèi)型的操作命令字 符串以及命令提交時(shí)間,該操作命令字符串由專(zhuān)門(mén)語(yǔ)法解析模塊分解為命令模式h和操作 參數(shù)向量pi兩部分;
[0012] 數(shù)據(jù)庫(kù)操作結(jié)果反饋集合Fq= {fql,…,&},其中每個(gè)結(jié)果反饋信息fqi均對(duì)應(yīng) 于數(shù)據(jù)庫(kù)操作命令集合中相應(yīng)的數(shù)據(jù)庫(kù)操作命令qi;
[0013] 中間層系統(tǒng)業(yè)務(wù)操作結(jié)果反饋集合F,= {frt,…,fm},其中每個(gè)反饋記錄匕均 對(duì)應(yīng)到單個(gè)業(yè)務(wù)請(qǐng)求A。
[0014] 優(yōu)選地,所述參數(shù)匹配為將業(yè)務(wù)請(qǐng)求集合R與數(shù)據(jù)庫(kù)操作命令集合Q的操作參數(shù) 匹配,并且進(jìn)一步包括:
[0015] 在高并發(fā)的應(yīng)用系統(tǒng)環(huán)境中對(duì)單個(gè)業(yè)務(wù)請(qǐng)求reR和單個(gè)或多個(gè)數(shù)據(jù)庫(kù)操作命令 qeQ之間的操作參數(shù)進(jìn)行匹配判斷,建立二者操作參數(shù)之間的匹配關(guān)系:
[0016] 首先在構(gòu)建的矩陣仏中,選取一對(duì)具備明確對(duì)應(yīng)關(guān)系的命令模式c和應(yīng)用接 口a;然后在請(qǐng)求集合R和操作命令集合Q中分別抽取子集和Q'CQ,使對(duì)于全部r'GR',存在q'GR',使r'與q'之間的關(guān)系可以直接由c和a確定;
[0017] 設(shè)r'中包含的全部操作參數(shù)可由向量(P1,…,pn)表示,q'中包含的全部操作參 數(shù)可由向量(p\,…,P'm)表示,將R'和Q'中全部元素的參數(shù)向量整合為向量組P和P' ;
[0018] 計(jì)算P和P'之間的相關(guān)系數(shù)矩陣,然后得到映射關(guān)系向量MPij,其中每個(gè)元素均 為顯著相關(guān)的系數(shù)對(duì),其中i和j為對(duì)應(yīng)命令模式c和應(yīng)用接口a的序號(hào);
[0019] 對(duì)MPij中的每個(gè)參數(shù)對(duì),從對(duì)應(yīng)P和P'中抽取3個(gè)以上的參數(shù)值作為對(duì)應(yīng)比較向 量;
[0020] 重復(fù)上述步驟直到所有化中全部明確對(duì)應(yīng)關(guān)系均被遍歷,得到的最終心向量組和 其對(duì)應(yīng)的比較向量即作為業(yè)務(wù)請(qǐng)求與數(shù)據(jù)庫(kù)請(qǐng)求間的參數(shù)匹配模板。
[0021] 本發(fā)明相比現(xiàn)有技術(shù),具有以下優(yōu)點(diǎn):
[0022] 使用改進(jìn)的時(shí)間窗和請(qǐng)求匹配,作為統(tǒng)計(jì)學(xué)習(xí)的重要規(guī)則,還提供了專(zhuān)門(mén)針對(duì)數(shù) 據(jù)操作命令類(lèi)型和單個(gè)請(qǐng)求來(lái)源數(shù)據(jù)操作參數(shù)的統(tǒng)計(jì)學(xué)習(xí)匹配功能,從而提升了識(shí)別方法 在復(fù)雜系統(tǒng)環(huán)境下的準(zhǔn)確性;兼顧了中間應(yīng)用層保存并提交參數(shù)的情況;以相關(guān)性計(jì)算替 代簡(jiǎn)單的等值比對(duì),提高了參數(shù)比較的精確性。
【附圖說(shuō)明】
[0023] 圖1是根據(jù)本發(fā)明實(shí)施例的用于信息系統(tǒng)的數(shù)據(jù)獲取的方法的流程圖。
【具體實(shí)施方式】
[0024] 下文與圖示本發(fā)明原理的附圖一起提供對(duì)本發(fā)明一個(gè)或者多個(gè)實(shí)施例的詳細(xì)描 述。結(jié)合這樣的實(shí)施例描述本發(fā)明,但是本發(fā)明不限于任何實(shí)施例。本發(fā)明的范圍僅由權(quán) 利要求書(shū)限定,并且本發(fā)明涵蓋諸多替代,修改和等同物。在下文描述中闡述諸多具體細(xì)節(jié) 以便提供對(duì)本發(fā)明的透徹理解。出于示例的目的而提供這些細(xì)節(jié),并且無(wú)這些具體細(xì)節(jié)中 的一些或者所有細(xì)節(jié)也可以根據(jù)權(quán)利要求書(shū)實(shí)現(xiàn)本發(fā)明。
[0025] 圖1是根據(jù)本發(fā)明實(shí)施例的用于信息系統(tǒng)的數(shù)據(jù)獲取的方法流程圖。本發(fā)明的一 方面提供了一種用于信息系統(tǒng)的數(shù)據(jù)獲取的方法,用于識(shí)別數(shù)據(jù)訪(fǎng)問(wèn)路徑,使基于多層次 異構(gòu)平臺(tái)的企業(yè)應(yīng)用系統(tǒng)中,數(shù)據(jù)庫(kù)服務(wù)器能夠準(zhǔn)確識(shí)別出數(shù)據(jù)操作的真實(shí)來(lái)源。該方法 的主要環(huán)節(jié)包括:
[0026] (1)基于時(shí)間序列的統(tǒng)計(jì)學(xué)習(xí)過(guò)程,具體包括命令模式的抽取與匹配,業(yè)務(wù)應(yīng)用請(qǐng) 求與數(shù)據(jù)庫(kù)操作請(qǐng)求的參數(shù)匹配及服務(wù)器端參數(shù)序列匹配。(2)基于匹配模板的數(shù)據(jù)訪(fǎng)問(wèn) 路徑識(shí)別,實(shí)現(xiàn)數(shù)據(jù)庫(kù)日志和安防系統(tǒng)對(duì)最終訪(fǎng)問(wèn)者的追蹤操作。
[0027] 首先,在多層信息系統(tǒng)架構(gòu)下,一次典型的數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)操作可以分解為以下步驟:
[0028] (1)用戶(hù)使用自己的終端系統(tǒng),通過(guò)應(yīng)用程序界面,向中間層應(yīng)用系統(tǒng)提交業(yè)務(wù)操 作命令,比如向指定URL發(fā)送HTTP封包。在此步驟中,真實(shí)請(qǐng)求來(lái)源信息被記錄在業(yè)務(wù)請(qǐng) 求數(shù)據(jù)封包中,本發(fā)明將該業(yè)務(wù)請(qǐng)求標(biāo)識(shí)為變量r。
[0029] (2)中間層應(yīng)用系統(tǒng)的對(duì)應(yīng)"應(yīng)用接口"(即該系統(tǒng)中完成特定業(yè)務(wù)功能的子模 塊)收到業(yè)務(wù)請(qǐng)求r,分析其中的請(qǐng)求來(lái)源標(biāo)識(shí)以驗(yàn)證合法性。驗(yàn)證通過(guò)后,系統(tǒng)將調(diào)用若 干中間件或類(lèi)似模塊,完成相關(guān)計(jì)算并生成一條或多條數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)命令并依次發(fā)送給數(shù)據(jù) 庫(kù)系統(tǒng)。本發(fā)明用變量q表示每條數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)命令。
[0030] (3)數(shù)據(jù)庫(kù)系統(tǒng)在收到命令q后,將其排入隊(duì)列直至執(zhí)行完畢,得到執(zhí)行結(jié)果fq, 將其返回給中間層應(yīng)用接口。
[0031] (4)中間層應(yīng)用系統(tǒng)在得到數(shù)據(jù)庫(kù)命令執(zhí)行結(jié)果fq后,根據(jù)業(yè)務(wù)邏輯要求,在需要 時(shí)繼