在信息爆炸時代,海量的信息需要數(shù)據(jù)庫進行存儲,這些都是的。但目前,在數(shù)據(jù)庫應(yīng)用方面,還存在很多問題,這也是數(shù)據(jù)庫管理者在對數(shù)據(jù)庫進行應(yīng)用的過程中應(yīng)該注意的問題。中培偉業(yè)《ORACLE數(shù)據(jù)庫管理與性能調(diào)優(yōu)實踐》的培訓(xùn)專家楊老師對目前大數(shù)據(jù)應(yīng)用過程中所面臨的問題進行了介紹。
楊老師指出,隨著大數(shù)據(jù)時代的到來,以及數(shù)據(jù)庫在各行各業(yè)的廣泛應(yīng)用,讓數(shù)據(jù)庫在很多信息安全事件中成為了主角,這與我們在傳統(tǒng)的安全建設(shè)中忽略了數(shù)據(jù)庫安全問題有關(guān),在傳統(tǒng)的信息安全防護體系中數(shù)據(jù)庫處于被保護的核心位置,不易被外部黑客攻擊,同時數(shù)據(jù)庫自身已經(jīng)具備強大安全措施,表面上看足夠安全,但這種傳統(tǒng)安全防御的思路,存在致命的缺陷。
一、數(shù)據(jù)庫本身存在重大安全缺陷
傳統(tǒng)觀念認為數(shù)據(jù)庫系統(tǒng)本身已具備完整的安全保障機制,存儲在數(shù)據(jù)庫中的數(shù)據(jù)足夠安全,Oracle總裁LarryEllison曾宣稱Oracle數(shù)據(jù)庫是世界上最為安全的數(shù)據(jù)庫系統(tǒng),但事實上以O(shè)racle為首的數(shù)據(jù)庫系統(tǒng)存在重大安全缺陷,主要體現(xiàn)為如下三個方面:
1.存儲文件解析后為明文
數(shù)據(jù)庫的數(shù)據(jù)是存儲在物理文件里,這些數(shù)據(jù)按照數(shù)據(jù)庫自定義的格式組織在數(shù)據(jù)庫中,但這些數(shù)據(jù)本質(zhì)上都是明文存儲;主流的大型數(shù)據(jù)庫數(shù)據(jù)文件的組織結(jié)構(gòu)主動或被動公開化,只要得到這些數(shù)據(jù)文件,存儲的數(shù)據(jù)其實就是透明的。
這些存儲文件包括數(shù)據(jù)庫的數(shù)據(jù)文件、備份文件、日志文件等;這樣只要能夠訪問或得到數(shù)據(jù)庫存儲文件,就可以獲得數(shù)據(jù)庫中的信息。比如:在互聯(lián)網(wǎng)上公開的MyDUL軟件就是可以成功解析Oracle數(shù)據(jù)文件獲得明文信息的開源工具。
數(shù)據(jù)庫的明文存儲也會因為磁盤、備份磁帶的丟失引起泄密,如香港花旗銀行在裝修期間丟失了服務(wù)器引起的客戶資料泄密。同時,明文存儲使只要能夠訪問到數(shù)據(jù)庫文件的人員,都可以看到數(shù)據(jù)庫中的存儲內(nèi)容,如網(wǎng)絡(luò)管理員或者攻入到內(nèi)網(wǎng)當中的黑客。
2.數(shù)據(jù)庫自身存在諸多可攻擊安全漏洞
數(shù)據(jù)庫往往被認為具備較為完備的安全機制,從身份認證、訪問控制、到通訊加密,但事實上數(shù)據(jù)庫也存在諸多的安全漏洞,當前在國際漏洞庫CVE上公布了2000多個數(shù)據(jù)庫漏洞,號稱最為安全的Oracle數(shù)據(jù)庫就占了1000多個;這些漏洞大多是國際上的安全專家對數(shù)據(jù)庫安全狀況進行研究后發(fā)現(xiàn)的,包括提權(quán)漏洞(如從普通用戶提權(quán)到DBA用戶)、緩沖區(qū)溢出漏洞(通過該漏洞可以使數(shù)據(jù)庫執(zhí)行非法代碼或癱瘓)、系統(tǒng)注入漏洞(通過該漏洞在調(diào)用系統(tǒng)函數(shù)時執(zhí)行任意非法SQL代碼)。
黑客已經(jīng)利用這些漏洞,對數(shù)據(jù)庫進行了多次侵入;雖然數(shù)據(jù)庫廠商據(jù)此提供了大量補丁包,但這些補丁包所修復(fù)的漏洞數(shù)量也是有限的,同時大量的應(yīng)用系統(tǒng)出于系統(tǒng)穩(wěn)定性和兼容性的原因也無法實現(xiàn)補丁升級;因此這些漏洞依然是黑客入侵數(shù)據(jù)庫的常用通道,同時隨著這些安全問題的廣泛傳播,數(shù)據(jù)庫維護人員和程序人員也使用這些技術(shù)手段進行越權(quán)工作,對數(shù)據(jù)庫造成了巨大威脅。
3.數(shù)據(jù)庫自身的訪問控制存在缺陷
數(shù)據(jù)庫采用的訪問控制機制,依然是典型的三元組,也就是主體、客體和操作,其中主體主要是數(shù)據(jù)庫用戶或角色,客體是數(shù)據(jù)庫對象,操作是典型的DDL、DML、ACL語句和某些維護操作;但對這些操作的具體內(nèi)容和影響不再做控制,如是否采用了欺騙性的SQL語句、是否返回了大量數(shù)據(jù)無法控制。
當前廣為流傳的SQL注入就是大量地利用這些控制缺陷,在SQL語句中構(gòu)造永真表達式、執(zhí)行外部調(diào)用、非法登錄應(yīng)用系統(tǒng)進行批量數(shù)據(jù)導(dǎo)出。
同時某些程序人員也惡意利用這些控制缺陷,在應(yīng)用程序中埋下后門程序,對有價值的信息進行非法下載,如陜西移動、深圳福彩、某三甲醫(yī)院統(tǒng)方的安全事件,這些惡意行為可以通過數(shù)據(jù)庫中的檢索返回行數(shù)進行控制并阻斷。
二、數(shù)據(jù)庫的應(yīng)用環(huán)境變得日趨復(fù)雜
數(shù)據(jù)庫安全事件頻頻發(fā)生的原因也是由于當前數(shù)據(jù)庫的應(yīng)用環(huán)境和應(yīng)用模式日趨復(fù)雜,與數(shù)據(jù)庫應(yīng)用環(huán)境相關(guān)的安全隱患主要有三個方面:
1.B/S架構(gòu)使數(shù)據(jù)庫間接暴露在互聯(lián)網(wǎng)上
大量Web應(yīng)用的興起,面向公眾的政府、金融單位提供服務(wù)的動態(tài)網(wǎng)站和應(yīng)用系統(tǒng)快速增加;大企業(yè)的各分支機構(gòu)分布地域廣闊,在企業(yè)內(nèi)部也通過互聯(lián)網(wǎng)實現(xiàn)財務(wù)、辦公、商務(wù)等信息化管理。這些系統(tǒng)采用B/S為主要技術(shù)架構(gòu),用戶通過瀏覽器訪問WEB服務(wù)器,WEB服務(wù)器再訪問數(shù)據(jù)庫服務(wù)器,形成了從用戶到數(shù)據(jù)庫的合法訪問通道,從而將數(shù)據(jù)庫間接暴露在互聯(lián)網(wǎng)上。甚至在某些企業(yè),數(shù)據(jù)庫就直接安裝在對外提供WEB服務(wù)的計算機上,通過攻擊web服務(wù)器即可實現(xiàn)數(shù)據(jù)庫的敏感數(shù)據(jù)訪問。
2.數(shù)據(jù)庫維護模式改變?yōu)榉?wù)外包模式
傳統(tǒng)的數(shù)據(jù)庫維護主要是企業(yè)內(nèi)部的DBA完成,但隨著業(yè)務(wù)系統(tǒng)復(fù)雜度的增加和累積數(shù)據(jù)規(guī)模的增大,大型企業(yè)和政府單位的數(shù)據(jù)庫采用服務(wù)外包給IT企業(yè)的方式進行維護管理,同時各關(guān)鍵行業(yè)處于信息化快速發(fā)展和建設(shè)中,往往是一邊開發(fā)新系統(tǒng)一邊正常使用完成的系統(tǒng),就導(dǎo)致存在大量的駐場程序開發(fā)人員;這樣使數(shù)據(jù)庫的直接接觸人員,不僅限于企業(yè)的內(nèi)部維護人員,同時包含大量的服務(wù)外包人員、程序開發(fā)人員和系統(tǒng)測試人員,這些人員直接接觸數(shù)據(jù)庫系統(tǒng)的真實數(shù)據(jù),使傳統(tǒng)基于人工內(nèi)部管理模式為主的數(shù)據(jù)庫安全機制面臨巨大挑戰(zhàn)。
3.訪問數(shù)據(jù)庫系統(tǒng)的應(yīng)用形式多樣化
當前數(shù)據(jù)庫內(nèi)的數(shù)據(jù)被大量共享訪問,數(shù)據(jù)庫的訪問形式不僅限于傳統(tǒng)的模式,B/S架構(gòu)的應(yīng)用逐漸成為主流。數(shù)據(jù)查詢類、分析類應(yīng)用迅速增加,數(shù)據(jù)倉庫、數(shù)據(jù)同步系統(tǒng)的建設(shè)以促進共享。數(shù)據(jù)的定期備份、異地備份大量增加以加強數(shù)據(jù)的可靠性,訪問形式的多樣化,決定了數(shù)據(jù)庫安全問題的多樣化,需要綜合性的安全解決方案。