數(shù)據(jù)庫防火墻技術(shù)研究_第1頁
數(shù)據(jù)庫防火墻技術(shù)研究_第2頁
數(shù)據(jù)庫防火墻技術(shù)研究_第3頁
數(shù)據(jù)庫防火墻技術(shù)研究_第4頁
數(shù)據(jù)庫防火墻技術(shù)研究_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、數(shù)據(jù)庫防火墻技術(shù)研究數(shù)據(jù)庫防火墻是繼防火墻、下一代防火墻等網(wǎng)關(guān)類安全產(chǎn)品之后,專門針對于數(shù)據(jù)存儲的核心介質(zhì)數(shù)據(jù)庫的一款安全防護(hù)產(chǎn)品。關(guān)于數(shù)據(jù)庫安全可以分為兩個層面,一方面是來自于外部的威脅,比如說來自黑客的攻擊、非法訪問等,第三方運(yùn)維人員的不當(dāng)操作和非法入侵;另外一部分是來自于內(nèi)部的威脅。數(shù)據(jù)庫防火墻部署于數(shù)據(jù)庫之前。必須通過該系統(tǒng)才能對數(shù)據(jù)庫進(jìn)行訪問或管理。數(shù)據(jù)庫防火墻除提供網(wǎng)絡(luò)防火墻的基本隔離功能以外,還提供獨(dú)立的連接授權(quán)管理、訪問授權(quán)管理、攻擊保護(hù)、連接監(jiān)控、審計等功能。部署該產(chǎn)品以達(dá)到牢牢控制數(shù)據(jù)庫入口,提高數(shù)據(jù)應(yīng)用安全性的目的。目前,國內(nèi)首款專業(yè)數(shù)據(jù)庫防火墻產(chǎn)品是安華金和數(shù)據(jù)庫防火墻

2、DBFirwall。數(shù)據(jù)庫防火墻的產(chǎn)品價值1、 屏蔽直接訪問數(shù)據(jù)庫的通道數(shù)據(jù)庫防火墻部署介于數(shù)據(jù)庫服務(wù)器和應(yīng)用服務(wù)器之間,屏蔽直接訪問的通道,防止數(shù)據(jù)庫隱通道對數(shù)據(jù)庫的攻擊。2、 二次認(rèn)證應(yīng)用程序?qū)?shù)據(jù)庫的訪問,必須經(jīng)過數(shù)據(jù)庫防火墻和數(shù)據(jù)庫自身兩層身份認(rèn)證。3、 攻擊保護(hù)實(shí)時檢測用戶對數(shù)據(jù)庫進(jìn)行的SQL注入和緩沖區(qū)溢出攻擊。并報警或者阻止攻擊行為,同時詳細(xì)的審計下攻擊操作發(fā)生的時間、來源IP、登錄數(shù)據(jù)庫的用戶名、攻擊代碼等詳細(xì)信息。4、 安全審計系統(tǒng)能夠?qū)徲媽?shù)據(jù)庫服務(wù)器的訪問情況。包括用戶名、程序名、IP地址、請求的數(shù)據(jù)庫、連接建立的時間、連接斷開的時間、通信量大小、執(zhí)行結(jié)果等等信息。并提供

3、靈活的回放日志查詢分析功能,并可以生存報表。5、 防止外部黑客攻擊威脅黑客利用Web應(yīng)用漏洞,進(jìn)行SQL注入;或以Web應(yīng)用服務(wù)器為跳板,利用數(shù)據(jù)庫自身漏洞攻擊和侵入。通過限定更新和刪除影響行、限定無Where的更新和刪除操作、限定drop、truncate等高危操作避免大規(guī)模損失。數(shù)據(jù)庫防火墻防護(hù)能力數(shù)據(jù)庫防火墻產(chǎn)品具有主動防護(hù)能力。針對對數(shù)據(jù)庫的風(fēng)險行為和違規(guī)操作做相應(yīng)的防護(hù)與告警。分析當(dāng)前各類數(shù)據(jù)庫所受威脅和防火墻的應(yīng)對防護(hù)能力包括如下幾項功能:防御數(shù)據(jù)庫漏洞與SQL注入威脅:外部黑客攻擊,黑客利用Web應(yīng)用漏洞,進(jìn)行SQL注入;或以Web應(yīng)用服務(wù)器為跳板,利用數(shù)據(jù)庫自身漏洞攻擊和侵入。

4、防護(hù):通過虛擬補(bǔ)丁技術(shù)捕獲和阻斷漏洞攻擊行為,通過SQL注入特征庫捕獲和阻斷SQL注入行為。防止內(nèi)部高危操作威脅:系統(tǒng)維護(hù)人員、外包人員、開發(fā)人員等,擁有直接訪問數(shù)據(jù)庫的權(quán)限,有意無意的高危操作對數(shù)據(jù)造成破壞。防護(hù):通過限定更新和刪除影響行、限定無Where的更新和刪除操作、限定drop、truncate等高危操作避免大規(guī)模損失。防止敏感數(shù)據(jù)泄漏威脅:黑客、開發(fā)人員可以通過應(yīng)用批量下載敏感數(shù)據(jù),內(nèi)部維護(hù)人員遠(yuǎn)程或本地批量導(dǎo)出敏感數(shù)據(jù)。防護(hù):限定數(shù)據(jù)查詢和下載數(shù)量、限定敏感數(shù)據(jù)訪問的用戶、地點(diǎn)和時間。審計追蹤非法行為威脅:業(yè)務(wù)人員在利益誘惑下,通過業(yè)務(wù)系統(tǒng)提供的功能完成對敏感信息的訪問,進(jìn)行信息

5、的售賣和數(shù)據(jù)篡改。防護(hù):提供對所有數(shù)據(jù)訪問行為的記錄,對風(fēng)險行為進(jìn)行SysLog、郵件、短信等方式的告警,提供事后追蹤分析工具。數(shù)據(jù)庫通訊協(xié)議解析各類數(shù)據(jù)庫防火墻產(chǎn)品,對于數(shù)據(jù)庫風(fēng)險行為和違規(guī)操作進(jìn)行安全防護(hù)的基礎(chǔ)。都來自于數(shù)據(jù)庫通訊協(xié)議的解析。通訊協(xié)議解析的越精準(zhǔn),數(shù)據(jù)庫的防護(hù)工作越周密安全。換言之,數(shù)據(jù)庫通訊協(xié)議解析的強(qiáng)弱是評價一款數(shù)據(jù)庫防火墻產(chǎn)品優(yōu)略的關(guān)鍵。下面就數(shù)據(jù)庫通訊協(xié)議解析原理做一下相關(guān)介紹。從數(shù)據(jù)通訊交互來講,數(shù)據(jù)是以包(Packet)的形式在網(wǎng)絡(luò)中進(jìn)行傳輸?shù)?。一個包通常由2大部分組成:控制部分(metadata)和數(shù)據(jù)部分。從包的結(jié)構(gòu)中,可以得到數(shù)據(jù)的“源地址(Source

6、Address)”和“目標(biāo)地址(Destination Address)”,“源端口(Source Port)”和“目標(biāo)端口(Destination Port)”。防火墻正式基于這些信息對數(shù)據(jù)庫進(jìn)行防護(hù)。當(dāng)一個包(如來自數(shù)據(jù)庫客戶端)通過防火墻時,防火墻會基于一定的規(guī)則對該包進(jìn)行檢查,如檢查包的發(fā)送者是不是合法的IP(如合法的數(shù)據(jù)庫客戶端),包的目標(biāo)是不是特定的數(shù)據(jù)庫服務(wù)器?如果檢查通過,包會被允許穿過防火墻。如果檢查未通過,則該包會被丟棄(Drop)(發(fā)送者什么都不知道,猶如石沉大海),或者會給發(fā)送者返回(反饋)錯誤信息(reject)。我們把前面描述的這種防御方式叫“包過濾”。“包過濾”可

7、工作在OSI模型(見下圖)的最底下3層或者4層?!鞍^濾”又可分為“有連接(stateful)”和“無連接(stateless)”兩種?!坝羞B接(stateful)”是指防火墻會記錄通過的連接狀態(tài)信息,維護(hù)相應(yīng)的連接狀態(tài)數(shù)據(jù)庫,基于同一連接的數(shù)據(jù)包可免于重復(fù)檢查,這樣將提高數(shù)據(jù)包傳輸效率, “無連接(stateless)”是對每一個數(shù)據(jù)包進(jìn)行檢查,通常意義上會導(dǎo)致網(wǎng)絡(luò)響應(yīng)緩慢,這兩種方式各有優(yōu)缺點(diǎn)。安華金和數(shù)據(jù)庫防火墻(DBFirewall)實(shí)現(xiàn)了對主流數(shù)據(jù)庫類型通訊協(xié)議的“雙向、全協(xié)議解析”,重要的解析內(nèi)容包括:SQL語句、參數(shù)化語句句柄、SQL參數(shù)、應(yīng)答結(jié)果信息、結(jié)果集結(jié)構(gòu)信息、

8、結(jié)果集數(shù)據(jù)等。 SQL語句的解析和表達(dá)是實(shí)現(xiàn)對SQL語句攻擊行為控制的關(guān)鍵;SQL注入的檢查、應(yīng)用sql語句的放行,都依賴于sql語句的解析和特征捕獲。傳統(tǒng)的技術(shù),往往采用正則表達(dá)式的方式,但該方式存在巨大的技術(shù)缺陷,一是正則匹配過程性能地下,二是對于復(fù)雜的參數(shù)情況容易產(chǎn)生匹配錯誤,三是通過語句的變體容易欺騙。DBFirewall為了有效撲獲SQL語句的特征,以及為了快速地對SQL語句進(jìn)行策略判定,以實(shí)現(xiàn)數(shù)據(jù)庫防火墻的高效處理,提供了專利性的SQL語法特征技術(shù),實(shí)現(xiàn)了對SQL語句的重寫。SQL重寫是在不改變原SQL語句的語義的情況下,DBFirewall對捕捉到的SQL語句進(jìn)行重寫,替換原語句

9、中的參數(shù)值。SQL重寫是一個抽象的過程,便于管理和操作。SQL重寫包括以下幾個方面:l 除了單雙引號內(nèi)的內(nèi)容,小寫字母全部變?yōu)榇髮懽帜?;l 準(zhǔn)確區(qū)分正負(fù)號和加減號;l 將SQL語句中的數(shù)值、單引號引起的字符串各自重寫為統(tǒng)一的占位符;l 將注釋、換行重寫為空格,將連續(xù)的空格合并為1個,去掉運(yùn)算符兩端等不影響語義的空格以如下SQL語句為例:Select +0.25 * money,sum(id) From “testdb”.accounts Where id = ' G1792 ' or name !=/*this message come from Lisa*/XSeure-DB

10、F在SQL重寫的基礎(chǔ)上,根據(jù)SQL語法,對SQL進(jìn)行了多級分類。SQL多級分類是將具有相同操作行為的不同語句合并為一類,為SQL信息的查看和策略的定制提供了便利,且SQL分類編碼操作后,易于后續(xù)的計算、操作和存儲。SQL分類主要分為三級,分類的方向由細(xì)到粗,即二級分類是在一級分類的基礎(chǔ)上進(jìn)行的,三級分類是在二級的基礎(chǔ)上進(jìn)行的。l 一級分類基于目前的SQL重寫,即替換所有的可變“參數(shù)”數(shù)據(jù)為固定的“參數(shù)(例如,#)”,并且將所有謂詞全部大寫化(格式化為大寫字母)等。也就是說,一級分類的輸出是經(jīng)過“重寫”后的SQL語句。l 二級分類在一級分類的基礎(chǔ)上,對所有的謂詞、函數(shù)、比較運(yùn)算符進(jìn)行編碼后,生成

11、摘要的字符串編碼,該編碼就是SQL的二級分類碼。l 三級分類在二級分類的基礎(chǔ)上,對所有的謂詞比較運(yùn)算符進(jìn)行編碼后,生成的摘要字符串編碼,該編碼就是SQL三級分類碼。根據(jù)SQL分類的原則,假如有如下SQL語句:1:SELECT salary*1.5 FROM employees WHERE job_id ='PU_CLERK'2:SELECT salary*2 FROM employees WHERE job_id='SA_MAN'3:SELECT employee_id FROM department WHERE department_name = 'H

12、R'4:SELECT department_id FROM employees WHERE salary <5000;5:SELECT sum(salary) FROM employees WHERE job_id ='PU_CLERK'6:SELECT max(salary) FROM employees WHERE job_id='PU_CLERK'那么按照分類碼,DBFirewall看到的分析SQL,由三級到一級如下呈現(xiàn):l SELECT FROM WHERE =n SELECT FROM WHERE = u SELECT SALARY*0

13、FROM EMPLOYEES WHERE JOB_ID='#' u SELECT EMPLOYEE_ID FROM DEPARTMENT WHERE DEPARTMENT_NAME='#'n SELECT SUM FROM WHERE =u SELECT SUM(SALARY) FROM EMPLOYEES WHERE JOB_ID='#n SELECT MIN FROM WHERE =u SELECT MIN(SALARY) FROM EMPLOYEES WHERE JOB_ID='#l SELECT DEPARTMENT_ID FROM EM

14、PLOYEES WHERE SALARY<0n SELECT MIN FROM WHERE <SELECT DEPARTMENT_ID FROM EMPLOYEES WHERE SALARY<0SQL語句格式化重寫后的結(jié)果為:SELECT 0*MONEY,SUM(ID) FROM “testdb”.ACCOUNTS WHERE ID=# OR NAME!=正式基于精準(zhǔn)的數(shù)據(jù)庫通訊協(xié)議解析,數(shù)據(jù)庫防火墻才能對數(shù)據(jù)庫進(jìn)行周密的防護(hù)。黑白名單機(jī)制數(shù)據(jù)庫防火墻進(jìn)行數(shù)據(jù)庫防護(hù)的過程中,除了利用數(shù)據(jù)通訊協(xié)議解析的信息設(shè)置相應(yīng)的風(fēng)險攔截和違規(guī)sql操作預(yù)定義策略以外,常用的防護(hù)方式也包括通

15、過學(xué)習(xí)模式以及SQL語法分析構(gòu)建動態(tài)模型,形成SQL白名單和SQL黑名單,對符合SQL白名單語句放行,對符合SQL黑名單特征語句阻斷。安華金和數(shù)據(jù)庫防火墻除了通過制定黑白名單和相應(yīng)的策略規(guī)則之外,配合利用禁止,許可以及禁止+許可的混合模式規(guī)則對數(shù)據(jù)庫進(jìn)行策略設(shè)置,從而對數(shù)據(jù)庫進(jìn)行防護(hù)?!敖挂?guī)則”負(fù)責(zé)定義系統(tǒng)需要阻止的危險數(shù)據(jù)庫訪問行為,所有被“禁止規(guī)則”命中的行為將被阻斷,其余的行為將被放行。“許可規(guī)則”負(fù)責(zé)定義應(yīng)用系統(tǒng)的訪問行為和維護(hù)工作的訪問行為,通過“許可規(guī)則”使這些行為在被“禁止規(guī)則”命中前被放行?!皟?yōu)先禁止規(guī)則”負(fù)責(zé)定義高危的數(shù)據(jù)庫訪問行為,這些策略要先于“許可規(guī)則”被判斷,命中則

16、阻斷。數(shù)據(jù)庫漏洞防護(hù)在數(shù)據(jù)庫的防護(hù)過程中,除了對數(shù)據(jù)庫登錄限定,惡意sql操作攔截,以及批量數(shù)據(jù)刪改進(jìn)行安全防護(hù)以外。數(shù)據(jù)庫自身存在的一些漏洞缺陷所引發(fā)的安全隱患,也在數(shù)據(jù)庫防火墻的防護(hù)范圍之內(nèi)。對于這些風(fēng)險行為進(jìn)行周密而嚴(yán)謹(jǐn)?shù)姆雷o(hù)也是數(shù)據(jù)庫防火墻價值體現(xiàn)的重點(diǎn)項。之前在CVE上公開了2000多個數(shù)據(jù)庫安全漏洞,這些漏洞給入侵者敞開了大門。數(shù)據(jù)庫廠商會定期推出數(shù)據(jù)庫漏洞補(bǔ)丁。數(shù)據(jù)庫補(bǔ)丁雖然能在一定程度上彌補(bǔ)數(shù)據(jù)庫漏洞,降低數(shù)據(jù)庫遭受惡意攻擊的風(fēng)險度。但是數(shù)據(jù)庫補(bǔ)丁也存在許多適用性問題。主要包括以下三點(diǎn):u 漏洞補(bǔ)丁針對性高,修補(bǔ)范圍存在局限性。包發(fā)布周期過長,存在數(shù)據(jù)泄露真空期u 補(bǔ)丁修復(fù)過程中存在兼容性隱患u 數(shù)據(jù)庫補(bǔ)丁漏洞修補(bǔ)周期長,風(fēng)險大,消耗大量資源 區(qū)別于oracle防火墻對虛擬補(bǔ)丁技術(shù)的空白,安華金和數(shù)據(jù)庫防火墻和McAfee數(shù)據(jù)庫防火墻功能點(diǎn)上都添加了數(shù)據(jù)庫漏洞防護(hù)技術(shù),以完善產(chǎn)品,力求達(dá)到對數(shù)據(jù)庫的全面防護(hù)。虛擬補(bǔ)丁技術(shù)可以在無需修補(bǔ)DBMS內(nèi)核的情況下保護(hù)數(shù)據(jù)庫。它在數(shù)據(jù)庫外創(chuàng)建了一個安全層,從而不用打數(shù)據(jù)庫廠商的補(bǔ)丁,也不需要停止服務(wù)和回歸測試。通過監(jiān)控所有數(shù)據(jù)庫活動,并用監(jiān)控數(shù)據(jù)與保護(hù)規(guī)則相比較,從而發(fā)現(xiàn)攻擊企圖。當(dāng)比較結(jié)果與規(guī)則匹配時,就發(fā)出一個警報,并在指定的時間內(nèi)終止可疑會話、操作程序或隔離用戶,直到這個可疑的活動被審查通過。安華

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論