IT世界正在迅速擁抱“大數(shù)據(jù)”。龐大的數(shù)據(jù)存儲(chǔ)將是大數(shù)據(jù)分析的下一個(gè)討論話題,因?yàn)榇髷?shù)據(jù)正變得越來(lái)越大,例如,初創(chuàng)公司正在使用這些系統(tǒng) 來(lái)對(duì)數(shù)以萬(wàn)億計(jì)的DNA檢測(cè)條進(jìn)行分析以研究人類演化史。雖然大數(shù)據(jù)(及其底層技術(shù)NoSQL)正成為信息系統(tǒng)界的流行語(yǔ),但目前關(guān)于大數(shù)據(jù)的安全隱患并 沒(méi)有太多討論。
大數(shù)據(jù)概述
NoSQL指的是非關(guān)系型數(shù)據(jù)庫(kù),是包含大量不同類型結(jié)構(gòu) 化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)。由于數(shù)據(jù)多樣性,這些數(shù)據(jù)存儲(chǔ)并不是通過(guò)標(biāo)準(zhǔn)SQL語(yǔ)音進(jìn)行訪問(wèn)的。此前,我們經(jīng)常會(huì)將數(shù)據(jù)存儲(chǔ)分為兩種:關(guān)系型數(shù)據(jù)庫(kù) (RDBMS)和文件服務(wù)器。而NoSQL打開了我們的眼界,與傳統(tǒng)關(guān)系型概念不同,NoSQL并不遵循結(jié)構(gòu)化形式。這種NoSQL數(shù)據(jù)存儲(chǔ)方法的主要優(yōu) 點(diǎn)是數(shù)據(jù)的可擴(kuò)展性和可用性,以及數(shù)據(jù)存儲(chǔ)的靈活性。每個(gè)數(shù)據(jù)存儲(chǔ)都鏡像存儲(chǔ)在不同地點(diǎn)以確保數(shù)據(jù)持續(xù)可用性和沒(méi)有數(shù)據(jù)丟失,這樣的存儲(chǔ)系統(tǒng)通常用于趨勢(shì) 分析,但這些系統(tǒng)并不適用于需要實(shí)時(shí)更新的金融交易,金融機(jī)構(gòu)可以使用這個(gè)系統(tǒng)來(lái)分析最有效或業(yè)務(wù)最繁忙的分支機(jī)構(gòu)。
NoSQL等于沒(méi)有安全?
很多人可能會(huì)說(shuō),不同NoSQL系統(tǒng)的開發(fā)人員會(huì)有針對(duì)性地將安全因素從其系統(tǒng)中剔除。例如,Cassandra只有基本的內(nèi)置身份認(rèn)證程序,他們的想法是數(shù)據(jù)庫(kù)管理員不需要擔(dān)心安全問(wèn)題,安全問(wèn)題應(yīng)該交由專門的團(tuán)隊(duì)來(lái)處理。在我們看來(lái),NoSQL帶來(lái)以下安全挑戰(zhàn):
★ 模式成熟度. 目前的標(biāo)準(zhǔn)SQL技術(shù)包括嚴(yán)格的訪問(wèn)控制和隱私管理工具,而在NoSQL模式中,并沒(méi)有這樣的要求。事實(shí)上,NoSQL無(wú)法沿用SQL的模式,它應(yīng)該要有 自己的新模式。例如,與傳統(tǒng)SQL數(shù)據(jù)存儲(chǔ)相比,在NoSQL數(shù)據(jù)存儲(chǔ)中,列和行級(jí)的安全性更為重要。此外,NoSQL允許不斷對(duì)數(shù)據(jù)記錄添加屬性,所以 前瞻安全性變得非常重要,企業(yè)需要為這些未來(lái)屬性定義安全。
★ 軟件成熟度. 多年來(lái),在飽受各種安全問(wèn)題的困擾后,數(shù)據(jù)庫(kù)和文件服務(wù)器系統(tǒng)已經(jīng)變得比較成熟。雖然NoSQL可以從這些系統(tǒng)中取得一些經(jīng)驗(yàn)教訓(xùn),并且NoSQL數(shù)據(jù)存 儲(chǔ)的復(fù)雜性有所減少,但我們相信至少在五年內(nèi)NoSQL仍然會(huì)存在各種漏洞,畢竟它使用的是新代碼。
★ 員工成熟度. 即使是最有經(jīng)驗(yàn)的數(shù)據(jù)庫(kù)管理員也是NoSQL的新手。這意味著這些人員首先要著眼于如何讓它運(yùn)作(這已經(jīng)夠難了),也許以后有時(shí)間才會(huì)考慮安全問(wèn)題。當(dāng)?shù)侥莻€(gè)時(shí)候,他們肯定會(huì)犯很多整合錯(cuò)誤。
★ 客戶端軟件. 由于NoSQL服務(wù)器軟件沒(méi)有內(nèi)置足夠的安全,因此,必須對(duì)訪問(wèn)這些軟件的應(yīng)用程序內(nèi)建安全因素,這反過(guò)來(lái)又會(huì)導(dǎo)致大量的安全問(wèn)題:
☆ 增加身份驗(yàn)證和授權(quán)過(guò)程到應(yīng)用程序。這需要更多的安全考慮,而這只會(huì)讓應(yīng)用程序更復(fù)雜。例如,應(yīng)用程序?qū)⑿枰x用戶和角色?;谶@種類型的數(shù)據(jù),應(yīng)用程序可以決定是否向用戶授權(quán)對(duì)系統(tǒng)的訪問(wèn)權(quán)限。
☆ 輸入驗(yàn)證。再一次,我們看到困擾著關(guān)系型數(shù)據(jù)庫(kù)應(yīng)用程序的問(wèn)題又來(lái)繼續(xù)困擾NoSQL數(shù)據(jù)庫(kù)。例如,在去年的黑帽會(huì)議上,研究人員展示了黑客如何利用 “NoSQL注入”來(lái)訪問(wèn)受限制的信息。雖然2012年黑帽大會(huì)的時(shí)間還沒(méi)有確定,我們非常期待今年看到更多關(guān)于NoSQL的展示。
☆ 應(yīng)用程序意識(shí)。在每個(gè)應(yīng)用程序需要管理安全的情況下,應(yīng)用程序必須意識(shí)到所有其他應(yīng)用程序。這能夠禁止對(duì)所有非應(yīng)用程序數(shù)據(jù)的訪問(wèn)。
☆ 當(dāng)新數(shù)據(jù)類型被添加到數(shù)據(jù)存儲(chǔ)時(shí),數(shù)據(jù)存儲(chǔ)管理員必須弄清楚哪些應(yīng)用程序不能訪問(wèn)特定的數(shù)據(jù)。
☆ 容易產(chǎn)生漏洞的代碼。市面上有很多NoSQL產(chǎn)品,但又更多應(yīng)用程序和應(yīng)用程序服務(wù)器產(chǎn)品。應(yīng)用程序越多,容易產(chǎn)生漏洞的代碼就越多。
★ 數(shù)據(jù)冗余性和分散性. 關(guān)系型數(shù)據(jù)庫(kù)安全基礎(chǔ)知識(shí)談?wù)摰氖菙?shù)據(jù)正?;?--在單個(gè)位置存儲(chǔ)一塊數(shù)據(jù)。但大數(shù)據(jù)系統(tǒng)完全改變了這種模式。這些系統(tǒng)的固有模式是復(fù)制數(shù)據(jù)到很多表以優(yōu) 化查詢處理。數(shù)據(jù)分散在不同地理位置的不同服務(wù)器的不同的數(shù)據(jù)倉(cāng)庫(kù)中,企業(yè)將很難定位這些數(shù)據(jù)和保護(hù)所有機(jī)密信息。
★ 隱私問(wèn)題. 隱私問(wèn)題并不是因?yàn)榘踩珕?wèn)題而受到推動(dòng),而是因?yàn)榇髷?shù)據(jù)的這種使用情況:即對(duì)來(lái)自不同系統(tǒng)的不同應(yīng)用程序的不同活動(dòng)的數(shù)據(jù)進(jìn)行關(guān)聯(lián)。就拿谷歌舉例來(lái)說(shuō),他 們?cè)趲讉€(gè)月前對(duì)其隱私條款進(jìn)行了修改,新條款允許谷歌融合來(lái)自所有服務(wù)中的信息。作為個(gè)人而言,這嚴(yán)重影響了我們逃避企業(yè)跟蹤的能力,即使我們使用多個(gè)身 份。不過(guò),這些企業(yè)現(xiàn)在面臨著風(fēng)險(xiǎn)。一方面,他們?cè)噲D將這些數(shù)據(jù)保存在其企業(yè)范圍內(nèi),主要因?yàn)樗袡?quán)和監(jiān)管的需要。然而,最近,科學(xué)家開始對(duì)這種做法表示 擔(dān)心,要求企業(yè)透露這些數(shù)據(jù)集以驗(yàn)證其研究結(jié)果。
總結(jié)
NoSQL仍然處于起步階段,在未來(lái)一年左右,我們可能都無(wú)法看到任何NoSQL安全解決方案。對(duì)于想自己開發(fā)NoSQL解決方案企業(yè)而言,他們首先應(yīng)該仔細(xì)選擇其開發(fā)團(tuán)隊(duì),該團(tuán)隊(duì)?wèi)?yīng)該包括具有安全觀念的業(yè)界資深人士。另外,還應(yīng)該進(jìn)行代碼審查以確保軟件的安全性。
最后,應(yīng)該通過(guò)密集的輸入驗(yàn)證和網(wǎng)絡(luò)隔離以盡可能地減少平臺(tái)暴露給用戶。還好我們現(xiàn)在才進(jìn)入大數(shù)據(jù)時(shí)代,現(xiàn)在存儲(chǔ)的成本下降了,技術(shù)也允許我們能夠方便地訪問(wèn)和分析數(shù)據(jù)。