面向Web安全的數(shù)據(jù)庫安全防護(hù)方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種面向Web的數(shù)據(jù)庫安全防護(hù)方法和系統(tǒng),在Web服務(wù)器和數(shù)據(jù)庫之間部署有數(shù)據(jù)庫防火墻,對(duì)發(fā)送給數(shù)據(jù)庫的查詢請(qǐng)求和從數(shù)據(jù)庫返回的查詢結(jié)果進(jìn)行智能處理,并在系統(tǒng)環(huán)境部署中提供安全防護(hù)機(jī)制,僅僅開放單一端口進(jìn)行連接。本發(fā)明利用防火墻模塊通過對(duì)輸入請(qǐng)求和輸出結(jié)果的多重處理,保障了數(shù)據(jù)庫的安全,同時(shí)通過Web服務(wù)器端獨(dú)特的環(huán)境部署方式為數(shù)據(jù)庫添加了安全保證。
【專利說明】面向Web安全的數(shù)據(jù)庫安全防護(hù)方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息安全【技術(shù)領(lǐng)域】,尤其涉及一種面向Web安全的數(shù)據(jù)庫安全防護(hù)方法和系統(tǒng)。
【背景技術(shù)】
[0002]數(shù)據(jù)庫(Database)是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲(chǔ)和管理數(shù)據(jù)的倉庫,它產(chǎn)生于距今五十年前,隨著信息技術(shù)和市場(chǎng)的發(fā)展,特別是二十世紀(jì)九十年代以后,數(shù)據(jù)管理不再僅僅是存儲(chǔ)和管理數(shù)據(jù),而轉(zhuǎn)變成用戶所需要的各種數(shù)據(jù)管理的方式。數(shù)據(jù)庫有很多種類型,從最簡單的存儲(chǔ)有各種數(shù)據(jù)的表格到能夠進(jìn)行海量數(shù)據(jù)存儲(chǔ)的大型數(shù)據(jù)庫系統(tǒng)都在各個(gè)方面得到了廣泛的應(yīng)用。但隨之而來產(chǎn)生了數(shù)據(jù)庫的安全問題。數(shù)據(jù)庫系統(tǒng)作為信息的聚合體,是計(jì)算機(jī)信息系統(tǒng)的核心部件,其安全性至關(guān)重要。
[0003]SQL注入攻擊是黑客對(duì)數(shù)據(jù)庫進(jìn)行攻擊的常用手段之一。隨著B/S模式應(yīng)用開發(fā)的發(fā)展,使用這種模式編寫應(yīng)用程序的程序員也越來越多。但是由于程序員的水平及經(jīng)驗(yàn)也參差不齊,相當(dāng)大一部分程序員在編寫代碼的時(shí)候,沒有對(duì)用戶輸入數(shù)據(jù)的合法性進(jìn)行判斷,使應(yīng)用程序存在安全隱患。用戶可以提交一段數(shù)據(jù)庫查詢代碼,根據(jù)程序返回的結(jié)果,獲得某些他想得知的數(shù)據(jù),這就是所謂的SQL Injection,即SQL注入。SQL注入是從正常的WWW端口訪問,而且表面看起來跟一般的Web頁面訪問沒什么區(qū)別,所以目前市面的防火墻都不會(huì)對(duì)SQL注入發(fā)出警報(bào),如果管理員沒查看IIS日志的習(xí)慣,可能被入侵很長時(shí)間都不會(huì)發(fā)覺。但是,SQL注入的手法相當(dāng)靈活,在注入的時(shí)候會(huì)碰到很多意外的情況,需要構(gòu)造巧妙的SQL語句,從而成功獲取想要的數(shù)據(jù)。如何為數(shù)據(jù)庫提供安全防護(hù),成為目前亟需解決的問題。
[0004]因此,本領(lǐng)域的技術(shù)人員致力于開發(fā)一種面向Web的數(shù)據(jù)庫安全防護(hù)方法和系統(tǒng),通過多重保護(hù),為數(shù)據(jù)庫提供全方位的安全。
【發(fā)明內(nèi)容】
[0005]有鑒于現(xiàn)有技術(shù)的上述缺陷,本發(fā)明所要解決的技術(shù)問題是提供一種面向Web的數(shù)據(jù)庫安全防護(hù)方法和系統(tǒng),在服務(wù)器端提高數(shù)據(jù)庫安全性,在Web端被攻擊之后,也同樣保證數(shù)據(jù)庫的安全。
[0006]為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種面向Web的數(shù)據(jù)庫安全防護(hù)方法,包含如下步驟:
[0007](I)Web服務(wù)器將數(shù)據(jù)庫查詢的請(qǐng)求發(fā)送給數(shù)據(jù)庫防火墻;
[0008](2)所述數(shù)據(jù)庫防火墻經(jīng)過智能處理后,遞交所述數(shù)據(jù)庫查詢到數(shù)據(jù)庫或者直接攔截;
[0009](3)所述數(shù)據(jù)庫防火墻得到來自所述數(shù)據(jù)庫的返回結(jié)果,經(jīng)過智能處理后返回給所述Web服務(wù)器。
[0010]在本發(fā)明的較佳實(shí)施方式中,所述步驟(2)中所述數(shù)據(jù)庫防火墻的智能處理步驟如下:
[0011](2-1)對(duì)所述數(shù)據(jù)庫查詢語句規(guī)格化處理;
[0012](2-2)與所述數(shù)據(jù)庫防火墻的白名單中的語句進(jìn)行匹配,如果匹配上,則轉(zhuǎn)步驟(2-3),如果沒有匹配上,則轉(zhuǎn)步驟(2-4);
[0013](2-3)直接遞交給數(shù)據(jù)庫,等待返回結(jié)果;
[0014](2-4)所述查詢語句是否涉及了網(wǎng)站的敏感表,如果含有,那么攔截查詢;沒有涉及所述敏感表,則所述查詢請(qǐng)求語句是否包含滲透攻擊的關(guān)鍵詞,如果有,作為攻擊語句進(jìn)行攔截,如果沒有,視為這條請(qǐng)求正常,放行通過,遞交給所述數(shù)據(jù)庫。
[0015]在本發(fā)明的另一較佳實(shí)施方式中,所述白名單是通過所述Web服務(wù)器正常運(yùn)行狀況下產(chǎn)生的數(shù)據(jù)庫日志提取而來。
[0016]在本發(fā)明的較佳實(shí)施方式中,所述步驟(3)中所述數(shù)據(jù)庫防火墻的智能處理步驟如下:
[0017](3-1)判斷所述數(shù)據(jù)庫返回結(jié)果是否包含敏感信息,如果包含所述敏感信息,所述數(shù)據(jù)庫防火墻會(huì)依據(jù)網(wǎng)站管理員給定的條目閾值對(duì)輸出結(jié)果作處理;
[0018](3-2)如果所述輸出結(jié)果在所述閾值以內(nèi),視為正常,遞交給所述Web服務(wù)器,如果所述輸出結(jié)果超過閾值,認(rèn)為有攻擊者試圖發(fā)起拖庫攻擊,直接攔截。
[0019]在本發(fā)明的另一較佳實(shí)施方式中,所述敏感信息包括身份證號(hào)和密碼。
[0020]一種面向Web安全的數(shù)據(jù)庫安全防護(hù)系統(tǒng),包括Web服務(wù)器、數(shù)據(jù)庫防火墻和數(shù)據(jù)庫,所述Web服務(wù)器將接收到的數(shù)據(jù)庫查詢請(qǐng)求發(fā)送給所述數(shù)據(jù)庫防火墻,所述數(shù)據(jù)庫庫防火墻對(duì)所述數(shù)據(jù)查詢請(qǐng)求進(jìn)行智能處理后,遞交所述數(shù)據(jù)庫查詢到數(shù)據(jù)庫或者直接攔截,其特征在于,所述Web服務(wù)器連接開放單一端口的所述數(shù)據(jù)庫防火墻,所述數(shù)據(jù)庫防火墻連接開放單一端口的所述數(shù)據(jù)庫。
[0021]在本發(fā)明的較佳實(shí)施方式中,所述數(shù)據(jù)庫防火墻的智能處理包括白名單過濾、敏感表比對(duì)、滲透語句防御和輸出結(jié)果審核。
[0022]本發(fā)明提供的面向Web安全的數(shù)據(jù)庫安全防護(hù)方法和系統(tǒng),在數(shù)據(jù)庫遭遇安全威脅的時(shí)候,數(shù)據(jù)庫防火墻會(huì)智能依據(jù)處理流程攔截帶有攻擊性的查詢語句,避免了敏感信息的外泄。同時(shí),如果因?yàn)楣芾韱T的考慮不夠周全,對(duì)攻擊語句的攔截有所遺漏,防火墻還可以在輸出結(jié)果的時(shí)候繼續(xù)調(diào)整結(jié)果。通過多重保護(hù),為數(shù)據(jù)庫提供全方位的安全。再者,Web服務(wù)器端的環(huán)境部署還保證了 Web端被入侵時(shí),防火墻能繼續(xù)工作,從而繼續(xù)為數(shù)據(jù)庫提供安全保證。
[0023]以下將結(jié)合附圖對(duì)本發(fā)明的構(gòu)思、具體結(jié)構(gòu)及產(chǎn)生的技術(shù)效果作進(jìn)一步說明,以充分地了解本發(fā)明的目的、特征和效果。
【專利附圖】
【附圖說明】
[0024]圖1是本發(fā)明的一個(gè)較佳實(shí)施例的服務(wù)器環(huán)境部署;
[0025]圖2是發(fā)明的一個(gè)較佳實(shí)施例的防護(hù)系統(tǒng)工作流程;
[0026]圖3是發(fā)明的一個(gè)較佳實(shí)施例的數(shù)據(jù)防火墻對(duì)查詢請(qǐng)求處理的工作流程;
[0027]圖4是發(fā)明的一個(gè)較佳實(shí)施例的數(shù)據(jù)防火墻對(duì)數(shù)據(jù)庫輸出結(jié)果處理的工作流程。【具體實(shí)施方式】
[0028]如圖1所示,一種數(shù)據(jù)庫安全防護(hù)系統(tǒng),在Web服務(wù)器和數(shù)據(jù)庫之間部署有數(shù)據(jù)庫防火墻,對(duì)發(fā)送給數(shù)據(jù)庫的查詢請(qǐng)求和從數(shù)據(jù)庫返回的查詢結(jié)果進(jìn)行智能處理,包括白名單過濾、敏感表比對(duì)、滲透語句防御和輸出結(jié)果審核等處理,為數(shù)據(jù)庫的安全訪問提供保證。并且在系統(tǒng)環(huán)境部署中提供安全防護(hù)機(jī)制,即Web服務(wù)器連接開放單一端口的數(shù)據(jù)庫防火墻,數(shù)據(jù)庫防火墻連接開放單一端口的數(shù)據(jù)庫。單一端口開放的設(shè)計(jì)保證了 Web端被入侵時(shí),防火墻能繼續(xù)工作,從而繼續(xù)為數(shù)據(jù)庫提供安全保證。
[0029]防護(hù)系統(tǒng)的工作流程如圖2所示,Web服務(wù)器將數(shù)據(jù)庫查詢的請(qǐng)求發(fā)送給數(shù)據(jù)庫防火墻。防火墻經(jīng)過智能處理之后,遞交查詢或者直接攔截。如果防火墻得到了來自數(shù)據(jù)庫的返回結(jié)果,再一次處理,然后才返回給Web服務(wù)器。
[0030]數(shù)據(jù)防火墻對(duì)查詢請(qǐng)求處理的工作流程如圖3所示,具體步驟為:
[0031 ] (I)對(duì)數(shù)據(jù)庫查詢語句規(guī)格化處理;
[0032](2)與數(shù)據(jù)庫防火墻的白名單中的語句進(jìn)行匹配,白名單是通過Web服務(wù)器正常運(yùn)行狀況下產(chǎn)生的數(shù)據(jù)庫日志提取而來。如果匹配上,則轉(zhuǎn)步驟(3),如果沒有匹配上,則轉(zhuǎn)步驟(4);
[0033](3)直接遞交給數(shù)據(jù)庫,等待返回結(jié)果;
[0034](4)進(jìn)一步關(guān)注所述查詢語句是否涉及了網(wǎng)站的敏感表,如果含有,那么攔截查詢,系統(tǒng)將不在白名單中卻涉及敏感表的查詢作為攻擊語句處理;如果所述查詢請(qǐng)求沒有涉及所述敏感表,繼續(xù)關(guān)注所述查詢請(qǐng)求語句是否包含滲透攻擊的一些關(guān)鍵詞,如果有,作為攻擊語句進(jìn)行攔截,如果沒有,視為這條請(qǐng)求正常,放行通過,遞交給所述數(shù)據(jù)庫。
[0035]數(shù)據(jù)防火墻對(duì)數(shù)據(jù)庫輸出結(jié)果處理的工作流程如圖4所示,其步驟如下:
[0036](I)判斷數(shù)據(jù)庫返回結(jié)果是否包含敏感信息,比如身份證號(hào),密碼等;如果包含敏感信息,數(shù)據(jù)庫防火墻會(huì)依據(jù)網(wǎng)站管理員給定的條目閾值對(duì)輸出結(jié)果作處理;
[0037](2)如果輸出結(jié)果在所述閾值以內(nèi),視為正常,遞交給所述Web服務(wù)器;如果輸出結(jié)果超過閾值,認(rèn)為有攻擊者試圖發(fā)起拖庫攻擊,直接攔截。
[0038]本發(fā)明通過防火墻模塊通過對(duì)輸入請(qǐng)求和輸出結(jié)果的多重處理,保障了數(shù)據(jù)庫的安全。而Web服務(wù)器端獨(dú)特的單一端口連接環(huán)境部署方式更是為數(shù)據(jù)庫添加了有力的安全保證。
[0039]以上詳細(xì)描述了本發(fā)明的較佳具體實(shí)施例。應(yīng)當(dāng)理解,本領(lǐng)域的普通技術(shù)無需創(chuàng)造性勞動(dòng)就可以根據(jù)本發(fā)明的構(gòu)思作出諸多修改和變化。因此,凡本【技術(shù)領(lǐng)域】中技術(shù)人員依本發(fā)明的構(gòu)思在現(xiàn)有技術(shù)的基礎(chǔ)上通過邏輯分析、推理或者有限的實(shí)驗(yàn)可以得到的技術(shù)方案,皆應(yīng)在由權(quán)利要求書所確定的保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種面向Web的數(shù)據(jù)庫安全防護(hù)方法,其特征在于,包含如下步驟: (1)Web服務(wù)器將數(shù)據(jù)庫查詢的請(qǐng)求發(fā)送給數(shù)據(jù)庫防火墻; (2)所述數(shù)據(jù)庫防火墻經(jīng)過智能處理后,遞交所述數(shù)據(jù)庫查詢到數(shù)據(jù)庫或者直接攔截; (3)所述數(shù)據(jù)庫防火墻得到來自所述數(shù)據(jù)庫的返回結(jié)果,經(jīng)過智能處理后返回給所述Web服務(wù)器。
2.如權(quán)利要求1所述的面向Web的數(shù)據(jù)庫安全防護(hù)方法,其中,所述步驟(2)中所述數(shù)據(jù)庫防火墻的智能處理步驟如下: (2-1)對(duì)所述數(shù)據(jù)庫查詢語句規(guī)格化處理; (2-2)與所述數(shù)據(jù)庫防火墻的白名單中的語句進(jìn)行匹配,如果匹配上,則轉(zhuǎn)步驟(2-3),如果沒有匹配上,則轉(zhuǎn)步驟(2-4); (2-3)直接遞交給數(shù)據(jù)庫,等待返回結(jié)果; (2-4)所述查詢語句是否涉及了網(wǎng)站的敏感表,如果含有,那么攔截查詢;沒有涉及所述敏感表,則所述查詢請(qǐng)求語句是否包含滲透攻擊的關(guān)鍵詞,如果有,作為攻擊語句進(jìn)行攔截,如果沒有,視為這條請(qǐng)求正常,放行通過,遞交給所述數(shù)據(jù)庫。
3.如權(quán)利要求2所述的面向Web的數(shù)據(jù)庫安全防護(hù)方法,其中,所述白名單是通過所述Web服務(wù)器正常運(yùn)行狀況下產(chǎn)生的數(shù)據(jù)庫日志提取而來。
4.如權(quán)利要求1所述的面向Web的數(shù)據(jù)庫安全防護(hù)方法,其中,所述步驟(3)中所述數(shù)據(jù)庫防火墻的智能處理步驟如下: (3-1)判斷所述數(shù)據(jù)庫返回結(jié)果是否包含敏感信息,如果包含所述敏感信息,所述數(shù)據(jù)庫防火墻會(huì)依據(jù)網(wǎng)站管理員給定的條目閾值對(duì)輸出結(jié)果作處理; (3-2)如果所述輸出結(jié)果在所述閾值以內(nèi),視為正常,遞交給所述Web服務(wù)器,如果所述輸出結(jié)果超過閾值,認(rèn)為有攻擊者試圖發(fā)起拖庫攻擊,直接攔截。
5.如權(quán)利要求4所述的面向Web的數(shù)據(jù)庫安全防護(hù)方法,其中,所述敏感信息包括身份證號(hào)和密碼。
6.一種面向Web安全的數(shù)據(jù)庫安全防護(hù)系統(tǒng),包括Web服務(wù)器、數(shù)據(jù)庫防火墻和數(shù)據(jù)庫,所述Web服務(wù)器將接收到的數(shù)據(jù)庫查詢請(qǐng)求發(fā)送給所述數(shù)據(jù)庫防火墻,所述數(shù)據(jù)庫庫防火墻對(duì)所述數(shù)據(jù)查詢請(qǐng)求進(jìn)行智能處理后,遞交所述數(shù)據(jù)庫查詢到數(shù)據(jù)庫或者直接攔截,其特征在于,所述Web服務(wù)器連接開放單一端口的所述數(shù)據(jù)庫防火墻,所述數(shù)據(jù)庫防火墻連接開放單一端口的所述數(shù)據(jù)庫。
7.如權(quán)利要求6所述的面向Web的數(shù)據(jù)庫安全防護(hù)方法,其中,所述數(shù)據(jù)庫防火墻的智能處理包括白名單過濾、敏感表比對(duì)、滲透語句防御和輸出結(jié)果審核。
【文檔編號(hào)】G06F21/60GK103473353SQ201310442701
【公開日】2013年12月25日 申請(qǐng)日期:2013年9月25日 優(yōu)先權(quán)日:2013年9月25日
【發(fā)明者】鄒福泰, 付毓飛, 章思宇, 易平 申請(qǐng)人:上海交通大學(xué)